一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种改进A-Star算法的移动机器人路径规划方法与流程

2021-10-09 02:07:00 来源:中国专利 TAG:机器人 算法 路径 改进 规划

一种改进a

star算法的移动机器人路径规划方法
技术领域
1.本发明涉及机器人控制领域,尤指一种改进a

star算法的移动机器人路径规划方法。


背景技术:

2.移动机器人路径规划,最终目的是寻找到一条可以从起始点到目标点的路径,但前提是可以保证移动机器人在向目标点移动的时候不会与障碍发生碰撞。另外,在满足这项目标的前提之下,我们还需解决如何花最短的时间、最低的成本去寻找距离最近的最优路径。
3.常用二维栅格地图最短路径规划的算法有dijkstra算法、最佳优先搜索算法、a

star算法、floyd算法等等。其中dijkstra算法是由荷兰计算机科学家狄克斯特拉于1959年提出的,是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法的主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。虽然dijsktra算法在任何复杂的情况下最终都可以寻找到一个最短路径。由于dijkstra算法采用的是一种发散式的搜索,所以此算法的空间复杂度和时间复杂度会比较高。为解决dijkstra算法的问题,在1968年nils john nilsson、peter e.hart和bertram raphael共同发明了a

star搜索算法,为人工智能领域带来了重大的影响。
4.a

star算法该算法综合了bfs(广度优先搜索)和dijkstra算法的优点,在进行启发式搜索提高算法效率的同时,可以保证找到一条最优路径(基于评估函数)。所谓启发式搜索,就在于当前搜索结点往下选择下一步结点时,可以通过一个启发函数来进行选择,选择代价最小的结点作为下一个搜索结点。a

star算法简便快速.同时,dijkstra的搜索深度在某些情形下也容易变得不适用。a

star算法便是为了这些情形而出现的,可以算是对dijkstra算法和dfs的一种改良。但是其应用于移动机器人领域时,a

stara

star算法利用启发式函数,在工作区域的每个节点上计算启发式函数值得到最优解。如果起始点与目标点距离比较远,并且环境复杂,a

star算法需要从起始点开始对每个扩展节点检测,直至扩展到目标点。因此会产生巨大的计算量,从而导致路径规划时间过长。此外在环境复杂,障碍物过多的情况下,由于a

star算法自身特性,每次只寻找代价最小的节点,故需要存储大量的待扩展结点,导致内存过大。
5.而且针对二维栅格地图,如何让移动机器人更加高效地找出最优路径,一直是个本领域技术人员需要解决的问题。


技术实现要素:

6.为解决上述问题,本发明主要目的在于,提供一种改进a

star算法的移动机器人路径规划方法,以便解决使用a

star算法路径规划时效率较低的问题。
7.为达上述目的,本发明提供了一种改进a

star算法的移动机器人路径规划方法,针对a

star算法运行中,只是单一地向目标点扩展节点,为提升算法效率,本发明提出了一
种基于启发信息扩展节点的a

star算法与分治策略相结合的方法来优化a

star算法。通过在起始点和目标点中间选取第三节点,从而生成四棵探索树扩展结点,同时在扩展过程中规定避障规则,以此来提升扩展节点的效率,进而提升路径寻找速度。
8.本发明一种改进a

star算法的移动机器人路径规划方法采取的技术方案为:在起始点与目标点之间找寻一个中间点作为第三节点,从而生成四棵探索树同时扩展结点,使移动机器人路径规划方法同时从起始点、中间点以及目标点扩展四条搜索树同时寻找最优路径以提高算法在路径规划时的效率。
9.进一步的,该方法还设有避障规则,在扩展时遇到障碍可以快速做出应对方案。
10.进一步的,实现避障规则步骤可为:
11.(1)在求出第三节点之后,在第三节点扩展之前对第三节点采取障碍检测,后判断第三节点是否存在于障碍物之中,若存在与障碍之中转向步骤(2),若不存在障碍物之内则转向步骤(3);
12.(2)若第三节点存在于障碍物之内,则直接舍弃第三节点,使起始点与目标点分别作为目标点与起始点的目标点,按照a

star算法原则向各自目标点扩展,分别为扩展树t1、t2,t2扩展节点直到与t1相遇或与自身目标点相遇整个算法停止;
13.(3)若第三节点存在于障碍物之外,则向四个方向扩展节点,起始点向第三节点扩展为扩展树t1,第三节点向起始点扩充为扩展树t2,第三节点向目标点扩展为扩展树t3,目标点向第三节点扩展为扩展树t4;扩展树t2扩展节点与t1相遇或与自身目标点相遇停止,扩展树t4与t3相遇或与自身目标点相遇停止。
14.较佳的,本发明估值函数中,h(n)代价值是可使用曼哈顿距离,切比雪夫距离或欧几里得距离计算。
15.本发明有益效果在于,本发明主要是针对移动机器人在二维栅格地图下,使用a

star算法路径规划时效率较低的问题,提出了基于a

star的改进算法。该算法采用了在起始点与目标点之间找寻一个中间点作为第三节点,使得算法能够同时从起始点、中间点以及目标点扩展四条搜索树同时寻找最优路径,以此来提高算法在路径规划时的效率。此外还为该算法添加了避障规则,使该算法能够更快地应对复杂空间下的路径规划。最终使移动机器人在复杂情况下更加快速地找出最优路径。
附图说明
16.图1为用于移动机器人路径规划的a

star算法避障搜索示意图;
17.图2为移动机器人路径规划时当前点选择下一点时寻找步骤示意图;
18.图3为本发明的一种改进a

star算法的移动机器人路径规划方法中的第三节点示选择意图;
19.图4为本发明的一种改进a

star算法的移动机器人路径规划方法的第三节点存在于障碍之中时的算法示意图;
20.图5为本发明的一种改进a

star算法的移动机器人路径规划方法的第三节点未处于障碍之中时的算法示意图;
21.图6为本发明的一种改进a

star算法的移动机器人路径规划方法的算法流程图。
具体实施方式
22.下面通过一具体实施例,并结合附图,对本发明的技术方案做进一步具体的说明。
23.为本发明的技术方案能得到充分的理解,现对a

star算法简要介绍如下:
24.当a

star算法应用于移动机器人路径规划时,a

star算法致力于全局路径规划,根据给定的目标位置和全局地图进行总体路径规划,在导航中使用a

star算法计算出机器人到目标位置的最优路线,作为机器人的全局路线。
25.a

star算法的应用主要是将地图虚拟化,并且将其划分为许多小方块,后用二维数组来表示地图,最后遵循最小代价原则进行路径规划。具体过程为从起点开始,遵循扩展原则,不断向目标点扩展结点,计算各个已探栅格节点的代价值,更新节点的状态,直至搜索到目标点后停止,并且在扩展的同时,记录最小代价节点,最终按照所记录的节点获得最优路径。在这一过程中,a

star算法、dijkstra算法和bfs算法流程基本相同,主要不同点在于代价函数不同。a

star算法是图搜索算法中最受欢迎的选择之一,其综合了dijkstra算法和bfs算法的优点,其运用自己独有的启发函数,公式一为a

star算法启发函数,其使得a

star算法相对灵活,并且能用于多种多样的情形之中。
26.f(n)=g(n) h(n)
27.(公式一)
28.其中,n为路径中的栅格节点;g(n)为到达当前点最短路径代价函数,h(n)为到达目标点最短直线路径代价函数。
29.在a

star算法的估值函数中,h(n)代价值是可使用曼哈顿距离,切比雪夫距离或欧几里得距离计算。本发明的一具体实施例采用的是曼哈顿距离作为带价值。
30.设当前节点坐标为(xi,yi),目标节点为(xn,yn),公式二为当前节点与目标节点横线距离,公式三为当前点与目标节点列距离,公式四为h(n)为起始点到终止点代价距离,其中zxdj为直线距离。
31.x
h
=|(xn

xi)|
32.(公式二)
33.y
h
=|yn

yi|
ꢀꢀꢀ
(公式三)
34.h(n)=zxdj*(x
h
y
h
)
ꢀꢀꢀ
(公式四)
35.如图1所示,为搜索区域,其中节点墙为障碍物节点,空白节点为可走节点。图2为当前点选择下一点时寻找步骤,假设设直线代价(zxdj)为10,斜线代价为(xxdj)14,如图2所示,右下角的代价函数最小,故下一节点坐标为(3,4),以此类推,如果碰到墙,则按照之前设定的遇障规则,不将障碍物作为考虑范围之内;直到最后的到达目标点停止,获得最短路径,如图1所示,折线连接的路径代表寻找到的最短路径。
36.本发明的一种改进a

star算法的移动机器人路径规划方法,核心在于改进a

star算法。以下实施例用于说明本发明,但不用来限制本发明的范围。
37.虽然a

star算法扩展节点速度相比于dijkstra算法和bfs算法有大幅度提升,但在无人机避障、无人驾驶等一些需要很高灵敏度的领域仍然存在规划效率略低的问题。考虑到以上原因,本发明提出了四向a

star算法,主要设计理念是以空间换取时间,其中融合了一些分治策略,并且是在传统a

star算法的启发函数规则下扩展节点。
38.对a

star算法提出的改进主要是:
39.1、首先是通过公式将第三节点的坐标计算出来,基于a

star算法扩展原则,使算法实现四个扩展树同时进行,以达到加倍a

star算法的扩展的效果。
40.2、其次在此算法中加入避障规则,使其在判断第三节点状态的情况下,快速做出决断,以此来提高算法的效率,提高找到最优路径的速度。
41.为使本发明的所述算法实现往四个目标点同时扩展,需要提前选择一个第三节点。因此其中第1、点中的第三点选择方式如下:
42.将提前设定的起始点和目标点按照公式五,公式六算出第三节点的坐标,假设起始点坐标为(x1,y1),目标点坐标为(x2,y2),第三节点坐标为(x3,y3)。
43.如图3所示,中间的一个填充方格为第三节点31,其计算公式为公式五和公式六:
44.x3=(x1 x2)/2
ꢀꢀꢀ
(公式五)
45.y3=(y1 y2)/2
ꢀꢀꢀ
(公式六)
46.另外在计算出第三节点后:鉴于有时会遇到复杂环境,使得此算法运行过程中会遇到有障碍物的情况,本发明进一步设置了避障原则,所遇到障碍物状态主要包括如下两种情况:1)第三节点在障碍物节点之中时以及2)第三节点不在障碍物节点之中两种情况。
47.因此本发明的第2点中的各种避障原则分别说明如下:
48.(1)在求出第三节点之后,在第三节点扩展之前对第三节点进行障碍检测后判断第三节点是否存在于障碍物之中,若存在于障碍之中转向步骤(2),若不存在障碍物之内则转向步骤(3);
49.(2)若第三节点存在于障碍物节点之中,则直接舍弃第三节点,使起始点与目标点分别作为目标点与起始点的目标点,按照a

star算法原则向各自目标点扩展,分别为扩展树t1、扩展树t2,扩展树t2扩展节点直到与自身目标点相遇或与扩展树t1相遇整个算法停止;
50.(3)若第三节点不存在障碍物节点中,则交替向四个方向扩展节点,起始点向第三节点扩展为t1,第三节点向起始点扩充为t2,第三节点向目标点扩展为t3,目标点向第三节点扩展为t4;t2扩展节点直到与自身节点相遇或与t1扩展节点相遇扩展停止,t4同样直到遇到自身节点或与t3扩展节点相遇扩展停止;
51.2.3当第三节点失效时
52.当检测出第三节点存在于障碍之中,设起始点向目标点扩展t1,目标点向起始点扩展t2。基于a

star算法启发函数,t1,t2交替扩展,当t2向起始点扩展,直至与t1相遇或与起始点相遇则停止扩展,与此同时,当t3向目标点扩展节点,直至与t4相遇或与自身目标点相遇则停止扩展。如图4所示,其中t1向第三节点扩展节点,t2扩展路径,最终在坐标(6,5)会合;直至与t2扩展路径的扩展点会合停止。
53.2.4第三节点未失效
54.设起始点向第三节点扩展为t1,第三节点向起始点扩充为t2,第三节点向目标点扩展为t3,目标点向第三节点扩展为t4。若第三节点不处于障碍之中,则t2向起始点扩展,t1向第三节点扩展。若t2在扩展途中遇到t1扩展节点或与起始点相遇,则停止;若t1在扩展途中遇到t2扩展节点或与第三节点相遇,则停止;与若t3向终点扩展,若中途与t4扩展节点相遇或与终点相遇则停止,t4向第三节点扩展,若中途与t3扩展节点相遇或与第三节点相遇则停止,最终获得最优路径,如图5所示。
55.以下以一具体实施例详细说明如下:
56.在一个机器人导航装置中使用本发明的一种改进a

star算法的移动机器人路径规划方法,利用改进a

star算法计算出机器人到目标位置的最优路线作为机器人的全局路线。
57.在该实施例中,是同现有技术一样,先将地图虚拟化,并且将其划分为许多小方块,并用二维数组来表示地图,然后采用本发明的改进a

star算法遵循最小代价原则进行路径规划。
58.请参见图6,为本发明的一种改进a

star算法的移动机器人路径规划方法的算法流程图。
59.改进a

star算法步骤如下:
60.一、开始

选择第三节点

判断第三节点是否在障碍中:
61.该算法在起始点与目标点之间找寻一个中间点作为第三节点,从而生成四棵探索树同时扩展结点,使移动机器人路径规划方法同时从起始点、中间点以及目标点扩展四条搜索树同时寻找最优路径以提高算法在路径规划时的效率,第三节点的坐标计算可采用公式五与公式六。
62.二、如果判断结果为是则进行步骤(1),否则跳转步骤(2)
63.步骤(1):舍弃第三节点

建立t1、t2扩展树

交替进行步骤(1.1)及(1.2);
64.步骤(1.1):t1向目标点扩展

判断t2与t1扩展点相遇

转步骤(1.3);
65.步骤(1.2):t2向目标点扩展

判断t1与t2扩展点相遇

转步骤(1.3);
66.步骤(1.3):t1与t2会合

转步骤(5);
67.步骤(2):保留第三节点

建立t1、t2、t3、t4扩展树

交替运行步骤(2.1)、(2.2)、(2.3)及(2.4):
68.步骤(2.1):t1向第三节点扩展

判断t2与t1扩展点相遇

步骤(2.5);
69.步骤(2.2):t2向起始点扩展

判断t1与t2扩展点相遇

步骤(2.5);
70.步骤(2.3):t3向目标点扩展

判断t3与t4扩展点相遇

步骤(2.5);
71.步骤(2.4):t4向终点扩展

判断t4与t3扩展点相遇

步骤(2.5);
72.步骤(2.5):t1与t2会合、t3与t4会合

转步骤(5);
73.步骤(5):算法完成。
74.本领域技术人员可知晓的是:本发明的一种改进a

star算法的移动机器人路径规划方法,除了上述特别说明之外,其他方法和步骤均可使用现有的a

star算法技术。
75.上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解,依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