## 4 Application to Multiple Quadcopter Systems
### Quadcopter Dynamics  
Let us take into account the \(i\)th individual quadcopter with body frame \(\{Oxyz\}_{B}\), position \(p_{i}(t)=\big{[}p_{x,i}(t),p_{y,i}(t),\,p_{z,i}(t)\big{]}^{T}\in\mathbb{R}^{3}\), and velocity \(v_{i}(t)=\big{[}v_{x,i}(t),\,v_{y,i}(t),\,v_{z,i}(t)\big{]}^{T}\in\mathbb{R}^{3}\) in the Earth-fixed frame \(\{Oxyz\}_{E}\). To be specific, the plus-configuration setup and all parameters of the \(i\)th quadcopter are presented in Figure 2 and Table 1, respectively. In addition, \(\phi_{i}(t)\), \(\theta_{i}(t)\), and \(\psi_{i}(t)\) denote the roll, pitch, and yaw angle in the Earth-fixed frame, while \(\
u_{p,i}(t)\), \(\
u_{q,i}(t)\), and \(\
u_{r,i}(t)\) stand for the angular rates in the body frame obtained from an attached inertial measurement unit (IMU) in the quadcopter. By setting each rotor speed \(\omega_{ki}(t)\) for \(k=\{1,2,3,4\}\) with thrust \(b_{i}\) and drag coefficients \(d_{i}\), the allocation control is given by Equation (34), in which \(U_{1i}(t)\) generates a lift force, while the others create rotation moments. \[\left\{ \begin{array}{l}U_{1i}(t)=b_{i}\left(\omega_{1i}^{2}(t)+\omega_{2i}^{2 }(t)+\omega_{3i}^{2}(t)+\omega_{4i}^{2}(t)\right),\\ U_{2i}(t)=b_{i}l_{i}\left(-\omega_{2i}^{2}(t)+\omega_{4i}^{2}(t)\right),\\ U_{3i}(t)=b_{i}l_{i}\left(\omega_{1i}^{2}(t)-\omega_{3i}^{2}(t)\right),\\ U_{4i}(t)=d_{i}l_{i}\left(-\omega_{1i}^{2}(t)+\omega_{2i}^{2}(t)-\omega_{3i}^ {2}(t)+\omega_{4i}^{2}(t)\right),\end{array} \right. \tag{34}\]  
The rotation matrix \(R_{B}^{E}\left(\phi_{i}(t),\theta_{i}(t),\psi_{i}(t)\right)\) from the body to the Earth-fixed frame:  
\[R_{B}^{E}\left(\phi_{i}(t),\theta_{i}(t),\psi_{i}(t)\right)=\left[ \begin{array} []{ccc}c\psi_{i}c\theta_{i}&c\psi_{i}s\theta_{i}s\phi_{i}-s\psi_{i}c\phi_{i}&c \psi_{i}s\theta_{i}c\phi_{i}+s\psi_{i}s\phi_{i}\\ s\psi_{i}c\theta_{i}&s\psi_{i}s\theta_{i}s\phi_{i}+c\psi_{i}c\phi_{i}&s\psi_{i}s \theta_{i}c\phi_{i}-c\psi_{i}s\phi_{i}\\ -s\theta_{i}&c\theta_{i}s\phi_{i}&c\theta_{i}c\phi_{i}\end{array} \right], \tag{35}\] \begin{table}
\begin{tabular}{c c c} \hline \hline
**Definition** & **Symbol** & **Unit** \\ \hline Mass of quadcopter & \(m_{i}\) & kg \\ Gravitational accelerator & \(g\) & m\(\cdot\)s\({}^{-2}\) \\ Arm length & \(l_{i}\) & m \\ Thrust coefficient & \(b_{i}\) & N\(\cdot\)s\({}^{2}\)-rad\({}^{-2}\) \\ Drag coefficient & \(d_{i}\) & N\(\cdot\)s\({}^{2}\)-rad\({}^{-2}\) \\ Moment of inertia along \(x\)-axis & \(\mathcal{I}_{x,i}\) & kg\(\cdot\)m\({}^{2}\) \\ Moment of inertia along \(y\)-axis & \(\mathcal{I}_{y,i}\) & kg\(\cdot\)m\({}^{2}\) \\ Moment of inertia along \(z\)-axis & \(\mathcal{I}_{z,i}\) & kg\(\cdot\)m\({}^{2}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: The quadcopter parameters. Figure 2: Plus-configuration of a quadcopter. As a result, the angular rates \(\
u_{p,i}(t)\), \(\
u_{q,i}(t)\), and \(\
u_{r,i}(t)\) in the body frame can be transformed from the Euler angle rate in the Earth-fixed frame:  
\[\left[ \begin{array}{c}\
u_{p,i}(t)\\ \
u_{q,i}(t)\\ \
u_{r,i}(t)\end{array} \right]=\left[ \begin{array}{ccc}1&0&-s\theta_{i}\\ 0&c\phi_{i}&s\phi_{i}c\phi_{i}\\ 0&-s\phi_{i}&c\phi_{i}c\phi_{i}\end{array} \right]\left[ \begin{array}{c}\phi_ {i}(t)\\ \dot{\theta}_{i}(t)\\ \dot{\psi}_{i}(t)\end{array} \right]. \tag{36}\]  
By using the Euler-Lagrange equations, the quadcopter dynamics model is given as:  
\[\left[ \begin{array}{c}\ddot{p}_{x,i}(t)\\ \ddot{p}_{y,i}(t)\\ \ddot{p}_{z,i}(t)\end{array} \right]=-G+\frac{U_{1i}(t)}{m_{i}}\left[ \begin{array} []{c}c\dot{\psi}_{i}s\theta_{i}c\phi_{i}+s\dot{\psi}_{i}s\phi_{i}\\ s\dot{\psi}_{i}s\theta_{i}c\phi_{i}-c\dot{\psi}_{i}s\phi_{i}\\ c\theta_{i}c\phi_{i}\end{array} \right], \tag{37}\] \[\left[ \begin{array}{c}U_{2i}(t)\\ U_{3i}(t)\\ U_{4i}(t)\end{array} \right]=\mathcal{I}_{B,i}\left[ \begin{array}{c}\dot{\
u}_ {p,i}(t)\\ \dot{\
u}_{q,i}(t)\\ \dot{\
u}_{r,i}(t)\end{array} \right]+\left[ \begin{array}{c}\
u_{p,i}(t)\\ \
u_{q,i}(t)\\ \
u_{r,i}(t)\end{array} \right]\times\left(\mathcal{I}_{B,i}\left[