# Quadrotor Formation Strategies Based on Distributed Consensus and Model Predictive Controls
## 2 Background  
Various methodologies of formation control have been proposed in recent years. For example, the backstepping method considering the nonlinear quadrotor model [7; 8], linear quadratic control considering the linear quadrotor model [2], consensus control, and MPC [9]. In the field of consensus formation control, a comparative review of the latest trends has been carried out in Reference [10]. The author of Reference [11] provides a theoretical framework for analyzing the consensus algorithms for multiagent networked systems. Furthermore, a consensus algorithm for a second-order system is proposed in Reference [12]. This study is motivated by the results in Reference [13], in which the authors propose a formation-control method using decentralized MPC and consensus-based control. First, the leader computes all of the followers' reference trajectories using a consensus-based algorithm, and transmits the trajectories to the followers according to the proposed network structure (Figure 1a). Then, each follower tracks its reference trajectory using the MPC. In this study, the consensus-based algorithm is moved into the follower's formation strategy in order to minimize the data that are transmitted around the network. The distributed network structure in Figure 1b is considered. In the horizontal motion, the leader tracks the given waypoints by using the MPC, and generates the desired formation trajectory of each follower based on its flight information, predicted trajectory, and the given formation pattern. The leader transmits the desired formation trajectories to the followers but does not receive any data from the followers. Moreover, the desired formation trajectory of each follower contains only the information of where the follower should be, that is, the desired position over the predicted time horizon. In the vertical motion, the leader tracks  
Figure 1: Network structure comparison: (**a**) network structure adopted in Reference [13]; (**b**) network structure adopted in this study. the desired altitude and climb rate by using the MPC, and generates the desired formation trajectory for each follower. Likewise, the desired formation trajectory for each follower in the vertical motion only contains the information of the desired altitude. The follower's formation control in the horizontal motion is carried out based on the distributed consensus control and the MPC. Consensus control requires the information of the desired velocity, attitude, and angular velocity. However, the desired formation trajectory of each follower generated by the leader does not contain this information. Therefore, an algorithm using a finite difference method is added to the formation strategy in the horizontal motion to generate the desired information from the desired formation trajectory required by the consensus control. Once the complete desired formation trajectory is generated, the formation control engages. The consensus control generates the flight paths of the follower under consideration and the other followers that are connected to it in the proposed network structure. However, the flight paths of other followers are not used by the proposed formation strategy of the follower under consideration. Despite that these paths might be valuable in cases such as interruption of communication or a collision-avoidance situation, they are beyond the scope of this study. The flight path of the follower under consideration is passed to the MPC. The MPC tracks the flight path and computes control inputs based on the unconstrained QP problem derived from the LQT. In the vertical motion, the LQT requires the information of the desired vertical velocity that is not included in the desired formation trajectory generated by the leader. Likewise, an algorithm using a finite-difference method is added to the formation strategy in the vertical motion to generate the desired information from the desired formation trajectory required by the LQT.