Angles and Distances

In a differential-drive mobile robot, there are two geometrical parameters that determine the motion of the robot:

  • the radius of the wheels
  • the length of the wheel axis, i.e. the distance between the centers of the wheels

With some simple operations, we can calculate the motion of the robots for two particular cases: moving straight and turning in place.

Distance traveled in a straight motion

When the robot moves forward, both wheels are turning at the same speed. For a complete turn of the wheels, the traveled distance is equal to the length of the circumference:

$$ D = 2 \pi r $$

In the general case, if the wheels turn an angle $\theta$, the traveled distance is:

$$ D = \theta r $$

Angle turned in an in-place rotation

When the robot spins around its own axis, both wheels are turning at the same speed, but in opposite directions.

In this case, the distance traveled by the wheel must be equal to the length of the arc turned by the robot around its axis, whose radius is $L/2$:

$$ \theta r = \psi \frac{L}{2} $$

The turned angle can thus be determined as:

$$ \psi = \frac{2 \theta r}{L} $$

Try-a-Bot: an open source guide for robot programming

Developed by:

Sponsored by:

[![IEEE Robotics and Automation Society](img/logo/ras.png "IEEE Robotics and Automation Society")](http://www.ieee-ras.org) [![Cyberbotics](img/logo/cyberbotics.png "Cyberbotics")](http://www.cyberbotics.com) [![The Construct](img/logo/theconstruct.png "The Construct")](http://www.theconstructsim.com)

Follow us:

[![Facebook](img/logo/facebook.png "Facebook")](https://www.facebook.com/RobotProgrammingNetwork) [![YouTube](img/logo/youtube.png "YouTube")](https://www.youtube.com/user/robotprogrammingnet)