Control of a quadrotor group based on maximum hands-off distributed control

: This paper presents the implementation of maximum hands-off distributed control in a quadrotor group. We assume that individual quadrotors can only communicate with neighbouring quadrotors to obtain state information and do not know the state of the whole group. The maximum hands-off distributed control is an extension of the consensus control using sparse optimal control. It converges the state of a group using only local information while maximising the time when the control input is zero by optimising the consensus control input through sparse optimisation. This minimises the time required for control and reduces energy consumption. We applied this control to a four-quadrotor group using MATLAB and CoppeliaSim simulations. The results confirm that the four quadrotors converged to the same state and the control inputs became sparse. Experiments using four small Tello EDU quadrotors further confirmed that they could reach the same altitude using the maximum hands-off distributed controller.


Introduction
The number of situations that require quadrotors as a group is increasing.The principal applications of multiple quadrotors include support in disaster situations, providing infrastructure, and patrols (Chen et al., 2020;Shakhatreh et al., 2016;Cheng et al., 2019;Trotta et al., 2020).The use of a group of quadrotors has the following merits: 1 even if the capabilities of an individual quadrotor are low, many quadrotors can be used to cover other capabilities and achieve the same task 2 even if some quadrotors fail, other quadrotors can continue to perform a task 3 a group of quadrotors can efficiently perform a shared task in parallel.
Sometimes, a central controller is used to control the quadrotor group.In this case, the central controller collects the state information, calculates the control inputs, and sends them to all the quadrotors in the group.However, if the number of quadrotors in a group increases, the communication and computational costs of the central controller also increase proportionally.Thus, it is desirable for each quadrotor to calculate the control input using only the information obtained from their mounted sensors.Groups of living things, such as ants or birds, can make decisions for themselves by collecting information using their sensory organs and constructing a group without a central controller (Hinchey et al., 2007;Slowik and Kwasnicka, 2018).Methods of controlling a group constructed by agents without a central controller (multi-agent systems) have been widely researched in the robotics and communication fields as distributed control frameworks (Bandyopadhyay et al., 2017;Oh et al., 2015;Ren et al., 2005;Stone and Veloso, 2020).Here, we focus on consensus control, which is a type of distributed control (Olifati-Saber and Murray, 2004;Olifati-Saber et al., 2007;Qin et al., 2017;Ren et al., 2007).In the context of distributed control, 'reach a consensus' is a situation in which the states of all agents in a group have converged to the same state.The control for reaching a consensus is called 'consensus control'.Ikeda et al. (2019) proposed a maximum hands-off distributed control, which is an extended version of consensus control for a multi-agent system.The concept of maximum hands-off control, which is also called sparse optimal control or dynamical sparse modelling (Ikeda and Nagahara, 2021;Nagahara et al., 2015;Nagahara, 2020), is introduced into the consensus control method for maximum hands-off distributed control.The maximum hands-off distributed control calculates the consensus control input (the control input for reaching a consensus) and optimises it with respect to time using the L 0 norm to maximise the time when the control input is zero.Thus, the time needed for control is minimised, which reduces the energy required for control compared with standard consensus control.Generally, it is not easy to optimise the L 0 norm, especially when the controlled system is nonlinear.However, if the control input consists of only 0 or ±1, the L 0 -optimised control input becomes the same as the L 1 -optimised control input, which can be solved easily.
In this study, we apply maximum hands-off distributed control to a quadrotor group.Specifically, we consider a controlled system of four quadrotors, use maximum hands-off distributed control to control their altitudes and horizontal directions, and confirm that this quadrotor group can reach a consensus.Moreover, we confirmed that the control inputs were sparse in the time direction.Each quadrotor can communicate only with neighbouring quadrotors to obtain state information.The usefulness of the maximum hands-off distributed control was confirmed by simulations using MATLAB and CoppeliaSim and an actual experiment using Tello EDUs, which are small quadrotors, as shown in Figure 1.The contribution of this study is the application of maximum hands-off distributed control (which has not yet been applied to a specific controlled object) in a quadrotor group and the evaluation of the behaviour of quadrotors.The remain of this paper is organised as follows.Section 2 describes the consensus control and its extension to the maximum hands-off distributed control.Section 3 presents the MATLAB simulation results.Here, the model of a quadrotor is simplified, and its dynamics are not considered.Section 4 presents the simulation results obtained using CoppeliaSim.In these simulations, the dynamics of the quadrotor are considered in detail.Section 5 describes the experiment using the Tello EDU quadrotors.Finally, Section 6 concludes the study.

Maximum hands-off distributed control
In maximum hands-off control, the definition of sparsity is expanded, and the control input with sparsity in the time dimension is calculated by taking the L 0 norm of the control input.First, the consensus control input for each quadrotor to reach a consensus was determined.Next, the maximum hands-off distributed control input was calculated by optimising the consensus control input using the L 0 norm over the sampling period.In the following subsections, the details of the consensus control and maximum hands-off distributed control are described.

