Open Access
Issue
JNWPU
Volume 43, Number 4, August 2025
Page(s) 685 - 693
DOI https://doi.org/10.1051/jnwpu/20254340685
Published online 07 October 2025

© 2025 Journal of Northwestern Polytechnical University. All rights reserved.

Licence Creative CommonsThis is an Open Access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

随着海洋资源的枯竭和深海探索的深入, 水下机器人作为一种重要的工具在海洋科学研究、资源勘探以及海洋环境监测中扮演着不可或缺的角色。然而, 要充分发挥水下机器人的作用, 就必须不断提高其性能和控制精度, 以应对复杂多变的海洋环境[1]。当前, 水下机器人的控制方法多种多样, 包括PID控制、模糊控制、自适应控制、模型预测控制以及神经网络控制等[2]。主流仍然是PID控制算法, 其简单易实现且在许多应用场景下表现良好。

传统PID控制算法依赖于比例、积分、微分3个系数的整定, 虽然结构简单, 但考虑水下环境的复杂性和水下机器人系统的非线性等因素, 实际应用中传统PID的控制效果并不理想[3], 因此研究人员展开了广泛的研究。

霍江航等[4]设计了一种基于输出反馈的L1自适应控制器, 在MRAC的体系结构基础上, 在反馈环增设了一个低通滤波器来滤除高频控制信号, 基于输出反馈的控制器中闭环自适应系统和参考系统之间的输出误差可以通过减小积分步长而变得任意小。梅满等[5]提出一种基于模型预测控制的水下机器人轨迹跟踪优化方法, 该方法通过对未来动态模型进行预测,在线反复优化计算并滚动实施控制作用,同时结合模型误差进行反馈校正。王建华等[6]运用串级PID控制器控制水下机器人作业过程的俯仰角, 仿真结果表明, 串级PID控制算法可用于控制ROV的俯仰角, 有效解决实际作业过程中出现的非线性问题。杨俭健和杨建华等[78]针对ROV深度控制系统的不确定性以及外界干扰, 设计了滑模变结构控制器来处理环境的干扰力, 但系统的鲁棒性只局限在有界的外部扰动内。高胜等[9]对比了传统PID控制算法和模糊控制算法对水下机器人悬停控制的效果, 提出一种将2种算法结合的模糊PID控制算法。上述研究大多数的控制算法更加复杂, 需要更多的计算资源和算法实现, 此外, 其他控制算法的参数调节过程可能需要更多的经验和时间, 这无疑耗费了更多的计算资源和时间成本。

基于此本文提出了一种基于改进PID的控制算法用于水下机器人的悬停控制, 在传统PID控制算法的基础上引入了期望闭环带宽和相位超前补偿2个参数, 通过参数计算使得参数调节复杂度降低。仿真结果表明: 将参数代入到水下机器人模型中, 水下机器人能够悬停至目标位姿, 相较于传统PID控制算法能更快速收敛, 具有更小的超调量和稳态误差。

1 水下机器人控制系统

水下机器人控制系统主要由控制器、推进器系统、水下机器人系统和传感器构成, 基本框图如图 1所示。

thumbnail 图1

水下机器人控制系统

先输入期望的位置和姿态ηd, 期望位姿与传感器传输过来的实际位姿作差会得到一个误差值e, 控制器会利用这个误差值结合控制算法得到一个符合性能需求的输出信号u, 接着推进器系统利用信号u解算出各个自由度所需要的力和力矩, 并将这些力和力矩合理地分配到各个推进器执行机构上, 推进器推动水下机器人运动, 水下机器人的实际位置与姿态由传感器获得并反馈给控制器。但是在实际的控制过程中存在很多难点:①水下环境复杂多变, 包括水流、水压、水温、盐度等因素, 不同的水下环境都会对水下机器人的控制产生影响; ②水下传感器受到水下环境的影响, 容易产生噪声干扰, 导致数据不稳定或不准确, 控制系统需要能够应对传感器数据的噪声和不确定性; ③水下机器人自身结构复杂, 自由度较多, 其水下运动的高非线性以及参数的时变性会使系统模型变得十分复杂, 这样无疑增加了控制算法设计的难度。因此, 本文将根据水下机器人的运动和受力合理简化模型参数, 建立比较精确的水下机器人运动学和动力学模型, 结合改进PID控制算法, 设计一种基于改进PID的水下机器人控制系统。

2 改进PID控制算法

传统PID(比例-积分-微分)控制算法是一种经典的反馈控制算法, 广泛应用于工业控制和自动化领域[10]。它对系统的当前状态与期望状态之间的差异进行测量, 然后根据这个差异来调整控制器的输出, 使系统能够达到期望状态或保持在期望状态附近。

控制器算法数学表达式如(1)式所示[11]。

$ u(t)=K_{\mathrm{P}} e(t)+K_{\mathrm{I}} \int_0^t e(\tau) \mathrm{d} \tau+K_{\mathrm{D}} \frac{\mathrm{~d} e(t)}{\mathrm{d} t} $(1)

传统PID控制算法虽然简单易实现, 但也存在一些不足之处, 在调节PID参数时, 很容易出现过调节(过度响应)或欠调节(反应不足)的情况。过调节会导致系统产生过大的振荡或超调现象, 而欠调节则会延缓系统达到稳态。调节PID参数需要一定的经验和时间, 有时候并不容易得到最佳的参数组合。本文在传统PID控制器的基础上, 引入期望闭环带宽ωc和相位超前补偿参数α, 提出了一种改进的PID控制算法。改进的PID控制算法传递函数如(2)式所示。

$ C_{\mathrm{PID}}(s)=K_{\mathrm{P}}\left(1+\frac{\omega_{\mathrm{c}}}{\alpha+1} \frac{1}{s}+\frac{\alpha}{(\alpha+1) \omega_{\mathrm{c}}} s\right) $(2)

式中:KP为比例增益系数; ωc为期望闭环带宽; α为相位超前补偿参数。

2.1 KPωc的参数整定

在泰勒仪器公司的Ziegler和Nichols发表的论文中, 提出了2种调整方法, 称为Ziegler-Nichols(ZN)调整规则或ZN-PID[12],2种方法通过对系统的一些简单测量来快速进行PID参数调整, 一种基于阶跃响应实验, 另一种基于频率响应实验。众所周知, 获取系统模型和信息是反馈系统设计中的关键步骤。ZN-PID提供了简单的方法来描述系统响应的过程动态特性。

这些特性包括频率响应中的极限增益K180和极限振荡周期T180, 以及阶跃响应中的最大斜率K/T和时间延迟L, 它们提供了有关系统增益和过程响应速度和带宽的信息, 这些信息便可用于制定PID控制器, 整定公式如表 1~2所示, 其中, Ti为积分时间常数, Td为微分时间常数。但ZN-PID调参方法有一定的局限性, 首先, 当ZN-PID的性能不理想时, 对Ti, Td和控制器增益的调整依赖于试错的实际经验。其次, ZN-PID调参方法源于过程控制, 只适用于时滞/慢响应过程。当水下机器人系统需要一个能够快速响应的控制系统时, ZN-PID方法难以确保其稳定执行水下任务。因此, 本文提出了一种改进的PID参数整定方法, 在PID控制器的基础上引入闭环期望带宽和相位超前补偿参数, 先对控制器增益和期望闭环带宽进行参数整定, 再对相位超前补偿参数进行调整, 这种调参方法降低了调参的复杂度, 不仅适用于慢响应要求的水下机器人, 对快速响应需求的水下机器人也同样适用。

表1

ZN整定公式(阶跃响应)

表2

ZN整定公式(频率响应)

在参数整定前需根据系统参数获取系统的传递函数G(s), 接着利用2种模型分析系统参数。一种是利用G(s)的阶跃响应来说明的KTL模型方法, 这种方法更适用于慢响应系统, 例如水下勘探机器人。K为阶跃响应的静态增益, T为时间常数, L是时间延迟。比例增益KP和期望闭环带宽ωc由KTL模型整定,如(3)式所示。

$ K_{\mathrm{P}}=\frac{1.2 T}{K L}, \omega_{\mathrm{c}}=\frac{1}{L} $(3)

KTL模型给出了利用系统阶跃响应来整定参数的公式, 它在有系统延迟时效果较好, 但在系统无延迟情况下往往表现不佳。例如,水下救援机器人需要快速响应能力以应对海底环境的变化, 并以最快速度抵达事故现场, 这意味着系统需要一个很大的ωc, 在这种情况下KTL模型可能会难以整定出性能较好的参数。这时就需要利用到另一种参数整定模型。另一种模型为频率响应方法, 在ZN-PID调参方法中, 利用频率响应中的2个参数K180T180来表征过程G(s)。设ω180为相位交叉频率, G(s)的相位滞后为-180°,K180T180可以通过频率响应得出, 如(4)~(5)式所示。

$ T_{180}=\frac{2 {\rm{ \mathsf{ \pi} }}}{\omega_{180}} $(4)

$ K_{180}=\left|G\left(\mathrm{j} \omega_{180}\right)\right| $(5)

式中,G(jω180)为G(s)的奈奎斯特曲线与负实轴相交的点, 而在快速的动态过程中, L→0, T180→0, 导致ω180很难确定, 这就是ZN-PID调参方法不适用于快速动态系统的原因。针对这个问题, 本文改用增益交叉频率ωP, ωP是使G(s)的奈奎斯特曲线模值为1的频率, 即|G(jωP)|=1, 此时T180K180由(6)~(7)式确定。

$ T_{180}=T_{\omega_{\mathrm{P}}} \approx \frac{2 {\rm{ \mathsf{\pi} }}}{\omega_{\mathrm{P}}} $(6)

$ K_{180}=K_{\omega_{\mathrm{P}}}=1 $(7)

比例增益KP和期望闭环带宽ωc由频率响应方法整定,如(8)式所示。

$ K_{\mathrm{P}}=\frac{0.6}{K_{180}}, \omega_{\mathrm{c}}=\frac{4}{T_{180}} $(8)

需要注意的是, 频率响应方法虽然给出了比较大的ωc以满足闭环系统实现快速响应的需要, 但是整体的控制性能可能会下降, 需要在后续的调参工作中适量增加系统增益, 以增强控制性能。KPωc可通过以上方法整定得出。

2.2 α的参数整定

在完成比例增益KP和期望闭环带宽ωc的参数整定后, 最后一个参数α, 即相位超前补偿参数, 其整定需结合仿真结果来进行调整。在仿真之前为α设定一个初始值, 一般设定为1。接着对仿真结果进行分析, 通过调节参数α来改变PID控制器的微分和积分效果, 参数α的取值会改变PID控制器的调节作用效果。当α=0时, 代表PI控制器; 当α=1时, 代表经典比率Ti/Td=4, Ti为积分时间常数, Td为微分时间常数; 当0 < α < 1时, 代表在ωc受限的情况下, 增强PID的积分效果; 当α>1时, 代表增强PID的微分效果。改进的PID控制算法由比例增益KP、期望闭环带宽ωc和相位超前补偿参数α来描述, 这些参数与控制性能密切相关, 通过参数整定公式整定后, 可以逐个调参以提高性能, 避免了重复繁杂的调参过程。

3 水下机器人模型及PID控制

3.1 水下机器人建模

在建模前需对模型做出特定假设, 用来简化模型的建立, 具体如下:

1) 潜器运行速度相对较低(即小于2 m/s), 可以忽略升力;

2) 潜器结构左右对称且前后对称, 并且假设重心位于对称平面中;

3) 潜器在波浪影响区域以下运行,因此波浪对潜器造成的干扰可以忽略不计。

本文所选用的水下机器人以BlueROV2 Heavy为基础建模, 这款水下潜器具有8个推进器, 推进器的分布如图 2所示,推进器产生的推力方向如图 3~4所示。

thumbnail 图2

BlueROV2 Heavy结构图

thumbnail 图3

水下机器人底部示意图

thumbnail 图4

水下机器人后视图

图 3中, 推进器1, 2, 3, 4用于XY方向的位置控制, 而在图 4中的推进器5, 6, 7, 8用于对Z方向的控制。8个推进器相互配合可以实现对水下机器人6个自由度的控制, 接下来对其进行数学建模。

首先定义2个参考坐标系: 惯性参考系OXY和体坐标系ObXbYb, 其中体坐标系原点取在水下潜器的质心, 在这2个坐标系下考虑水下机器人的六自由度运动, 运动学和动力学模型如(9)~(10)式所示[13]。

$ \dot{\boldsymbol{\eta}}=\boldsymbol{J}(\boldsymbol{\eta}) \boldsymbol{\nu} $(9)

$ M \dot{\boldsymbol{\nu}}+\boldsymbol{C}(\boldsymbol{\nu}) \boldsymbol{\nu}+\boldsymbol{D}(\boldsymbol{\nu}) \boldsymbol{\nu}+\boldsymbol{g}(\boldsymbol{\eta})=\boldsymbol{\tau} $(10)

式中, $\boldsymbol{\eta}=\left[\begin{array}{llllll}x & y & z & \phi & \theta & \psi\end{array}\right] \in \mathbf{R}^{6 \times 1}$是潜器的位置和姿态向量, 在惯性系下, 前3个分量对应水下潜器的位置坐标, 后3个分量对应潜器的横倾、纵倾以及艏摇角姿态。在体坐标系下, $\boldsymbol{\nu}= \left[\begin{array}{llllll}u & v & w & p & q & r\end{array}\right] \in \mathbf{R}^{6 \times 1}$是潜器的速度和角速度向量, 前3个分量对应纵荡、横荡和垂荡运动线速度, 后3个分量对应横倾、纵倾和艏摇角速度。$\boldsymbol{J} \in \mathbf{R}^{6 \times 6}$是体坐标系和惯性系之间的旋转矩阵, 其具体形式如(11)式所示。

$ \boldsymbol{J}(\boldsymbol{\eta})=\left[\begin{array}{cc} \boldsymbol{J}_{\mathrm{T}}(\boldsymbol{\eta}) & \mathbf{0}_{3 \times 3} \\ \mathbf{0}_{3 \times 3} & \boldsymbol{J}_{\mathrm{R}}(\boldsymbol{\eta}) \end{array}\right] $(11)

式中:$\mathbf{0}_{3 \times 3} \in \mathbf{R}^{3 \times 3}$表示零矩阵;JTJR的具体形式如(12)~(13)式所示[14]。

$ \boldsymbol{J}_{\mathrm{T}}(\boldsymbol{\eta})=\left[\begin{array}{ccc} c \psi c \theta & -s \psi c \theta+c \psi s \theta s \phi & s \psi s \phi+c \psi c \phi s \theta \\ s \psi c \theta & c \psi c \phi+s \psi s \theta s \phi & -c \psi s \theta+s \psi c \phi s \theta \\ -s \theta & c \theta s \phi & c \theta c \phi \end{array}\right] $(12)

$ \boldsymbol{J}_{\mathrm{R}}(\boldsymbol{\eta})=\left[\begin{array}{ccc} 1 & s \phi t \theta & c \phi t \theta \\ 0 & c \phi & -s \phi \\ 0 & s \phi / c \theta & c \phi / c \theta \end{array}\right] $(13)

式中: c(·), s(·)和t(·)分别表示三角函数cos(·), sin(·)和tan(·); JT是控制潜器位置运动的旋转矩阵; JR是控制潜器角度运动的旋转矩阵。

g(η)∈R6×1是由重力和浮力引起的流体力学恢复力向量, 假设潜器在XZ平面和XY平面上具有对称性, 那么潜器的重心位置为

$ \boldsymbol{r}_{\mathrm{g}}=\left[\begin{array}{lll} x_{\mathrm{g}} & y_{\mathrm{g}} & z_{\mathrm{g}} \end{array}\right]^{\mathrm{T}}=\left[\begin{array}{lll} 0 & 0 & z_{\mathrm{g}} \end{array}\right]^{\mathrm{T}} $(14)

然后使用欧拉角变换计算整体的恢复力向量, 如(15)式所示。

$ \boldsymbol{g}=\left[\begin{array}{c} (W-B) \sin \theta \\ -(W-B) \cos \theta \sin \phi \\ -(W-B) \cos \theta \cos \phi \\ z_{\mathrm{g}} W \cos \theta \sin \phi \\ z_{\mathrm{g}} W \sin \theta \\ 0 \end{array}\right] $(15)

式中: W为潜器的重力; B为潜器所受的浮力。

M矩阵是潜器的质量矩阵, 它由刚体质量矩阵MRB和附加质量矩阵MA两部分组成, 具体形式如(16)~(17)式所示[15]。

$ \boldsymbol{M}_{\mathrm{RB}}=\left[\begin{array}{cccccc} m & 0 & 0 & 0 & m * z_g & 0 \\ 0 & m & 0 & -m z_{\mathrm{g}} & 0 & 0 \\ 0 & 0 & m & 0 & 0 & 0 \\ 0 & -m z_{\mathrm{g}} & 0 & I_x & 0 & 0 \\ m z_{\mathrm{g}} & 0 & 0 & 0 & I_y & 0 \\ 0 & 0 & 0 & 0 & 0 & I_z \end{array}\right] $(16)

$ \boldsymbol{M}_{\mathrm{A}}=-\left[\begin{array}{cccccc} X_{\dot{u}} & 0 & 0 & 0 & 0 & 0 \\ 0 & Y_{\dot{v}} & 0 & 0 & 0 & 0 \\ 0 & 0 & Z_{\dot{w}} & 0 & 0 & 0 \\ 0 & 0 & 0 & K_{\dot{p}} & 0 & 0 \\ 0 & 0 & 0 & 0 & M_{\dot{q}} & 0 \\ 0 & 0 & 0 & 0 & 0 & N_{\dot{r}} \end{array}\right] $(17)

