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

复杂城市地形下无人机避障三维航迹规划是指在城市等高密度区域内,通过无人机的传感器和导航系统来实现飞行路径的规划和调整,从而避免无人机与建筑物、其他无人机、地面障碍物等发生碰撞和冲突。具体来说,无人机需要实时感知周围环境,包括建筑物、电线杆、树木等。传感器可以包括激光雷达、摄像头、超声波传感器等。然后通过对传感器数据进行处理,比如建立地图、分割障碍物、预测运动轨迹等,来确定无人机的可飞行区域。在确定了无人机可飞行区域后,需要对航迹进行规划。一般来说,航迹规划需要满足以下几个要求:一是避免障碍物,二是最小化路径长度,三是保证无人机的安全性和稳定性。现有的算法主要包括基于图搜索的算法、基于采样的算法、基于轨迹优化的算法、鹈鹕优化算法POA等。

一、部分代码

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

  50  850  13

  50  800  14

  50  750  13

  100  700  12

  150  650  12

  200  650  13

  200  650  14

  250  650  13

  250  600  12

  250  550  11

  250  500  12

  250  450  11

  300  400  12

  350  400  11

  400  350  11

  400  350  10

  450  350   9

  500  400   8

  500  400   7

  500  350   7

  550  300   6

  600  300   6

  650  300   6

  700  250   5

  750  200   4

  800  150   4

  850  150   4

  850  100   3

  900  50   2

  950  50   1

路径长度:1610.286263

三、完整MATLAB代码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值