现代控制理论——专题 模型预测控制【上】

一、MPC概述

1、MPC是什么

模型预测控制(MPC)是一种在每一个采样瞬间,通过求解一个有限时域的开环最优控制问题,来获得当前控制动作的算法,它与传统控制算法的一个根本不同点,在于它不依赖于预先计算好的控制律,而是根据系统的最新状态,实时地、滚动地计算出最优的控制动作

2、MPC的三大要素

(1)本节先以小车运动的示例作为引入,如下图所示,一个小车在一维轴上做直线运动,它有一个期望的运动轨迹(某一时刻在某一点上)。

(2)假设当前时刻小车已经偏离了运动轨迹,结合小车的运动模型(可能是物理公式,也可能是神经网络),MPC能够根据系统输入和系统状态预测小车后续的运动轨迹,输入量偏大或偏小,都会导致小车无法回到期望的运动轨迹,此步的关键要素为"预测模型"。

(3)MPC能够在当前时刻预测未来有限长的一段时间(预测时域)内系统的输出,寻找能使预设性能目标达到最优的那一系列未来控制动作,不过,这套最优计划并不会被全部执行,只会执行其中的第一步,然后在下一个采样时刻,系统会基于最新的反馈信息,再次进行新一轮的"向前看"和优化,此步的关键要素为"滚动优化"。

(4)实际使用中,由预测模型得到的"理想"输出,和系统实际测量值之间必然存在由模型误差、外部干扰等原因造成的偏差,为了解决这个问题,MPC需要依靠一系列测量值来估计系统当前的、不能直接测量的内部状态(如速度、温度分布等),作为上述"滚动优化"环节的起点,此步的关键要素为"反馈校正"。

二、最优化控制

1、最优化控制的概念

(1)首先考虑一个单输入单输出系统,如下所示

控制器的目标是根据系统输出和参考信号求得系统输入,使得系统输出向参考信号逼近

(2)将以上分析推广至多输入多输出系统,如下所示

2、MPC中的最优化控制

(1)MPC多用于数位控制,因此一般需要先将系统离散化,以下为离散状态空间方程的一般形式

(2)MPC的工作步骤:

3、最优化控制模型的数学推导

(1)MPC有多种方法实施最优化控制,这里介绍最常用的一种方法------二次规划。

(2)为了方便书写和推导,做出如下定义和假设:

(3)代价函数变换:

相关推荐
Robot_Nav7 天前
DPMPC-Planner:复杂静态环境与动态障碍物下的无人机实时轨迹规划框架
c++·无人机·mpc
ergevv7 天前
从阿克曼几何到 QP 求解器输入:自动驾驶横向 MPC 的完整数学链条(1)
自动驾驶·控制·mpc
?Anita Zhang17 天前
隐私计算平台技术选型指南:核心能力对比与工程实践建议
数据安全·联邦学习·隐私计算·技术选型·mpc
白云千载尽3 个月前
交换空间扩容与删除、hugginface更换默认目录、ffmpeg视频处理、清理空间
python·ffmpeg·控制·mpc·navsim
白云千载尽3 个月前
LQR与MPC.入门知识与实验
python·控制·mpc·lqr
沛沛老爹4 个月前
MCP 实战:打造股票分析助手系统
java·rag·企业开发·mpc·发展趋势·web转型
BestOrNothing_20155 个月前
运动学模型推导 + 离散化 + 工程化版本(适用于前方单舵轮 AGV / 自动驾驶 / MPC)
自动驾驶·mpc·模型预测控制·运动学模型·转向小车
BestOrNothing_20155 个月前
MPC模型预测控制原理全解析:从状态预测、矩阵推导到QP求解与滚动优化(含完整手推过程)
自动驾驶·mpc·控制算法·轨迹跟踪·qp二次规划
kuan_li_lyg1 年前
MATLAB - 小车倒立摆的非线性模型预测控制(NMPC)
开发语言·算法·matlab·机器人·mpc·模型预测控制·倒立摆