学习笔记搜索

02|动力学:水下机器人为什么难控制

质量之外,还有被一起加速的水

空气中的低速小车常用 F=ma 入门;水下机器人还要加速周围流体,因此有附加质量。速度起来后,阻力会随相对水速增加;重心与浮心的相对位置带来姿态恢复力矩;转动和平移还存在耦合。把这些项分开理解,比背一个六维矩阵更有用。

η̇ = J(η)ν, Mν̇ + C(ν)ν + D(ν)ν + g(η) = τ

η 是位置与姿态,ν=[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 的相反号。浮心在重心上方可产生横滚/俯仰恢复趋势,却不会把水平漂走的机器人自动拉回原点。

海流改变的是相对速度

vrb = vb − RTvcurrentn

对地悬停时 vⁿ=0,不代表相对水速度为零。若水朝东流,机器人需要向西的推进力去抵消水动力。底跟踪 DVL 告诉你相对海底的速度,水跟踪告诉你相对水体的速度;两者相减才有估计海流的机会。建模时应区分刚体惯性和依赖相对速度的水动力,不能把整条动力学方程里的 ν 都机械替换成 ν_r。

从六维回到一个能算的轴

m_eff v̇ = u − d₁v_r − d₂|v_r|v_r + w

取 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 的意义,再看具体矩阵展开。

仅保存在当前浏览器,可在学习记录页导出。