3. 质量变化建模:燃料消耗模型、载荷释放模型、质量变化率的数学描述
好,咱们进入第三章。这一章要聊的,是飞行器自适应控制里一个绕不开的话题——质量变化建模。
你想想看,一架飞机起飞时满载燃油,飞了几个小时之后,油烧掉大半,重量轻了不是一星半点。如果是战斗机,挂载的导弹一枚枚打出去,那质量变化更是剧烈。我当年做某型无人机项目时,就遇到过因为没把质量变化模型建好,导致控制律在巡航段后期出现震荡的情况。嗯,从那以后,我对这块就格外上心。
说白了,质量变化是飞行器动力学中最常见的“不确定性”来源之一。自适应控制要处理它,首先得把它数学化。咱们分三块来讲:燃料消耗、载荷释放,以及最终的质量变化率表达式。
3.1 燃料消耗模型
燃料消耗是最常见的质量变化来源。对于大多数固定翼飞行器,燃料消耗速率通常与发动机推力、比冲(或耗油率)直接相关。
我个人习惯用这样一个简化模型:
ṁ_fuel = -c * T
其中:
- ṁ_fuel —— 燃料质量变化率(kg/s),负号表示质量减少
- c —— 耗油率系数(kg/(N·s)),由发动机特性决定
- T —— 发动机推力(N)
这个模型虽然简单,但在工程上非常实用。为什么?因为推力T通常是控制量的一部分,我们可以直接从飞控系统中获取。
重要提醒: 实际发动机的耗油率c并不是常数。它会随着飞行高度、马赫数、油门开度变化。我在做某型涡扇发动机建模时,c的变化范围可以达到15%以上。如果控制律对质量估计精度要求高,建议把c做成查表函数:c = f(h, Ma, δ_th)。
对于更精细的建模,可以考虑积分形式:
m_fuel(t) = m_fuel(0) - ∫₀ᵗ c(τ) * T(τ) dτ
这样,当前时刻的燃料剩余质量,就是初始质量减去从0到t时刻的累积消耗量。
3.2 载荷释放模型
载荷释放,说白了就是“扔东西”。战斗机扔导弹、运输机空投物资、无人机投放探测设备,都属于这一类。
载荷释放的特点是:质量变化是离散的、阶跃式的。不像燃料消耗那样连续变化。
数学上,我们可以用单位阶跃函数来描述:
m_payload(t) = m_payload(0) - Σᵢ Δmᵢ * u(t - tᵢ)
其中:
- Δmᵢ —— 第i次释放的载荷质量
- tᵢ —— 释放时刻
- u(t - tᵢ) —— 单位阶跃函数,在tᵢ时刻从0跳变到1
这里有个坑,我曾经踩过。载荷释放不仅仅是质量变化,还会带来质心位置的突变。比如战斗机两侧挂架不对称释放时,质心会瞬间偏移,产生额外的力矩。自适应控制如果只补偿质量变化,不补偿质心偏移,控制效果会大打折扣。
注意: 载荷释放时刻,飞行器的转动惯量也会发生阶跃变化。对于高机动飞行器,这个影响不可忽略。建议在建模时同时更新质量、质心位置和转动惯量三个参数。
3.3 质量变化率的数学描述
把燃料消耗和载荷释放合在一起,飞行器的总质量变化率就是:
ṁ_total(t) = ṁ_fuel(t) + ṁ_payload(t)
由于载荷释放是离散事件,严格来说ṁ_payload在释放瞬间是冲激函数(Dirac delta)。但在工程实现中,我们通常把它处理为:
- 连续段: 只有燃料消耗起作用,ṁ_total = -c * T
- 离散点: 在tᵢ时刻,质量瞬间减少Δmᵢ
所以,完整的质量表达式是:
m(t) = m(0) - ∫₀ᵗ c(τ) * T(τ) dτ - Σᵢ Δmᵢ * u(t - tᵢ)
这个公式,就是咱们后续设计自适应控制律时,用来描述“被控对象质量变化”的数学基础。
工程小技巧: 在嵌入式飞控中,我建议把质量变化模型做成一个独立的任务模块,以50-100Hz的频率更新当前质量估计。燃料消耗部分用推力积分,载荷释放部分用外部事件触发。这样既保证了实时性,又不会占用太多CPU资源。
3.4 知识体系总览
为了让你更直观地理解本章的知识结构,我画了一张图:
这张图把三个模型的关系梳理得很清楚。左边是连续变化的燃料消耗,中间是离散突变的载荷释放,右边是两者叠加后的总质量变化率。底部是最终用于控制律设计的完整质量表达式。
好了,这一章的内容就到这里。质量变化建模是自适应控制的基础,模型建得准,后面的控制律设计才能事半功倍。下一章咱们会聊如何把这些模型嵌入到自适应控制框架中,敬请期待。
公众号:蓝海资料掘金营,微信deep3321