【无人地面车】包括UGV和UAV在内的异构混合阶多智能体系统的一致性(Matlab实现)

“在代码的海洋里,有无尽的知识等待你去发现。我就是那艘领航的船,带你乘风破浪,驶向代码的彼岸。

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

异构混合阶多智能体系统的一致性是指在一个由不同类型、不同层级的智能体组成的系统中,如何实现这些智能体之间协调一致的行为。这种系统通常包括地面无人车辆(Unmanned Ground Vehicle, UGV)和无人机(Unmanned Aerial Vehicle, UAV)等不同类型的智能体,它们各自具有不同的功能、能力和操作范围。

应用方向 :

 搜救任务:在灾难发生时,UGV 和 UAV 协同工作,UGV 在地面上搜索被困人员,UAV 在空中提供视野支持。

农业监测:UGV 在田间巡逻,收集土壤湿度等数据;UAV 则从空中拍摄作物生长情况。

 军事行动:UGV 和 UAV 在复杂的环境中执行侦察、监视和攻击任务,提高作战效能。

异构混合阶多智能体系统的一致性控制是一个复杂而重要的研究领域,它涉及到多个学科的知识,包括控制理论、计算机科学、人工智能等。通过合理的控制策略和一致性协议,可以实现智能体之间的有效协作,从而提高整个系统的性能和效率。随着技术的进步,未来这类系统的应用场景将会更加广泛,从民用领域到军事领域都将发挥重要作用。

📚2 运行结果

主函数部分代码:

clear
clc


%% Laplacian Matrix
L = [2 -1 -1  0  0
    -1  3 -1 -1  0
    -1 -1  3  0 -1
     0 -1  0  2 -1
     0  0 -1 -1  2];


%% Initial States
% PositionX, PositionY, VeloctiyX, VelocityY (4)
% UGV1 = [90, 50,  10, 10]';
% UGV2 = [65, 10,  10, 10]';
% UGV3 = [55, 20,  10, 10]';
% PositionX, PositionY, PositionZ, VeloctiyX, VelocityY, VelocityZ,
% Pitch, Phi, Psi, dPitch, dPhi, dPsi (12)
% UAV4 = [25, 10, 10,  10, 10, 00,  10, 10, 00,  10, 10, 00]';
% UAV5 = [10, 30, 10,  10, 10, 00,  10, 10, 00,  10, 10, 00]';

% X0 = [UGV1; UGV2; UGV3; UAV4; UAV5];

P1X(1,1) = 90; P1Y(1,1) = 50; V1X(1,1) = 0; V1Y(1,1) = 15;
P2X(1,1) = 65; P2Y(1,1) = 10; V2X(1,1) = 10; V2Y(1,1) = 0;
P3X(1,1) = 55; P3Y(1,1) = 20; V3X(1,1) = 20; V3Y(1,1) = 15;

P4X(1,1) = 30;       P4Y(1,1) = 50;     P4Z(1,1) = 50;
V4X(1,1) = 00;       V4Y(1,1) = 10;     V4Z(1,1) = 0;
gtheta4(1,1) = 10;   gphi4(1,1) = 30;   gpsi4(1,1) = 0;
gdtheta4(1,1) = 00;  gdphi4(1,1) = 00;  gdpsi4(1,1) = 0;

P5X(1,1) = 90;       P5Y(1,1) = 30;     P5Z(1,1) = 50;
V5X(1,1) = 00;       V5Y(1,1) = 10;     V5Z(1,1) = 0;
gtheta5(1,1) = 20;   gphi5(1,1) = 15;   gpsi5(1,1) = 00;
gdtheta5(1,1) = 00;  gdphi5(1,1) = 00;  gdpsi5(1,1) = 00;

% Time parameters
tBegin = 0;
tFinal = 50;
dT = 0.01;
times = (tFinal-tBegin)/dT;
time(1,1) = 0;


%% Calculate
r1 = 0.1;
r2 = 0.8;
r3 = 4.0;
r4 = 1.5;
global protocol
protocol = 1;   % (1:Dynamic/2:Static)

for i=1:times
    time(i+1,1) = time(i,1) + dT;
    if protocol == 1
    u1x = r1*( (P2X(i,:)-P1X(i,:))+(P3X(i,:)-P1X(i,:)) ) + r2*( (V2X(i,:)-V1X(i,:))+(V3X(i,:)-V1X(i,:)) );
    u2x = r1*( (P1X(i,:)-P2X(i,:))+(P3X(i,:)-P2X(i,:)+(P4X(i,:)-P2X(i,:))) ) + r2*( (V1X(i,:)-V2X(i,:))+(V3X(i,:)-V2X(i,:))+(V4X(i,:)-V2X(i,:)) );
    u3x = r1*( (P1X(i,:)-P3X(i,:))+(P2X(i,:)-P3X(i,:)+(P5X(i,:)-P3X(i,:))) ) + r2*( (V1X(i,:)-V3X(i,:))+(V2X(i,:)-V3X(i,:))+(V5X(i,:)-V3X(i,:)) );
    u4x = r1*( (P2X(i,:)-P4X(i,:))+(P5X(i,:)-P4X(i,:)) ) + r2*( (V2X(i,:)-V4X(i,:))+(V5X(i,:)-V4X(i,:)) ) + r3*( -gtheta4(i,:)) + r4*( -gdtheta4(i,:));
    u5x = r1*( (P3X(i,:)-P5X(i,:))+(P4X(i,:)-P5X(i,:)) ) + r2*( (V3X(i,:)-V5X(i,:))+(V4X(i,:)-V5X(i,:)) ) + r3*( -gtheta5(i,:)) + r4*( -gdtheta5(i,:));
    u1y = r1*( (P2Y(i,:)-P1Y(i,:))+(P3Y(i,:)-P1Y(i,:)) ) + r2*( (V2Y(i,:)-V1Y(i,:))+(V3Y(i,:)-V1Y(i,:)) );
    u2y = r1*( (P1Y(i,:)-P2Y(i,:))+(P3Y(i,:)-P2Y(i,:)+(P4Y(i,:)-P2Y(i,:))) ) + r2*( (V1Y(i,:)-V2Y(i,:))+(V3Y(i,:)-V2Y(i,:))+(V4Y(i,:)-V2Y(i,:)) );
    u3y = r1*( (P1Y(i,:)-P3Y(i,:))+(P2Y(i,:)-P3Y(i,:)+(P5Y(i,:)-P3Y(i,:))) ) + r2*( (V1Y(i,:)-V3Y(i,:))+(V2Y(i,:)-V3Y(i,:))+(V5Y(i,:)-V3Y(i,:)) );
    u4y = r1*( (P2Y(i,:)-P4Y(i,:))+(P5Y(i,:)-P4Y(i,:)) ) + r2*( (V2Y(i,:)-V4Y(i,:))+(V5Y(i,:)-V4Y(i,:)) ) + r3*( -gphi4(i,:)) + r4*( -gdphi4(i,:));
    u5y = r1*( (P3Y(i,:)-P5Y(i,:))+(P4Y(i,:)-P5Y(i,:)) ) + r2*( (V3Y(i,:)-V5Y(i,:))+(V4Y(i,:)-V5Y(i,:)) ) + r3*( -gphi5(i,:)) + r4*( -gdphi5(i,:));
    end

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]石哲鑫,冯永进,于江龙,等.无人机-无人车跨域编队跟踪的分布式博弈策略[J].无人系统技术,2024,7(02):28-38.DOI:10.19942/j.issn.2096-5915.2024.02.14.

[2]王浩淼,袁莞迈,马可,等.基于联盟博弈的无人机/无人车异构集群验证[J].工程科学学报,2024,46(07):1207-1215.DOI:10.13374/j.issn2095-9389.2023.10.25.002.

🌈4 Matlab代码实现

图片

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值