📄 main.m
字号:
%=========================================================================%
% Robust and Non-fragile H_inf Controller Design for tracking servo
% - Kim Joonki, 2007. 5 -
%=========================================================================%
clc
clear all
%%%%%%%%%%%%%%%%%%Track Actuator%%%%%%%%%%%%%%%%%%%%%%%%
%Kdc=(9.8/4.5)*10^-3 %m/v
Kdc=(0.64)*10^-3 %m/v
zeta0 = 0.05
w0 =2*pi*70 % rad/sec
%========= Pick up model : Real model ==============%
G_n =w0^2*Kdc
G_d = [1 (2*zeta0*w0) w0^2]
%============ Compare 2nd-model vs 5th-model =========%
%figure(1)
%margin(Kg*Ka*Ks*w0^2, [1 (2*pi*zeta0*w0) w0^2]);
%figure(2)
%bode(Kg*Ka*Ks*w0^2, [1 (2*pi*zeta0*w0) w0^2])
%hold on;
%margin(G_act)
%========= State Space Realization : using 2nd order modelling ============%
[A, B, C, D] = tf2ss(G_n,G_d)
B1=[-1;0]
B2=[12;0]
%============= Affine parameter uncertainty matrix ========================%
setlmis([])
Q = lmivar(1, [2 1]);
M = lmivar(2, [1 2]);
%rho = lmivar(1, [1 0]);% rho=gamma^2=const
lmiterm([1,1,1,Q],1,A','s')
lmiterm([1,1,1,M],B2,1,'s')%(1,1) lmiterm
lmiterm([1,1,2,Q],1,B1)
%lmiterm([1,2,1,Q],B',1)%(1,2)(2,1) lmiterm
lmiterm([1,1,3,Q],1,C')
%lmiterm([1,3,1,Q],C,1)%(1,3)(3,1) lmiterm
lmiterm([1,2,2,0],-1)%(2,2) lmiterm
lmiterm([1,3,3,0],-1)%(3,3) lmiterm
lmiterm([-2 1 1 Q],1,1)%positive definite
lmisys = getlmis;
[tmin, xfeap] = feasp(lmisys)
Q_sol = dec2mat(lmisys,xfeap,Q)
% Q狼 蔼 拌魂
M_sol = dec2mat(lmisys,xfeap,M)
% M狼 蔼 拌魂
%rho_sol = dec2mat(lmisys,xfeap,rho)
% rho狼 拌魂
K = M_sol*inv(Q_sol)
% M=KQ
% K=M^-1
% M苞 Q甫 捞侩秦辑 K蔼阑 拌魂茄促.
%gamma = sqrt(rho_sol)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -