谷歌Waymo自动驾驶详解

汽车安全 3年前 (2021) admin
861 0 0
2009年谷歌(Waymo)自动驾驶事业正式开始,但实际上谷歌的自动驾驶可以追溯到2005年第二届DARPA无人驾驶挑战赛,已有了十几年的历史,目前也是自动驾驶领域的标杆企业,不过Waymo也经历了各种坎坷,包括早期领导人职业操守严重不足,跟车企合作被鄙视,骨干员工加入竞争对手等。
Waymo在超过25个城市的公共道路上行驶了超过2000万英里。另外还在模拟环境中行驶了数百亿英里。此外,Waymo正在美国经营L4自动驾驶出租车服务,真正的在没有司机的情况下运送乘客。
下面来梳理一下Waymo的技术,以此来窥探一下头部企业背后的实际情况。
与其他公司的自动驾驶系统一样,Waymo自动驾驶技术主要包括:感知、定位、规划、控制。下面分别对其进行梳理,不过对于控制,由于其与车辆动力学模型是强相关的,就不对其进行介绍。
本文福利:分享报告《2021超级快充时代来临,高电压平台加速渗透报告》,公众号对话框回复【汽车ECU开发011】下载。

01.

感知

感知模块是自动驾驶的基础也是核心,其主要实现对障碍物距离的估计,以及车辆的定位。Waymo的感知系统使用了摄像头、激光雷达和雷达的组合,如图1所示。感知模块的大部分工作是由4个LiDAR完成的,因此其技术路线刚好与特斯拉相反。图2为Waymo的感知系统处理后的视图与原图像。

谷歌Waymo自动驾驶详解

图1 Waymo的感知系统

谷歌Waymo自动驾驶详解

图2 Waymo感知视图
从图2中可以看出,Waymo的感知系统获取障碍物信息的能力非常高,包括:
1、可以识别常规汽车、警车、救护车、消防车和校车。如果遇到特种车辆,系统可以根据警报器和灯光做出判断;
2、每个检测到的障碍物都有一个状态:移动、停车等。
在Waymo开发感知系统的过程中,遇到过不少棘手的问题,比如在车辆反射问题,如图3所示,不过由于感知系统采用了激光雷达,这种发射问题不会出现在激光雷达的点云中。

谷歌Waymo自动驾驶详解

图3 玻璃反射
另外还有一个极端问题:如果人们可能躺在卡车车顶,举着STOP标志。对于这样的问题,感知系统首先会检测STOP标志,然后将这些信息与地图进行匹配,检测地图上此处是否有STOP标志,是否有道路工程等,如果没有,该标志会被忽略。


02.

架构

最近在讨论Tesla计算机视觉架构时,我探索了HydraNet 架构。它是一种旨在同时运行多个神经网络的架构。“Hydra”这个词意味着一个有多个头的系统。Waymo没有HydraNets。
Waymo的架构并不是固定的。
图4展示了一个神经网络架构搜索(NAS)单元,它是神经网络的构建块,类似于ResNet的大型神经网络中的构建块这个想法已经被采纳并改编成一种叫做 AutoML 的东西。AutoML 的思想是神经网络架构必须由算法估计,如图5所示。

谷歌Waymo自动驾驶详解

图4 NAS单元

谷歌Waymo自动驾驶详解

图5 AutoML架构
这些架构是使用NAS单元构建的,最佳组合获胜。测试样本为10000个架构,预选100个模型,然后选出1个最终获胜者,获胜的标准是准确性和推理成本。

03.

数据集和模型

关于数据集和模型,Waymo使用的是一种称为主动学习的过程。主动学习的思想如下:
1、对于未标记的数据,将其发送给模型进行预测。
2、如果模型对其预测非常确定,其将获得一个自动标签。
3、如果不确定,则将数据发送给人工标注员。这样,人工标注员只标注疑难数据,其余的都是自动标注。
Waymo使用主动学习来训练模型,利用TPU(Tensor Processing Units)和谷歌的深度学习框架TensorFlow。与特斯拉类似,这是一个闭环,循环迭代。

谷歌Waymo自动驾驶详解

图6 Waymo主动学习步骤
图6中的描述已经比较清晰;从底部的Releases开始,然后沿着箭头一步一步执行。
1、当模型发布完成,开售数据收集
2、一些数据被选中并由神经网络或人工标注员进行标注
3、将标注的数据集发送到AutoML架构搜索,评估最佳模型
4、最佳模型经过验证、测试并发Releases新版本

04.

定位

定位很显然就是获取车辆的实时位置,要求精度在1~3cm。一些公司使用了GPS,或是添加了摄像头和激光雷达信息。Waymo使用了地图、激光雷达和GPS来定位车辆,这方面采用了从Google地图积累的经验。
多年来,Google地图团队一直致力于使用激光雷达、摄像头和GPS进行高精地图绘制。这些传感器正好也是用于自动驾驶相吻合。
谷歌几乎已经绘制了整个世界的地图。如果从相对位置检测到您看到了2号街道,就可以准确地知道您在哪里。这就是他们过去二十年一直在努力的事情。
Waymo的定位模块由地图、摄像头、GPS和算法组成,可在全世界范围内准确定位车辆。另外Waymo还进行了大量冗余设计,使其更加健壮、可靠。

05.

预测

行为预测

Waymo自动驾驶汽车最重要的特点是行为预测在自动驾驶汽车中,最终想要的是了解人类行为并预测。这就是所谓的行为预测。
这些行为预测是使用循环神经网络进行的:它们使用过去的信息来预测未来的行为。因此,可以确切地知道要做什么,并且可以衡量预测的置信度。举两个行为预测简单的例子:
1、如果车辆观察到有行人注视着它,则发生事故的风险很低。如果观察到行人不注意就跑,风险会更高。
Waymo的系统是如何做到这一点的呢?其预测系统是一个混合体,结合了机器学习和人类知识。所谓的人类知识,就是人类对世界的了解,例如交通法规和不可能的事情——人类行走或者跑步的速度不可能达到50公里/小时)。

06.

仿真

如文章开头所说,Waymo的自动驾驶在模拟器中运行了数百亿公里,该模拟器的输入为真实世界数据。
Waymo的仿真系统可以实时回放,可以模拟行为构建完整的场景,并查看算法是如何表现的。事实上,Waymo平均每天运行25,000辆虚拟汽车,并且在这些模拟中每天行驶1千万英里。
为了模拟更多场景,Waymo正在使用DeepMind和深度强化学习来创建代理和驾驶策略。
在强化学习中,策略是一种行为。其可以模拟一个愤怒的司机试图危险的切入。每次他们都会查看算法的行为和正确性。
一旦他们对驾驶员进行了准确且训练有素的预测,就可以生成要采取的轨迹。这也称为决策和轨迹生成。Waymo的驾驶模型称为ChauffeurNet,如图7所示。

谷歌Waymo自动驾驶详解

图7 ChauffeurNet驾驶模型

07.

规划

轨迹是一系列点坐标组成,其目标是综合来考虑安全性、速度和可行性,生成误差最合适的轨迹。Waymo的完整规划模块如图8所示。

谷歌Waymo自动驾驶详解

图8 规划模型
Agent RNN是一个为自动驾驶车辆生成轨迹的网络。这些轨迹将考虑航向(可行性)、速度(交通规则)、航路点(长度)等。Agent RNN的目标是模拟一个可行的、现实的轨迹。
Road Mask Net用于确保生成的轨迹为动车道,防止生成的轨迹中含有非机动车道。
最后,轨迹还考虑了排斥器和吸引器。用于将车辆维持在车道中,避开路障。
生成轨迹的过程还使用了逆强化学习技术。在逆强化学习中,尝试着眼于真实的人类轨迹,并确定是什么使这条轨迹成为一个好的轨迹,这有利于改进了生成的轨迹并使其更接近人类行为。

总结

Waymo的自动驾驶技术积累了十几年,而且背靠Google,可以借鉴不少地图方面的经验,但是Waymo专注于L4以上的自动驾驶开发,这一点从目前来看,不是大多数,大部分公司先着眼于L2和L3的落地,并且逐步实现L4及以上。像百度之前也专注于L4及以上的开发,但是后来尝试L2和L3的落地。



推荐阅读

对传统主机厂的一些思考

Tesla AutoPilot 纯视觉方案解析

如何写一份牛X的汽车软件需求

关于对汽车ECU软件测试的理解

特斯拉最新中央计算模块(CCM)解析

2021款特斯拉Model Y ECU接口梳理

详解CANoe之CAPL编程

关于CAN时间同步的理解

dbc文件的格式以及创建详解

基于UDS的Bootloder详解

关于整车上下电流程的理解

一文详解CAN总线错误帧|附下载

DoIP协议介绍,资料分享!

详解车载网络 OTA系统的开发|文末附下载

一文了解汽车嵌入式AUTOSAR架构|附下载

特斯拉Autopilot系统安全研究|附dbc下载

分享不易,恳请点个【在看】

原文始发于微信公众号(汽车ECU开发):谷歌Waymo自动驾驶详解

版权声明:admin 发表于 2021年12月21日 上午12:26。
转载请注明:谷歌Waymo自动驾驶详解 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...