无人驾驶入门--规划

规划中通过结合高进度地图,定位和预测来构建车辆的轨迹。

第一步:路径导航,如从A地道B地,将地图数据作为输入,并输出可行驶路径

路径规划目标:找到从地图上的A地到B地的最佳路线。

路由

路线规划使用三个输入:

  • 地图:地图数据包括公路网和实时交通信息

  • 我们当前在地图上的位置

  • 我们的目的地:通常取决于车辆的乘客

世界地图

从地图A-B,无人驾驶通常货沿道路搜索有没有任何路径,称作搜索。Apollo也利用搜索来查找路径,但搜索算法更智能,在搜索之前将地图重新格式化成“图形”的数据结构,该图形由“节点”和“边缘”组成。

无人驾驶入门--规划_第1张图片
image

可以对从一个节点到另一节点所需要的成本进行建模,从实际中就可以得出从1-3所需成本是比1到其它节点的要少,从上图可知,蓝色的为低成本。在计算机领域里,人们已经发现许多用于从图形中搜索路径的算法,所以将地图装换为图形有利于无人驾驶车搜索路径。

网格世界

从初始节点开始,还需要相邻的八个节点中哪个是最有希望的最佳候选节点,对每个候选节点都要考虑两件事:

  • 首先:计算候选节点到开始节点的成本;

  • 然后:计算从候选节点到最后节点的成本,可以自己定义计算成本的规则,比如有交通堵塞等情况。

定义:

g:代表从初始节点到候选节点的成本

h:表示候选节点到目标节点的成本

f:表示两个值的和,值越小,表示成本越低。

无人驾驶入门--规划_第2张图片
image

A*算法

通过g,h值相加得到的f值来确定最佳路线,如下图,最佳路线是网右转,f值最小。

无人驾驶入门--规划_第3张图片
image

从路由到轨迹

高等级地图只是规划过程的一部分,我们需要构建沿这条道路的低等级轨迹,意味找要处理地图上没有的物体,如其它车辆,行人及自行车等。如试图与调头的车辆互动。这一级别的规划称为轨迹生成。

无人驾驶入门--规划_第4张图片
image

3D轨迹

轨迹生成目的是:生成由一系列路径点所定义的轨迹,每个路径点都分配了一个时间戳和速度,让一条曲线与这些路径点拟合,生成轨迹的几何表征,移动的障碍物可能会暂时阻挡部分路段,路段的每个路径点都有一个时间戳,将时间戳与预测模块的输出结合起来,以确保车辆在通过时,路径上的每个点都未被占用。这些时间戳创建了一个三维轨迹。

无人驾驶入门--规划_第5张图片
image

评估一条轨迹

如何评估一条轨迹,采用成函数,选择成本最低的路径。轨迹成本由各种规范和处罚组成。

如下图考虑到了:

  • 车辆偏离中心线的距离

  • 可能发生碰撞

  • 速度限制

  • 舒适度

通过将这些成本计算成数字,最终的出最佳的路径。

无人驾驶入门--规划_第6张图片
image

车辆甚至可以在不同环境中使用不同的成本函数。

Frenet坐标

  • 笛卡尔坐标系

通常我们使用笛卡尔坐标系来描述物体的位置,但对于车辆来说,确不是最佳的选择,我们即使能够知道车辆的(x,y)坐标,我们不知道路在哪里,很难知道车辆行驶了多远,以难以确定车辆是否偏移车道中心。

无人驾驶入门--规划_第7张图片
image
  • Frenet坐标系

描述了汽车相对于车道的位置,在Frenet框架中,s代表沿道路的距离,已被称为纵坐标,d表示与纵向线的位移,已被称为横坐标,在道路的每个点,横轴与纵轴都是垂直的。

无人驾驶入门--规划_第8张图片
image

纵坐标表示车辆行驶距离,横坐标表示车辆偏离中心线的距离。

无人驾驶入门--规划_第9张图片
image

路径速度解耦规划

路径-速度解耦规划将轨迹规划划分为两步:

  • 路径规划:生成候选曲线,这是车辆可行驶的路径,我们使用成本函数对每条路径进行成本评估,该函数包含平滑,安全性,与车道中心的偏离,以及我们想要考虑的其它的任何因素。按成本对路径进行排名,并选择成本最低的路径。

  • 速度规划:路径规划之后就考虑速度的规划,我们可能希望改变在该路段是的速度,我们需要选择的事与路径点相关的一系列速度,而不是单个速度,该系列称之为“速度曲线”,可以用优化功能为路径选择,受到各种限制的良好速度曲线,通过将路径曲线和速度曲线相结合,可构建车辆的行驶轨迹。

路径生成与选择

你可能感兴趣的:(无人驾驶入门--规划)