# Event-Based Formation Control of Multiple Quadrotors on SO(3)

Authors: Chaoyang Dong; Mingyu Ma; Qing Wang; Siqian Ma
Journal: Mathematical Problems in Engineering
 (2018)

---

## Abstract

This paper is concerned with the formation problem of multiple quadrotors, and an event-based control strategy is proposed. The communication topology and relative positions of formation are first considered, and then the model of multiple quadrotors system is developed on the special orthogonal group SO(3). By designing the trigger function, certain events are generated for each quadrotor. Then, the formation controller is driven to update its parameters according to the events. The attitude controller on SO(3) is designed for tracking of the command and stabilization. By the proposed method continuous communication is not required between quadrotors, and it is proved that the quadrotors could achieve the desired formation. Simulation illustrates that the proposed event-based formation control method is effective.


---

## Body

## 1. Introduction

A team of multiple flight vehicles could have more flexibility, reliability, and efficiency over single vehicle, especially in difficult tasks like search, mapping, and attack missions. Therefore, formation control of multiple vehicles has attracted considerable attention for study [1–3]. As a typical unmanned aerial vehicle (UAV), a quadrotor has simple mechanical and flexible maneuverability. Therefore, quadrotor is usually used as the platform for formation control [4], and various types of implementation and applications such as surveillance [5], fault diagnosis [6], and fault-tolerant control [7] have also been investigated.As a representative approach, formation control problem in several works [8–10] is studied through kinematics. That is, the quadrotor is considered as a point, and its model is double integrators with position and velocity. The quadrotors formation is studied in [9] through the second-order multiagent system. Similar model is adopted in [10], and the consensus protocol is used for formation. However, the control system of the quadrotor is nonlinear. Its thrust and attitude are coupled. Thus, the dynamics of each quadrotor cannot be easily neglected. Formation control of multiple quadrotors with attitude dynamics can be found in [11–13]. The consensus protocol is used for position control in [11], and it is then transformed as the attitude commands in the form of Euler angles. In [12], the thrust and attitude controllers were studied through dynamic surface control method, with both leader-follower and leaderless cases. The potential functions were proposed for the quadrotors formation in [13]. It also uses repulsive functions to guarantee obstacle avoidance.Nonetheless, in the referred works [11–13] the dynamics of quadrotor is described with pitch/yaw/roll angles, and then the attitude commands and controllers are developed separately for each angle. It should be noticed that when the pitch angle is 90 degrees, the attitude system described by Euler angles would become singular [14]. This would cause the failure of the controller, so the methods using pitch/yaw/roll angles may not be applicable for large maneuver of quadrotors. To solve this problem, control methods on special orthogonal group SO(3) for single quadrotor were proposed in [15]. In SO(3) this singularity could be avoided by proper design, and the attitude can be modeled and controlled coherently. For single quadrotor, a globally defined model on SO(3) is introduced in [15, 16], and based on it the geometric tracking controller is provided. In [17] the proportional-derivative control on SO(3) was presented with disturbance compensation. The attitude dynamics was regarded as second-order systems on SO(3) in [18], and the coordinated attitude control of rigid bodies is studied with undirected communication topology.It should be also noticed that continuous information exchange between quadrotors is required in the above methods, and the controller is formulated by the real-time states of its neighbors. In practical situations, the communications between quadrotors are difficult to maintain continuous. Event-based control strategy provides a solution that the update of the controller is event-triggered rather than driven by the pass of time [19, 20]. In [21, 22] event-triggered consensus was studied for the multiagent system with single-integrator dynamics. The event-based control for general linear multiagent was discussed in [23]. It provides two sufficient conditions for consensus, with or without continuous communication, and significantly decreases updates of the controller. The event was defined to be triggered at discrete sampling time instants in [24], but a clock for synchronization is necessary in each agent.Thus, it is suitable to introduce the event-based method to the formation control of quadrotors. Though there are established works on the event-based cooperative control strategy, these methods mainly focus the geometric motion of general agents. It is noted that the event-based formation control with dynamics of quadrotors onSO(3) has not been fully studied. Extending basic multiagent systems and single quadrotor to the formation control of multiple quadrotors is not a trivial task. Due to the different structure of attitude dynamics on SO(3), the event-based design and formation stability analysis would become more complex.Motivated by these ideas, this paper focuses on the multiple quadrotors system, and the dynamics of each quadrotor onSO(3) is considered. The event-based control strategy in multiagent system is introduced for quadrotors formation. Based on local information, a triggering function with time-varying threshold is proposed to generate the events. Since the states of other quadrotors cannot be obtained during nontriggering time, this paper employs the states at last triggering time instants to build dynamical models and construct the event-based formation controller. To avoid singularity, the attitude controller is formulated with the desired commands on SO(3). Then, the stability of the formation and dynamics of quadrotors are analyzed together as an entire closed-loop system. In contrast to existing methods that depend on continuous communications, the proposed event-based method only requires information exchanges when certain events are triggered. It reduces the communication loads and would be more advantageous for application. A simulation with five quadrotors formations is given to illustrate the effectiveness of the proposed method.


## 2. Preliminaries

### 2.1. Modeling of the Quadrotors Formation on SO(3)

