virtual rigid bodies for coordinated agile maneuvering of...

6
Virtual Rigid Bodies for Coordinated Agile Maneuvering of Teams of Micro Aerial Vehicles Dingjiang Zhou and Mac Schwager Abstract— This paper proposes a method for controlling a team of quadrotor micro aerial vehicles to perform agile maneuvers while holding a fixed relative formation, as well as transitioning between a sequence of formations. The objective is to coordinate the quadrotors to fly in intricate interlaced patterns, similarly to an air show demonstration team. The paper proposes a new abstraction, called a Virtual Rigid Body, which allows the quadrotors to hold relative positions while executing agile maneuvers as a group. By planning trajectories for the Virtual Rigid Body in SE(3), trajectories for each quadrotor are obtained in order to maintain the desired forma- tion during the maneuver. The paper also proposes a method for sequencing a series of Virtual Rigid Body formations, and automatically designing collision free transitions between successive formations, while the team simultaneously executes a trajectory in SE(3). The resulting sequence of formations and transitions gives trajectories that weave intricate designs while avoiding collisions. The method is demonstrated experimentally with three KMel K500 quadrotors flying in a motion capture environment. I. I NTRODUCTION In this paper, we propose a suite of trajectory design tools and control tools to control a team of quadrotor micro aerial vehicles through a sequence of agile, coordinated maneuvers. Our intention is to create trajectories for a team of quadrotors that are as rich and interleaved as one would see from a fighter jet demonstration team at an air show. We introduce an abstraction called a Virtual Rigid Body (VRB) in order to facilitate the agile control of multi-quadrotor formations, and transitions between formations. Our strategy builds upon differential flatness-based control techniques, which allow for controllers to be designed for a single quadrotor to execute agile trajectories. Our trajectory design and control method is useful, for example, to maintain a team of quadrotors in formation while aggressively maneuvering the formation in a constrained environment, such as indoors or in dense urban canyons. It can also be used to transition between different formations to suit different purposes, for example to move in a triangle for aerodynamic efficiency, then convert to a line to fit through a tightly constrained opening. Our Virtual Rigid Body abstraction may also furnish a natural way for a human operator to control a large swarm of quadrotors as a single body. Our key idea is to represent the group of quadrotors as a single body with a single reference frame, which we This work was supported in part by NSF grant IIS-1350904 and ONR grant N00014-12-1-1000. We are grateful for this support. D. Zhou is with the Department of Mechanical Engineering, Boston University, Boston, MA 02215, USA, [email protected]. M. Schwager is with the Department of Mechanical Engineering and the Division of Systems Engineering, Boston University, Boston, MA 02215, USA, [email protected]. Fig. 1. The robots in the left frame dynamically reconfigure from the line to the horizontal triangle, while their Virtual Rigid Body takes off from ground and starts to perform a rolling maneuver. On the right, the robots transition from a vertical triangle back to a line, again while the formation simultaneously traverses a circle and performs a roll. Videos can be found at http://tinyurl.com/k5wnpmr. call a Virtual Rigid Body. Individual quadrotors occupy a single point on the VRB when holding a formation, or they traverse a trajectory on the VRB when transitioning between formations. Given a sufficiently smooth trajectory for the Virtual Rigid Body in SE(3), we propose a method to retrieve dynamically feasible SE(3) trajectories for the quadrotors by exploiting the differential flatness of the quadrotors’ dynamics [8], [9]. We then design a feedback controller for the robots to robustly execute the specified trajectories and hold the desired formation despite disturbances and modeling errors. Furthermore, we present a method for sequencing multiple different formations, and automatically transitioning between each formation without collisions. This sequence of formations is executed in the moving reference frame of the VRB, yielding complex interleaved trajectories in the global reference frame. We demonstrate the effectiveness of our strategy in simulation, and in hardware experiments with three KMel K500 quadrotors in a motion capture environment. Fig. 1 shows still frames of three quadrotors transitioning between different formations with our method. There exists an extensive literature in formation con- trol, and some recent works have studied agile quadrotor formations in particular. For example, [15] proposes an agile formation control strategy in which a leader quadrotor flies an agile trajectory, while the other quadrotors control themselves to keep the formation relative to the leader, taking into account communication delays and failures. The effects of communication delays on the stability of quadrotor formations was further studied in [14]. In a non-agile regime, formation control for quadrotors was also considered in [2], which used a haptic interface for a human operator to control the formation, and in [10] which accomplished formation control for quadrotors using onboard vision, without a global reference frame. In [5] the authors describe control and

Upload: others

Post on 06-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Virtual Rigid Bodies for Coordinated Agile Maneuvering of ...sites.bu.edu/msl/files/2015/07/DingjiangICRA2015.pdfVirtual Rigid Bodies for Coordinated Agile Maneuvering of Teams of

