基于A*算法与人工势场法相融合的路径优化研究

期刊: 素质教育 DOI: PDF下载

李昊天

河北省保定 北京印刷学院机电工程学院

摘要

在自动化系统、智能交通和机器人导航中,路径规划是关键技术,直接影响系统的效率和操作安全性。A*算法和人工势场法(APF)在路径规划中各具优势,前者适用于静态环境的全局路径规划,而后者在动态避障方面表现优异。然而,A*算法缺乏动态避障能力,容易与动态障碍物发生碰撞,而人工势场法则容易在复杂环境中陷入局部极小值。为克服这些不足,本文提出了一种结合A*算法与人工势场法的混合路径规划策略。该策略使用A*算法生成全局最优路径,并通过贝塞尔曲线平滑路径,确保机器人运动的流畅性。同时,人工势场法用于实时避开动态障碍物,动态调整路径。仿真实验结果表明,提出的混合策略在复杂动态环境下显著提高了路径规划的安全性和效率,解决了单一算法的局限性,为自动化导航系统中的路径规划提供了可靠的解决方案。


关键词

路径规划;A*算法;人工势场法;动态避障

正文


1. 引言

在自动化系统、智能交通和机器人导航中,路径规划是核心技术,不仅关乎系统效率,还直接影响安全性。传统路径规划方法如DijkstraA*算法因其高效实用性而广泛应用。A*算法通过启发式评估优化搜索路径,提升搜索效率。然而,面对动态障碍物和不断变化的环境条件时,这些基于网格的传统方法面临诸多挑战。

人工势场法(APF)作为一种实时避障技术,通过模拟引力和斥力引导主体避开障碍物向目标前进。虽然该方法在动态环境中表现出良好的灵活性,但在障碍物密集或目标附近容易陷入局部最小值,从而导致路径规划失败。

为此,本文提出一种结合A*算法和人工势场法的混合路径规划策略,旨在兼顾两者的优势以改善在复杂环境中的导航效果。

2.相关工作

2.1A*算法

2.1.1A*算法相关原理

A*算法是专门用来求解地图中最短路径的算法,因为它相当灵活,并且能运用到多种多样的情形中。该算法来源于Dijkstra算法,并结合最佳优先搜索(best-firstsearchBFS)算法,所得A*算法同时具备BFS算法运行快和Dijkstra算法保证路径全局最优的优点[1]

A*算法的实现主要需要2个键与值对应的集合,分别是openListcloseList[1],其中openList用来保存当前节点的父子节点允许搜索范围内的所有待考查节点,算法开始时将

起点放入openList;closeList用来保存已经考察过的openList集合中代价最小的节点,以代价最小的节点作为下一个搜索的父子节点,以此一直搜索,直到搜索到终点,

closeList中存放的点就是最终的最优的路径点。传统的A*算法的代价评价函数为:

                       (1)                      (2)  

                     (3)  

式中:n表示当前所在节点,()表示当前节点的坐标,()表示起始节点的坐标,()表示目标节点的坐标,f(n)表示当前节点n的代价函数,g(n)表示起始点到当前节点n的实际代价值,其函数表达式如式(2)所示;h(n)表示当前节点n到目标点的预估代价值,其函数表达式为欧几里得距离,如式(3)所示,即启发函数[2]

 

1 A*算法搜寻路径图

 

 

2.1.2A*算法的局限性

在图2中,A*算法为机器人(蓝色小球)规划了一条从起点(左下角)到目标点(右上角)的最优路径(红色线条)。该路径是基于静态环境中障碍物的布局计算的,绕过了图中蓝色方块表示的固定障碍物。然而,红色小球表示动态障碍物,它在路径上方移动,对原本规划好的路径造成威胁。

缺乏动态适应性:A*算法假设环境是静态的,即所有障碍物的位置都不会发生变化。因此,它在规划路径时并未考虑动态障碍物(红色小球)的存在。当动态障碍物进入原本规划的路径时,A*算法无法自动调整路径,导致机器人(蓝色小球)按照原路径前进时可能与动态障碍物发生碰撞。

实时避障能力不足:如图所示,A算法规划的路径在遇到动态障碍物时并不会进行调整。机器人只能沿着既定路径前进,而无法感知并绕开突然出现的红色小球。这一局限使得A*算法难以应对实际环境中的动态变化,尤其是在需要快速避障的场景中。

重新规划成本高:虽然A*算法可以在障碍物变化后重新规划路径,但这个过程通常会增加计算时间和资源消耗。在频繁变化的动态环境中,依赖于A*算法的重新规划会导致效率降低,无法满足实时避障需求。

路径安全性欠缺:由于A*算法缺乏对动态障碍的反应能力,机器人在路径上可能直接遇到障碍,增加了碰撞的风险。图中的动态障碍物正位于原路径的关键位置,而A*算法未能绕开该障碍,表明它在路径安全性方面的不足。

图中的情况清楚地展示了A*算法在动态环境中的不足:无法应对实时的障碍变化,可能导致机器人与动态障碍物发生碰撞。因此,在实际应用中,A*算法需要结合其他实时避障算法(如人工势场法),以弥补其在动态避障方面的不足。

 

2  A*算法的局限性

2.2人工势场法:

2.2.1人工势场法相关原理

人工势场法是一种虚拟力法,是由斯坦福大学机器人专家Khatib所提出的[3]。其基本原理是构造一种虚拟势场[4],赋予目标点一个虚拟的引力,赋予障碍物一个虚拟的斥力,设置合适的力的参数,使机器人在合力下向目标点移动的同时避开障碍物[5]

引力势场函数的表示方法

目标点对机器人的吸引势场的大小由目标点和机器人的距离所决定的。引力场的公式是:

 

这个增益系数是引力的,机器人在运动过程中所产生的坐标为(xy)。目标点的位置坐标是(xg yg )。

引力势场函数的负梯度就是引力大小,即:

 

吸引力的大小为:

 

在这上面公式中,本文可以很清晰地看出引力的大小是由机器人距离目标点的位置所决定的,机器人如果距目标点比较远,其所产生的吸引力就比较大;否则目标点产生的吸引力就会越小。

斥力势场函数的表示方法

障碍物的大小和相应的影响距离决定障碍物对机器人的排斥力其有着显著的影响,斥力场的公式是:

 

斥力的增益系数是ηρ则代表的是机器人与障碍物之间的距离,代表的是障碍物能够作用的有效距离。障碍物的影响距离如果小于机器人到障碍物的距离时,排斥力是影响不到机器人的。否则的话,障碍物就会影响机器人。

斥力大小为斥力势场函数的负梯度。即:

 

 

排斥力大小为:

 

以上本文可以得出,如果机器人与障碍物的距离小于障碍物的影响距离,这个时候机器人受到排斥力的作用[6],而且随着障碍物与机器人的距离不断缩小的过程中,其斥力也是一个不断变大的过程。如果机器人与障碍物的距离大于障碍物的影响距离,这个时候机器人就不受斥力所影响。排斥力和坐标轴产生的角度是:

 

排斥力在坐标轴上的分量表示为:

 

 

人工势场函数的表示方法

本文依据上面的叙述可以得出,障碍物产生的排斥势场与目标点产生吸引势场相加就是人工势场的和。

机器人所受的合力为:

 

 

3 人工势场法中机器人受力分析

2.2.2人工势场法的局限性

