02|动力学:水下机器人为什么难控制
质量之外,还有被一起加速的水
空气中的低速小车常用 F=ma 入门;水下机器人还要加速周围流体,因此有附加质量。速度起来后,阻力会随相对水速增加;重心与浮心的相对位置带来姿态恢复力矩;转动和平移还存在耦合。把这些项分开理解,比背一个六维矩阵更有用。
η 是位置与姿态,ν=[u,v,w,p,q,r]ᵀ 是机体系速度;M 包含刚体和附加质量;C 描述科氏/离心耦合;D 描述耗散;g 是写在等号左侧的重浮力恢复项;τ 是推进广义力。合适的模型中 M 对称正定,C 的结构使 νᵀCν=0:它转移运动能量,而不凭空产生能量。
重浮力的符号可以自己推
NED 的下为正,因此重力在导航系是 [0,0,W],浮力是 [0,0,−B]。先用 Rᵀ 转到机体系,再分别计算 r_G×F_W 与 r_B×F_B。如果把这些外力合量搬到方程左侧,就是 g 的相反号。浮心在重心上方可产生横滚/俯仰恢复趋势,却不会把水平漂走的机器人自动拉回原点。
海流改变的是相对速度
对地悬停时 vⁿ=0,不代表相对水速度为零。若水朝东流,机器人需要向西的推进力去抵消水动力。底跟踪 DVL 告诉你相对海底的速度,水跟踪告诉你相对水体的速度;两者相减才有估计海流的机会。建模时应区分刚体惯性和依赖相对速度的水动力,不能把整条动力学方程里的 ν 都机械替换成 ν_r。
从六维回到一个能算的轴
取 m_eff=20 kg、d₁=8 N·s/m、d₂=0,无流时施加 4 N 恒力。稳态速度是 4/8=0.5 m/s,时间常数是 20/8=2.5 s。前者由阻尼决定,后者由惯性与阻尼之比决定。相同稳态速度但上升更慢,通常意味着有效惯量更大;不能只根据终点速度辨识质量。
实现与实验
先实现单轴 ODE,再加入二次阻尼和恒定海流。把输入设为零,看动能是否衰减;给定不同速度,看所需稳态推力为何不是线性增长。然后将 yaw 改变 90°,保持同一导航系海流,观察机体系流速分量随姿态改变。模型越复杂,越要保留这种简单物理检查。
阅读入口:Fossen 的 Marine Craft Model 给出完整结构与相对流模型:https://www.fossen.biz/html/marineCraftModel.html 。先对应 M、C、D、g 的意义,再看具体矩阵展开。