舰船科学技术  2025, Vol. 47 Issue (18): 60-67    DOI: 10.3404/j.issn.1672-7649.2025.18.011   PDF    
考虑海流影响的UUV海底三维仿真和避障
嵇聪, 李震, 路春宇, 李阳     
江苏科技大学海洋学院,江苏 镇江 212003
摘要: 随着无人潜航器(UUV)的广泛应用,如何在复杂水下环境中实现自主避障成为了关键问题。本文建立了UUV的动力学和模糊PID抗干扰模型,分析了海流及其干扰力模型,提出了改进的三维A*避障算法,并且基于UE5实现了海流影响下UUV的三维海底环境虚拟仿真和避障实验。仿真验证结果表明,海流对UUV航行路径的干扰显著;模糊PID可以有效实现在海流力影响下航迹和姿态的稳定性;三维避障算法能够有效应对纵深方向的障碍物,在Z轴进行避障,从而具有更强的避障能力,同时兼容二维避障算法。
关键词: 无人潜航器     三维避障     海流影响     自主避障     UE5    
Seabed 3D simulation and obstacle avoidance of UUV considering the current influence
JI Cong, LI Zhen, LU Chunyu, LI Yang     
Ocean College, Jiangsu University of Science and Technology, Zhenjiang 212003, China
Abstract: With the widespread application of Unmanned Underwater Vehicles (UUVs), achieving autonomous obstacle avoidance in complex underwater environments has become a key challenge. This paper first establishes the dynamics and fuzzy PID anti-interference model for UUVs, analyzes the ocean current and its interference force model, and proposes an improved 3D A* obstacle avoidance algorithm. Based on UE5, a virtual simulation of the UUV's 3D underwater environment and obstacle avoidance under the influence of ocean currents is implemented. Simulation results show that ocean currents significantly interfere with the UUV's navigation path, fuzzy PID can effectively realize the stability of track and attitude under the influence of current force, and the 3D obstacle avoidance algorithm effectively addresses obstacles in the Z-axis demonstrating stronger obstacle avoidance capability and compatibility with 3D obstacle avoidance algorithm.
Key words: UUV     3D obstacle avoidance     ocean current effects     autonomous obstacle avoidance     UE5    
0 引 言

近年来,无人潜航器(Unmanned Underwater Vehicle,UUV)因其在深海探测、环境监测和军事应用中的重要性。近年来,许多研究提出了海流模型[1]和UUV与海流相互作用的动力学分析,旨在通过优化控制算法或增加传感器的实时反馈来应对海流的干扰。海流作为水下环境中的一个重要因素,会显著影响UUV的航行路径[2]。海流力的强度和方向随温度、盐度、深度等因素而变化,对UUV的自主导航和避障[3]系统提出了更高的要求。因此,如何在复杂的三维水下环境中实现高效、稳定的自主导航和避障,成为了亟待解决的技术难题。海洋环境是一个高度复杂和动态的三维空间,存在静态和动态障碍物。传统的水下导航与避障技术大多集中在二维平面内,忽略了水下环境中纵深方向(即深度维度)对航行的影响,这对特别在近海和浅海地区执行任务的UUV来说非常不利。相较于传统的二维避障方法,三维避障[4]算法能够在深度方向上动态调整UUV的航向,从而提升其在复杂环境中的适应能力。

虚幻引擎UE(Unreal Engine)[5]作为一种强大的游戏引擎,被广泛应用于机器人、自动驾驶以及无人系统的仿真研究。UE5平台凭借其高效的物理引擎和可视化能力,为UUV的仿真研究提供了良好平台,是虚实结合与数字孪生的技术基础。

本文设计了UUV的动力学控制模型;研究了海流对UUV航行的影响,并设计UUV抗海流干扰修正自身姿态的模型;基于二维避障算法,改进并提出三维避障算法;最后通过UE虚拟仿真验证海流对UUV的影响,以及三维避障算法在复杂海底环境中的有效性。

1 UUV动力学模型与控制设计 1.1 六自由度模型

无人潜航器(UUV)的运动可以通过六自由度[6]来描述,其中包括3种平移自由度和3种旋转自由度。平移自由度包括前进/后退(沿X轴)、左右运动(沿Y轴)和上下运动(沿Z轴)。旋转自由度包括偏航(绕Z轴)、俯仰(绕Y轴)和滚转(绕X轴)。

1.2 受力分析

UUV建模时,受力分析是确保模型准确性和实现动态行为的重要环节。无人潜航器的运动受多种力的影响,包括浮力、重力、阻力、推进力以及由海流引起的力等。

推力(Thrust):由UUV推进器产生的推动力,公式为:

$ {F}_{\mathrm{t}\mathrm{h}\mathrm{r}\mathrm{u}\mathrm{s}\mathrm{t}}=T\cdot \hat{v}。$ (1)

式中:$ T $为推进器产生的推力;$ \hat{v} $为UUV的速度向量。

阻力(Drag):水中运动产生的阻力,通常与速度的平方成正比,公式为:

$ {F}_{\mathrm{d}\mathrm{r}\mathrm{a}\mathrm{g}}=\frac{1}{2}{C}_{d}\cdot {\rho }_{\mathrm{w}\mathrm{a}\mathrm{t}\mathrm{e}\mathrm{r}}\cdot {A}_{\mathrm{U}\mathrm{U}\mathrm{V}}\cdot {v}^{2}。$ (2)

式中:$ {C}_{d} $为阻力系数;$ {\rho }_{\mathrm{w}\mathrm{a}\mathrm{t}\mathrm{e}\mathrm{r}} $ 为海水密度;$ {A}_{\mathrm{U}\mathrm{U}\mathrm{V}} $为UUV受力面的横截面积;$ v $为UUV的速度。

浮力(Buoyancy):由水的浮力引起的力,与UUV的体积和水的密度相关,公式为:

$ {F}_{\text{buoyancy}}={\rho }_{\mathrm{w}\mathrm{a}\mathrm{t}\mathrm{e}\mathrm{r}}\cdot {V}_{\text{displaced}}\cdot g。$ (3)

式中:$ {\rho }_{\mathrm{w}\mathrm{a}\mathrm{t}\mathrm{e}\mathrm{r}} $为海水密度;$ {V}_{\text{displaced}} $为被UUV排开的水的体积;$ g $为重力加速度。

外部力(External Forces):其包括由海流、湍流等外界因素产生的力,文章根据外部环境的变化对无人潜航器施加一个外部力。例如,在模拟海流时,根据海流的方向和强度对无人潜航器施加一个水流的推力,如下:

$ {F}_{\text{external}}={F}_{\mathrm{c}\mathrm{u}\mathrm{r}\mathrm{r}\mathrm{e}\mathrm{n}\mathrm{t}}={\rho }_{\mathrm{w}\mathrm{a}\mathrm{t}\mathrm{e}\mathrm{r}}\cdot {A}_{\mathrm{U}\mathrm{U}\mathrm{V}}\cdot ({v}_{\mathrm{c}\mathrm{u}\mathrm{r}\mathrm{r}\mathrm{e}\mathrm{n}\mathrm{t}}-{v}_{\mathrm{U}\mathrm{U}\mathrm{V}}{)}^{2}。$ (4)

式中:$ {\rho }_{\mathrm{w}\mathrm{a}\mathrm{t}\mathrm{e}\mathrm{r}} $为海水密度;$ {A}_{\mathrm{U}\mathrm{U}\mathrm{V}} $为UUV受力面的横截面积;$ {v}_{\mathrm{c}\mathrm{u}\mathrm{r}\mathrm{r}\mathrm{e}\mathrm{n}\mathrm{t}} $为海流的速度;$ {v}_{\mathrm{U}\mathrm{U}\mathrm{V}} $为UUV的速度。

根据牛顿的第二定律,物体的加速度是受力的总和除以物体的质量。因此,无人潜航器的加速度计算公式为:

$ \boldsymbol{a}=\frac{{F}_{\mathrm{t}\mathrm{o}\mathrm{t}\mathrm{a}\mathrm{l}}}{m}。$ (5)

式中:$ m $为UUV质量;$ {F}_{\mathrm{t}\mathrm{o}\mathrm{t}\mathrm{a}\mathrm{l}} $ 为所有力的总和,包括推力、阻力、浮力、重力和外部力,则有

$ \overrightarrow{{F}_{\mathrm{t}\mathrm{o}\mathrm{t}\mathrm{a}\mathrm{l}}}=\overrightarrow{{F}_{\mathrm{b}\mathrm{u}\mathrm{o}\mathrm{y}\mathrm{a}\mathrm{n}\mathrm{c}\mathrm{y}}}+\overrightarrow{{F}_{\mathrm{g}\mathrm{r}\mathrm{a}\mathrm{v}\mathrm{i}\mathrm{t}\mathrm{y}}}+\overrightarrow{{F}_{\mathrm{t}\mathrm{h}\mathrm{r}\mathrm{u}\mathrm{s}\mathrm{t}}}+\overrightarrow{{F}_{\mathrm{d}\mathrm{r}\mathrm{a}\mathrm{g}}}+\overrightarrow{{F}_{\mathrm{c}\mathrm{u}\mathrm{r}\mathrm{r}\mathrm{e}\mathrm{n}\mathrm{t}}}。$ (6)
1.3 模糊PID控制

在传统的 PID 控制器中,比例(P)、积分(I)和微分(D)参数是固定的,难以适应复杂和非线性环境的变化。为了提高 UUV在不同环境下的控制精度和鲁棒性,文章提出并实现了模糊 PID 控制[7]。模糊 PID 控制通过模糊推理机制动态调整 PID 控制器的3个参数,从而使得 UUV 能够更好地应对复杂的水流、障碍物以及其他不可预测的环境因素。PID控制的输出(即深度调整力)计算式为:

$ {u\left(t\right)=K_p\left(e\left(t\right)\right)\cdot e\left(t\right)+K_i\left(e\left(t\right)\right)\displaystyle\int_{ 0}^{ te}\left(\tau\right)\mathrm{d}\tau+K_d\left(e\left(t\right)\right)\frac{\mathrm{d}e\left(t\right)}{\mathrm{d}t}。} $ (7)

式中:$ {K}_{p} $$ {K}_{i} $$ {K}_{d} $为PID控制器的比例、积分、微分增益;$ e\left(t\right) $为当前时刻的姿态误差。

本文模糊 PID 控制器的实现步骤如下:

1) 输入变量的模糊化

姿态(e)和误差作为模糊 PID 控制的输入变量。通过模糊化算法,这些连续输入值被映射到模糊集,从而转化为可以进行模糊推理的语言变量,为了对UUV的姿态进行有效调整,定义了姿态误差(俯仰角误差和滚转角误差)的模糊集,其定义如下:

表示目标姿态与当前姿态之间的差距,有:负大(NB)、负小(NS)、0(ZE)、正小(PS)、正大(PB)。

隶属度函数设计:考虑到UUV姿态的修正,尤其是在海流干扰下,姿态误差主要体现在俯仰角和滚转角之间的偏差。误差的大小直接决定了所需的调整幅度。可通过以下隶属度函数来表达不同姿态误差的隶属度:其中,e(t)为姿态误差。

负大(NB)为姿态误差较大且是负值,系统需要进行较大幅度的修正以抵抗海流的影响。

$ {\mu }_{\mathrm{N}\mathrm{B}}\left(e\right(t\left)\right)=\max\left(0,\min\left(\mathrm{1,1}-{\left(\frac{\left|e\right(t\left)\right|}{2}\right)}^{2}\right)\right) 。$ (8)

负小(NS)为姿态误差较小且是负值,系统需要小幅度的修正。

$ {\mu }_{\mathrm{N}\mathrm{S}}\left(e\right(t\left)\right)=\max(\mathrm{0,1}-|e\left(t\right){|}^{2})。$ (9)

0(ZE)为误差,系统已接近目标姿态,此时不需要进一步调整。

$ {\mu }_{\mathrm{Z}\mathrm{E}}\left(e\right(t\left)\right)=\max(\mathrm{0,1}-|e\left(t\right){|}^{2})。$ (10)

正小(PS)为姿态误差较小且是正值,系统需要小幅度的修正。

$ {\mu }_{\mathrm{P}\mathrm{S}}\left(e\right(t\left)\right)=\max\left(0,\min\left(\mathrm{1,1}-{\left(\frac{\left|e\right(t\left)\right|}{2}\right)}^{2}\right)\right)。$ (11)

正大(PB)为姿态误差较大且是正值,系统需要进行较大幅度的修正。

