Wheeled robots, three architectures
Three ways to drive a robot, by trying each one
A wheeled robot can be built in more than one way. The two-wheeled robot from the last lesson (differential drive) is only one of them. This page covers all three: two driven wheels, a car with steering (Ackermann), and a robot with special Mecanum wheels that can slide sideways (omnidirectional). Every idea has a simulator to play with: steer a car, park it, slide a Mecanum robot sideways and watch the robot pose change. Everything here is a simulation, so no robot is needed.
Words used on this page (open this if a word is new)
architectureThe way a robot is built: how many wheels, which ones have motors, and which ones can steer.
differential driveTwo wheels, each with its own motor. The robot steers by turning the two wheels at different speeds.
Ackermann driveThe car layout. The rear wheels point straight ahead. The two front wheels swing left and right to steer.
omnidirectional drive“Omni” means all. A robot that can move in any direction on the floor, without turning first.
Mecanum wheelA wheel with small angled rollers around its rim. It can roll forward and also slide sideways.
translationMoving from one place to another without turning.
rotationTurning around a point without moving to another place.
maneuverOne separate move in a sequence, such as “go forward” or “reverse while steering”.
2D planeA flat surface, like a floor. Position on it needs two numbers: X and Y.
heading, orientation, θ (theta)The direction the robot faces, as an angle. 0° means facing along the X axis. A positive angle turns counterclockwise.
posePosition plus heading. In 2D it is three numbers: X, Y and θ.
stateThe set of numbers that completely describe the robot at one moment. For a robot on a floor: X, Y and θ.
turning radiusThe size of the circle a car drives when the steering is turned. A smaller radius means a tighter turn.
FWD, RWD, 4WDFront-wheel drive, rear-wheel drive and four-wheel drive: which wheels have motors.
01
Wheeled architectures
Differential drive is not the only way to build a wheeled robot. There are three important ones. Differential drive has two wheels that are driven separately. Ackermann drive is what cars use. Omnidirectional drive uses special Mecanum wheels to move in any direction on a flat floor. Here all three get the same job: reach a goal position and finish facing a chosen direction.
Key idea. All three can end up at any position with any heading, but they differ in how they move to get there.
02
Differential drive
Two wheels, one on each side, each with its own motor. For each wheel, the speed and the direction are controlled. That makes four controlled things in total. With two wheels the robot can move forward and backward (translation) and turn around the midpoint between the two wheels (rotation). A small caster wheel at the back just keeps the robot from tipping over.
Reaching any pose with three simple moves
Translation along the robot X axis and rotation around the midpoint are the two basic movements. Mixed together, they can reach any position in the plane, facing any direction. The easiest recipe is: turn to face the goal, drive straight, then turn to the final heading.
Key idea. A differential-drive robot can reach any pose in 2D: Pose = X + Y + θ. It can also rotate on the spot.
03
Ackermann drive
A typical car has four wheels. The two rear wheels always point straight ahead. Only the two front wheels steer. This is the big difference from differential drive. During a turn, the inner front wheel turns more than the outer one, so that all four wheels follow one common curve and the tyres do not scrub on the road. Steer the car and see the common centre of the turn.
Key idea. Ackermann steering is used in cars. Only the front wheels steer, and they turn by different angles so that all wheels follow a common curve. Because of this, the car cannot rotate on the spot.
04
Why a car needs maneuvers
A car cannot spin around its centre. It can still reach any position and any heading, but reaching a tricky pose takes several maneuvers. Parking is the classic example: forward, reverse while steering, forward to straighten, then reverse into place. A differential-drive robot can simply drive over, turn on the spot and drive in. Press play, or drag the time slider, to watch both park in the same space.
Key idea. Differential drive can rotate on itself. Ackermann cannot rotate on itself, so it needs maneuvering.
05
Omnidirectional drive
Omnidirectional robots use Mecanum wheels. Each wheel has small rollers fixed at an angle around its rim, so a wheel can push the robot forward and sideways at the same time. Every wheel has its own motor, and its speed and direction are controlled separately. The forces of the four wheels add up, and the robot moves in any direction without turning first. Set the four wheel speeds and watch.
Key idea. A Mecanum robot can move forward, backward, sideways, diagonally and rotate, and combine these motions. It reaches any position and heading without complicated maneuvers.
06
Comparing the three
First a test that shows the most important difference: ask each robot to spin on the spot. Then the comparison table, and a set of real jobs to match to the best architecture.
The three architectures side by side
Which architecture fits the job?
Key idea. All three can finally reach a desired position and heading. They differ in how they move to get there.
07
The common task, and robot pose
No matter which architecture is used, the basic job stays the same: control the speed and direction of one or more motors to reach a desired robot pose. In a flat 2D world, the pose has three numbers: X (position along the X axis), Y (position along the Y axis) and θ (the direction the robot faces). Together, X, Y and θ are the state of the robot. They describe it completely at one moment in time. Move the sliders to see.
Key idea. Pose = (X, Y, θ). X and Y are position, and θ is orientation. These three numbers are the state of a 2D mobile robot.
08
Summary and quiz
Remember
- Differential drive: two independently driven wheels. It can rotate on the spot.
- Ackermann drive: car-like steering, front wheels steer. It cannot rotate on the spot, so it must maneuver.
- Omnidirectional drive: Mecanum wheels, any direction on the plane, very little maneuvering.
- All three can reach any position and heading in 2D.
- The common task: control motor speed and direction to reach a desired pose.
- The pose in 2D is (X, Y, θ), and these three numbers are the robot state.
Comparison
- Differential: rotate on the spot yes, maneuvering low.
- Ackermann: rotate on the spot no, maneuvering required.
- Omnidirectional: rotate on the spot yes, maneuvering very low.
- Ackermann can be front-wheel, rear-wheel or four-wheel drive. Only the front wheels steer.
Quiz