MATLAB 控制系统设计与仿真 - 35
MATLAB鲁棒控制器分析
所谓鲁棒性是指控制系统在一定(结构,大小)的参数扰动下,维持某些性能的特征。
根据对性能的不同定义,可分为稳定鲁棒性(Robust stability)和性能鲁棒性(Robust performance)。
以闭环系统的鲁棒性作为目标设计得到的控制器称为鲁棒控制器。
鲁棒控制问题概述
鲁棒控制系统的一般结构如下所示:
其中P(s)为增广的对象模型,K(s)为控制器模型。从输入信号到输出信号的传递函数可以表示为
.
我们可以用MATLAB鲁棒工具箱中提供的函数augtf/augw来建立增广的双端子系统模型。
增广的双端子状态模型建立举例
MATLAB augtf/augw的调用格式如下:
P=augw(P,W1,W2,W3); % W1为控制器输入信号(误差信号)的加权函数% W2为控制器输出信号的加权函数% W3为输出信号的加权函数%augw要求W1,W2,W3为正则模型
P=augtf(P,W1,W2,W3); % W1为控制器输入信号(误差信号)的加权函数% W2为控制器输出信号的加权函数% W3为输出信号的加权函数
带有加权函数的双端子系统模型如下所示:
增广矩阵为:
例如:给定一下系统状态方程模型及其加权函数,请建立增广的对象模型。
MATLAB代码如下:
clear all;clc;
A=[0 1 0 0;-5000 -100/3 500 100/3;0 -1 0 1;0 100/3 -4 -60];
B=[0;25/3;0;-1];
C=[0 0 1 0];
D=0;
G=ss(A,B,C,D);
s=tf('s');
W1=100/(s+1);
W2=10;
W3=s/1000;
P=augtf(G,W1,W2,W3)
运行结果如下:
P =A = x1 x2 x3 x4 x5x1 0 1 0 0 0x2 -5000 -33.33 500 33.33 0x3 0 -1 0 1 0x4 0 33.33 -4 -60 0x5 0 0 -1 0 -1B = u1 u2x1 0 0x2 0 8.333x3 0 0x4 0 -1x5 1 0C = x1 x2 x3 x4 x5y1 0 0 0 0 100y2 0 0 0 0 0y3 0 -0.001 0 0.001 0y4 0 0 -1 0 0D = u1 u2y1 0 0y2 0 10y3 0 0y4 1 0Input groups: Name ChannelsU1 1 U2 2 Output groups: Name ChannelsY1 1,2,3 Y2 4 Continuous-time state-space model.
Model Properties
然后
tf(P)
我们可以得到:
ans =From input 1 to output...1001: -----s + 12: 03: 04: 1From input 2 to output...933.3 s^2 + 2.222e04 s + 5e051: -------------------------------------------------------------s^5 + 94.33 s^4 + 6486 s^3 + 3.197e05 s^2 + 3.333e05 s + 2e042: 10-0.009333 s^3 - 0.2222 s^2 - 5 s + 3.599e-173: ----------------------------------------------s^4 + 93.33 s^3 + 6393 s^2 + 3.133e05 s + 2e049.333 s^2 + 222.2 s + 50004: ----------------------------------------------s^4 + 93.33 s^3 + 6393 s^2 + 3.133e05 s + 2e04Input groups: Name ChannelsU1 1 U2 2 Output groups: Name ChannelsY1 1,2,3 Y2 4 Continuous-time transfer function.
Model Properties
当我们得到增广的系统模型后, 我们可以利用MATLAB鲁棒工具箱提供的函数例如:
求取鲁棒控制器。
接下来会举例分析介绍。
最后,欢迎大家有问题给我留言。
非常感谢小伙伴们的-点赞-收藏-加关注。