1

探访Waymo无人驾驶测试场和模拟中心 看看它是如何测试汽车的

海中天人工智能 智能交通 机器视觉 自动驾驶2017/08/25

导语:为了开发无人驾驶汽车,Waymo做了许多准备工作。它建了一个名叫Castle的秘密基地,打造一个虚拟世界 […]

导语:为了开发无人驾驶汽车,Waymo做了许多准备工作。它建了一个名叫Castle的秘密基地,打造一个虚拟世界Carcraft测试汽车,用模拟技术测试。最近,《大西洋月刊》的记者拜访了Waymo的秘密设施,让我们追随记者的步伐一起来参观参观Waymo的测试场和模拟中心吧。

在Alphabet办公园区的一个角落里,有一个团队正在开发软件,它会成为无人驾驶汽车研发流程的关键组成部分。到目前为止没有记者亲自参观过。Alphabet管它叫Carcraft,根据流行游戏《魔兽世界》命名。

软件的制作人是一个年轻工程师,名叫詹姆斯·斯托特(James Stout),他坐在我的身边,这是一个开放式办公室,很安静。屏幕上显示虚拟线路。在人眼看来,没有太多东西值得观看:线条很简单,背景的纹理跟公路差不多。我们看到一辆自动驾驶克莱斯勒Pacifica汽车出现在画面上,中等分辨率,还有一个简单的线框代表其它汽车。

1

几个月之前,一辆自动驾驶汽车在德州碰到了相似的线路。环境很复杂,如何调整速度,汽车感到很困惑,于是研究人员决定在测试中心增加相似的公路,与真实公路很相似。我们看到的是学习进程的第三步:将真实世界的驾驶变成数字。在真实世界里的单一驾驶操作到了这里可以在成千上万的场景中重复,用来研究汽车的性能。

从Castle开始

Alphabet引进了强大的模拟仪器,场景正是仪器运行的基础。斯托特说:“大量工作能够完成,新功能能够开发出来,都得到了模拟技术的帮助。”有了这套工具,Waymo可以让无人驾驶研发速度加速,2016年,Waymo从Alphabet分拆出来,成为独立公司。

如果未来几年内Waymo可以提供完全自动驾驶的汽车,我们应该记住Carcraft,它是一个虚拟世界,重塑真实世界,在开发过程中它发挥了重要作用。

汽车在公共道路上会碰到各种场景,最开始时Carcraft只是“回放”这些场景,慢慢的,它在自动驾驶项目中扮演越来越重要的角色。

每时每刻都有25000辆虚拟汽车在模型中行驶,这些模型是根据Austin、山景城、凤凰城制作的,还有一些模型模拟测试车道场景。Waymo可以用模拟方式让汽车在特别复杂的公路上奔跑,每天跑几千几万次。每一天,数字汽车都要在虚拟世界行驶800万英里。2016年,虚拟汽车行驶了25亿英里,至于谷歌的真实汽车,只在公路上行驶了300多万英里。Waymo的工作人员老是说,在虚拟英里数中他们关注的是“有趣”的英里数,从中能学到新东西。总之,它和高速公路上行驶的里程不同,高速公路比较枯燥。

2

 (Carcraft测试软件)

Waymo制定了一套复杂的流程开发汽车,模拟只是其中的一个环节。一方面,汽车在公共道路上行驶几百万英里,另一方面,谷歌在中央山谷(Central Valley)建立秘密基地,名叫Castle,让它执行“结构测试”项目,然后将两种测试融合在一起。

之前Waymo没有谈论过这个系统。汽车在常规公路上行驶,有一些地区需要多练习一下。Waymo在Castle的土地上雕刻需要的空间,然后让汽车在原位置练习,体验成千上万的不同场景。这两种测试都是在真实世界进行的,汽车会获得丰富的数据,在未来任何时间点创建完整的数字场景。到了虚拟空间,Waymo不会受到现实生活的约束,可以让任意一个场景变成上万上万个变体场景,让数字汽车在每一个场景中学习。当驾驶软件越来越先进,Waymo会将软件装进真实汽车,然后让汽车在真实世界行驶。Waymo一次又一次重复这样的流程。

