水面无人艇(Surface Unmanned Vehicle,USV)配备先进的环境感知设备,其体型相较与传统船舶更加小巧,应用更加广泛。USV能够代替人类完成水面危险任务,提高水面作业的安全性[1]。为使USV在行驶过程中能无碰撞到达目的地,路径规划算法已经被部署到USV上。路径规划包括全局路径规划与局部路径规划,全局路径规划负责从起点到终点的整体路径规划,而局部路径规划负责USV当前位置附近的最佳行驶路径以避开障碍物[2]。不同的路径规划算法应用在USV上会受到船艇本身的约束,如动力系统约束、航行规则约束、环境约束等[3]。
人工势场法(Artificial Potential Field,APF)以其平滑的避障路线被广泛应用于USV路径规划中。APF算法依靠虚拟的引力势场和斥力势场引导机器人在势场中运动[4],传统APF算法存在局部最小值、目标点不可达、路径不可控等问题。刘涛等[5]针对APF算法在未知环境中规划效果差的问题,采用了长短记忆循环神经网络和强化学习算法结合对APF算法进行改进,结果表明改进后的算法对动态障碍物的规划具有更大优势。Fan等[6]通过构建虚拟六边形势场来摆脱局部最小值的困境,并验证了其可行性。为解决USV在传统PAF算法下的转向过大问题与局部最小值问题,Song等[7]通过设置转向角约束、速度限制与预测势场来生成适合USV的平滑路径。APF算法应用于USV上还要考虑USV实际航行的要求等限制。为解决USV在传统APF算法下的航迹偏移量过大的问题,Zhu等[8]通过引入动态移动目标点来引导避障后的USV返回路线,实验证明改进后的算法更加适合于工程应用中。为了克服USV在形式过程中受到风浪的影响,Chu等[9]通过设置虚拟足点作为引力点,USV在虚拟足点的引力作用下能够保持高精度的路径保持。
本文针对传统APF算法中的转向过大、航迹不可控、局部最小值3个问题,研究了将视线制导算法(Line of Sight,LOS)与APF相互结合的方法,实现航迹可控的避障路径。通过切线选取障碍物边界点,设定动态避障引力点来实现避障,避免USV陷入局部最小值环境。改进算法考虑到了USV自身的艏向约束与航向控制需求,在实际应用中具有参考价值。
1 避障方案分析与改进 1.1 航迹保持方案设计为使USV的轨迹能够完全贴合期望航迹线,选择LOS算法对期望航迹进行跟随。LOS算法主要根据几何原理计算出LOS期望角,控制器调节USV当前的艏向角
U(t)=√x2(t)+y2(t)。 | (1) |
USV随时间
Ψ=atan2(y(t)x(t))∈[−π,π]。 | (2) |
如图1所示,设起点
![]() |
图 1 LOS期望角的判断 Fig. 1 LOS expectation angle judgment |
αk=atan2(yk+1+ykxk+1−xk)∈[−π,π]。 | (3) |
式中:
ε(t)=R(αk)T[P(t)−Pk]。 | (4) |
式中:
R(αk)=[cosαk−sinαksinαkcosαk]。 | (5) |
USV当前目标点
χd(e)=χp+χr(e)。 | (6) |
式中:
χr(e)=arctan(−eΔ)。 | (7) |
式中:
根据APF算法的目标点引力原理,对每个期望航迹点构建引力函数。当USV与
![]() |
图 2 LOS轨迹图 Fig. 2 LOS trajectory diagram |
传统LOS算法在到达指定路径后,调节艏向与航迹线角度一致即完成路径跟踪任务,但尚未考虑到USV在APF算法的引导下,航迹以外的障碍物仍然会对USV有斥力的作用。为解决这个问题,在此基础上沿着USV当前的艏向向量
APF通过假设目标点产生吸引力、障碍物产生排斥力来实现局部避障,其中的斥力公式与引力公式由Oussama在1986年提出[11]。1.1节将传统的单一目标点改进为LOS期望航迹点,但当航迹线上出现障碍物时,期望航迹点可能会处于障碍物内部或后部,由于障碍物的斥力作用,USV会出现避障失败或无法到达期望航迹点的情况。
如图3所示,当USV中心点与下个期望航迹点的连线上存在障碍物,则需要舍弃当前
![]() |
图 3 避障引力点示意图 Fig. 3 Schematic diagram of obstacle avoidance gravitational points |
USV通过改进LOS算法获取到下个期望航迹点坐标,当障碍物出现在路径中时,USV不仅会受到传统APF算法下的障碍物斥力作用,还会受到障引力点的作用,向障碍物边界行驶。当USV与避障引力点的距离小于设定值时,计算下个期望航迹点的坐标位置,并再次判断是否需要切换为避障引力点。最后USV逐个受到避障引力点与期望航迹点的引力作用,避开障碍物到达目的地。
2 改进LOS-APF算法为提高无人艇避障的路径保持能力,同时解决传统人工势场法中存在的局部最小值问题,提出基于LOS的APF算法(LOS-APF)。
2.1 航迹引力点函数设定LOS-APF通过计算得到各期望航迹引力点,将目标航迹分为若干线段,无人艇依次受到各航迹引力点的引力作用,如图4所示。
![]() |
图 4 航迹引力点示意图 Fig. 4 Schematic diagram of track gravitational points |
当USV行驶到期望航迹点
Uatt(q)={0,‖q−qlosn‖<Rlosn,η⋅ln(‖q−qlosn‖Rlosn),‖q−qlosn‖⩾Rlosn。 | (8) |
式中:
Rlosn=3√L2+B2。 | (9) |
式中:
Fatt(q)={0,‖q−qlosn‖<Rlosn,η1‖q−qlosn‖1Rlosn⋅∇‖q−qlosn‖,‖q−qlosn‖⩾Rlosn。 | (10) |
∇‖q−qlosn‖=(x−xlosn‖q−qlosn‖,y−ylosn‖q−qlosn‖)。 | (11) |
终点作为航迹线上最后一个期望航迹点,需要考虑到USV距离终点过远会产生极大的吸引力,定义终点引力函数如下式:
Uattg(q)={12η‖q−qg‖2,‖q−qg‖<Rlosn,Rlosnη‖q−qg‖−12ηRlosn2,‖q−qg‖⩾Rlosn。 | (12) |
式中:
Fattg(q)={η‖q−qg‖,‖q−qg‖<Rlosn,Rlosnη∇‖q−qg‖,‖q−qg‖⩾Rlosn。 | (13) |
∇‖q−qg‖=(x−xg‖q−qg‖,y−yg‖q−qg‖)。 | (14) |
USV最终受到所有期望航迹点的引力到达终点,遵循航迹点引力函数选择如下式:
F′att(q)={Fatt(q),‖qlosn−qg‖>Rlosn+δg,Fattg(q),‖qlosn−qg‖⩽Rlosn+δg。 | (15) |
式中:
避障引力点的设定不仅为USV提供一个避障方向,还能够在USV陷入局部最小值时帮助USV摆脱当前环境。避障引力点的引力函数定义如下式:
Uatto(q)={0,‖q−qlosn‖<Rlosn+δatto,A⋅e−‖q−qlosn‖22σ2,‖q−qlosn‖⩾Rlosn+δatto。 | (16) |
式中:A为避障引力点的引力系数;
Fatto(q)={0,‖q−qlosn‖<Rlosn+δatto,−Aδ2⋅e−‖q−qlosn‖22σ2⋅∇‖q−qlosn‖,‖q−qlosn‖⩾Rlosn+δatto。 | (17) |
∇‖q−qlosn‖=(x−xlosn‖q−qlosn‖,y−ylosn‖q−qlosn‖)。 | (18) |
由式(17)可看出,当USV进入到以
避障引力点的设定能够提供障碍物边界点的引力作用,由于切点过于贴近障碍物,除了避障引力点引力函数的
Urep(x,y)={12k(1‖q−qo‖−1ρo)2cos(Ψ−Ψo),‖q−qo‖<ρo∩Ψo∈(Ψ−π2,Ψ−π2),0,other。 | (19) |
式中:
Frep1(x,y)=kr1(1‖q−qo‖−1ρo)1‖q−qo‖2×cos(Ψ−Ψo)⋅∇‖q−qo‖, | (20) |
Frep2(x,y)=12kr1(1‖q−qo‖−1ρo)2∇Ψo。 | (21) |
∇Ψo=sin(Ψ−Ψo)(yo−y)i−(xo−x)j(xo−x)2+(yo−y)2。 | (22) |
如图5所示,USV受到的斥力函数可视为
![]() |
图 5 合力力示意图 Fig. 5 Resultant force diagram |
构造多障碍物环境进行仿真。图6为传统APF算法的避障效果图,避障后的USV产生了过度转向,并且受到了航迹线附近障碍物斥力的影响。图7为改进后的LOS-APF算法,由于避障引力点的存在,USV以贴近障碍物边缘的路径进行避障,在未到达避障引力点时立刻切换为下个引力点,从而避免与障碍物发生碰撞。由于期望航迹点的存在,LOS-APF算法与传统算法相比,路径更加平滑。
![]() |
图 6 多障碍物传统APF算法 Fig. 6 Multi-obstacle traditional APFalgorithm |
![]() |
图 7 多障碍物改进LOS-APF算法 Fig. 7 Multi-obstacle improved LOS-APF algorithm |
图8(a)为改进前后2种算法的航迹偏移距离,2种算法均在210 ms处达到航迹偏移的最大值,传统APF的偏移达到82.6 m,而LOS-APF算法的偏移为30.8 m,最大航迹偏移量减少了62.71%。从整体上看来,400 ms后的LOS-APF算法完全贴合航迹线行驶,APF和LOS-APF算法整体的偏移量分别为
![]() |
图 8 多障碍物实验数据对比图 Fig. 8 Comparison of experimental data of obstacles |
图8(b)为传统APF算法与改进后LOS-APF算法的USV艏向角对比图,APF算法由于在初始位置就受到了斥力作用开始了转向操作,偏离45°的最大艏向角度为62.9°。LOS-APF算法由于受到避障引力点作用稍晚转向,最大角度为37.44°,相比减少了59.52%。在多障碍物环境中,改进算法无论是航迹保持还是艏向变化都远小于传统算法。
3.2 大型障碍物避障实验仿真为验证改进LOS-APF算法避障的效果,设定大型障碍物环境进行算法对比仿真实验。图9为传统APF算法的大型障碍物避障路线,当USV进入到障碍物的斥力势场范围后,USV由于受到障碍物斥力的作用产生艏向角的急转,甚至出现一定的后退情况,随后USV受到障碍物斥力的作用平滑避开障碍物并到达终点。
![]() |
图 9 大型碍物传统APF算法 Fig. 9 Traditional APF algorithm for large obstacles |
图10为改进LOS-APF算法在相同的障碍物地图下的避障路线,包括3个航迹引力点
![]() |
图 10 改进LOS-APF算法大型障碍物避障 Fig. 10 Improved LOS-APF algorithm for large obstacle avoidance |
图11(a)为传统APF算法与改进后LOS-APF算法在大型障碍物地图中的偏移量对比图,当USV行驶时间达到675 ms时,USV在2种算法下都到达了最大航迹偏移的位置,LOS-APF算法在最大航迹偏移量上比传统APF算法减小了26 m,USV在LOS-APF算法下整体的偏移总量减少了13.2%。
![]() |
图 11 大型障碍物实验数据对比图 Fig. 11 Comparison of experimental data for large obstacles |
图11(b)为传统APF算法与改进后LOS-APF算法的USV在大型障碍物避障中的艏向角对比图。传统APF与LOS-APF算法最大正转向角的位置分别为67°与49°,最大负转向角分别为−36°与−34°,整体艏向角度上改进算法减少了17.3%。在大型障碍物避障过程中由于环境的限制,LOS-APF算法的偏移量与艏向角变化都有一定的下限。从仿真结果可以看出,在大型障碍物地形中,USV在LOS-APF算法下具有更加短航迹偏移与更小的艏向角变化,避障效果更加优越。
3.3 局部最小值避障实验仿真传统APF算法在避障过程中存在局部最小值的问题。图12为传统APF算法在陷入局部最小值情况下的避障路线图,APF算法理论上的全局梯度最低点为目标点,但由于环境与USV本身转向角度的限制,陷入无法摆脱的环境位置点。此时USV受到的障碍物斥力与引力相互抵消,陷入局部最小值状态,停留在原地。
![]() |
图 12 传统APF算法局部最小值避障 Fig. 12 Traditional APF algorithm local minimum obstacle avoidance |
改进LOS-APF算法在同样的局部最小值环境中,由于设置了避障引力点,USV逐个到达引力点并最终到达目的地。图13中的USV在既定的局部最小值环境下,通过改进后的LOS-APF算法动态切换引力点摆脱了局部最小值的状态,相较于传统APF算法,改进算法能够成功摆脱局部最小值环境。
![]() |
图 13 改进LOS-APF算法局部最小值避障 Fig. 13 Improved LOS-APF algorithm for local minimum obstacle avoidance |
本文针对传统APF在无人艇路径规划中存在航迹不可控和局部最小值问题,经研究改进提出一种LOS-APF算法。算法通过LOS原理确定了路径上的每个期望航迹点坐标,将位于障碍物内部的航迹点动态切换为避障点引力点。利用APF算法作为规划方案,采用自然对数构建航迹引力公式,并采用幂函数构建终点引力公式;在斥力函数中添加相对角度变量,随着角度的变化,障碍物对USV的斥力作用也逐渐变化,适用于航迹要求更高的场景。最后从仿真实验结果中可以得出,LOS-APF算法的路径偏移量远低于传统APF的路径偏移量,USV的艏向变化也更小,避障引力点的设计帮助USV摆脱局部最小值环境。在实际应用中LOS-APF算法既保留了APF算法的航迹平滑的特点,还能够驱动USV在稳定的航线行驶,有一定的实际应用价值。
[1] |
王磊, 刘晶晶, 齐俊艳, 等. 基于改进人工势场法的AUV全局路径规划[J]. 河南理工大学学报(自然科学版), 2024, 43(1): 132-139. |
[2] |
MARIN-PLAZA P, HUSSEIN A, MARTIN D, et al. Global and local path planning study in a ROS-Based research platform for autonomous vehicles[J]. Journal of Advanced Transportation, 2018, 20181−10.
|
[3] |
葛甜, 岳佳豪. 改进人工势场法的避障轨迹规划[J]. 汽车实用技术, 2023, 48(23): 50-55. |
[4] |
张扬, 彭鹏菲, 曹杰. 基于改进APF算法的水面无人艇局部路径规划[J]. 兵器装备工程学报, 2023, 44(9): 42-48. |
[5] |
刘涛, 贾立校, 曹翔. 动态人工势场法的无人船避障路径规划[J]. 舰船科学技术, 2023, 45(5): 89-92. |
[6] |
FAN X, GUO Y, LIU H, et al. Improved artificial potential field method applied for AUV path planning[J]. Mathematical Problems in Engineering, 2020(1): 1−21.
|
[7] |
SONG J, HAO C, SU J. Path planning for unmanned surface vehicle based on predictive artificial potential field[J]. International Journal of Advanced Robotic Systems, 2020, 17(2): 255689146. |
[8] |
ZHU Z, YIN Y, LYU H. Automatic collision avoidance algorithm based on route-plan-guided artificial potential field method[J]. Ocean Engineering, 2023, 271(3): 1-23. |
[9] |
CHU Y, WU Z, YUE Y, et al. PK-APF: path-keeping algorithm for USVs based on artificial potential field[J]. Applied Sciences, 2022, 12(16): 8201. DOI:10.3390/app12168201 |
[10] |
LIU Z, SONG S, YUAN S, et al. ALOS-based USV path-following control with obstacle avoidance strategy[J]. Journal of Marine Science and Engineering, 2022, 10(9): 1203. DOI:10.3390/jmse10091203 |
[11] |
WANG X, LIU J, PENG H, et al. A simultaneous planning and control method integrating APF and MPC to solve autonomous navigation for USVs in unknown environments[J]. Journal of Intelligent & Robotic Systems, 2022, 105(2): 36-52. |