路径规划总结 II

路径规划技术概述

Planning实际上是基于路线规划模块规划出全局的路线之后,为车辆寻找一条符合车辆运动学模型原理,并且能够躲避动态或者静态障碍点,符合各种交通信息限制的路点。
一般说来,Planning包括下面三个层次:

  • 为车辆寻找一条最优的几何轨迹。
    • 通过增量搜索或者离散的几何道路空间。这里一般用移动机器人在寻路的时候比较常用的RRT算法和lattice planner(MIT的论文)。
    • 从各种可能的最终状态中选取最好的动作行为,也就是说列出可行的路径轨迹,然后选取最优的动作。(Local search)。
  • 搜索最优的策略。
  • 搜寻最优的轨迹,优化之前规划的几何路径,使其符合给定的限制,如车辆运动学和动力学的限制。
    路径规划总结 II_第1张图片

为了直观的认识路径规划相关内容,可以用下面图示来解释一下:
路径规划总结 II_第2张图片

图a:
灰色的点是路点,path planning的作用就是按照路点生成一条几何轨迹,同时要考虑到前车以及周边车道、障碍物,生成一条可行的几何路径。
图b:
策略规划的主要作用就是在关键结点要做出合理的决策,比如在前车行进速度慢,需要超车;在路口满足转弯条件需要左转或者右转,或者直行;在路口根据交通灯信息决定等待还是立即转弯。
图c:
图c就是轨迹规划的直观的表达,当转弯的决策已经做出,需要转弯,但是如何转弯,以多大的速度转弯,方向盘转角的规划,左转和右转路径曲率的如何区别的设计,怎样在右转的时候车辆不碰到右边沿,都是轨迹规划需要优化的细节。

下面就按照这三个方面大概的阐述一些planning的方法。

增量式搜索算法就是在之前搜索结果的基础上,重新利用以前的搜索结果来加快搜索速度。
目前比较常见的增量式搜索算法是RRT(Rapidly-exploring Random Tree)和Lattice Planners。

RRT

RRT算法就是移动机器人中比较常见的路径规划算法,RRT算法构造一个树的数据结构,通过随机采样去构造几何路径,直到达到目标点。
基本的算法过程如下:

1 Initialise a tree (G) starting from point (x0)
2 Repeat
3 Sample a random configuration xrandom from the configuration space (C)
4 Flag xNEAR the closest point of the initialised tree (G) to xrandom
5 Select the input u which minimises the distance ( xrandom , xNEAR )
6 After Dt and the application of u , flag the new configuration xnew
7 Add xnew to G
8 Add the edge between xnew and xNEAR to G
9 Return G

路径规划总结 II_第3张图片

在加入 xnew 之前要确保此点是没有障碍物阻碍的,需要一个碰撞检测算法。
其中关于RRT的论文有[1]

Lattice planners

在第一个路径规划总结中,我们已经讲过了,state lattice是一种比较典型的搜索空间,而lattice planner就是基于state lattice的一种搜索方法。
这种规划方法需要结合障碍点的信息和一些避障的算法一起,在与规划的lattice 空间中寻找可行的路径。
路径规划总结 II_第4张图片

实时的搜寻整个搜索空间显然是缺乏效率的,那么就可以预先搜索一个预瞄距离的空间,然后进行选取路径。
对于on-road的自动驾驶的local search来说,目前比较常见的算法是搜寻一组含有特性的几何曲线(一般有回旋曲线或者样条曲线),这些曲线之间会有一定的侧向偏移。每一个待选的曲线都会用一个特性的cost function去评价这个曲线的优劣,一般的评价方程可以是速度、时间消耗或者是碰撞检测。

一般规划的local search的曲线族可以分为两类:在action space 中带有侧向偏移的曲线族;在state space中带有侧向偏移的曲线族。下图所示:
路径规划总结 II_第5张图片

左图是在action space空间规划的曲线族,叫做roll out trajectory
右图是在state space规划的曲线族,叫做partial motion planning 算法。有关PMP的论文,可以参考PMP论文

你可能感兴趣的:(路径规划总结 II)