## 3 Aggressive Control of Quadrotors with Extended Finite-Time Observer
### Quadrotor Model
Therefore, the translational motion of quadrotor is generated by implicitly controlling its attitude (pitch and roll). This fact can be observed from (5), where the translation is controlled by the rotational angles. In general, the control of the quadrotor is composed of inner and outer loop controllers, in which the outer loop is the translation control and the inner loop is the rotation control. Within this control framework, the control output of the outer loop is treated as an input of the rotational control loop. Nevertheless, in this paper, the idea is to get rid of the structure of inner-outer-loop control, we use the theory of flatness to directly design the torques of the quadrotor. We assume that \(\theta\
eq\pm\frac{\pi}{2}\). According to (3), (5), and (7) the quadrotor dynamics in inertial frame is represented in state space as Equation (8). We denote the state of a quadrotor \(i\) by \(\varkappa_{i}\in\mathbb{R}^{12}\), which is defined by \(\varkappa_{i}=[\mathcal{X}_{i}^{T},\mathcal{X}_{i}^{T},\Theta_{i}^{T},\Theta_ {i}^{T}]^{T}\). We denote the control input of the quadrotor \(i\) by \(u_{i}=[F_{t_{i}},\tau_{i}^{T}]^{T}\in\mathbb{R}^{4}\). The state space quadrotor \(i\) dynamics is given by  
\[\varkappa_{i}=\mathbf{f}(\varkappa_{i})+\mathbf{g}(\varkappa_{i})u_{i} \tag{8}\]  
where \(\mathbf{f}:\mathbb{R}^{12}\rightarrow\mathbb{R}^{12\times 12}\) and \(\mathbf{g}:\mathbb{R}^{12}\rightarrow\mathbb{R}^{12\times 4}\) satisfy  
\[\mathbf{f}(\varkappa_{i})= \begin{bmatrix}\dot{X}_{i}\\ g\mathbf{e}_{3}\\ \dot{\Theta}_{i}\\ \dot{T}_{i}\cdot\begin{bmatrix}\dot{\phi}_{i}\dot{\theta}_{i}\\ \dot{\theta}_{i}\dot{\psi}_{i}\end{bmatrix}+(JT_{i})^{-1}\mathbf{S}^{T}(T_{i} \cdot\dot{\Theta}_{i})JT_{i}\cdot\dot{\Theta}_{i}\end{bmatrix} \quad\mathbf{g}( \varkappa_{i})= \begin{bmatrix}\mathbf{0}_{3\times 1}&\mathbf{0}_{3\times 3}\\ -\frac{1}{m}R_{i}\mathbf{e}_{3}&\mathbf{0}_{3\times 3}\\ \mathbf{0}_{3\times 1}&\mathbf{0}_{3\times 3}\\ \mathbf{0}_{3\times 1}&(JT_{i})^{-1}\end{bmatrix} \]  
The output vector \(y_{i}\) of the quadrotor \(i\) is composed by the positions, linear velocities, angles, and the angular velocities, which will be used in the controller design. Then, \(y_{i}\) is given as follows  
\[y_{i}=C_{i}\varkappa_{i} \tag{9}\]where \(C_{i}= \begin{bmatrix}C^{t}\\ C^{t}_{i}\end{bmatrix} \). Matrix \(C_{i}\) is divided into two parts as follows  
\[C^{t}= \begin{bmatrix}I_{3}\\ \mathbf{0}_{3\times 3}\end{bmatrix} \ \ \ \mathbf{0}_{6\times 9}\end{bmatrix}\text{ and }C^{t}_{i}= \begin{bmatrix}\mathbf{0}_{6\times 6} &\begin{bmatrix}I_{3}&\mathbf{0}_{3\times 3}\\ \mathbf{0}_{3\times 3}&T_{i}\end{bmatrix}\end{bmatrix} \]  
It is important to note that the translational dynamics are modeled in the inertial frame while the rotational dynamics are modeled in the body-fixed frame, although the states (\(\mathcal{X}_{i}\), \(\dot{\mathcal{X}}_{i}\), \(\Theta_{i}\) and \(\Theta_{i}\)) of the quadrotor model (8) are represented in the inertial frame. Indeed, in the body-fixed frame, the inertia matrix \(J\) is diagonal and then the rotational dynamics are easier to calculate than in the inertial frame, where \(J\) is not diagonal and time-variant. Note that in this work, the dynamics of the motors are omitted for the sake of simplicity. The identification of the quadrotor parameters is not detailed here. Therefore, in the sequel, the parameters of the quadrotor, such as mass, inertias, and physical size are supposed to be known. For a quadrotor system, the flat output can be selected according to the following proposition. The vector \(\digamma_{i}=[\mathcal{X}_{i}^{T},\psi_{i}]^{T}\) is a flat output of system (8). Proof. : See Appendix A.1.