Robust proprioceptive state estimation is crucial for legged robots, particularly in challenging environments where exteroceptive sensors are unreliable. While traditional leg odometry typically relies on a single body-mounted inertial measurement unit (IMU) fused with leg kinematics via an extended Kalman filter (EKF), such methods are vulnerable to linearization errors and hard-contact assumptions, leading to severe drift during slippage or dynamic locomotion.In this paper, we propose LAG-IO, a factor graph-based multi-IMU state estimation framework that tightly couples measurements from a main body IMU, multiple leg-mounted IMUs, and joint encoders within a sliding-window optimization. To handle non-stationary foot-ground interactions, we introduce a continuous probabilistic contact detection module based on kernel density estimation (KDE), which adaptively scales the covariance of zero-velocity update (ZUPT) factors. Furthermore, kinematic relative position factors are formulated to structurally anchor the independent leg inertial states to the robot's main body. Experimental results on a quadruped robot across various unstructured terrains demonstrate that, compared to existing baselines, LAG-IO achieves higher planar trajectory accuracy, reduces unobservable vertical divergence, and provides smoother trajectory transitions during unstable contacts, while maintaining competitive attitude observability.
Figures & tables
Fig. 1: System architecture of the LAG-IO framework. Proprioceptive measurements from the body-IMU, four leg-IMUs, and joint encoders (hip, thigh, and calf) are processed through state preintegration and KDE-based contact detection to construct the tightly-coupled factor graph. The multi-IMU states are subsequently solved via sliding-window optimization and bounded by marginalization. The grey dashed box in the bottom-right indicates the oldest keyframe undergoing marginalization, while the grey dotted and red solid trajectories denote the drifting prior and the optimized estimates.
Fig. 2: Topology of the LAG-IO factor graph and sensor frames. Local moving frames follow the Front-Right-Down (FRD) convention. IMU preintegration factors (yellow squares) continuously constrain all body (pink circles) and leg (blue circles) states within the sliding window. Conversely, at each keyframe, relative position (green squares) and zero-velocity (blue squares) factors are applied exclusively to the specific detected contact legs. For instance, at keyframe k , these constraints are added to only a single active stance leg.
Fig. 3: The experimental platform and hardware payload deployed in an unstructured environment (offroad). The Unitree Go2 quadruped robot is equipped with a custom multi-IMU suite, a Raspberry Pi for onboard data logging, and a GNSS antenna for ground truth acquisition.
Sequence
Method
APE Trans. (m)
RPE Trans. (%)
Parking lots
LegOdom
2.95
1.02
Foot-INS
4.35
4.32
DogLegs
3.04
1.74
LAG-IO
2.80
1.24
Asphalt road
LegOdom
2.73
1.42
Foot-INS
4.85
4.40
TABLE I: Overall Trajectory Estimation Accuracy
Sequence
Method
APE Trans. (m)
RPE Trans. (%)
Parking lots
DogLegs
1.19
1.43
LAG-IO
0.88
1.16
Asphalt road
DogLegs
2.14
1.56
LAG-IO
0.91
0.95
Construction site
DogLegs
0.68
0.64
LAG-IO
0.24
0.43
TABLE II: Planar Trajectory Estimation Accuracy
Sequence
Method
Roll ( ∘ )
Pitch ( ∘ )
Yaw ( ∘ )
Parking lots
LegOdom
1.51 / 3.48
1.03 / 3.50
14.69 / 21.75
DogLegs
0.62 / 1.24
0.42 / 1.42
10.03 / 16.92
LAG-IO
0.73 / 1.85
0.77 / 2.88
7.04 / 12.48
Asphalt road
LegOdom
0.69 / 1.88
0.83 / 2.28
10.05 / 16.01
DogLegs
0.77 / 1.98
0.78 / 2.04
10.45 / 17.85
LAG-IO
0.67 / 1.89
0.86 / 2.38
7.24 / 12.66
TABLE III: Attitude Estimation Accuracy (RMSE / MAX in Degrees)
Fig. 4: Top-down planar trajectory estimates from the DogLegs dataset across four scenarios: parking lots, asphalt road, construction site, and offroad. Overall, the proposed LAG-IO (red) maintains closer alignment with the GNSS-PPK ground truth (black) compared to the baseline (blue), which exhibits accumulated drift in certain regions.
Fig. 5: Vertical trajectory profiles for the construction site and offroad scenarios. Both methods inevitably exhibit Z-axis drift, with the proposed LAG-IO (red) maintaining a relatively milder elevation divergence compared to the DogLegs baseline (blue).
Fig. 6: Trajectory evaluation in the GNSS-denied grass scenario. The proposed LAG-IO achieves a final loop-closure error of 0.04 m, outperforming the DogLegs baseline.
Fig. 7: Visualization of contact detection results during a trajectory jitter event on the asphalt road sequence. (a) Full 2D trajectory. (b) Enlarged detail highlighting localized estimation jitters and fluctuations in the baseline. (c) Temporal contact detection subplots: foot force (top), baseline likelihood ratio test (middle), and KDE-based probability (bottom). The red dots indicate contact triggers thresholded by these three mechanisms. The dashed box in (c) illustrates the specific contact probability conditions corresponding to the trajectory jitter boxed in (b), revealing a drop in contact stability.
Robust and accurate proprioceptive state estimation of the main body is crucial for legged robots to execute tasks in extreme environments where exteroceptive sensors, such as LiDARs and cameras, may become unreliable. In this paper, we propose DogLegs, a state estimation system for legged robots that fuses the measurements from a body-mounted inertial measurement unit (Body-IMU), joint encoders, and multiple leg-mounted IMUs (Leg-IMU) using an extended Kalman filter (EKF). The filter system contains the error states of all IMU frames. The Leg-IMUs are used to detect foot contact, thereby providing zero-velocity measurements to update the state of the Leg-IMU frames. Additionally, we compute the relative position constraints between the Body-IMU and Leg-IMUs by the leg kinematics and use them to update the main body state and reduce the error drift of the individual IMU frames. Field experimental results have shown that our proposed DogLegs system achieves better state estimation accuracy compared to the traditional leg odometry method (using only Body-IMU and joint encoders) across various terrains. We make our code and datasets publicly available to benefit the research community (https://github.com/YibinWu/DogLegs).
Yibin Wu, Jian Kuang, Shahram Khorshidi +4
Center for Robotics, University of Bonn, Germany · GNSS Research Center, Wuhan University, China · Humanoid Robots Lab, University of Bonn, Germany +1
Legged robots carry an IMU, but the inertial solution drifts because consumer-grade IMUs are noisy. However, the feet create intermittent contacts with the environment that can be used to mitigate that drift. This report develops a sequence of increasingly expressive legged robot state estimators that leverage this. In all cases, the floating-base state comprises attitude, position, velocity, and IMU biases. To model foot contacts, we start from the contact-aided invariant EKF of Hartley et al., albeit at a reduced contact update rate. This is then augmented by replacing the measurement update by a small factor graph. Finally, we turn the same factors into a fixed-lag smoother with contact-episode footholds, with and without an evolving IMU bias. To facilitate reproducibility and further research in proprioceptive legged odometry, all four variants are available in GTSAM (Dellaert et. al), and we additionally provide a ROS2-compatible implementation.
One of the significant challenges in legged robotics is achieving accurate odometry using only onboard proprioceptive sensors. In this study, we present a complete leg odometry pipeline based on an Error-State EKF (ESEKF) that relies exclusively on proprioceptive data: a body fixed IMU, joint encoders, and force sensors, where filter's state is corrected by feet determined to be in a stationary stance. The core of our contribution is fused contact detection and an uncertainty quantification module designed to explicitly identify and reject slippage. This module runs two detectors in parallel for each foot, 1) a debounced, force-based Gaussian Mixture Model (GMM) guided Finite State Machine (FSM) to confirm physical contact, and 2) a kinematic-based Generalized Likelihood Ratio Test (GLRT) on the estimated velocity of the foot. The continuous quality scores from both estimators are fused to detect if the foot is both physically loaded and kinematically stationary and served as an uncertainty signal for each contact. To validate our approach, we collected a multi-modal dataset of 29 sequences spanning diverse indoor and outdoor terrains (e.g., concrete, grass, pebble, and rock) total of 2.4 km long. We benchmarked our approach against both proprioceptive and exteroceptive methods. The results demonstrate our method's efficacy in providing accurate odometry estimates, robustly handling slippage-prone environments. We also share our code and real-time ROS2 package as open-source.
Emre Girgin, Cagri Kilic
Department of Aerospace Engineering, Embry-Riddle Aeronautical University, Daytona Beach, FL 32114, USA.