最大控制不变集 (MAS) 计算

一、控制不变集的定义

1.1 基本定义

定义(控制不变集):集合 称为控制不变集,如果对于任意 ,存在控制输入 使得:

1.2 物理意义

直观理解

一旦系统状态进入控制不变集,就存在一个控制策略,使状态永远留在集合内,同时满足所有约束。

1.3 相关概念

概念定义区别
控制不变集 s.t. 存在控制
正不变集(无控制)自治系统
鲁棒不变集, 有扰动

二、最大控制不变集 (MAS)

2.1 定义

最大控制不变集 (Maximal Admissible Set, MAS) 是包含所有控制不变集的并集:

等价定义为:

2.2 性质

性质说明
最大性包含所有控制不变集
唯一性对给定系统和约束唯一
闭凸性 是凸集,则 也是凸集
包含原点(假设原点可行)

三、迭代计算算法

3.1 算法思想

通过迭代收缩的方法计算 MAS:

  1. 从状态约束集 开始
  2. 逐步剔除不能保持的状态
  3. 收敛到最大控制不变集

3.2 算法步骤

算法:计算最大控制不变集

  1. 初始化

  2. 迭代:对于

  3. 终止条件:当 时,算法收敛

  4. 输出

3.3 集合运算的显式表达

迭代公式可写为:

其中 是集合 前向可达集


四、多面体 MAS 的计算

4.1 多面体表示

假设状态约束和输入约束是多面体:

4.2 一步集计算

的计算:

通过投影(Projection)或傅里叶 - 莫茨金消元(Fourier-Motzkin Elimination)计算。

4.3 算法实现

使用多面体计算工具:

工具语言特点
MPT3MATLAB专业 MPC 工具箱
PPLC++/Python多面体库
cdd/cdd+C/Java凸多面体计算
PolyhedraJulia现代计算框架

五、收敛性分析

5.1 有限步收敛定理

定理:若系统 能稳且约束集有界,则 MAS 迭代算法在有限步内收敛。

5.2 收敛步数估计

收敛所需的迭代次数 满足:

其中 是闭环系统的谱半径。

5.3 不收敛的情况

以下情况可能不收敛(需要无限步):

  • 系统有不稳定模态且不能控
  • 约束集无界
  • 特征值在单位圆上(临界稳定)

六、MAS 作为终端集

6.1 终端集选择

MAS 可直接用作 MPC 的终端集:

6.2 优势

优势说明
最大化可行域 是最大的控制不变集
保证递归可行性状态一旦进入 就永不离开
保证稳定性配合 可证明稳定性

6.3 实际应用

实际中常使用近似 MAS

  • 计算 有限)作为 的内近似
  • 减少计算复杂度
  • 保守性略增但可接受

七、示例:二阶系统 MAS 计算

7.1 系统参数

7.2 迭代结果

多面体不等式数说明
04初始
18一步能控集
212二步能控集
520接近收敛
1024收敛

7.3 最终 MAS

收敛后得到 ,有 24 个面(不等式约束)。


八、总结

概念说明
控制不变集 s.t.
MAS最大的控制不变集
迭代算法
收敛有限步收敛(能稳 + 有界约束)
应用用作 MPC 终端集

更新记录

日期内容
2026-04-10初始版本