【路径规划】基于matlab任意架次植保无人机作业路径规划【含Matlab源码 322期】

举报
海神之光 发表于 2022/05/29 03:08:18 2022/05/29
【摘要】 一、简介 1 程序说明 实现任意数目多边形的地图绘制和网格划分,并在此基础上实现任意架次植保无人机作业路径的规划。 路径规划采用牛耕往复式,并考虑电池约束和药液约束,并考虑了多台无人机作业时的距离(避碰...

一、简介

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

2 绘制地图,划分网格
实现任意多边形的绘制;
将每个多边形进行网格划分,每个元胞(cell)的大小为OW*OD;
网格划分的结果存在gridPoints中。
路径规划
无人机从操作台出发;
从左到右依次遍历网格中的各个元胞,直到电池耗尽或药业耗尽;
返回工作台,从而形成一条路径,所有路径存储在rawRoutes中;
若地图未遍历,则返回1),否则进行5);
计算每台无人机的起降次数,并考虑每轮起降是无人机间的距离,进行路径分配。
结果显示
以事件驱动的方式进行显示;
线条表示理想路径,阴影表示实际喷淋效果;
红色线条表示出发路径,黄色线条表示返航路径;
红色圆圈表示某次作业的起始作业点,黄色圆圈表示终止作业点; 二、有待改进
约束条件
地形地势约束(GIS)
障碍物阻挡
能耗随药液量递减;
作业能耗和非作业能耗不同;
目标函数
路径长度(起航返航)
费用(成本)
时间(效率)
转弯次数
负载均衡

二、部分源代码

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)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79

三、运行结果

在这里插入图片描述

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]巫茜,罗金彪,顾晓群,曾青.基于改进PSO的无人机三维航迹规划优化算法[J].兵器装备工程学报. 2021,42(08)
[4]邓叶,姜香菊.基于改进人工势场法的四旋翼无人机航迹规划算法[J].传感器与微系统. 2021,40(07)
[5]马云红,张恒,齐乐融,贺建良.基于改进A*算法的三维无人机路径规划[J].电光与控制. 2019,26(10)
[6]焦阳.基于改进蚁群算法的无人机三维路径规划研究[J].舰船电子工程. 2019,39(03)

文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。

原文链接:qq912100926.blog.csdn.net/article/details/113838616

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。