0% found this document useful (0 votes)
109 views

Sujit2014 PDF

Uploaded by

irqovi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 views

Sujit2014 PDF

Uploaded by

irqovi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Unmanned Aerial Vehicle

Path Following
A survey and analysis of algorithms
for fixed-wing Unmanned Aerial Vehicles

P.B. Sujit, Srikanth Saripalli, and João Borges Sousa

U
nmanned aerial vehicles (UAVs) are mainly used by military and government organiza-
tions, but with low-cost sensors, electronics, and airframes there is significant interest in
using low-cost UAVs among aircraft hobbyists, academic researchers, and industries. Ap-
plications such as mapping, search and rescue, patrol, and surveillance require the UAV
to autonomously follow a predefined path at a prescribed height. The most commonly
used paths are straight lines and circular orbits. Path-following algorithms ensure that the UAV
will follow a predefined path in three or two dimensions at constant height. A basic requirement

Digital Object Identifier 10.1109/MCS.2013.2287568


Date of publication: 17 January 2014

42  IEEE CONTROL SYSTEMS MAGAZINE  »  February 2014 1066-033X/14/$31.00©2014ieee


for these path-following algorithms is that they must be ac-
curate and robust to wind disturbances. Loiter
There are several types of unmanned vehicles—UAVs,
autonomous surface vehicles (ASVs), autonomous under- y
Path
water vehicles (AUVs), and unmanned ground vehicles
x Wi+1 o
(UGVs). The principles of path following for different kinds
of unmanned vehicles are similar; however, the dynamics r ip
q
and kinematics associated with each type of vehicle vary.
v q v
Because of this variation, the corresponding constraints i
i d } d }
also vary and hence require several types of path-following Wi p p
algorithms. It is difficult for the UAV practitioner to select
(a) (b)
the correct algorithm because of the many available choices.
To assist the practitioners, this article provides a survey of
Figure 1  (a) The straight-line path defined by waypoints W i and
existing algorithms and presents a detailed analysis and W i +1 that needs to be followed by the unmanned aerial vehicle
comparison of a subset, some of which are widely used in (UAV) located at p. (b) The UAV located at p needs to follow the
commercial autopilots. The path-following algorithms loiter circle given by a radius of r from O .
studied in this article are two dimensional (2D) with con-
stant altitude. underwater, and ground-based robots. Solution strategies
for the path-following problem are either geometric or
Path-following problem control theoretic. Several algorithms of each type are
Given a path, the initial location of the aerial vehicle p ^x, y h, described below.
and its heading angle }, the path-following problem is to
determine the commanded heading angle that accurately Geometric Methods
tracks the path. Typically, most missions are either straight- Geometric techniques, including pure pursuit [4], LOS [5]–
line or circular-orbit paths. Straight-line paths can be [10], and variants of pursuit and LOS guidance laws [11], [12]
defined as a set of waypoints W i and W i +1 [as shown in are mainly found in the missile guidance literature. The
Figure 1(a)]. The angle i formed by this straight line with path-following algorithms based on pure pursuit and LOS-
respect to the x-y coordinate frame is the line-of-sight (LOS) based guidance laws use a virtual target point (VTP) on the
angle. Figure 1(b) shows the initial geometry for a circular path. The guidance laws direct the vehicle to chase the VTP,
orbit, also called “loiter following.” The distance d from the which eventually drives the vehicle onto the path. The dis-
UAV to the path is the “cross-track” error. Let i d be the tance between the VTP and the UAV position projected on
desired angle of the path. In case of a straight-line path, the path is often called “virtual distance.” The stability of
i d = i, and in case of a loiter path, i d = i p . In addition to LOS guidance laws for path following depends significantly
minimizing the cross-track error, the UAV must minimize on the selection of the virtual distance parameter [8]. Pure
the heading error |i d - }|, where |$| represents the abso- pursuit and LOS guidance laws can be combined to create
lute value. The objective of path-following algorithms is to a new guidance law for path following [12]. Instead of using
have d " 0 and |} - i| " 0, as the mission time t " 3. For- pursuit or LOS guidance, a nonlinear guidance law (NLGL)
mally, the path-following problem using Serret-Ferret using VTP was developed in [11]. Most of the guidance laws
frame [1], [2], can be defined as follows. are developed using Dubin’s car model [13].
An optimal path-following algorithm using Dubin’s
Definition curves in 2D was developed in [14] and modified for three
Assume the UAV has to follow a path P (c) ! R 2, which is dimensional (3D) in [15]. An alternative to guidance laws is
parameterized by c ! R. . The desired speed is v P (c) ! R , an approach based on vector fields (VFs). A VF-based path-
and let P (c) be sufficiently smooth with bounded deriva- following algorithm was developed in [16] and is intuitive
tives. The goal is to design a feedback control law such that and easy to implement. Since all these techniques use the
the closed-loop signals are bounded, p (t) - P (c (t)) con- geometric approach, computing the desired heading angle
verges to the neighborhood of the origin, and the velocity is quick and they are easy to implement.
error |co (t) - v P (c (t))| < e, for e > 0.
Control Techniques
Classification of path-following Control techniques, particularly nonlinear control tech-
algorithms niques, are popular for path-following applications. They
Path following is a basic requirement for any type of provide a certain degree of robustness to wind distur-
unmanned vehicle. A feedback control design for a mobile bances. A common approach used in path following is
robot path-following problem is described in [3]. The based on proportional-integral-derivative (PID) control
path-following problem has applications in aerospace, [17] but does not perform as well as an NLGL [11]. A PID

February 2014  «  IEEE CONTROL SYSTEMS MAGAZINE  43


Algorithm 1 Maximum lateral acceleration.
y
Input: u, v g, R min
Wi+1
x
2 2 s o
- v /R min if u < 0 and | u | > v /R min
u = * v 2g /R min if u > 0 and | u | > v /R min
g g
2 d s
g q r
u otherwise }d v
d q
R } }d v
Ru
p d }
i
Wi iu p
controller with feedforward capability was developed in (a) (b)
[18] that performed better than an NLGL.
Several types of control-theoretic techniques have been
Figure 2  (a) The straight-line path that the unmanned aerial vehi-
developed for path-following problems in robotics that
cle (UAV) has to follow and required angles that have to be com-
include UAVs, AUVs, ASVs, and UGVs. Some of the well- puted using the carrot-following algorithm. (b) The loiter circle that
known techniques are linear quadratic regulator (LQR) the UAV has to follow and the definition of angles required to com-
[19]–[21], sliding mode control [16], [22], model predictive pute the commanded control using carrot-following algorithm.
control [23], [24], backstepping control [25]–[28], gain sched-
uling theory [29], adaptive control [30]–[32], and dynamic the most widely used path-following algorithm. The NLGL
programming [33]. Other techniques such as piecewise and VF approaches are intuitive, easy to understand, and
affine control [34] were developed to follow a predeter- flight tested. The LQR and PLOS approaches are easy
mined path. to implement.
Similar to VFs [16], a Lyapunov VF technique for path- As the UAV industry is growing rapidly, selecting good
following is developed in [35]. Lyapunov VFs produce glob- path-following algorithms will enable users to have stable
ally stable tracking of loiters and are mainly used for such platforms that meet desired performance criteria. In most
purposes. A modified Lyapunov VF was developed in [36] commercial autopilot systems, the type of path-following
for tangent-plus-Lyapunov VF guidance and performs algorithm that is used is not readily available. However, the
better than plain Lyapunov VF guidance [35]. VF path-following algorithm has been tested on a Kestrel
Stability and performance guarantees are key require- autopilot [16], [39], and NLGL has been tested on a Piccolo
ments for nonlinear control laws to ensure that the vehicle autopilot [11], [40]. Among open-source autopilot systems,
tracks the path accurately under different path and envi- ArduPilot [41] uses VF implementation, while Paparazzi
ronmental conditions. There are local performance and sta- autopilot uses the carrot-chasing algorithm [42]. The analysis
bility results for a class of path-following controllers devel- in this article will allow fixed-wing UAV practitioners using
oped from the notion of trimming trajectories [37]. The open-source cheap autopilots (such as ArduPilot [41],
path-following error approaches zero for any general Paparazzi [42], and OpenPilot [43]) to make informed choices
dynamical system. In [38], known performance guarantees about the correct algorithm to implement for their particular
for the path-following problem are provided. Analytical application. Fairly evaluating these algorithms in experi-
performance of a path-following controller over a trajec- ments is difficult since environmental variables such as
tory-tracking controller is given in [1]. In trajectory track- wind speed can fluctuate from one experiment to the next.
ing, the path is time parameterized, whereas time is not By using a kinematic model and simulating various path-
considered in path following. The trajectory-tracking con- following strategies, the advantages and disadvantages of
troller can be reparameterized to produce a path-following these algorithms are demonstrated and the effect of change
controller. This reparameterizing enables the path to be in parameters is studied. From these studies, the optimal
tracked either as a path-following problem or as a trajec- parameters for each algorithm are obtained and used in a
tory-tracking problem. six-degrees-of-freedom (6-DOF) simulation model with
This article focuses on path following for fixed-wing wind. Monte Carlo simulations are performed, and a com-
UAVs in 2D. Since there are many available techniques, the parison analysis on the performance of these algorithms
most common and widely used path-following algorithms using the 6-DOF model was performed. This article is an
were selected and compared on the basis of accuracy, robust- extension of the preliminary results presented in [44].
ness, and control effort. The algorithms compared are the
carrot-chasing algorithm, NLGL [11], vector-field (VF)-based Path-following algorithms
path following [16], LQR-based path following [20], and pure The two most commonly used paths for UAVs are straight
pursuit with LOS (PLOS)-based path following [12]. These lines and loiter paths. Both types of paths are usually
algorithms were selected due to their simplicity, robustness, defined on the x, y plane, with constant altitude and
and ease of implementation. The carrot-chasing algorithm is speed. Under these assumptions, the UAV kinematics are