$ {\mu }_{\mathrm{P}\mathrm{B}}\left(e\right(t\left)\right)=\max\left(0,\min\left(1,{\left(\frac{\left|e\right(t\left)\right|}{2}\right)}^{2}-1\right)\right)。$ (12)

2)模糊规则库的设计

根据 UUV 的控制需求和系统特性,设计了模糊规则库。每一条规则描述了输入姿态误差(e)的不同组合下,PID 系数(P、I、D)的增量。

规则 1 当俯仰角误差为“负大”(NB)且滚转角误差为“正小”(PS)时,系统需要较大幅度的修正。

规则 2 当俯仰角误差为“0”(ZE)且滚转角误差为“0”(ZE)时,系统不需要进一步的调整。

规则 3 当俯仰角误差为“正大”(PB)且滚转角误差为“负小”(NS)时,系统需要迅速修正,防止误差进一步扩大。

规则 4 当俯仰角误差为“负小”(NS)且滚转角误差为“负大”(NB)时,系统需要进行适度修正。

规则 5 当俯仰角误差为“正小”(PS)且滚转角误差为“正小”(PS)时,系统需要小幅度修正,确保姿态恢复。

规则 6 当俯仰角误差为“负大”(NB)且滚转角误差为“负大”(NB)时,系统需要进行较大的修正。

通过这些规则,模糊控制器能够根据实时误差和误差变化动态调整 PID 参数。

3)模糊推理过程

采用模糊推理机制来计算 PID 系数的增量。模糊推理的核心是根据输入变量的模糊值和模糊规则库,推导出每个控制量的增量。

4) 解模糊化

使用解模糊化方法将模糊推理结果转化为具体控制量。通过解模糊化过程,得到 PID 参数的调整增量,最终计算出新的 PID 参数。

5)PID 参数更新

根据模糊控制器的输出,动态调整 PID 参数,以应对实时的控制需求。每次控制周期中,PID 参数会根据当前的控制误差和误差变化率进行更新,以实现更加精准的控制效果。

1.4 UE实现

在虚幻引擎UE5中,通过扩展Actor类创建了AUUV类,用于模拟无人潜航器(UUV)的动态行为。AUUV类利用物理引擎实时计算推进力、浮力、阻力及海流等外部力的综合影响,PID控制器用于深度控制,确保UUV保持稳定深度并精准调整位置。通过暴露多个控制参数,用户可以在编辑器中实时调整,无需重新编译,增强了系统的灵活性和可操作性,为后续仿真任务和系统扩展提供有力支持。

2 海流模型

在水下无人航行器(UUV)模拟中,海流的作用对其运动轨迹和导航性能有着显著影响。为准确模拟海流对UUV的力学作用,引入基于流体动力学的物理模型,结合动态海流力、流体阻力等因素,进行海流建模[8],以描述UUV在海流中的运动状态。

2.1 海流模型的基本假设

海流模型假设UUV进入一个特定的海流区域,该区域的海流在空间和时间上可能发生变化。海流的作用力不仅与海流本身的方向和强度相关,还与UUV的速度、形状以及相对速度密切相关。假设海流区域的影响是基于位置的,且在特定区域内,海流力会随着时间的推移而变化。

2.2 动态海流力

为了模拟海流的影响,根据流体动力学的基本公式引入了动态海流力。海流力的大小与UUV的相对速度和海流的速度之间的差异有关。海流力的公式为:

$ {\overrightarrow{F}_{\mathrm{current}}=\rho_{\mathrm{w}\mathrm{a}\mathrm{t}\mathrm{e}\mathrm{r}}\cdot C_d\cdot A\cdot|\overrightarrow{v}_{\mathrm{UUV}}-\overrightarrow{v}_{\mathrm{current}}|\cdot(\overrightarrow{v}_{\mathrm{UUV}}-\overrightarrow{v}_{\mathrm{current}})。} $ (13)

式中:$ {\rho }_{\mathrm{w}\mathrm{a}\mathrm{t}\mathrm{e}\mathrm{r}} $为海水密度;$ {C}_{d} $为阻力系数;$ A $为UUV受力面的横截面积;$ \overrightarrow{v}_{\mathrm{UUV}} $为UUV的速度向量;$ \overrightarrow{v}_{\mathrm{current}} $为海流的速度向量。

2.3 海流速度的动态变化

