博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【规划】关于A*、LPA*、D* Lite算法的小结
阅读量:4223 次
发布时间:2019-05-26

本文共 795 字,大约阅读时间需要 2 分钟。

原文来自于知乎 

  1. A*、LPA*以及D* lite都可以用于静态环境下移动机器人的路径规划,此时三者计算效率都相差不大,都利用了启发式搜索来提高效率,LPA*和D* Lite的增量式搜索在这时没有任何帮助,但对于动态环境的路径规划,A*算法却有心无力,但是对于动态环境下进行二次搜索,LPA*和D* Lite效率明显高于A*。
  2. LPA*以及D* lite原理大体类似,都是基于这样一个思想:发生变化后的环境与最初的地图信息相差不大,可以利用增量式搜索利用先前存储信息来提高二次、三次及以后的搜索效率。
  3. A*算法的代价函数为f=g+h,其各个网格点的优先权也是用f来衡量。
    而LPA*和D* Lite都引入rhs变量并作为代价函数,key作为优先权的比较基准,而且key有两 个元素[k1;k2],打破A*算法出现“平级”的局面;由于D*Lite算法Start点一直在移动,故引入km来提高计算效率。
  4. LPA*和D* Lite引入局部一致性的概念来描述网格点的状态以代替A*的Closedlist、Openlist,即所有Openlist的点都局部不一致,所有局部不一致的点都在Openlist列表上,减轻了储存负担,提高算法效率。
  5. LPA*和D* Lite大致流程图是一致的,如图 1所示。

主要区别在于LPA*是在反复规划着起始网格点和目标点之间的最短路径,起始点Start是固定不变的,所以当移动机器人移动后,在环境信息改变后规划出的路径对于当前时刻的移动机器人来讲并非最优的,D* Lite在此基础上做了改进,将当前位置点视为新的Start网格点,反复计算着Goal点与新的Start点的最短路径。所以D* Lite第一次搜索是规划从Goal到Start点的反向的搜索(正向搜索的话,由于Start点在变动,相关变量需要重新计算),一些变量例如h,g,rhs的定义也与LPA*恰好相反。

转载地址:http://abemi.baihongyu.com/

你可能感兴趣的文章
Linux 系统之Apt-Get命令使用
查看>>
Linux系统之备份数据
查看>>
Linux系统之XFCE4.10 安装
查看>>
Linux系统之GCC常用命令
查看>>
Linux系统之GDB调试
查看>>
CUDA开发环境配置大全
查看>>
Linux14.04(64bit) + CUDA6.5 环境搭建
查看>>
Linux系统之复制粘贴命令
查看>>
Device Memory Spaces
查看>>
位运算之美--用 +、- 和位运算实现正整数除法和取模(2)
查看>>
位运算之美--用 + 、- 和位运算实现正整数除法和取模(1)
查看>>
位运算之 -- 按位与(&)操作 -- 快速取模算法
查看>>
按位与(&)、或(|)、异或(^)等操作符
查看>>
使用U盘模拟软盘
查看>>
从图割到图像分割 - 最大流算法
查看>>
从图割到图像分割 - 图的构造
查看>>
从图割到图像分割 - 多层图图割
查看>>
智能指针总结
查看>>
数学中国体力值
查看>>
数学建模十大常用算法
查看>>