Virtual Rigid Bodies for Coordinated Agile Maneuvering ofTeams of Micro Aerial Vehicles

Dingjiang Zhou and Mac Schwager

Abstract— This paper proposes a method for controllinga team of quadrotor micro aerial vehicles to perform agilemaneuvers while holding a fixed relative formation, as well astransitioning between a sequence of formations. The objectiveis to coordinate the quadrotors to fly in intricate interlacedpatterns, similarly to an air show demonstration team. Thepaper proposes a new abstraction, called a Virtual Rigid Body,which allows the quadrotors to hold relative positions whileexecuting agile maneuvers as a group. By planning trajectoriesfor the Virtual Rigid Body in SE(3), trajectories for eachquadrotor are obtained in order to maintain the desired forma-tion during the maneuver. The paper also proposes a methodfor sequencing a series of Virtual Rigid Body formations,and automatically designing collision free transitions betweensuccessive formations, while the team simultaneously executesa trajectory in SE(3). The resulting sequence of formations andtransitions gives trajectories that weave intricate designs whileavoiding collisions. The method is demonstrated experimentallywith three KMel K500 quadrotors flying in a motion captureenvironment.

I. INTRODUCTION

In this paper, we propose a suite of trajectory design toolsand control tools to control a team of quadrotor micro aerialvehicles through a sequence of agile, coordinated maneuvers.Our intention is to create trajectories for a team of quadrotorsthat are as rich and interleaved as one would see from afighter jet demonstration team at an air show. We introducean abstraction called a Virtual Rigid Body (VRB) in orderto facilitate the agile control of multi-quadrotor formations,and transitions between formations. Our strategy builds upondifferential flatness-based control techniques, which allowfor controllers to be designed for a single quadrotor toexecute agile trajectories.

Our trajectory design and control method is useful, forexample, to maintain a team of quadrotors in formation whileaggressively maneuvering the formation in a constrainedenvironment, such as indoors or in dense urban canyons. Itcan also be used to transition between different formationsto suit different purposes, for example to move in a trianglefor aerodynamic efficiency, then convert to a line to fitthrough a tightly constrained opening. Our Virtual RigidBody abstraction may also furnish a natural way for a humanoperator to control a large swarm of quadrotors as a singlebody.

Our key idea is to represent the group of quadrotorsas a single body with a single reference frame, which we

This work was supported in part by NSF grant IIS-1350904 and ONRgrant N00014-12-1-1000. We are grateful for this support.

D. Zhou is with the Department of Mechanical Engineering, BostonUniversity, Boston, MA 02215, USA, [email protected].

M. Schwager is with the Department of Mechanical Engineering and theDivision of Systems Engineering, Boston University, Boston, MA 02215,USA, [email protected].

Fig. 1. The robots in the left frame dynamically reconfigure from the lineto the horizontal triangle, while their Virtual Rigid Body takes off fromground and starts to perform a rolling maneuver. On the right, the robotstransition from a vertical triangle back to a line, again while the formationsimultaneously traverses a circle and performs a roll. Videos can be foundat http://tinyurl.com/k5wnpmr.

call a Virtual Rigid Body. Individual quadrotors occupy asingle point on the VRB when holding a formation, or theytraverse a trajectory on the VRB when transitioning betweenformations. Given a sufficiently smooth trajectory for theVirtual Rigid Body in SE(3), we propose a method to retrievedynamically feasible SE(3) trajectories for the quadrotorsby exploiting the differential flatness of the quadrotors’dynamics [8], [9]. We then design a feedback controller forthe robots to robustly execute the specified trajectories andhold the desired formation despite disturbances and modelingerrors. Furthermore, we present a method for sequencingmultiple different formations, and automatically transitioningbetween each formation without collisions. This sequenceof formations is executed in the moving reference frame ofthe VRB, yielding complex interleaved trajectories in theglobal reference frame. We demonstrate the effectivenessof our strategy in simulation, and in hardware experimentswith three KMel K500 quadrotors in a motion captureenvironment. Fig. 1 shows still frames of three quadrotorstransitioning between different formations with our method.

There exists an extensive literature in formation con-trol, and some recent works have studied agile quadrotorformations in particular. For example, [15] proposes anagile formation control strategy in which a leader quadrotorflies an agile trajectory, while the other quadrotors controlthemselves to keep the formation relative to the leader,taking into account communication delays and failures. Theeffects of communication delays on the stability of quadrotorformations was further studied in [14]. In a non-agile regime,formation control for quadrotors was also considered in [2],which used a haptic interface for a human operator to controlthe formation, and in [10] which accomplished formationcontrol for quadrotors using onboard vision, without a globalreference frame. In [5] the authors describe control and

