Papers
Topics
Authors
Recent
Search
2000 character limit reached

Multi-Contact Geometric Yaw Correction

Updated 26 February 2026
  • Multi-contact geometric yaw correction is a method that leverages fixed geometric relationships among multiple stance contacts to constrain and correct yaw drift.
  • It fuses joint-torque-based contact selection, forward kinematics, and inertial measurements to provide a robust, drift-free heading update mechanism.
  • The approach enhances state estimation in challenging environments, proving effective across various robotic platforms in GPS-denied and visually impaired conditions.

Multi-contact geometric yaw correction is a method for constraining and correcting the yaw (heading) estimate of legged robots using geometric relationships between multiple stance contacts, leveraging only proprioceptive sensing. This approach directly counters the unbounded yaw drift that arises in dead-reckoned state estimators relying on IMU integration. By exploiting the fixed geometry imposed by multiple stationary contacts, the estimator fuses information from joint-torque-based contact selection, forward kinematics, and inertial measurements, yielding a robust heading update mechanism that does not require exteroceptive sensing such as cameras or LiDAR (Sun et al., 19 Feb 2026). Additionally, related geometric mechanics formulations provide a theoretical framework for quantifying yaw changes due to discrete contact switching, further informing the design and correctness of yaw correction strategies (Prasad et al., 2023).

1. Motivation and Problem Statement

Legged robot odometry based solely on IMU and joint sensors suffers from unconstrained heading (yaw) drift. While roll and pitch remain observable through gravity alignment in the IMU, the absence of absolute heading information allows the yaw estimate to wander unboundedly, accumulating integration errors over time. During phases where two or more feet are in fixed stance, their world-frame locations, recorded at touchdown, must remain stationary if there is no foot slip. The geometric relationships (relative vectors) between these fixed contact points form a drift-free reference, providing a direct cue to correct heading drift.

In such systems, the availability of multiple, reliable stance contacts creates geometric constraints that can be formalized mathematically and exploited algorithmically to achieve robust, drift-suppressing yaw correction (Sun et al., 19 Feb 2026).

2. Mathematical Formulation of Multi-Contact Geometric Yaw Correction

Let FW\mathcal F_W denote the world frame and FB\mathcal F_B the robot's body frame. At time tkt_k, the estimated pose is (pWB,k,RWB,k)(\mathbf p_{WB,k},\,\mathbf R_{WB,k}), with orientation

RWB,k=Rz(ψk)Ry(θk)Rx(ϕk),\mathbf R_{WB,k} = R_z(\psi_k) R_y(\theta_k) R_x(\phi_k),

where ψk\psi_k is yaw, θk\theta_k pitch, ϕk\phi_k roll.

Define the contact set at tkt_k:

Ck={i:contact detected for leg i}.\mathcal C_k = \{ i : \text{contact detected for leg } i \}.

For each iCki \in \mathcal C_k,

  • pee,i,kB\mathbf p^B_{\mathrm{ee},i,k}: body-frame foot position via kinematics,
  • ciW\mathbf c^W_i: world-frame footfall position, fixed during stance.

For all unordered pairs (i,j)Ck,i<j(i, j) \subset \mathcal C_k,\, i<j:

  • Body-frame vector: vij,kB=pee,j,kBpee,i,kBv^B_{ij,k} = \mathbf p^B_{\mathrm{ee},j,k} - \mathbf p^B_{\mathrm{ee},i,k},
  • World-frame vector: vijW=cjWciWv^W_{ij} = \mathbf c^W_j - \mathbf c^W_i.

Tilt compensation removes roll/pitch from the body-frame vector:

Rrp,k=Ry(θk)Rx(ϕk)R_{rp,k} = R_y(\theta_k) R_x(\phi_k)

vˉij,k=Rrp,kvij,kB\bar v_{ij,k} = R_{rp,k} v^B_{ij,k}

Project both vectors onto the xyxy-plane. The instantaneous yaw aligning vˉij,k\bar v_{ij,k} to vijWv^W_{ij} is

ψ^ij,k=wrap(atan2((vijW)y,(vijW)x)atan2((vˉij,k)y,(vˉij,k)x))\hat \psi_{ij,k} = \text{wrap} \big( \mathrm{atan2}((v^W_{ij})_y, (v^W_{ij})_x) - \mathrm{atan2}((\bar v_{ij,k})_y, (\bar v_{ij,k})_x) \big)

Aggregate pairwise yaw estimates using the circular mean:

ψ^k=atan2((i,j)sinψ^ij,k,  (i,j)cosψ^ij,k)\hat \psi_k = \mathrm{atan2} \left( \sum_{(i,j)} \sin \hat \psi_{ij,k},\; \sum_{(i,j)} \cos \hat \psi_{ij,k} \right)

The yaw error is ek=wrap(ψ^kψk)e_k = \text{wrap}(\hat \psi_k - \psi_k), and the correction is applied via a bounded gain αk(0,1]\alpha_k \in (0,1]:

ψkwrap(ψk+αkek)\psi_k \leftarrow \text{wrap}(\psi_k + \alpha_k e_k)

The gain αk\alpha_k increases with contact stability, reaching unity in prolonged four-foot stance and returning to a minimal base value α0\alpha_0 when contacts are intermittent.

3. Contact Detection and Wrench-Based Selection

Reliable detection of stance contacts is critical. For each leg ii, the contact force in the body frame is estimated from joint torques:

fi,kB=(Ji(qi,k)Ji(qi,k))1Ji(qi,k)τi,k\mathbf f^B_{i,k} = \left( J_i(\mathbf q_{i,k}) J_i(\mathbf q_{i,k})^\top \right)^{-1} J_i(\mathbf q_{i,k}) \boldsymbol \tau_{i,k}

