避碰路径规划是无人船舶自主航行和避碰研究的领域之一,属于自主式智能航行技术,具有重要的研究意义和工程应用价值[1]。在诸如狭水道等复杂多变的水域中,船舶避碰路径规划的执行过程极为复杂。除了要考虑对所在水域的障碍物避碰外,还需进一步考虑船舶之间的动态避碰问题[2]。
因此,在避碰路径规划系统设计中需要充分考虑无人船自身操纵性能、航行水域环境和周围航行船舶干扰等问题。
当前,国内外研究航行水域中船舶避碰路径的方法主要有群体智能算法、数据分析法、机器学习法、快速搜索随机树算法、动态窗口算法、速度障碍法和人工势场法等[3]。但这些方法或多或少都存在一些问题,群体智能算法[4]是基于己知不变信息,进行离线规划,并不能有效解决水域中存在干扰船舶避碰路径规划问题,更不能解决狭水道这样复杂、多变的水域环境中的避碰路径规划问题。数据分析法[5]、机器学习法[6]及动态窗口算法[7]本质上同出一源,均是基于先前数据进行的二次专家决策[8]。快速搜索随机树算法[9]求解的最优路线存在凸点,不符合连续平滑特性,不能直接应用于船舶运动体线路规划。对于狭水道这样的复杂环境中,为避免与动态障碍物发生碰撞的船舶而言,基于速度障碍法[10]的避碰效果很难达到,特别是在水域中存在多个障碍物时,速度和航向的寻优会产生振动[11]。相较于上述方法,人工势场法最大的优势在于依据人的经验可任意构造障碍物势场,并且势场力能够融入到运动体动力学模型中,符合运动体连续实时避碰实际[12],但需要消除局部极小。
当前,基于势场法的改进策略都是根据运动体、障碍物和目标点之间的关系,对势场进行改进,却忽视了移动体的速度势场问题。一般而言,移动体和障碍物的相对速度越大、角度越小,碰撞后果越严重,基于此,本文增加三者之间的速度势场,即将无人船与障碍物和无人船与目标点间的相对速度融入到势场中,构建距离-速度势场模型。并将该方法应用于狭水道无人船自主航行避碰路径规划,以期获得符合工程实际的有效办法。
1 船舶运动数学模型船舶的实际运动异常复杂,在一般情况下具有6个自由度。基于Fossen模型的欠驱动船舶运动控制纵不能直接求取向推力和转向力矩。而采用MMG分离型模型进行欠驱动船舶运动控制研究,可以将这些控制力和力矩进一步转换为舵角和柴油机油门量,即控制系统的输入量。由于船舶运动依赖于柴油机输出的螺旋桨转速和舵机输出的舵角,因此基于MMG模型设计的控制变量更符合实际情况。本文为了兼顾2种模型的优势,故而将2种模型进行融合,取长补短。据此,装配单桨-单舵的欠驱动USV,其“Fossen +MMG”的综合运动数学模型[13]为:
$ \left\{ \begin{gathered} \dot x = u\cos \left( \psi \right) - v\sin \left( \psi \right) + {u_c}\cos \left( {{\psi _c}} \right),\\ \dot y = v\cos \left( \psi \right) + u\sin \left( \psi \right) + {u_c}\sin \left( {{\psi _c}} \right) ,\\ \dot \varphi = r,\\ \dot u = \frac{{{m_{22}}}}{{{m_{11}}}}vr - \frac{{{f_u}\left( u \right)}}{{{m_{11}}}} + \frac{{T\left( \cdot \right)}}{{{m_{11}}}}n + {d_{wu}},\\ \dot v = - \frac{{{m_{11}}}}{{{m_{22}}}}ur - \frac{{{f_v}\left( v \right)}}{{{m_{22}}}} + {d_{wv}},\\ \dot r = - \frac{{{Y_H}{x_C}}}{{{m_{33}}}} - \frac{{{f_r}\left( r \right)}}{{{m_{33}}}} + \frac{{F\left( \cdot \right)}}{{{m_{33}}}}\delta + {d_{wr}}。\\ \end{gathered} \right. $ | (1) |
式中:
其中螺旋桨的增益
$ \left\{ \begin{gathered} T\left( \cdot \right) = \left( {1 - {t_P}} \right)\left| n \right|\rho D_P^4{k_T}\left( {{J_P}} \right) ,\\ F\left( \cdot \right) = - 0.5\left( {{x_R} + {a_H}{x_H}} \right)\rho {A_R}{f_\alpha }U_r^2\cos \delta。\\ \end{gathered} \right. $ | (2) |
式中:推力减额系数
人工势场是由Khatib[15]提出,其算法原理是利用目标处势能低,障碍物处势能高生成人工势场。运动体在这样的市场中能够自动地以一定速度达到目标点。该运动体受到的总势场则是引力势场与斥力势场之和,其表达式为:
$ U\left(x\right)=U_{att}\left(x\right)+U_{rep}\left(x\right)。$ | (3) |
式中:
目标点、障碍物对机器人的引力、斥力势场数学模型为:
$ {U_{att}}\left( x \right) = \frac{1}{2}\xi {d^2}\left( {x,G} \right),$ | (4) |
$ {U_{rep,i}}\left( x \right) = \left\{ \begin{array}{ll} \dfrac{1}{2}{\eta _i}{\left( {\dfrac{1}{{{d_i}\left( x \right)}} - \dfrac{1}{{Q_i^*}}} \right)^2},{d_i}\left( x \right) \leqslant Q_i^* ,\\ 0 ,d\left( {x,G} \right) > Q_i^* 。\end{array} \right. $ | (5) |
式中:
在经典人工势场算法中,当运动体、目标点和障碍物处于一条直线上时极易诱发局部极小的发生,导致运动体处于停滞状态。为此,在APF方法[16 − 17]的基础上,增加运动体和障碍物及目标点之间的相对速度势场可以有效解决这一问题,如图1所示。
那么,目标点对移动体的引力势场数学表达式为,
$\begin{split}& {U_{att}}\left( {x,V} \right) =\\ &\left\{ \begin{array}{ll} \dfrac{1}{2}\xi {d^2}\left( {x,G} \right) + \dfrac{1}{2}{\xi _V} {\left\| {V - {V_{goa}}} \right\|^2} ,d\left( {x,G} \right) \leqslant d_G^* ,\\ d_G^*\xi d\left( {x,G} \right) - \dfrac{1}{2}d_G^*\xi + \dfrac{1}{2}{\xi _V}{\left\| {V - {V_{goa}}} \right\|^2} ,d\left( {x,G} \right) > d_G^*。\end{array} \right.\end{split} $ | (6) |
式中:
基于引力势场函数的负梯度,得到目标点对船舶的引力大小:
$ \begin{split}& {F_{att}}\left( {x,V} \right) =\\ &\left\{ \begin{array}{ll} \xi d\left( {x,G} \right){e_{d,att}} + {\xi _V}{V_{R,goa}}{e_{{V_{R,goa}}},} d\left( {x,G} \right) \leqslant d_G^* ,\\ d_G^*\xi {e_{d,att}} + {\xi _V}{V_{R,goa}}{e_{{V_{R,goa}}}},d\left( {x,G} \right) > d_G^* 。\end{array} \right.\end{split} $ | (7) |
式中:
障碍物对船舶的排斥力之间的关系可以表示为:
$ \begin{split}&{U_{rep,i}}\left( {x,V} \right) = \\ &\left\{ \begin{array}{ll} \dfrac{1}{2}{\eta _i}{\left( {\dfrac{1}{{{d_i}\left( x \right)}} - \dfrac{1}{{Q_i^*}}} \right)^2} d{\left( {x,G} \right)^2} + \dfrac{1}{2}{\eta _V}{V_{R,obs}}^2 ,{d_i}\left( x \right) \leqslant Q_i^* ,\\ 0,{d_i}\left( x \right) > Q_i^* 。\end{array} \right.\end{split} $ | (8) |
式中:
根据梯度概念可知,
基于求斥力势场函数的负梯度,可求得障碍物对船舶的斥力,
$ {F_{rep,i}}\left( {x,V} \right) = \left\{ \begin{array}{ll} {F_{i,x}} + {F_{i,V}},{d_i}\left( x \right) \leqslant Q_i^*\; {\mathrm{and}}\; V > 0,\\ 0 ,{d_i}\left( x \right) > Q_i^* \; {\mathrm{and}}\; V > 0 。\end{array} \right. $ | (9) |
式中:
$ \begin{split}{F_{i,x}} =& - {\nabla _x}\left\{ \frac{1}{2}{\eta _i}{{\left( {\frac{1}{{{d_i}\left( x \right)}} - \frac{1}{{Q_i^*}}} \right)}^2}d{{\left( {x,G} \right)}^2} + \right.\\ &\left.\frac{1}{2}{\eta _V}{V_{R,obs}}^2 \right\} ={F_{i,x}}1 + {F_{i,x}}2 + {F_{i,x}}3,\end{split} $ | (10) |
$ F_{i,x}1=-\eta_i\left(\frac{1}{d_i\left(x\right)}-\frac{1}{Q_i^*}\right)\frac{d_i\left(x,G\right)^2}{d_i\left(x\right)^2},$ | (11) |
$ {F_{i,x}}2 = {\eta _i}{\left( {\frac{1}{{{d_i}\left( x \right)}} - \frac{1}{{Q_i^*}}} \right)^2}{d_i}\left( x \right){e_{R,goa}} ,$ | (12) |
$ {F_{i,x}}3 = \pm {\eta _V}{V_{R,obs}}\frac{{{V_{R,obs \bot }}{e_{R,obs \bot }}}}{{{d_i}\left( x \right)}}。$ | (13) |
式中:
因此,可得,
$ \begin{split}F_{i,x} = & -\eta_i\left(\frac{1}{d_i\left(x\right)} - \frac{1}{Q_i^*}\right) \frac{d_i\left(x,G\right)^2}{d_i\left(x\right)^2} + \eta_i\left(\frac{1}{d_i\left(x\right)}-\frac{1}{Q_i^*}\right)^2 \times \\ & d_i\left(x\right)e_{R,goa}\pm\eta_VV_{R,obs}\frac{V_{R,obs\bot}e_{R,obs\bot}}{d_i\left(x\right)}。\end{split} $ | (14) |
同样地,可以得到,
$\begin{split} {F_{i,V}} = & - {\nabla _V}\left\{ \frac{1}{2}{\eta _i}{{\left( {\frac{1}{{{d_i}\left( x \right)}} - \frac{1}{{Q_i^*}}} \right)}^2}d{{\left( {x,G} \right)}^2} +\right.\\ &\left. \frac{1}{2}{\eta _V}{V_{R,obs}}^2 \right\} = - {\eta _V}{V_{R,obs}}{e_{R,obs}}。\end{split} $ | (15) |
进一步,可以得到障碍物对船舶的斥力:
$ \begin{split}F_{rep,i}\left(x,V\right)= & -\eta_i\left(\frac{1}{d_i\left(x\right)}-\frac{1}{Q_i^*}\right)\frac{d_i\left(x,G\right)^2}{d_i\left(x\right)^2}+ \\ & \eta_i\left(\frac{1}{d_i\left(x\right)}-\frac{1}{Q_i^*}\right)^2d_i\left(x\right)e_{R,goa}+\eta_VV_{R,obs} \\ & \frac{V_{R,obs\bot}e_{R,obs\bot}}{d_i\left(x\right)}-\eta_VV_{R,obs}e_{R,obs}。\end{split} $ | (16) |
可知,
为了和船舶实际避碰一致,斥力势场作用范围
由于周围存在多个障碍物,我船所受的斥力为:
$ F_{rep}=\sum\limits_{i=1}^nF_{repi}。$ | (17) |
式中:
为此,我船所受到总的势场力
$ {F_{all}} = {F_{att}} + {F_{rep}} 。$ | (18) |
那么,我船在总的势场力
测试范围采用平面笛卡尔坐标系绘制,单位为m。仿真实验条件设置如下:
1)本船Os位于(
2)航行水域中存在3艘航行船舶和4种障碍物(诸如浅滩、沉船等)。其中,3艘航行船舶对应的是图3中的Ts1、Ts2和Ts3,4种障碍物对应的是图3中的Obs1、Obs2、Obs3和Obs4。Ts1位于(
在避碰过程中,干扰船(Ts1、Ts2和Ts3)的轨迹如图3所示。可知,本船出发后,受到障碍物和干扰船影响,船舶在引力和斥力共同作用下,航向和速度发生变化,但最终顺利航行至目的地。
3.1.2 参数设置试验环境及条件:PC机-华硕天选5,i9-13980HX处理器,16GB内存,1TB硬盘,8GB显存,RTX4060显卡,操作系统为64bit Windows 10 Home Basic。采用的参数为:
仿真实验中,本船Os航行操纵过程中与航行水域中存在3艘航行船舶和4种障碍物相对位置关系分别对应于图4和图5。
1)由图4可知:
①航行船舶Ts1为避离静态障碍物Obs3,受斥力作用,其开始阶段航向向左改向较大(航向减小至20°左右);但在被本船Os追越后,为履行“保向保速”义务,其航向减小幅度变小(最终航向稳定在10°附近)。
②本船Os追越航行船舶Ts1过程中,受斥力作用,航向大幅度向左改向,航向急剧减小至10°左右;在追越完毕后,为了再次避让障碍物Obs4,其航向在斥力场的作用下,又迅速向右改向,航向快速增加到50°左右;随后在与航行船舶Ts2的对遇过程中,收到强大斥力作用,完成大幅度右转至航向增加到150°左右后,完成避让操作;最后,在引力势场的作用下,航向迅速减小至70°左右;在此过程中,遇到航行船舶Ts3和障碍物Obs1,又受到斥力作用,航向先减小到20°附近后,在平缓增加到90°左右驶向目标点。
③船舶Ts2在航行过程中,与本船Os距离较大,斥力作用不大,航向几乎不变。
④船舶Ts3在航行过程中,先后为了避让障碍物Obs2、本船Os和Obs3,其航向先左转、再右转,航向值先快速减小、再迅速增加。
2)由图5可知:
①在仿真实验全局过程中,本船Os与航行水域中的3艘航行船舶(Ts1、Ts2和Ts3)交汇过程中,相对距离总体呈现先减小、后增大的变化趋势;同时,最小的会遇距离是在与船舶Ts3避碰过程中降低的
②基于速度势场的复杂水域船舶避碰路径较为平滑,满足船舶操纵航行实际,符合《国际海上避碰规则》中关于“追越”、“对遇”及“交叉”三大典型局面船舶避碰规范。
4 结 语基于本文所提算法模型,在计算机上构建了动、静态障碍物共存的复杂多变场景进行实验验证。结果表明融合速度势场的改进型人工势场算法能够有效解决在复杂水域中同时存在动态干扰船和静态障碍物时无人船的路径规划问题,能使运动体主动改向进行避碰的问题,且无人自主船舶能以主动改变航向的方式快速地避离障碍物。
航线规划技术作为智能船舶七大关键技术之一,对智能船舶发展具有关键促动作用。本文的研究从属航线规划技术领域,对实现智能船舶无人化航行和避碰控制有着实际应用价值。
[1] |
张旋武, 谢磊, 初秀民, 等. 无人船路径跟随控制方法综述[J]. 交通信息与安全, 2020, 38(1): 20-26. DOI:10.3963/j.jssn.1674-4861.2020.01.003 |
[2] |
HONGGUANG L, YONG Yin. Fast path planning for autonomous ships in restricted waters[J]. Applied. Science. 2018, 8, 2592.
|
[3] |
张树凯, 刘正江, 蔡垚, 等. 无人船艇航线自动生成研究现状及展望[J]. 中国航海, 2019, 42(3): 6-11. DOI:10.3969/j.issn.1000-4653.2019.03.002 |
[4] |
AGNIESZKA L. Ship’s trajectory planning for collision avoidance at sea based on ant colony optimisation[J]. The Journal of Navigation, 2015, 68: 291-307. DOI:10.1017/S0373463314000708 |
[5] |
倪生科, 刘正江, 蔡垚, 等. 基于混合遗传算法的船舶避碰路径规划[J]. 上海海事大学学报, 2019, 40(1): 21-26. DOI:10.13340/j.jsmu.2019.01.004 |
[6] |
ZHANG Y Q, SHI G Y, LIU H, et al. Decision supporting for ship collision avoidance in restricted waters[J]. International Journal of Simulation and Process Modelling, 2020, 15(1-2): 40-51. DOI:10.1504/IJSPM.2020.106968 |
[7] |
陈天元, 袁伟, 俞孟蕻. 基于集合制导和动态窗口约束的无人船自主动态避碰方法研究[J]. 中国造船, 2020, 61(3): 176-185. DOI:10.3969/j.issn.1000-4882.2020.03.019 |
[8] |
DENG F, JIN L L, HOU X H , et al. COLREGs: compliant dynamic obstacle avoidance of usvs based on thedynamic navigation ship domain[J]. Journal of Marine Science and Engineering, 2021, 9: 837. DOI:10.3390/jmse9080837 |
[9] |
周维, 过学迅, 裴晓飞, 等. 基于RRT与MPC的智能车辆路径规划与跟踪控制研究[J]. 汽车工程, 2020, 42(9): 1151-1158. DOI:10.19562/j.chinasae.qcgc.2020.09.002 |
[10] |
XU H T, MIGUEL A H, SOARES C G. Modified vector field path-following control system for an underactuated autonomous surface ship model in the presence of static obstacles[J]. Journal of Marine Science and Engineering., 2021, 9: 652. DOI:10.3390/jmse9060652 |
[11] |
SONG L, SU Y, DONG Z, et al. A two-level dynamic obstacle avoidance algorithm for unmanned surface vehicles[J]. Ocean Engineering, 2018, 170: 351-360. |
[12] |
孙耀东. —种船舶航行路径的智能规划研究[D]. 大连: 大连海事大学, 2018.
|
[13] |
WANG R , MIAO K, SUN J, et al. Intelligent control algorithm for USV with input saturation based on RBF network compensation[J]. Int. J. Reason. -Based Intell. Syst., 2019, (11): 235−241.
|
[14] |
SHEN Z P, JIANG Z H, WANG G F, et al. Fuzzy adaptive iterative sliding mode control of sail-assisted ship motion[J]. Journal of Harbin Engineering University, 2016, 37(5): 634−639.
|
[15] |
KHATIB O. Real-time obstacle avoidance for manipula-tors and mobile robots[J]. The International Journal of Robotics Research, 1986, 5(1): 90-98. DOI:10.1177/027836498600500106 |
[16] |
郭凯红, 李博昊, 宗晓瑞. 基于改进人工势场的避障路径规划策略研究[J]. 舰船科学技术, 2021, 43(7): 54-57. |
[17] |
翟红生, 王佳欣. 基于人工势场的机器人动态路径规划新方法[J]. 重庆邮电大学学报(自然科学版), 2015, 27(6): 814-818. |
[18] |
WANG N. A novel analytical framework for dynamic quaternion ship domains[J]. Journal Navigation., 2013, 66: 265-281. DOI:10.1017/S0373463312000483 |