Page 2: Virtual Rigid Bodies for Coordinated Agile Maneuvering of ...sites.bu.edu/msl/files/2015/07/DingjiangICRA2015.pdfVirtual Rigid Bodies for Coordinated Agile Maneuvering of Teams of

trajectory generation tools for controlling swarms of micro-quadrotors between different formations. In a similar vein, amethod for simultaneously solving the position assignmentproblem and controlling robots between two formations waspresented in [16]. Position assignment to transition betweentwo formations was also considered in [19], [18] for largeteams of simple particle robots. Somewhat similar to ourVirtual Rigid Body, the paper [11] defined a virtual structurerepresentation, upon which the authors developed controllersfor driving a group of ground robots to maneuver in SE(2).Formation control is also related to multi-agent consensus[12], [3], [17] which has enjoyed an explosion of researchin recent years. Many formation control strategies have beendesigned based on consensus, for example as in [4], [13].

Our method is different from the above works in severalways. Firstly, our Virtual Rigid Body abstraction allows forthe design of rich interleaved trajectories, rather than staticformations. Secondly, we inherently incorporate the nonlin-ear, differentially flat dynamics of the quadrotors to producetrajectories that are dynamically feasible by design. Thirdly,our method allows for transitioning from one formation toanother, while the entire virtual structure is rotating andtranslating in complex ways.

Quadrotor dynamics are known to be differentially flat [1],[7], which allows for efficient trajectory planning algorithms,as described in [8], [9]. We use differential flatness exten-sively in this work to generate dynamically feasible quadro-tor trajectories. Also, in our previous work [20], we useddifferential flatness theory to design closed-loop controllers(not open-loop trajectories) for quadrotors to follow desiredvector fields. In this paper we build on this work to designa formation control law based on vector fields.

The remainder of the paper is organized as follows. InSection II, we introduce notations and formally state theproblems that we will solve in the paper. Section III presentsour trajectory design method in detail. Section IV describesour experiments with three KMel K500 quadrotors, and ourconclusions and future work are presented in Section V.

II. NOTATION AND PROBLEM FORMULATION

We consider a group of N robots labeled by {1, . . . , N} ina 3D environment. We let Fw be the fixed global referenceframe for the group of robots and Fi the local frame ofrobot i, where i ∈ {1, . . . , N}. We denote by pi(t) ∈ R3 theposition, and Ri(t) ∈ SO(3) the orientation of robot i withrespect to the global frame Fw, where t is time.

Definition 1: (Virtual Rigid Body). A Virtual Rigid Bodyis a group of N robots defined with a local frame Fv ,in which the local positions of the robots are specified by{r1(t), r2(t), · · · , rN (t)}, where t is time.

Let pv(t) ∈ R3 and Rv(t) ∈ SO(3) denote the positionand orientation of the origin of Fv expressed in the globalframe Fw at time t, respectively. The relationship betweenpi(t), ri(t) of robot i and pv(t), Rv(t) of the VRB isdescribed as

pi = pv +Rvri, (1)

∀i ∈ {1, · · · , N}, with “(t)” be dropped for simplicity.A trajectory of a VRB is defined as a trajectory of the

origin of its local frame Fv in Fw, it can be given as a

function of time t, or specified by a series of way pointswith assigned velocity, acceleration, etc., as well as thetime intervals between any two successive way points. Theorientation can also be parameterized with Euler angles forconvenience. Generally, we denote the trajectory of a VRBas a combination of a position trajectory in R3 and anorientation trajectory in SO(3) associated with time t:

δv(t) ∈ C4 : R≥0 7→ R3 × SO(3),

where C4 denotes the set of functions whose fourth derivativeis continuous. This smoothness property is required in orderto generate trajectories for the quadrotors using differentialflatness tools, as will be discussed in detail in Section III.Correspondingly, we denote the trajectory of robot i in Fw

asδi(t) ∈ C4 : R≥0 7→ R3 × SO(3),

∀i ∈ {1, · · · , N}. Again, δi(t) is a combination of pi(t) ∈R3 and Ri(t) ∈ SO(3).

Before describing how we plan trajectories using the VRBabstraction, we first define some terms we use in this paper,and also layout the problems that lead to our solutions.

Definition 2: (Formation). A formation Π is a VirtualRigid Body of a group of N robots with constant localpositions {r1, r2, · · · , rN} in Fv associated with a timeduration of TΠ > 0.

We denote mri the local position of robot i in Fv information Πm, and mpi the global position of robot i inFw when the Virtual Rigid Body is in formation Πm.

Remark 1: In a formation, the local positions of the robotsare constant, but the local orientations of the robots will notnecessarily be constant. In fact, the quadrotors will have torotate significantly in their local frame in order to maintaintheir relative positions in the VRB during a formation flight.