The model of a quadrotor is illustrated in Figure1. The coordinates of the inertial frame are denoted by (x,y,z), and the directions of the three axes of the body frame are represented by b1(i), b2(i), and b3(i).Figure 1
The model of the quadrotor.The attitude describes the orientation from the body frame to inertial frame, and this rotation in three dimensions can be expressed by a rotation matrixR∈R3×3. Consider the special orthogonal group:(1)SO3=R∈R3×3∣RRT=I3,det⁡R=1.Each attitude can be mapped to an elementR in SO(3), and this mapping is bijective. Therefore, in this paper we consider R to describe the attitude of the quadrotor. For a vector Ω=ω1ω2ω3T, define the hat map as(2)Ω^=0-ω3ω2ω30-ω1-ω2ω10.Its inverse operation is called the vee map, and it is defined as(3)0-ω3ω2ω30-ω1-ω2ω10∨=ω1ω2ω3T.Lete1=100T, e2=100T, and e3=100T. According to the definition of R, the directions of bki can be described by Riek; that is, bki=Riek, k=1,2,3. Then, the thrust in inertial frame is -fiRie3. Based on these discussions, we then present the SO(3) model of the ith quadrotor:(4)p˙i=vi,miv˙i=mige3-fiRie3,R˙i=RiΩ^i,JiΩ˙i+Ωi×JiΩi=Mi,where pi and vi∈R3 are the position and velocity, respectively, mi is the mass, g is the gravity acceleration, fi=∑k=14fk(i)∈R is the total thrust, Ji∈R3 is the inertia matrix, Ωi∈R3 is the angular velocity, and Mi∈R3 is the control moment, i=1,2,…,N.Note that the total thrust and moment satisfy(5)fiM1iM2iM3i=11110-di0didi0-di0-cτficτfi-cτficτfif1if2if3if4i,where d(i) is the distance between the center of mass and center of rotor on the b1(i)-b2(i) plane. cτf(i) is a positive constant and (-1)kcτf(i)fk(i) represents the moment produced by the kth rotor. It is learned that the matrix in (5) is invertible when d(i),cτf(i)≠0. Note that by (5) each fk(i) can be calculated for given fi and Mi. Therefore, the total thrust fi and moment Mi are considered as the control inputs in this paper.


### 2.2. Communication Topology and Formation of Multiple Quadrotors

The communication topology indicates the information exchange between quadrotors, and it is described by graph theory. In this paper the information link is considered to be directed. LetG=G(V,E) be a directed graph with N nodes; each node represents one quadrotor. E=1,2,…,N is the vertex set and V=(i,j):i,j∈V is the edge set. A directed edge from i to j is denoted by the pair (i,j), and it means that the ith quadrotor can receive messages from the jth quadrotor. In this case the jth quadrotor is said to be the neighbor of ith quadrotor. The neighbor set is denoted by Ni, where Ni=j∈V∣j,i∈E. The adjacency matrix A of G is a N×N matrix, whose ijth entry aij is greater than zero if (j,i) is an edge of G and zero if it is not. The Laplacian L=[lij] is defined as follows:(6)L=lij=-aij,i≠jlii=∑j=1,j≠inaij.A directed tree is a directed graph, where every node has exactly one parent except for the root, and the root is the only node with no parent but has a direct path to every other node. A spanning tree of a digraph is a directed tree formed by graph edges that connects all the nodes of the graph.In the three-dimensional space, the formation of multiple quadrotors can be described by the relative positions between each other. As shown in Figure2, let Or be the center of the formation; ri(rj) is the vector ri(rj) that denotes the distance from the i(j)th quadrotor to Or. Therefore, the relative position of these two vehicles is rij=ri-rj. By selecting certain rij, it would formulate the desired formation.Figure 2
The relative positions between quadrotors.


## 2.1. Modeling of the Quadrotors Formation on SO(3)

The model of a quadrotor is illustrated in Figure1. The coordinates of the inertial frame are denoted by (x,y,z), and the directions of the three axes of the body frame are represented by b1(i), b2(i), and b3(i).Figure 1
The model of the quadrotor.The attitude describes the orientation from the body frame to inertial frame, and this rotation in three dimensions can be expressed by a rotation matrixR∈R3×3. Consider the special orthogonal group:(1)SO3=R∈R3×3∣RRT=I3,det⁡R=1.Each attitude can be mapped to an elementR in SO(3), and this mapping is bijective. Therefore, in this paper we consider R to describe the attitude of the quadrotor. For a vector Ω=ω1ω2ω3T, define the hat map as(2)Ω^=0-ω3ω2ω30-ω1-ω2ω10.Its inverse operation is called the vee map, and it is defined as(3)0-ω3ω2ω30-ω1-ω2ω10∨=ω1ω2ω3T.Lete1=100T, e2=100T, and e3=100T. According to the definition of R, the directions of bki can be described by Riek; that is, bki=Riek, k=1,2,3. Then, the thrust in inertial frame is -fiRie3. Based on these discussions, we then present the SO(3) model of the ith quadrotor:(4)p˙i=vi,miv˙i=mige3-fiRie3,R˙i=RiΩ^i,JiΩ˙i+Ωi×JiΩi=Mi,where pi and vi∈R3 are the position and velocity, respectively, mi is the mass, g is the gravity acceleration, fi=∑k=14fk(i)∈R is the total thrust, Ji∈R3 is the inertia matrix, Ωi∈R3 is the angular velocity, and Mi∈R3 is the control moment, i=1,2,…,N.Note that the total thrust and moment satisfy(5)fiM1iM2iM3i=11110-di0didi0-di0-cτficτfi-cτficτfif1if2if3if4i,where d(i) is the distance between the center of mass and center of rotor on the b1(i)-b2(i) plane. cτf(i) is a positive constant and (-1)kcτf(i)fk(i) represents the moment produced by the kth rotor. It is learned that the matrix in (5) is invertible when d(i),cτf(i)≠0. Note that by (5) each fk(i) can be calculated for given fi and Mi. Therefore, the total thrust fi and moment Mi are considered as the control inputs in this paper.


## 2.2. Communication Topology and Formation of Multiple Quadrotors

