Home/Robotics & Controls/Differential Drive Robot Linear Velocity

Formula & Calculator

Differential Drive Robot Linear Velocity

Calculates the forward linear velocity of a differential-drive mobile robot from its two independent wheel velocities.

RoboticsKinematicsCalculator

Differential Drive CalculatorLinear Velocity

v = (vright + vleft) / 2
v = linear velocity  ·  vright = right wheel speed  ·  vleft = left wheel speed
⟹ Solvev, vright, vleft
m/s
m/s
m/s
Please fix the errors above.
Solve for:
Presets:
Linear velocity (v)
vright: vleft: v:
✓ Copied!
Velocity gauge (m/s)
Slow (< 1) Medium (1–5) Fast (> 5)
v = (vright + vleft) / 2  ·  Differential drive robot linear velocity is the average of wheel speeds

Interpretation

v = (v_right + v_left)/2. Average of two wheel speeds. Used for odometry and motion control of differential drive robots.

v = (v_right + v_left) / 2
Differential Drive Robot Linear Velocity

Variables

SymbolQuantityUnit
vRobot linear (forward) velocitym/s
v_right, v_leftVelocities of the right and left wheelsm/s

What it means

In a differential drive robot, the linear velocity of the robot body is the average of the velocities of the two wheels (assuming no slipping). This formula is used to compute the robot’s forward speed from wheel encoder readings. It is essential for odometry (dead‑reckoning) and for velocity control. The linear velocity is a component of the robot’s state. Together with angular velocity (see next formula), it completely describes the robot’s motion. Understanding this helps in implementing motion control algorithms and in simulation of mobile robots.

Worked example

Differential Drive Linear Velocity – Two Detailed Examples

Real‑World
Scenario: A differential drive robot has right wheel speed v_right = 1 m/s and left wheel speed v_left = 1 m/s. The linear velocity v = (v_right + v_left) / 2 = (1+1)/2 = 1 m/s. The robot moves straight forward at 1 m/s. The robot controller uses this to estimate the robot's position over time, which is essential for navigation and path following.
ParameterValue
v_right (m/s)1
v_left (m/s)1
1v = (1 + 1) / 2 = 1 m/s
Result 1 m/s ✓ Straight motion
Scenario: The same robot has v_right = 0.5 m/s and v_left = 1.5 m/s. The linear velocity is v = (0.5 + 1.5)/2 = 1 m/s, but the robot turns due to the speed difference. The controller calculates the linear velocity to update the odometry and predict the robot's position, which is critical for autonomous navigation in a warehouse environment.
ParameterValue
v_right0.5
v_left1.5
1v = (0.5 + 1.5) / 2 = 1 m/s
Result 1 m/s ✓ Turning with same linear speed
Insight: For a differential drive robot, the linear velocity is the average of the two wheel speeds. This is used in odometry to estimate the robot's translational motion.

Common mistakes

  • Differential drive linear velocity: v = (v_right + v_left) / 2 – average of two wheel speeds.
  • Units: v in m/s – both wheel speeds must be in the same units.
  • Assumes: Wheels are non‑slipping and the robot is rigid.
  • Sign: Positive forward – if one wheel is negative, the robot turns.
  • Wheel velocity: This is the linear speed of the wheel contact point – not the angular speed (convert using radius).

Applications

Differential drive robot linear velocity, v = (v_right + v_left)/2, gives the speed of the robot's centre in the forward direction. This is a fundamental model for wheeled mobile robots with two independently driven wheels. Robotics engineers use it to plan and control the motion of mobile platforms, from small educational robots to autonomous vehicles. By controlling the wheel speeds, the robot can move straight (equal speeds) or turn (speed difference). This formula is used in odometry, path tracking, and navigation algorithms such as pure pursuit and PID control. Understanding this relation is essential for mobile robot localisation and motion control.

  • Mobile robot motion control and path tracking
  • Odometry and dead‑reckoning for localisation
  • Autonomous navigation in warehouses and factories
  • Design of differential drive robots for competitions and research
  • Implementation of control algorithms (e.g., PID, MPC) for mobile bases

Frequently Asked Questions

Q01What is the linear velocity of a differential‑drive robot?
A01

The forward linear velocity of a differential‑drive robot is the average of the two wheel velocities: v = (v_right + v_left) / 2. This assumes the wheels are not slipping and the robot is moving on a plane.

Q02What is the common mistake when using this formula?
A02

Using a single wheel's velocity directly instead of averaging both wheels, which misrepresents the robot's true forward speed when turning.

Q03What is the angular velocity of a differential‑drive robot?
A03

The angular velocity is ω = (v_right – v_left) / L, where L is the wheel separation (track width). Positive ω means turning left (counter‑clockwise).

Q04What is the instantaneous centre of rotation (ICR) for a differential‑drive robot?
A04

The ICR is the point about which the robot rotates. Its location depends on the wheel speeds: if both wheels move at the same speed, the ICR is at infinity (straight motion). If one wheel is stopped, the ICR is at the stopped wheel.

Q05How do you compute the robot's position update using odometry?
A05

Given v and ω over a time step Δt, the change in heading is Δθ = ω·Δt. The displacement is Δx = v·cosθ·Δt, Δy = v·sinθ·Δt. Update the pose: x += Δx, y += Δy, θ += Δθ.

Q06What are the applications of differential drive?
A06

Common in mobile robots, wheelchairs, and automated guided vehicles (AGVs). It is simple and allows for zero‑radius turns (by spinning in place).

Q07What are the limitations of differential drive?
A07

Requires wheel encoders for odometry; slip can cause errors. It cannot move sideways (non‑holonomic). Turning in place is possible but may cause wear on wheels.

Q08How do you control a differential‑drive robot to follow a path?
A08

Use a controller (e.g., PID) to adjust v and ω to minimise the error between the current pose and the desired path. Typically, a pure pursuit or Stanley controller is used.

Q09What is the relationship between wheel velocities and motor commands?
A09

Given desired v and ω, solve for v_right = v + (ω·L)/2 and v_left = v – (ω·L)/2. These are then mapped to motor speeds (e.g., PWM or RPM).

Q10What is the effect of wheel radius on the velocity calculation?
A10

If wheel velocities are given in angular speed (rad/s), the linear velocity of each wheel is v_i = ω_i · r, where r is the wheel radius. The robot's v and ω are then computed from these linear speeds.