Definition 3: (Transformation). A transformation Φ is aVirtual Rigid Body of a group of N robots with time varyinglocal positions {r1(t), r2(t), · · · , rN (t)} in Fv associatedwith a time duration of TΦ > 0.

Definition 4: (Switch). A switch is an transitioning eventof a VRB from a status of formation to a status of transfor-mation, or vise versa.

Remark 2: A typical formation flight task of a VRBwith N robots consists of M formations {Π1, · · · ,ΠM}and M − 1 transformations {Φ1

2, · · · ,ΦM−1M } in a sequence

as {Π1,Φ12,Π2, · · · ΦM−1

M ,ΠM}. The corresponding timedurations associated with this formation flight task are in asequence as {T1, T

12 , T2, · · · , TM−1

M , TM}. The total numberof switches is 2(M − 1). The first formation starts at t1,the switch from Πm to Φm

m+1 and that from Φmm+1 to

Πm+1 happen at tmm+1 and tm+1, respectively, and the finalformation ends at tMM+1, in which 1 ≤ m ≤ M and0 ≤ t1 < t12 < t2 · · · < tMM+1.

For safety and collision avoidance consideration, we definea constant clearance radius si for robot i, and the minimumsafety distance between robot i and j is sij = sji = si + sj .

As in Fig. 2, we have an example to show a sectionof a typical formation flight task of a Virtual Rigid Bodyof three robots with a safe radius si = s,∀i. The Virtual

Page 3: Virtual Rigid Bodies for Coordinated Agile Maneuvering of ...sites.bu.edu/msl/files/2015/07/DingjiangICRA2015.pdfVirtual Rigid Bodies for Coordinated Agile Maneuvering of Teams of

Fig. 2. A section of a typical formation flight task with two formations (atriangle Πm on the left, and a straight line Πm+1 on the right), and onetransformation (the smooth transition between them indicated by Φm

m+1).

Rigid Body is in formation Πm with constant local positions{ mr1,

mr2,mr3} of the three robots when tm ≤ t < tmm+1,

in a transformation Φmm+1 with time varying local positions

{r1(t), r2(t), r3(t)} when tmm+1 ≤ t < tm+1, and in asuccessive formation Πm+1 with constant local positions{ m+1r1,

m+1r2,m+1r3} when tm+1 ≤ t < tm+1

m+2. Theswitches happen at tmm+1 and tm+1, from Πm to Φm

m+1 andfrom Φm

m+1 to Πm+1, respectively. The VRB can be rotatingand translating in the global frame Fw while these localformations and transformations occur.

Problem 1: (Robots’ Trajectories in a Formation).Given a VRB trajectory δv(t) ∈ C4, with constant localrobot positions {r1, · · · , rN} in Fv , find a dynamicallyfeasible trajectory δi(t), for robot i, such that δi(t) ∈ C4,∀i ∈ {1, · · · , N}.

Problem 2: (Robots’ Trajectories in a Transformation).Given a VRB trajectory δv(t) ∈ C4, with time varying localrobot positions {r1(t), · · · , rN (t)} in Fv , find a dynamicallyfeasible trajectory δi(t), for robot i, such that δi(t) ∈ C4,∀i ∈ {1, · · · , N}.

Problem 3: (Smoothness at Switches). Given a VRB tra-jectory δv(t) ∈ C4, in which tm ≤ t ≤ tm+1

m+2, with constantlocal positions {mr1, · · · ,m rN} for tm ≤ t ≤ tmm+1, and{m+1r1, · · · ,m+1 rN} for tm+1 ≤ t ≤ tm+1

m+2 in Fv of theN robots, where 0 ≤ tm < tmm+1 < tm+1 < tm+1

m+2, find atransformation trajectory ri(t), in which tmm+1 ≤ t ≤ tm+1,and a trajectory δi(t), in which tm ≤ t ≤ tm+1

m+2, for robot i,such that δi(t) ∈ C4, ∀i ∈ {1, · · · , N}.

Problem 4: (Collision Avoidance in Transformation). Inaddition to Problem 3, we require that ‖ri(t) − rj(t)‖ =‖pi(t) − pj(t)‖ ≥ si + sj , in which tmm+1 ≤ t ≤ tm+1,∀i, j ∈ {1, · · · , N}, i 6= j.

The solutions of the above problems will be shown in thefollowing sections.

III. TRAJECTORIES GENERATION

Our method works for any given VRB trajectory that isfour times continuously differentiable. For example, we haveemployed the method [8] to give a δv(t) based on keyframesand splines interpolations. As in Fig. 3, we generate a VRBtrajectory δv(t) from the keyframes {K1,K2, · · · }, on whichvelocity, accelration, Euler angles, Euler angles rates and so

on, are assgined. Next, depending on whether the VRB isin a formation Πm or a transformation Φm

m+1, we calculatethe flat outputs σi(t) = [xi, yi, zi, ψi]

T and their timederivatives up to fourth order for quadrotor i. Finally, usingthe endogenous transformation for the quadrotor dynamics[8] based on the differential flatness theory, we find adynamically feasible desired trajectory δi(t) and open-loopinputs [fzi(t), τi(t)

T ]T , that the inputs can be used as feed-forward terms in a SE(3) controller [6] to follow the desiredtrajectory for the quadrotor i.

Fig. 3. The main procedure in our method to generate trajectories for thequadrotors in a Virtual Rigid Body.

Fig. 4 shows the first a few sections of a Virtual RigidBody trajectory generated for our demostration. As seen fromthis trajectory, we want the quadrotors to take off slowly fromthe origin of Fw at time t1 = 0s to a point above it at t2 =1.5s, pass through the third keyframe at t3 = 6.5s with acertain upward speed and then tangent into the circle centeredat the flight arena. The orientation trajectory of the VRB isnot shown explicitly, but Fv is shown in each keyframe withan attached coordinate system.

0

1

2

0 0.5 1 1.5 2 2.5

−1.2

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

x(m)

t5 = 10.5s

y(m)

t4 = 8.5s

t1 = 0sFw

t2 = 1.5s

t3 = 6.5s

z(m

)

Vel (m/s)Accel (m/s2)

Fig. 4. Four sections of trajectories for a Virtual Rigid Body parameterizedwith five keyframes.

A. Trajectories for the Quadrotors in a Formation

In this section we solve Problem 1. We require the VRBtrajectory, as well as a fixed set of local positions, definingthe formation of the quadrotors in the VRB. In order to fly thequadrotors safely in a sequence of specified formations, werequire that the formations satisfy the following assumption.

Assumption 1: (Safety Configuration). In a flight taskwith M formations {Π1, · · · ,ΠM}, the desired local po-sitions {mr1, · · · ,m rN} of the N robots in a VRB forformation Πm, satisfy‖ mri − mrj‖ ≥ si + sj , ∀ m ∈{1, · · · ,M}, ∀ i, j ∈ {1, · · · , N}, i 6= j.

Page 4: Virtual Rigid Bodies for Coordinated Agile Maneuvering of ...sites.bu.edu/msl/files/2015/07/DingjiangICRA2015.pdfVirtual Rigid Bodies for Coordinated Agile Maneuvering of Teams of

We give six examples of safety configurations in Fig. 5that we will use in our demonstration.

01

2

−0.5 0 0.5 1 1.5 2 2.5 3 3.5

−0.20

0.2

x(m)

Π63

21

Π5

32

1

Π4

1

y(m)

3

Π3

2

32

1

Π2

13

Π1

2

32

1

z(m

)

Fig. 5. Six example formations of a VRB with three quadrotors.

Given a VRB trajectory and a formation with constantlocal position ri for quadrotor i, the flat outputs σi(t) =[pi(t)

T , ψi(t)]T and their derivatives for quadrotor i can be

generated using the following simple result.Theorem 1: Given a VRB trajectory δv(t) ∈ C4 with

constant local positions {ri, · · · , rN} in Fv of the N robots.The position pi(t) of robot i in the global frame Fw is givenby (1), and its derivatives can be calculated as

pi = pv + Rvripi = pv + Rvri...p i =

...p v +

...Rvri....

p i =....p v +

....R vri

, (2)

while the yaw angle ψi(t) and its derivatives can be in-herited from that of the Virtual Rigid Body directly, ∀i ∈{1, · · · , N}.

B. Trajectories for the Quadrotors in a Transformation

In this section we solve Problem 2. The procedure issimilar to that in Section III-A, except here we have timevarying local positions {r1(t), · · · , rN (t)} in the VirtualRigid Body frame Fv for all quadrotors, so ri(t) 6= 0,ri(t) 6= 0, and so on. In this case we have the followingresults to generate the flat outputs σi(t) = [pi(t)

T , ψi(t)]T

and their derivative for the quadrotors.Theorem 2: Given a VRB trajectory δv(t) ∈ C4 with time

varying local positions {r1(t), · · · , rN (t)} in Fv , in which0 < tmm+1 ≤ t ≤ tm+1, of the N robots. The position pi(t)of robot i in the global frame Fw is given by (1), and itsderivatives can be calculated as

pi = pv + Rvri +Rv ripi = pv + Rvri + 2Rv ri +Rv ri...p i =

...p v +

...Rvri + 3Rv ri + 3Rv ri +Rv

...r i....

p i =....p v +

