Mobile robot kinematics: differential, Ackermann, omnidirectional
Three wheel configurations cover almost every wheeled robot. Each has different kinematics, different motion constraints, and different planners. The full comparison in one lesson.
Wheeled robots are easier to control than arms — fewer degrees of freedom, simpler dynamics — but the kinematics has its own twist. Three configurations cover 95% of practice: differential drive, Ackermann, omnidirectional. They differ in how their constraints affect what motions are physically reachable. Choose wrong and your robot can't navigate the corridor it was supposed to.
1. Differential drive
Two wheels with independently controlled angular velocities, plus a caster or ball for stability. Wheel base , wheel radius , left/right angular velocities :
is forward speed, is angular velocity. Pivot in place: . Drive straight: . The robot can do both, but not move sideways.
Holonomic? No. Diff-drive is non-holonomic — it can't translate sideways without first rotating. The two velocity outputs are constrained to a 2D space; the world has 3 DOF (x, y, θ). Constraint:
Read: "the robot's body can't slide laterally."
Best for: indoor robots with simple maneuvering — TurtleBot, vacuum cleaners, mini Pupper.
2. Ackermann steering
Front-wheel steering (like a car). Two front wheels turn together (with the inside wheel slightly more, the Ackermann condition); rear wheels are passive. With wheelbase and steering angle , the bicycle-model approximation:
is rear-wheel velocity. Two control inputs: and .
Constraints:
- Cannot pivot in place — needs to turn.
- Minimum turning radius .
Same non-holonomy as diff-drive but with a tighter constraint (minimum turning radius). Path planning needs to respect this — Dubins paths, hybrid A*, or RRT with car-like motion primitives.
Best for: full-sized cars, lawnmowers, golf carts, any robot inheriting wheel geometry from automotive.
3. Omnidirectional drive
Wheels that can move sideways: mecanum wheels (rollers at 45°) or Swedish / omni wheels (rollers at 90°). Three or four wheels, each commanded independently.
For a 4-wheel mecanum platform:
are half the wheel separation in each direction. The matrix maps body twist () to per-wheel velocities.
Three control inputs, three world DOF — holonomic. The robot can move directly to any pose without rotating first.
Tradeoffs:
- Mechanically complex — the rollers wear, slip, and lose efficiency.
- Can't carry heavy loads as cleanly as solid wheels.
- Precision matters: small velocity errors compound across wheels.
Best for: warehouse AGVs, soccer-playing robots, kitchen-floor robots that need to slide sideways through doorways.
Comparison table
| Diff-drive | Ackermann | Omni | |
|---|---|---|---|
| Holonomic | No | No (tighter) | Yes |
| Pivot in place | Yes | No | Yes |
| Sideways translation | No | No | Yes |
| Mechanical complexity | Low | Medium | High |
| Load capacity | High | Highest | Low |
| Planner difficulty | Medium | Hard | Easy |
| Common in 2026 | Indoor service robots | Outdoor / cars | Warehouse AGVs |
Legged: a quick mention
Legged robots — quadrupeds, bipeds — are a different beast. The base is unconstrained (6 DOF floating); contact forces from the feet generate motion. Think of legs as "intermittent omnidirectional contact." Their kinematics is covered in the Mobile & Legged track.
Beyond the basics
- Tracked / skid-steered: like diff-drive but with continuous tracks. Same kinematics; large slip on turns.
- Multi-steered Ackermann: rear-wheel steering as well. Extends maneuverability; common in industrial AGVs.
- Non-circular wheels: rare; some legged-wheeled hybrids (Boston Dynamics Handle) blur the line.
- Articulated: tractor + trailer kinematics; trailers add their own constraints.
Pose integration
Once you have from the wheel kinematics, integrate to get pose:
This is wheel odometry. Accurate for seconds, drifty for minutes — wheels slip, motors saturate, the model is approximate. Always fuse with IMU + sensor-based localization (SLAM, GPS) for anything beyond short-distance navigation.
Pick the right kinematics for the job
- Indoor mobile manipulator → diff-drive or omni (omni if tight spaces).
- Outdoor delivery → Ackermann (tracks scale to outdoor terrain).
- Warehouse AGV → omni for tight pallet alignment.
- Robot vacuum → diff-drive (cheap, simple, good enough).
- F1tenth racing → Ackermann (cars; fast control needs).
Exercise
In a sim (PyBullet or Gazebo), build a 4-wheel mecanum platform. Implement the kinematic mapping above. Drive in a square pattern using only (sideways). Confirm the robot translates without rotating. Then drive a circle by varying simultaneously. The trajectory differences from diff-drive will be obvious — and so will the slip when the wheels mismatch.
Next
Quadrotor dynamics — the same Lagrangian framework applied to a flying body with four propellers.
Comments
Sign in to post a comment.