第3章 刚体运动学基础:位置、速度、加速度、角速度、角加速度的数学描述

各位同学,大家好。今天我们进入飞行器动力学模型构建的第一个硬核话题——刚体运动学。说白了,就是研究飞行器这个“铁疙瘩”在空中怎么动、怎么转的数学描述。我个人习惯把这一章称为“搭积木的底层逻辑”,因为后面所有复杂的动力学方程,都建立在这些基础概念之上。

3.1 位置与姿态:飞行器在哪?朝哪飞?

要描述一个刚体在空中的状态,我们需要两套信息:位置姿态。位置好理解,就是飞行器质心在空间中的坐标。但姿态呢?它描述的是飞行器“脑袋”朝哪个方向。

我在项目中遇到过这样一个坑:有次做半实物仿真,两个团队分别用欧拉角和四元数描述姿态,结果数据接口没对齐,仿真跑起来飞行器直接“翻跟头”。所以,大家一定要搞清楚不同描述方式的适用场景。

3.1.1 位置向量

在惯性坐标系(比如地心地固系)中,飞行器质心的位置可以表示为:

r = [x, y, z]^T

其中 x、y、z 是三个坐标轴上的投影。嗯,这里要注意:坐标系的选择直接影响后续计算复杂度。我建议初学者先固定使用地心惯性系,等熟练了再考虑其他坐标系。

3.1.2 姿态描述方式

常用的姿态描述方式有三种,我列个表给大家对比一下:

描述方式 参数数量 优点 缺点
欧拉角(滚转、俯仰、偏航) 3个 直观,物理意义明确 存在万向锁问题
旋转矩阵 9个 无奇异,计算稳定 参数冗余,计算量大
四元数 4个 无奇异,插值平滑 不够直观

我个人在实际工程中,强烈推荐使用四元数。为什么?因为欧拉角在俯仰角接近±90°时会“卡住”,而四元数永远不会出现这个问题。你想想看,战斗机做大机动飞行时,俯仰角超过90°是常事,用欧拉角就崩了。

3.2 速度与角速度:动起来!

位置和姿态是“静态”描述,但飞行器是动态的。我们需要知道它移动得多快、转得多快。

3.2.1 线速度

线速度就是位置向量对时间的一阶导数:

v = dr/dt = [dx/dt, dy/dt, dz/dt]^T

这里有个容易混淆的点:速度是相对于哪个坐标系测量的? 我记得刚入行时,有次写代码忘了转换坐标系,结果算出来的速度方向完全反了。所以,大家一定要明确:我们通常说的“飞行器速度”是指相对于惯性系的速度,但导航系统给出的往往是相对于地面系的速度。

3.2.2 角速度

角速度描述刚体绕自身轴的旋转快慢。在机体坐标系中,角速度向量通常表示为:

ω = [p, q, r]^T

其中 p 是滚转角速度(绕 x 轴),q 是俯仰角速度(绕 y 轴),r 是偏航角速度(绕 z 轴)。

核心要点:角速度是“瞬时”的旋转速率,不是角度本身的变化率。欧拉角的变化率(比如俯仰角速率)和角速度之间有一个非线性变换关系,这个后面我们会详细推导。

3.3 加速度与角加速度:力与力矩的桥梁

加速度和角加速度是连接运动学和动力学的关键。牛顿第二定律告诉我们:力等于质量乘以加速度。力矩等于转动惯量乘以角加速度。

3.3.1 线加速度

线加速度是速度对时间的一阶导数,也是位置对时间的二阶导数:

a = dv/dt = d²r/dt²

在实际飞行中,加速度计测量的并不是真正的“惯性加速度”,而是“比力”(specific force),即惯性加速度减去重力加速度。这个区别非常重要——我曾经在惯性导航算法中忘记扣除重力项,结果位置误差每小时漂移了几公里。

3.3.2 角加速度

角加速度是角速度对时间的一阶导数:

α = dω/dt = [dp/dt, dq/dt, dr/dt]^T

角加速度直接与作用在飞行器上的气动力矩、推力力矩相关。在飞行控制中,我们通常通过控制舵面来产生力矩,从而改变角加速度,进而改变角速度和姿态。

工程小技巧:在数值仿真中,计算角加速度时要注意积分步长。步长太大,角加速度的数值会振荡;步长太小,计算量又太大。我一般建议步长取控制周期的1/10到1/5。

3.4 知识体系总览

为了让大家对本章内容有一个整体把握,我画了一张结构图:

刚体运动学知识体系 刚体运动状态 位置与姿态(静态) 速度与角速度(一阶) 位置向量 r 姿态(欧拉角/四元数) 线速度 v = dr/dt 角速度 ω = [p,q,r] 加速度与角加速度(二阶) 线加速度 a = dv/dt 角加速度 α = dω/dt 注:箭头方向表示从低阶到高阶的微分关系

3.5 避坑指南与工程经验

最后,我结合自己的项目经验,给大家几个实用建议:

  • 坐标系一致性:所有运动学量必须在同一个坐标系下描述。我见过最惨的案例是,有人把惯性系下的位置和机体系下的速度直接相加,结果仿真结果完全不可信。
  • 数值积分方法:从角速度积分到姿态时,不要直接用欧拉法,否则误差会累积。我建议用四阶龙格-库塔法,或者用四元数积分。
  • 单位检查:角速度的单位是 rad/s,不是 deg/s。这个错误我犯过,而且是在飞行试验前才发现,差点酿成大祸。

⚠️ 重要警告:千万不要把“角速度”和“欧拉角速率”混为一谈!它们之间有一个变换矩阵,这个矩阵在俯仰角为90°时是奇异的。这就是为什么我前面说要用四元数——四元数没有奇异点。

好了,这一章的内容就到这里。刚体运动学看似简单,但它是整个飞行器动力学模型的基石。希望大家把位置、速度、加速度、角速度、角加速度这几个概念彻底搞清楚,后面我们才能顺利搭建动力学方程。


公众号:蓝海资料掘金营,微信deep3321