农业无人机
工业无人机
军警无人机
娱教无人机
水下无人机
反无人机设备
无人机配件
无人机租赁
无人机培训
当前位置:全球无人机网 » 无人机技术 » 技术 » 正文

无人机航线规划思路剖析,基于凸多边形地块往复式运动

发布日期:2017-09-18  来源:CharTen我要投稿我要评论

写在前面

嗨!很高兴看到你点进来阅读这篇文章,请别介意,标题有点长有点啰嗦(完全是为了seo考虑),但也算是概括了这篇文章的内容。如果你是要开发如下图所示的场景,但又苦于没什么好的思路,那么这篇文章一定会帮助到你!

无人机航线规划思路剖析,基于凸多边形地块往复式运动

往复式运动航线

无人机航线规划思路剖析,基于凸多边形地块往复式运动

基于不规则凸多边形地块的往复式航线规划

哦,对了,本文的实现是基于web平台的地图,使用javascript。如果你也是在web平台上开发,而且任务时间非常紧急,没有时间阅读完全文的话。。。我已经将本文的思路封装成一个库了,你可以猛戳下面的链接,开箱即用:
github.com/Char-Ten/cp…
兼容各大地图平台api(其实不同平台api差异的影响很低)哦,不信的话戳demo:
百度地图demo
高德地图demo
leaflet地图demo
觉得好用的话记得给个star~原创不易,谢谢支持

正文!

其实也是套公式

其实这种问题,实际上是数学几何应用题,既然是数学题啦,那按照考试的套路第一步肯定是套公式啊,这种场景,核心的公式不多,就两条:

  • 无人机航线规划思路剖析,基于凸多边形地块往复式运动

  • 一次函数两点表达式
  •  
  • 无人机航线规划思路剖析,基于凸多边形地块往复式运动

  • 绕(tx,ty)点旋转n度之后缩放SxSy倍的变换矩阵

第一条没什么可以说的,初二数学就开始教一次函数的知识,这一条是用来计算航线与地块边界的交点的。 第二条就是很经典的复合变换矩阵了,分别是位移矩阵叉乘旋转矩阵叉乘位移缩放矩阵,我们设其叉乘结果为A,那么我们就可以列出下面的等式:


无人机航线规划思路剖析,基于凸多边形地块往复式运动

计算过程就是。。。横乘竖横乘竖横乘竖横乘竖横乘竖横乘竖横乘竖横乘竖。。。。最后化为用于程序的代数式就是:


无人机航线规划思路剖析,基于凸多边形地块往复式运动

通过这条公式,就可以计算出航线旋转后的坐标点。

然后我们把它们分别封装一下,弄成一个函数调用先:
  无人机航线规划思路剖析,基于凸多边形地块往复式运动

看到这里,恭喜你,你已经完成了50%的工作量!如果是在考试,你把这两条公式列出来,不写答案也有一半的分数(

先从最简单的场景开始

一个矩形地块,航线水平于x轴:

无人机航线规划思路剖析,基于凸多边形地块往复式运动

这是一个大概是200*200大小的矩形,左上角的顶点经纬度为nw(西北),右上角的顶点经纬度为ne(东北),右下角的顶点经纬度为se(东南),左下角的顶点经纬度为sw(西南),其中设置无人机飞行的间隔为10。你先不考虑折线的连接顺序,就单单考虑一下,每一根横线如何生成。观察一下你会发现以下规律:
  1. 两条横线的间隔是20
  2. 每一条横线都可以表示为 y=NN为常数,表示某个纬度值
  3. 每一条横线段都是y=N与矩形相交产生,也就是每一条横线段都是该矩形地块与维度相交的结果

那么,现在矩形的四个顶点的经纬度是已知的,无人机飞行的间隔也是已知的,这个矩形需要与多少条纬度线相交是未知的,每一条横线的N是未知的,每一条横线段左右两个点的纬度是未知的。根据已知求未知,你的目标已经很明确了,一道很简单的几何题:

  • 该矩形需要与多少条纬度线相交:
无人机航线规划思路剖析,基于凸多边形地块往复式运动
  • 求每一条横线的N:
无人机航线规划思路剖析,基于凸多边形地块往复式运动
  • 因为矩形的两条边是垂直的,所以,横线段左右两个点的经度分别为nw.lngne.lng。这样我们就可以绘制出来了:
无人机航线规划思路剖析,基于凸多边形地块往复式运动

场景开始变形!

锵锵,我们把矩形上面的边往东挪50米,得到一个平行四边形:

无人机航线规划思路剖析,基于凸多边形地块往复式运动

聪明的你一定发现了,平行四边形在Y轴上的投影根本没有发生变化嘛,即使变了之后,穿过地块的纬度线数目还是不变嘛,只不过,这次因为两条边不是垂直的,所以,我们需要计算斜边与纬度线的交点。等等,你这时候想起了,最开始50%工作量里面所封装的那个calcPointInLineWithY函数!
你已经知道斜边两个点的坐标,然后你又知道y=N,那你通过一次函数的两点表达式,完全就可以知道x,也就是经度是多少啦:

 

那你可以再变一变,让y轴上的投影也发生变化,就像这样:

无人机航线规划思路剖析,基于凸多边形地块往复式运动

好了,这下你观察到,每条边都跟纬度线相交了,也就是说,这次你要遍历一下这个平行四边形四个顶点。等等,你似乎忘记了一个问题,这个四边形在y轴上的投影发生了变化,相交纬度线数目也跟着发生变化了。这时候你想到,要不给这个多边形做个外接矩形?就像这样:

无人机航线规划思路剖析,基于凸多边形地块往复式运动

这样是不是又回归了最开始的场景?只是把calcPointInLineWithY函数加上去之后,你可以得到任意凸多边形与纬度线相交的模型。

 
本文链接:https://www.81uav.cn/tech/201709/18/528.html
标签:  
0相关评论
免责声明:凡注明来源全球无人机网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,请注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

图文推荐

推荐新闻

推荐品牌

关于本站

合作服务电话

  • 客服热线:0755-23779287
  • 展会负责:18682042306
  • 广告合作:点击这里给我发消息
  • 展会合作:点击这里给我发消息

公众号/APP下载


    (公众号)


    (Android下载)

Copyright©2005-2021 81UAV.CN All Rights Reserved  访问和使用全球无人机网,即表明您已完全接受和服从我们的用户协议。 SITEMAPS 网站地图 网站留言
运营商: 湛江中龙网络科技有限公司 全球无人机网 
ICP备案号:粤ICP备2023038372号-1 
全国公安机关 备案信息 可信网站不良举报 文明转播