• 该帖子引入积分控制,扩展两个状态量的方法有误,谨慎参考!
  • 对于目标跟踪,要将原系统化为误差方程,再进行控制器设计!

1 问题描述

2 控制目标

  • 两个输出量跟踪两个参考输入值;
  • 采用策略:加积分控制环节,扩张两个状态量;
  • 也可以采用误差系统镇定的方法,但是要处理控制量u,需要做变换;

3 跟踪控制结果

  • 搭建模型
  • 跟踪结果

4 控制量限幅

  • 搭建模型
  • 输出结果

5 计算程序

  • 由于系统矩阵数值数量级较小,因此一定要小心调节被控输出z的各个矩阵的数值;
%% 
clear
clc
pa.A=zeros(6,6);
A=[-0.0159, 0, 0.0419, 0;
        0, -0.0111, 0, 0.0333;
        0,0,-0.0419, 0;
       0,0,0,-0.0333 ];
 
pa.A(1:4,1:4)=A;
pa.A(5:6,1:2)=eye(2,2);

pa.B1=10*[2;1;0;0;0;0];

pa.B2=zeros(6,2);
B2=[0.0933, 0;
    0, 0.0628; 
    0, 0.0479; 
    0.0312, 0];
pa.B2(1:4,:)=B2;

%% 被控输出z的权重矩阵
pa.C1=1*diag([1,1,1,1,1,1]);
pa.D11=10*[1;2;0;0;1;0];
pa.D12=zeros(6,2);

%% 测量输出y的权重矩阵
pa.C2=eye(6,6);   %被控输出矩阵
pa.D21=zeros(6,1);
pa.D22=zeros(6,2);        %适当维数加权矩阵

%% 系统初值
pa.x0=[-5, -5, 1,1, 0, 0];

%% 
A=pa.A;
B1=pa.B1;
B2=pa.B2;
C1=pa.C1;
D11=pa.D11;
D12=pa.D12;
C2=pa.C2;
D21=pa.D21;
D22=pa.D22;

[K, gamma]=LMI_Optimal(pa.A,pa.B1,pa.B2,pa.C1,pa.D11,pa.D12 )  
% gamma=10;
% K=LMI_Feasible(pa.A,pa.B1,pa.B2,pa.C1,pa.D11,pa.D12,gamma) 

%% LMI描述
% P=ltisys(pa.A, [pa.B1, pa.B2], [pa.C1;pa.C2], [pa.D11, pa.D12; pa.D21, pa.D22]) ;   %P广义系统
% [gamma, K]=hinflmi(P,[4, 2] ,100) %Hinf函数求解输出反馈控制器参数及性能指标gamma
% [Ak,Bk,Ck,Dk]=ltiss(K)                 %  H无穷最优控制器
% clsys=slft(P,K)
% spol(clsys)
% r
% norminf(clsys)
% figure(2);
% splot(clsys,'st',[0,100])
% figure(3);
% splot(clsys,'im',[0,100])

——2021.03.09——