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

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

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

专业课件

1

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

专业课件

2

1 动态矩阵控制的进一步讨论()

? 时滞对象的动态矩阵控制 ? 带有前馈的动态矩阵控制 ? 动态矩阵---PID串级控制 ? 有约束的动态矩阵控制算法 ? 多变量的动态矩阵控制

专业课件

3

1 时滞对象的动态矩阵控制 ()

? PID控制算法:误差校正;补救措施! ? DMC:预测控制,现在的控制作用对未
来的所有影响很明白;所以现在施加的 控制已经考虑了对未来所有状态的作用。
? 时滞问题,已经解决!
? 7.3.1不要看了。 ? 但可以想到DMC公式特殊!

专业课件

4

2 带有前馈的动态矩阵控制 ()

? 当系统受到干扰
? 对系统很了解:知道输入输出传递函数,知 道扰动v与输出y的传递函数,Gv…。
? 构造一个补偿环节可以抵消扰动的作用。

v Gv(s)

Gr(s)

+ + Go(s)

Y (s) V (s)

?

Gv

(s) ?

Gr

(s)Go

(s)

Gv (s) ? Gr (s)Go (s) ? 0 Gr (s) ? ?Gv (s) / Go (s)

专业课件

5

2 带有前馈的动态矩阵控制 ()

专业课件

6

2 带有前馈的动态矩阵控制 ()

专业课件

7

2 带有前馈的动态矩阵控制 ()

? Some applications have unmeasured disturbances only. A measured disturbance, v, is another independent input affecting . In contrast to d, the controller receives the measured v directly. This allows the controller to compensate for v's impact on immediately rather than waiting until the effect appears in the y measurement.
? This is called feedforward control. ? In other words, an MPC Toolbox design always
provides feeback compensation for unmeasured disturbances and feedforward compensation for any measured disturbance.

专业课件

8

2 带有前馈的动态矩阵控制 ()
? The MPC Toolbox design requires a model of the impact that v and u have on yba(symbolically, v->yba and u->yba). It uses this plant model to calculate the u adjustments needed to keep yba at its setpoint.
? If the plant model is accurate, the plant responds quickly to adjustments in u, and no constraints are encountered, feedforward compensation can counteract the impact of v perfectly.
? In reality, model imperfections, physical limitations, and unmeasured disturbances cause the y to deviate from its setpoint. Therefore, the MPC Toolbox design includes a disturbance model (d->yba ) to estimate d and predict its impact on yba . It then uses its u->yba model to calculate appropriate adjustments (feedback). This calculation also considers the known constraints.

专业课件

9

2 带有前馈的动态矩阵控制()

? 必要性

? PID控制算法:误差校正;补救措施!

? DMC:预测控制;通过现在施加的控制消除 现在的扰动作用。

? 方法------可测扰动<->控制量之一

? 已经解决!测定输出量对可测干扰的的阶跃

响应序列{bk}, k=1,2,…,N; t=kT采样时刻

?~y补PM充(k干) ?扰~y增P0量(k)的?相A ?应?为uMb(=k[)b?1bb?2?,…v(k,b) N]T

专业课件

10

?v(k) ? v(k) ? v(k ?1)

2 带有前馈的动态矩阵控制()

? 最优控制

yPM (k) ? yP0 (k) ? A ? ?uM (k) ? b ? ?v(k) 指标函数=?
?uM (k) ? ( ATQA ? R)?1 ATQ[wp (k) ? yP0 (k) ? b ? ?v(k)} wp (k) ? 参考轨迹 yP0 (k) ? 输出预测(反馈校正) b ? ?v(k) ? 前馈校正
? 单步及时控制增量为

?u(k) ? (1,0,...,0)?uM (k) ? d T [wp (k) ? ~yP0 (k) ? b ? ?v(k)]

d T ? (1,0,...,0)(AT QA ? R)?专1 A业T课Q件

11

2 带有前馈的动态矩阵控制()

? 如果未来的干扰已知,则干扰全部可以补偿。
yPM (k) 最? 优yP控0 (制k) ? A ? ?uM (k) ? B ? ?vP (k)

? b1 ?

B

?

? ?

???bp

0?

?

??v(k )

?

? ?

,

?vP

(k

)

?

? ?

? ?

b1

? ??

???v(k ? P ?1)??

?u(k) ? d T [wp (k) ? yP0 (k专)业课?件B ? ?vP (k)]

12

3 动态矩阵---PID串级控制()
? 问题提出
? PID的优点:响应快,可以补偿(未知起因) 误差;缺点:无法补偿时滞等
? DMC优点:补偿时滞等;缺点:响应慢,因 为先进控制算法时间开销大
? 构造一个 DMC---PID 双层补偿结构

专业课件

13

3 动态矩阵---PID串级控制()

? DMC---PID 双层串级控制结构

二次干扰

一次干扰

w
DMC

+ -

PID

+

+

对象

G2(s)

+ +

G1(s)

广义对象

专业课件

14

3 动态矩阵---PID串级控制()
? DMC---PID 双层串级控制结 构..\material\串级控制.pdf

专业课件

15

3 动态矩阵---PID串级控制()

? 设计要点

? 副回路设计
? 副对象G2(s)含主要干扰 ? 小时间滞后,或小时间常数 ? 较高采样频率的数字PID实现
? 主回路设计
? 主对象G1(s)仅仅是主回路广义对象的一部分 ? 大时间滞后 ? 广义对象是副回路控制后的对象 ? 阶跃相应序列是广义对象 ? 较低采样频率的DMC实现

专业课件

16

3 DMC---PID串级控制应用 合成氨变换工段 ()

? 高温触煤 ? CO+H2O = CO2+H2
DMC

PID

蒸气





CO<3%























半水煤气











碳化 变换气

专业课件

17

4 有约束的动态矩阵控制算法()
? 问题提出
? 控制量、输出、控制量增量的约束:

umin ? u ? umax ymin ? y ? ymax ?umin ? ?u ? ?umax

专业课件

18

4 有约束的动态矩阵控制算法()

? 问题提出

? 控制量、输出、控制量增量的约束:

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

i ?1

i ?1

Subject to

~yPM (k) ? ~yP0 (k) ? A ? ?uM (k)
umin ? u(k ) ? umax ymin ? y(k ?1 | k ) ? ymax ?umin ? ?u(k) ? ?umax

专业课件

19

4 有约束的动态矩阵控制算法()
? Matlab算法
? 示例:mpctutst.m ? 关键函数:
? [y,u] = cmpc(plant,model,ywt,uwt,M,P,tend,r,...ulim,ylim,tfilter,d plant,dmodel,dstep);
? 上次课程例子
? Shell 的应用

专业课件

20

5 多变量的动态矩阵控制()

? 方法类似

Δ u1

a11 +
+ a12

Δ u2

a21
a22 +
+

Δ y1 a1,1 ? [a1,1,1, a1,1,2 , , a1,1,N ]T

a1,2 ? [a1,2,1, a1,2,2 , a2,1 ? [a2,1,1, a2,1,2 ,

, a1,2,N ]T , a2,1,N ]T

a2,2 ? [a2,2,1, a2,2,2 , , a2,2,N ]

Δ y2

专业课件

21

5 多变量的动态矩阵控制()

y1,M (k ?1| k) ? y1,0 (k ?1| k) ? a1,1,1 ? ?u1(k) ? a2,1,1 ? ?u2 (k) y1,M (k ? 2 | k) ? y1,0 (k ? 2 | k) ? a1,1,2 ? ?u1(k) ? a1,1,1 ? ?u1(k ?1) ? a2,1,2 ? ?u2 (k) ? a2,1,1 ? ?u2 (k ?1)

y1,M (k ? P | k) ? y1,0 (k ? P | k) ? a1,1,P ? ?u1(k) ? a1,1,P?1 ? ?u1(k ?1) ? ? a1,1,P?M ?1 ? ?u1(k ? M ?1) ?a2,1,P ? ?u2 (k ) ? a2,1,P?1 ? ?u2 (k ?1) ? ? a2,1,P?M ?1 ? ?u2 (k ? M ?1)
oyr1,PM (k ) ? y1,P0 (k ) ? A1,1 ? ?u1,M (k ) ? A2,1 ? ?u2,M (k )

? a1,1,1

0

0

A1,1

?

? ?

a1,1,2

?

a1,1,1

0

0?

? a2,1,1

0

0

0

? ? ?

,

A2,1

?

? ?

a2,1,2

?

a2,1,1

0

0?

0

? ?

?

??a1,1,P a1,1,P?1

a ?? 1,1,P?M ?1 P?M

??a2,1,P a2,1,P?1

a ?? 2,1,P?M ?1 P?M

专业课件

22

5 多变量的动态矩阵控制()
? 同理,第二个变量为
y2,M (k ?1| k ) ? y2,0 (k ?1| k ) ? a1,2,1 ? ?u1(k ) ? a2,2,1 ? ?u2 (k ) y2,M (k ? 2 | k ) ? y2,0 (k ? 2 | k ) ? a1,2,2 ? ?u1(k ) ? a1,2,1 ? ?u1(k ?1) ? a2,2,2 ? ?u2 (k ) ? a22,1 ? ?u2 (k ?1

y2,M (k ? P | k ) ? y2,0 (k ? P | k ) ? a1,2,P ? ?u1(k ) ? a1,2,P?1 ? ?u1(k ?1) ? a1,2,P?M ?1 ? ?u1(k ? M ?1)
? a2,2,P ? ?u2 (k ) ? a2,2,P?1 ? ?u2 (k ?1) ? a2,2,P?M ?1 ? ?u2 (k ? M ?1
or ~y2,PM (k) ? ~y2,P0 (k) ? A12 ? ?u1,M (k) ? A22 ? ?u2,M (k)

? a1,2,1

0

0

A12

?

? ?

a1,2,2

?

a1,2,1

0

0?

? a2,2,1

0

0

0

? ? ?

,

A22

?

? ?

a2,2,2

?

a2,2,1

0

0?

0

? ?

?

??a1,2,P a1,2,P?1

a ?? 1,2,P?M ?1 P?M

??a2,2,P a2,2,P?1

a ?? 2,2,P?M ?1 P?M

专业课件

23

5 多变量的动态矩阵控制()

优化指标

min J (k) ?

W1P (k) ? ~y1,PM (k)

2
?
Q1

W2P (k) ? ~y2,PM (k)

2 Q2

?

?u1,M (k)

2
?
R1

?u2,M (k)

2 R2

最优控制增量

??u1,M ????u 2,M

(k) ? (k )???

?

(

AT

QA

?

R)

?1

AT

Q

?

?[W1,P (k) ?

? ??[W2,P

(k

)

?

~y1,Po (k)] ? ~y2,Po (k)]???

其中,

A

?

? ? ?

A1,1 A2,1

A1,2 A2,2

? ? ?

,

Q

?

?Q1

? ?

0

0 Q2

? ? ?

,

R

?

? R1

? ?

0

0?

R

2

? ?

及时控制量为

?u1 (k) ? [d1T1, d1T2 ]????[[WW12,,PP((kk))?? ~y~y12,P,Poo((kk))]]????,

?u

2

(k

)

?

[d

T 21

,

d

T 22

]????[[WW12,,PP((kk))??

~y1,Po (k)] ? ~y2,Po (k)]???

[d1T1, d1T2 ] ? [1,0,...,0,0,0,...,0](AT QA ? R) ?1 AT Q;

[d

T 21

,

d

T 22

]

?

[0,0,...,0,1,0,...,0](

AT

QA

?

R)

?1

AT

Q

专业课件

24

5 多变量的动态矩阵控制()

最优控制增量

??u1,M ? ???u 2,M

(k) ? (k )???

?

(

AT

QA

?

R)

?1

AT

Q

?

?[W1,P ? ??[W2,P

(k) (k)

? ?

~y1,Po (k)] ? ~y2,Po (k)]???

及时控制量为

??u1 (k ) ???u2 (k )

? ? ?

?

?10 ??00

0 0

00 10

0? 0??

(

AT

QA

?

R)?1

AT

Q

?

?[W1,P (k) ??[W2,P (k)

? ?

y1,Po (k)] ? y2,Po (k)]??

专业课件

25

5 多变量的动态矩阵控制()
? 校正预测输出
e1(k ?1) ? y1(k ?1) ? ~y1,1(k ?1| k) e2 (k ?1) ? y2 (k ?1) ? ~y2,1(k ?1| k)
?1)P?1 ? y1,P (k)P?1 ? (h11)P?1e1(k ?1)1?1 ? (h21)P?1e2 (k ? ?1)P?1 ? y2,P (k)P?1 ? (h12 )P?1e1(k ?1)1?1 ? (h22 )P?1e2 (k

专业课件

26

5 多变量的动态矩阵控制()

?0 1

0?

y1,P

?
(k

校正预测输? 出

? 1) P?1

?

? ?0

?

0

? 1?

y1,cor

(k

? 1) P?1;

??0

0 1??

?0 1

?

y2,P (k

? 1) P?1

?

? ?0

??0

0?

?

0

? 1?

y2,cor

(k

? 1) P?1

0 1 专业课件

? ?

27

5 多变量的动态矩阵控制()

? 算法 ? (1) 离线计算

?

N;

?

阶跃响应系数 a1,a2,…,aN

?

优化校正参数 h1,h2,…,hP

?

优化控制参数 d1,d2,…,dM

? (2) 初始化

?

初始值

? (3) 在线计算

?

Y(k)更新规律;优化控制量Δu (k),ΔuM(k)

专业课件

28

5 多变量的动态矩阵控制()
? 图7-20 ( p.212 )

专业课件

29

5 多变量的动态矩阵控制()

While MPC is suitable for almost any kind of problem, it displays its main strength
when applied to problems with:
? A large number of manipulated and controlled variables
? Constraints imposed on both the manipulated and controlled variables
? Changing control objectives and/or equipment (sensor/actuator) failure
? Time delays

专业课件

30

5 多变量的动态矩阵控制()
? {0, s1, s2, . . . , sn, sn, . . .}
? where sl,m,i is the ith step response coefficient relating the mth input to the lth output.

专业课件

31

5 多变量的动态矩阵控制()
? The MPC Toolbox stores step response models in the following format:

专业课件

32

3 动态矩阵---PID串级控制(例 子补充)

? 设计要点

? 副回路设计
? 副对象G2(s)含主要干扰 ? 小时间滞后,或小时间常数 ? 较高采样频率的数字PID实现
? 主回路设计
? 主对象G1(s)仅仅是主回路广义对象的一部分 ? 大时间滞后 ? 广义对象是副回路控制后的对象 ? 阶跃相应序列是广义对象 ? 较低采样频率的DMC实现

专业课件

33

3 动态矩阵---PID串级控制(例 子)

? 电厂锅炉出口过热蒸汽温度( 主汽温) 是 锅炉主要运行参数之一,

? 主汽温偏高, 会使得过热器和汽轮机高压 缸承受过高的热应力而损坏, 威胁机组的 运行安全;

? 主汽温偏低又会使蒸汽含水量增加, 从而 缩短汽轮机叶片的使用寿命。因此, 必须 将主汽温严格控制在设定值附近

?。

专业课件

34

3 动态矩阵---PID串级控制(例 子)
? PID 控制是一种经典控制算法, 该算法无 需获取对象模型, 计算量小, 能及时克服 各种干扰的影响。但是, 对于主汽温这种 大惯性、大纯迟延的热工对象, 采用常规 的PID 控制很难取得理想的控制品质
? 因此必须在过热汽温控制系统中引入新 型的控制策略DMC-PID。

专业课件

35

3 动态矩阵---PID串级控制(例 子)
? PID 控制是一种经典控制算法, 该算法无 需获取对象模型, 计算量小, 能及时克服 各种干扰的影响。但是, 对于主汽温这种 大惯性、大纯迟延的热工对象, 采用常规 的PID 控制很难取得理想的控制品质
? 因此必须在过热汽温控制系统中引入新 型的控制策略DMC-PID。

专业课件

36

3 动态矩阵---PID串级控制(例 子)

1 Constant

mo MPC mv
ref
MPC Controller

Scope1
25 Gain

Step

0.815/18^2 (s+1/18)(s+1/18)
innerprocess

1.276/18.4^6

Add

poles(s)

outprocess

Step1

Scope2

专业课件

Scope Transport Delay
Sine Wave
37

3 动态矩阵---PID串级控制(例 子)

? 关键参数、模型 ? 快变对象(内部模型) ? 慢变对象(外部模型) ? 比例控制器P=25

0.815 (18s ?1) p
1.276 (18.4s ?1)q

专业课件

38

3 动态矩阵---PID串级控制(例 子)
? 错误表述:

专业课件

39

3 动态矩阵---PID串级控制(例 子)

? 正确的表述:

w
DMC

+ -

二次干扰

一次干扰

PID

+

+

对象

G2(s)

+ +

G1(s)

广义对象

专业课件

40

3 动态矩阵---PID串级控制(例 子)
? pmcPID.m ? Pmc_PID.mdl

? pmcPID1.m ? Pmc_PID1.mdl

? pmcPID2.m ? Pmc_PID2.mdl

专业课件

41


相关文档

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