Consensus control of a multi-agent system
A multi-agent system is composed of multiple agents that can make decisions and move autonomously.In this study, we assumed that the agents are quadrotors.
Consensus control is a basic control method that multi-agent systems can use to converge the states of all agents (e.g., position, orientation, and speed) to the same state using distributed control.In this study, we assumed that N agents exist.The i th agent determines the control input u i = [u 1,i , ..., u D,i ] T for itself using its state x i = [x 1,i , ..., x D,i ] T and state x j of the j th neighbouring agent j ∈ N (i).Here, D denotes the dimension of the state, N (i) is the set of neighbours of the i th agent, and the i th agent can obtain only the information of the j th agent (j ∈ N (i)).Then, the dynamics of the i th agent are expressed as where x 0i is the initial state.The states of the agents were observed at every sampling period, T > 0. Each agent determines the consensus control input for the time interval t ∈ [kT, (k + 1)T ) using its state x i (t) at time t = kT (k = 0, 1, 2, ...).The consensus control input u i (t) was calculated as follows: Note that ϵ is the constant gain used to adjust the size of the control input.

Extension to maximum hands-off distributed control
Now, we optimise the derived consensus control input u i (t) for the i th agent using the maximum hands-off control (Ikeda et al., 2019;Nagahara et al., 2015).We set the discretisation rate to ∆t and optimise the T /∆t discrete control inputs over duration kT to (k + 1)T to obtain the optimal control input sequence U * i (kT ) = (u * i (kT ), u * i (kT + ∆t), ..., u * i ((k + 1)T )).Note that k = 0, 1, 2, ..., and T /∆t is assumed to be a natural number.Here, we assume that each element u * d,i (t)d = 1, ..., D of u * i (t) has a maximum value constraint at t = kT, kT + ∆t, kT + 2∆t, ..., (k + 1)T as follows: We then define the L 0 norm of the function f (t) over the time span [kT, (k + 1)T ] as Minimising the L 0 norm of the control input u d,i is equivalent to maximising the time when the control inputs are zero during [kT, (k + 1)T ).Therefore, the maximum hands-off distributed control input is calculated by minimising ∥u d,i (• + kT )∥ 0 , which is the L 0 norm of each element of the consensus control input u i (t) calculated using equation (2).Typically, the L 0 -norm minimisation problem is difficult to solve, particularly when the system is non-convex.However, if the control inputs consist of only the values 0 or ±1, the L 0 -optimal control input becomes the same as the L 1 optimal control input and can be calculated easily (Ikeda et al., 2019;Nagahara et al., 2015).The algorithm for maximum hands-off distributed control is shown in Algorithm 1.

MATLAB simulations
In this section, we confirm that these quadrotors can reach a consensus with respect to the altitude and horizontal direction in simulations using MATLAB.Here, we considered a group of four quadrotors.The quadrotors had the communication constraints shown in Figure 2 for each quadrotor i, where i ∈ {1, 2, 3, 4} and the arrows show the communication direction.Each quadrotor sent its position information to the next quadrotor, as indicated by the arrows.In this simulation, we assumed that the dynamical model of the quadrotors is given by equation ( 1).The states of the quadrotors were updated using the following formula: Here, i = 1, 2, ..., N , k = 0, 1, 2, ..., and n = 0, 1, ..., T /∆t − 1.The results are shown in Figures 3 and 4. Figure 3 shows the time responses of the altitudes of the quadrotors, which are differentiated by colour.As shown in the figure, the quadrotors started at different altitudes, which became more similar over time and finally converged to a single value.For example, quadrotor 1, shown by the red line, moved following quadrotor 2, as shown by the blue line, because quadrotor 1 referred only to the state of quadrotor 2, as shown in the communication graph.Here, the sampling period was set to 1 [s].Therefore, each quadrotor updated the state of the other quadrotor every 1 [s] and then updated the consensus control input.Each quadrotor stayed at the current position while waiting for information from the other quadrotor.Thus, the trajectory graph has an angular shape.Figure 4 shows the time response of the control inputs for each quadrotor, where the colours match those of the quadrotors in Figure 3.The control inputs comprised the value ±1 for the minimum necessary time and 0 for other times.Thus, it was confirmed that the control inputs were sparse in the time dimension.

Altitude and horizontal position control
This simulation demonstrates that the altitude and horizontal (X) positions of the four quadrotors can be converged.Each quadrotor moved at different depth (Y ) positions.Therefore, the quadrotors could not collide with each other even if they reached the same altitude and X position.For this state, dimension D = 2 because only the altitude and X positions were controlled.For the four quadrotors, the initial states of the horizontal positions were

CoppeliaSim simulations
In the MATLAB simulation, a simplified model was used to calculate the quadrotor movement.In this section, we describe the use of maximum hands-off distributed control in four quadrotors using CoppeliaSim (which is a tool for robotic dynamics simulation) and evaluate the performance of the controller with a more realistic quadrotor model.
Here, we used the standard quadrotor model provided by CoppeliaSim.This model is equipped with a simple PD position controller that can be easily controlled by specifying the position of the corresponding target ball.First, we connected MATLAB and CoppeliaSim for mutual communication using the MATLAB application programming interface function.Second, the information of the quadrotors in CoppeliaSim was sent to MATLAB, and the control inputs were calculated using MATLAB.Finally, the calculated control inputs were returned to the quadrotors in CoppeliaSim.The control inputs for the four quadrotors were separately calculated on one machine to simulate a distributed control situation.The control input was given as the target position.Figure 8 shows the four flying quadrotors in the simulation environment of CoppeliaSim.