....R vri + 4

...Rv ri + 6Rv ri + 4Rv

...r i

+Rv....r i

, (3)

for t ∈ [tmm+1, tm+1], while the yaw angle ψi(t) and itsderivatives can be inherited from that of the Virtual RigidBody directly, ∀ i ∈ {1, · · · , N}.

With a given VRB trajectory shown in Fig. 4, the trajec-tories for three quadrotors generated by Theorem 1 for ourdemonstration are shown in Fig. 6. We will let the team ofquadrotor take off in a formation Π1 and then transition toΠ2, with both formations illustrated in Fig. 5.

0

1

2

−0.5 0 0.5 1 1.5 2 2.5

−1.5

−1

−0.5

0

x(m)

3

1

2

σ1(t)

y(m)

δv(t)

σ3(t)

13

σ2(t)

1

2

333

1

3

22

Fw

11

2

2

z(m

)

Fig. 6. Trajectories generated for three quadrotors with a given VRBtrajectory shown in Fig. 4, two formations, Π1 and Π2 as shown in Fig. 5,and a transformation designed between them. Notice the rolling and turningof the VRB cause the formation to turn on its side in the global frame.

C. Smoothness and Collision AvoidanceSection III-A and III-B gave us smooth trajectories when

the VRB is in a formation or a transformation, respectively.In this section we solve Problem 3 and 4, which consider thesmoothness at the switches and collision avoidance in trans-formations. Designing a sufficiently smooth transformationlaw is critical to having good performance for a formationflight. From (3), we can make up the flat outputs σi(t) and itsderivatives for each quadrotor for t ∈ [tmm+1, tm+1], Remark2 indicates that a transformation Φm