式中: m是水下潜器的质量, [Ix  Iy  Iz]T是潜器横倾、纵倾和艏摇运动的转动惯量。附加质量矩阵是由加速度的激增在各个坐标轴上产生的水动力附加质量力, 其参数设置为

$ \boldsymbol{M}_{\mathrm{A}}=\operatorname{diag}\left[\begin{array}{llllll} 5.5 & 12.7 & 14.57 & 0.12 & 0.12 & 0.12 \end{array}\right] $(18)

$\boldsymbol{C}(\boldsymbol{\nu}) \boldsymbol{\nu}$表示科里奥利力和向心力, 它由两部分组成: $\boldsymbol{C}(\boldsymbol{\nu}) \boldsymbol{\nu}=\boldsymbol{C}_{\mathrm{RB}}(\boldsymbol{\nu}) \boldsymbol{\nu}+\boldsymbol{C}_{\mathrm{A}}\left(\boldsymbol{\nu}_{\mathrm{w}}\right) \boldsymbol{\nu}_{\mathrm{w}}, \boldsymbol{C}_{\mathrm{RB}}(\boldsymbol{v})$是由MRB引起的刚体科里奥利矩阵和向心矩阵, 而CA(νw)是因车身框架围绕世界框架旋转而由MRB引起的附加质量科里奥利矩阵和向心矩阵, νw是相对速度矢量, 由(19)式确定。

$ \boldsymbol{\nu}_{\mathrm{w}}=\boldsymbol{\nu}-\boldsymbol{\nu}_{\mathrm{c}} $(19)

式中,vc是水流速度。由于本文假设潜器在波浪影响区域以下行驶, 所以vc近似为0, νw近似于νD(ν)是潜器的水动力阻尼矩阵, 它由线性阻尼矩阵DL和非线性阻尼矩阵DNL(ν)组成。线性阻力与水的黏性有关, 在速度较小时占主导; 非线性阻力是与速度呈非线性关系的阻力, 在速度较大时占主导。

推进器产生的控制力可以表示为

$ \boldsymbol{F}=\boldsymbol{K u} $(20)

推进力F可以用向量表示为

$ \boldsymbol{F}=\left[\begin{array}{llllllll} F_1 & F_2 & F_3 & F_4 & F_5 & F_6 & F_7 & F_8 \end{array}\right]^{\mathrm{T}} $

控制输入向量u表示为

$ \boldsymbol{u}=\left[\begin{array}{llllllll} u_1 & u_2 & u_3 & u_4 & u_5 & u_6 & u_7 & u_8 \end{array}\right]^{\mathrm{T}} $

由于水下潜器的8个推进器在工作电压为16 V时产生的最大推力为40 N, 推力系数K可以表示为

$ \boldsymbol{K}=\operatorname{diag}\left[\begin{array}{llllllll} 40 & 40 & 40 & 40 & 40 & 40 & 40 & 40 \end{array}\right] $

水下机器人推进器可以建模为

$ \boldsymbol{\tau}=\boldsymbol{T}(\alpha) \boldsymbol{F}=\boldsymbol{T}(\alpha) \boldsymbol{K} \boldsymbol{u} $(21)

式中,T(α)是推力配置矩阵, 改进后的PID算法是先根据模型得出待定参数, 输出力和力矩τ, 再根据(21)式反推出输出u, 通过(20)式可以得出对应8个推进器产生的力的大小。接下来对推力配置矩阵进行详细推导。

已知某个推进器的力在XYZ方向上的分量和力矩臂, 即已知$\boldsymbol{f}=\left[\begin{array}{lll}F_x & F_y & F_z\end{array}\right]^{\mathrm{T}}$$\boldsymbol{r}= \left[\begin{array}{lll}l_x & l_y & l_z\end{array}\right]^{\mathrm{T}}$, 6个自由度的力和力矩τ可以由(22)式确定。

$ \boldsymbol{\tau}=\left[\begin{array}{c} \boldsymbol{f} \\ \boldsymbol{r} \times \boldsymbol{f} \end{array}\right]=\left[\begin{array}{c} F_x \\ F_y \\ F_z \\ F_z l_y-F_y l_z \\ F_x l_z-F_z l_x \\ F_y l_x-F_x l_y \end{array}\right] $(22)

