(Visual Navigation)路径规划算法(三)RRT RRT* Informed RRT*及前三种算法总结
文章目录
- RRT
- 实现过程
- 算法缺点
- RRT*
- 实现过程
- Informed RRT*
- RRT* 和 Informed RRT*的结果比较
- 具体实现
- 路径规划总结
- RRT算法全称“快速扩展随机树算法”
- 通过随机地图取点的方法进行路径规划
RRT
实现过程
① 在地图中随机选择一个点 Xrand
② 当前点设置为 Xnear
③ 沿着 Xnear和Xrand连线方向 行进步长StepSize 且没有遇到障碍
④ 第二次采样
⑤ 行进步长长度时遇到障碍 则重新采样
⑥ 直到新采样点距离 Xgoal 小于步长且连线无障碍物 则视为成功
算法缺点
- 最后一步随机采样到 Xgoal的概率比较小
- 路径只有一次性 不能自我优化
RRT*
- 鉴于RRT算法的局限性 引入更高效的RRT*算法
- 通过更改 Xnew的父节点以实现更高效的路径规划
实现过程
① 假设规划了一些路径
② 随机取点 在一定范围内连接已有节点与Xrand 计算每个连线的长度
③ 选择距离最短的重新规划路径
- 下图为实际规划案例
Informed RRT*
- 在已有路径基础上限制在一定范围内取随机点重新优化规划
RRT* 和 Informed RRT*的结果比较
具体实现
- 使用RRT*得到一条路径
- 以Xstart 和 Xgoal的直线距离为焦距 路径长度为椭圆长轴 的椭圆内
- 在椭圆内重新取点优化路径
叶雨听烽: 卡在dmp init了,主播有没有什么建议
weixin_38712809: 同样是这个报错
Debug的魔法小马: 我执行到get_config()这一步时会报错: megaconf.errors.ConfigAttributeError: Key 'habitat' is not in struct full_key: habitat object_type=dict 这是因为default.py中的get_config()调用了同文件中的patch_config(),而这其中有一个语句:sim_config = cfg.habitat.simulator。但我看您的Config.yaml和其他的yaml也都没有habitat这个键啊,照样也没问题。 不知道大佬是否知道我错在哪里了?谢谢。
Hoyyyaard: 跟显卡没太大关系? 用的都是nvidia 的
zh_en: 是用什么电脑显卡安装的呀?我测试一直报错,怀疑是硬件问题,