海流速度是随时间变化的。为了更加真实地模拟海流的作用,加入周期性变化的海流模型,模拟海流在一定时间范围内的波动。海流速度的动态变化公式为:

$ \overrightarrow{v}_{\mathrm{current}}\left(t\right)=\overrightarrow{v}_{\mathrm{base}}\cdot\mathrm{s}\mathrm{i}\mathrm{n}(\omega t+\varphi)。$ (14)

式中:$ \overrightarrow{v}_{\mathrm{base}} $为基础海流速度向量;$ \omega $为海流速度的角频率;$ \varphi $为海流的相位。海流速度的周期性变化模拟了海洋中的波动和海流的复杂性,使得UUV在不同时间段内受到不同强度和方向的海流作用。

2.4 流体阻力与拖拽力

流体阻力是UUV在海水中运动时不可忽视的一个因素。海流不仅影响UUV的速度和方向,还会通过拖拽力对其产生阻力。流体阻力与UUV的速度关系密切,通常表现为速度的平方关系。因此,拖拽力的计算公式为:

$ {\overrightarrow{F}}_{\rm{drag}}=-\frac{1}{2}\cdot \rho \cdot {C}_{d}\cdot A\cdot {\left|\overrightarrow{v}\right|}^{2}\cdot \hat{v}。$ (15)

式中:$ \rho $ 为流体密度;$ {C}_{d} $为阻力系数;$ A $为UUV迎水面积;$ \left|\overrightarrow{v}\right| $为UUV相对于水流的速度大小;$ \hat{v} $为UUV速度向量。

拖拽力与UUV的速度的平方成正比。因此,当UUV的速度增大时,所受到的阻力也会显著增加。通过该公式计算的拖拽力与海流的影响力,一起决定了UUV的运动轨迹和控制策略。

2.5 UE海流实现

在虚幻引擎UE5中,基于Actor类创建了名为AOceanCurrentZone的海流类,用于模拟水下海流的动态行为。该类继承自AActor,并利用物理引擎实时计算海流力和拖拽力,动态模拟海流对UUV的影响。为方便调整,多个关键参数被暴露给虚幻编辑器,用户可在运行时调整海流的方向、强度、波动频率等特性,无需重新编译。海流类通过碰撞组件定义海流区域,并利用碰撞函数检测UUV的进入与离开,确保在进入海流区域时施加海流力,离开时移除作用力。此外,海流类通过周期性速度变化模拟动态海流,增强了仿真效果。该类还被蓝图化,用户可以在编辑器中直观地调整参数,提高了海流模拟的灵活性和配置的方便性,为后续的水下任务和UUV运动仿真提供强有力的支持。

3 避障算法设计

在复杂的三维水下环境中,传统的二维避障算法无法有效应对多维度的挑战。二维避障算法,如经典的A*算法[9],通常依赖于平面网格来进行路径搜索,只考虑横向与纵向的障碍物,而忽略了水下环境中的深度变化、姿态调整以及可能出现的动态障碍物。因此,在三维空间中,尤其是水下导航和避障任务中,传统二维方法无法提供足够的灵活性和效率不足。

本文提出了一种三维A*避障算法,利用三维空间中的位置信息、深度控制和姿态调整[10],能够有效地实现UUV(无人潜航器)的三维避障,不仅考虑前方的障碍物,还考虑深度、俯仰和滚转等姿态变化对航行路径的影响。通过与模糊PID深度控制结合,进一步优化UUV在复杂水下环境中的自主导航能力。

本文中三维A*避障算法的实现过程如图1所示。

图 1 三维A*避障算法流程 Fig. 1 Algorithm of 3D A*avoidance

1)传感器输入与障碍物检测

通过射线检测(LineTrace)获取UUV前方及周围的障碍物信息。利用CheckForObstacles函数检测目标方向上的障碍物,这一过程依赖于射线在三维空间中的检测(沿XYZ轴的射线)。如果检测到障碍物,系统会进入避障逻辑。

2) 路径规划与A*搜索[11]

当检测到障碍物时,UUV将通过A算法进行路径重新规划。A算法在三维网格中进行搜索,考虑水下环境的每个维度,计算每个点的启发式代价(如目标距离、障碍物密度等)。与传统二维A*算法不同,三维A*需要考虑的是一个由三个维度构成的网格,不仅是水平面的搜索,还需要综合Z轴深度的变化以及可能的姿态调整。

