MyRoboPath
kinematics14 min readUpdated 2026-03-04Beginner

Differential Drive Robot Kinematics & Dead-Reckoning Odometry

Derive forward and inverse kinematics for two-wheeled mobile robots, compute linear/angular velocities, and integrate wheel encoder ticks into global 2D pose (x, y, theta).

Dr. Soraya Al-Mansoor
Dr. Soraya Al-Mansoor
Professor of Robotics & Nonlinear Control

Key Engineering Takeaways

  • Given robot linear velocity v and angular velocity w, individual wheel velocities are: v_R = v + (w · L / 2) and v_L = v - (w · L / 2).
  • Wheel encoder odometry drifts over time due to wheel slippage, tire deformation, and uneven terrain—requiring sensor fusion with IMU and LiDAR.
  • Using 2nd-order Runge-Kutta integration reduces orientation heading truncation error during tight turns.
Prerequisites
  • Basic 2D geometry and trigonometry

Forward & Inverse Velocity Kinematics Equations

Let $r$ be the wheel radius and $L$ be the track width (distance between wheels): ### Forward Kinematics (Wheel velocities $\to$ Robot velocity): $$v = \frac{r}{2} (\omega_R + \omega_L)$$ $$\omega = \frac{r}{L} (\omega_R - \omega_L)$$ ### Inverse Kinematics (Desired robot $[v, \omega]^T \to$ Wheel velocities): $$\omega_R = \frac{2v + \omega L}{2r}$$ $$\omega_L = \frac{2v - \omega L}{2r}$$
Tags:#Differential Drive#Mobile Robots#Odometry#Dead Reckoning#Kinematics#Unicycle Model