Lecture 3 - 多变量动态矩阵控制算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

18
MATLAB编程 编程
获得模型向量a 获得模型向量
a=stepresp((Ts/T):(Ts/T):tend/T); %获得模型向量 ,N*1维 获得模型向量a, 获得模型向量 维 a=[0.3728 1.8138 1.6352 1.1335 0.2251 0.7192 1.1324 1.5965 1.0174 0.7751 0.6180 1.1346 1.2110 1.1934 0.8095 0.8509 0.9424 1.1807 1.0795 0.9772 0.8634 0.9758 1.0587 1.0826 0.9907 0.9350 0.9657 1.0224 1.0558 0.9989 0.9788 0.9585 1.0225 1.0123 1.0283 0.9680 0.9988 0.9813 1.0334 0.9915]
2 i =1 j =1 P M
% = wP (k ) − yP0 (k ) − A∆U M (k )
2 Q
+ ∆U M
2 R
% q1 w(k + 1) − yM (k + 1| k ) % % = [ w(k + 1) − yM (k + 1| k ) L w(k + P) − yM (k + P | k ) ] O L % qP w(k + P) − yM (k + P | k ) 4 14 244 3
plant =
3.574e-006 z^3 + 3.912e-005 z^2 + 3.9e-005 z + 3.539e-006 ------------------------------------------------------------------------------------------z^4 - 3.957 z^3 + 5.898 z^2 - 3.925 z + 0.9841
% % yN0 (k + 1) = S ycor (k + 1)
6
单变量DMC (1) 单变量
1. 预测输出
% % y M ( k + 1 | k ) y0 (k + 1 | k ) y (k + 2 | k ) y (k + 2 | k ) % % + M = 0 M M % % y M ( k + P | k ) y0 (k + P | k ) 14424 4 3 14 424 4 3
计算动态矩阵A 计算动态矩阵
A=zeros(P,M);%初始化动态矩阵 ,P*M维 初始化动态矩阵A, 初始化动态矩阵 维 A(:,1) = a(1:1:P); for i = 1:P, for j = 2: M, if i>=j, A(i,j) = A(i-1,j-1); end end end
19
y (k ) = 3.957 y ( k − 1) − 5.898 y (k − 2) + 3.925 y (k − 3) − 0.9841 y (k − 4) + 3.574e − 006u ( k − 1) + 3.912e − 005u ( k − 2) + 3.9e − 005u ( k − 3) + 3.539e − 006u ( k − 4)
M×M维控制权矩阵 × 维控制权矩阵 维控制权矩阵R
8
单变量DMC (3) 单变量
3. 控制增量
% ∆u (k ) = cT ∆U M (k ) = cT ( AT QA + R ) −1 AT Q [ wP (k ) − yP0 ( k )] 1444 2444 3
dT
其中,M 维行向量 cT = [1 0 L 0] 表示取首元素的运算 P 维行向量 d T = cT ( AT QA + R)−1 AT Q [ d1 ,L, d P ] 为控制向量
% ycor ( k +1) % y N1 ( k ) h
6. 状态更新
% % 0 ycor ( k + 1| k ) y0 (k + 2 | k + 1) 0 1 y (k + 3 | k + 1) O O M y (k + 2 | k ) % % 0 = cor M M 0 1 % % y0 ( k + N + 1| k + 1) 0 L 0 1 ycor (k + N | k ) 244 144 3 1444 2444 3 144 244 3
4. 控制作用输出
% % y1 (k + 1| k ) y0 (k + 1| k ) a1 = + M ∆u (k ) M M y1 (k + N | k ) y0 (k + N | k ) aN % 4 14 244 { % 4 14 244 3 3
16
MATLAB编程 编程
离散化
T=0.01;%离散化时间 plant = c2d(system,T); nump = get(plant,'num');nump = nump{:};%获得分子项系数 denp = get(plant,'den');denp = denp{:};%获得分母项系数 nnump = length(nump) - 1; % 分子项系数个数(阶次) ndenp = length(denp) - 1; % 分母项系数个数(阶次)
13
入口
单变量DMC算法在线计算 算法在线计算(1) 单变量 算法在线计算
检测实际输出 y 并计算误差 y - y(1) → e 预测值校正 y (i ) + hi e → y (i ), i = 1,L , N
DMC在线计算流程
移位设置该时刻初值 y (i + 1) → y (i ), i = 1,L , N 设置控制增量 ∑ i=1 di (w − y(i)) → ∆u
17
MATLAB编程 编程
作阶跃响应( 作阶跃响应(粗)
step(system);
分析阶跃响应曲线,确定截断时间、 分析阶跃响应曲线,确定截断时间、采样周期和模型长度
截断时间 tend= 8 模型长度 N = 40 采样周期 Ts=0.2
作阶跃响应
stepresp=step(plant,[T:T:tend]);
Lecture 3 多变量动态矩阵控制
Zuo Yan Institute of Information and Control Hangzhou Dianzi University Email: yzuo@hdu.edu.cn 2008-10-06
主要内容
• 单变量 单变量DMC算法编程实现 算法编程实现 • 多变量动态矩阵控制 多变量动态矩阵控制(DMC) • 多变量 多变量DMC算法实现与参数整定 算法实现与参数整定
MATLAB编程 编程
设置参数 P = 6, M = 4, Q = I ,
P=6;%预测时域/优化时域 M=4;%控制时域 Q = diag(ones(P,1),0);%误差权重Q=I(单位阵,P*P维) R = 0*diag(ones(M,1),0);%控制权重R=0(零矩阵,M*M维)
P
计算控制量
u + ∆u → u
计算输出预测值 y (i ) + ai ∆u → y (i ), i = 1,L , N 返回
14
单变量DMC算法在线计算 (2) 算法在线计算 单变量
• 所需内存
15
MATLAB编程 编程
• 最小相位对象
G(s) = 8611.77 [( s + 0.55) 2 + 62 ][( s + 0.25) 2 + 15.42 ]
% y N1 ( k ) % y N0 ( k ) a
N维预测输出值 维预测输出值
N维初始预测值 维初始预测值
N维模型向量 维模型向量
9
单变量DMC (4) 单变量
5. 反馈校正
% e(k + 1) = y (k + 1) − y1 (k + 1| k )
% % ycor (k + 1| k ) y1 (k + 1| k ) h1 = + M e(k + 1) M M ycor (k + N | k ) y1 (k + N | k ) hN % 14 244 { % 4 144 244 3 3
[1 0 L 0]
h
+
-
a
[ I P× P
控制
0]
z
% y N 0 (k + 1)
−1
0 0 1 0 1 O 1 y ( k + 1) % cor 0 1
h1 M hN
e( k + 1)
预测
校正
单变量动态矩阵控制
A ∆uM ( k )
P 维预测输出值
P 维初始预测值
历史信息 每一时刻信息已知 动态更新
P×M 维动态矩阵A
模型信息
M 维控制增量
未来输入
离线辨识获得 在线优化获得 一旦确定保持不变
7
单变量DMC (2) 单变量
2. 目标函数
% J (k ) = ∑ qi [ w(k + i ) − yM (k + i | k ) ] + ∑ rj ∆u 2 (k + j − 1)
传递函数描述
num=8611.77; den=conv([1 1.1 36+0.55^2],[1 0.5 15.4^2+0.25^2]); system=tf(num,den);
8612 System = ----------------------------------------------------------------s^4 + 1.6 s^3 + 274.1 s^2 + 279.1 s + 8612
预测模型
Baidu Nhomakorabea
4
单变量DMC 单变量
滚动优化
% min J (k ) = wP (k ) − yPM (k )
2 Q
+ ∆U M
2 R
s .t .
% % y PM ( k ) = y P0 ( k ) + A ∆ u M ( k )
5
单变量DMC 单变量
反馈校正
% % y c o r ( k + 1) = y N 1 ( k ) + h e ( k + 1)
11
单变量DMC算法离线计算 (1) 算法离线计算 单变量
离线计算
检测对象的阶跃响应,经光滑后得到模型系数 a1 ,L , aN 利用仿真程序确定优化程序,计算控制系数 d1 ,L , d P 选择校正系数 h1 ,L , hN
12
单变量DMC算法离线计算 (2) 算法离线计算 单变量
• 所需内存
% y PM ( k ) % y P0 ( k )
0 L 0 ∆u (k ) a1 a a1 O 0 ∆ u ( k + 1) 2 M M O M a P a P −1 L a P − M +1 ∆ u ( k + M − 1) 14 4 4 424 4 4 4 14424 43 3
Q
∆u (k ) r1 + [ ∆u ( k ) L ∆u (k + M − 1) ] O L ∆u (k + M − 1) 4 rM 14 244 3
R
P维期望参考轨迹 维期望参考轨迹w 维期望参考轨迹
P×P维误差权矩阵 × 维误差权矩阵 维误差权矩阵Q
2
单变量DMC 单变量
• 基于预测模型和线性系统比例、叠加性质的输 基于预测模型和线性系统比例、叠加性质的输 出预测 • 基于最优跟踪和控制软约束性能指标的在线滚 基于最优跟踪和控制软约束性能指标的在线滚 动优化 • 基于实时检测信息的误差预测与校正 基于实时检测信息的误差预测与校正
3
单变量DMC 单变量
% y N0 ( k +1) S % ycor ( k +1)
10
单变量DMC (5) 单变量
wP ( k )
dT
[ d1 L d P ]
-
∆u ( k )
+
z z −1
u (k )
y (k + 1)
对象
% yN 1 (k )
% y1 ( k + 1| k )
% yP 0 (k )
a1 ∆y N 1 (k ) % M aN
相关文档
最新文档