第7章模型预测控制3MIMO.ppt_图文

第七章 模型预测控制算法 之二~5

杨根科 上海交通大学自动化系
2013年3月

专业课件

1

内容提要
? 概述 ? 动态矩阵控制---MIMO情形 ? 动态矩阵控制的进一步讨论 ? 模型算法控制 ? 应用

专业课件

2

单输入单输出情形

? 动态矩阵控制原理与算法
? 控制结构组成 ? 优化策略 ? 反馈校正 ? 算法

? 设计参数选择

? 采样周期

? 优化时域长度

? 控制时域程度

? 权矩阵

? 误差校正向量

专业课件

3

单输入单输出情形
? 动态矩阵控制算法
? 模型参数ai: 阶跃响应(关键模型) ? 控制系数di : 反馈校正(便利) (d1, d2, , dP ) ? (1,0, ,0)(ATQA ? R)?1 ATQ ? 校正参数hi : (人为确定?)

? 原始设计参数选择
? 采样周期:T ? 优化时域长度: P ? 控制时域程度: M ? 权矩阵: Q, R ? 误差校正向量, h

专业课件

4

多输入多输出情形
同样地要考虑: ? 动态矩阵控制原理与算法
? 预测控制结构 ? 优化策略 ? 反馈校正 ? 算法

专业课件

5

多输入多输出情形

? 控制结构组成

? 阶跃响应(或者脉冲响应)表述

? 预测公式的表述
1

u1 to y1 impulse-response

0.5

0

-0.5 0

0.2

0.4

0.6

0.8

0.10

1.2

1.4

1.6

专业课件

6

预测模型-期望结果!
? 单入单出:阶跃响应(或者脉冲响应)表述 ? 多入单出(单入多出):阶跃响应表述 ? 多入多出:阶跃响应(或者脉冲响应)表述

专业课件

7

优化指标形式-期望结果!

? 单入单出:阶跃响应(或者脉冲响应)表述

P

M

? ? min J (k) ? qi (W (k ? i) ? yM (k ? i | k))2 ? ri?u(k ? i ?1)2

i ?1

i ?1

? 多入多出:阶跃响应(或者脉冲响应)表述

LP

JM

? ? ? ? min J (k) ?

ql,i (Wl (k ? i) ? yl,M (k ? i | k ))2 ?

rj,i?u j (k ? i ?1)2

l ?1 i?1

j?1 i?1

专业课件

8

备注:DMC的预期结果!

? 优化控制——结果
? t=kT时刻解的最优控制增量序列 情形1:单入单出( 简单)

?uM (k) ? ( AT QA ? R)?1 AT Q ?[WP (k) ? yPo (k)], Column a ? Matrix A 情形2:单入多出( 简单)
L
? ?uM (k) ? ( AlT Ql Al ? R)?1 AlT Ql ?[Wl ,P (k) ? yl ,Po (k)], Column al ? Matrix Al l ?1
情形3:多入单出( 简单?)

?u j,M (k)

?

(S jT QS j

?

R

j

)?1

S

T j

Q

?

[WP

(k

)

?

yPo (k)],

j

? 1,..., J ,

Column s j ? Matrix S j

情形4:多入多出( 简单?)

L

? ?u j,M (k) ?

(Sl

,

T j

Ql

Sl

,

j

?

Rj

)?1

Sl ,

T j

Ql ,

j

?[Wl ,P (k) ? yl ,Po (k)],

j

? 1,..., J ,Column sl, j

? Matrix Sl, j

l ?1

专业课件

9

备注:记号有点乱,但不要乱!
? 单入单出 ? [a1,a2,…,aN]--- A,
? 多入多出 ? [S1,S2,…,SN] --- S, si, l,j for each pair of (input, output) ? Si =[si,l,j ](nY*nV)

专业课件

10

多输入多输出情形

? 阶跃响应(或者脉冲响应)表述
? 多输入:V1,…,VJ,…,Vnv ? 多输出:Y1,…,YL,…,Yny
? 下面不妨考虑单输出情形,Y
? 阶跃响应表述

sl , j,i

where sl,j,i is the ith step response coefficient relating the jth input to the lth
output.

sl, j ? [sl, j,1, sl, j,2 , , sl, j,N ]T

专业课件

11

多输入多输出情形
? 阶跃响应(或者脉冲响应)表述
? 阶跃响应表述

? Vj与Yl的阶跃响应
sl, j ? [sl, j,1, sl, j,2 , , sl, j,N ]T

专业课件

12

多输入多输出情形
? 阶跃响应(或者脉冲响应)获取
? 阶跃响应表述
sl, j ? [sl, j,1, sl, j,2 , , sl, j,N ]T
? 由于输入之间有耦合
? 如果希望直接测量阶跃响应向量单独让一个控制量变, 而同时要求其它控制量不变,是非常不现实的!、
? 采用统计回归的方法

专业课件

13

多输入多输出情形
? 阶跃响应(或者脉冲响应)获取
? 采用统计回归的方法
? 关于等间隙的时间点组成的输入输出采样数据

专业课件

14

多输入多输出情形—模型辩识

? Model Identification ?

? 输出:yl;输入:vj;阶跃响 应:[sl,j,i].
? The identification routines available in the MPC Toolbox are designed for multi-input single-output (MISO) systems. Based on a historical record of the
output yl(k) and the inputs v1(k); v2(k), . . . , vnv(k),

专业课件

15

多输入多输出情形—模型辩识

? 改写预测公式(step-response)

? ? For single-input singleoutput (SISO) systems.

?y(k) ?

N
?i ?v(k ? i)

i ?1

N
? y(k) ? si?v(k ? i) ? sNv(k ? N ?1) i ?1
N
? y(k ?1) ? si?v(k ?1? i) ? sNv(k ?1? N ?1) i ?1
N
? y(k ?1) ? si?1?v(k ? i) ? sNv(k ? N ?1) i?2
s0 ? 0

where ?y(k) ? y(k) ? y(k ?1) and
? i ? si ? si?1

专业课件

16

单入单出情形—改写预测公式

? 脉冲响应(impulse-response )

?i ? si ? si?1

? 预测公式
N
?y(k) ? ??i?v(k ? i) i ?1

where

?y(k ):输出增量;?v(k ):输入增量

专业课件

17

多入单出情形— 同样地改写预测公式

? 脉冲响应 ?

?i ? si ? si?1, value ? vector

? 预测公式 ?

N

N

?y(k) ? ??i?v(k ? i) ? ? ?v(k ? i)?i

i ?1

i ?1

where

?y(k ):输出增量;?v(k ):输入增量

专业课件

18

多输入单输出情形—模型辩识

? 再次回顾(SISO)

N

? 后项减前项!

?y(k) ? ??i?v(k ? i)

i ?1

where

? 遮挡 ?y(k) ? y(k) ? y(k ?1)

?v(k) ? [v(k) ? v(k ?1)]

and

?i ? si ? si?1

专业课件

19

多输入单输出情形—模型辩识

? For multi-input single-output (MISO) systems.

?N

? 都用行向量是为

y(k) ? si ?v(k ? i) ? sN v(k ? N ?1) 了描述方便

i ?1

y ? yl

si ? Si ? [sl,1,i , sl,2,i , , sl,nv ,i ]

v(k) ? V (k) ? ??v1(k), v2 (k), , vnv (k)??
N
? y(k) ? [?V (k ? i)]Si ' ?V (k ? N ?1)SN ' i ?1

专业课件

20

多输入单输出情形—脉冲响应 模型

? 同样地后项减前项 !

N

? y(k) ? [?V (k ? i)]Si ' ?V (k ? N ?1)SN '

i ?1

N

?y(k) ? ?[?V (k ? i)]?i '

