## 3 Formation Tracking Control of Nonholonomic Mobile Robots
### Change of Coordinates  
By observing the kinematic model of the nonholonomic mobile robot, we can find that the number of inputs (i.e., \(\omega_{il}\) and \(\omega_{ir}\)) is less than the number of state variables (i.e., \(s_{xi}\), \(s_{yi}\) and \(\theta_{i}\). Therefore, in this part, in order to realize three control variables to control three outputs \(s_{xi}\), \(s_{yi}\) and \(\theta_{i}\), respectively, to be able to track the target, that is, to convert the under-actuated system into a fully-actuated system shown in the blue part in Figure 2. The transverse function will be introduced later.  
Some symbols in Figure 2 will be shown later. It can be seen from the picture that if the trajectory of the fully-actuated system can track the desired trajectory, the original under-actuated system will also follow the desired trajectory within a certain error range,  
Figure 2: The under-actuated system is transformed into a fully-actuated system.  
since \(||(s_{xi}-s_{xi},s_{yi}-s_{yi})||\leq\sqrt{2\varpi_{i1}^{2}}\) and \(|\theta_{i}-\bar{\theta}_{i}|\leq\varpi_{i2}\), which will be seen later. Therefore, the original system can be controlled by controlling the converted system. Here, we will describe how to transform the system.  
At first, by adding some variables to change the original coordinates of the \(i\)th robot. By referring to [34], the variables \(h_{li}(\zeta_{i})\) for \(l=1,2,3\) are selected as follows:  
\[\begin{split} h_{1i}(\zeta_{i})&=\varpi_{1i}\sin( \zeta_{i})\frac{\sin(h_{3i})}{h_{3i}}\\ h_{2i}(\zeta_{i})&=\varpi_{1i}\sin(\zeta_{i}) \frac{1-\cos(h_{3i})}{h_{3i}}\\ h_{3i}(\zeta_{i})&=\varpi_{2i}\cos(\zeta_{i}) \end{split} \tag{3}\]  
with \(\varpi_{1i}\) and \(\varpi_{2i}\) being positive constants and \(\varpi_{2i}\) satisfying \(0<\varpi_{2i}<\frac{pi^{i}}{2}\).  
From (3), we can know that \(h_{li}\) are functions of \(\zeta_{i}\), which will be designed later. By simple derivation, the properties of \(h_{li}\) can be shown as follows:  
\[|h_{1i}|<\varpi_{1i},\,|h_{2i}|<\varpi_{1i},\,|h_{3i}|<\varpi_{2i}. \tag{4}\]  
After introducing the variables \(h_{li}\), add the variables to the original system to change the coordinates of the original system. The specific equation is as follows:  
\[\begin{split}\left[\begin{array}{c}\bar{s}_{xi}\\ \bar{s}_{yi}\end{array}\right]=\left[\begin{array}{c}s_{xi}\\ s_{yi}\end{array}\right]+R(\bar{\theta}_{i})\left[\begin{array}{c}h_{1i}( \zeta_{i})\\ h_{2i}(\zeta_{i})\end{array}\right]\\ \bar{\theta}_{i}=\theta_{i}-h_{3i}(\zeta_{i})\end{split} \tag{5}\]  
where  
\[R(\bar{\theta}_{i})=\left[\begin{array}{cc}\cos(\bar{\theta}_{i})&-\sin( \bar{\theta}_{i})\\ \sin(\bar{\theta}_{i})&\cos(\bar{\theta}_{i})\end{array}\right]\]  
The derivatives of \(\bar{s}_{xi}\), \(\bar{s}_{yi}\) and \(\bar{\theta}_{i}\) are calculated as follows:  
\[\begin{split}\left[\begin{array}{c}\dot{s}_{xi}\\ \dot{s}_{yi}\end{array}\right]=& Q_{i}\left[\begin{array}{c}r_{i}u_{i1}\\ \dot{\zeta}_{i}\end{array}\right]+\frac{\partial R(\bar{\theta}_{i})}{ \partial\bar{\theta}_{i}}\left[\begin{array}{c}h_{1i}(\zeta_{i})\\ h_{2i}(\zeta_{i})\end{array}\right]\\ &\times\left(r_{i}b_{i}^{-1}u_{i2}-\frac{\partial h_{3i}(\zeta_{i})}{\partial \zeta_{i}}\dot{\zeta}_{i}\right)\\ \dot{\bar{\theta}}_{i}=& r_{i}b_{i}^{-1}u_{i2}-\frac{\partial h_{3i}(\zeta_{i})}{ \partial\bar{\zeta}_{i}}\dot{\zeta}_{i}\end{split} \tag{6}\]  
where \(u_{i1}=0.5(w_{ir}+w_{il})\) and \(u_{i2}=0.5(w_{ir}-w_{il})\).  
\[Q_{i}=\left[\begin{array}{cc}\left(\begin{array}{c}\cos(\bar{\theta}_{i}) \\ \sin(\bar{\theta}_{i})\end{array}\right)&R(\bar{\theta}_{i})\left(\begin{array} []{c}\frac{\partial h_{1i}(\zeta_{i})}{\partial\bar{\theta}_{i}}\\ \frac{\partial h_{2i}(\zeta_{i})}{\partial\bar{\zeta}_{i}}\end{array}\right) \end{array}\right]\]  
is ensured to be invertible [34]. From Equation (6), we can find that \((\bar{s}_{xi},\bar{s}_{yi},\bar{\theta}_{i})\) can be dominated, respectively, by adjusting \(u_{i1}\), \(u_{i2}\) and \(\dot{\zeta}_{i}\), and this is different from the original system.