Where each component sits on your robot decides whether you tip during toggle pushes, hold the hill in endgame, or stay flat when the manipulator extends. The full physics + a 3D CoG calculator that uses the actual mass of every V5 component.
Center of gravity (CoG) is the average position of all the mass on your robot — the point where you could (theoretically) balance the whole robot on a single fingertip. Every component contributes to the CoG location proportional to its mass and how far it is from a reference point.
For a V5RC robot, CoG has three coordinates that matter:
A robot tips over when its CoG passes outside the line between the support wheels. The simple version:
What this means in practice:
| Wheelbase Width | CoG Height | Stability Angle | Rating |
|---|---|---|---|
| 17" | 3" | 71° | Excellent — almost can't tip |
| 17" | 5" | 60° | Very stable |
| 17" | 8" | 47° | OK for normal driving |
| 17" | 10" | 40° | Marginal — careful with arm extension |
| 17" | 13" | 33° | Tippy — won't survive contact |
| 17" | 17" | 27° | Unstable — will tip from a bump |
Override target: stability angle ≥ 50° for normal driving + 40° minimum with arm fully extended. That means CoG height should stay below ~7″ during normal operation, and below ~10″ even with the arm extended.
The wheelbase width is mostly fixed (~17″ for an 18″ robot leaving room for wheels and bumpers). The dynamic variable you can actually control is CoG height. And small height changes have big effects:
The CoG when the robot is sitting still in starting configuration. Determined by where you mount each component. Fixed when you build, hard to change without rebuilding.
The CoG during a match, which moves as mechanisms move:
| Component | Mass | Notes |
|---|---|---|
| V5 Battery (276-4811) | ~354 g (0.78 lb) | Single largest discrete component on most robots |
| V5 Brain (276-4810) | ~285 g (0.63 lb) | Second-heaviest single component |
| V5 Smart Motor 11W (276-4840) | 155 g (0.34 lb) | Per motor; multiply by motor count |
| V5 Half-Motor 5.5W (276-7065) | ~115 g (0.25 lb) | Per motor; lighter than 11W |
| Pneumatic Reservoir (single tank) | ~120 g (0.26 lb) | Add ~30 g for full air pressure |
| Pneumatic Reservoir (dual stacked) | ~250 g (0.55 lb) | Common configuration for arm-heavy bots |
| Pneumatic Solenoid + Mounting | ~50 g (0.11 lb) | Per solenoid (most teams use 2-4) |
| 5″ Standoff Spike (each) | ~5 g (0.01 lb) | Negligible individually; can add up across structure |
| 4″ Omni Wheel | ~85 g (0.19 lb) | Per wheel; 4 wheels = 340 g total |
| 2.75″ Omni Wheel | ~50 g (0.11 lb) | Per wheel; 4 wheels = 200 g total |
| 5×35 c-channel (per inch) | ~7.5 g/in (0.017 lb/in) | The chassis structure adds up fast |
| Stability Angle | Rating | What to Do |
|---|---|---|
| ≥ 55° | Excellent | Robot can take heavy contact + arm extension without tipping |
| 50° – 55° | Good | Override-ready; matches normal V5RC build standards |
| 40° – 50° | Marginal | OK for static play but vulnerable when arm extends or under push |
| 30° – 40° | Tippy | Lower the heaviest component; widen wheelbase if possible |
| < 30° | Critical | Will tip from a bump. Redesign before building. |
| Override Mechanic | Recommended CoG Behavior | Why |
|---|---|---|
| Toggle pushing (R3, midfield) | CoG height ≤ 5″, wheelbase ≥ 15″ | Stability angle ≥ 56° resists sideways push |
| King-of-hill endgame (18″ height) | CoG height ≤ 7″ with arm down | Robots pushing for hill control will bump you |
| Cup placement on tall goals (8.7″) | Front CoG margin ≥ 4″ during arm extension | Arm reaching forward shifts CoG forward; you can't tip into the goal |
| Pin loading from match loaders | CoG centered or slightly back when manipulator engages | Pin pickup mechanics shift forces forward; back-balanced CoG counters |
| Auton routine planning | Plan so robot is never "extended" on accelerations | Sudden stops with extended arm = tipping risk |
Once your robot is built, you can measure actual CoG (not just CAD-estimated) with simple tools:
CoG analysis goes on multiple slides — judges look for it explicitly: