当前位置: 首页 > 专利查询>南通大学专利>正文

基于A*算法和Open_Planner算法融合的路径规划方法技术

技术编号:37137765 阅读:32 留言:0更新日期:2023-04-06 21:39
本发明专利技术提供一种基于A*算法和Open_Planner算法融合的路径规划方法,应用于无人扫地车。全局路径规划无法对未知障碍物进行避障,局部路径规划容易陷入局部最优,因此将全局路径规划和局部路径规划融合在一起,形成混合算法完成最优路径规划。路径规划包括利用激光雷达对环境的扫描和对障碍物的识别检测。利用采样的点云数据制作高精度地图。通过对改进后的A*算法和Open_Planner算法进行融合,在高精度地图上规划一条最优或最短路径,并且能够实现避障效果。本发明专利技术能使无人扫地车在园区内安全、高效率地进行清扫工作,能够节省大量人力成本、提高大区域清扫效率、降低环卫工发生事故概率。事故概率。事故概率。

【技术实现步骤摘要】
基于A*算法和Open_Planner算法融合的路径规划方法


[0001]本专利技术属于复杂园区路径规划领域,具体为一种基于A*算法和Open_Planner算法融合的路径规划方法

技术介绍

[0002]随着科技的发展,无人车技术从无到有,到衍生到其他行业,越来越多的领域需要无人车代替传统人工劳动。给无人扫地车制定一条最优且安全的路径是重要前提之一,其主要目的是在存在未知障碍物或动态障碍物的环境中,找到一条起点到目标点的最优的无碰撞路径。传统全局路径规划算法虽然得到最优或最短路径,但是对于规划过程中出现的未知静态障碍物和动态障碍物不能进行躲避,局部路径规划算法能对行驶中出现的障碍物进行避障,但是容易陷入局部最优。因此,本专利技术将全局路径规划算法和局部路径规划算法融合,形成新的融合算法,既能得到最优路径,也能躲避路径中突然出现的障碍物。

技术实现思路

[0003]针对上述现有技术的不足,本专利技术提出一种基于改进后A*与Open_Planner算法融合的路径规划方法,包括如下步骤:
[0004]步骤1)利用激光雷达对周围环境进行扫描,对采样的点云数据进行k

means优化后的点云聚类;
[0005]步骤2)在给定起点和终点后,规划出一条从起点到终点的全局路径;
[0006]步骤3)提取全局路径中的关键节点,利用最小堆排序改进全局路径规划算法节点结构;
[0007]步骤4)将关键节点作为局部路径的目标点,输入地图信息、起始点信息、目标点信息、全局路径信息等;
[0008]步骤5)将全局路径规划算法与局部路径规划算法进行融合。在全局规划的路径基础上进行局部规划,实现动态避障。对最后的路线进行平滑度处理,使得车辆在行驶的时候更加流畅。
[0009]利用激光雷达进行环境扫描,在k

means算法执行聚类时,通过随机的方式选择初始质心,只有初始时通过随机方式产生的质心才是实际需要聚簇集合的中心点,而后面通过不断迭代产生新的质心很可能并不是在聚簇中的点。如果某些异常点距离质心相对较大时,很可能导致重新计算得到的质心偏离了聚簇的真实中心,其缺点是对于离群点是敏感的,因为一个具有极端值的对象会扭曲数据分布,因此考虑新的簇中心不选择均值而是选择簇内的某个对象,降低总得代价。
[0010]改进过程:首先为每个簇随意选择一个代表对象,剩余的对象根据其与每个代表对象的距离分配给最近的代表对象所代表的簇;然后反复用非代表对象来代替代表对象,以优化聚类质量。聚类质量用一个代价函数来表示。当一个中心点被某个非中心点替代时,除了未被替换的中心点外,其余各点被重新分配。为了减轻k均值算法对孤立点的敏感性,k
中心点算法不采用簇中对象的平均值作为簇中心,而选用簇中离平均值最近的对象作为簇中心。
[0011]算法的输入:包含n个对象的数据库和簇数目k;
[0012]算法的输出:
[0013](1)随机选择k个代表对象作为初始的中心点;
[0014](2)指派每个剩余对象给离它最近的中心点所代表的簇;
[0015](3)随机地选择一个非中心点对象y;
[0016](4)计算用y代替中心点x的总代价s;
[0017](5)如果s为负,则可用y代替x,形成新的中心点;
[0018](6)重复(2)(3)(4)(5),直到k个中心点不再发生变化。
[0019]A*算法流程如下所示:将起点start加入开启节点集合openset中。重复以下工作:
[0020]步骤1.当openset为空时,则结束程序,此时没有路径。
[0021]步骤2.寻找openset中F值最小的节点,设为当前节点当前节点。
[0022]步骤3.从openset中移出当前节点当前节点。
[0023]步骤4.在关闭节点集合closedset中加入当前节点当前节点。
[0024]步骤5.若当前节点为目标节点,则结束程序,由目标节点开始逐级追溯路径上每一个节点x的父节点x,直至回溯到起点,此时回溯的各节点即为路径。
[0025]步骤6.对于当前节点的8个方向的每一个邻居节点:如果邻居节点不可通过或者已经在CloseList中,则略过;如果邻居节点不在OpenList中,则加入OpenList中;如果邻居节点在OpenList中,若此路径G值比之前路径小,则邻居节点的父节点更新为当前节点,并更新G值、F值,G值表示从起点到当前节点的路径代价,H值表示不考虑不可通过区域,从当前节点到终点的路径代价,且F=G+H。
[0026]关键节点的定义:如果节点x是起点或目标节点,则x是关键节点;如果节点x有邻居节点,则x是关键节点;如果从当前节点x到y为对角线移动,并且y经过水平或垂直方向移动可以到达关键节点,则y也是关键节点。
[0027]改进后算法寻找节点流程:
[0028](1)若当前节点当前方向是直线方向:如果当前节点左后方不可走且左方可走,则沿当前节点左前方和左方寻找不在CloseList中的关键节点;如果当前节点当前方向可走,则沿当前节点当前方向寻找不在CloseList中的关键节点;如果当前节点右后方不可走且右方可走,则沿当前节点右前方和右方寻找不在CloseList中的关键节点。
[0029](2)若当前节点当前方向为对角线方向:如果当前节点当前方向的水平分量可走,则沿当前节点当前方向的水平分量寻找不在CloseList中的关键节点;如果当前节点当前方向可走,则沿当前节点当前方向寻找不在CloseList中的关键节点;如果当前节点当前方向的垂直分量可走,则沿当前节点当前方向的垂直分量寻找不在CloseList中的关键节点。
[0030]A*算法在OpenList表查找F值最小的节点需按先后顺序全部扫描,虽能完成全部的节点扫描,但速度明显较慢。因此利用堆排序对节点进行检索排序,堆排序是利用堆的性质进行的一种选择排序,采用二叉树中父节点和子节点之间的关系选择最小节点,使F值最小的节点放在列表顶端以便访问,提高搜索效率。堆排序将两个表中的节点数组调整为一个小根堆,小根堆的堆顶节点是堆中最小的节点。将小根堆的堆顶节点和无序区的最后一
个节点交换,将最后一个节点加入有序区,调整新的节点顺序,重复此操作直至无序区为空结束。
[0031]将A*算法中的关键节点作为Open_Planner算法的中间目标点,既满足了全局路径最优条件,又能实现局部路径动态避障。
[0032]利用Open_Planner进行局部避障。Open_Planner算法根据全路规划的路径,利用Roll

outs Generator得到局部多条采样轨迹,通过障碍物检测与代价函数Roll

outs Evalutor计算每条采样轨迹的归一化代价函数,代价最小且最优的轨迹线作为局部路径。Open_Planner局部规划分为两部分:Rollouts Gen本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于A*算法和Open_Planner算法融合的路径规划方法,其特征在于,包括以下步骤:步骤1)利用激光雷达对周围环境进行扫描,对采样的点云数据进行k

