MATLAB鲁棒控制器实现

 clc
 clear all
% 平衡小车相关参数;
g = 9.81;						% gravity acceleration重力加速度 [m/sec^2]
M = 0.015;						% wheel weight车轮重量(个人更改) [kg]
m = 1.5;						% body weight车体重量(个人更改) [kg]
L = 0.045;			            % 车轮轴心到质心的距离                             
b = 0.1;                        % 小车的摩擦系数                             
J= m * L^2 / 3;             % 小车的转动惯量m * L^2 / 3;
f=0.002;                       %小车的摩擦阻力距


% 状态空间矩阵的计算
tmp=J*(M+m)+m*M*J^2;


% A矩阵
A_22= -(J+m*J^2)*b/tmp;
A_23= m*m*g*J/tmp;
A_24= -m*L*f/tmp;
A_42= -m*L*b/tmp;
A_43= m*g*L*(M+m)/tmp;
A_44= -f*(M+m)/tmp;
%B1矩阵
B1_2=m*L/tmp;
B1_4=(M+m)/tmp;
%B2矩阵
B2_2=J+m*L*L/tmp;
B2_4=m*L/tmp;


% 矩阵的表示
A=[0 1 0 0;0 A_22 A_23 A_24;0 0 0 1;0 A_42 A_43 A_44];
B1=[0;B1_2;0;B1_4];
B2=[0;B2_2;0;B2_4];
D12=[0 0 0 1]';


% 基于LMI算法鲁棒控制器设计
setlmis([]); %新建LMI不等式
C1=[1000 0   0    0;
    0    2

你可能感兴趣的:(matlab,平衡车,鲁棒控制)