The communication topology indicates the information exchange between quadrotors, and it is described by graph theory. In this paper the information link is considered to be directed. LetG=G(V,E) be a directed graph with N nodes; each node represents one quadrotor. E=1,2,…,N is the vertex set and V=(i,j):i,j∈V is the edge set. A directed edge from i to j is denoted by the pair (i,j), and it means that the ith quadrotor can receive messages from the jth quadrotor. In this case the jth quadrotor is said to be the neighbor of ith quadrotor. The neighbor set is denoted by Ni, where Ni=j∈V∣j,i∈E. The adjacency matrix A of G is a N×N matrix, whose ijth entry aij is greater than zero if (j,i) is an edge of G and zero if it is not. The Laplacian L=[lij] is defined as follows:(6)L=lij=-aij,i≠jlii=∑j=1,j≠inaij.A directed tree is a directed graph, where every node has exactly one parent except for the root, and the root is the only node with no parent but has a direct path to every other node. A spanning tree of a digraph is a directed tree formed by graph edges that connects all the nodes of the graph.In the three-dimensional space, the formation of multiple quadrotors can be described by the relative positions between each other. As shown in Figure2, let Or be the center of the formation; ri(rj) is the vector ri(rj) that denotes the distance from the i(j)th quadrotor to Or. Therefore, the relative position of these two vehicles is rij=ri-rj. By selecting certain rij, it would formulate the desired formation.Figure 2
The relative positions between quadrotors.


## 3. Event-Based Formation Control Design

In this section, the event-based control strategy for quadrotors formation is presented. Each quadrotor communicates with its neighbors only when it satisfies its own trigger conditions. In nontrigger time instants, the quadrotors need no communication, and it maintains to be functional with its own controllers. Moreover, the trigger conditions of each quadrotor are allowed to be different in the proposed method, and thus the multiple quadrotors system is triggered asynchronously.


### 3.1. Design of the Event-Based Formation Control

Definesi=piTviTT, and then the dynamics of position in (4) can be rewritten in a state-space form as follows:(7)s˙i=Asi+Bui,where(8)ui=-fiRie3mi+ge3,A=03I30303,B=03I3.The event-based formation control for the thrustfi is designed as(9)fi=-mK∑j∈Niaijyijt-yit+mge3·Rie3,where (10)y˙it=Ayit,yitki=sitki-ri,y˙ijt=Ayijt,yijtki=sjtki-rj.“·” is the inner product, K∈R3×6 is the control gain, tki is thekth triggering time instant of the ith vehicle, and yij(t) is the state ofjth vehicle in the ith controller.The proposed controller uses both the statessi(t) and its neighbors sj(t). Note that the ith quadrotor can only use the discrete value sj(tki). At nontrigger times (t≠tki), the real-time values of its neighbors are unavailable and the ith controller works independently. Thus, we consider constructing virtual models yi(t) and yij(t) to replace si(t) and sj(t).To analyze the formation control system (7) with controller (9), denote(11)Fi=-miK∑j∈Niaijyijt-yit+mige3,(12)σi=fie3TRdiTRie3e3TRdiTRie3Rie3-Rdie3.Note thatfi=FiRdie3. Then, we have(13)fiRie3=fie3TRdiTRie3Rdie3+σi=FiRdie3·Rie3e3TRdiTRie3Rdie3+σi=Fi+σi.Thus, system (7) can be expressed as (14)s˙i=Asi+BK∑j∈Niaijyijt-yit+Bσimi.Letεt=ε2T(t)ε3T(t)⋯εNT(t), εi(t)=s~i(t)-s~1(t), s~i(t)=si(t)-r~i, εpt=εp2Ttεp3Tt⋯εpNTtT, and εpi(t)=Bσi/mi-Bσ1/m1. And denote the errors as ei=yi(t)-s~i(t) and eij(t)=yij(t)-s~j(t). Then, we have(15)ε˙it=s~˙it-s~˙1t=s˙it-s˙1t=Aεit+BK∑j∈Niaijs~jt-s~it+eijt-eit-BK∑j∈N1a1js~jt-s~1t+e1jt-e1t+Bσimi-Bσ1m1=A-diBKεit+BK∑j=1Naij-a1jεjt-diBKeit+d1BKe1t+∑j∈Niaijeijt-∑j∈N1a1je1jt+εpi.Thus, let e-1t=e1T(t)⋯e1T(t)T, e-2(t)=e2T(t)⋯eNT(t)T, e-11(t)=e11T(t)⋯e11T(t)T, and e-22(t)=e22T(t)⋯eNNT(t)T, where eii(t)=[eij(t)] is Ni-dimensional vectors, j∈Ni. Then, (15) can be rewritten as(16)ε˙t=IN-1⊗A-L1⊗BKεt-D2⊗BKe-2t+D1⊗BKe-1t+A2⊗BKe-22t-A1⊗BKe-11t+εpt,where(17)L1=a12+d2a13-a23⋯a1N-a2Na12-a32a13-d3⋯a1N-a3N⋮⋮⋱⋮a12-aN2a13-aN3⋯a1N+dND1=diagd1,…,d1,D2=diagd2,d3⋯dN,A1=diaga1,…,a1,A2=diaga2,…,aN,ai=aij1×Ni,j∈Ni.Next, we are to discuss the selection of the control gainK. If the graph G contains a spanning tree, then ReλiL1>0, i=1,2,…,N-1, where λi(L1) are the eigenvalues of L1. Then, let λmin=min1≤i≤N⁡Reλi>0, and consider the following algebraic Riccati equation:(18)PA+ATP-2λminPBBTP+Q=0,where Q>0 is a given matrix and P>0 is the solution of the equation. Choose K=kBTP, k≥1. Then, from (18) it can be verified that A-λi(L1)BK is Hurwitz. Further, it is known that AL=(IN-1⊗A-L1⊗BK) is also Hurwitz. Denoting the largest eigenvalue of 1/2(ALT+AL) as -λ0, it is learned that λ0>0.Based on the previous analysis, consider the bounds of (16). Then, we have(19)ε˙t≤ALεt+D2⊗BKe-2t+D1⊗BKe-1t+A2⊗BKe-22t+A1⊗BKe-11t+εpt.Note that, for the Kronecker product of two matricesA and B, the norm of it satisfies A⊗B=AB. Thus,(20)D2⊗BKe-2t+D1⊗BKe-1t≤BKdmaxe-2t+d1e-1t=BKdmax∑2NeiTteit+d1N-1e1Tte1t≤d0BKet,where d0=dmax2+d12(N-1), e(t)=[e1T(t)⋯eNT(t)]T, and dmax=max2≤i≤N⁡di.Following a similar method, we have(21)A2⊗BKe-22t+A1⊗BKe-11t≤a0BKe~t,where a0=amax2+a12(N-1), amax=max2≤i≤N,j∈Ni⁡aij, and e~t=e11T(t)⋯eNNT(t)T.Combining (20) and (21), (19) can be estimated to be (22)ε˙t≤ALεt+BKd0et+a0e~t+εpt.


