H无穷控制学习笔记——H无穷/H2控制

news/2024/11/29 0:34:21/

一、 H ∞ / H 2 H_{\infty}/H_2 H/H2控制问题

实际设计过程中,人们常常需要系统满足多项性能要求。
对于这样的系统:
x ˙ = A x + B u + B 1 w 1 + B 2 w 2 z 1 = C 1 x + D 10 u + D 11 w 1 z 2 = C 2 x + D 20 u + D 22 w 2 \dot x=Ax+Bu+B_1w_1+B_2w_2\\ z_1=C_1x+D_{10}u+D_{11}w_1\\ z_2=C_2x+D_{20}u+D_{22}w_2 x˙=Ax+Bu+B1w1+B2w2z1=C1x+D10u+D11w1z2=C2x+D20u+D22w2
目的是设计一个控制器,使得闭环系统渐进稳定,并且从 w 1 w_1 w1 z 1 z_1 z1的闭环传递函数 T w 1 z 1 T_{w_1z_1} Tw1z1 H ∞ H_{\infty} H范数不超过一个给定的上界 γ 1 \gamma_1 γ1,以保证闭环系统具有鲁棒稳定性;同时使得从 w 2 w_2 w2 z 2 z_2 z2的闭环传递函数 T w 2 z 2 T_{w_2z_2} Tw2z2 H 2 H_2 H2范数尽可能小,以保证用 H 2 H_2 H2范数度量的系统性能处于一个较好的水平

这样一个问题相当于在使得闭环系统满足:
σ ( A c ) ⊂ C − , ∣ ∣ T w 1 z 1 ∣ ∣ ∞ < γ 1 , ∣ ∣ T w 2 z 2 ∣ ∣ 2 < γ 2 \sigma(A_c)\subset C^-,||T_{w_1z_1}||_{\infty}<\gamma_1,||T_{w_2z_2}||_2<\gamma_2 σ(Ac)C,Tw1z1<γ1,Tw2z22<γ2

的所有控制器中,寻找使得 γ 2 \gamma_2 γ2最小化的控制器。这个问题称为系统的多目标 H ∞ / H 2 H_{\infty}/H_2 H/H2控制问题。

牺牲系统的鲁棒性,可以在一定程度上改进系统的性能。

二、状态反馈 H ∞ / H 2 H_{\infty}/H_2 H/H2控制律设计

1、设计思路

在状态反馈 u = K x u=Kx u=Kx的情况下,原闭环系统转化为:
x ˙ = ( A + B K ) x + B 1 w 1 + B 2 w 2 z 1 = ( C 1 + D 10 K ) x + D 11 w 1 z 2 = ( C 2 + D 20 K ) x + D 22 w 2 \dot x=(A+BK)x+B_1w_1+B_2w_2\\ z_1=(C_1+D_{10}K)x+D_{11}w_1\\ z_2=(C_2+D_{20}K)x+D_{22}w_2 x˙=(A+BK)x+B1w1+B2w2z1=(C1+D10K)x+D11w1z2=(C2+D20K)x+D22w2

定理:对原系统和一个给定的标量 γ 1 > 0 \gamma_1>0 γ1>0,若 D 22 = 0 D_{22}=0 D22=0,以下的优化问题
m i n γ 2 s . t . [ A X + B W + ( A X + B W ) T B 1 ( C 1 X + D 10 W ) T B 1 T − γ 1 I D 11 T C 1 X + D 10 W D 11 − γ 1 I ] < 0 A X + B W + ( A X + B W ) T + B 2 B 2 T < 0 [ − Z C 2 X + D 20 W ( C 2 X + D 20 W ) T − X ] < 0 T r a c e ( Z ) < γ 2 min~~\gamma_2\\ s.t.~~\begin{bmatrix} AX+BW+(AX+BW)^T & B_1 & (C_1X+D_{10}W)^T \\ B_1^T & -\gamma_1I & D_{11}^T \\ C_1X+D_{10}W & D_{11} & -\gamma_1I \end{bmatrix}<0 \\ AX+BW+(AX+BW)^T+B_2B_2^T<0 \\ \begin{bmatrix} -Z & C_2X+D_{20}W \\ (C_2X+D_{20}W)^T & -X \end{bmatrix}<0 \\ Trace(Z)<\gamma_2 min  γ2s.t.  AX+BW+(AX+BW)TB1TC1X+D10WB1γ1ID11(C1X+D10W)TD11Tγ1I<0AX+BW+(AX+BW)T+B2B2T<0[Z(C2X+D20W)TC2X+D20WX]<0Trace(Z)<γ2

