## 3 Path Following Control Strategy
### Composite Control Strategy  
#### 3.3.1 TLC Control Design  
Define \(X=[X_{1},X_{2}]^{T}=[\psi,r]^{T}\), \(F\left(X\right)=[X_{2},f\left(X_{2}\right)]^{T}\), \(G_{1}\left(X\right)=[0,b]^{T}\), \(G_{2}\left(X\right)=G_{3}\left(X\right)=[0,1]^{T}\), \(h\left(X\right)=X_{1}\). We have:  
\[\left\{ \begin{array}{l}\dot{X}=F\left(X\right)+G_{2}\left(X\right)\Delta f \left(X_{1}\right)+G_{1}\left(X\right)\mu+G_{3}\left(X\right)d\\ Y=h\left(X\right)\end{array} \right. \tag{27}\]  
In addition, there exist three functions \(G_{0}\left(X\right)\), \(G_{4}\left(X\right)\), \(G_{5}\left(X\right)\), which satisfy: \(G_{1}\left(X\right)G_{0}\left(X\right)=G_{3}\left(X\right)\), \(G_{1}\left(X\right)G_{4}\left(X\right)=G_{2}\left(X\right)\), \(G_{3}\left(X\right)G_{5}\left(X\right)=G_{2}\left(X\right)\). First, when \(\Delta f\left(X_{1}\right)=0\) and \(d=0\), define the nominal state \(X_{d}^{*}\). We obtain:  
\[\dot{X}_{d}^{*}=F\left(X_{d}^{*}\right)+G_{1}\left(X_{d}^{*}\right)\bar{\mu} \tag{28}\]  
where \(\bar{\mu}\) denotes the nominal input, and NTD [37] is applied to produce \(X_{d}^{*}\) and \(\dot{X}_{d}^{*}\) by \(X_{d}\), which can be written as:  
\[\left\{ \begin{array}{l}\text{fh}=\text{fan}\left(X_{d}^{*}\left(k\right)-X_ {d}\left(k\right),\dot{X}_{d}^{*}\left(k\right),R_{1},h_{1}\right)\\ X_{d}^{*}\left(k+1\right)=X_{d}^{*}\left(k\right)+h_{1}\dot{X}_{d}^{*}\left(k\right) \\ \dot{X}_{d}^{*}\left(k+1\right)=\dot{X}_{d}^{*}\left(k\right)+h_{1}\cdot\text{fh }\end{array} \right. \tag{29}\]  
where \(R_{1}\) is an acceleration factor and \(h_{1}\) is the sampling period. **Remark 3**: _In this paper, NTD can better realize differential and fast convergence performance by the acceleration factor \(R_{1}\), thus avoiding unnecessary set-point jump._  
Then, \(\bar{\mu}\) is calculated by inverting (28). One has:  
\[\bar{\mu}=G_{1}\left(X_{d}^{*}\right)^{\dagger}\left(\dot{X}_{d}^{*}-F\left(X_ {d}^{*}\right)\right) \tag{30}\]  
where \(\dagger\) denotes the pseudo inverse operator, and it is defined as \(P^{\dagger}=P^{T}\left(PP^{T}\right)^{-1}\). Define the tracking error \(E=X-X_{d}^{*}=\left[E_{1},E_{2}\right]^{T}\), and linearizing the first equation of (27) along the nominal \(\left(X_{d}^{*},\tilde{\mu}\right)\) yields:  
\[ \begin{bmatrix}\dot{E}_{1}\\ \dot{E}_{2}\end{bmatrix} =A_{1}\left(t\right) \begin{bmatrix}E_{1}\\ E_{2}\end{bmatrix} +B_{1}\left(t\right)\underbrace{ \begin{bmatrix}\tilde{\mu}_{ 11}\\ \tilde{\mu}_{12}\end{bmatrix} }_{:=\tilde{\mu}} \tag{31}\]  
where \(A_{1}\left(t\right)=\left(\frac{\partial F}{\partial X}+\frac{\partial G_{1}} {\partial X}\mu\right)|_{X_{d}^{*},\tilde{\mu}}\), \(B_{1}\left(t\right)=G_{1}\left(X\right)|_{X_{d}^{*},\tilde{\mu}}\), \(\tilde{\mu}\) denotes the LTV stabilizing controller. A proportional-integral (PI) control law is designed to stabilize error, which is expressed as:  
\[\underbrace{ \begin{bmatrix}\tilde{\mu}_{11}\\ \tilde{\mu}_{12}\end{bmatrix} }_{:=\tilde{\mu}}=-K_{p1} \begin{bmatrix}E_{1}\\ E_{2}\end{bmatrix} -K_{I1} \begin{bmatrix}\int E_{1}dt\\ \int E_{2}dt\end{bmatrix}  \tag{32}\]  
Define the augmented error \(E_{\Omega}=\left[\int E_{1}dt,\int E_{2}dt,E_{1},E_{2}\right]^{T}\). We have:  
\[\dot{E}_{\Omega}=A_{c}E_{\Omega}= \begin{bmatrix}0_{2\times 2}&I_{2\times 2}\\ -B_{1}K_{I1}&A_{1}-B_{1}K_{p1}\end{bmatrix} ^{T}E_{\Omega} \tag{33}\]  
where \(0_{2\times 2}\) and \(I_{2\times 2}\) represent \(2\times 2\) the zero matrix and identity matrix, respectively. To provide local exponential stability, the desired \(A_{c}\) is designed as:  
\[A_{c}= \begin{bmatrix}0_{2\times 2}&I_{2\times 2}\\ diag\left(-a_{111},-a_{121}\right)&diag\left(-a_{112},-a_{122}\right)\end{bmatrix} ^{T} \tag{34}\]  
where \(a_{1j1},a_{1j2}>0,j=1,2\) are the adjustment according to the pole assignment technique, which satisfy:  
\[ \begin{split} a_{1j1}&=\omega_{j}^{2}\\ a_{1j2}&=2\omega_{j}\end{split}  \tag{35}\]  
where \(\omega_{j}\) is the bandwidth. Obviously, \(\omega_{j}\) becomes the only parameter to be tuned. Then, we have:  
\[