Blog · 2026-08-15 · Stability
One point, three coordinates, and an outsized influence over whether your robot climbs, corners, brakes or falls over. Here's how to locate it with a ruler and a kitchen scale, and what to do once you know where it is.
The centre of gravity is the single point where a robot's entire weight can be considered to act. It's a mathematical convenience, but a powerful one: instead of tracking the mass of every motor, bracket and battery separately, you can treat the whole machine as one weight hanging at one place. Almost every question about stability, traction and acceleration reduces to where that place is — and specifically, how high it is compared to how far apart the wheels are.
The tipping condition is geometric. A robot stays upright as long as the vertical line through its centre of gravity falls inside the polygon formed by its ground contact points. Tilt it far enough that the line falls outside, and it goes over. The angle at which that happens is:
tip angle = atan( half the wheel spacing ÷ CoG height )
Two things about that equation are worth dwelling on. First, mass doesn't appear. A heavy robot is not inherently more stable than a light one — doubling the mass changes nothing, because weight appears on both sides of the moment balance. A 500 g robot with a tall sensor mast is more tip-prone than a 5 kg robot built like a paving slab. Second, it's a ratio: you can improve stability by widening the track or by lowering the mass, and both work exactly as well. Widening is often easier.
The same ratio governs dynamic behaviour. Maximum acceleration before the robot pitches backward, maximum braking before it tips forward, maximum cornering before it rolls — all are g × half spacing ÷ CoG height. The Robot Stability Calculator computes the full set from your dimensions.
You don't need CAD. To find the horizontal position, balance the robot on a straight edge — a metal ruler or a length of square bar laid on the bench. Slide the robot until it balances; the balance line passes through the centre of gravity. Rotate the robot 90° and repeat, and the intersection of the two lines gives you the CoG's position in plan view. Mark it.
For the height, tilt the robot onto its side (or hang it) and repeat the balance test in that orientation — the third line, combined with the first two, locates the point in three dimensions. On most robots this is fiddly but perfectly doable.
More precise, and often easier for a robot that doesn't balance conveniently. Put the front wheels on one kitchen scale and the rear wheels on another (or on a book of the same height, weighing one end at a time). The weight distribution tells you the fore-aft position directly:
distance of CoG from rear axle = wheelbase × (front weight ÷ total weight)
Example: a 3.0 kg robot with a 200 mm wheelbase reads 1.2 kg on the front scale. The CoG sits 200 × (1.2 ÷ 3.0) = 80 mm forward of the rear contact point — noticeably rear-biased. Repeat side to side for the lateral position. To get height, raise one end by a known amount and re-weigh: as the robot tilts, weight transfers, and the amount of transfer depends on how high the CoG is. A tall CoG shifts weight dramatically with a small tilt; a low one barely changes.
Tip resistance is the obvious one, but the effects run wider. Traction depends on how much weight sits on the driven wheels: a differential-drive robot with its CoG too far toward the caster has light drive wheels that spin on carpet and climb nothing. Shifting mass toward the drive axle is a direct traction upgrade with no parts required. Conversely, putting almost all the weight on the drive wheels makes the robot prone to pitching backward under acceleration.
Climbing is governed by the same balance. On a slope, weight transfers toward the downhill end; a rear-biased robot climbing a ramp transfers weight onto its rear wheels, which helps if those are driven and hurts if they're not. And a CoG that's too high means the robot pitches over backward on a slope well before it runs out of traction.
Cornering and braking limits both come straight from the ratio, and the interesting design question is which limit you hit first — geometry or grip. If your robot slides before it tips, hard manoeuvres end in an undignified skid. If it tips before it slides, they end on its side. Designing so that grip runs out first is a genuine safety property, and it's what the stability calculator's "slides first / tips first" verdict reports.
In rough order of effectiveness: put the battery on the baseplate, not on an upper deck — it's the heaviest single item and often mounted high purely for wiring convenience. Move motors and gearboxes low and inboard. Keep upper decks light: electronics weigh almost nothing, so a tall sensor tower is much less harmful than a battery at the same height. Widen the track, which improves the ratio without moving anything. And where nothing else is available, add ballast low — a steel plate on the baseplate improves the ratio because it pulls the average downward, even though it adds mass.
The mistake to avoid is adding weight high in the belief that heavier means more stable. Mass added above the current CoG raises it and makes every number worse.
A manipulator changes the answer continuously. An arm extended forward at full reach with a payload moves the whole system's centre of gravity outward and upward, sometimes dramatically — and the worst case is exactly the moment you're most invested in, when the arm is loaded and reaching. Run the stability numbers with the arm extended and holding maximum payload, not tucked in.
The rule of thumb from the two-scale method applies here too: a 500 g payload at 400 mm reach on a 4 kg robot shifts the system CoG forward by roughly 50 mm — which can be more than the entire remaining stability margin on a compact base. The joint torques for the same configuration come from the Servo Torque Calculator, and it's worth checking both at the same arm position.
Yes — it's the weighted average of every component's position: sum of (mass × position) divided by total mass, done separately for each axis. It's accurate if your component masses are accurate, and CAD does it automatically. Measuring is faster for a robot that already exists, and catches the things you forgot to model.
Only ground clearance. Pushing mass low usually means pushing it down toward the baseplate, and a robot that scrapes on carpet transitions has traded one problem for another. Low, but above the obstacles you expect.
It inverts: a two-wheel balancer actually benefits from a higher centre of gravity, because a taller inverted pendulum falls more slowly and is therefore easier to control. It's the one case where raising the mass is the right move.
Measuring works on a finished robot, but the cheapest time to fix a centre of gravity is before anything is cut. A rough calculation takes minutes: list the major components with their masses and intended heights, multiply each mass by its height, sum, and divide by total mass. For most robots five items — battery, motors, chassis plate, upper deck, payload — capture 90% of the answer.
A worked example makes the leverage obvious. A robot with a 600 g battery at 30 mm, two 200 g motors at 35 mm, a 400 g chassis at 25 mm and a 300 g electronics deck at 120 mm has a CoG at roughly ((600×30) + (400×35) + (400×25) + (300×120)) ÷ 1700 ≈ 48 mm. Now move that battery to the upper deck at 120 mm and the CoG climbs to about 80 mm — a 66% increase, and with a 180 mm track the sideways tip angle falls from 62° to 48°. Same parts, same mass, dramatically different robot.
That's the argument for doing this arithmetic on paper: it costs nothing, it makes the battery's position an explicit decision rather than a wiring convenience, and it tells you where the remaining margin is before you've committed to a chassis you'd have to rebuild.
Find it with a ruler and two scales, then check what it costs you in the Robot Stability Calculator. For what happens when the margin runs out — on slopes, in corners and under braking — continue to Why Robots Tip Over.