内容包括:多目标跟踪 时变编队队形 多目标协同围捕 文献+代码
中文名称:多领导者线性多智能体系统的时变队形跟踪
英文名称:Time-Varying Formation Tracking for Linear Multiagent Systems With Multiple Leaders
一、代码及文献获取
1. 代码链接:哔哩哔哩工房 (bilibili.com)
2. 视频链接:TAC: 多目标跟踪 时变编队 多目标围捕_哔哩哔哩_bilibili
二、主要内容
研究了具有多领导者的线性多智能体系统的时变队形跟踪问题,该问题中follower的状态在跟踪多个领导者状态的凸组合时形成一个预定义的时变队形。追随者分为知者和知者,知者的邻居集包含所有领导者,知者的邻居集不包含领导者。利用相邻的相对信息构造了编队跟踪协议。利用拉普拉斯矩阵的性质,给出了具有多领导者的多智能体系统实现时变队列跟踪的充分必要条件,并给出了队列跟踪的可行性约束。通过求解代数Riccati方程,提出了一种设计地层跟踪协议的方法。所得结果可用于处理具有一个或多个目标/领导者的线性多智能体系统的时变队形跟踪问题、目标封闭问题和共识跟踪问题。数值模拟验证了理论结果的有效性。
三、主要代码
% 编队控制
% 考虑无向拓扑下的时变编队问题
clear all;close all;
A=[zeros(3),eye(3);
zeros(3),zeros(3)]; % 系统状态矩阵
B=[zeros(3);eye(3)]; % 系统矩阵
L=[1 -1 0 0 0 0 0 0 0 0 0 0 0
0 3 0 0 0 0 0 0 0 0 -1 -1 -1
-1 0 1 0 0 0 0 0 0 0 0 0 0
0 0 -1 1 0 0 0 0 0 0 0 0 0
0 0 0 -1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 1 -1 0 0 0 0 0 0
0 0 0 0 0 0 1 -1 0 0 0 0 0
0 0 0 0 0 0 -1 5 0 -1 -1 -1 -1
0 0 0 0 0 0 0 -1 1 0 0 0 0
0 0 0 0 0 0 0 0 -1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0];%此处给出L
L1=[1 -1 0 0 0 0 0 0 0 0
0 3 0 0 0 0 0 0 0 0
-1 0 1 0 0 0 0 0 0 0
0 0 -1 1 0 0 0 0 0 0
0 0 0 -1 1 0 0 0 0 0
0 0 0 0 0 1 -1 0 0 0
0 0 0 0 0 0 1 -1 0 0
0 0 0 0 0 0 -1 5 0 -1
0 0 0 0 0 0 0 -1 1 0
0 0 0 0 0 0 0 0 -1 1 ];%此处给出L1
L2=[0 0 0
-1 -1 -1
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
-1 -1 -1
0 0 0
0 0 0] %此处给出L2
N = size(L,1); % 智能体个数
%% 初始条件设置
for i=1:78
xx(i)=(rand(1,1)-0.5)*8;
end
x0_1=xx(:,1:6)'; % 初始位置 %结束位置 x = 468000
x0_2=xx(:,7:12)';
x0_3=xx(:,13:18)';
x0_4=xx(:,19:24)';
x0_5=xx(:,25:30)';
x0_6=xx(:,31:36)';
x0_7=xx(:,37:42)';
x0_8=xx(:,43:48)';
x0_9=xx(:,49:54)';
x0_10=xx(:,55:60)';
xL_1=xx(:,61:66)';
xL_2=xx(:,67:72)';
xL_3=xx(:,73:78)';
% 6个智能体 初始位置
x0=xx'; % 6 * 所有状态变量储存
n=round(tf/+1);
zout=zeros(n,78);tout=zeros(n,1); % 6*(8+1) = 54状态方程
i=0;
for t=t0:st:tf
k1=st*dE10( t,x0,K );
k2=st*dE10( t+0.5*st,x0+0.5*k1,K );
k3=st*dE10( t+0.5*st,x0+0.5*k2,K );
k4=st*dE10( t+st,x0+k3,K);
x_mid=x0+1/6*(k1+2*k2+2*k3+k4);%四阶定步长龙格库塔法
x0=x_mid;
% 这里得到的是 个体的 真实状态
tout(i)=t;
end