模型预测控制(MPC)概览

模型预测控制(Model Predictive Control, MPC)

一、理论基础与发展脉络

1. 历史起源

  • 20世纪70年代起源于工业过程控制(如化工领域的动态矩阵控制DMC、模型算法控制MAC),由Richalet、Mehra等学者提出,核心思想是“预测-优化-反馈”的滚动时域控制。
  • 数学基础:基于最优控制理论,但引入“有限时域滚动优化”替代全局优化,解决实时性问题。

2. 核心框架三要素

  • 预测模型:描述系统动态行为,分为:
    • 线性模型:状态空间方程 x k + 1 = A x k + B u k x_{k+1} = Ax_k + Bu_k xk+1=Axk+Buk,输出 y k = C x k + D u k y_k = Cx_k + Du_k yk=Cxk+Duk
    • 非线性模型:微分方程、神经网络、机理模型(如 x k + 1 = f ( x k , u k ) x_{k+1} = f(x_k, u_k) xk+1=f(xk,uk));
    • 数据驱动模型:利用系统输入输出数据训练预测模型(如高斯过程、深度学习)。
  • 滚动优化:在每个采样时刻求解有限时域(预测时域 N p N_p Np、控制时域 N u ≤ N p N_u \leq N_p NuNp)的优化问题,仅实施当前时刻的控制量。
  • 反馈校正:通过实测输出与预测输出的误差,更新状态估计(如卡尔曼滤波),修正未来预测。
    在这里插入图片描述
二、数学建模与优化问题

1. 线性MPC的预测模型展开

  • 考虑离散时间线性系统:
    x k + 1 = A x k + B u k , y k = C x k x_{k+1} = Ax_k + Bu_k, \quad y_k = Cx_k xk+1=Axk+Buk,yk=Cxk
  • 预测时域内的状态与输出序列(从时刻 k k k 开始):
    { x k ∣ k = x k x k + i ∣ k = A x k + i − 1 ∣ k + B u k + i − 1 ∣ k , i = 1 , … , N p y k + i ∣ k = C x k + i ∣ k , i = 1 , … , N p \begin{cases} x_{k|k} = x_k \\ x_{k+i|k} = Ax_{k+i-1|k} + Bu_{k+i-1|k}, & i=1,\dots,N_p \\ y_{k+i|k} = Cx_{k+i|k}, & i=1,\dots,N_p \end{cases} xkk=xkxk+ik=Axk+i1∣k+Buk+i1∣k,yk+ik=Cxk+ik,i=1,,Npi=1,,Np
    其中 x k + i ∣ k x_{k+i|k} xk+ik 表示时刻 k k k k + i k+i k+i 时刻的状态预测。

2. 目标函数构造

  • 标准二次型目标函数:
    J = ∑ i = 1 N p ( ∥ y k + i ∣ k − y ref , k + i ∥ Q 2 + ∥ u k + i − 1 ∣ k ∥ R 2 ) + ∥ x k + N p ∣ k ∥ P f 2 J = \sum_{i=1}^{N_p} \left( \|y_{k+i|k} - y_{\text{ref},k+i}\|_Q^2 + \|u_{k+i-1|k}\|_R^2 \right) + \|x_{k+N_p|k}\|_{P_f}^2 J=i=1Np(yk+ikyref,k+iQ2+uk+i1∣kR2)+xk+NpkPf2
    • 跟踪项 Q ≥ 0 Q \geq 0 Q0 为输出误差权重矩阵, y ref y_{\text{ref}} yref 为参考轨迹(常通过参考模型生成);
    • 控制项 R > 0 R > 0 R>0 为控制量权重矩阵,抑制能量消耗;
    • 终端项 ∥ x k + N p ∣ k ∥ P f 2 \|x_{k+N_p|k}\|_{P_f}^2 xk+NpkPf2 确保闭环稳定性, P f P_f Pf 为终端权重矩阵(常通过求解代数黎卡提方程得到)。

3. 约束条件处理

  • 输入约束 u min ⁡ ≤ u k ≤ u max ⁡ u_{\min} \leq u_k \leq u_{\max} uminukumax Δ u min ⁡ ≤ u k − u k − 1 ≤ Δ u max ⁡ \Delta u_{\min} \leq u_k - u_{k-1} \leq \Delta u_{\max} Δuminukuk1Δumax(速率约束);
  • 状态约束 x min ⁡ ≤ x k ≤ x max ⁡ x_{\min} \leq x_k \leq x_{\max} xminxkxmax(如系统安全边界);
  • 输出约束 y min ⁡ ≤ y k ≤ y max ⁡ y_{\min} \leq y_k \leq y_{\max} yminykymax(如执行器饱和限制)。

4. 优化问题的矩阵形式
将预测时域内的状态、控制、输出展开为向量:
U = [ u k , u k + 1 , … , u k + N u − 1 ] T , Y = [ y k + 1 ∣ k , … , y k + N p ∣ k ] T \mathbf{U} = [u_k, u_{k+1}, \dots, u_{k+N_u-1}]^T, \quad \mathbf{Y} = [y_{k+1|k}, \dots, y_{k+N_p|k}]^T U=[uk,uk+1,,uk+Nu1]T,Y=[yk+1∣k,,yk+Npk]T
目标函数可表示为:
J = ( Y − Y ref ) T Q p ( Y − Y ref ) + U T R p U J = (\mathbf{Y} - \mathbf{Y}_{\text{ref}})^T \mathbf{Q}_p (\mathbf{Y} - \mathbf{Y}_{\text{ref}}) + \mathbf{U}^T \mathbf{R}_p \mathbf{U} J=(YYref)TQp(YYref)+UTRpU
其中 Q p = block diag ( Q , … , Q ) \mathbf{Q}_p = \text{block diag}(Q, \dots, Q) Qp=block diag(Q,,Q) R p = block diag ( R , … , R ) \mathbf{R}_p = \text{block diag}(R, \dots, R) Rp=block diag(R,,R),预测模型可表示为 Y = Φ x k + Θ U \mathbf{Y} = \mathbf{\Phi}x_k + \mathbf{\Theta}\mathbf{U} Y=Φxk+ΘU Φ \mathbf{\Phi} Φ Θ \mathbf{\Theta} Θ 为预测矩阵(由系统矩阵 A , B , C A,B,C A,B,C 推导得到)。

三、稳定性分析与理论保证

1. 闭环稳定性条件

  • 终端约束:要求预测时域终点状态 x k + N p ∣ k x_{k+N_p|k} xk+Npk 进入终端不变集 Ω \Omega Ω,即 x k + N p ∣ k ∈ Ω x_{k+N_p|k} \in \Omega xk+NpkΩ Ω \Omega Ω 满足:若 x ∈ Ω x \in \Omega xΩ,则存在控制量 u u u 使 x k + 1 ∈ Ω x_{k+1} \in \Omega xk+1Ω
  • 终端代价函数:取为李雅普诺夫函数 V ( x ) = x T P f x V(x) = x^T P_f x V(x)=xTPfx,其中 P f P_f Pf 满足离散时间李雅普诺夫方程 P f = A T P f A + Q − A T P f B ( R + B T P f B ) − 1 B T P f A P_f = A^T P_f A + Q - A^T P_f B (R + B^T P_f B)^{-1} B^T P_f A Pf=ATPfA+QATPfB(R+BTPfB)1BTPfA(对应无限时域LQR的解)。

2. 不变集理论

  • 最大受控不变集(Maximal Controlled Invariant Set, MCIS):所有可通过控制保持在约束内的初始状态集合,用于设计可行域。
  • 鲁棒不变集:考虑系统不确定性 δ x k + 1 = ( A + Δ A ) x k + ( B + Δ B ) u k \delta x_{k+1} = (A + \Delta A)x_k + (B + \Delta B)u_k δxk+1=(A+ΔA)xk+(B+ΔB)uk 时,确保状态不越界的集合。

3. 抗干扰与鲁棒性

  • 鲁棒MPC(Robust MPC):在优化问题中考虑不确定性集合,求解最坏情况下的可行控制(如极小极大MPC);
  • 随机MPC(Stochastic MPC):将不确定性建模为概率分布,优化目标包含期望或概率约束(如机会约束MPC)。
四、算法分类与实现技术

1. 按模型类型分类

  • 线性MPC(LMPC)

    • 模型:线性时不变(LTI)或线性时变(LTV)系统;
    • 优化:二次规划(QP)问题,可通过内点法、积极集法快速求解;
    • 应用:化工流程、电机控制、电网频率调节。
  • 非线性MPC(NMPC)

    • 模型:非线性系统(如 x k + 1 = f ( x k , u k ) x_{k+1} = f(x_k, u_k) xk+1=f(xk,uk));
    • 优化:非线性规划(NLP)问题,常用序列二次规划(SQP)、梯度下降法迭代求解;
    • 挑战:计算复杂度高,需初始化良好(如基于标称轨迹),可能陷入局部最优;
    • 应用:机器人动力学控制、航空航天轨迹优化、化学反应器控制。
  • 分布参数系统MPC

    • 模型:偏微分方程(PDE)描述(如热传导、流体力学),需空间离散化(如有限元法)转化为常微分方程(ODE)。

2. 按优化策略分类

  • 显式MPC(Explicit MPC)

    • 离线求解QP问题,将状态空间划分为多个多面体区域,每个区域对应解析控制律 u ( x ) = K i x + k i u(x) = K_i x + k_i u(x)=Kix+ki
    • 在线计算仅需状态分区判断,适合快速系统(如汽车ABS控制)。
  • 模型预测控制与学习结合

    • 数据驱动MPC:利用历史数据优化模型参数或权重矩阵(如自适应MPC);
    • 深度学习MPC:用神经网络替代传统模型(如黑箱预测),或优化求解过程(如神经网络近似QP解)。

3. 求解器与实时性优化

  • 商用求解器:CPLEX、Gurobi(处理大规模QP/NLP),CasADi(自动微分,支持NMPC);
  • 嵌入式优化:利用硬件加速(如FPGA)、稀疏矩阵运算、并行计算降低计算延时;
  • 快速预测模型:利用模型降阶(如POD-Galerkin方法)、稀疏建模减少计算量。
五、典型应用场景与案例

1. 工业过程控制:化工精馏塔温度控制

  • 模型:基于质量守恒和能量守恒的非线性动态模型,描述塔板温度与进料/加热量的关系;
  • 控制目标:跟踪产品纯度参考值,同时满足加热功率上限、塔压安全约束;
  • 优势:处理多变量耦合(温度-流量-压力)和约束,比PID控制减少30%能耗。

2. 自动驾驶:轨迹跟踪与避障

  • 模型:车辆动力学模型(如简化的自行车模型 x k + 1 = x k + v k cos ⁡ ( θ k ) Δ t x_{k+1} = x_k + v_k \cos(\theta_k) \Delta t xk+1=xk+vkcos(θk)Δt, y k + 1 = y k + v k sin ⁡ ( θ k ) Δ t y_{k+1} = y_k + v_k \sin(\theta_k) \Delta t yk+1=yk+vksin(θk)Δt, θ k + 1 = θ k + v k tan ⁡ ( δ k ) / L Δ t \theta_{k+1} = \theta_k + v_k \tan(\delta_k)/L \Delta t θk+1=θk+vktan(δk)/LΔt);
  • 优化目标:最小化轨迹跟踪误差,同时满足转向角限制、加减速约束、避障安全距离;
  • 实时性:通过模型降阶和显式MPC将求解时间压缩至10ms以内。

3. 微电网能量管理

  • 模型:混合整数线性模型(MILP),描述光伏、储能、负荷的动态平衡,其中储能充放电为0-1整数变量;
  • 约束:储能SOC上下限、电价时段约束、电网交互功率限制;
  • 目标:最小化运行成本,兼顾可再生能源消纳,通过滚动时域优化处理预测误差(如天气不确定性)。
六、挑战与前沿发展

1. 主要挑战

  • 计算复杂度:NMPC在高维系统中求解时间长,难以满足实时性(如高频采样系统);
  • 模型不确定性:实际系统与模型的偏差可能导致控制失效(如参数摄动、未建模动态);
  • 约束可行性:极端工况下优化问题可能无解(如传感器故障),需设计退避策略(如切换至安全控制模式)。

2. 前沿研究方向

  • 分布式MPC(Distributed MPC):多子系统协同优化,通过信息交互求解全局最优(如多智能体编队控制);
  • 事件触发MPC(Event-Triggered MPC):仅在系统状态变化显著时更新控制,减少计算资源消耗;
  • 安全MPC(Safe MPC):结合形式化验证,确保控制过程始终满足安全约束(如无人机避撞);
  • 强化学习与MPC融合:利用RL优化MPC参数(如权重矩阵、时域长度),或直接学习控制策略以适应复杂场景。
七、与其他控制方法的对比与结合
  • 与PID控制

    • PID适合单变量、线性系统,MPC适合多变量、强约束、非线性系统;
    • 工程中常结合使用:MPC负责慢变量优化(如轨迹规划),PID处理快变量跟踪(如电机转速)。
  • 与模型参考自适应控制(MRAC)

    • MRAC通过自适应律更新参数应对不确定性,MPC通过滚动优化处理约束;
    • 结合案例:自适应MPC,在线辨识模型参数并嵌入优化问题。
  • 与模型预测控制的变种

    • 模型算法控制(MAC):基于脉冲响应模型的早期MPC形式;
    • 动态矩阵控制(DMC):基于阶跃响应模型,广泛应用于化工行业。
八、工程实现流程(以线性MPC为例)
  1. 系统建模:建立状态空间模型,通过系统辨识或机理分析确定矩阵 A , B , C A,B,C A,B,C
  2. 参数设计:选择预测时域 N p N_p Np、控制时域 N u N_u Nu,权重矩阵 Q , R , P f Q,R,P_f Q,R,Pf,约束边界;
  3. 预测模型离散化:推导预测矩阵 Φ , Θ \mathbf{\Phi},\mathbf{\Theta} Φ,Θ,构建优化问题;
  4. 求解器集成:选择QP求解器(如OSQP、quadprog),编写实时控制代码;
  5. 实验验证:在仿真平台(如MATLAB/Simulink、Python CasADi)测试,调整参数优化性能;
  6. 硬件部署:移植至嵌入式系统(如PLC、DSP),优化计算效率。

总结

MPC的核心优势在于“模型驱动的滚动优化+约束处理”,其理论体系涵盖控制理论(最优控制、稳定性分析)、优化理论(QP/NLP求解)、系统辨识(模型精确性)等多学科。从应用角度,需根据系统特性(线性/非线性、时变/时不变、确定性/随机性)选择合适的MPC变种,并结合工程实践优化实时性与鲁棒性。未来,随着人工智能与边缘计算技术的发展,MPC在复杂动态系统中的智能化、分布式应用将成为重要研究方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87293.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python初体验:从入门到实践

Python无疑是开启编程世界大门的绝佳钥匙。今天,就让我们一起踏上Python的学习之旅。 #01 编写第一个Python程序 环境搭建好之后,上节已经编写了第一个Python程序。现在就好比,我们已经准备好了厨房和食材,要开始做第一道菜了。启动Jupyter后,在Jupyter中新建一个文件,…

【数字后端】- 什么是AOI、OAI cell?它们后面数字的含义

是什么? 不管是在DC综合阶段,还是在PR阶段,尝尝会出现OAI、AOI组合逻辑单元的身影。因为它们可以通过巧妙的串联和并联晶体管非常高效地实现组合逻辑,因此在VLSI设计中非常常用。但是它们也是高pin密度单元,也可能会造…

MQTTServer服务器根据MQTTClient客户端已订阅的主题推送 分发消息

网络读卡器介绍:https://item.taobao.com/item.htm?ftt&id22173428704&spma21dvs.23580594.0.0.52de2c1bgK3bgZ 本示例使用了MQTTNet插件 C# MQTTNETServer 源码 using MQTTnet.Client.Receiving; using MQTTnet.Server; using MQTTnet; using System; u…

【seismic unix 合并两个su文件】

Seismic Unix简介 Seismic Unix(SU)是由科罗拉多矿业学院开发的开源地震数据处理软件包,基于Unix/Linux环境运行。它提供了一系列命令行工具,用于地震数据加载、处理、分析和可视化,支持SEG-Y格式和SU自定义格式。SU广…

【vmware虚拟机使用】安装vmware workstations17

安装vmware17 本章学习目标VMware虚拟机简介开始实操下载VMware workstation虚拟机安装虚拟机配置虚拟机网络 总结 本章学习目标 1.安装vmware workstation虚拟机 2.自定义配置虚拟机网络,避免网络冲突 VMware虚拟机简介 ​ VMware的核心是Hypervisor&#xff0…

QT6 源(147)模型视图架构里的表格窗体 QTableWidget 的范例代码举例,以及其条目 QTableWidgetItem 类型的源代码。

(1)先用一个简单的例子,学习一下本类里的成员函数的使用。生成如下图的界面,表格窗体与初始数据: 查看其 ui_widget . h 文件 ,里面的将是最标准的表格窗体的使用代码 : #ifndef UI_WIDGET_H #…

URL时间戳参数深度解析:缓存破坏与前端优化的前世今生

🔍 URL时间戳参数深度解析:缓存破坏与前端优化的前世今生 在日常的Web开发中,你是否注意到很多接口URL后面都会带有一个时间戳参数?比如 xxx/getMsg?_1751413509056。这个看似简单的参数背后,却隐藏着前端缓存策略、性…

分布式锁实现方式:基于Redis的分布式锁实现(Spring Boot + Redis)

Redis实现分布式锁的原理 Redis分布式锁基于其单线程执行命令的特性,通过原子操作实现多节点间的互斥访问。下面从原理、实现、问题及优化四个方面详细解析: 1.原子性与互斥性 Redis分布式锁的核心是原子性操作: 获取锁:使用SE…

linux升级降级内核实验

✅实验环境 vmware workstation 17 centos7.9 下载链接: https://vault.centos.org/7.9.2009/isos/x86_64/ ubuntu24.04 下载链接: https://old-releases.ubuntu.com/releases/24.04/ ✅实验目的 为了解决日常环境部署中某些驱动软件依赖特定内…

华为云开始了“开发者空间 AI Agent 开发”活动

引言 今天在华为云App上偶然看到一个新活动:Developer Events_Developer Alliance-Huawei Cloud。这个活动要求开发者可结合自己的工作实践,须在华为开发者空间内完成应用构建,应用构建类型和主题为AI Agent应用开发。 AI Agent平台 华为开…

2025.6.26总结

今天和我做同一业务得同事进行了工作交接,主要给我讲了怎么去执行自动化。包括性能自动化,API自动化,UI自动化,除了UI自动化要写些代码,其他跑得话也就在工具上配个参数,就是个搬砖得活,没太大技…

ip网络基础

交换机工作原理: 自主学习mac地址并成mac地址表 根据mac地址表再进行单播、广播转发 主机通信原理(局域网): 需要了解arp协议 拓扑图: 首先,我们观察icmp数据包,发现缺少目标mac地址&#…

AI大模型如何重塑软件开发流程?

文章目录 每日一句正能量前言一、AI大模型的定义与特点(一)定义(二)特点 二、AI大模型在软件开发中的应用场景(一)代码自动生成(二)智能测试(三)需求分析与设…

Kafka与RabbitMQ相比有什么优势?

大家好,我是锋哥。今天分享关于【Kafka与RabbitMQ相比有什么优势?】面试题。希望对大家有帮助; Kafka与RabbitMQ相比有什么优势? 超硬核AI学习资料,现在永久免费了! Kafka与RabbitMQ在消息队列的设计和应…

LeetCode 2090. 半径为 k 的子数组平均值

题目链接 2090. 半径为 k 的子数组平均值 题目描述 给定一个下标从 0 开始的整数数组 nums 和整数 k,构建并返回一个长度为 n 的数组 avgs,其中 avgs[i] 表示以下标 i 为中心、半径为 k 的子数组的平均值。具体规则如下: 无效位置&#x…

深入理解C++11原子操作:从内存模型到无锁编程

文章目录 C并发编程的新纪元内存模型基础:可见性与有序性数据竞争的根源happens-before关系memory_order枚举详解1. memory_order_relaxed2. memory_order_acquire/memory_order_release3. memory_order_seq_cst 原子操作详解std::atomic模板核心原子操作1. 读取与存…

DQL-1-基础查询

基础查询 DQL-1-基础查询 基础查询DQL - 介绍DQL - 语法DQL - 基本查询案例 DQL - 介绍 SQL 英文全称是 Data Query Language, 数据查询语言, 用来查询数据库中表的记录 查询关键字: SELECT DQL - 语法 SELECT 字段列表FROM 表名列表WHERE条件列表GROUP BY分组字段列表HAVI…

Prompt 精通之路(七)- 你的终极 AI 宝典:Prompt 精通之路系列汇总

你的终极 AI 宝典:Prompt 精通之路系列汇总 标签: #Prompt指南 #AI学习资源 #速查手册 #ChatGPT #系列总结 🚀 Prompt 精通之路:系列文章导航 第一篇:AI 时代的新语言:到底什么是 Prompt?为什么…

P27:RNN实现阿尔茨海默病诊断

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、过程解读 PyTorch 实战:阿尔茨海默病数据预测模型 今天,我将带大家一起探索一个基于 PyTorch 的深度学习小项目——利用 RNN 模…

HakcMyVM-Arroutada

信息搜集 主机发现 ┌──(kali㉿kali)-[~] └─$ nmap -sn 192.168.21.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-01 07:13 EDT Nmap scan report for 192.168.21.11 Host is up (0.00062s latency). MAC Address: 08:00:27:4E:CC:FB (PCS Systemtechnik/Or…