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

📄 performanceindexkalman.m

📁 I upload kalman Matlab code
💻 M
字号:
% Model    : Inverted Pendulum on a up-down seesaw - 6th order
% Function : (1) LQR control
%            (2) H_2/H_inf Control
% Subject  : Control System Computer Design
% Term     : 1999-1
% Members  : Yong Chul Cho, Lee Hyung Ho, Kim Joon Ki
% Lab.     : Robust Control Lab.

clear all

% Parameters
Mp = 0.21; Mc = 0.455; Ms = 3.3;
l = 0.61/2; h = 0.1397; c = 0.058;
J = 0.427; g = 9.8;

% Mathematical model
AA6 = [0              0                0              1           0 0;
       0              0                0              0           1 0;
       0              0                0              0           0 1;
       -(Mp+Mc)*h*g/J -Mp*g/Mc         (J-Ms*h*c)*g/J -7.28/Mc    0 0;
       -(Mp+Mc)*g/J   (Mp+Mc)*g/(Mc*l) -Ms*g*c/J      7.28/(Mc*l) 0 0;
       (Mp+Mc)*g/J    0                Ms*g*c/J       0           0 0];

BB6 = [0; 0; 0; 1.72/Mc; -1.72/(Mc*l); 0];

CC6 = eye(6);

DD6 = zeros(6,1);

select = menu('Select the control strategy',...
              'LQR control',...
              'Mixed H_2/H_inf control',...
              'quit');

%if select == 1 % LQR contol
   
   Q = diag([ 0 0 1 0 0]);
   R = 1;
   [K, P, E] = lqr(AA6, BB6, Q, R);
   
elseif select == 2 % Mixed H_2/H_inf control
   
   B1 = 0.1*BB6;
   B2 = BB6;
   C1 = [0 1 0 0 0 0; 0 0 1 0 0 0];
   C2 = [1 0 0 0 0 0];
   D11 = [0; 0]; D12 = [0; 0];
   D21 = 0; D22 = 10;
   P = pck(AA6, [B1 B2], [C1; C2], [D11 D12; D21 D22]);
   r = [1 1];
   obj = [0.5 0 0 1];
   region = [];
   [gopt, h2opt, K, Pcl, X] = msfsyn(P, r, obj, region);
   K = -K;
   
elseif select == 3 % quit
   
   disp(' ')
   disp('     Good bye ^_^')
   disp(' ')
   break
   
end

⌨️ 快捷键说明

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