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

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

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

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

目录

 ⛳️赠与读者

💥1 概述

分布式无人机系统的自适应多智能体路径规划研究

一、多智能体系统自适应路径规划的基本原理

二、分布式无人机系统的架构特点

三、典型应用场景

四、现有路径规划算法分类

五、与集中式规划的核心差异

六、动态环境感知的影响机制

七、协同决策中的冲突解决策略

八、性能评估指标

九、实际部署的工程挑战

十、未来研究方向

📚2 运行结果

🎉3 参考文献 

🌈4 Matlab代码、文章下载


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

分布式无人机系统的自适应多智能体路径规划研究

摘要:
本文提出了一种新的学习算法——合作与几何学习算法(Cooperative and Geometric Learning Algorithm, CGLA),用于解决无人机(Unmanned Aerial Vehicles, UAVs)路径规划中的机动性、碰撞规避和信息共享问题。CGLA的主要贡献包括以下三个方面:
(1)CGLA是基于多无人机合作的路径规划算法。技术上,CGLA引入了一种新定义的个体代价矩阵,从而实现了高效的多无人机路径规划算法。
(2)理论上证明了计算代价矩阵的算法的收敛性,并且可以在多项式时间内计算从起点到目标点的最优路径(以路径长度和风险度量为优化目标)。
(3)在CGLA中,提出的个体权重矩阵可以基于无人机之间共享的几何距离和风险信息高效计算并自适应更新。
最后,本文首次引入了无人机导航的风险评估,并通过广泛的计算机仿真实验验证了CGLA在多无人机安全导航中的有效性和可行性。

1. 引言

无人机(Unmanned Aerial Vehicles, UAVs)已在军事领域和民用工业中得到广泛应用,过去十年中,这一领域的研究兴趣显著增长(Bortoff, 2008;Chandler & Pachter, 2002;Chandler & Rasmussen, 2000;Rabbath et al., 2004;Zheng et al., 2005)。无人机路径规划中的机动性、碰撞规避和信息共享问题是当前最具挑战性的课题之一。目前的研究进展已从单个无人机扩展到多个无人机(Bellingham et al., 2002;Flint & Fernandez, 2005;Kim et al., 2006;Nikolos et al., 2007;Wu et al., 2011)。

在以往的研究中,Voronoi图搜索(Bortoff, 2008)和可视图搜索(Bellingham et al., 2002)是最早用于单个无人机和多个无人机路径规划的方法,但这些方法仅在简单环境中有效。当地图信息部分可用,尤其是某些障碍物未被检测到时,这些方法会面临致命的失败。Kim等人(2006)报告的A2D方法可以被视为一种基于规则和推理的方法。当环境变得复杂时,该方法无法找到逃离危险区域的有效路径。进化算法(Nikolos et al., 2007)已被用作解决路径规划问题的有效候选方法,并能在短时间内提供可行的解决方案。与单个无人机不同,多个无人机的路径规划主要集中在协作框架和信息共享上(Bauso et al., 2004;Beard & Stepanyan, 2003;Dogman, 2003;Flint et al., 2002;Girard et al., 2007;Shanmugavel et al., 2010)。Bellingham等人(2002)的研究使用混合整数线性规划为多个无人机寻找全局路径以避免碰撞。然而,这种方法无法处理局部区域的突发变化。众所周知,当信息完整且计算资源不受限制时,动态规划(DP)可用于获得最优路径(Flint & Fernandez, 2005)。在Flint等人(2002)的研究中,提出了一种动态规划方法,用于为多个无人机生成近似最优的轨迹,以协同搜索目标。然而,多个无人机的路径规划通常依赖于个体行为,这并不直接适用于动态规划等全局方法。此后,提出了许多动态规划的改进版本。例如,Girard等人(2007)提出了一种所谓的随机动态规划方法,用于无人机路径规划。该方法实际上基于随机参数,特别是飞行次数。成本函数是动态规划及其变体的关键问题之一。Bauso等人(2004)使用质心与目标之间的距离,而Flint和Fernandez(2005)则利用距离和协作度量进行无人机路径规划。Dogman(2003)提出了一种基于威胁概率地图的路径规划算法,该地图是基于先验监视数据构建的。在Bauso等人(2004)和Beard和Stepanyan(2003)的研究中,研究人员开发了一种新颖的混合模型,并设计了用于信息管理的共识协议。他们进一步通过分布式、可扩展且次优的神经动态规划算法综合了局部预测控制器。自Zadeh(1974)开创性工作以来,模糊推理或近似推理一直是模糊学界的一个热门话题。在Zhao等人(2011)和Zheng等人(2011)的研究中,模糊推理方法将模糊推理视为一种优化过程,而非逻辑推理,用于无人机路径规划。一种明确的反馈机制和“虚拟障碍”方法,即所谓的基于反馈的组合推理(FBCRI),被嵌入到最优模糊推理方法中,以解决多个无人机的路径规划问题(Zhao et al., 2011;Zheng et al., 2011)。在FBCRI中,模糊规则库在推理过程中通过将新生成的规则纳入原始规则库中进行更新(Zheng et al., 2011)。此外,通过将一些虚拟子目标嵌入基于FBCRI的方法中,Zhao等人(2011)提出了一种基于虚拟子目标的新型协同路径规划方法(CPVS)。然而,各种模糊推理方法的分析鲁棒性分析通常非常复杂(Cai & Zhang, 2008;Zheng et al., 2011)。尽管在给定风险地图和逻辑反馈控制器的基础上,多个无人机的路径规划已取得显著进展,但据我们所知,基于自适应信息共享的多个无人机路径规划在文献中尚未得到充分研究。

本文从信息共享和强化学习(Even-Dar & Mansour, 2003;Watkins, 1989;Zhang et al., 2013)的角度出发,研究动态变化环境中单个无人机和多个无人机的路径规划问题。在路径规划中,当整个地图对规划者已知时,Q学习(Watkins, 1989,强化学习)表现出高性能(Mao et al., 2012;Zhang et al., 2013)。几何距离和信息共享被认为是地图部分区域发生变化时路径规划的重要元素(Zhang et al., 2013),基于所有无人机共享的权重矩阵和奖励矩阵的随机过程。然而,这种有价值的信息并未被传统的强化学习方法所利用。从理论方面来看,我们知道Q学习的收敛性仅以概率方式进行研究(Even-Dar & Mansour, 2003)。受上述观察的启发,本文提出了一种名为合作与几何学习算法(Cooperative and Geometric Learning Algorithm, CGLA)的新算法,基于几何距离和综合风险信息的标准构建通用路径规划模型。本文还对所提出方法的理论收敛性和复杂性进行了深入研究。

本文提出了个体权重矩阵和成本矩阵的概念,这些矩阵可实现单个无人机和多个无人机的高效路径规划。这两种矩阵可以动态更新,同时考虑距离信息和综合风险。如果所有无人机使用单一权重矩阵或成本矩阵(Zhang et al., 2013),当无人机之间无法通信时,会导致路径规划结果不佳,甚至效率更低。本文利用个体权重矩阵和成本矩阵进行更合理的路径规划。在多个无人机的情况下,提出了“虚拟障碍”并将其嵌入权重矩阵计算中,以防止可能的碰撞。广泛的计算机仿真结果表明,所提出的方法在路径长度和综合风险度量方面表现出色,验证了其作为路径规划标准的有效性。

本文的其余部分安排如下:第2节描述无人机威胁环境建模;第3节和第4节介绍CGLA算法的主要组成部分;第5节给出广泛的计算机仿真结果;第6节总结全文。

一、多智能体系统自适应路径规划的基本原理

多智能体系统的自适应路径规划通过动态调整各智能体的行为实现系统整体协同。其核心流程包括:

  1. 环境感知:通过传感器实时获取障碍物、其他智能体位置等动态信息。
  2. 目标设定:结合全局任务需求与个体任务分解,确定优先级和子目标。
  3. 路径规划:采用A*、Dijkstra等算法生成初始路径,并融入协同约束(如避障、资源分配)。
  4. 协作通信:通过分布式通信协议(如XRCE-DDS)交换路径状态,避免信息孤岛。
  5. 自适应调整:基于实时反馈(如突发障碍、任务变更)动态优化路径,利用强化学习的奖励机制调整策略。
  6. 实时更新:持续监测环境变化,支持毫秒级响应。

二、分布式无人机系统的架构特点

分布式架构的核心优势在于去中心化高鲁棒性,具体表现为:

  • 通信机制:支持多跳网络和动态自组织,减少对地面控制站(GCS)的依赖。
  • 节点功能分层:采用“主节点+子群”的混合架构,主节点负责任务分配,子群通过局部通信协调路径。
  • 容错设计:无单点故障(SPOF),节点失效时通过邻居节点接力完成路径重规划。
  • 能耗优化:基于动态功率调整和任务负载均衡,延长无人机续航。


三、典型应用场景
  1. 灾害救援:无人机集群快速构建临时通信网络,通过三维路径规划避开倒塌建筑物。
  2. 物流配送:车辆与无人机协同的“最后一公里”配送,动态调整路径以应对交通拥堵。
  3. 军事侦察:多无人机编队执行协同监视任务,通过轨迹跟踪和干扰规避实现隐蔽行动。
  4. 农业监测:异质无人机(固定翼+多旋翼)协同完成大范围农田扫描,自适应调整飞行高度和速度。

四、现有路径规划算法分类
算法类型代表方法优势局限性
强化学习SAC算法、多智能体Q-learning适应动态环境,支持在线学习训练时间长,需大量仿真数据
博弈论Nash均衡策略、优先级拍卖机制解决资源竞争冲突计算复杂度高,难以实时应用
进化算法改进遗传算法、粒子群优化(PSO)全局寻优能力强易陷入局部最优,需结合局部搜索
混合策略CBS(基于冲突的搜索)+DRL兼顾规划效率与动态适应性系统集成复杂度高

五、与集中式规划的核心差异
维度集中式规划分布式自适应规划
计算模式中央控制器全局优化局部决策+协同通信
可扩展性智能体数量增加时指数级复杂度上升线性扩展,适合大规模集群
鲁棒性依赖中心节点,单点失效导致系统崩溃局部故障不影响全局
实时性高延迟(需全局信息同步)毫秒级响应(局部信息处理)

六、动态环境感知的影响机制

动态感知通过多模态传感器融合(如LiDAR+视觉)实现:

  1. 环境建模:构建动态占据栅格地图,识别移动障碍物轨迹。
  2. 预测模块:基于卡尔曼滤波预测障碍物未来位置,提前触发路径调整。
  3. 重规划触发条件
    • 障碍物进入安全距离阈值(如5米)
    • 任务优先级变更(如紧急救援指令)
    • 能源储备低于临界值

七、协同决策中的冲突解决策略
  1. 优先级规则:为关键任务无人机分配更高通行权。
  2. 时空窗口协商:通过通信协商占用特定空域的时间片(如TDMA机制)。
  3. 博弈论策略:采用Stackelberg博弈模型协调资源竞争。
  4. 路径交换:在交叉节点交换通行顺序,结合速度调整避免碰撞。

八、性能评估指标
指标类别具体指标定义与意义
效率指标平均任务完成时间、路径长度反映系统整体协同效率
安全指标碰撞率、最小安全距离评估避障能力
能耗指标总能耗、能源均衡度衡量系统可持续性
鲁棒性指标故障恢复时间、路径调整频次测试系统抗干扰能力

九、实际部署的工程挑战
  1. 实时性瓶颈:复杂算法(如M*)的嵌入式移植需硬件加速(FPGA/GPU)。
  2. 通信可靠性:恶劣环境下(如强电磁干扰)保障低时延高吞吐通信。
  3. 异质平台协同:不同厂商无人机的协议兼容性与时钟同步。
  4. 安全验证:形式化验证路径规划结果的安全性(如模型检测)。

十、未来研究方向
  1. 跨模态学习:融合视觉、惯导等多源数据提升环境感知精度。
  2. 轻量化算法:开发适用于边缘计算设备的低功耗规划算法。
  3. 人机混合协同:引入人类操作员的直觉决策辅助复杂场景处理。
  4. 伦理与合规:研究空域管制规则嵌入路径规划的约束满足方法。

6. 结论

在本文中,我们提出了一种新的合作与几何学习方法,用于解决多无人机的路径规划问题。与其他现有方法相比,CGLA(合作与几何学习算法)能够提供一种非常简单的路径规划解决方案。在CGLA中深入研究的参数K和N可以平衡路径的安全性和经济性。参数K可以根据无人机的不同任务需求进行调整,从而设计出更具灵活性的路径。此外,CGLA还适用于多无人机协同规划。通过采用具有特定预定义参数(stepnum以及风险因子k)的虚拟障碍策略,可以有效避免不同无人机之间的碰撞。同时,我们还验证了基于个体权重矩阵和成本矩阵的信息共享在导航中的有效性。通过信息共享机制,每架无人机的视野范围得以扩展,从而可以实现更短且风险更小的路径。

