Sie sind auf Seite 1von 19

J Intell Robot Syst (2017) 86:95–113

DOI 10.1007/s10846-016-0415-3

Waypoint-Based Trajectory Planning of Fixed-Wing MAVs


in 3D Space
Sikha Hota · Debasish Ghose

Received: 8 January 2016 / Accepted: 1 September 2016 / Published online: 1 October 2016
© Springer Science+Business Media Dordrecht 2016

Abstract The paper addresses the problem of tra- Keywords Waypoint following · 3D path
jectory generation of a fixed-wing miniature aerial generation · Transition trajectory for MAVs · Path
vehicle (MAV), constrained by a bounded turn rate, planning of MAVs
which is required to fly along a path defined by a series
of waypoints in three-dimensional space. The gener-
ated trajectory named as γ -trajectory, transits between 1 Introduction
two consecutive waypoint segments in a “smooth”
manner. For this trajectory the shortest distance from In search and surveillance missions which require
the waypoint can also be set to a desired value based MAVs to fly through a cluttered environment, it is a
on the limited capacity of the sensor mounted on common practice to generate obstacle-free waypoints
the MAV. Subsequently, a loop-trajectory is gener- and waypoint segments by some standard path plan-
ated, which is important if the vehicle is required to ning approaches such as probabilistic roadmaps [1],
track the entire waypoint segments as well as the way- Delaunay triangulation [2], Voronoi partitioning [3],
points. Since the trajectory is composed of circles of etc. But due to the nonholonomic nature of a MAV
minimum turn radius and straight lines, this is com- it is not generally possible for the vehicle to “pass
putationally fast and real-time implementable. Finally, through” all these waypoints and “fly over” all por-
the implementation of generated trajectory is illus- tions of the line segments joining these waypoints. So,
trated in an environment cluttered with obstacles and based on the requirements of the mission, different
several aspects of the generated trajectory are com- objectives are set up to generate ‘smooth’ trajectories
pared with those of the trajectories obtained using from those piece-wise linear obstacle-free segments.
techniques available in the literature. The simplest one can be to consider one turn of a
minimum turn radius circular path to transit from one
segment to another as shown in Fig. 1. This trajectory
S. Hota () will be referred to as a simple trajectory.
Department of Aerospace Engineering, Indian Institute
of Technology, Kharagpur, India
A two-dimensional (2D) version of the simple tra-
e-mail: sikhahota@gmail.com jectory where altitude is maintained constant during
flight, is discussed in [4]. But if the angle between two
D. Ghose consecutive segments is quite acute, the shortest dis-
Guidance, Control and Decision Systems Laboratory,
Department of Aerospace Engineering, Indian Institute
tance between this simple trajectory and the associated
of Science, Bengaluru, India waypoint is large, which implies that the waypoint will
e-mail: dghose@aero.iisc.ernet.in remain unexplored by the MAV which has a limited
96 J Intell Robot Syst (2017) 86:95–113

Fig. 1 Simple trajectory in


W3
3D for three consecutive
waypoints
200

150

Z−axis (m)
Simple trajectory
100 Xfs

center of the circular turn


50 of minimum radius

W1
Ps
0 W2
200 X
0s
0 500
400
−200 300
−400 200
100
Y−axis (m) −600 0
X−axis (m)

sensor capacity. This motivates the construction of a results in tracking inaccuracies, and so researchers
trajectory which passes through a point at a desired have proposed trajectories which are ‘smoother’ in
distance away from the associated waypoint. To ful- nature. For example, in [12, 13] smooth paths of
fil this objective, in 2D plane a κ-trajectory (with continuous curvature were developed by combining
three consecutive turns of minimum turn radius) in line segments, circular arcs and clothoids. In litera-
[4] and a γ -trajectory (with two consecutive turns of ture there are a number of works which discuss about
minimum turn radius in opposite directions) in [5] continuous path generation through waypoints using
and [6] were proposed. The differences between κ Bezier curves [14] or using B-splines [15]. But in the
and γ -trajectories were also illustrated in [6], which above said works ([14] and [15]) it is assumed that the
is mainly based on the fact that γ -trajectory is time- UAV is flying at a constant altitude with a constant
optimal. The κ-trajectory has also been used in [7] to speed.
generate trajectory in 2D environment where rapidly Another continuous-curvature trajectory named as
exploring random tree (RRT) was initially applied to G2-continuous cubic Bezier spiral (G2CBS) trajec-
an obstacle filled area to choose waypoints and way- tory was developed in [16, 17] and compared with
point segments. To transit from one waypoint segment the simple trajectory and G1-continuous cubic Bezier
to another the acceleration required was minimized curve (G1CBC) trajectory to illustrate its smoothness
in [8] by applying a line-following guidance using against them. But, as mentioned in [16], it is dif-
the LQR technique. In another work [9], the optimal ficult to find a 3D G2CBS trajectory satisfying the
as well as a number of sub-optimal paths are gen- maximum curvature constraint, so a planar G2CBS
erated through waypoints considering the minimum trajectory was computed on consecutive triplets of
angle of turn as dynamical constraints. An algorithm waypoints that form a plane after mapping the 3D
for fast trajectory planning of UAVs using midcourse waypoints to the 2D plane and finally mapped back
waypoints based on optimal control and geometric into 3D. This trajectory satisfies the maximum curva-
principles was developed in [10] under the assumption ture limit of the MAV but, as mentioned earlier, if the
that there was no prior knowledge of these waypoints, angle between two consecutive waypoint segments is
and their configuration was computed as an in-flight quite acute, the minimum distance from the waypoint
procedure. Since the trajectories developed in [4, 8] and the trajectory remains quite high. To overcome
and [10] are composed of arcs of minimum-turn- this problem, that is, to maintain the shortest distance
radius-circles and straight lines (a Dubins path [11]), between the trajectory and the associated waypoint at
the curvature profile of the trajectories are discon- a desired value, in the present paper we consider a γ -
tinuous in nature. Discontinuity in curvature profile trajectory in three-dimensional (3D) space , which is
J Intell Robot Syst (2017) 86:95–113 97

