水下机器人的水动力学:从流体力学第一原理到可用的运动模型
关键词:ROV、AUV、水动力学、附加质量、阻尼、Fossen 模型、六自由度、推力分配、CFD
前言
做过无人机的人转到水下机器人,第一反应通常是"差不多,都是六自由度刚体"。真正上手后会发现完全不是一回事:
- 空气密度 1.2 kg/m³,海水 1025 kg/m³,相差 850 倍。空气对无人机的作用力在低速时几乎可以忽略,而水对水下机器人的作用力是主导项。
- 无人机的质量矩阵是常数;水下机器人加速时要"推动"周围一大团水,附加质量可以与本体质量同量级,甚至更大。
- 无人机的阻力在悬停时基本为零;水下机器人只要有相对速度就有巨大的阻力,而且阻力与速度平方成正比。
- 无人机断电就掉下来;水下机器人的浮力和重力平衡关系决定了它断电后是浮起来、悬停还是沉底,这是安全设计的第一决策。
- 最要命的一点:ROV 后面拖着一根几十到几百米的缆,这根缆在水流中产生的阻力经常超过机器人本体。
这篇文章从流体力学的基本量纲讲起,一步步推到工程上真正能用的六自由度运动模型,最后落到参数怎么获取、控制器怎么设计。目标是让你看完之后,能看懂一份水动力参数报告,也能判断一个仿真模型是不是在瞎写。
一、先把量纲搞清楚:几个决定性的无量纲数
流体力学里最重要的思维方式是无量纲化。同一个物理现象在不同尺度下是否相似,由无量纲数决定,而不是绝对尺寸。
1.1 雷诺数 Re —— 判断流动状态
Re=ρULμ=ULν Re = \frac{\rho U L}{\mu} = \frac{U L}{\nu} Re=μρUL=νUL
- ρ\rhoρ:流体密度,海水约 1025 kg/m³,淡水 1000 kg/m³(差 2.5%,做浮力配平时不能忽略)
- μ\muμ:动力粘度,水在 20℃ 时约 1.0×10−3 Pa⋅s1.0\times10^{-3}\ \text{Pa·s}1.0×10−3 Pa⋅s
- ν=μ/ρ\nu = \mu/\rhoν=μ/ρ:运动粘度,水约 1.0×10−6 m2/s1.0\times10^{-6}\ \text{m}^2/\text{s}1.0×10−6 m2/s(10℃ 时约 1.31×10−61.31\times10^{-6}1.31×10−6,深海低温要修正)
- LLL:特征长度(一般取机器人纵向长度)
- UUU:相对来流速度
物理意义:惯性力与粘性力之比。
代入一个典型观察级 ROV:L=0.6L = 0.6L=0.6 m,U=1U = 1U=1 m/s(约 2 节)
Re=1×0.61.0×10−6=6×105 Re = \frac{1 \times 0.6}{1.0\times10^{-6}} = 6\times10^{5} Re=1.0×10−61×0.6=6×105
结论:Re∼105∼107Re \sim 10^5 \sim 10^7Re∼105∼107,属于充分发展的湍流区。这带来三个重要推论:
- 边界层是湍流边界层,摩擦阻力系数不能用层流公式(Blasius)算
- 阻力以压差阻力(形阻)为主,摩擦阻力次要(对钝体尤其如此)
- 在这个区间内,阻力系数 CDC_DCD 对 ReReRe 的依赖较弱,可以近似当作常数 —— 这是工程上敢用固定 CDC_DCD 建模的理论依据
1.2 弗劳德数 Fr —— 判断自由面效应
Fr=UgL Fr = \frac{U}{\sqrt{gL}} Fr=gLU
物理意义:惯性力与重力(波浪造波)之比。
- 深潜状态(下潜深度 > 1.5 倍机体高度):自由面效应可以忽略,Fr 不重要,只需考虑 Re
- 近水面航行/收放阶段:造波阻力显著,且会有波浪激励力和吸力效应,必须考虑 Fr
这解释了一个常见现象:ROV 在水面附近往往比在水中"难控制"——多了造波阻力、波浪扰动和自由面吸附效应。
1.3 KC 数 —— 判断附加质量项与阻尼项谁主导
Keulegan-Carpenter 数:
KC=UmTD KC = \frac{U_m T}{D} KC=DUmT
其中 UmU_mUm 是振荡速度幅值,TTT 是周期,DDD 是特征直径。
- KC≪1KC \ll 1KC≪1(小幅高频运动,如动力定位时的微调):附加质量(惯性)项主导
- KC≫1KC \gg 1KC≫1(大幅低速运动,如巡航):拖曳(阻尼)项主导
工程含义:如果你的 ROV 主要做定点悬停和精细作业,附加质量的建模精度比阻力更重要;如果主要做长距离巡航测线,阻力系数的精度更关键。很多仿真模型精度差,就是因为在错误的 KC 区间里花错了力气。
二、静力学:浮力、重心、浮心与复原力矩
这一节是水下机器人最基础也最容易出事的部分。
2.1 阿基米德原理与净浮力设计
FB=ρgV F_B = \rho g V FB=ρgV
VVV 是排水体积(整机在水下的封闭体积,包括耐压舱、浮力材、框架实体,但不包括开架结构中的通水空间)。
净浮力:
ΔF=FB−W=ρgV−mg \Delta F = F_B - W = \rho g V - m g ΔF=FB−W=ρgV−mg
三种设计取向:
| 配平方式 | 净浮力 | 断电后行为 | 适用场景 |
|---|---|---|---|
| 正浮力(Positive) | ΔF>0\Delta F > 0ΔF>0,一般取 +0.5%~+2% 排水量 | 自动上浮 | ROV 绝对主流,失效安全(fail-safe) |
| 中性浮力(Neutral) | ΔF≈0\Delta F \approx 0ΔF≈0 | 原地悬停 | 需要长时间悬停、垂推能耗敏感 |
| 负浮力(Negative) | ΔF<0\Delta F < 0ΔF<0 | 下沉坐底 | 坐底作业、着陆器(Lander) |
实践要点:正浮力不能太大。假设一台 50 kg 的 ROV 取 +2% 净浮力,即约 10 N 剩余浮力。要维持定深,垂推必须持续输出 10 N 对抗,白白消耗能量和推力余量。工程上通常取 +2 ~ +5 N 的量级,既保证断电上浮,又不过度消耗垂推能力。
深度效应容易被忽略:随深度增加,① 海水密度略微增大(3000 m 处约增大 1.5%),② 耐压舱和浮力材受压缩,体积减小。两个效应方向相反但通常压缩占主导,结果是深度越大浮力越小。深潜设备下潜到底可能从正浮力变成负浮力,必须在配平时预留裕度或用可调压载。
2.2 重心 CG 与浮心 CB —— 姿态稳定性的全部秘密
- 重心 rg=[xg,yg,zg]Tr_g = [x_g, y_g, z_g]^Trg=[xg,yg,zg]T:重力作用点,由质量分布决定
- 浮心 rb=[xb,yb,zb]Tr_b = [x_b, y_b, z_b]^Trb=[xb,yb,zb]T:排水体积的形心,由几何外形决定
关键:这两点一般不重合。 而且必须不重合。
设定载体坐标系 zzz 轴向下(标准海洋工程约定),当机器人横滚 ϕ\phiϕ 角时,重力和浮力形成一个力偶:
Mrestoring=−(zg−zb) Wsinϕ M_{restoring} = -(z_g - z_b)\,W \sin\phi Mrestoring=−(zg−zb)Wsinϕ
定义 BG 距离 BG‾=zg−zb\overline{BG} = z_g - z_bBG=zg−zb(重心在浮心下方时为正)。
- BG‾>0\overline{BG} > 0BG>0(重心在浮心下方):产生负反馈复原力矩,机器人被动稳定,会自动回到水平姿态
- BG‾=0\overline{BG} = 0BG=0:无复原力矩,姿态随机漂移,完全靠控制器硬撑
- BG‾<0\overline{BG} < 0BG<0:正反馈,姿态发散,会翻过来
↑ 浮力 F_B
|
● CB (浮心,靠上)
|
● CG (重心,靠下) ← BG 距离
|
↓ 重力 W
倾斜后:F_B 与 W 形成回正力偶 → 被动自稳
设计手法:把电池、电机、配重等重物放低,把浮力材(通常是玻璃微珠复合泡沫)放在顶部。这样 CG 下移、CB 上移,BG‾\overline{BG}BG 增大。
BG 的取舍:
- BG 太小 → 姿态稳定性差,容易被扰动掀翻,作业时相机画面晃
- BG 太大 → 复原力矩过强,机器人抵抗俯仰的能力太强,想主动做俯仰运动(比如低头看海床)需要极大的推力,而且横滚/俯仰的自然频率高、振荡衰减慢,容易出现"钟摆式"晃荡
典型观察级 ROV 的 BG‾\overline{BG}BG 在 20 ~ 60 mm 量级。
2.3 一个反直觉但极其重要的结论
全潜状态下,六个自由度中只有横滚(roll)和俯仰(pitch)有复原力,其余四个自由度(纵向 surge、横向 sway、垂向 heave、艏向 yaw)复原力为零。
为什么?
- 前进/横移/转艏:位置和角度改变不影响重浮力的大小和相对位置 → 无复原力
- 垂向(深度):全潜后浮力不随深度变化(忽略压缩效应)→ 深度方向没有任何"弹簧",是纯二阶积分系统
这与水面船舶完全不同(船有水线面刚度,heave/roll/pitch 都有静水恢复刚度)。
工程含义:
- 深度控制必须是闭环控制,没有任何被动定深能力
- 深度控制器本质是在控制一个"无阻尼弹簧刚度为零 + 强非线性阻尼"的系统,PID 里的 I 项主要用来消掉净浮力这个常值扰动
- 艏向同理,没有"风向标效应"(除非机体有大尾翼,AUV 常用此设计获得航向被动稳定性)
三、动力学核心:六自由度运动方程(Fossen 模型)
这是水下机器人建模的行业标准框架,出自 Thor I. Fossen 的经典教材。
3.1 坐标系与状态变量
需要两个坐标系:
位姿向量(在 {n}\{n\}{n} 系中描述):
η=[x, y, z, ϕ, θ, ψ]T \boldsymbol{\eta} = [x,\ y,\ z,\ \phi,\ \theta,\ \psi]^T η=[x, y, z, ϕ, θ, ψ]T
速度向量(在 {b}\{b\}{b} 系中描述):
ν=[u, v, w, p, q, r]T \boldsymbol{\nu} = [u,\ v,\ w,\ p,\ q,\ r]^T ν=[u, v, w, p, q, r]T
| 自由度 | 位移/角度 | 速度 | 中文 | 英文 |
|---|---|---|---|---|
| 1 | xxx | uuu | 纵荡(前后) | Surge |
| 2 | yyy | vvv | 横荡(左右) | Sway |
| 3 | zzz | www | 垂荡(升沉) | Heave |
| 4 | ϕ\phiϕ | ppp | 横摇 | Roll |
| 5 | θ\thetaθ | qqq | 纵摇 | Pitch |
| 6 | ψ\psiψ | rrr | 首摇 | Yaw |
3.2 运动学方程
η˙=J(η) ν \dot{\boldsymbol{\eta}} = \boldsymbol{J}(\boldsymbol{\eta})\,\boldsymbol{\nu} η˙=J(η)ν
J(η)=[Rbn(Θ)03×303×3TΘ(Θ)] \boldsymbol{J}(\boldsymbol{\eta}) = \begin{bmatrix} \boldsymbol{R}_b^n(\Theta) & \boldsymbol{0}_{3\times3} \\ \boldsymbol{0}_{3\times3} & \boldsymbol{T}_\Theta(\Theta)\end{bmatrix} J(η)=[Rbn(Θ)03×303×3TΘ(Θ)]
Rbn\boldsymbol{R}_b^nRbn 是标准 ZYX 欧拉角旋转矩阵,TΘ\boldsymbol{T}_\ThetaTΘ 是角速度到欧拉角速率的变换矩阵。
注意奇异性:TΘ\boldsymbol{T}_\ThetaTΘ 在 θ=±90°\theta = \pm 90°θ=±90° 时奇异。ROV 一般俯仰角有限,欧拉角够用;但如果设备需要大姿态机动(如翻转检查船底),必须换四元数表示。
3.3 动力学方程 —— 全文最核心的一个式子
Mν˙⏟惯性+C(ν)ν⏟科氏向心+D(ν)ν⏟阻尼+g(η)⏟复原力=τ⏟推进器+τenv⏟环境力 \boxed{\underbrace{\boldsymbol{M}\dot{\boldsymbol{\nu}}}_{\text{惯性}} + \underbrace{\boldsymbol{C}(\boldsymbol{\nu})\boldsymbol{\nu}}_{\text{科氏向心}} + \underbrace{\boldsymbol{D}(\boldsymbol{\nu})\boldsymbol{\nu}}_{\text{阻尼}} + \underbrace{\boldsymbol{g}(\boldsymbol{\eta})}_{\text{复原力}} = \underbrace{\boldsymbol{\tau}}_{\text{推进器}} + \underbrace{\boldsymbol{\tau}_{env}}_{\text{环境力}}} 惯性 Mν˙+科氏向心 C(ν)ν+阻尼 D(ν)ν+复原力 g(η)=推进器 τ+环境力 τenv
各项分解:
M=MRB+MA,C(ν)=CRB(ν)+CA(ν),D(ν)=DL+DN(ν) \boldsymbol{M} = \boldsymbol{M}_{RB} + \boldsymbol{M}_A,\qquad \boldsymbol{C}(\boldsymbol{\nu}) = \boldsymbol{C}_{RB}(\boldsymbol{\nu}) + \boldsymbol{C}_A(\boldsymbol{\nu}),\qquad \boldsymbol{D}(\boldsymbol{\nu}) = \boldsymbol{D}_L + \boldsymbol{D}_N(\boldsymbol{\nu}) M=MRB+MA,C(ν)=CRB(ν)+CA(ν),D(ν)=DL+DN(ν)
- MRB\boldsymbol{M}_{RB}MRB:刚体质量惯性矩阵(质量 + 转动惯量 + CG 偏置耦合项)
- MA\boldsymbol{M}_AMA:附加质量矩阵 ← 第四节详述
- CRB\boldsymbol{C}_{RB}CRB:刚体科氏向心力矩阵
- CA\boldsymbol{C}_ACA:附加质量引起的科氏向心力(Munk 力矩的来源)
- DL\boldsymbol{D}_LDL:线性阻尼(层流摩擦、势流辐射阻尼)
- DN\boldsymbol{D}_NDN:非线性二次阻尼 ← 主导项,第五节详述
- g(η)\boldsymbol{g}(\boldsymbol{\eta})g(η):重浮力复原项(第二节推导的那个)
这个方程的形式和机械臂的动力学方程一模一样(Mq¨+Cq˙+G=τM\ddot q + C\dot q + G = \tauMq¨+Cq˙+G=τ),差别在于水下机器人多了 MAM_AMA 和 D(ν)D(\nu)D(ν) 两项,而这两项的数值往往比刚体项还大。这就是水下机器人建模难的根本原因。
四、附加质量(Added Mass):水下机器人独有的"虚拟质量"
4.1 物理图像
机器人在水中加速时,不只是自己在加速,还必须推动周围的一大团水一起加速。这团水的惯性反作用于机器人,表现为额外的惯性力:
FA=−mAu˙ F_A = -m_A \dot{u} FA=−mAu˙
mAm_AmA 就是附加质量。它不是真的黏在机器人上的一团水(水一直在流动交换),而是流场动能变化率的等效表达。
从能量角度看更严谨:流场的总动能
Ek=12νTMAν E_k = \frac{1}{2}\boldsymbol{\nu}^T \boldsymbol{M}_A \boldsymbol{\nu} Ek=21νTMAν
对速度求导即得附加质量力。
4.2 数量级:为什么必须重视
理论解(无粘势流,无界流体):
| 几何体 | 运动方向 | 附加质量 |
|---|---|---|
| 球(半径 aaa) | 任意方向 | 23ρπa3\frac{2}{3}\rho\pi a^332ρπa3 = 0.5 倍排水质量 |
| 无限长圆柱(半径 aaa,长 LLL) | 横向 | ρπa2L\rho\pi a^2 Lρπa2L = 1.0 倍排水质量 |
| 圆柱 | 轴向 | 很小,通常按 0.1 倍量级估 |
| 圆盘(半径 aaa) | 垂直盘面 | 83ρa3\frac{8}{3}\rho a^338ρa3,远大于其排水量 |
| 扁平方板 | 垂直板面 | 极大 |
关键洞察:对空气中的物体,附加质量是排水空气质量的 0.5 倍,即 0.5×1.2=0.60.5\times 1.2 = 0.60.5×1.2=0.6 kg/m³ 量级,完全可忽略。对水下物体,附加质量是排水水质量的 0.5~1 倍以上,而中性浮力设计下排水水质量 ≈ 机器人质量。
结论:水下机器人的有效惯性通常是本体质量的 1.5 ~ 3 倍,某些方向(如扁平开架结构的垂向)可达 3 倍以上。
这直接解释了两个现场现象:
- ROV 的加减速比想象中"肉"很多,尤其垂向。这不是推力不够,是有效质量太大。
- 开架式 ROV 比流线型 AUV 更"肉":开架结构里的框架、横梁、导流罩形成大量近似"平板"和"短圆柱",附加质量系数极高。
4.3 6×6 附加质量矩阵与耦合
完整形式:
MA=−[Xu˙Xv˙Xw˙Xp˙Xq˙Xr˙Yu˙Yv˙⋯⋮⋱Nu˙⋯Nr˙] \boldsymbol{M}_A = -\begin{bmatrix} X_{\dot u} & X_{\dot v} & X_{\dot w} & X_{\dot p} & X_{\dot q} & X_{\dot r}\\ Y_{\dot u} & Y_{\dot v} & \cdots & & & \\ \vdots & & \ddots & & & \\ N_{\dot u} & \cdots & & & & N_{\dot r} \end{bmatrix} MA=− Xu˙Yu˙⋮Nu˙Xv˙Yv˙⋯Xw˙⋯⋱Xp˙Xq˙Xr˙Nr˙
这里用的是 SNAME 水动力导数记号:Xu˙=∂X/∂u˙X_{\dot u} = \partial X/\partial \dot uXu˙=∂X/∂u˙。
由势流理论可证 MA\boldsymbol{M}_AMA 是对称正定矩阵(无界理想流体中),这是重要的模型校验依据 —— 如果你的 CFD 算出来的矩阵严重不对称,八成是算错了。
对称性简化:
- 若机体有三个对称面(如球、立方体框架),MA\boldsymbol{M}_AMA 退化为对角矩阵,只需 6 个参数:diag(Xu˙,Yv˙,Zw˙,Kp˙,Mq˙,Nr˙)\text{diag}(X_{\dot u}, Y_{\dot v}, Z_{\dot w}, K_{\dot p}, M_{\dot q}, N_{\dot r})diag(Xu˙,Yv˙,Zw˙,Kp˙,Mq˙,Nr˙)
- 大多数 ROV 有左右对称面(xz 平面),耦合项减少一半
- 工程上绝大多数 ROV 模型直接取对角阵,这个近似在中低速下是可接受的
4.4 获取途径
- 经验公式/查表:把机体拆解为球、圆柱、平板等基本单元,分别查表后叠加。快,误差 20~40%,适合方案阶段
- 条带理论(Strip Theory):沿轴向切片,每片按二维问题求解后积分。适合细长体(AUV、鱼雷形),对开架结构不适用
- 面元法 / 边界元法(BEM):求解势流的 Laplace 方程,直接得到 6×6 矩阵。精度好、速度快,是求附加质量的首选(附加质量本质是无粘效应,不需要解粘性方程)
- CFD 强迫振荡仿真:给定正弦运动,对力信号做傅里叶分解,同相位分量给附加质量,反相位给阻尼。可以同时得到两组参数,但计算量大
- 水池实验:PMM(平面运动机构)强迫振荡试验,或自由衰减试验反推
五、阻尼与阻力:主导项
5.1 阻力方程与两类阻力
FD=12ρCDAU2 F_D = \frac{1}{2}\rho C_D A U^2 FD=21ρCDAU2
注意:CDC_DCD 必须与参考面积 AAA 配套报告。 迎流投影面积(frontal area)和湿表面积(wetted area)算出的 CDC_DCD 相差可达一个数量级。看到一份报告只写 CD=0.9C_D = 0.9CD=0.9 而不写参考面积,这个数是没有意义的。
阻力的两个来源:
| 类型 | 机理 | 主导条件 |
|---|---|---|
| 摩擦阻力(Skin Friction) | 边界层内的粘性剪切 | 细长流线型体、大湿面积 |
| 压差阻力 / 形阻(Form/Pressure Drag) | 边界层分离导致后体压力恢复不足 | 钝体、开架结构 ← ROV 属此类 |
对开架式 ROV,压差阻力占总阻力的 80% 以上。减阻的核心不是抛光表面,而是减少迎流投影面积、避免尖锐的流动分离。
5.2 典型 CDC_DCD 数量级(基于迎流投影面积)
| 外形 | CDC_DCD |
|---|---|
| 流线型回转体(AUV,最优线型) | 0.1 ~ 0.2 |
| 带整流罩的观察级 ROV(前进方向) | 0.4 ~ 0.7 |
| 开架式 ROV(前进方向) | 0.8 ~ 1.2 |
| 开架式 ROV(横向/垂向) | 1.2 ~ 2.0 |
| 平板垂直来流 | ~1.2 |
| 圆柱横向来流(Re∼105Re\sim10^5Re∼105) | 0.7 ~ 1.2 |
强各向异性是 ROV 水动力最显著的特征。 同一台开架 ROV,横向阻力可能是纵向阻力的 2~4 倍(面积大 + CDC_DCD 大双重叠加)。
工程含义:
- 控制器在纵向和横向的增益必须分开调,用同一组参数必然一个方向发散一个方向迟钝
- 航行策略:能用转艏 + 前进代替横移,就不要横移。 横移的能耗可能是同距离前进的 5 倍以上
- 抗流作业时应尽量让艏向对准来流(迎流姿态),这是现场操作的基本功
5.3 线性 + 二次阻尼模型
工程上普遍采用:
D(ν)=DL+DN∣ν∣ \boldsymbol{D}(\boldsymbol{\nu}) = \boldsymbol{D}_L + \boldsymbol{D}_N|\boldsymbol{\nu}| D(ν)=DL+DN∣ν∣
单自由度展开(以纵向为例):
Xdrag=Xu u+Xu∣u∣ u∣u∣ X_{drag} = X_u\, u + X_{u|u|}\, u|u| Xdrag=Xuu+Xu∣u∣u∣u∣
- XuX_uXu(线性项):来源于层流摩擦和势流辐射阻尼,在极低速时主导
- Xu∣u∣X_{u|u|}Xu∣u∣(二次项):来源于涡脱落和流动分离,在正常航速下主导
注意二次项必须写成 u∣u∣u|u|u∣u∣ 而不是 u2u^2u2,否则速度反向时符号错误(阻力会变成推力,仿真直接发散)。这是新手最常见的建模 bug。
过渡速度:两项相等处 u∗=∣Xu/Xu∣u∣∣u^* = |X_u / X_{u|u|}|u∗=∣Xu/Xu∣u∣∣,典型值在 0.05~0.15 m/s。也就是说只要机器人动起来超过 0.1 m/s,二次阻尼就完全主导。因此很多简化模型直接丢掉线性项,只保留二次项 —— 但在动力定位(DP)这种超低速工况下,线性项不能丢,它提供了系统在原点附近的稳定性。
5.4 Morison 方程:把惯性和阻尼合起来
对细长构件(缆、桁架、机械臂)在振荡流中的受力:
dF=ρCMπD24 u˙ dl⏟惯性项(含附加质量)+12ρCDD u∣u∣ dl⏟拖曳项 dF = \underbrace{\rho C_M \frac{\pi D^2}{4}\,\dot{u}\,dl}_{\text{惯性项(含附加质量)}} + \underbrace{\frac{1}{2}\rho C_D D\, u|u|\,dl}_{\text{拖曳项}} dF=惯性项(含附加质量) ρCM4πD2u˙dl+拖曳项 21ρCDDu∣u∣dl
其中 CM=1+CaC_M = 1 + C_aCM=1+Ca,CaC_aCa 是附加质量系数。这个半经验公式是海洋工程中计算细长结构受力的标准工具,也是计算缆绳受力的基础。
5.5 缆绳阻力:ROV 系统真正的性能瓶颈
这一节请特别注意,它是 ROV 与 AUV 的分水岭。
算一个具体例子:
- 脐带缆直径 D=12D = 12D=12 mm,水中悬垂长度 L=100L = 100L=100 m
- 缆的横向阻力系数 CD≈1.2C_D \approx 1.2CD≈1.2
- 侧向流速 U=0.75U = 0.75U=0.75 m/s(约 1.5 节,很常见的作业条件)
缆的侧向投影面积:A=D×L=0.012×100=1.2 m2A = D \times L = 0.012 \times 100 = 1.2\ \text{m}^2A=D×L=0.012×100=1.2 m2
Fcable=12×1025×1.2×1.2×0.752≈415 N F_{cable} = \frac{1}{2} \times 1025 \times 1.2 \times 1.2 \times 0.75^2 \approx 415\ \text{N} Fcable=21×1025×1.2×1.2×0.752≈415 N
再算机器人本体(迎流面积 0.25 m²,CD=1.0C_D = 1.0CD=1.0):
Fbody=12×1025×1.0×0.25×0.752≈72 N F_{body} = \frac{1}{2}\times 1025 \times 1.0 \times 0.25 \times 0.75^2 \approx 72\ \text{N} Fbody=21×1025×1.0×0.25×0.752≈72 N
缆绳阻力是本体阻力的 5.8 倍。
这个数字解释了大量现场现象:
- ROV 的抗流能力主要由缆决定,不是由推进器决定。 一味增加推力而不管缆,收益递减
- 缆越放越多 → 阻力越来越大 → ROV 有效作业半径受限,而不是受限于电池或推力
- 缆的张力会通过挂缆点产生力矩,持续把机器人往一个方向拽,控制器的积分项要一直对抗它
- TMS(Tether Management System,缆绳管理系统)的价值:把长缆的重浮力和阻力承担转移到中继器上,ROV 只拖一根短的中性浮力缆(通常几十米),阻力大幅降低。这是作业级 ROV 的标准配置
- 缆的设计要点:尽量小直径、中性浮力缆(避免重量带来的额外张力)、必要时用凯夫拉铠装承载张力
六、科氏力与向心力:容易被忽略的耦合项
C(ν)ν \boldsymbol{C}(\boldsymbol{\nu})\boldsymbol{\nu} C(ν)ν
这一项来源于在旋转坐标系中写牛顿定律,它不做功(νTC(ν)ν=0\boldsymbol{\nu}^T\boldsymbol{C}(\boldsymbol{\nu})\boldsymbol{\nu} = 0νTC(ν)ν=0,因为 C\boldsymbol{C}C 是反对称的),但会在自由度之间搬运能量,造成强耦合。
最典型的表现:Munk 力矩。
细长体以攻角 α\alphaα 斜向前进时,由于纵向和横向附加质量不等(Xu˙≠Yv˙X_{\dot u} \ne Y_{\dot v}Xu˙=Yv˙),会产生一个放大攻角的不稳定力矩:
MMunk∝(Xu˙−Yv˙) u w M_{Munk} \propto (X_{\dot u} - Y_{\dot v})\, u\, w MMunk∝(Xu˙−Yv˙)uw
这是纯无粘效应,与阻力无关。它的物理后果是:细长体在水中天然航向不稳定,倾向于横过来。
这解释了两件事:
- 为什么鱼雷形 AUV 必须装尾翼 —— 尾翼的升力恢复力矩用来压制 Munk 力矩,实现被动航向稳定
- 为什么 ROV 前进时转艏,会明显感觉到"甩尾"和姿态被牵动 —— 这是 C(ν)\boldsymbol{C}(\boldsymbol{\nu})C(ν) 中 u⋅ru \cdot ru⋅r 耦合项的作用
工程建议:低速工况(< 0.3 m/s)下科氏项通常可以忽略;中高速机动或需要高精度轨迹跟踪时必须建模,并作为前馈补偿加进控制器。
七、环境力:海流、波浪
7.1 海流 —— 用相对速度处理
处理海流最优雅也最正确的方式:不要把海流当外力,而是把所有水动力项的速度换成相对速度。
νr=ν−νc \boldsymbol{\nu}_r = \boldsymbol{\nu} - \boldsymbol{\nu}_c νr=ν−νc
其中 νc\boldsymbol{\nu}_cνc 是海流速度在载体坐标系中的表示。方程改写为:
MRBν˙+MAν˙r+CRB(ν)ν+CA(νr)νr+D(νr)νr+g(η)=τ \boldsymbol{M}_{RB}\dot{\boldsymbol{\nu}} + \boldsymbol{M}_A\dot{\boldsymbol{\nu}}_r + \boldsymbol{C}_{RB}(\boldsymbol{\nu})\boldsymbol{\nu} + \boldsymbol{C}_A(\boldsymbol{\nu}_r)\boldsymbol{\nu}_r + \boldsymbol{D}(\boldsymbol{\nu}_r)\boldsymbol{\nu}_r + \boldsymbol{g}(\boldsymbol{\eta}) = \boldsymbol{\tau} MRBν˙+MAν˙r+CRB(ν)ν+CA(νr)νr+D(νr)νr+g(η)=τ
注意刚体项用绝对速度(惯性系中的加速度),水动力项用相对速度。这个区分在有流的仿真中至关重要。
海流的两个特性:
- 量级大:0.5~1.5 m/s 是常见作业条件,某些海峡、河口可达 2~3 m/s。与 ROV 自身航速同量级甚至更大
- 有剖面:表层流速大、方向与深层不同,甚至可能反向。下潜过程中机器人和缆受到的流是分层变化的,这让缆的形态计算变得复杂
7.2 波浪
深潜时波浪影响随深度指数衰减:波数 kkk 的波,其诱导流速按 e−kze^{-kz}e−kz 衰减。深度超过半个波长后基本可忽略。
但收放阶段(LARS,Launch and Recovery System)是全流程最危险的环节:机器人穿越水气界面时会遭受剧烈的砰击载荷(slamming)和缆张力冲击,实际作业窗口往往由此决定,而不是由机器人本身的性能决定。
八、推进系统:从螺旋桨到推力分配
8.1 螺旋桨水动力模型
标准无量纲化形式:
T=KT(J) ρ n2D4,Q=KQ(J) ρ n2D5 T = K_T(J)\,\rho\, n^2 D^4, \qquad Q = K_Q(J)\,\rho\, n^2 D^5 T=KT(J)ρn2D4,Q=KQ(J)ρn2D5
- nnn:转速(rev/s),DDD:桨直径
- 进速比 J=VanDJ = \dfrac{V_a}{nD}J=nDVa,VaV_aVa 是进流速度
- KT,KQK_T, K_QKT,KQ:推力系数、扭矩系数,由桨的敞水试验曲线(Open Water Chart)给出
- 敞水效率:η0=J2π⋅KTKQ\eta_0 = \dfrac{J}{2\pi}\cdot\dfrac{K_T}{K_Q}η0=2πJ⋅KQKT
工程简化:在 Va≈0V_a \approx 0Va≈0(悬停/低速)时 J≈0J \approx 0J≈0,KTK_TKT 近似为常数 KT0K_{T0}KT0,于是
T≈kT ∣n∣ n T \approx k_T\, |n|\, n T≈kT∣n∣n
这就是绝大多数 ROV 控制系统里用的推力-转速二次模型。注意 ∣n∣n|n|n∣n∣n 而不是 n2n^2n2,保证反转产生反推力。
重要修正:正反转推力不对称。 常规螺旋桨反转时效率显著降低,反向推力通常只有正向的 60%~80%。控制器里必须用两组系数:
T={kT+n2n≥0−kT−n2n<0T = \begin{cases} k_T^+ n^2 & n \ge 0 \\ -k_T^- n^2 & n < 0\end{cases}T={kT+n2−kT−n2n≥0n<0
忽略这一点会导致机器人前进和后退的加速度明显不对称,操作手会抱怨"手感不一致"。
8.2 三个必须知道的效应
① 进流损失(Inflow Effect)
JJJ 增大时 KTK_TKT 下降。也就是说机器人跑得越快,同转速下推力越小。在推力分配里如果不考虑这一点,高速时会出现推力不足。这也是 ROV 存在一个明确的最大航速的原因:推力随速度下降,阻力随速度平方上升,两条曲线交点即极速。
② 空泡(Cavitation)
当桨叶背面局部压力低于水的饱和蒸汽压时,水汽化形成空泡,空泡崩溃会造成推力骤降、噪声和桨叶剥蚀。空泡数:
σ=p∞−pv12ρV2 \sigma = \frac{p_\infty - p_v}{\frac{1}{2}\rho V^2} σ=21ρV2p∞−pv
反直觉的好消息:p∞p_\inftyp∞ 随深度线性增加(每 10 m 增加约 1 atm),所以深水作业反而不容易空泡。空泡风险最高的场合是浅水大推力,尤其是水面附近全速推进。
③ 导管桨(Kort Nozzle / Ducted Propeller)
在桨外加一个环形导管。原理是导管产生额外的向前推力(导管内表面的压力分布),并抑制叶尖涡。
- 低进速比(JJJ 小,即低速大推力)时效率明显高于敞水桨 —— 这正是 ROV 的主要工况
- 高速时导管本身的阻力使其变成负担
结论:ROV 推进器基本都用导管桨,AUV(巡航为主)多用敞水桨。同时导管还提供了物理防护,避免螺旋桨被渔网、缆绳缠绕,这个附加价值在实际作业中很重要。
8.3 推进器布局与推力分配
推力分配(Thrust Allocation) 解决的问题:控制器算出了期望的六维力/力矩 τd\boldsymbol{\tau}_dτd,怎么分给 NNN 个推进器?
τ=B f \boldsymbol{\tau} = \boldsymbol{B}\,\boldsymbol{f} τ=Bf
- f∈RN\boldsymbol{f} \in \mathbb{R}^Nf∈RN:各推进器推力
- B∈R6×N\boldsymbol{B} \in \mathbb{R}^{6\times N}B∈R6×N:推力配置矩阵,每一列是该推进器的单位推力产生的六维广义力,由推进器的安装位置 ri\boldsymbol{r}_iri 和方向 ei\boldsymbol{e}_iei 决定:
Bi=[eiri×ei] \boldsymbol{B}_i = \begin{bmatrix}\boldsymbol{e}_i \\ \boldsymbol{r}_i \times \boldsymbol{e}_i\end{bmatrix} Bi=[eiri×ei]
常见布局:
| 布局 | 推进器数 | 可控自由度 | 说明 |
|---|---|---|---|
| 正交布局 | 4(2水平+2垂直) | surge, heave, yaw, pitch | 结构简单,不能横移 |
| 矢量布局 | 4 水平(±45°)+ 2 垂直 | surge, sway, yaw, heave, pitch | 观察级主流,水平全向 |
| 全矢量 8 推 | 4 水平 + 4 垂直(倾斜) | 全六自由度 | 作业级,可控横滚 |
矢量布局的巧妙之处:4 个水平推进器按 ±45° 安装,通过差分组合即可实现纵向、横向、转艏三个自由度的解耦控制,且任一推进器失效后仍有降级运行能力(容错性)。
求解方法:
$N > $ 可控自由度数时是欠定问题,有无穷多解。标准做法是加权最小二乘 / 伪逆:
f=W−1BT(BW−1BT)−1τd \boldsymbol{f} = \boldsymbol{W}^{-1}\boldsymbol{B}^T(\boldsymbol{B}\boldsymbol{W}^{-1}\boldsymbol{B}^T)^{-1}\boldsymbol{\tau}_d f=W−1BT(BW−1BT)−1τd
W\boldsymbol{W}W 是权重矩阵,取推进器功率系数可以实现最小能耗分配。
工程实现还要处理:
- 推力饱和:∣fi∣≤fmax|f_i| \le f_{max}∣fi∣≤fmax,超限时按比例缩放或用带约束的 QP 求解
- 死区:小转速下推力几乎为零(静摩擦 + 流动未建立),需要死区补偿
- 推力器间干扰:一个推进器的尾流打到另一个推进器的进流面,导致后者推力下降。布局设计时应避免尾流对冲
- 推力器-壳体干扰:尾流冲击机体表面产生反向力,实际有效推力可能损失 10%~30%。垂推尤其容易出现这个问题(尾流打在下方框架上)
- 康达效应(Coanda Effect):尾流贴附在机体表面流动,产生意外的侧向力
实践提醒:B\boldsymbol{B}B 矩阵必须与实际安装严格一致。装配误差导致的推进器角度偏差几度,就会在推力分配中引入交叉耦合,表现为"指令前进却在缓慢偏转"。调试阶段应做单推进器辨识逐个校核。
九、把模型用起来:控制器设计的启示
综合以上分析,水下机器人是一个 高度非线性、强耦合、参数不确定、有大扰动 的系统。
9.1 各自由度的难度分级
| 自由度 | 难度 | 原因 |
|---|---|---|
| 深度(heave) | ★★ | 无复原力但扰动小;深度计精度高(cm 级);PID + 净浮力前馈即可 |
| 艏向(yaw) | ★★ | 无复原力,转动惯量小,但罗经可靠;PID 够用 |
| 横滚/俯仰 | ★ | 有被动复原力,通常不需要主动控制(或只做小范围调节) |
| 水平位置(x, y) | ★★★★★ | 无复原力 + 海流大扰动 + 缆张力 + 定位传感器最弱(DVL 依赖底跟踪、声学定位延迟大且有跳变) |
水平定位是水下机器人控制的真正难点,而且瓶颈往往在状态估计而非控制律。
9.2 控制策略选择
① PID + 前馈(工程主力)
τ = PID(误差) + g(η) 复原力补偿 + 净浮力常值补偿 + M·a_d 加速度前馈
前馈补偿把大部分已知的非线性搬到反馈环外,PID 只需处理残差。这是性价比最高的方案,绝大多数商业 ROV 用的就是这个。要点是:
- 各自由度增益必须独立调,因为阻尼各向异性可达 4 倍
- 积分项用于消除净浮力和缆张力这类常值扰动,但必须做抗积分饱和
② 滑模控制(SMC)
对参数不确定和外部扰动鲁棒性强,非常契合水动力参数难以精确获取的现实。代价是抖振(chattering),需要用边界层法或超螺旋(Super-Twisting)算法平滑。学术论文中最常见。
③ 模型预测控制(MPC)
天然处理推力饱和约束和多目标优化(同时优化跟踪误差和能耗),能显式利用模型预测未来。代价是计算量大、依赖模型精度。近年随着嵌入式算力提升开始落地。
④ 自适应控制 / 参数在线辨识
在线估计不确定的水动力参数。理论优美,但收敛速度和激励充分性(persistent excitation)在实际低机动工况下常常得不到保证。
9.3 一句忠告
控制器再先进也补不上模型的系统性错误。 如果 CDC_DCD 估错 3 倍、附加质量漏算了一半、B\boldsymbol{B}B 矩阵和实际装配不一致,再高级的算法也只是在错误的基础上做鲁棒补偿。先把水动力参数辨识做扎实,收益远大于换控制算法。
十、参数怎么来:辨识与验证
| 方法 | 精度 | 成本 | 适用阶段 |
|---|---|---|---|
| 经验公式/几何拆解叠加 | 低(±30%~50%) | 极低 | 方案论证、初步仿真 |
| 势流面元法(BEM) | 附加质量高,阻尼不可得 | 低 | 详细设计,求 MAM_AMA 首选 |
| CFD 稳态拖曳(RANS, k-ω SST) | 阻力系数中高(±10%~20%) | 中 | 详细设计,求 CDC_DCD |
| CFD 强迫振荡 | 高,可同时得 MAM_AMA 和 DDD | 高 | 定型验证 |
| 拖曳水池 + PMM | 最高 | 很高 | 型号定型、认证 |
| 自由衰减试验 | 阻尼中等 | 极低 | 强烈推荐,任何团队都能做 |
| 海试数据 + 系统辨识(LS/EKF) | 依赖激励充分性 | 低 | 参数修正与在线补偿 |
自由衰减试验(Free Decay Test)—— 性价比之王
具体做法(以横滚为例):
- 把机器人放入静水中,配平到工作状态
- 人为施加一个初始横滚角(比如 15°),松手
- 用机载 IMU 记录横滚角随时间的自由衰减曲线
- 从振荡周期 TnT_nTn 反推总惯量(刚体转动惯量 + 附加转动惯量):
Tn=2πIxx+Kp˙W⋅BG‾ T_n = 2\pi\sqrt{\frac{I_{xx} + K_{\dot p}}{W\cdot \overline{BG}}} Tn=2πW⋅BGIxx+Kp˙
已知 BG‾\overline{BG}BG 和 WWW,测出 TnT_nTn,即可解出 Kp˙K_{\dot p}Kp˙。
- 从衰减包络拟合阻尼系数。线性阻尼给出指数衰减,二次阻尼给出的衰减包络与线性不同,用相邻峰值差 Δ\DeltaΔ 对平均幅值 xˉ\bar{x}xˉ 作图,截距给线性阻尼、斜率给二次阻尼(P-Q 分析法)
同样方法可用于俯仰。垂向和水平方向没有复原力无法自由衰减,需改用恒推力阶跃响应试验:给一个固定推力,记录速度上升到稳态的过程,稳态值给 CDC_DCD,上升时间常数给附加质量。
这类试验只需要静水池(甚至泳池)、IMU 和深度计,一天就能跑完,得到的参数比拍脑袋估的准得多。任何做水下机器人的团队都应该把它作为标准流程。
模型验证的检查清单
拿到一套参数后,用这几条自检:
- M=MRB+MA\boldsymbol{M} = \boldsymbol{M}_{RB} + \boldsymbol{M}_AM=MRB+MA 是否对称正定?
- 附加质量是否在排水质量的 0.3 ~ 3 倍这个合理区间?
- 阻尼矩阵 D\boldsymbol{D}D 是否正定(保证耗散)?
- 各方向 CDC_DCD 的相对大小是否符合几何直觉(横向/垂向应大于纵向)?
- 仿真的最大航速是否与实测接近?(这是最好的整体校验,因为它是推力曲线与阻力曲线的交点)
- 仿真的阶跃响应上升时间是否与实测接近?(校验附加质量)
- 自由衰减周期是否与实测接近?(校验 BG‾\overline{BG}BG 和转动附加惯量)
十一、总结:从流体力学到工程设计的十条要点
- 雷诺数 105∼10710^5\sim10^7105∼107 的湍流区 是 ROV 的工作区间,CDC_DCD 可近似为常数,压差阻力主导。
- 正浮力是 ROV 的默认安全设计,取 +2~5 N 量级,兼顾失效上浮与推力余量。深潜要考虑压缩导致的浮力损失。
- 重心必须低于浮心,BG‾\overline{BG}BG 取 20~60 mm。这是唯一的被动姿态稳定来源。
- 全潜状态下只有横滚和俯仰有复原力,深度、位置、艏向全靠闭环控制。
- 附加质量使有效惯性达到本体质量的 1.5~3 倍,是 ROV "加速肉"的根本原因,也是它区别于空中机器人的核心特征。
- 阻尼以二次项为主(速度 > 0.1 m/s 后完全主导),务必写成 u∣u∣u|u|u∣u∣ 形式。
- 各向异性极强,横向阻力可达纵向的 2~4 倍。控制器增益必须分自由度调,操作上"能转不横移"。
- 缆绳阻力常数倍于本体阻力,它才是抗流能力和作业半径的真正瓶颈。中性浮力缆和 TMS 是解决方案。
- 导管桨在低进速比下效率占优,是 ROV 的正确选择;正反转推力不对称必须建模;推力配置矩阵必须与实际装配严格对齐。
- 参数辨识的价值高于算法升级。先做自由衰减和阶跃响应试验,再谈换控制器。
水下机器人的工程难度不在于哪一项技术特别深,而在于水动力、结构、密封、能源、控制、通信这几个方向的耦合极强,任何一处的错误估计都会在系统层面放大。把水动力这一层的物理图像建立清楚,是后面所有工作的地基。
参考方向
- Fossen, T.I. — Handbook of Marine Craft Hydrodynamics and Motion Control(六自由度建模的行业圣经,第一本该读的书)
- Fossen, T.I. — Guidance and Control of Ocean Vehicles(前一本的早期版本,理论更精炼)
- Newman, J.N. — Marine Hydrodynamics(势流理论与附加质量的经典理论教材)
- Faltinsen, O.M. — Sea Loads on Ships and Offshore Structures(Morison 方程与波浪载荷)
- Antonelli, G. — Underwater Robotics: Systems and Control(偏控制与机械臂-载体耦合)
- Christ & Wernli — The ROV Manual(工程实践导向,现场经验密度极高)
- SNAME 水动力导数记号标准(阅读文献前必须先熟悉这套符号)
水动力建模是个"理论清晰、参数难求"的领域。欢迎在评论区交流你在实际项目中辨识参数的经验和踩过的坑。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)