秘密基地

前往Castle,你要驱车从旧金山Bay区向东行驶,进入99号公路向南行驶,然后来到中央山谷高速公路,继续南行抵达Fresno。这里的气温比旧金山高,很平坦,John McPhee甚至管它叫作“土地海洋”,想测量只能用激光。在靠近小镇Atwater的地方离开公路,Atwater曾经是Castle空军基地的大本营,当时那里有6000人为B-52项目工作。现在它成了Merced城区的边缘地带。我们穿过铁轨,在1621英亩的老基地内行驶,现在这里有许多机构,比如Merced县动物控制中心、阿特沃特监狱。

手机无法告诉我们目的地在哪里,GPS倒是可以用。我们沿着高高的不透明绿屏障前进,直到谷歌地图让我们停车才停下。看不到哪里有大门可以进入,似乎哪里都是绿屏障,不过Waymo向导倒是很有信心。果然,前面出现一道安全门,绿屏障上裂缝变宽,查看身份之后就可以进入。

随后我们开车进入一个热闹的小园区。年轻人穿着短裤带着帽子走来走去。里面有活动板房,有穹顶车库,当然还有自动驾驶汽车,停在主建筑的停车场内。有一个地方停了几种无人驾驶汽车,有雷克萨斯汽车,这种汽车你在公路上会看到,还有Priuses,这款自动驾驶汽车已经退役,还有新的克莱斯勒Pacifica。

自动驾驶汽车还是容易识别的,上面安装了传感器,主要是激光扫描仪(也就是激光雷达),装在汽车上方。Pacifica汽车不太一样,靠近侧视镜的地方有一个激光雷达组件旋转,激光雷达跟啤酒罐差不多大。汽车的背部还有雷达,看起来很像怪物史莱克的耳朵,只是是白色的。

一旦汽车传感器启用,旋转的激光雷达会发出古怪的声音,即使停车也一样。声音介于“牢骚声”和“撞击声”之间,之所以讨厌只是因为它很古怪,耳朵无法过滤,就像其它汽车的噪音一样。

3

(绿屏障)

有一辆特殊汽车停在主建筑对面的街道上,这是一辆Level 4汽车。在公路上我们看到的自动驾驶汽车大多数都是Level 1或者Level 2等级,只能在高速公路上自动巡航。这辆Level 4汽车完全不同,它完全可以自动驾驶,如果里面没有人是不能行驶的,总之这辆汽车与众不同。

进入停车场,你会觉得这里有点“曼哈顿计划”的味道,有点像科学前哨站,也有点像科技创业公司。进入主建筑会有一个活动板房,跟教室差不多大,在这里我见到了幕后人物,她的名字叫作斯蒂芬·比列加斯(Steph Villegas)。

测试司机

进入谷歌之前,比列加斯在East Bay长大,后来在加拿大学伯克利分校学美术,2011年加入无人驾驶汽车项目。

我问她:“你是一名司机吗?”

比列加斯回答说:“一直是司机。”

比列加斯花了无数时间乘坐汽车在101和280高速公路上穿梭,往返于旧金山和山景城。和其它司机一样,比列加斯的目标只有一个:搞清汽车在公共道路上是如何运行的。在自动驾驶汽车项目中,这可是相当关键的一步。研究人员要让汽车拥有直觉,这可是一件难事。比列加斯说:“在新软件上做了一些测试、在团队工作一段时间之后,我开始思考一个问题:有什么会对系统构成挑战。”

于是比列加斯与一些工程师开始制作稀有场景,在受控环境下测试汽车新行为。Waymo租用了海岸线圆形剧场(Shoreline Amphitheater)对面的停车场,所有入口都安排人守护,不让其它人进入。

