Extended Kalman Filter
扩展卡尔曼滤波EKFCommonLinearizes a nonlinear system around the current estimate, then applies the ordinary Kalman filter for state estimation.
The extended Kalman filter generalizes the Kalman filter to nonlinear systems, and was developed mainly at NASA's Ames Research Center for navigation problems in the 1960s. The standard Kalman filter only applies to linear models; at every step, the EKF uses a Jacobian matrix (the partial derivatives of each output with respect to each state) to take a first-order Taylor expansion of the nonlinear motion and observation models around the current estimate, then runs the usual predict-update cycle: first the motion model projects forward the new state and its uncertainty, then a sensor reading corrects it. It's computationally cheap and its implementation is mature, making it the de facto standard in navigation; but it's only an approximation, and can diverge when nonlinearity is strong, in which case an unscented Kalman filter or an error-state Kalman filter is often used instead. Legged robots commonly use it to fuse IMU data with leg kinematics to estimate the body's pose and velocity.
ExampleROS's robot_localization package provides an ekf_localization_node that can fuse any number of input sources — wheel odometry, IMU, GPS, and so on — into a 15-dimensional state output: 3D position, orientation (roll/pitch/yaw), linear velocity, angular velocity, and linear acceleration.
- Also called
- EKF
- Related
- Kalman Filter · Unscented Kalman Filter · Error-State Kalman Filter · State Estimation · Leg Odometry · Multi-Sensor Fusion
- Sources
- Wikipedia: Extended Kalman filter
robot_localization 文档首页(ekf_localization_node,15 维状态) (Chinese)
State Estimation for Legged Robots - Consistent Fusion of Leg Kinematics and IMU (Bloesch et al., RSS 2012)