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

第七章 模型预测控制算法 之二~5-状态方程模型

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

专业课件

1

内容提要

? 概述 ? 动态矩阵控制---状态方程模型 ? 动态矩阵控制的进一步讨论 ? 模型算法控制 ? 应用

专业课件

2

动态矩阵控制---状态方程模型
? Matlab6.5---参考MPC.pdf ? Matlab7.1---在线

专业课件

3

动态矩阵控制---参数设置对性能 作用
? MPC Control of a DC Servomotor

专业课件

4

动态矩阵控制---未建模动态对性 能作用
? A position servomechanism consists of a DC motor, gearbox, elastic shaft, and a load, 参数含义

专业课件

5

动态矩阵控制---参数设置对性能 作用
? 参数含义

专业课件

6

动态矩阵控制---参数设置对性能 作用

? 参数含义
? The controller must set the load's angular position qL at a desired value by adjusting the applied voltage, V.
? measurement available for feedback is qL. ? From an input/output viewpoint, the plant
has a single input, V, which is manipulated by the controller. It has two outputs, one measured and fead back to the controller, qL, and one unmeasured, T.

专业课件

7

动态矩阵控制---参数设置对性能 作用
? A single input, V, one measured and fead back to the controller, qL, and one unmeasured, T.

专业课件

8

动态矩阵控制---参数设置对性能 作用

专业课件

9

MPC Control of a DC ServomotorSIMO模型描述
? MpcMotorModel.m

专业课件

10

MPC Control of a DC Servomotor模型描述

? SYS = SS(A,B,C,D) creates a SS object SYS representing the continuous-time state-space model
? dx/dt = Ax(t) + Bu(t)
? y(t) = Cx(t) + Du(t)

专业课件

11

MPC Control of a DC Servomotor模型描述

?

sys

?

?

a=

?

x1 x2 x3 x4

?

x1 0 1 0 0

?

x2 -51.21 -1 2.56 0

?

x3 0 0 0 1

?

x4 128 0 -6.401 -10.2

?

?

?

b=

?

u1

?

x1 0

?

x2 0

?

x3 0

?

x4 1

?

?

?

c=

?

x1 x2 x3 x4

?

y1 1 0 0 0

?

y2 1280 0 -64.01 0

?

?

?

d=

?

u1

?

y1 0

?

y2 0

?

专业课件

12

MPC Control of a DC Servomotor模型描述

? umin=-220; % 控制约束 ? umax=220; % ? dumin=-Inf; %控制增量约束 ? dumax=Inf; % ? ymin=[-Inf Vmin]; %输出约束 ? ymax=[Inf Vmax]; % ? % 权系数 ? uweight=0; ? duweight=.05; ? yweight=10*[1 0]; % y2转矩没有权系数

专业课件

13

MPC Control of a DC Servomotor模型描述

? ManipulatedVariables=struct('Min',umin,'Max',umax,'Units','V'); ? OutputVariables(1)=struct('Min',-Inf,'Max',Inf,'Units','rad'); ? OutputVariables(2)=struct('Min',Vmin,'Max',Vmax,'Units','Nm'); ? Weights=struct('Input',uweight,'InputRate',duweight,'Output',yw
eight);

? clear Model ? Model.Plant=sys; ? Model.Plant.OutputGroup={1 'Measured';2 'Unmeasured'};

? PredictionHorizon=10; ? ControlHorizon=2;

专业课件

14

MPC Control of a DC Servomotor模型描述
? Create MPC object in workspace
? ServoMPC=mpc(Model,Ts,PredictionHorizon,C ontrolHorizon);

? ServoMPC.Weights=Weights;

? ServoMPC.ManipulatedVariables=Manipulated Variables;

? ServoMPC.OutputVariables=OutputVariables;

专业课件

15

MPC Control of a DC Servomotor参数设置对性能作用
? Simulink仿真 ? mpc_motor.m

专业课件

16

MPC Control of a DC ServomotorSimulink仿真

Voltage (V)

u(t)

y(t)

sys

Servomechanism Model

Angle (radians)

mo mv MPC
ref
MPC Controller

Demux
r(t)

Angle reference 0
Torque reference

-220 Vmin

220 Vmax

78.5 Tmax

-78.5 Tmin

Torque (Nm)

专业课件

17

动态矩阵控制---扰动情形
? 扰动情形分析
? MPC Control of a Multi-Input SingleOutput system

专业课件

18

动态矩阵控制---例子
? 状态方程模型 ? sys=ss(tf({1,1,1},{[1 .5 1],[1 1],[.7 .5
1]}),'min');
? tf({1,1,1},{[1 .5 1],[1 1],[.7 .5 1]})?

专业课件

19

动态矩阵控制---例子

? (离散)状态方程模型

? Ts=.2;

% sampling time

? model=c2d(sys,Ts); % prediction model

专业课件

20

动态矩阵控制---例子

与阶跃响应模型关系 ?

From: In(1)

1.5

? step(model) 1

Step Response From: In(2)

From: In(3)

Amplitude

0.5

0

0

10

20 0

10

20 0

10

20

Time (sec)

专业课件

21

动态矩阵控制---例子
? 阶跃响应模型 ? S=step(model) ? ? S=[S(:,:,1),S(:,:,2),S(:,:,3)] ?
? S(k,j,i), 时间k,输出j,输入i

专业课件

22

动态矩阵控制---可测/不可测系统 输入

? Define type of input signals:
? the first signal is a manipulated variable,
? the second signal is a measured disturbance,
? the third one is an unmeasured disturbance

? model=setmpcsignals(model,'MV',1,'MD' ,2,'UD',3);

专业课件

23

动态矩阵控制---可测/不可测系统 输入
? Define the structure of models used by the MPC controller
? Model=[]; % reset structure Model ? Model.Plant=model;

专业课件

24

动态矩阵控制---例子

? % Disturbance model: Integrator driven by white noise with variance=1000
? Model.Disturbance=tf(sqrt(1000),[1 0]); ? p=40; ? m=3;

? MPCobj=mpc(Model,Ts,p,m);

? MPCobj.MV=struct('Min',0,'Max',1,'RateMin',-

10,'RateMax',10);

专业课件

25

动态矩阵控制---例子
? The continuous-time plant to be controlled has the following state-space realization:
? [A,B,C,D]=ssdata(sys);

专业课件

26

动态矩阵控制---例子

? Now simulate closed-loop MPC in Simulink
? Tstop=30; % Simulation time

? mpc_miso
? 解释:t=10,20时加入可测/不可测系统 输入的动态特性

专业课件

27

动态矩阵控制---例子

mpc_miso
Step

u(t)

v(t) d(t)
Step1

y(t)
x' = Ax+Bu y = Cx+Du
State-Space

UD d
To Workspace3

y To Workspace

Clock MV

t To Workspace4

mo

mv

MPC

ref

md MPC Controller

u To Workspace1

Outputs/References
r(t)
Step2 MD
v To Workspace2

专业课件

28

动态矩阵控制---可测测量干扰

? % Let's say we know that output measurements are affected by a sinusoidal ? % measurement noise of frequency 0.1 Hz. We want to inform the MPC object ? % about this so that state estimates can be improved

?

omega=2*pi/10;

? MPCobj.Model.Noise=0.5*tf(omega^2,[1 0 omega^2]);

? %% ? % We also revised the MPC design ? MPCobj.Model.Disturbance=.1; % Model for unmeasured disturbance = white
Gaussian noise with zero mean and variance 0.01 ? MPCobj.weights=struct('MV',0,'MVRate',0.1,'OV',.005); ? MPCobj.predictionhorizon=40; ? MPCobj.controlhorizon=3;

?

专业课件

29

动态矩阵控制---可测测量干扰

? 备注-前1:

? sys=ss(tf({1,1,1},{[1 .5 1],[1 1],[.7 .5 1]}),'min');

? Ts=.2;

% sampling time

? model=c2d(sys,Ts); % prediction model

? model=setmpcsignals(model,'MV',1,'MD',2,'UD',3);

? Model=[]; % reset structure Model ? Model.Plant=model; ? % Disturbance model: Integrator driven by white
noise with variance=1000 ? Model.Disturbance=tf(sqrt(1000),[1 0]);

专业课件

30

动态矩阵控制---可测测量干扰

? 备注-前2:
? Model.Disturbance=tf(sqrt(1000),[1 0]);
? p=[]; ? m=3; ? MPCobj=mpc(Model,Ts,p,m); ? MPCobj.MV=struct('Min',0,'Max',1,'
RateMin',-10,'RateMax',10);
? [A,B,C,D]=ssdata(sys);

专业课件

31

动态矩阵控制---例子
? % Open the simulink diagram 'MPC_MISONOISE.MDL'
? mpc_misonoise
? Tstop=150; %Simulation time

专业课件

32

动态矩阵控u(t) 制---例子mpc_misonoise

?

Step

v(t) d(t)
Step1

x' = Ax+Bu y = Cx+Du State-Space
UD d
To Workspace3

y(t)
y To Workspace
Step3
Sine Wave

Clock

t To Workspace4

MV

mo mv MPC ref
md MPC Controller

Outputs/References/Noise
r(t)
Step2 MD

u

专业课件 v

33

To Workspace1

To Workspace2

动态矩阵控制---备注
? 可测扰动参数的设置影响 ? 可测参数在不可测参数前、中、后情形

专业课件

34

动态矩阵控制---备注

? MPCOBJ = MPC(PLANT,TS) specifies a sampling time for the MPC controller.

? A continuous-time model PLANT is discretized with sampling timeTS.
? A discrete-time model PLANT is resampled to sampling time TS.

专业课件

35


相关文档

神经网络模型预测控制器PPT课件
第7章模型预测控制系统的计算机辅助设计-PPT精选文档
2019年第7章 模型预测控制系统的计算机辅助设计 MATLAB控制系统设计与仿真 教学课件.ppt
模型预测控制ppt
第7章 模型预测控制系统的计算机辅助设计 MATLAB控制系统设计与仿真 教学课件-PPT文档资料
第5章模型预测控制-PPT精选文档
自动控制 模型预测控制系统的计算机辅助设计 76页PPT文档
模型预测控制ppt
黄河流域水量调度自校正控制模型ppt
第二章 自动控制系统的数学模型.ppt
学霸百科
电脑版 | 学霸百科