无人机航迹规划matlab,【路径规划】任意架次植保无人机作业路径的规划matlab源码...

clc;

clear all;

close all;

% %%

% 一、程序说明 实现任意数目多边形的地图绘制和网格划分,并在此基础上实现任意架次植保无人机作业路径的规划。 路径规划采用牛耕往复式,并考虑电池约束和药液约束,并考虑了多台无人机作业时的距离(避碰)。主要变量含义如下: MAXliquid 药箱最大容量 MAXbattery 电池最大容量 liquidState 药箱状态 batteryState 电池状态 idleSpeed 非作业时飞行速度 operationSpeed 作业时飞行速度 liquidPerOD 单位距离的药液消耗量 batteryPerOD 单位距离的电池消耗量

%

% 绘制地图,划分网格

% 实现任意多边形的绘制;

% 将每个多边形进行网格划分,每个元胞(cell)的大小为OW*OD;

% 网格划分的结果存在gridPoints中。

% 路径规划

% 无人机从操作台出发;

% 从左到右依次遍历网格中的各个元胞,直到电池耗尽或药业耗尽;

% 返回工作台,从而形成一条路径,所有路径存储在rawRoutes中;

% 若地图未遍历,则返回1),否则进行5);

% 计算每台无人机的起降次数,并考虑每轮起降是无人机间的距离,进行路径分配。

% 结果显示

% 以事件驱动的方式进行显示;

% 线条表示理想路径,阴影表示实际喷淋效果;

% 红色线条表示出发路径,黄色线条表示返航路径;

% 红色圆圈表示某次作业的起始作业点,黄色圆圈表示终止作业点; 二、有待改进

% 约束条件

% 地形地势约束(GIS)

% 障碍物阻挡

% 能耗随药液量递减;

% 作业能耗和非作业能耗不同;

% 目标函数

% 路径长度(起航返航)

% 费用(成本)

% 时间(效率)

% 转弯次数

% 负载均衡

global OW OD LineNum MAXliquid MAXbattery

global idleSpeed operationSpeed liquidPerOD batteryPerOD;

OW=0.02;

OD=0.02;

MAXliquid = 5;

MAXbattery =5;

idleSpeed = 0.3;

operationSpeed = 0.2;

liquidPerOD =1;

batteryPerOD =1;

LineNum=1;

%%

% xv1=[0.2 0.5 0.6 0.1];

% yv1=[0.7 0.8 0.3 0.4];

% boundary1=[xv1;yv1];

%

% xv2=[-0.9 -0.7 -0.4 -0.5 -0.8];

% yv2=[0.9 0.95 0.7 0.5 0.6];

% boundary2=[xv2;yv2];

%ght

xv1=[0.2 0.6 0.6 0.1];

yv1=[0.7 0.75 0.3 0.4];

boundary1=[xv1;yv1];

xv2=[-0.9 -0.7 -0.3 -0.4 -0.8];

yv2=[0.9 0.9 0.7 0.5 0.6];

boundary2=[xv2;yv2];

barrier={};

aBarrier=[0.4 0.5 0.5 0.4;0.5 0.5 0.4 0.4];

barrier=[barrier;aBarrier];

aBarrier=[0.2 0.3 0.35 0.2; 0.6 0.6 0.5 0.5];

barrier=[barrier;aBarrier];

aBarrier=[-0.6 -0.4 -0.4 -0.6; 0.3 0.3 0.1 0.1];

barrier=[barrier;aBarrier];

aBarrier=[-0.7 -0.6 -0.6 -0.7;0.8 0.8 0.6 0.6];

barrier=[barrier;aBarrier];

Lines=[];

%Lines = addPatch2Line(boundary,barrier,Lines);

Angle1=pi/6;

Lines1 = addPatch2LineWithAngle(boundary1,barrier,Angle1);

Lines=[Lines;Lines1];

Angle2=pi/4;

Lines2 = addPatch2LineWithAngle(boundary2,barrier,Angle2);

Lines=[Lines;Lines2];

disp('请按任意键开始运行...')

pause;

Routes=routesPlanning2(Lines,barrier,3)

574bce6bf799e6e2277a7c5730b1b60d.png

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值