烟花算法(FWA)的复杂城市地形下无人机避障三维航迹规划,可以修改障碍物及起始点(Matlab代码)

一、烟花优化算法

参考文献:

Tan, Y. and Y. Zhu. Fireworks Algorithm for Optimization. in Advances in Swarm Intelligence. 2010. Berlin, Heidelberg: Springer Berlin Heidelberg.

二、烟花算法求解城市无人机路径规划部分代码

close all
clear 
clc
rng('default');
%% 载入数据
data.S=[50,950,12];     %起点位置 横坐标与纵坐标需为50的倍数
data.E=[950,50,1]; %终点点位置 横坐标与纵坐标需为50的倍数
data.Obstacle=xlsread('data1.xls');
data.numObstacles=length(data.Obstacle(:,1));
%% 画图
figure
hold on
plot(curve,'r','LineWidth',2)
xlabel('迭代次数')
ylabel('路径长度')
legend(str);
[~,result]=fobj(Best_pos);
drawPc(result,option,data,str)
result.path(:,1)=result.path(:,1).*data.unit(1);
result.path(:,2)=result.path(:,2).*data.unit(2);
result.path(:,3)=result.path(:,3).*data.unit(3);
%% 显示路径信息
fprintf("路径坐标:\n");
display(result.path)
fprintf("路径长度:%f\n",result.fit);

三、部分结果

路径坐标:

     50     950     12

     100     950     13

     150     900     14

     150     850     13

     200     800     13

     200     800     14

     250     800     13

     300     800     12

     350     800     12

     400     750     12

     400     700     11

     450     650     12

     450     600     12

     450     550     12

     450     550     11

     500     500     10

     450     450     10

     450     400      9

     500     350      8

     500     400      7

     450     400      6

     500     350      6

     550     300      5

     550     300      6

     550     250      6

     550     200      7

     550     150      6

     500     100      6

     550     50      6

     500     100      5

     550     150      4

     550     200      4

     550     200      3

     550     150      3

     600     100      3

     650     50      4

     700     100      3

     750     100      2

     800     50      3

     850     100      2

     900     100      3

     900     50      2

     950     50      2

    1000     100      2

    1000     100      1

     950     100      1

     950     50      1

路径长度:2448.710649

四、完整MATLAB代码

v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值