## 3 Singular Perturbation Decomposition and Control Law Design
### The Slow Subsystem
The output error vector \(\widetilde{\mathbf{x}}_{1}\) is:  
\[\widetilde{\mathbf{x}}_{1}=\mathbf{x}_{\rm 1d}-\mathbf{x}_{1} \tag{31}\]  
The velocity error vector \(\widetilde{\mathbf{x}}_{2}\) is:  
\[\widetilde{\mathbf{x}}_{2}=\dot{\widetilde{\mathbf{x}}}_{1}=\mathbf{x}_{\rm 2d}-\mathbf{x}_{2} \tag{32}\]  
The velocity estimation error vector \(\hat{\widetilde{\mathbf{x}}}_{2}\) is:  
\[\dot{\widetilde{\mathbf{x}}}_{2}=\mathbf{x}_{\rm 2d}-\mathbf{\hat{x}}_{2} \tag{33}\]  
Then, according to Equations (15), (31) and (32), the error equation is:  
\[\left\{ \begin{array}{l}\dot{\widetilde{\mathbf{x}}}_{1}=\widetilde{\mathbf{x}}_{2} \\ \dot{\widetilde{\mathbf{x}}}_{2}=\dot{\mathbf{x}}_{\rm 2d}-\mathbf{D}_{\rm 0s}^{-1}(x_{0},\mathbf{x }_{1})[\mathbf{\rho}\mathbf{\tau}_{\rm s}+\mathbf{\tau}_{\rm d}-H_{\rm 0s}(x_{0},\mathbf{x}_{1}, \mathbf{x}_{2})\mathbf{x}_{2}]\end{array} \right. \tag{34}\]  
**Step 1**: Design for the system's first-order variables. Firstly, defining variables:  
\[\mathbf{z}_{1}=\widetilde{\mathbf{x}}_{1} \tag{35}\]  
and  
\[\mathbf{z}_{2}=\widetilde{\mathbf{x}}_{2}-\mathbf{u}_{\rm z}=\dot{\mathbf{z}}_{1}-\mathbf{u}_{\rm z} \tag{36}\]  
where, \(\mathbf{u}_{\rm z}\) is a virtual controller. \(\mathbf{u}_{\rm z}=-\mathbf{A}z_{1}\), \(\mathbf{A}\) is a positive definite diagonal matrix. Choosing the following Lyapunov function:  
\[\mathbf{V}_{1}=\frac{1}{2}\mathbf{z}_{1}^{\rm T}\mathbf{z}_{1} \tag{37}\]  
Differentiating \(\mathbf{V}_{1}\) with respect to time, and according to Equation (36), there is:  
\[\dot{\mathbf{V}}_{1}=\mathbf{z}_{1}^{\rm T}\dot{z}_{1}=\mathbf{z}_{1}^{\rm T}(\mathbf{z}_{2}+ \mathbf{u}_{\rm z})=\mathbf{z}_{1}^{\rm T}\mathbf{z}_{2}-\mathbf{z}_{1}^{\rm T}\mathbf{A}\mathbf{z}_{1} \tag{38}\]  
From Equation (38) we can find that, if and only when \(\mathbf{z}_{2}=0\), \(\mathbf{V}_{1}\) is \(\mathbf{z}_{1}\)'s quadratic function, and \(\dot{\mathbf{V}}_{1}=-\mathbf{z}_{1}^{\rm T}\mathbf{A}\mathbf{z}_{1}\leq 0\). However, \(\mathbf{z}_{2}=0\) is a special case. So further design is needed. **Step 2**: Based on Step 1, design for the second-order variables. Selecting a new Lyapunov function to seek a control method to ensure that \(\mathbf{z}_{1}\) and \(\mathbf{z}_{2}\) can converge to zero. Firstly, from Equations (35) and (36), we have:  
\[\mathbf{z}_{2}=\widetilde{\mathbf{x}}_{2}+\mathbf{A}\widetilde{\mathbf{x}}_{1} \tag{39}\]  
and  
\[\dot{\mathbf{z}}_{2}=\dot{\widetilde{\mathbf{x}}}_{2}+\mathbf{A}\ddot{\widetilde{\mathbf{x}}}_ {1} \tag{40}\]  
Substituting Equation (34) into Equation (40):  
\[\dot{\mathbf{z}}_{2}=\dot{\mathbf{x}}_{2\rm d}-D_{\rm 0s}^{-1}(x_{0},\mathbf{x}_{1})[\mathbf{ \rho}\mathbf{\tau}_{\rm s}+\mathbf{\tau}_{\rm d}-H_{\rm 0s}(x_{0},\mathbf{x}_{1},\mathbf{x}_{2})\mathbf{x}_{2}]+ \mathbf{A}\dot{\mathbf{z}}_{1} \tag{41}\]  
Defining a new Lyapunov function:  
\[\mathbf{V}_{2}=\frac{1}{2}\mathbf{z}_{2}^{\rm T}\mathbf{D}_{\rm 0s}(x_{0},\mathbf{x}_{1})\mathbf{z}_{2} \tag{42}\]According to property 2, Equations (35), (39) and (41), \(V_{2}\)'s time derivative is:  
\[ \begin{array}{c}\dot{V}_{2}=\frac{1}{2}z_{2}^{\mathsf{T}}D_{0\text{s}}(x_{0},x _{1})z_{2}+z_{2}^{\mathsf{T}}D_{0\text{s}}(x_{0},x_{1})\dot{z}_{2}\\ =z_{2}^{\mathsf{T}}[D_{0\text{s}}(x_{0},x_{1})(\dot{x}_{2\text{d}}+A\ddot{x}_{2 })+H_{0\text{s}}(x_{0},x_{1},x_{2})(x_{2\text{d}}+A\ddot{x}_{1})-\rho\tau_{\text {s}}-\tau_{\text{d}}]\end{array}  \tag{43}\]  
In practical application, the free-floating space robot system is often uncertain. Therefore, the matrix in Equation (13) should be exactly expressed as follows:  
\[ \begin{array}{c}D_{0\text{s}}(\mathbf{q})=\hat{D}_{0\text{s}}(\mathbf{q})+\Delta D_{0 \text{s}}(\mathbf{q}),\;H_{0\text{s}}(\mathbf{q},\dot{\mathbf{q}}_{0})=\hat{H}_{0\text{s}} (\mathbf{q},\dot{\mathbf{q}}_{0})+\Delta H_{0\text{s}}(\mathbf{q},\dot{\mathbf{q}}_{0})\end{array}