Odométrica Propriocettiva Ancorata al Contatto per Robot Quadrupedi
Contact-Anchored Proprioceptive Odometry for Quadruped Robots
February 19, 2026
Autori: Minxing Sun, Yao Mao
cs.AI
Abstract
L'odometria affidabile per robot a zampe senza telecamere o LiDAR rimane una sfida a causa della deriva dell'IMU e della sensibilità rumorosa della velocità dei giunti. Questo articolo presenta uno stimatore di stato puramente propriocettivo che utilizza solo misurazioni dell'IMU e dei motori per stimare congiuntamente la posa e la velocità del corpo, con una formulazione unificata applicabile a robot bipedi, quadrupedi e a zampe ruotate. L'idea chiave è trattare ogni zampa a contatto come un'ancora cinematica: la stima della forza applicata al piede basata sulla coppia dei giunti seleziona i contatti affidabili, e le corrispondenti posizioni di appoggio forniscono vincoli intermittenti nel sistema di riferimento mondiale che sopprimono la deriva a lungo termine. Per prevenire la deriva in elevazione durante traversate estese, introduciamo una correzione leggera basata sul clustering delle altezze e sul decadimento temporale che aggancia le altezze di appoggio appena registrate a piani di supporto precedentemente osservati. Per migliorare le osservazioni della velocità del piede sotto quantizzazione degli encoder, applichiamo un filtro di Kalman a cubatura cinematico-inverso che filtra direttamente le velocità dell'estremità del piede dagli angoli e dalle velocità dei giunti. L'implementazione mitiga ulteriormente la deriva dell'imbardata attraverso la consistenza geometrica multi-contatto e degrada gradualmente a un riferimento di direzione derivato cinematicamente quando i vincoli di imbardata dell'IMU non sono disponibili o non sono affidabili. Valutiamo il metodo su quattro piattaforme quadrupedi (tre robot Astrall e un Unitree Go2 EDU) utilizzando traiettorie a ciclo chiuso. Sul robot Astrall a piede puntiforme A, un anello orizzontale di ~200 m e un anello verticale di ~15 m ritornano con un errore di 0,1638 m e 0,219 m, rispettivamente; sul robot a zampe ruotate B, gli errori corrispondenti sono 0,2264 m e 0,199 m. Sul robot a zampe ruotate C, un anello orizzontale di ~700 m produce un errore di 7,68 m e un anello verticale di ~20 m produce un errore di 0,540 m. Il Unitree Go2 EDU chiude un anello orizzontale di ~120 m con un errore di 2,2138 m e un anello verticale di ~8 m con un errore verticale inferiore a 0,1 m. github.com/ShineMinxing/Ros2Go2Estimator.git
English
Reliable odometry for legged robots without cameras or LiDAR remains challenging due to IMU drift and noisy joint velocity sensing. This paper presents a purely proprioceptive state estimator that uses only IMU and motor measurements to jointly estimate body pose and velocity, with a unified formulation applicable to biped, quadruped, and wheel-legged robots. The key idea is to treat each contacting leg as a kinematic anchor: joint-torque--based foot wrench estimation selects reliable contacts, and the corresponding footfall positions provide intermittent world-frame constraints that suppress long-term drift. To prevent elevation drift during extended traversal, we introduce a lightweight height clustering and time-decay correction that snaps newly recorded footfall heights to previously observed support planes. To improve foot velocity observations under encoder quantization, we apply an inverse-kinematics cubature Kalman filter that directly filters foot-end velocities from joint angles and velocities. The implementation further mitigates yaw drift through multi-contact geometric consistency and degrades gracefully to a kinematics-derived heading reference when IMU yaw constraints are unavailable or unreliable. We evaluate the method on four quadruped platforms (three Astrall robots and a Unitree Go2 EDU) using closed-loop trajectories. On Astrall point-foot robot~A, a sim200\,m horizontal loop and a sim15\,m vertical loop return with 0.1638\,m and 0.219\,m error, respectively; on wheel-legged robot~B, the corresponding errors are 0.2264\,m and 0.199\,m. On wheel-legged robot~C, a sim700\,m horizontal loop yields 7.68\,m error and a sim20\,m vertical loop yields 0.540\,m error. Unitree Go2 EDU closes a sim120\,m horizontal loop with 2.2138\,m error and a sim8\,m vertical loop with less than 0.1\,m vertical error. github.com/ShineMinxing/Ros2Go2Estimator.git