m+1 only exists betweentwo formations Πm and Πm+1. Intuitively, the position of thequadrotor i must be continuous in the Fv at time instancestmm+1 and tm+1,{

ri(tmm+1) = mri

ri(tm+1) = m+1ri, ∀ i ∈ {1, · · · , N}, (4)

we also require that the velocity, acceleration, jerk and snapbe continuous at the time of switches,

pi(tmm+1) = mpi

.......p i(t

mm+1) = m

....p i

pi(tm+1) = m+1pi...

....p i(tm+1) = m+1

....p i

, (5)

which gives usri(t) = 0

.......r i(t) = 0

, ∀ t ∈ {tmm+1, tm+1}. (6)

Furthermore, the minimum safety distance should be sat-isfied throughout a transformation, as to solve Problem 4.

The first element in designing a transformation law isto solve a target assignment problem which can be ac-complished with the well-known Hungarian algorithm. Anumber of methods can be used, for example those in [16],[18], [19]. Straight line trajectories generated in this way

Page 5: Virtual Rigid Bodies for Coordinated Agile Maneuvering of ...sites.bu.edu/msl/files/2015/07/DingjiangICRA2015.pdfVirtual Rigid Bodies for Coordinated Agile Maneuvering of Teams of

(by naively matching the initial position in one formationwith the final position in another) may yield trajectories thatviolate the minimum safety distance requirement. To modifythe trajectories to prevent collision, we employ the vectorfield based method from our previous work [20], in which wepresent an algorithm to give a dynamically feasible trajectoryfor a quadrotor to avoid colliding with a static obstacle. Herewe modify this algorithm so that all quadrotors move to avoidcolliding with all others.

To this end, we create a joint vector field, which is acombination of a transformation vector field and a repellingvector field, for each quadrotor, as in Fig. 7.

0

0.2

0.4

0.6

0.8

1

2

Transformation Vector Field

1

Fv

x(m

)

2

Repelling Vector Field

1

Fv

RobotsGoalShortest Path

0 0.2 0.4 0.6 0.8 10

0.2

0.4

1 Goal

y(m)

Velocity Magnitude on y-axis (m/s)

0 0.2 0.4 0.6 0.8 10

0.5

y(m)

Repelling Velocity Magnitude on y-axis (m/s)

1 2

Fig. 7. The transformation law is genreated by two vector fields. We showonly two robots and only the goal of robot 1 for simplicity. The velocitymagnitude on the y axis of robot 1 is designed to be a sine function suchthat the initial and final velocity are zero, as well as their derivatives. Therepelling vector magnitude created by robot 2 is a parabola function suchthat only when the robot comes close enough to its neighbor will it bedeformed by a repelling force.

The transformation vector field considers only the initialand final position of a quadrotor to drive it from one placeto another, while the repelling vector field considers therepelling effect from all other nearby quadrotors to avoidcollision. The transformation velocity vTi in the transforma-tion vector field at ri(t) for quadrotor i is given by

vTi = Ai sin(airi(t) + ci), ∀i ∈ {1, · · · , N}, (7)

in which Ai is a constant coefficient, ai and ci are pa-rameters that make sure when ri(t

mm+1) = mri and

ri(tm+1) = m+1ri, we have vTi = ri(t) = 0, as in(6), at these two time instances. The repelling velocity vRi

of quadrotor i repelled from the repelling vector field ofquadrotor j is given by

vjRi =

Bj

(D−‖ri−rj‖D−si−sj

)2ri−rj‖ri−rj‖ , if j ∈ Ni

0, if j /∈ Ni

, (8)

∀i ∈ {1, · · · , N}, where Ni denotes the collection ofindices of nearby quadrotors of quadrotor i. Bj is a constantcoefficient, and D is a constant threshold defining Ni byj ∈ Ni, if ‖rj(t) − ri(t)‖ ≤ D, j 6= i. Furthermore, wehave

vi = vTi +∑j∈Ni

vjRi, ∀i ∈ {1, · · · , N}, (9)

and by Theorem 2 in [20], the flat outputs and theirderivatives are obtained to produce a dynamically feasibletrajectory for quadrotor i.

Fig. 8 shows the transformation law from our combinedvector field method, robot 1 and robot 2 “bend” their tra-jectories so that the minimum safety distance is guaranteed.

0

0.5

1

1.5

−0.5 0 0.5

1d1 = 0.55m

y(m)

1

2

3

3

d2 = 0.65m

Fv2

x(m

)

InitialGoals

−0.4−0.2

0Velocity of robot 2 (m/s)

vxvyvz

−101

Acceleration of robot 2 (m/s2)

−2

0

2

Jerk of robot 2 (m/s3)

1 2 3 4 5 6 7−40−20

02040

Snap of robot 2 (m/s4)

Time (s)

Fig. 8. Left: trajectories of the three robots in transformation Φ12, which

is a transitioning from Π1 to Π2 as shown in Fig. 5. The safety distanceis set as s = si + sj = 0.6m, and the threshold is set as D = 0.7m.d1 = 0.55m and d2 = 0.65m are the minimum distance when repellingvector field be applied or not, respectively. Right: Velocity, acceleration,jerk and snap of robot 2 in the VRB local frame Fv .

IV. EXPERIMENTS

Our experiments use three KMel K500 quadrotors flyingthrough a sequence of the six formations shown in Fig. 5,with five transformations generated between each two suc-cessive formations, while following a Virtual Rigid Bodytrajectory. Due to a small flight volume in our experimentarena, the VRB trajectory is designed to move in a tightcircle, while spinning with a constant angular rate about theroll axes. A minimum relative distance of 0.7m is set inour formations such that collision would easily happen if notransformation law is applied since the actual diameter of aKMel K500 quadrotor is 0.55m. Including the five keyframesshown in Fig. 4, we have designed 30 keyframes in 71seconds for the entire flight demonstration and Fig. 9 showsthe three trajectories for the corresponding quadrotors. Thethree quadrotors circle in the flight arena while transitioningbetween different formations within a rotating VRB.

Our algorithm were implemented in C/MEX in MATLAB.Position and orientation for the quadrotors are obtained witha 16 camera OptiTrack motion capture system running at120Hz. Our optimized C/MEX code is capable of generatinga segment of trajectory in less than 5 ms for the threequadrotors, fast enough for online implementation—planninga trajectory segment at switch time instances, without down-grade the OptiTrack system. A video of our experiment issubmitted along with this paper, and can also be watched athttp://tinyurl.com/k5wnpmr. An eight-frame sequence of thevideo is shown in Fig. 10, but of course the motion of thequadrotors is difficult to appreciate from the still frames.

V. CONCLUSIONS AND FUTURE WORK

In this paper, we proposed a method for generating com-plex interleaved trajectories for a group of quadrotor micro

Page 6: Virtual Rigid Bodies for Coordinated Agile Maneuvering of ...sites.bu.edu/msl/files/2015/07/DingjiangICRA2015.pdfVirtual Rigid Bodies for Coordinated Agile Maneuvering of Teams of

01

23

−0.5 0 0.5 1 1.5 2 2.5 3

−1.5

−1

−0.5

0

x(m)

y(m)

Fw

z(m

)Quad 1Quad 2Quad 3

Fig. 9. Trajectories for three quadrotors. Several formations are depictedin magenta.

Fig. 10. Sequence of images from the experimental video with the VRBof three quadrotors circling in the flight arena. The VRB is in (a) Π1 whiletaking off from ground; (b) Φ1

2; (c) the beginning of Π2; (d) Π3; (e) Φ34;

(f) Π4; (g) Π5 and (h) Π6 while landing.

aerial vehicles using a new abstraction, called a VirtualRigid Body. This allows for quadrotors to hold formationsand to transition between formations in a local reference

frame, while their Virtual Rigid Body rotates and translatesarbitrarily in the global fixed frame. Differential flatness toolsare used to obtain state trajectories and open-loop inputs forthe quadrotors to execute the planned trajectories. Our futurework is to implement an online, semi-distributed version ofour algorithm, and conduct experiments outdoors with morequadrotors.

REFERENCES

[1] M. Fliess, J. Levine, P. Martin, and P. Rouchon. Flatness and defect ofnon-linear systems: Introductory theory and examples. Internationaljournal of control, 61(6):1327–1361, 1995.

[2] Antonio Franchi, Carlo Masone, Volker Grabe, Markus Ryll, Hein-rich H Bulthoff, and Paolo Robuffo Giordano. Modeling and controlof uav bearing formations with bilateral high-level steering. TheInternational Journal of Robotics Research, 31(12):1504–1525, 2012.

[3] Ali Jadbabaie, Jie Lin, and A Stephen Morse. Coordination of groupsof mobile autonomous agents using nearest neighbor rules. AutomaticControl, IEEE Transactions on, 48(6):988–1001, 2003.

[4] Meng Ji, Abubakr Muhammad, and Magnus Egerstedt. Leader-basedmulti-agent coordination: Controllability and optimal control. InAmerican control conference, pages 1358–1363, 2006.

[5] Alex Kushleyev, Daniel Mellinger, Caitlin Powers, and Vijay Kumar.Towards a swarm of agile micro quadrotors. Autonomous Robots,35(4):287–300, 2013.

[6] Taeyoung Lee, M Leoky, and N Harris McClamroch. Geometrictracking control of a quadrotor uav on se (3). In Decision andControl (CDC), 2010 49th IEEE Conference on, pages 5420–5425.IEEE, 2010.

[7] Philippe Martin, Pierre Rouchon, RM Murray, et al. Flat systems,equivalence and trajectory generation. 2006.

[8] Daniel Mellinger and Vijay Kumar. Minimum snap trajectory genera-tion and control for quadrotors. In Robotics and Automation (ICRA),2011 IEEE International Conference on, pages 2520–2525. IEEE,2011.

[9] Daniel Mellinger, Nathan Michael, and Vijay Kumar. Trajectory gen-eration and control for precise aggressive maneuvers with quadrotors.The International Journal of Robotics Research, 31(5):664–674, 2012.

[10] Eduardo Montijano, Dingjiang Zhou, Eric Cristofalo, Mac Schwager,and Carlos Sagues. Vision-based distributed formation control withouta global reference frame. International Journal of Robotics Research,2014.

[11] Reza Olfati-Saber and Richard M Murray. Distributed cooperativecontrol of multiple vehicle formations using structural potential func-tions. In IFAC World Congress, pages 346–352, 2002.

[12] Reza Olfati-Saber and Richard M Murray. Consensus problems in net-works of agents with switching topology and time-delays. AutomaticControl, IEEE Transactions on, 49(9):1520–1533, 2004.

[13] Wei Ren and Nathan Sorensen. Distributed coordination architecturefor multi-robot formation control. Robotics and Autonomous Systems,56(4):324–333, 2008.

[14] Mac Schwager, Nathan Michael, Vijay Kumar, and Daniela Rus. Timescales and stability in networked multi-robot systems. In Robotics andAutomation (ICRA), 2011 IEEE International Conference on, pages3855–3862. IEEE, 2011.

[15] Matthew Turpin, Nathan Michael, and Vijay Kumar. Trajectorydesign and control for aggressive formation flight with quadrotors.Autonomous Robots, 33(1-2):143–156, 2012.

[16] Matthew Turpin, Nathan Michael, and Vijay Kumar. Capt: Concurrentassignment and planning of trajectories for multiple robots. TheInternational Journal of Robotics Research, 33(1):98–112, 2014.

[17] Tamas Vicsek, Andras Czirok, Eshel Ben-Jacob, Inon Cohen, and OferShochet. Novel type of phase transition in a system of self-drivenparticles. Physical review letters, 75(6):1226, 1995.

[18] Jingjin Yu and Steven M LaValle. Distance optimal formation controlon graphs with a tight convergence time guarantee. arXiv preprintarXiv:1204.3820, 2012.

[19] Jingjin Yu and Steven M LaValle. Shortest path set induced vertexordering and its application to distributed distance optimal formationpath planning and control on graphs. In Decision and Control (CDC),2013 IEEE 52nd Annual Conference on, pages 2775–2780. IEEE,2013.

[20] Dingjiang Zhou and Mac Schwager. Vector field following forquadrotors using differential flatness. In Proc. of the InternationalConference on Robotics and Automation (ICRA), 2014.