Altitude control
The initial states of the four quadrotors were set to x(0) = [5, 1, 7, 3] T [m], and the gain for adjusting the size of the control input was set to ϵ = 0.5.The discretisation rate was ∆t = 0.05 [s] and the sampling period was T = 1 [s].Thus, each quadrotor received the position information from the connected quadrotor every 1 [s], calculated T /∆t = 20 control inputs as a sequence, and moved during the next 1 [s] using the control inputs.By repeating this procedure, the quadrotors reached a consensus.

Altitude and horizontal position control
The initial states of the horizontal positions of the four quadrotors were  Figure 10 shows the time response of the trajectories of each quadrotor in CoppeliaSim.Figure 11 shows the same results shown in Figure 10, but the 3D graph is divided into 2D graphs for altitude and horizontal position.As shown in the figures, the X position oscillated more than the altitude.This is because a quadrotor easily slips when it performs lateral motion.However, the quadrotors finally reached a consensus.

Real experiments
In this section, we present the results of a real experiment using four Tello EDUs developed by Shenzhen Ryze Technology Co., Ltd., as shown in A Tello EDU is equipped with a camera and sensors, and it can localise its position and determine its state.
In addition, a Tello EDU can be connected to Wi-Fi and the simultaneous flight of several quadrotors can be realised through a router.These systems were implemented in Python software.Conventional consensus control does not require a central controller and assumes that the agents communicate directly with each other; however, a Tello EDU cannot communicate with other Tello EDUs directly.Therefore, in this experiment, we used a router and a laptop PC to calculate the control inputs and send them to the quadrotors, thus artificially limiting the communication, as shown in Figure 2.
In this simulation, we evaluated the behaviour of the quadrotors when maximum hands-off consensus control was applied to their altitudes.The initial altitudes of the four quadrotors were x(0) = [0.5, 2.0, 1.7, 0.7] T [m], and the gain for adjusting the size of the control input was set to ϵ = 0.8.The discretisation rate was ∆t = 0.02 [s] and the sampling period was T = 1 [s].Figure 13 shows the time response of the altitude of each quadrotor in the actual experiments.The altitude was measured using a sensor mounted on each Tello EDU.The trajectories of the quadrotors are shown in different colours.
In the actual experiments, the altitudes of the quadrotors eventually converged to almost the same altitude as that observed in the simulation.Here, the time response was slower than the simulation because the quadrotors sometimes failed to send or receive the state information and needed to wait for communication with other quadrotors to be completed.Sometimes the communication time delay also occurred, but it did not affect the convergence in this experiment.In addition, the trajectory of quadrotor 1 (i = 1, unit 1; indicated by the red line) converged to an altitude of approximately 0.1 m, which was far from the converged altitude of the other quadrotors.We speculate that quadrotor 1 could not reach the converged altitude either because there was blow-back from the wall or because a Tello EDU cannot perform fine movements.However, it can be considered that the quadrotors reached a consensus as a whole.From the above, we confirm that the maximum hands-off distributed control can converge the states of the quadrotors in an actual experiment.

Conclusions
In this study, we implemented the maximum hands-off distributed control for a quadrotor group, in which individual quadrotors can only communicate with the specified quadrotor to obtain the state information.We considered a group of four quadrotors and applied maximum hands-off distributed control in simulation environments based on MATLAB and CoppeliaSim.The results confirm that the four quadrotors finally converge to the same state, and the control inputs become sparse.Specifically, the time at which the control input is zero is maximised to reduce the energy needed for the control.
In addition, we experimented using a group of four Tello EDU quadrotors and confirmed that the four quadrotors converged to the same altitude using the maximum hands-off distributed controller.
In future work, we will consider dynamic changes in the communication graph.We considered a static communication graph; however, it is effective to change the communication graph dynamically to ensure that each quadrotor receives information from the nearest quadrotor instead of the specified quadrotor.This is also effective for the case in which a quadrotor in the group is broken.

Figure 1
Figure 1 Tello EDU quadrotors (see online version for colours)

Figure 2
Figure 2 Direction of agent communication

Figure 5 Figure 6
Figure 5 Time response of the altitude and X positions of each quadrotor in simulation by MATLAB (see online version for colours)

Figure 7
Figure 7 Altitude directional control inputs for each quadrotor corresponding to Figure 5 (see online version for colours)

Figure 10
Figure 10 Time response of the trajectories of each quadrotor in the CoppeliaSim simulation (see online version for colours) Figure 1.The experimental environment is illustrated in Figure 12.The size of a Tello EDU is 98 [mm] × 92.5 [mm] × 41 [mm], and its weight, including the battery, is 87 [g].

Figure 11
Figure 11 Time response of altitude and X positions according to Figure 10 (see online version for colours)

Figure 12 Figure 13
Figure 12 Actual experimental environment (see online version for colours)