### 3.2. Design of the Trigger Function

The trigger function is used to generate the events. When the states in theith quadrotor satisfy some conditions at tki, an event is triggered and the controllers are updated. Thus, the trigger function of ith quadrotor is designed as(23)git,eit,yit=ηieit+μieAt-tki-eρt-tki-12c0∑j∈Niyijt-yit2+δit,where ηi=d02+c0Ni, c0 is a constant and 2BK2c0nmax<λ0, nmax=maxNi is the maximum number of the neighbors among N quadrotors, μi=(a02+b0)∑j∈Ni(μkij)2, μkij=A0Buj(tki)/A-ρ, b0≥c0>0, δi(t)=δ0ie-βit+δ1i, and A0, ρ, δ0i, δ1i, and βi are given constants.Therefore, the trigger time instants are defined as follows:(24)tk+1i=inft>tki∣git,eit,yit>0.when t=tk+1i, the ith quadrotor updates its controller. From (23) it can be learned that after the update the trigger function became less than zero again. The trigger function keeps being negative between two successive trigger times.By models (4) and (22), it is known that if the attitude subsystem is stable, then limt→∞⁡εp(t)→0. Thus, the trajectory/formation control of the quadrotor depends on the stability of its attitude. Therefore, before conducting stability analysis of the event-based control method, in the next section we would first discuss the attitude subsystem of the quadrotor.Remark 1.
δ i ( t ) in the trigger function is designed as a time-varying threshold. It could regulate the frequency of triggering the event. In our method δi(t) is set to be in the form of δ0ie-βit+δ1i. Thus, the threshold is relatively large to prevent excessive event-triggering when the system starts; and it became smaller for better accuracy as the system converges.


## 3.1. Design of the Event-Based Formation Control

Definesi=piTviTT, and then the dynamics of position in (4) can be rewritten in a state-space form as follows:(7)s˙i=Asi+Bui,where(8)ui=-fiRie3mi+ge3,A=03I30303,B=03I3.The event-based formation control for the thrustfi is designed as(9)fi=-mK∑j∈Niaijyijt-yit+mge3·Rie3,where (10)y˙it=Ayit,yitki=sitki-ri,y˙ijt=Ayijt,yijtki=sjtki-rj.“·” is the inner product, K∈R3×6 is the control gain, tki is thekth triggering time instant of the ith vehicle, and yij(t) is the state ofjth vehicle in the ith controller.The proposed controller uses both the statessi(t) and its neighbors sj(t). Note that the ith quadrotor can only use the discrete value sj(tki). At nontrigger times (t≠tki), the real-time values of its neighbors are unavailable and the ith controller works independently. Thus, we consider constructing virtual models yi(t) and yij(t) to replace si(t) and sj(t).To analyze the formation control system (7) with controller (9), denote(11)Fi=-miK∑j∈Niaijyijt-yit+mige3,(12)σi=fie3TRdiTRie3e3TRdiTRie3Rie3-Rdie3.Note thatfi=FiRdie3. Then, we have(13)fiRie3=fie3TRdiTRie3Rdie3+σi=FiRdie3·Rie3e3TRdiTRie3Rdie3+σi=Fi+σi.Thus, system (7) can be expressed as (14)s˙i=Asi+BK∑j∈Niaijyijt-yit+Bσimi.Letεt=ε2T(t)ε3T(t)⋯εNT(t), εi(t)=s~i(t)-s~1(t), s~i(t)=si(t)-r~i, εpt=εp2Ttεp3Tt⋯εpNTtT, and εpi(t)=Bσi/mi-Bσ1/m1. And denote the errors as ei=yi(t)-s~i(t) and eij(t)=yij(t)-s~j(t). Then, we have(15)ε˙it=s~˙it-s~˙1t=s˙it-s˙1t=Aεit+BK∑j∈Niaijs~jt-s~it+eijt-eit-BK∑j∈N1a1js~jt-s~1t+e1jt-e1t+Bσimi-Bσ1m1=A-diBKεit+BK∑j=1Naij-a1jεjt-diBKeit+d1BKe1t+∑j∈Niaijeijt-∑j∈N1a1je1jt+εpi.Thus, let e-1t=e1T(t)⋯e1T(t)T, e-2(t)=e2T(t)⋯eNT(t)T, e-11(t)=e11T(t)⋯e11T(t)T, and e-22(t)=e22T(t)⋯eNNT(t)T, where eii(t)=[eij(t)] is Ni-dimensional vectors, j∈Ni. Then, (15) can be rewritten as(16)ε˙t=IN-1⊗A-L1⊗BKεt-D2⊗BKe-2t+D1⊗BKe-1t+A2⊗BKe-22t-A1⊗BKe-11t+εpt,where(17)L1=a12+d2a13-a23⋯a1N-a2Na12-a32a13-d3⋯a1N-a3N⋮⋮⋱⋮a12-aN2a13-aN3⋯a1N+dND1=diagd1,…,d1,D2=diagd2,d3⋯dN,A1=diaga1,…,a1,A2=diaga2,…,aN,ai=aij1×Ni,j∈Ni.Next, we are to discuss the selection of the control gainK. If the graph G contains a spanning tree, then ReλiL1>0, i=1,2,…,N-1, where λi(L1) are the eigenvalues of L1. Then, let λmin=min1≤i≤N⁡Reλi>0, and consider the following algebraic Riccati equation:(18)PA+ATP-2λminPBBTP+Q=0,where Q>0 is a given matrix and P>0 is the solution of the equation. Choose K=kBTP, k≥1. Then, from (18) it can be verified that A-λi(L1)BK is Hurwitz. Further, it is known that AL=(IN-1⊗A-L1⊗BK) is also Hurwitz. Denoting the largest eigenvalue of 1/2(ALT+AL) as -λ0, it is learned that λ0>0.Based on the previous analysis, consider the bounds of (16). Then, we have(19)ε˙t≤ALεt+D2⊗BKe-2t+D1⊗BKe-1t+A2⊗BKe-22t+A1⊗BKe-11t+εpt.Note that, for the Kronecker product of two matricesA and B, the norm of it satisfies A⊗B=AB. Thus,(20)D2⊗BKe-2t+D1⊗BKe-1t≤BKdmaxe-2t+d1e-1t=BKdmax∑2NeiTteit+d1N-1e1Tte1t≤d0BKet,where d0=dmax2+d12(N-1), e(t)=[e1T(t)⋯eNT(t)]T, and dmax=max2≤i≤N⁡di.Following a similar method, we have(21)A2⊗BKe-22t+A1⊗BKe-11t≤a0BKe~t,where a0=amax2+a12(N-1), amax=max2≤i≤N,j∈Ni⁡aij, and e~t=e11T(t)⋯eNNT(t)T.Combining (20) and (21), (19) can be estimated to be (22)ε˙t≤ALεt+BKd0et+a0e~t+εpt.


