✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
无人机(Unmanned Aerial Vehicle,UAV)是一种具备自主飞行和独立执行任务能力的新型作战平台,不仅能够执行军事侦察、监视、搜索、目标指向等非攻击性任务,而且还能够执行对地攻击和目标轰炸等作战任务。随着无人机技术的快速发展,越来越多的无人机将应用在未来战场。某无人机作战部队现配属有P01~P07 等7 个无人机基地,各基地均配备一定数量的FY 系列无人机。其中FY-1 型无人机主要担任目标侦察和目标指示,FY-2 型无人机主要担任通信中继,FY-3 型无人机用于对地攻击。FY-1 型无人机的巡航飞行速度为200km/h,最长巡航时间为10h,巡航飞行高度为1500m;FY- 2 型、FY-3 型无人机的巡航飞行速度为300km/h,最长巡航时间为8h,巡航飞行高度为5000m。受燃料限制,无人机在飞行过程中尽可能减少转弯、爬升、俯冲等机动动作,一般来说,机动时消耗的燃料是巡航的2~4 倍。最小转弯半径70m。FY-1 型无人机可加载S-1、S-2、S-3 三种载荷。其中载荷S-1 系成像传感器,采用广域搜索模式对目标进行成像,传感器的成像带宽为2km;载荷S-2 系光学传感器,为达到一定的目标识别精度,对地面目标拍照时要求距目标的距离不超过7.5km,可瞬时完成拍照任务;载荷S-3 系目标指示器,为制导炸弹提供目标指示时要求距被攻击目标的距离不超过15km。由于各种技术条件的限制,该系列无人机每次只能加载S-1、S-2、S-3 三种载荷中的一种。为保证侦察效果,对每一个目标需安排S-1、S-2 两种不同载荷各自至少侦察一次,两种不同载荷对同一目标的侦察间隔时间不超过4 小时。为保证执行侦察任务的无人机与地面控制中心的联系,需安排专门的FY-2 型无人机担任通信中继任务,通信中继无人机与执行侦察任务的无人机的通信距离限定在50km 范围内。通信中继无人机正常工作状态下可随时保持与地面控制中心的通信。FY-3 型无人机可携带6 枚D-1 或D-2 两种型号的炸弹。其中D-1 炸弹系某种类型的“灵巧”炸弹,采用抛投方式对地攻击,即投放后炸弹以飞机投弹时的 速度作抛物运动,当炸弹接近目标后,可主动寻的攻击待打击的目标,因此炸弹 落点位于目标中心 100m 范围内可视为有效击中目标。D-2 型炸弹在激光制导模式下对地面目标进行攻击,其飞行速度为200m/s,飞行方向总是指向目标。攻击同一目标的D-2 型炸弹在整个飞行过程中需一架FY-1 型无人机加载载荷S-3 进行全程引导,直到命中目标。由于某些技术上的限制,携带D-2 型炸弹的无人机在投掷炸弹时要求距目标10km~30km,并且要求各制导炸弹的发射点到目标点连线的大地投影不交叉(以保证弹道不交叉)。为达到一定的毁伤效果,对每个目标(包括雷达站和远程搜索雷达)需成功投掷10 枚D-1 型炸弹,而对同一目标投掷2 枚D-2 型炸弹即可达到相同的毁伤效果。多架该型无人机在同时执行任务时可按照一定的编队飞行,但空中飞行时两机相距要求200m 以上。由于基地后勤技术保障的限制,同一基地的两架无人机起飞时间间隔和降落回收的时间间隔要求在3 分钟以上。无人机执行完任务后需返回原基地。根据任务要求,需完成侦察和打击的目标有A01~A10 等10 个目标群,每个目标群包含数量不等的地面目标,每个目标群均配属有雷达站(目标以及各目标群配署雷达的位置示意图见附件2,具体坐标参数见附件4),各目标群配属雷达- 6 - 对FY 型无人机的有效探测距离为70km。请结合实际建立模型,研究下列问题:(1)一旦有侦察无人机进入防御方某一目标群配属雷达探测范围,防御方10 个目标群的配属雷达均开机对空警戒和搜索目标,并会采取相应对策,包括发射炸弹对无人机进行摧毁等,因此侦察无人机滞留防御方雷达探测范围内时间越长,被其摧毁的可能性就越大。现需为FY-1 型无人机完成10 个目标群(共68 个目标)的侦察任务拟制最佳的路线和无人机调度策略(包括每架无人机起飞基地、加载的载荷、起飞时间、航迹和侦察的目标),以保证侦察无人机滞留防御方雷达有效探测范围内的时间总和最小。(2)FY-1 型无人机对目标进行侦察时,须将侦察信息实时通过FY-2 型无人机传回地面控制中心。鉴于50km 通信距离的限制,需安排多架FY-2 型无人机升空,以保证空中飞行的侦察无人机随时与FY-2 型无人机的通信。FY-2 型无人机可同时与多架在其有效通信范围的侦察无人机通信并转发信息。为完成问题(1)的侦察任务,至少安排多少架次的FY-2 型通信中继无人机。(3)所有FY-1 型无人机现已完成侦察任务并返回基地,均可加载载荷S-3 用于为制导炸弹提供目标指示。现要求在7 个小时内(从第一架攻击无人机进入防御方雷达探测范围内起,到轰炸完最后一个目标止)完成对10 个目标群所有68 个地面目标的火力打击任务,如何进行任务规划以保证攻击方的无人机滞留防御方雷达有效探测范围内的时间总和最小?请给出具体的无人机任务规划结果(包括每架无人机飞行路线、FY-3 型无人机携带炸弹的具体清单和攻击的目标清单)。(4)由相关信息渠道获知在A02、A05、A09 周边可能还配置有三部远程搜索雷达,该雷达对FY 型无人机的有效作用距离是200km。这三部雷达的工作模式是相继开机工作,即只有首先开机的雷达遭到攻击后才开启第二部雷达,同样只有第二部雷达被攻击后才开启第三部雷达。远程搜索雷达一旦开机工作,攻击方无人机群即可获知信号并锁定目标,而后安排距其最近的无人机对其摧毁。请基于防御方部署远程搜索雷达的情形重新考虑问题(3)。(5)请对求解模型的算法的复杂度进行分析;并讨论如何有效地提高算法的效率,以增强任务规划的时效性。基于你们小组构建的数学模型和对模型解算的结果,讨论哪些技术参数的提高将显著提升无人机的作战能力?
无人机是一种具备自主飞行和独立执行任务能力的新型作战平台,题中共有三种无人机FY-1,FY-2 和FY-3,搭载不同的载荷后能执行的任务种类包括目标侦查、目标指示、通信中继和对地攻击,无人机有固定的巡航速度和续航时间。现需要对10 个群组执行侦查和打击任务,在保证无人机滞留防御方雷达有效探测范围内的时间总和最小的情况下,拟定无人机的最佳路线和调度策略。为完成问题(1)对10 个群组执行侦察的任务,共使用三架FY-1,调度方式为:第一架FY-1 标记为FY-1-A,搭载S-1 载荷,侦查目标依次为A03,A09,A08,A02,A01,出发和降落基地为P01;第二架FY-1 标记为FY-1-B,搭载S-1 载荷,侦查目标依次为A06,A05,A07,A10,A04,出发和降落基地为P07;另一架FY-1 标记为FY-1-C,搭载S-2 载荷,侦查目标依次为A06,A05,A07,A10,A04,A03,A09,A08,A02,A01,出发和降落基地为P01。三架FY-1 的起飞时间满足:将FY-1-C 的起飞时刻标记为0,则FY-1-A 的起飞时刻应在-6.9h至+1.1h 之间,FY-1-B 的起飞时刻应在-4.45h 至1.1h 之间。无人机滞留防御方雷达内的时间总和为12.9h。对于问题(2),为完成问题(1)中的侦察任务,至少需安排3 架FY-2 型通信中继无人机。为完成问题(3)对所有地面目标的轰炸任务,首先对10 个雷达进行攻击,出动4 架FY-3 载满D-2 炸弹,8 架FY-1 搭载S-3 载荷,4 架FY-3 载满D-1 炸弹;当所有雷达目标被炸毁后,47 架FY-3 立刻对普通目标执行轰炸,其中30架每架搭载6 枚D-1 炸弹,17 架每架搭载6 枚D-2 炸弹。攻击方的无人机滞留防御方雷达有效探测范围内的时间总和为4.3h。问题(4)中新增了3 个远程雷达,对于(3)中的方案,当远程雷达依次工作时,其周边一定存在一架FY-3 和一架FY-1,可完成对远程雷达点的轰炸,并且弹药量足够完成其原有的任务。所以问题(3)中的解决方案完全可以解决问题(4)中的情况。问题(5),在解决第一个问题的过程中,我们选用的算法为两步渐进算法,即算法第一步确定大的集群(A01-A10)的排序,第二步算法则确定每个集群内小点的排序;在解决第二个问题的过程中,需要实时求出3 架FY-1 的坐标以判断它们之间的距离,求解坐标的过程采用了微小步长仿真算法;在解决三、四问的过程中,首先需要根据邻接矩阵将10 个集群进行分组,每组有1-2 个集群,之后对分组后的每一组求解雷达时间,由于存在公共区域问题,所以具体雷达时间的求解仍需要借助微小步长仿真算法。根据本文中构建的数学模型和对模型的解析结果,可显著提高无人机的作战能力的参数包括:提高无人机巡航速度;增大S-1 载荷的成像带宽;增大拍照范围;增大S-3 的引导距离;增大D-2 炸弹的飞行速度;增大续航时间;实现一架无人机加载多种载荷;研发无人机的隐形技术。
⛄ 部分代码
clear
clc
addpath('./sub/')
data;
disp('1-Question 1, the path of S1')
disp('2-Question 1, the path of S2')
disp('3-Question 3, the path of missile_plane & bmob_plane')
key=input('Please select the num: ');
switch key
case 1
disp('Please wait until the calculation is finished...');
disp('It might be a long time');
close all
Draw_Map;
camara=2;
sig=1;
[result1,seq1,point1,l1]=Get_Total_Rader_Dist1(camara,A01,A02,A08,A09,A03,sig);
[result2,seq2,point2,l2]=Get_Total_Rader_Dist2(camara,A06,A05,A07,A10,A04,sig);
disp('result1,seq1,point1,l1,result2,seq2,point2,l2 has recorded all the results of this question');
result=sum(result1)+sum(result2);
Show_Result(['The minimum rader traveling distance is ' num2str(result)]);
case 2
disp('Please wait until the calculation is finished...');
disp('It might be a long time');
close all
Draw_Map;
Question_2;
disp('result,point,l has recorded all the results of this question');
Show_Result(['The minimum rader traveling distance is ' num2str(result)]);
case 3
disp('Please wait until the calculation is finished...');
disp('It might be a long time');
close all
Draw_Map;
Question_3;
disp('min_point,min_value has recorded all the results of this question');
Show_Result(['The minimum rader traveling distance is ' num2str(min_value)]);
end
rmpath('./sub/')
⛄ 运行结果