根据(21)式, 考虑到潜器有8个推进器, 8个推进器在6个自由度产生力和力矩τR6, 因此, $ \boldsymbol{T}= \left[\begin{array}{llllllll}\boldsymbol{t}_1 & \boldsymbol{t}_2 & \boldsymbol{t}_3 & \boldsymbol{t}_4 & \boldsymbol{t}_5 & \boldsymbol{t}_6 & \boldsymbol{t}_7 & \boldsymbol{t}_8 \end{array}\right] \in \mathbf{R}^{6 \times 8}$是6行8列的矩阵。推力配置矩阵可由(22)式确定, 表 3列出了8个推进器相对于重心的力矩臂。

表3

BlueROV2 Heavy 8个推进器的力矩臂

控制XY平面的水平推进器1~4的旋转角度分别为π/4, -π/4, -3π/4和3π/4, 推进器5~8为控制方向Z的推进器, 无水平旋转。推进器1产生的力和力矩可以通过(23)式计算。

$ \boldsymbol{\tau}_1=\left[\begin{array}{c} F_{x 1} \\ F_{y 1} \\ F_{z 1} \\ F_{z 1} l_{y 1}-F_{y 1} l_{z 1} \\ F_{x 1} l_{z 1}-F_{z 1} l_{x 1} \\ F_{y 1} l_{x 1}-F_{x 1} l_{y 1} \end{array}\right]=\left[\begin{array}{c} F_1 \cos ({\rm{ \mathsf{ \pi} }} / 4) \\ -F_1 \sin ({\rm{ \mathsf{ \pi} }} / 4) \\ 0 \\ 0.085 F_1 \sin ({\rm{ \mathsf{ \pi} }} / 4) \\ 0.085 F_1 \cos ({\rm{ \mathsf{ \pi} }} / 4) \\ -0.156 F_1 \sin ({\rm{ \mathsf{ \pi} }} / 4)-0.111 F_1 \cos ({\rm{ \mathsf{ \pi} }} / 4) \end{array}\right]=\left[\begin{array}{c} 0.707 \\ -0.707 \\ 0 \\ 0.06 \\ 0.06 \\ -0.1888 \end{array}\right] F_1 $(23)

因此, $\boldsymbol{t}_1=\left[\begin{array}{llllll}0.707 & -0.707& 0 & 0.06 & 0.06 & -0.188\ 8\end{array}\right]^{\mathrm{T}}$, 按照同样的程序可以求出t2~t8。最终可以得到如(24)式所示的推力配置矩阵

$ \boldsymbol{T}(\alpha)=\left[\begin{array}{cccccccc} 0.707 & 0.707 & -0.707 & -0.707 & 0 & 0 & 0 & 0 \\ -0.707 & 0.707 & -0.707 & 0.707 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & -1 & 1 & 1 & -1 \\ 0.06 & -0.06 & 0.06 & -0.06 & -0.218 & -0.218 & 0.218 & 0.218 \\ 0.06 & 0.06 & -0.06 & -0.06 & 0.120 & -0.120 & 0.120 & -0.120 \\ -0.1888 & 0.1888 & 0.1888 & -0.1888 & 0 & 0 & 0 & 0 \end{array}\right] $(24)

3.2 改进PID控制及参数整定步骤

改进PID控制算法使用跟踪误差作为反馈,跟踪误差由期望位置和水下潜器的当前位置作差得到。

$ \boldsymbol{e}=\boldsymbol{\eta}_{\mathrm{d}}-\boldsymbol{\eta} $(25)

式中,ηdR6×1为输入的期望位置, 包含位置和姿态矢量, 所以PID的参数KP, ωcα也是6行1列的矩阵形式。因此水下机器人的改进PID控制算法如(26)式所示。

$ C_{\mathrm{PID}}(s)=\boldsymbol{K}_{\mathrm{P}}\left[1+\frac{\boldsymbol{\omega}_{\mathrm{c}}}{\boldsymbol{\alpha}+\boldsymbol{\varepsilon}} \frac{1}{s}+\frac{\boldsymbol{\alpha}}{(\boldsymbol{\alpha}+\boldsymbol{\varepsilon}) \boldsymbol{\omega}_{\mathrm{c}}} s\right] $(26)

式中的除法规则是矩阵中对应元素相除, 其中$\boldsymbol{\varepsilon}=\left[\begin{array}{llllll}1 & 1 & 1 & 1 & 1 & 1\end{array}\right]^{\mathrm{T}}$η是水下机器人的当前位置, 这个误差信号在惯性坐标系内可以用(27)式转换为体坐标系eb的误差信号

$ \boldsymbol{e}^{\mathrm{b}}=\boldsymbol{J}^{\mathrm{T}}(\boldsymbol{\eta}) \boldsymbol{e} $(27)