3)多方向避障与路径平滑[12]

在本算法中,UUV不仅会选择前方最优路径,还会基于当前的障碍物位置,选择多个方向进行避障。具体来说,在目标方向上检测到障碍物后,算法会在该方向周围(±45°范围内)选择不同的方向进行尝试,并计算出最优的避障路径。通过多方向搜索,算法能够在三维空间中提供灵活的避障路径,而不是简单的绕过障碍物。

4)深度与姿态联合调节

除了路径的横向避障外,文章还通过模糊PID控制器调节UUV的深度(Z轴控制),并根据避障路径的变化实时调整姿态,确保航行器在三维环境中保持稳定航行。

通过结合三维A*算法,UUV能够有效应对复杂的水下环境,避开多维度的障碍物,不仅提高了避障的精度,也保障了航行的稳定性与安全性。这一三维避障设计具有显著的优势,尤其在深度方向障碍物、复杂环境及姿态调整方面,比传统的二维避障算法更加高效和灵活。

4 仿真和验证

Unreal Engine 5(UE5)作为最新一代的游戏引擎,具有强大的图形处理能力和物理仿真能力,可以为UUV的海底避障研究提供一个高效的模拟环境。

4.1 仿真建模 4.1.1 UUV建模

基于AUUV类创建一个蓝图BP_UUV,添加taticMesh组件,用于存储UUV的三维模型。再通过设置网格和调整网格的比例,来定义UUV的外观。UUV外观如图2所示。

图 2 UUV静态模型 Fig. 2 UUV static model

在编写AUUV类的时候,已将UUV控制参数暴露给编辑器,在编辑器中可直接修改。

4.1.2 海流建模

在虚幻引擎UE5中将海流类蓝图化,基于海流类创建一个海流蓝图BP-OceanCurrentZone,在编辑器中进行参数调整来影响UUV。海流区域如图3所示。

图 3 海流区域 Fig. 3 Current area

在编写海流类的时候,已将海流的控制参数暴露给编辑器,可在编辑器中直接修改.

4.1.3 场景建模

海底地形是海底场景中的核心元素之一。文章通过 Landscape 工具进行创建,该工具支持多种地形编辑功能,能够创建复杂的地形,包括海底山脉、峡谷等。文章为了观察UUV 的运行航迹,将整体水体颜色调成透明,海流区域颜色调成蓝色,以便于清晰地观察结果,整体UUV避障场景图如图4所示,包含UUV、海流、起始点以及目标点位置。

图 4 三维避障场景 Fig. 4 3D obstacle avoidance scene
4.2 仿真验证

本文设计了3个仿真实验,验证内容包括:

1)海流的影响对UUV的导航和控制产生显著影响,特别是在靠近海流区域时,UUV的运动轨迹会受到改变。实验1验证文章提出的模糊PID控制算法的有效性。

2)验证三维避障算法相对于二维避障的有效性,即具有更高的路径规划效率

3)验证三维避障算法相对于二维避障的兼容性,即在二维避障路径为最优时,三维A*避障算法会降维给出相同的二维避障路径。

4.2.1 UUV控制的有效性

为了验证海流对UUV的影响,把海流控制参数暴露给虚幻编辑器后,通过调整海流方向与强度、海流流速度的变化频率、拖拽力、海流的相位,海流对UUV的阻力系数,海水的密度等海流控制参数,根据海流力模型对UUV造成影响。

图5分别为UUV经过海流,和UUV没有经过海流的UE虚拟仿真航迹,可发现当UUV遇到海流力冲击的时候会受到显著影响,航向角度和航迹会发生明显改变。

图 5 是否经过海流对比 Fig. 5 Whether it has been compared by ocean currents

文章实现的海流力影响下的航行控制如图6所示。UUV在经过海流时虽受到了海流力的影响,但由于AUUV类通过物理引擎中的力学计算和模糊PID 控制结合实现了抗干扰和姿态调整机制,从而最大程度上保证了航迹和姿态的稳定性。UUV调整自身姿态以后,在三维路径下继续航行到达目标点。

图 6 调整姿态后驶向目标点 Fig. 6 Adjust attitude and drive to the target point

