认识姿态控制:Pixhawk 姿态控制原理、内环外环概念、PID 基础回顾
各位同学,欢迎来到第二章。
上一章我们把 SITL 环境跑起来了,也看到了无人机在 HITL 模拟器里晃晃悠悠的样子。但说实话,光会跑环境不算本事,真正值钱的是——你知道它为什么晃,以及怎么让它不晃。
这一章,我们就来拆开 Pixhawk 的姿态控制黑盒子。我尽量用大白话讲清楚里面的门道。
2.1 姿态控制到底在控什么?
先问个问题:无人机飞控里,姿态控制到底在控什么?
说白了,就是三个角度:横滚(Roll)、俯仰(Pitch)、偏航(Yaw)。飞控要让无人机按照你期望的角度去转,并且转得稳、转得快、不超调。
你想想看,遥控器推一下俯仰杆,飞控要做的不是直接给电机 PWM 信号,而是先算出来:
「我现在俯仰角是 5°,目标俯仰角是 20°,中间差 15°。这 15° 我该用多大力气去追?」
这个「算力气」的过程,就是姿态控制的核心。
核心要点:姿态控制 = 角度跟踪 + 角速度阻尼。缺一个,飞机要么反应慢,要么乱晃。
2.2 内环外环:飞控的「双环」结构
Pixhawk 的姿态控制,用的是经典的串级 PID 结构。也就是两个 PID 控制器串在一起干活。
我刚开始学的时候,总觉得这玩意儿很玄乎。后来在项目里调一架大四轴,外环参数没调好,飞机起飞就翻——嗯,那次之后我就彻底懂了。
2.2.1 外环:角度环(Position Loop)
- 输入:目标角度(比如 20° 俯仰)
- 反馈:当前实际角度(来自加速度计 + 陀螺仪融合后的姿态)
- 输出:目标角速度(告诉内环「你该以多快的速度转」)
- 作用:保证角度跟踪准确,消除稳态误差
2.2.2 内环:角速度环(Rate Loop)
- 输入:目标角速度(来自外环的输出)
- 反馈:当前实际角速度(来自陀螺仪)
- 输出:电机控制量(最终给到混控器)
- 作用:提供阻尼,抑制震荡,提高响应速度
为什么非要搞两个环?
我打个比方:外环像是一个「老司机」在看你开车的方向,发现偏了,就喊「往左打 10° 方向盘」。内环像是「你的手」,听到指令后,要控制打方向盘的速度——打太快会甩出去,打太慢又拐不过弯。内环就是负责这个「速度」的。
调参经验:我个人习惯先调内环(角速度环),再调外环(角度环)。内环稳了,外环才有意义。你想想看,如果角速度环都在震荡,角度环再怎么调也是白搭。
2.3 一张图看懂双环结构
下面这张 SVG 图,把 Pixhawk 姿态控制的内外环关系画清楚了。建议你盯着看 30 秒,比读文字管用。
2.4 PID 基础回顾:别小看这三个字母
PID 大家都学过,但真正在飞控里用起来,坑不少。我快速过一遍,重点说飞控场景下的特殊之处。
| 参数 | 全称 | 在飞控里的作用 | 调大后的效果 | 调太大后果 |
|---|---|---|---|---|
| P | 比例 | 根据当前误差大小,给出对应的修正力 | 响应变快,回中迅速 | 震荡、甚至发散 |
| I | 积分 | 消除长期累积的稳态误差(比如重心偏一侧) | 悬停更准,抗风更好 | 积分饱和、低频震荡 |
| D | 微分 | 根据误差变化率,提供阻尼,抑制震荡 | 飞机更「硬」,不晃 | 高频噪声放大、电机发烫 |
⚠️ 避坑指南:我曾经在调一架 F450 时,把内环 D 调得太大,结果飞机在地面轻微抖动,电机温度飙升到 70°C。后来才发现是 D 项放大了陀螺仪的高频噪声。记住:D 不是越大越好,够用就行。
2.4.1 飞控 PID 和普通 PID 的区别
你可能在电机控制、温度控制里也用过 PID。但飞控里的 PID 有几个特殊点:
- 单位不同:角度环的 P 单位是 (rad/s)/rad,角速度环的 P 单位是 无量纲(控制量/角速度)。别搞混。
- 积分限幅:飞控的 I 项必须有上限,否则积分饱和后,飞机一翻身就救不回来。
- 微分先行:Pixhawk 默认对反馈信号做微分,而不是对误差做微分。这样可以避免「设定值突变」带来的冲击。
2.5 实战中怎么用这些知识?
光说不练假把式。这一章的知识,在 SITL 里怎么用?
- 打开 Mission Planner 的参数列表:找到
ATC_RAT_RLL_P、ATC_RAT_RLL_D等参数。这些就是内环角速度环的 PID。 - 观察 Log 数据:飞一次,看
RATE.Roll和RATE.RollTarget的曲线。如果实际值追不上目标值,说明 P 太小;如果追上了但来回晃,说明 D 不够。 - 先调内环,再调外环:这是铁律。内环没调好,外环调得再漂亮也没用。
小技巧:我习惯在 SITL 里用 param set 命令直接改参数,然后马上飞一个来回,看 Log 曲线。比在 GUI 里翻菜单快多了。
2.6 本章小结
这一章我们拆了 Pixhawk 的姿态控制核心:
- 外环(角度环)负责「往哪转」
- 内环(角速度环)负责「怎么转」
- PID 三个参数各有分工,P 管快、I 管准、D 管稳
- 调参顺序:内环 P → 内环 D → 外环 P → 外环 I
这些东西,是后面所有调参实战的基础。你把它吃透了,后面调参的时候心里就有底了。