Kinematics of mobile robots

For the figure on the left:
- I = Inertial frame;
- R = Robot frame;
- S = Steering frame;
- W = Wheel frame;
- $\beta$ = Steering angle;
For the figure on the right:
- L = Distance between the wheels;
- r = radious of the wheel;
Now we can derive some useful equations.
- Kinematics:
$\hspace{2.5em}$ $\vec{v}_{IW} = \vec{v}_{IR} + \vec{\omega}_{IR} \times \vec{r}_{RS}$
If we express the equation above in the wheel frame:
$\hspace{2.5em}$ $\begin{bmatrix} 0 \\ r\dot{\varphi} \\ 0 \end{bmatrix} = R(\alpha+\beta)R(\theta)\begin{bmatrix} \dot{x} \\ \dot{y} \\ \dot{\theta} \end{bmatrix} + \begin{bmatrix} 0 & -\dot{\theta} & 0 \\ \dot{\theta} & 0 & 0 & \\ 0 & 0 & 0 \end{bmatrix}\begin{bmatrix} lcos(\beta) \\ -lsin(\beta) \\ 0 \end{bmatrix}$
We obtain the rolling-constraint and the no-sliding constraint respectively:
$\hspace{2.5em}$ $[-sin(\alpha+\beta)\hspace{1.0em}cos(\alpha+beta)\hspace{1.0em}lcos(\beta)]\dot{\xi}_{R} = \dot{\varphi}r$
$\hspace{2.5em}$ $[cos(\alpha+\beta)\hspace{1.0em}sin(\alpha+beta)\hspace{1.0em}lsin(\beta)]\dot{\xi}_{R} = 0$
where $\dot{\xi}_{R} = [\dot{x_{R}}\hspace{1.0em}\dot{y_{R}}\hspace{1.0em}\dot{\theta}]^{T}$
Now we need to apply each of this constraints in the differential wheels
- For the left wheel: $\alpha = -\frac{\pi}{2}$, $\beta = 0$, $l = -\frac{L}{2}$
- For the right wheel: $\alpha = -\frac{\pi}{2}$, $\beta = 0$, $l = \frac{L}{2}$
- Stacked equation of motion:
$\hspace{2.5em}$ $\begin{bmatrix} 1 & 0 & \frac{L}{2} \\ 1 & 0 & -\frac{L}{2} & \\ 0 & -1 & 0 \\ 0 & -1 & 0 \end{bmatrix}\dot{\xi}_{R} = \begin{bmatrix} r & 0\\ 0 & r \\ 0 & 0 \\ 0 & 0 \end{bmatrix}\begin{bmatrix} \dot{\varphi}_{r} \\ \dot{\varphi}_{l} \end{bmatrix} $
$\hspace{2.5em}$ $A\dot{\xi}_{R} = B\dot{\varphi} $
For the forward kinematic solution, just do:
$\hspace{2.5em}$ $\dot{\xi}_{R} = \big( A^{T}A \big)^{-1}A^{T}B\dot{\varphi} $
which yields:
$\hspace{2.5em}$ $\begin{bmatrix} \dot{x} \\ \dot{y} \\ \dot{\theta} \end{bmatrix} = \begin{bmatrix} \frac{r}{2} & -\frac{r}{2} \\ 0 & 0 \\ \frac{r}{L} & -\frac{r}{L} \end{bmatrix} \begin{bmatrix} \dot{\varphi}_{r} \\ \dot{\varphi}_{l} \end{bmatrix}$
An excellent chapter that I suggest here.