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.

