RRT/RRT*-学习记录

0.相关基本概念

C-Space:机器人运动空间。
Complete Planner:在一定时间内,规划器总能找到一条从起点到终点的路径。
Probabilistic Complete Planner(概率完备):如果一个解存在,用基于采样的方法最终能够找到这个解。
Resolution Complete Planner:与概率完备的区别在于:采样更加确定,局限在确定的网格内。

1.Probabilistic Rode Map:概率路图

PRM:一种基于采样的路径规划方式,一种图结构,分为学习阶段(随机撒点,也可均匀撒点,然后剔除落在障碍物区域的点,把随机撒的点相近的点用线连起来,只连collision free的点)和查询阶段(在简化的图上进行路径搜索,可以用Dijkstra或者Astar)。
优点:概率完备,高效。
缺点:需要解决边界值问题(两点之间的线段是否是collision free),还要判断两点之间的连线是不是适合机器人行走,不够有效率(算法过于冗长,没有把找一条路径放在心上)。
改进:lazy collision checking->撒点之后,不删除撒在障碍物上的点,把所有点连起来,然后就开始规划路径,规划完之后如果有路径经过障碍物,则把经过障碍物的那部分路径去掉,然后构成一个新的图,然后在新的图上进行路径规划。

2.Rapidly-exploring Random Tree:快速搜索随机树

伪代码在这里插入图片描述

优点:找路径更有针对性,速度也很快。
缺点:找到的不是一条最短路径,而且对机器人控制来说也不是一条最优的路径,相对来说可能也不够高效(比如对于narrow passage情况,之所以会复杂,是因为很少有点采样到narrow passage这个空间里面去)。
改进空间:使用kd-tree,提高搜索效率;使用bidirectional RRT(also named RRT connect),起始点和目标点同时构建树,当两棵树上的点有重合时(即撒一次点,实现对两棵树的构建),就找到路径,而且使用这种方法对于改善在narrow passage情况下的路径搜索有很大提升。
在这里插入图片描述

3.RRT*

A)伪代码
在这里插入图片描述
B)与RRT的不同之处
在产生一个Xnew之后,会在Xnew周围一定半径之内找到相邻的节点,如上图的Xnear、X1、X2(RRT是直接把Xnear当作父节点),然后把三个点都和Xnew连接起来,然后计算Xnew到这三个点的Cost哪一个最小(这个Cost Function可以是路径最短,或者其他规则),从图中可以看出,Xnear到Xnew的路径最短,所以选择Xnear作为父节点,将两点连接起来;
在这里插入图片描述
接下来进行rewire,比较X1->Xnew->Xnear->Xinit的长度和X1->Xnear->Xinit,如果X1->Xnew->Xnear->Xinit更短,就更新路径,将X1的父节点更新成Xnew;然后也比较X2->Xnew->Xnear->Xinit的长度和X2->X1->Xnear->Xinit,明显X2->Xnew->Xnear->Xinit更短,更新路径,将X2的父节点更新为Xnew;
在这里插入图片描述

4.Kinodynamic-RRT*

与RRT*区别:点和点之间不是直线连接的,是更符合机器人运动学约束的曲线。
在这里插入图片描述

5.Informed RRT*

为什么要改进?:在RRT* 找到一条路径之后,如果还是在地图里进行随机撒点采样去优化路径,明显会撒很多不不相干的点,降低效率。
改进方向:在RRT*找到一条路径之后,在路径周围一定限制的一个椭圆内进行撒点,从而去优化得到的路径,提高效率。在这里插入图片描述

6.参考引用

图片来源:深蓝学院<<移动机器人运动规划>>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值