i ?1

?y(k) ? y(k) ? y(k ?1)

?V (k) ? [V (k) ?V (k ?1)]

?i ? Si ? Si?1

专业课件

21

多输入单输出情形—脉冲响应 模型

? 对比
N
? ?y(k) ? ?i ?v(k ? i)
i ?1
where ?y(k) ? y(k) ? y(k ?1) and
? i ? si ? si?1

N
?y(k) ? ?[?V (k ? i)]?i ' i ?1
?y(k) ? y(k) ? y(k ?1)
?V (k) ? [V (k) ?V (k ?1)]
?i ? Si ? Si?1

专业课件

22

多输入单输出情形—模型辩识
? 已知条件

?y(k) ? y(k) ? y(k ?1)

V (k) ? ??v1(k), v2 (k), , vnv (k)?? ?V (k) ? V (k) ?V (k ?1)

专业课件

23

多输入单输出情形—模型辩识

? 待求参数-脉冲响应,阶跃响应模型

? ?S ?S N

i

i

? i?1

?y(k) ? [?V (k ? i)]?i '
i ?1

S0 ? 0

?y(k) ? y(k) ? y(k ?1)

?V (k) ? [V (k) ?V (k ?1)]

专业课件

24

多输入单输出情形—模型辩识

? 整理

N
?y(k) ? ?[?V (k ? i)]?i ' i ?1
? [?V (k ?1), , ?V (k ? i),

, ?V (k ? N )]? '

? ? [?1, , ?i , , ?N ] k ? 1, 2,..., N,???, N ?1, N ? 2, N ? 3,..., K

专业课件

25

多输入单输出情形—模型辩识

? 回顾 (行向量记号)

N
?y(k) ? ?[?V (k ? i)]?i ' i ?1 ? [?V (k ?1), , ?V (k ? i),
? ? [?1, , ?i , , ?N ] k ? N ?1, N ? 2,..., K

, ?V (k ? N )]? '

V (k) ? ??v1(k), v2 (k), , vnv (k)??

Si ? [sl,1,i , sl,2,i , , sl,nv ,i ]

?V (k) ? V (k) ?V (k ?1)

?i ? Si ? Si?1

专业课件

26

多输入单输出情形—辩识问题复 杂性估计

? 假设:4个输入,采样周期1Minute,

N=120, 1Day test.

N
?y(k) ? ?[?V (k ? i)]?i ' i ?1
? [?V (k ?1), , ?V (k ? i),

, ?V (k ? N )]? '

? ? [?1, , ?i , , ?N ], k ? N ?1, N ? 2,..., K

??y(N ?1) ?

???y(N ? 2)??

?

?

? ?V (N )1?4 ? ???V (N ?1)

???y(K

?1)

? ?

???y(K ) ??(60*24?120)?1

? ???V (K ?1)

?V (N ?1) ?V (N )
?V (K ? 2)

?V (1) ?

?V (2)

? ?

??1 ' ?

???2 '

? ?

??

?V

(K

?

? N )??(60*24?120)?480

???N ?1 ???N '

'?? ?? 480?1

专业课件

27

多输入单输出情形—辩识问题求 解
? Then the data has to be arranged into the form
? Y = X? ? where Y contains all the output information (Δy(k)) and X all
the input information (Δv(k)) appropriately arranged. ? is a vector including all the parameters to be estimated (si).
? 最小二乘法!解释表达式。很简单可以实现。 ? 但是注意有前提 ?(X’ X)是可逆的!

专业课件

28

多输入多输出情形—辩识问题解 决方案

? 可对每个输出单独计算(辨识模型参数)

专业课件

29

多输入单输出情形—辩识问题求 解

