移动机器人D*Lite路径规划算法设计、仿真及源码

本文介绍了D* Lite路径规划算法,它是基于LPA算法的改进版,适用于动态环境中如车辆导航的问题。文章详细阐述了D* Lite的伪代码和更新过程,并提到了Linux系统的基本操作作为开发环境的背景知识。此外,还提供了程序的使用说明,包括编译和运行指令,以及交互式的仿真操作。
摘要由CSDN通过智能技术生成

Dstar Lite路径规划算法简介

DLite算法是Koenig S和Likhachev M基于LPA算法基础上提出的路径规划算法。 LPA算法本是基于Dijkstra最短路径算法而产生的定起点、定目标点的路径规划算法。 链接 通过对LPA算法的改造,使LPA*算法的思想能应用到诸如车辆动态导航这样的问题。

LPA算法区别于其他算法 的一个重要特点是rhs()的定义:
r h s ( s ) = { 0 if    s = s s t a r t min s ′ ∈ P r e d ( s ) ( g ( s ′ ) + c ( s ′ , s ) ) otherwise rhs(s) = \left\{ \begin{array}{ll} 0 & \text{if} \; s = s_{start} \\ \text{min}_{s^{'} \in Pred(s)}(g(s^{'})+c(s^{'},s)) & \text{otherwise} \end{array} \right. rhs(s)={ 0minsPred(s)(g(s)+c(s,s))ifs=sstartotherwise
D
Lite算法继承了rhs()的概念,但D*Lite算法是从目标节点向起始节点搜索。

为了让节点v的启发函数值随着起点位置变化而变化, Koenig S和Likhachev M给出了两种方法:一是,根据新的起点位置,将优先队列中所有节点的启发函数值重新计算;二是,并不重新计算队列中的启发函数值,而是在计算新添加到优先队列中的节点的启发函数值时,加上一个修饰符 ,表示机器人移动距离的叠加。


*D Lite Pseudo Code: **

CaculateKey(s)

return [min(g(s),rhs(s))+h(sstart , s)+km; min(g(s),rhs(s))];

Initialize()

U: =0;
km =0;
for all s ∈ \in S, rhs(s) = g(s) = ∞ \infty ;
rhs(sgoal) = 0;
U.Insert(sgoal), CaculateKey(sgoal));

UpdateVertex ( μ ) (\mu) (μ)

if ( μ ≠ s g o a l ) (\mu \neq s_{goal}) (μ=s

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LiXin_SHMTU

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值