舰船科学技术  2025, Vol. 47 Issue (4): 186-189    DOI: 10.3404/j.issn.1672-7649.2025.04.031   PDF    
基于人工智能技术的海上无人驾驶船舶自动避障方法
叶磊, 李建喜     
南昌航空大学 信息工程学院,江西 南昌 330063
摘要: 为将复杂海洋避障问题简单化处理,提出人工智能技术的海上无人驾驶船舶自动避障方法,根据障碍物的位置,实时调整船舶的航向,确保船舶在航行过程中始终避开障碍物。构建无人驾驶船舶的动力以及运动学模型,模拟其在海上的运行情况;采用人工智能技术中的改进人工势场法,综合考虑障碍物对船舶的斥力以及目标点为船舶的引力,计算船舶所受总势场,将总势场的方向视为船舶避障操作的预设航向,设计基于PD控制器的避障控制方法,以实际航向与预设航向之间的偏差及其变化率为输入,输出舵机舵摆角度,实现船舶的自动避障。实验结果显示,该方法可以实现多障碍物密集分布环境和复杂动态障碍物场景下的自动避障,保障无人驾驶船舶的海上安全航行。
关键词: 人工智能     无人驾驶船舶     海上避障     多障碍物    
Automatic obstacle avoidance method for unmanned ships at sea based on artificial intelligence technology
YE Lei, LI Jianxi     
School of Information Engineering, Nanchang Hangkong University, Nanchang 330063, China
Abstract: In order to simplify the complex ocean obstacle avoidance problem, an artificial intelligence technology based automatic obstacle avoidance method for unmanned ships at sea is proposed. Based on the position of obstacles, the ship's heading is adjusted in real time to ensure that the ship always avoids obstacles during navigation. Build power and kinematic models for unmanned ships, simulate their operation at sea. Adopting the improved artificial potential field method in artificial intelligence technology, taking into account the repulsive force of obstacles on the ship and the gravitational force of the target point as the ship, the total potential field experienced by the ship is calculated, and the direction of the total potential field is regarded as the preset heading of the ship's obstacle avoidance operation. A PD controller based obstacle avoidance control method is designed, which takes the deviation and rate of change between the actual heading and the preset heading as input, outputs the rudder swing angle of the servo, and achieves automatic obstacle avoidance of the ship. The experimental results show that this method can achieve automatic obstacle avoidance in environments with dense distribution of multiple obstacles and complex dynamic obstacle scenes, ensuring the safe navigation of unmanned ships at sea.
Key words: artificial intelligence     unmanned ships     obstacle avoidance at sea     multiple obstacles    
0 引 言

海上船舶无人驾驶自主航行过程中,需要能够实时感知周围环境,准确识别障碍物,并自主规划出一条安全无碰撞的航线[1]。然而,海洋环境的复杂性和不确定性给无人船的自主航行带来了严峻挑战。海浪、海流、暗礁、其他船只以及未知的障碍物等,都可能成为无人船航行过程中的潜在威胁。因此,如何实现无人船在复杂海洋环境中的自动避障,成为了一个亟待解决的关键问题。

为此众多学者在此方面展开大量研究,如刘淑霞等[2]依据国际海上避碰准则精简速度选择范围,预测障碍物动态以确定无碰撞航行路径,同时纳入海洋环境扰动,利用横向误差调整漂角以优化航行方向,从而在复杂海域中实现高效自动避障,但是该方法适应性受限。Xue等[3]利用改进的近端策略优化算法和基于门控循环单元的神经网络,使海上船舶无人驾驶能够准确判断碰撞情况,并给出合理的避障行为,在包含动态和静态障碍物的复杂环境中实现有效避障。但该方法通常需要大量的计算资源来进行模型训练和实时推理,且在资源受限的海上船舶无人驾驶平台上,深度强化学习算法的高计算需求可能成为一个挑战。张乃天等[4]为了增强海上船舶无人驾驶自动避障路径的安全性和简化其复杂性,对快速行进法进行了改良,具体做法是引入时间场函数以促使海上船舶无人驾驶在远距离避开障碍物,并设计梯度拐点评价函数来减少路径中的转向次数。但是该方法对于动态障碍物的实时避障能力可能有限。当海洋中出现突发障碍物或障碍物运动轨迹发生变化时,该方法可能无法及时做出有效的避障决策。谭智坤等[5]针对无人船的运动特性进行优化,通过引入障碍物搜索角策略以及全新评估函数,使无人船能够灵活穿梭于密集障碍区域而不发生碰撞,但是该方法在路径规划过程中可能会受到多种因素的影响,如障碍物形状、大小、位置以及无人船的运动特性等。这些因素的变化可能导致算法的不稳定性,影响无人船的避障效果。

人工势场法作为一种在机器人领域较早被提出的人工智能算法,通过将移动物体所处的环境抽象为一个势力场,目标点抽象为一个引力极,障碍物抽象为一个斥力极,使得机器人在这2种力的共同作用下,沿着合力方向朝目标点前进,产生非常平滑的避障运动轨迹,适用于机器人的路径规划和避障[6]。因此提出基于人工智能技术的海上船舶无人驾驶自动避障方法,并分析其性能。该方法的创新点和优势如下:

1)构建无人驾驶船舶的动力以及运动学模型,模拟其在海上的运行情况,提供了更为真实和可靠的环境基础;

2)采用人工智能技术中的改进人工势场法,使得船舶在面对复杂障碍物分布和目标路径时,能够更灵活地调整其运动轨迹,避免陷入局部最优解。综合考虑障碍物对船舶的斥力以及目标点为船舶的引力,使得避障过程更加符合实际航行需求。

3)计算船舶所受总势场,能够实时反映船舶当前位置与障碍物和目标点之间的相对关系,从而动态调整预设航向,提高避障的灵活性。

4)设计基于PD控制器的避障控制方法,以实际航向与预设航向之间的偏差及其变化率为输入,输出舵机舵摆角度,实现船舶的自动避障,提高了避障控制的精度和稳定性,还增强了船舶对复杂环境的适应能力。

1 海上船舶无人驾驶自动避障方法 1.1 海上船舶无人驾驶运动模型与避障控制器设计

构建无人驾驶船舶在海上运行的四自由度运动数学模型,模拟其海上运行情况,海上船舶无人驾驶动力学模型表达式为:

$ \boldsymbol{MV}+\boldsymbol{CV}+\boldsymbol{DV}+\boldsymbol{G}=\boldsymbol{F}+\boldsymbol{F}\mathrm{_{ruddte}}+\boldsymbol{F_{\mathrm{wave}}}。$ (1)

式中:$ {\boldsymbol V} = {\left[ {{v_x}_{}{v_y}_{}{v_z}_{}\phi } \right]^{\rm{T}}} $为无人驾驶船舶在海上运行的相对速度向量,其中$ \phi $为无人驾驶船舶的航向角;$ \boldsymbol{M} $$ \boldsymbol{C} $$ \boldsymbol{D} $$ \boldsymbol{G} $分别为惯性矩阵、科氏向心力系数矩阵、阻尼矩阵以及重力/浮力矩阵;$ \boldsymbol{F} $$ \boldsymbol{F}\mathrm{_{ruddte}} $$ \boldsymbol{F}_{\mathrm{wave}} $分别为无人驾驶船舶航行过程中受到的动力、舵摆力(航向控制力)、以及波浪作用力。

海上船舶无人驾驶运动学模型表达式为:

$ \left[ \begin{gathered} x \\ y \\ z \\ \phi \\ \end{gathered} \right] = {\boldsymbol T} \cdot {\boldsymbol V}。$ (2)

式中:$ \left[ {{x}\ {y}\ {z}\ \phi } \right] $$ \boldsymbol{T} $分别为无人驾驶船舶位置坐标和姿态向量、坐标转换矩阵。

无人驾驶船舶的实际航向与预设航向之间的偏差描述为:

$ \Delta \phi = \phi - {\phi _d} 。$ (3)

式中:$ {\phi _d} $为无人驾驶船舶的预设航向。

将实际航向与预设航向之间的偏差$ \Delta \phi $和实际航向与预设航向之间的偏差变化率$ \Delta \dot \phi $作为PD控制器的输入,输出无人驾驶船舶舵机舵摆角度,用于完成其在海上航行时的障碍物自动规避,表达式为:

$ \delta = {K_p} \cdot \Delta \phi + {K_d} \cdot \Delta \dot \phi 。$ (4)

式中:KpKd分别为PD控制器的比例、导数增益。

1.2 基于人工智能技术的无人驾驶船舶自动避障 1.2.1 基于人工势场法的避障策略

人工势场法作用下,无人驾驶船舶会受到势场的负梯度作用,无人驾驶船舶将负梯度视为航行过程中受到的虚拟作用力,同时航行过程中障碍物会对船舶产生斥力,目标点会对船舶产生引力。构建无人驾驶船舶的人工势场模型,将船舶位置、目标点位置分别用qqg;将虚拟势场、虚拟引力场、虚拟斥力场分别用$ U\left( q \right) $$ {U_{att}}\left( q \right) $$ {U_{rep}}\left( q \right) $表示。则船舶在某一位置处的虚拟势场以及虚拟力大小的表达式为:

$ U\left( q \right) = {U_{att}}\left( q \right) + {U_{rep}}\left( q \right),$ (5)
$ \boldsymbol{F}(q)=-\nabla\boldsymbol{U}\left(q\right)=-\left(\nabla U_{att}\left(q\right)+\nabla U_{rep}\left(q\right)\right)。$ (6)

式中:$ \nabla\boldsymbol{U}\left(q\right) $为势场在船舶位置处的梯度向量,其对应的梯度方向为船舶所处位置最大势场变化率对应的方向。

针对无人驾驶船舶空间位姿q(x, y),存在:

$ \nabla\boldsymbol{U}\left(q\right)=\left[\begin{gathered}\frac{\mathrm{\partial}U}{\mathrm{\partial}x} \\ \frac{\mathrm{\partial}U}{\mathrm{\partial}y} \\ \end{gathered}\right]。$ (7)

则海上障碍物、船舶航行目标点的势场为:

$ \nabla U_{att}\left(q\right)=\frac{1}{2}\xi p_g^2(q),$ (8)
$ \nabla U_{rep}\left(q\right)=\left\{\begin{gathered}\frac{1}{2}\eta\left(\frac{1}{p(q)}-\frac{1}{p_0}\right),\rho(q)\leqslant\rho_0,\\ 0,\rho(q) > \rho_0。\\ \end{gathered}\right. $ (9)

式中:$ p_g^{}(q) $$ \rho (q) $$ {\rho _0} $分别为船舶与航行目标点之间的距离、船舶与障碍物之间的距离最小值、障碍物与船舶之间斥力区间极大值;$ \xi $$ \eta $均为比例系数。

无人驾驶船舶受到的引力$ \boldsymbol{F}_{att}(q) $和斥力$ \boldsymbol{F}_{rep} $计算表达式为:

$ \boldsymbol{F}_{att}(q)=-\xi(q-q_g),$ (10)
$ \boldsymbol{F}_{rep}(q)=\frac{\eta}{\rho^2(q)}\left(\frac{1}{p(q)}-\frac{1}{p_0}\right)\nabla p(q)。$ (11)

式中:$ p(q) = \left\| {q - {q_c}} \right\| $$ q $受到$ {q_c} $产生的单位向量,$ {q_c} $为船舶与障碍物上距离最近的位姿点。

最终海上船舶无人驾驶在引力和斥力的矢量和(即合力)的作用下,在海上进行避障航行。

1.2.2 改进人工势场法

人工势场法在进行海上船舶无人驾驶避障路径规划过程中,存在障碍物附近航行目标点不可达问题,为此引入安全距离最小值,充分衡量船舶与目标点的相对距离,改进人工势场法的斥力函数,表达式为:

${ U'_{rep}\left(q\right)=\left\{\begin{gathered}\eta\left(\frac{1}{p(q)-d}-\frac{1}{p_0-d}\right)(q-q_g)^n,\rho(q)\leqslant\rho_{0,} \\ 0,\rho(q) > \rho_0。\\ \end{gathered}\right. }$ (12)

式中:$ d $$ n $分别为安全距离最小值、一个常数,$ d $能够有效确保在q = qg时整个势场函数为全局最小值,此时斥力为

$ F'_{rep}=-\nabla U'_{rep}\left(q\right)=\left\{\begin{gathered}F_{rep1}+F_{rep2},\ \rho(q)\leqslant\rho_{0。} \\ 0,\ \rho(q) > \rho_0。\\ \end{gathered}\right. $ (13)

利用改进后人工势场法求解斥力,并计算海上船舶无人驾驶受到的合力,实现船舶的自动避障。

1.2.3 海上船舶无人驾驶自动避障实现

在无人驾驶船舶自动避障过程中,将船舶所在位置受到的总势场U(q)的方向视为其避障操作的预设航向,在尾舵调控作用下实现海上避障,即:

$ \phi_d=\arctan(U(q))。$ (14)

具体实现步骤为:

步骤1 风海上航行环境初始化,采集无人驾驶船舶周围环境信息,识别障碍物位置,构建障碍物集合$ ({O_1},...,{O_m}) $,组建无人驾驶船舶海上航行环境模型。

步骤2 对船舶与障碍物Oi相对距离li进行求解,并对比其与障碍物影响距离L0,筛选获取目标障碍物集合$ ({O_1},...,{O_k})(k < m) $

步骤3 依据式(8)和式(13)分别计算引力和斥力势场,再利用式(5)计算船舶受到的总势场,并利用式(14)获取船舶预设航向。

步骤4 无人驾驶船舶利用船舶预设航向信号采用PD控制器利用式(4)计算船舶舵机舵摆角度,控制船舶避开障碍物向目标点航行。

步骤5 若达到目标点则结束避障任务,否则,跳转回步骤3进行避障判断,直至达到目标点。

2 结果分析

为验证本文提出方法的应用效果,以某已知环境的海域为实验区域,应用Matlab 仿真平台搭建不同障碍物条件下的虚拟环境进行避障实验,实验用无人驾驶船舶的原型为型号为海洋探索者X1的船舶。

设定无人驾驶船舶在多障碍物密集分布环境航行,且障碍物与目标点接近,衡量此时其避障效果,结果见图1。分析可知,在面对多障碍物密集分布情况下,应用人工势场法在面对障碍物时陷入了局部最优解而导致航行停止,对应的坐标为(62, 59),结合图1(b)分析可知,此时受到的合力为0,导致无法继续行进;而改进人工势场法的船舶可以顺利规划出到达目标点的避障路径,成功躲避障碍物,并未产生碰撞现象。说明改进人工势场法可以有效避免接近目标点的障碍物导致的目标不可达问题,实现成功避障的同时完成路径规划。从图1(c)可知,本文方法能够良好实现无人驾驶船舶对阶跃输入的跟踪,并通过航向控制成功实现避障与航行控制。

图 1 多障碍物密集分布环境下的避障结果 Fig. 1 Obstacle avoidance results in a densely distributed environment with multiple obstacles

在实际海上船舶航行中,复杂动态障碍物场景下本文方法获取的避障结果见图2。可知,本文方法可以进行复杂移动障碍物的避障,保障无人驾驶船舶的安全航行。在初始时刻,船舶检测到前方和侧向均有移动障碍物。根据计算结果,船舶迅速调整航向,以避免与前方障碍物发生碰撞。同时,侧向的障碍物也被纳入考虑范围,随着时间的推移,船舶继续航行,并成功避开了前方的障碍物。侧向的障碍物也被持续监控,以确保船舶在实际应用中,整个航行过程都能保持安全距离。在最终时刻,船舶已经成功避开了所有移动障碍物,并继续沿着预定的航线向y轴方向航行。在实际应用中的整个避障过程,船舶展现出了出色的灵活性和适应性,能够迅速应对复杂多变的海洋环境。

图 2 移动障碍物场景避障效果 Fig. 2 Obstacle avoidance effect in moving obstacle scenes
3 结 语

本文提出的避障方法在多障碍物密集分布环境和复杂动态障碍物场景下均展现出了出色的避障效果。在多障碍物密集分布环境中,能够成功规划出到达目标点的避障路径,有效避免了目标不可达问题。同时,该方法还能够良好实现无人驾驶船舶对阶跃输入的跟踪,并通过航向控制成功实现避障与航行控制。在复杂动态障碍物场景下,能够对移动障碍物进行实时检测和预测,并根据在实际应用中的实时情况快速调整航向,成功避开所有障碍物,并继续沿着预定的航线航行安全航行。

参考文献
[1]
孙帅, 许志远, 玄世龙, 等. 基于贪心算法的无人船实时避碰算法[J]. 船舶工程, 2022, 44(4): 14-18+29.
[2]
刘淑霞, 李立刚, 金久才, 等. 基于漂角估计的无人船局部动态避障方法[J]. 电光与控制, 2023, 30(1): 103-108+119. DOI:10.3969/j.issn.1671-637X.2023.01.018
[3]
XUE D, WU D, YAMASHITA A S, et al. Proximal policy optimization with reciprocal velocity obstacle based collision avoidance path planning for multi-unmanned surface vehicles[J]. Ocean Engineering, 2023(4), 1.1−1.118.
[4]
张乃天, 陈世才, 蒙子昕. 基于改进快速行进法的水面无人船全局路径规划[J]. 上海海事大学学报, 2023, 44(3): 5-11.
[5]
谭智坤, 张隆辉, 刘正锋, 等. 融合改进动态窗口法与速度障碍法的无人船局部路径规划[J]. 船舶力学, 2023, 27(3): 311-322. DOI:10.3969/j.issn.1007-7294.2023.03.001
[6]
翟丽, 张雪莹, 张闲, 等. 基于势场法的无人车局部动态避障路径规划算法[J]. 北京理工大学学报, 2022, 42(7): 696-705.