Odometry
What is Odometry in Humanoid Robotics?
Using sensor data to estimate change in position over time.
Wheel odometry tracks rotations to estimate distance traveled. Visual odometry uses camera images. Both help robots track their movement between position updates.
How Odometry Works
Odometry tracks movement by integrating sensor measurements over time. In wheeled robots, encoders count wheel rotations and use wheel radius to calculate distance traveled. For bipedal humanoid robots, joint encoders measure leg joint angles, and kinematic models estimate foot positions and movement. Visual odometry processes consecutive camera frames, detecting and tracking features (corners, edges) across images. By calculating how far features moved between frames and using camera calibration, the system estimates robot movement. IMU acceleration data can be double-integrated to estimate position change, though this quickly accumulates errors. Sensor fusion combines multiple odometry sources, using complementary strengths to improve accuracy.
Types of Odometry
- Wheel Odometry: Encoder-based distance measurement in wheeled robots
- Visual Odometry: Camera-based motion estimation using feature tracking
- Inertial Odometry: IMU-based position tracking through acceleration integration
- Leg Odometry: Kinematic estimation from leg joint positions in walking robots
- LiDAR Odometry: Matching consecutive 3D scans to estimate movement
- Stereo Odometry: Using two cameras for depth information in visual odometry
Applications in Humanoid Robots
Odometry provides continuous position updates between other localization sources in navigation systems. Autonomous navigation uses odometry for smooth path following and obstacle avoidance. SLAM algorithms rely on odometry as an initial estimate for mapping. Motion control systems use odometry feedback to verify commanded movements were executed. Dead reckoning uses odometry when other sensors are unavailable, like GPS-denied indoor environments. Calibration procedures use odometry to measure actual robot movements for system tuning.







