3. 坐标系与动力学基础
多旋翼的建模与参数辨识,第一步不是写公式,而是把“谁相对谁、往哪个方向、绕哪根轴”说清楚。坐标系定义混乱,后续的推力分配、姿态解算和参数辨识都会出现符号错误。本节围绕机体坐标系、电机布局、推力矢量、反扭矩、陀螺力矩以及六自由度运动方程,建立一套可直接用于辨识实验的动力学描述框架。
一、机体坐标系与地面坐标系
多旋翼建模通常使用两个坐标系:地面惯性坐标系 E={Oe, Xe, Ye, Ze} 与机体坐标系 B={Ob, Xb, Yb, Zb}。地面系采用“北-东-地”右手系,Ze 指向地心;机体系原点取在质心,Xb 指向机头,Yb 指向右侧,Zb 指向机腹下方。这样定义后,悬停时 Zb 与 Ze 同向,姿态角与加速度符号更直观。
机体系到地面系的旋转矩阵由欧拉角 φ, θ, ψ(滚转、俯仰、偏航)构成。若采用 Z-Y-X 顺序,旋转矩阵可写为:
R = Rz(ψ) * Ry(θ) * Rx(φ)
R = [ cθcψ, sφsθcψ - cφsψ, cφsθcψ + sφsψ
cθsψ, sφsθsψ + cφcψ, cφsθsψ - sφcψ
-sθ, sφcθ, cφcθ ]
其中 c 表示 cos,s 表示 sin。该矩阵把机体系下的向量映射到地面系,是后续位置、速度与加速度建模的基础。
二、电机布局与推力矢量
常见四旋翼采用 X 型布局,四个电机编号为 1~4,分别位于机体系四个象限。以机头方向为 Xb,电机 1 在右前、电机 2 在左后、电机 3 在左前、电机 4 在右后,或按厂商约定编号。每个电机产生的推力沿 -Zb 方向(即向上),大小与转速平方近似成正比:
Ti = kT * ωi^2
其中:
Ti —— 第 i 个电机推力(N)
kT —— 推力系数(N·s^2/rad^2)
ωi —— 第 i 个电机转速(rad/s)
推力矢量在机体系下为 [0, 0, -Ti]^T。四个推力合成总推力 T = ΣTi,同时通过力臂产生三轴力矩。力臂向量 ri 由电机安装位置决定,例如 X 型布局中:
r1 = ( L/√2, L/√2, 0)
r2 = (-L/√2, -L/√2, 0)
r3 = (-L/√2, L/√2, 0)
r4 = ( L/√2, -L/√2, 0)
L 为对角电机轴距
每个电机推力对机体产生的力矩为 ri × [0,0,-Ti]^T,展开后得到滚转、俯仰、偏航三轴力矩分量。这一步是推力分配矩阵的核心。
三、反扭矩与偏航力矩
螺旋桨旋转时,空气对桨叶产生反作用扭矩,方向与旋转方向相反。若电机 1、3 顺时针旋转,电机 2、4 逆时针旋转,则反扭矩在机体系 Zb 轴上相互抵消或叠加。单个电机反扭矩为:
Qi = kQ * ωi^2
kQ —— 反扭矩系数(N·m·s^2/rad^2)
偏航力矩 Mz 由四个反扭矩合成,符号取决于旋转方向。X 型布局中,若 1、3 为 CW,2、4 为 CCW,则:
Mz = -Q1 + Q2 - Q3 + Q4
当四个电机转速相等时,Mz 近似为零,机体不产生偏航运动;当左右转速差变化时,Mz 驱动偏航角加速。反扭矩系数 kQ 与推力系数 kT 的比值 kQ/kT 是辨识中的重要参数,直接影响偏航通道的响应。
四、陀螺力矩
高速旋转的螺旋桨具有角动量。当机体发生俯仰或滚转运动时,旋转的转子会产生陀螺力矩,其表达式为:
τ_gyro = -J_r * (ω_body × Ω_r)
J_r —— 单个转子转动惯量
ω_body —— 机体角速度 [p, q, r]^T
Ω_r —— 转子相对机体的角速度标量
在四旋翼中,若四个转子转向两两相反,陀螺力矩会部分抵消,但在快速机动或单轴转速差较大时仍不可忽略。尤其在参数辨识实验中,若忽略陀螺项,辨识出的转动惯量会出现系统性偏差。因此,六自由度模型必须保留陀螺力矩项。
五、多旋翼六自由度运动方程
综合上述力与力矩,多旋翼的平动与转动方程可写为:
平动:
m * V_dot = R * [0, 0, -T]^T + [0, 0, m*g]^T + F_drag
转动:
J * ω_dot = τ_thrust + τ_gyro + τ_drag - ω × (J * ω)
其中:
m —— 机体质量
V —— 地面系速度
R —— 机体到地面旋转矩阵
T —— 总推力
g —— 重力加速度
J —— 机体转动惯量矩阵
ω —— 机体角速度
τ_thrust —— 推力产生的力矩
τ_gyro —— 陀螺力矩
τ_drag —— 气动阻尼力矩
该方程组是后续参数辨识的“母模型”。辨识任务就是从实验数据中估计 m, J, kT, kQ, k_drag 等参数,并验证模型预测与实际飞行的一致性。
核心结论:机体坐标系定义决定符号,电机布局决定力臂,推力与反扭矩决定控制分配,陀螺力矩决定高速机动修正项,六自由度方程决定辨识参数集合。五者缺一不可。
六、参数与物理意义对照表
| 参数 | 物理意义 | 典型单位 | 辨识方法 |
|---|---|---|---|
| m | 机体总质量 | kg | 称重法 |
| J | 三轴转动惯量 | kg·m² | 摆锤法/系统辨识 |
| kT | 推力系数 | N·s²/rad² | 拉力台静态测试 |
| kQ | 反扭矩系数 | N·m·s²/rad² | 扭矩台静态测试 |
| L | 对角轴距 | m | 几何测量 |
| J_r | 转子转动惯量 | kg·m² | 升速/降速实验 |
| k_drag | 气动阻尼系数 | N·m·s/rad | 自由衰减实验 |
七、典型误区与复盘
- 误区一:机体系
Zb取向上。若Zb向上,悬停推力方向与重力方向符号相反,容易在代码中反复出错。建议统一采用Zb向下。 - 误区二:忽略反扭矩符号。偏航通道对电机转向极其敏感,编号与转向必须与推力分配矩阵严格一致。
- 误区三:在低速悬停辨识中忽略陀螺力矩。悬停时角速度小,陀螺项可近似忽略;但快速滚转或俯仰时,陀螺项可达总力矩的 10%~20%。
- 误区四:把
kT当作常数。实际kT随桨叶雷诺数、来流速度和电池电压变化,高精度辨识需引入电压补偿或转速闭环。
实验建议:先做静态拉力与扭矩测试,得到 kT 与 kQ;再做悬停与小幅度姿态激励,辨识 J 与阻尼项;最后用快速滚转/俯仰机动验证陀螺力矩项。三步递进,可显著降低参数耦合带来的辨识误差。