D-Lite算法

D-Lite算法_第1张图片
【由于专栏后几篇限制vip观看,我又把完整算法在公众号“武汉AI算法研习”进行了发布,可以查看全专栏文章。】

D- Lite不是基于原始的D或聚焦的D,而是实现了相同的行为。它更容易理解,而且可以用更少的代码行实现,因此名为“D*-Lite”。在性能方面,它和Focussed D一样好,甚至更好。D-star 算法虽然可以实现未知环境的路径规划,但效率较低。与 LPA-star 采用的正向搜索算法不同,D-Lite 采用反向搜索方式,效果与D-star 算法相当。

基于 LPA-star 的D- Lite可以很好的应对环境未知的情况,其算法核心在于假设了未知区域都是自由空间,以此为基础,增量式地实现路径规划,通过最小化rhs值找到目标点到各个节点的最短距离。**在移动机器人按照规划的路径进行前进时其所到的节点即设置为起始节点,因此路径变化或者key值需要更新时,需要更新从目标点到新起点的启发值以及估计成本。**由于移动机器人不断的靠近目标点,节点的启发值将不断减少,且减少至不会超过h。由于每次都要减去相同的值,开启列表的顺序并不会改变,因此可以不进行这部分的计算,这样便避免了每次路径改变时的队列遍历过程。

【算法流程】

D-Lite算法类似D-Star算法,首先需要规划从目标点至起始点的全局最优路径,此时即建立了一个“路径场”信息,为增量靠近目标点提供择优依据,D-Lite算法中部分参数定义可以参考LPA-Star算法。

起点为B1,终点为E3,h值为启发值是当前方格距离起始方格的距离。

你可能感兴趣的:(最短路径搜索算法)