赞
踩
本系列博客包括6个专栏,分别为:《自动驾驶技术概览》、《自动驾驶汽车平台技术基础》、《自动驾驶汽车定位技术》、《自动驾驶汽车环境感知》、《自动驾驶汽车决策与控制》、《自动驾驶系统设计及应用》。
此专栏是关于《自动驾驶汽车决策与控制》书籍的笔记.
状态空间搜索是在一定的状态空间中,寻找从初始状态到目标状态的路径的过程;在求解过程中存在很多分支,求解条件的不确定性和不完备性使得最终计算得到的路径有很多条,这些路径组成一个图,这个图就是状态空间;问题的求解实际就是在这个图中寻找一条路径,可以从初始点顺利到达目标点,这个寻找路径的过程就是状态空间搜索;
常用的状态空间搜索包括:深度优先搜索和广度优先搜索;
启发式搜索:在状态空间中搜索,同时在搜索过程中加入与问题有关的启发式信息,引导搜索朝着最优的方向前进;该方法会评估每一个结点,通过比较搜索到的结点的评估值选择出最好的结点,然后将这个最好的结点作为下一次搜索的起始点,沿着搜索的方向继续搜索,直到搜索到目标点;
A ∗ A^* A∗算法是建立在 D i j k s t r a Dijkstra Dijkstra算法基础上的启发式搜索算法,多应用于实现道路网的最佳优先搜索;该算法特点:在选择下一个搜索结点时,通过引入多种有用的路网的信息,计算所有的候选结点与目标点间的某种目标函数,如:最短行车距离、最短行车时间、最少行车费用等,以此目标函数值为标准来评价该候选结点是否为最优路径应该选择的结点,符合所选择的最优目标函数的候选结点将优先选择为进行下一个搜索的起点;
A
∗
A^*
A∗算法的关键:确立如下形式的启发式估价函数:
f
′
(
n
)
=
g
(
n
)
+
h
′
(
n
)
f'(n)=g(n)+h'(n)
f′(n)=g(n)+h′(n)
其中:
g
(
n
)
g(n)
g(n)是从起点
s
s
s到候选结点
n
n
n的实际代价;
h
′
(
n
)
h'(n)
h′(n)是从候选结点
n
n
n到目标点
D
D
D的估计代价;
必须保证 h ′ ( n ) ≤ h ∗ ( n ) h'(n)≤h^*(n) h′(n)≤h∗(n),其中 h ∗ ( n ) h^*(n) h∗(n)表示结点 n n n到目的地结点的实际最小代价;
该算法在搜索过程中,优先搜索 f ′ ( n ) f'(n) f′(n)值最小的结点;
A ∗ A^* A∗算法在搜索过程中会建立两个表:OPEN表和CLOSE表;OPEN表中存储已经生成但还没有被扩展的结点,CLOSE表中存储已经被扩展的结点;每扩展一个结点,都要计算其代价值,若新扩展的结点已经存在于OPEN表中,则比较这两个结点的代价值,用代价值小的点替换代价值大的点,每次扩展一个新结点,都会根据所采用的启发式信息进行排序;
设初始结点为 S S S,目标结点为 T T T,则搜索由 S S S到 T T T的最优路径的具体步骤如下:
算法流程图:
步骤:
RRT算法Extend()函数步骤:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。