## 3 Mobile Robot Modeling
### Kinematics  
Let the radius of the actuated wheels be \(r\), their angular displacements being \(\theta_{1}\) and \(\theta_{2}\). The velocity \(\dot{\mathbf{o}}_{i}\) of point \(O_{i}\), under pure-rolling, for \(i=1,2\), is given by  
\[\dot{\mathbf{o}}_{i}=r\dot{\theta}_{i}\mathbf{j}\quad i=1,2 \tag{1}\]  
Furthermore, the velocity of \(C\) can now be expressed in two-dimensional form as  
\[\dot{\mathbf{c}}=\dot{\mathbf{o}}_{i}+\omega\mathbf{E}(\mathbf{c}-\mathbf{o}_ {i}),\quad i=1,2 \tag{2}\]  
where \(\mathbf{E}\) is defined as an orthogonal matrix rotating two-dimensional vectors through an angle of \(90^{\circ}\) counterclockwise [33], i.e.,  
\[\mathbf{E}\equiv\begin{bmatrix}0&-1\\ 1&0\end{bmatrix}\]  
Figure 5: Diagram of a DWMR.  
Let the distance between the two actuated wheels be \(2l\). Substituting Equation (1) into Equation (2) and subtracting sidewise the latter from the former, we obtain  
\[r(\dot{\theta}_{1}-\dot{\theta}_{2})+2\omega l=0 \tag{3}\]  
Hence, the scalar angular velocity of the platform is derived from Equation (3) as  
\[\omega=\frac{r}{2l}(\dot{\theta}_{2}-\dot{\theta}_{1}) \tag{4}\]  
The angular velocities of the two actuated wheels are, therefore,  
\[\begin{split}\mathbf{\omega}_{1}&=-\dot{\theta}_{1} \mathbf{i}+\omega\mathbf{k}=\left[-\mathbf{i}-(r/2l)\mathbf{k}\quad(r/2l) \mathbf{k}\right]\dot{\mathbf{\theta}}\\ \mathbf{\omega}_{2}&=-\dot{\theta}_{2}\mathbf{i}+\omega \mathbf{k}=\left[-(r/2l)\mathbf{k}\quad-\mathbf{i}+(r/2l)\mathbf{k}\right] \dot{\mathbf{\theta}}\end{split} \tag{5}\]  
with the two-dimensional vector \(\dot{\mathbf{\theta}}\) of actuated joint rates defined as  
\[\dot{\mathbf{\theta}}\equiv\left[\begin{array}{c}\dot{\theta}_{1}\\ \dot{\theta}_{2}\end{array}\right] \tag{6}\]  
Point \(P\) is defined at the front of the platform. Let the distance between \(C\) and \(M\) be \(a\), that between \(C\) and \(P\) being \(b\). The velocity \(\dot{\mathbf{\epsilon}}\) of point \(C\) can be obtained in terms of \(\dot{\theta}_{1}\) and \(\dot{\theta}_{2}\) as well, upon substitution of Equation (1) into Equation (2), and addition of Equation (2) for \(i=1\) to its counterpart for \(i=2\), thus obtaining  
\[\dot{\mathbf{\epsilon}}=\frac{ar}{2l}(\dot{\theta}_{1}-\dot{\theta}_{2})\mathbf{i }+\frac{r}{2}(\dot{\theta}_{1}+\dot{\theta}_{2})\mathbf{j} \tag{7}\]  
Further, the _planar twist_\(\mathbf{t}\) of the platform is defined as a three-dimensional array:  
\[\mathbf{t}\equiv\left[\begin{array}{c}\omega\\ \dot{\mathbf{\epsilon}}\end{array}\right]\]  
the forward kinematics model of the platform then being expressed as  
\[\mathbf{t}=\mathbf{T}\dot{\mathbf{\theta}} \tag{8}\]  
with the 3 \(\times\) 2 matrix \(\mathbf{T}\) defined as  
\[\mathbf{T}\equiv\begin{bmatrix}-r/(2l)&r/(2l)\\ (ar/2l)\mathbf{i}+(r/2)\mathbf{j}&-(ar/2l)\mathbf{i}+(r/2)\mathbf{j}\end{bmatrix}\]  
In order to derive the inverse kinematics of the platform, both sides of Equation (7) are dot-multiplied by \(\mathbf{j}\), thereby obtaining  
\[\dot{\mathbf{\epsilon}}^{T}\mathbf{j}=\frac{r}{2}(\dot{\theta}_{1}+\dot{\theta}_{ 2}) \tag{9}\]  
The scalar equations of the inverse kinematics are readily derived by combining Equations (4) and (9), namely,  
\[\dot{\theta}_{1}=\frac{v_{c}}{r}-\frac{l}{r}\omega,\quad\dot{\theta}_{2}=\frac{ v_{c}}{r}+\frac{l}{r}\omega \tag{10}\]  
where the longitudinal speed is \(v_{c}\equiv\dot{\mathbf{\epsilon}}^{T}\mathbf{j}\), the speed of the centre of mass.