【无人驾驶——路径规划】 第一章 基础知识

系列文章目录

最近想系统地学习一下路径规划的相关知识,于是就打算写一个专栏记录一下。 Planning是目前无人车最困难也最具有挑战的部分之一。

【无人驾驶——路径规划】第一章 基础知识

【无人驾驶——路径规划】第二章 无人车路径规划


文章目录

  • 系列文章目录
  • Motion Planning的三个领域
  • 如何解决一个Motion Planning问题
  • 无人驾驶中的规划和A* search有什么区别?
    • D* 搜索
  • 路径规划还需要什么?
  • motion planning定义
  • 基本的Planning方法
    • RRT
    • Lattice
    • DP(动态规划)
      • Lattice DP
    • QP(二次规划)
  • 参考文献


这篇文章是B站上面一个无人驾驶课程路径规划的笔记,博主就当拿它入门了。说是入门,其实之前也做过相关的项目,不过最近是想系统地学习一下路径规划的知识,说不定以后从事相关的工作呢?

Motion Planning的三个领域

  • Robotic Fields
    • 生成轨迹寻找目标
    • RRT, A*, D* ,Dijkstra
  • Control Theory
    • 动态系统理论实现目标状态
    • MPC, LQR
  • AI:状态到action的映射
    • 强化学习,模仿学习等

如何解决一个Motion Planning问题

我们需要找到一个简单的突破口,首先是一个path finding 问题,也就是路径选择问题。在这个问题中,我们不关心速度,不关心机器人如何运动,我们只关心路径的生成。

什么样的Path才是最好的path?

  • 路径最短
    • BFS & DFS
    • Dijkstra
  • 基于启发式的搜索方法:A*
    • 大概知道了终点的位置
    • Heuristic function

无人驾驶中的规划和A* search有什么区别?

  • 无人驾驶场景下是部分感知
  • 有动态障碍物
  • 复杂环境:比如有交通约束(可能遇到碰瓷hhh)
  • 而A* 是一个global algorithm

D* 搜索

D* 是基于部分环境信息的一种搜索算法,经典的apollo登月小车上就采用了这种算法。使用D*算法进行路径搜索不一定能够搜索到全局最优解,但是经过统计学的分析,是能够逼近全局最优解的。

至此,我们已经有了如下几个方法:

  • 构造目标函数并且结合了平滑性和目标cost
  • 使用通用的search方法来最小化Cost从而找到一个最优解
  • 通过Partial observed information 来做局部planning

路径规划还需要什么?

  • 处理动态障碍物,动态环境
  • 遵守交通规则,公共安全
  • 实时计算
    • 计算时间100ms-150ms
    • 人的一般反应时间300ms-500ms
    • 酒驾 1000ms
    • 有限时间内找到最优解
      这就是为什么很多大公司使用C++而不用python的原因,因为C++能够对代码进行更多的优化。

motion planning定义

  • Safely
  • Smootly
  • Achieve to destination (能够到达目的地)
  • 输出三维的轨迹 X,Y,Time :3D trajectory optimization problem
  • 无人车硬件系统
    • 定位设备
    • 感知设备
  • 无人车软件信息
    • 动态信息
    • 静态信息
      - HD map(用来保证实时性,如果没有高精地图,仅仅通过感知的信息进行计算,那么很难保证实时性,因为这样会造成很大的计算量)
  • 如何设置出一个合理的轨迹?
    • 路径Path
    • 速度Speed

基本的Planning方法

  • 经典的基于环境建模的方法
    • RRT
    • Lattice
  • 现代无人车Planning方法
    • Darpa
    • Lattice in Frenet Frame
    • Spiral polynomial
  • 刚体问题
    • BycicleModel
    • XY Heading
    • Collision
  • Planning 限制条件
    • 避免碰撞
    • 边界阈值
  • 连续空间问题
    无人车路径规划问题是求解一个连续空间问题,那么常用的一个方法就是连续空间离散化。以及网格化

RRT

基于采样,使用增量搜索的方式来进行
找到附近可行点的最优点

  • F(x)最小,cost最小
  • 走过程中也不能有障碍是cost最小
  • 走的过程中还可能碰到障碍物
  • 所以撒点搜索不能太远,一步一步地移动
  • 形成的路径是一个折现,后面还需要平滑曲线

Lattice

改进了RRT的折现问题,直接给出path的平滑曲线
思路:网格化,每个采样个中都是用曲线连接

DP(动态规划)

  • 减少搜索空间
  • 复用已知结果

Lattice DP

Lattice DP平滑度够吗?

  • 曲率连续
  • 曲率倒数不一定连续

QP(二次规划)

  • 凸优化问题最优化求解
  • 性质:在凸优化中的凸空间问题,用QP中有最优解
  • QP如何找到平滑曲线?
    • 一阶导数最优化
    • 二阶导最优化
    • 三阶导数最优化
  • 其他平滑曲线的方法:贝塞尔曲线,样条插值

参考文献

  • 经典参考书籍
    • Steve Lavelle, Motion Planning Algorithm
    • Principles of Robot Motion:Theory, Algorithm, and Implementations
  • 经典文献(一篇综述):
    • A review of Motion Planning Techniques for Automated Vehicles

课程:B站【全】无人驾驶系列知识入门到提高

你可能感兴趣的:(无人驾驶)