一种基于模拟植物生长引导RRT算法的路径规划方法与流程

文档序号:15679325发布日期:2018-10-16 20:24阅读:319来源:国知局

本发明涉及路径智能规划领域,更具体的说,尤其涉及一种基于模拟植物生长引导rrt算法的路径规划方法。



背景技术:

路径规划问题一直是智能机器人领域的一个研究热点.移动机器人路径规划是指机器人基于机载传感器获得的环境信息规划出一条从起点到终点的无碰、安全的可行路径,并在此基础上尽可能地优化路径。

路径规划算法在移动机器人领域得到了广泛研究,许多经典的路径规划算法被提出,主要有人工势场法、可视图法、数学规划法等。人工势场法实时性好,便于实现,但是容易陷入局部极小值且不利于增加约束条件。可视图法能求得最短路径,但搜索时间长,并缺乏灵活性。数学规划法便于考虑机器人自身的约束条件,但是计算量比较大。之后一些启发式路径规划算法也被不断提出,包括d*算法、a*算法、dijkstra算法以及大批仿生算法,如遗传算法、蚁群算法、萤火虫算法、蜂群算法、模拟退火算法等,但这些算法随环境复杂度增加效率降低严重。

而rrt(快速搜索随机树)算法作为一种基于采样的增量式快速搜索算法,可以弥补上述算法存在的路径搜索速度慢和不易于考虑约束条件的缺陷。但是基本rrt算法采用均匀采样的策略,缺乏引导信息,导致算法规划出的路径迂回曲折,在复杂的障碍物分布环境下,算法的执行时间比较长。因此,亟待提出一种能够引导式的rrt算法来提高rrt算法的运算效率。



技术实现要素:

本发明的目的在于解决当前rrt算法在复杂障碍物环境下运算效率较低的问题,本发明提出了一种基于模拟植物生长引导rrt算法的路径规划方法。

本发明通过以下技术方案来实现上述目的:一种基于模拟植物生长引导rrt算法的路径规划方法,包括如下步骤:

步骤一:初始化地图信息:导入地图并将地图栅格化,导入边界以及遮挡物(路障)信息并二值化地图信息,初始化起始点和目标点坐标,路径点数组,设定起始点为当前点(x,y)、目标点为光源点(goalx,goaly),生长步长;

步骤二:计算当前点各方向生长收路障遮挡影响力;

步骤三:判断是否可以直接看到光源点,如果是,输出路径点数组,执行步骤十一;

步骤四:计算当前点所受光引力:分别计算光源点在x方向、y方向对当前点的吸引力;

步骤五:计算当前点所受合力:分别计算当前点x方向y方向所受合力,计算合力方向;

步骤六:计算当前顶芽生长方向并生长一个步长单位:根据合力方向确定顶芽下一生长方向并生长一个步长单位,得到新位置坐标;

步骤七:判断新位置坐标是否在边界外或路障内,如果是,返回步骤二;

步骤八:更新当前点为新位置储存新位置为路径点数组,更新当前点坐标为新位置点坐标,储存新位置点坐标到路径点数组;

步骤九:判断当前点是否为目标点。如果不是,返回步骤二;

步骤十:输出路径点数组;

步骤十一:rrt算法规划路径:调用rrt算法进行新一轮路径规划,其中路径范围限定在路径点数组中随机生成;

步骤十二:判断是否可以找到新路径,如果没有,返回步骤十一;

步骤十三:三次bezier曲线拟合:对步骤十二中得到的路径点进行三次贝塞尔曲线拟合,得到可供实际运用的圆滑路径。

进一步的,所述步骤一中,栅格化地图的方法为:对所调用的地图进行均匀分割,分割程度和栅格数目多少根据路径精度而定,所述二值化地图的方法为:根据栅格化地图的结果,将所有栅格转化为一个二维整形数组,即表示二维平面空间,数组中的每一个元素代表地图上相应坐标的一个像素点,若该点为路障区域,则将数组值设为1,若该点可进行路径规划,则将数组值设为0。所述储存路径点数组用于步骤十一中rrt算法规划路径。

进一步的,所述步骤二中,计算当前点各方向生长收路障遮挡影响力方法为:根据栅格化地图的结果,当前点的可运行路径有上、下、左、右、左上、右上、左下、右下8个可运动方向。以下方向遮挡影响力repulsivedown为例:以当前点位置向下(y轴负方向)延伸,接触到遮挡物、地图边界或者光源点时停止延伸,并记录延伸长度ldown。若接触到的是遮挡物或地图边界,则下方向遮挡影响力为

repulsivedown=1.0/ldown

跳出延伸循环,还原ldown=1。进行下一个方向遮挡影响力。由此可依次计算出repulsivedown,repulsiveup,repulsiveleft,repulsiveright,repulsiveleft_up,repulsiveleft_down,repulsiveright_up,repulsiveright_down的值。

进一步的,所述步骤四中,计算光源点在x方向、y方向对当前点的吸引力方法为:以x方向吸引力为例,x方向光源吸引力为:

attractivepotentialx=1.0/(goalx-x)

同理可得y方向光源吸引力:

attractivepotentialy=1.0/(goaly-y)。

进一步的,所述步骤五中,计算当前点x方向y方向所受合力方法为,在x方向与y方向分别计算所受合力:

其中:为步骤二中八个方向对植物生长的x方向路障遮挡影响力之和;为步骤三中八个方向对植物生长的y方向路障遮挡影响力之和;

所述计算合力方向的方法为:

preferredsteer=arctan(totalpotentialx/totalpotentialy)。

进一步的,所述步骤六中,根据合力方向确定顶芽下一生长方向并生长一个步长单位,得到新位置坐标方法为:根据步骤五中preferredsteer的弧度值的大小来确定生长方向。并在方向上进行规定生长步长的延伸,得到新位置点坐标。

进一步的,所述步骤七中,判断新位置坐标是否在边界外或路障内方法为,对比新生长点坐标是否与边界坐标点重合,是否与障碍物坐标区域重合。

进一步的,所述步骤十一中,调用rrt算法进行新一轮路径规划方法为:首先在步骤十中得到的路径点数组中进行随机采样,生成采样点后向目标点方向延伸一个单位长度,对延伸结果之后得到的点判断是否进入路障或者地图边界,如果没有则将这个新的采样点加入rrt路径结果中。

进一步的,所述步骤十三中,三次bezier曲线拟合方法为:针对步骤八中得到的路径,从起始点开始,每4个点按照三次bezier曲线方程进行拟合,得到圆滑曲线。

本发明的有益效果在于:本发明针对当前rrt算法在复杂障碍物环境下运算效率较低的问题,提出一种基于模拟植物生长引导rrt算法的路径规划方法。本发明提出算法大大提高了rrt算法的寻迹效果,传统rrt算法的采样是随机采样,这使得算法产生的树节点随着迭代次数的上升覆盖了整个地图区域:一方面造成算法需要经过较多次迭代才能找到路径,收敛率太低;另一方面由于随机采样,得到的路径理想度较低。由于本发明利用模拟植物生长的发芽过程,为rrt算法限定了采样的范围,即rrt算法的随机采样可以很快求得路径点,最后利用了三次贝塞尔曲线拟合,提高了路径的可执行性,使传统rrt算法在执行效率和稳定性上得到了很大程度的提高。

附图说明

图1是本发明一种基于模拟植物生长引导rrt算法的路径规划方法的总体流程图。

图2是传统rrt算法规划路径的结果图。

图3是本发明一种基于模拟植物生长引导rrt算法的路径规划方法规划路径的结果图。

具体实施方式

下面结合附图对本发明作进一步说明:

如图1~3所示,一种基于模拟植物生长引导rrt算法的路径规划方法,包括如下步骤:

步骤一:初始化地图信息:导入地图并将地图栅格化,导入边界以及遮挡物(路障)信息并二值化地图信息,初始化起始点和目标点坐标,路径点数组,设定起始点为当前点(x,y)、目标点为光源点(goalx,goaly),生长步长;

步骤二:计算当前点各方向生长收路障遮挡影响力;

步骤三:判断是否可以直接看到光源点,如果是,输出路径点数组,执行步骤十一;

步骤四:计算当前点所受光引力:分别计算光源点在x方向、y方向对当前点的吸引力;

步骤五:计算当前点所受合力:分别计算当前点x方向y方向所受合力,计算合力方向;

步骤六:计算当前顶芽生长方向并生长一个步长单位:根据合力方向确定顶芽下一生长方向并生长一个步长单位,得到新位置坐标;

步骤七:判断新位置坐标是否在边界外或路障内,如果是,返回步骤二;

步骤八:更新当前点为新位置储存新位置为路径点数组,更新当前点坐标为新位置点坐标,储存新位置点坐标到路径点数组;

步骤九:判断当前点是否为目标点;如果不是,返回步骤二;

步骤十:输出路径点数组;

步骤十一:rrt算法规划路径:调用rrt算法进行新一轮路径规划,其中路径范围限定在路径点数组中随机生成;

步骤十二:判断是否可以找到新路径,如果没有,返回步骤十一;

步骤十三:三次bezier曲线拟合:对步骤十二中得到的路径点进行三次贝塞尔曲线拟合,得到可供实际运用的圆滑路径。

所述步骤一中,栅格化地图的方法为:对所调用的地图进行均匀分割,分割程度和栅格数目多少根据路径精度而定,所述二值化地图的方法为:根据栅格化地图的结果,将所有栅格转化为一个二维整形数组,即表示二维平面空间,数组中的每一个元素代表地图上相应坐标的一个像素点,若该点为路障区域,则将数组值设为1,若该点可进行路径规划,则将数组值设为0。所述储存路径点数组用于步骤十一中rrt算法规划路径。

所述步骤二中,计算当前点各方向生长收路障遮挡影响力方法为:根据栅格化地图的结果,当前点的可运行路径有上、下、左、右、左上、右上、左下、右下8个可运动方向。以下方向遮挡影响力repulsivedown为例:以当前点位置向下(y轴负方向)延伸,接触到遮挡物、地图边界或者光源点时停止延伸,并记录延伸长度ldown。若接触到的是遮挡物或地图边界,则下方向遮挡影响力为

repulsivedown=1.0/ldown

跳出延伸循环,还原ldown=1。进行下一个方向遮挡影响力。由此可依次计算出repulsivedown,repulsiveup,repulsiveleft,repulsiveright,repulsiveleft_up,repulsiveleft_down,repulsiveright_up,repulsiveright_down的值。

所述步骤四中,计算光源点在x方向、y方向对当前点的吸引力方法为:以x方向吸引力为例,x方向光源吸引力为:

attractivepotentialx=1.0/(goalx-x)

同理可得y方向光源吸引力:

attractivepotentialy=1.0/(goaly-y)。

进一步的,所述步骤五中,计算当前点x方向y方向所受合力方法为,在x方向与y方向分别计算所受合力:

其中:为步骤二中八个方向对植物生长的x方向路障遮挡影响力之和;为步骤三中八个方向对植物生长的y方向路障遮挡影响力之和;

所述计算合力方向的方法为:

preferredsteer=arctan(totalpotentialx/totalpotentialy)。

所述步骤六中,根据合力方向确定顶芽下一生长方向并生长一个步长单位,得到新位置坐标方法为:根据步骤五中repferredsteer的弧度值的大小来确定生长方向。并在方向上进行规定生长步长的延伸,得到新位置点坐标。

所述步骤七中,判断新位置坐标是否在边界外或路障内方法为,对比新生长点坐标是否与边界坐标点重合,是否与障碍物坐标区域重合。

所述步骤十一中,调用rrt算法进行新一轮路径规划方法为:首先在步骤十中得到的路径点数组中进行随机采样,生成采样点后向目标点方向延伸一个单位长度,对延伸结果之后得到的点判断是否进入路障或者地图边界,如果没有则将这个新的采样点加入rrt路径结果中。

所述步骤十三中,三次bezier曲线拟合方法为:针对步骤八中得到的路径,从起始点开始,每4个点按照三次bezier曲线方程进行拟合,得到圆滑曲线。

上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1