一. Dijkstra算法:
1. 智驾流程:定位-->感知-->规划-->决策
2. 算法特点:
(1)节点分组:S集合(已求出最短路径的节点)和U集合(未求出最短路径的节点)
(2)
(3)
字母节点转换到数字节点。
3.算法流程:设计从D到A点的最短路径
(1)已知D点位置,将D放入S集合中,其他点均未知,都放入U集合中。因此,对应数值如图,D对应0,其他相邻点如图,非相邻点数值为无穷大。
(2)U中距离最短的节点C加入S,并从U中移除,进而更新,继续想寻找C点附近能使的D?或者C?距离最小,可知选择E,进而将E放入S集合,之后选择找DC?或者DE?距离之和最小的节点。
(3)直达终点A加入S集合,搜索结束。
二. D*算法:
1. 核心思想:
增量式启发式路径规划,并生用于环境未知和环境动态变化的场景;并且从目标点起始,将目标点放入Openlist 中进行搜索,直到机器人当前位置节点由队列中出队为止(如果重点节点状态有动态变化,则需要重新寻路,这是一个动态的过程)
(1)启发式和增量式的理解:
(2)反向搜索的目的:
2. D*算法流程及与A*的对比:
(1)第一阶段:
这里核心在于使用k,而不是h(2)第二阶段: