说明
最近正好被导师调去做一门和无人机相关课程的助教,需要尽快根据A*算法和相关指引调试一个仿真器。以前Intro of aerial robot课程只是非常浅显的了解过,一学期不应用也没有留下太深刻的印象。现借此机会对网上的一些资料进行总结,因为自己也是小白起家,如果有总结不对的地方,还请各位大佬多多指点。主要资料来源于B站江中游老师的A星算法讲解视频:https://www.bilibili.com/video/BV1y5411b7YX
知识点总结
所谓A*,可以这样理解,因为该算法会对某个像素点周围8个相邻点进行索引,其形状类似于“※”。
首先建立地图如下(截图于视频中):
图1
图1中,绿色3,3为起点,7,3为终点,蓝色为障碍物。起始遍历的点为“父节点”,其余要被遍历的周围节点称为“子节点”(8个)。每个子结点到终点存在“预估距离(成本)”,具体是不计障碍物到达终点的距离。此时算法利用“曼哈顿算法”。例如,(4,2)点到终点的曼哈顿距离为4(个单元格)。另外说明,为方便计算,根据勾股定理,(4,2)子节点和(4,3)子节点到父节点的成本为14和10。曼哈顿算法的距离成本记为“H”,子节点到父节点的距离成本为“G”,总距离成本“F”