嗯。有空可以让找人试着一起研究下模拟器。先开始看第三学期的课程。上来David Silver先介绍了一下第三学期会讲啥。似乎还会讲hardware。中间有一章叫functional safety的环节我稍微看了看完全不知道在干啥。不过welcome后面的第一节课还在讲怎么规划无人车的路径

第三学期的课程包括一些很神奇的内容。比如预测其他车辆会如何运动(这个会在下次笔记)

决定自己汽车的行为。

以及如何最终确定给控制器执行的最终轨迹

然后就是第一课搜索的内容,在这个课程里面只讲了A*搜索和动态规划。并且第一个session的课程除了demo以外都假设地图是离散的。

然后先讲了在这个世界上不同的action可能会有不同的cost。比如有的导航在闲暇时段不太喜欢左转。

然后讲了A*搜索。A*搜索本质上相当于在广搜的时候增加一个heuristic启发函数。然后广搜的时候会优先搜索搜索深度+启发函数最小的那个节点。这样在地图很大的时候可以避免大量的搜索。

在花了很长时间讲完A*搜索的原理和习题之后,讲课的哥们拿出了Stanford的在Urban Challenge那个车辆的demo。。这个challenge是走一个迷宫。然后这个车会做有限步数的启发式搜索(看上去加了蒙特卡洛树之类的东西,搜索的轨迹有一定的随机性)然后逐步探索迷宫。启发函数就是到目标的欧几里得距离。据说运行起来非常高效。最后最骚的是倒车进入了目标位置。

还讲了两个例子是,走着走着汽车发现路上有个路障,然后决定掉头绕着走。以及汽车倒车入库的时候也使用了启发式搜索。

然后还讲了DP。DP的话可以得到地图上每一个点到目标的最短路径。不过如果考虑汽车的action是直行、左转、右转的话,汽车的状态数其实等于地图空间乘以可能的朝向数。哥们说考虑DP的原因主要是地图上会有未知情况,比如本来最优的左转路径上面停了个大卡车。这个时候一直往前开就会进入原来没考虑的状态。DP最后的结果可以得到每个状态下的最优policy。话说DP本来就是解状态容易遍历,model已知的MDP问题的一种标准解法。之后还会讲离散状态下如何做规划。不过下一个session的内容先是预测其他车的行为。
网友评论