YouDuck.ai

Projected gravity: how the robot knows it fell

Last updated

Projected gravity is the gravity vector expressed in the robot’s own frame. It is the only IMU quantity on robotctl monitor’s state stream.

  • Upright is about [0, 0, -1]
  • Face-down, face-up and lying on one side give distinctly different directions

The fallen state is decided from it.

Why policies depend on it too

The StandUp task has to rise from face-down, face-up and sitting, and those need completely different motions. The policy tells them apart from projected gravity — so the quantity serves both diagnosis and control.

A failure that never errors

One failure mode is worth remembering on its own:

When sensor fusion stops, the board keeps answering the bus. Nothing errors, and the gravity vector holds a plausible attitude indefinitely.

The numbers look fine. The fall verdict looks fine. Neither reflects reality any more.

Exactly one place says so — the condition row at the bottom of robotctl monitor:

orientation frozen — 25 stale reads

The stale-read counters and the ratios they mean anything against are in robotctl health. This is where to look when the robot behaves strangely and every indicator reads normal.

Related