2、多旋翼无人机飞行原理
各位同学,欢迎来到第二章。这一章,我们聊聊多旋翼无人机到底是怎么飞起来的。说实话,很多初学者一上来就调PID,结果飞机乱转,根本原因就是没搞懂最基础的动力学模型。我当年也犯过这个错,嗯,咱们今天就把这块彻底讲透。
2.1 多旋翼无人机的动力学模型
先问大家一个问题:四旋翼无人机有几个自由度?答案是6个——三个位置自由度(前后、左右、上下)和三个姿态自由度(俯仰、横滚、偏航)。但有意思的是,它只有4个电机作为执行器。这就是典型的欠驱动系统。
我个人习惯把动力学模型拆成两部分来看:
- 位置动力学:描述飞机在空间中的移动
- 姿态动力学:描述飞机自身的旋转
说白了,位置变化是靠姿态变化来实现的。你想让飞机往前飞,就得先让机身倾斜,产生水平方向的分力。这个逻辑,我在做植保无人机项目时体会特别深——一开始总想着直接控制位置,结果发现根本绕不开姿态控制。
核心公式(简化版):
F_total = Σ F_i (i=1..4)
τ_total = Σ (r_i × F_i)
其中F_i是每个电机产生的升力,r_i是电机到重心的力臂向量。
2.2 升力与推力产生机制
旋翼的升力怎么来的?其实和固定翼飞机的机翼原理一样——伯努利原理和牛顿第三定律的结合。螺旋桨旋转时,桨叶上表面气流速度快、压力小,下表面气流速度慢、压力大,这就产生了向上的压力差。
但这里有个坑:螺旋桨的升力与转速的平方成正比。也就是说,转速翻倍,升力变成四倍。这个非线性关系,在控制里特别要命。
我曾经踩过的坑: 在调试一个六旋翼农药喷洒无人机时,我直接用线性关系估算升力,结果飞机一离地就剧烈抖动。后来才发现,电机响应有延迟,加上升力平方关系,导致控制环路不稳定。解决办法是加了一个转速前馈补偿。
每个电机的推力公式可以写成:
F_i = k_f · ω_i²
其中k_f是升力系数,ω_i是电机角速度。这个k_f值,不同桨叶、不同电机都不一样。我建议你们在实际项目中,一定要做一次静态推力标定——拿个秤,把飞机固定好,测不同油门下的实际推力。别偷懒,这步省了,后面调试会多花十倍时间。
| 参数 | 典型值范围 | 说明 |
|---|---|---|
| k_f (升力系数) | 1.0e-6 ~ 1.0e-5 N/(rad/s)² | 取决于桨叶直径和螺距 |
| k_m (扭矩系数) | 1.0e-7 ~ 1.0e-6 N·m/(rad/s)² | 反扭矩,影响偏航控制 |
| 电机时间常数 | 0.05 ~ 0.2 s | 电机从指令到实际转速的延迟 |
2.3 姿态控制基础
姿态控制,说白了就是让飞机按照你想要的角度去倾斜。三个核心姿态角:
- 俯仰(Pitch):绕Y轴旋转,控制前后运动
- 横滚(Roll):绕X轴旋转,控制左右运动
- 偏航(Yaw):绕Z轴旋转,控制机头朝向
你想想看,四旋翼怎么实现这些动作?其实原理很简单:
俯仰控制: 让前两个电机转速增加,后两个电机转速减少(或者反过来)。这样机身就会前倾或后仰。我在做集群编队时,发现俯仰通道的响应速度直接影响编队保持的精度——响应慢了,飞机就掉队了。
横滚控制: 类似,让左边两个电机和右边两个电机产生转速差。这个通道我建议把PID的微分项调得稍微大一点,因为横滚方向容易产生过冲。
偏航控制: 这个有点不一样。四旋翼的电机是两正两反对转的,目的是抵消反扭矩。偏航控制就是打破这个平衡——让正转电机组和反转电机组产生转速差,利用反扭矩差来实现旋转。
我的个人经验: 偏航控制是三个通道里最难调的。因为反扭矩受气流影响很大,尤其是低空飞行时,地面效应会让偏航响应变得很奇怪。我建议在调试时,先让飞机悬停,然后给一个小的偏航阶跃指令,观察响应曲线。如果出现震荡,先减小积分项。
姿态控制的经典结构是串级PID:
外环(角度环): 期望角度 → PID → 期望角速度
内环(角速度环): 期望角速度 → PID → 电机控制量
为什么用串级?因为角速度环响应快,可以先稳住飞机的旋转速度,外环再慢慢修正角度。这个结构,我在所有做过的无人机项目里都用过,包括那个载重30公斤的植保机——虽然参数调得想哭,但结构本身是可靠的。
嗯,这一章的内容就到这里。记住,飞行原理是基础中的基础,后面所有的高级控制、集群协同,都建立在这个动力学模型之上。下一章我们聊传感器融合,到时候会用到今天讲的这些姿态概念。