02 / Robotics · State Estimation

Contact-Aided RIEKF for Unitree Go2

Estimating quadruped velocity by combining inertial measurements and foot contacts. Six filter variants explore how contact representation and IMU bias modeling change estimation performance.

InEKF / RIEKFUnitree Go2Isaac LabIMU
View source on GitHub ↗
6Filter configurations compared
0.3123Best reported 3D velocity RMSE (m/s)
10 sShared simulation metric window

Approach

One estimator. Two design choices.

The project compares right-invariant EKF configurations on a Unitree Go2 in Isaac Lab. Contact parameterization and online IMU bias estimation define the six variants.

Representing foot contacts

  1. Single-foot anchor

    Track one front-left foot anchor as a minimal baseline.

  2. Dynamic augmentation

    Add contact states at touchdown and marginalize them at liftoff.

  3. Fixed four-foot state

    Keep all four anchors in the state, retaining a constant covariance size.

Modeling IMU bias

Each contact representation is tested with and without online gyroscope and accelerometer bias estimation.

Evaluation environment

Isaac Lab 0.54.2 with Isaac Sim 5.1.0. The repository reports verification on DGX Spark (Linux aarch64) and Windows x86_64.

Simulation results

More contact coverage. Lower velocity error.

All variants use the same command sequence and a 10-second metric window. The fixed four-foot configuration with bias estimation has the lowest reported 3D RMSE.

Velocity RMSE in m/s, reproduced from the linked project repository.
Contact representationBias estimationvₓvᵧvz3D RMSE
Single-footNo0.46860.44650.15820.6663
Single-footYes0.45640.44180.13180.6488
Dynamic contactsNo0.21560.21820.13460.3350
Dynamic contactsYes0.19210.23100.13000.3274
Fixed four-footNo0.21590.20080.14510.3286
Fixed four-footYes0.20740.19490.12870.3123
Six simulation comparisons of commanded, ground-truth and estimated velocity, with RMSE values.
Commanded, ground-truth and estimated velocity for the six configurations. Figure from the project repository.

What the results suggest

Contact handling matters.

Multiple feet improve coverage

The multi-foot variants roughly halve 3D RMSE relative to the single-foot baseline in this experiment. More feet provide observations through contact switching during trot gait.

Bias benefits depend on the setting

Bias estimation brings a modest improvement in these simulations, where the simulated IMU has no true bias. These results do not establish real-hardware performance; the balance may change with sensor bias and noise.

Touchdown impacts remain a source of vertical velocity error across the tested variants.

Project team

Built together.

Weijie XiaUniversity of MichiganProject repository ↗
Zhitao YongUniversity of Michigan
Shaohan WangUniversity of MichiganEmail ↗
James HuUniversity of Michigan

Team members are listed in the order shown on the project poster. View the poster ↗

Code & research

Explore the implementation.

The repository contains the formulation, evaluation scripts, trained policy checkpoint, comparison plots and project deliverables.

R. Hartley et al., “Contact-Aided Invariant Extended Kalman Filtering for Robot State Estimation,” International Journal of Robotics Research, 39(4), 2020.

← SAM2 Medical SegmentationAll projects →