Apollo自动驾驶教程学习笔记-Apollo规划技术详解6-1

课程链接:http://bit.baidu.com/Course/detail/id/294.html
讲师:樊昊阳 百度Apollo研发工程师

说明:因个人工作方向变更的原因,该系列学习笔记不再更新,如有影响还请抱歉

接下来的几节课内容,讲解关于运动规划的知识。老师也很可爱,思路挺流畅。

运动规划部分的内容分为:

  • 基本介绍(也就是这一节)
  • Robotics基本知识以及和运动规划的关系
  • 怎么处理信息
  • 算法核心,最优解问题
  • EM Planning
  • 发展方向,数据驱动方面

基本运动规划

motion planning,即运动规划,规划的本质是搜索问题,也就是求某个目标函数的最优解的问题。对于无人车来说就是求无人车运动的最优解问题。

简单化

首先将问题简单化:就是一个Path finding问题,搜索最优路径。
比较经典的算法:深度优先、广度优先算法,他们的问题是没有利用目标位置,运算量会相对较大;
还有A算法,问题是它是全局搜索,需要知道全局信息,通常作为全局优化算法。
现在很多算法依然是基于最初A
的思路衍生出来的。

无人车算法的区别

无人车算法相对于这个简单问题来说,有一些更为复杂的问题,比如:

  • 无人车是部分观察系统,只能获得当前位置附近的信息;
  • 无人车所在环境的障碍物是在时刻变化的,而且障碍物有速度属性,不能当做静止物体处理。
    从而,A*算法就不适合了。

这时就引出了局部规划,incremental search,算法求解局部最优解或相对好的解,比如D*用于月球车(还是火星车?),就是局部路径规划算法。
无人车的规划问题是部分关心全局最优解的问题。

平滑

之前说的算法,都是把结果路径按照折线表示,这样对于实际无人车来说无法使用,离散化的算法结果不能直接用,需要平滑,平滑不只是要平滑路径,还要平滑速度。

未解决的问题

  1. 环境是动态的,规划模块如何解动态环境下的最优解;
  2. 无人车上路要满足交通规则,如何吧交通规则融合到算法中;
  3. 实时计算,要求规划算法的实时性很高,通常在0.2-0.3s;
  4. 高精地图在其中也起到很大的作用,先验知识;

其他

  1. 无人车的5个模块:定位、感知、预测、规划、控制,都很重要。
  2. 轨迹不只是一条线,而是一条动态的线,这个动态的线包括了平滑后的速度,所以这个轨迹不叫trace,而是叫trajectory,包括平滑路径和平滑速度。
  3. 不要因为用算法而用算法,而是要从问题出发,先知道要解决什么问题,然后思考能不能用算法解决。

参考文献

  • 书籍:Motion Planning Algorithms
  • 书籍:Principles of Robot Motion: Theory, Algorithms and Implementations
  • 论文:A Review of Motion: Planning Techniques for Automated Vehicles
    (做笔记没有记全,作者也没记,大概是这个名字,应该不会有重名)

你可能感兴趣的:(自动驾驶,学习笔记)