1、D*算法简述
D算法是动态A(D-Star,Dynamic A*),由静态A算法发展而来,Stentz(卡内及梅隆机器人中心)在1994和1995年两篇文章提出,主要用于机器人探路。最早用于火星探测器采用的寻路算法。 D是一种启发式的路径搜索算法,适合面对周围环境未知或者周围环境存在动态变化的场景。
特点:与A相反,A从起点到目标点进行搜索,而D是从目标点向起点进行搜索——反向传播,反向搜索
2、算法流程
与A类似:创建两个表,OPEN, CLOSE列表。
OPEN表保存所有已生成而未考察的节点,CLOSED表中记录已访问过的节点。
1. 访问路网中里起始点最近且没有被检查过的点,把这个点放入OPEN组中等待检查。
2. 从OPEN表中找出距起始点最近的点,找出这个点的所有子节点,把这个点放到CLOSE表中。
3. 遍历考察这个点的子节点。求出这些子节点距起始点的距离值,放子节点到OPEN表中。
4. 重复2,3,步。直到OPEN表为空,或找到目标点。
具体描述:
论文中的伪代码
D*算法
最新推荐文章于 2024-05-14 12:32:46 发布