本周开始新的一系列:Computational Motion Planning
上个系列aerial robotics更多是一个基本的系统的介绍,接下来才是真正具体细节的控制(总共5个系列)希望自己坚持
week1 lesson1
首先讲motion planning problem
接下来进行了一个栅格法的简单介绍和图论介绍,这是路径规划的基础,可以在优快云搜中文版
路径规划的线路一般都是多条的,我们要找到最短路径(其实也不一定是距离最短,根据不同情况,总是找cost最短那条)
week2
这里的数字指的是到终点的格子数(这个案例只考虑4个方向,不能斜着走)
grassfire algorithm
这个算法也就用于小规模的2D情景,一旦扩大数据增多,根本没法用。
dijkstras algorithm
A algorithm*
图中,红色节点为已经访问过的节点,蓝色为待访问,显然可以看出A的优势
因为目标点已知,所以可以引入启发函数,这是A优于之前两个算法的地方。笔者曾经做过一个A的仿真,程序运行效率与选择的启发式函数有关,课中讲的是最简单的,只允许上下左右四个方向移动(实际上是可以八个方向移动的)
不过这个算法也常用于2D。
优快云有众多A代码,感兴趣的可以自己实现,我当时也参考了很多大佬
assignment
作业是完善一个D算法程序,一个A算法程序
他实际简化了很多,你只要写搜寻的那一段,其他都不用管
D算法结果
A算法结果