MPC模型预测控制器——控制器建模+MATLAB编程

本文介绍了MPC(模型预测控制)模型的建模和MATLAB编程,包括控制模型的矩阵表示、M和C矩阵的构建、二次规划模式的成本函数,以及相关的MATLAB代码示例和单元测试。重点在于如何实现MPC控制器并进行优化计算。

type
status
date
slug
summary
tags
category
icon
password
参考如下链接:

建模例子详解

参考链接:
对于以下控制模型:
注:需要注意对应的输入矩阵和状态矩阵每个矩阵的维度
x矩阵:n*1
A矩阵:n*n
B矩阵:n*p
u矩阵:p*1
写成矩阵格式:
此处的可以理解为误差项
矩阵的维度
U(k) → N*P*1
X(k) → (N+1)n*1
对于MPC矩阵:
矩阵的维度
M → (N+1)*n*n
X(k) → (N+1)*n*N*P
计算出M矩阵和C矩阵(此处省略计算过程)
之后构建二次规划模式(cost function)
Q、R、F表示对应输入输出的权重系数矩阵
矩阵的维度
Q → n*n
R → 1*1
F → n*n
Q矩阵影响x变量的相关性,R矩阵跟输入相关,F矩阵跟终值相关
与系统对应的终值状态相关
简化上面的 cost function 矩阵
该矩阵只包含了输入项和已知的初始输入项x(k)
表示上面式子中的Q和R矩阵的增广形式
G、H、E矩阵跟上面的M和C矩阵相关

MATLAB代码详解

函数体

main.m
MPC_Zero_Ref.m
 

输入举例

 
Loading...