Home / Robotics & Controls / Kinematics / Differential Drive Robot Angular Velocity

Formula & Calculator

Differential Drive Robot Angular Velocity

A differential drive robot turns by making its two wheels spin at different speeds. This formula gives its turning rate: the difference between right and left wheel speeds divided by the wheelbase (distance between wheels). For example, if the right wheel goes 1 m/s and the left goes -1 m/s (backward), the robot spins in place. If both go the same speed, it goes straight. It is used for steering, path following, and odometry.

Robotics Kinematics Calculator
VORZEP · MOBILE ROBOTICS & DRIVE KINEMATICS

Differential Drive Calculator — Robot Angular Velocity

Solve the classic differential-drive angular velocity relation ω = (vR − vL) / L for yaw rate, right wheel velocity, left wheel velocity, or wheelbase — with a live top-down robot diagram, a rotation-arc indicator, ICC/turn-radius visualization, and companion body-motion metrics.

ω = ( vR − vL ) / L · v = ( vR + vL ) / 2  ·  R = v / ω
Solve for
Turn presets
Angular Velocity (ω) Yaw rate of the robot's body, in rad/s. Positive = counter-clockwise (left turn) in a standard right-handed frame with the x-axis pointing forward. It depends only on the wheel-speed difference (vR − vL) divided by the wheelbase L — the sum (which sets the body's forward speed) has no effect on ω.
rad/s
Angular velocity must be a finite number.
Right Wheel Velocity (vR) Linear speed of the right wheel at the ground contact point, in m/s. Positive for forward, negative for reverse. The right wheel appears at the bottom of the robot in a top-down view with the robot facing +x (right on screen).
m/s
Right wheel velocity must be a finite number.
Left Wheel Velocity (vL) Linear speed of the left wheel at the ground contact point, in m/s. Positive for forward, negative for reverse. The left wheel appears at the top of the robot in a top-down view with the robot facing +x.
m/s
Left wheel velocity must be a finite number.
Wheelbase (L) Distance between the left and right wheel contact points, in metres. Also called the track width. It sets how much angular velocity results from a given wheel-speed difference: larger wheelbase → smaller ω for the same Δv. Must be strictly positive.
m
Wheelbase must be greater than zero.
Body Velocity (v) Forward velocity of the robot's body: v = (vR + vL)/2. This is a companion quantity — it is always computed from the two wheel velocities. It does not affect ω in any way.
m/s
Time Interval (Δt) Duration over which the motion is integrated, in seconds. Used for companion metrics: heading change Δθ = ω · Δt, distance travelled s = v · Δt, and arc length along the wheel paths. Does not affect ω itself.
s
ANGULAR VELOCITY (ω)
0.667 rad/s
v = 0.500 m/s · R = 0.750 m · Δv = 0.200 m/s
MODERATE — SHARP LEFT TURN
ω = ( v_R − v_L ) / L
Step-by-step solution
ω vs. Δv = vR − vL
Current L L × 0.7 L × 1.4
ω vs. wheelbase L (hyperbolic)
Current Δv Δv × 0.5 Δv × 2
Δθ vs. Δt (three ω values)
Current ω ω × 0.5 ω × 2
Sensitivity
Companion drive metrics
Differential drive — top-down view focused on rotation
TOP-DOWN VIEW · ω = (v_R − v_L) / L · rotation arc shows direction & magnitude ICC v_L v_R v ω = 0 LIVE VALUES Wheelbase L — Right wheel — Left wheel — Angular vel. ω — ω in °/s — Δv = v_R − v_L — Body velocity v — Turn radius R — Δθ in Δt — Mode —
Left wheel velocity Right wheel velocity Body linear velocity Rotation arc & instantaneous center of curvature Trajectory
What the angular velocity relation really measures
ωyaw rate
=
(vR − vL)wheel-speed difference
/
Lwheelbase

Only the difference matters — never the sum

The relation ω = (vR − vL) / L shows that rotation depends only on the difference between the two wheel velocities. Adding the same amount to both wheels (vR + a, vL + a) leaves ω unchanged — the robot speeds up but keeps the same turn rate. This is the key decomposition of differential drive: the sum (vR + vL)/2 gives translation, the difference (vR − vL)/L gives rotation. The two are completely orthogonal and can be controlled independently.

