没有合适的资源?快使用搜索试试~ 我知道了~
Path Planning for Autonomous Vehicles in Unknown Semi-structured
0 下载量 194 浏览量
2024-01-17
11:32:14
上传
评论
收藏 1.64MB PDF 举报
温馨提示
试读
17页
Path Planning for Autonomous Vehicles in Unknown Semi-structured
资源推荐
资源详情
资源评论
Dmitri Dolgov
AI & Robotics Group,
Toyota Research Institute,
Ann Arbor, MI 48105,
USA
ddolgov@ai.stanford.edu
Sebastian Thrun
Michael Montemerlo
James Diebel
Stanford Artificial Intelligence Laboratory,
Stanford University,
Stanford CA 94305,
USA
{thrun, mmde}@ai.stanford.edu
Path Planning for
Autonomous Vehicles in
Unknown
Semi-structured
Environments
Abstract
We describe a practical path-planning algorithm for an autonomous
vehicle operating in an unknown semi-structured (or unstructured)
environment, where obstacles are detected online by the robot’s sen-
sors. This work was motivated by and experimentally validated in the
2007 DARPA Urban Challenge, where robotic vehicles had to au-
tonomously navigate parking lots. The core of our approach to path
planning consists of two phases. The first phase uses a variant of
A* search (applied to the 3D kinematic state space of the vehicle)
to obtain a kinematically feasible trajectory. The second phase then
improves the quality of the solution via numeric non-linear optimiza-
tion, leading to a local (and frequently global) optimum. Further, we
extend our algorithm to use prior topological knowledge of the envi-
ronment to guide path planning, leading to faster search and final tra-
jectories better suited to the structure of the environment. We present
experimental results from the DARPA Urban Challenge, where our
robot demonstrated near-flawless performance in complex general
path-planning tasks such as navigating parking lots and executing
U-turns on blocked roads. We also present results on autonomous
navigation of real parking lots. In those latter tasks, which are sig-
nificantly more complex than the ones in the DARPA Urban Chal-
lenge, the time of a full replanning cycle of our planner is in the range
of 50–300 ms.
The International Journal of Robotics Research
Vol. 29, No. 5, April 2010, pp. 485–501
DOI: 10.1177/0278364909359210
c
1 The Author(s), 2010. Reprints and permissions:
http://www.sagepub.co.uk/journalsPermissions.nav
Figures 1–15, 17 appear in color online: http://ijr.sagepub.com
KEY WORDS—path planning, autonomous driving
1. Introduction
The task of autonomous driving has received much attention
from the robotics community, especially in recent years with
events such as the DARPA Grand Challenges (Buehler et al.
2005) and the Urban Challenge (Buehler et al. 2008a,b) serv-
ing to catalyze research in the field.
In this paper, we focus on the problem of path planning
for an autonomous vehicle operating in an unknown environ-
ment. We assume the robot has adequate sensing and local-
ization capabilities and must replan online while incremen-
tally building an obstacle map. This scenario was motivated, in
part, by the DARPA Urban Challenge (DUC), where vehicles
had to freely navigate parking lots. The path-planning algo-
rithm described in this paper was used by the Stanford Racing
Team’s robot, Junior (Figure 1), in the DUC
1
. In the course of
the DUC and the preceding National Qualification Event, Ju-
nior demonstrated near-flawless performance in complex free-
space path-planning tasks (many involving driving in reverse)
such as navigating parking lots, executing U-turns, and dealing
with blocked intersections.
One of the main challenges in developing a practical
path planner for free-space navigation zones, such as park-
ing lots, arises from the fact that the space of all robot con-
1. See http://www.darpa.mil/grandchallenge/rules.asp.
485
at Kookmin University on March 20, 2016ijr.sagepub.comDownloaded from
486 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / April 2010
Fig. 1. Junior, our entry in the DUC. Junior is equipped with
several LIDAR and RADAR units, and a high-accuracy GPS
and inertial-measurement system.
trols (and hence trajectories) is continuous, leading to a com-
plex, continuous-variable optimization problem. Much of the
prior work on search algorithms for path planning (Ersson and
Hu 20011 Koenig and Likhachev 20021 Ferguson and Stentz
20051 Nash et al. 2007) yields fast algorithms for discrete state
spaces, but those algorithms tend to produce paths that are non-
smooth and do not generally satisfy the non-holonomic con-
straints of the vehicle. An alternative approach that guarantees
kinematic feasibility of the path is a forward search in con-
tinuous coordinates, e.g., using rapidly exploring random trees
(Kavraki et al. 19961 LaValle 19981 Plaku et al. 2007). The
key to making such continuous search algorithms practical for
online implementations lies in an efficient guiding heuristic.
Another approach is to directly formulate the path-planning
problem as a non-linear optimization problem in the space of
controls or in the space of parametrized curves (Cremean et
al. 2006). However, in practice, guaranteeing fast convergence
of such programs is difficult due to the complex optimization
landscape with multiple local minima.
Our path-planning algorithm builds on the existing work
discussed above and consists of two main phases. The first
phase uses a heuristic search in continuous coordinates to pro-
duce kinematically feasible trajectories. While lacking theoret-
ical optimality guarantees, in practice this first step typically
produces a trajectory that lies in a neighborhood of the global
optimum. The second phase uses numerical optimization in
continuous coordinates to locally improve the quality of the
solution, producing a path that is at least locally optimal, but in
practice often attains the global optimum. This paper builds on
earlier versions of our path-planing work (Dolgov et al. 2008).
This two-phase approach to path planning works well in un-
structured environments (such as the “free-navigation zones”
in the DUC). However, this free-space planner often produces
trajectories that are not well suited to semi-structured environ-
ments, such as real parking lots. In situations where the envi-
ronment has strong topological structure, it is important for the
robot to observe that structure. For example, cutting across a
parking lot is often considered impolite and can be unsafe if
the robot shares the environment with human drivers.
In scenarios involving semi-structured environments, we
assume that a lane graph representing the topological structure
of the environment is known to the robot. The goal is then to
bias the planner towards trajectories that observe the structure
of the environment, while not restricting the robot to driving on
the given lane graph. For example, in parking lots, we would
like our robotic vehicle (for the most part) to stay on the given
lane graph. However, just as human drivers do, the robot might
need to significantly deviate from the graph while performing
maneuvers such as turning around, pulling in and out of park-
ing spaces, avoiding other cars, etc.
In situations where a topological lane graph is available to
the robot, we extend the two phases of our path-planning algo-
rithm to take that prior information into account. The resulting
algorithm seamlessly integrates free-space and graph planning,
leading to a faster search and producing final trajectories that
are better suited for the environment.
We present results from the DUC as well as from per-
forming navigation in real parking lots. All experiments were
performed on a robotic vehicle, shown in Figure 1, equipped
with a high-accuracy pose-estimation system (Applanix) and
a number of laser range finders, of which the most important
one is the 3D LIDAR (Velodyne).
2. Hybrid-state A* Search
The path-planning problem is as follows. The input is an ob-
stacle map (in our implementation, a grid), an initial state of
the robot s
0
23x1 y124
0
, and a goal state s
g
23x1 y124
g
,
where the 3x1 y124 are the location and orientation of the vehi-
cle, respectively. The desired output is a trajectory (sequence
of vehicle states s
0
1 s
1
13331s
n
2 s
g
with a certain resolution 4
s
(5s
i
6s
i61
574
s
)) that is safe, near-minimal in length, smooth,
and satisfies the kinematic constraints (turning radius) of the
car.
Notice that we do not model the vehicle speed in our plan-
ning problem. Instead, we assume movement at a constant
speed 5
0
,
2
find a trajectory that is feasible at that speed, and
then set the velocity profile of the final trajectory as a function
of curvature and proximity to obstacles. As mentioned above,
our algorithm proceeds in two phases.
The first phase uses a variant of the well-known A* (Hart
et al. 1972) algorithm applied to the 3D kinematic state space
2. In the DUC, we used a maximum velocity of 5 mph for parking lots and gen-
erated A* transitions based on the turning radius of our vehicle corresponding
to 360
8
of the steering wheel (equivalent to a 25
8
turn of the front wheels).
at Kookmin University on March 20, 2016ijr.sagepub.comDownloaded from
Dolgov et al. / Path Planning for Autonomous Vehicles in Unknown Semi-structured Environments 487
of the vehicle, but with a modified state-update rule that cap-
tures continuous-state data in the discrete search nodes of A*.
In our implementation, A* used a 4D search space 3x1 y121r4,
where the fourth dimension (r 2901 1) represents the current
direction of motion (forward or reverse). We use the direction-
of-motion bit (r) in our path-cost function to apply penalties
for driving in reverse and for switching the direction of mo-
tion. The former is a multiplicative penalty that is applied to
the length of segments driven in reverse, and the latter is an
additive penalty that is applied every time the robot switches
directions.
The hybrid-state A* works as follows. Just as in conven-
tional A*, the search space is discretized and a graph is im-
posed on the grid with centers of cells acting as neighbors in
the search graph. However, unlike traditional A*, our hybrid-
state A* associates with each grid cell a continuous 3D state
of the vehicle. The search then proceeds as follows. Initially,
the current continuous state of the vehicle is associated with
the initial search node. When a node is popped from the open
list of A*, it is expanded by applying several steering actions
(in our implementation there are three: max-left1 no-turn1 max-
right) to the continuous state associated with the node, and new
children states are generated using a kinematic model of the
vehicle. For each of these continuous children states, we com-
pute a grid cell that it falls into. Then, if a node with the same
grid cell is already present on the A* open list, and the new
cost of the node is lower than the current cost, the continuous
state of the node is updated and the node is re-prioritized on
the open list.
Clearly, our hybrid A* is similar to Field D* (Ferguson and
Stentz 2005). Both address the limitation of classical A* where
only the centers of grid cells can be visited. However, the dif-
ference between the approaches (as illustrated in Figure 2) is
that Field D* is limited to piecewise-linear paths, whereas hy-
brid A* is not, and because it uses a continuous kinematic
model when expanding the nodes, the paths produced by hy-
brid A* are guaranteed to be drivable.
However, our hybrid-state A* is not guaranteed to find the
minimal-cost solution because of the discretization of controls
and time, as well as the effective pruning of all but one of the
continuous-state branches that enter a cell. Furthermore, we
are also giving up theoretical guarantees of search complete-
ness by changing the reachable state space, since the search
violates the Markov property of the graph (because the transi-
tions from a state are now a function of the continuous coordi-
nates within that state). However, the resulting path is guaran-
teed to be kinematically feasible (rather than being piecewise-
linear as in the case of conventional A*). In practice, hybrid-
A* always finds a solution in realistic environments and the
obtained solution typically lies in the neighborhood of the
global optimum. This allows us to frequently arrive at the glob-
ally optimal solution via the second phase of our algorithm
(which uses gradient descent to locally improve the path, as
described below).
Fig. 2. Graphical comparison of search algorithms. Left: A*
associates costs with centers of cells and only visits states that
correspond to grid-cell centers. Center: Field D* (Ferguson
and Stentz 2005) associates costs with cell corners and allows
any linear path from cell to cell. Right: Hybrid A* associates a
continuous state with each cell, and the score is the cost of its
associated continuous state.
2.1. Heuristics
Our search is guided by two heuristics which are described
below and illustrated in Figure 3. These heuristics do not rely
on any properties of hybrid-state A* and are also applicable to
other search methods (e.g. conventional discrete-state A*).
The first heuristic, which we call non-holonomic-without-
obstacles, ignores obstacles but takes into account the non-
holonomic nature of the car. To evaluate this heuristic, we
compute the shortest path to the goal from every point in the
4D space 3x1 y121r4 in some discretized neighborhood of the
goal, assuming an obstacle-free environment
3
.Clearly,this
cost is an admissible heuristic. The effect of this heuristic is
that it assigns high costs to search branches that approach the
goal with the wrong heading. Because this heuristic does not
depend on run-time sensor information, it can be fully pre-
computed offline (and then simply translated and rotated to
match the current goal). In our experiments in real driving
scenarios, this heuristic provided significant improvements in
the number of nodes expanded over the naive 2D Euclidean-
distance cost. For example, in the situation shown in the top
row of Figure 3, a search with the Euclidean-distance heuris-
tic expands 20,790 nodes, while the non-holonomic-without-
obstacles heuristic expands 12,196 nodes. The heuristic is sen-
sitive to the density of obstacles in the environment. In rel-
atively densely populated environments, such as the ones in
Figure 3, the benefits are fairly small (a factor of two in Fig-
ure 3(b)). In sparser parking lots (such as those in the Urban
Challenge), we frequently obtained an order-of-magnitude im-
provement in the number of expanded nodes.
The second, holonomic-with-obstacles heuristic is a dual of
the first in that it ignores the non-holonomic nature of the car,
but uses the obstacle map to compute the shortest distance
to the goal by performing dynamic programming in 2D. In
3. During the Urban Challenge, we used a 160 m 160mgridwith1m
1m 5
8
resolution.
at Kookmin University on March 20, 2016ijr.sagepub.comDownloaded from
488 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / April 2010
Fig. 3. Search heuristics. Euclidean 2D distance expands 20,790 nodes (a). The non-holonomic-without-obstacles heuristic is
better: it expands 12,196 nodes (b), but can lead to wasteful exploration of dead-ends in more complex settings (c), where it
expands 37,181 nodes. Combining the latter with the holonomic-with-obstacles heuristic leads to a search tree with 11,302 nodes
(d).
essence, given some path-cost function (e.g. collision avoid-
ance) imposed on the configuration space f
3
6x1 y127,wecre-
atea2Dversion f
2
6x 1 y7 2 min
2
f
3
6x1 y127. For example, a
2D state is assumed to be safe (collision cost is 0) if there ex-
ists at least one safe 3D state with the same 2D projection. This
heuristic is clearly admissible. It captures the 2D geometry of
the obstacle map1 for example, it discovers all U-shaped obsta-
cles and dead-ends in 2D and then guides the more expensive
4D search away from these areas.
Since both heuristics are mathematically admissible in the
A* sense, the maximum of the two can be used. In the sce-
nario shown in the bottom row of Figure 3, a search using only
the first (non-holonomic-without-obstacles) heuristic expands
37,181 nodes, while a search that uses both heuristics expands
11,302 nodes.
Heuristics that are essentially equivalent to the ones de-
scribed above were also independently developed (for a
slightly different search method) by the CMU team for the
DUC (Likhachev and Ferguson 20081 Urmson et al. 2008).
Our non-holonomic-without-obstacles heuristic also parallels
the notion of a non-holonomic metric (Laumond et al. 19981
LaValle 2006).
2.2. Analytic Expansions
The forward search described above uses a discretized space
of control actions (steering). This means that the search will
never reach the exact continuous-coordinate goal state (the ac-
curacy depends on the resolution of the grid in A*). To ad-
dress this precision issue, and to further improve search speed,
we augment the search with analytic expansions based on the
Reed–Shepp model (Reeds and Shepp 1990). In the search de-
scribed above, a node in the tree is expanded by simulating a
kinematic model of the car (using a particular control action)
for a small period of time (corresponding to the resolution of
the grid).
In addition to children generated in such a way, for some
nodes an additional child is generated by computing an optimal
Reed–Shepp path from the current state to the goal (assuming
at Kookmin University on March 20, 2016ijr.sagepub.comDownloaded from
剩余16页未读,继续阅读
资源评论
adcqwetqwe
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于虚拟仿真环境下的自动驾驶交通标志识别python源码+文档说明+截图演示+数据集+使用教学(98分高分毕业设计)
- python实现的基于CNN深度学习网络的交通标志识别+源代码+文档说明+安装教程+使用教程(高分毕业设计)
- 基于Spring Bootd实现的图像去雾系统端,完成主要的前后端交互+源代码+文档说明
- 企业网站建设-PPT.ppt
- 办公自动化Microsoft-Office学习教程.doc
- 办公软件ECEL技巧培训课件-PPT.pptx
- 办公软件Word快捷键大全.doc
- Springboot集成SpringbootAdmin实现服务监控管理-源码
- 办公软件应用-计算机一级考试试题.doc
- 毕业设计-图像去雾,基于matlab实现的暗通道先验算法和Retinex图像增强算法制作的图形化界面程序仿真源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功