Adding up where the current actually goes
Before you can pick a battery, you need an honest estimate of what your robot actually draws, broken down by subsystem, because motors, compute, and sensors have very different power profiles. Motors are usually the dominant and most variable load: a small brushed DC motor might draw under an amp at idle but spike to several amps when stalled or accelerating a heavy chassis, and a robot with multiple motors needs each one's stall current considered, not just its typical running current, because startup and obstacle events routinely hit near-stall conditions. Compute boards draw comparatively steady but non-trivial current, a single-board computer running vision or planning workloads can pull 3 to 5 times its idle draw under full CPU load, and that delta matters when your compute and motors spike at the same moment, like during an obstacle-avoidance maneuver.
Sensors are usually the smallest individual loads but add up when you have many of them: a LiDAR unit might draw a few hundred milliamps continuously, an IMU and a few ultrasonic sensors draw far less each, but a robot with a dozen sensors plus servos for a camera gimbal can accumulate a surprising steady baseline draw. The right way to budget is to list every component's typical and peak current draw at its actual operating voltage, convert everything to watts (volts times amps) so dissimilar voltage rails become directly comparable, and sum typical draw for an average-case runtime estimate while separately checking that your battery and wiring can survive the sum of all peak draws happening simultaneously, which is a realistic worst case during things like a fast turn under full sensor load.