Wheelbase scales the response inversely

Doubling the wheelbase halves the angular velocity for the same wheel-speed difference. A robot with L = 0.15 m turns twice as fast as one with L = 0.30 m under identical wheel commands. This is why small indoor robots can spin very quickly while large warehouse AMRs with 0.6–0.8 m wheelbases need substantially larger wheel-speed differences to achieve the same yaw rate. In the formula, ω = Δv / L is a hyperbolic relationship in L.

Equal wheel speeds give ω = 0 — always

When vR = vL the numerator of the relation is exactly zero, so ω = 0 regardless of how fast the robot is moving. In the turn-radius formula R = v / ω, this becomes finite / 0 → ∞, meaning the path is a straight line. Conversely, when vR = −vL (equal magnitude, opposite sign), the body velocity is zero but ω is maximal — the robot spins in place around its own center. These two cases (straight and spin-in-place) bracket all possible differential-drive motions.

The instantaneous center of curvature traces the arc

At every instant, the robot is rotating about a single point — the Instantaneous Center of Curvature (ICC) — located perpendicular to the heading at distance R = v/ω from the axle midpoint. As the robot moves, this ICC can change, but at each instant it defines the local radius of curvature. When the wheels are equal, the ICC is at infinity (straight path). When the wheels are opposite, the ICC coincides with the robot's own center (spin-in-place). The magnitude of ω is what determines how fast the heading rotates around this center.

How to Use This Calculator

The differential-drive angular velocity relation links four quantities: ω, vR, vL, and L. Pick which one you want the tool to solve, then fill in the others.

1. Choose what to solve for

Pick ω (angular velocity), vR (right wheel), vL (left wheel), or L (wheelbase) from the toggle. The calculator rearranges ω = (vR−vL)/L for whichever variable you choose, and always reports the companion body velocity and turn radius.

2. Start from a turn preset

Presets cover the full range: straight (ω = 0), very slow left, gentle left/right, sharp left/right, spin in place (left and right), pivot around one wheel, and a tight spin using a small wheelbase. Each is calibrated for realistic wheel velocities.

3. Remember the sign convention

Positive ω means a counter-clockwise (left) turn — the robot's heading rotates toward its left side. This happens when vR > vL. Negative ω is a clockwise (right) turn, when vR < vL. The magnitude of ω gives how fast the heading is changing in rad/s.

4. Watch the singularity when solving for L

If you're solving for L and ω = 0, the relation L = (vR−vL)/ω divides by zero. This happens only when the wheels are equal — the robot goes straight, and the wheelbase cannot be inferred from wheel velocities alone. The calculator flags this case explicitly.

5. Read the result and verdict

The result card shows the solved value with the companion body velocity v, turn radius R, and wheel-speed difference Δv. A colour-coded verdict classifies the yaw rate from "straight" through "gentle curve", "sharp turn", "spin in place", and "extreme" — with separate badges for pivot and spin.

6. Switch to Advanced for depth

Advanced mode adds charts of ω vs. Δv, ω vs. L (hyperbolic), and Δθ vs. Δt, a sensitivity panel showing the effect of ±1% on each input, and a companion metrics panel including distance travelled, heading change, curvature, ICC offset, and path arcs.

What This Tool Offers

Built around the classic differential-drive angular velocity relation ω = (vright − vleft) / L, the fundamental link between wheel-speed difference and the yaw rate of a two-wheeled robot.

Four-way solving

Solve for angular velocity, right wheel velocity, left wheel velocity, or wheelbase. The calculator rearranges the relation for whichever variable you choose and flags the singular case ω = 0 when solving for L.

Rotation-focused diagram

A top-down robot with a live rotation arc around its center (with arrowhead and direction), wheel velocity arrows, body velocity arrow, trajectory arc, and the instantaneous center of curvature (ICC) marked at distance R.

Yaw-rate verdict

Each result is classified from "straight" through "gentle", "moderate", "sharp", "very sharp", up to "spin in place" — with clear colour coding and separate handling for the pivot and spin cases.

Companion turn metrics

Every result includes the body velocity v, turn radius R = v/ω, path curvature κ = 1/R, and the position of the instantaneous center of curvature. These complete the planar-motion picture alongside ω.

Time-integrated metrics

Enter Δt to compute the heading change Δθ = ω·Δt, distance travelled s = v·Δt, and the arc lengths along each wheel path (vR·Δt, vL·Δt) — the full motion description over a control cycle.

Reference tables

Typical wheelbase and yaw-rate values by robot class, a companion ω lookup grid for common wheel-speed differences, unit conversions, and a full variable reference.

Reference Tables & Conversions

Angular-velocity and speed converters, a companion ω lookup grid, and typical yaw-rate values by robot class.

Angular-velocity & speed converter

rad/s
°/s
rpm
rev/s
m/s
km/h
= 0.6667 rad/s = 38.197 °/s = 6.366 rpm = 0.106 rev/s · 0.500 m/s = 1.800 km/h

Angular Velocity Lookup — ω = Δv / L

Computed for the wheel-speed differences and wheelbases shown. Values in rad/s.

Δv (m/s) \ L (m)0.150.300.500.801.202.00

Typical Yaw-Rate Values by Robot Class

Representative maximum and typical yaw rates. Real robots also have actuator saturation and joint limits.

ClassWheelbase LTop speedMax ΔvMax |ω|Typical use
Small indoor hobby (TurtleBot 2)0.23 m0.65 m/s1.3 m/s5.65 rad/sEducation, research
Small indoor service (TurtleBot 3)0.16 m0.22 m/s0.44 m/s2.75 rad/sROS learning, prototyping
Medium indoor (Ridgeback)0.50 m1.3 m/s2.6 m/s5.2 rad/sResearch, indoor delivery
Warehouse AMR (Kiva)0.60 m1.4 m/s1.5 m/s2.5 rad/sOrder fulfilment
Heavy indoor (MiR 500)0.72 m1.2 m/s1.2 m/s1.67 rad/sIndustrial cart pulling
Wheelchair conversion0.55 m1.5 m/s1.5 m/s2.73 rad/sMobility
Hospitality robot (Temi)0.40 m0.8 m/s0.8 m/s2.0 rad/sGuiding, telepresence
Large outdoor (Husky)0.55 m1.0 m/s0.8 m/s1.45 rad/sField robotics, research

Variable Reference

SymbolMeaningTypical rangeUnits
ωAngular velocity (yaw rate)−10 – +10rad/s
vRRight wheel linear velocity−3 – +3m/s
vLLeft wheel linear velocity−3 – +3m/s
LWheelbase (track width)0.05 – 3m
ΔvWheel-speed difference = vR − vL−6 – +6m/s
vBody linear velocity (companion)−3 – +3m/s
RTurn radius = v/ω0 – ∞m
κCurvature = 1/R−∞ – +∞1/m
ΔθHeading change over Δt—rad or °

What Does ω = (vR − vL) / L Measure?

The angular velocity relation gives the yaw rate of a differential-drive robot's body, in terms of the two wheel speeds and the wheelbase. It is the companion to the linear velocity relation v = (vR + vL)/2 — together they fully describe the planar motion of a differential-drive robot at any instant. The linear velocity comes from the average of the two wheels; the angular velocity comes from their difference divided by the wheelbase. The two are orthogonal: adding a constant to both wheels changes v without affecting ω; adding and subtracting an equal amount changes ω without affecting v.

This decoupling is what makes differential drive so intuitive to control. You can independently specify how fast the robot moves forward and how fast it turns, and the two wheel velocities that produce this behaviour are computed directly: vR = v + L·ω/2 and vL = v − L·ω/2. There is no iteration, no coupling, no approximation — just two linear equations that can be evaluated in microseconds on any microcontroller. Every differential-drive robot in the world runs on this pair of relations.

Angular Velocity Formula

The defining relation is:

ω = ( vR − vL ) / L

Rearranged to solve for the other three quantities:

vR = ω · L + vL
vL = vR − ω · L
L = ( vR − vL ) / ω   [singular when ω = 0]

