一、A*算法原理
首先对地图进行栅格建模,栅格大小会影响航线的精度,以及规划航线的时间。
A*算法公式为f(n)=g(n)+h(n),其中f(n)是代价函数,g(n)表示当前计算栅格点到起点的距离(使用曼哈顿距离),h(n)是当前计算栅格点到终点的距离,依据此规则,去寻找周围f(n)最小的栅格,以其为下一个点继续计算。将未经过的栅格放入到open表里,经过的栅格放入close表中。
A*算法详解(个人认为最详细,最通俗易懂的一个版本)_StudyWinter的博客-CSDN博客
二、代码
Astar_3D/Astar_3D at master · ybmasmiling/Astar_3D · GitHub
基于A*的三维航迹规划算法,可以设置禁飞区和加载地形图,自定义设置起点和终点,可以设置多条航线