【无人机】基于Fast行军树(FMT)求解无人机故障路径规划问题附matlab代码和论文

简介: 【无人机】基于Fast行军树(FMT)求解无人机故障路径规划问题附matlab代码和论文

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

本论文旨在解决无人机发动机熄火问题,在该问题中无人机沿每个点进行应急检查。每一次检查都会模拟一个发动机故障,之后无人机被迫进入稳定下滑,必须能够到达在分配的时间内预定义的安全区。固有的困难在于以计算有效的方式处理非线性时间检查。这是因为高精度要求精细的路径离散化,这导致正在执行大量检查。解决方案还必须包含非完整性动力学、风扰动和防撞。这个问题的重要性不能低估,因为民用无人机的需求随着美国联邦航空局计划整合无人机,预计未来10年该行业将有所增长进入国家空域系统。这显然是无人机经济产业的福音,然而,更加拥挤的空域会直接导致更严重的碰撞如果处理不当,可能会导致发动机故障。本论文利用最近开发的基于采样的规划器Fast行军树(FMT)。称为FMT的规范方法的扩展∗用作框架为了提高算法的效率,它建立在使用两种新颖的算法扩展:“路径重建”和“障碍聚类”算法。MATLAB仿真用于验证单个组件和核心算法在不同难度的问题情况下。结果表明,这两种算法扩展都显著提高了计算运行时间,而不会增加最终结果的路径成本。组合算法显示平均产率为76%在高复杂度环境下,对Brute-Force方法的运行时改进,以及对静态和变化的风场都具有鲁棒性。

⛄ 部分代码

function projection = calculate_projection(node1,node2,wind_struct)

   path = node2-node1;

   type = wind_struct.type;

   path_magnitude = norm(path);

   if path_magnitude == 0

       projection = 0;

       return;

   end

   

   if strcmp(type,'const')

       wind = wind_struct.vector;

       wind_magnitude = norm(wind);

       if wind_magnitude == 0

           projection = 0;

           return;

       end

       cos_theta = dot(path,wind) / (path_magnitude * wind_magnitude);

       projection = wind_magnitude * cos_theta;

   else

       wind1 = [1,1];

       wind1_magnitude = norm(wind1);

       wind2 = [1,1.5];

       wind2_magnitude = norm(wind2);

      % DEFINE GRIDS

      % GRID 1: 300<x<500, 400<y<550 -> xwind = -1, ywind = -1

      % GRID 2: 300<x<500, 550<y<700 -> xwind = 1, ywind = 1.5

%        if ((node1(1)<300 && node2(1)<300) || (node1(2)<400 && node2(2)<400) || ...

%           (node1(1)>500 && node2(1)>500) || (node1(2)>700 && node2(2)>700))

%             display('not in grid');

%             projection = 0;

%             return;

%        end

%        

%        if node2(2) < 550

%             cos_theta = dot(path,wind1) / (path_magnitude * wind1_magnitude);

%             projection = wind1_magnitude * cos_theta;

%        else

%            cos_theta = dot(path,wind2) / (path_magnitude * wind2_magnitude);

%            projection = wind2_magnitude * cos_theta;

%        end

       if node2(2) > 600

           cos_theta = dot(path,wind1) / (path_magnitude * wind1_magnitude);

           projection = wind1_magnitude * cos_theta;

       else

           projection = 0;    

       end

       

   end

end

⛄ 运行结果

⛄ 参考文献


⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料



相关文章
|
9天前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
|
10天前
|
算法 安全 定位技术
基于改进拥挤距离的多模态多目标优化差分进化(MMODE-ICD)求解无人机三维路径规划研究(Matlab代码实现)
基于改进拥挤距离的多模态多目标优化差分进化(MMODE-ICD)求解无人机三维路径规划研究(Matlab代码实现)
|
10天前
|
算法 机器人 Serverless
【机器人路径规划】基于6种算法(黑翅鸢优化算法BKA、SSA、MSA、RTH、TROA、COA)求解机器人路径规划研究(Matlab代码实现)
【机器人路径规划】基于6种算法(黑翅鸢优化算法BKA、SSA、MSA、RTH、TROA、COA)求解机器人路径规划研究(Matlab代码实现)
|
10天前
|
传感器 资源调度 算法
基于无迹卡尔曼滤波(UKF)与模型预测控制(MPC)的多无人机避撞研究(Matlab代码实现)
基于无迹卡尔曼滤波(UKF)与模型预测控制(MPC)的多无人机避撞研究(Matlab代码实现)
|
7天前
|
机器学习/深度学习 算法 安全
【无人机三维路径规划】基于非支配排序的鱼鹰优化算法NSOOA求解无人机三维路径规划研究(Matlab代码实现)
【无人机三维路径规划】基于非支配排序的鱼鹰优化算法NSOOA求解无人机三维路径规划研究(Matlab代码实现)
|
9天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
9天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
9天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
|
7天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
9天前
|
运维 算法
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)

热门文章

最新文章