Companion relations that follow from the same geometry:

Body velocity: v = ( vR + vL ) / 2
Turn radius: R = v / ω
Path curvature: κ = 1 / R = ω / v
Heading change: Δθ = ω · Δt
Distance travelled: s = v · Δt
Right wheel path arc: sR = vR · Δt
Left wheel path arc: sL = vL · Δt

The instantaneous center of curvature (ICC) is the point in the plane about which the robot is effectively rotating at any given instant. Its position is perpendicular to the robot's heading, at distance R = v/ω from the axle midpoint, on the side the robot is turning toward. When Δv = 0 (equal wheels), R → ∞ and the ICC is at infinity. When v = 0 and Δv ≠ 0 (spin in place), R = 0 and the ICC coincides with the robot's center.

Angular Velocity Variables

SymbolMeaningNotes
ωAngular velocity (yaw rate)Rate of change of heading; positive = counter-clockwise (left turn)
vRRight wheel velocityPositive = forward, negative = reverse
vLLeft wheel velocityPositive = forward, negative = reverse
LWheelbase (track width)Distance between wheel contact points; must be strictly positive
ΔvWheel-speed differenceΔv = vR − vL; drives the rotation
vBody velocity (companion)v = (vR + vL)/2; independent of ω
RTurn radiusR = v/ω; ∞ for straight motion, 0 for spin in place
κPath curvatureκ = 1/R = ω/v; zero for straight motion

How Each Variable Affects the Angular Velocity

The angular velocity is linear in the wheel-speed difference Δv and inversely proportional to the wheelbase L. Doubling Δv doubles ω; doubling L halves ω. Unlike the linear velocity relation (which is symmetric in vR and vL), the angular velocity relation is antisymmetric: swapping vR and vL flips the sign of ω but leaves its magnitude unchanged. This is why the direction of turning is encoded in the sign of Δv, not in the individual wheel velocities.

In practice, the wheelbase is a fixed design parameter once the robot is built, so the only way to change ω is to change Δv. This puts a natural limit on how sharply the robot can turn: the maximum |ω| is set by the maximum wheel-speed difference, which in turn is set by the motor speeds and the wheel radii. Small wheelbases allow very fast turning (which is why small robots can spin very quickly), while large wheelbases require large Δv to achieve even modest yaw rates.

When the wheels are equal (Δv = 0), the robot goes straight and the yaw rate is zero. When they are opposite (vR = −vL), the body velocity is zero but ω is maximum for that speed magnitude: ω = 2·vR/L. This is the "spin in place" mode — the only differential-drive motion that combines zero translation with nonzero rotation, and one of the most useful motions for reorienting the robot without moving it. It is also the configuration where the turn radius R = v/ω is exactly zero, meaning the robot's own center is the instantaneous center of curvature.

Angular Velocity Calculation Examples

Given: vR = 0.60 m/s, vL = 0.40 m/s, L = 0.30 m — solve for ω
ω = (0.60 − 0.40) / 0.30 = 0.20 / 0.30 = 0.6667 rad/s (left turn)
In °/s: 0.6667 × 180/π = 38.20 °/s
Given: ω = 1.0 rad/s, vL = 0.40 m/s, L = 0.30 m — solve for vR
vR = ω·L + vL = 1.0 × 0.30 + 0.40 = 0.70 m/s
Given: ω = 1.0 rad/s, vR = 0.60 m/s, L = 0.30 m — solve for vL
vL = vR − ω·L = 0.60 − 0.30 = 0.30 m/s
Given: ω = 0.5 rad/s, vR = 0.50 m/s, vL = 0.20 m/s — solve for L
L = (0.50 − 0.20) / 0.5 = 0.30 / 0.5 = 0.60 m
Straight motion: vR = vL = 0.50 m/s → Δv = 0
ω = 0 / L = 0 rad/s
R = v/ω = 0.50 / 0 = ∞ (straight line)
Spin in place: vR = 0.40 m/s, vL = −0.40 m/s, L = 0.30 m
Δv = 0.80 m/s
ω = 0.80 / 0.30 = 2.667 rad/s = 152.8 °/s
v = (0.40 + (−0.40))/2 = 0
R = v/ω = 0 (ICC at robot center)
Pivot around left wheel: vR = 0.50 m/s, vL = 0, L = 0.30 m
Δv = 0.50 m/s
ω = 0.50 / 0.30 = 1.667 rad/s = 95.5 °/s
v = 0.25 m/s
R = 0.25 / 1.667 = 0.150 m (= L/2, as expected for pivot around one wheel)
Time integration: ω = 0.6667 rad/s, Δt = 2 s
Δθ = ω · Δt = 0.6667 × 2 = 1.333 rad = 76.39°
With v = 0.50 m/s: s = 0.50 × 2 = 1.00 m

Frequently Asked Questions

Because the robot's reference point is the midpoint of the axle, and adding a constant to both wheel velocities translates that midpoint without changing the difference between the wheels. The two wheels share the same axle, so their difference is what creates the torque that rotates the body; their sum is what moves the midpoint forward. The two contributions are independent by linearity of the kinematic relations — increasing both wheels by 0.1 m/s raises v by 0.1 m/s but leaves ω completely unchanged. This is what makes the sum/difference decomposition so natural for differential drive: you can think of the robot's motion as the superposition of a "translation" from the average wheel speed and a "rotation" from the wheel-speed difference.

If ω = 0 the wheels must be equal (vR = vL), because the wheelbase L is a strictly positive physical quantity. Dividing by zero gives no information about L. The relation L = (vR − vL)/ω is mathematically singular whenever the numerator is zero and the denominator is zero, and physically the wheelbase simply cannot be inferred from wheel velocities when the robot is going straight. In practice this is never an issue: the wheelbase is a design parameter that you measure once with a ruler, not a quantity to be solved for from kinematic data.

The standard robotics convention is that positive ω corresponds to counter-clockwise rotation (a left turn), when viewed from above with the x-axis forward and the y-axis to the left. Under this convention, positive ω happens when the right wheel is faster than the left (vR > vL). Some textbooks and some robot firmware use the opposite convention (positive = clockwise), so always check the documentation of the specific system you are working with. The magnitude is unaffected by the convention — only the interpretation of the sign changes.

The turn radius R is the radius of the circular arc traced by the robot's axle midpoint. It is given by R = v/ω, where v is the body velocity and ω is the yaw rate. When ω = 0 (straight line) the radius is infinite. When v = 0 (spin in place) the radius is zero. The curvature κ = 1/R = ω/v tells you how tightly the path bends per unit length of travel. Together, (v, ω) and (R, κ) are two equivalent parameterisations of the same local motion — the choice between them is a matter of convenience. For path following, R and κ are often more natural; for motor control, (v, ω) is often more natural.

Yes — the wheelbase is central to the entire kinematic model. It appears in the inverse relation vR = v + L·ω/2 and vL = v − L·ω/2, which converts a desired (v, ω) into wheel speeds. It also determines the physical turn radius achievable at a given speed: for a fixed wheel-speed limit, smaller wheelbases allow tighter turns. And it influences stability: large wheelbases resist yaw rotation, which is one reason long vehicles feel more stable but turn less sharply. In the pure angular-velocity relation ω = Δv / L, the wheelbase is the only geometric parameter that appears, and it acts as a simple scaling factor on the wheel-speed difference.

The maximum spin-in-place yaw rate is set by the maximum wheel velocity magnitude the motors can sustain, divided by half the wheelbase: ωmax = 2·vmax/L, where vmax is the maximum forward speed of one wheel and the other wheel runs at −vmax. For a 0.30 m wheelbase and wheels that can do 0.50 m/s, that gives ωmax = 2×0.50 / 0.30 = 3.33 rad/s, or about 191 °/s — the robot can complete a full rotation in under 2 seconds. Small indoor robots with 0.15 m wheelbases can spin twice as fast, which is why they feel so agile.

Use the inverse relations: vR = v + L·ω/2 and vL = v − L·ω/2. Given a desired straight-line speed v and a desired yaw rate ω, these two equations give the wheel speeds that will produce them. Because the relations are linear and unconstrained (any (v, ω) pair produces a unique wheel-speed pair, and vice versa), there is no solution space to search — the calculation is direct. This is what a differential-drive motor controller does on every control cycle: takes the commanded (v, ω), computes the wheel speeds, and commands each motor individually.

Not directly in the ω formula — the relation is expressed in linear wheel velocities (m/s), not angular wheel rotations. However, in a real robot the motor commands are angular velocities (rad/s at the motor shaft), which are converted to linear wheel velocities by multiplying by the wheel radius r: vwheel = ωmotor · r. So the wheel radius does enter the complete system, but it acts on both wheels symmetrically and does not change the fundamental relation ωbody = (vR − vL)/L. When specifying motors, larger wheels give higher top speed but lower torque; the wheelbase L remains the only geometric parameter that scales the yaw-rate response.

Calculating...

Variables

Symbol Quantity Unit
omega Robot angular velocity rad/s
v_right, v_left Velocities of the right and left wheels m/s
L Distance between the two wheels (wheelbase) m

What it means

The angular velocity (ω) of a differential drive robot is proportional to the difference in wheel speeds divided by the distance between wheels (L). This formula is the counterpart to linear velocity. It is used to compute the robot’s turning rate, which is essential for heading estimation and for generating turning motions. In odometry, it integrates to yield orientation change. In control, it is used for trajectory tracking and point‑to‑point navigation. Understanding this is critical for designing and programming differential drive robots.

Worked example

Differential Drive Angular Velocity – Two Detailed Examples

Real‑World
Scenario: A differential drive robot has wheel speeds v_right = 1 m/s, v_left = 0 m/s, and wheelbase L = 0.5 m. The angular velocity ω = (v_right - v_left) / L = (1 - 0) / 0.5 = 2 rad/s. The robot rotates clockwise at 2 rad/s. This is used to control the robot's heading during turns, which is essential for autonomous navigation and obstacle avoidance.
ParameterValue
v_right (m/s)1
v_left (m/s)0
L (m)0.5
1ω = (1 - 0) / 0.5 = 2 rad/s
Result 2 rad/s ✓ Rotation rate
Scenario: A robot with v_right = 3 m/s, v_left = 1 m/s, and L = 0.4 m has ω = (3 - 1) / 0.4 = 2 / 0.4 = 5 rad/s. This high angular velocity indicates a sharp turn. The robot controller uses this to calculate the turning radius and adjust the wheel speeds to follow a desired path smoothly, avoiding sudden jerks that could destabilise the robot.
ParameterValue
v_right3
v_left1
L0.4
1ω = (3 - 1) / 0.4 = 5 rad/s
Result 5 rad/s ✓ Sharp turn
Insight: The angular velocity of a differential drive robot depends on the difference in wheel speeds and the wheelbase. A larger difference or smaller wheelbase results in a faster turn.

Common mistakes

  • Differential drive angular velocity: ω = (v_right − v_left) / L – where L is the wheelbase (distance between wheels).
  • Sign: Positive rotation counter‑clockwise (right wheel faster).
  • Units: v in m/s, L in m → ω in rad/s.
  • Wheelbase: Measured between the contact points of the wheels – not the robot width.
  • Assumes: No slipping and the robot is in a planar motion.

Applications

Differential drive robot angular velocity, ω = (v_right − v_left)/L, where L is the wheelbase, relates the difference in wheel speeds to the turning rate. This is critical for controlling the robot's orientation. Engineers use this to calculate the required wheel speed commands for desired turning rates, enabling smooth turns and path following. In odometry, it updates the heading angle. This formula is also used in more complex kinematic models for non‑holonomic robots. By combining linear and angular velocity control, robots can follow arbitrary trajectories. Understanding this relation is essential for mobile robot navigation and control.

  • Heading control and turning for mobile robots
  • Path generation for curved trajectories
  • Odometry heading updates for localisation
  • Implementation of control laws for autonomous vehicles
  • Simulation and analysis of mobile robot dynamics

Related calculators · Kinematics

Suggest an improvement

Found a mistake? Have a better example? Let us know.
You may send up to 3 suggestions per 24 hours.

Page details

1,426

Views
  • Published July 13, 2026
  • Last updated September 20, 2026