where JiJ_i is the 3×33 \times 3 geometric Jacobian and τi,k\boldsymbol \tau_{i,k} the measured joint torques.

Transform the force to the world frame:

fi,kW=RWB,kfi,kB\mathbf f^W_{i,k} = R_{WB,k} \mathbf f^B_{i,k}

A leg is declared in contact if its vertical force surpasses a threshold: fi,k,zWfthf^W_{i,k,z} \leq f_{\mathrm{th}}. An entering contact updates the touchdown world location and triggers height correction.

This judicious selection of contacts ensures geometric constraints are anchored to genuine, load-bearing stance events, avoiding the corruption of the geometry by transient or unreliable contacts (Sun et al., 19 Feb 2026).

4. Algorithmic Implementation and Gain Scheduling

The method's workflow is summarized in the following steps:

  1. IMU and Joint Data Acquisition: Read roll ϕ\phi, pitch θ\theta, gyro yaw rate; read joint angles qi\mathbf q_i, torques τi\boldsymbol \tau_i.
  2. Contact Detection: For each leg, compute fi,kB\mathbf f^B_{i,k} and fi,kW\mathbf f^W_{i,k}; if fi,k,zWfthf^W_{i,k,z} \leq f_{\mathrm{th}}, register contact and, upon touchdown, record ciW\mathbf c^W_i with height correction.
  3. Yaw Correction (when Ck2|\mathcal C_k| \geq 2):
    • If all legs are in contact, ramp αk\alpha_k from a small value α0\alpha_0 to $1$ over TψT_\psi;
    • Otherwise, reset the ramp and set αk=α0\alpha_k = \alpha_0.
    • Compute all unordered pairwise yaw estimates ψ^ij,k\hat \psi_{ij,k} and aggregate by the circular mean to obtain ψ^k\hat \psi_k.
    • Update yaw: ψkwrap(ψk+αkek)\psi_k \leftarrow \mathrm{wrap}(\psi_k + \alpha_k e_k).
  4. Fallback: When less than two contacts, retain αk=α0\alpha_k = \alpha_0, and no update is applied.
  5. Proceed with Standard Estimation: Use ψk\psi_k as the current yaw for the rest of the estimator update (Sun et al., 19 Feb 2026).

This procedure achieves a dynamic tradeoff: conservatism during intermittent contacts (limit overcorrection) and aggressive correction in stable, full support.

5. Relation to Geometric Mechanics of Contact-Switching Gaits

The geometric mechanics formalism for contact-switching systems generalizes yaw correction to hybrid shape-spaces and discrete contact transitions. A hybrid configuration space (α,β)(\alpha, \beta), with α\alpha a continuous shape and β\beta the set of active contacts, yields a local connection Aβ(α)A_\beta(\alpha) mapping shape velocities to body twist. Upon switching from contact mode β\beta to β\beta', the yaw difference is encoded by:

dzββθ(α)=Aβθ(α)Aβθ(α)dz^\theta_{\beta \rightarrow \beta'}(\alpha) = A^\theta_{\beta'}(\alpha) - A^\theta_\beta(\alpha)

Accrued yaw over a cycle of NN switches is then:

Θnet=k=1Nαkαk+dzβkβk+1θ(α)\Theta_{\rm net} = \sum_{k=1}^N \int_{\alpha_k^-}^{\alpha_k^+} dz^\theta_{\beta_k \rightarrow \beta_{k+1}}(\alpha)

This framework, detailed in (Prasad et al., 2023), provides theoretical guarantees for aggregate rotational effects due to discrete gait transitions, offering planning and analysis tools for optimizing net yaw or analyzing residual drift in gaits involving nonholonomic contact switching.

6. Quantitative Performance and Efficacy

Empirical evaluation on four robot platforms demonstrates the efficacy of multi-contact geometric yaw correction in proprioceptive odometry (Sun et al., 19 Feb 2026). Key results include:

Platform Loop Length (m) Loop-Closure Error (m; %) Vertical Error (m)
Astrall A 200 0.1638 (0.08%) 0.219
Astrall B 200 0.2264 (0.11%) 0.199
Astrall C 700 7.68 (1.1%) 0.540
Unitree Go2 EDU 120 2.2138 (1.8%) < 0.1

During prolonged static stance, IMU-based yaw drift is effectively arrested, and heading remains locked. When IMU yaw integration is disabled entirely, kinematics-only heading retains residual errors of approximately 1010^\circ per closed turn (short steps) and 3030^\circ (long steps), demonstrating graceful degradation. This confirms the robustness of the multi-contact geometric principle for maintaining heading consistency under realistic proprioceptive-only conditions.

7. Significance and Applications

Multi-contact geometric yaw correction provides a robust solution for purely-proprioceptive legged state estimation. Its reliance on internal sensing enables drift suppression without exteroceptive aids, increasing reliability in visually degraded or GPS-denied environments. The method demonstrates compatibility with a range of platforms, including bipeds, quadrupeds, and wheel-legged robots, and is lightweight enough for real-time deployment. The fusion of wrench-based contact selection, kinematics, and geometric averaging further ensures resilience to transient contact fluctuations and offers a modular ingredient for advanced SLAM and navigation systems in legged robots (Sun et al., 19 Feb 2026). The theoretical connection to geometric mechanics yields pathways for systematic gait optimization targeting precise rotational outcomes (Prasad et al., 2023).

Definition Search Book Streamline Icon: https://streamlinehq.com
References (2)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Multi-Contact Geometric Yaw Correction.