MPC模型预测控制器——数学推导
本文探讨了模型预测控制(MPC)的数学推导,重点介绍了最优控制的基本概念、代价函数的定义及其在单输入单输出和多输入多输出系统中的应用。MPC通过在线求解有限时间的优化问题来实现控制,包含状态估计、基于控制序列的优化和滚动优化控制三个步骤。文中还详细推导了代价函数的形式及其在不同控制系统中的应用。
type
status
date
slug
summary
tags
category
icon
password
模型控制基本内容
最优化控制和基本概念
参考链接:
最优控制的研究动机:在约束条件下达到最优的系统表现
Get the best performance within certain limitation
注:
所谓“最优”就是设计“惩罚函数”,把“惩罚函数”映射到“解空间”
最优不是唯一解
误差
举例:
下图是一个典型的单输入单输出系统(SISO):
假设该系统是一个轨迹跟踪控制系统,其中e为轨迹跟踪误差,u为控制输入,则
- 越小,说明轨迹追踪效果越好
- 越小,就表明该控制器的输入越小,能量消耗就越低
基于此,定义一个 Cost Function(目标/代价函数):
,控制器看重误差
,控制器看重输入
根据现实中不同的控制系统要求调节。而最优控制的目标就是使得代价函数J最小。
拓展到MIMO(多输入多输出)系统中:
其代价函数就可以写为:
其中Q、R分别为调节矩阵。
例如:
其中为权重系数。
关注哪个变量就把哪个变量对应的权重参数调大,另一个权重参数调小
MPC:模型预测
MPC作用机理描述为:在每一个采用时刻,根据获得的当前测量信息,在线求解一个有限时间开环优化问题,并将得到的控制序列的第一个元素作用于被控对象。在下一个采样时刻,重复上述过程:用新的测量值作为此时预测系统未来动态的初始条件,刷新优化问题并重新求解 。
即MPC算法包括三个步骤:
- 在k时刻估计/测量当前系统状态
- 基于来进行最优化
先找到曲线对应的控制区间和预测区间
上式中第三项为最终代价
对代价函数进行最优化,找到在预测区间内代价函数的最小值
- 只施加的控制量
该步骤被称为滚动优化控制(Receding Horizon Control):
预测的模型很难完美描述现实的系统,现实的系统可能会有扰动
当时间从k到k+1时,对应的控制区间和预测区间也向右移动一个时刻,然后重复进行第二步
最优化数学建模推导
参考链接
介绍最常用的一种最优化方法——二次规划
一般形式:
前面的部分是线性规划——最小二乘法:
Q是对角矩阵
举例
x为状态向量,u为输入向量
在k时刻
N称为预测空间(Predictive Horizon)
假设系统输出
参考值
误差
代价函数
上式可以理解为:
J=误差加权和+输入加权和+终端误差
系统的初始条件:
上述矩阵化为:
将代价函数展开
设
将上式展开之后合并可得
上式为新的代价函数
Loading...