44  IEEE CONTROL SYSTEMS MAGAZINE  »  February 2014


Algorithm 2 Algorithm for straight-line following Algorithm 3 Algorithm to loiter using the
using the carrot-chasing algorithm. carrot-chasing algorithm.

1: Initialize: W i = (x i, y i), W i +1 = (x i +1, y i +1), p = (x, y), }, d, v a, l 1: Initialize: O = (x l, y l), r, p, }, m, v a, l


2: R u = W i - p , i = atan2 (y i + 1 - y i, x i + 1 - x i) 2: d = O - p - r
3: i u = atan2 (y - y i, x - x i), b = i - i u 3: i = atan2 (y - y l, x - x l)
2 2
4: R = R - (R u sin (b))
u 4: (x t, y t) ! (r cos (i + m), r sin (i + m)) % s = (x t, y t)
5: (x t, y t) ! ((R + d) cos i, (R + d) sin i) % s = (x t, y t) 5: } d = atan2 (y t - y, x t - x)
6: } d = atan2 (y t - y, x t - x) 6: u = max _limit (l (} d - }) v a)
7: u = max _limit (l (} d - }) v a)

the carrot and the UAV chases the carrot, which explains
xo = v g cos | = v a cos } + v w cos } w, the name “carrot-chasing” algorithm. In the missile guid-
yo = v g sin | = v a sin } + v w sin } w, ance and aerospace literature, this algorithm is also called

|o = k ^ | d - | h, the “rabbit-chasing” algorithm.
u = max_limit ^ |o v g h, (1)
Straight-Line Following
where v a is the UAV airspeed, } is the heading angle, v w is A straight-line path is denoted by two waypoints W i and
the wind speed, } w is the wind direction, | d is the desired W i +1 , as shown in Figure 2(a). Following a straight line
direction toward the goal, | = atan2 ^ yo , xo h is the course involves three steps:
angle, |o is the course angle rate, and the ground speed of 1) determine the cross-track error ^d h
the UAV is v g = v 2gx + v 2gy , where v gx = v a cos } + v w cos } w 2) update the location of the VTP
and v gy = v a sin } + v w sin } w . The lateral acceleration u is 3) update } d and u.
constrained using the function max_limit as given in Algo- Assume the UAV is at location p with heading }. The pro-
rithm 1. jection of p onto the LOS is the point q at a distance R from
The kinematic model of the UAV represents a Dubins W i . This distance is the cross-track error d. The VTP
model [13]. To analyze the functioning of the algorithms ^ s = (x t, y t) h is located at a distance d from q as shown in
and the performance under different parameter conditions, Figure 2(a). The UAV desired heading } d is updated based
the kinematic model of the UAV without wind is consid- on the location of s. This process continues until the UAV
ered for simplicity, which revises the kinematic equations reaches W i +1 . The procedure to update the location of VTP
of motion to and } d is given in Algorithm 2.
xo = v a cos }, The control input u in Algorithm 2 uses a proportional
yo = v a sin }, controller with gain k 2 0. Figure 3(a) shows the UAV fol-
lowing the reference path for different initial heading
}o = k ^ } d - } h,
angles of } = 0, r/2, r, and -r/2. The simulation param-
u = max_limit ^}o v a h . (2)
eters are k = 0.5 and d = 50.
For all the simulations, the UAV speed is v a = 15 m/s and The path parameter d can modify the performance of the
the minimum turning radius is 45 m. The considered loiter carrot-chasing algorithm as shown in Figure 3(b). For low d
circle radius is r = 100 m. It is assumed that the UAV auto- (zero or ten), the UAV is forced to move directly toward the
pilot has an air-speed controller that holds the air speed LOS. A trajectory to the path that is normal to the path will
constant and has an altitude hold controller for constant result in overshoot. A curvature constraint will then result
UAV altitude. The max_limit ($) condition in the kinematic in another trajectory normal to the path, resulting in over-
equations is used only in simulations to limit the maxi- shoot again, etc. Hence, it takes more time to settle on the
mum lateral acceleration. This condition is not used by any path, resulting in higher cross-track error. With an increase
of the path-following guidance laws while proving the sta- in d, the UAV is able to settle on the path quickly, reducing
bility of the algorithms. the cross-track error. However, for even larger values of d,
the cross-track error again increases because the UAV is
Carrot-chasing algorithm slow in its asymptotic approach to the path.
One approach to follow a desired path is to introduce a VTP
on the path and make the UAV chase the VTP. The UAV Loiter
updates its heading direction toward the VTP. As time pro- In the loiter maneuver, the UAV circles around a point (O)
gresses, the UAV will move toward the path and asymp- with a standoff distance of r, as shown in Figure  2(b). The
totically follow the path. In this approach, the VTP is called UAV performs the loiter either clockwise or counterclockwise.

February 2014  «  IEEE CONTROL SYSTEMS MAGAZINE  45


300 400

250 350

200 300

150 250
Y (m)

Y (m)
100 Path 200
}=0
50 150 path
} = r/2
}=r d=0
0 100 d = 10
} = -r/2 d = 30
-50 UAV Initial 50 d = 50
Position UAV Initial Position
-100 0
0 50 100 150 200 250 300 350 0 50 100 150 200 250 300 350 400
X (m) X (m)
(a) (b)
200 200
Loiter
150 UAV Path 150
UAV Initial Position
100 100

50 50 m=0
Y (m)

Y (m)

m = 0.1
0 0 m = 0.2
m = 0.4
-50 -50 m=1
Loiter Path
-100 -100
UAV Initial Position
-150 -150
-150 -100 -50 0 50 100 150 200 250 -250-200-150-100 -50 0 50 100 150
X (m) X (m)
(c) (d)

Figure 3  The performance of the carrot-chasing algorithm with different heading angles and d . (a) The unmanned aerial vehicle (UAV)
trajectories for the straight-line following with different initial heading angles } = 0, r/2, r, and -r/2 . (b) The vehicle trajectories for
straight-line following when d is varied. (c) The UAV trajectory for loiter following with initial heading angle } = 0 . (d) The vehicle trajecto-
ries for loiter following when m is varied.

is located at p. The cross-track error is d = O - p - r. Using


Wi+1 Loiter the cross-track error information and the direction of the
loiter, the VTP location can be generated [s in Figure 2(b)]. The
procedure to update the UAV and the VTP is given
s o in Algorithm 3.
Figure 3(c) shows the UAV following a loiter. The UAV is
v s
s' h able to follow the loiter for different heading angles, but
}
p h v including them in the figure made the picture unclear and
Wi L s' } hence they were omitted.
p The performance of the carrot-following algorithm
y L
depends on the value for m. When m = 0, the UAV is unable
x to track the path as the desired VTP always points orthogo-
(a) (b) nal to the UAV position causing it to perform a sinusoidal
path along the loiter. When m is increased to m = 0.1, 0.2,
Figure 4  Determining the virtual target point (VTP) ( sand sl) for and 0.4 rad, the VTP is in the pursuit range, and hence the
the nonlinear guidance law. The VTP for (a) the straight-line path
vehicle is able to track it quickly. However, increasing m to
and (b) the loiter path.
m = 1 rad, the LOS angle between the UAV and VTP is sig-
To loiter, the UAV must be located on the circle and its nificant and the desired heading angle for the vehicle
heading direction must be orthogonal to r. Assume the UAV points inside the loiter. Hence the UAV travels inside the

46  IEEE CONTROL SYSTEMS MAGAZINE  »  February 2014


in which the UAV has to move, either q or ql . will be selected.
Algorithm 4 Algorithm for straight-line following The advantage of this algorithm is that the same algorithm can
using the NLGL algorithm. be applied to any type of trajectory. The stability of the guidance
law is shown using Lyapunov stability arguments [11].
1: Initialize: W i = (x i, y i), W i +1 = (x i +1, y i +1), p, L, v a
2: Determine s = (x t, y t)
Straight-Line Following
3: i = atan2 (y t - y, x t - x) Algorithm 4 gives the procedure for straight-line following
4: h = i - } using the NLGL algorithm.
5: u = max _ limit (2v 2a sin (h) /L) The VTP location s = ^x t, y th is directly determined from
the intersection of a straight line and a circle with radius L;
L is selected as a constant with the assumption that it
loiter to pursue the VTP and the cross-track error increases always intersects the path. Due to this assumption, if the
significantly. cross-track error is greater than L, then there will not be
any intersection, resulting in no VTP. Figure 5(a) shows the
Nonlinear guidance law ability of NLGL to track a straight-line path with different
The NLGL also uses a VTP concept [11]. For simplicity, assume initial heading angles. For the simulations, the circle radius
the UAV is following a path, as shown in Figure 4. At the current is L = 100. To know the effect of L, another simulation is
UAV position p, draw a circle of radius L. The circle will inter- done with initial heading angle of } = 0 as shown in Figure
cept the path at two points q and ql . Depending on the direction 5(b). When L does not intersect, the VTP s does not exist

500 400

400 350

300
300
250
200 L = 30
Y (m)

Y (m)

200 L = 50
Path
100 } = r/2 L = 80
150
}=r L = 100
0 } = -r/2 L = 120
100
UAV Initial UAV Initial
-100 Position 50 Position
}=0 Path
-200 0
-100 0 100 200 300 400 500 0 50 100 150 200 250 300 350 400
X (m) X (m)
(a) (b)

Loiter Path L = 30
150 150 L = 50
UAV Path
L = 80
UAV Initial Position L = 100
100 100
UAV Initial
50 Position
50 Loiter Path
Y (m)

Y (m)

0
0
-50
-50
-100
-100
-150
-150 -100 -50 0 50 100 150 200 -150 -100 -50 0 50 100 150 200 250
X (m) X (m)
(c) (d)

Figure 5  The performance of the nonlinear guidance law for different heading angles and L . (a) Unmanned aerial vehicle (UAV) trajec-
tories for straight-line following with heading angles of } = 0, r/2, r, and -r/2 . The simulations used L = 100 . (b) The vehicle trajec-
tories for the straight-line following when the gain L is varied. (c) UAV trajectories for loiter following with heading angle of } = 0 . The
simulation used L = 80 . (d) UAV trajectories for loiter following when the gain L is varied with initial heading angle of } = 0 .

February 2014  «  IEEE CONTROL SYSTEMS MAGAZINE  47


y 400
Wi+1
350
x 300
250
va 200

Y (m)
id Path
d 150 }=0
}
} = r/2
Ru p 100
i }=r
Wi iu } = -r/2
50
UAV Initial
0 Position
Figure 6  The geometry of the pure pursuit with line-of-sight path
-50
following. 0 50 100 150 200 250 300 350 400
X (m)
(a)
Algorithm 5 Algorithm for straight-line following
using PLOS. 150
Loiter Path
UAV Path
1: Initialize: W i = (x i, y i), W i +1 = (x i +1, y i +1), p, }, k 1, k 2, v a, l 100 UAV Initial
2: i d = atan2 (y i + 1 - y, x i + 1 - x) Position
(y i - y i + 1) x + (x i + 1 - x i) y + (x i y i + 1 - x i + 1 y i) 50
3: d =
Wi - Wi+1
Y (m)

4: } d = k 1 (i d - }) + k 2 d 0
5: u = max _limit (l (} d - }) v a)
-50

and i = r/2 in line 3 of Algorithm 4. Since i = r/2, the -100


vehicle moves in the orthogonal direction toward the path,
as shown in Figure 5(b). This lack of convergence to the -150
-150 -100 -50 0 50 100 150 200
path is an issue when implementing the NLGL algorithm X (m)
with low L on embedded computers or microcontrollers (b)
that may not provide the desired heading command. A
large enough L ensures that the VTP always exists but may Figure 7  The trajectory of the unmanned aerial vehicle using pure
result in a longer convergence time. pursuit with line-of-sight guidance for (a) straight-line following with
different initial heading angles and (b) loiter following with initial head-
Loiter ing angle } = 0 .
The procedure for a loiter pattern is the same as that for a
straight line, except that the circle of radius L intersects guidance law steers the vehicle toward the LOS. The com-
with the loiter circle centered at O. The algorithm for loiter bination of these guidance laws with different gains will
is similar to Algorithm 4 where ^x t, y th are determined make the vehicle follow the path. The geometry of the vehi-
using two-circle intersection geometry. cle and the path are shown in Figure 6.
Even for a loiter maneuver, the performance of the guid- The guidance law for pure pursuit is
ance law depends on the selection of L. Figure 5(d) shows the
} p = k 1 (i d - }), (3)
performance of NLGL for loiter maneuvers with different L.
Similar to the straight-line case, with an increase in L, the per- where k 1 is the gain and i d is the desired angle. The LOS
formance of the algorithm improves. However, when L > 100, guidance law ensures that the angle between the UAV and
the VTP is too far ahead, and the vehicle tries to move inside W i is the same as that of the LOS angle. The LOS guidance
the loiter circle to meet the VTP, resulting in higher cross-track law is given by
error. Note that a smaller L leads to lower cross-track error
} l = k 2 d, (4)
while larger L leads to increased radius of convergence.
where d is the cross-track error. The combined guidance
Pure pursuit and LOS-based path law is
following (PLOS)
} d = k 1 (i d - }) + k 2 d, (5)
PLOS path following is a combination of the pure pursuit
and LOS-based guidance laws. The pure pursuit guidance where i is the LOS angle and i u is the angle between the
law drives the UAV to the waypoint W i +1, while the LOS UAV and W i .

48  IEEE CONTROL SYSTEMS MAGAZINE  »  February 2014


400 400

350 350

300 k1 = 5 300
k1 = 10 k1 = 5
250 250
k1 = 40 k1 = 10
Y (m)

Y (m)
200 k1 = 60 200 k1 = 40
k1 = 80 k1 = 60
150 k1 = 100 150 k1 = 80
100 k1 = 120 100 k1 = 120
UAV Initial UAV Initial
50 Position 50 Position
Path Path
0 0
0 50 100 150 200 250 300 350 400 450 0 50 100 150 200 250 300 350 400 450
X (m) X (m)
(a) (b)

200 200
k1 = 10 k2 = 0.01
150 150
k1 = 40 k2 = 0.05
100 k1 = 60 100
k2 = 0.1
50 k1 = 80 50 k2 = 0.5
k1 = 100 k2 = 1
Y (m)

Y (m)

0 0
k1 = 120 k2 = 1.25
-50 UAV Initial -50 UAV Initial
Position Position
-100 Loiter Path -100 Loiter Path
-150 -150

-200 -200
-100 0 100 200 300 -100 0 100 200 300
X (m) X (m)
(c) (d)

Figure 8  Unmanned aerial vehicle (UAV) paths using the PLOS algorithm for straight-line following [(a) and (b)] and loiter following [(c) and
(d)]. (a) The effect on the UAV path when gain k 1 is varied and k 2 = 3. (b) The effect on the UAV path when gain k 2 is varied and k 1 = 100.
(c) The effect on the UAV path for a loiter when gain k 1 is varied and k 2 = 3. (d) The effect of the UAV path for a loiter when gain k 2 is varied
and k 1 = 100.

Straight-Line Following the path quickly for gains k 2 = 2 and k 2 = 3. However,


The PLOS guidance law for straight-line path following is when k 2 > 3, the LOS guidance dominates, resulting in
outlined in Algorithm 5. oscillation of the path as shown in Figure 8(b). Hence, the
Figure 7(a) shows that the vehicle can track the straight- gains must be selected appropriately through a trial-and-
line path for different initial heading angles. For k 1 > 0 and error process for the best path performance.
k 2 > 0, the PLOS guidance law is stable [45]. For a constant
k 2, when k 1 is small, the LOS guidance dominates over the
pursuit guidance, and hence the vehicle path oscillates
along the desired straight-line path, as shown in Figure 8(a) Algorithm 6 Algorithm for loiter using PLOS.
for k 1 = 5. With an increase in k 1, the oscillation of the vehi-
cle path decreases as the pursuit-guidance weight increases 1: Initialize: O = (x l, y l), p, r, k 1, k 2, v a, l
and draws the vehicle toward W i +1 . This effect can be seen
2: d = p - O - r
in Figure 8(a) for k 1 = 10 and k 1 = 40. With further increase
in k 1, the vehicle settles onto the straight-line path. 3: i = atan2 (y - y l, x - x l)
On the other hand, for a fixed k 1, with very low k 2 = 0.5, 4: i p = i ! r/2
the pursuit guidance is dominant, and the vehicle is
5: } d = k 1 (i p - }) + k 2 d
directed toward the waypoint W i +1 . With k 2 = 1, the vehi-
cle tries to move toward the desired path; however, it takes 6: u = max _limit (l (} d - }) v a)
a longer time to converge onto the path. The vehicle tracks

February 2014  «  IEEE CONTROL SYSTEMS MAGAZINE  49


Algorithm 7 Algorithm for straight-line following
300 using vector field [16].

250 1: Initialize: W i = (x i, y i), W i +1 = (x i +1, y i +1), p, }, | e, x, v a, k, a, l


2: i ! atan2 (y i + 1 - y i, x i + 1 - x i)
200
(p - W i) < (W i + 1 - W i)
3: s * !
Y (m)

150 Wi+1 - Wi 2
4: e ! p - (s * (W i +1 - W i) + W i)
100 5: t ! sign [(W i +1 - W i) # (p - W i)]

50 6: e ! te
7: if | e | > x then
0
0 50 100 150 200 250 300 8:    } d ! i - t| e
X (m) 9:    } c ! } d
(a)
10: else
300
11:   } d ! i - (| e) ` e j
k

x
12:  } c ! } d - c
250 kX e v a m
e k -1 sin }
ax k
13: end if
200
14: u = max _limit (l (} c - }) v a)
Y (m)

150

100
Vector-field-based path following
50
The main idea of this approach is that VFs indicate the
direction of flow. If the vehicle follows the VF direction,
0 then it will follow the path. The desired VFs for straight-
0 50 100 150 200 250 300 line and loiter paths are shown in Figure 9(a) and (b),
X (m)
respectively. The stability of the algorithm is shown by
(b)
Lyapunov stability arguments in [16].

Figure 9  The vector fields for (a) the straight-line path and (b) the Straight-Line Following
loiter path. VFs operate in two modes: 1) when the vehicle is away from
the desired path and 2) when the vehicle is close to the path
Loiter within a transition boundary x. When the vehicle is far
Determining cross-track error d for the loiter is similar to away, the natural strategy is to move toward the path,
doing so for the carrot-chasing algorithm. However, the which is done by a parameter | e known as the entry head-
reference heading angle i p is generated as shown in Figure ing. When the vehicle enters the transition region, | e is
1(b). The ± sign in line 4 of Algorithm 6 represents the updated. The procedure to determine the desired heading
direction of the loiter. angle } d is given in Algorithm 7.
Figure 7(b) shows that the vehicle is capable of tracking The performance of the VF varies with different values of
a circle with an initial heading angle } = 0. To evaluate the the parameters | e, x, k and initial heading angles. Figure
sensitivity of the algorithm to gains k 1 and k 2, experiments 10(a) shows the ability of VFs to track the straight-line path
keeping one gain constant while varying the other gain with different initial heading angles. Further, to study the
were performed. Figure 8(c) shows the performance of the sensitivity of the model to | e and x, two more experiments
PLOS algorithm with constant k 2 = 0.1 and varying k 1 . are performed. In the first experiment, the parameters
e
With low k 1, the vehicle takes a longer time to converge x = 45, k = 1, } = 0 are held constant and while | is varied
onto the loiter path. However, with k 1 > 10, the vehicle between zero and r/2. The angle | e determines the angle of
tracks the circle with a smaller error. approach to the path. High | e will force the vehicle to travel
Figure 8(d) shows the results for constant k 1 = 100 and toward LOS quickly, resulting in quick convergence. Lower
e
varying k 2 . The vehicle tracks the path for low values of | values increase the convergence time and the cross-track
0 # k 2 1 1, while the performance degrades with an error. The simulation results are shown in Figure 10(b).
increase in k 2 . This shows that for loiters the LOS guidance In the second experiment, x is varied while holding
e
is sensitive and the gain k 2 must be very low. | = r/2, k = 1, and } = 0 constant. The parameter x is the

50  IEEE CONTROL SYSTEMS MAGAZINE  »  February 2014


Algorithm 8 Algorithm for loiter following
400
using the vector field algorithm [16].
350
300 1: Initialize: O = (x l, y l), p, r, v a, a, k, l

250 2: d = p - O

200 3: i = atan2 (y - y l, x - x l)
Y (m)

150 }=0 4: if d > 2r then


5:    } d ! i - r + sin -1 ` r j
} = r/2
100 }=r d
} = -r/2 v
50 6:    } c ! } d + a sin (} - i)
Path ad
0 UAV Initial 7: else
Position
8:    } d ! i - r - r c d - r m
k
-50 2 3 r
0 50 100 150 200 250 300 350 400
X (m) v kv r u k - 1
9:    } c ! } d - a sin (} - i) - ka d cos (} - i)
ad 3r a
(a)
10: end if
400 11: u = max _limit (l (} c - }) v a)
350

300

250 verge onto the path is high. However, with an increase in x


|e = r/6
the vehicle converges quickly onto the path. With further
Y (m)

200 |e = r/5
|e = r/4 increase in x, the time taken to converge onto the path
150 |e = r/3 increases. This effect is similar to the VTP where having a
100 |e = r/2 VTP too far ahead results in lower performance. The results
UAV Initial of this analysis can be confirmed through simulations, as
50 Position shown in Figure 10(c).
Path
0
0 50 100 150 200 250 300 350 400 450
Loiter
X (m)
For loitering, the VF is created such that it converges on the
(b)
loiter circle circumference, as shown in Figure 9(b). When
400 the vehicle is outside or inside the loiter circle, the VF directs
350 onto the circle circumference. The desired heading angle for
the vehicle is determined as shown in Algorithm 8.
300 Figure 11(a) shows the vehicle tracking the loiter circle
250 for } = 0 with parameters k = 1 and a = 10. Unlike the
x = 4.5
straight-line following case, loiter following has only two
Y (m)

200 x = 22.5
x = 31.5 parameters, k and a. The sensitivity with respect to k is
150 x = 45 significant, hence k = 1 is kept constant. Figure 11(b) shows
x = 90
100 x = 135 that the convergence time to the loiter circle decreases with
UAV Initial increasing a. From the simulations, increasing a beyond a
50 Position certain value does not decrease the convergence time
Path
0 noticeably. However, increasing a significantly increases
0 50 100 150 200 250 300 350 400
X (m)
the control effort exerted by the guidance law, which will
(c) affect the performance metrics.

Figure 10  Unmanned aerial vehicle (UAV) trajectories for straight- LQR path-following algorithm
line following using the VF algorithm. (a) UAV trajectories for differ- Most of the above guidance laws use geometric methods to
ent initial heading angles. (b) UAV trajectories for different | e, with compute the commanded heading angle. In the LQR-based
k = 1 and x = 45. (c) UAV trajectories for different x, with k = 1 path-following algorithm, the control effort is computed
and | e = r/2.
using optimal control theory. This framework allows the
vehicle to determine the minimal control effort required to
width of the transition region near the path, as shown in minimize the cross-track error and cross-track error rate.
Figure 9(a). When x is small, the vehicle comes close to the Details of the LQR formulation for the path-following prob-
path and then starts tracking the path. The time taken to con- lem are given in [20]. The LQR control action is

February 2014  «  IEEE CONTROL SYSTEMS MAGAZINE  51


150
Algorithm 9 Algorithm for straight-line following
Loiter Path using the LQR.
UAV Path
100 UAV Initial
1: Initialize: W i = (x i, y i), W i +1 = (x i +1, y i +1), x, q 22, v a, }
Position
50 2: i u = atan2 (x - x i, y - y i)
3: i = atan2 (x i +1 - x i, y i +1 - y i)
Y (m)

