多智能体系统协同一致性问题(四)

        上文讨论的是跟随者之间的拓补结构为无向连通图的情况,本文讨论跟随着之间的拓补结构为有向连通图的情况。

1、模型构建

        当整个智能体网络包含一个有向生成树(根节点为领航者),且跟随着之间的拓补图为有向平衡图,定义变量:

\boldsymbol{\xi _{i} (t) = \sum_{j=0}^{N} a_{ij} (x_i(t)-x_j(t) )}

并设计如下控制器:

\boldsymbol{u_i(t)=cK_2\xi_i(t)}

其中,\boldsymbol{K_2} 为待求的控制增益矩阵,\boldsymbol{c}为加权参数。

2、模型求解

        接下来给出能够保证系统渐进稳定的条件,并求解控制器的增益矩阵。

        定理3.4:给定矩阵\boldsymbol{Q_2=Q_2^T>0} 和 \boldsymbol{R_2=R_2^T>0} ,若如下线性矩阵不等式有正定解\boldsymbol{\hat{P}_2=\hat{P}_2^T>0} :

\boldsymbol{\begin{bmatrix} A\hat{P}_2+\hat{P}_2A^T-BR_2^{-1}B^T & \hat{P}_2\sqrt{Q_2} \\ * & -I^P \end{bmatrix} \leq 0}

则系统渐进稳定。此外控制增益矩阵为 \boldsymbol{K_2=-R_2^{-1}B^T\hat{P}_2^{-1}} ,且加权参数\boldsymbol{c} 满足

 \boldsymbol{c\geq 1/\lambda _{min}(L_1+L_1^T)}

3、仿真案例

        以某飞行器的协同跟踪控制问题为研究背景,系统的线性化模型如下:

\boldsymbol{\begin{bmatrix} \dot{v}_i(t)\\ \dot{\alpha}_i(t)\\ \dot{q}_i(t)\\ \dot{\tilde{\alpha}}_i(t) \end{bmatrix} = \begin{bmatrix} -2.98 &-0.93 & 0 &-0.034 \\ -0.99 & -0.21 &0.035 &-0.0011 \\ 0& 0 & -2&1 \\ 0.39& -5.555 &0 & -1.89 \end{bmatrix} \begin{bmatrix} v_i(t)\\ \alpha_i(t)\\ q_i(t)\\ \tilde{\alpha}_i(t) \end{bmatrix} + \begin{bmatrix} -0.032& 0.5 &1.55\\ 0& 0 &0\\ 0&0 &0\\ -1.6&1.8&1 \end{bmatrix} \begin{bmatrix} \delta _i^{rud}(t)\\ T_i(t)\\ \delta _i^{sta}(t) \end{} } 四个状态量分别为:俯仰角速度、真空速、攻角、俯仰角,三个输入量分别为:升降舵操作指令、总推力、水平尾翼操作指令。

飞行器集群网络拓补结构如下:

\boldsymbol{0\rightarrow 1\rightarrow 2\rightarrow 3\rightarrow 1}

其余参数见代码。

4、编程求解

clc
clear
close all
dt=0.001;
t=0:dt:50;
A=[-2.98 0.93 0 -0.034;
    -0.99 -0.21 0.035 -0.0011;
    0 0 -2 1;
    0.39 -5.555 0 -1.89];
B=[-0.032 0.5 1.55;
    0 0 0;
    0 0 0;
    -1.6 1.8 1];
x=[50 -100 50 75;
    680 -340 340 340;
    50 100 -50 100;
    100 550 50 -75];
K2=0.001*[0.0237 -0.1133 0.0109 0.062;
    -0.1039 0.3065 -0.0109 -0.0751;
    -0.2696 0.6612 -0.0022 -0.0563];
L=[0 0 0 0;
    -1 -2 0 -1;
    0 -1 1 0;
    0 0 -1 1];
c=2.3;
for i=1:length(t)
    ksi=L*x;
    u=c*K2*ksi;
    X1(:,i)=x(:,1);
    X2(:,i)=x(:,2);
    X3(:,i)=x(:,3);
    X4(:,i)=x(:,4);
    x(:,1)=x(:,1)+A*x(:,1)*dt;
    x(:,2:4)=x(:,2:4)+(A*x(:,2:4)+B*u(:,2:4))*dt;
end
subplot(4,1,1)
plot(t,X1(1,:),t,X2(1,:),t,X3(1,:),t,X4(1,:))

subplot(4,1,2)
plot(t,X1(2,:),t,X2(2,:),t,X3(2,:),t,X4(2,:))

subplot(4,1,3)
plot(t,X1(3,:),t,X2(3,:),t,X3(3,:),t,X4(3,:))

subplot(4,1,4)
plot(t,X1(4,:),t,X2(4,:),t,X3(4,:),t,X4(4,:))

5、参考文献
 1、《多智能体系统群集协同控制方法及应用 》,作者:张卓、张泽旭、李惠平、张守旭 , 西北工业大学出版社

        (悄悄的说:文中的公式和数据全是这本书上摘抄,只有代码是自己写的)


写在最后:
        写“多智能体系统集群协同控制”专栏的主要原因是该领域入门级的代码在网络上很难找到,阅读了参考文献中的这本书后,觉得这本书中的案例有很高的可复现性,于是尝试着复现了以下,结果前三个案例都成功了,于是想着将书中的案例写成博客分享给大家。如果想要学习更为详细的证明过程,可以购买这本书学习,书中的模型是用Simulink实现的。目前已实现该书第三章的五个案例。

        关于本博客的相关问题以及存在的错误,如有需要,欢迎在评论区交流!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值