【路径规划】基于fmincon实现无人机航路避障规划附matlab代码

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

根据敌方防御雷达,防空火力等威胁以及禁飞区的分布情况,构造基于战场威胁中心图,得到可以规避各种威胁的航迹线段,结合战场威胁信息,计算航迹段的代价,形成有向图,计算出无人机初始最优航路,利用无人机初始状态和性能约束进行航路的进一步修正,满足了无人机的飞行特点.并运用MATLAB编制图形化界面,实现仿真结果的图形显示.​

⛄ 部分代码

function [M] = make_movie(Path_bez)

global n_obsd obs_d_sp obs_d_v obs_d_s obs_d_cp Dynamic_Obstacles;

global n_obs; %number of obstacles

global obs; %positions of obstacles

global obs_rad; %radius of obstacles

global uav_ws;

global t;

M(length(Path_bez)) = struct('cdata',[],'colormap',[]);

hold on

%plot static obstacles

for j = 1 : n_obs

    

    plot(obs(j,1),obs(j,2),'xb'); % static obstacles' centers

    x = obs(j,1) - obs_rad(j) : 0.001 : obs(j,1)+ obs_rad(j);

    y =  (obs_rad(j)^2 - (x - obs(j,1)).^2).^0.5 + obs(j,2); %top part of circle

    y1 = -(obs_rad(j)^2 - (x - obs(j,1)).^2).^0.5 + obs(j,2); %bottom part of circle

    

    plot(x,y,'b');

    plot(x,y1,'b');

    

end

for i = 1 : length(Path_bez)

  

    %plot uav position and size

    

    x = Path_bez(i,1) - uav_ws : 0.001 : Path_bez(i,1)+ uav_ws;

    y =  (uav_ws^2 - (x - Path_bez(i,1)).^2).^0.5 + Path_bez(i,2); %top part of circle

    y1 = -(uav_ws^2 - (x - Path_bez(i,1)).^2).^0.5 + Path_bez(i,2); %bottom part of circle

    

    plot(x,y,'Color',[0, 0.5, 0]);

    plot(x,y1,'Color',[0, 0.5, 0]);

    

    xlim([0,100]);

    ylim([0,100]);

    

    %plot dynamic obstacles

    

    if Dynamic_Obstacles == 1

        

        %plot small square at center of dynamic obstacles at each time step

        for k = 1 : n_obsd

            

            plot(obs_d_v(k,1)*t(2)*(i-1) + obs_d_sp(k,1),obs_d_v(k,2)*t(2)*(i-1) + obs_d_sp(k,2),'rs');

            

        end

        %plot  dynamic obstacles as circles

        for k = 1 : n_obsd

            

            

            odh = [obs_d_v(k,1)*t(2)*(i-1)+obs_d_sp(k,1), obs_d_v(k,2)*t(2)*(i-1)+obs_d_sp(k,2) ]; % to make it easier to type

            

            x = odh(:,1) - obs_d_s(k) : 0.001 : odh(:,1)+ obs_d_s(k);

            y =  (obs_d_s(k)^2 - (x - odh(:,1)).^2).^0.5 + odh(:,2); %top part of circle

            y1 = -(obs_d_s(k)^2 - (x - odh(:,1)).^2).^0.5 + odh(:,2); %bottom part of circle

            

            plot(x,y,'r');

            plot(x,y1,'r');

        end

    end

    

    M(i) = getframe(gcf);

    

end

hold off

end

⛄ 运行结果

⛄ 参考文献

[1] 杨向东,周汶锋,张陈宏,等.基于无人机倾斜摄影的三维路径规划[J].机电工程技术, 2023, 52(4):6.

[2] 张庆捷,徐华,霍得森,等.基于改进蚁群算法的侦察无人机航路规划与实现[J].运筹与管理, 2007(3):6.DOI:10.3969/j.issn.1007-3221.2007.03.019.

[3] 王绪芝,姚敏,赵敏,等.基于蚁群算法的无人机航迹规划及其动态仿真[J].指挥控制与仿真, 2012, 34(1):4.DOI:10.3969/j.issn.1673-3819.2012.01.007.

[4] 张剑锋,王新民.基于MATLAB的某无人机自动驾驶仪测试系统的实现[C]//中国航空学会轻型飞行器专业委员会2005年学术交流会.2005.

[5] 马云红,周德云.无人机路径规划算法与仿真[J].火力與指揮控制, 2007, 32.

[6] 罗诚.无人机路径规划算法研究[D].复旦大学,2010.

⛳️ 代码获取关注我

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

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值