0
4: R u = p - W i
-50 5: d = R sin (i - i u)
6: v d = v a sin (} - i)
-100
7: Determine u as defined in (6) with maximum u as given in
Algorithm 1
-150
-150 -100 -50 0 50 100 150 200
X (m)
(a)
Straight-Line Following
150
Loiter Path Consider a straight-line segment defined by two way-
a=1 points, as shown in Figure 2(a). Let R u be the displacement
100 a=2
a=3 of the UAV with respect to point W 1 making an angle i u
50 a=5 with respect to the coordinate system. The UAV position
a = 10 and velocity errors are
UAV Initial
Y (m)

0 Position
d = R u sin (i - i v) (7)
-50
and
-100
v d = do = v a sin (} - i), (8)
-150 respectively. By selecting x and q 22, the required control
-100 -50 0 50 100 150 200 250
X (m) effort u can be computed from Algorithm 9.
(b) Figure 12(a) shows that the vehicle can track a straight-
line path for different initial heading angles with q 22 = 1. For
Figure 11  Unmanned aerial vehicle (UAV) trajectories for loiter fol- a given heading angle of } = 0, the trajectories of the vehicle
lowing using the VF algorithm. (a) The UAV trajectory with initial for different q 22 are shown in Figure 12(b). With very low
heading } = 0. (b) The UAV trajectory for different a , constant
values of q 22, the vehicle tries to track the path very quickly,
k = 1, and initial heading angle } = 0.
as the penalty on the state is very low. The vehicle applies
maximum acceleration and hence the control effort is high.
u =-;d x
+ vd 2 x
+ q 22 E , (6) On the other hand, increasing q 22, increases the time to con-
x -d x -d
verge to the path, as shown in Figure 12(b).

where x is the bounded region along the path (similar to x Loiter


in VF), q 22 is the gain parameter of the Q matrix, and Consider a circular path of radius r as shown in Figure 1(b).
v d = v a sin (} - i) is the cross-track error velocity. The Q Let R = d + r be the displacement of the UAV with respect
matrix is to the center of the circular path. The UAV position and
velocity errors are
Q == G ,
q 11 0

0 q 22
d = R - r (9)

where q 11 = x/x - d . The LQR path-following algorithm and


has two tuning parameters, x and q 22 .
v d = v a sin (} - i), (10)
The LQR path-following algorithm computes the optimal
control effort to minimize the cross-track error and also ensures respectively. The values of d and v d in (10) are substituted
that the vehicle is close to the path through the use of a bound- in (6) for a given q 22 and x. The procedure for determining
ary defined by x. Three parameters control the trajectory of the u for loiter is described in Algorithm 10.
vehicle: R, q 11 and q 22 . For a stable LQR controller, R and Q The loiter trajectory with r = 100 and q 22 = 0.1 is shown
must be positive definite; typically, R is the identity, q 22 > 0 can in Figure 12(c). Trajectories for different values of q 22 are
be selected, and q 11 is always positive as given above. shown in Figure 12(d). UAV performance is similar to that

52  IEEE CONTROL SYSTEMS MAGAZINE  »  February 2014


400 400
350 350
300
300
250 Path
200 250 q22 = 0.1
Path
Y (m)

Y (m)
150 200 q22 = 0.5
}=0
q22 = 1
100 } = r/2 150 q22 = 2
50 }=r
} = -r/2 100 q22 = 5
0 UAV Initial q22 = 10
-50 Position 50 UAV Initial
Position
-100 0
0 50 100 150 200 250 300 350 400 0 50 100 150 200 250 300 350 400 450
X (m) X (m)
(a) (b)

150 200
Loiter Path
UAV Path 150
100 UAV Initial
Position 100
50 Loiter Path
50 q22 = 0.1
q22 = 0.5
Y (m)

Y (m)

0 0
q22 = 1
-50 q22 = 5
-50
q22 = 10
-100
q22 = 20
-100
-150 UAV Initial
Position
-150 -200
-150 -100 -50 0 50 100 150 200 -100 0 100 200 300
X (m) X (m)
(c) (d)

Figure 12  The performance of the adaptive linear quadratic regulator (LQR) path-following algorithm for the straight-line path: (a) with
different initial heading angles and (b) with different q 22 values for an initial heading angle of 0 rad. The performance of the LQR path-
following algorithm for loiter: (c) with an initial heading angle of 0 rad and (d) with different q 22 values for an initial heading angle of 0 rad.

for the straight-line case, where the path converges onto the
Algorithm 10 Algorithm for loiter following using the
loiter quickly for low values of q 22, while the convergence LQR.
time increases for high values of q 22 . Selecting q 22 around
one to two results in a performance where the control effort 1: Initialize: O = ^ x l, y l h, p, r, v a, q 22
is not high and the convergence to the path is quick. 2: i = atan 2 (x - x l, y - y l)
3: d = p - O - r
Comparison of Algorithms
The different path-following algorithms are compared using 4: v d = v a sin (} - i)
a 6-DOF aircraft simulation model without system delays 5: Determine u as defined in (6) with maximum u as given in
[46]. The 6-DOF simulation model is based on a delta-wing Algorithm 1
shaped Zagi aircraft [46]. For comparison purposes, two
metrics are defined—total control effort (U) and total cross-
track error (D). The total control effort quantifies the control laws apply maximum control effort during loiter and the
demands of the algorithm. If the solution takes too many maximum cross-track error for all the guidance laws is simi-
turns, then the control effort will be high, which is not desir- lar. The two-norm provides better comparison information
able. The total cross-track error is the offset of the vehicle than the one-norm. As an example, see the Pareto front of VF
from the desired path. For performance comparison, several path-following in Figure 13(a) and (b). Figure 13(b) shows the
types of norms can be considered, such as the one-norm (1, 3, 3) gain parameter value to be the best of several poten-
(| $|) , two-norm ( $ ) , and infinity norm. The infinity norm tial gain parameters for the two-norm case. For a given
does not provide sufficient information as all the guidance guidance law, let u (t) and d (t) be the control effort and

February 2014  «  IEEE CONTROL SYSTEMS MAGAZINE  53


# 104 600
5 S3
500 L4 L3
341
4.5 342 400
343 344 S6
111
300 S5

Y (m)
4 241 112 UAV Initial S
242 S2
KDW Sum

4
243 113 200 Position
244 114
331 121
3.5 332 122 100
141
321
311 131 123334
333
142 S1
312
323221211
231
322143 132 144 124 0 L1 L2
232
313 212 324
3 222 133
233 213 314 134
223 234 214 -100
224 -200 -100 0 100 200 300 400 500 600
2.5 X (m)
1000 2000 3000 4000 5000 6000 7000
(a)
KUW Sum
(a) 7.5
# 106 7
2.2 341
342 111 6.5
343 344
2.1
6
112
2 113 Wind m/s 5.5
114
5
OKDWK Sum

1.9 241
242
243 244 4.5
1.8 331 121
332
333 334 4
321311 122
322
312
323 324 123 124
1.7 313 314 3.5
141 211
142
143 131
144 3
232221 212
132
133 134 0 200 400 600 800 1000
1.6 233 222 213 234
231 223 224 214
Time (s)
1.5
0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 (b)
OKUWK Sum # 104 3.5
(b)
# 106 3
1.68 141
Wind Direction (rad)

1.67 2.5

1.66 142 2
1.65 143
OKDWK Sum

1.64 231 1.5


1.63
221 1
1.62 232
1.61 233 0.5
0 200 400 600 800 1000
1.6 222
Time (s)
1.59 223
(c)
8000 8500 9000 9500 10,000 10,500
OKUWK Sum Figure 14  (a) The mission for the unmanned aerial vehicle is to follow
(c) straight-line paths and loiters in a sequence. The visiting sequence is
S 4, L 4, S 3, L 3, S 2, L 2, S 1, L 1, S 5, L 3, S 3, L 4, S 6 . (b) Change in wind mag-
nitude with respect to time. (c) Change in wind direction with respect
Figure 13  The Pareto front of the VF algorithm for different | e, x, and
to time.
a gain parameters. The gain parameters | e, x, a are selected for the
sets | e = [r/2, r/3, r/4], x = [22.5, 31.5, 45, 90], and a = [2, 3, 5, 10] . cross-track error at time t respectively, then the total control
The text label for each point refers to the index of different gain param- effort using the two-norm is defined as
eters | e, x, a. For example, 133 refers to | e (1) = r/2, x (3) = 45,
a (3) = 5. (a) Performance with one-norm and (b) performance with t =T
two-norm. (c) Zoomed rectangle area of the two-norm figure. The opti- U= / u (t) 2, (11)
mal gain parameter is [233], representing | e = r/2, x = 45, a = 5. t =0

