概述
飞行控制系统(Flight Control System, FCS)是无人机、航模等飞行器的核心大脑,负责感知飞行器状态、计算控制指令、驱动执行机构,实现稳定飞行和任务执行。
一个典型的飞控系统构成如下闭环控制链路:
|
|
本文将按照上述流程,详细介绍飞控系统的各个模块。
一、传感器模块
传感器是飞控系统的"感官",负责采集飞行器的运动状态信息。
1.1 惯性测量单元(IMU)
IMU 是飞控最核心的传感器,包含:
加速度计(Accelerometer)
- 测量三轴线性加速度
- 可用于姿态解算(通过重力方向)
- 典型芯片:MPU6050、ICM-20602、BMI088
陀螺仪(Gyroscope)
- 测量三轴角速度
- 短期精度高,但存在漂移
- 与加速度计融合可得到稳定姿态
|
|
IMU 数据特点:
- 高采样率(通常 1kHz 以上)
- 存在噪声和偏置
- 需要滤波和标定
1.2 磁力计(Magnetometer)
- 测量地磁场强度,提供航向角(Yaw)
- 易受电机、电源干扰,需远离干扰源或软硬铁校准
- 典型芯片:HMC5883L、IST8310
1.3 气压计(Barometer)
- 测量大气压力,换算高度
- 垂直精度约 ±0.5m
- 用于定高飞行
- 典型芯片:BMP280、MS5611
|
|
1.4 GPS/GNSS
- 提供绝对位置(经纬度)和速度
- 支持自主导航、返航等功能
- 典型模块:u-blox M8N、M9N
GPS 数据:
- 位置:经度、纬度、海拔
- 速度:北向速度、东向速度、垂直速度
- 精度:民用 GPS 约 2.5m CEP
1.5 超声波/激光测距
- 近距离高度测量(<5m)
- 精准着陆、避障应用
- 典型模块:HC-SR04、TF-Luna
1.6 光流传感器(Optical Flow)
- 通过图像分析计算水平速度
- 室内无 GPS 环境定位
- 典型芯片:PMW3901
二、状态估计
传感器原始数据存在噪声、漂移、延迟等问题,需要通过状态估计算法融合,得到准确的状态信息。
2.1 姿态解算
姿态表示方法:
欧拉角(Euler Angles)
- Roll(横滚)、Pitch(俯仰)、Yaw(偏航)
- 直观易懂,但存在万向锁问题
四元数(Quaternion)
- 无奇异性,计算高效
- 飞控中广泛使用
|
|
旋转矩阵(Rotation Matrix / DCM)
- 3×3 矩阵,无奇异性
- 计算量较大
2.2 互补滤波
最简单的姿态融合算法:
|
|
优点:计算量小,适合资源受限的 MCU。
2.3 卡尔曼滤波(Kalman Filter)
最优状态估计方法,考虑系统噪声和测量噪声:
预测步骤:
|
|
更新步骤:
|
|
其中:
x:状态向量(位置、速度、姿态等)F:状态转移矩阵H:观测矩阵Q:过程噪声协方差R:测量噪声协方差K:卡尔曼增益
2.4 扩展卡尔曼滤波(EKF)
对于非线性系统,通过雅可比矩阵线性化:
|
|
2.5 典型状态估计器
PX4 EKF2:
- 24维状态向量
- 融合 IMU、GPS、磁力计、气压计、光流
- 自动选择可用数据源
ArduPilot EKF3/EKF4:
- 多源融合
- 支持双 IMU 冗余
典型状态向量:
|
|
三、控制算法
控制算法根据期望状态和当前状态的误差,计算控制输出。
3.1 级联 PID 控制
最常用的飞控控制结构,采用位置-速度-姿态级联:
|
|
3.2 PID 控制器详解
位置环(外环):
|
|
速度环:
|
|
姿态环:
|
|
角速度环(内环):
|
|
3.3 PID 参数整定
步骤:
-
先整定角速度环(内环)
- Ki = 0, Kd = 0,逐步增大 Kp 直到响应快速但不过冲
-
整定姿态环
- 保持内环参数,调整外环 Kp
-
整定速度环、位置环
- 由内向外逐层整定
经验值(四旋翼):
|
|
3.4 高级控制方法
LQR(线性二次调节器)
|
|
MPC(模型预测控制)
- 考虑约束的最优控制
- 计算量大,适合高端飞控
自适应控制
- 在线调整参数
- 应对模型不确定性
鲁棒控制(H∞)
- 抗扰动能力强
- 设计复杂
四、控制分配
控制算法输出的控制指令(力矩、推力)需要分配到各个执行机构。
4.1 混控矩阵
对于多旋翼,控制量与电机转速的关系:
|
|
其中 k 为推力/力矩系数,与电机、螺旋桨特性相关。
4.2 X 型四旋翼混控
|
|
混控公式:
|
|
4.3 旋翼/固定翼混控
对于垂直起降(VTOL)飞行器,需要处理旋翼和舵面:
|
|
4.4 饱和处理
当控制需求超出执行机构能力时:
优先级分配:
- 首先保证总推力(防止失控坠机)
- 然后保证姿态控制(稳定性)
- 最后考虑航向控制
|
|
五、执行机构
执行机构将控制信号转换为机械动作。
5.1 无刷电机(BLDC)
特点:
- 高功率密度
- 需配合电调(ESC)使用
- KV 值决定转速特性
电机参数:
|
|
选型参考:
| 机型 | 电机KV | 螺旋桨 | 电池 |
|---|---|---|---|
| 穿越机 | 2300-2600 | 5寸 | 4S-6S |
| 航拍机 | 900-1000 | 10寸 | 4S-6S |
| 大型机 | 300-500 | 15-20寸 | 6S-12S |
5.2 电子调速器(ESC)
功能:
- 将直流电转换为三相交流电驱动电机
- 接收 PWM/OneShot/MultiShot/DShot 信号
- 部分支持双向通信(回传转速、温度)
通信协议对比:
| 协议 | 频率 | 延迟 |
|---|---|---|
| PWM | 50-400Hz | 2-20ms |
| OneShot125 | 1-4kHz | 0.25-1ms |
| DShot | 8-32kHz | 0.03-0.125ms |
DShot 优势:
- 数字信号,抗干扰
- 无需校准
- 支持 ESC 回传信息
5.3 舵机(Servo)
用于:
- 固定翼舵面控制
- 云台控制
- 起落架收放
控制信号:
|
|
5.4 螺旋桨
参数:
- 直径 × 螺距(如 1045 = 10寸直径,4.5寸螺距)
- 正桨/反桨(成对使用)
- 材质:塑料/尼龙/碳纤维
选型原则:
|
|
六、飞行器运动
执行机构产生的力和力矩驱动飞行器运动。
6.1 动力学模型
牛顿-欧拉方程:
|
|
其中:
m:质量R:姿态旋转矩阵I:转动惯量矩阵ω:角速度τ:控制力矩
6.2 坐标系
常用坐标系:
-
惯性坐标系(NED/ENU)
- NED:北-东-地(航空常用)
- ENU:东-北-天(ROS 常用)
-
机体系(Body Frame)
- 原点在飞行器重心
- X 轴指向前方
- Z 轴指向下方
-
坐标系转换:
|
|
6.3 运动方程状态空间表示
|
|
6.4 气动效应
对于固定翼或高速飞行:
升力: L = 0.5 * ρ * V² * S * CL
阻力: D = 0.5 * ρ * V² * S * CD
侧力: Y = 0.5 * ρ * V² * S * CY
其中:
ρ:空气密度V:空速S:参考面积CL, CD, CY:气动系数
七、闭环反馈
传感器测量飞行器的实际运动状态,反馈到状态估计模块,形成闭环。
7.1 闭环控制框图
|
|
7.2 采样与延迟
采样率设计:
| 模块 | 典型采样率 |
|---|---|
| IMU | 1-8 kHz |
| 姿态解算 | 200-500 Hz |
| 控制律 | 200-1000 Hz |
| GPS | 5-10 Hz |
| 遥测 | 1-50 Hz |
延迟补偿:
- 传感器延迟
- 计算延迟
- 执行延迟
需要在状态估计中补偿,否则影响控制稳定性。
7.3 安全机制
失控保护(FailSafe):
|
|
地理围栏(GeoFence):
|
|
姿态限制:
|
|
八、系统实现示例
8.1 软件架构
|
|
8.2 开源飞控参考
| 项目 | 特点 | 适用场景 |
|---|---|---|
| PX4 | 模块化、功能全 | 专业无人机、研发 |
| ArduPilot | 功能丰富、支持多平台 | 各种飞行器 |
| Betaflight | 高性能、低延迟 | 竞速穿越机 |
| iNav | 导航功能强 | 远航、固定翼 |
8.3 开发工具
仿真:
- Gazebo + PX4 SITL
- AirSim(微软)
- jMAVSim
地面站:
- QGroundControl(PX4)
- Mission Planner(ArduPilot)
- Betaflight Configurator
调试:
- 实时波形:PlotJuggler
- 日志分析:FlightPlot、ULog
总结
飞控系统是一个典型的闭环控制系统,各个模块紧密协作:
|
|
关键要点:
- 传感器选择需考虑精度、采样率、成本
- 状态估计是系统精度的基础,EKF 是主流方法
- 级联 PID 是简单可靠的控制方案
- 控制分配需要考虑饱和与优先级
- 执行机构的选型影响系统性能
- 安全机制是飞控不可或缺的部分
参考资料
- PX4 Development Guide
- ArduPilot Documentation
- Kalman and Bayesian Filters in Python
- 《无人机设计与控制》- 全权
- 《Quadrotor Dynamics and Control》- Raffaello D’Andrea
✈️ 飞控开发是一个系统工程,需要控制理论、嵌入式开发、空气动力学等多学科知识。欢迎交流讨论!