Professional Documents
Culture Documents
Ngineering Otes: Online Feasible Trajectory Generation For Collision Avoidance in Fixed-Wing Unmanned Aerial Vehicles
Ngineering Otes: Online Feasible Trajectory Generation For Collision Avoidance in Fixed-Wing Unmanned Aerial Vehicles
Engineering Notes
Online Feasible Trajectory Generation approaches is too high for online application. For example, [30,31]
describe the use of variants of the potential field method for designing
for Collision Avoidance in Fixed-Wing on-orbit assembly controllers, but the application discussed is com-
Unmanned Aerial Vehicles pletely different from that considered in this paper. Among the
advances in continuous time planning or polynomial trajectory gen-
eration, Bry et al. [32] have studied trajectory planning by combining
Min Prasad Adhikari∗ and Anton H. J. de Ruiter† a path search algorithm with polynomial trajectory optimization.
Ryerson University, Toronto, Ontario M5B 2K3, Canada Although they presented experimental results, the trajectory they
used was computed offline. Likewise, Nuske et al. [33] discussed
https://doi.org/10.2514/1.G004460 motion planning that allows a quadrotor UAV to navigate rivers using
SPARTAN, with an A -like approach employed for path searching in
Downloaded by GEORGIA INST OF TECHNOLOGY on May 27, 2020 | http://arc.aiaa.org | DOI: 10.2514/1.G004460
Z
[35] supports various applications of fixed-wing UAVs, our simpli- tf
fication combined with the reduced-parameter optimization problem JX⋅;U⋅ βyt2 ηzt−zd 2 rXtdt; β > 0; η > 0
t0
handles online obstacle avoidance while remaining close to a desired
straight path between two points. (3)
The contributions of this study can be summarized as follows:
1) A simplification approach for the dynamical equations gov- subject to the dynamic equations (1) and the constraints
erning fixed-wing UAVs is introduced along with the associated
control constraints. This approach results in a simpler kinematic x; y; z; v; γ; ψt0 x0 ; y0 ; z0 ; v0 ; γ 0 ; ψ 0 ; x; y; ztf
equation that preserves the bounds on the original dynamic controls.
The controls of the original dynamic equation can then be calculated xf ; yf ; zf (4)
from the controls of the simplified system equations.
2) A trajectory generation problem (in 3D space) usually includes x − xfc;tg pxj y − yfc;tg pyj
hj x; y; z ln
states and controls as optimization parameters, whereas the proposed aj bj
method has only four optimization parameters x; y; z; v and pre- p
z − zfc;tg zj
serves the dynamic constraints. Thus, the proposed method uses
≥ ϵs ; t ∈ t0 ; tf (5)
fewer optimization parameters (which leads to a faster solution time) cj
than conventional methods.
The remainder of this paper is organized as follows. In Sec. II, the with 0 < ϵs ≪ 1, and
Downloaded by GEORGIA INST OF TECHNOLOGY on May 27, 2020 | http://arc.aiaa.org | DOI: 10.2514/1.G004460
2 3 2 v cosψ cosγ 3 The optimal control problem presented above is the one for which
x_
we would ultimately like an optimal solution. However, as stated in
6 y_ 7 6 v sinψ cosγ 7
6 7 6 7 the Introduction, direct solutions may be computationally expensive,
6 7 6 7
6 z_ 7 6 v sinγ 7 especially in the absence of a good feasible initial guess. In the
6 76 7 (1)
6 v_ 7 6 7 following, we present a method for rapidly generating a feasible
M −D T cosα − Mg sinγ
1
6 7 6 7
6 7 6 1 7 initial guess for this problem. This feasible initial guess may either
4 γ_ 5 4 Mv L cosϕ T sinα cosϕ − Mg cosγ 5 be used as the flight trajectory in its own right, or may be used as
Mv cosγ L sinϕ T sinα sinϕ
1
ψ_ initial guess to solve the given optimal control problem. We shall
demonstrate the benefits of both possibilities in Sec. V.
where x; y; z refers to position in space, v denotes the ground We develop a two-stage approach in this paper. In the first step,
speed, ψ denotes the yaw angle, γ denotes the flight path angle, described in Sec. II.B, we transform the stated optimal control problem
M is the mass of the aircraft, Llift force 1∕2ρv2 SCL , from a dynamic problem to a kinematic problem, while preserving
Ddragforce 1∕2ρv2 SCD , g is gravitational acceleration the original dynamic constraints. In the second step, presented in
9.81 m∕s2 , CD CD0 KC2L is the drag coefficient, CL CLα α Sec. III, we transform the new kinematic optimal control problem into
is the lift coefficient, and K 1∕πAe. Here, S is the wing surface a simplified geometric problem with fewer optimization parameters,
area, A is the aircraft’s aspect ratio (given by A b2 ∕S), b is the and use this to obtain the feasible initial guess (or a feasible trajectory).
wing span, e is the Oswald efficiency, and ρ is the density of the air.
In the UAV model, α, ϕ, and T are considered as controls, where α B. Simplification of the System Dynamic Equation
is the angle of attack, ϕ is the roll/bank angle, and T represents thrust. We now simplify the last three equations of the dynamic equa-
In Eq. (1), the effect of thrust T has been added to the model derived tion (1). To do so, we introduce new control inputs and bounds that
in ([41] Chap. 3). We take X x; y; z; v; γ; ψ as the state and guarantee the original control bounds in Eq. (6).
U α; ϕ; T as the control. Typically, the angle of attack α for a wing in a fixed-wing UAV is
small compared with the bank angle ϕ. Therefore, it is assumed that α
A. Problem Definition lies within a small range such that sin α ≈ α and cos α ≈ 1,
The objective is for the UAV to start at initial time t0 from initial and neglect higher-order terms. We define a new set of control inputs
position x0 ; y0 ; z0 with velocity, flight path angle, and heading Us a; ωγ ; ωψ in terms of the acceleration a, rate of change of the
angle of v0 , γ 0 , and ψ 0 , respectively, and reach a target position flight path angle ωγ , and rate of change of the heading angle ωψ , such
xf ; yf ; zf at final time tf (which can be freely selected), while that the dynamic equations (1) become
avoiding obstacles and staying close to a desired flight path. This
path is represented by a straight line at a certain height zd , parallel to x_ v cos γ cos ψ; y_ v cos γ sin ψ; z_ v sin γ
the x axis. We consider n obstacles, described by ([43] Chap. 4) v_ a; γ_ ωγ ; ψ_ ωψ (8)
x − xfc;tg pxj y − yfc;tg pyj z − zfc;tg pzj
≤ 1 (2) where
aj bj cj
1 1
where xfc;tg ; yfc;tg ; zfc;tg denotes the obstacle center position at time a − ρv2 SCD0 KC2Lα α2 T cosα − Mg sinγ (9a)
M 2
t, faj ; bj ; cj g gives the obstacle radius along each coordinate axis,
fpxj ; pyj ; pzj g ≥ 2 defines the obstacle shape, and j 1; 2; : : : ; n.
1 1 2
The associated trajectory generation problem is posed as the ωγ ρv SCLα α cosϕ T sinα cosϕ − Mg cosγ
following optimal control problem: Find the state–control pair Mv 2
Xt; Ut and final time tf that minimizes the cost (9b)
J. GUIDANCE, VOL. 43, NO. 6: ENGINEERING NOTES 1203
1 1 2 Using the simplified dynamics in Eq. (8), we pose a related optimal
ωψ ρv SCLα α sinϕ T sinα sinϕ (9c) control problem: Find the control–state pair X⋅; Us ⋅ that
Mv cosγ 2
minimizes the cost (3) subject to the dynamics (8), constraints (4)
Under the stated assumptions on α, inverting Eq. (9) gives the and (5), and control constraints Us ≤ Us ≤ Us with bounds given
original controls according to by Eq. (11).
As stated in the Introduction, rapid optimal trajectory generation
1 may be computationally intensive owing to the nature of Nonlinear
T Ma ρv2 SCD0 Mg sinγ (10a) Programming (NLP) algorithms. Nevertheless, a feasible trajectory
2
for the problem is also a challenge, as one cannot be easily obtained
by simple expressions. The main advantages of simplifying the
v cosγωψ
ϕ arctan (10b) system dynamic equation are that the simplified model is affine in
vωγ g cosγ the control parameters, and that the parameters can be easily defined
from the position of points with respect to the time parameter. Thus,
Mvωγ Mg cosγ the problem size is reduced by introducing the feasible problem.
α (10c) Another advantage is that the solution to the simplified model is also a
cosϕ1∕2ρv2 SCLα T
solution to the dynamic model, and therefore the trajectory solution
These equations are used to derive bounds on the new controls, as obtained by solving the simplified model can be implemented in the
stated below. Once the actual new controls Us have been obtained, the dynamic model. The following section describes our proposed
Downloaded by GEORGIA INST OF TECHNOLOGY on May 27, 2020 | http://arc.aiaa.org | DOI: 10.2514/1.G004460
exact equations (9) are inverted to recover the original controls U. method for rapidly generating a feasible initial guess to this optimal
Given the constraints for the controls α: α ≤ α ≤ α; ϕ: ϕ ≤ ϕ ≤ control problem.
ϕ; T: T ≤ T ≤ T, limits on Us a; ωγ ; ωψ are now obtained such
that the bounds on the original controls are guaranteed to be satisfied III. Approach for Feasible Trajectory Generation
[based on Eq. (10)]. We introduce N points between the initial and the goal point in the
Assumptions: The aircraft mass M and the state parameters X are x–y–z space, so that the initial point and the goal point are x0 ; y0 ; z0
known. T ≥ 0 N, ϕ −ϕ, 0 < ϕ < π∕2 rad, α > 0 rad, v > 0 m∕s, and xN1 ; yN1 ; zN1 , respectively. The path between the initial
and cos γ > 0. As a result, jγj < π∕2 rad and cos ϕ > 0. point and the goal point connected by the set of N intermediate points
Using Eq. (10), we obtain the following bounds on the new should be determined to give a flyable trajectory (with obstacle
controls: avoidance). In order that the points arranged in space form a feasible
path, they should satisfy the UAV’s state and control constraints.
1 1 2 Thus, in the following, expressions are developed that define the
a T − ρv SCD0 − Mg sinγ (11a) relationships between points in space and the UAV’s state and control
M 2
constraints. Figure 1 shows the distribution of N points between the
initial point and the goal point. To relate the kinematic equation (8) of
1 1
a T − ρv2 SCD0 − Mg sinγ (11b) a fixed-wing UAV to the points in x–y–z space, it is assumed that the
M 2 UAV moves in a straight line between two consecutive free points. In
8 Fig. 1, x0 ; y0 ; z0 is the initial point, ψ 0 is the initial heading angle,
> g cosγ and γ 0 is the initial flight path angle. Similarly, xN ; yN ; zN is the free
<− ϵc ; α≤0
v point before xN1 ; yN1 ; zN1 , where ψ N and γ N are the heading
ωγ where ϵc > 0
>
: α1∕2ρv 2
SC Lα T g cosγ angle and flight path angle between points N and N 1, respectively.
− α>0 It is assumed that the directions of the heading angle and the flight
Mv v
(11c) path angle at points N and N 1 are the same, as the direction is
measured between points N and N 1.
Let xi ; yi ; zi represent the location of the ith point in x–y–z space,
α cosϕ1∕2ρv2 SCLα T − Mg cosγ
ωγ (11d) and let vi be the velocity at that point, under the assumption that the
Mv velocity between points i and i 1 is the average of vi and vi1 .
Accordingly, the acceleration profile between the points is constant.
tanϕvωγ g cosγ Define δsi to be the distance covered in time δti in 3D space, so that
ωψ (11e) δsi and δti are given by
v cosγ
q
tanϕvωγ g cosγ δsi δx2i δy2i δz2i (12)
ωψ (11f)
v cosγ
2δsi
δti (13)
Under the given assumptions, it is necessary that jϕj ≤ π∕2 rad. vi vi−1
Therefore, by Eq. (10), it is required that ωγ > −g cosγ∕v, and
this is satisfied if ωγ −g cosγ∕v ϵc for any ϵc > 0. This is the
reason that there are two cases for ωγ .
We can directly verify that a ≤ a ≤ a implies T ≤ T ≤ T
from Eq. (10). We now demonstrate that ωγ ≤ ωγ guarantees α ≤ α
for the case α > 0. By Eq. (11), it should hold that α ≤
Mvωγ Mg cosγ∕A, where A cosϕ1∕2ρv2 SClα T >
0 under the stated assumptions. Therefore, it follows that
αA − Mg cosγ∕Mv ≤ ωγ . As
where δxi xi − xi−1 , δyi yi − yi−1 , and δzi zi − zi−1 subject to the constraints
(i 1; : : : ; N 1) are the displacements between two consecutive
points on the x, y, and z axes, respectively, at the ith instant; δti is xi1 − xi 2 yi1 − yi 2 zi1 − zi 2 xi − xi−1 2
the time between two consecutive points, which is measured by
yi − yi−1 2 zi − zi−1 2
the average velocity at consecutive points.
As ψ is the heading angle measured from the positive x axis to the i 1; : : : ; N (20)
positive y axis and γ is the flight path angle measured from the x–y
plane to the flight path, the expressions for ψ i and γ i between the
xi − xfc;tg pxj yi − yfc;tg pyj zi − zfc;tg pzj
i − 1th and ith instants can be written as ln
a j b j c j
δyi ≥ ϵs > 0; i 1; : : : ; N (21)
ψ i arctan (14)
δxi
X ≤ Xi ≤ X; Usi ≤ Usi ≤ Usi ; i 1; : : : ; N (22)
δzi
γ i arctan p (15) where X i xi ; yi ; zi ; vi ; γ i ; ψ i , Usi ai ; ωγi ; ωψi , and
δx2i δy2i
γ i ; ψ i ; ai ; ωγi ; ωψi are given by Eqs. (14–18), respectively. The bounds
where i 1; : : : ; N 1, ψ N1 ψ N , and γ N1 γ N . The control Usi ; Usi are given by Eq. (11).
Downloaded by GEORGIA INST OF TECHNOLOGY on May 27, 2020 | http://arc.aiaa.org | DOI: 10.2514/1.G004460
constraints on a; ωγ ; ωψ are transformed as follows: Comparing the optimization problem given by Eq. (19) for
Eq. (22) with the optimal control problem given in Sec. II.B, it can
For v_ a, using the approximation v_ ≈ δv∕δt, one has
be seen that the cost function and the constraints are quite similar,
δv∕δt a. Using δv vi − vi−1 , the average acceleration between
although there are some differences. Specifically, comparing the
two consecutive points becomes vi − vi−1 ∕δti v2i − v2i−1 ∕ costs in Eqs. (19) and (3), it can be seen that we have added a term
2δsi a. Thus, [the last term on the right-hand side of Eq. (19)], which penalizes the
square of the overall length of the trajectory represented by the points.
v2i − v2i−1 This is to encourage the restriction of the path length, as well as to
ai (16)
2δsi limit the path curvature. The other notable difference is the constraint
in Eq. (20), which forces the distance between adjacent pairs of points
For γ_ ωγ , one has δγ∕δt ωγ . Using δγ γ i − γ i−1 , the to be equal. This constraint is added to encourage the resulting
average rate of change in the flight path angle between two con- trajectory to be well-behaved and is found to be beneficial for the
secutive points becomes performance of our custom solver when finding solutions to the
optimization problems presented in this paper. Moreover, it helps
γ i − γ i−1 γ i − γ i−1 vi vi−1 to determine a good starting point for the problem; this follows from
ωγ [45] (Sec. 5.3), which states that the initialization process requires an
δti 2δsi
equality constraint along with other Karush–Kuhn–Tucker condi-
Thus, tions to find a good starting point, irrespective of the user-supplied
initial guess.
The presented optimization problem is an NLP problem with 4N
γ i − γ i−1 vi vi−1
ωγi (17) variables xi ; yi ; zi ; vi . To solve this problem, an initial starting point
2δsi is required. Given the initial and goal points, the following is used as a
set of starting points:
Similarly, for ψ_ ωψ , one has δψ∕δt ωψ . Using xi equally spaced points from x0 to xN1 .
δψ ψ i − ψ i−1 , the average rate of change in the heading angle yi equally spaced points along the desired reference path from
between two consecutive points becomes y0 to yN1 .
zi equally spaced points along the desired reference path from
ψ i − ψ i−1 ψ i − ψ i−1 vi vi−1 z0 to zN1 .
ωψ
δti 2δsi vi minimum vi such that v ≤ vi ≤ v, ∀ i 1; : : : ; N.
This initialization may introduce infeasible constraints. That is,
Thus, when these starting points are provided without considering the
obstacle locations, there is a possibility that these points in 3D space
ψ i − ψ i−1 vi vi−1 may be inside an obstacle, which will cause the obstacle constraint
ωψi (18) to be infeasible at the very beginning of the solution procedure.
2δsi
However, using the Quadratic Programming (QP) algorithm [45],
an obstacle-free feasible solution can be obtained, regardless of the
We now pose an optimization problem within this geometric frame-
solution procedure.
work, motivated by the simplified optimal control problem presented in
Once the problem described by Eqs. (19–22) has been solved to the
Sec. II.B. Given an initial condition x0 ; y0 ; z0 ; v0 ; γ 0 ; ψ 0 (note that this
required level of accuracy, a feasible trajectory for the original
places a constraint on x1 ; y1 ; z1 ), and the final condition
trajectory generation problem presented in Sec. II can be obtained
xN1 ; yN1 ; zN1 , find the parameters xi ; yi ; zi ; vi ji 1; : : : ; N
as follows. To recover the remaining states, Eqs. (12) and (13) are first
that minimize the cost used to compute the time associated with the node points, and then
Eqs. (14) and (15) are used to compute the heading angle ψ and the
X
N
flight path angle γ, respectively. To recover the controls, Eq. (16) is
JG ⋅ βy2i ηz2i rxi ; yi ; zi
i1
used to determine the acceleration a, and Eqs. (17) and (18) give ωγ
and ωψ between consecutive node points, respectively. The original
X
N 1
κ xi − xi−1 2 yi − yi−1 2 zi − zi−1 2 ; controls for the original problem are then obtained by numerically
i1
solving Eq. (10) for T; ϕ; α. Although the SCP algorithm is used, the
simplification in Sec. II.B means that there is no guarantee that the
κ > 0; β > 0; η > 0; w > 0; solution to the simplified problem with the simplified model is locally
Xn h i optimal for the original problem with the dynamic model. Instead, we
−hj xi ;yi ;zi
where; r xi ; yi ; zi w ee −1 (19) have a suboptimal feasible solution. The details can be found in [46]
j1 (Sec. 3.4.3).
J. GUIDANCE, VOL. 43, NO. 6: ENGINEERING NOTES 1205
IV. Customization of Solver Table 1 Physical and aerodynamic features of the Ascent
UAV [53]
The optimization problem posed in Sec. III is an NLP. Any direct
method of solving the optimal control problems posed in Sec. II will Ascent UAV’s parameter Value
also result in an NLP following a suitable discretization. Feasible Mass (M) 0.553 kg
trajectory generation for online applications requires a rapid solution Density of air ρ 1.225 kg∕m3
of the posed optimization problems. Moreover, online implementa- Wing surface area (S) 0.2135 m2
tion in an embedded system requires a solver that is suitable for an
Acceleration due to gravity g 9.81 m∕s2
embedded platform. Thus, to use the feasible trajectory generation
algorithm in an embedded platform, we require a robust algorithm Minimum drag coefficient Cd0 0.03 (assumed)
that can be easily implemented in an embedded system. In this paper, Wing span (b) 1.37 m
we describe a custom solver based on the SCP methodology [47]. Aspect ratio (A) b2 ∕S 8.79
Strictly speaking, we are not performing SCP, because the noncon- Oswald efficiency (e) [54] 1∕1.05 0.007πA 0.8043
vexity of the cost function in the presence of the robustness function Constant (K) 1∕πAe 0.045
means that the Hessian is not guaranteed to be convex. [Here, non- Clα 4.2
convexity refers to the nonconvex nature of the cost functions (3) and Thrust-to-weight ratio (T∕W) 0.7 (assumed)
(19) following the addition of the robustness function (7).] As the
robustness function is not necessarily convex, the addition of the
robustness function to the cost does not guarantee that the overall cost
Downloaded by GEORGIA INST OF TECHNOLOGY on May 27, 2020 | http://arc.aiaa.org | DOI: 10.2514/1.G004460
For the Monte Carlo test, 100 scenarios will be randomly designed
Table 5 Parameter values
as follows. In all problems, the initial point at 0; 0; 10 m, initial for the simplified optimal
velocity v0 8 m∕s, initial flight path angle γ 0 0 rad, initial control problem
heading angle ψ 0 0 rad, and the goal point at 100; 0; 10 m are
fixed. In all scenarios, the aim is to find the trajectory that avoids Parameter Value
obstacles and remains close to the predefined reference path defined w 0.5
by y 0, z 10 m. The number of obstacles and their locations, β, 1∕m2 2.0
sizes, and shapes are randomly generated. Each scenario is initialized η, 1∕m2 2.0
with state–control pairs (as given in Sec. III) and obstacle location
Downloaded by GEORGIA INST OF TECHNOLOGY on May 27, 2020 | http://arc.aiaa.org | DOI: 10.2514/1.G004460
Ct Ct 1
1
Ct 2 Ct
Time Comparision Time Comparision 3
5
10
Time (s)
Time (s)
0 10
10
-5
10
0 20 40 60 80 100 10 -1
0 20 40 60 80 100
Instants Instants
Fig. 4 Computation time comparison. Fig. 8 Computation time comparison between Ct1 and Ct3 .
It
1
Iteration Comparision It 2 It 1
40
It
Iteration Comparison
Downloaded by GEORGIA INST OF TECHNOLOGY on May 27, 2020 | http://arc.aiaa.org | DOI: 10.2514/1.G004460
3
40
SCP Iterations
30
SCP Iterations
20 30
10
20
0
0 20 40 60 80 100
Instants 10
0 20 40 60 80 100
Fig. 5 Iteration comparison. Instants
Fig. 9 Iteration Comparison between It1 and It3 .
C1
2
10 10 8 18.1 3314.6
15 8 35.2 1344.4
20 8 75.4 1009.3
30 10 261.1 767.0
1
10
0 20 40 60 80 100
Instants
Fig. 6 Cost comparison.
generation with two stationary and two moving obstacles (the
obstacle scenario for this case is defined as in the Monte Carlo above).
Ad 1 As shown in Table 7, higher nodes number needs more SCP
iterations and also the more computation time, but results in a low-
Average Deviation (Ad) Ad 3
cost trajectory. Besides the above statistical results, other results such
Average Deviation (m)
0.8 as the comparison between the original and the simplified problem,
comparison of the solver used in this paper with other solvers, an
0.6 example scenario with the state and control variables time history,
and some challenging cases of the trajectory generation problem are
shown in [46] (Sec. 3.4).
0.4
pp. 65–100. Time Varying Model Predictive Control Approach to the Integrated
https://doi.org/10.1007/s10846-009-9383-1 Vehicle Dynamics Control Problem in Autonomous Systems,” Proceed-
[4] Coutinho, W. P., Battarra, M., and Fliege, J., “The Unmanned Aerial ings of the 46th IEEE Conference on Decision and Control, New
Vehicle Routing and Trajectory Optimization Problem, a Taxonomic Orleans, LA, 2007, pp. 2980–2985.
Review,” Computer and Industrial Engineering, Vol. 120, June 2018, https://doi.org/10.1109/CDC.2007.4434137
pp. 116–128. [23] Wang, X., Yadav, V., and Balakrishnan, S. N., “Cooperative UAV For-
https://doi.org/10.1016/j.cie.2018.04.037 mation Flying with Obstacle/Collision Avoidance,” IEEE Transactions
[5] Zhao, Y., Zheng, Z., and Liu, Y., “Survey on Computational-Intelli- on Control Systems Technology, Vol. 15, No. 4, 2007, pp. 672–679.
gence-Based UAV Path Planning,” Knowledge-Based Systems, Vol. 158, https://doi.org/10.1109/TCST.2007.899191
Oct. 2018, pp. 54–64. [24] Betts, J. T., “Survey of Numerical Methods for Trajectory Optimiza-
https://doi.org/10.1016/j.knosys.2018.05.033 tion,” Journal of Guidance, Control, and Dynamics, Vol. 21, No. 2,
[6] Yao, W., Qi, N., and Liu, Y., “Online Trajectory Generation with 1998, pp. 193–207.
Rendezvous for UAVs Using Multistage Path Prediction,” Journal of https://doi.org/10.2514/2.4231
Aerospace Engineering, Vol. 3, No. 30, 2017, Paper 04016092. [25] Farid, G., Mo, H., Zahoor, M. I., and Liwei, Q., “Computationally
https://doi.org/10.1061/(ASCE)AS.1943-5525.0000694 Efficient Algorithm to Generate a Waypoints-Based-Trajectory for a
[7] Hehn, M., and D’Andrea, R., “Quadrocopter Trajectory Generation and Quadrotor UAV,” Chinese Control and Decision Conference (CCDC),
Control,” 18th IFAC World Congress, The International Federation of IEEE, New York, 2018, pp. 4414–4419.
Automatic Control, Elsevier Ltd., Milano, Italy, 2011, pp. 1485–1491. https://doi.org/10.1109/CCDC.2018.8407894
https://doi.org/10.3182/20110828-6-IT-1002.03178 [26] Stoican, F., Prodan, I., Popescu, D., and Ichim, L., “Constrained
[8] Albert, A., Leira, F. S., and Imsland, L., “UAV Path Planning Using Trajectory Generation for UAV Systems Using a B-Spline Param-
MILP with Experiments,” Norwegian Society of Automatic Control: etrization,” 25th IEEE Mediterranean Conference on Control and
Modeling, Identification and Control, Vol. 38, No. 1, 2017, pp. 21–32. Automation (MED), Inst. of Electrical and Electronics Engineers, New
https://doi.org/10.4173/mic.2017.1.3 York, 2017, pp. 613–618.
[9] Kambhampati, S., and Davis, L. S., “Multiresolution Path Planning for https://doi.org/10.1109/MED.2017.7984185
Mobile Robots,” IEEE Journal of Robotics and Automation, Vol. 2, [27] Krishnakumar, K., and Goldberg, D. E., “Control System Optimization
No. 3, 1986, pp. 135–145. Using Genetic Algorithm,” Journal of Guidance, Control, and Dynam-
https://doi.org/10.1109/JRA.1986.1087051 ics, Vol. 15, No. 3, 1992, pp. 735–740.
[10] Chandler, P., Rasmussen, S., and Pachter, M., “UAV Cooperative Path https://doi.org/10.2514/3.20898
Planning,” AIAA Guidance, Navigation, and Control Conference, [28] Ross, I. M., and Fahroo, F., “Legendre Pseudospectral Approxima-
AIAA Paper 2000-4370, 2000, pp. 1301–1306. tions of Optimal Control Problems,” New Trends in Nonlinear
https://doi.org/10.2514/6.2000-4370 Dynamics and Control and Their Applications, Lecture Notes, edited
[11] Khatib, O., “Real Time Obstacle Avoidance for Manipulators and by W. Kang, C. Borges, and M. Xiao, Springer–Verlag, Berlin, 2003,
Mobile Robots,” Proceedings of IEEE International Conference on pp. 327–342.
Robotics and Automation, St. Louis, MO, Vol. 2, 1985, pp. 500–505. https://doi.org/10.1007/978-3-540-45056-6_21
https://doi.org/10.1109/ROBOT.1985.1087247 [29] Camacho, E. F., and Alba, C. B., Model Predictive Control, Springer,
[12] Lihua, Z., Xianghong, C., and Fuh-Gwo, Y., “A 3D Collision Avoidance New York, 1996, pp. 13–30.
Strategy for UAV with Physical Constraints,” Measurement, Vol. 77, [30] Chen, T., Wen, H., Hu, H., and Jin, D., “On-Orbit Assembly of a Team of
Jan. 2016, pp. 40–49. Flexible Spacecraft Using Potential Field Based Method,” Acta Astro-
https://doi.org/10.1016/j.measurement.2015.09.006 nautica, Vol. 133, April 2017, pp. 221–232.
[13] Ge, S., and Cui, Y., “Dynamic Motion Planning for Mobile Robots https://doi.org/10.1016/j.actaastro.2017.01.021
Using Potential Field Method,” Autonomous Robots, Vol. 13, No. 3, [31] Badawy, A., and McInnes, C. R., “On-Orbit Assembly Using Super-
2002, pp. 207–222. quadric Potential Fields,” Journal of Guidance, Control, and Dynamics,
https://doi.org/10.1023/A:1020564024509 Vol. 31, No. 1, 2008, pp. 30–43.
[14] Chang, D. E., and Marsden, J. E., “Gyroscopic Forces and Collision https://doi.org/10.2514/1.28865
Avoidance with Convex Obstacles,” New Trends in Nonlinear Dynam- [32] Bry, A., Richter, C., Bachrach, A., and Roy, N., “Aggressive Flight of
ics and Control and Their Applications, edited by W. Kang, C. Borges, Fixed-Wing and Quadrotor Aircraft in Dense Indoor Environments,”
and M. Xiao, Vol. 295, Springer, Berlin, 2003, pp. 145–159. International Journal of Robotics Research, Vol. 34, No. 7, 2015,
10.1007/978-3-540-45056-6_9 pp. 969–1002.
[15] Jun, M., and D’Andrea, R., “Path Planning for Unmanned Aerial Vehicles https://doi.org/10.1177/0278364914558129
in Uncertain and Adversarial Environments,” Cooperative Control: Mod- [33] Nuske, S., Choudhury, S., Jain, S., Chambers, A., Yoder, L., Scherer, S.,
els, Applications and Algorithms, edited by S. Butenko, R. Murphey, and Chamberlain, L., Cover, H., and Singh, S., “Autonomous Exploration
P. M. Pardalos, Vol. 1, Springer, Boston, MA, 2003, pp. 95–110. and Motion Planning for an Unmanned Aerial Vehicle Navigating
https://doi.org/10.1007/978-1-4757-3758-5_6 Rivers,” Journal of Field Robotics, Vol. 32, No. 8, 2015, pp. 1141–1162.
[16] Lin, Y., and Saripalli, S., “Sampling-Based Path Planning for UAV https://doi.org/10.1002/rob.21596
Collision Avoidance,” IEEE Transactions on Intelligent Transportation [34] Loianno, G., Brunner, C., McGrath, G., and Kumar, V., “Estimation,
Systems, Vol. 18, No. 11, 2017, pp. 3179–3192. Control, and Planning for Aggressive Flight with a Small Quadrotor
https://doi.org/10.1109/TITS.2017.2673778 with a Single Camera and IMU,” IEEE Robotics and Automation
[17] Salamat, B., and Tonello, A. M., “Stochastic Trajectory Generation Letters, Vol. 2, No. 2, 2017, pp. 404–411.
Using Particle Swarm Optimization for Quadrotor Unmanned Aerial https://doi.org/10.1109/LRA.2016.2633290
J. GUIDANCE, VOL. 43, NO. 6: ENGINEERING NOTES 1209
[35] Bakolas, E., Zhao, Y., and Tsiotras, P., “Initial Guess Generation for [45] Vandenberghe, L., “The Cvxopt Linear and Quadratic Cone Pro-
Aircraft Landing Trajectory Optimization,” AIAA Guidance, Naviga- gram Solvers,” 2010, http://www.seas.ucla.edu/~vandenbe/publications/
tion, and Control Conference, AIAA Paper 2011-6689, 2011. coneprog.pdf [retrieved 15 March 2017].
https://doi.org/10.2514/6.2011-6689 [46] Adhikari, M. P., “Real-Time Autonomous Obstacle Avoidance for
[36] Honig, W., Preiss, J. A., Kumar, T. S., Sukhatme, G. S., and Ayanian, N., Unmanned Aerial Vehicles,” Ph.D. Thesis, Ryerson Univ., Toronto,
“Trajectory Planning for Quadrotors Swarms,” IEEE Transactions on June 2020.
Robotics, Vol. 34, No. 4, 2018, pp. 856–869. [47] Boyd, S., “Sequential Convex Programming,” Lecture Notes: EE364b,
https://doi.org/10.1109/TRO.8860 July 2018, http://web.stanford.edu/class/ee364b/lectures.html [retrieved
[37] Mattingley, J., “CVXGEN: A Code Generator for Embedded Convex 1 July 2018].
Optimization,” https://cvxgen.com/docs/index.html [retrieved 31 Oct. [48] Wong, E., “Active-Set Methods for Quadratic Programming,” Ph.D.
2017]. Thesis, Univ. of California, San Diego, CA, 2011.
[38] Bryd, R. H., Gilbert, J. C., and Nocedal, J., “A Trust Region Method [49] Gill, P. E., and Wong, E., “Methods for Convex and General Quadratic
Based on Interior Point Techniques for Nonlinear Programming,” Math- Programming,” Mathematical Programming Computation, Vol. 7,
ematical Programming, Vol. 89, No. 1, May 2000, pp. 149–185. No. 1, 2015, pp. 71–112.
https://doi.org/10.1007/PL00011391 https://doi.org/10.1007/s12532-014-0075-x
[39] Barry, A. J., “High-Speed Autonomous Obstacle Avoidance with [50] Mattingley, J., and Boyd, S., “CVXGEN: A Code Generator for
Pushbroom Stereo,” Ph.D. Thesis, Massachusetts Inst. of Technology, Embedded Convex Optimization,” Optimization and Engineering,
Cambridge, MA, Feb. 2016. Vol. 13, No. 1, March 2012, pp. 1–27.
[40] Napolitano, M. R., Aircraft Dynamics: From Modeling to Simulation, https://doi.org/10.1007/s11081-011-9176-9
edited by L. Ratts, John Wiley and Sons, Inc., Chichester, West Sussex, [51] Boyd, S., and Vandenberghe, L., Convex Optimization, Cambridge
Downloaded by GEORGIA INST OF TECHNOLOGY on May 27, 2020 | http://arc.aiaa.org | DOI: 10.2514/1.G004460