使用体坐标中的误差信号eb采用改进后的PID算法计算出其产生的扭矩τPID, 利用动力学模型也就是(10)式反推出给定力情况下体坐标系内的加速度, 然后, 根据运动学模型也就是(9)式定义惯性坐标系中潜器的速度, 通过积分器确定潜器的位置, 接着利用旋转矩阵将其转换为体坐标系的位置矢量反馈给控制器。改进PID的参数整定步骤如下:

步骤1   通过仿真确定潜器的各项参数, 包括系统阶跃响应和系统的频域响应。

步骤2   根据步骤1所得选择合适的参数整定模型, 包括KTL模型和频域响应方法, 将参数代入改进PID的参数整定公式中, 计算得到比例增益系数KP和期望闭环带宽ωc的值。

步骤3   设定相位超前补偿参数α的初始值为1, 将步骤2计算所得的参数代入改进的PID控制算法中。

步骤4   输入潜器的悬停目标位置和姿态, 对其进行初步仿真, 根据仿真结果调节参数α

步骤5   观察悬停效果是否满足控制需求, 若满足, 则参数配置环节结束, 进入步骤6, 若不满足, 则回到步骤4。

步骤6   下位机控制器根据方案得出的结果驱动水下机器人悬停至给定的目标值。

4 仿真及结果分析

为比较改进的PID与传统PID的控制效果, 以控制潜器悬停至目标位置位姿为例, 对潜器进行仿真, 动力学参数见表 4

表4

水下机器人动力学参数

设定目标位姿$\boldsymbol{\eta}_{\mathrm{d}}=\left[\begin{array}{llllll}2 & 2 & 2 & 1 & 1 & 1\end{array}\right]^{\mathrm{T}}$, 潜器的初始位置位于惯性系的原点, 初始化姿态角为0 rad, 改进的PID控制器参数设置为:

$ \begin{aligned} & \boldsymbol{K}_{\mathrm{P}}=\left[\begin{array}{llllll} 149.59 & 150.76 & 149.48 & 0.32 & 0.29 & 0.31 \end{array}\right] \\ & \boldsymbol{\omega}_{\mathrm{c}}=\left[\begin{array}{llllll} 1.452 & 1.465 & 1.471 & 0.321 & 0.342 & 0.333 \end{array}\right] \\ & \boldsymbol{\alpha}=\left[\begin{array}{llllll} 43.022 & 42.924 & 42.892 & 0.49 & 0.50 & 0.50 \end{array}\right] \end{aligned} $

分别采用本文所设计的改进PID控制方法与传统PID控制方法对水下机器人进行悬停控制仿真。另外, 将水下潜器模型里的附加质量矩阵MA添加一定幅度的扰动, 用来模拟机器人在水中转动或改变姿态时, 机器人与水的相对接触面发生变化, 导致不同方向上产生的附加质量的不确定性。仿真得到对比图如图 5~6所示。

thumbnail 图5

潜器参数确定时的仿真结果

thumbnail 图6

潜器参数不确定时的仿真结果

图 5为参数确定时水下机器人六自由度的动力定位响应曲线, 从图中可以看出, 2种控制方法均能使水下机器人悬停至指定的位置和姿态角上, 结合图 5a)~5c)可以看出改进PID控制方法能更快速地悬停至目标位置, 相较于传统PID控制方法能更快速地收敛, 具有更小的超调量, 在稳态阶段, 改进的PID控制方法具有更小的稳态误差。图 6为参数不确定时水下机器人的动力定位响应曲线, 从图中可以看出, 由于参数不确定的影响, 传统PID控制的水下机器人响应曲线波动明显比改进后PID的幅度更大, 更加凸显了改进后PID的参数配置要更优于传统PID的参数配置。

5 结论

针对分析传统PID存在的参数整定复杂、重复工作太多、容易出现过调节或欠调节等问题, 引入了期望闭环带宽和相位超前补偿参数, 针对ZN-PID方法整定水下机器人PID参数较为困难的问题设计了一种改进的参数整定方法, 提出了一种基于改进PID的水下机器人悬停控制方法。将改进PID和传统PID算法应用于水下机器人控制系统中, 仿真结果表明改进PID控制算法能更快速地收敛, 具有更小的超调量以及更小的稳态误差, 且在系统参数不确定时, 改进PID的控制效果明显比传统PID更加稳定。接下来的工作方向是将这套改进的PID控制方案在实际潜器上实现。基于仿真结果, 进一步优化控制参数, 并通过实物实验验证该控制算法的性能表现。具体工作将重点关注改进PID算法在复杂水下环境中的悬停控制效果, 特别是在系统参数不确定性和外部干扰条件下的表现, 确保其在实际应用中的稳定性与鲁棒性。同时, 根据实验结果, 进一步完善控制策略, 以提高系统的可靠性与适应性, 推动该算法在水下机器人领域的实际应用。