54  IEEE CONTROL SYSTEMS MAGAZINE  »  February 2014


# 104 # 104
6 9.5
51
53 9 6
5.5 52
8.5
41
5 43 8 5
KDW Sum

KDW Sum
42 4
7.5
11
4.5 31 13 7 3
33 12 1
32 6.5
4 21
23
22 6
2
3.5 5.5
00

00

00

00

00

00

00

00

00

00

00

00

00

00

00

00

00
30

35

40

45

50

55

60

65

70

30

35

40

45

50

55

60

65
KUW Sum KUW Sum
(a) (a)

# 106 # 106
3 5.5

51 6
2.8 5

2.6 52 41 4.5
mDm Sum

mDm Sum

5
4
2.4 53 11 4
42 31
21 1
2.2 43 12 3.5 3
32
2 22 13 3 2
33
23
1.8 2.5
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4
mUm Sum # 104 mUm Sum # 104
(b) (b)

Figure 15  The Pareto front of the carrot-chasing path-following Figure 16  The Pareto front of the NLGL algorithm for different L
algorithm for different gain parameters. The gain parameters d gain parameters. The gain parameter L is selected from the set
and m are selected from the sets d ! {10, 30, 50, 75, 100}, m ! {0.1, L ! {25, 50, 75, 100, 125, 150} . The text label for each point refers to
0.2, 0.4} . The text label for each point refers to the index of the gain the index of the gain parameter L. For example, “4” refers to
parameters dm. For example, 43 refers to d (4) = 75, m (3) = 0.4. L (4) = 100. (a) Performance with one-norm and (b) performance
(a) Performance with one-norm and (b) performance with two- with two-norm. The selected gain parameter is [2], representing
norm. The selected gain parameter is [2, 3], representing d = 30, L = 50.
m = 0.4.

while the total cross track error is given as switches to loiter. When the UAV is close to the next
t =T straight-line path, it switches to a straight-line path. Each
D= / d (t) 2 . (12) simulation used a constant northeast wind of 3 m/s with
t =0
up to 5 m/s wind gusts in a random direction for 20 s, as
In the real world, UAVs have to face wind disturbances, shown in Figure 14(b) and (c), respectively. The time taken
so path-following algorithms must be robust to wind. To by the vehicle to perform one loiter (about 42 s) is almost
analyze the performance of the algorithms in the presence twice the time taken for a straight-line path (about 20 s).
of varying wind conditions, a mission is considered where Monte Carlo simulations are performed and a compre-
the UAV has to alternately follow straight-line paths and hensive comparison made of performance metrics for dif-
perform loiters. Figure 14(a) shows the sample mission plan ferent path-following algorithms, as shown in Figures 15(a)–
and the sequence of waypoints for the UAV to navigate, 19. There were N = 1000 simulations with the same initial
where S i denotes the ith straight-line path and L j denotes position and heading angle. For each simulation, the con-
the jth loiter. The vehicle follows a straight line, and when stant wind and gust profile are different. The gust direction
it reaches the loiter radius of the ending waypoint, it changes randomly using a uniform normal distribution

February 2014  «  IEEE CONTROL SYSTEMS MAGAZINE  55


# 104 # 104
5 313 331
123 3.25
4.8
223
4.6 213 323
113 3.2 231
4.4 311 131
4.2
KDW Sum

KDW Sum
312 333 3.15
4 212 233
3.8 112 133
3.1 321
3.6 341
241 343
3.4 141 243 3.05
331 322 143 211
3.2 311231 222
321 131 122 342 111
211
111 332 242 221
3 221
121 232 142 3
132 121
4500 5000 5500 6000 6500 7000 4200 4250 4300 4350 4400
|U| Sum |U| Sum
(a) (b)

# 106 # 106
2.2 1.22 231
313
1.215 131
2 323 1.21
213 223
113 123 1.205
1.8 321
1.2
mDm Sum
mDm Sum

312 333 1.195


1.6 212 233
112 133 1.19
1.185
1.4 343
341 322 243 1.18
241 222 143
141
331 311 122
1.2 231
131
321111 342
211332 1.175
221 232
132
142
242 221
121 1.17
121
1
1.2 1.4 1.6 1.8 2 2.2 2.4 2.6
32

8
33

8
32

32

32

32

33

33

33

33
# 104
1.

1.
1.

1.

1.

1.

1.

1.

1.

1.
mUm Sum mUm Sum # 104
(c) (d)

Figure 17  The Pareto front of the PLOS algorithm for different k 1, k 2s, k c2 gain parameters, where k 2s refers to k 2 of a straight line while k c2
refers to k 2 of a loiter path. The gain parameters are k 1 ! {60, 80, 100, 120}, k 2s ! {2, 3, 5}, and k c2 ! {0.05, 0.1, 0.5} . The text label for each
point refers to the index of different gain parameters as k 1 k 2s k c2 . For example, 133 refers to k 1 (1) = 60, k 2s (3) = 5, k c2 (3) = 0.5. (a) Perfor-
mance with one-norm. (b) Zoomed performance of one-norm. (c) Performance with two-norm. (d) Zoomed performance of two-norm. The
selected gain parameter is [121], representing k 1 = 60, k 2s = 3, k c2 = 0.05.

N ^0, 1 h every 20 s. The wind and gust parameters of the the best for each algorithm, a set of 30 simulations are per-
1000 simulations remain the same while testing the differ- formed for different parameter settings of an algorithm.
ent guidance laws. The performance of guidance laws with The same set of 30 simulations are used for evaluating the
respect to both cross-track error and control effort are com- performance all the algorithms. The mean Pareto fronts are
pared in terms of the average percentage weight g metric, plotted for each algorithm, as shown in Figures 15(a)–18(b).
Each point in the plot shows the performance for a given
r + (1 - C) Dr , (13)
g = CU set of gain parameters. Using these plots as reference, the
gain parameter that has the lowest control effort and cross-
where the tradeoff weight C varied from zero to one, track error was selected. The set parameters that performed
Ur = (1/N ) / Ni = 1 U i is the mean control effort, and Dr = (1/N ) best for each path-following algorithm is given in Table 1.
/ Ni =1 Di is the mean cross-track error. Figure 19 shows the performance of different path-
The performance of the algorithms depends on the following algorithms with change in tradeoff weight C. The
selected gain parameters. To ensure that the parameters are VF path-following algorithm performs the best for any given

56  IEEE CONTROL SYSTEMS MAGAZINE  »  February 2014


# 104 # 105
7.5 12
Carrot
7 7 NLGL
10 PLOS
6.5 VF
8 LQR
KDW Sum

6 1
6
5.5
6

g
5 2
5 4
4.5

4 4 3
2
00

00

00

00

00

00

00
38

40

42

44

46

48

KUW Sum 50 0
-0.2 0 0.2 0.4 0.6 0.8 1 1.2
(a)
C
# 106
4 1
7 Figure 19  The average performance of the mission with different guid-
3.8
2 ance laws for varying weight on cross-track error and control effort.
3.6
3.4
700
mDm Sum

3.2 6 VF NLGL UAV Initial Position


3 600
2.8 500
2.6 400
2.4 3
4 5 300
Y (m)