? Then the data has to be arranged into the form
? Y = X?
? where Y contains all the output information (Δy(k)) and X all the input information (Δv(k)) appropriately arranged. ? is a vector including all the parameters to be estimated (si).
? Matlab6.5, 7.1
? This rearrangement of the input and output information is handled by wrtreg.
? The parameters ? can be estimated via multivariable least squares regression (mlr) or partial least squares (plsr).
? Finally, the step response model is generated from the impulse response coefficients via imp2step.

专业课件

30

Model Identification
? 例子
? X, Y和?的维数?
? 如何组织数据
? Wrtreg: 重新组织数据 ? (mlr) 或者 (plsr)给出?. ? ? 是脉冲响应. ? Imp2step是阶跃响应.

专业课件

31

多输入单输出—模型辩识例子
Example: % TF from input 1 to output 1: g11=5.72exp(-
14s)/(60s+1) % TF from input 2 to output 1: g12=1.52exp(-
15s)/(25s+1) % Sampling time of 7 minutes was used. % data are generated from the following
transfer functions and random zero-mean noises.

专业课件

32

多输入单输出—模型辩识例子

? x=

? -0.2196 -0.1016

?

2.1748 -0.4326

? -1.7029 0.2855

? -0.4661 -0.6890

?

1.0890 0.7778

? -0.8254 0.8036

?

0.4043 -0.7060

? -0.9413 0.3754

?

0.9248 0.9252

? -0.4686 1.0559

? -0.5960 2.3203

? -0.8593 0.7554

? -0.0664 2.8426

?

2.0014 0.2246

? -1.1433 0.4884

?…

y=
-1.3094 -1.5583 -1.3166 -1.4053 0.0415 -0.9545 -1.3647 -0.4192 -0.3424 -0.4971 -0.7397 0.2165 …

专业课件

33

多输入单输出—模型辩识例子

load mlrdat

% Determine the standard deviations for input data using

% autosc.

[ax,mx,stdx]=autosc(x); %% 整理数据

% Scale the input data by their standard deviations only.

mx=0*mx;

sx=scal(x,mx,stdx);

%% 整理数据

% Put the input and output data in a form such that they can be used to determine the impulse response

% coefficients. 35 coefficients (n) are used.

n=35;

[xreg,yreg]=wrtreg(sx,y,n); %%整理数据 Y= X ? 的回归形式 %%注意xreg和yreg维数!

% Determine the impulse response coefficients via mlr.

% By specifying plotopt=2, two plots

%—plot of predicted output and actual output and plot of the output residual (or prediction error)—are produced.

ninput=2; plotopt=2;

%%% ninput=1 ?? 注意matlab数据的组织方法

[theta,yres]=mlr(xreg,yreg,ninput,plotopt);

专业课件

34

1 Model Identification (2/5)

%% Scale theta based on the standard deviations used in % scaling the input. theta=scal(theta,mx,stdx); %%脉冲响应
% Convert the impulse model to a step model to be used % in MPC design. % Sampling time of 7 minutes was used in determining % the impulse model. % Number of outputs (1 in this case) must be specified. nout=1; delt=7; model=imp2step(delt,nout,theta); %%阶跃响应 % % Plot the step response. plotstep(model)

专业课件

35

1 Model Identification (2/5)
model

专业课件

36

1 Model Identification (3/5)

专业课件

37

1 Model Identification (4/5)

专业课件

38

多输入多输出情形—模型辩识问 题解决方案
?Individual stepresponse models for a
distillation column(分 裂蒸馏塔) with
three inputs and four outputs. Each model represents the step response for 120 minutes.
?Reference: Hokanson and Gerstle (1992).

专业课件

39

多输入多输出情形—预测公式

?预测公式

? ~y 0 (k ? 1 | k ) ?

~y N 0 (k )

?

? ?

~y 0

(k

??

? 2 | k)

? ? ?

? ??

~y 0

(k

?

N

|

? k )??

? ~y1 (k ? 1 | k ) ?

~y N1 (k )

?

? ?

~y1

(k

??

? 2 | k)

? ? ?

? ??

~y1

