Professional Documents
Culture Documents
Kinodynamic Motion Planning For Autonomous Vehicles
Kinodynamic Motion Planning For Autonomous Vehicles
ARTICLE
International Journal of Advanced Robotic Systems
1. Introduction
Exploitation of the versatility of autonomous vehicles
for academic, industrial and military applications
will have a profound effect on our collective future.
Unmanned ground vehicles (UGVs), when integrated
into our vehicle-centric lives, have some very promising
applications. One such application is demonstrated by
vehicles designed for the Defence Advanced Research
Projects Agency Urban Challenge (DUC) [1, 2].
1.1. Motivations
This work is motivated by the applications of UGVs
operating on highways or racecourses.
For such
applications of UGVs to be viable, it is imperative that
a safe motion path should be generated in real-time.
To achieve this goal, the autonomous motion planning
system should handle not only global path planning
but also local obstacle avoidance. The development of
wireless technology and a ubiquitous data/computing
environment enables the UGV to easily obtain the required
information for global path planning, such as GPS
coordinates and/or road information, at any location and
at any time. As the vehicle follows this globally planned
Figure 1.
A mission route in-bounds area specified by
five waypoints and four corridor widths and containing three
obstacles
Figure 2.
motion
(1) = z goal .
(3)
y = v sin ,
= v.
(1)
atMax
dv
atMax ,
dt
arMax
a
rMax
.
v2
v2
(2)
Jiwung Choi: Kinodynamic Motion Planning for Autonomous Vehicles
1.5. Contributions
This article demonstrates significant contributions in
kinodynamic motion planning for UGVs operating in a
semi-structured environment.
To deal with the path planning problem addressed in
Section 1.3, we propose an efficient algorithm which
works better than the widely-known A or RRT as
applied to occupancy grid maps, for the following
reasons: (i) Classical A and RRT incrementally
construct search graphs by using discrete motion
primitives. While these methods have been proven
to be efficient for many path planning problems in
unknown environments, they have the drawback of
requiring a relatively large number of variables to
convert grid maps into graphs. Since the complexity
of a search increases as the size of the graph
increases, incremental methods may be inadequate for
application to large environments, such as MR, which
we address. On the other hand, our method converts a
feature-based map {W, L} into a more compact graph
representation by applying cell decomposition (CD)
and, hence, reducing complexity. The implementation
of CD is enabled by the assumption that the vehicle
is given feature-based maps in advance. (ii) In the
context of re-planning, algorithms such as A and RRT
compute the shortest paths from scratch. On the other
hand, our algorithm applies dynamic programming
(DP) for offline computation and to reuse the globally
shortest path information , thereby reducing the
computation time used for re-planning. D Lite [13],
a variant of A , updates the knowledge of the local
environment and reuses information from previous
searches to find solutions. However, the size of the
updated information and the degree of complexity of
re-planning for grid maps remain greater than those
of our method. The uniqueness of our method is to
use cutting edges determined by dividing parameters
on boundary of the C f ree so that a relatively large
environment is represented by a few variables. Every
time the vehicle detects obstacles, C f ree is efficiently
re-decomposed using the edges. Incorporating DP with
the graph efficiently generates smooth and safe paths.
(Section 2.1-2.2.)
For the task of path smoothing with an obstacle
avoidance constraint, many of the approaches
proposed so far manually move the control points
of splines until the path misses the obstacle [4, 21].
Meanwhile, this paper provides analytic solutions to
minimize the maximum curvature of the smoothing
curves while satisfying the constraint. (Section 2.3.)
The analysis on the constrained curvature minmax
problem is effectively incorporated to generate the
highest admissible velocity profile along reference
paths, consistent with the vehicles dynamic constraint.
(Section 3.)
This paper also proposes a velocity obstacle-based
(VO-based) manoeuvre for real-time moving obstacle
avoidance.
A common property of VO-based
algorithms is that the velocity of the vehicle should
be selected from or toward the outside of VO regions
to avoid obstacles. The algorithm proposed here
calculates a set of safe velocities in discrete time by
4
out
out
(b) Barricades of Gi : cin
and din
i ci
i di .
out in out
out
in
din
i di , ci +1 ci +1 , and the larger circular arcs bi wi +1 bi
out
and ain
i +1 wi +1 ai +1 at the corner area around wi +1 . As a
result, the total number of cells in the route is 2N 3.
Consider the edge that connects one point on the left outer
boundary and the other on the right of the route cell, as
shown in Figure 5. Since the edge cuts S across the centre
line that connects two successive waypoints, it is called
the cutting edge, and the reference path must cross over the
edge to satisfy the corridor constraint. Let elk and erk denote
the two points to construct the cutting edge, on the left
and on the right outer boundaries of Sk , respectively. The
points are generated by dividing each boundary with the
same ratio, (0, 1). Given , the points are denoted as
elk ( ) and erk ( ). Figure 5 shows the geometry of the points
for each type of cell. Since the left and the right outer
boundaries of the straight cell S2i1 are line segments, cil dil
and cri dri (Figure 5(b)), its cutting edge points for are
represented as:
l
l
l
e2i
1 ( ) = (1 ) ci + di .
r
r
e2i1 ( ) = (1 )ci + dri
(4)
Unlike the straight cell, the left and the right outer
boundaries of the corner cell S2i are a circular arc,
cil+1 wi+1 dil and dri wi+1 cri+1 . To represent the edge points,
let il and ir denote the headings of the vectors dil wi+1
and dri wi+1 . Let il > 0 and ir > 0 denote the central
angles of cil+1 wi+1 dil and dri wi+1 cri+1 (Figure 5(a)). Also,
let T( ) denote the unit vector corresponding to the angle
. The edge points can be represented in terms of the
notations:
l
e2i
( ) = wi+1 + dil wi+1 T( il il ),
r
e2i
( ) = wi+1 + dri wi+1 T( ir + ir ).
(5)
in ( ) is set to the
Note that when the pivot point exists, e2i
point for all (Figure 5(c)).
(6)
i = 1, . . . , nr 2.
( j, k) {1, . . . , ne } {1, . . . , n p },
(7)
(a)
(b)
i = 2, . . . , nc 1,
hi {1, . . . , M = ne n p }.
gnc (1) = t.
G = ( h1 , h2 , . . . , h n c 1 , h n c )
{1} {1, . . . , M} . . . {1, . . . , M} {1}.
So, the primitive path R is uniquely defined by C and G :
R(C, G) = g1 (h1 ), g2 (h2 ), . . . , gnc (hnc ) .
n c 2
i =1
Ji gi1 (hi1 ), gi (hi ), gi+1 (hi+1 ) +
(8)
Li
,
s t
C i =
2Ci
,
maxi li
Ki
K i =
.
max
(10)
hnc 1 = 1, . . . , M.
Once Jnc 1 for all hnc 1 are computed, the optimal cost at
hnc 2 on gnc 2 to gnc (1) is given by:
Jnc 1 [ hnc 1 ]+
Jnc 2 [ hnc 2 ] =
min
hnc 1 {1,...,M }
Jnc 2 gnc 2 (hnc 2 ), gnc 1 (hnc 1 ), gnc (dnc 1 (hnc 1 )) .
(11)
The next pointer dnc 2 (hnc 2 ) will be the hnc 1 that leads
to the minimum value of [] in (11). This procedure is
repeated using (11) and decrementing the subscripts by
one until one. Next, G is obtained by taking the pointers
from 1 to nc 1, in order:
G = 1, d1 (1), d2 (d1 (1)), . . . , dnc 2 (dnc 3 ( d1 (1) )), 1
= q2 q1 q 2 q1 .
(12)
Ka siny , Kb p x + py cot
p ( ) (1KKa / )2 , p ( ) Kb
2
b
1 Ka /( )
2
c
Kb + Ka
2
Ka
m
Kb + | cos
|
if q 0 q1 q 2 is collision-free or p ( ) or
p ( ) < or p ( ) < then
)
( , ) min( , ), min( ,
else if m p ( ) < then
( , ) ( p ( ), )
else
3
( Kb )4 2Ka cos ( Kb )2 +Ka2 2
arg min
,
2Ka2 sin2 ( Kb )2
max(c , p ( )), min(m , )
p ( )
end if
Figure 8. The resulting optimal paths depending on the combination of weighing factors
a safe path over the mission route (MR) with static obstacles
(a) nr = 5
(b) of (a)
(c) nr = 9
(d) of (c)
(e) nr = 23
(f) of (e)
Figure 10. Left column: The smoothed paths (bold solid curves)
for primitive paths (dashed line segments). Right column: The
curvature along the paths.
0,
if cos
else if cos
= 1,
( cos )
, else
( cos )2 +( sin )2
such that:
2 sin
,
L1
A Bmin
,
v A v B
A Bmin = A B r.
|v v A [k]|
max [k] },
t
v A [k + 1](i, j) =
c 1 ,
if v A VOBA ,
in tc v A
Jo v A , B =
(13)
(v A )
cout , otherwise,
t pc v A
c 1 , if v A VO LA
in tc v A
Jb v A , L =
,
(v A )
cout , otherwise
t pc v A
Jo (v A , oi )
(14)
i =1
11
subject to:
vA [k + 1] AV (v A [k]).
Figure 20.
(a) Velocity
(b) Curvature
13
[20] M.
Flint
and
M.
Polycarpou
and
E.
Fernandez-Gaucherand.
Cooperative
path-planning for autonomous vehicles using
dynamic programming. In Proceedings of IFAC World
Congress, 2002.
[21] K. Yang and S. Sukkarieh. Real-time continuous
curvature path planning of uavs in cluttered
environments. In Proceedings of the 5th International
Symposium on Mechatronics and Its Applications, pages
16, 2008.
[22] J.-W. Choi, R. E. Curry, and G. H. Elkaim.
Curvature-continuous trajectory generation with
corridor constraint for autonomous ground vehicles.
In Proceedings of IEEE Conference on Decision and
Control, Atlanta, Georgia, USA, 2010.
[23] P. Fiorini and Z. Shiller. Motion planning in dynamic
environments using the relative velocity paradigm. In
Proceedings of IEEE International Conference on Robotics
and Automation, pages 560565, May 1993.
[24] Z. Shiller, F. Large, and S. Sekhavat. Motion planning
in dynamic environments: obstacles moving along
arbitrary trajectories.
In Proceedings of IEEE
International Conference on Robotics and Automation,
2001.
[25] J. van den Berg, M. Lin, and D. Manocha. Reciprocal
velocity obstacles for real-time multi-agent
navigation.
In Proceedings of IEEE International
Conference on Robotics and Automation, pages
19281935, May 2008.
[26] T. W. Sederberg. Computer aided geometric design.
Technical report, Brigham Young University, Provo,
UT, 2007.
[27] J.-W. Choi, R. E. Curry, and G. H. Elkaim. Minimizing
the maximum curvature of quadratic bzier curves
with a tetragonal concave polygonal boundary
constraint. Computer Aided Design, 44(4):311319,
April 2012.
[28] M. Lepetic, G. Klancar, I. Skrjanc, D. Matko, and
B. Potocnik. Time optimal path planning considering
acceleration limits. Robotics and Autonomous Systems,
45(3-4):199 210, 2003.
[29] S. Park, J. Deyst, and J. P. How.
Performance
and lyapunov stability of a nonlinear path following
guidance method. Journal of Guidance, Control, and
Dynamics, 6, 2007.