System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于改进A*算法与贝塞尔曲线的融合路径规划方法技术_技高网

一种基于改进A*算法与贝塞尔曲线的融合路径规划方法技术

技术编号:41337293 阅读:12 留言:0更新日期:2024-05-20 09:56
本发明专利技术提出了一种基于改进A*算法与贝塞尔曲线的融合路径规划方法,首先将障碍地图栅格化,再将栅格化的障碍地图导入至A*算法中,进行路径规划,检验算法可行性;然后在启发函数、搜索邻域两个方面对A*算法进行改进,减少扩展节点和路径包含节点;再对贝塞尔曲线进行轨迹优化,并基于四阶贝塞尔曲线进行局部路径规划;最终,将改进的A*算法与四阶贝塞尔曲线进行融合,在障碍地图中进行仿真,得到最终路径;本发明专利技术中改进融合算法在路径搜索节点数、节点平均搜索时间、路径距离及路径穿越障碍次数等方面更少,提高了路径搜索效率。

【技术实现步骤摘要】

本专利技术属于路径规划,具体是涉及一种基于改进a*算法与贝塞尔曲线的融合路径规划方法。


技术介绍

1、随着人类科技的不断进步,机器人也开始慢慢更多地走进了我们的工作与生活,来替代人类完成各种各样危险性高或者重复性强的工作,如无人驾驶、排爆排雷、家庭清扫、乃至航天探测等。为了提高它们完成上述这些任务的能力水平,除了需要机器人具备如较高的智能水平、鲁棒性、灵活性、一定的续航能力等,还有一个不能回避的技术要求,就是机器人的路径规划能力。在对月球、火星等的地外行星探测中,无人巡视器承担了不可或缺且至关重要的角色。在此类深空探测的任务中,由于距离遥远,地面人员难以对巡视器进行实时的遥控与监测,因此其控制频率一般非常低,这就要求其自身拥有一定的自主能力,能够自动感知周围环境,并规划出一条符合任务要求并且合理的路线,来完成既定的探测任务。

2、1964年,nils nilsson专利技术了一种基于启发式的方法来提高dijkstra算法的速度,这个算法被称为a1算法。1967年,bertram raphael对这个算法做了巨大的改进,这个算法被其称为a2算法,但该算法并没有表现出最优性。然后在1968年,peter e.hart提出了一个论点,证明当使用一致的启发式函数时a2算法表现是最优的。他还证明了新的a2算法是给定条件下可能的最佳算法。因此,他用kleene星型语法将新算法命名为以a开头并包含所有可能的版本号或a*的算法,*表示算法中的启发式功能。总的来说,a*算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是许多其他问题的常用启发式算法。a*算法通常情况下会与栅格法相结合,将确定环境离散化为多个网格后,设定网格属性,一般分为可通行和障碍物两种,在此基础上进行节点搜索并最终寻得路径。但a*算法在处理图中存在大量障碍物的情况下,可能会导致搜索时间较长,最终导致算法效率低下,此外,以上方法还存在寻得路径不平滑的问题。因此,需要提出一种基于改进a*算法与贝塞尔曲线的融合路径规划方法,以提高搜寻路径效率,并达到消除折线段和减小折线角度的目的。


技术实现思路

1、本专利技术包括以下步骤:

2、一种基于改进a*算法与贝塞尔曲线的融合路径规划方法,具体流程为:

3、s1:在进行路径规划之前,首先将地图上的连续空间转换为离散的栅格,即栅格化,以便于巡视器进行路径规划;

4、s2:将s1中栅格化的障碍地图导入至a*算法中,进行路径规划,得出最终路径,检验算法可行性;

5、s3:对a*算法进行改进,由于过多的扩展节点会消耗大量的计算资源,在保证规划出路径的同时,为提高搜索效率,考虑在启发函数、搜索邻域两个方面进行改进,减少扩展节点和路径包含节点;

6、s4:首先对贝塞尔曲线进行轨迹优化,对改进a*算法生成的路径所存在的尖锐拐点进行平滑处理,贝塞尔曲线上的点由该段曲线上的控制点严格控制,n次多项式的贝塞尔曲线由n+1个控制点确定;再基于四阶贝塞尔曲线进行局部路径规划,五个控制点即可确定四阶贝塞尔曲线,首先根据巡视器路径规划的要求求解五个控制点的平面坐标,再对四阶贝塞尔曲线进行参数化表示;

7、s5:将s3中改进的a*算法与四阶贝塞尔曲线进行融合,在障碍地图中进行仿真,得到最终路径。

8、进一步的,步骤s1将障碍地图栅格化主要包括以下步骤:

9、(1)对输入点云进行直通滤波,去除离群点和异常点,获取限定高度范围的数据;

10、(2)对滤波后的点云进行半径滤波,去除部分孤立点,使点云更加平滑;

11、(3)将滤波后的点云投影到二维平面上,生成二维栅格地图;

12、进一步的,步骤s2采用a*算法进行路径规划主要包括以下步骤:

13、(1)建立openlist和closelist两个列表并且初始化,openlist存放搜索的所有节点,closelist存放已经确定的路径节点;

14、(2)起点以及周围8个邻域节点放入openlist中,起点作为父节点,将起点从openlist中删除,存入closelist;

15、(3)通过评价函数,在openlist中选取最小代价的子节点作为新的父节点,将此节点从openlist中删除,存入closelist,并且以此父节点为起点搜索附近8个节点,评价函数公式为:

16、f(n)=g(n)+h(n)  (1)

17、式中,f(n)表示从起点到终点的估算路程,g(n)表示从起点到当前节点的实际路程,h(n)表示从当前节点到终点的最小估算路程;

18、(4)判断父节点附近的子节点是否已经存在于openlist中,若在,比较代价,选择代价小的节点存入openlist;否则,追加到openlist中;

19、(5)反复循环步骤(3)和(4),直到找到终点,倒推所有的父节点,画出路径。

20、进一步的,步骤s3改进a*算法主要包括以下步骤:

21、(1)进行动态加权,对于启发函数g(n),a*扩展的节点越多,运行越慢,h(n)与g(n)的关系对a*的影响主要表现如下:

22、h(n)<g(n),搜索点最多,范围大,效率低,可以得到最优解;

23、h(n)=g(n),效率最高,可以得到最优解并且计算速度快;

24、h(n)>g(n),搜索点少,范围小,效率高,但不能保证最优解;

25、h(n)>>g(n),a*算法变成广度优先算法(bfs),不能保证最优解;

26、由上述关系可知,启发函数h(n)拥有不同的权重,路径规划与搜索速度都有不同的效果,在路径规划过程中,权衡路径与搜索时间可以提高搜索效率,在不同环境下,选取合适的权重使a*算法在搜索速度和得到最优路径之间做出抉择,因此,改进后a*算法的评价函数为:

27、f(n)=g(n)+w(n)·h(n)  (2)

28、式中,w(n)为权重系数;w(n)随着h(n)的变化而变化,离目标点越近而越小,当h(n)较大,w(n)也较大,此时a*算法会尽快向终点扩展,搜索速度虽然很快但可能错过最优路径;当h(n)较小,w(n)也较小,此时的a*算法倾向于搜索最优路径而减慢搜索速度;

29、(2)改变搜索方式,将原来的8邻域增加到24邻域,将8搜索方向扩展为24搜索方向,根据目标点与当前节点的相对位置关系,确定目标点所在象限,舍弃不必要的节点以减少计算量。

30、进一步的,步骤s4优化贝塞尔曲线并进行局部路径规划主要包括以下步骤:

31、(1)对贝塞尔曲线进行轨迹优化,贝塞尔曲线上点的方程为:

32、

33、式中,pi为线段第i个控制点的坐标信息;bi,n(t)为伯恩斯坦多项式,是贝塞尔曲线参数方程的基函数,定义为:

34、

35、式中,为二项式系数;

本文档来自技高网...

【技术保护点】

1.一种基于改进A*算法与贝塞尔曲线的融合路径规划方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于改进A*算法与贝塞尔曲线的融合路径规划方法,其特征在于,所述的步骤S1包括以下步骤:

3.根据权利要求1所述的一种基于改进A*算法与贝塞尔曲线的融合路径规划方法,其特征在于,所述的步骤S2包括以下步骤:

4.根据权利要求1所述的一种基于改进A*算法与贝塞尔曲线的融合路径规划方法,其特征在于,所述的步骤S3包括以下步骤:

5.根据权利要求1所述的一种基于改进A*算法与贝塞尔曲线的融合路径规划方法,其特征在于,所述的步骤S4包括以下步骤:

6.根据权利要求1所述的一种基于改进A*算法与贝塞尔曲线的融合路径规划方法,其特征在于,所述的步骤S5包括以下步骤:

【技术特征摘要】

1.一种基于改进a*算法与贝塞尔曲线的融合路径规划方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于改进a*算法与贝塞尔曲线的融合路径规划方法,其特征在于,所述的步骤s1包括以下步骤:

3.根据权利要求1所述的一种基于改进a*算法与贝塞尔曲线的融合路径规划方法,其特征在于,所述的步骤s2包括以下步骤:

4.根据权...

【专利技术属性】
技术研发人员:徐辛超张冰玉
申请(专利权)人:辽宁工程技术大学
类型:发明
国别省市:

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

1