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

作品简介

一、部分代码

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

  50  900  12

  100  850  13

  150  800  12

  200  750  11

  250  750  11

  300  750  11

  350  700  11

  400  700  11

  450  650  10

  500  600  10

  500  550   9

  500  500   8

  500  450   8

  500  400   7

  500  350   7

  550  300   6

  600  300   5

  650  300   4

  700  250   3

  750  200   3

  800  150   3

  850  100   2

  900  100   2

  950  50   1

路径长度:1448.634698

三、完整MATLAB代码


创作时间: