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

一种基于IAPF-A*融合算法的机器人路径规划

2023-02-04 09:56:49 来源:中国专利 TAG:

一种基于iapf-a*融合算法的机器人路径规划
技术领域
1.本发明涉及机器人路径规划技术领域,具体是一种基于改进人工势场法(improved artificial potential field,iapf)与a*的融合算法(iapf-a*)用于机器人的路径规划问题。


背景技术:

2.路径规划技术是移动机器人研究领域的一个重要组成部分,主要目的是在有障碍物的环境中,根据一定的准则(如路径最短,位置拐点最少,用时最短等),寻求一条从起始位置节点到目标位置节点之间的最优或次优安全无碰路径。
3.路径规划技术的发展在一定程度上标志着机器人智能水平的高低,而路径规划方法的优劣直接影响路径规划效果。
4.目前,国内外许多专家学者都在致力于路径规划算法的研究,常用的优化算法主要有人工势场法、免疫算法、蚁群优化算法、神经网络、a*算法等。
5.其中,a*算法是一种静态环境中求解最短路径最有效的直接搜索方法。a*算法解决路径规划的过程大体上可以概括为:先是通过不断地遍历评价指标f最小的节点,直到遍历到终点节点为止,再使用反向搜索父节点的方法来得到最优路径。其中,某节点的评价指标f等于起点到该节点的实际路径长度g以及该节点到终点的估算路径长度h这两个指标之和。在解决栅格图模型下的路径规划时,通常是定义h为当前节点至终点的坐标之差的绝对值之和。但这会导致a*算法在遍历节点时,往往其遍历的节点是集中于起点至终点的连线方向上的节点集群。显然,这在最优路径与起点至终点的连线较为接近时,能取得较好的结果,但在实际应用中,往往最优路径并不接近于起点至终点的连线,例如在终点方向上的凹型障碍物,此时a*算法为走出凹形障碍物需要进行大量无效的节点遍历,从而导致算法效能过低。


技术实现要素:

6.本发明的目的在于提供一种基于改进人工势场法(improved artificial potential field,iapf)与a*的融合算法(iapf-a*)的机器人路径规划方法,该方法能够克服传统a*在遍历节点时容易因为碰到凹型障碍物而在局部进行大量无效节点的遍历的缺陷,减少了对无效的节点的遍历,从而提高算法的求解速度。
7.在传统a*中,某节点a的估算路径长度h仅与节点a与终点的坐标值相关,而在人工势场法中,某节点a的势力场不仅与节点a以及终点的坐标值相关,同时也与a周围的环境相关,因此,通过势力场来构建a*的寻路规则从逻辑的角度来说是具备优势的,但考虑到传统人工势场法也会存在陷入局部较低势场的缺点,本发明首先提出一种改进人工势场法用来生成势力场。具体思路是,不断地将局部势场较低的节点重置为局部较高的节点,避免机器人遍历到该节点上,直到不存在局部较低势场的节点为止。某节点的新势力场pf'的更新公式如式(1)。
[0008][0009]
式中,pfa为邻接节点的势力场,k为势场变化系数,min()为获取最小值函数。得到势力场数据后,改写a*的评价指标f如式(2)所示,pf'为节点的势力场。
[0010]
f=g pf'
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0011]
本发明解决其技术问题所采用的技术方案是:
[0012]
一种基于iapf-a*融合算法的机器人路径规划,包括以下步骤:
[0013]
s1、初始化算法的相关参数,如包括但不限于:地图数据m、起点s、终点e、空列表a、list_del、list_append、open、close,势场变化系数k=1.1;
[0014]
s2、根据传统人工势场法apf相关公式(3)、(4)、(5)计算每个节点的势力场pf;
[0015]
pf=pf
att
pf
rep
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0016][0017][0018]
其中,pf
att
与pf
rep
分别是引力场与斥力场,ζ与η分别是引力、斥力的权重因子,d与d分别为机器人与终点、障碍物的欧氏距离,q为障碍物的影响半径;
[0019]
s3、将所有障碍物的邻接节点添加进空列表a;
[0020]
s4、开始循环;
[0021]
s5、令势场变化误差delta=0;
[0022]
s6、依次遍历列表a中的节点,记为节点a,执行s7;遍历结束后执行s13;
[0023]
s7、检测节点a的邻接节点的势能的最小值,记min(pfa);
[0024]
s8、若min(pfa)<节点a的势能pf,则执行s9;否则,执行s10;
[0025]
s9、将节点a添加进list_del,执行s12;
[0026]
s10、根据式(1)计算节点的新势能pf',并令delta自增势能的前后变化的绝对值;
[0027]
s11、将节点a的邻接节点添加仅list_append;
[0028]
s12、将list_append中的节点添加进a;将list_del中的节点从a中删除;执行s6;
[0029]
s13、若delta为0,则退出势场修正的迭代过程,执行s14;否则执行s5;
[0030]
s14、根据式(2)计算初始节点的评价指标f,并将节点信息放入到open列表中;
[0031]
s15、选出open列表中f值最小的节点,若该节点是终点,则执行18,否则执行s16;
[0032]
s16、同理,由式(2)计算该节点的邻接节点的f值,并加入open列表中;
[0033]
s17、最后将该节点添加进close列表,执行s15;
[0034]
s18,由该节点开始,依次查找父节点,直到找到起点,输出遍历过程的节点,即为最短路径。
[0035]
本发明iapf-a*在遍历节点时,会预先生成一种改进的人工势场,通过将节点的估算路径长度h替换为势场能,从而实现躲避凹型障碍物的目的。大量的仿真结果表明,采取本文新型策略的iapf-a*算法在解决机器人路径规划问题上的效果进步明显,整体性能优
于基本a*算法和其他一些改进a*算法。
附图说明
[0036]
下面结合附图和实施例对本发明进一步说明:
[0037]
图1本发明iapf-a*算法流程图;
[0038]
图2传统a*算法运行结果;
[0039]
图3本发明iapf-a*算法运行仿真结果;
[0040]
图4本发明iapf-a*算法运行结果;
[0041]
图5文献改进a*算法运行结果。
具体实施方式
[0042]
本发明的目的在于提供一种基于改进人工势场法(improved artificial potential field,iapf)与a*的融合算法(iapf-a*)用于机器人的路径规划,该方法能够克服传统a*在遍历节点时容易因为碰到凹型障碍物而在局部进行大量无效节点的遍历的缺陷,减少了对无效的节点的遍历,从而提高算法的求解速度。
[0043]
如图1所示算法流程图,本发明解决其技术问题所采用的技术方案是:
[0044]
s1、初始化算法的相关参数,如:地图数据m、起点s、终点e、空列表a、list_del、list_append、open、close,势场变化系数k=1.1等;
[0045]
s2、根据传统人工势场法apf相关公式(3)、(4)、(5)计算每个节点的势力场pf;
[0046]
pf=pf
att
pf
rep
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0047][0048][0049]
其中,pf
att
与pf
rep
分别是引力场与斥力场,ζ与η分别是引力、斥力的权重因子,d与d分别为机器人与终点、障碍物的欧氏距离,q为障碍物的影响半径;
[0050]
s3、将所有障碍物的邻接节点添加进列表a;
[0051]
s4、开始循环;
[0052]
s5、令势场变化总量delta=0;
[0053]
s6、依次遍历列a中的节点,记为节点a,执行s7;遍历结束后执行s13;
[0054]
s7、检测节点a的邻接节点的势能的最小值,记min(pfa);
[0055]
s8、若min(pfa)<节点a的势能pf,则执行s9;否则,执行s10;
[0056]
s9、将节点a添加进list_del,执行s12;
[0057]
s10、根据式(1)计算节点的新势能pf',并令delta自增势能的前后变化的绝对值;
[0058]
s11、将节点a的邻接节点添加仅list_append;
[0059]
s12、将list_append中的节点添加进a;将list_del中的节点从a中删除;执行s6;
[0060]
s13、若delta为0,则退出势场修正的迭代过程,执行s14;否则执行s5;
[0061]
s14、根据式(2)计算初始节点的评价指标f,并将节点信息放入到open列表中;
[0062]
s15、选出open列表中f值最小的节点,若该节点是终点,则执行18,否则执行s16;
[0063]
s16、同理,由式(2)计算该节点的邻接节点的f值,并加入open列表中;
[0064]
s17、最后将该节点添加进close列表,执行s15;
[0065]
s18,由该节点开始,依次查找父节点,直到找到起点,输出遍历过程的节点,即为最短路径。
[0066]
本发明的有益效果是,通过使用改进的人工势场替换传统a*算法中的估算距离,改进的人工势场不仅包含了终点信息,同时也包含了局部的环境信息,能有效避免凹型障碍物对a*算法的影响,从而提高本发明iapf-a*算法的寻路效率。
[0067]
本发明的效果可以通过以下仿真实验进一步说明:
[0068]
为验证本方法的正确性和合理性,运用python语言编程,在4个20
×
20的均存在凹型障碍物的栅格环境模型下对本发明iapf-a*算法进行仿真,并与传统a*算法进行比较。以左上角节点为起点,右下角节点为终点,仿真结果如图2、图3以及表1所示(其中,图2与图3中的红色栅格为被遍历的节点,蓝色为算法所得最优路径节点)。
[0069]
表1算法实验数据对比
[0070][0071]
由表1数据可知,当凹型障碍物对算法遍历程度影响较小时(如图2(a)和图3(a)),本发明iapf-a*算法虽然出于对势力场的运算而导致时间略高于基本的a*算法,但其遍历节点总数目有较为明显的降低,遍历有效率(最优路径节点/总遍历节点)有明显的提升,随着凹型障碍物对节点遍历的影响逐渐加大,本发明iapf-a*算法的优势开始得以体现,在保证了最终解为最优解的前提下,大幅降低了遍历节点总数目,有效的减少了算法的运行时间,提高路径规划的效率。
[0072]
为了进一步验证本发明提出的改进算法的有效性,将本发明与另外一种改进的a*算法进行比较,另一种改进的a*算法为期刊《计算机集成制造系统》在2022年第1期中1-17页《优化a*与动态窗口法的移动机器人路径规划》中记载的改进a*算法,在该文章记载的尺寸为50*50栅格环境条件下利用本发明方法进行仿真,并将实验结果进行对比,如图4、图5以及表2所示。
[0073]
表2仿真结果对比
[0074]
[0075]
通过表2中数据可知,本发明iapf-a*算法所得最优路径结果为75.3259,优于文献改进算法的所得结果76.1543,且本发明算法的遍历节点个数为221,相对于文献改进算法的遍历个数262有明显的减少。因此,本发明iapf-a*算法相对比文献算法,在寻解效果与遍历有效率方面都有着优势。
[0076]
通过上述对比仿真实验可以得出结论:使用本发明iapf-a*算法的路径规划效率明显优于传统a*算法。且使用本发明提出的iapf-a*算法比传统a*算法和他人改进的a*算法效果好、速度快,这说明了本发明提出的iapf-a*算法在路径优化方面的可行性与实用性。
[0077]
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同替换、等效变化及修饰,均仍属于本发明技术方案保护的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献