基于RRT的运动规划算法综述
基于改进RRT路径规划算法

No.2Feb.2021第2期2021年2月组合机床与自动化加工技术Modular Machine Tool & Automatic Manufacturing Technique文章编号:1001 -2265(2021)02 -0022 -03DOI : 10.13462/j. .nki. mmtamt. 2021.02. 006基于改进RRT 路径规划算法*李金良,舒翰儒,刘德建,徐磊(山东科技大学机械电子工程学院,山东青岛266560)摘要:针对基本RRT 算法路径规划特点:树的扩展具有随机性,路径中存在冗余的节点,规划出的路径拐角多。
因此,提出一种改进的RRT 算法。
改进后的算法首先采用目标偏向策略,以一定的概率F 把目标点作为采样点进行随机树扩展,提高随机树向目标点的扩展的概率;其次,改变度量 函数,添加了角度约束,减少了路径规划中搜索的范围,以减少搜索时间;最后,通过贪心算法对路 径进行简化,并对简化后的节点采用三次B 样条曲线进行优化。
结果证明改进后的RRT 算法搜索 时间更少,搜索路径更短,平滑性更高。
关键词:RRT 算法;路径规划;目标偏向策略;三次B 样条曲线中图分类号:TH16 ;TG506 文献标识码:APatt Planning Algorittm Basen on Improven RRTLI Jin-liang &SHU Han-ru &LU De-jian ,XU Lei(Colleee of Mechanicd and Electronia Engineering , Shandong University of Sciencc and TechnoKgy , Qing dao Shandong , 366560& China )Abstrad;: Based on the basic RRT algorithm path planning fs W tcs : tree expansion is random , there are re dundant nodes in the path , and the planned path has many corners. Therefore & an improved RRT algorithmis proposed. The improved algorithm frst adoptr the taget bias strategy & and uses a certain probability P to take the target point as a sampling point for random tree expansion to improve the probability of the random he r expansion to the taget point. Second & the methc function is changed & and angula consWai.nW areadded to reduce The scope of the seach in path planning to reduce the seach time ; fnaiy & the path issimplified by a greedy algorithm & and the simplified nodes are optimized using a cubic B-spline curve. The resultr prove that the improved RRT algorithm has less seach time , fewer search paths & and higher smoohhne s .Key worp RRT algorithm ; path planning ; target bias shategy ; cubic B-spline curve0引言随着人工智能的不断推进,机器人技术得到了飞速的发展,智能化成为未来机器人领域的新航标。
基于改进RRT算法的移动机器人路径规划

基于改进RRT算法的移动机器人路径规划在科技的广阔舞台上,移动机器人如同一位优雅的舞者,其流畅的移动和精确的定位令人赞叹。
然而,这位舞者的舞台并非总是平坦无阻,障碍物的存在往往要求它进行复杂的路径规划。
此时,一种名为“快速扩展随机树”(RRT)的算法便显得尤为重要。
本文将探讨如何通过改进RRT算法来优化移动机器人的路径规划。
首先,让我们将RRT算法比作一位勇敢的探险家,他在未知的丛林中寻找一条通往目的地的安全之路。
传统的RRT算法就像这位探险家手持一张粗略的地图,虽然能够指引方向,但在遇到复杂地形时却显得力不从心。
因此,我们需要为这位探险家升级他的装备——即改进RRT算法。
改进的第一步是增强其感知能力。
我们可以引入环境感知技术,使算法能够更准确地识别周围的障碍物。
这就好比为探险家配备了一副高清望远镜,让他能够洞察远方的危险,从而提前规避。
接下来,我们需要考虑速度与安全性的平衡。
在动态环境中,移动机器人不仅要快速到达目的地,还要确保沿途的安全。
因此,我们可以借鉴“贪吃蛇”游戏中的策略:既要像蛇头一样敏锐地捕捉前方的机会,又要像蛇尾一样稳健地处理背后的风险。
这种策略在改进的RRT算法中体现为对生长速度和碰撞检测的双重优化。
此外,我们还可以通过机器学习等技术来提升算法的决策能力。
这就像是给探险家配备了一位智慧的向导,他能够根据以往的经验来预测未来的风险,并给出最优的建议。
然而,即使是最先进的算法也无法完全避免意外情况的发生。
因此,在设计路径规划系统时,我们必须考虑到异常处理机制。
这就像为探险家准备了一个紧急救援包,一旦遇到不测,能够迅速采取措施以保障安全。
最后,我们要认识到,无论是在实验室中还是在实际应用中,理论与实践之间总是存在差距。
因此,持续的测试和优化是必不可少的。
这就如同探险家在出发前必须对装备进行反复检查一样,只有确保一切就绪,才能踏上征途。
综上所述,通过增强感知能力、平衡速度与安全性、提升决策能力以及建立异常处理机制等措施,我们可以有效地改进RRT算法,使其更好地服务于移动机器人的路径规划。
基于改进的RRT^()-connect算法机械臂路径规划

随着时代的飞速发展,高度自主化的机器人在人类社会中的地位与作用越来越大。
而机械臂作为机器人的一个最主要操作部件,其运动规划问题,例如准确抓取物体,在运动中躲避障碍物等,是现在研究的热点,对其运动规划的不断深入研究是非常必要的。
机械臂的运动规划主要在高维空间中进行。
RRT (Rapidly-exploring Random Tree)算法[1]基于随机采样的规划方式,无需对构型空间的障碍物进行精确描述,同时不需要预处理,因此在高维空间被广为使用。
近些年人们对于RRT算法的研究很多,2000年Kuffner等提出RRT-connect算法[2],通过在起点与终点同时生成两棵随机树,加快了算法的收敛速度,但存在搜索路径步长较长的情况。
2002年Bruce等提出了ERRT(Extend RRT)算法[3]。
2006年Ferguson等提出DRRT (Dynamic RRT)算法[4]。
2011年Karaman和Frazzoli提出改进的RRT*算法[5],在继承传统RRT算法概率完备性的基础上,同时具备了渐进最优性,保证路径较优,但是会增加搜索时间。
2012年Islam等提出快速收敛的RRT*-smart算法[6],利用智能采样和路径优化来迫近最优解,但是路径采样点较少,使得路径棱角较大,不利于实际运用。
2013年Jordan等通过将RRT*算法进行双向搜索,提出B-RRT*算法[7],加快了搜索速度。
同年Salzman等提出在下界树LBT-RRT中连续插值的渐进优化算法[8]。
2015年Qureshi等提出在B-RRT*算法中插入智能函数提高搜索速度的IB-RRT*算法[9]。
同年Klemm等结合RRT*的渐进最优和RRT-connect的双向搜基于改进的RRT*-connect算法机械臂路径规划刘建宇,范平清上海工程技术大学机械与汽车工程学院,上海201620摘要:基于双向渐进最优的RRT*-connect算法,对高维的机械臂运动规划进行分析,从而使规划过程中的搜索路径更短,效率更高。
三维空间 rrt算法 python-详细解释说明

三维空间rrt算法python-概述说明以及解释1.引言1.1 概述在计算机科学和机器人学领域中,三维空间具有广泛的应用和研究价值。
三维空间是指由三个坐标轴(x、y和z)构成的空间,它可以用来描述和模拟真实世界中的物体和环境。
Rapidly-Exploring Random Trees (RRT) 算法是一种用于路径规划的重要算法,它可以在复杂的环境中找到可行的路径,并且具有快速、高效、自适应的特点。
RRT算法通过随机采样和不断生长树结构的方式搜索可行解,其主要思想是通过对搜索空间的随机探索,逐渐扩展搜索树,直到达到目标位置。
本文主要介绍三维空间和RRT算法的概念、特点以及在路径规划中的应用。
同时,我们还将针对Python语言进行讨论,介绍如何使用Python 实现RRT算法,并提供相应的方法和步骤。
通过阅读本文,读者将了解到三维空间的基本概念和特点,以及RRT 算法的原理和应用。
此外,对于具有Python编程基础的读者来说,我们还提供了使用Python实现RRT算法的详细方法和步骤,以帮助读者更好地理解和应用RRT算法。
最后,本文将总结三维空间和RRT算法的重要性,评价Python实现RRT算法的优势和挑战,并展望未来在三维空间RRT算法研究方面的发展。
无论是在实际应用中还是在学术研究领域,三维空间和RRT算法都具有重要的价值和潜力,值得我们深入探索和研究。
1.2文章结构1.2 文章结构本文将按照以下结构进行论述:第一部分是引言,包括概述、文章结构和目的。
在这一部分中,我们将介绍本文的主要内容和研究目的,为读者提供一个清晰的导读。
第二部分是正文,共分为三个小节。
2.1 三维空间的概念和特点。
我们将首先介绍三维空间的基本概念,包括其坐标系、表示方法以及在现实世界中的应用。
同时,我们将探讨三维空间相较于二维空间的特点和挑战。
2.2 RRT算法的原理和应用。
在这一小节中,我们将详细介绍RRT (Rapidly-exploring Random Tree)算法的原理和应用。
三次b样条曲线rrt算法详解

三次b样条曲线rrt算法详解三次B样条曲线是一种常用于曲线插值和平滑的数学方法。
而RRt 算法是一种基于树结构的路径规划算法。
本文将详细介绍三次B样条曲线和RRt算法的原理及应用。
我们先来了解一下三次B样条曲线。
B样条曲线是一种由多个控制点确定的曲线,它具有良好的局部性质和平滑性。
而三次B样条曲线是指B样条曲线中每个控制点的自由度为3,即可以确定一个点的位置和两个方向。
这使得三次B样条曲线更加灵活和精确。
三次B样条曲线的构造过程可以简单描述为以下几步:首先,根据给定的控制点,确定每个控制点的位置和方向。
然后,通过插值或逼近的方法,计算出曲线上的所有点的坐标。
最后,根据需要,可以对曲线进行平滑处理或者进行局部调整。
三次B样条曲线的应用非常广泛。
在计算机图形学中,它常用于曲线的绘制和形状的变形。
在工程设计中,它常用于曲线的建模和路径规划。
在动画制作中,它常用于曲线的运动轨迹生成。
总之,三次B样条曲线是一种非常重要和实用的数学工具。
接下来,我们来介绍一下RRt算法。
RRt算法是一种基于树结构的路径规划算法,它通过不断扩展树结构来搜索最优路径。
RRt算法的基本思想是从起点开始,随机采样一个点,然后通过最近邻搜索找到树中离该点最近的节点。
然后,利用运动模型或者其他方法,将该点与最近节点连接起来,形成一条新的路径。
不断重复这个过程,直到找到终点或者达到搜索次数的限制。
RRt算法的优点是可以在高维空间中搜索最优路径,适用于复杂环境和非线性约束。
它也可以用于动态环境下的路径规划,通过不断更新树结构来适应环境的变化。
此外,RRt算法还具有较好的实时性能,可以在较短的时间内找到可行路径。
RRt算法的应用非常广泛。
在机器人领域,它常用于自主导航和路径规划。
在无人机领域,它常用于航迹规划和避障。
在虚拟现实和游戏开发中,它常用于角色行为的规划和控制。
总之,RRt算法是一种非常重要和实用的路径规划算法。
三次B样条曲线和RRt算法是两种不同领域的数学方法,分别用于曲线插值和路径规划。
工业机器人动态运动轨迹规划优化

工业机器人动态运动轨迹规划优化工业机器人动态运动轨迹规划优化是指在工业机器人的运动过程中,通过合理的规划和优化,使得机器人能够更加高效、精准地完成任务。
这对于提高生产效率、降低成本以及保证产品质量具有重要意义。
本文将从动态运动轨迹规划、优化算法以及应用案例三个方面对工业机器人动态运动轨迹规划优化进行探讨。
一、动态运动轨迹规划动态运动轨迹规划是指在机器人运动过程中,根据实时传感器数据和环境信息,对机器人的运动轨迹进行规划和调整,以适应实际工作环境和任务需求。
常用的动态运动轨迹规划方法有RRT算法、遗传算法以及最优控制算法等。
1. RRT算法RRT(Rapidly-exploring Random Trees)算法是一种基于树结构的路径规划算法。
它通过在搜索树中随机采样节点,并将新采样点与搜索树中的最近邻节点连接,逐步生成可行路径。
RRT算法的特点在于探索速度快、适用于复杂动态环境下的规划问题。
2. 遗传算法遗传算法是一种模拟自然进化过程的优化算法。
它通过使用遗传操作(选择、交叉、变异)对候选解进行迭代演化,从而找到最优解。
在动态运动轨迹规划中,遗传算法可以用于在一定时间窗口内搜索到合适的轨迹。
3. 最优控制算法最优控制算法是一种通过优化目标函数来计算最优控制信号的方法。
在动态运动轨迹规划中,可以将机器人的控制信号作为优化变量,并以最小化运动误差或能耗为目标函数,通过求解最优化问题来得到最佳的运动轨迹。
二、优化算法工业机器人动态运动轨迹规划的优化算法目的是通过改进和优化规划方法,提高机器人的运动效率和精度。
常用的优化算法有粒子群优化算法、模拟退火算法以及遗传算法等。
1. 粒子群优化算法粒子群优化算法是一种模拟鸟群或鱼群行为的优化算法。
它通过模拟群体中个体间的经验交流和信息共享,逐步寻找最优解。
在机器人动态运动轨迹规划中,粒子群优化算法可以用于搜索最优的轨迹以及优化路径参数。
2. 模拟退火算法模拟退火算法是一种随机搜索算法,通过模拟金属冶炼过程中的退火过程,以概率性的方式逃离局部最优解并寻找全局最优解。
基于RRT算法的无人驾驶车辆路径规划方法研究

DOI:10.3969/j.issn.2095-509X.2020.08.024基于RRT算法的无人驾驶车辆路径规划方法研究刘㊀芙1ꎬ陈宏明2(1.淮阴商业学校实训处ꎬ江苏淮安㊀223003)(2.淮阴工学院应用技术学院ꎬ江苏淮安㊀223003)摘要:基于快速扩展随机树(RRT)算法对无人驾驶车辆路径规划问题进行研究ꎮ对无人驾驶车辆路径规划进行了定义ꎬ建立了车辆的运动学模型ꎬ给出了车辆路径规划的标准ꎮ结合人工势场法提出了RRT和人工势场联合的无人驾驶车辆路径规划算法ꎬ并从平均采样节点数㊁路径规划时间㊁规划路径平均长度㊁规划路径最大曲率4个方面与RRT算法进行了对比ꎬ仿真结果表明ꎬRRT与人工势场联合算法的性能优于RRT算法ꎮ关键词:无人驾驶车辆ꎻ路径规划ꎻRRT与人工势场联合算法中图分类号:U461㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:2095-509X(2020)08-0109-04㊀㊀汽车保有量增加一方面易导致交通更加拥堵ꎬ另一方面导致交通事故频发ꎮ所有的交通事故中高达90%以上的事故都是由驾驶员驾驶不规范导致的ꎬ因此加大对无人驾驶车辆的研发ꎬ避免不规范的驾驶以减少交通事故的发生就变得至关重要ꎮ无人驾驶车辆路径规划是无人驾驶车辆研发的核心ꎬ其任务是规划一条从起始点到目标点的可行驶路径[1]ꎮ无人驾驶车辆在行驶的过程中必须满足车辆的可行性约束条件ꎬ做到不和静态㊁动态障碍物碰撞ꎬ车辆在不同的驾驶场景下保持良好的性能ꎬ具有良好的环境适应性ꎮ本文对快速扩展随机树(RRT)算法进行研究ꎬ并对其进行改进ꎬ将RRT算法应用于无人驾驶车辆的路径规划中ꎬ为无人驾驶车辆路径规划提供了一种新的方法ꎮ1㊀无人驾驶车辆路径规划技术1.1㊀无人驾驶车辆路径规划定义无人驾驶车辆路径规划就是已知无人驾驶车辆的起始位置㊁目标位置㊁车辆的姿态㊁障碍物的分布ꎬ在此基础上规划出不与环境障碍物碰撞㊁满足车辆运动学约束的路径ꎮ本文主要讨论基于二维平面的无人驾驶车辆路径规划问题ꎮ定义无人驾驶车辆的状态为qꎬq=[xꎬyꎬθ]ꎬ其中ꎬx为车辆质心横坐标位置ꎬy为车辆质心纵坐标位置ꎬθ为车身的横摆角ꎮ无人驾驶车辆从起始位置到目标位置所有状态构成的状态空间为Cꎬ车辆的初始状态为qiꎬ车辆的目标状态为qgꎬ整个二维平面的状态空间为Ωꎬ障碍物的状态空间为Qoꎬ不和障碍物碰撞的无人驾驶车辆状态空间为Qfꎬ则:Qf=ΩQo(1)无人驾驶车辆路径规划问题就是在Qf中去寻找车辆初始状态qi到车辆目标状态qg的关系ꎬ即:C[qiꎬqg]ɪQf(2)同时ꎬ无人驾驶车辆路径规划的每一个状态必须满足车辆的可行性约束条件ꎮ1.2㊀无人驾驶车辆运动学建模无人驾驶车辆在车速比较低时可以通过自行车模型来进行车辆的运动学建模ꎬ所建立的无人驾驶车辆运动学模型如图1所示[2]ꎮ其中ꎬ(XrꎬYr)为无人驾驶车辆后轴轴心的坐标ꎬ(XfꎬYf)为无人驾驶车辆前轴轴心的坐标ꎬφ为无人驾驶车辆车身横摆角ꎬδf为无人驾驶车辆前轮偏角ꎬvr为无人驾驶车辆后轴轴心的速度ꎬvf为无人驾驶车辆前轴轴心的速度ꎬl为无人驾驶车辆的轴距ꎬR为无人驾驶车辆后轮的转弯半径ꎮ由运动学关系可知:vf=̇Xfcos(φ+δf)+̇Yfsin(φ+δf)vr=̇Xrcosφ+̇Yrsinφ{(3)收稿日期:2020-02-18基金项目:淮安市科技计划课题(HAG05056)作者简介:刘芙(1973 )ꎬ女ꎬ讲师ꎬ主要研究方向为控制工程ꎬlifu3@126.com.901 2020年8月㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀机械设计与制造工程㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀Aug.2020第49卷第8期㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀MachineDesignandManufacturingEngineering㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀Vol.49No.8图1㊀无人驾驶车辆运动学模型㊀㊀不考虑无人驾驶车辆在运动过程中的侧滑ꎬ那么:̇Xᶄfsin(φ+δf)=̇Yᶄfcos(φ+δf)̇Xᶄrsinφ=̇Yᶄrcosφ{(4)根据无人驾驶车辆前轮和后轮的几何关系可知:Xf=Xr+lcosφYf=Yr+lsinφ{(5)联立式(3)~(5)ꎬ可得无人驾驶车辆的横摆角速度ω为:ω=̇φ=vrltanδf(6)由理论力学和数学知识可知:R=vr/ωδf=arctanlR{(7)在对无人驾驶车辆路径规划的过程中必须对无人驾驶车辆的最小转弯半径进行限制ꎬ即所规划路径的曲率要小于曲率的最大值ꎬ曲率k的计算公式为:k=1R(8)1.3㊀无人驾驶车辆路径规划标准无人驾驶车辆路径规划的核心是规划一条满足车辆行驶安全㊁车辆运动学约束等硬要求ꎬ同时兼顾对环境的适应性㊁最优性㊁实时性㊁舒适性等软要求的路径ꎮ安全性就是要确保车辆和环境中障碍物不发生碰撞ꎬ满足车辆运动学约束就是规划路径中弯道的曲率满足车辆最小转弯半径限制ꎮ环境的适应性就是规划的路径适应不同的环境路径ꎬ常常采用平均路径长度来衡量ꎮ最优性就是确保路径规划所需要的时间最短ꎬ所规划路径的平均长度最短等ꎮ不同的路径规划问题其最优性指标不同ꎮ实时性就是无人驾驶车辆可以快速对实时路况给予响应ꎬ往往用平均路径规划时间来衡量ꎮ舒适性是所规划路径要尽量平滑ꎬ其所规划路径中弯道的最大曲率要比较小ꎮ本文采用平均采样点数目㊁路径规划时间㊁平均路径长度和最大曲率4个指标来衡量无人驾驶车辆路径规划算法的优劣ꎮ2㊀无人驾驶车辆路径规划的RRT算法研究2.1㊀RRT算法1998年ꎬLavalle首次提出了RRT算法ꎮ采用RRT算法进行无人驾驶车辆路径规划步骤如下[3]:1)以无人驾驶车辆的起始状态qi为起始节点来初始化随机树Tꎬ同时在Qf空间中随机采样一个节点为qrꎮ借助于距离评估函数对随机树T中的节点进行遍历ꎬ找出距离随机树T最近的节点qnꎮ2)从节点qn向节点qr前进单位步长ꎬ生成新的节点qnewꎮ如果节点qn和节点qnew之间没有和障碍物发生碰撞ꎬ那么将其添加到随机树T中ꎻ反之ꎬ不对随机树T进行修改ꎮ3)重复步骤2)ꎬ直到新的节点中包含有车辆的目标状态qg为止ꎮ通过回溯法就可以在随机树T中获得从起始状态qi到目标状态qg的规划路径ꎮ无人驾驶车辆路径规划的RRT算法流程图如图2所示ꎮ图2㊀无人驾驶车辆路径规划RRT算法流程图㊀㊀通过对RRT算法的分析可知ꎬ采用RRT算法虽然可以在各种复杂环境下进行无人驾驶车辆的路径规划ꎬ但是该算法是一种随机搜索算法ꎬ存在一定的不足ꎮ例如同样的环境每次规划的路径却011 2020年第49卷㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀机械设计与制造工程㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀不相同ꎬ即可重复性较差ꎻ寻找最优路径的能力较差ꎮ另外由于需要在整个Qf区域内采点来随机寻找最近的节点ꎬ计算量较大ꎬ导致路径规划的计算时间增加ꎮ2.2㊀RRT算法改进2.2.1㊀RRT算法改进思路针对RRT算法的不足ꎬ对RRT算法进行改进ꎮ在对随机树的节点进行拓展时以一定概率选择目标点作为采样点的策略ꎬ加快在随机树中拓展到目标节点qg的速度ꎻ采用新的碰撞检测算法来快速检测新的节点和新的边是否与环境中的障碍物发生了碰撞ꎬ以确保所规划的路径是安全的[4]ꎻ针对算法中所产生的折线段进行剪枝处理ꎬ在很大程度上使生成的规划路径长度大大缩短ꎬ使车辆由起始位置到目标位置的不必要转向大大减少ꎬ以确保无人驾驶车辆路径的舒适性ꎮ另外ꎬ为了提高无人驾驶车辆路径规划的成功率ꎬ使路径规划的效率大大提升ꎬ可以采取无人驾驶车辆初始位置和目标位置双向拓展的办法ꎮ2.2.2㊀人工势场法的拓展域生成人工势场法由Khatib提出ꎬ其将无人驾驶车辆的运动轨迹看作是在虚拟力场中的受力运动ꎬ环境中的障碍物对无人驾驶车辆产生排斥力ꎬ目的地对无人驾驶车辆产生吸引力ꎬ在排斥力和吸引力的共同作用下ꎬ无人驾驶车辆由起始点向目标点运动[5]ꎮ常用的引力场函数为:Ua=12ζ1ρ21(9)式中:Ua为吸引力ꎻζ1为引力尺度因子ꎻρ1为无人驾驶车辆当前所在节点和目标节点之间的距离ꎮ常用的排斥力场函数为:Ur=12ζ2(1ρ2-1ρ0)2㊀ρ2ɤρ00㊀㊀ρ2>ρ0{(10)式中:Ur为排斥力ꎻζ2为排斥力尺度因子ꎻρ2为无人驾驶车辆当前所在节点与障碍物之间的距离ꎻρ0为环境中每一个障碍物的影响半径ꎮ在排斥力和吸引力的共同作用下ꎬ无人驾驶车辆在环境中所受到的力U为吸引力Ua与排斥力Ur之和[6]ꎬ即:U=Ua+Ur(11)2.2.3㊀RRT算法和人工势场联合路径规划采用RRT算法对无人驾驶车辆进行路径规划时ꎬ在整个环境空间中节点的选择具有很大的盲目性ꎬ这使得单纯利用RRT算法进行无人驾驶车辆的路径规划效率比较低ꎬ同时所得到的规划路线比较长ꎬ需要车辆进行多次转向操作ꎬ不能够满足车辆的行使舒适性和环境适应性要求ꎮ基于此ꎬ将人工势场引入其中ꎬ利用人工势场法来获得拓展域ꎬ这样可以在很大程度上提升RRT算法对无人驾驶车辆路径规划的效率ꎮRRT和人工势场联合的无人驾驶车辆路径规划算法流程如图3所示ꎮ图3㊀RRT和人工势场联合的车辆路径规划算法流程3㊀无人驾驶车辆路径规划仿真分析3.1㊀仿真试验本文采用MATLAB搭建含障碍物的试验环境ꎬ采用仿真试验来对比RRT算法和RRT与人工势场联合算法在对无人驾驶车辆路径规划方面的性能ꎮ利用MATLAB软件构建500mˑ500m大小的正方形区域ꎬ在正方形区域内构建有3个障碍物ꎬ如图4中所示ꎬ其中黑色区域为障碍物所在区域ꎮ设定无人驾驶车辆的起始位置坐标为(10mꎬ10m)ꎬ目标位置坐标为(490mꎬ490m)ꎮ采用RRT算法对无人驾驶车辆进行路径规划ꎬ路径规划结果如图4(a)所示ꎬ图中长条线条为RRT算法规划的路径ꎬ分支线条为采用RRT算法生产的随机扩展树ꎻ采用RRT与人工势场联合算法对无人驾驶车辆进行路径规划ꎬ路径规划结果如图4(b)所示ꎬ图中灰色区域内的分支路径为RRT与人工势场联合算法规划的路径ꎮ3.2㊀仿真结果对比分析㊀㊀为了更好地对比RRT算法和RRT与人工势111 2020年第8期㊀㊀㊀㊀㊀㊀㊀㊀㊀刘芙:基于RRT算法的无人驾驶车辆路径规划方法研究图4㊀两种算法路径规划结果场联合算法在无人驾驶车辆路径规划方面的性能ꎬ对两种算法的平均采样节点数㊁路径规划时间㊁规划路径平均长度㊁规划路径最大曲率进行对比ꎬ结果见表1ꎮ表1㊀两种算法结果对比平均采样节点数路径规划时间/ms平均路径长度/m路径最大曲率/m-1RRT算法496.7310.2307.80.81RRT与人工势场联合算法232.1151.3176.40.13㊀㊀由表1可见ꎬRRT与人工势场联合算法的平均采样节点数㊁路径规划时间均比RRT算法减少了约50%ꎬ平均路径长度缩短接近50%ꎬ所规划路径的最大曲率也只有RRT算法的约1/6ꎮ由此说明ꎬ采用RRT与人工势场联合算法对无人驾驶车辆进行路径规划ꎬ其性能要远远优于RRT算法ꎬRRT与人工势场联合算法的效率更高ꎬ对实际的无人驾驶车辆路径规划更为有效ꎮ4㊀结束语车辆无人驾驶可以在很大程度上降低由于人工不规范驾驶造成的交通事故数量ꎮ本文对无人驾驶车辆路径规划问题进行了研究ꎬ在RRT算法的基础上提出了RRT与人工势场联合的无人驾驶车辆路径规划算法ꎬ仿真试验也验证了该算法可大大缩短规划路径的长度ꎬ减少无人驾驶车辆从起始点到目标点过程中许多不必要的转向ꎬ提高了规划路径的车辆舒适性ꎮ本文的研究对于无人驾驶车辆的路径规划具有一定的参考价值ꎮ参考文献:[1]㊀彭晓燕ꎬ谢浩ꎬ黄晶.无人驾驶汽车局部路径规划算法研究[J].汽车工程ꎬ2020(1):1-10.[2]㊀刘恩海ꎬ高文斌ꎬ孔瑞平ꎬ等.改进的RRT路径规划算法[J].计算机工程与设计ꎬ2019ꎬ40(8):2253-2258. [3]㊀刘紫燕ꎬ张杰.改进RRT算法的室内移动机器人路径规划[J].计算机工程与应用ꎬ2020ꎬ56(9):190-197. [4]㊀董敏ꎬ陈铁桩ꎬ杨浩.基于改进RRT算法的无人车路径规划仿真研究[J].计算机仿真ꎬ2019ꎬ36(11):96-100. [5]㊀韩知玖ꎬ吴文江ꎬ李孝伟ꎬ等.一种改进的动力学约束人工势场法[J].上海大学学报(自然科学版)ꎬ2019ꎬ25(6):879-887.[6]㊀刘博ꎬ罗霞ꎬ朱健.无人驾驶车辆自动避障路径规划仿真研究[J].计算机仿真ꎬ2018ꎬ35(2):105-110.ResearchonpathplanningmethodofdriverlessvehiclebasedonRRTalgorithmLiuFu1ꎬChenHongming2(1.TrainingOfficeꎬHuaiyinCommercialSchoolꎬJiangsuHuaianꎬ223003ꎬChina) (2.SchoolofAppliedTechnologyꎬHuaiyinInstituteofTechnologyꎬJiangsuHuaianꎬ223003ꎬChina)Abstract:Itstudiesthepathplanningproblemofdriverlessvehiclesbasedonthefast-extendedrandomtree(RRT)algorithm.Itgivesthedefinitionofdriverlessvehiclepathplanningꎬestablishesthevehiclekinematicsmodelꎬanddescribesthestandardofvehiclepathplanning.CombinedwiththeartificialpotentialfieldmethodꎬitproposesapathplanningalgorithmforunmannedvehiclesbasedonRRTandartificialpotentialfield.Theal ̄gorithmiscomparedwithRRTalgorithmfromfouraspectsofaveragesamplingnodenumberꎬpathplanningtimeꎬaveragelengthofplannedpathandmaximumcurvatureofplannedpath.Thesimulationresultsshowthattheper ̄formanceofthejointalgorithmofRRTandartificialpotentialfieldarebetterthanthatofRRTalgorithm.Keywords:driverlessvehicleꎻpathplanningꎻjointalgorithmofRRTandartificialpotentialfield 2112020年第49卷㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀机械设计与制造工程㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀。
基于RRT算法的自由飞行空间机器人避碰运动规划

的 条 件 。从 这 两 个 定 律 出发 ,经 过 一 系 列 的推 导 ,
可 得 出 自 由飞 行 空 间 机 器 人 的运 动 学 模 型
6 K( g O,) () 1
式 中 0一 空 间 机 器 人 基 座 的 姿 态 角 ;
口 关 节 角 向量 。 一 公 式 () 示 了 F S 1表 F R系 统 运 动 时 ,手 臂 运 动 对
摘 要 :自由 飞 行 空 问 机 器 人 在 微 重 力环 境 下 的非 完 整性 运 动学 特 性 是其 运 动规 划 问 题 的 特 殊 难 点 。为此 ,
针 对 空 问 机 器 人 的 非 完 整 特 性 .提 出 了一 个 基 于快 速 随机 扩 展树 ( R 算 法 的避 碰 运 动规 划 算 法 。经 过 实 R T) 验 表 明 .该 算 法 可 以 有 效 地 求解 自由 飞行 空 问 机器 人 的避 碰 运 动 规 划 问题 。 关 键 词 : 自动 控 制 技 术 ;运 动规 划 ;理 论 研 究 ;非 完 整 性 R T R ;运 动 学 模 型 ;空 问 机 器 人 中 图 分 类 号 :TP 4 . 2 26 文 献标 识码 :A 文 章 编 号 :1 O — 1 8 2 0 ) 3 0 4 i 0 O 3 8 X(0 6 0 - 0 7 3
图 1 自 由 飞 行 空 间 机 器 人
终 的手 臂 的关 节 角 向量 相 同 ,其 基 座 的姿 态 角 也 不 同。 内外 的 研 究 者 对 F S 国 F R系统 的非 完 整 性 特 性 给
1 运 动 学 建 模
自由飞 行 空 间 机 器 人 系 统 在 微 重 力 环 境 下 运 动 时 ,必 须 同 时 满 足 动 量 守 恒 定 律 和 角 动 量 守 恒 定 律
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于RRT的运动规划算法综述1.介绍在过去的十多年中,机器人的运动规划问题已经收到了大量的关注,因为机器人开始成为现代工业和日常生活的重要组成部分。
最早的运动规划的问题只是考虑如何移动一架钢琴从一个房间到另一个房间而没有碰撞任何物体。
早期的算法则关注研究一个最完备的运动规划算法(完备性指如果存在这么一条规划的路径,那么算法一定能够在有限时间找到它),例如用一个多边形表示机器人,其他的多边形表示障碍物体,然后转化为一个代数问题去求解。
但是这些算法遇到了计算的复杂性问题,他们有一个指数时间的复杂度。
在1979年,Reif则证明了钢琴搬运工问题的运动规划是一个PSPACE-hard问题[1]。
所以这种完备的规划算法无法应用在实际中。
在实际应用中的运动规划算法有胞分法[2],势场法[3],路径图法[4]等。
这些算法在参数设置的比较好的时候,可以保证规划的完备性,在复杂环境中也可以保证花费的时间上限。
然而,这些算法在实际应用中有许多缺点。
例如在高维空间中这些算法就无法使用,像胞分法会使得计算量过大。
势场法会陷入局部极小值,导致规划失败[5],[6]。
基于采样的运动规划算法是最近十几年提出的一种算法,并且已经吸引了极大的关注。
概括的讲,基于采样的运动规划算法一般是连接一系列从无障碍的空间中随机采样的点,试图建立一条从初始状态到目标状态的路径。
与最完备的运动规划算法相反,基于采样的方法通过避免在状态空间中显式地构造障碍物来提供大量的计算节省。
即使这些算法没有实现完整性,但是它们是概率完备,这意味着规划算法不能返回解的概率随着样本的数量趋近无穷而衰减到零[7],并且这个下降速率是指数型的。
快速扩展随机树(Rapidly-exploring Random Trees,RRT)算法,是近十几年得到广泛发展与应用的基于采样的运动规划算法,它由美国爱荷华州立大学的Steven M. LaValle 教授在1998年提出,他一直从事RRT算法的改进和应用研究,他的相关工作奠定了RRT算法的基础。
RRT算法是一种在多维空间中有效率的规划方法。
原始的RRT算法是通过一个初始点作为根节点,通过随机采样,增加叶子节点的方式,生成一个随机扩展树,当随机树中的叶子节点包含了目标点或进入了目标区域,便可以在随机树中找到一条由树节点组成的从初始点到目标点的路径。
快速扩展随机树(RRT)也是一种数据结构和算法,其设计用途是用来有效搜索高维非凸空间,可应用于路径规划、虚拟现实等研究。
RRT是一种基于概率采样的搜索方法,它采用一种特殊的增量方式进行构造,这种方式能迅速缩短一个随机状态点与树的期望距离。
该方法的特点是能够快速有效的搜索高维空间,通过状态空间的随机采样点,把搜索导向空白区域,从而寻找到一条从起始点到目标点的规划路径。
它通过对状态空间中的采样点进行碰撞检测,避免了对空间的建模,能够有效的解决高维空间和复杂约束的路径规划问题。
RRT 算法适合解决多自由度机器人在复杂环境下和动态环境中的路径规划问题[8]。
与其他的随机路径规划方法相比,RRT算法更适用于非完整约束和多自由度的系统中[9]。
相比于最原始的RRT算法的一些缺点,又提出了许多改进的RRT算法,例如:(1)基于概率P的RRT为了加快随机树到达目标点的速度,简单的改进方法是:在随机树每次的生长过程中,根据随机概率(0.0到1.0的随机值p)来选择生长方向是目标点还是随机点。
2001年,LaValle在采样策略方面引入RRT GoalBias与RRT GoalZoom,RRT GoalBias方法中,规划器随机采样的同时,以一定概率向最终目标运动;RRTGoalZoom方法中,规划器分别在整个空间和目标点周围的空间进行采样[10]。
(2)RRT_ConnectRRT_Connect即连接型RRT,2000年由LaValle教授和日本东京大学的Kuffner教授联合提出。
该算法一开始同时从初始状态点和目标状态点生长两棵随机树,每一次迭代过程中,其中一棵树进行扩展,尝试连接另一棵树的最近节点来扩展新节点。
然后,两棵树交换次序重复上一迭代过程[10]。
这种双向的RRT技术具有良好的搜索特性,相比原始快速扩展随机树算法,在搜索速度、搜索效率有了显著提高。
(3)RRT*2010年,MIT的Sertac和Emilio证明了在基于采样的运动规划算法中,随着RRT算法采样点趋向于无穷,其收敛到最优解的概率为0,为此他们提出了渐进最优(asymptotic optimality)的RRT*算法[11]。
该算法在原有RRT算法基础上,改进了父节点选择的方式,采用代价函数来选取扩展节点邻域内最小代价的节点为父节点,同时,每次迭代后都会重新连接现有树上的节点,从而保证计算复杂度和渐进最优解。
2.定义2.1位姿空间运动规划的状态空间是应用于机器人变换的集合,称为位姿空间(configuration space),引入了C-空间、C-空间障碍物、自由空间等一系列概念,Latombe在他的著作[12]中对路径规划的文献进行了总结统一。
对于路径规划问题,位姿空间的引入是一次划时代的革命,一旦清楚的理解了位姿空间的概念和意义,许多诸如几何学、运动学等各种以不同形式出现的运动规划问题都可以采用相同的规划算法加以解决,这种层次的抽象是非常重要的。
下面介绍一些概念:定义2.1位姿(configuration)机器人一个位姿指的是一组相互独立的参数集,它能完全确定机器人上所有的点在工作空间W中的位置,这些参数用来完整描述机器人在工作空间W中的状态。
一个位姿通常表示为带有位置和方向参数的一个向量(vector),用q表示。
定义2.2自由度(degrees of freedom)机器人的自由度定义为机器人运动过程中决定其运动状态的所有独立参数的数目,即q的维数。
定义2.3位姿空间(configuration space)位姿空间是机器人所有可能位姿组成的集合,代表了机器人所有可能的运动结果,称为C-空间,也可简记为C。
定义2.4距离函数(distance function)C-空间中的距离函数定义为该空间中的一个映射ρ:(q1,q2)∈C2→ρ(q1,q2)。
记为ρ=||q1−q2||.2.2障碍物空间和自由空间假设在工作空间W:W=R d中包含所有的障碍物区域O:O⊂W,定义A为机器人,A 的具体的含义可以理解为从机器人位姿空间到机器人工作空间的一一映射,它将位姿空间中的任意一个点映射成2维或者3维工作空间中机器人各刚体段的位姿状态。
定义2.5障碍物空间(obstacle space)表达式C obs={q∈C|A(q)⋂O=∅}定义了位姿空间当中的障碍物空间C obs⊆C。
位姿空间中的无碰撞区域通常称为自由空间,可用C obs与C集合运算定义(A\B表示集合A与B的差集)定义2.6自由空间(free space)表达式定义了C free=C\C obs位姿空间中的自由空间。
定义2.7路径长度(path cost)定义pc:∑Cfree →R>0为一条路径的非负长度。
∑Cfree表示所有自由空间中的路径集合。
2.3运动规划的基本定义用C-空间的思路,运动规划问题在概念上变得非常简单:任务是在中寻找一条从起始位姿到目标位姿的路径。
运动规划问题的示意图如图 2.1所示,图中整个水滴表示位姿空间C=C free⋃ C obs.图2.1 运动规划示意图有了上述概念,C-空间中的运动规划问题可描述如下:(1)定义一个工作空间W;(2)定义W中的障碍物区域O和机器人A;(3)所有可能的机器人位姿构成C-空间,并且划分为C obs和C free;(4)指定机器人初始位姿q init和目标目标位姿q goal;(5)可行规划(Feasible planning)一个完整的算法必须计算一条连续的路径τ:[0,1]→C free,使得τ(0)=q init,τ(1)=q goal或者正确报告这样的路径不存在。
(6)最优规划(Optimal planning)在所有的可行的规划的路径里面花费代价最少的一条路径minτ∈∑C freepc(τ),或者报告这样的路径不存在。
3.算法在介绍RRT算法之前,先说明一下路径的表示方法。
我们用一个有向图来表示路径G=(V,E),那么一条可行的路径就是一个顶点的序列(v1,v2 ,v3 ,…,v n),v1=q init,v n= q goal.同时(v i,v i+1)∈E,1≤i≤n−1表示边。
这样子问题就变成了使用采样到的点来扩展图G,使之能找到一条从初始节点到达目标节点的路径。
这里可以看到两个算法,一个是算法的主体部分,还有一个是RRT算法的Extend函数,主要是如何利用从采样到点扩展图G。
下面详细介绍每一步骤:(1)初始化顶点为q init,边集E;(2)进入while循环,迭代N次停止;(3)设置了为新的图G;(4)Sample(i)采样一个新的点q rand;(5)利用新的点扩展图G。
原始RRT算法Extend函数的步骤:(1)把V,E暂存(2)Nearst(G,q)函数表示求图G中离q欧式距离最近的点q nearst;一般情况下会采用kd-tree来存储图中的节点,这样会节约搜索的时间。
(3)Steer(q nearst,q)表示存在一个q new点它将最小化||q new−q||但是||q new−q nearst||<η, η为我们人为设定的一个值,其实就是往q方向步进了一段距离;(4)ObstacleFree(q nearst,q new)进行碰撞检测,然后判断这一段(q nearst,q new)路径,是否与障碍物发生碰撞即判断路径是否属于C free中;(5)把q new加到顶点集中;(6)把(q nearest,q new)加入到边集中;(7)返回扩展后的图G’。
从算法中可以看出,RRT的扩展能够趋向于位姿空间中没有扩展到的部分。
这就决定了RRT一开始能够快速的进行扩展,而且能够形成对空间的全面覆盖。
RRT顶点是分配在位姿空间中是一致均匀的,如果路径存在,在顶点数目一定的条件下是肯定可以找到一条路径的。
当然RRT算法也有一些缺点,它是一种纯粹的随机搜索算法对环境类型不敏感,当C中包含大量障碍物和狭窄通道约束时,算法的收敛速度慢,效率会大幅下降。
为了加快随机树到达目标点的速度,简单的改进方法是:在随机树每次的生长过程中,根据随机概率(0.0到1.0的随机值p)来选择生长方向是目标点还是随机点。
算法主要的改变就是在于Extend 函数时,增加了一个ChoseTarget 函数。
这个函数不会全都使用q rand 作为扩展的方向,而是一个概率P 来选择进行扩展,以1-P 的概率选择q goal 来进行扩展。