预测函数控制算法在单容液位定值控制中的应用
一、实验要求
1、针对单容液位定值控制系统设计预测函数控制算法
2、在 DCS 实验系统上实现算法,并获得有效的控制结果。
二、算法描述
预测函数控制是第三代预测控制算法的代表,属于模型预测控制的范
畴,因而仍具有 MPC 的三个基本特征,即:
(1)内部模型,PFC 采用状态变量模型来预测过程的未来输出值。
(2)参考轨迹,PFC 用指数律表征闭环系统期望的未来行为。
(3)误差修正,PFC 采用时域或频域外推方法来修正模型误差。
传统的 MPC 在用优化算法求解未来控制作用时,并未注意到控制量的
结构性质,所产生的控制输入的规律性不明确。PFC 将控制输入结构化,即
把每一时刻加入的控制输入看作是若干事先选定的基函数的线性组合。由于
在输入频谱有限的情况下,控制输入只能属于一组与设定值轨线和对象性质
有关的特定的函数族。因此,对于线性过程,这样的组合是可行的。基函数
的选取依赖于设定值轨线和对象的性质。这样,系统输出是上述基函数作用
于对象的响应(当过程模型已知时,可事先算出)的加权组合。在线优化的目
的只是为了求出少量的线性加权系数,进而算出未来的控制输入。在线计算
工作量可以大大减少。
以下将从基函数、预测模型和优化计算等几方面对 PFC 算法进行描述。
2.1 基函数的概念
传统的预测控制算法在用于快速随动系统时,虽然也能导致满意的输出
响应,但却可能伴随着规律不明的控制输入。PFC 则把控制输入的结构视为
确保控制系统性能的关键。
在 PFC 中,新加入的控制作用可表示为若干已知基函数 fn(n=1,…,N)
的线性组合:
(
ku
i
)
N
n
n
1
)(
ig
n
i=0,…,P-1
(1)
式中:
fn(n=1,…,N)——基函数;
μn——线性组合系数;
fn(i)——基函数在 t=iT 时的值;
P——预测优化时域长度。
基函数的选取依赖于被控对象的性质和期望轨线的要求,例如,可取阶跃、
斜坡、指数函数等。对于已选定的基函数 fn,可离线算出在其作用下对象的输出
响应(模型函数输出)gn(i)。
2.2 预测模型
预测模型,通常指对象的脉冲响应或阶跃响应。利用这一模型,可由系
统的输入量直接预测其输出。以单输入—单输出系统为例,模型预测值由模
型自由输出和模型函数输出两部分组成:
a.模型自由输出
yM(k)=F2(x(k))
i=1,…,P
(2)
式中:
x(k)——k 时刻已知的信息,包括过去时刻的控制量和输出量以及对未来
控制输入的已知假设
F2——对象预测模型的数学表达式;
“自由”是指 k 时刻的输出预测是在未考虑该时刻新加入的控制作用前做
出的。
b.模型函数输出
)(
i
N
n
n
1
)(
ig
n
i=1,…,P
(3)
它表示在 k 时刻起加入控制作用 u(k+i)后新增加的模型响应。这是 PFC
与一般预测控制算法的不同之处。新加入的控制输入不是在时间上各自独立
的量,而是基函数的线性组合。因此,其引起的输出变化是不同基函数的叠
加,而非不同时间点控制效应的叠加。式(3)中 gn(i)已知,所未知的只是线性
组合系数μn。
上述预测模型是针对渐近稳定对象的。对于非自衡的被控对象,可通过
常规控制方法,例如:PID 调节器,首先使其稳定,然后再建立广义对象的
预测模型。
2.3 误差预测及补偿
对象与模型输出之间的误差被送至一预测器,对未来优化时域中的误差
进行预测,并作为前馈量引入参考轨迹中加以补偿。误差预测的方法有多种。
这里,取未来的预测误差 e(k+i)为:
)(
k
)(
ky
(
ke
(4)
)
i
y
M
其中,yM(k)——k 时刻的模型输出。
在此基础上,可得到误差补偿后的预测输出:
)
i
)(
i
(
ke
i
)
i=1,…,P
(5)
(
)
(
i
M
k
y
k
y
P
2.4 优化计算
取未来的参考轨迹 yr(k+i)为:
),
(
kyr
)
i
(
kckyF
1
((
i
))
i=1,…,P
(6)
其中,c(k+i)——未来 k+i 时刻的设定值。
一种常见的参考轨迹形式是:
(
ky
r
i
)
k
)(
ky
1(
k
()
kc
i
)
(7)
优化的目标就是要寻找一组系数μ1,…,μN,使整个优化时域内的预测
输出尽可能接近参考轨迹,如果把 k 时刻的已知量分别记为:
Y
(
ky
r
)
i
y
M
(
k
)
i
(
ke
i
)
i=1,…,P
(8)
Ω={
)(
i
N
n
n
1
)(
ig
n
,i=1,…,P}
(9)
则优化性能指标一般可表示为:
如果取二次型性能指标有:
min D(Y,Ω)
min{
[
(
ky
r
)
i
y
p
(
k
i
2
})]
P
i
1
(10)
(11)
这是一个μ1,…,μN 的参数优化问题。由此解出μn(n=1,…,N)后,即
可综合出 k 时刻应加入的函数输入 u(k+i)(i=0,…,P-1)。其中,除 u(k)可
作为新加入的控制作用付诸实施外,其余的量可叠加到对未来控制量的已
知假设上作为下一步计算模型自由输出的基础。这一优化过程可通过滚动
方式在线进行,在每一时刻求取新加入的控制作用。
三、算法编制
3.1 一般一阶过程的预测函数控制
一阶过程的传递函数为:
)(
)(
sMsP
)(
sy
)(
su
k
1
Ts
(12)
式中:
P、M——过程及其模型;
u、y——过程的输入和输出;
K、T——过程的稳态增益和时间常数;
Km、Tm——当过程与模型有差时,表示模型的参数。
在采样时间为 TS 的条件下将其离散化,得到差分方程
)(
ky
(
ky
)1
K
1(
()
ku
)1
(13)
这里,
/
TTse
。对象的输出由两部分组成,即自由输出响应α.y(k-1)
及函数输出响应 K.(1-α).u(k-1)。
为 适 应 多 步 预 测 控 制 算 法 的 要 求 , 当 预 测 步 长 取 为 H , 并 且 有
u(k)=u(k+1)=…=u(k+H-1)的假定时,根据预测模型,可由当前模型输出值 ym(k)
和控制输入 u(k)计算出未来 H 步过程输出的预测值:
y
m
(
Hk
)
H
m
y
m
)(
k
K
1(
H
m
m
)()
ku
(14)
阶跃变化设定值情况
在一阶对象和设定值作阶跃变化的情况下,只需选定一个基函数,即阶
跃函数。假定参考轨迹采用时间常数为 Tr 的一阶曲线,则轨迹的值为:
Hky
r
(
)
y
p
)(
k
(
c
y
p
(
k
1))[
exp(
H
s
T
T
r
)]
令
exp(
s TT
r
)
,将式(15)化为:
Hky
r
(
)
H
y
p
)(
k
1(
H
)
c
(15)
(16)
根据单值预测控制的思想,并引入误差反馈校正,以保证系统具有较
强的鲁棒性。这样,最优化指标为 J=min(ym(k+H)+e(k)-yr(k+H))2。即:
y
m
(
)(
keHk
)
Hky
r
(
)
这里,e(k)为第 k 步模型输出值与实际过程值的偏差:
)(
ke
y
p
)(
k
y
m
)(
k
将式(14)、(16)、(18)代入(17)式中,化简之后,可得:
(17)
(18)
(
p
(
c
y
k
))
)(
ku
H
)
)(
k
y
m
H
1(
)
m
3.2 单容液位定值控制系统的预测函数控制算法
由实验一,根据单容液位特性曲线的测定,得单容液位定值系统传递函数作
1(
K
1(
H
m
(19)
)
m
为预测函数模型。
)(
sM
)(
sy
)(
su
k
Ts
1
式中:k=200,T=144
200
100
k
Ts
(2
)1
144
100
s
(20)
)1
归一化处理得,
)(
sGM
/)(
sy
/)(
su
取参数 Ts=1,Tr=0.5,H=5
根据式(13),(19)进行模型输出 y(k)和控制输入 u(k)的计算,其中
/
TTse
,
Km=100,T=144
exp(
s TT
r
)
均可离线算出,并在 DCS 系统中编制算法如下:
)(
ky
.0
9931
(
ky
.0)1
694
(
ku
)1
.0
99994
(
c
y
)(
ku
p
))
(
k
44.3
.0
0344
y
)(
k
m
.0
2905
(
c
y
(
k
))
01.0
y
)(
k
m
p