2.2
1.25 1.3 1.35 1.4 1.45 1.5 1.55 200
mUm Sum # 104
100
(b)
0
Figure 18  The Pareto front of the LQR algorithm for different q 22 -100
gain parameters. The gain parameters are q 22 ! {0.25, 0.5, 0.75,
1, 2, 5, 10}. The text label for each point refers to the index of the -200
-200-100 0 100 200 300 400 500 600 700
q 22 gain parameter. For example, “4” refers to q 22 (4) = 1. (a) Per-
X (m)
formance for one-norm and (b) two-norm. The selected gain
parameter is q 22 = 1.
Figure 20  The vehicle route using nonlinear (NLGL) and vector field
(VF) guidance laws. The dashed black path is the unmanned aerial
weight on the cross-track error and control effort. The NLGL
vehicle path using the VF algorithm and the solid green path is the
closely follows VF. The carrot-chasing algorithm has the vehicle path with NLGL algorithm.
worst performance, with high variance and high cross-track
error, while requiring a control effort comparable to that of formed the worst. The advantages and limitations of the
the other algorithms. The LQR and PLOS algorithms exhibit algorithms are summarized in Table 1.
similar performance but not as good as the VF and NLGL Monte Carlo simulations also showed the robustness of
algorithms. The paths taken by the NLGL and VF algorithms the algorithms to track paths under different wind condi-
are shown in Figure 20. The route of the vehicle using the VF tions—both in direction and magnitude. Although the
algorithm has a lower error than the NLGL algorithm. wind estimation is assumed to be accurate, most low-cost
autopilots do not have accurate wind estimation because of
Conclusions inferior sensors and insufficient computational power to
A detailed analysis of five path-following algorithms was use advanced estimation algorithms. Having accurate
performed with different parameter settings and wind dis- wind estimators would improve the performance of path-
turbances. All the algorithms control a vehicle to follow a following algorithms in the field.
path under different wind conditions. Monte Carlo simula- Commercial autopilots are installed on airplanes whose
tions show that the VF path-following technique more accu- aerodynamic coefficients are often unknown. While the coef-
rately follows the path than the other techniques and also ficients can be estimated using system identification tech-
requires the least control effort. The NLGL algorithm follows niques [47], the procedure requires a wind tunnel and exten-
closely the VF algorithm. The carrot-chasing algorithm per- sive flight tests. These are time consuming and expensive.

February 2014  «  IEEE CONTROL SYSTEMS MAGAZINE  57


Table 1 The parameters used for different guidance laws: their advantages and limitations.

Algorithm Parameters for the Algorithm Advantages Limitations

Carrot Straight line: d = 30 m Simple implementation Not robust to large wind


Loiter: m = 0.4 rad disturbances

NLGL Straight line: L = 50 Same algorithm can be Cross-track error is more than VF
Loiter: L = 50 used for any type of path

PLOS Straight line: k 1 = 60, k 2 = 3 Simple implementation; Sensitive to gains; cannot track
Loiter: k 1 = 60, k 2 = 0.05 intuitive the path when v w > 0.5 v a

LQR Straight line: q 22 = 1 Optimizes control effort Has high cross-track error; cannot
Loiter: q 22 = 1 track path when v w > 0.5 v a

VF Straight line: x = 45, | e = r/3, a = 5 Low cross-track error Three parameters to tune;
Loiter: a = 5 chattering effect

Furthermore, additional sensors are needed for estimating galore University, India, in 1998, the master’s degree from
these coefficients. Nonlinear control techniques in the litera- Visveswaraya Technological University, India, in 2002, and
ture can be useful under these situations. However, some of the Ph.D. from the Indian Institute of Science, Bangalore,
these techniques are computationally intensive [48], [49]. India, in 2006. Previously, he was a research scientist at the
Designing path-following algorithms that require low com- Universidade do Porto, Portugal, and a post-doctoral fellow
putational cost is an area for further exploration. at Brigham Young University, Provo, Utah. His research
For UAVs to be accepted in the national aerospace, 3D interests include unmanned aerial and underwater vehi-
path planning is essential. While there has been some cles, multirobot systems, and human-robot interaction. He
research on 3D and four-dimensional planning, most of the can be contacted at Indraprastha Institute of Information
research is theoretical and most commercial autopilots do Technology-Delhi, Okhla Phase 3, New Delhi 110020, India.
not have 3D path-planning algorithms. Srikanth Saripalli is an assistant professor in the School
The carrot-following and PLOS algorithms can be easily of Earth and Space Exploration at Arizona State University.
extended to 3D paths. Computing u for LQR becomes com- He received the Ph.D. and M.S. degrees from the University
putational expensive, as solving the algebraic Ricatti equa- of Southern California in 2007 and 2002, respectively, and the
tion for LQR control in higher dimensions is computationally B.E. (Hons) degree from Birla Institute of Technology and Sci-
expensive. Designing VFs in 3D is not simple and requires ences, Pilani, India, in 1999. His research focuses on robotic
significant work. Finding the VTP for the NLGL is simple but exploration, particularly in air and space, and the necessary
requires additional inputs to compute u, taking flight path foundations in perception, planning, and control for this
angle into account. Therefore, LQR, VF, and NLGL require domain. His work spans algorithmic design and implemen-
additional development for 3D path following. Although tation to field experimentation of aerial robots that explore
there are several articles on 3D path following, the path-fol- difficult, dangerous, and usually inaccessible places on earth
lowing problem is still challenging in 3D environments. and other planetary bodies to further scientific knowledge.
João Borges Sousa is an assistant professor with the
Acknowledgments Electrical and Computer Engineering Department at Porto
P.B. Sujit would like to thank Rajnikanth Sharma at Utah University. He is the head of the Underwater Systems and
State University, Mangal Kothari at Northumbria Univer- Technologies Laboratory. His research interests include
sity, and Ashwini Ratnoo at Indian Institute of Science, unmanned vehicles, control architectures, control, and
Bangalore, India, for their insightful comments. This work coordination. He has been leading the design, implementa-
is partly supported by the grant C2007-ISRP-2007 from ISR- tion, and deployment of advanced unmanned air and ocean
Porto and FCT-Portugal, and FCT project PERSIST-PTDC/ vehicle systems in projects funded by the Portuguese Sci-
EEA-CRO/104901/2008. ence Foundation, the Portuguese Ministry of Defense, the
Portuguese Innovation Agency, the European Union, NATO,
Author Information and, in the United States, the Office of Naval Research and
P.B. Sujit ([email protected]) is an assistant professor at the DARPA. In 2006 the laboratory received the national BES
Indraprastha Institute of Information Technology, New Innovation National Award for the design of the Light
Delhi, India. He received the bachelor’s degree from Ban- Autonomous Underwater Vehicle. In 2007 he received an

58  IEEE CONTROL SYSTEMS MAGAZINE  »  February 2014