“我们就是从这里开始的。”比列加斯说,“每周我和几名司机会提出一些构想,对汽车进行各种测试,我们将物资放在卡车上,然后驾驶卡车进入停车场,测试汽车。”

自动驾驶项目最初的“结构测试”就是这样进行的。如果路上有僵尸吃人怎么办?这可不是最难的事,最难的地方在于:普通交通环境中有无穷的变化情况,人类可以从容应付,如何让汽车像人一样应对,自信而可靠,这才是最难的。

4

(小道具)

比列加斯开始收集各种小道具,仿制品、锥体、假植物、孩子的玩具、滑板、三轮脚踏车、玩偶、球、装饰物。所有东西都放在道具存放处。最开始时放在帐篷里,现在Castle有一个专门存放点。

问题来了。Waymo要让汽车跑得更快,需要用到街灯和停车标志。海岸线圆形剧场经常会有音乐会,计划会被打乱。

正因如此,研究团队需要一个秘密基地,最终Castle成为最佳选择。Waymo签下租赁协议,开始建造一个假城市。比列加斯说:“我们讨论后达成一致,要建造居民街道、高速公路一样的街道、尽端路、停车场以及类似的东西。这样一来我们就有一个代表性地点,将各种元素浓缩进去,可以开着汽车到处跑。”

前往测试场

我们从主拖车办公室走到比列加斯的汽车前,当我们前往测试场时,她给了我们一份地图。比列斯斯说:“和迪斯尼公园一样,你可以跟着地图走。”地图制作精细。在角落里有一个拉斯维加斯式的标志,上面写着:“欢迎来到加州Fabulous Castle。”园区的不同区域有自己的命名规则。在我们走过的区域里,每一条路都用著名汽车命名(比如DeLorean、Bullitt),或者是一代普锐斯汽车早期使用的名字(Barbaro)。

接下来我们路过一个粉红建筑群,那是陈旧的军队宿舍,当中一幢翻新过:Waymo工作人员如果不能返回Bay区就会在这里睡觉。除了这幢建筑,测试区再无别的建筑。

走进测试场,感觉就像进入了视频游戏的某一关,里面除了玩家没有别的角色。

我们来到一个新地方,这里有一条迂回两车道公路。中间是一个圆,围了白色栅栏。比列加斯说:“我们在德州Asutin的多车道迂回公路上行驶之后建了这条迂回路。最初只有单车道迂回道,我们当时认为:‘行了,这样就行了。’到了多车道迂回路上,我们才发现完全是另一回事。于是建了这条迂回路。”

比列加斯的目光转向新设施:两条汽车车道和一条自行车车道从平行停车位旁边穿过,停车位靠近草地。我们停下脚步,比列加斯说:“我们想建一些东西,旁边有平行停车位。在郊区市中心经常会看到这样的场景。Walnut Creek、山景城、帕洛阿尔托都有。人们从店面或者公园出来,在汽车之间行走,可能还会拿着东西穿过街道。“

5

(模拟街区)

随后,比列加斯开车将我们带回主建筑,我们坐进无人驾驶货车,也就是克莱斯勒Pacifica。坐在左侧的驾驶员名叫布兰登·蔡恩(Brandon Cain),右侧是副驾驶员,坐在乘客座位上,他打开笔记本,用XView软件查看汽车的运行情况。

还有测试助理,Waymo管他们叫作“foxes”,这个名字是从单词“faux”变化而来的,是一个绰号。“foxes”驾驶汽车、扮演行人、骑自行车、拿着停车标志,还要干许多其它的事。“foxes”更像是演员,而“观众”就是自动驾驶汽车。

测试汽车

第一项测试很简单,简单通行然后处理抢道情况,高速完成,时速45英里。我们在宽宽的公路上直行,这条路叫作Autobahn。

Foxes切入之后,Waymo汽车会刹车,然后团队会查看关键数据:看看汽车是怎样减速的。研究人员想知道哪些场景会导致汽车急刹车。

这不是我第一次乘坐自动驾驶汽车。之前我坐过两种自动驾驶汽车:一款是雷克萨斯SUV,它带着我穿过山景城街道;还有一款是谷歌小巧的Firefly汽车,它载着我在谷歌一幢建筑的屋顶上转圈。这两次体验都很普通。

这次不同。现场有两辆快速行驶的汽车,一辆汽车会抢道,用“spicy”(下流,谷歌工作人员的说法)的行为抢道。出发了,蔡恩让汽车前进,汽车说:“Autodriving。”表示要启用自动驾驶了。另一辆汽车靠近,抢道,就像一个开保时捷的人要将我们逼退一样。我们的汽车急刹车,又快又平稳。真是让人佩服。

6

(环形双车道)

然后Waymo工作人员查看减速数据,发现急刹车不够有力。我们做了一次又一次。另一辆汽车从不同的角度抢道,用不同的方式接近。

后来我们又完成了另外3项测试:高速并道;一辆汽车倒车,退出私人车道,第三辆汽车挡住了无人驾驶汽车的视线;汽车平稳驶向车站,此时一名行人在我们的道路上玩篮球。每一次测试都给人留下深刻的印象,不过抢道测试最让人惊叹。

我们排队准备再跑一次,蔡恩坐在自己的座位上。他问我:“看过《环太平洋》吗?”这是一部电影,里面的人与巨大的机器人同步,用机器人与怪兽作战。他说:“我正在尝试与汽车同步,我们共享思想。”

与汽车同步到底是什么意思?我让他解释一下。蔡恩说:“汽车中坐了不同的人,有不同的重量,我尝试根据重量的不同调整。在汽车内坐了很多次之后,我的屁股会感觉到汽车的行为,听起来有点奇怪,但真的是这样的。我似乎知道它想做什么。”

7

(两辆汽车并道,一辆自动行驶)

Waymo模拟中心

离Castle很远的地方有谷歌山景城总部。我们来到这里拜访Waymo工程师,他们在X内部办公,也就是之前的Google X,它是谷歌的一个研发分支机构。2015年,谷歌建立了一家名叫Alphabet的公司,将所有公司放在Alphabet之下,X前面的“Google”字样去掉了,变成了X公司。重组一年之后,无人驾驶汽车项目变成了独立公司,也就是Waymo。

正因如此,Waymo的办公室还留在“母舰”之内,Waymo的人形成两个派系,现在却坐在了一起。

X/Waymo大楼很大很空。里面有Project Wing项目的原型无人机,我还看到了小巧的Firefly汽车。从自助餐厅向上走,会看到Waymo模拟中心,位于一翼的一个角落内。在这里,我们可以从屏幕上看到Carcraft和XView。多边形嵌在黑色背景上。有人在创建虚拟世界,让Waymo汽车通行。

等待我们的是詹姆斯·斯托特,Carcraft的制作人。他从没有公开谈论过这个项目。

斯托特说:“我只是浏览了一下招聘信息,发现自动驾驶汽车团队正在招聘,真不敢相信他们居然会发招聘信息。”斯托特进入了团队,马上动手开发工具,现在工具指挥虚拟汽车每天行驶800万英里。

当时,工具的主要作用是这样的:在复杂的环境中人类如果接管汽车会怎样做,汽车又会怎样做。斯托特说:“很快我们就发现工具很实用,我们可以制作很多这样的东西。”Carcracft的空间开始延伸,增加了整个城市,汽车数量也大大增加。

8

(4个人推车时Waymo激光雷达看到的图像)

斯托特请来了埃琳那·科拉罗夫(Elena Kolarov),她是“场景维护”团队的主管。科拉罗夫前面摆了两块显示屏,她用右边这块观察XView,屏幕告诉大家汽车看到了什么。从对象中会伸出一些绿色线条,它告诉我们汽车预测目标可能会向哪些方向移动。在底部有一个图像条,它告诉我们汽车常规摄像头拍到了什么。激光扫描仪也会传回数据,科拉罗夫可以打开数据,显示出来,数据用橙色或者紫色点显示。

研究人员载入另一个场景,这个场景来自于凤凰城。科罗拉夫放大模型让我们观看。斯托特说,所有车道都有,哪个车道通向另一个车道,停止标志在哪里,交通灯在哪里,路缘在哪里,车道中央又在哪里,所有你需要知道的信息都有。

9

(XView模拟软件看到的线路图像)

我们缩小模型回到原状态,它显示的是凤凰城附近的一个4向停车点。接下来科罗拉夫开始添加汽车、行人和骑自行车的人。

按一下热键,屏幕上的目标物开始移动。汽车像汽车一样移动,在自己的车道内行驶,转向。自行车按自己的方式移动。它们的运行是根据模型进行的,Waymo让汽车在公共道路上行驶,然后构建模型。超详细的地图和模型是根本。

10

(在Carcraft中构建场景)

最难的部分

模拟其它人的行为是难的。正如老人们常说的:“我不担心你开车,我们担心的是路上的其它人。”

Waymo软件主管德米特里·多尔戈夫(Dmitri Dolgov)说:“我们的汽车看到世界,理解世界,然而环境中的一切都是动态的,汽车、行人、骑自行车的人、骑摩托车的人,我们的汽车要理解他们的意图。光是追踪一样东西穿过空间是不够的,我们要理解它们正在做什么。要制造强大、安全的自动驾驶汽车,这是关键。”

有一个关键的不同:在真实世界,你必须获得环境的最新数据、实时数据,将它转化为对场景的理解,然后导航。经过多年的研究,现在Waymo已经深信自己可以做到,因为许多测试显示汽车已经可以识别各种行人。

11

(Xview模拟场景)

正因如此,在大多的模拟中,他们跳过了对象识别这一步。Waymo不会向系统输入原始数据,让它识别行人,而是直接告诉汽车:这里有一个行人。

在四向停车点前,科罗拉夫提高了难度。她按下V键(汽车上的一个热键),新对象出现在Carcraft世界。然后她移动鼠标,在右手一侧放下一个菜单,里面有许多不同类型的汽车可以选择。

Waymo会为不同的对象建模,对象按模型移动,Carcraft场景构建师也会编写程序,让它们以精准方式移动,用来测试特殊行为。斯托特说:“控制场景,放下东西并让它们移动,二者之间有一个范围。”

一旦为场景搭建了基本架构,就可以测试所有的重要变量。在四向停车点前,你可以让不同的汽车、行人、自行车骑手调节抵达时间、停留时间和移动速度,还可以修改其它变量,进行测试。你只需要确定赋值范围,然后软件就会自动创建所有场景组合并运行。

12

(fuzzing图表)

Waymo管这个过程叫作“fuzzing”。以四向停车点为例,总共会生成800个场景。系统制作一张漂亮的图表,工程师可以进去查看,看看不同的变量组合与汽车挑选的路线有何关联。

问题的关键就是分析所有场景,然后不断模拟,找到最有趣的数据,为工程师提供引导,让驾驶变得更好。第一步可能是这样的:汽车是不是处理不了?如果是,那就是有一个有趣的场景,值得研究。

下面这段视频也许可以让你看得更明白。这是一个复杂的四向停车点,出现在真实世界,位于山景城。当汽车向左转弯时,一辆自行车靠近,汽车感到困惑,于是在路上停车。工程师看到了问题,修改软件,让它正确回应。在视频中我们可以看到真实场景是怎样的,在真实场景上面是模拟测试。两种情况分离之后,你会看到模拟汽车继续前进,后面出现一个盒子,上面贴有标签“shadow_vehicle_pose”,它告诉我们真实世界发生了什么事。对于Waymo工作人员来说,这样就可以用视觉化形式看清整个过程。

1111

点击可查看动图

模拟有三个核心要素:首先,让真实汽车尽可能多跑一些距离,经历越多越好;其次,行驶时关注的重点是有趣、很难处理的相互作用,而不是枯燥乏味的行驶;再次,尽可能缩短软件的开发周期。

多尔戈夫说:“对于我们来说迭代循环是相当重要的,在模拟世界我们做了许多事,这些事可以让我们缩短时间。在开发程序的早期阶段,周期要几周,现在只要几分钟。”

如果路面上出现浮油、发生爆胎、出现奇怪的鸟、出现排水口一样大的洞坑会怎样呢?这些东西能模拟吗?多尔戈夫很乐观。他说,当然可以,只是模拟器的仿真度有多高呢?有时只需要在真实世界测试几次,就可以拿到更好的数值,或者让模拟器确认。

Waymo领先但不再特殊

Waymo积极进取没有让外部专家感到意外。Andreessen Horowitz风投家Chris Dixon说:“就目前而言,如果你想知道一个无人驾驶团队(无人机团队、汽车团队)有多强大,可以看看他们对模拟有多重视。Waymo无疑是最领先最强大的团队之一。”

Allstate Insurance创新主管Sunil Chintakindi说:“如果没有强大的模拟基础设施,你根本没有办法制造更高级的无人驾驶汽车。有些人说用其它方法也可以做到,我不会认同的。”

其它一些研究人员也采用相似的策略。密歇根大学自动驾驶、联网汽车实验室Mcity的研究人员Huei Peng说,任何系统如果想运行,必须将各种测试结合,当中超过99%是模拟测试,还有一些精心设计的结构化测试,还有一些公路测试。

他与学生开发一套系统,将公路测试与模拟测试整合,让测试速度加快。Huei Peng的方法与谷歌差不多。他说:“关键就是剔除那些枯燥的部分,专注于有趣的部分。这样就可以让速度提高几百倍,测试1000英里相当于100万英里。”

我将谷歌所做的结构化测试数据告诉Peng,包括2万个场景,Castle团队在结构化测试中收集场景,然后转化为模拟场景,这样的场景共有2万个。Peng听错了,他说:“2000个场景很多。”我打断并纠正他的说法,Peng停了一会,说:“20000个。”想了一想又说:“真让人印象深刻。”

放在现实世界,2万个场景只是Waymo测试场景的很小一部分。Peng说:“他们做得很不错,在Level 4级别超前别人很多。”

随后Peng谈到了传统汽车制造商所处的位置。他说,传统汽车制造商想做一些完全不同的事。它们的目标不是开发完全自动行驶的汽车,而产增加驾驶员辅助技术,赚一些钱,然后再向自动驾驶前进。传统汽车商的做法与Waymo不可相提并论,Waymo为汽车安装的激光探测器要7万美元。

Peng说:“通用汽车、福特、丰田及其它企业都在说:‘让我们减少撞车、致命事故的数量,为大众市场的汽车增强安全性。”它们的目标完全不同。Peng认为:“它们考虑的是数以百万计的汽车,不是几千辆。”

在无人驾驶竞赛中,Waymo面临的挑战越来越大,尤其是特斯拉的挑战。斯坦福汽车研究中心主任克里斯·格迪斯(Chris Gerdes)在8个月前表示,与其它人相比,Waymo研究的问题更深入,离解决问题更接近,上周又问他,他认为情况仍然如此,但是形势已经有了蛮大的变化。

格迪斯说:“福特、通用汽车等制造商部署汽车收集路面数据,特斯拉通过Autopilot收集了大量数据,不断学习,想让系统知道如何在各种环境中运行,这些环境是特斯拉客户经历过的。特斯拉可以悄悄测试算法,快速增加测试汽车,完成更棒的测试。”

在模拟领域,格迪斯看到了许多竞争程序,它们都很强大。格迪斯称:“我相信模拟功能多种多样,但是我的确看到一些模拟很出色。在这个领域Waymo不再特殊。没错,Waymo的确是率先前进的企业,但是有许多团队也在使用相似的方法。谁做得最好?现在还没有答案。”

zhidx