传统的人工势场法中存在了许多问题,如陷入局部极值造成目标不可达问题、障碍物附近易产生震荡等。存在特殊点,该点引力与斥力刚好平衡,机器人在该点陷入局部最优不再移动或在该位置附近震荡。国内外很多学者提出不同的改进方法,张国胜[7]提出了改进的人工势场法。人工势场法将引力作用阈值引入引力势场函数,解决引力过大问题;在斥力势场函数中引入目标点与移动机器人之间的距离,解决目标不可达问题,通过引力与斥力的合力来使机器人到达目标点。高溪钠[8]等利用目标点搜索算法确定每个机器人的最佳目标点,再改进势场函数,实现多机器人一致性编队。朱毅[9]等针对未知环境下的路径规划问题,提出奔向目标行为”“沿墙走行为来 逃离局部极小点。徐飞在机器人陷入局部极小点 后,提出设置中间目标的方法,使机器人跳出局部极小点。

 

     

4 局部极小值问题               图5 复杂环境下人工势场法局部极小值问题

如图5人工势场法通过模拟引力和斥力来引导机器人(绿色方块起点)沿蓝色路径行进,避开障碍物(蓝色方块),并朝向目标点(红色方块)前进。图中的红色小球表示动态障碍物,随着机器人靠近,它们会产生斥力将机器人推离,避免碰撞。然而,这种方法在实际应用中存在一些问题。

局部极小值问题:当机器人受到多个障碍物的斥力和目标点的引力时,可能出现一个力的平衡点,导致机器人无法继续前进。在图5中,如果障碍物分布更密集,机器人有可能在行进过程中停滞,特别是在离目标点较近或多障碍物包围的区域。由于各个力相互抵消,机器人可能在某个位置陷入局部极小值状态,无法再接近目标。

路径振荡现象:图5中的蓝色路径表明,机器人在行进过程中存在多个曲折和绕行,这表明人工势场法会让机器人在障碍物边缘反复调整方向。尤其是在接近动态障碍物(红色小球)时,由于斥力的不断变化,机器人路径产生了较多的弯曲,增加了路径长度和规划时间。这种路径振荡现象使得机器人难以平稳前进,影响运动效率。

对复杂障碍物分布的适应性差:人工势场法在U型或多障碍物组合的复杂环境中容易出现失效。例如,在U型障碍物布局中,机器人可能受到引力和斥力的相互抵消,进而陷入障碍物内部或无法找到前进方向。图5中的路径显示机器人绕过了多个障碍物,但如果障碍物之间的距离进一步缩小,可能会让机器人在障碍物之间反复徘徊,难以前进。

依赖障碍物距离:人工势场法的斥力随着机器人和障碍物之间的距离变化而变化。在5图中,机器人在靠近动态障碍物时路径偏离预设路线,表明障碍物对路径规划的影响较大。当障碍物突然移动或多个障碍物位置相对接近时,机器人路径可能出现不稳定,难以保持连续性。

3.算法融合

在本研究中,我们提出了一种结合A*算法与人工势场法(APF)的路径规划与动态障碍物避障策略。此方法旨在整合A*算法的全局路径规划能力与人工势场法的动态避障能力,提升机器人在动态环境中的路径规划性能。

3.1全局路径规划(A*算法)

首先,我们使用A*算法在静态环境中进行全局路径规划。A*算法通过启发式搜索,从起点到终点计算出一条最优路径,并生成一系列路径点,为机器人提供全局导航的基础指导。这一全局路径确保了机器人能够沿着最短距离接近目标点。

3.2路径平滑处理

为提高路径的平滑性和运动稳定性,我们在A*算法生成的路径基础上,采用了贝塞尔曲线来优化路径的连续性和流畅度。具体的平滑处理步骤如下:

提取关键节点:从A*算法生成的路径中选取关键节点,并在每几个关键节点之间插入辅助控制点。这些控制点用于调节曲线的形状和方向,从而减小急转弯的影响,提升机器人运动的稳定性。

贝塞尔曲线计算:利用插入的控制点调用贝塞尔曲线计算函数,生成平滑的路径轨迹点。通过插值方法优化路径,使得机器人在运动中能够沿着平滑轨迹行进。