CGLA的计算复杂度为O(N⁴)或O(N⁵),随着无人机数量N的增加而多项式增长。我们所有的仿真均在一台2.9 GHz双核处理器的计算机上完成,且运行效率很高。

未来的工作将集中在如何设置K值以及如何自适应更新Api,pr,以实现更高效的路径规划。另一项未来工作是利用粗网格和细网格在所提出的框架内设计快速路径规划算法。我们还将尝试将该算法应用于实际的无人机,以测试其在实际应用中的有效性。

📚2 运行结果

部分代码:

% Script to run basic CGLA implementation
clear
close all
clc

tic

%Initializes all the threats, uavs, and targets
[UAVs, threats, targets, n] = scenario5();
K = .25E3;

tic
% Run the simulation while any UAVs are active
numIt = 1;

while any(cellfun(@(c) c.state.active, UAVs)) && numIt < 50
    
    [updatedFlag, threats] = checkForThreats(UAVs, threats);
    
    if UAVs{1}.state.active == 0
       help = 'breakpoint'; 
    end
    if numIt == 1
        updatedFlag = true;
    end
    
    if updatedFlag
        
        A = computeWeightMatrix(n, threats, K);
        UAVs = updateTargets(UAVs, targets, A);
        UAVs = computeCostMatrix(UAVs, A, targets);
        
        UAVs = updatePaths(UAVs, targets);
        
    end
    
    [UAVs, uavStop, targets] = updateStates(UAVs, targets);
    if uavStop
        UAVs = updateTargets(UAVs, targets, A);
        UAVs = computeCostMatrix(UAVs, A, targets);
        UAVs = updatePaths(UAVs, targets);
        numUavs = size(UAVs, 2);
        for i = 1:numUavs
            if UAVs{i}.trait.target == 1
                UAVs{i}.state.active = false;
            end
        end
    end
    numIt = numIt + 1
    if numIt == 15
        help = 'breakpoint here';
    end
    
end

% Plot the threats
f = plotThreats(n, threats);
hold on

% Plot the optimal path and the target
for ii = 1:length(UAVs)
    
    uavX = UAVs{ii}.trait.stateHistory(:, 1);
    uavY = UAVs{ii}.trait.stateHistory(:, 2);
    
%     plot(uavX./n, uavY./n, 'k', 'LineWidth', 1.5);
    plot(uavX./n, uavY./n, 'k');
    hold on
    plot(uavX(1)./n, uavY(2)./n, 'or', 'MarkerFaceColor', 'r');
    
end

% Ignore the first target (home base)
for jj = 2:length(targets)
    
    targX = targets{jj}.state.x;
    targY = targets{jj}.state.y;
    
    
    plot(targX/n, targY/n, 'ob', 'MarkerFaceColor', 'b');
    
end

% xlabel('x');
% ylabel('y');
% axis(n*[0, 1, 0, 1]);
%
% % Plot level curves on the threats
% [X, Y] = meshgrid(linspace(1, n, 10*n)); %// all combinations of x, y
%
% Z = zeros(size(X));
% for ii = 1:length(threats)
%
%     mu = [threats{ii}.state.x, threats{ii}.state.y];
%     sigma = threats{ii}.trait.cov;
%
%     Zi = mvnpdf([X(:) Y(:)], mu, sigma);
%     Zi = reshape(Zi, size(X));
%     Z = Z + Zi;
%
% end
%
% contour(X, Y, Z);
%
% axis equal
% grid on

toc

🎉3 参考文献 

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)

[1]王方召.面向暖涡观测的多智能体路径规划系统实现[D].南京信息工程大学,2022.

[2]李东华,江驹,姜长生.多智能体强化学习飞行路径规划算法[J].电光与控制, 2009, 16(10):5.

[3]邢娜,邸昊天,尹文杰,等.基于自适应多态蚁群优化的智能体路径规划[J].北京航空航天大学学报, 2023.

🌈Matlab代码、文章下载

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

Logo

更多推荐