Contact-Anchored Proprioceptive Odometrie voor Viervoetige Robots
Contact-Anchored Proprioceptive Odometry for Quadruped Robots
February 19, 2026
Auteurs: Minxing Sun, Yao Mao
cs.AI
Samenvatting
Betrouwbare odometrie voor potenrobots zonder camera's of LiDAR blijft een uitdaging vanwege IMU-drift en ruisgevoelige gewrichtssnelheidsmetingen. Dit artikel presenteert een puur proprioceptieve toestandsschatter die alleen IMU- en motormetingen gebruikt om lichaamspositie en snelheid gezamenlijk te schatten, met een uniforme formulering toepasbaar op tweebenig, vierbenig en wiel-poot robots. De kernidee is om elke contactmakende poot als een kinematisch anker te behandelen: op gewrichtskoppel gebaseerde schatting van pootkrachten selecteert betrouwbare contacten, en de bijbehorende pootlandingsposities bieden intermitterende wereldcoördinaat-beperkingen die langetermijndrift onderdrukken. Om hoogtedrift tijdens langdurige verplaatsing te voorkomen, introduceren we een lichtgewicht hoogteclustering en tijdsvervalcorrectie die nieuw geregistreerde pootlandingshoogtes koppelt aan eerder waargenomen steunvlakken. Om pootsnelheidsobservaties te verbeteren onder encoder-kwantisering, passen we een inverse-kinematische cubature Kalman-filter toe dat rechtstreeks pooteindsnelheden filtert uit gewrichtshoeken en -snelheden. De implementatie vermindert verder gierdrift door multi-contact geometrische consistentie en degradeert elegant naar een kinematisch afgeleide richtingsreferentie wanneer IMU-gierbeperkingen onbeschikbaar of onbetrouwbaar zijn. We evalueren de methode op vier vierbenige platforms (drie Astrall-robots en een Unitree Go2 EDU) met gesloten-lus trajecten. Op Astrall puntpoot robot~A sluit een ~200m horizontale lus en een ~15m verticale lus met respectievelijk 0.1638m en 0.219m fout; op wiel-poot robot~B zijn de corresponderende fouten 0.2264m en 0.199m. Op wiel-poot robot~C levert een ~700m horizontale lus 7.68m fout en een ~20m verticale lus 0.540m fout. Unitree Go2 EDU sluit een ~120m horizontale lus met 2.2138m fout en een ~8m verticale lus met minder dan 0.1m verticale fout. 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