ChatPaper.aiChatPaper

Odometría Propioceptiva Anclada al Contacto para Robots Cuadrúpedos

Contact-Anchored Proprioceptive Odometry for Quadruped Robots

February 19, 2026
Autores: Minxing Sun, Yao Mao
cs.AI

Resumen

La odometría confiable para robots con patas sin cámaras o LiDAR sigue siendo un desafío debido a la deriva del IMU y al ruido en la medición de velocidades articulares. Este artículo presenta un estimador de estado puramente propioceptivo que utiliza únicamente mediciones del IMU y de los motores para estimar conjuntamente la pose y velocidad del cuerpo, con una formulación unificada aplicable a robots bípedos, cuadrúpedos y con ruedas y patas. La idea clave es tratar cada pata en contacto como un anclaje cinemático: la estimación de fuerzas en el pie basada en par articular selecciona contactos confiables, y las posiciones de apoyo correspondientes proporcionan restricciones intermitentes en el marco global que suprimen la deriva a largo plazo. Para prevenir la deriva en elevación durante travesías prolongadas, introducimos una corrección ligera basada en agrupamiento de alturas y decaimiento temporal que ajusta las alturas recién registradas de los apoyos a planos de soporte previamente observados. Para mejorar las observaciones de velocidad del pie bajo cuantización de encoders, aplicamos un filtro de Kalman de cubatura por cinemática inversa que filtra directamente las velocidades del extremo del pie a partir de ángulos y velocidades articulares. La implementación mitiga además la deriva en guiñada mediante consistencia geométrica multi-contacto y se degrada gradualmente a una referencia de rumbo derivada cinemáticamente cuando las restricciones de guiñada del IMU no están disponibles o son poco confiables. Evaluamos el método en cuatro plataformas cuadrúpedas (tres robots Astrall y un Unitree Go2 EDU) utilizando trayectorias de lazo cerrado. En el robot Astrall de pie puntual A, un lazo horizontal de ~200 m y un lazo vertical de ~15 m regresan con errores de 0.1638 m y 0.219 m, respectivamente; en el robot con ruedas y patas B, los errores correspondientes son 0.2264 m y 0.199 m. En el robot con ruedas y patas C, un lazo horizontal de ~700 m produce un error de 7.68 m y un lazo vertical de ~20 m produce un error de 0.540 m. El Unitree Go2 EDU cierra un lazo horizontal de ~120 m con un error de 2.2138 m y un lazo vertical de ~8 m con menos de 0.1 m de error vertical. 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
PDF01February 25, 2026