## 3.2. Design of the Trigger Function

The trigger function is used to generate the events. When the states in theith quadrotor satisfy some conditions at tki, an event is triggered and the controllers are updated. Thus, the trigger function of ith quadrotor is designed as(23)git,eit,yit=ηieit+μieAt-tki-eρt-tki-12c0∑j∈Niyijt-yit2+δit,where ηi=d02+c0Ni, c0 is a constant and 2BK2c0nmax<λ0, nmax=maxNi is the maximum number of the neighbors among N quadrotors, μi=(a02+b0)∑j∈Ni(μkij)2, μkij=A0Buj(tki)/A-ρ, b0≥c0>0, δi(t)=δ0ie-βit+δ1i, and A0, ρ, δ0i, δ1i, and βi are given constants.Therefore, the trigger time instants are defined as follows:(24)tk+1i=inft>tki∣git,eit,yit>0.when t=tk+1i, the ith quadrotor updates its controller. From (23) it can be learned that after the update the trigger function became less than zero again. The trigger function keeps being negative between two successive trigger times.By models (4) and (22), it is known that if the attitude subsystem is stable, then limt→∞⁡εp(t)→0. Thus, the trajectory/formation control of the quadrotor depends on the stability of its attitude. Therefore, before conducting stability analysis of the event-based control method, in the next section we would first discuss the attitude subsystem of the quadrotor.Remark 1.
δ i ( t ) in the trigger function is designed as a time-varying threshold. It could regulate the frequency of triggering the event. In our method δi(t) is set to be in the form of δ0ie-βit+δ1i. Thus, the threshold is relatively large to prevent excessive event-triggering when the system starts; and it became smaller for better accuracy as the system converges.


## 4. Attitude Control Design on SO(3)

The thrust with both its magnitude and direction determines the flight trajectory. Note that the magnitude of the thrust is given byfi, and the direction is described by b3(i)=Rie3. Therefore, the thrust in the inertial frame can be expressed as -fiRie3. In order to achieve the desired formation, the attitude needs to be adjusted to provide the correct direction. In this section the attitude commands are first discussed, and then the attitude controllers on SO(3) are proposed to track the commands and stabilize the attitude subsystem.


### 4.1. Design of the Attitude Command

The attitude command ofith vehicle is denoted by Rdi, where Rdi=b1d(i)b2d(i)b3d(i)∈SO(3). Thus, based on the thrust command fi in (9), we would design b3d(i) as follows:(25)b3di=FiFi,where Fi is defined in (11). It should be noticed that Rdi∈SO(3), which means that b1d(i), b2d(i), and b3d(i) are orthogonal to each other. Once two of the column vectors in Rdi are chosen, the third vector is then fixed. After designing the third body axis b3d(i), there is one remaining degree of freedom to adjust the attitude. Thus, we have b2d(i)=(b3d(i)×b1d(i))/b3d(i)×b1d(i), b1d(i)=b2d(i)×b3d(i).The attitude error betweenRi and Rdi on SO(3) is then defined as (26)eRi=12RdiTRi-RiTRdi∨and the tracking error of angular velocity is (27)eΩi=Ωi-RiTRdiΩdi.Next, we will discuss the dynamics ofeΩi and eRi. By noticing R˙diT=-R˙diRdiTRi and ΩdiTΩ^di=0, the derivative of eΩi is calculated as follows:(28)Jie˙Ωi=JiΩ˙i-JiddtRiTRdiΩdi+RiTRdiΩ˙di=JiΩ˙i-JiRdiTR˙i+R˙diTRiΩdi+RiTRdiΩ˙di=JiΩ˙i-JiRdiTRiΩi-RiTRdiΩdi∧Ωdi+RiTRdiΩ˙di=JiΩ˙i-JiΩdiTRdiTRie^ΩiT+RiTRdiΩ˙di=JiΩ˙i+JiΩ^iRiTRdiΩdi-RiTRdiΩ˙di=Mi-Ω^iJiΩi+JiΩ^RiTRdiΩdi-RiTRdiΩ˙di.By (26) it can be calculated that e˙Ri=C(RdiTRi)eΩi, where C(RdiTRi)=1/2(tr[RdiTRi]I3-RiTRdi) and C(RdiTRi)≤1.


### 4.2. Attitude Controller on SO(3) with Stability Analysis

