Wheel Odometry Calculator
Convert wheel encoder tick counts into position, heading change, linear velocity, angular velocity, and turning radius — the foundational calculation in every differential-drive robot’s base controller and ROS 2 odometry node.
⚙️ Input Parameters
📊 Results
Enter encoder tick counts for one time interval to compute position, heading, and velocity for your differential-drive robot.
Wheel Odometry: The Foundation of Robot Dead-Reckoning
What This Calculates
Wheel odometry converts encoder tick counts into robot motion estimates using the differential drive kinematic model. The robot travels straight when both wheels turn equally; it turns when they differ. Δθ = (d_right − d_left) / wheel_separation captures this precisely. This runs continuously as a baseline in every robot, even those using SLAM or GPS correction.
When to Use It
- Verifying your ROS 2 odometry node calculations before deployment
- Debugging unexpected robot heading drift per-interval
- Converting encoder resolution to real-world distance during robot setup
- Calculating expected odometry accuracy over a test trajectory
- Understanding odometry error before adding SLAM correction
Formula
nav_msgs/Odometry: twist.linear.x = v, twist.angular.z = ω. Pose is accumulated by integrating Δθ and d_centre at each step: x += d_centre × cos(θ), y += d_centre × sin(θ), θ += Δθ. See the UDHY ROS 2 Jazzy Tutorial for a complete Python implementation of this odometry node.