(k

?

N

|

k )???

yN l ,1 (k )

?

y

l N

,0

(k

)

?

sl

?V

(k

)

? sl ?V (k ) ?

Nv j ?1

s

l j

?V

j

(k )

V (k) ? ??v1(k), v2 (k), , vnv (k)?? ?V (k) ? [V (k) ?V (k ?1)] ? ???v1(k), ?v2 (k), , ?vnv (k)??

?sl, j,1 ?

slj

?

? ?

sl

,

j

,2

?

? ? ?

??

??sl, j,N ??

Si ? [sl,1,i , sl,2,i , , sl,nv ,i ]

专业课件

40

多输入多输出情形—预测公式

? 1 预测模型 (基于线性化假设)

? 假设t=kT,(k+1)T,…, (k+M-1)T 有控制增量Δu(k), Δu(k+1), … ,Δu(k+M-1); 后面控制量不变

? 在采样时刻t=(k+1)T, (k+2)T,…, (k+P)T的值 (滚动)

? ~y0 (k ? 1 | k ) ?

~y P0 (k )

?

? ?

~y0

(

k

??

?

2

|

k)

? ? ?

? ??

~y0

(

k

?

P

|

? k )??

? ~yM (k ? 1 | k ) ?

~y PM

(k )

?

? ?

~y M

??

(k

?

2

|

k)

? ? ?

? ??

~y M

(k

?

P

|

? k )??

? yPl M (k ) ? yPl 0 (k ) ?

S Nv
j ?1

l M, j

? ?VM , j (k )

??V j (k )

?VM

,

j

(k )

?

? ?

?

? ?

;

? sl , j ,1

Sl M,j

?

? ?

sl

,

?

j ,2

0 sl , j ,1

0 0

0 0

???V j (k ? M ?1)??

? ??

sl

,

j

,

P

sl , j ,( P?1)

