# Leader-Follower Formation Control of Wheeled Mobile Robots without Attitude Measurements
## 3 Attitude Observer  
In order to develop the attitude observer, first notice that an equivalent representation of the kinematic model (1) is the following  
\[\dot{x}_{i}= v_{i}\mathbf{R}_{i}\mathbf{e}_{1},\quad\mathbf{e}_{1}=\text{col}(1,0) \tag{4a}\] \[\dot{\mathbf{R}}= \omega_{i}\mathbf{S}\mathbf{R}_{i} \tag{4b}\]  
where \(\mathbf{R}_{i}=\left[ \begin{array}{cc}\mathbf{\Theta}_{i}&\mathbf{\delta}\mathbf{\Theta}_{i} \end{array} \right]\in\mathcal{SO}(2)=\{\mathbf{R}\in\Re^{2\times 2}\,|\,\mathbf{R}^{ \top}\mathbf{R}=\mathbf{I},\ \text{de}(\mathbf{R})=+1\}\) is the rotation matrix and \(\mathbf{S}\in\Re^{2\times 2}\) is a skew-symmetric matrix given by  
\[\mathbf{S}=\left[ \begin{array}{cc}0&-1\\ 1&0\end{array} \right]. \tag{5}\]  
For the case of \(SO(2)\) the rotation matrix \(\mathbf{R}_{i}\) and skew-symmetric matrix \(\mathbf{S}\) commute, i.e., \(\mathbf{S}\mathbf{R}_{i}=\mathbf{R}_{i}\mathbf{S}\). On the other hand, from (1a) the rotation matrix \(\mathbf{R}_{i}\) can be reconstructed in an algebraic way as follows  
\[\mathbf{R}=\left[ \begin{array}{cc}\mathbf{v}_{i}&\mathbf{S}\mathbf{v}_{i}\end{array} \right],\quad\mathbf{v}_{i}\triangleq\frac{\dot{\mathbf{x}}_{i}}{\left\|\dot{\mathbf{x}}_{i}\right\|} \tag{6}\]  
as long as \(\left\|\dot{x}_{i}(t)\right\|\to 0\) for all \(t\geq 0\). Based on the foregoing equation, the attitude observation error is defined as  
\[\widetilde{\mathbf{R}}_{i}=\widetilde{\mathbf{R}}_{i}^{\top}\mathbf{R}_{i} \tag{7}\]  
where \(\widehat{\mathbf{R}}_{i}=\left[ \begin{array}{cc}\widehat{\mathbf{\Theta}}_{i}&\mathbf{S }\widehat{\mathbf{\Theta}}_{i}\end{array} \right]\in\mathcal{SO}(2)\) and \(\widehat{\mathbf{\Theta}}_{i}\) are estimates of \(\mathbf{R}_{i}\) and \(\mathbf{\Theta}_{i}\), respectively. With the previous definition the objective is to design an attitude observer such that \(\widetilde{\mathbf{R}}_{i}(t)\to\mathbf{I}\) as \(t\to\infty\) where \(\mathbf{I}\in\Re^{2\times 2}\) is the identity matrix. Motivated by the work reported in [26] the following attitude observer is proposed  
\[\dot{\widetilde{\mathbf{R}}}_{i} =\widehat{\omega}_{i}\mathbf{S}\widehat{\mathbf{R}}_{i} \tag{8a}\] \[\widehat{\omega}_{i} =\omega_{i}+k_{ai}\mathbf{v}_{i}^{\top}\mathbf{S}\widehat{\mathbf{\Theta}}_{i} \tag{8b}\]  
where \(k_{ai}\in\Re\) is a positive constant and \(\mathbf{v}_{i}\in\Re^{2}\) is given in (6). Notice that the proposed attitude observer can be used in open-loop schemes. Now we can establish the first result of the paper. Figure 1: A group of nonholonomic mobile robots with one leader and \(n\) followers. **Theorem 1**. : _Assume that the angular velocity \(\omega_{i}\) and the Cartesian velocity \(\dot{x}_{i}\) are available. Moreover, assume that the robot's motion satisfies \(\|\dot{x}_{i}(t)\|\
rightarrow 0\ \forall\ t\geq 0\). Then, the attitude observer given in (8) guarantees that \(\widetilde{\mathbf{R}}_{i}\rightarrow\mathbf{I}\) as \(t\rightarrow\infty\)._  
Proof. : By taking into account (4b) and (8) the time derivative of the attitude observation error (7) is given by  
\[\dot{\widetilde{\mathbf{R}}}_{i}= \dot{\widetilde{\mathbf{R}}}_{i}^{\top}\mathbf{R}_{i}+\widehat{ \mathbf{R}}_{i}^{\top}\dot{\mathbf{R}}_{i}\] \[= (\omega_{i}-\widehat{\omega}_{i})\widehat{\mathbf{R}}_{i}^{\top} \mathbf{S}\mathbf{R}_{i}\] \[= (\omega_{i}-\widehat{\omega}_{i})\widetilde{\mathbf{R}}_{i} \mathbf{S}. \tag{9}\]  
where \(\mathbf{R}_{i}\mathbf{S}=\mathbf{S}\mathbf{R}_{i}\) has been used. Now consider the positive scalar function  
\[V_{\mathrm{R}i}=\frac{1}{2}\mathrm{tr}(\mathbf{I}-\widetilde{\mathbf{R}}_{i}) \tag{10}\]  
whose time derivative along (9) is given by  
\[\dot{V}_{\mathrm{R}i} =-\frac{1}{2}(\omega_{i}-\widehat{\omega}_{i})\mathrm{tr}( \widetilde{\mathbf{R}}_{i}\mathbf{S})\] \[=\frac{1}{2}k_{\mathrm{a}_{i}}(\boldsymbol{v}_{i}^{\top}\mathbf{ S}\widehat{\mathbf{G}}_{i})\mathrm{tr}(\widetilde{\mathbf{R}}_{i}\mathbf{S}). \tag{11}\]  
By taking into account (6), the elements of \(\widetilde{\mathbf{R}}_{i}\) can be expressed as  
\[\widetilde{\mathbf{R}}_{i}=\Bigg{[}