means优化后进行点云聚类;步骤2)在地图中给定起始点和目标点后,规划出一条从起起始点到目标点的全局路径;步骤3)提取全局路径中的关键节点,利用最小堆排序改进全局路径规划算法节点结构;步骤4)将关键节点作为局部规划算法的中间目标点,输入地图信息、起始点信息、目标点信息、全局路径信息;步骤5)将全局路径规划算法与局部路径规划算法进行融合;在全局规划的路径基础上进行局部规划,实现动态避障;并对最后的局部路线进行平滑度处理;步骤6)通过评估方法对多条局部路线进行评估,选取最优一条路线作为下一时刻的运动轨迹。2.根据权利要求1所述的一种基于A*算法和Open_Planner算法融合的路径规划方法,其特征在于,步骤1)中对采样的点云数据进行k

means优化后进行点云聚类的步骤包括:首先为每个簇随意选择一个代表对象,剩余的对象根据其与每个代表对象的距离分配给最近的代表对象所代表的簇;然后反复用非代表对象来代替代表对象,以优化聚类质量;聚类质量用一个代价函数来表示;当一个中心点被某个非中心点替代时,除了未被替换的中心点外,其余各点被重新分配;为了减轻k

means算法对孤立点的敏感性,k

means中心点不采用簇中对象的平均值作为簇中心,而选用簇中离平均值最近的对象作为簇中心;k

means算法的输入:包含n个对象的数据库和簇数目k;k

means算法的输出:(1)随机选择k个代表对象作为初始的中心点;(2)指派每个剩余对象给离它最近的中心点所代表的簇;(3)随机地选择一个非中心点对象y;(4)计算用y代替中心点x的总代价s;(5)如果s为负,则可用y代替x,形成新的中心点;(6)重复(2)(3)(4)(5),直到k个中心点不再发生变化。3.根据权利要求1所述的一种基于A*算法和Open_Planner算法融合的路径规划方法,其特征在于,所述全路路径规划算法为A*算法,A*算法寻找节点流程如下:(1)若当前节点当前方向是直线方向:如果当前节点左后方不可走且左方可走,则沿当前节点左前方和左方寻找不在CloseList中的关键节点;如果当前节点当前方向可走,则沿当前节点当前方向寻找不在CloseList中的关键节点;如果当前节点右后方不可走且右方可走,则沿当前节点右前方和右方寻找不在CloseList中的关键节点;(2)若当前节点当前方向为对角线方向:如果当前节点当前方向的水平分量可走,则沿当前节点当前方向的水平分量寻找不在CloseList中的关键节点;如果当前节点当前方向
可走,则沿当前节点当前方向寻找不在CloseList中的关键节点;如果当前节点当前方向的垂直分量可走,则沿当前节点当前方向的垂直分量寻找不在CloseList中的关键节点。4.根据权利要求3所述的一种基于A*算法和Open_Planner算法融合的路径规划方法,其特征在于,利用堆排序对节点进行检索排序,采用二叉树中父节点和子节点之间的关系选择最小节点,使F值最小的节点放在列表顶端以便访问,提高搜索效率;堆排序将两个表中的节点数组调整为一个小根堆,小根堆的堆顶节点是堆中最小的节点;将小根堆的堆顶节点和无序区的最后一个节点交换,将最后一个节点加入有序区,调整新的节点顺序,重复此操作直至无序区为空结束。5.根据权利要求1所述的一种基于A*算法和Open_Planner算法融合的路径规划方法,所述局部路径规划算法为Open_Planner算法。6.根据权利要求5所述的一种基于A*算法和Open_Planner算法融合的路径规划方法,其特征在于,利用Open_Planner进行局部避障;Open_Planner算法根据全路规划的路径,利用Roll

outs Generator得到局部多条采样轨迹,通过障碍物检测与代价函数Roll

outs Evalu...

【专利技术属性】
技术研发人员:施佺马永杰陈海龙平鹏刘禹凡周航
申请(专利权)人:南通大学
类型:发明
国别省市:

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

1