上文讨论的是跟随者之间的拓补结构为无向连通图的情况,本文讨论跟随着之间的拓补结构为有向连通图的情况。
1、模型构建
当整个智能体网络包含一个有向生成树(根节点为领航者),且跟随着之间的拓补图为有向平衡图,定义变量:
并设计如下控制器:
其中, 为待求的控制增益矩阵,
为加权参数。
2、模型求解
接下来给出能够保证系统渐进稳定的条件,并求解控制器的增益矩阵。
定理3.4:给定矩阵 和
,若如下线性矩阵不等式有正定解
:
则系统渐进稳定。此外控制增益矩阵为 ,且加权参数
满足
。
3、仿真案例
以某飞行器的协同跟踪控制问题为研究背景,系统的线性化模型如下:
四个状态量分别为:俯仰角速度、真空速、攻角、俯仰角,三个输入量分别为:升降舵操作指令、总推力、水平尾翼操作指令。
飞行器集群网络拓补结构如下:
其余参数见代码。
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实现的。目前已实现该书第三章的五个案例。
关于本博客的相关问题以及存在的错误,如有需要,欢迎在评论区交流!