有一个最优解X、W,则系统的状态反馈 H ∞ / H 2 H_{\infty}/H_2 H/H2控制问题是可解的,并且 u = W X − 1 x u=WX^{-1}x u=WX1x是系统的一个状态反馈 H ∞ / H 2 H_{\infty}/H_2 H/H2控制律

以上问题是一个具有线性矩阵不等式约束和线性目标函数的凸优化问题,可应用LMI工具箱的求解器mincx来求解。

2、代码实例

clc;clear all
%% 某系统
A=[0  1       0       0;0 -0.0883  0.6293  0;0  0       0       1;0 -0.2357  27.8285 0] ;
B=[0 1.05  0 10.2]';
B1=[0 2.3566  0 104.2027]';
B2=[0 0.8832  0 2.3566]';
C1=[0.064 0     0    0;0     1e-3  0    0;0     0     0.11 0;0     0     0    0.01;0     0     0    0];
D10=[0 0 0 0 0.01]';
D11=[0 0 0 0 0.01]';
C2=[1 0 0 0;0 0 1 0;0 0 0 0;0 0 0 0];
D20=[0 0 0 0.01]';
D22=[0 0 0 0]';
%% 状态反馈H2/H无穷控制器
gamma1=5;
setlmis([])
X=lmivar(1,[4 1]);              % 对称正定矩阵X
W=lmivar(2,[1 4]);              % 矩阵W
gamma2=lmivar(1,[1 1]);          % gamma
[Z11,~,sZ11]=lmivar(1,[1 1]);              % Z11
[Z12,~,sZ12]=lmivar(1,[1 1]);              % Z12
[Z13,~,sZ13]=lmivar(1,[1 1]);              % Z13
[Z14,~,sZ14]=lmivar(1,[1 1]);              % Z14
[Z22,~,sZ22]=lmivar(1,[1 1]);              % Z22
[Z23,~,sZ23]=lmivar(1,[1 1]);              % Z23
[Z24,~,sZ24]=lmivar(1,[1 1]);              % Z24
[Z33,~,sZ33]=lmivar(1,[1 1]);              % Z33
[Z34,~,sZ34]=lmivar(1,[1 1]);              % Z34
[Z44,~,sZ44]=lmivar(1,[1 1]);              % Z44
Z=lmivar(3,[sZ11, sZ12, sZ13, sZ14;sZ12, sZ22, sZ23, sZ24;sZ13, sZ23, sZ33, sZ34;sZ14, sZ24, sZ34, sZ44;]);lmiterm([1 1 1 X],A,1,'s');     % AX+(AX)'    11
lmiterm([1 1 1 W],B,1,'s');     % BW+(BW)'  11
lmiterm([1 2 1 0],B1');         % B1'         21
lmiterm([1 2 2 0],-gamma1);     % -gamma1I          22
lmiterm([1 3 1 X],C1,1);        % C1X         31
lmiterm([1 3 1 W],D10,1);       % D10W        31
lmiterm([1 3 2 0],D11);         % D11         32
lmiterm([1 3 3 0],-gamma1);     % -I          33lmiterm([2 1 1 X],A,1,'s');     % AX+(AX')
lmiterm([2 1 1 W],B,1,'s');     % BW+(BW)'  11
lmiterm([2 1 1 0],B2*B2');       % B2B2'lmiterm([3 1 1 Z],-1,1);        % -Z
lmiterm([3 1 2 X],C2,1);        % C2X
lmiterm([3 1 2 W],D20,1);       % D20W
lmiterm([3 2 2 X],-1,1);        % -Xlmiterm([4 1 1 Z11],1,1);       % Z11
lmiterm([4 1 1 Z22],1,1);       % Z22
lmiterm([4 1 1 Z33],1,1);       % Z33
lmiterm([4 1 1 Z44],1,1);       % Z44
lmiterm([-4 1 1 gamma2],1,1);    % gammalmisys=getlmis;
n = decnbr(lmisys);             % 系统决策变量个数
c = zeros(n,1);                 % 确定向量c的维数
for j=1:n[r1j]=defcx(lmisys,j,gamma2);c(j)=trace(r1j);
end
[copt,xopt]=mincx(lmisys,c);
XX3=dec2mat(lmisys,xopt,X);
WW3=dec2mat(lmisys,xopt,W);
K3=WW3*(XX3)^-1;
gammaa=dec2mat(lmisys,xopt,gamma2);

输出结果为:best objective value: 7.177674
在这里插入图片描述

三、hinfmix函数

LMI工具箱提供了求解 H ∞ / H 2 H_{\infty}/H_2 H/H2控制问题的一个函数hinfmix,该函数求解了原系统的多目标输出反馈控制问题

hinfmix可以计算这样一个综合问题的解。
设计一个线性时不变控制器K,使得闭环系统满足:

  • ∣ ∣ T w z ∞ ∣ ∣ ∞ < γ 0 ||T_{wz_{\infty}}||_{\infty}<\gamma_0 Twz<γ0
  • ∣ ∣ T w z 2 ∣ ∣ 2 < ν 0 ||T_{wz_2}||_2<\nu_0 Twz22<ν0
  • 闭环系统的极点位于某个给定的LMI区域
  • 性能指标 α ∣ ∣ T w z ∞ ∣ ∣ ∞ 2 + β ∣ ∣ T w z 2 ∣ ∣ 2 2 \alpha||T_{wz_{\infty}}||_{\infty}^2+\beta||T_{wz_2}||_2^2 αTwz2+βTwz222最小化

函数hinfmix的一般形式是[gopt,h2opt,K,R,S]=hinfmix(P,r,obj,region,dkbnd,tol);
其中,P是控制对象的系统矩阵表示,r是一个3元向量,依次表示 z 2 z_2 z2、y和u的维数。 o b j = [ γ 0 , ν 0 , α , β ] obj=[\gamma_0,\nu_0,\alpha,\beta] obj=[γ0,ν0,α,β]是一个4元向量,表示 H ∞ / H 2 H_{\infty}/H_2 H/H2约束及 H ∞ 性 能 和 H 2 H_{\infty}性能和H_2 HH2性能的权重情况,其余部分是可选项。

本文是作者在日常学习生活中所作,难免有遗漏或错误,遇到问题的读者请点击给我写信向我的邮箱反馈,不胜感激。


http://www.ppmy.cn/news/261252.html

相关文章

df -h无响应问题解决

一、问题描述 1、linux下执行df -h 查看已挂在各分区的空间和目录情况&#xff0c;但执行后无反馈 二、影响 1、由于脚本程序调用df -h 判断磁盘空间情况进行日志等清理&#xff0c;故障导致磁盘空间占满不能清理&#xff0c;服务器不能访问。 三、问题分析 1、df -h和分区…

机器人运动学_不同D-H矩阵的对比

机器人运动学_不同D-H矩阵的对比 edit by XZF 在机器人学的运动学分析中&#xff0c;D-H矩阵是正运动学分析的基础&#xff0c;而对于如何建立D-H举证的连杆坐标系&#xff0c;有不同的方法&#xff0c;本文主要介绍其中的两种&#xff0c;并对这两种方法做下对比与分析。 …

hwd分别是长宽高_W H D在尺寸上代表什么??

展开全部 W是width的简62616964757a686964616fe58685e5aeb931333431366334写&#xff0c;就是宽度的意思&#xff1b;D是depth的简写&#xff0c;就是深度的意思&#xff1b;H是hight的简写&#xff0c;就是高度的意思。 Width *Depth* Height表示宽度 * 深度*高度 。 根据箱体…

如何判断视频数据是H264编码

H264详细介绍&#xff1a;H264编码总结 u8 is_h264_file(char *filename) {AVFormatContext *ifmt_ctx NULL;int ret 0;if ((ret avformat_open_input(&ifmt_ctx, filename, 0, 0)) < 0) {printf( "Could not open input file.");return 0;}// printf(&quo…

深度哈希-DHN

Deep Hashing Network for Efficient Similarity Retrieval AAAI 2016 源码&#xff1a;https://github.com/zhuhan1236/dhn-caffe 与上一篇文章类似&#xff0c;通过设计损失函数&#xff0c;使得最后全连接层的输出分布近似于二值{-1&#xff0c;1}分布。不过这篇论文从理论…

机器人导论 学习笔记2 - 运动学(D-H模型)

D-H模型 &#xff08;Denavit-Hartenberg&#xff09; 两种D-H模型&#xff08;标准D-H模型和改进D-H模型&#xff09;比较 1 将连杆坐标系的原点建立在连杆的关节首端 &#xff08;改进型DH&#xff09; 这种建立D-H坐标系的方法的步骤是&#xff1a; 画出各关节轴…

工业机器人(3)-- Denavit–Hartenberg(D-H)参数

在机械工程中&#xff0c;Denavit-Hartenberg 参数(也称为 DH 参数)是与一个特定约定相关联的四个参数&#xff0c;用于将参考坐标系附加到空间运动链或机器人操作臂的连杆上。 “Jacques Denavit and Richard Hartenberg introduced this convention in 1955 in order to sta…

一文详解机器人标准D-H参数与改进型D-H参数

标准D-H参数&#xff08;SDH&#xff09; 关节角&#xff1a;绕轴&#xff0c;旋转到的角度&#xff1b; 偏置距离&#xff1a;沿轴&#xff0c;移动到的距离&#xff1b; 连杆长度&#xff1a;从轴&#xff0c;移动到的距离&#xff1b; 连杆扭角&#xff1a;绕轴&#xf…