Mobile robot (differential drive)

← Robot list · Learn the basics · Wheel types and drive types

Wheel speeds

The robot has two driven wheels, one on each side. Press Start, then change the speed of each wheel, with a slider or by typing a number. A positive speed means the wheel turns forward.

Inverse kinematics: I choose the motion of the robot

Speed v: m/s   Turning speed ω: rad/s  

Kinematic diagram (schéma cinématique), top view

The two small rectangles are the wheels, and the arrows on them show each wheel's speed. xR red points forward and yR green points to the left of the robot. The orange line is the path driven. The ICC (instantaneous centre of curvature) is the point the robot is turning around right now.

Kinematic model

v = (vR + vL) / 2                  speed of the robot (m/s)
ω = (vR − vL) / L                  turning speed (rad/s),  L = 0.40 m = distance between the wheels
R = (L / 2) · (vR + vL) / (vR − vL)   radius of the turn (distance from the robot to the ICC)

x' = v · cos θ      y' = v · sin θ      θ' = ω        (integrated at every frame)

Inverse:   vR = v + ω · L / 2        vL = v − ω · L / 2

In matrix form, with the wheel speeds as input:

| v |   |  1/2   1/2 |   | vL |   |  0.5   0.5 |   | vL |
|   | = |            | · |    | = |            | · |    |
| ω |   | −1/L   1/L |   | vR |   | −2.5   2.5 |   | vR |

Pose of the robot


    

This is the position and the heading of the robot, written as one matrix. It plays the same role as the tool matrix of the arms.

Special cases

WheelsMotionICC
vL = vRstraight lineat infinity
vL = −vRspins on the spotin the middle of the robot
vL = 0 (or vR = 0)pivots around one wheelon that wheel
vR > vL > 0drives in a curve to the lefton the left, outside the robot

Why is there no DH table here?

DH and DHM tables describe a chain of joints (an arm). A mobile robot has no chain: its body moves freely on the floor. It is described by the model above. A robot like this one is also nonholonomic: it cannot slide sideways, it can only move in the direction its wheels point. To park next to a wall, it has to turn, move and turn again.

Where is a mobile robot used?

Warehouses and factories (AMR/AGV robots that carry boxes, shelves and pallets), hospitals (delivering meals and medicine), cleaning (vacuum and floor-scrubbing robots), inspection and security, agriculture and delivery on sidewalks.

Sensors: a lidar (the orange cylinder on top) to see obstacles, encoders on the wheels to measure the distance driven, an IMU for the heading, and cameras. Navigation: SLAM to build a map, A* to plan a path, and DWA to avoid obstacles.

End effector (tool)

Usually it has none: it carries a load on top. Its "tool" depends on the job: