一种基于RRT算法改进的车辆规划算法制造技术

技术编号:24328412 阅读:43 留言:0更新日期:2020-05-29 18:48
一种基于RRT算法改进的车辆规划算法,属于路径规划领域,包括两个阶段,第一阶段找到一定数量的引导根节点。首先,已知在地图上的障碍物的数量、分布情况,起始节点与目标节点,通过计算和碰撞检测得到引导根节点的集合,该引导根节点分布在起始节点指向目标节点的路径上,具有导向性且不与周围的障碍物发生碰撞。第二阶段,将起始节点、目标节点和引导根节点放入一个根节点的集合中,逐个开始扩展节点,引导树的生长,当两棵树的叶子节点的最近距离小于等于步长,就将两棵树合并为一棵树。当所有的树合并成为一棵树,即同时含有起始节点与目标节点,则寻路成功。本发明专利技术在原有的RRT路径规划算法上进行改进,使得在复杂路况也可以快速寻径,快速收敛。

An improved vehicle planning algorithm based on RRT algorithm

【技术实现步骤摘要】
一种基于RRT算法改进的车辆规划算法
本专利技术属于路径规划领域,涉及一种快速扩展随机树算法(Rapidly-exploringRandomTree,RRT)的改进,尤其涉及一种基于RRT算法改进的车辆规划算法MT-RRT。
技术介绍
近几年无人驾驶技术发展的非常迅速,路径规划作为其中的重点技术,也得到了广泛的关注与发展。车辆的路径规划是为了在复杂的环境中为车辆从起始位置到目标位置规划出一条可以通过的与障碍物没有碰撞的路径。目前的路径规划算法的种类有很多种,常用的主要包括蚁群算法,A*算法,人工势场法,遗传算法以及RRT算法等等。关于RRT算法的改进目前也有非常多种,Urmson等人提出具有节点偏置概率的hRRT算法,使扩展更具有目的性增强节点的利用率。Frazzoil提出了具有渐进最优性的RRT*算法,基于均匀的采样,在RRT节点扩展基础上添加随机几何图形与剪枝算法优化理论,确保随机树的节点可以收敛到当前最优值,但是节点的计算量很大。除此之外还有SRRT算法,RRT-Connect算法等。以上对RRT算法的改进分别从对随机点的采样是否均匀,步长是否动态变化,扩展的方向做出了不同程度的改进,来提高算法的性能。还有一种针对RRT算法的改进主要是通过与其他路径规划算法的融合,比如与A*算法,与人工势场算法的融合。文章提出的MT-RRT算法计算一定数目的根节点来生成局部生成树,提高算法的导向性,增强节点的利用率,加快算法的收敛速度。
技术实现思路
针对RRT算法节点利用率低,区域搜索重复度高,缺少目的性以及收敛速度慢的问题,本文提出了一种基于RRT算法进行改进的MT-RRT算法,该方法的全称为基于多向的快速扩展随机树(Multi-TargetingRapidly-exploringRandomTree,MT-RRT)。即通过计算在目标路径上的一定数量的无碰撞引导根节点,生成多棵局部生成树最终合并为一棵树找到一条可通过的路径。为了达到上述目的,本专利技术采用的技术方案为:一种基于RRT算法改进的车辆规划算法MT-RRT,用于解决车辆的路径规划问题,即从起始位置向目标位置规划出一条无碰撞的路径,步骤如下:步骤一:已知障碍物的数量、分布情况、起始节点与目标节点,判断起始节点到目标节点的距离是否小于步长和是否与障碍物发生碰撞:如果距离小于步长并且没有与周围障碍物发生碰撞,直接连接起始节点与目标节点,此时直接连接起始节点,与目标节点,寻路完成。否则调用计算引导根节点的方法(collisionZ(xinit,xgoal,Map)方法)得到一定数目的引导根节点,放入集合中。该方法具体步骤如下:(1.1)调用collisionZ(xinit,xgoal,Map)方法,输入起始节点目标节点,地图上障碍物的数量,分布情况。连接起始节点xinit与目标节点xgoal得到直线l,计算直线的斜率与截距。(1.2)设置一个间断值Δx1,从xinit开始到xgoal以横坐标每隔Δx1的距离为单位,开始对直线l上的点进行碰撞检测,碰撞的n个障碍物,分别求出其碰撞中心点(xm1,xm2,xm3...xmn),每个碰撞中心分别做直线l的垂线(l1,l2,l3...ln),在每一条垂线上设置间断值Δx2,以Δx2为间隔进行碰撞检测,得到第一个无碰撞的点,放进引导根节点的集合newRoot中。步骤二:将起始节点xinit,目标节点xgoal,与newRoot中的引导根节点放入树列表TreeList中,在while循环中,调用程序中生成多棵生长树的方法(moreTree(step,TreeList,Map)方法)来扩展TreeList中的每一棵树,该方法需要输入步长step,根节点列表TreeList,以及地图有关信息,引导多棵树的生长直到连接成为一棵树。方法的具体步骤如下:(2.1)计算TreeList中树的个数m,利用for循环,从1到m遍历TreeList中每一棵树。(2.2)在遍历当前树Tnum时,分别遍历m棵树中除当前树Tnum以外的其他树中的每一个节点,得到与当前树最近的树的序号T_near以及树T_near中相距最近的节点的T_n。(2.3)随机生成一个随机样本点,设置一个阈值Bias(0<Bias<1),使得新产生的节点朝向最近的树具有目标偏向性的进行扩展,对新节点进行碰撞检测,无碰撞则加入到树中。(2.4)判断新节点与最近的树的根节点并且进行碰撞检测,如果距离小于步长,则合并两棵树。将最近的树中的所有节点添加到当前树中,并在树的列表中删除最近的树,退出当前的for循环。(2.5)在while循环中,计算树的列表TreeList中树的个数是否为1,如果是,则结束循环,根据树中的节点进行寻路,找到一条从起始节点到目标节点的路径;如果不为1,则继续进行下一次迭代,返回步骤2.1。本专利技术的有益效果为:本专利技术提供的基于RRT算法改进的MT-RRT算法,随机采样的节点需要的数量较低,收敛的平均速度更快,路径更短。此专利技术具有良好的实际意义,不仅进一步提升了车辆路径规划的效率,而且在面对复杂的环境,比如障碍物密集,通过狭窄通道等情况下依然可以取得良好的实验效果。附图说明图1为本专利技术的流程图。图2为本专利技术求引导根节点的具体过程。图3为本专利技术与RRT算法在运行时间上的对比实验结果。图4为本专利技术与RRT算法在节点总数上的对比实验结果。具体实施方式下面结合技术方案和附图,给出本专利技术实施过程的详细描述。本专利技术基于RRT算法改进的车辆路径规划算法,主要包括两个阶段,第一阶段找到一定数量的引导根节点。首先,已知在地图上的障碍物的数量、分布情况,起始节点与目标节点,通过计算和碰撞检测得到引导根节点的集合,该引导根节点分布在起始节点指向目标节点的路径上,具有导向性且不与周围的障碍物发生碰撞。第二阶段,将起始节点、目标节点和引导根节点放入一个根节点的集合中,逐个开始扩展节点,引导树的生长,当两棵树的叶子节点的最近距离小于等于步长,就将两棵树合并为一棵树。当所有的树合并成为一棵树,即这棵树中同时含有起始节点与目标节点,则寻路成功。所述MT-RRT算法的总体流程图如附图1所示。第一步,首先要已知地图有关信息,包括障碍物的大小,形状(主要知道障碍物的最大半径ri),数量,分布情况,以及起始节点startNode和目标节点endNode。通常情况下,地图的障碍物类型一般分为少量大型的障碍物,密集型障碍物以及狭窄通道等类型。首先要判断起始节点到目标节点的距离是否小于步长,并调用碰撞检测方法判断是否与周围障碍物发生碰撞。如果没有发生碰撞并且小于步长,直接连接起始节点与目标节点,寻路完成(如果没有引导根节点的产生,程序结束)。否则调用计算引导根节点的方法collisionZ(startNode(1,1:2),endNode(1,1:2),Map)方法得到引导根节点的集合,具体步骤如下:(1.1)调用本文档来自技高网...

【技术保护点】
1.一种基于RRT算法改进的车辆规划算法MT-RRT,其特征在于,步骤如下:/n步骤一:已知障碍物的数量、分布情况、起始节点与目标节点,判断起始节点到目标节点的距离是否小于步长和是否与障碍物发生碰撞:如果距离小于步长并且没有与周围障碍物发生碰撞,直接连接起始节点与目标节点,此时直接连接起始节点,与目标节点,寻路完成;否则调用计算引导根节点的方法得到一定数目的引导根节点,放入集合中;该方法具体步骤如下:/n(1.1)输入起始节点目标节点,地图上障碍物的数量,分布情况;连接起始节点x

【技术特征摘要】
1.一种基于RRT算法改进的车辆规划算法MT-RRT,其特征在于,步骤如下:
步骤一:已知障碍物的数量、分布情况、起始节点与目标节点,判断起始节点到目标节点的距离是否小于步长和是否与障碍物发生碰撞:如果距离小于步长并且没有与周围障碍物发生碰撞,直接连接起始节点与目标节点,此时直接连接起始节点,与目标节点,寻路完成;否则调用计算引导根节点的方法得到一定数目的引导根节点,放入集合中;该方法具体步骤如下:
(1.1)输入起始节点目标节点,地图上障碍物的数量,分布情况;连接起始节点xinit与目标节点xgoal得到直线l,计算直线的斜率与截距;
(1.2)设置一个间断值Δx1,从xinit开始到xgoal以横坐标每隔Δx1的距离为单位,开始对直线l上的点进行碰撞检测,碰撞的n个障碍物,分别求出其碰撞中心点(xm1,xm2,xm3...xmn),每个碰撞中心分别做直线l的垂线(l1,l2,l3...ln),在每一条垂线上设置间断值Δx2,以Δx2为间隔进行碰撞检测,得到第一个无碰撞的点,放进引导根节点的集合newRoot中;
步骤二:将起始节点xinit,目标节点xgoal,与newRoot中的引导根节点放入树列表TreeList中,在while循环中,调用程序中生成多棵生长树的方法来扩展TreeList中的每一棵树,...

【专利技术属性】
技术研发人员:吴迪郑亚楠王欣胡顺奇
申请(专利权)人:大连理工大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1