## 4 Robust Saturated Backstepping Tracking Controller Design  
In this section, an ESO-based backstepping controller is presented for addressing the robust trajectory tracking control problem of quadrotors in the presence of both the system parameterized uncertainties in combination with external disturbances and control input saturation. With the application of the ESO proposed in Section 3, the estimates of velocity, angular rate, and the lumped disturbances in both translational and rotational dynamics are supplied simultaneously and, thus, can be used in the following controller design procedures. Let us define the position tracking error as the subtraction of the actual position vector, \(\mathbf{X}_{1}\), from the desired position vector, \(\mathbf{P}_{d}\):  
\[\mathbf{e}_{1}=\mathbf{X}_{1}-\mathbf{P}_{d} \tag{23}\]  
Thus, the derivative of \(\mathbf{e}_{1}\) is  
\[\dot{\mathbf{e}}_{1}=\mathbf{X}_{2}-\dot{\mathbf{P}}_{d} \tag{24}\]  
A virtual control law for (24) is constructed as  
\[\bar{\mathbf{X}}_{2}=-k_{1}(\mathbf{X}_{1}-\mathbf{P}_{d})+\dot{\mathbf{P}}_{d} \tag{25}\]  
where \(k_{1}\in\mathbb{R}^{+}\) is a controller gain. The approximation of \(\hat{\mathbf{X}}_{2}\) is computed by making use of the following first-order low-pass filter (LPF) [54],  
\[\tau_{2}\hat{\mathbf{X}}_{2f}+\mathbf{X}_{2f}=\bar{\mathbf{X}}_{2} \tag{26}\]  
where \(\tau_{2}\in\mathbb{R}^{+}\). Then,  
\[\hat{\mathbf{X}}_{2}=\hat{\mathbf{X}}_{2f}+\epsilon_{2} \tag{27}\]with the approximation error \(e_{2}\) satisfying \(\parallel e_{2}\parallel\leq E_{2}\in\mathbb{R}^{+}\). Next, we consider the velocity tracking error as  
\[\mathbf{e}_{2}=\mathbf{X}_{2}-\tilde{\mathbf{X}}_{2} \tag{28}\]  
Taking derivative of \(\mathbf{e}_{2}\) gives  
\[\dot{\mathbf{e}}_{2}=\dot{\mathbf{X}}_{2}-\dot{\mathbf{X}}_{2}=\mathbf{X}_{3}+f_{2}(\mathbf{X}_{2}) +\mathbf{F}(\mathbf{X}_{4})-\dot{\mathbf{X}}_{2} \tag{29}\]  
To address the control input saturation corresponding to \(u_{1}\), let us consider the following Lyapunov candidate function,  
\[V_{2}=\frac{1}{2}(\mathbf{e}_{2}-\mathbf{\xi}_{1})^{T}(\mathbf{e}_{2}-\mathbf{\xi}_{1})+\frac{ 1}{2}\mathbf{\xi}_{1}^{T}\mathbf{\xi}_{1} \tag{30}\]  
where, \(\mathbf{\xi}_{1}\) is an auxiliary variable relating to the control input saturation and its dynamics will be designed later. Differentiating Equation (30) yields  
\[\dot{V}_{2}=(\mathbf{e}_{2}-\mathbf{\xi}_{1})^{T}(\dot{\mathbf{e}}_{2}-\dot{\mathbf{\xi}}_{1}) +\mathbf{\xi}_{1}^{T}\mathbf{\xi}_{1} \tag{31}\]  
Substituting Equation (29) into (31) gives  
\[\dot{V}_{2}=(\mathbf{e}_{2}-\mathbf{\xi}_{1})^{T}(\mathbf{X}_{3}+f_{2}(\mathbf{X}_{2})+\mathbf{F}( \mathbf{X}_{4})-\mathbf{\hat{X}}_{2}-\mathbf{\xi}_{1})+\mathbf{\xi}^{T}\mathbf{\xi} \tag{32}\]  
For the \(\dot{V}_{2}\) to be negative definite, the virtual control vector \(\mathbf{F}\) and the dynamics of \(\mathbf{\xi}_{1}\) are designed as  
\[ \begin{cases}\mathbf{F}=-f_{2}(\hat{\mathbf{X}}_{2})-k_{2}(\hat{\mathbf{X}}_{2}-\mathbf{\bar{X }}_{2}-\mathbf{\xi}_{1})-\hat{\mathbf{X}}_{3}+\dot{\mathbf{X}}_{2f}+\dot{\mathbf{\xi}}_{1}\\ \mathbf{\xi}_{1}=-k_{3}\mathbf{\xi}_{1}+\Delta\mathbf{F}\end{cases}  \tag{33}\]  
where \(k_{2},k_{3}\in\mathbb{R}^{+}\) and \(\Delta\mathbf{F}=\text{sat}(\mathbf{F})-\mathbf{F}\). Here, note that \(\mathbf{F}(\mathbf{X}_{4})=(\mathbf{B}_{1}u_{1}-\mathbf{G})/m\) and assuming that \(\Delta\mathbf{F}\) satisfies \(\parallel\Delta\mathbf{F}\parallel\leq v_{1}\) with \(v_{1}\in\mathbb{R}^{+}\). Now, the thrust force \(u_{1}\) and the desired values of roll and pitch angles, i.e., \(\phi_{d}\) and \(\theta_{d}\), can be calculated from the following equation. \[\mathbf{F}= \begin{bmatrix}F_{1}\\ F_{2}\\ F_{3}\end{bmatrix} = \begin{bmatrix}\frac{u_{1}}{m}[c(\phi_{d})s(\theta_{d})c( \psi_{d})+s(\phi_{d})s(\psi_{d})]\\ \frac{u_{1}}{m}[s(\phi_{d})s(\theta_{d})c(\psi_{d})-c(\phi_{d})s(\psi_{d}))]\\ \frac{u_{1}}{m}[c(\phi_{d})c(\theta_{d})]-g\end{bmatrix}