2、基础物理模型:浮力与重力平衡、阿基米德原理、刚体动力学基础、坐标系与自由度
各位同学,欢迎来到第二章。这一章我们得把物理底子打牢。
说实话,我见过太多人一上来就调PID、写控制代码,结果飞行器在水里翻跟头。为什么?因为连最基本的浮力都没算明白。嗯,咱们今天就把这些基础物理模型掰开揉碎了讲清楚。
2.1 浮力与重力平衡:漂浮的第一性原理
漂浮控制,说白了就是跟重力较劲。你想想看,一个物体在水里,就两个力在打架:重力往下拽,浮力往上托。
重力好理解,就是质量乘以重力加速度:
G = m × g
其中 m 是物体质量(kg),g 取 9.8 m/s²。这个值基本固定,除非你跑到月球上去做实验。
浮力呢?阿基米德老爷子两千多年前就告诉我们了:
F_b = ρ × V × g
ρ 是流体密度(水约 1000 kg/m³),V 是物体排开水的体积。
核心结论:当 F_b = G 时,物体悬浮在任意深度。当 F_b > G 时,物体上浮。当 F_b < G 时,物体下沉。
我在项目中遇到过一件事:有个同事设计的潜水器,算出来浮力刚好等于重力,结果下水后一直往下沉。查了半天,发现他忘了算自己加装的传感器重量。嗯,这种低级错误,谁都会犯,但犯一次就长记性了。
2.2 阿基米德原理:不只是浴缸里的故事
阿基米德原理,大家中学都学过。但实际工程中,它比课本里讲的要复杂得多。
课本上说:「物体在流体中受到的浮力,等于它排开的流体的重量。」这句话没错,但有个前提——物体必须完全或部分浸没在流体中。
实际工程中,我们遇到的情况往往是:
- 部分浸没:水面上的船,浮力只来自水下部分排开的水
- 完全浸没:水下机器人,整个体积都排开水
- 多层流体:比如淡水上面有油层,密度不同,浮力计算要分段
我建议你们记住一个实用公式:
F_b = ρ_fluid × V_displaced × g
其中 V_displaced 是浸没部分的体积,不是物体总体积。这个区别,考试可能不考,但做项目一定会遇到。
避坑指南:我曾经在设计一个浅水探测器时,把整个外壳体积都算进了排开体积,结果浮力算大了30%。下水后差点沉底。后来我养成了一个习惯:每次算浮力,先画个图,标清楚哪部分在水里。
2.3 刚体动力学基础:漂浮物体的运动规律
漂浮物体不是静止的。水流、波浪、自身推力,都会让它动起来。这时候就需要刚体动力学了。
刚体动力学,说白了就是研究物体怎么平移、怎么旋转。对于漂浮控制,我们主要关心六个自由度上的运动:
| 运动类型 | 自由度 | 描述 |
|---|---|---|
| 平移 | X(纵荡) | 前后移动 |
| 平移 | Y(横荡) | 左右移动 |
| 平移 | Z(垂荡) | 上下移动 |
| 旋转 | Rx(横摇) | 绕X轴旋转 |
| 旋转 | Ry(纵摇) | 绕Y轴旋转 |
| 旋转 | Rz(艏摇) | 绕Z轴旋转 |
核心动力学方程是牛顿第二定律的推广形式:
F = m × a (平移)
τ = I × α (旋转)
其中 τ 是力矩,I 是转动惯量,α 是角加速度。
你想想看,一个漂浮物体受到水流冲击,它不只是平移,还会旋转。这就是为什么控制算法要同时处理位置和姿态。
注意:漂浮物体的转动惯量 I 不是常数。因为浮力会改变物体的等效质量分布。我刚开始做仿真时,把 I 设成固定值,结果仿真结果跟实际测试差了十万八千里。
2.4 坐标系与自由度:给漂浮物体一个「身份证」
做漂浮控制,坐标系是绕不开的。没有坐标系,你连「往哪走」都说不清楚。
常用的坐标系有两个:
- 大地坐标系(惯性系):固定在地球上,X轴指向东,Y轴指向北,Z轴指向天。用于描述绝对位置。
- 载体坐标系(体坐标系):固定在漂浮物体上,X轴指向船头,Y轴指向右舷,Z轴指向下。用于描述姿态和局部运动。
两个坐标系之间的转换,靠的是旋转矩阵。这个矩阵由三个欧拉角决定:横摇角 φ、纵摇角 θ、艏摇角 ψ。
旋转矩阵 R = Rz(ψ) × Ry(θ) × Rx(φ)
这个公式看着复杂,但实际编程时,很多库(比如NumPy、Eigen)都有现成的函数。我建议你们直接调库,别自己手写,容易出错。
自由度(DOF):漂浮物体在三维空间中有6个自由度——3个平移 + 3个旋转。控制系统的任务,就是让这6个自由度上的运动达到预期值。
我记得有一次调试水下机器人,发现它的深度控制总是有偏差。查了半天,原来是坐标系搞反了——我把载体坐标系的Z轴朝上,但实际应该朝下。这种错误,一旦犯了,排查起来特别费时间。
知识体系总览
下面这张图,把本章的核心逻辑串起来了。你可以把它当作一个思维导图来用:
这张图把四个知识点串起来了。你从顶部开始,顺着箭头往下看,就能理解它们之间的关系。我个人习惯是把这张图打印出来贴在工位上,做项目时随时瞄一眼,思路会清晰很多。
一个小建议:刚开始学的时候,别急着把所有公式都背下来。先理解每个物理量代表什么,它们之间怎么互相影响。公式可以查手册,但物理直觉需要慢慢培养。
好了,这一章的内容就到这里。记住,基础打牢了,后面学控制算法才会顺手。下一章我们会把这些物理模型用到实际的控制系统设计中。
公众号:蓝海资料掘金营,微信deep3321