## 3 Controller Design and Stability Analysis
### Position Controller Design  
In equation (6), \(\mathbf{\tau}=[\tau_{u},0,0,\tau_{r}]\), and \(\tau_{u}\) denotes the thrust of the air propellers and \(\tau_{r}\) denotes the moment generated by the air rudders. However in engineering applications, we need to convert the control force and moment into the pitch angles of the air duct propellers and the angles of the air rudders to control the ACV, respectively. Without loss of generality, according to the piecewise linear principle, \(\tau_{u},\tau_{r}\) can be regarded as unknown effective input parameters and unknown nonlinearities [30]. \[\tau_{u}=\frac{1}{2}[A_{u}(t)\theta+B_{u}(t)],\tau_{r}=\frac{1}{2}[A_{r}(t) \delta+B_{r}(t)] \tag{19}\]  
**Remark 2**: _ACV have two air propellers and two air rudders._  
The Equation (19) denotes the nonlinear relationships between the actuator output and input. \(\theta\) denotes the pitch angle, and \(\delta\) denotes the angle of the air rudder. \(A_{u}(t)\), \(A_{r}(t)\) are efficient parameters but unknown for the controller design. In addition, \(B_{u}(t),B_{r}(t)\) are bounded unmodelled functions. Note that such an assumption implies that \(A_{u}(t),A_{r}(t)\) are away from zero and must be positive definitive functions or negative definitive functions [33; 34]. The desired trajectory and its derivative are assumed to be bounded and continuous. Moreover, define an unknown constant \(B\) as:  
\[\bar{B}=\max\{B_{u}(t),B_{r}(t)\}. \tag{20}\]  
Figure 2: Scheme diagram of the trajectory tracking system of ACV. Assuming that the desired trajectory is generated by a virtual ship, the model is defined as follows:  
\[ \begin{split}\dot{x}_{d}&=u_{d}\cos\left(\psi_{d} \right)\\ \dot{y}_{d}&=u_{d}\sin\left(\psi_{d}\right)\\ \dot{\psi}_{d}&=r_{d}\end{split}  \tag{21}\]  
where \(\left[x_{d},y_{d},\psi_{d}\right]\) is the expected value as input signal. Define vertical, horizontal, yaw and absolute tracking errors \(\left[x_{e},y_{e},\psi_{e}\right]\) as:  
\[ \begin{split} x_{e}&=x_{d}-x\\ y_{e}&=y_{d}-y\\ \psi_{e}&=\psi_{r}-\psi.\end{split}  \tag{22}\]  
The position error can be expressed as:  
\[z_{e}=\sqrt{x_{e}^{2}+y_{e}^{2}}, \tag{23}\]  
where the desired heading is designed in Figure 3 as:  
\[\psi_{r}=\left\{ \begin{array}{ll}\frac{1}{2}[1-sign\left(x_{e}\right)]sign \left(y_{e}\right)\pi+\arctan\left(\frac{y_{e}}{x_{e}}\right),z_{e}\
eq 0\\ \psi_{d}.&z_{e}=0\end{array} \right. \tag{24}\]  
where \(sign(x)\) denotes symbolic function which is designed as:  
\[sign\left(x\right)=\left\{ \begin{array}{ll}1&x>0\\ 0&x=0\\ -1&x<0\end{array} \right. \tag{25}\]  
**Remark 3**. : _It can be seen from Equation (24), \(\psi_{r}\in\left(-\pi,\pi\right]\). When the \(y_{e}\
eq 0\) and \(x_{e}=0\), we have \(arctan(y_{e}/x_{e})\rightarrow\pm\frac{\pi}{2}\). We defined \(\psi_{r}=\psi_{d}\) when \(z_{e}=0\)._  
To limit the virtual control rate and avoid differential calculation, the command filter is introduced to simplify the designed controller. Based on Figure 4, let \(x_{1}=\alpha_{u,r}\) and \(x_{1}=\dot{\alpha}_{u,r}\), the command filter can be expressed as:  
\[\dot{x}_{1} =x_{2} \tag{26}\] \[\dot{x}_{2} =-2\xi_{n}\omega_{n}(x_{2}+\frac{\omega_{n}}{2}\xi_{n}\omega_{n}(x _{1})-\alpha_{uc,rc}).\]  
Define filter output errors as:  
\[\Delta\alpha_{u,r}=\alpha_{uc,rc}-\alpha_{u,r}. \tag{27}\]  
Next, the auxiliary system will be designed to compensate for the estimation error \(\Delta\alpha_{u,r}\). Denote that \(\xi_{r}\) is an auxiliary state designed to compensate for the estimation error and can be taken as follows:  
\[\dot{\xi}_{u,r}=\left\{ \begin{array}{l}0,\;|\xi_{u,r}|\leq\xi_{u,r}^{*}\\ -a_{u,r}\xi_{u,r}+b_{u,r}\Delta\alpha_{u,r}-\left(\frac{1}{2}b_{u,r}^{2}\Delta \alpha_{u,r}^{2}+|\psi_{e}\Delta\alpha_{u,r}|\right)\xi_{u,r}^{-1}\cdot|\xi_{u,r}|>\xi_{u,r}^{*}\end{array} \right., \tag{28}\]  
where \(a_{u,r}\), \(b_{u,r}\) are positive design constants. \(a_{u,r}\) is a sufficiently small constant, which can be adjusted to satisfy the required control performance.