References

  1. WANG Tao. Operational efficiency analysis of ROV in underwater operations[J]. China Petroleum and Chemical Standard and Quality, 2024, 44(3): 102–104 (in Chinese) [Google Scholar]
  2. YAN GangZHOU Jun. A review of intelligent control technologies for underwater robots[J]. Electronics World, 201324): 21–22 (in Chinese) [Google Scholar]
  3. BINUGROHO E H, AB W, MAS'UDI M I, et al. EROV: depth and balance control for ROV motion using fuzzy PID method[C]//2019 International Electronics Symposium, 2019: 637–643 [Google Scholar]
  4. HUO JianghangJIANG XiangyuanLUAN Yizhong, et al. Design of AUV depth controller based on L1 adaptive theory[J]. Chinese Journal of Ship Research, 2021, 16(5): 150–157 (in Chinese) [Google Scholar]
  5. MEI ManZHU DaqiGAN Wenyang, et al. The tracking control of unmanned underwater vehicles based on model predictive control[J]. Control Engineering of China, 2019, 26(10): 1917–1924 (in Chinese) [Google Scholar]
  6. WANG JianhuaSONG YanWEI Guoliang, et al. Application of cascade PID control in the pitch control system of a remotely operated vehicle[J]. Journal of University of Shanghai for Science and Technology, 2017, 39(3): 229–235 (in Chinese) [Google Scholar]
  7. YANG JianjianFU Zongguo. Research on the depth direction trajectory tracking of ROV controlled by sliding mode variable structure[J]. Journal of Zhejiang Ocean University, 2014, 33(2): 175–179 (in Chinese) [Google Scholar]
  8. YANG JianhuaTIAN Shouye. Research on depth control algorithm of underwater vehicle based on theory of sliding mode[J]. Computer Measurement & Control, 2017, 25(8): 43–45 (in Chinese) [Google Scholar]
  9. GAO ShengCHEN KunZHANG Liwei, et al. Control method for fixed point hovering of open-shelf observational ROV[J]. China Petroleum Machinery, 2019, 47(2): 55–64 (in Chinese) [Google Scholar]
  10. WEI WeiMEI ShengweiZHANG Xuemin. Review of advanced control theory and application in power system[J]. Power System Protection and Control, 2013, 41(12): 143–153 (in Chinese) [Google Scholar]
  11. ZHANG Panmei. Optimization of underwater robot control system based on fuzzy PID algorithm[J]. Machine Tool & Hydraulics, 2024, 52(3): 72–77 (in Chinese) [Google Scholar]
  12. ZIEGLER J GNICHOLS N B. Optimum settings for automatic controllers[J]. Transactions of the American Society of Mechanical Engineers, 1942, 64(8): 759–765 [Google Scholar]
  13. YAN YinpoYU FujieCHEN Yuan. Hydrodynamic coefficients calculation and dynamic modeling of an open-frame underwater robot[J]. Acta Armamentarii, 2021, 42(9): 1972–1986 (in Chinese) [Google Scholar]
  14. XU Dehui. Research on dynamic analysis of underwater robot[J]. Journal of Jiamusi University, 2018, 36(2): 244–248 (in Chinese) [Google Scholar]
  15. KABANOV AKRAMAR VERMAKOV I. Design and modeling of an experimental ROV with six degrees of freedom[J]. Drones, 2021, 5(4): 113 [Google Scholar]

All Tables

表1

ZN整定公式(阶跃响应)

表2

ZN整定公式(频率响应)

表3

BlueROV2 Heavy 8个推进器的力矩臂

表4

水下机器人动力学参数

All Figures

thumbnail 图1

水下机器人控制系统

In the text
thumbnail 图2

BlueROV2 Heavy结构图

In the text
thumbnail 图3

水下机器人底部示意图

In the text
thumbnail 图4

水下机器人后视图

In the text
thumbnail 图5

潜器参数确定时的仿真结果

In the text
thumbnail 图6

潜器参数不确定时的仿真结果

In the text

Current usage metrics show cumulative count of Article Views (full-text article views including HTML views, PDF and ePub downloads, according to the available data) and Abstracts Views on Vision4Press platform.

Data correspond to usage on the plateform after 2015. The current usage metrics is available 48-96 hours after online publication and is updated daily on week days.

Initial download of the metrics may take a while.