解析智行者自动驾驶方案(侧重传感器信息融合)

“以前有你的时候可以叫天份,现在没有你了只能叫天分。”

Black Hair

TRACK

因为最近再看apollo的传感器融合模块,就想到了之前看到智行者CEO张德兆的方案分享,作为清华系自动驾驶初创公司的创始人,有着和百度不一样的方案,故整理于此。

基于自动驾驶智能车控制决议计划系统开发,有4个方面的阐述:

  • 概述;

  • 多传感器信息融合;

  • 决议计划规划;

  • 车辆控制决议计划算法。

概述就不用说了,主要是一些结构框架性、结构性的东西:

可以看出,智能车涉及的产业链非常长,先不说后续的运营和服务,光是智能车开发本身就涉及环境感知、中央决策、底层执行等多个模块,每一个模块拎出来都可以造就一批伟大的公司。对于智行者而言,主要聚焦在中央决策系统的开发以及智能车整个大系统的集成,主要包括三部分工作:多传感器信息融合;决策规划;车辆控制。由于本人就是研究自动驾驶传感器融合这一方向的,所以对信息融合这一块也比较感兴趣。

那究竟如何做多传感器信息融合呢?

【干货】如何做好自动驾驶智能车控制决策系统开发? | 硬创公开课

对于自动驾驶应用来说,没有一种传感器是完美的,所以我们要做融合,取长补短。对于多传感器融合主要包含三个功能模块:采集及预处理,坐标转换、信息融合。

【干货】如何做好自动驾驶智能车控制决策系统开发? | 硬创公开课

在采集及预处理模块中,我们在 ROS 系统中各个传感器以单独的节点进行,然后进行信号解析、信号处理、信号筛选、误差补偿等工作。

【干货】如何做好自动驾驶智能车控制决策系统开发? | 硬创公开课

坐标转换实际上就是将多传感器统一到一个坐标系下,这是靠标定相关数据后能在软件中瞬间实现的。

【干货】如何做好自动驾驶智能车控制决策系统开发? | 硬创公开课

最难的部分在信息融合模块。我们将其分为 4 个步骤:数据关联、时间同步、数据融合、目标生命周期管理。

  • 因为每个传感器误差特性不一样,同一个目标对应不同传感器得到的位置信息可能不一样,所以我们需要先进行数据关联。这一步骤的难点在于需要对不同传感器的误差特性均有充分的了解。

  • 每个传感器信息发送周期不一样,即使按其标称周期进行同步,也会存在固定时漂和随机时漂的问题,所以时间同步这一步骤的关键点在于:了解各传感器的信号周期和时漂。

  • 数据融合步骤可以使用的方法有很多,例如卡尔曼滤波。但实际上,因为每个传感器各自建模的难度较大,我们直接采用粒子滤波的方法,可以不依赖于建模。

  • 目标生命周期管理主要用于在有噪声干扰的情况下保证各帧数据的连贯性。

在获取环境数据并确定「我在哪」之后,智能车需要做决策规划了,简单说下它的决策规划吧:

【干货】如何做好自动驾驶智能车控制决策系统开发? | 硬创公开课

决策规划实际包含三部分:定位、决策、路径规划。定位即我在哪;决策即我该怎么办,跟着走还是绕过去;路径规划即我是从左绕还是从右绕。

实际上,大部分公司是把决策和路径规划放在一个模块里一起做了。具体使用基于传统规则的方法、基于安全场的深度学习方法实现决策规划功能。

基于传统规则的方法大家都比较熟悉,其主要是以某一个或某一些固定的变量作为条件切换的判断依据,例如跟车的时候,规定和前车的相对速度或距离小于某一值就不跟了,马上换道。

但实际上人驾驶时一般不会这么干,所以完全基于规则的方法无法让智能车适应人的特性,无法让智能车「正常」的融入整个交通流。

现在深度学习方法可以比较好的解决这个问题,可以让智能车跟人学习,实现智能车的拟人化控制。但是深度学习有一个过程,并且他决策出来的路径会有一个偏差和概率的分布,不能完全避免碰撞和驶出马路等事故的发生,所以我们还得结合传统规则的方法来做:用 rule-based 保障安全,用深度学习实现拟人化决策。

决策规划完成以后,在车辆行驶过程中,就需要对车进行实时控制了:

以上就是智行者大致的解决方案,可能省略了一些,原谅笔者偏重感知模块,后续还会对apollo 3.0的感知融合部分进行分析。

加油!

相信时间会坚定实力。

猜你喜欢

转载自blog.csdn.net/m0_38087936/article/details/85319890
今日推荐