ChatPaper.aiChatPaper

Kontaktgestützte propriozeptive Odometrie für Quadruped-Roboter

Contact-Anchored Proprioceptive Odometry for Quadruped Robots

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

papers.abstract

Zuverlässige Odometrie für Laufroboter ohne Kameras oder LiDAR bleibt aufgrund von IMU-Drift und verrauschter Gelenkgeschwindigkeitserfassung eine Herausforderung. Dieser Beitrag stellt einen rein propriozeptiven Zustandsschätzer vor, der ausschließlich IMU- und Motormessungen nutzt, um Körperpose und -geschwindigkeit gemeinsam zu schätzen, mit einer einheitlichen Formulierung, die für zweibeinige, vierbeinige und radbeinigte Roboter anwendbar ist. Die zentrale Idee ist, jedes kontaktierende Bein als kinematischen Anker zu behandeln: eine auf Gelenkmomenten basierende Schätzung der Fußkräfte wählt zuverlässige Kontakte aus, und die entsprechenden Fußaufsatzpositionen liefern intermittierende weltbezogene Constraints, die Langzeitdrift unterdrücken. Um Höhendrift bei längerer Fortbewegung zu verhindern, führen wir eine leichtgewichtige Höhen-Clusterung und Zeitabkling-Korrektur ein, die neu erfasste Fußaufsatzhöhen an zuvor beobachtete Stützebenen anpasst. Um die Beobachtung der Fußgeschwindigkeit bei Encoder-Quantisierung zu verbessern, wenden wir einen inverskinematischen Cubature-Kalman-Filter an, der Fußendgeschwindigkeiten direkt aus Gelenkwinkeln und -geschwindigkeiten filtert. Die Implementierung mildert ferner die Gierdrift durch geometrische Konsistenz bei Mehrfachkontakt und fällt elegant auf eine kinematisch abgeleitete Richtungsreferenz zurück, wenn IMU-Gier-Constraints nicht verfügbar oder unzuverlässig sind. Wir evaluieren die Methode auf vier vierbeinigen Plattformen (drei Astrall-Roboter und ein Unitree Go2 EDU) mit geschlossenen Trajektorien. Auf dem Astrall-Punktfußroboter A schließt eine horizontale Schleife von ~200 m mit 0,1638 m und eine vertikale Schleife von ~15 m mit 0,219 m Fehler; auf dem radbeinigen Roboter B betragen die entsprechenden Fehler 0,2264 m und 0,199 m. Auf dem radbeinigen Roboter C ergibt eine horizontale Schleife von ~700 m 7,68 m Fehler und eine vertikale Schleife von ~20 m 0,540 m Fehler. Der Unitree Go2 EDU schließt eine horizontale Schleife von ~120 m mit 2,2138 m Fehler und eine vertikale Schleife von ~8 m mit weniger als 0,1 m vertikalem Fehler. 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