随着科技的快速发展,无人船已逐步应用于渔业、军事和工业等诸多领域。这些应用的核心在于路径规划技术,它使得无人船能够安全,高效的从起点移动到终点,灵活地避开行进过程中的障碍物。因此,国内外学者对于路径规划技术展开了一系列的研究。路径规划技术可以分为全局路径规划和局部路径规划两大类[1]。
全局路径规划技术主要有栅格法、A*算法[2]、D*算法[3]、蚁群算法[4]等。局部路径规划技术有人工势场法[5]、动态窗口法[6]、Bug算法[7]等。其中,D*算法通过启发式函数来估算路径的代价,从而实现高效的最优路径搜索。蚁群算法是通过模拟蚂蚁觅食过程中信息素的释放和路径选择行为,利用群体协作和正反馈机制,不断逼近最优解[8 − 9]。与其他方法相比,人工势场法在实现上比较简洁,所需计算量相对较少,因而适合实时的局部路径规划和障碍规避。但在一些场景中会出现无法到达目标点的情况,并且在特定条件下易陷入局部极小值,从而影响全局规划的有效性。
为解决上述的问题,国内外学者都对人工势场法进行了改进,许万等[10]提出一种将凹形障碍物补齐的改进人工势场法,通过将障碍物的凹陷部分补齐为一个整体,提前一步阻止机器人进入凹陷区域,避免机器人进入极小值区域。Lin等[11]使用角度定义障碍物的影响范围,当机器人行驶越过障碍物一定角度范围后,忽略该障碍物带来的斥力,使得路径更加平滑,以障碍物的斥力范围为半径,构造正六边形,选取最大与最小夹角顶点为虚拟目标点,避免机器人陷入局部最小。李天国等[12]提出一种将人工势场法与TangentBug算法融合的改进方法,当机器人陷入局部最小值后,算法会从人工势场法切换到TangentBug算法,利用TangentBug算法帮助机器人翻越障碍物,从而脱离局部极小值环境。
上述研究都针对传统人工势场法的缺陷选取了不同的方向进行了改进,本文使用新方法选取虚拟目标点,对于虚拟目标点的选取更加灵活,首先改进了斥力场函数模型,并将人工势场法与粒子群优化算法相结合,利用粒子群优化算法在极小值区域周围寻找合适的虚拟目标点,得到加入虚拟目标点后的合力,从而在新合力的作用下成功逃离极小值区域。
1 传统人工势场法人工势场法的基本原理是将无人船所处的环境视为一个虚拟力场,在这个环境中,无人船会受到引力与斥力,在这2个力的作用下移动[13]。目标点的引力作用可以类比为引力势场,其中无人船与目标点之间的距离决定引力的大小,距离越远,引力势能越大;在无人船向着目标点接近的过程中,引力势能逐渐减小,在无人船到达目标点后,引力势能降为0[14]。而障碍物则通过斥力势场对无人船产生反向的作用,斥力的强度和无人船与障碍物之间的距离成反比,距离越近,斥力越大,距离越远,斥力逐渐减小甚至消失。无人船在引力和斥力的作用下前进,既能保持对目标点的指向性,又能有效避开障碍物。引力势场函数如下[15]:
| $ {U}_{{\mathrm{att}}}(q)=\frac{1}{2}{K}_{{\mathrm{att}}}\rho {(q,{{q}_{{\mathrm{goal}}}})}^{2}。$ | (1) |
式中:
对应的引力函数为:
| $ {F}_{{\mathrm{att}}}(q)=-\nabla {U}_{{\mathrm{att}}}(q)={K}_{{\mathrm{att}}}({q}_{{\mathrm{goal}}}-q)。$ | (2) |
斥力势场函数为:
| ${ {U}_{{\mathrm{rep}}}(q)=\left\{\begin{aligned} & \frac{1}{2}{K}_{{\mathrm{rep}}}{\left(\frac{1}{\rho (q,{q}_{{\mathrm{obs}}})}-\frac{1}{{\rho }_{0}}\right)}^{2},{\mathrm{if}}\;\rho (q,{q}_{{\mathrm{obs}}})\leqslant {\rho }_{0},\\& 0,{\mathrm{if}}\;\rho (q,{q}_{{\mathrm{obs}}}) \gt {\rho }_{0}。\\ \end{aligned}\right.} $ | (3) |
式中:
对应的斥力函数为:
| $ {\begin{split} &{F}_{{\mathrm{rep}}}(q)=-\nabla {U}_{{\mathrm{rep}}}(q)=\\ &\left\{\begin{aligned} &{K}_{{\mathrm{rep}}}\left( \frac{1}{\rho (q,{q}_{{\mathrm{obs}}} )} - \frac{1}{{\rho }_{0}} \right)\frac{1}{\rho {(q,{{q}_{{\mathrm{obs}}}})}^{2}}\frac{q - {q}_{obs}}{\| q - {q}_{{\mathrm{obs}}}\| },{\mathrm{if}}\;\rho ( q, {q}_{{\mathrm{obs}}}) \leqslant {\rho }_{0},\\& 0,{\mathrm{if}}\;\rho (q,{q}_{{\mathrm{obs}}}) \gt {\rho }_{0}。\\ \end{aligned}\right.\end{split} }$ | (4) |
总的势场函数为斥力场与引力场的和:
| $ U={U}_{{\mathrm{att}}}+{U}_{{\mathrm{rep}}} 。$ | (5) |
在计算合力时,将引力在
| $ F_x=F_{\mathrm{att}x} + F_{\mathrm{rep}x},$ | (6) |
| $ {F}_{y}={F}_{{\mathrm{att}}y}+{F}_{{\mathrm{rep}}y} 。$ | (7) |
在传统的人工势场法中,无人船运动的方向取决于势场中合力的方向,当无人船行驶到目标点周围时,无人船接近目标点,由于目标点位于障碍物的影响区域内,目标点的引力几乎消失,而障碍物的斥力显著增强,使得无人船无法直接抵达目标点,而是在障碍物斥力的推动下远离了障碍物,因此在障碍物的斥力场函数中加入当前位置与目标点间的直线距离,当无人船接近目标点时,斥力也会相应减小。
改进斥力势场函数为:
| $ {\begin{split} &{U_{{\mathrm{rep}}}}(q) = \\ &\left\{ \begin{aligned} &{\frac{1}{2}{K_{{\mathrm{rep}}}}{{\left( {\frac{1}{{\rho (q,{q_{{\mathrm{obs}}}})}} - \frac{1}{{{\rho _0}}}} \right)}^2}{\rho ^2}(q,{q_{{\mathrm{goal}}}}),}{{\mathrm{if}}\;\rho (q,{q_{{\mathrm{obs}}}}) \leqslant {\rho _0}},\\ &{0},{{\mathrm{if}}\;\rho (q,{q_{{\mathrm{obs}}}}) \gt {\rho _0}} 。\end{aligned} \right. \\ \end{split} }$ | (8) |
改进后的斥力函数为:
| $ \begin{split} &{F_{{\mathrm{rep}}}}(q) = - \nabla {U_{{\mathrm{rep}}}}(q)= \\ &\left\{ \begin{aligned} &{{F_{{\mathrm{rep1}}}}(q) + {F_{{\mathrm{rep2}}}}(q)},{{\mathrm{if}}\;\rho (q,{q_{{\mathrm{obs}}}}) \leqslant {\rho _0}},\\ & {0},{{\mathrm{if}}\;\rho (q,{q_{{\mathrm{obs}}}}) \gt {\rho _0}} 。\end{aligned} \right. \\ \end{split} $ | (9) |
式中:
| $ {F}_{{\mathrm{rep1}}}(q)={K}_{{\mathrm{rep}}}\left(\frac{1}{\rho (q,{q}_{{\mathrm{obs}}})}-\frac{1}{{\rho }_{0}}\right)\frac{{\rho }^{2}(q,{q}_{{\mathrm{goal}}})}{{\rho }^{2}(q,{q}_{{\mathrm{obs}}})} ,$ | (10) |
| $ {F}_{{\mathrm{rep2}}}(q)=-{K}_{{\mathrm{rep}}}{\left(\frac{1}{\rho (q,{q}_{{\mathrm{obs}}})}-\frac{1}{{\rho }_{0}}\right)}^{2}\rho (q,{q}_{\mathrm{{goal}}})。$ | (11) |
式中:
局部极小值是传统人工势场法中最常见的问题,由于无人船在向着目标点前进的过程中,无人船受到障碍物斥力的合力方向与目标点引力的方向在一条线上,指向相反方向,随着无人船与障碍物距离的减小,斥力增大,无人船所受合力为0,无法移动。常见的出现局部极小值情况有:无人船,障碍物与目标点3点共线的情况;障碍物的排列形成了一个闭合的区域(如“U”字型),无人船在进入该区域后,受到障碍物斥力的限制,可能会陷入其中,无法找到出口;或是障碍物之间相互抵消了部分斥力,同时一部分斥力与引力相抵消。局部极小值情况如图1所示。
|
图 1 局部极小值情况 Fig. 1 Local minimum situation |
为解决人工势场法在局部极小值区域陷入困境的问题,本文引入粒子群优化算法,通过在极小值区域附近搜索虚拟目标点,虚拟目标点为在极小值区域附近选择的临时引导点,与目标点同时对无人船施加引力,引导无人船成功逃离局部极小值区域。粒子群优化算法基于群体智能原理,利用多个粒子在解空间中的协同搜索,在局部和全局最优之间进行动态平衡,从而以一定概率跳出局部最小值并逼近全局最优解。每个粒子代表解空间中的一个候选解,粒子的位置和速度会根据个体最优解与全局最优解不断迭代更新,使其逐步向全局最优解靠拢,其公式如下:
| $ {{V} = \omega^*{v} + c_1^* {\mathrm{{rand}}}()^* ({{\mathrm{pbest}} - x}) + c_2^*{\mathrm{{rand}}}()^* ({\mathrm{gbest}} - {x}),}$ | (12) |
| $ X=x+V。$ | (13) |
式中:
基于粒子群优化算法的人工势场法逃离局部极小值点的过程为:当无人船在
| $ S=\frac{2\text{π} -{\max }_{i}({\theta }_{i+1}-{\theta }_{i})}{2\text{π} }。$ | (14) |
式中:
该评分反映的是障碍物对于当前位置的角度覆盖程度,当评分大于0.6时,此时有超过60%的方向被障碍物占据,前进方向可能被严重限制,则认为被严重包围,增加初始化粒子群的数量以提高搜索覆盖范围,延长迭代次数以确保充分探索,同时显著扩大搜索半径以寻找更远处的逃逸路径。获取间隙角度最大的2个障碍物的切线,将大量的粒子随机生成在切线外侧区域,剩余部分则随机生成,并动态调整
| $ val={\omega }_{{p}}\frac{{U}_{{p}}}{{10}^{5}}+{\omega }_{{d}}{\left(\frac{{d}_{\text{cur}}}{{\rho }_{0}}-1.5\right)}^{2}-{\omega }_{{a}}(1-\cos \theta )-\lambda。$ | (15) |
式中:
依据评价函数得分,确定每个粒子的个体最优位置和基于所有粒子的全局最优位置。通过不断迭代更新,最终得到全局最优解,并将该解作为虚拟目标点,引导无人船成功逃离局部极小值点。总流程如图2所示。
|
图 2 基于粒子群优化算法的人工势场法整体流程图 Fig. 2 Overall flowchart of the artificial potential field method based on the particle swarm optimization algorithm |
本文改进后算法流程如图3所示,其步骤如下:
|
图 3 具体流程图 Fig. 3 Detailed flowchart |
步骤1 为避免因路径震荡导致误判,记录无人船最近4个历史位置点,如果位置变化小于3倍步长或合力为0,则认为可能陷入局部极小值。
步骤2 遍历对无人船产生斥力的所有障碍物,计算包围度,当大于0.6后则认为处于严重包围状态,随即增加初始化粒子的数量,增加迭代次数以及搜索范围。
步骤3 获取相对于间隙角度最大的2个障碍物切线。
步骤4 当处于极小值时,若虚拟目标点位于与障碍物的切线内侧,则有很大概率使无人船航行一段距离后因斥力重新回到极小值点,同时切线外侧障碍物较少,更有利于逃离,因此本文选择非均匀分布策略,将大量的粒子随机生成在切线外侧区域,剩余部分则随机生成,减少对于无效区域的搜索,在粒子搜索的初期,初始化较大的
步骤5 计算每个粒子所处位置的势场值,筛选出势场值低于极小值点势场值的粒子,同时计算粒子的合力方向,若合力方向不指向极小值方向,则认为该点更有几率引导无人船逃离极小值点。计算粒子与极小值点间的距离,若距离超出障碍物的斥力范围,亦可进一步提高该粒子引导路径跳出极小值的可能性。
步骤6 将上一步所考虑的变量组成评价函数,通过评价函数更新每个粒子的个体最优位置。
步骤7 更新群体最优位置,找到最优解,将其取为虚拟目标点。
步骤8 计算障碍物、目标点、虚拟目标点的合力,引导无人船脱离极小值。
步骤9 当无人船到达虚拟目标点位置或无人船所处位置合力不指向极小值点则认为逃离成功,虚拟目标点消失。
3 实验仿真分析为了验证基于粒子群优化算法的人工势场法在多种障碍物情况下的有效性,进行了2组对比仿真实验。实验环境为Matlab R2021b,参数如表1所示。
|
|
表 1 表1实验仿真初始参数设定 Tab.1 Initial parameter settings for experimental simulation |
首先,在2种可能出现局部极小值的复杂环境下,对传统人工势场法进行仿真:第一种情形是无人船、障碍物及目标点位于同一直线上,如图4(a)所示,第二种情形则是无人船被凹形障碍物所包围,如图4(b)所示。图中黑色圆圈为起始点,坐标为(0,0),三角形为目标点,坐标为(900,900)。从仿真结果来看,当无人船接近障碍物时,由于合力为0,传统人工势场法会使无人船陷入极小值而无法进一步移动。
|
图 4 传统人工势场法轨迹 Fig. 4 Traditional artificial potential field method trajectory |
利用本文改进后的算法在相同障碍物分布下进行实验,星形标记为选择的虚拟目标点,在实验选择障碍物时,选择了一个障碍物位于目标点附近,用于验证目标点不可达情况,如图5(a)为改进算法在无人船,障碍物,目标点共线情况下的结果,当无人船运动至陷入极小值后,在障碍物的右下侧区域,通过粒子群优化算法选定了一个虚拟目标点,可以看出该点处于障碍物的切线外侧,且合力指向远离极小值点的方向。受此虚拟目标点引力作用,无人船开始向其方向运动。同时,由于障碍物斥力的影响,无人船呈现出弧形轨迹。无人船所受合力不再指向极小值区域后,虚拟目标点被忽略,无人船恢复采用人工势场法前进。可以观察到,在忽略虚拟目标点后,由于引力缺失,使得无人船的运动轨迹曲率半径增大,但整体运动轨迹仍保持相对平滑。
|
图 5 改进算法轨迹 Fig. 5 Improved algorithm trajectory |
如图5(b)为改进算法在凹陷障碍物包围情况下的结果,在陷入极小值后,选取无人船右后方位置为虚拟目标点,该点位置远离极小值点且处于切线外测。无人船在虚拟目标点的作用下从极小值区域向外侧移动,当检测到无人船受到的合力方向不再指向极小值区域后,判定逃离成功并随即忽略虚拟目标点的影响,恢复使用人工势场法导向目标点。忽略虚拟目标点的影响后,由于突然缺少了向后的引力,导致运动轨迹的曲率半径减小,但这并未显著影响路径平滑性,最终能够顺利抵达目标点。
在上述2种情境下,无人船均能顺利抵达目标点并成功避开极小值区域。目标点处于障碍物的影响范围内,无人船并未因受到影响而偏离目标。仿真结果表面,在前方存在复杂障碍物的情况下,算法仍能规划出可行路径,且运动轨迹较为平稳,未出现剧烈振荡。
本文选择在相同的障碍物分布下与文献[13]算法、文献[14]算法进行对比分析,对比情况如图6所示。
|
图 6 算法对比轨迹图 Fig. 6 Algorithm comparison trajectory diagram |
图中实线为本文算法路径,点线为文献[13]算法路径,虚线为文献[14]算法路径,在情况1下,本文改进算法规划的路径长度更短,路径效率更佳,从航向角曲线特征来看,该轨迹平滑性良好;且粒子群优化算法相较于对比算法,收敛速度更快,整体耗时更短,如表2所示。在情况2中,本文算法更加精准的地使无人船抵达目标点,定位误差更小,且航向角曲线波动较小,轨迹平滑,用时更短,如表2所示。
|
|
表 2 用时情况对比 Tab.2 Time consumption comparison |
本文针对传统人工势场法在处理障碍物时所面临的局限,改进了障碍物斥力函数,并提出了基于粒子群优化算法的人工势场法。通过粒子群优化算法,可在极小值区域周围搜寻最优解并将其设置为虚拟目标点,帮助无人船从不同的局部极小值区域中逃离并成功到达目标点。通过Matlab仿真结果表明,基于粒子群优化算法的人工势场法不仅能有效避免局部极小值陷阱,而且所规划出的路径较为平滑,且用时较短。然而,该方法在参数选择方面依然较为敏感,设置的虚拟目标点位置也存在进一步优化空间。未来,可通过改进评价函数,提高虚拟目标点的效率与准确度,从而增强算法在复杂环境下的适应性和鲁棒性。
| [1] |
王旭, 朱其新, 朱永红. 面向二维移动机器人的路径规划算法综述[J]. 计算机工程与应用, 2023, 59(20): 51-66. WANG X, ZHU Q X, ZHU Y H. A review of path planning algorithms for two-dimensional mobile robots[J]. Computer Engineering and Applications, 2023, 59(20): 51-66. DOI:10.3778/j.issn.1002-8331.2212-0050 |
| [2] |
李季睿. 基于改进A*算法的移动机器人路径规划研究[D]. 武汉: 江汉大学, 2023.
|
| [3] |
汪小帅, 朱其新, 朱永红. 改进D*算法下的无人机三维路径规划[J]. 西安工程大学学报, 2023, 37(3): 83-91. WANG X S, ZHU Q X, ZHU Y H. 3D path planning of UAV based on improved D* algorithm[J]. Journal of Xi’an Polytechnic University, 2023, 37(3): 83-91. DOI:10.11809/bqzbgcxb2025.03.026 |
| [4] |
黄永良, 李燕, 张小龙. 基于改进蚁群算法的机器人路径规划[J]. 电脑与信息技术, 2023, 31(2): 1-4. HUANG Y L, LI Y, ZHANG X L. Robot path planning based on improved ant colony algorithm[J]. Computer and Information Technology, 2023, 31(2): 1-4. DOI:10.13274/j.cnki.hdzj.2024.12.008 |
| [5] |
倪建云, 杜合磊, 谷海青, 等. 改进人工势场法的移动机器人路径规划研究[J]. 重庆理工大学学报(自然科学), 2023, 37(11): 247-256. NI J Y, DU H L, GU H Q, et al. Path planning of mobile robot based on improved artificial potential field method[J]. Journal of Chongqing University of Technology (Natural Science), 2023, 37(11): 247-256. |
| [6] |
赖荣燊, 窦磊, 巫志勇, 等. 融合改进A*算法和动态窗口法的移动机器人路径规划[J]. 系统仿真学报, 2024, 36(8): 1884-1894. LAI R S, DOU L, WU Z Y, et al. Mobile robot path planning based on fusion of improved A* algorithm and dynamic window approach[J]. Journal of System Simulation, 2024, 36(8): 1884-1894. DOI:10.16182/j.issn1004731x.joss.24-0233 |
| [7] |
彭艳, 鲍凌志, 瞿栋, 等. Multi-Bug全局路径规划算法研究[J]. 农业机械学报, 2020, 51(6): 375-384. PENG Y, BAO L Z, QU D, et al. Research on Multi-Bug global path planning algorithm[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(6): 375-384. DOI:10.6041/j.issn.1000-1298.2020.06.041 |
| [8] |
朱敏, 胡若海, 卞京. 基于改进蚁群算法的移动机器人路径规划[J]. 现代制造工程, 2024(3): 38-44. ZHU M, HU R H, BIAN J. Path planning of mobile robot based on improved ant colony algorithm[J]. Modern Manufacturing Engineering, 2024(3): 38-44. DOI:10.3969/j.issn.1674-4578.2025.02.036 |
| [9] |
时光泰, 王合龙. 改进蚁群算法无人机三维航迹规划[J/OL]. 电光与控制, 2025: 1−8. SHI G T, WANG H L. 3D trajectory planning of UAV based on improved ant colony algorithm [J/OL]. Electro-Optic & Control, 2025: 1−8. |
| [10] |
许万, 程兆, 朱力, 等. 一种基于改进人工势场法的局部路径规划算法[J]. 电子测量技术, 2022, 45(19): 83-88. XU W, CHENG Z, ZHU L, et al. A local path planning algorithm based on improved artificial potential field method[J]. Electronic Measurement Technology, 2022, 45(19): 83-88. DOI:10.19651/j.cnki.emt.2209505 |
| [11] |
LIU Y , CHEN C , WANG Y , et al. A fast formation obstacle avoidance algorithm for clustered UAVs based on artificial potential field[J]. Aerospace Science and Technology, 2024, 147108974.
|
| [12] |
李天国, 赖于树, 符庆川. 融合TangentBug算法和人工势场法的移动机器人路径规划[J]. 现代计算机, 2024, 30(17): 37-43. LI T G, LAI Y S, FU Q C. Path planning for mobile robot based on integration of TangentBug algorithm and artificial potential field method[J]. Modern Computer, 2024, 30(17): 37-43. DOI:10.3969/j.issn.1007-1423.2024.17.007 |
| [13] |
LUAN T, TAN Z, YOU B, et al. Path planning of unmanned surface vehicle based on artificial potential field approach considering virtual target points[J]. Transactions of the Institute of Measurement and Control, 2024, 46(6): 1190−1202.
|
| [14] |
赵炳巍, 贾峰, 曹岩, 等. 基于模拟退火算法的人工势场法路径规划研究[J]. 计算机工程与科学, 2022, 44(4): 746-752. ZHAO B W, JIA F, CAO Y, et al. Path planning based on artificial potential field method with simulated annealing algorithm[J]. Computer Engineering and Science, 2022, 44(4): 746-752. |
| [15] |
胡铮, 徐斌. 改进人工势场法的轨迹规划[J]. 电光与控制, 2023, 30(3): 38-41+53. HU Z, XU B. Trajectory planning based on improved artificial potential field method[J]. Electro-Optic & Control, 2023, 30(3): 38-41+53. DOI:10.15988/j.cnki.1004-6941.2025.1.020 |
2026, Vol. 48
