

The drive motors you choose will be one of the most important factors affecting the operating time of your robot. You need to choose motors based on the required torque, rpm and operating voltage. A standard brushed motor might be 60% efficient, meaning that only 60% of the "power" provided by the battery is converted into rotational motion, and the other 40% is converted to heat (wasted). An efficient brushless motor can operate a7 95% efficiency, but such motors tend to be expensive.
Finding a motor that is 100% efficient is not possible. This means that 100% of the electricity supplied to the motor is converted into useful mechanical energy. Highly efficient motors are able to operate at 80-90% efficiency, but this is only under nominal conditions. An inefficient motor can even operate at 40% efficiency or less. Efficiency losses in motors can be attributed to heat, friction (bearings at both ends of the shaft are ideal), wind resistance (any motors have integrated cooling fans), coiling of the wires and control method. Some manufacturers are kind enough to include the graphs of efficiency versus voltage and rpm though others prefer not to make that information public.
The voltage of the battery pack you choose should ideally be as close as possible to the nominal voltage of your main drive motors. For example if you are building a 2WD robot using two 6V nominal geared motors, then your battery pack should ideally be 6V as well. For example, if you are building a multi-rotor helicopter using motors operating at 11.1V, then your battery pack should ideally be 10.8 to 12V. If you operate a motor at above or below the nominal voltage, the motor runs less efficiently, converting more and more of the battery pack's stored energy to heat, reducing the time the robot operates. Below are popular battery types:
Most rechargeable battery packs are never fully recharged; they oxidize or lose capacity over time. A perfect battery might be able to retain over 99% of its charge over a large number of cycles, though a less efficient pack might lose 0.5% or more per recharge. NiCd are being used less and less because of what is called the "memory effect"; if the battery is not properly drained, it will be hard to recharge to its full capacity.
An important note is that battery packs rated at a specific capacity are not always intended to be used at the maximum discharge rate. For example, a battery pack rated at 5AH should not necessarily be discharged at 5A for 1 hour. It is suggest to add 20 to 40 percent extra capacity whenever possible, so if your project requires 5A continuously, you should select a pack rated at 5AH * 1.4 = 7AH. Remember to always check the rated peak discharge rate as motors that are starting up consume significantly more current (around stall current) when starting than when in operation.
No electromechanical system (which includes robots) is perfect and there will always be losses in efficiency. These losses can arise in many different areas, the most common of which are below:
Losses due to heat can occur almost everywhere in a robot. The area on a robot where the most heat is lost tends to be the motor controller, especially when the motor is subjected to a heavy load. Many motor controllers are sold with a heat sink to quickly dissipate the heat, and heat sinks are highly suggested if the controller does not come with one. However, this does not stop the total energy loss but rather lowers the temperature of microchip and H-bridge faster. If your robot is going to encounter situations where a lot of energy will be expended (such as an inclined surface, lifting weights or others), then it is best to consider a maximum of 80% efficiency. However, if your robot is moving on a flat surface, and the motors and motor controller you selected are properly matched to the robot's weight and specifications, then you might consider 90 to 100% efficiency.
0.8 * 0.85 * 0.75 = 0.51 = 51% overall efficiency.
When you design your robot, make sure to include losses in efficiency, otherwise your robot will not perform as you expected. The following are estimates of efficiency to help you calculate your robot's overall efficiency, though you should check the product's user guide to see if the manufacturer provided the efficiency: