CN116627132A - 基于rrt改进的移动机器人路径规划方法 - Google Patents
基于rrt改进的移动机器人路径规划方法 Download PDFInfo
- Publication number
- CN116627132A CN116627132A CN202310580071.2A CN202310580071A CN116627132A CN 116627132 A CN116627132 A CN 116627132A CN 202310580071 A CN202310580071 A CN 202310580071A CN 116627132 A CN116627132 A CN 116627132A
- Authority
- CN
- China
- Prior art keywords
- node
- point
- current
- rrt
- pnew
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000006872 improvement Effects 0.000 title claims abstract description 14
- 238000005070 sampling Methods 0.000 claims abstract description 37
- 230000009191 jumping Effects 0.000 claims description 40
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 21
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 238000003786 synthesis reaction Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 abstract description 45
- 238000004088 simulation Methods 0.000 abstract description 8
- 238000002679 ablation Methods 0.000 abstract description 7
- 238000002474 experimental method Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 5
- 230000010355 oscillation Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000012952 Resampling Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009514 concussion Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0219—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开一种基于RRT改进的移动机器人路径规划方法,通过创造父节点改进RRT*扩展树的结构,缩小路径长度;引入自适应探索策略,增加采样导向的选择性,减少路径搜索时间,同时不会陷入局部最优陷阱;通过动态步长,减少冗余节点。仿真实验结果表明,AF‑RRT*算法在多种环境下,路径获取效率和路径质量均优于RRT*和F‑RRT*。消融实验,验证了AF‑RRT*算法和算法各功能模块的有效性。
Description
技术领域
本发明涉及机器人路径规划技术领域,具体涉及一种基于RRT改进的移动机器人路径规划方法。
背景技术
近年来,随着人工智能和硬件性能的迅猛发展,机器人技术得到了迅速发展。移动机器人广泛应用于家庭,餐饮服务,工业生产,救生救援等领域。而机器人路径规划,通过算法在有障碍物的环境中找到一条从起点到目标点的无碰撞路径,作为移动机器人的关键技术之一,受到国内外学者的广泛关注。
目前,路径规划算法主要包括遗传算法,粒子群算法,人工势场法,基于网格的算法和基于采样的算法。基于采样的算法通用性比较强,受环境维度和复杂度的约束较小,是当前最流行的路径规划算法之一。快速扩展随机树(RRT)是基于采样算法的典型代表,依靠随机采样和碰撞检测模块,在给定的空间内生成一组离散的点。虽然RRT可以快速找到路径,但它不能确保找到的路径是最优的。RRT*是RRT算法的变体,其在添加新节点时引入两个优化模块即重选父节点和重布线,优化模块确保在采样点趋于无穷时,RRT*算法找到最优解。
RRT*是RRT算法发展的一个里程碑,吸引了很多学者在此基础上提升RRT*的性能。这些改进的方法可以主要归为两类:采样策略和树扩展策略。基于采样策略的方法包括目标偏置法和人工势场法,目标偏置和人工势场法利用目标点的信息来指导新节点生成方向,采样策略主要是通过优化采样点,加速算法收敛。基于树扩展策略的方法包括Quick-RRT*和F-RRT*,Quick-RRT*使用三角不等式来优化重选父节点和重布线模块,缩短路径长度;F-RRT*在Quick-RRT*的基础上以创造父节点替代重选父节点,树扩展策略是对扩展树本身的结构进行优化,使路径长度尽可能短。不过,目前的改进依旧存在一些不足,如目标偏置法在局部最优环境或者迷宫下,性能显著下降;人工势场法在多障碍物环境下计算量大,效率比较低;Quick-RRT*和F-RRT*路径规划的效率还有不少的提升空间,同时在复杂障碍物环境下会产生较多的冗余节点。
发明内容
本发明所要解决的是现有移动机器人路径规划方法在复杂环境路径规划中存在的盲目搜索,冗余节点及路径较长等的问题,提供一种基于RRT改进的移动机器人路径规划方法。
为解决上述问题,本发明是通过以下技术方案实现的:
基于RRT改进的移动机器人路径规划方法,包括步骤如下:
步骤1、在目标空间中,给定移动机器人的起点xstart和目标点xgoal,设置初始扩展步长eta、目标点邻域λ和最大节点数K,并将起点xstart作为扩展树的初始点进行扩展;
步骤2、判断当前扩展树的节点数是否超过最大节点数K:若超过,跳转步骤3;否则,跳转步骤8;
步骤3、在当前扩展树的基础上采用动态步长的自适应探索策略生成新节点xpnew;
步骤4、判断新节点xpnew与随机采样点xrand是否相同:若相同,则跳转步骤2;否则,跳转步骤5;
步骤5、先在当前扩展树上查找最近点xnearest的第一个不被障碍物阻挡的祖先节点即最远祖先节点xreachest;再通过最远祖先节点xreachest和新节点xpnew在障碍物边缘创造一个基于三角不等式的新父节点xcreate;
步骤6、判断新父节点xcreate是否为空:若为空,则将新节点xpnew加入当前扩展树;否则,将新父节点xcreate和新节点xpnew依次加入当前扩展树,其中新父节点xcreate为新节点xpnew的父节点;
步骤7、判断新节点xpnew与目标点xgoal的距离是否小于目标点邻域λ:若是,则将新节点xpnew与目标点xgoal依次加入当前扩展树,其中新节点xpnew为目标点xgoal的父节点;否则,跳转步骤2;
步骤8、若当前成功生长到目标点xgoal,则将当前扩展树所对应的路径作为移动机器人路径;否则,移动机器人路径寻找失败。
上述步骤3的具体过程如下:
步骤3.1、生成随机采样点xrand,并在当前扩展树中选择与随机采样点xrand距离最近的最近点xnearest;
步骤3.2、将最近点xnearest与目标点xgoal的距离Dis与初始扩展步长eta进行比较:若Dis<eta,则令实际扩展步长Eta等于距离Dis;否则,实际扩展步长Eta等于初始扩展步长eta;
步骤3.3、根据下式采样点和目标点的位置及其权重系数进行矢量合成,生成新节点xpnew:
步骤3.4、判断新节点xpnew和最近点xnearest的连线是否与障碍物间发生碰撞:
如果发生碰撞,则根据下式采样点和目标点的位置及其权重系数进行矢量合成,重新生成新节点xpnew:
否则,跳转步骤4;
式中,xpnew表示新节点,xnearest表示目标点,xgoal表示目标点,P为权重系数,Eta为实际扩展步长。
上述步骤3.1中,若当前扩展树中存在一个以上与随机采样点xrand距离最近的最近点时,则选择其中最先加入到当前扩展树的最近点作为最近点xnearest。
上述步骤3.3中,根据当前扩展树的当前碰撞次数,给权重系数P进行赋值,确定强弱探索状态。
上述步骤5的具体过程如下:
步骤5.1、将最近点xnearest赋值给当前最远祖先节点xreachest;
步骤5.2、判断当前最远祖先节点xreachest和新节点xpnew的连线是否与障碍物间发生碰撞:如果发生碰撞,则跳转步骤5.4;否则,将当前最远祖先节点xreachest的父节点赋值给当前最远祖先节点xreachest;
步骤5.3、判断当前最远祖先节点xreachest是否为起点xstart:如果是,则跳转步骤5.4;否则,跳转步骤5.2;
步骤5.4、判断最远祖先节点xreachest与起点xstart是否相同:若相同,则跳转步骤6;否则,将当前最远祖先节点xreachest赋值给当前通行点xallow,最远祖先节点xreachest的父节点赋值给当前停止点xforbid;
步骤5.5、获取当前通行点xallow和当前停止点xforbid的中点xmid,并判断新节点xpnew与中点xmid的连线是否与障碍物间发生碰撞:如果发生碰撞,则将中点xmid赋值给当前停止点xforbid;否则,将中点xmid赋值给当前通行点xallow;
步骤5.6、判断当前通行点xallow和当前停止点xforbid的距离是否大于设定的二分距离Ddichotomy:如果是,则跳转步骤5.5;否则跳转步骤5.7;
步骤5.7、获取当前通行点xallow和当前停止点xforbid的中点xmid,并判断最远祖先节点xreachest的父节点与中点xmid的连线是否与障碍物间发生碰撞:如果发生碰撞,则将中点xmid赋值给当前停止点xforbid;否则,将中点xmid赋值给当前通行点xallow;
步骤5.8、判断当前通行点xallow和当前停止点xforbid的距离是否大于设定的二分距离Ddichotomy:如果是,则跳转步骤5.7;否则跳转步骤5.9;
步骤5.9、判断当前通行点xallow与最远祖先节点xreachest是否相同:若相同,则将中点xmid作为新父节点xcreate;否则,新父节点xcreate为空。
与现有技术相比,本发明提出一种融合树扩展策略和采样策略的改进RRT*算法(AF-RRT*),先引入动态步长的自适应探索策略,增加采样导向的选择性,减少路径搜索时间,同时不会陷入局部最优陷阱,并在探索中通过动态步长来减少冗余节点;再通过创造父节点改进RRT*扩展树的结构,缩小路径长度;仿真实验结果表明,AF-RRT*算法在多种环境下,路径获取效率和路径质量均优于RRT*和F-RRT*。消融实验,验证了AF-RRT*算法和算法各功能模块的有效性。
附图说明
图1为自适应探索策略的新节点扩展。
图2为创造父节点过程。
图3为简单障碍物环境的路径规划结果。
图4为迷宫障碍物环境的路径规划结果。
图5为凹形障碍物环境的路径规划结果。
图6为复杂障碍物环境的路径规划结果。
图7为AF-RRT*消融实验的路径规划结果。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,并参照附图,对本发明进一步详细说明。
RRT的搜索过程类似于树不断地向四周扩散生长。起点xstart为扩展树G的根节点,树中节点用集合V表示,节点间的连接用集合E存储。在自由空间随机采样节点xrand引导树的生长方向。在树中找到离随机点最近的节点xnearest,在xnearest和xrand连线上以步长eta生成新节点xnew。若最近邻节点与新节点之间的路径与障碍物无碰撞,则将新节点加入树中,否则重新采样。重复上述过程,当新节点扩散到目标点,完成整个搜索,返回该节点到根节点的连线作为路径。
RRT的随机扩展性使算法稳定性差,无法收敛至全局最优。RRT*在树扩展过程中,确定随机点位置后,对新加入搜索树的新节点,增加重选父节点和重布线操作。(1)重选父节点:以新节点xnew为圆心,产生以Rnear为半径的邻域Xnear,以邻域内的节点为备选父节点。首先计算xnew与邻域内所有节点连接后的权值大小,若邻域内中存在节点xmin,使以xmin为父节点的xnew权值最小,则删除xnew与原父节点xnearest的边,在树中新增xnew与xmin的边集。(2)重布线:重布线则是在RRT采样后加入了剪枝过程,优化新节点附近的旧节点。若邻域内存在节点的权值大于以xnew为父节点到该节点的权值,则剪掉这些节点与原父节点的连线,以xnew作为新的父节点,更新邻域内其它节点的路径长度,完成重布线过程。
虽然RRT*算法能渐进最优,但存在随机性过大、路径代价大和冗余节点等不足,且算法的计算量随节点数量的增加而急剧增加,需要较长的时间才能逼近最优解。本发明提出一种融合树扩展策略和采样策略的基于RRT改进的移动机器人路径规划方法(AF-RRT*算法),主要由三部分组成:通过动态步长减少由于震荡现象导致的冗余节点;利用自适应探索策略减少采样的随机性,同时不陷入局部最优陷阱;使用创造父节点代替RRT*的重选父节点,使扩展树贴近障碍物生长以减短路径长度。
具体来说,本发明所提出的基于RRT改进的移动机器人路径规划方法,包括步骤如下:
步骤1、在目标空间中,给定移动机器人的起点xstart和目标点xgoal,设置初始扩展步长eta、目标点邻域λ和最大节点数K,然后将xstart作为扩展树的初始点进行扩展。
步骤2、判断当前扩展树的节点数是否超过最大节点数K:若不超过,跳转步骤3;否则,跳转步骤8。
步骤3、在当前扩展树的基础上采用动态步长的自适应探索策略生成新节点xpnew。
步骤3.1、生成随机采样点xrand,并在当前扩展树中选择与随机采样点xrand距离最近的最近点xnearest;
步骤3.2、将最近点xnearest与目标点xgoal的距离Dis与初始扩展步长eta进行比较:若Dis<eta,则令实际扩展步长Eta等于距离Dis;否则,实际扩展步长Eta等于初始扩展步长eta;
步骤3.3、根据下式采样点和目标点的位置及其权重系数进行矢量合成,生成新节点xpnew:
步骤3.4、判断新节点xpnew和最近点xnearest的连线是否与障碍物间发生碰撞:
如果发生碰撞,则根据下式采样点和目标点的位置及其权重系数进行矢量合成,重新生成新节点xpnew:
否则,跳转步骤4;
式中,xpnew表示新节点,xnearest表示目标点,xgoal表示目标点,P为权重系数,Eta为实际扩展步长。
RRT*算法生成新节点xpnew后,判断其与目标点xgoal的距离是否小于目标点的邻域λ,若是,则找到一条可行路径。通常,为了保证算法的效率,取步长为eta>λ但是,若xnearest与xgoal的距离在(λ,eta)之间,则继续使用eta作为步长进行扩展会造成目标点附近的震荡。大地图中采用大扩展步长时震荡现象尤为明显,会增加路径规划时间和冗余节点。本发明采用动态步长来解决震荡问题。每次扩展,先计算xnearest和xgoal的距离Dis,若Dis>eta时,则实际扩展步长Eta为eta;否则,将实际扩展步长Eta为Dis。动态步长为自适应探索所调用,产生新节点。在此基础上,考虑到RRT*树扩展具有较大的随机性,本发明引入自适应探索策略,减少了采样的随机性,提高了扩展树的两方面能力:全局导向性和局部避障性。
RRT*算法在路径规划中的全局状态可以分为强探索状态和弱探索状态。强探索状态下扩展树尽量往随机点生长,搜索路径;弱探索状态下扩展树尽量往目标点生长,加快路径规划的时间。自适应探索策略在路径规划中,根据环境的变化调整自身的探索状态。初始状态为弱探索状态,当扩展树处于局部最优环境时,单一的出口导致大量的碰撞检测失败,使算法切换成强探索状态,搜索路径以脱离困境;而当扩展树处于开阔的环境时,大量的碰撞检测通过使算法切换成弱探索状态,缩短路径规划的时间。
当采样碰撞次数Ccollisions到达一定次数后,由初始的弱探索状态切换成强探索状态,并在相同的采样次数后,重新切换为弱探索状态。P为权重系数,取值在0到1之间。强探索状态下P为0.2,扩展树优先朝向随机点生长;弱探索状态下P为0.8,扩展树优先朝向目标点生长。在确定探索状态后,为了提高扩展树的局部避障能力。新节点的扩展由目标点和随机点共同确定,通过权重系数P对目标点和随机点两个方向进行相互制约,进行矢量合成确定新节点的扩展方向和扩展距离。
在树扩展过程中根据是否跟障碍物碰撞交换权重系数值。在初始的弱探索状态下,目标点方向占据主导,树偏向目标点扩展,如图1黑色平行四边形所示。若新节点xpnew和最近点xnearest与障碍物间不发生碰撞,则扩展成功;否则,交换随机点和目标点的权值,使树偏向随机点扩展,若碰撞检测通过,则扩展成功,碰撞检测失败则重新采样,如图1灰色平行四边形所示。通过动态地交换目标点和随机点两个方向的权值,快速绕开障碍物。
步骤4、判断新节点xpnew与随机采样点xrand是否相同即两者的坐标是否相同:若相同,则跳转步骤2;否则,跳转步骤5。
步骤5、先在当前扩展树上查找最近点xnearest的第一个不被障碍物阻挡的祖先节点即最远祖先节点xreachest;再通过最远祖先节点xreachest和新节点xpnew在障碍物边缘创造一个基于三角不等式的新父节点xcreate。
步骤5.1、将最近点xnearest赋值给当前最远祖先节点xreachest;
步骤5.2、判断当前最远祖先节点xreachest和新节点xpnew的连线是否与障碍物间发生碰撞:如果发生碰撞,则跳转步骤5.4;否则,将当前最远祖先节点xreachest的父节点赋值给当前最远祖先节点xreachest;
步骤5.3、判断当前最远祖先节点xreachest是否为起点xstart:如果是,则跳转步骤5.4;否则,跳转步骤5.2;
步骤5.4、判断最远祖先节点xreachest与起点xstart是否相同即两者的坐标是否相同:若相同,则跳转步骤6;否则,将当前最远祖先节点xreachest赋值给当前通行点xallow,最远祖先节点xreachest的父节点赋值给当前停止点xforbid;
步骤5.5、获取当前通行点xallow和当前停止点xforbid的中点xmid,并判断新节点xpnew与中点xmid的连线是否与障碍物间发生碰撞:如果发生碰撞,则将中点xmid赋值给当前停止点xforbid;否则,将中点xmid赋值给当前通行点xallow;
步骤5.6、判断当前通行点xallow和当前停止点xforbid的距离是否大于设定的二分距离Ddichotomy:如果是,则跳转步骤5.5;否则跳转步骤5.7;
步骤5.7、获取当前通行点xallow和当前停止点xforbid的中点xmid,并判断最远祖先节点xreachest的父节点与中点xmid的连线是否与障碍物间发生碰撞:如果发生碰撞,则将中点xmid赋值给当前停止点xforbid;否则,将中点xmid赋值给当前通行点xallow;
步骤5.8、判断当前通行点xallow和当前停止点xforbid的距离是否大于设定的二分距离Ddichotomy:如果是,则跳转步骤5.7;否则跳转步骤5.9;
步骤5.9、判断当前通行点xallow与最远祖先节点xreachest是否相同即两者的坐标是否相同:若相同,则将中点xmid作为新父节点xcreate;否则,新父节点xcreate为空。
RRT*只在现有的树节点中重选父节点,如果邻域内路径代价普遍比较大,父节点重选作用不大。增大邻域半径可以扩大父节点选择范围,但邻域内节点数量增加会显著增加计算量。本发明引入创造父节点来代替重选父节点,在障碍物边缘创造一个节点作为新节点的父节点,使扩展树贴近障碍物生长,降低路径代价。创造父节点由两个步骤来完成:查找最远祖先节点和创造新父节点。
1)查找最远祖先节点xreachest:
为消除邻域半径对计算量的影响,添加xpnew时放弃邻域,不计算邻域内所有节点的路径代价,只查找最近点xnearest的第一个不被障碍物阻挡的祖先节点xreachest。由于只搜索xnearest的祖先节点,不搜索xpnew周围的节点,搜索节点数量大幅度减少,降低了路径搜索时间。
2)创造新父节点xcreate:
在xreachest及其父节点之间的连线上找到节点xallow,使得xallow与xpnew的连线L位于障碍物边缘。在连线L上找到一点xcreate,使xcreate可同时连接xpnew和xreachest的父节点,如图2粗实线所示。从图2中可以明显看出粗实线比细虚线短。与RRT*重选父节点生成的路径相比,路径长度更是短得多。创造新父节点的核心思想是拐角处紧贴障碍物的一般都是最优路径。通过xreachest和xpnew直接在障碍物边缘创造一个基于三角不等式的新节点xcreate,降低路径的长度。使用二分法快速逼近障碍物,在障碍物的边缘创造新父节点,时间复杂度为O(log n)。其中参数二分距离Ddichotomy用来控制新节点与障碍物的逼近程度,Ddichotomy越小,路径的长度越短,计算所需的时间越多。调整Ddichotomy的大小,可以平衡路径长度和时间代价。
步骤6、判断新父节点xcreate是否为空:若为空,则将新节点xpnew加入当前扩展树;否则,将新父节点xcreate和新节点xpnew依次加入当前扩展树,其中新父节点xcreate为新节点xpnew的父节点。
步骤7、判断新节点xpnew与目标点xgoal的距离是小于目标点邻域λ:若小于,则将新节点xpnew目标点xgoal与连接,并加入扩展树,跳转步骤8;否则,跳转步骤2。
步骤8、若当前成功生长到目标点xgoal,则将当前扩展树所对应的路径作为移动机器人路径;否则,移动机器人路径寻找失败。
仿真实验通过python实现,进行二维空间环境下的仿真。为验证算法的有效性,在四个不同障碍物的全局环境,分别与原始算法RRT*、F-RRT*进行对比实验,红色粗线代表规划出的路径。场景大小均为640×480,公共参数设置:初始步长eta=40,目标点邻域λ=15,搜索半径Rnear=45,Ddichotomy的取值为2,Ccollisions的取值为50。
(1)仿真实验
(1.1)简单障碍物环境
简单障碍物环境如图3所示,只有一个矩形障碍物。三种算法分别进行100次路径规划所得的平均数据如表1所示。
表1简单障碍物环境下的对比
在扩展节点数和路径规划时间这两个指标上,AF-RRT*明显优于RRT*和F-RRT*。AF-RRT*扩展节点数比RRT*少75.25%,路径规划时间少90.19%,路径长度短11.52%。AF-RRT*与F-RRT*的路径长度接近,但是扩展节点数减少77.43%,路径规划时间减少90.48%。
(1.2)迷宫障碍物环境
地图上中有两个平行的矩形组成一个简单迷宫,如图4所示。三种算法100次路径规划所得的平均数据如表2所示。
表2迷宫障碍物环境下的对比
AF-RRT*的路径长度与F-RRT*算法接近,扩展节点数量和路径规划时间远少于其它两种算法。
(1.3)凹形障碍物环境
地图中有一个凹形障碍物,如图5所示。三种算法100次路径规划所得的平均数据如表3所示。
表3凹形障碍物环境下的对比
AF-RRT*相比于F-RRT*,扩展节点数减少48.43%,路径规划时间减少69.21%。
(1.4)复杂障碍物环境仿真
地图上中有许多各种不同类型的矩形障碍物,如图6所示。三种算法在复杂障碍物环境下分别进行100次路径规划所得的平均数据如表4所示。
表4复杂障碍物环境下的对比
在扩展节点数和路径规划时间这两指标上,AF-RRT*同样明显优于RRT*和F-RRT*。与F-RRT*算法相比,AF-RRT*的扩展节点数减少72.45%,路径规划时间减少85.29%。
(1.5)仿真实验分析
从F-RRT*和RRT*的结果对比可以看出,F-RRT*跟RRT*算法一样存在着无效搜索和在目标点震荡的问题。在多障碍物环境下,由于扩展树需要频繁绕过障碍物,F-RRT*探索无效区域时在障碍物边缘大量地创造新节点,这会使扩展节点数和路径规划时间大幅度上升。而本发明算法AF-RRT*对比F-RRT*,利用自适应探索策略和动态步长针对性减少了在盲目搜索和扩展树震荡的过程中创造的新节点,使得扩展节点数和路径规划时间大大减少。实验结果表明,普通环境下,如简单障碍物和复杂障碍物环境,AF-RRT*的路径规划时间比F-RRT*减少80%~90%;在局部最优或者迷宫类环境下,如迷宫障碍物和凹形障碍物,AF-RRT*的路径规划时间也比F-RRT*减少60%~70%。
(2)消融实验
为进一步检验AF-RRT*算法各组成部分的有效性,保持相同参数不变,在复杂障碍物环境对AF-RRT*算法进行消融实验,如图7所示。无创造父节点、无自适应探索策略、无动态步长的AF-RRT*和完整的AF-RRT*在多障碍物环境下分别进行100次路径规划,平均数据如表5所示。
表5AF-RRT*消融实验数据
无创造父节点树扩展策略的AF-RRT*算法路径长度较长;无自适应探索策略的AF-RRT*算法,扩展节点数较多和路径规划时间较长;无动态步长的AF-RRT*扩展节点数较多。说明创造父节点在使扩展树紧贴障碍物生长,自适应探索策略在减少盲目搜索,动态步长在减少冗余节点,是有效的。其中自适应探索策略发挥了较为关键的作用,对AF-RRT*算法的高性能做出了较大的贡献。
本发明以RRT*算法为基础,在采样策略和树扩展策略两方面作了改进。通过动态步长的自适应探索策略,减少了对无效区域的搜索,缩短了路径规划的时间,同时避免陷入局部最优陷阱,且在自适应探索时通过动态步长来减少扩展树在目标点震荡。引入创造父节点的树扩展策略,改变RRT*树扩展的过程,使扩展树紧贴障碍物生长,缩短了路径长度。仿真实验结果表明,AF-RRT*在路径规划效率和路径质量上相较于RRT*和F-RRT*具有较明显的优越性。消融实验验证了各改进点的有效性。
需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
Claims (5)
1.基于RRT改进的移动机器人路径规划方法,其特征是,包括步骤如下:
步骤1、在目标空间中,给定移动机器人的起点xstart和目标点xgoal,设置初始扩展步长eta、目标点邻域λ和最大节点数K,并将起点xstart作为扩展树的初始点进行扩展;
步骤2、判断当前扩展树的节点数是否超过最大节点数K:若超过,跳转步骤3;否则,跳转步骤8;
步骤3、在当前扩展树的基础上采用动态步长的自适应探索策略生成新节点xpnew;
步骤4、判断新节点xpnew与随机采样点xrand是否相同:若相同,则跳转步骤2;否则,跳转步骤5;
步骤5、先在当前扩展树上查找最近点xnearest的第一个不被障碍物阻挡的祖先节点即最远祖先节点xreachest;再通过最远祖先节点xreachest和新节点xpnew在障碍物边缘创造一个基于三角不等式的新父节点xcreate;
步骤6、判断新父节点xcreate是否为空:若为空,则将新节点xpnew加入当前扩展树;否则,将新父节点xcreate和新节点xpnew依次加入当前扩展树,其中新父节点xcreate为新节点xpnew的父节点;
步骤7、判断新节点xpnew与目标点xgoal的距离是否小于目标点邻域λ:若是,则将新节点xpnew与目标点xgoal依次加入当前扩展树,其中新节点xpnew为目标点xgoal的父节点;否则,跳转步骤2;
步骤8、若当前成功生长到目标点xgoal,则将当前扩展树所对应的路径作为移动机器人路径;否则,移动机器人路径寻找失败。
2.根据权利要求1所述的基于RRT改进的移动机器人路径规划方法,其特征是,步骤3的具体过程如下:
步骤3.1、生成随机采样点xrand,并在当前扩展树中选择与随机采样点xrand距离最近的最近点xnearest;
步骤3.2、将最近点xnearest与目标点xgoal的距离Dis与初始扩展步长eta进行比较:若Dis<eta,则令实际扩展步长Eta等于距离Dis;否则,实际扩展步长Eta等于初始扩展步长eta;
步骤3.3、根据下式采样点和目标点的位置及其权重系数进行矢量合成,生成新节点xpnew:
步骤3.4、判断新节点xpnew和最近点xnearest的连线是否与障碍物间发生碰撞:
如果发生碰撞,则根据下式采样点和目标点的位置及其权重系数进行矢量合成,重新生成新节点xpnew:
否则,跳转步骤4;
式中,xpnew表示新节点,xnearest表示目标点,xgoal表示目标点,P为权重系数,Eta为实际扩展步长。
3.根据权利要求2所述的基于RRT改进的移动机器人路径规划方法,其特征是,步骤3.1中,若当前扩展树中存在一个以上与随机采样点xrand距离最近的最近点时,则选择其中最先加入到当前扩展树的最近点作为最近点xnearest。
4.根据权利要求2所述的基于RRT改进的移动机器人路径规划方法,其特征是,步骤3.3中,根据当前扩展树的当前碰撞次数,给权重系数P进行赋值,确定强弱探索状态。
5.根据权利要求1所述的基于RRT改进的移动机器人路径规划方法,其特征是,步骤5的具体过程如下:
步骤5.1、将最近点xnearest赋值给当前最远祖先节点xreachest;
步骤5.2、判断当前最远祖先节点xreachest和新节点xpnew的连线是否与障碍物间发生碰撞:如果发生碰撞,则跳转步骤5.4;否则,将当前最远祖先节点xreachest的父节点赋值给当前最远祖先节点xreachest;
步骤5.3、判断当前最远祖先节点xreachest是否为起点xstart:如果是,则跳转步骤5.4;否则,跳转步骤5.2;
步骤5.4、判断最远祖先节点xreachest与起点xstart是否相同:若相同,则跳转步骤6;否则,将当前最远祖先节点xreachest赋值给当前通行点xallow,最远祖先节点xreachest的父节点赋值给当前停止点xforbid;
步骤5.5、获取当前通行点xallow和当前停止点xforbid的中点xmid,并判断新节点xpnew与中点xmid的连线是否与障碍物间发生碰撞:如果发生碰撞,则将中点xmid赋值给当前停止点xforbid;否则,将中点xmid赋值给当前通行点xallow;
步骤5.6、判断当前通行点xallow和当前停止点xforbid的距离是否大于设定的二分距离Ddichotomy:如果是,则跳转步骤5.5;否则跳转步骤5.7;
步骤5.7、获取当前通行点xallow和当前停止点xforbid的中点xmid,并判断最远祖先节点xreachest的父节点与中点xmid的连线是否与障碍物间发生碰撞:如果发生碰撞,则将中点xmid赋值给当前停止点xforbid;否则,将中点xmid赋值给当前通行点xallow;
步骤5.8、判断当前通行点xallow和当前停止点xforbid的距离是否大于设定的二分距离Ddichotomy:如果是,则跳转步骤5.7;否则跳转步骤5.9;
步骤5.9、判断当前通行点xallow与最远祖先节点xreachest是否相同:若相同,则将中点xmid作为新父节点xcreate;否则,新父节点xcreate为空。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310580071.2A CN116627132A (zh) | 2023-05-23 | 2023-05-23 | 基于rrt改进的移动机器人路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310580071.2A CN116627132A (zh) | 2023-05-23 | 2023-05-23 | 基于rrt改进的移动机器人路径规划方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116627132A true CN116627132A (zh) | 2023-08-22 |
Family
ID=87637685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310580071.2A Pending CN116627132A (zh) | 2023-05-23 | 2023-05-23 | 基于rrt改进的移动机器人路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627132A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117073689A (zh) * | 2023-10-16 | 2023-11-17 | 中国空气动力研究与发展中心空天技术研究所 | 一种无人机路径规划方法 |
-
2023
- 2023-05-23 CN CN202310580071.2A patent/CN116627132A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117073689A (zh) * | 2023-10-16 | 2023-11-17 | 中国空气动力研究与发展中心空天技术研究所 | 一种无人机路径规划方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113359746A (zh) | 基于改进双向RRT和Dijkstra融合算法的路径规划方法和装置 | |
CN116627132A (zh) | 基于rrt改进的移动机器人路径规划方法 | |
CN113359775B (zh) | 一种动态变采样区域rrt无人车路径规划方法 | |
CN111290390A (zh) | 一种基于天牛须搜索的智能船舶路径规划方法 | |
CN112902971B (zh) | 基于高斯采样和目标偏向引导的快速扩展随机树算法的机器人运动轨迹计算方法、电子设备及存储介质 | |
CN114282435B (zh) | 一种基于改进遗传算法的无人船航线规划方法 | |
CN114326735A (zh) | 一种基于改进蚁群算法的移动机器人路径规划方法 | |
CN113934206B (zh) | 移动机器人路径规划方法、装置、计算机设备和存储介质 | |
CN115570566A (zh) | 一种改进apf-rrt算法的机器人避障路径规划方法 | |
CN114877905A (zh) | 一种双向动态生长的Informed-RRT*路径规划方法 | |
CN116793375A (zh) | 一种基于双向搜索决策改进rrt的移动机器人路径规划方法 | |
CN116652932A (zh) | 一种基于改进式rrt*算法的机械臂自主避障方法 | |
CN116009527A (zh) | 基于动态场景结构膨胀感知的路径规划算法 | |
CN117419739B (zh) | 一种输煤系统巡检机器人的路径规划优化方法 | |
CN117824652A (zh) | 一种基于安全人工势场和rrt*的机器人路径规划方法 | |
CN111531550B (zh) | 运动规划方法及装置、存储介质、电子装置 | |
CN117434950A (zh) | 一种基于哈里斯鹰启发式混合算法的移动机器人动态路径规划方法 | |
CN116587272A (zh) | 一种冗余机械臂避障路径规划方法、设备及存储设备 | |
CN115946117B (zh) | 一种三维空间路径规划方法 | |
KR101585374B1 (ko) | 유전자 알고리즘을 이용한 로봇 경로 탐색 장치 및 방법 | |
Li et al. | Mobile Robot Path Planning Algorithm Based on Improved RRT* FN | |
CN115741686A (zh) | 一种基于变概率约束采样的机器人路径规划方法 | |
CN112393739B (zh) | 大面积环境中的改进型快速搜索随机树路径规划方法 | |
Yan et al. | Weighted multi-tree RRT algorithm for efficient path-planning of mobile robots | |
CN113515124A (zh) | 一种适用于移动机器人路径规划技术的融合模糊控制的改进蚁群算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |