15. 模型预测控制 (MPC/NMPC)
15.1 预测控制的基本思想
15.1.1 为什么需要预测控制?
传统控制方法的局限性:
- PID控制:仅基于当前误差,无预见性
- 极点配置/LQR:设计基于固定模型,难处理约束
- 鲁棒控制:处理不确定性,但通常保守
实际工程需求:
- 系统存在约束(执行器饱和、状态限制、安全边界)
- 多变量耦合(MIMO系统)
- 需要预见性(参考轨迹已知)
- 经济性优化(最小化能耗、最大化产量)
15.1.2 MPC的核心思想
模型预测控制(MPC)的三要素:
- 预测模型:用系统模型预测未来行为
- 滚动优化:在每个采样时刻求解有限时域优化问题
- 反馈校正:只实施第一步控制,下一时刻重新优化
1 | 过去 | 未来 |
15.1.3 MPC的特点
| 特性 | 描述 | 优势 |
|---|---|---|
| 处理约束 | 直接在优化中考虑 | 安全运行、节能 |
| 预见性 | 利用未来参考信息 | 提高跟踪性能 |
| 多变量 | 天然处理MIMO系统 | 解耦设计 |
| 非线性 | 可用非线性模型 | 适用复杂系统 |
| 最优性 | 在线优化 | 经济指标优化 |
15.2 线性MPC
15.2.1 系统模型与预测
离散时间状态空间模型:
$$\begin{aligned} x(k+1) &= A x(k) + B u(k) \\ y(k) &= C x(k) \end{aligned} $$
预测:从当前时刻 $k$ 出发,预测未来 $N$ 步的状态和输出。
定义预测时域 $N$,控制时域 $N_c \leq N$(之后控制量保持不变)。
预测方程:
$$\begin{aligned} x(k+1|k) &= A x(k) + B u(k|k) \\ x(k+2|k) &= A x(k+1|k) + B u(k+1|k) = A^2 x(k) + AB u(k|k) + B u(k+1|k) \\ &\vdots \\ x(k+N|k) &= A^N x(k) + \sum_{i=0}^{N-1} A^{N-1-i} B u(k+i|k) \end{aligned} $$
15.2.2 优化问题表述
目标函数(典型形式):
$$J(k) = \sum_{i=1}^{N} \| y(k+i|k) - r(k+i) \|_Q^2 + \sum_{i=0}^{N_c-1} \| \Delta u(k+i|k) \|_R^2 $$
其中:
- $y(k+i|k)$:预测输出
- $r(k+i)$:参考轨迹
- $\Delta u(k+i|k)$:控制增量
- $Q, R$:加权矩阵
约束条件:
$$\begin{aligned} u_{\min} &\leq u(k+i|k) \leq u_{\max}, \quad i = 0,\dots,N_c-1 \\ \Delta u_{\min} &\leq \Delta u(k+i|k) \leq \Delta u_{\max} \\ y_{\min} &\leq y(k+i|k) \leq y_{\max}, \quad i = 1,\dots,N \\ x(k|k) &= x(k) \quad \text{(当前测量值)} \end{aligned} $$
15.2.3 QP求解
线性MPC可转化为二次规划(QP)问题:
将预测方程写成矩阵形式:
$$Y = \Psi x(k) + \Theta U $$
其中 $Y$ 是预测输出向量,$U$ 是未来控制增量向量。
目标函数化为:
$$J = \frac{1}{2} U^T H U + U^T F $$
约束化为线性不等式:
$$A_{\text{ineq}} U \leq b_{\text{ineq}} $$
求解算法:
- 有效集法(Active Set)
- 内点法(Interior Point)
- 快速梯度法(用于嵌入式实现)
15.2.4 稳定性与可行性
稳定性保证:
- 终端约束:$x(k+N|k) \in \Omega_f$(终端不变集)
- 终端代价:加入终端惩罚项 $\|x(k+N|k)\|_P^2$
- 若 $P$ 满足黎卡提方程,可保证闭环稳定性
递归可行性:若当前时刻优化可行,则下一时刻也保证可行(需设计合适的终端约束)。
15.3 非线性MPC (NMPC)
15.3.1 非线性系统的挑战
当系统为非线性时:
$$x(k+1) = f(x(k), u(k)) $$
线性MPC失效的原因:
- 预测不能解析表达为线性形式
- 优化问题非凸,求解困难
- 实时计算负担大
- 稳定性分析复杂
15.3.2 NMPC的求解方法
方法一:序列二次规划(SQP
- 在每个采样时刻,将非线性问题线性化
- 迭代求解QP逼近原问题
- 需保证收敛性
方法二:实时迭代法
- 只进行一次SQP迭代
- 利用热启动(上一时刻解作为初值)
- 适用于快速系统
方法三:多射击法
- 将预测时域分成多个子区间
- 在每个子区间端点引入决策变量
- 加入连续性约束
- 改善数值稳定性
方法四:显式NMPC
- 离线求解多参数非线性规划
- 得到分区仿真的控制律
- 在线只需查表
- 限于低维系统
15.3.3 计算复杂度与实时性
| 方法 | 在线计算 | 精度 | 适用场景 |
|---|---|---|---|
| SQP | 高 | 高 | 慢过程(化工) |
| 实时迭代 | 中 | 中 | 中速系统(机器人) |
| 多射击 | 中高 | 高 | 病态问题 |
| 显式NMPC | 极低 | 中 | 嵌入式、小维度 |
| 神经网络近似 | 低 | 中 | 任意系统(需训练) |
15.3.4 稳定性与鲁棒性
李雅普诺夫约束:
- 加入 $V(x(k+1|k)) \leq \rho V(x(k))$ 形式的约束
- 保证代价函数递减
鲁棒NMPC:
- min-max MPC:考虑最坏情况扰动
- Tube MPC:用“管道”包围标称轨迹
- 鲁棒约束处理:机会约束、软约束
15.4 MPC的关键设计参数
15.4.1 预测时域 N
选择原则:
- 足够长以包含系统主要动态
- 通常取上升时间的3-5倍
- 过长增加计算负担
经验公式:
$$N \approx \frac{3 \sim 5 \cdot T_{\text{settle}}}{T_s} $$
其中 $T_{\text{settle}}$ 是调节时间,$T_s$ 是采样周期。
15.4.2 控制时域 N_c
选择原则:
- $N_c \leq N$
- 小 $N_c$:计算快,但保守
- 大 $N_c$:灵活,但易振荡
- 通常取 $N_c = 2 \sim 5$
15.4.3 采样周期 T_s
约束:
- 满足香农定理:$T_s < \pi/\omega_{\max}$
- 足够小以捕捉动态
- 足够大以完成优化计算
经验准则:
$$T_s \approx \frac{1}{10} \cdot \frac{2\pi}{\omega_b} $$
其中 $\omega_b$ 是闭环带宽。
15.4.4 加权矩阵 Q, R
与LQR类似,但需考虑约束的相互作用:
- Bryson规则:$Q = \text{diag}(1/y_{\max}^2)$,$R = \text{diag}(1/u_{\max}^2)$
- 输出跟踪:$Q$ 大 → 快速跟踪,可能激活约束
- 控制增量惩罚:$R$ 大 → 平滑控制,响应慢
15.5 工程应用案例
15.5.1 汽车自适应巡航控制(ACC)
系统:
$$\begin{aligned} \dot{d} &= v_{\text{lead}} - v \\ \dot{v} &= \frac{1}{m}(F_{\text{eng}} - F_{\text{brake}} - F_{\text{drag}}) \end{aligned} $$
约束:
- 安全距离:$d \geq d_{\text{safe}} + t_h v$
- 加速度限制:$a_{\min} \leq \dot{v} \leq a_{\max}$
- 舒适性:$|\dot{v}|$ 小
MPC优势:
- 预见前车速度变化
- 平滑加减速
- 保证安全约束
15.5.2 化工反应器温度控制
特点:
- 大时间常数(小时级)
- 严格安全约束(温度上限)
- 经济目标(产率最大化)
NMPC实现:
- 非线性机理模型
- 经济目标函数
- 软约束处理(允许短时越限)
- 采样周期:1-5分钟
15.5.3 四旋翼无人机轨迹跟踪
系统:
$$\begin{aligned} \ddot{p} &= R(\Theta) \cdot F/m - g \\ \dot{\Theta} &= W(\Theta) \cdot \omega \\ J\dot{\omega} &= \tau - \omega \times J\omega \end{aligned} $$
约束:
- 电机转速限制
- 飞行区域边界
- 姿态角限制
NMPC挑战:
- 高动态(采样周期~50ms)
- 强非线性
- 实时计算要求高
解决方案:
- 实时迭代NMPC
- GPU加速
- 简化模型(级联结构)
15.6 先进MPC方法
15.6.1 经济MPC (EMPC)
目标函数直接为经济指标(而非跟踪误差):
$$J = \sum_{i=1}^{N} l_{\text{econ}}(x(k+i), u(k+i)) $$
特点:
- 可能工作在非稳态最优轨迹
- 需保证递归可行性
- 分析复杂
15.6.2 分布式MPC
用于大规模系统(电力网络、交通流):
- 集中式:一个控制器,计算负担大
- 分布式:多个局部控制器,交换信息
- 分散式:无通信,保守
协调策略:
- 纳什均衡迭代
- 一致性约束
- 交替方向乘子法(ADMM)
15.6.3 学习型MPC
结合机器学习与MPC:
方法一:学习系统模型
- 高斯过程(GP)MPC
- 神经网络模型
- 处理未知动态
方法二:学习控制器参数
- 强化学习调参
- 贝叶斯优化
方法三:学习终端代价/约束
- 从数据中学习吸引域
- 保证稳定性
15.6.4 随机MPC
处理随机扰动和不确定性:
- 机会约束:$P(y_{\min} \leq y \leq y_{\max}) \geq 1-\epsilon$
- 场景方法:采样多个随机场景
- 多阶段随机规划:考虑决策树
15.7 MPC的工业应用现状
15.7.1 应用领域分布
| 领域 | 占比 | 典型应用 |
|---|---|---|
| 石油化工 | 65% | 精馏塔、反应器 |
| 电力能源 | 15% | 电网调度、发电控制 |
| 汽车 | 8% | ACC、能量管理 |
| 航空航天 | 5% | 制导、姿态控制 |
| 机器人 | 4% | 轨迹规划 |
| 其他 | 3% | 建筑空调、生物过程 |
15.7.2 商业软件
- Aspen DMC3:化工行业标准
- Honeywell Profit Controller:炼油过程
- MATLAB MPC Toolbox:研发与教学
- ACADO Toolkit:开源NMPC
- CasADi:最优化与NMPC
15.7.3 未来趋势
- 嵌入式MPC:代码生成、FPGA实现
- 非线性MPC普及:算法进步、算力提升
- 数据驱动MPC:减少建模工作量
- 安全MPC:形式化验证、安全屏障
- 云端MPC:5G+云计算,远程控制
16. 智能控制简介
16.1 智能控制的产生背景
16.1.1 传统控制的困境
经典与现代控制理论的假设:
- 精确数学模型
- 确定性环境
- 线性或弱非线性
- 时不变或慢时变
现实世界的复杂性:
- 不确定性:无法建模的复杂动态
- 时变性:参数和环境变化
- 复杂性:高维、强耦合、非线性
- 任务复杂性:需要推理、规划、学习
16.1.2 智能控制的定义
智能控制:模拟人类智能(学习、推理、决策)的控制方法,能够在不确定、复杂环境中自主实现控制目标。
核心特征:
- 学习能力:从经验中改进性能
- 适应性:适应环境和系统变化
- 鲁棒性:应对不确定性和干扰
- 自主性:自主决策和规划
16.2 模糊控制
16.2.1 模糊逻辑基础
crisp集合 vs. 模糊集合:
- 经典集合:元素属于或不属于(0或1)
- 模糊集合:隶属度 $[0,1]$ 连续取值
隶属函数:
- 三角形:$\mu(x) = \max\left(0, 1 - \frac{|x-c|}{a}\right)$
- 高斯型:$\mu(x) = \exp\left(-\frac{(x-c)^2}{2\sigma^2}\right)$
- 梯形、钟形等
模糊逻辑运算:
- 与(AND):$\mu_{A \cap B}(x) = \min(\mu_A(x), \mu_B(x))$
- 或(OR):$\mu_{A \cup B}(x) = \max(\mu_A(x), \mu_B(x))$
- 非(NOT):$\mu_{\bar{A}}(x) = 1 - \mu_A(x)$
16.2.2 模糊控制器的结构
1 | 模糊规则库 |
四个组成部分:
-
模糊化接口:将精确输入转换为模糊量
- 确定隶属函数
- 计算隶属度
-
知识库(规则库 + 数据库)
- 规则库:IF-THEN规则
- 数据库:隶属函数参数
-
模糊推理机:根据规则进行推理
- Mamdani推理(最常用)
- Sugeno推理(函数型结论)
-
解模糊接口:将模糊结果转换为精确值
- 重心法:$u = \frac{\int u \mu(u) du}{\int \mu(u) du}$
- 最大隶属度法
- 加权平均法
16.2.3 模糊规则的设计
规则形式(Mamdani型):
1 | IF e is NB AND Δe is ZO THEN u is PB |
规则获取方法:
- 专家经验:人工提炼
- 观察操作员:记录人工操作
- 自学习:从数据中提取规则
- 遗传算法优化:自动调参
规则表示例(二维模糊PD控制):
| e\Δe | NB | NS | ZO | PS | PB |
|---|---|---|---|---|---|
| NB | PB | PB | PS | PS | ZO |
| NS | PB | PS | PS | ZO | NS |
| ZO | PS | PS | ZO | NS | NS |
| PS | PS | ZO | NS | NS | NB |
| PB | ZO | NS | NS | NB | NB |
16.2.4 模糊PID控制
模糊PID结构:
-
模糊增益调度:根据误差调整PID参数
$$K_p = K_{p0} + \Delta K_p(e, \dot{e}) $$
-
模糊PD+I:模糊PD输出 + 积分分离
-
直接模糊PID:模糊规则直接输出控制量
优点:
- 结合PID的简单性和模糊的适应性
- 工业易接受
- 可调参数少
16.2.5 模糊控制的应用
| 领域 | 应用 | 特点 |
|---|---|---|
| 家用电器 | 洗衣机、空调、微波炉 | 规则简单、成本低 |
| 汽车 | ABS、自动变速、定速巡航 | 处理非线性 |
| 工业过程 | 窑炉、水泥磨 | 难以建模 |
| 机器人 | 避障、路径跟踪 | 环境不确定 |
| 医疗 | 麻醉控制、诊断 | 专家知识 |
经典案例:仙台地铁模糊控制系统
- 1987年投入运行
- 比PID加减速更平滑
- 停车精度更高
- 节能10%
16.3 神经网络控制
16.3.1 神经元模型与网络结构
生物神经元 → 人工神经元:
$$y = f\left(\sum_{i=1}^{n} w_i x_i + b\right) $$
其中:
- $x_i$:输入
- $w_i$:权重
- $b$:偏置
- $f(\cdot)$:激活函数
常见激活函数:
- Sigmoid:$f(x) = \frac{1}{1+e^{-x}}$
- Tanh:$f(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}$
- ReLU:$f(x) = \max(0, x)$
- 线性:$f(x) = x$
网络结构:
-
前馈网络(静态映射)
- 单层感知器
- 多层感知器(MLP)
- 径向基网络(RBF)
-
反馈网络(动态系统)
- Hopfield网络
- Elman网络
-
卷积网络(CNN)——空间结构
-
循环网络(RNN)——时间序列
16.3.2 神经网络控制结构
1. 监督控制(模仿学习)
- 收集专家操作数据 $(u, y)$
- 训练网络 $u = NN(y, r)$
- 离线学习,在线应用
2. 直接逆控制
- 学习系统逆模型 $u = NN^{-1}(y_d)$
- 开环控制,需精确逆模型
3. 内模控制
- 正向模型:$NN_f$ 预测系统输出
- 逆控制器:$NN_c$ 计算控制
- 鲁棒性好
4. 模型参考自适应控制
- 神经网络作为控制器
- 在线调整权重
- 使系统响应匹配参考模型
16.3.3 神经网络辨识
为什么用NN辨识?
- 无需先验模型结构
- 可逼近任意非线性函数
- 并行计算,容错性好
辨识结构:
- 串-并联型(NARX):$\hat{y}(k) = NN(y(k-1), \dots, u(k-1), \dots)$
- 并联型:$\hat{y}(k) = NN(\hat{y}(k-1), \dots, u(k-1), \dots)$
训练算法:
- 反向传播(BP)
- Levenberg-Marquardt
- 贝叶斯正则化
- 遗传算法优化
16.3.4 强化学习控制
强化学习框架:
1 | ┌─────────┐ |
核心元素:
- 状态 $s$:系统当前情况
- 动作 $a$:控制器输出
- 奖励 $r$:瞬时性能指标
- 策略 $\pi(a|s)$:控制律
- 值函数 $V(s)$:长期累积奖励
经典算法:
- Q-learning
- DQN(深度Q网络)
- Policy Gradient
- Actor-Critic
- DDPG(连续控制)
控制应用:
- 倒立摆平衡
- 机器人行走
- 游戏AI
- 能源管理
16.4 专家控制系统
16.4.1 专家系统结构
专家系统 = 知识库 + 推理机
1 | ┌─────────────┐ |
16.4.2 专家控制系统
专家控制系统 = 专家系统 + 实时控制
特点:
- 实时性:满足采样周期要求
- 可靠性:处理传感器故障、异常
- 透明性:可解释控制决策
- 灵活性:可在线修改规则
典型结构(三层):
- 组织级:任务规划、模式识别
- 协调级:控制算法选择、参数调度
- 执行级:常规控制器(PID等)
应用:
- 高炉控制(冶金)
- 电站自动启停
- 飞行器故障重构
16.5 智能控制方法的比较与融合
16.5.1 方法对比
| 方法 | 优点 | 缺点 | 理论基础 |
|---|---|---|---|
| 模糊控制 | 利用专家知识、可解释、鲁棒 | 规则获取难、无学习能力 | 模糊数学 |
| 神经网络 | 学习能力强、逼近任意函数 | 黑箱、需数据、可能过拟合 | 统计学习 |
| 专家系统 | 知识显式、推理透明 | 知识获取瓶颈、维护困难 | 人工智能 |
| 强化学习 | 端到端学习、处理复杂任务 | 样本效率低、安全难保证 | 最优控制+ML |
| 遗传算法 | 全局优化、不依赖梯度 | 计算慢、早熟收敛 | 进化论 |
16.5.2 混合智能控制
1. 模糊神经网络
- 用神经网络实现模糊系统
- 可学习隶属函数和规则
- 代表:ANFIS(自适应神经模糊推理系统)
2. 神经模糊控制
- 神经网络学习模糊规则
- 模糊逻辑解释网络行为
3. 遗传模糊系统
- 遗传算法优化模糊控制器
- 自动生成和调整规则
4. 强化学习+神经网络(深度强化学习)
- 神经网络近似值函数/策略
- 处理高维状态空间
- 代表:DQN、DDPG、PPO
16.6 智能控制的工程应用
16.6.1 自主驾驶车辆
感知层:CNN识别车道、车辆、行人
决策层:强化学习规划行为
控制层:模糊PID跟踪轨迹
1 | 摄像头 ──→ CNN感知 ──→ 状态估计 |
16.6.2 智能机器人
应用:
- 服务机器人:视觉导航、人机交互
- 工业机器人:装配、焊接、搬运
- 医疗机器人:手术辅助、康复训练
关键技术:
- 视觉伺服(神经网络)
- 力控制(模糊阻抗控制)
- 轨迹规划(强化学习)
16.6.3 过程工业
复杂特性:
- 非线性、大时滞、多变量
- 原料波动、工况变化
- 产品质量在线难测
智能控制方案:
- 软测量:神经网络估计产品质量
- 模糊逻辑:处理操作经验
- 专家系统:故障诊断与处理
- MPC+NN:非线性预测控制
16.6.4 电力系统
智能电网特点:
- 可再生能源波动
- 负荷不确定
- 分布式发电
智能控制应用:
- 负荷预测(神经网络)
- 电压控制(模糊逻辑)
- 经济调度(进化算法)
- 故障诊断(专家系统)
16.7 智能控制的挑战与展望
16.7.1 当前挑战
-
理论基础薄弱
- 缺乏统一的稳定性理论
- 难以保证安全性和可靠性
-
可解释性差
- 神经网络"黑箱"问题
- 决策过程不透明
- 工业接受度低
-
数据需求大
- 深度学习需大量标注数据
- 工业系统数据获取难
-
实时性限制
- 复杂算法计算量大
- 嵌入式实现困难
-
验证与确认
- 如何测试智能控制系统?
- 形式化验证方法缺乏
16.7.2 未来趋势
1. 可解释AI(XAI)
- 使神经网络决策可理解
- 结合符号推理与连接主义
2. 安全强化学习
- 带约束的强化学习
- 安全屏障函数
- 形式化验证
3. 小样本学习
- 元学习
- 迁移学习
- 减少数据需求
4. 边缘智能控制
- 轻量化神经网络
- 芯片级实现
- 5G+边缘计算
5. 人机协同
- 人类监督+机器自主
- 共享控制
- 意图理解
6. 数字孪生
- 虚拟系统仿真训练
- 与现实系统同步
- 安全策略验证
16.8 小结:智能控制的定位
| 控制层次 | 方法 | 时间尺度 | 知识类型 |
|---|---|---|---|
| 执行级 | PID、MPC | ms ~ s | 数学模型 |
| 协调级 | 模糊控制、增益调度 | s ~ min | 规则、经验 |
| 组织级 | 专家系统、规划 | min ~ h | 符号知识 |
| 学习层 | 神经网络、强化学习 | 离线/在线 | 数据 |
智能控制不是替代,而是补充:
- 底层:传统控制保证稳定性
- 中层:智能控制处理变化和不确定
- 高层:人工智能实现自主决策
全篇总结:控制理论的知识体系
1 | ┌─────────────────────────────────────────────────┐ |
核心思想:
- 模型是一切的基础(精度 vs. 复杂性权衡)
- 反馈是控制的灵魂
- 稳定性是首要目标
- 约束是工程现实
- 不确定性是永恒挑战
- 智能是发展方向
说些什么吧!