The attitude controller is designed as(29)Mi=-kRieRi-kΩieΩi+Ωi×JiΩi-JiΩ^iRiTRdiΩdi-RiTRdiΩ˙di.We present the following theorem to reveal the stability of the attitude dynamics.Theorem 1.
The attitude of the quadrotor is described in (4), and the command is given in (25). Then, for positive constant scalars kRi and kΩi, the tracking error of the quadrotor is stable with controller (29).Proof.
Consider the Lyapunov candidate as(30)V1i=kRiΨRi,Rdi+12eΩiTJieΩi+cieRiTeΩi,where ci<min⁡{kΩi,2λminJikRi, 4kRikΩiλmax2Ji/4kRiλmax2Ji+cikΩi2λminJi}, and Ψ(Ri,Rdi)=1/2tr[I3-RdiTRi].
Note thateΩiTJieΩi≥λmin(Ji)eΩi2, Ψ(Ri,Rdi)≥1/2eRi2, and ci<2λmin(Ji)kRi. Denote zi=eRieΩiT and we then have(31)V1i≥12ziTkRi-ci-ci2λminJizi>0.
Thus, it is verified thatV1i is positive definite. Calculate its derivative and we have(32)V˙1i=eΩiTJie˙Ωi+kRiddtΨRi,Rdi+ciddteRiTeΩi=eΩiTJie˙Ωi+12kRitre^ΩiRdiTRi-RdiRiT-cikRieRiTJi-1eRi+ciCRdiTRieΩiTeΩi-cikΩieRiTJi-1eΩi≤eΩiTJie˙Ωi+kRi12tre^Ωie^Ri-cikRieRiTJi-1eRi+cieΩiTeΩi-cikΩieRiTJi-1eΩi≤eΩiT-kRieRi-kΩieΩi-cikRiλminJi-1eRi2+kRieRiTeΩi+cikΩieRieΩi-cikΩiλminJi-1eΩi2≤-ziTcikRiλminJi-1-cikΩiλmaxJi-1-cikΩiλmaxJi-1kΩi-cizi<0.
Therefore, for proper valueci that satisfies the constraint in (30), it is proved that by Mi the attitude Ri could track the desired command Rdi and the attitude system is stable.Remark 2.
Roughly speaking, the control system of quadrotor consists of outer loop and inner loop. The outer loop refers to the trajectory/formation control, and states of neighbor quadrotors are needed to achieve formation. The inner loop of the quadrotor handles its own attitude dynamics, and it can work without other quadrotors.


## 4.1. Design of the Attitude Command

The attitude command ofith vehicle is denoted by Rdi, where Rdi=b1d(i)b2d(i)b3d(i)∈SO(3). Thus, based on the thrust command fi in (9), we would design b3d(i) as follows:(25)b3di=FiFi,where Fi is defined in (11). It should be noticed that Rdi∈SO(3), which means that b1d(i), b2d(i), and b3d(i) are orthogonal to each other. Once two of the column vectors in Rdi are chosen, the third vector is then fixed. After designing the third body axis b3d(i), there is one remaining degree of freedom to adjust the attitude. Thus, we have b2d(i)=(b3d(i)×b1d(i))/b3d(i)×b1d(i), b1d(i)=b2d(i)×b3d(i).The attitude error betweenRi and Rdi on SO(3) is then defined as (26)eRi=12RdiTRi-RiTRdi∨and the tracking error of angular velocity is (27)eΩi=Ωi-RiTRdiΩdi.Next, we will discuss the dynamics ofeΩi and eRi. By noticing R˙diT=-R˙diRdiTRi and ΩdiTΩ^di=0, the derivative of eΩi is calculated as follows:(28)Jie˙Ωi=JiΩ˙i-JiddtRiTRdiΩdi+RiTRdiΩ˙di=JiΩ˙i-JiRdiTR˙i+R˙diTRiΩdi+RiTRdiΩ˙di=JiΩ˙i-JiRdiTRiΩi-RiTRdiΩdi∧Ωdi+RiTRdiΩ˙di=JiΩ˙i-JiΩdiTRdiTRie^ΩiT+RiTRdiΩ˙di=JiΩ˙i+JiΩ^iRiTRdiΩdi-RiTRdiΩ˙di=Mi-Ω^iJiΩi+JiΩ^RiTRdiΩdi-RiTRdiΩ˙di.By (26) it can be calculated that e˙Ri=C(RdiTRi)eΩi, where C(RdiTRi)=1/2(tr[RdiTRi]I3-RiTRdi) and C(RdiTRi)≤1.


## 4.2. Attitude Controller on SO(3) with Stability Analysis

The attitude controller is designed as(29)Mi=-kRieRi-kΩieΩi+Ωi×JiΩi-JiΩ^iRiTRdiΩdi-RiTRdiΩ˙di.We present the following theorem to reveal the stability of the attitude dynamics.Theorem 1.
The attitude of the quadrotor is described in (4), and the command is given in (25). Then, for positive constant scalars kRi and kΩi, the tracking error of the quadrotor is stable with controller (29).Proof.
Consider the Lyapunov candidate as(30)V1i=kRiΨRi,Rdi+12eΩiTJieΩi+cieRiTeΩi,where ci<min⁡{kΩi,2λminJikRi, 4kRikΩiλmax2Ji/4kRiλmax2Ji+cikΩi2λminJi}, and Ψ(Ri,Rdi)=1/2tr[I3-RdiTRi].
Note thateΩiTJieΩi≥λmin(Ji)eΩi2, Ψ(Ri,Rdi)≥1/2eRi2, and ci<2λmin(Ji)kRi. Denote zi=eRieΩiT and we then have(31)V1i≥12ziTkRi-ci-ci2λminJizi>0.
Thus, it is verified thatV1i is positive definite. Calculate its derivative and we have(32)V˙1i=eΩiTJie˙Ωi+kRiddtΨRi,Rdi+ciddteRiTeΩi=eΩiTJie˙Ωi+12kRitre^ΩiRdiTRi-RdiRiT-cikRieRiTJi-1eRi+ciCRdiTRieΩiTeΩi-cikΩieRiTJi-1eΩi≤eΩiTJie˙Ωi+kRi12tre^Ωie^Ri-cikRieRiTJi-1eRi+cieΩiTeΩi-cikΩieRiTJi-1eΩi≤eΩiT-kRieRi-kΩieΩi-cikRiλminJi-1eRi2+kRieRiTeΩi+cikΩieRieΩi-cikΩiλminJi-1eΩi2≤-ziTcikRiλminJi-1-cikΩiλmaxJi-1-cikΩiλmaxJi-1kΩi-cizi<0.
Therefore, for proper valueci that satisfies the constraint in (30), it is proved that by Mi the attitude Ri could track the desired command Rdi and the attitude system is stable.Remark 2.
Roughly speaking, the control system of quadrotor consists of outer loop and inner loop. The outer loop refers to the trajectory/formation control, and states of neighbor quadrotors are needed to achieve formation. The inner loop of the quadrotor handles its own attitude dynamics, and it can work without other quadrotors.


