新智驾按:本文内容来自智行者科技 CEO 张德兆在硬创公开课的分享,由雷锋网旗下栏目“新智驾”整理。
张德兆,清华大学汽车工程系学士、博士。曾任北京智华驭新汽车电子技术开发有限公司(简称「智华」)CTO,总经理,负责前装车道偏离预警系统和前装 360 度全景系统研发、AEB、ACC、LKS 样车开发等多项高难度研发工作。2015 年,创办北京智行者科技有限公司(简称「智行者」),并担任 CEO。
智行者的定位是自动驾驶智能车方案系统提供商,主要聚焦中央决策系统的开发以及系统集成。
以下内容是张德兆在公开课上的分享:
我今天介绍的主题是「自动驾驶智能车控制决策系统开发」。我会从 4 个方面去阐述,包括:
-
概述;
-
多传感器信息融合;
-
决策规划;
-
车辆控制决策算法。
概述
先谈谈我对智能车商业化路径的一个大概思考。
汽车的第一属性是交通和运输工具,但在无人驾驶时代,特别是在物联网时代,汽车将会具备第二个属性:终端和管道。这有可能才是智能车最大的商业变现点。但第二属性需要智能车大量普及之后才能显现。
现阶段智能车可以在一些限定应用场景下实现快速市场化,例如最后一公里的出行、固定路线的作业车、物流配送等等。
智能车涉及的产业链非常长,先不说后续的运营和服务,光是智能车开发本身就涉及环境感知、中央决策、底层执行等多个模块,每一个模块拎出来都可以造就一批伟大的公司。
智行者主要聚焦在中央决策系统的开发以及智能车整个大系统的集成,主要包括三部分工作:多传感器信息融合;决策规划;车辆控制。
如何做多传感器信息融合
智行者对各个传感器本身不进行研发生产,而是找合作方合作供应。但是,现在做雷达的公司只做雷达、做摄像头的公司只做摄像头。对于自动驾驶应用来说,没有一种传感器是完美的,所以我们要做融合,取长补短。
我们的多传感器融合主要包含三个功能模块:采集及预处理,坐标转换、信息融合。
在采集及预处理模块中,我们在 ROS 系统中各个传感器以单独的节点进行,然后进行信号解析、信号处理、信号筛选、误差补偿等工作。
坐标转换实际上就是将多传感器统一到一个坐标系下,这是靠标定相关数据后能在软件中瞬间实现的。
最难的部分在信息融合模块。我们将其分为 4 个步骤:数据关联、时间同步、数据融合、目标生命周期管理。
-
因为每个传感器误差特性不一样,同一个目标对应不同传感器得到的位置信息可能不一样,所以我们需要先进行数据关联。这一步骤的难点在于需要对不同传感器的误差特性均有充分的了解。
-
每个传感器信息发送周期不一样,即使按其标称周期进行同步,也会存在固定时漂和随机时漂的问题,所以时间同步这一步骤的关键点在于:了解各传感器的信号周期和时漂。
-
数据融合步骤可以使用的方法有很多,例如卡尔曼滤波。但实际上,因为每个传感器各自建模的难度较大,我们直接采用粒子滤波的方法,可以不依赖于建模。
-
目标生命周期管理主要用于在有噪声干扰的情况下保证各帧数据的连贯性。
以下是智行者多传感器信息融合处理后的一个视频:
获取环境数据并确定「我在哪」之后,智能车需要做决策规划。
决策规划
决策规划实际包含三部分:定位、决策、路径规划。定位即我在哪;决策即我该怎么办,跟着走还是绕过去;路径规划即我是从左绕还是从右绕。
实际上,我们是把决策和路径规划放在一个模块里一起做了。我们用基于传统规则的方法、基于安全场的深度学习方法实现决策规划功能。
基于传统规则的方法大家都比较熟悉,其主要是以某一个或某一些固定的变量作为条件切换的判断依据,例如跟车的时候,规定和前车的相对速度或距离小于某一值就不跟了,马上换道。
但实际上人驾驶时一般不会这么干,所以完全基于规则的方法无法让智能车适应人的特性,无法让智能车「正常」的融入整个交通流。
现在深度学习方法可以比较好的解决这个问题,可以让智能车跟人学习,实现智能车的拟人化控制。但是深度学习有一个过程,并且他决策出来的路径会有一个偏差和概率的分布,不能完全避免碰撞和驶出马路等事故的发生,所以我们还得结合传统规则的方法来做:用 rule-based 保障安全,用深度学习实现拟人化决策。
对深度学习方法的应用
作为深度学习的应用公司,我们对深度学习算法本身不做太多研究(深度学习的平台公司会去做开发,我们只做应用),仅把他当做一个工具来使用。
我们主要做的事情是针对智能车的应用,为道路数据和驾驶数据选取一个比较合理的表达方式。
实际道路中影响驾驶的因素非常多,如果对所有因素都单独描述作为深度学习神经网络的输入,几乎是无穷无尽的,所以我们将这所有的因素都统一描述成「安全场」,即:只关注车辆对行驶的危险程度。
安全场理论实际多年前由日本学者提出,用于 ADAS 系统。例如:车道保持,就把车道线描述成如下图所示的场,车辆要跨出去必须克服一定的「能量」。前向防追尾也是一样的道理。
针对自动驾驶建立安全场的过程
安全场的原理在于: 在驾驶过程中,任何干扰因素(车辆、行人、道路、交通标志甚至天气)都将直接或间接的影响驾驶动作。如果这些因素以某种能量进行描述的话,那么理想驾驶状态应遵循这些能量的某种平衡。主要包含三个关键点:安全场模型、能量平衡状态模型和工程化实现。