单输入单输出离散时间MPC解析

一、状态空间模型

模型的表示方式有几种:FIR(有限冲击响应)模型、阶跃响应模型、传递函数模型、状态空间模型。不同的模型表示方式,对应的预测控制算法不一样。基于FIR或阶跃响应模型的控制算法包括动态矩阵控制(DMC)以及二次型DMC。但是这种方法仅限于稳定对象,而且需要非常大的模型阶数和非常多的模型系数。传递函数模型能更简洁的描述过程动力学,适用于稳定和不稳定对象。基于传递函数的控制算法代表包括Peterka的预测控制算法和Clarke等人的广义预测控制算法。但是传递函数模型在处理多变量对象时效率较低。

1.1 嵌入积分器的状态空间模型

通过使用状态空间模型,用当前的状态变量来表示用于提前预测的当前信息。

1.1.1 单输入单输出系统

为了简单起见,假设一个单输出单输出系统状态空间方程如下:
在这里插入图片描述
其中u是控制变量或输入变量,y是输出量,xm是状态变量向量,假设维数为n1。这个模型的输入是u(k),所以需要修改模型,在其中嵌入积分器,让输入变成增量式。
通常来讲,系统输入会直接影响输出,如下:
在这里插入图片描述
由于在预测控制中,这一时刻的输入是用来预测未来的输出,所以这里假设输入不能直接影响输出,即Dm=0。
对上面的状态空间方程第一个方程进行差分运算,得到:
在这里插入图片描述
另外定义一种状态变量如下:
在这里插入图片描述
定义输入变量的差分如下:
在这里插入图片描述
状态空间差分方程可以写成:
在这里插入图片描述
新的状态变量向量如下:
在这里插入图片描述
将状态空间方程第二个方程进行差分得到:
在这里插入图片描述
两个差分方程放在一起,得到状态空间模型如下:
单输入单输出离散时间MPC解析_第1张图片
其中在这里插入图片描述
(A, B, C)称作增广模型,用于设计预测控制。

二、优化窗口内的预测控制

在建立了数学模型之后,预测控制系统设计的下一步是以未来的控制信号为可调变量计算预测的对象输出。预测是在一个优化时间窗口内表示的。假设当前时间点为ki,优化窗口的长度为Np,表示的是采样个数。

2.1 状态变量和输出变量的预测

假设在采样时刻ki,状态变量向量x(ki)可以通过测量得到,x(ki)可以反映控制对象的信息。未来时刻的控制变量为:
在这里插入图片描述
Nc是control horizon,Np是prediction horizon。Nc小于或等于Np。Np也是优化窗口的长度,把未来的状态变量表示为:
在这里插入图片描述
其中x(ki+m|ki) 表示的是在给定的当前信息x(ki)下,在ki+m时刻预测的状态变量。
在状态空间模型(A, B, C)中,预测的状态变量如下计算:
单输入单输出离散时间MPC解析_第2张图片
基于预测的状态变量值,得到预测的输出变量值如下:
单输入单输出离散时间MPC解析_第3张图片
所有预测的变量,都是根据当前状态x(ki)信息和未来控制变量△u(ki+j)得到的。
定义如下向量:
在这里插入图片描述
Y的维数是Np,△U的维数是Nc,将状态变量的预测和输出变量的预测方程联合起来得到:
单输入单输出离散时间MPC解析_第4张图片

2.2 优化

对于在ki时刻的给定信号r(ki),预测控制系统的目的是在预测区间内,尽可能的使预测输出接近给定信号。也就是需要找到一个最优控制向量△U,使得给定信号与预测输出的误差函数最小。
假设在优化窗口内,给定信号是定值,则给定信号向量为:
在这里插入图片描述
将代价函数定义为:
在这里插入图片描述
代价函数的第一项反映了给定信号和预测信号之间的误差,第二项是为了限制△U,不让△U太大。
其中
在这里插入图片描述
是对角矩阵:
在这里插入图片描述
其中rw是影响闭环性能的可调参数。如果rw=0,则说明不用考虑控制变量△U有多大,只考虑控制误差越小越好。如果rw取值比较大,则表示需要仔细考虑△U的大小。
J可以写成:
在这里插入图片描述
对J求一阶导得:
在这里插入图片描述
当J的一阶导为零时,可以求得控制变量的最优解:
在这里插入图片描述
其中,假设了海赛矩阵
在这里插入图片描述
存在。
单输入单输出离散时间MPC解析_第5张图片
控制变量的最优解可以写成:
在这里插入图片描述

三、滚动优化控制

优化的控制向量△U,包含了Nc个控制变量,但是通常只使用这一序列中的第一个变量,即△u(ki),忽略这一序列中其它变量。当下一可采样周期到来时,使用新测量的状态变量x(ki+1),重复以上优化过程,计算出新的控制变量序列,从而使优化窗口不断向前推进,每一采样时刻都进行实时预测。

3.1 闭环控制系统

在ki时刻,优化向量△U为:
在这里插入图片描述
其中
在这里插入图片描述
对应的是给定值得变化,而另一项则对应的是预测控制框架下的状态反馈控制。
因为在ki时刻只取控制向量的第一项作为控制变量,则
在这里插入图片描述
其中Ky是下式的第一项:
在这里插入图片描述
Kmpc是下式的第一行:
在这里插入图片描述
Kmpc是状态反馈控制增益向量。
将△u(ki)代入到增广模型中就得到闭环方程:
在这里插入图片描述
可以通过闭环特征方程来计算闭环特征值:
在这里插入图片描述

四、参考文献

[1] Liuping Wang. Model Predictive Control System Design and Implementation Using MATLAB.

你可能感兴趣的:(控制算法,机器人学,Electric,Machines,and,Control)