sl , j ,( P ?

专业课件

41

多输入多输出情形—优化策略
? 2 优化策略(误差小,代价小)

? ? Ny
min J (k) ?

WPl (k) ?

yPl M (k)

2 Ql

?

Nv

2
?VM , j (k) R j

l ?1

j ?1

? ? ? Ny
min J (k) ?

WPl (k) ?

yPl M (k)

2 Ql

?

Nv

2

Nv

?VM , j (k) R j ?

2
VM , j (k) ?V0, j S j

l ?1

j ?1

j ?1

专业课件

42

多输入多输出情形—优化策略

? 2 优化策略(误差小,代价小)

? 权矩阵:

?q1 ?

Q ? Diag[q1,

,

qP

]

?

? ?

q2

? ??

?

?r1

?

?

?,R ? ?

r2

?

?

qP

? ??

? ??

? 期望轨迹:WP (k) ? ?W (k ?1),...,W (k ? P)?T ? 优化控制变量:ΔVM,j(k)

? 期望指标(无约束问题) :误差小,控制量小,即

Ny P

Nv M

? ? ?? min J (k) ?

qil (W l (k ? i) ? yMl (k ? i | k))2 ?

ril ? ?Vj (k ? i ?1)2

l ?1 i?1

j?1 i?1

? ? or

Ny
min J (k) ?

WPl (k) ?

yPl M (k)

2 Ql

?

Nv

2
?VM , j (k ) Rl

l ?1

j ?1

专业课件

?

?

?

?

rM

? ??

43

多输入多输出情形—优化策略

? 此时,输出不能单独考虑!多输出之间需要折中

? 优化控制量:ΔVM,j(k)

Ny P

Nv M

? ? ? ? min J (k) ?

qil (W l (k ? i) ? yMl (k ? i | k))2 ?

ril ? ?Vj (k ? i ?1)2

l ?1 i?1

j?1 i?1

Ny

Nv

Nv

? ? ? min J (k) ?

[WPl (k) ? ( yPl 0 (k) ?

Sl M,j

? ?VM , j (k ))]T

? Ql

?[WPl (k)

?

(

y

l P

0

(k

)

?

SMl , j ? ?VM , j (k )) ? ?VM , j (k )T R j ? ?VM , j (k )

l ?1

j ?1

j ?1

?J (k) ? 0 ??VM , j (k )

? ? ?J (k)

Ny

?

??VM , j (k ) l?1

Nv

2(

S

l j

)T

Ql

?[WPl (k)

?

( yPl 0 (k )

?

S

l M

,

j

?

?VM

,

j

(k ))]

?

2R

j

?

?VM

,

j

(k

)

?

0

j ?1

Ny

? ?VM , j (k) ?

((SMl , j

)T

Ql

(S

l M

,

j

)

?

R

j )?1(SMl , j

)T

Ql

? [WPl

(k)

?

yPl 0 (k )]

l ?1

Note that

? ?x

( Ax) ? AT

专业课件

44

多输入多输出情形—优化策略
? 优化控制
? 这就是t=kT时刻解的最优控制增量序列
Ny
? ?VM , j (k) ? ((SMl , j )T Q(SMl , j ) ? R)?1(SMl , j )T Q ?[WPl (k) ? yPl 0 (k)] l ?1

专业课件

45

多输入多输出情形—反馈校正

3 反馈校正

? 原因

? 模型误差

? 非线性特性

? 干扰

?Vj (k) ? cT ?VM , j (k),
Ny

? 方法

? ?Vj (k) ? cT

((

S

l M

,

j

)T

Q(

S

l M

,

j

)

?

R) ?1 ( S Ml

,

j

)T

Q

? [WPl

(k)

?

yPl 0

(k )],

l ?1

? 动态调整

cT ? [1, 0,..., 0],

?

[d1l,

j

,

d

l 2,

j

,...,

d

l P,

j

]

?

cT

[(SMl

,

j

)T

Q(SMl

,

j

)

?

R]?1

(S

l M

,

j

)T

Q,

Ny

? ?Vj (k) ?

[d1l,

j

,

d

l 2,

j

,...,

d

l P

,

j

] ?[WPl

(k)

?

yPl 0

(k )]

l ?1

专业课件

46

多输入多输出情形—反馈校正

3 反馈校正(没有书写为MIMO样式?按照向量方式 处理!)
? 预测误差(一步控制?u(k)后的预测与实际值之差)
y(k ?1)
e(k ?1) ? y(k ?1) ? y1(k ?1| k)]

? 校正权系数
~ycor (k ? i | k ? 1) ? ~y1(k ? i | k ) ? hi e(k ? 1) i ? 1,2,..., P(N )

or

~ycor (k ? 1) ? ~y1 (k ) ? he(k ?专1业)课件

47

多输入多输出情形—反馈校正

3 反馈校正 (校正哪个量?)

? t=(k+1)T时刻误差校正后的系统在t=(k+i)T,

(i=1,2,…,N)的输出预测

?~ycor (k ?1 | k ?1) ?

~ycor (k ?1) ? ???

??;

??~ycor (k ? N | k ?1)??

?h1 ? h ? ??? ??;
??hN ??

h1 ? 1

? t=(k+1)T时刻误差校正后的系统,在t=(k+1+i)T,

(i=1,2,…,N)的输出预测

?0 1 0 ? 0 0?

? ?

0

0

1?0

0

? ?

~yN 0 (k ? 1) ? S~ycor (k ? 1);

?? ?

S

?

? ?

0

0

? 0

?? ?1

??

0

?; ?

?0 0 0 ? 0 1?

?

?

?? 0 0 0 专? 业课件0 1 ??

48

多输入多输出模型预测控制
4 计算公式 M,P Q,R,H S

专业课件

49

2 Unconstrained MPC (1/11)

? Example: (see mpctutst.m)

% Plant transfer function: g=5.72exp(-14s)/(60s+1)

% Disturbance transfer function: gd=1.52exp(-15s)/ (25s+1)

%% Build the step response models for a sampling period of 7.

delt1=0;

delay1=14;

num1=5.72;

den1=[60 1];

g=poly2tfd(num1,den1,delt1,delay1); %%本质是连续传函; poly2tfd的表示方式

? g = [ b0 b1 b2 ... ] (numerator coefficients)

?

| a0 a1 a2 ... | (denominator coefficients)

?

[ delt delay 0 ... ] (only first 2 elements used in this row)

tfinal=245;

delt2=7;

nout1=1;

plant=tfd2step(tfinal,delt2,nout1,g); %% 对象模型离散模型

delay2=15; num2=1.52; den2=[25 1]; gd=poly2tfd(num2,den2,delt1,delay2); %% 扰动连续模型

delt2=7; nout2=1; dplant=tfd2step(tfinal,delt2,nout2,gd);

%%扰动离散模型

专业课件

50

2 Unconstrained MPC (2/11)

% Calculate the MPC controller gain matrix for (case 1:不考虑控制增量权重!)

% No plant/model mismatch,

% Output Weight=1, Input Weight=0

% Input Horizon=5, Output Horizon=20

model=plant;

ywt=1; uwt=0;

M=5; P=20;

Kmpc1=mpccon(model,ywt,uwt,M,P);

%% d1,d2,d3,…dP!!! Mpccon的输出格式

% MPCCON: Calculate MPC controller gains for unconstrained case

% Simulate and plot response for unmeasured and measured

% step disturbance through dplant.

tend=245;

%% 仿真终止时间 35*7=245

r=[ ]; % a reference trajectory

usat=[ ]; % manipulated variable constraints

tfilter=[ ]; %time constants for noise filter

dmodel=[ ];

dstep=1;

%%%matrix of disturbances to the plant

[y1,u1]=mpcsim(plant,model,Kmpc1,tend,r,usat,tfilter,...

%% 参考轨迹=0 ?

dplant,dmodel,dstep);

dmodel=dplant; % measured disturbance [y2,u2]=mpcsim(plant,model,Kmpc1,tend,r,usat,tfilter,... dplant,dmodel,dstep);

%%考虑扰动时

plotall([y1,y2],[u1,u2],delt2);

专业课件

51

pause; % Perfect rejection for measured disturbance case.

2 Unconstrained MPC
(3/11)
Blue: unmeasured step disturbance Green: measured step disturbance

专业课件

52

2 Unconstrained MPC (4/11)

? % Calculate a new MPC controller gain matrix for (case 2:控制增量权重变化了!)

? % No plant/model mismatch,

? % Output Weight=1, Input Weight=10

? % Input Horizon=5, Output Horizon=20

? model=plant; ? ywt=1; uwt=10;

%% 控制有权重约束!! 控制量的约束被简化为无约束的表示方法

? M=5; P=20;

? Kmpc2 =mpccon(model,ywt,uwt,M,P); ? % Simulate and plot response for unmeasured and measured step disturbance through dplant. ? tend=245; ? r=[ ]; usat=[ ]; tfilter=[ ]; ? dmodel=[ ]; ? dstep=1;

? [y3,u3]=mpcsim(plant,model,Kmpc2,tend,r,usat,tfilter,...

? dplant,dmodel,dstep);

%%不考虑扰动时

? dmodel=dplant; % measured disturbance

? [y4,u4]=mpcsim(plant,model,Kmpc2,tend,r,usat,tfilter,...

? dplant,dmodel,dstep);

%%考虑扰动时

? plotall([y3,y4],[u3,u4],delt2);

? pause;

专业课件

53

2 Unconstrained MPC (5/11)
Blue: unmeasured ste disturbance Green: measured step disturbance

专业课件

54

2 Unconstrained MPC (6/11)

? % Simulate and plot response for unmeasured

? % step disturbance through dplant with uwt=0,

? Case 3:% with and without noise filtering.

? tend=245;

%% 245=35*7

? r=[ ]; usat=[ ]; dmodel=[ ]; %%%注意扰动未建模时!!! <---->Kmpc1

? dstep=1;

? tfilter=[ ]; ? [y5,u5]=mpcsim(plant,model,Kmpc1,tend,r,usat,tfilter,... ? dplant,dmodel,dstep);

? tfilter=20; % noise filtering time constant=20 ? [y6,u6]=mpcsim(plant,model,Kmpc1,tend,r,usat,tfilter,... ? dplant,dmodel,dstep);

? plotall([y5,y6],[u5,u6],delt2); ? pause;

专业课件

55

2 Unconstrained MPC (7/11)
Blue: without noise filtering Green: with noise filtering

专业课件

56

3 Constrained MPC (8/11)

? The control action can also be computed subject to hard constraints on the
manipulated variables and the outputs.
? Manipulated variable constraints:
? umin (l) ? u(k +l) ? umax (l)
? Manipulated variable rate constraints:
? |Δu(k + l)| ? Δumax (l)
? Output variable constraints:
? ymin (l) ? y(k + l|k) ? ymax (l)
? When hard constraints of this form are imposed, a quadratic program has to be solved at each time step to determine the control action and the resulting control law is generally nonlinear. The performance of such a control system has to be evaluated via simulation.

专业课件

57

3 Constrained MPC (9/11)

Example: (mpctutst.m) % Simulate and plot response for unmeasured step disturbance through dplant

% case 4: with and without input constraints.

% No plant/model mismatch,

% Output Weight = 1, Input Weight = 0

% Input Horizon = 5, Output Horizon = 20

% Minimum Constraint on Input = -0.4

% Maximum Constraint on Input = inf

% Delta Constraint on Input = 0.1

model = plant;

ywt = 1; uwt = 0;

M = 5; P = 20;

tend = 245;

r = 0;

ulim = [ ];

ylim = [ ]; tfilter = [ ]; dmodel = [ ];

%%%扰动未建模! 无滤波! t

dstep = 1;

[y9,u9] = cmpc(plant,model,ywt,uwt,M,P,tend,r,...ulim,ylim,tfilter,dplant,dmodel,dstep);

%%% 无控制约束

ulim = [ -0.4, inf, 0.1]; % impose constraints [y10,u10] = cmpc(plant,model,ywt,uwt,M,P,tend,r,...ulim,ylim,tfilter,dplant,dmodel,dstep); %%% 有控制约束

plotall([y9,y10],[u9,u10],delt2);

专业课件

58

3 Constrained MPC 10/11
Blue: without input constraints Green: with input constraints

专业课件

59

1 动态矩阵控制 (11/11)

? DMC的应用
? 实验温控回路

加热吹风机 可控硅驱动环节

绝热软管 测温环节

控制板

外设
D/A A/D 计算机

专业课件

60

1 动态矩阵控制 (2)
? DMC的应用
? 实验温控机制 ? 采用DMC的理由 ? 对象的阶跃响应 ? 参数的选取 ? 闭环阶跃响应,与温度梯形变化相应

专业课件

61


相关文档

模型预测控制ppt
第7章模型预测控制系统的计算机辅助设计-PPT精选文档
第5章模型预测控制-PPT精选文档
控制系统数学模型(PPT)
第7章 模型预测控制系统的计算机辅助设计 MATLAB控制系统设计与仿真 教学课件-PPT文档资料
内部控制模型(ppt_9)
2019年数据模型与决策第7章时序分析与动态预测.ppt
第二章 自动控制系统的数学模型.ppt
2019年第7章 模型预测控制系统的计算机辅助设计 MATLAB控制系统设计与仿真 教学课件.ppt
控制工程基础ppt课件第二章 数学模型.
学霸百科
电脑版 | 学霸百科