1. 先明确要解决什么问题
考虑一个带未知扰动的非线性系统:
x₁, x₂:系统状态(比如位置和速度)
u:已知的控制输入
d:未知的总扰动(包含外部干扰 + 模型误差)
y:可测量的输出
我们的目标:在固定时间内同时估计出 x₁, x₂和 d。
2. 扩展状态的思想
把扰动 d 也当成一个“扩展状态”,记作 x₃ = d。假设扰动变化率 h = d对时间t的一阶导,有界但不是已知的。
那么系统就变成了:
你看,原来不知道的 d,现在变成了一个需要估计的状态。
3. FTESO的完整观测器方程(这才是重点)
对于上面的扩展系统,FTESO长这样:
其中:
e₁ = x₁- x^ (可测的输出误差)
x₁^, x₂^, x^₃分别是位置、速度、扰动的估计值
K₁, K₂, K₃ 是待设计的增益。
而最关键的是 φ函数——它让固定时间收敛成为可能:
通常取:
αᵢ在 (0,1) 之间(比如 0.5)
βᵢ大于 1(比如 1.5)
4. 为什么两个幂次项这么重要?
这是FTESO的“灵魂”所在:
低幂次项 |e₁|^α:当误差 e₁比较大时,这一项起主导作用,拉得很快。
高幂次项 |e₂|^β:当误差 e₁比较小时,这一项起主导作用,把最后一点点误差也快速拉掉
两个加在一起,不管误差是大是小,都能在同一个固定时间上限内收敛到零。
这也是FTESO和传统ESO最大的区别——传统ESO用线性项 K·e,误差越小收敛越慢。
5. 可以对比一下传统ESO
传统线性ESO的误差修正项是:
你会发现:当 e₁很小的时候,修正力度也小,所以收敛是指数渐近的——理论上是无限时间才能真正到零。
而FTESO用了上面的双幂次函数,是有限时间 + 时间上界固定。
6. 用一个最简化的版本感受一下
假设只有一个标量系统:
FTESO简化版可以写成:
其中 e = x - x^。
你看,连扰动变化的估计也用上了这种双幂次结构,这样才能让d^ 也在固定时间内追上真实的 d。