从控制准则到 PID 实现——理解现代电传飞控系统纵向控制的核心设计哲学
C*(读作 C-Star)是一种专为飞机纵向飞行控制设计的复合控制准则,广泛应用于现代电传操纵(Fly-By-Wire)系统中。
飞行员对俯仰角速度 \(q\) 更敏感,操纵主要表现为速率指令型响应。
飞行员对法向过载 \(n_z\)(g 值)更敏感,操纵主要表现为过载指令型响应。
一句话理解:法向过载就是你坐在飞机里"被座椅向上推的力"是自身体重的多少倍。它是一个无量纲的比值,单位通常写作"g"。
定义式:
\(n_z = \dfrac{L}{m \cdot g}\) = 升力 ÷ 自身重力
其中 \(L\) 是飞机当前升力,\(m\) 是飞机质量,\(g\) 是重力加速度。"法向"意指垂直于飞机机体纵轴(对飞行员而言就是头顶到屁股那个方向)。
用日常感受来类比:
| \(n_z\) 值 | 身体感受 | 飞行场景 |
|---|---|---|
| 1.0 g | 正常体重,座椅给你"一份"支撑力 | 平直巡航 / 地面静止 |
| 0 g | 失重漂浮 | 抛物线飞行 / 自由落体 |
| 1.5 g | 身体变沉,像被压进座椅 | 民航客机较急的拉起 |
| 2.5 g | 明显沉重,抬手费力 | 过山车顶部 / 民航最大限值 |
| 9 g | 需要抗荷服防止晕厥 | 战斗机急转弯 |
| −1 g | 被安全带向上拽 | 飞机推杆下俯 |
为什么 C* 要用它?因为飞行员在高速飞行时,真正"感觉到"的不是飞机转得多快,而是身体被压得多重。用 \(n_z\) 作为控制目标,能让操纵手感直接对应飞行员的生理感受,既舒适又安全(不会让乘客超过 2.5 g 的舒适上限)。
为了让飞行员在全速域内获得统一的手感体验,C* 将两者融合为一个单一的控制变量:
理解 C* 与 PID 的关系,关键在于认清它们分属控制系统的不同层级。
↻ 反馈回路:传感器测量 nz 和 q,合成 C*fbk 回送至比较环节
| 层级 | 角色 | 职责 |
|---|---|---|
| 策略层(C*) | 上游 — 定义目标 | 将杆位映射为 C*cmd,将传感器数据融合为 C*fbk,产生误差 e |
| 算法层(PID) | 中游 — 消除误差 | 根据 e 计算舵面偏转指令 u = Kpe + Ki∫e + Kdė |
| 物理层(作动器) | 下游 — 执行指令 | 液压系统驱动升降舵,改变飞机姿态 |
一句话概括:C* 是"控制什么",PID 是"怎么控制"。
| 维度 | C* 控制律 | PID 控制器 |
|---|---|---|
| 本质 | 控制准则(Criterion) | 控制算法(Algorithm) |
| 回答的问题 | "飞行品质应该达到什么标准?" | "误差信号如何转化为执行量?" |
| 领域特异性 | 航空飞行控制专用 | 通用控制方法 |
| 关注对象 | nz + Vco·q 的复合指标 | 任意误差信号 e(t) |
| 可替代性 | 可换为其他准则(如 C*U、γ*) | 可换为其他算法(如 LQR、H∞) |
| 在回路中的位置 | 上游(定义 e 的含义)+ 反馈侧 | 中游(处理 e,输出 u) |
为什么 C* 不可能在 PID 下游?
如果 C* 在 PID 下游,意味着 PID 先输出信号后 C* 才处理——但 PID 必须先知道"差多少"(即 C* 的误差)才能决定"给多少舵角"。因果关系不允许 C* 后置。
假设飞机在巡航状态,飞行员向后拉杆请求爬升。以下为控制系统的工作流程:
飞行员拉杆 → FLCC 计算得 C*cmd = 2.0
传感器测得 nz=1.0g,q=0 → C*fbk = 1.0 + 124×0 = 1.0
误差 e = 2.0 − 1.0 = 1.0 → PID 输出:升降舵上偏 5°
液压作动器偏转舵面 → 飞机抬头 → nz 和 q 变化 → C*fbk 逐渐趋近 2.0
调节参数,观察 C* 控制律如何通过 PID 驱动飞机响应飞行员的拉杆指令。