【鲁棒】分布式港口-哈密顿系统(Port–Hamiltonian)鲁棒调控的李雅普诺夫方法(Matlab代码实现)

 👨‍🎓个人主页:研学社的博客    

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

文献来源:

本文研究了边界控制的无限维波特-哈密顿系统的鲁棒输出跟踪和抗扰,包括欧拉-伯努利梁方程等二阶模型。控制设计采用内部模型原理,稳定性分析采用李雅普诺夫方法实现。与关于同一主题的现有工作相反,没有对所考虑的偏微分方程类的外部适定性做出假设。研究结果应用于原子力成像中使用的压电驱动管的鲁棒跟踪。

原文摘要:

Abstract:

This article studies robust output tracking and disturbance rejection for boundary-controlled infinite-dimensional Port–Hamiltonian systems including second-order models such as the Euler–Bernoulli beam equation. The control design is achieved using the internal model principle and the stability analysis using a Lyapunov approach. Contrary to existing works on the same topic, no assumption is made on the external well-posedness of the considered class of PDEs. The results are applied to robust tracking of a piezo actuated tube used in atomic force imaging.

📚2 运行结果

 

部分代码:

% %%--Beam Parameters--%%
 
L = 0.05;                       %  Lenght
La = 0.003;                     %  Width
Ep = 0.002;                     %  Thickness
As = La*Ep;                     %  Trasversal section Surface
rho = 936;                      %  Density
E = 4.14e+09;                   %  Elastic modulus
Kp = E/(2*(1+0.46));            %  Shear modulus
I = (Ep^3*La)/12;               %  Moment of inertia
Irho = I*rho;                   
EI = E*I;
rhoA = rho*As;
rt=1e-4;                        %  Translational Dissipation
rr=1e-4;                        %  Totational Dissipation

%%--Discretization parameters--%%

Lab = L/N;

spgrid = linspace(0,L,N+1);

%%--Discretized system parameters--%%

Rho_ab = rhoA*Lab;
Irho_ab = Irho*Lab;
Kp_ab = Kp/Lab;
EI_ab = EI/Lab;

%%--Matrices construction--%%

%--Interconnection matrix--%
Ji = zeros(N);
for k=1:N
    for j=1:N
        if k == j
            Ji(k,j) = -2;
        elseif j > k
            Ji(k,j) = 0;
        else
            Ji(k,j) = 4*(-1)^(k+j-1);
        end
    end
end

S = zeros(N);
for k=1:N
    for j=1:N
        if k == j
            S(k,j) = -Lab;
        end
    end
end

J=[zeros(N), Ji, zeros(N), S;
   -Ji', zeros(N), zeros(N) , zeros(N);
  zeros(N), zeros(N), zeros(N), Ji;
  -S', zeros(N), -Ji', zeros(N)];

%--Energy Matrix--%

Q = zeros(4*N);
for i=1:4*N
    for j=1:4*N
        if i==j
            if i<=N 
                Q(i,j)=Kp_ab;
            elseif (i>N) && (i<=2*N)
                Q(i,j)=1/Rho_ab;
            elseif (i>2*N) && (i<=3*N)
                Q(i,j)=EI_ab;
            elseif (i>3*N) && (i<=4*N)
                Q(i,j)= 1/Irho_ab;
            end
        end
    end
end

%--Dissipation Matrix--%

Rt=zeros(N);
for i=1:N
    for j=1:N
        if i == j
            Rt(i,j) = rt*Lab; 
        end
    end
end
Rr=zeros(N);
for i=1:N
    for j=1:N
        if i == j
            Rr(i,j) = rr*Lab;
        end
    end
end
R=[zeros(N,4*N); zeros(N), Rt, zeros(N,2*N); zeros(N,4*N); zeros(N,3*N), Rr];

%%--Dynamic System--%%

A=(J-R)*Q;
B = zeros(4*N, 1);
for j=3*N+1:4*N
B(j,1)=(-1)*(-0.5)^(j-1)/0.5^j;
end
C=B'*Q;
D = 0;

%%--System Definition--%%
Sys=struct;
Sys.A=A;
Sys.B=B;
Sys.Bd = B; % Input disturbance
Sys.C=C;
Sys.D=D;
Sys.Dd=D;   % Input disturbance


% Initial state of the system (the zero initial state x0=0)
x0 = zeros(size(A,1),1);

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]Lassi Paunonen, Yann Le Gorrec (2021) Robust Regulation of a Boundary Controlled Timoshenko Beam Model 

🌈4 Matlab代码实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值