an extension of the concept of γ -trajectory in 2D [5]. absence of obstacles. Finally, Section 6 concludes the
Collision avoidance in 3D was discussed in [18] in an paper with some scope of future work.
urban environment where the buildings are sparsely
located. In their work Delaunay triangulation is used
to isolate the buildings from each other and to produce 2 Problem Definition and Preliminary Analysis
safe waypoints between them. Once the waypoints are
assured to be safe to pass through, the path planner In 3D space a fixed-wing MAV is required to fly
can use either Dubins, Clothoid, Pythagorean Hodo- through n (≥ 3) number of waypoints in a given order.
graph paths [18, 19] or Sussmann paths [20, 21] to The airspeed (va ) of the vehicle is assumed to remain
produce flyable and safe paths. In contrast to these constant throughout the mission and the MAV has a
approaches, the present work proposes the transition bound on its maximum turn rate/minimum turn radius.
between one segment to another in a “smooth” man- So, the MAV can be considered as a 3D-Dubins vehi-
ner, without colliding with the obstacles, satisfying the cle. Due to nonholonomic nature of the vehicle it is not
objective of passing through a desired distance from generally possible for the vehicle to “pass through”
the associated waypoint as well. It is assumed here that all the points and “fly over” all portions of the line
the waypoints and waypoint segments are obstacle- segments. So, based on the requirements of the mis-
free by the process of their development, which can sion, different objectives are formulated to generate
be obtained in a similar manner as described in [16] these trajectories. Some of them, namely, (1) simple
by combining RRT with a path-pruning algorithm. In trajectory (2) γ -trajectory and (3) loop trajectory are
an obstacle-filled environment for waypoint follow- discussed in the next section.
ing in the presence of wind an adaptive variation of First, consider three consecutive waypoints denoted
the kinodynamic RRT algorithm was used in [22]. In by w1 , w2 and w3 . The assumption is that initially the
their work the adaptive kinodynaic RRT recomputes vehicle is situated at w1 and its flight path angle is ori-
the path to handle the change in wind direction in real- ented towards w2 along the line joining w1 and w2 .
time, as opposed to traditional methods that utilize a Below, the trajectories are generated for three way-
high-gain feedback controller to stabilize the same tra- points, which can easily be extended to more number
jectory. But their work also considers only 2D case of waypoints and will be discussed in the subsequent
assuming altitude remains constant during the entire section. It is important to note that the value of mini-
flight-time. mum turn radius (r) of flyable circular turn varies in
In 3D space, convergence to a rectilinear path from different planes [25], for example, for the maximum
a ‘sufficiently far’ point in minimum time was dis- load factor (η) the value of r on the horizontal plane
cussed in [23] and [24]. Transition between waypoint (X-Y plane) and on the vertical plane (X-Z plane) are
segments discussed in the present paper is also a path rh and and rv , respectively, where,
convergence problem where convergence generally
v2
occurs from closer distances. The main advantages of rh =  a (1)
the trajectory generated in this paper are: the com- g (η2 − 1)
putation is simple and fast, can be implemented even
if the length of the waypoint segment is small, and va2
rv = (2)
can guide the MAV to pass through a point with a g(η − 1)
desired distance from the associated waypoint, which
Let the value of r for a tilted plane which makes an
is the requirement of a mission by UAVs equipped
angle θ with the horizontal plane (X-Y plane) be rt and
with limited sensor capacity.
which can be computed as follows: Consider a turn on
The organization of the paper is as follows. In an inclined plane (of inclination angle θ ) as shown in
Section 2, the problem is defined and some prelimi- Fig. 2. The wings of the MAV are banked at an angle
nary analysis is carried out. Section 3 discusses dif- φ to facilitate a turn on the inclined plane as shown in
ferent kinds of trajectory generation approaches. The the figure. One component of force is balanced by one
trajectory generation technique to avoid obstacles is component of lift,
presented in Section 4. In Section 5, simulation results
are given for illustrative purpose in the presence and W cos θ = L cos(θ + φ) (3)
98 J Intell Robot Syst (2017) 86:95–113

and converges at a point Xf s and tracks the remain-



)
os(θ L +φ )
ing part of the second waypoint segment to reach the
LC n(θ
φ L Si waypoint w3 , as shown in Fig. 1.
) The transition part of the simple trajectory is com-
va/r
2
m puted in the following manner. The unit vectors along
Fr (=
φ θ these two waypoints segments are denoted by q1 and
q2 , respectively. So,
w2 − w1 w3 − w2
in θ q1 =
||w2 − w1 ||
; q2 =
||w3 − w2 ||
(6)
W Sclined r
In lane
p Let β denote the absolute value of the angle between
q2 and −q1 , that is, β = cos−1 (−q2T q1 ). As the
os θ
W
MAV is initially assumed to be aligned along the first
WC
waypoint segment, the unit orientation vector of the
Fig. 2 Minimum turn radius on an inclined plane vehicle (e1 ) at the point X0s is q1 . Similarly, the unit
orientation vector of the vehicle (e2 ) at the point Xf s
is q2 . The points X0s and Xf s can be obtained as
Radial acceleration Fr will be generated by,
follows.
mva2    
Fr = = L sin(θ + φ) − W sin θ (4) r r
r X0s = w2 − q1 ; Xf s = w2 + q2
tan β2 tan β2
From Eqs. 3 and 4 and replacing η = L/W one can (7)
obtain the turn radius value on the inclined plane as
The unit vector perpendicular to the plane made by
v2 these two consecutive segments is
rt = r =  a (5)
g(− sin θ + η2 + sin2 θ − 1) (q1 × q2 )
u= (8)
||q1 × q2 ||
For all planes circular turn of minimum radius occurs The unit radius vector from X0s towards the center of
when the load factor is at its maximum value. Note the circular turn is
that by substituting θ = 0 and θ = π/2 in Eq. 5, one
can obtain the value of rh and rv , respectively. It can y = u × q1 (9)
also be observed that rv > rh . The center of the circular turn is
In the following section, to design the simple tra-
jectory and the γ -trajectory, we will use the notation r O = X0s + ry (10)
for the minimum turn radius which corresponds to the Now the simple trajectory can be developed as we
plane containing the three consecutive waypoints. know the center (O) and radius (r) of the circle and
two perpendicular vectors (q1 and y) on the plane.
Let the closest point (Ps ) on the trajectory from the
3 Solution Approaches waypoint w2 be at a distance ds away, where,
ds = ||w2 − O|| − r (11)
3.1 Simple Trajectory in 3D
It may be noted that similar to the case of 2D waypoint
A simple trajectory is considered here for which following, as discussed in [5], if the angle between two
the transition between two consecutive waypoint seg- consecutive path segments is too acute then following
ments is obtained by a single turn of minimum turn this trajectory results in a large portion of unexplored
radius (r), which is similar to the approach used by waypoint segments and the associated waypoint (w2 )
Anderson et al. [4] in the 2D plane. Starting from w1 , may also go beyond the range of a sensor mounted
the MAV follows the first waypoint segment upto a on the MAV. To overcome this problem a γ -trajectory,
point X0s , then transits to the second waypoint seg- that passes through a specified distance from the
ment following a single turn of minimum turn radius associated waypoint, is discussed next.
J Intell Robot Syst (2017) 86:95–113 99

3.2 γ -Trajectory in 3D The angular maneuver for the second circular turn is

d(w2 , O1γ ) sin(β − β1 ) + r
A trajectory parameterized by γ (0 ≤ γ ≤ 1) is θγ = cos−1 (18)
2r
defined for which the minimum distance between the
associated waypoint and the trajectory is dγ (0 ≤ The trajectory meets the second waypoint segment at
dγ ≤ ds ). This trajectory consists of two consecutive the point Xf γ , which is at a distance of d2γ from the
turns of minimum turn radius in opposite directions waypoint w2 . So,
(shown in Fig. 3a) and will be called as γ -trajectory in d2γ = d(w2 , O1γ ) cos(β − β1 ) + 2r sin(θγ ) (19)
3D space. For a given dγ , the trajectory is computed
and
as follows.
The distance between w2 and the center of the first Xf γ = w2 + q2 d2γ (20)
circular turn (O1γ ) is given by, The unit radius vector (y2 ) from Xf γ towards the
d(w2 , O1γ ) = dγ + r (12) center of the second circular turn (O2γ ) is
y2 = −q2 × u (21)
The line joining w2 and O1γ makes an angle β1 with
the first waypoint segment. So, The center of the second circular turn is,
  O2γ = Xf γ − ry2 (22)
r
β1 = sin−1 (13)
d(w2 , O1γ ) Using these two circular turns centered at O1γ and
O2γ , respectively, the desired γ -trajectory can be
The γ -trajectory leaves the first waypoint segment at
computed.
a point X0γ which is at a distance d1γ from w2 , where,
Note that, due to asymmetric nature of γ -trajectory
r there exists another γ -trajectory which can be named
d1γ = (14)
tan β1 as γ 2 trajectory (the one which is discussed above can
Now, X0γ can be obtained as follows. be named as γ 1 trajectory) and is shown in Fig. 3b.
The difference between these trajectories is that to
X0γ = w2 − d1γ q1 (15) track two consecutive waypoint segments the γ 1 tra-
jectory starts from wi−1 and leaves the first waypoint
The unit radius vector (y1 ) from X0γ towards the
segment within a distance tan(βr i /2) from wi and con-
center of the first circular turn (O1γ ) is
verges to the second waypoint segment at a distance
y1 = −q1 × u (16) which is greater than tan(βr i /2) from wi . On the other
hand, the γ 2 trajectory leaves the first waypoint seg-
where, u is obtained from Eq. 8. The center of the first
ment at a distance which is more than tan(βr i /2) from
circular turn is
wi and converges to the second waypoint segment at
O1γ = X0γ + ry1 (17) a distance which is less than tan(βr i /2) from wi . So it is

80 80 W
2
W2 O1γ
70 70 γ2−trajectory
X
fγ γ1−trajectory
2
X
0γ X0γ
Z−axis (m)

Z−axis (m)

O
2γ 1
60 60
Xfγ Xfγ
1
50 50
X
0γ W
40 W3 40 2
3
80 W1 80 W1
60 90 60 90
40 80 40 80
70 70
20 60 20 60
Y−axis (m) 0 50 X−axis (m) Y−axis (m) 0 50 X−axis (m)

(a) (b)
Fig. 3 a A γ -trajectory in 3D for three consecutive waypoints (b) Two types of γ -trajectories
100 J Intell Robot Syst (2017) 86:95–113

Table 1 Lengths of the


waypoint segments and the Length of the first segment Length of the second segment Type of trajectory
existence of trajectories d(wi−1 , wi ) d(wi , wi+1 )

r r
< tan(βi /2) > tan(βi /2) γ1
r r
> tan(βi /2) < tan(βi /2) γ2
≥ r
tan(βi /2) ≥ r
tan(βi /2) γ 1 / γ 2 / simple
r r
< tan(βi /2) < tan(βi /2) none of them

clear that lengths of waypoint segments play an impor- 3.3 Loop Trajectory in 3D
tant role for existence of different types of transition
trajectories. The lengths of the waypoint segments and A loop trajectory consists of three circular turns of
the existence of trajectories are tabulated in Table 1. minimum turn radius in 3D space and is shown in
It can be noted that if both the waypoint segments are Fig. 4. These trajectories have following important
shorter than tan(βr i /2) , none of the discussed trajecto- properties:
ries exists and we need to construct another trajectory
1. They can be constructed for any length of way-
which will be called as loop trajectory and is discussed
point segments.
in the next subsection.
2. They are ideal when the waypoints as well as the
It is important to note here that Table 1 presents the
waypoint segments are to be tracked exactly by
existence of the γ 1 and γ 2 trajectories, which may not
the MAV.
be sufficient when the implementation is considered
3. The three consecutive turns can be either (a) on
based on the limited capacity of the sensor mounted
the same plane which is made by three consecu-
on the UAV. For example, if the sensor has a coverage
tive waypoints or (b) on three different planes.
limit of dsensor , then the minimum distance between
the γ -trajectory and the waypoint, that is dγ is to be For case 3(a), the value of the minimum turn radius
set as dsensor to compute the trajectory. In that case, corresponding to that plane can be computed using
the required lengths of the segments should be more Eq. 5. For case 3(b), the maximum value of minimum
precisely defined than whatever is presented in Table 1 turn radius, which is the value of rv given in Eq. 2,
and which will be stated in Section 3.4.1. is considered for constructing all three turns. This is

Fig. 4 A loop trajectory in


W3
3D for three consecutive
waypoints

10

5
z−axis (m)

0 Circle
1

−5

−10
W
20 2
W
1
15 Circle
Circle2 3 20
10
10
5
0
0 −10
y−axis (m)
−5 −20 x−axis (m)
J Intell Robot Syst (2017) 86:95–113 101

because of the fact that with three turns of three differ- For loop trajectory, the MAV follows the waypoint
ent values for three different planes, it is not possible segment completely up to the waypoint w2 start-
to construct three turns which can form the loop tra- ing from w1 , so the orientation vector at the point
jectory. With a slight abuse of notation we will use w2 is e1 = [e1x e1y e1z ]. At this point the MAV
the symbol r for the minimum turn radius for both maneuvers through three consecutive circular turns of
cases (a) and (b). To construct the trajectory, let us minimum turn radius to achieve the orientation e2 =
assume that the three circular maneuvers are of angles [e2x e2y e2z ] which is the orientation vector for the
θ1 , θ2 and θ3 , respectively. From the geometry it can next waypoint segment at the same waypoint w2 , so
be proved that θ1 = θ3 . that the MAV can follow the next segment completely.
Consider a geometry of loop trajectory given in Let us consider the perpendicular unit vector to the
Fig. 5a with the maneuver planes shown in Fig. 5b. first maneuvering plane as u1 = [u1x u1y u1z ]. Where,
The MAV follows a transition trajectory originating

from w2 with an orientation e1 (=q1 ) along the first e1x e1z cos s1 − e1y sin s1
u1x =  (23)
circular turn which lies on the first plane (Plane I) to 2 + e2 )
(e1x 1y
reach a point P1 where it touches the second maneu-

vering circle on the second plane (Plane II). The unit e1y e1z cos s1 + e1x sin s1
u1y =  (24)
orientation vector at this point P1 is e12 which is 2 + e2 )
(e1x 1y
tangent to both the first and second circles so the 
line along this vector is the intersecting line between u1z = − cos s1 (e1x 2 + e2 ) (25)
1y
Planes I and II. Similarly, the second turning circle
touches the third maneuvering circle on the third plane with s1 ∈ [−π, π ]. Now the unit radius vector that is
(Plane III) at a point P2 . The unit orientation vector oriented towards the center of the first maneuvering
at this point is e23 . The line along e23 is the intersect- circular turn, starting from w2 , is,
ing line between Planes II and III. As the lines along
the two tangent vectors on the second circle (e12 and y1 = e1 × u1 (26)
e23 ) meet at a point P3 , so P1 O2 P2 P3 forms a planar
quadrilateral for which the sides P1 P3 and P2 P3 are The center of the first maneuvering circle is,
of the same length. Now, observe that the line joining
w2 and P3 is along the intersecting line between Plane O1 = w2 + ry1 (27)
I and Plane III. So, the quadrilaterals w2 O1 P1 P3 (on
Plane I) and w2 O3 P2 P3 (on Plane III) are similar as The first circular turn touches the second circular turn
shown in Fig. 5. This is because of the fact that all at the point P1 and at this point the common tangent
sides of one quadrilateral is same as the other and for vector is e12 . So,
both cases one angle is right angle as shown in the
figure. This implies that θ1 = θ3 . Next, the generation P1 = O1 + e1 r sin θ1 − y1 r cos θ1 (28)
of this trajectory will be discussed in detail. e12 = y1 sin θ1 + e1 cos θ1 (29)

Fig. 5 a Geometry of loop O1


trajectory in 3D (b) Similar
quadrilaterals formations θ1
W3
e12 Plane-I
O1 e2 P1

P1
P3 W2
P3 W2
O2 e23 O2 Plane-II
e1
P2
O3 W1 2π−θ2 Plane-III
P2
θ3

O3

(a) (b)
102 J Intell Robot Syst (2017) 86:95–113

Now let the perpendicular unit vector to the third 3.4 Combined Trajectory Computation
maneuver plane be u3 = [u3x u3y u3z ], where,

In this section an algorithm is developed to compute a
e3x e3z cos s3 − e3y sin s3
u3x =  (30) combined trajectory using simple, γ and loop trajec-
2 + e2 )
(e3x tories in an environment with several waypoints (num-
3y

ber of waypoints > 3). Initially, the trajectory will
e3y e3z cos s3 + e3x sin s3 be computed for the first three consecutive waypoints.
u3y =  (31)
2 + e2 )
(e3x But this trajectory will not be followed throughout,
3y
 rather it would be followed upto the point where it
u3z = − cos s3 (e3x 2 + e2 )
3y (32) converges the second waypoint segment and consider-
ing this point as the starting waypoint and the next two
with s3 ∈ [−π, π ]. Now, the unit radius vector that is waypoints as succeeding waypoints the next part of the
pointed to the center of the third circular turn, from the trajectory is computed. This process will continue till
point w2 , is, the last waypoint. Based on the available lengths of the
y3 = e2 × u3 (33) waypoint segments and the sensor capacity, the fol-
lowing algorithm decides which transition trajectory
The center of the third maneuvering circle is, has to be followed between two waypoint segments.
O3 = w2 + ry3 (34)
3.4.1 Algorithm for Selecting the Transition
The second and third circular turning circles touch Trajectory
each other at the point P2 and at this point the common
tangent vector is e23 . So, 1. Enter the total number of waypoints (n ≥ 3) and
coordinates of them (w1 , w2 , w3 , · · · , wn ).
P2 = O3 − e2 r sin θ3 − y3 r cos θ3 (35) 2. Enter UAV data: airspeed (va ), maximum load
e23 = −y3 sin θ3 + e2 cos θ3 (36) factor, sensor capacity (dsensor ).
3. initialize i = 1, where i is the number of times
The perpendicular vector u2 to the second maneuver-
transition trajectories to be computed.
ing plane is,
4. Compute the minimum turn radius for the plane
e12 × e23 developed by w1 , w2 and w3 using Eq. 5.
u2 = − (37)
||e12 × e23 || 5. Compute the length of the first segment (d12 ) and
Now, for the second plane the radius vectors from P1 the length of the second waypoint segment (d23 ).
to the center O2 of the second circle is y12 and from 6. Compute ds that is the shortest distance between
P2 to the center of the second circle is y23 , which can the simple trajectory and the associated waypoint
be expressed as, using Eq. 11.
7. (a) If d12 ≥ (r/ tan(β/2)) and d23 ≥
y12 = u2 × e12 ; y23 = u2 × e23 (38) (r/ tan(β/2))
The center O2 of the second circle is, i. If ds ≤ dsensor , the transition
trajectory is of simple type.
O2 = P1 + ry12 = P2 + ry23 (39)
ii. Elseif d23 ≥ d2γ ((19) after
To fix the first maneuver plane we need to choose a replacing dγ = dsensor ), the tran-
value of s1 . To compute the unknown quantities, s2 sition trajectory is of γ 1 type
and θ1 (= θ3 ), Eq. (39) needs to be solved. with the value of dγ = dsensor .
It is important to note that for a given waypoint iii. Elseif d12 ≥ d1γ ((14) after
configuration the loop trajectory obtained above can replacing dγ = dsensor ) and
have multiple solutions based on the choice of the first d23 < d2γ ((19) after replac-
maneuvering plane and which is helpful for avoiding ing dγ = dsensor ), the transition
obstacles when a feasible trajectory in an obstacle- trajectory is of γ 2 type with the
filled environment is required to be computed. value of dγ = dsensor .
J Intell Robot Syst (2017) 86:95–113 103

iv. Else the trajectory is of loop type. 4 Collision Checking and Avoidance
(b) Elseif d12 < (r/ tan(β/2)) and d23 >
4.1 Collision Checking
(r/ tan(β/2))
i. If d12 ≥ d1γ ((14) after replac- To illustrate how this trajectory generation algorithm
ing dγ = dsensor ) and d23 ≥ can be applied to obstacle-filled areas, an urban area
d2γ ((19) after replacing dγ = with many buildings is considered. Buildings are con-
dsensor ) , the transition trajectory sidered as square-shaped on ground with different
is of γ 1 type with the value of heights and sizes. The following steps need to be
dγ = dsensor . followed for collision checking.
ii. Elseif d12 < d1γ ((14) after
1. To ease collision checking, each building is
replacing dγ = dsensor ) and
enclosed by a cylinder of diameter equal to
d23 ≥ d2γ  ((19) after replac-
the length of the diagonal of the square plus
ing dγ = 2 + r 2 ) − r),
(d12 a small value equivalent to the safety margin
the transition trajectory is of γ 1 (Fig. 6a). Let the k th obstacle be described
[Obsxk , Obsyk , Obshk , Obsrk ],
 with the value of dγ ==
type as where
2 + r 2 ) − r. (Obsxk , Obsyk ) is the X-Y position of the cen-
(d12
ter of the k th building, Obshk is the height and
iii. Else the trajectory is of loop type. Obsrk is the radius of the cylinder representing
(c) Elseif d12 > (r/ tan(β/2)) and d23 < the k th building. It can be noted that although
(r/ tan(β/2)), the waypoints and the waypoint segments are
obstacle-free in the process of their development,
i. If d12 ≥ d2γ ((19) after replac- these transition trajectories may pass through
ing dγ = dsensor ) and d23 ≥ obstacles due to their deviation from waypoint
d1γ ((14) after replacing dγ = segments.
dsensor ), the transition trajectory 2. Since trajectories are generated on the plane made
is of γ 2 type with the value of by two consecutive waypoint segments, to check
dγ = dsensor . collision, it is sufficient to check the collision on
ii. Elseif d12 ≥  d2γ , ((19) after that plane. An ellipse is formed when a cylindrical
replacing dγ = (d23 2 + r 2 ) − r) object is intersected by a plane, which is illus-
and d23 < d1γ ((14) after replac- trated in Fig. 6b. The center Ce (Cex , Cey , Cez ) of
ing dγ = dsensor ), the transition the ellipse can be computed as follows. Let the
trajectory is ofγ 2 type with the distance from the center of the obstacle on X-Y
value of dγ = (d23 2 + r 2 ) − r.

iii. Else the trajectory is of loop type. n


a rgi
ym ez=(0,0,1)
(d) Else, the transition trajectory is of loop type. fet
sa
8. Compute the transition trajectory following the
methods described in the Section 3.1, 3.2 and 3.3. ua
9. If i = n − 2 exit, else get the point of convergence
Obsh
(say, wc ) on the second waypoint segment (join- k
ing w2 and w3 ). Set i = i + 1, w1 = wc and go to square-sized Ce
building base
step 4. de
Obsr
k
In the next section the trajectory generation (Obsx ,Obsy ,0)
k k
algorithms will be presented in an obstacle-filled
environment. In generating overall trajectories which (a) (b)
avoid obstacles as well as consider the sensor radius Fig. 6 a Cylindrical approximation of a building (b) Intersec-
limitation, the above said algorithm will play a crucial role. tion of cylinder and a plane
104 J Intell Robot Syst (2017) 86:95–113

plane to the center of the ellipse be de which is 6. If dce ≤ (r + ae ), the circular turn and the ellipse
along the Z-axis. This implies, may intersect. To check whether they really inter-
sect, one can project them on X-Y plane. If they
Ce = (Obsxk , Obsyk , 0) + de (0, 0, 1) (40)
intersect, the projection of the circular turn on the
As Ce is a point on the plane made by three way- X-Y plane and the base of the obstacle, which
points w1 , w2 and w3 , the vectors (w1 − Ce ) and is a circle with center (Obsxk , Obsyk ) and radius
u are perpendicular. Obsrk must intersect. The projected circular turn
(w1 − Ce ).u = 0 (41) on the X-Y plane is an ellipse for which the unit
vectors along the directions of major and minor
From which the length de can be obtained as axes, the half-lengths of them can be computed
(w1 − (Obsxk , Obsyk , 0)).u from the center of the circular turn and the incli-
de = (42)
(0, 0, 1).u nation angle of the tilted plane. Now from the
3. The inclination angle of the plane, which is the equations of the circle and the ellipse on the
angle between the cylinder axis (0, 0, 1) and u is X-Y plane, one can check whether they inter-
δ. Where sect. If they intersect, the coordinates intersection
point(s) can also be computed, which may be 1, 2,
δ = cos−1 [u.(0, 0, 1)] 3, or 4 in numbers.
If (de − ae sin δ) > Obshk , then the obstacle will 7. These intersecting points on the X-Y plane can
not be cut by the plane, which means that the be projected back on the tilted plane to check
obstacle is not required to be considered while whether these intersecting points are the part of
computing trajectory on that particular plane. the transition trajectory. If they are on the portion
Obsr of the trajectory, collision occurs and some other
4. The half length of the major axis, ae = cos δk , and
the half length of the minor axis is be = Obsrk . transition trajectory can be generated based on the
The unit vector along the major axis is ua which algorithm given below.
can be obtained from the following observations:
(a) ua and u are perpendicular and (b) the angle 4.2 Algorithm for Selecting the Transition Trajectory
between ua and cylinder axis is ( π2 − δ). The unit in Obstacle-Filled Environment
vector along the direction of the minor axis (ub ) is
perpendicular to both u and ua , so, The algorithm for selecting the transition trajectory
ua × u in the presence of obstacles is similar to the algo-
ub = (43) rithm presented in Section 3.4.1 except steps 7-8.
||ua × u||
To avoid the repetition of all these steps we shall
Now the ellipse is, describe only the details of steps 7 and 8. For the
Pe = Ce +ae ua cos α+be ub sin α where, α ∈ [0, π ] complete algorithm one can replace steps 7-8 of
Section 3.4.1 by the following part. The function Col-
(44)
lision=CollisionCheck is used here, for which the
5. Now, one needs to check whether the transi- steps described in Section 4.1 shall be followed. The
tion part of the trajectory, that is, the circular function will return a value of Collision==1 if colli-
path segment(s) (one for the simple, two for the sion occurs, else there is no collision. A few new vari-
γ 1 /γ 2 , three for the loop trajectory), intersects ables are used in this algorithm: 1 , 2 , 3 and ν, which
with ellipses. If the distance between the center are user defined variables of positive values with the
of a circular turn and the center of the ellipse, relationship 1 = dsensor /ν, 2 = ( (d12 2 + r 2 )−r)/ν
say, dce is greater than (r + ae ) then there is no 
intersection between them. As a conservative but and 3 = ( (d23 2 + r 2 )−r)/ν. ν is the total number of

fast path planner, if dce ≤ (r + ae ) for all of times one particular loop is set to be executed. ρ is the
the circular turns, then other possible trajectory counter which counts the iteration number of a partic-
can be computed based on the algorithm given in ular loop. After the computation of trajectory for each
Section 4.2. transition the value of ρ needs to be reset.
J Intell Robot Syst (2017) 86:95–113 105

Step 7-8 of the algorithm for selecting the transition repeat the step 1.(c)
trajectory in the presence of obstacles: ν times or till Colli-
sion==0, whichever is
1. If d12 ≥ (r/ tan(β/2)) and d23 ≥ (r/ tan(β/2)) earlier.
(a) If ds ≤ dsensor , (d) Else
i. Compute the simple trajectory; i. Compute the trajectory of loop
ii. Collision=CollisionCheck; type.
iii. A. If Collision==0 the ii. Collision=CollisionCheck;
transition trajectory is iii. A. If Collision==0, the
of simple type. trajectory is of loop
B. Else go to step type.
1.(b).iii.B
B. Else repeat step 1.(d)
(b) Elseif d23 ≥ d2γ ((19) after replacing dγ = ν times for different value
dsensor ) of s1 as described in
Section 3.3.
i. Compute the transition trajectory
γ 1 type for the value of dγ = 2. Elseif d12 < (r/ tan(β/2)) and d23 >
dsensor . (r/ tan(β/2))
ii. Collision=CollisionCheck; (a) If d12 ≥ d1γ ((14) after replacing dγ =
iii. A. If Collision==0 the dsensor ) and d23 ≥ d2γ ((19) after replacing
transition trajectory is dγ = dsensor )
of γ 1 type for the value
of dγ = dsensor . i. Compute the transition trajectory
B. Else, set a new value of γ 1 type for the value of dγ =
of dγ = dγnew , where dsensor .
dγnew = dsensor − ρ 1 . ii. Collision=CollisionCheck;
With this new dγnew iii. A. If Collision==0 the
repeat the step 1.(b) transition trajectory
ν times or till Colli- is of γ 1 type for the
sion==0, whichever is value of dγ = dsensor .
earlier. B. Else, set a new value
of dγ = dγnew , where
(c) Elseif d12 ≥ d1γ ((14) after replacing dγ =
dγnew = dsensor − ρ 1 .
dsensor ) and d23 < d2γ ((19) after replacing
With this new dγnew
dγ = dsensor )
repeat the step 2(a)
i. Compute the transition trajectory ν times or till Colli-
of γ 2 type for the value of dγ = sion==0, whichever is
dsensor . earlier.
ii. Collision=CollisionCheck;
(b) Elseif d12 < d1γ ((14) after replacing dγ =
iii. A. If Collision==0 the
dsensor ) and d23 ≥ d2γ ((19) after replacing
transition trajectory is 
of γ 2 type for the value dγ = (d12 2 + r 2 ) − r),

of dγ = dsensor .
i. Compute the transition trajectory
B. Else set a new value
of γ 1 type for the value of dγ =

of dγ = dγnew , where
2 + r 2 ) − r.
dγnew = dsensor − ρ 1 . (d12
With this new dγnew ii. Collision=CollisionCheck;
106 J Intell Robot Syst (2017) 86:95–113

iii. A. If Collision==0 the ν times or till Colli-


transition trajec- sion==0, whichever is
tory is of γ 1 type earlier.
for  the value of
(b) Elseif
 d12 ≥ d2γ , ((19) after replacing dγ =
dγ = (d12 2 + r 2 ) − r.

B. Else, set a new value (d23 + r 2 ) − r) and d23 < d1γ ((14) after
2

of dγ = dγnew , replacing dγ = dsensor ),


where
 d γ new = i. Compute the transition trajectory
2 + r 2 )−r −ρ .
(d12 2 of γ 2 type for the value of dγ =

With this new dγnew 2 + r 2 ) − r.
(d23
repeat the step 2(b) ii. Collision=CollisionCheck;
ν times or till Colli- iii. A. If Collision==0 the
sion==0, whichever is transition trajectory
earlier. is of γ 2 type for
(c) Else the value of dγ ==

2 + r 2 ) − r.
(d23
i. Compute the trajectory of loop
b. Else, set a new value
type.
of dγ = dγnew ,
ii. Collision=CollisionCheck;
where
 d γ new =
iii. A. If Collision==0, the
2 + r 2 )−r −ρ .
(d23
trajectory is of loop 3
type. With this new dγnew
B. Else repeat step 2(c) repeat the step 3(b)
ν times for different ν times or till Colli-
value of s1 as des- sion==0, whichever is
cribed in Section 3.3. earlier.
(c) Else
3. Elseif d12 > (r/ tan(β/2)) and d23 <
(r/ tan(β/2)), i. Compute the trajectory of loop
type.
(a) If d12 ≥ d2γ ((19) after replacing dγ = ii. Collision=CollisionCheck;
dsensor ) and d23 ≥ d1γ ((14) after replacing iii. A. If Collision==0, the
dγ = dsensor ) trajectory is of loop type.
i. Compute the transition trajectory B. Else repeat step 3(c)
of γ 2 type for the value of dγ = ν times for different value
dsensor .
ii. Collision=CollisionCheck;
iii. A. If Collision==0 the
transition trajectory Table 2 Simulation parameters
2
is of γ type for the
value of dγ = dsensor . Parameters Value
B. Else, set a new value Airspeed (va ) 18 m/sec
of dγ = dγnew , where Minimum turn radius in the horinzontal plane (rh ) 49.77 m
dγnew = dsensor − ρ 1 . Minimum turn radius in the vertical plane (rv ) 165 m
With this new dγnew
maximum load factor (η) 1.2002
repeat the step 3(a)
J Intell Robot Syst (2017) 86:95–113 107

Fig. 7 A simple trajectory


for waypoint following in
w
3D 4

150

w2
100

Z−axis (m)
w5

50

w3
0
500
800
w1 600
0 400
200
0
Y− axis (m) −500 −200
X−axis (m)

of s1 as described in 4.3 Comment on the Success Rate of the Algorithm


Section 3.3.
It can be observed that in the above algorithm there
4. Else,
are a few user defined parameters like ν, 1 , 2 , 3 and
(a) Compute the trajectory of loop type. s1 . These should be chosen properly taking care of the
(b) Collision=CollisionCheck; computation time of algorithm. For example, if 1 is
(c) i. If Collision==0, the trajectory is very small then variation in γ value of γ -trajectory is
of loop type. very small, which may lead to inefficient search for a
ii. Else repeat step 4 ν times for dif- feasible trajectory. Similarly, change of s1 should not
ferent value of s1 as described in be abrupt to avoid too much changes in the planes of
Section 3.3. loop trajectory. If the environment is fully cluttered

Fig. 8 A γ trajectory for


W
waypoint following in 3D 4

150

W2
100 W5
Z−axis (m)

γ1 trajectory

50

W
3
0
500 γ trajectory
2
W 1000
1
0 500
0
Y−axis (m) −500 −500
X−axis (m)
108 J Intell Robot Syst (2017) 86:95–113

Fig. 9 A loop trajectory


200
(in black) for waypoint
w
following in 3D 4

150

Z−axis (m)
100 w2
w
5

50 w3

0
1000
500 w1 1000
0 500
−500 0
Y−axis (m) −1000 −500
X−axis (m)

with obstacles or the waypoint segment is surrounded Core(TM) i5-4590 CPU@ 3.30 GHz PC with 8.00GB
by obstacles then it may not be possible to get a fea- RAM. From Table 3, it can be noted that the com-
sible path avoiding obstacles and after ν iterations the putation time for computing the overall trajectory is
algorithm terminates with a display no feasible path quite low which makes it implementable in real time.
exists. To illustrate the utility of all these trajectories let
us consider two scenarios listed in Table 4. Six way-
points are considered for both cases: (1) Case A: when
5 Simulation Results and Discussion the sensor has a capacity of dsensor =40 m and (2) Case
B: when the sensor capacity is limited to dsensor =80
5.1 Obstacle-Free Environment m. For Case A, transition trajectories for the first three
transitions are of γ 1 type and the last transition is
For simulation, the details of the parameters are listed of loop type (Fig. 10a). For Case B, as the sensor is
in Table 2. Five waypoints are considered here. For with more coverage range, transition trajectories for
these five waypoints, simple, γ and loop trajectories the first and third transitions are of simple type, the
are shown in Figs. 7, 8 and 9, respectively. While second transition is of γ 1 type and the last transition
computing simple, γ 1 , γ 2 and loop trajectories, the is of γ 2 type (Fig. 10b). In both cases path lengths
minimum turning radius for different planes are set to and time required to fly the path with a constant speed
different values based on Eq. 5. γ -trajectories main- of 18 m/s are tabulated in Table 4. The time required
tain a minimum distance of 40 m from waypoints w2 , to compute the entire path in both cases is approxi-
w3 and w4 . In Table 3, length of the trajectories, time mately 0.21 sec, which enables us to recompute the
required for exploring the path by the UAV with con- other possible trajectories if the computed trajectory
stant speed and computational time have been docu- meets any obstacle. This fact will be illustrated in the
mented. All the simulations have been done in Intel(R) next subsection.

Table 3 Table for


comparison of all Type of waypoint Length of Time taken computation
trajectories Trajectory configuration the path to explore Time

Simple w1 = (0, 0, 0) m 2799.9 m 155.55 sec 0.1 sec


w2 = (200, 200, 100) m
γ 1 and γ 2 w3 = (500, −500, 50) m 3024.8 m 168.05 sec 0.15 sec
w4 = (800, 500, 150) m
Loop w5 = (−200, 350, 100) m 4738.8 m 263.27 sec 0.32 sec
J Intell Robot Syst (2017) 86:95–113 109

Table 4 Combined
trajectory using simple, γ 1 , Type of waypoint Length of Time taken Transition
γ 2 and loop trajectories Trajectory configuration the path to explore trajectories
in sequence

Combined w1 = (0, 0, 0) m 2726.3 m 162.57 sec γ 1, γ 1


trajectory for w2 = (200, 200, 100) m γ1
dsensor =40 m w3 = (500, −500, 150) m Loop
Combined w4 = (800, 500, 150) m 2535.3 m 140.85 sec Simple, γ 1
trajectory for w5 = (300, 470, 200) m Simple, γ 2
dsensor =80 m w6 = (400, 430, 215) m

Now a comparison has been made with the results radius in the vertical plane, rv ) is to be considered.
published in [16] where an analytical solution of G2 - For rv = 165m, which is the same as the UAV data
continuous trajectory is proposed. It is well-accepted used for our simulation, the G2CBS transition trajec-
that for a fixed-wing type UAV, the smoother path of tories are shown in Fig. 11a. It is seen that with these
G2 -continuous type can be followed more accurately transition trajectories no feasible trajectory from w1 to
compare to paths generated in the present work, which w6 can be constructed. The condition becomes worst
are composed of circles and straight lines with dis- when the waypoint lengths are quite small, as it has
continuous curvature profile. Using a 6-DOF model happened here in the case of two consecutive way-
of a fixed-wing UAV, it has been shown in [24] that point segments joining w4 and w5 and joining w5 and
the path composed of circles and straight lines can w6 . For clarity, the G2CBS trajectory for the first four
be followed with acceptable accuracy. There are sev- waypoints is shown in Fig. 11b. In this figure B01 and
eral advantages for which these trajectories proposed B02 are the start points and E01 and E02 are the end
in the present paper will play an important role in points for G2CBS transition trajectories for the first
waypoint following problems. It is demonstrated by two and next two waypoint segments while satisfy-
constructing the G2CBS trajectory [16] for the same ing the maximum curvature limit. It is observed that
waypoint configuration given in Table 4. In [16], the in both cases the trajectory starts and ends beyond
maximum curvature (=1/minimum turn radius) is kept the given waypoint segments making it infeasible for
the same for all maneuvers in different planes, which smoothening. The transition trajectories keep mini-
forces the transition trajectory to stay reasonably far mum distances from waypoints w2 and w3 183.15 m
from the waypoint as the maximum value of mini- 640.93 m, respectively, which is also not acceptable
mum turn radii of all planes (that is the minimum turn based on the available sensor limitation.

250 250
W W6
200 6 W 200 W4
4
W5
W
Z− axis( m)

5
Z−axis (m)

150 150

100 100
W
2
W
2
50 50

0 0
1000 W 1000
3 W3
800 800
500 500
W 600 W1 600
1
0 400 0 400
200 200
Y− axis (m) −500 0 Y− axis (m) −500 0
X−axis (m) X−axis (m)

(a) (b)
Fig. 10 a Combined trajectory when dsensor = 40m (b) Combined trajectory when dsensor = 80m
110 J Intell Robot Syst (2017) 86:95–113

E0
2
1000
200
Z−axis (m)

W4
0 B
150 0
2
−1000
W5 W4
1000 100

Z−axis (m)
W6 W
W 50 2
2

500 W1 0
E0 W
1 3
−50 W1
0 W
3 −100
1000

B0 1000
−500 500
3500 1 500
3000
Y−axis (m) 2500 0
2000 0
1500
1000
−1000 500 −500
0 Y−axis (m) −500
−500 X−axis (m) X−axis (m)

(a) (b)
Fig. 11 a G2CBS trajectory for six waypoints (b) G2CBS trajectory for the first four waypoints

It can also be analytically shown that the length of 5.2 Obstacle-Filled Environment
both the waypoint segments have to be always larger
in case of G2CBS trajectory than that of the sim- To avoid obstacles, the concept presented in the pre-
ple trajectory. In case of γ -trajectory both waypoint vious section is applied. In Fig. 12a, the generated
segments are not required to be large, which means simple trajectory collides with an obstacle. The pro-
one short segment can be allowed to construct the jection of the simple trajectory on X-Y plane and the
trajectory, which is definitely an advantage. Another base of the obstacle are shown in Fig. 12b to show they
important point is that the trajectory deviates from intersect each other. To avoid collision with the obsta-
the waypoint segment for a longer duration in case cle a γ 1 -trajectory can be computed, for which one
of the G2CBS trajectory, which makes the length of needs to choose the value of γ . Several γ 1 -trajectories
the transition zone longer increasing the the possibil- are shown for dγ = 200, 100, 30 m. Considering
ity of collision with obstacles when trajectory is to be the sensor limitation which is again assumed to be 80 m,
developed in an obstacle-filled environment. γ 1 -trajectories with dγ = 200, 100 m can not be

600 d =30 500


γ

500 d =100 400


γ
400
Z−axis (m)
Z−axis (m)

300
dγ=200
300
200
200
d =351.62 100
100 simple

0 0
500 500
600 600
0 400 0 400
200 200
Y−axis (m) −500 0 Y−axis (m) −500 0
X−axis (m) X−axis (m)

(a) (b)
Fig. 12 a Multiple options of trajectories to avoid obstacles (b) Projection on X-Y plane: The simple trajectory intersects the obstacle
J Intell Robot Syst (2017) 86:95–113 111

w w
4 4
Z−axis (m)

200
100 w

z−axis (m)
w5 6 200
0 100 w w
6
5
0
800 w
2 w
2
600 800
1000
400 600
1000 w 800
200 w3 400 3
w1 800
0 600 200 600
w
1
−200 400 0 400
Y−axis (m) −400 200
−200 200
0 X−axis (m) Y axis (m)
−400 x−axis(m)
0

(a) (b)
Fig. 13 a Trajectories colliding with obstacles (b) Combined trajectory to avoid obstacles

considered although they do not collide with the obsta- trajectory exists here. The other difference is, in [16],
cle. γ 1 trajectory with dγ = 30 m is acceptable as it once smoothing is done by constructing G2CBS tra-
satisfies sensor limitation and does not collide with the jectory it is not checked whether the transition part
obstacle. This is a simple case for illustration purpose. collides with obstacles, which is an important issue.
Now, the same environment as described Table 4 This issue is successfully addressed in the present
is considered but here it is assumed that these way- work by presenting the algorithm (Section 4.2) as well
points and waypoint segments are obstacle-free and as the simulation results.
the other area is filled with obstacles. In reality, apply- Finally, the other advantage of this trajectory gen-
ing some standard path planning algorithms these eration algorithms is real-time applicability. From
obstacle-free waypoints and waypoint segments are Table 4, it can be seen that the computation time is
generated. If the same combined trajectory assuming very less, which allows us real-time replanning of the
sensor limitation of 80 m (second case in Table 4) is combined trajectory to avoid collision with dynamic
considered in this obstacle-filled environment, the tra- obstacles. Consider a scenario where a 3D dynamic
jectory collides with an obstacle near waypoint w3 as obstacle moves with a constant velocity. The initial
shown in Fig. 13a. It can be observed that from way- position of the obstacle is denoted as A. After tgo
point segment w2 w3 to w3 w4 , the γ 1 trajectory with sec the obstacle moves to a position marked by A .
dγ = dsensor was followed following algorithm pre- The UAV was initially positioned at w1 . After tgo sec,
sented in Section 3.4.1. But as this trajectory collides if it is estimated that the UAV will reach at a point
with an obstacle, following the algorithm presented in on A by following the combined trajectory generated
Section 4.2 another combined trajectory is computed, by the algorithm, then there will be a collision with
which does not collide with obstacles and is shown in this dynamic obstacle. So, another safe path can be
Fig. 13b. For this a different transition trajectory of γ 1 generated to follow whenever a collision is predicted.
type with a different value of dγ = dsensor − 1 , (where
1 = 40 m is assumed) from waypoint segment w2 w3
to w3 w4 is followed. The other part of the combined 6 Conclusions and Future Work
trajectory remains as before.
In the presence of obstacles the present work talks In this paper, transition trajectory from one waypoint
about the same problem as discussed in [16], so segment to another has been generated in 3D space.
let us compare the present work with [16]. As the Although the simple trajectory is the easiest way to
waypoints are the same as given in Table 4, from transit from one segment to another, the proposed
Fig. 11, it can be commented that no feasible G2CBS γ -trajectory can maintain a given distance from a
112 J Intell Robot Syst (2017) 86:95–113

waypoint, which helps to explore the waypoint when 11. Dubins, L.E.: On curves of minimal length with a constraint
the MAV has a sensor of limited capacity. Another on average curvature and with prescribed initial and ter-
minal positions and tangents. Amer. J. Math. 79, 497–516
transition trajectory named as loop trajectory is com-
(1957)
puted, which is useful when waypoint segments are 12. Liu, C.-a., Cheng, W.-g., Hong, Z.: A trajectory generator
small in size. The trajectory combining simple, γ and for a mobile robot in 3D path planning. In: Proceedings
κ trajectories has been successfully implemented in of the IEEE International Conference on Automation and
Logistics, pp. 1247-1251. Jinan (2007)
environments filled with obstacles. 13. Lee, S.K., Lee, S., Nam, C., Doh, N.L.: Local path planning
An important direction for future work will be scheme for car-like vehicle’s shortest turning motion using
to compute 3D trajectories for MAVs with flight geometric analysis. In: IEEE/RSJ International Conference
path angle limitation along with curvature constraint. on Intelligent Robots and Systems, pp. 4762–4768. Taipei
(2010)
Another natural step in further evaluation of the algo- 14. Sahingoz, O.K.: Generation of Bezier curve-based flyable
rithm would be to test it on a real MAV platform. trajectories for multi-UAV systems with parallel genetic
algorithm. J. Intel. Robot. Syst. 74(1), 499–511 (2013)
Acknowledgments This work was partially supported by 15. Elbanhawi, M., Simic, M., Jazar, R.N.: Continuous path
UKIERI and NP-MICAV. smoothing for car-like robots using B-spline curves. J. Intel.
Robot. Syst. 80(Suppl 1), S23–S56 (2015)
16. Yang, K., Sukkarieh, S.: An analytical continuous-
curvature path-smoothing algorithm. IEEE Trans. Robot.
References 26(3), 561–568 (June 2010)
17. Yang, K., Sukkarieh, S.: 3D smooth path planning for a
UAV in cluttered natural environments. In: Proceedings
1. Pettersson, P., Doherty, P.: Probabilistic roadmap based
of the IEEE/RSJ International Conference on Intelligent
path planning for an autonomous unmanned helicopter. J.
Robots and Systems, pp. 794–800. Nice (2008)
Intel. Fuzzy Syst. 17(4), 395–405 (2006)
18. Shanmugavel, M., Tsourdos, A., White, B.A.: Collision
2. Lee, D.T., Schachter, B.J.: Two algorithms for construct-
avoidance and path planning of multiple UAVs using
ing a Delaunay triangulation. Int. J. Comput. Inf. Sci. 9(3),
flyable paths in 3D. In: 15th International Conference
219–242 (1980)
3. LaValle, S.M.: Rapidly-exploring Random Trees: A New on Methods and Models in Automation and Robotics
Tool for Path Planning, TR 98-11, Computer Science Dept, (MMAR), pp. 218–222 (2010)
Iowa State University (1998) 19. Tsourdos, A., White, B.A., Shanmugavel, M.: Coopera-
4. Anderson, E.P., Beard, R.W., McLain, T.W.: Real-time tive Path Planning of Unmanned Aerial Vehicles. Wiley
dynamic trajectory smoothing for unmanned air vehi- Publication (2011)
cles. IEEE Trans. Control Syst. Technol. 13(3), 471–477 20. Sussmann, H.J.: Shortest 3-dimensional paths with a pre-
(2005) scribed curvature bound. In: 34th IEEE Conference on
5. Hota, S., Ghose, D.: Optimal transition trajectory for way- Decision and Control, pp. 3306–3312. New Orleans (1995)
point following. In: IEEE Conference on Control Applica- 21. Hota, S., Ghose, D.: Optimal spatial path planning for
tions, pp. 1030–1035. Hyderabad (2013) an unmanned aerial vehicle. J. Aircraft 51(2), 681–688
6. Hota, S., Ghose, D.: Curvature-constrained trajectory gen- (2014)
eration for waypoint following. Proc. Inst. Mech. Eng. Part 22. Doshi, A.A., Singh, S.P.N., Postula, A.J.: An online motion
G: J. Aerospace Eng. 228(11), 2066–2082 (2013) planning and control strategy for UAVs in wind using
7. Saunders, J.B., Call, B., Curtis, A., Beard, R.W., McLain, reduced order forward models. In: Proceedings of Aus-
T.W.: Static and dynamic obstacle avoidance in miniature tralasian Conference on Robotics and Automation. Sydney
air vehicles. Infotech@Aerospace. Arlington, AIAA 2005- (2013)
6950 (2005) 23. Hota, S., Ghose, D.: Rectilinear path following in 3D space.
8. Whang, I.H., Hwang, T.W.: Horizontal waypoint guid- In: Vadakkepat, P., Kim, J.-H. (eds.) Trends in Intelligent
ance design using optimal control. IEEE Trans. Aerospace Robotics, Communications in Computer and Information
Electron. Syst. 38(3), 1116–1120 (2002) Science, vol. 103, pp. 210–217. Springer-Verlag, Berlin
9. Samar, R., Kamal, W.A.: Optimal path computation for (2010)
autonomous aerial vehicles. Cogn. Comput. 4(4), 515–525 24. Hota, S., Ghose, D.: Optimal trajectory planning for path
(2012) convergence in 3D space. Proc. Inst. Mech. Eng. Part G: J.
10. Babaei, A.R., Mortazavi, M.: Fast trajectory planning based Aerospace Eng. 228(5), 766–780 (2013)
on in-flight waypoints for unmanned aerial vehicles. Air- 25. Anderson, J.D.: Introduction to Flight, 5th edn. Tata
craft Eng. Aerospace Technol. 82(2), 107–115 (2010) McGraw hill (2005)
J Intell Robot Syst (2017) 86:95–113 113

Sikha Hota received her Bachelor degree in Electrical Engi- Debasish Ghose had the post graduate education at Indian Insti-
neering from Indian Institute of Engineering Science and Tech- tute of Science, Bangalore and has been working as a Professor
nology, Shibpur, India in 2004 and Master degree from Jadavpur at Indian Institute of Science, Bangalore. He works mainly in
University, Kolkata, India. She received her PhD in Aerospace the area of guidance and control of autonomous vehicles, with
Engineering from Indian Institute of Science, Bangalore, India special focus on aerospace and underwater vehicles. Guidance
in 2013. theory, vision based guidance, sliding mode control based guid-
From 2014 to 2015 she worked as a scientist at Control ance, collision avoidance algorithms, path planning, trajectory
Law Team of LCA, FMCD, CSIR-National Aerospace Labo- optimization, and multi-agent systems with application to con-
ratories, Bangalore. At present she is an Assistant Professor trol of UAVs and robot swarms for search and surveillance
with the Department of Aerospace Engineering, Indian Insti- operations and contaminant monitoring problems, are some of
tute of Technology, Kharagpur, India. Her research interests his major current research areas. In the past he has contributed
include trajectory optimization, path planning and trajectory to the area of large scale system analysis related to warfare
tracking for UAVs, waypoint following, obstacles and collision modelling, game theoretical strategies, and distributed com-
avoidances. putations. He has also worked in the area of computational
intelligence applied to mobile sensor swarms.

Das könnte Ihnen auch gefallen