• 【路径规划】考虑分配次序的多无人机协同目标分配建模与遗传算法求解


    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

    🍎个人主页:Matlab科研工作室

    🍊个人信条:格物致知。

    更多Matlab仿真内容点击👇

    智能优化算法  神经网络预测 雷达通信  无线传感器

    信号处理 图像处理 路径规划 元胞自动机 无人机

    ⛄ 内容介绍

    本文研究了动态战场环境中的多无人机协同目标分配(Multi-UAVscooperativetargetassignment,MUCTA)问题.首先通过分析UAV分配次序对打击任务总收益的影响,设计了动态战场环境的更新规则.将航程代价和任务代价作为惩罚项修正目标函数,建立了考虑分配次序的UAVs协同目标分配优化模型.然后针对模型的物理意义改进了遗传算法基因编码方式,设计了MUCTA遗传算法.该算法利用状态转移思想,引进SDR算子获得多种分配次序种群,同时以单行变异算子修正UAV与目标对应关系,并采用最优个体法和轮盘赌法筛选子代个体.最后仿真结果验证了所设计算法的有效性.​

    MUCTA问题建模(ModelofMUCTA)

    考虑分配次序的优化目标建模

    在实际应用中,多无人机任务分配往往是多种类型目标分配的综合求解.多机协同目标分配问题求解策略如图1所示,实线箭头表示分配过程,虚线箭头表示更新过程,我方指挥所根据我方无人机数n将一次战术分配过程分为n个轮次,每一轮次根据战场环境分配出一架无人机攻击相应目标,评估该次分配结果后更新战场环境,依据更新的战场环境进行下一轮任务分配,如此循环直到所有无人机被全部分配.在一次战术分配中,需要着重考虑以下三点.

    图1考虑分配次序的目标分配

    ​1)对于敌方目标,存在着相互依赖关系和主次次序的敌方目标称之为联合目标,联合目标的生存概率和权重构成战场环境.而每一轮攻击结果都将变更环境情况,因此两轮任务分配之间具有相关性.例如,实际战场中雷达和指挥所失去功能会对地空导弹阵地和导弹发射架等其他目标产生影响.即某个目标被摧毁后可能引发其他一个或多个目标丧失功能,继而引发其他目标权重变化,最终影响整体战场环境.故分配次序是否合理,较大程度影响着战术分配的优劣.

    2)对于我方来说,我方无人机火力配置存在差异,本文将该差异考虑为无人机携弹类型和攻击命中率.同时由于攻击对象为联合目标,攻击一个目标所得收益可能来源于多个目标.如何为我方无人机分配最适合的攻击目标,以期能够获得最大程度收益,同样是制定战术分配中需要考虑的核心问题.

    3)实际战场复杂多样,我方无人机将面临多种限

    制因素.首先在保证飞行安全的前提下,如何规划有效可飞航迹,是需要解决的首要问题.其次各机航程大小不一,所付出航程代价(如消耗燃料)应当分别考虑.最后,无人机可能面临一系列任务要求,违背任务要求则需付出任务代价.考虑上述因素,更符合真实战场环境,也增加了一次战术分配的合理性和全面性.

    ⛄ 部分代码

    %%

    %希望将威胁区域分离出来表现,这样可以灵活的设定威胁区域的显示和数据

    %威胁区应该来自于雷达,因此分为静态环境和动态环境的表示

    %先将半球作为静态环境显示

    %

    %%

    classdef CTread    

        properties

        end    

        methods        

            function draw(obj)            

               % figure('Renderer','opengl')

                %通过调整hold on 前后的次序,可以改变显示效果,如果将dem放在

                %前面,那么圆可以变成黄色。            

                obj.drawsphere(120,70,0,23); 

                hold on;   

                obj.drawsphere(110,140,0,26);

                obj.drawsphere(52,103,0,30);            

                %模拟一个假想的飞行平面

                %obj.flyplan();

            end​

            %绘制半圆的函数,可以用来显示威胁区域

            %静态雷达显示

            

            function drawsphere(obj,x0,y0,z0,r)

                [x,y,z]=sphere;

                x=r*x+x0;

                y=r*y+y0;

                z=r*z+z0;

                  for i=1:size(z,1)

                    for j =1:size(z,2)  

                        if z(i,j)<=0

                            z(i,j)=0;

                        end

                    end

                  end

                mm = surf(x,y,z,'facecolor','yellow','faceAlpha',0.5); 

                set(mm,'FaceColor','yellow','faceAlpha',0.5);

                grid on;            

            end     

         

            

            %临时测试绘制一个飞行切平面,同时绘制一个模拟的线来指导飞行效果

            function flyplan(obj)

                [xx,yy]=meshgrid(1:10:180,1:10:230);

                zz=ones(23,18)*20;

                zz = surf(xx,yy,zz,'facecolor','yellow','faceAlpha',0.5);

                set(zz,'FaceColor','yellow','faceAlpha',0.5);

                grid on;

            end         

        end

    end

    ⛄ 运行结果

    ⛄ 参考文献

    [1]赵明, 苏小红, 马培军,等. 复杂多约束UAVs协同目标分配的一种统一建模方法[J]. 自动化学报, 2012, 38(12):11.

    ❤️ 关注我领取海量matlab电子书和数学建模资料

    ❤️部分理论引用网络文献,若有侵权联系博主删除

  • 相关阅读:
    Hadoop参数配置
    【VeighNa】开始量化交易——第三章:构建价差套利
    Jmeter线程组-上
    Multivariate Time-series Anomaly Detection viaGraph Attention Network
    spring注解之@SpringBootApplication注解
    SAMBA配置
    传统Tier1「杀红眼」!Mobileye阵营寻求「强化」感知能力
    骨传导麦克风+耳塞模式,打开飞利浦A7607的“隐藏功能”
    《深入理解linux内核》-1-绪论
    从零实现的浏览器Web脚本
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/127593427