# Pitch Channel Control of a REMUS AUV with Input Saturation and Coupling Disturbances
## 3 Control Strategy
### \(L_{1}\) Adaptive Control  
Attempting to address limitations associated with MRAC, L1 AC architecture was proposed by [PERSON] and [PERSON] [16]. L1 AC guarantees transient response via decoupling adaption rate from robustness, and reduces the impact of high-frequency oscillation in the control signal. Adaption gains scheduling is eliminated to ensure fast and smooth convergence. It can be used to deal with rapid changes of the system parameters and environmental disturbances. L1 AC is described in detail in the following [16]. The state space system used in L1 AC takes the general form with uncertainties:  
\[ \begin{array}{l}\dot{x}=Ax+B(\omega u(t)+f(t,x(t)))\\ y=C^{T}x(t)\end{array}  \tag{8}\]  
where \(x=[x_{1},x_{2}]^{T}\), \(x(0)=x_{0}\); \(x_{0}\) is the initial condition with bounded set; \(A\) is the plant state matrix; \(y\) is the measured output; \(B\) and \(C\) are vectors defined for actuator and observation; \(u\) is an input used to control the plant; \(\omega\) is an unknown bounded parameter expressing the efficiency of uncertain command; and \(f(t,x(t))\) is an unclear, nonlinear term representing unmodeled dynamics. The purpose of this controller is to track the desired \(r(t)\) with \(y\) in the presence of unknown \(A\), and \(f(t,x(t))\). Considering \(Hurwitz\) matrix \(A_{m}\) to express the system matrix and rewrite the nonlinear term in the plant as the following [20]:  
\[f(t,x(t))=A_{2}x_{2}+\theta(t)\|x(t)\|_{L\infty}+\sigma(t) \tag{9}\]  
where \(\theta(t)\) and \(\sigma(t)\) are unknown varying parameters; \(A_{2}\) is state matrix related with \(x_{2}\); and \(\|x(t)\|\) is the norm of \(x(t)\). Note that \(\theta(t)\) in this section is not the pitch angle defined before. That provides desired performance in the existence of uncertainties, when the controller tracks the control input signal using a reference system model as described:  
\[ \begin{array}{l}\dot{x}=A_{m}\hat{x}(t)+\mathrm{B}(\hat{\omega}(t)u(t)+\hat {\theta}(t)\|x(t)\|_{L\infty}+\hat{\sigma}(t))\\ \hat{y}=C^{T}\hat{x}(t)\end{array}  \tag{10}\]  
where \(\hat{\omega}(t)\), \(\hat{\theta}(t)\) and \(\hat{\sigma}(t)\) are estimated parameters obtained from adaption laws in each iteration. Then, the error signal \(\hat{x}(t)\) of the model is formed using the plant measured states \(x(t)\) and the estimated ones \(\hat{x}(t)\). \[\hat{x}(t)=\hat{x}(t)-x(t) \tag{11}\]  
Thus, the error can be used to adapt the parameters via computing adaption laws, where a projection method is employed to ensure the uniform boundedness. Furthermore, the projection operator can maintain stability of closed-loop system and achieve fast adaption. Calculation of adaptive laws is accomplished using equations indicated in Equation (12):  
\[ \begin{array}{l}\dot{\theta}(t)=\mathbf{\Gamma}_{\theta}Proj(\dot{\theta}(t),- \tilde{\pi}^{T}(t)\|x(t)\|_{\text{L}\infty}PB)\\ \dot{\sigma}(t)=\mathbf{\Gamma}_{\sigma}Proj(\dot{\sigma}(t),-\tilde{\pi}^{T} (t)PB)\\ \dot{\omega}(t)=\mathbf{\Gamma}_{\omega}Proj(\dot{\omega}(t),-\tilde{\pi}^{T} (t)u(t)PB)\\ \dot{\theta}(0)=\dot{\theta}_{0}\\ \dot{\sigma}(0)=\dot{\sigma}_{0}\\ \end{array}  \tag{12}\]  
where \(\mathbf{\Gamma}\in\mathbf{R}^{+}\) is the adaption gain. Symmetric and positive definite diagonal matrix \(P\) is the algebraic answer to the Lyapunov equation: \(A_{m}^{T}P+PA_{m}=-Q\) for any arbitrary symmetric matrix \(Q=Q^{T}>0\). Projection operator in Equation (12) is defined:  
\[Proj(\dot{\theta},y)=\left\{ \begin{array}{ll}y-\|\bigtriangledown f(\theta )\|^{2}f(\theta)y&\text{if}\left[f(\theta)>0\quad\text{and}\\ &(y\bigtriangledown f(\theta)>0)\right]\\ y&\text{otherwise}\end{array} \right. \tag{13}\]  
and  
\[f(\theta)=\frac{(1+\epsilon)\|\theta\|^{2}-\theta_{\text{max}}^{2}}{\epsilon \theta_{\text{max}}^{2}} \tag{14}\]  
\[\bigtriangledown f(\theta)=\frac{2\theta(1+\epsilon)}{\epsilon\theta_{\text {max}}^{2}}\]  
where \(\epsilon\) is a projection tolerance, and \(\theta_{\text{max}}\) is the parameter bound.