Invariant Extended Kalman Filter
不变扩展卡尔曼滤波InEKFAdvancedAn extended Kalman filter that defines error on a Lie group, converging more reliably, commonly used for legged-robot state estimation.
The invariant extended Kalman filter was systematically developed by French researchers Barrau and Bonnabel around 2014, as a variant of the extended Kalman filter (EKF). An ordinary EKF linearizes around the current estimate, so if the estimate drifts far off, the linearization becomes inaccurate and the filter can diverge. InEKF instead places states like attitude, velocity, and position on a Lie group (a mathematical structure describing rotation and translation) and defines the error using the group’s own operation; for a broad class of systems, the error’s evolution no longer depends on the current estimate, giving a larger and more stable region of convergence. A 2019 paper by Hartley, Grizzle, and colleagues at the University of Michigan applied this to fusing an IMU with leg kinematics and contact information, outperforming a quaternion-based EKF on the Cassie series of biped robots, and released a C++ implementation.
ExampleThe University of Michigan’s open-source invariant-ekf library (C++, depends on Eigen, BSD-3 licensed) uses the IMU as its motion model, incorporates joint kinematics and foot-contact measurements, and estimates the body’s 3D pose, velocity, and IMU bias, usable on biped or quadruped robots.
- Also called
- InEKF, IEKF, Contact-Aided InEKF
- Related
- Extended Kalman Filter · Error-State Kalman Filter · Lie Group · Leg Odometry · State Estimation · Inertial Measurement Unit
- Sources
- Contact-Aided Invariant Extended Kalman Filtering for Robot State Estimation (Hartley et al., arXiv 1904.09251)
The Invariant Extended Kalman Filter as a Stable Observer (Barrau & Bonnabel, arXiv 1410.1465)
GitHub: RossHartley/invariant-ekf