路径规划:基于采样的算法RRT

一、概述

1、算法概述

基于快速扩展随机树(RRT / rapidly exploring random tree)的路径规划算法,通过对状态空间中的采样点进行碰撞检测,避免了对空间的建模,能够有效地解决高维空间和复杂约束的路径规划问题。

特点是能够快速有效地搜索高维空间,通过状态空间的随机采样点,把搜索导向空白区域,从而寻找到一条从起始点到目标点的规划路径。

适合解决多自由度机器人在复杂环境下和动态环境中的路径规划。与PRM类似,该方法是概率完备且不最优的。只要路径存在,且规划的时间足够长,就一定能确保找到一条路径解。

2、一些概念

概率完备性: 是指如果在起始点和目标点间有路径解存在,只要规划或搜索的时间足够长,就一定能确保找到一条路径解;

最优性:是指规划得到的路径在某个评价指标上是最优的(评价指标一般为路径的长度);

渐进最优性:是指经过有限次规划迭代后得到的路径是接近最优的次优路径,且每次迭代后都与最优路径更加接近,是一个逐渐收敛的过程;

一些路径规划算法分类
在这里插入图片描述
参考链接:https://blog.csdn.net/songyunli1111/article/details/78384096

二、算法原理及流程

1、算法原理

以一个初始点作为根节点,通过随机采样增加叶子节点的方式,生成一个随机扩展树,当随机树中的叶子节点包含了目标点或进入了目标区域,便可以在随机树中找到一条由从初始点到目标点的路径

伪代码如下:

在这里插入图片描述
图片来源深蓝课件:深蓝学院:移动机器人运动规划

流程理解:
1、在配置空间中采样。
2、择RRT树中最接近Xrand的节点.
3、从Xnear上在Xrand方向移动一个增量距离。
4、碰撞检测,知道包含目标点。

三、代码实现

c++代码实现:https://blog.csdn.net/weixin_44558122/article/details/114893436

python代码实现:https://blog.csdn.net/feriman/article/details/113828617

参考文献
[1] Siciliano B, Oussama K. Springer Handbook of Robotics[M]. 2007.

参考链接
RRT*算法图解
https://www.cnblogs.com/21207-iHome/p/7210543.html
RRT*python代码:
https://blog.csdn.net/feriman/article/details/113835452

来源于网络和参考链接整理,侵权联系删~

猜你喜欢

转载自blog.csdn.net/qq_41667348/article/details/121939576
今日推荐