这一节将会记录一下有关RRT算法,代码是基于第五讲-RRT算法原理和代码讲解_哔哩哔哩_bilibili。
RRT和RRT*都是基于采样点的路径规划,都是从空间中随机的选取一个点,并把此点作为树生长的方向。
首先会在空间中随机产生一个样本点,然后在树中寻找一个距离该样本点最近的树节点,然后以树节点和样本点连成直线,根据自己设定的步长,在这条直线的方向产生一个新的树节点,并且把刚才的树节点设置为新节点的父节点。循环遍历,直至新产生的节点距离目标点的位置小于阈值,即找到了可行路径。
产生的效果如下图:
RRT*在RRT的基础上进行了父节比较,确保选到在指定范围内距离根节点最近的父节点。同时该算法还增加了路径优化,并不是在第一次找到可行路径后就停止遍历,而是一直到指定迭代次数才停止。在此过程中只要由新的可行路径,并且距离比上一条可行路径要短,那么就更新路径。理论上讲该算法得到的路径是渐进最优的,如果迭代次数无限多,得到的路径就无限接近最优路径
实例如下
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/4393.html