## 5. Stability Analysis of the Event-Based Formation Control System

After designing the thrust controller (9), the trigger function (23), the attitude command Rdi, and controller (29), in this section we discuss the stability of the closed-loop system. The following theorem is presented.Theorem 2.
Consider the quadrotor system described by (4), and the formation is given by rij. If the communication topology contains a spanning tree, then by the event-based controller (9) and attitude controller (29) on SO(3), the quadrotors will converge to the desired formation; that is, limt→∞⁡ε=Δ, where Δ=22BKδ1/λ0-22c0nmaxBK.Proof.
Invoking the trigger function (23), we have (33)ηieit+μieAt-tki-eρt-tki≤12c0∑j∈Niyijt-yit2+δit.
Then, we are to prove that(34)a02+b0eijt≤μieAt-tki-eρt-tki.
Denote the Dini derivative ofeij(t) as D+eij(t), and it can be verified that(35)D+eijt≤e˙ijt≤Aeijt+BujtkieAt-tki.
ForeA(t-tki), note that there exist A0≥1 and ρ≤A so that eA(t-tki)≤A0eρ(t-tki). Then, (35) can be rewritten as (36)D+z=-Ae-At-tkieijt+e-At-tkiD+eijt≤A-ρz+A0BKujtki,where z=e-ρ(t-tki)eij(t). Then, (34) can be verified by solving inequality (36). Then, from (33) and (34) we have(37)ηi2eit2+a02+b0eijt2≤c0∑j∈Niyijt-yit2+δi2t.Note that yij(t)-yi(t)2≤ei(t)2+eij(t)2+s~j(t)-s~i(t)2; the sum term in (37) is bounded as(38)∑j∈Niyijt-yit2≤Nieit2+∑j∈Nieijt2+∑j∈Nis~jt-s~it2and it implies that(39)∑i=1N∑j∈Nis~jt-s~it2≤∑i=1N∑j∈Nis~jt-s~1t2+s~it-s~1t2≤nmaxεt2.
Next, letδ(t)=δ0e-βt+δ1, where δ0=∑i=1N(δ0i)2, δ1=∑i=1N(δ1i)2, and β=min1≤i≤N⁡{βi}. Invoking Cauchy- Schwarz inequality, we have (40)∑i=1Nδ0ie-βit+δ1i2≤δ2t.
The sum fromi to N of (37) can be expressed as(41)∑i=1Nηi2eit2+a02+b0eijt2≤c0∑i=1N∑j∈Niyijt-yit2+∑i=1Nδi2t.
By combining (38)–(40), rewrite (41) as(42)d02+c0Niet2+a02+b0e~t2≤c0Niet2+c0e~t2+c0nmaxεt2+δ2t.
Then, we obtain the fact that(43)d0et+a0e~t≤2c0nmaxεt+2δt.
Choose a Lyapunov function asV2=1/2εT(t)ε(t) and calculate its derivative. From (22), it is obtained that(44)V˙2=εtε˙t≤-λ0εt2+BKεtd0et+a0e~t+εtερt.
By substituting (43) into (44), V˙2 is rewritten as(45)V˙2≤-λ0-2c0nmaxBKεt2+2BKεtδt+εtεpt.
To further estimate the upper bound ofV˙2, we would begin with εp(t). From the definition of εp(t), it is learned that(46)εpit=Bσimi-Bσ1m1≤Bσimi+Bσ1m1.
It is noted by (12) that fi=Fie3TRdiTRie3, and we have (47)Bσi=BFie3TRdiTRie3Rie3-Rdie3≤BFieRi.
Theorem1 implies that the attitude subsystem is stable, eRi=Ψ(2-Ψ)≤1. Denote ER=maxeRi, and thus we have ER≤1.
Following a similar approach in (15), (16), and (22), denote FB=[(BF2)T(BF3)T⋯(BFN)T]T and FB1=[(BF1)T(BF1)T⋯(BF1)T]T, where Fi is defined in (11). Then, considering (46) and (47), εp(t) is estimated as(48)εpt≤FB1ER+FB2ER≤-D2⊗BKe-2t+A2⊗BKe-22tER+D1⊗BKe-1t-A1⊗BKe-11tER≤ERBKd0et+a0e~t≤ER2c0lmaxBKεt+2ERBKδt.
By combining (45) with (48), V˙2 can be written as(49)V˙2≤-λ0-2c0nmaxBKεt2+2BKεtδt+ER2c0nmaxBKεt2+2ERBKεtδt≤-λ0-22c0nmaxBKεt2+22BKεtδt.
Therefore, from (49) we know that ε(t) is stable in the sense of ultimately uniformly bounded (UUB) and ε(t)≤22BKδ(t)/λ0-22c0nmaxBK. Then, limt→∞⁡ε≤Δ. This proves that the quadrotors could achieve the desired formation.Remark 3.
It is noted that, at nontrigger timest∈(tki,tk+1i), the ith quadrotor could only use sj(tki), namely, the value of its neighbors at the last trigger time t=tki. A typical approach in previous works [23] is to use the zero-order-hold model of sj(tki). Thus, the controller is formulated with the static value of sj(tki) during (tki,tk+1i). Instead, the proposed event-based controller (9) generates the states yij(t) based on sj(tki) to use it dynamically.


