马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我对一个二阶系统设计了一个混合灵敏度鲁棒控制器,发现控制器作用下系统是可以稳定的,但是控制器的输出却很大,物理上无法实现。
当输入为0.15时,我的控制器输出应该在10以内。
反复调整三个加权函数始终无法将控制器输出降下来,不知道问题出在哪里,请大家帮帮忙,谢谢。
我的被控对象传递函数为:G=tf([65.646],[1 0 -1.21e6]);
具体的程序如下:
G=tf([65.646],[1 0 -1.21e6]); %系统传递函数
s=tf('s');
W1=(1500)/(1*s+2);
%灵敏度加权函数
W3=(1.8*s)/(2.5*s+2800);
%补灵敏度加权函数
W2=0.0000003;
%加性不确定性加权函数
G1=augw(G,W1,W2,W3);
%包括加权函数的系统增广阵
K=hinf(G1);
%求解控制器,至此控制器K已经求出。下面程序是考察一些系统指标
iW1=inv(W1);
%灵敏度加权函数的逆
iW3=inv(W3);
%补灵敏度函数的逆
tK=tf(K);
GL=G*tK;
step(feedback(G*tK,1),0.06)
%系统闭环阶跃响应
S=inv(1+GL);
%灵敏度函数
T=1-S;
%补灵敏度函数
注:
我自己尝试了下,好像求解控制器的时候用不同的求解器求出来控制器输出差距较大,例如用,mixsyn(),hinf(),hinflmi(),求解出来的控制器不同。是否可以通过换求解器来达到减小控制器输出的目的那?主要应该还是三个加权函数中参数的选择吧,具体选什么值合适?
[ 本帖最后由 tpsharq 于 2010-1-19 23:55 编辑 ] |