合并轨迹点:所有生成的贝塞尔曲线点最终合并成一个完整的轨迹点集,形成连续、平滑的路径。此方法显著提升了机器人的运动稳定性和操作灵活性,确保路径的可行性与实用性。

3.3动态避障(人工势场法)

在机器人移动过程中,系统会实时监测周围环境,以识别动态障碍物。针对这些动态障碍物,我们应用人工势场法实现避障。具体的避障流程如下:

生成斥力场:将动态障碍物视为施加斥力的源,根据机器人与障碍物之间的距离生成斥力场,斥力大小与距离成反比。机器人依据该斥力场调整运动方向,从而规避动态障碍物的影响,避免与其发生碰撞。

实时路径调整:在避障过程中,机器人持续关注当前路径,并在避障完成后重新评估与原始A*路径的相对位置。系统将原始路径上的下一个节点设为目标点,通过计算当前位置与目标点之间的偏差,机器人逐步调整运动方向,平滑过渡回到原始路径。此过程采用线性插值或曲线拟合等平滑过渡方法,确保机器人避障后平稳回归原路径。

3.4整体效果

这种A*与人工势场法结合的策略有效地整合了全局路径规划与局部避障的优点。A*算法提供了全局导航指导,使机器人能够找到最优路径;而人工势场法则在遇到动态障碍物时提供实时避障支持,使机器人能够灵活应对突发障碍。这种混合策略在动态环境中显著提高了导航的安全性与效率。

4.仿真

为验证A*与人工势场法结合的混合路径规划策略的有效性,我们在动态环境中进行了仿真实验。实验重点测试了该方法在避开动态障碍物、提高路径平滑性和降低局部极小值影响方面的表现。

4.1 仿真环境设置

实验在一个20x20的网格化环境中进行(如图所示),其中包括固定障碍物和动态障碍物:

固定障碍物:设置在路径中的蓝色方块区域,代表静态环境中的不可通过区域。

动态障碍物:以红色小球表示,预设路径进行移动,以模拟实际动态环境中的突发障碍物。

起点和终点:起点设定在左下角(如绿色方块所示),终点设定在右上角(如红色方块所示)。

4.2 实验参数

实验中使用的主要参数如下:

A*算法参数:采用启发式估计值为欧几里得距离,确保全局路径最短。

人工势场法参数:斥力随障碍物距离的反比关系增大。斥力场的强度和作用距离通过实验优化,以确保机器人在接近动态障碍物时能够迅速调整方向。

贝塞尔曲线参数:用于平滑A*路径的控制点数量根据路径点密度和转向需求进行调整,确保路径在不影响避障效果的前提下尽可能平滑。

4.3 实验过程

路径生成:首先在静态环境中使用A*算法生成从起点到终点的全局最优路径。生成路径后,应用贝塞尔曲线对路径进行平滑处理,以消除不必要的急转弯,提高路径的流畅性。

 

6 融合算法全局规划

动态避障:当机器人开始沿全局路径前进时,环境中的动态障碍物会随机移动或按设定轨迹运动。机器人根据人工势场法实时计算与动态障碍物的斥力,并调整方向以避开障碍物。

 

7 加入人工势场法进行动态避障

路径回归:当机器人成功避开障碍物后,系统将其逐步引导回原始路径点,使用线性插值或曲线拟合实现平滑过渡,确保避障后的路径无突兀转向。

 

8 路径回归

4.4 实验结果分析

实验结果显示,提出的A* + APF混合路径规划策略在动态环境中具有良好的适应性:

避障能力:在不同障碍物分布下,机器人均能有效避开动态障碍物,避免了A*算法可能出现的路径碰撞问题。

路径平滑性:应用贝塞尔曲线后,路径较原始A*路径更加平滑,减少了机器人在运动中的急转弯次数,从而提高了运动稳定性。

局部极小值规避:通过结合人工势场法的动态避障,机器人在接近目标时未出现局部极小值导致的停滞现象,表明该方法有效克服了人工势场法的局限性。

 

9 融合算法仿真

4.5 对比分析

为进一步验证本方法的有效性,实验还将A* + APF混合策略与单一A*算法和单一人工势场法进行对比:

单一A*算法:在动态环境中,A*算法往往由于缺乏动态避障能力而导致机器人与障碍物发生碰撞,路径安全性低。

单一人工势场法:人工势场法在动态避障中表现较好,但在障碍物密集区域或接近目标时易陷入局部极小值。

混合方法(A *+ APF):混合方法充分利用了A*算法的全局路径规划能力与人工势场法的动态避障能力,在多次实验中均表现出更高的避障效率与路径平滑性,且在动态环境中无局部极小值问题。

4.6 仿真结果总结

综上所述,实验表明A* + APF混合路径规划策略能够有效应对动态环境中的复杂路径规划问题。该策略在提高路径安全性和运动稳定性的同时,解决了A*算法和人工势场法各自的局限性,为自动化导航系统提供了更为可靠的路径规划解决方案

5.结论

本文提出了一种结合A*算法与人工势场法的混合路径规划策略,旨在解决单一算法在复杂环境下的局限性。通过A*算法的全局路径规划能力,机器人能够在静态环境中找到最优路径,并为全局导航提供指导。同时,人工势场法有效处理了动态障碍物的避障需求,增强了路径规划的灵活性和实时性。

实验结果表明,混合路径规划策略在面对动态障碍物时表现出较高的鲁棒性。A*算法提供的全局最优路径解决了人工势场法易陷入局部极小值的问题,而人工势场法则弥补了A*算法对动态环境响应不足的缺陷,提升了系统的整体性能。在仿真测试中,该方法在动态环境和复杂障碍物布局下都能够稳定运行,确保机器人能够顺利避开障碍物并到达目标点。

总的来说,本文提出的混合路径规划策略结合了A*算法和人工势场法的优势,为复杂和动态环境中的路径规划提供了一种可靠且高效的解决方案。未来的研究可以进一步优化该策略的性能,如提高对更大规模动态障碍物场景的适应性,并在实际应用中进行测试验证。

 

 

[1] 彭斌,王力,杨思霖.基于改进A*算法和动态窗口算法的自动导引小车轨迹规划[J].计算机应用,2022,42(S1):347-352.

[2] 石璐璐,徐金明.基于地形的直升机路径规划算法研究[J].直升机技术,2021,(02):38-42.

[3] 王新民, 王晓燕, 肖堃. 无人机编队飞行技术[M]. 西安: 西北工业大学出版社, 2015: 70-83.

[4] 谌海云,陈华胄,刘强.基于改进人工势场法的多无人机三维编队路径规划[J].系统仿真学报,2020,32(03):414-420.DOI:10.16182/j.issn1004731x.joss.18-0252.

[5] 贾昌麟,卢虎平.基于人工势场算法的路径规划研究[J].大众科技,2023,25(06):5-8.

[6] 王迪.基于人工势场法的移动机器人局部路径规划[D].山东理工大学,2021.DOI:10.27276/d.cnki.gsdgc.2021.000093.

[7] 张国胜,李彩虹,张耀玉,等.基于改进人工势场法的移动机器人局部路径规划[J].山东理工大学学报(自然科学版),2023,37(04):52-59+67.DOI:10.13367/j.cnki.sdgc.2023.04.011.

[8] 高溪钠,吴丽娟,李玮玮,等.多机器人编队的人工势场法控制[J].辽宁科技大学学报, 2014, 37(4):6.DOI:10.3969/j.issn.1674-1048.2014.04.010.

[9] 朱毅,张涛,宋靖雁.未知环境下势场法路径规划的局部极小问题研究[J].自动化学报,2010,36(08):1122-1130.

李昊天(2000.03---),男,汉族, 河北省保定市人,学历硕士在读,

主要研究方向:机器人路径规划

单位名称:——北京印刷学院机电工程学院


...


阅读全文