Continuous Rotation Servo Motor

I have 2 continuous rotation servo motor, model are SM-S4303R RC SERVO MOTOR (360 DEGREE). I had program them to rotate continuously by using servo.writeMicroseconds(); I connected them to a Lipo battery with rate 25C 7.4V 1100MAH. They goes well but after certain period, they got not enough power? to provide me a proper pathway they have to go

eg.

void forward(){
  servo1.writeMicroseconds(1300);
  servo2.writeMicroseconds(1770);
} // the robot will move forward and suppose in a straight line, but it could just run in a straight line with a certain period
void turn left(){
 servo1.writeMicroseconds(1900);
 servo2.writeMicroseconds(1030);//backward
 delay(800);
 servo1.writeMicroseconds(1500);
 servo2.writeMicroseconds(2070);  //turn left
 delay(1495);}

the robot can do the turning when the battery is fully charged but after some running, the delay was needed to adjust again (become longer) in order to let the robot to complete the turning. Could someone suggest an easy improvement on it?

Bigger battery with more capacity e.g. 3300mAh will last 3 times as long.

Other than that you could try to monitor the battery voltage and use that to modify the delay. How easy that is will depend on exactly how the Arduino is powered.

Steve

Also, using delays to control an accurate navigational step is almost never a good solution.

Variations in rolling surface, temp, debris, momentary loss of traction all contribute to errors in navigation.