Professional Documents
Culture Documents
S UPPLEMENTARY MATERIAL
Video: https://youtu.be/aoSoiZDfxGE
Code: https://github.com/mit-acl/mader
88.8% reduction in the number of stops (compared Table I: Notation used in this paper
to Bernstein/B-Spline bases), shorter flight distances
Symbol Meaning
than centralized approaches, and shorter total times on
p, v, a, j Position, Velocity, Acceleration and Jerk, ∈ R3 .
average than synchronous decentralized approaches. x State vector: x := pT vT aT
T
∈ R9
m m + 1 is the number of knots of the B-Spline.
n n + 1 is the number of control points of the B-Spline.
II. D EFINITIONS Degree of the polynomial of each interval of the B-Spline. In
p
This paper will use the notation shown in Table I, this paper we will use p = 3.
Set that contains the indexes of all the intervals of a B-Spline
together with the following two definitions: J
J := {0, 1, ..., m − 2p − 1}.
ξ ξ := Number of agents + Number of obstacles
• Agent: Element of the environment with the ability to s Index of the planning agent.
exchange information and take decisions accordingly I
Set that contains the indexes of all the obstacles/agents,
except the agent s. I := {0, 1, ..., ξ}\s.
(i.e., an agent can change its trajectory given the L L = {0, 1, ..., n}.
information received from the environment). l
Index of the control point. l ∈ L for position, l ∈ L\{n} for
velocity and l ∈ L\{n − 1, n} for acceleration.
• Obstacle: Element of the environment that moves on
i Index of the obstacle/agent, i ∈ I.
its own without consideration of the trajectories of j Index of the interval, j ∈ J.
ρ Radius of the sphere that models the agents.
other elements in the environment. An obstacle can Bi is the 3D axis-aligned bounding box (AABB) of the shape
be static or dynamic. of the agent/obstacle i. For simplicity, we assume that the
Bi , Bs obstacles do not rotate. Hence, Bi does not change for a
Note that here we are calling dynamic obstacles what some given obstacle/agent i. The AABB of the planning agent is
works in the literature call non-cooperative agents. denoted as Bs .
Each entry of η s is the length of each side of the AABB of
This paper will also use clamped uniform B-Splines, the planning whose index is s). I.e.,
ηs agentT (agent
which are B-Splines defined by n + 1 control points η s := 2 ρ ρ ρ ∈ R3
Set of vertexes of the polyhedron that completely encloses the
{q 0 , . . . , q n } and m + 1 knots {t0 , t1 , . . . , tm } that satisfy: Cij trajectory of the obstacle/agent i during the initial and final
times of the interval j of the agent s.
t0 = ... = tp < tp+1 < ... < tm−p−1 < tm−p = ... = tm c Vertex of a polyhedron, ∈ R3 .
| {z } | {z } | {z } q, v, a Position, velocity, and acceleration control points, ∈ R3 .
p+1 knots Internal Knots p+1 knots Notation for the basis used: MINVO (b = MV), Bernstein
b
(b = Be), or B-Spline (b = BS).
and where the internal knots are equally spaced by ∆t Set that contains the 4 position control points of the interval j
(i.e. ∆t := tk+1 − tk ∀k = {p, . . . , m − p − 1}). The of the trajectory of the agent s using the basis b.
QMVj−1 ∩ Qj
MV = ∅ in general. If b = Be, the last control point
relationship m = n + p + 1 holds, and there are in total Qj b of interval j − 1 is also the first control point of interval j. If
m − 2p = n − p + 1 intervals. Each interval j ∈ J is b = BS, the last 3 control points of interval j − 1 are also the
first 3 control points of interval j. Analogous definition for
defined in t ∈ [tp+j , tp+j+1 ]. In this paper we will use the set Vjb , which contains the three velocity control points.
p = 3 (i.e. cubic B-Splines). Hence, each interval will Matrix whose columns contain the 4 position control points of
the interval j of the trajectory of the agent s using the basis
be a polynomial of degree 3, and it is guaranteed to lie Qbj
b. Analogous definition for the matrix V bj , whose columns
within the convex hull of its 4 control points {q j , q j+1 , are the three velocity control points.
fjBS→MV (·) Linear function (see Eq. 1) such that QMV = fjBS→MV (QBS j )
q j+2 , q j+3 }. Moreover, clamped B-Splines are guaranteed j
hjBS→MV (·) Linear function (see Eq. 1) such that VjMV = hBS→MV j (QBS
j )
to pass through the first and last control points (q 0 and q n ). π ij (nij ,
Plane nT ij x + dij = 0 that separates Cij from Qj .
b
The velocity and acceleration of a B-Spline are B-Splines dij )
1,
of degrees p−1 and p−2 respectively, whose control points abs (a),
Column vector of ones, element-wise absolute value,
are given by ([13]): a ≤ b,
element-wise inequality, Minkowski sum, and convex hull.
⊕,
p q l+1 − q l conv(·)
vl = ∀l ∈ L\{n} Unless otherwise noted, this colormap in the trajectories will
tl+p+1 − tl+1 represent the norm of the velocity (blue 0 m/s and red vmax ).
Snapshot at t = t1 (current time):
(p − 1) (v l+1 − v l )
al = ∀l ∈ L\{n − 1, n}
tl+p+1 − tl+2
Finally, and as shown in Table I, to obtain g we project
the terminal goal g term to a sphere S centered on d. This is
done only for simplicity, and other possible way would be
to choose g as the intersection between S and a piecewise g term ( ) is the terminal goal, and is the current position of the UAV.
linear path that goes from d to g term , and that avoids is the trajectory the UAV is currently executing.
is the trajectory the UAV is currently optimizing, starts at
the static obstacles (and potentially the dynamic obstacles t = tin and finishes at t = tf .
or agents as well). If a voxel grid of the environment is d ( ) is a point in , used as the initial position of .
S is a sphere of radius r around d. will be contained in S.
available, this piecewise linear path could be obtained by g ( ) is the projection of g term onto the sphere S.
running a search-based algorithm, as done in [10]. pi (t)
Predicted trajectory of an obstacle i, and committed trajectory
of agent i.
Tj is a uniform discretization of [tp+j , tp+j+1 ] (timespan
Tj , γj of interval j of the trajectory of agent s) with step size γj
and such that tp+j , tp+j+1 ∈ Tj .
pi (Tj ) {pi (t) | t ∈ Tj }
IN REVIEW, OCTOBER 2020 4
Figure 5: Example of a trajectory avoiding a dynamic obstacle. The obstacle has a box-like shape and is moving following
a trefoil knot trajectory. The trajectory of the obstacle is divided into as many segments as the optimized trajectory has.
An outer polyhedral representation (whose edges are shown as black lines) is computed for each of theses segments,
and each segment of the trajectory avoids these polyhedra.
Figure 6: Collision-free constraints between agent 2 and both the obstacle 0 and agent 1. This figure is from the view of
agent 2. tin and tf are the initial and final times of the trajectory being optimized (dashed lines), and they are completely
independent of the initial and final optimization times of agent 1. QMV 0 are the control points of the interval 0 of the
optimized trajectory using the MINVO basis. C13 are the vertexes of the convex hull of the vertexes of the control points
of all the intervals of the trajectory of agent 1 that fall in [tf − ∆t, tf ]. Note that the trajectories and polyhedra are in
3D, but they are represented in 2D for visualization purposes.
easily lead to infeasibility if the heuristics used for the total C. Control effort
time (tf − tin ) underestimates the time needed to reach g. The evaluation of a cubic clamped uniform B-Spline in
To force the trajectory generated to be inside the sphere an interval j ∈ J can be done as follows [35]:
S, we impose the constraint 3
uj
2
kq − dk2 ≤ r2 ∀q ∈ QMV u2
j , ∀j ∈ J (4) BS BS
p(t) = Qj Apos (j) j
uj
Moreover, we also add the constraints on the maximum 1
velocity and acceleration: | {z }
:=uj
Fig. 3). Note that the velocity and acceleration are con- dr p(t) 1 BS BS dr uj
strained independently on each one of the axes {x, y, z}. = Q A (j)
dtr ∆tr j pos duj r
IN REVIEW, OCTOBER 2020 7
Therefore, as the jerk is constant in each interval (since Algorithm 1: Octopus Search
p = 3), the control effort is: 1 Function GetInitialGuess():
2 2 Compute q 0 , q 1 and q 2 from pin , v in and ain
Z tf 6 3 Add q 2 to Q
2
X 0 4 while Q is not empty do
kj(t)k dt ∝ QBS BS
j Apos (j) 0
(6) 5 q l ←First element of Q
tin j∈J 6 Remove first element of Q
0 2
7 M ←Uniformly sample v l satisfying vmax and amax
8 if any of the conditions 1-6 is true then
9 continue
D. Optimization Problem 10 if kq l − gk2 < 00 and l = (n − 2) then
Given the constraints and the objective function ex- 11 q n−1 ← q n−2
12 q n ← q n−2
plained above, the optimization problem solved is as fol- 13 return {q 0 , q 1 , q 2 , . . . , q n−2 , q n−1 , q n } ∪ π ij
lows1 :
14 for every v l in M do
t −t
15 q l+1 ← q l + l+p+1p l+1 v l
2 16 Store in q l+1 a pointer to q l
6 17 Add q l+1 to Q
X 0 2
min QBS BS
j Apos (j) 0
+ ω q n−2 − g 2 18 return Closest Path found
BS
Qj ,nij ,dij
j∈J
0 2
s.t.
x(tin ) = xin are ordered in increasing order of f = g + h, where g
is the sum of the distances (between successive control
v(tf ) = vf = 0
points) from q 0 to the current node (cost-to-come), h is
a(tf ) = af = 0 the distance from the current node to the goal (heuristics
nTij c + dij > 0 ∀c ∈ Cij , ∀i, j of the cost-to-go), and is the bias. Similar to A* , this
nTij q ∀q ∈ QMV := fjBS→MV (QBS ordering of the priority queue makes nodes with lower f
+ dij < 0 j j ), ∀i, j
2
be explored first.
kq − dk2 ≤ r2 ∀q ∈ QMV
j := fjBS→MV (QBS
j ), ∀j The way the algorithm works is as follows: First, we
abs (v) ≤ v max ∀v ∈ VjMV := hBS→MV
j (QBS
j ), ∀j compute the control points q 0 , q 1 , q 2 , which are deter-
abs (al ) ≤ amax ∀l ∈ L\{n − 1, n} mined from pin , v in and ain . After adding q 2 to the queue
Q (line 3), we run the following loop until there are no
elements in Q: First we store in q l the first element of
This problem is clearly nonconvex since we are minimiz- Q, and remove it from Q (lines 5-6). Then, we store in a
ing over the control points and the planes π ij (character- set M velocity samples for v l that satisfy both vmax and
ized by nij and dij ). Note also that the decision variables amax 2 . After this, we discard the current q l if any of these
are the B-Spline control points QBS
j . In the constraints, the conditions are true (l.s. denotes linearly separable):
MINVO control points QMV and VjMV are simply linear
j 1) QMV
l−3 is not l.s. from Ci,l−3 for some i ∈ I.
transformations of the decision variables (see Eq. 2). We
2) l = (n − 2) and QMV n−4 is not l.s. from Ci,n−4 for
solve this problem using the augmented Lagrangian method
some i ∈ I.
[36], [37], and with the globally-convergent method-of-
3) l = (n − 2) and QMV n−3 is not l.s. from Ci,n−3 for
moving-asymptotes (MMA) [38] as the subsidiary opti-
some i ∈ I.
mization algorithm. The interface used for these algorithms
4) kq l − dk2 > r.
is NLopt [39]. The time allocated per trajectory is chosen
kg−dk 5) kq l − q k k∞ ≤ 0 for some q k already added to Q.
before the optimization as (tf − tin ) = vmax 2 .
6) Cardinality of M is zero.
Condition 1 ensures that the convex hull of QMVl−3 does
E. Initial Guess
not collide with any interval l − 3 of other obstacle/agent
To obtain an initial guess (which consists of both the i ∈ I. The linear separability is checked by solving the
control points {q 0 , . . . , q n }BS and the planes π ij ), we use following feasibility linear problem for the interval j =
the Octopus Search algorithm shown in Alg. 1. The Octo- l − 3 of every obstacle/agent i ∈ I:
pus Search takes inspiration from A* [40], but it is designed
to work with B-Splines, handle dynamic obstacles/agents, nTij c + dij > 0 ∀c ∈ Cij
(7)
and use the MINVO basis for the collision check. Each nTij q + dij < 0 ∀q ∈ QMV
j
control point will be a node in the search. All the open 2 In these velocity samples, we use the B-Spline velocity control
nodes are kept in a priority queue Q, in which the elements points, to avoid the dependency with past velocity control points that
appears when using the MINVO or Bernstein bases. But note that this
1 In the optimization problem, ∀i and ∀j denote, respectively, ∀i ∈ I is only for the initial guess, in the optimization problem the MINVO
and ∀j ∈ J. velocity control points are used.
IN REVIEW, OCTOBER 2020 8
VI. D ECONFLICTION
To guarantee that the agents plan trajectories asyn-
chronously while not colliding with other agents that are
also constantly replanning, we use a deconfliction scheme
divided in these three periods (see Fig. 8):
Figure 7: Example of the trajectories found by the Octopus
Search in an environment with a dynamic obstacle follow- • The Optimization period happens during t ∈
ing a trefoil knot trajectory. The best trajectory found is (t1 , t2 ]. The optimization problem will include the
the thickest one in the figure. polyhedral outer representations of the trajectories
pi (t), i ∈ I in the constraints. All the trajectories
other agents commit to during the Optimization period
where the decision variables are the planes π ij (defined are stored.
by nij and dij ). We solve this problem using GLPK [41]. • The Check happens during t ∈ (t2 , t3 ]. The goal of
Note that we also need to check the conditions 2 and 3 due this period is to check whether the trajectory found in
to the fact that q n−2 = q n−1 = q n and hence the choice the optimization collides with the trajectories other
of q n−2 in the search forces the choice of q n−1 and q n . agents have committed to during the optimization.
In all these three previous conditions, the MINVO control This collision check is done by performing feasibility
points are used. tests solving the Linear Program 7 ∀j for every
As in the optimization problem we are imposing the agent i that has committed to a trajectory while the
trajectory to be inside the sphere S, we also discard q l if optimization was being performed (and whose new
condition 4 is not satisfied. Additionally, to keep the search trajectory was not included in the constraints at t1 ).
computationally tractable, we discard q l if it is very close A boolean flag is set to true if any other agent commits
to another q k already added to Q (condition 5): we create to a new trajectory during this Check period.
a voxel grid of voxel size 20 , and add a new control point • The Recheck period aims at checking whether agent
to Q only if no other point has been added before within A has received any trajectory during the Check period,
the same voxel. Finally, we also discard q l if there are not by simply checking if the boolean flag is true or false.
any feasible samples for v l (condition 6). As this is a single Boolean comparison in the code,
Then, we check if we have found all the control points it allows us to assume that no trajectories have been
and if q n−2 is sufficiently close to the goal g (distance less published by other agents while this recheck is done,
than 00 ). If this is the case, the control points q n−1 and q n avoiding therefore an infinite loop of rechecks.
(which are the same as q n−2 due to the final stop condition)
are added to the list of the corresponding control points, With h denoting the replanning iteration of an agent A,
and are returned together with all the separating planes the time allocation for each of these three periods described
π ij ∀i ∈ I, ∀j ∈ J (lines 10-13). If the goal has not been above is explained in Fig. 9: to choose the initial condition
reached yet, we use the velocity samples M to generate of the iteration h, Agent A first chooses a point d along
q l+1 and add them to Q (lines 14-17). If the algorithm is the trajectory found in the iteration h − 1, with an offset
not able to find a trajectory that reaches the goal, the one of δt seconds from the current position . Here, δt should
found that is closest to the goal is returned (line 18). be an estimate of how long iteration h will take. To obtain
Fig. 7 shows an example of the trajectories found by this estimate, and similar to our previous work [10], we use
the Octopus Search algorithm in an environment with a the time iteration h − 1 took
multiplied by a factor α ≥ 1:
A,h−1 A,h−1
dynamic obstacle following a trefoil knot trajectory. δt = α t4 − t1 . Agent A then should finish the
replanning iteration h in less than δt seconds. To do this,
we allocate a maximum runtime of κδt seconds to obtain
F. Degree of the splines an initial guess, and a maximum runtime of µδt seconds
In this paper, we focused on the case p = 3 (i.e., cubic for the nonconvex optimization. Here κ > 0, µ > 0 and
splines). However, MADER could also be used with higher κ + µ < 1, to give time for the Check and Recheck. If
(or lower) order splines. For instance, one could use splines the Octopus Search takes longer than κδt, the trajectory
of fourth-degree polynomials (i.e., p = 4), minimize snap found that is closest to the goal is used as the initial guess.
IN REVIEW, OCTOBER 2020 9
Figure 8: Deconfliction between agents. Each agent includes the trajectories other agents have committed to as constraints
in the optimization. After the optimization, a collision check-recheck scheme is performed to ensure feasibility with
respect to trajectories other agents have committed to while the optimization was happening. In this example, agent B
starts the optimization after agent A, but commits to a trajectory before agent A. Hence, when agent A finishes the
optimization it needs to check whether the trajectory found collides or not with the trajectory agent B committed to at
t = tB,q A,h
4 . If it collides, agent A will simply keep executing the trajectory available at t = t1 . If it does not collide,
agent A will do the Recheck step to ensure no agent has committed to any trajectory during the Check period, and if
this Recheck step is satisfied, agent A will commit to the trajectory found.
A. Single-Agent simulations
To highlight the benefits of the MINVO basis with
respect to the Bernstein or B-Spline bases, we first run the
algorithm proposed in a corridor-like enviroment (73 m ×
4 m×3 m) depicted in Fig. 10. that contains 100 randomly-
deployed dynamic obstacles of sizes 0.8 m×0.8 m×0.8 m.
All the obstacles follow a trajectory whose parametric
equations are those of a trefoil knot [43]. The radius of
Figure 11: Boxplots and normalized histograms of the the sphere S used is r = 4.0 m, and the velocity and
velocity profile of vx in the corridor environment shown in acceleration constraints for the UAV are v max = 5 · 1 m/s
Fig. 10. The velocity constraint used was v max = 5·1 m/s. T
and amax = 20 20 9.6 m/s2 . The velocity profile
The histograms are for all the velocities obtained across 10 for vx is shown in Fig. 11. For the same given velocity
different simulations. constraint (vmax = 5 m/s), the mean velocity vx achieved
by the MINVO basis is 4.15 m/s, higher than the ones
achieved by the Bernstein and B-Spline basis (3.23 m/s
3) No feasible solution has been found in the Optimiza- and 2.79 m/s respectively).
tion.
We now compare the time it takes for the UAV to
4) The current iteration takes longer than δt seconds.
reach the goal using each basis in the same corridor
Under the third assumption explained in Sec. III (i.e., environment but varying the total number of obstacles
two agents do not commit to their trajectory at the very (from 50 obstacles to 250 obstacles). Moreover, and as a
same time), this deconfliction scheme explained guarantees stopping condition is not a safe condition in a world with
safety with respect to the other agents, which is proven as dynamic obstacles, we also report the number of times
follows: the UAV had to stop. The results are shown in Table
• If the planning agent commits to a new trajectory in III and Fig. 12. In terms of number of stops, the use
the current replanning iteration, this new trajectory of the MINVO basis achieves reductions of 86.4% and
is guaranteed to be collision-free because it included 88.8% with respect to the Bernstein and B-Spline bases
all the trajectories of other agents as constraints, and respectively. In terms of the time to reach the goal, the
it was checked for collisions with respect to the MINVO basis achieves reductions of 22.3% and 33.9%
trajectories other agents have committed to during the compared to the Bernstein and B-Spline bases respectively.
planning agent’s optimization time. The reason behind all these improvements is the tighter
• If the planning agent does not commit to a new outer polyhedral approximation of each interval of the
trajectory in that iteration (because one of the scenar- trajectory achieved by the MINVO basis in the velocity
ios 1–4 occur), it will keep executing the trajectory and position spaces.
IN REVIEW, OCTOBER 2020 11
Table III: Comparison of the number of stops and time to reach the goal in a corridor-like environment using different
bases and with different number of obstacles.
50 obstacles 100 obstacles 150 obstacles 200 obstacles 250 obstacles
Basis Stops Time (s) Stops Time (s) Stops Time (s) Stops Time (s) Stops Time (s)
B-Spline 4.6 ± 2.50 19.61 ± 1.67 9.0 ± 2.40 26.17 ± 3.04 9.1 ± 2.31 26.97 ± 3.24 12.1 ± 2.77 32.69 ± 4.61 14.10 ± 4.09 39.81 ± 9.76
Bernstein 5.0 ± 2.0 19.07 ± 1.08 7.4 ± 2.36 22.59 ± 1.33 6.5 ± 1.72 23.23 ± 1.43 7.2 ± 2.49 24.65 ± 2.54 8.4 ± 2.80 27.94 ± 4.16
MINVO (ours) 1.1 ± 0.74 16.62 ± 0.61 1 ± 0.94 17.55 ± 0.98 2.7 ± 1.70 20.48 ± 2.26 4.2 ± 1.87 22.47 ± 2.19 8.1 ± 3.45 27.78 ± 3.83
Table IV: Comparison between MADER (ours), SCP ([23]), RBP ([27]), DMPC ([31]), dec_iSCP ([28]), decS_Search
and decNS_Search ([32]) . For SCP and MADER, the time and distance results are the mean of 5 runs, and the safety
ratio is the minimum across all the runs. The test environment consists of 8 agents in a square that swap their positions
without obstacles. For the algorithms that have replanning, the values in the columns of computation and execution times
are t1st start | tlast start | t1st end (see Fig. 13). The superscript ∗ means the available implementation of the algorithm is in
MATLAB (rest is in C++). Algorithms that have replanning but do not satisfy the real-time constraints in the replanning
are denoted as Yes/No in the Replan? column of the table.
Without dis- Time (s) Total Flight Safety
Method Decentr.? Replan? Async.?
cretization? Computation Execution Total Distance (m) Safe? Safety ratio
SCP, hSCP = 0.3 s 1.150 7.215 8.366 77.144 No 0.142
SCP, hSCP = 0.25 s 3.099 7.855 10.954 101.733 No 0.149
No No No No
SCP, hSCP = 0.2 s 8.741 7.855 16.596 90.917 No 0.335
SCP, hSCP = 0.17 s 37.375 9.775 47.150 77.346 No 0.685
RBP, batch_size=1 0.228 15.623 15.851 90.830 Yes 1.055
RBP, batch_size=2 0.236 15.623 15.859 91.789 Yes 1.075
No No No Yes
RBP, batch_size=4 0.277 14.203 14.480 92.133 Yes 1.023
RBP, no batches 0.461 14.203 14.664 93.721 Yes 1.057
DMPC∗ , hDMPC = 0.45 s 4.952 23.450 28.402 79.650 No 0.683
DMPC∗ , hDMPC = 0.36 s 4.350 20.710 25.060 97.220 No 0.914
Yes No No No
DMPC∗ , hDMPC = 0.3 s 4.627 18.430 23.057 78.580 Yes 1.015
DMPC∗ , hDMPC = 0.25 s 3.796 15.980 19.776 79.590 No 0.824
dec_iSCP∗ , hiSCP = 0.4 s 2.631 13.130 15.761 102.320 No 0.017
dec_iSCP∗ , hiSCP = 0.3 s 4.276 15.470 19.746 97.770 No 0.550
Yes No No No
dec_iSCP∗ , hiSCP = 0.2 s 9.639 14.060 23.699 95.790 No 0.917
dec_iSCP∗ , hiSCP = 0.15 s 14.138 14.060 28.198 102.030 No 0.906
decS_Search, u = 2 m/s3 15.336 6.491 21.827 79.354 Yes 1.337
decS_Search, u = 3 m/s3 7.772 6.993 14.764 80.419 Yes 1.768
Yes No No Yes
decS_Search, u = 4 m/s3 34.557 9.491 44.048 83.187 Yes 1.491
decS_Search, u = 5 m/s3 3.104 8.491 11.595 80.804 Yes 1.474
decNS_Search, u = 2 m/s3 0.021 | 0.233 | 33.711 34.288 80.116 Yes 1.416
Yes
decNS_Search, u = 3 m/s3 0.003 | 0.058 | 12.810 13.346 79.752 Yes 1.150
Yes No Yes
decNS_Search, u = 4 m/s3 0.030 | 0.600 | 53.824 53.899 79.752 Yes 1.502
decNS_Search, u = 5 m/s3 No 0.002 | 0.051 | 9.096 9.169 88.753 Yes 1.335
MADER (ours) Yes Yes Yes Yes 0.550 | 2.468 | 7.975 10.262 82.487 Yes 1.577
(c) 16 agents
Figure 14: Results for the circle environment, that contains 25 static obstacles (pillars) and 25 dynamic obstacles (boxes).
The case with 32 agents is shown in Fig. 1a.
Figure 15: Results for the sphere environment, that contains 18 static obstacles (pillars) and 52 dynamic obstacles (boxes
and horizontal poles). The case with 32 agents is shown in Fig. 1b.
IN REVIEW, OCTOBER 2020 14
stops (on average) 0.188 and 1.5 times respectively. For the [2] X. Zhou, Z. Wang, C. Xu, and F. Gao, “Ego-planner: An esdf-
sphere environment with 8, 16, and 32 agents, each UAV free gradient-based local planner for quadrotors,” arXiv preprint
arXiv:2008.08835, 2020.
stops (on average) 0.125, 0.125, and 1.0 times respectively. [3] N. Bucki, J. Lee, and M. W. Mueller, “Rectangular pyramid parti-
Note also that only the two agents that have been the closest tioning using integrated depth sensors (rappids): A fast planner for
are the ones that determine the actual value of the safety multicopter navigation,” arXiv preprint arXiv:2003.01245, 2020.
[4] B. Zhou, J. Pan, F. Gao, and S. Shen, “Raptor: Robust and
ratio, while the other agents do not contribute to this value. perception-aware trajectory replanning for quadrotor fast flight,”
This means that, while the safety ratio is likely to decrease arXiv preprint arXiv:2007.03465, 2020.
with the number of agents, a monotonic decrease of the [5] P. Florence, J. Carter, and R. Tedrake, “Integrated perception and
control at high speed: Evaluating collision avoidance maneuvers
safety ratio with respect to the number of agents is not without maps,” in Workshop on the Algorithmic Foundations of
strictly required. Robotics (WAFR), 2016.
[6] P. R. Florence, J. Carter, J. Ware, and R. Tedrake, “Nanomap: Fast,
VIII. C ONCLUSIONS uncertainty-aware proximity queries with lazy search over local
3d data,” in 2018 IEEE International Conference on Robotics and
This work presented MADER, a decentralized and asyn- Automation (ICRA). IEEE, 2018, pp. 7631–7638.
chronous planner that handles static obstacles, dynamic [7] B. T. Lopez and J. P. How, “Aggressive 3-D collision avoidance for
high-speed navigation,” in Robotics and Automation (ICRA), 2017
obstacles and other agents. By using the MINVO basis, IEEE International Conference on. IEEE, 2017, pp. 5759–5765.
MADER obtains outer polyhedral representations of the [8] ——, “Aggressive collision avoidance with limited field-of-view
trajectories that are 2.36 and 254.9 times smaller than the sensing,” in Intelligent Robots and Systems (IROS), 2017 IEEE/RSJ
International Conference on. IEEE, 2017, pp. 1358–1365.
volumes achieved using the Bernstein and B-Spline bases. [9] J. Tordesillas, B. T. Lopez, J. Carter, J. Ware, and J. P. How, “Real-
To ensure non-conservative, collision-free constraints with time planning with multi-fidelity models for agile flights in unknown
respect to other obstacles and agents, MADER includes as environments,” in 2019 IEEE International Conference on Robotics
and Automation (ICRA). IEEE, 2019.
decision variables the planes that separate each pair of outer [10] J. Tordesillas, B. T. Lopez, and J. P. How, “FASTER: Fast and
polyhedral representations. Safety with respect to other safe trajectory planner for flights in unknown environments,” in
agents is guaranteed in a decentralized and asynchronous 2019 IEEE/RSJ International Conference on Intelligent Robots and
Systems (IROS). IEEE, 2019.
way by including their committed trajectories as constraints
[11] J. Chen, T. Liu, and S. Shen, “Online generation of collision-free
in the optimization and then executing a collision check- trajectories for quadrotor flight in unknown cluttered environments,”
recheck scheme. Extensive simulations in dynamic multi- in Robotics and Automation (ICRA), 2016 IEEE International Con-
agent environments have highlighted the improvements of ference on. IEEE, 2016, pp. 1476–1483.
[12] F. Gao, W. Wu, W. Gao, and S. Shen, “Flying on point clouds: On-
MADER with respect to other state-of-the-art algorithms in line trajectory generation and autonomous navigation for quadrotors
terms of number of stops, computation/execution time and in cluttered environments,” Journal of Field Robotics, vol. 36, no. 4,
flight distance. Future work includes adding perception- pp. 710–733, 2019.
[13] B. Zhou, F. Gao, L. Wang, C. Liu, and S. Shen, “Robust and efficient
aware and risk-aware terms in the objective function, as quadrotor trajectory generation for fast autonomous flight,” IEEE
well as hardware experiments. Robotics and Automation Letters, vol. 4, no. 4, pp. 3529–3536, 2019.
[14] H. Oleynikova, M. Burri, Z. Taylor, J. Nieto, R. Siegwart, and
E. Galceran, “Continuous-time trajectory optimization for online
IX. ACKNOWLEDGEMENTS uav replanning,” in Intelligent Robots and Systems (IROS), 2016
The authors would like to thank Pablo Tordesillas, IEEE/RSJ International Conference on. IEEE, 2016, pp. 5332–
5339.
Michael Everett, Dr. Kasra Khosoussi, Andrea Tagliabue [15] D. Mellinger, A. Kushleyev, and V. Kumar, “Mixed-integer quadratic
and Parker Lusk for helpful insights and discussions. program trajectory generation for heterogeneous quadrotor teams,”
Thanks also to Andrew Torgesen, Jeremy Cai, and Stewart in 2012 IEEE international conference on robotics and automation.
IEEE, 2012, pp. 477–483.
Jamieson for their comments on the paper. Research funded [16] N. D. Potdar, G. C. de Croon, and J. Alonso-Mora, “Online
in part by Boeing Research & Technology. trajectory planning and control of a mav payload system in dynamic
environments,” Autonomous Robots, pp. 1–25, 2020.
R EFERENCES [17] H. Zhu and J. Alonso-Mora, “Chance-constrained collision avoid-
ance for mavs in dynamic environments,” IEEE Robotics and
[1] J. Tordesillas and J. How, “MINVO basis: Finding simplexes with Automation Letters, vol. 4, no. 2, pp. 776–783, 2019.
minimum volume enclosing polynomial curves,” arXiv preprint, [18] M. Szmuk, C. A. Pascucci, and B. AÇikmeşe, “Real-time quad-
2020. rotor path planning for mobile obstacle avoidance using convex
IN REVIEW, OCTOBER 2020 15
optimization,” in 2018 IEEE/RSJ International Conference on In- [39] S. G. Johnson, “The Nlopt nonlinear-optimization package,” http:
telligent Robots and Systems (IROS). IEEE, 2018, pp. 1–9. //github.com/stevengj/nlopt, 2020.
[19] F. Gao and S. Shen, “Quadrotor trajectory generation in dynamic [40] P. E. Hart, N. J. Nilsson, and B. Raphael, “A formal basis for the
environments using semi-definite relaxation on nonconvex qcqp,” in heuristic determination of minimum cost paths,” IEEE transactions
2017 IEEE International Conference on Robotics and Automation on Systems Science and Cybernetics, vol. 4, no. 2, pp. 100–107,
(ICRA). IEEE, 2017, pp. 6354–6361. 1968.
[20] J. Lin, H. Zhu, and J. Alonso-Mora, “Robust vision-based obstacle [41] “GLPK: GNU Linear Programming Kit,” https://www.gnu.org/
avoidance for micro aerial vehicles in dynamic environments,” arXiv software/glpk/, 2020.
preprint arXiv:2002.04920, 2020. [42] D. Mellinger and V. Kumar, “Minimum snap trajectory generation
[21] J. A. Preiss, K. Hausman, G. S. Sukhatme, and S. Weiss, “Trajec- and control for quadrotors,” in Robotics and Automation (ICRA),
tory optimization for self-calibration and navigation.” in Robotics: 2011 IEEE International Conference on. IEEE, 2011, pp. 2520–
Science and Systems, 2017. 2525.
[22] L. Tang, H. Wang, P. Li, and Y. Wang, “Real-time trajectory gener- [43] W. MathWorld, “Trefoil knot,” https://mathworld.wolfram.com/
ation for quadrotors using b-spline based non-uniform kinodynamic TrefoilKnot.html, 06 2020, (Accessed on 06/02/2019).
search,” in 2019 IEEE International Conference on Robotics and
Biomimetics (ROBIO). IEEE, 2019, pp. 1133–1138.
[23] F. Augugliaro, A. P. Schoellig, and R. D’Andrea, “Generation of
collision-free trajectories for a quadrocopter fleet: A sequential
convex programming approach,” in 2012 IEEE/RSJ international
conference on Intelligent Robots and Systems. IEEE, 2012, pp.
1917–1922.
[24] A. Kushleyev, D. Mellinger, C. Powers, and V. Kumar, “Towards
a swarm of agile micro quadrotors,” Autonomous Robots, vol. 35,
no. 4, pp. 287–300, 2013.
[25] W. Wu, F. Gao, L. Wang, B. Zhou, and S. Shen, “Temporal schedul-
ing and optimization for multi-mav planning,” Ph.D. dissertation, Jesus Tordesillas (Student Member, IEEE) re-
Hong Kong University of Science and Technology, 2019. ceived the B.S. and M.S. degrees in Electronic
[26] D. R. Robinson, R. T. Mar, K. Estabridis, and G. Hewer, “An effi- engineering and Robotics from the Technical
cient algorithm for optimal trajectory generation for heterogeneous University of Madrid (Spain) in 2016 and 2018
multi-agent systems in non-convex environments,” IEEE Robotics respectively. He then received his M.S. in Aero-
and Automation Letters, vol. 3, no. 2, pp. 1215–1222, 2018. nautics and Astronautics from MIT in 2019. He
[27] J. Park, J. Kim, I. Jang, and H. J. Kim, “Efficient multi-agent is currently pursuing the PhD degree with the
trajectory planning with feasibility guarantee using relative bernstein Aeronautics and Astronautics Department, as a
polynomial,” arXiv preprint arXiv:1909.10219, 2019. member of the Aerospace Controls Laboratory
[28] Y. Chen, M. Cutler, and J. P. How, “Decoupled multiagent path (MIT) under the supervision of Jonathan P. How.
planning via incremental sequential convex programming,” in 2015 His research interests include path planning for
IEEE International Conference on Robotics and Automation (ICRA). UAVs in unknown environments and optimization. His work was a finalist
IEEE, 2015, pp. 5954–5961. for the Best Paper Award on Search and Rescue Robotics in IROS 2019.
[29] D. Morgan, G. P. Subramanian, S.-J. Chung, and F. Y. Hadaegh,
“Swarm assignment and trajectory optimization using variable-
swarm, distributed auction assignment and sequential convex pro-
gramming,” The International Journal of Robotics Research, vol. 35,
no. 10, pp. 1261–1285, 2016.
[30] X. Ma, Z. Jiao, Z. Wang, and D. Panagou, “Decentralized prioritized
motion planning for multiple autonomous uavs in 3d polygonal
obstacle environments,” in 2016 International Conference on Un-
manned Aircraft Systems (ICUAS). IEEE, 2016, pp. 292–300.
[31] C. E. Luis and A. P. Schoellig, “Trajectory generation for multiagent
point-to-point transitions via distributed model predictive control,”
IEEE Robotics and Automation Letters, vol. 4, no. 2, pp. 375–382, Jonathan P. How (Fellow, IEEE) received the
2019. B.A.Sc. degree from the University of Toronto
[32] S. Liu, K. Mohta, N. Atanasov, and V. Kumar, “Towards search- (1987), and the S.M. and Ph.D. degrees in
based motion planning for micro aerial vehicles,” arXiv preprint aeronautics and astronautics from MIT (1990
arXiv:1810.03071, 2018. and 1993). Prior to joining MIT in 2000, he was
[33] S. Liu, M. Watterson, K. Mohta, K. Sun, S. Bhattacharya, C. J. an Assistant Professor at Stanford University. He
Taylor, and V. Kumar, “Planning dynamically feasible trajectories is currently the Richard C. Maclaurin Professor
for quadrotors using safe flight corridors in 3-D complex environ- of aeronautics and astronautics at MIT. Some of
ments,” IEEE Robotics and Automation Letters, vol. 2, no. 3, pp. his awards include the IEEE CSS Distinguished
1688–1695, 2017. Member Award (2020), AIAA Intelligent Sys-
[34] R. Deits and R. Tedrake, “Efficient mixed-integer planning for uavs tems Award (2020), IROS Best Paper Award
in cluttered environments,” in 2015 IEEE international conference on Cognitive Robotics (2019), and the AIAA Best Paper in Conference
on robotics and automation (ICRA). IEEE, 2015, pp. 42–49. Awards (2011, 2012, 2013). He was the Editor-in-chief of IEEE Control
[35] K. Qin, “General matrix representations for b-splines,” The Visual Systems Magazine (2015–2019), is a Fellow of AIAA, and was elected
Computer, vol. 16, no. 3-4, pp. 177–186, 2000. to the National Academy of Engineering in 2021.
[36] A. R. Conn, N. I. Gould, and P. Toint, “A globally convergent
augmented lagrangian algorithm for optimization with general con-
straints and simple bounds,” SIAM Journal on Numerical Analysis,
vol. 28, no. 2, pp. 545–572, 1991.
[37] E. G. Birgin and J. M. Martínez, “Improving ultimate convergence
of an augmented lagrangian method,” Optimization Methods and
Software, vol. 23, no. 2, pp. 177–195, 2008.
[38] K. Svanberg, “A class of globally convergent optimization methods
based on conservative convex separable approximations,” SIAM
journal on optimization, vol. 12, no. 2, pp. 555–573, 2002.