outstanding teaching award from Porto University. He has [24] S. Jackson, J. Tisdale, M. Kamgarpour, B. Basso, and J. K. Hedrick,
authored approximately 220 scientific papers. “Tracking controllers for small UAVs with wind disturbances: Theory and
flight results,” in Proc. 47th IEEE Conf. Decision Control, 2008, pp. 564–569.
[25] P. Encarnacao and A. Pascoal, “Combined trajectory tracking and path
References following: An application to the coordinated control of autonomous marine
[1] A. P. Aguiar, J. P. Hespanha, and P. V. Kokotović, “Performance limi- craft,” in Proc. 40th IEEE Conf. Decision Control, 2001, pp. 964–969.
tations in reference tracking and path following for nonlinear systems,” [26] V. K. Chitrakaran, D. M. Dawson, H. Kannan, and M. Feemster, “Vision
Automatica, vol. 44, no. 3, pp. 598–610, 2008. assisted autonomous path following for unmanned aerial vehicles,” in
[2] V. Cichella, E. Xargay, V. Dobrokhodov, I. Kaminer, A. M. Pascoal, and N. Proc. 45th IEEE Conf. Decision Control, 2006, pp. 63–68.
Hovakimyan, “Geometric 3D path-following control for a fixed-wing UAV [27] M. Ahmed and K. Subbarao, “Nonlinear 3-D trajectory guidance for
on SO(3),” in Proc. AIAA Conf. Guidance, Navigation Control, Aug. 8–11, 2011, unmanned aerial vehicles,” in Proc. 11th Int. Conf. Control Automation Robot-
pp. 3578–3592. ics Vision, 2010, pp. 1923–1927.
[3] C. Samson, “Time-varying feedback stabilization of car-like wheeled [28] Z. Li, J. Sun, and S. Oh, “Design, analysis and experimental validation
mobile robots,” Int. J. Robot. Res., vol. 12, no. 1, pp. 55–64, 1993. of a robust nonlinear path following controller for marine surface vessels,”
[4] G. Conte, S. Duranti, and T. Merz, “Dynamic 3D path following for an Automatica, vol. 45, no. 7, pp. 1649–1658, 2009.
autonomous helicopter,” in Proc. 5th IFAC Symp. Intelligent Autonomous Vehi- [29] R. Cunha, C. Silvestre, and A. Pascoal, “A path following controller for
cles, Oxford, U.K., 2004, pp. 473–478. model-scale helicopters,” in Proc. European Control Conf., Cambridge, U.K., 2003.
[5] G. Ambrosino, M. Ariola, U. Ciniglio, F. Corraro, E. de Lellis, and A. [30] C. Cao, N. Hovakimyan, I. Kaminer, V. V. Patel, and V. Dobrokhodov,
Pironti, “Path generation and tracking in 3-D for UAVs,” IEEE Trans. Control “Stabilization of cascaded systems via L1 adaptive controller with appli-
Syst. Technol., vol. 17, no. 4, pp. 980–988, 2009. cation to a UAV path following problem and flight test results,” in Proc.
[6] J. Osborne and R. Rysdyk, “Waypoint guidance for small UAVs in wind,” American Control Conf., New York, July 2007, pp. 1787–1792.
in Proc. AIAA Infotech Aerospace, Arlington, VA, 2005, vol. 193, nos. 1–4, [31] A. P. Aguiar, I. Kaminer, R. Ghabcheloo, A. M. Pascoal, N. Hovakimy-
pp. 1–12. an, C. Cao, and V. Dobrokhodov, “Coordinated path following of multiple
[7] T. I. Fossen, M. Breivik, and R. Skjetne, “Line-of-sight path following of UAVs for time-critical missions in the presence of time-varying communi-
underactuated marine craft,” in Proc. 6th IFAC Conf. Manoeuvring Control cation topologies,” in Proc. 17th IFAC World Congr., Seoul, South Korea, 2008,
Marine Craft, Sept. 17–19, 2003, pp. 244–249. pp. 16,015–16,020.
[8] F. A. Papoulias, “Stability considerations of guidance and control laws [32] I. Kaminer, O. Yakimenko, V. Dobrokhodov, A. Pascoal, N. Hovakimy-
for autonomous underwater vehicles in the horizontal plane,” in Proc. 7th an, C. Cao, A. Young, and V. Patel, “Coordinated path following for time-
Int. Symp. Unmanned Untethered Vehicle Technology, 1991, pp. 140–158. critical missions of multiple UAVs via L1 adaptive output feedback control-
[9] R. Rysdyk, “UAV path following for constant line-of-sight,” presented lers,” presented at the AIAA Guidance, Navigation Control Conf. Exhibit,
at the 2nd AIAA Unmanned Unlimited Systems, Technologies Operations 2007, Paper AIAA 2007-6409.
Aerospace, Land Sea Conference, 2003, Paper AIAA-2004-4900. [33] J. E. da Silva and J. B. de Sousa, “A dynamic programming approach for
[10] R. Rysdyk, “Unmanned aerial vehicle path following for target the motion control of autonomous vehicles,” in Proc. 49th IEEE Conf. Deci-
observation in wind,” J. Guidance, Control, Dyn., vol. 29, no. 5, pp. 1092– sion Control, Dec. 2010, pp. 6660–6665.
1100, 2006. [34] S. Shehab and L. Rodrigues, “Preliminary results on UAV path follow-
[11] S. Park, J. Deystt, and J. P. How, “Performance and Lyapunov stability ing using piecewise-affine control,” in Proc. IEEE Conf. Control Applications,
of a nonlinear path-following guidance method,” J. Guidance, Control, Dyn., Aug. 2005, pp. 358–363.
vol. 30, no. 6, pp. 1718–1728, 2007. [35] D. A. Lawrence, E. W. Frew, and W. J. Pisano, “Lyapunov vector fields for
[12] M. Kothari, I. Postlethwaite, and D. W. Gu, “A suboptimal path plan- autonomous UAV flight control,” presented at the AIAA Guidance, Naviga-
ning algorithm using rapidly-exploring random trees,” Int. J. Aerosp. Innov., tion Control Conf. Exhibit, Hilton Head, SC, Aug. 2007, Paper AIAA 2007-6317.
vol. 2, no. 1, pp. 93–104, 2010. [36] H. Chen, K. C. Chang, and C. S. Agate, “Tracking with UAV using tan-
[13] L. E. Dubins, “On curves of minimal length with a constraint on aver- gent-plus-Lyapunov vector field guidance,” in Proc. 12th Int. Conf. Informa-
age curvature and with prescribed initial and terminal positions and tan- tion Fusion, 2009, pp. 363–372.
gents,” Amer. J. Math., vol. 79, no. 3, pp. 497–516, 1957. [37] I. Kaminer, A. Pascoal, E. Hallberg, and C. Silvestre, “Trajectory track-
[14] S. Hota and D. Ghose, “A modified Dubins method for optimal path ing for autonomous vehicles: An integrated approach to guidance and con-
planning of a miniature air vehicle converging to a straight line path,” in trol,” J. Guid. Control Dyn., vol. 21, no. 1, pp. 29–38, 1998.
Proc. American Control Conf., 2009, pp. 2397–2402. [38] E. Xargay, V. Dobrokhodov, I. Kaminer, A. M. Pascoal, N. Hovakimyan,
[15] S. Hota and D. Ghose, “Optimal geometrical path in 3D with curvature and C. Cao, “Time-critical cooperative control of multiple autonomous ve-
constraint,” in Proc. IEEE/RSJ Int. Conf. Intelligent Robots Systems, Piscat- hicles: Robust distributed strategies for path-following control and time-
away, NJ, 2010, pp. 113–118. coordination over dynamic communications networks,” IEEE Control Syst.,
[16] D. R. Nelson, D. B. Barber, T. W. McLain, and R. W. Beard, “Vector field vol. 32, no. 5, pp. 49–73, 2012.
path following for miniature air vehicles,” IEEE Trans. Robot., vol. 23, no. 3, [39] Kestrel autopilot. (2013). [Online]. Available: http://www.lockheed-
pp. 519–529, 2007. martin.com/us/products/procerus/kestrel.html
[17] M. Sun, R. Zhu, and X. Yang, “UAV path generation, path following and [40] Piccolo autopilot. (2013). [Online]. Available: http://www.cloudcaptech.com
gimbal control,” in Proc. IEEE Int. Conf. Networking, Sensing Control, 2008, [41] Ardupilot autopilot. (2013). [Online]. Available: http://www.diydrones.com
pp. 870–873. [42] Paparazzi autopilot. (2013). [Online]. Available: http://paparazzi.enac.fr
[18] I. Rhee, S. Park, and C. K. Ryoo, “A tight path following algorithm of an [43] Openpilot autopilot. (2013). [Online]. Available: http://openpilot.org
UAS based on PID control,” in Proc. SICE Annu. Conf., 2010, pp. 1270–1273. [44] P. B. Sujit, S. Saripalli, and J. B. Sousa, “An evaluation of UAV path-
[19] B. Wang, X. Dong, and B. Chen, “Cascaded control of 3D path follow- following algorithms,” in Proc. European Control Conf., Zurich, Switzerland,
ing for an unmanned helicopter,” in Proc. IEEE Conf. Cybernetics Intelligent July 17–19 2013, pp. 3332–3337.
Systems, 2010, pp. 70–75. [45] M. Kothari and I. Postlethwaite. “A probabilistically robust path plan-
[20] A. Ratnoo, P. B. Sujit, and M. Kothari, “Optimal path following for high ning algorithm for UAVs using rapidly-exploring random trees,” J. Intell.
wind flights,” in Proc. IFAC World Congr., Milan, Italy, Aug. 28–Sept. 2, 2011, Robot. Syst., vol. 71, no. 2, pp. 231–253, Aug. 2013.
pp. 12,985–12,990. [46] R. W. Beard and T. W. McLain, Small Unmanned Aircraft: Theory and Prac-
[21] S. Lee, A. Cho, and C. Kee, “Integrated waypoint path generation and tice, 1st ed. Princeton, NJ: Princeton Univ. Press, 2012.
following of an unmanned aerial vehicle,” Aircr. Eng. Aerosp. Technol., vol. [47] L. Ljung, System Identification. New York: Wiley, 1999.
82, no. 5, pp. 296–304, 2010. [48] N. Slegers, J. Kyle, and M. Costello, “Nonlinear model predictive con-
[22] A. J. Healey and D. Lienard, “Multivariable sliding mode control for trol technique for unmanned air vehicles,” J. Guid. Control Dyn., vol. 29, no.
autonomous diving and steering of unmanned underwater vehicles,” IEEE 5, pp. 1179–1188, 2006.
J. Oceanic Eng., vol. 18, no. 3, pp. 327–339, July 1993. [49] Y. Kang and J. K. Hedrick, “Linear tracking for a fixed-wing UAV using
[23] Z. Li, J. Sun, and S. Oh, “Handling roll constraints for path following of nonlinear model predictive control,” IEEE Trans. Control Syst. Technol., vol.
marine surface vessels using coordinated rudder and propulsion control,” 17, no. 5, pp. 1202–1210, 2009.
in Proc. American Control Conf., 2010, pp. 6010–6015. 

February 2014  «  IEEE CONTROL SYSTEMS MAGAZINE  59

You might also like