之前报名了天池大数据的比赛:
https://tianchi.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.3d246108F4wkZF&raceId=231622
我的网盘中数据下载链接:链接:https://pan.baidu.com/s/1Wdbzktr8la5XMRpjrTotTQ 密码:sd42
可是只是做了最开始一部分。就被其他的事情耽搁了。
不过已经做的东西还是想记录一下,或许有人遇到类似的问题,可以帮助到他。
那么现在我们的问题是:在指定时间内完成货运任务。
给定出发城市和十个目的城市坐标,如图:
给定当天03:00-21:00内每小时的天气变化数据(当前区域内每一像素坐标风速),给的是一个csv文件,我把数据画出来方便分析:
上图是某一时刻的天气,黑色的部分表示风速<15,而白色的部分表示无人机无法通过。
要求规划出最优飞行路径。若无人机所在区域风速>15,则无人机坠毁。
那就是一个路径搜索算法,而且场景中的障碍物位置是变化。不过障碍区域是可以预知的。在一个二维的地图中,拥有变化的障碍物,实际上我们可以把时间看做第三维。那么问题就明朗了起来,实际上就是一个三维空间中的路径搜索,因为障碍物是可以预知的了。
用A星算法进行路径规划,根据需要更改局部的避障条件。
在A星算法中计算的代价为F=G(从出发位置到当前位置的代价)+H(从当前位置到终点位置的代价)。
这里我们计算代价要注意的是,我们不希望规划的航线是紧贴着障碍物的,因为这次的路径规划是在认为我们拟合的天气数据准确的前提下进行的,但是天气数据不可