Typo in Bicycle Kinematics/Steering Angle Equation?

18 views (last 30 days)
Pablo
Pablo on 5 Oct 2025
Commented: Pablo on 5 Nov 2025 at 12:19
Hi everyone,
Is there a typo in the documentation of Mobile Robot Kinematics -> Bicycle Kinematics -> Steering Angle Equation? See
The current model reads
However, I think the correct model should be
Am I missing something?

Answers (1)

Umar
Umar on 3 Nov 2025 at 16:43
Edited: Umar on 3 Nov 2025 at 16:58

Hi @Pablo,

Good eye — that last row in the bicycle kinematics matrix does look off. After checking the math, it seems the documentation mixed two different input conventions.

In the standard bicycle model, the controls are vehicle speed v and steering angle psi. The heading rate (theta_dot) is determined by geometry as:

theta_dot = (v / l) * tan(psi)

That means the angular velocity isn’t an independent input. The full kinematic equations are:

   x_dot = v * cos(theta)
   y_dot = v * sin(theta)
   theta_dot = (v / l) * tan(psi)

So in matrix form, the correct version should be:

[x_dot, y_dot, theta_dot]^T = [[cos(theta), 0],
[sin(theta), 0], [tan(psi)/l, 0]] * [v, omega]^T

The “1” in the current documentation implies omega is an additional independent input, which isn’t true for the steering-angle formulation. It’s just a mix-up between this and the generalized form where omega itself is given directly.

In short: your correction is right — that entry should be 0, not 1. The underlying MATLAB `bicycleKinematics` implementation uses the correct equations, so this looks like a small typo in the docs.

Categories

Find more on Simulation and Analysis in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!