This post includes kinematic and dynamic models of mobile robots.
At low speed, it is often sufficient to look only at the kinematic model of vehicles, such as two wheeled robot or bicycle model. Dynamic modeling is more involved but captures vehicle behavior more precise over a wide operating range. In some case, the dynamic model is more important because:
- At high speed and slippery roads, vehicles do not satisfy no slip condition.
- Forces such as drag, road friction govern requier throttle inputs.
Coordinate transformation
The inertial frame is fixed and usually relative to earth. The body frame is attached to the vehicle, origin at the center of gravity or center of rotation. The location of a point $P$ in Body frame:
,where $C_{BE}$ refers to the rotation from the inertial frame to the body frame.
Nonholonomic constrain
It is a a constraint on the rate of change of degree of freedom. Vehicle velocity always tangent to current path, i.e.:
Thus, we derive the nonholonomic constrain:
Two wheeled robot kinematic model
Kinematic constraint:
The velocity is the average of two wheel velocities. ICR refers to instantaneous center of rotation:
Kinematic model in continuous time form:
Kinematic model in discrete time form:
The kinematic bicycle model
The 2D kinematic bicycle model is also known as the simplified car model. When the reference point is at the rear wheel,
Similarly, if the reference point is at the front wheel:
However, if the desired point is at the center of gravity(CG):
With $\dot{\delta} = \psi$, we can modify the CG kinematic bicycle modle to use steering rate input. Hence we have:
$State:[x, y, \theta, \delta]^T, Input:[v, \psi]$