Sujit2014 PDF
Sujit2014 PDF
Path Following
A survey and analysis of algorithms
for fixed-wing Unmanned Aerial Vehicles
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
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.
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.
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 .
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
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.
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
250 2: d = p - O
200 3: i = atan2 (y - y l, x - x l)
Y (m)
300
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
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).
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
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
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
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
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
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
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.
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