## 6. Simulation

To verify the effectiveness of the proposed method, in this section simulation is conducted with five quadrotors. The parameters of the quadrotors are as follows:mi = 3 kg, Ji=diag{0.004,0.004,0.008} kg·m2, i=1,2,…,5. The initial conditions are given in Table 1.Table 1
Initial conditions of the quadrotors.
Quadrotor Position/m Velocity/(m/s) Pitch Yaw Roll Angle/deg Angle/deg Angle/deg 1 ( 2 , - 2,0 ) ( 0.60 , 0.20 , 0.29 ) 5 30 1 2 ( - 2,2 , 3.1 ) ( 0.70 , 0.07,0.38 ) 1.5 10 2 3 ( - 2 , - 2,2 ) ( 0.75 , - 0.20 , 0.45 ) 0 −10 4 4 ( 2,2 , 3 ) ( 0.82 , - 0.28 , 0.49 ) 0.5 −8 1 5 ( 0,0 , 1 ) ( 0.94 , - 0.03 , 0.56 ) −1 0 2The topology between quadrotors is shown in Figure3, and the weights of the edges in the graph are a14=0.56, a23=0.33, a35=0.24, a41=0.41, a43=0.20, and a51=0.37.Figure 3
Topology of the quadrotors.The desired formation is described byr14=11.5-1T, r23=2-1.50T, r35=-201T, r41=-1-1.51T, r43=201T, and r53=20-1T, as shown in Figure 4.Figure 4
The desired formation of quadrotors.ChooseQ=0.08×diag1110.10.10.1. By solving the Riccati equation (18), the control gain K in (9) is obtained as follows:(50)K=0.680000.680000.681.820001.820001.82.The parameters of attitude controller (29) are selected as kRi=0.04 and kΩi=0.08. Then, the simulation is conducted from 0 s to 20 s. Simulation results of trajectories of the quadrotors are shown in Figures 5–7. The trajectories in the x-y plane and y-z plane are given in Figures 6 and 7, respectively. Symbol “Δ” describes the initial position of each quadrotor. The figures illustrate that the five quadrotors achieve the desired formation stably.Figure 5
Trajectories of the quadrotors.Figure 6
Trajectories from top view.Figure 7
Trajectories from side view.The thrusts of quadrotors are illustrated in Figure8. As a characteristic of the event-based control method, the vertices of the curves indicate the triggering time instants. Note that each quadrotor only communicates with its neighbors at triggering time instants, and then the controller forms its value according to the updated states. This shows that the updates of the thrust controller are driven by the events, not by the pass of time. From Figure 8 it is also learned that the thrust converges to a constant value for equilibrium.Figure 8
The thrusts of the quadrotors.Note thatR∈SO(3) is used to model the attitude during the formation control design and simulation. To better present the results, R is transformed as attitude angles as shown in Figure 9. From (25) it is known that as the thrusts converge to a constant, the attitude commands Rdi of the quadrotors would also be the same. It is found that the pitch, yaw, and roll angles of quadrotors reach consensus and the attitudes are stable with the proposed controllers on SO(3).Figure 9
The attitudes of the quadrotors.
(a)
Pitch angles (b)
Yaw angles (c)
Roll anglesThe design ofδi(t) in trigger function (23) affects the number of triggered events and control accuracy. To further discuss this, define Qp as the errors between current state and desired formation:(51)Qp=∑i=25εi.Then, different parameters of the trigger function are chosen for comparative simulations. Under the same initial conditions, the convergence time and number of triggering whenQp reaches 0.01 are recorded. The results are given in Table 2. The time responses of Qp are given in Figure 10. It can be seen that, for relatively small |δi(t)|, the quadrotors would converge to the desired formation quicker with more triggering times, and vice versa. Thus, the parameters of δi(t) in trigger function (23) can be designed to regulate the frequency of triggering and control accuracy.Table 2
Comparative results with different parameters.
Case Parameters(δ0i,δ1i,βi) Numbers of triggering in Quadrotors 1–5 Convergence time 1 ( 20 , 1.5 , - 0.03 ) (63, 64, 63, 62, 63) 19.12 s 2 ( 20 , 5 , - 0.03 ) (54, 54, 54, 55, 54) 19.24 s 3 ( 10,1.5 , - 0.03 ) (104, 105, 104, 103, 104) 18.70 s 4 ( 30,1.5 , - 0.03 ) (47, 48, 47, 46, 47) 19.29 s 5 ( 20,1.5 , - 0.05 ) (74, 75, 74, 72, 74) 19.09 sFigure 10
Comparisons ofQp with different methods.To illustrate the efficiency of the event-based control method, two time-driven methods [9, 11] are conducted for comparison. A continuous-time controller is used in [9], and in [11] the controller is developed on the Euler angle model. The results of Qp are also added in Figure 10. Roughly speaking, the methods with continuous communications would converge quicker than the event-driven method. In [9] Qp reaches 0.01 at 18.45 s. By the finite time controller in [11], Qp converges fast at the beginning, but the convergence time is 21.22 s. The comparative results demonstrate that the proposed method is effective, and the formation can be achieved with proper speed of convergence and triggering times.


## 7. Conclusion

This paper proposes an event-based formation control method for multiple quadrotors. With communication topology considered, the formation is described by relative positions between quadrotors, and the control model is established onSO(3). Then, the triggering functions are designed to generate events, and by these events the thrust controller updates its states. The attitude command and controller are developed on SO(3) to avoid singularity, and the closed-loop system stability analysis is presented. In simulation the frequency of triggering events and control accuracy is discussed with different parameters in triggering functions, and this shows that, by the proposed method, the multiple quadrotors could achieve the given formation with stable attitudes. The event-based formation control method does not require continuous communication, and it would be more applicable for quadrotors formation.



---

*Source: 4707219-2018-05-13.xml*