水面无人艇(unmanned surface vehicle,USV)因其体积小、操纵灵活、适应能力强等优点近年来受到了广泛关注[1].在军事领域,USV在战场情报收集、反潜艇作战、护航等领域有着极大的发展潜力;在民用领域,USV被应用于环境监测、水底地形勘探、海上搜救等方面[2].路径规划作为保障无人艇自主航行的关键技术之一,其作用是规划出一条能避开障碍物并满足无人艇操纵性的路径.目前常用的路径规划方法有人工势场法[3]、基于启发式搜索的A*算法[4]、粒子群算法[5]、遗传算法[6]以及基于人工智能的神经网络算法[7]、强化学习算法[8]等.人工势场法(artificial potential field,APF)是一种经典的路径规划算法,因其原理简单、易于实现、可操作性强等优点而被广泛应用,但APF存在易陷入局部极小值的问题.文献[9]利用APF进行USV的避碰路径规划,提出了等势能圆的概念,利用目标点与等势能圆的切点引导USV跳出局部极小值.文献[10]基于APF进行了无人艇编队的路径规划,通过设置多个目标点,降低了USV陷入局部极小值的概率.针对不同的应用需求,设计不同的势场函数是对APF进行改进的重要方式,文献[11]针对无人艇的动态路径规划问题,在传统人工势场法中加入了速度势场和加速度势场,从而提高了算法的动态规划性能.文献[12]在人工势场中加入了规则区域势场,从而使规划出的路径符合船舶海上避碰规则.文献[13]将APF用于多船避碰的路径规划,设计了一种改进的斥力场函数,同时利用最小会遇距离和最短会遇时间来动态调整算法参数,从而保障了船舶避碰时的安全会遇距离.上述基于APF的无人艇路径规划的研究忽略了研究对象本身的特点,如无人艇的航行特点和无人艇的操纵限制,而这些因素将严重影响规划路径的可行性.文献[14]针对船舶路径回归和船舶避碰问题设计了两种不同的势场函数,相对于传统势场法,其势场变化更为平缓,更加符合船舶航行特性.文献[15]基于KT方程计算了无人艇航向变化范围,使规划的路径更加符合工程实际,但该航向变化限制角为固定值,未考虑无人艇航向变化的动态特性.针对如何在规划算法中考虑无人艇航行特点和动态操纵特性等问题,提出了一种将改进APF算法和操纵性方程相结合的路径规划方法,根据无人艇航行特性,在势场函数中加入角度因子使势场变化更加符合USV航行特点;基于KT方程,推导得出无人艇的动态转艏限制角,以限制规划过程中USV的艏向变化;最后基于数值仿真,对比分析路径规划方法的优劣性.1 改进人工势场模型APF算法是由Khatib于1989年首次提出,其基本思想是通过人为构建的引力势场和斥力势场,使智能体避开障碍物向目标点前进.两种势场的表达式为Uatt(ρg)=ηρg2/2;(1)Urep(ρobs)=β(ρobs-1-ρ0-1)2/2 (ρobs≤ρ0),0 (ρobsρ0), (2)式中:Uatt和Urep分别为引力势能和斥力势能;η和β分别为引力增益系数和斥力增益系数;ρg和ρobs分别为物体到目标点的距离和物体到障碍物的距离;ρ0为障碍物斥力势场影响半径.在传统人工势场法中,当障碍物与目标点较远或者目标点位于障碍物斥力场影响范围内时,会导致算法规划出的路径不理想.两者的根本原因在于斥力势场与引力势场相互独立,导致了极端场景的出现.为避免极端场景出现,有学者在斥力势场中加入引力势场元素,其改进的表达式[16]为Urep(ρobs)=β(ρobs-1-ρ0-1)2ρg2/2 (ρobs≤ρ0);0 (ρobsρ0), (3)式中斥力场势能的计算仅与物体到障碍物的距离有关,使得障碍物附近的势能分布接近于圆台.无人艇的运动存在着大时滞、响应慢等特点,因此无人艇在避让障碍物时应提前施舵转向,当无人艇艏向发生偏转后应提前回舵.但目前的人工势场法因其势能计算仅与距离有关,无法在势能变化中考虑无人艇艏向的变化.针对这一问题,在现有的斥力场和引力场中加入角度因子,尝试使势能变化更加符合船舶运动特性.改进的势场表达式为Uatt(ρg)=ηρg2(1-kmaxγ)/2 (ρobs≤ρ0),ηρg2/2 (ρobsρ0); (4)Urep(ρobs)=(γ/2)β(ρobs-1-ρ0-1)2ρg2 (ρobs≤ρ0),0 (ρobsρ0); (5)γ=[(cosθ+1)/2]2,(6)式中:γ为角度因子;k为引力折减系数;θ为障碍物相对于无人艇的方位角.在多障碍物斥力势场中,引力势能的计算选取最大角度因子.加入角度因子后,当障碍物方位角较小时,即存在碰撞危险,引力势能将减小,斥力势能增大;当方位角增大,斥力势能减小,引力势能增大.利用人工势场法进行无人艇的路径规划时,通过无人艇在势场内受到的引力和斥力的合力来引导无人艇向目标点前进,引力和斥力的表达式分别为Fatt=ηρg(1-kmaxγ)∇ρg (ρobs≤ρ0),ηρg∇ρg (ρobsρ0);Frep=Frep_g+Frep_obs+Frep_angle (ρobs≤ρ0),0 (ρobsρ0);Frep_obs=-γβ(ρobs-1-ρ0-1)(ρg2/ρobs2)∇ρobs;Frep_g=γβ(ρobs-1-ρ0-1)2ρg∇ρg;Frep_angle=γβ(ρobs-1-ρ0-1)2ρg2[(cosθ+1)/2]∙[(-sinθ)/2]∇θ,式中:Fatt和Frep分别为引力和斥力;Frep_obs为无人艇与障碍物之间的斥力分量;Frep_g为无人艇与目标点之间的斥力分量;Frep_angle为障碍物方位角的斥力分量.Frep_obs,Frep_g和Frep_angle的方向如图1所示.10.13245/j.hust.240376.F001图1斥力分量方向2 基于KT方程的无人艇转艏动态限制角船舶的操纵响应模型是研究船舶操纵性的重要依据.野本谦作[17]通过试验得到船舶的操纵性能指数K和T,提出了船舶一阶操纵响应方程Tr˙+r=Kδ,简称KT方程,从而可以通过KT值来评价船舶的操纵性能,其中:K和T分别为回转性指数和追随性指数;r为转艏角速度;r˙为角加速度;δ为舵角.可见船舶舵角与船舶艏向变化的关系,当舵角固定时,KT方程能表示艏向变化趋势.在传统的人工势场法中存在艏向突变的问题,艏向的突变导致规划路径出现局部振荡.造成艏向突变的原因是斥力方向与引力方向的夹角接近180°,当斥力大于引力时导致合力方向发生较大的突变.现有的解决方案是通过引入固定转艏限制角,但固定的限制角规划出的路径并不理想,且不能很好地适应无人艇的艏向变化的动态特性.针对这一问题,基于船舶KT方程设计一种动态转艏限制角,其计算过程如下所示.首先将KT方程变形后离散化,计算当前时刻转艏加速度,具体计算公式为r˙(t)=[Kδ-r(t-1)]/T;r(t-1)=φ(t)-φ(t-1),式中:r˙(t)为t时刻的转角加速度;r(t-1)为t-1时刻的转角速度;φ(t)为当前时刻的艏向角.若当前时刻舵向与转向一致,则根据上一时刻的转角速度和当前时刻的角加速度计算当前时刻最大转角速度,具体计算公式为rmax(t)=r(t-1)+r˙(t),式中rmax(t)为t时刻转角速度的上限.若当前时刻进行“回舵”和施“反舵”操作,则当前时刻获得最大反向转角加速度,以此计算当前时刻最小转角速度,具体为r˙re(t)=[-Kδ-r(t-1)]/T;rmin(i)=r(i-1)+r˙re(i),式中:r˙re(t)为t时刻施“反舵”时的最大反向转艏加速度;rmin(t)为t时刻转角速度的下限.则t时刻的无人艇艏向变化范围为rmin(t)≤Δφ(t)≤rmax(t),(7)式中Δφ(t)为t时刻无人艇允许的艏向变化率.为考虑碰撞危险对转艏限制角的影响,将式(6)中的角度因子代入式(7)中,则无人艇的艏向变化范围为rmin(t)γ≤Δφ(t)≤rmax(t)γ.(8)加入角度因子后,若存在碰撞危险,则无人艇获得最大的转艏限制角;若无碰撞危险,则无人艇转艏限制角将会减小.将式(8)中的艏向变化率范围用于人工势场法中的无人艇转艏限制.3 仿真结果与分析为验证将引入角度因子的APF和动态转艏限制角相结合的路径规划方法的优越性,在不同障碍物环境下利用该方法进行路径规划仿真,并与现有的改进人工势场法(式(3)所示)和文献[15]中的固定转艏限制角进行仿真对比.将现有改进人工势场法设为方法1;现有改进人工势场法中加入固定转艏限制角设为方法2;现有改进人工势场法中加入动态转艏限制角设为方法3;提出的路径规划方法设为方法4;传统人工势场法设为方法5.另外,为验证规划路径的可行性,对规划路径进行循迹仿真对比.在仿真中,斥力影响范围ρ0为60 m,引力折减系数k为0.8,操纵性指数K和T分别为2.0和1.5,最大舵角为35°.对于单障碍物,仿真结果如图2和图3所示,可以看出:当无人艇、障碍物和目标点三者近似成一条直线时,方法1和方法5规划出的路径都出现局部振荡现象.方法2中加入固定转艏限制角后,路径振荡的现象得到改善,其原因是转艏限制角改善了规划时的艏向突变现象,如图3所示,但由于固定转艏限制角未考虑无人艇动态航行特性,规划路径出现短距离的S形路径.方法3避免了短距离的S形路径,但在规划路径时由于势场变化仅与距离相关,得出路径并不理想.本文方法4得出的路径更为平滑,更加符合无人艇操纵特性.从表1可以看出:方法2、方法3和方法4相较于方法1和方法5,路径的最大转角得到了大幅度的减小;相较于方法2和方法3的累积转角减少约10.05%,方法4减少约26.36%;同时,方法4的路径长度最优.10.13245/j.hust.240376.F002图2单障碍物路径对比10.13245/j.hust.240376.F003图3单障碍物艏向变化对比10.13245/j.hust.240376.T001表1单障碍物仿真结果对比方法最大转角/(°)累积转角/(°)路径长度/m1151.651 740.01454.00211.67201.70442.00318.04181.41444.00417.47148.54434.005161.891 267.17436.00单障碍物场景中,方法5规划出的路径过于靠近障碍物,因此多障碍物场景中不再使用该方法进行路径规划.对于多障碍物避碰场景,仿真结果如图4和图5所示.由图4和图5可见:在多障碍物环境下,所有方法均能规划出安全路径,但方法4所规划出的路径更为平滑,艏向变化更为平缓.由表2可见:方法2的路径最大转角最小,但固定的转艏限制角无法很好适应无人艇的动态特性,使得其在累积转角和路径长度方面表现较差;方法3和方法4更好地考虑了无人艇的转艏动态特性,相较于方法2,累积转角分别减少了8.26%和29.07%;同时,方法4的路径长度最短.仿真结果表明:提出的方法4既能消除人工势场法中的艏向突变现象,使艏向变化更加符合无人艇的转艏动态特性,也能使规划路径更为符合无人艇的航行特性.10.13245/j.hust.240376.F004图4多障碍物环境规划路径对比10.13245/j.hust.240376.F005图5多障碍物环境艏向和转艏速度变化对比10.13245/j.hust.240376.T002表2多障碍物环境下仿真结果对比方法最大转角/(°)累积转角/(°)路径长度/m1151.651 992.03476211.67445.63464318.03408.82466417.47316.07446为进一步验证规划路径的可行性,利用LOS引导律和PID控制器对方法2、方法3和方法4的规划路径进行循迹控制仿真,由于方法1规划出的路径存在局部振荡的现象,因此不对该方法进行循迹控制仿真.船舶的初始位置为(0,10),初始艏向为25°,纵向速度为2 m/s,前向距离为20 m,算法周期为2 s.PID参数kp=0.4,ki=0,kd=1.2.仿真结果如图6和图7所示.10.13245/j.hust.240376.F006图6路径循迹仿真结果10.13245/j.hust.240376.F007图7偏差变化由图6可以看出:基于LOS引导律和PID控制的循迹方法都能完成对3条规划路径的跟踪,但当遇到第一个障碍物时,方法2存在短距离的S形路径,无人艇的操纵性无法适应这种S形路径,从而使得最终的循迹路径在这段区域存在较大偏差.方法3不存在短距离的S形路径,但在第一个障碍物附近转向较为剧烈,循迹偏差依然较大.方法4的循迹路径与规划路径基本重合.图7反映了横向偏差值和艏向偏差值,去除由初始位置导致的偏差(从第18周期开始计算),方法2、方法3和方法4的横向偏差的均方误差值分别为0.454,0.177和0.078,方法4的横向偏差总体低于其他两种方法,方法4的偏差峰值为0.902 m,而方法2和方法3的横向偏差峰值分别为3.437和1.472 m.在艏向跟踪偏差方面,方法2、方法3和方法4的均方误差值分别为72.712,54.617和30.127,偏差峰值分别为36.77°,28.30°和20.46°.可见方法4的规划路径更加符合无人艇航行时的操纵性能,即引入角度因子和动态转艏限制角的APF算法规划出的路径更加符合无人艇的航行特点和操纵性能,更能满足工程实际需求.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览