文章提出了改进基础PID控制器的模糊PID控制器来调整UUV自身姿态,经过对比,发现模糊PID控制器优于PID控制器,使用2种控制器UUV进入海流区域和离开海流区域大致在第4 s进入,14 s离开。表1为2种控制器的对比。

表 1 控制器响应时间对比 Tab.1 Comparison of controller response time

图7清晰地展示了模糊PID控制器在面对不同强度的海流干扰时,相比于传统的PID控制器具有更短的响应时间。这表明模糊PID控制器在动态调整参数方面表现出更强的适应性和鲁棒性,能够更快速地恢复目标姿态,从而提升UUV的航行稳定性和精度。

图 7 响应时间对比 Fig. 7 Comparison of response time

由于2种控制器下,UUV均约在第4 s进入海流区域,第13 s离开海流区域,故选取表2时间段数据。

表 2 UUV俯仰角和滚转角对比 Tab.2 Comparison of piteh angle and roll angle of UUV

图8清晰地展示了PID控制器在海流影响下,表现出较慢的响应,即使在长时间仍未能稳定恢复到期望姿态。由于PID控制器的增益不够灵活,它需要较长的时间来调整并稳定姿态,导致了较大的姿态误差。模糊PID控制器的响应速度明显比传统PID控制器更快,且误差在短时间内迅速收敛(见表3)。

图 8 UUV俯仰角和滚转角对比 Fig. 8 Comparison of pitch angle and roll angle of UUV

表 3 UUV俯仰角和滚转角误差对比 Tab.3 Comparison of pitch angle and roll angle errors of UUV

图9清晰地展示了在使用PID控制器时,PID控制器的响应滞后较大,未能及时调整,导致俯仰角偏离目标值。随着时间的推移,PID控制器逐渐收敛误差,但速度较慢,误差才稳定,且稳定值与0尚有距离。在模糊PID控制器的情况下,起初的较大波动,很快就得到修正,迅速趋近于0,表现出了更快的姿态恢复能力。

图 9 UUV姿态误差和稳态误差对比 Fig. 9 Comparison of attitude error and steady-state error

这些结果表明,文章设计的模糊PID控制器能够动态调整PID参数,更好地适应复杂和非线性的水下环境,特别是在海流干扰较大的情况下表现出更高的控制精度和稳定性。而传统PID控制器由于其固定的增益参数,难以在实时变化的环境中进行自适应调整,导致其控制性能受限。

4.2.2 三维A*避障算法的有效性

文章基于UE5开展的三维A*和二维A*避障算法的对比实验2,UUV的推进力都设置为1000000.0 f。实验的虚拟三维仿真的航迹结果如图10所示。

图 10 二维避障与三维避障航迹对比 Fig. 10 Comparison of two-dimensional and three-dimensional obstacle avoidance tracks

表4为UUV在三维避障与二维避障时航行的路径长度,转向次数,行驶时间的对比。

表 4 二维避障与三维避障指标对比 Tab.4 Comparison of 2D and 3D obstacle avoidance indicators

根据实验结果的对比可发现,Z轴避障的三维A*避障方法会让UUV的航行路径和时间更短,通行效率更高,从而需要消耗的能量也更少,这对于只具备有限能量的无人潜航器具有重要意义。

4.2.3 三维A*避障算法的兼容性

本文提出的三维A*避障算法不是只优先三维避障,而是检测到障碍物以后,判断是XY平面方向和Z轴方向躲避哪一个更有效率。如果在二维平面上存在最优避障路径,三维A*避障算法将自动降维得到与二维算法相同的路径规划结果。实验3创建了一个Z轴障碍物比较复杂,高度比较高的UUV避障场景,如图11所示。

图 11 算法兼容性场景 Fig. 11 Scenarios in which algorithm compatibility is checked

图12是三维A*避障算法和二维避障算法的航迹。

图 12 二维避障与三维避障航迹对比 Fig. 12 Comparison of two-dimensional and three-dimensional obstacle avoidance tracks

经过航迹对比,可以发现2种算法的路径规划结果相同。所以在Z轴障碍物深度比较大的时候,UUV会根据算法分析,自动选择从XY平面方向进行更合理的避障,从而验证了三维A*避障算法是兼容二维避障的。

5 结 语

本文主要研究了考虑海流影响的UUV控制和三维避障方法,设计并实现了一种结合模糊PID控制与改进三维A*避障方法。通过建立UUV的动力学模型和海流干扰力模型,提出了能够在复杂三维海底环境中有效进行自主导航与避障的控制策略。基于虚幻引擎UE5平台,构建了考虑海流影响的三维海底仿真环境,并通过多组仿真实验验证了所提算法的有效性。实验结果表明,海流对UUV航行路径具有显著干扰作用;模糊PID可以有效实现在海流力的影响下航迹和姿态的稳定性;三维A避障算法在应对纵深方向障碍物时表现出优越的避障能力,显著提升了UUV的路径规划效率和航行稳定性。相比传统二维避障方法,改进三维A*避障方法在复杂环境中具有更好的路径规划结果和二维兼容性。

参考文献
[1]
刘小飞, 李明杰. 海流随机干扰下水下目标追踪航行器轨迹实时规划研究[J]. 舰船科学技术, 2021, 43(4): 43-45.
LIU X F, LI M J. Research on real-time planning of underwater target tracking vehicle trajectory under random interference of ocean currents[J]. Ship Science and Technology, 2021, 43(4): 43-45. DOI:10.3404/j.issn.1672-7649.2021.2A.015
[2]
王延波. 动态障碍物环境下UUV路径规划及避碰方法研究[D]. 哈尔滨: 哈尔滨工程大学, 2022.
[3]
佟盛, 李大辉. 具有实时避障能力的UUV编队技术设计与研究[J]. 舰船科学技术, 2020, 42(23): 72-75.
TONG S, LI D H. Design and research of UUV formation technology with real-time obstacle avoidance capability[J]. Science and Technology, 2020, 42(23): 72-75. DOI:10.3404/j.issn.1672-7649.2020.12.014
[4]
程建华, 李鹏程, 管行, 等. 基于改进A*算法的UUV冰下避障航迹规划算法[J]. 导航定位与授时, 2021, 8(6): 13−18.
[5]
胥洪峰. 基于UE4引擎的三维地形场景构建技术研究——以重庆市涪陵为例[J]. 四川建材, 2024, 50(3): 32-34.
[6]
童筱涵, 滕璇璇. 多自由度无人船系统建模[J]. 电子测试, 2021(4): 48-49+43. DOI:10.16520/j.cnki.1000-8519.2021.04.017
[7]
姜建平, 刘鹏仲, 张国龙. 基于模糊自整定PID控制器在UUV中的应用研究[J]. 舰船科学技术, 2014, 34(6): 138-141.
JIANG JI P, LIU P Z, ZHANG G L. Application of fuzzy self-adjusting PID controller in UUV[J]. Ship Electronic Engineering, 2014, 34(6): 138-141.
[8]
高博, 徐德民, 张福斌, 等. 海流建模及其在路径规划中的应用[J]. 系统仿真学报, 2010, 22(4): 957-961. DOI:10.16182/j.cnki.joss.2010.04.016
[9]
刘涛. 基于改进A*算法的无人船路径规划研究[J]. 舰船科学技术, 2022, 44(5): 134-137.
LIU T. Research on unmanned ship path planning based on improved A* algorithm[J]. Ship Science and Technology, 2022, 44(5): 134-137. DOI:10.3404/j.issn.1672-7649.2022.05.028
[10]
方阳丽, 唐猛, 罗珊. 船舶横倾姿态动态调整控制设计与仿真[J]. 舰船科学技术, 2015, 37(9): 56-60.
FANG Y L, TANG M, LUO S. Design and simulation of dynamic adjustment for ship heeling attitude[J]. Ship Science and Technology, 2015, 37(9): 56-60. DOI:10.3404/j.issn.1672-7649.2015.09.012
[11]
武延涛, 张震, 刘伟良, 等. 基于改进A*算法的全局路径规划[J/OL]. 自动化技术与应用, 2024, 1−7.
WU Y T, ZHANG Z, LIU W L, et al. Global path planning based on improved A* algorithm[J/OL]. Techniques of Automation and Applications, 2024, 1−7[2024-12-02].
[12]
谌生, 文家燕, 高远. 基于改进A*算法和Bezier曲线平滑的单AGV路径规划[J/OL]. 广西科技大学学报, 2024, 1−16.