⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlqr0036.m

📁 关于固高科技有限公司一级倒立摆lqr算法的连续系统离散系统matlab源程序及仿真
💻 M
字号:

M=1.096;                                   %小车质量
m=0.109;                                   %摆杆质量
b=0.1;                                     %小车摩擦系数
l=0.25;                                    %摆杆转动轴心到杆质心的长度
I=0.0034;                                  %摆杆惯量
T=0.005;                                   %采样时间
g=9.8;
A1=[0               1                           0                       0;
   0 -((I+m*l^2)*b)/(I*(M+m)+M*m*l^2)   m^2*g*l^2/(I*(M+m)+M*m*l^2)   0;
   0               0                           0                       1;
   0   -m*l*b/(I*(M+m)+M*m*l^2)       m*g*l*(M+m)/(I*(M+m)+M*m*l^2)    0]
B1=[ 0;   (I+m*l^2)/(I*(M+m)+M*m*l^2);    0;    m*l/(I*(M+m)+M*m*l^2) ]
C1=[1 0 0 0;
   0 0 1 0]
D1=[0; 0]
sys=ss(A1,B1,C1,D1);%改此处了
T=0.005;%改此处了
sysd=c2d(sys,T,'zof')
[A,B,C,D,TS]=ssdata(sysd)
z = TF('z',T)
M=[1 0 ;
 (z-1)/(T*z) 0;
 0 1 ;
  0 (z-1)/(T*z)]
Gf=M*sysd
Gfs=ss(Gf)
[A2,B2,C2,D2]=ssdata(Gfs)
po=pole(Gfs);    % 开环系统极点
Co=ctrb(Gfs);
Ob = obsv(Gfs);
unctrb=length(A)-rank(Co)                 %可控性
unobv = length(A)-rank(Ob)                %可观性
key=1;
while key~=0
  q11=input('please input q11 \n q11=');
  q33=input('please input q33 \n q33=');
  %disp('your Q matrix is');
  Q=[q11 0 0   0;
      0  0 0   0;
      0  0 q33 0;
      0  0 0   0];
  R=1;
  disp('your feedback matrix ')
  [K,S,e]=dlqry(A2,B2,C2,D2,Q,R)    %s为对应黎卡提方程的唯一正定解P,E为A-BK的特征值%改此处了
  Ky=[K(3),K(4),K(5),K(6)]
  %sys2=ss(A-B*K,B,C,D);
 % [G,H,Cd,Dd,ts]=ssdata(sys2)
  %pc=pole(sys2)                           %闭环系统极点
  
  %pc=eig(A-B*K)
  key=input('Would you continue? Select 0 to end program '); 
end

disp('call simulation dlqr003');
dlqr003;                                      %调用仿真模型  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -