雷锋网 · 新智驾按:本文是Wired作者Joshua Davis于2006年对最早的两届DARPA无人车挑战赛的报道,雷锋网 · 新智驾(公众号AI-Drive)编译。第一届DARPA无人车挑战赛始于2004年,官方设立了100万美金的奖金奖励当年能在莫哈维沙漠中率先跑完150英里全程的参赛车队,但当年没有一支车队完成。
次年,Sebastian Thrun宣布参与DARPA挑战赛,在于卡耐基梅隆大学展开激烈角逐后,斯坦福车队拿到冠军。自此业界对于无人车自动驾驶的信心大增,而DARPA也由此成为启蒙自动驾驶行业的里程碑式的赛事。
参赛的途锐赛车
一辆 2004 款的大众途锐猛地冲入尘土飞扬的莫哈维沙漠,它左冲右突,躲避着沙漠中的巨石,时速高达 56 千米/小时。这可不是什么巴吉卡车拉力赛,因为这辆车上坐着的都是科学家。其中,副驾驶上的 Sebastian Thrun 是斯坦福人工智能实验室历史上最年轻的领导人,而后座上飞快敲击代码的是斯坦福的博士后Mike Montemerlo,与他一同待在后座还有密密麻麻的线缆。
最令人惊讶的是,Thrun 身旁的驾驶坐正处在“大撒把”的状态。准确来说,这辆途锐正处在无人驾驶中。听着车上的零部件和 重达635 磅的各类传感器(雷达、摄像头、计算机和激光测距仪)叮当作响,Thrun 下意识地紧了紧自己的安全带。他这一辈子造了无数机器人,但却从来没试过将自己的身家性命交到机器人手上。
Thrun 心里五味杂陈,他非常害怕且感到迷惑,不过最令他无法接受的是,自己精心设计的算法居然没有起作用。
突然,车辆方向盘向左急打了一把,这辆途锐眼看着就要掉沟里了。驾驶席上的程序员 David Stavens 赶紧抓住方向盘把住方向并猛踩刹车,而 Thrun 则马上按下一个硕大的红色按钮,切断电脑对车辆的控制。这辆狂奔的 SUV 终于停了下来。Thrun 松了一口气,尝试把刚刚的经历回忆成是一段愉快的旅程。
这次要命的试车本不该这样。
2003 年时,美国国防部高级研究计划局(DARPA)曾斥巨资悬赏:谁能打造一辆能穿越 300 英里沙漠的自动驾驶汽车,谁就能拿走100万美金奖金。DARPA 将这次比赛命名为 Grand Challenge(意为重大挑战),今天来看,这一赛事的重要性堪比 1997 年卡斯帕罗夫大战深蓝电脑。
不过到了 2004 年 3 月的正式比赛那天,参赛车们却像一群发了疯的猛兽,一辆无人车为了躲避阴影直接冲下了赛道,而当天最重量级的参赛车——一辆 15 吨的大卡车却把低矮的灌木当成了巨石,居然选择小心翼翼地绕了过去。最受到瞩目的是,来自卡耐基梅隆大学的团队,他们在自动驾驶技术上已经积累了超过20 年,消耗了美国军方数百万美元的项目经费。最终,卡耐基梅隆大学的车辆在沙漠中跑了 7.4 英里后撞上路沿起火,比赛以所有车队“全军覆没”告终。
Thrun 在斯坦福观看了这场比赛的视频,他简直不敢相信自己所看到的场景,这简直是对整个机器人行业的羞辱。就在一年以前,他刚刚当上斯坦福 AI 实验室的主管。坐在空荡荡的办公室里,这位 36 岁的德国人决定做些什么,虽然他此前从未想过接触自动驾驶汽车。为了捍卫整个行业的声誉,Thrun 决定放手一搏。
Thrun 早期参加DARPA Grand Challenge的团队(左二为 Thrun)
说干就干,Thrun 马上召集了一流专家组建了团队,此举也吸引了大众集团在帕罗奥多研究团队的注意,双方决定进行合作。不过,离第二届大赛只有 3 个月了,他们手上只有大众途锐 SUV 可不够,一些很基础的问题还没能得到解决呢。
Thrun 借着散步的机会进行着思考,时而还会踢踢路边的小石头。这是他凭借一己之力建立汽车行业新规则的好时机,但在当时他眼前只能看到难以跨越的大山和荆棘。
1979 年时,Thrun 就通过一款黑白游戏对车辆起了兴趣。当时的他才 12 岁,但却每天泡在德国汉诺威的一家酒吧里,而这里最吸引他的不是啤酒,而是那台投币游戏机。每天,Thrun 都会准时来这里报到,用自己的 20 芬妮(德国货币)零花钱买 3 条命玩赛车。虽然游戏很刺激,但却很费钱,Thrun 仔细研究了游戏画面后,决定自己在家中的老电脑上将其复刻出来。他将自己关在屋里,每天忙于在这台老电脑上编程。不过,这台老掉牙的北极星电脑主频只有 4 MHz,RAM 则为可怜的 16 Kbytes,但这位神奇小子还是成功在上面打造了一款赛车游戏。
虽然后来的7年中 Thrun 都没好好在校学习,甚至连作业都没写过,但毕业时成绩依然名列前茅。聪明的 Thrun 当时对自己的前途有些迷茫,于是他在德国国防军度过了两年时光。不过,是金子总会发光的,1986 年 6 月 15 日,部队领导告诉他可以光荣退役了,而这一天也是递交大学申请的最后截止日。他 20 分钟就跑到了招生处准备申请大学,Thrun 飞快地扫了下可以申请的专业:法律、医药、工程和计算机科学。虽然他对计算机科学知之甚少,但少年时编程的记忆却让他对这门学科心生好感,于是他最终踏进这行。
Thrun之后的五年,可以说快速成为了计算机科学领域一颗冉冉升起的新星。拿下近乎完美的毕业成绩后,Thrun 进入了波恩大学的研究所,在这里他发表篇论文中第一次提出了会自主学习的机器人概念。他还打造了一台能在疗养院里躲避障碍的机器人,在行进途中机器人还能提醒老人注意安全。此外,Thrun 的机器人还一头钻进废弃的矿井,几小时后它就带着详细的内部地图回来了。
Thrun 的优异研究成果引起了美国机器人专家的注意,卡耐基梅隆大学聘请他来校执教,当时的 Thrun 才 31 岁。不过,虽然少年得志,Thrun 并没有找到自己最爱的研究领域。
Thrun 进入卡耐基梅隆时,机器人行业最热门的项目就是自动驾驶汽车。当时,该领域的领军人物是德国国防军大学的航天技术教授 Ernst Dickmanns,他喜欢将飞机 70 年代就实现自动驾驶的事儿挂在嘴边。虽然这项技术已经被航空公司广泛接受,但却从来没人在陆地上尝试过,Dickmanns 决定在该领域做出一番成绩。
在德国国防军和戴姆勒公司的支持下,他花 7 年时间改装了一辆奔驰车,这辆车上除了摄像头,还有大量早期的英特尔处理器。1986 年 12 月,这辆测试车在奔驰的测试场加速到了 32 千米/小时并成功完成了弯道测试。虽然这辆车已经被历史所遗忘,但在自动驾驶汽车的发展史上,这绝对是与阿波罗登月同等重要的一步。
就是在这辆车的启发下,世界各国兴起了自动驾驶汽车研发热潮,这一“热”就是十年。在美国,卡耐基梅隆大学成了推动自动驾驶研发的主力。当时的研究人员普遍使用基于规则的系统,她们会列出一些易于识别的物品并告诉汽车该作何反应。但不久之后,就出现了两大主要问题,一是当时的处理能力不够,车载电脑很快就被大量的数据拖垮,要想稳定行驶,车辆必须慢慢“蠕动”。此外,研发团队在编程时无法覆盖所有车辆遇到的情况,因为现实世界的路况实在是太复杂了。
1991 年,卡耐基梅隆大学计算机博士 Dean Pomerleau 萌生了一个新想法。他认为教车辆学会自动驾驶的最佳方法是让它们跟人类学习。于是,他在学校的悍马测试车上运行了自己的程序,该程序会自动追踪他在匹兹堡道路上开车的一系列操作。几分钟后,计算机就生成了自己的算法,在 Pomerleau 大撒把后,这辆悍马成功在洲际公路上完成了自动驾驶,最高时速甚至开到了 88 千米/小时。
不过,到了一座桥后,这辆车的转向系统却“发了疯”,Pomerleau 不得不赶紧稳住方向盘。随后的几周,他一直在分析数据,试图找出到底哪里出了问题。结果发现,他驾驶的过程中,州际公路路边都有灌木丛,电脑将其当成参照系好让车辆行驶在道路上,当灌木丛突然消失后,电脑就懵了。
这绝对是个致命问题。上世纪 90 年代中期,微型芯片速度不够快,它无法即时算出所有可能性,高速行驶更是会让处理器压力大增。1996 年,Dickmanns 宣布,“想实现现实世界的自动驾驶,必须要等计算机性能的提升。如果用摩尔定律来推算,就意味着我们至少还要等十多年。”此话一出,自动驾驶热度骤降,研究资金开始捉襟见肘,许多项目只能暂停。
8 年后的 DARPA 挑战赛上,处理器速度已经远远甩开了摩尔定律,提升到原来的 25 倍,GPS 导航也已经开始广泛应用。同时,激光传感器成本更低也更可靠,Dickmanns 设定的技术门槛基本已经全部兑现了。
当时,有 100 多支队伍报名参加 DARPA 第一届挑战赛,这个结果令他们欢欣鼓舞,仿佛自动驾驶的黎明就要到来了。不过,前面一塌糊涂的赛况显示,研究人员依然没能克服该领域最大的挑战。
在 Thrun 专心准备第二届挑战赛时,他发现自己仿佛又回到了 12 岁,不过这次可不能再用那台老旧的北极星电脑了,他需要强大的计算硬件和稳定的车辆。
在这关键时刻,他接到了大众电子研究实验室科学家 Cedric Dupont 的电话,当时的大众也想参加挑战赛。它们听说 Thrun 也有此意,就决定给他提供三辆途锐,一辆用于比赛,一辆备用,另一辆则负责提供零部件。造车经验丰富的大众则负责把车辆的转向、加速和刹车控制系统连上 Thrun 的电脑。得到了大众支持的 Thrun,正式开始走上书写汽车行业历史的道路。
在该领域浸淫 20 多年的卡耐基梅隆大学车队也不服输,它们准备在第二届挑战赛中一雪前耻,这次带队的是 Red Whittaker教授。
首先,团队准备在比赛中启用两辆无人驾驶赛车,一辆 1986 款悍马和一辆 1999 款的悍马,卡耐基梅隆选择悍马主要就是因为它们很皮实。同时,Whittaker 还给传感器装了陀螺仪,以便能得到更可靠的数据。随后,他专门派了三个工作人员驾驶一辆卡车在沙漠里驾驶了 28 天,这辆卡车的目标就是用激光雷达绘制出比赛区域的数字地图。在莫哈维沙漠开了约 2000 英里后,该团队终于摸透了这里的地形。
不过,这只是个开头,该团队又购买了该区域的高清卫星图像。当 DARPA 公布比赛路线后,Whittaker 派 12 位分析师在帐篷里仔细研究起了比赛路线。分析师在赛道上标出了石头、围栏和沟渠,以方便参赛车辆识别。
除此之外,Whittaker 的团队还用上了 Pomerleau 的招数,它们派工作人员驾驶悍马在不同的沙地进行行驶,以便让车辆能轻松应对不同的环境。配置方面,两辆悍马都搭载了 7 颗英特尔 M 处理器和 40 GB 的闪存,为了赢得这场比赛,卡耐基梅隆的预算高达 300 万美元,一副志在必得的样子。
不过,它们投入的巨大人力物力好像并没有起效,那些预先绘制的地图只覆盖了赛道的 2% 路程,比赛中赛车还是要靠沙地训练积累的经验。不过,这些可远远不够,即使机器人能识别出 10 点钟方向的一颗石头,换个角度或者光照环境还是会让机器傻掉。
带领斯坦福团队参与比赛的 Thrun 也面临相同的问题,路上的一个小突起可能就会让途锐的传感器措手不及,自动驾驶汽车还不够聪明,它分不清传感器的误差,还是前方有新的地形,甚至会被自己的阴影“吓到”。
也许你不相信,不过 Thrun 坐在路边时想到了一个更简单的解决方案。传统汽车在处理传感器采集的数据方面非常愚笨,研究人员必须亲自上阵来提升数据质量(为传感器装上陀螺仪或升级处理数据的软件)。Thrun 认为,车辆要想变得更聪明,它们就必须自行判断那些不完整的和模棱两可的数据,也就是得拥有类似自我意识的算法。
在首席程序员 Montemerlo 的帮助下,Thrun 开始记录参赛车辆 Stanley 的大脑。它们要求计算机处理传感器采集到的每一个像素,随后根据人类驾驶的情况为数据分配数值。这样,计算机就能将自己的判断与人类的经验进行对比,随后舍弃那些错误的信息和方法。经过一段时间的训练后,Stanley 行驶时已经有人类驾驶员的风格了。
不过,Thrun 还不满意,他准备让这项技术更进一步。当时,Stanley 装配了激光扫描仪和摄像头两种主要的传感器,激光在 30 米范围内非常有效,但超过这个距离数据的质量就会下降。摄像头虽然看得更远,但侦测近距离物体准确性却比较一般。Thrun 认为两种传感器可以紧密合作,让电脑通过远近不同的数据进行自我学习。
Thrun 的方案成功了,Stanley 的视觉更加清晰了,在路况复杂的沙地上它都能开到 72 千米/小时,转起弯来更是胸有成竹。同时,由于可以自行筛选数据,Stanley 的感知能力直接提升了 4 个数量级。在这项改进前,Stanley 发生识别错误的几率高达 12%,但之后错误率降到了五万分之一。
2005 年 10 月 8 日早上 6 点半,23 辆武装到牙齿的赛车齐聚内华达普利姆准备参加第二届 DARPA 挑战赛。
卡耐基梅隆大学的团队一片喜气洋洋,12 位分析师已经通过 2 小时的努力完成了赛道路况的预判,数据也上传到了两台悍马中。为了吸引团队参加比赛,DARPA 甚至将奖金提升到了 200 万美元,Whittaker 迫不及待地想要拿下冠军并一雪前耻。在比赛前的晚上,他还呛声 Thrun,称他只是卡耐基梅隆机器人实验室的青年教师而已。Thrun 并没有反击,他只是努力抑制自己紧张的神经。
自动驾驶汽车们一辆辆接连出发驶入沙漠。几个小时,在跟着卡耐基梅隆大学 1 号车行驶了 100 英里后,Stanley 顺利完成了超车。
为了保证比赛安全,在特殊路段 DARPA 设定了 5-25 英里/小时的限速,不过 Stanley 想跑得更快,激光扫描仪和摄像头的完美配合也让它信心十足。经过 6 小时的行驶,Stanley 终于领先其他团队第一个冲过终点线。Thrun 眼前终于不再是大山和荆棘了,他看到了让机器人掌控方向盘的未来。
这次的比赛确实比第一届成功多了,包括卡耐基梅隆大学两辆悍马在内的 5 辆赛车都跑完了 128 英里的比赛。自动驾驶时代已经到来,而 Stanley 是它们的开路先知。
英特尔研发负责人 Justin Rattner 表示:“这是个重要的转折点,它比深蓝击败卡斯帕罗夫还重要。深蓝只是计算能力强,它不会思考,而 Stanley 学会了思考。人工智能正在从基于规则的思考升级至基于概率的新模式,毕竟统计分析才更符合人类的思考习惯。”
就在 Stanley 大获成功之时,自适应巡航等技术开始成为许多车辆的标配。不过,即使车上搭载的传感器变得越来越多,也没有人能全面解读它们到底看到了什么,但 Thrun 解决了这一问题。计算机已经摩拳擦掌准备接管方向盘了,但人类会同意吗?
机器人专家 Jay Gowdy 认为答案是否定的,他从事自动驾驶研究也有快 20 年了。Gowdy 指出,美国每年因交通事故死亡人数约为 4.3 万人,自动驾驶能大幅降低伤亡率。不过,让交通事故降到零有点不太可能,而这些仅有的人员伤亡可能就是计算机错误造成的,因此事故责任划分将会成为自动驾驶普及的绊脚石。
除此之外,汽车厂商还得让乘客感觉自己依然在掌控一切。同时,相互配合的高清地图也必须提前就位,除了给车辆提供精确的路线规划,它们还能说服乘客,否则乘客说向左车辆却向右就容易让乘客感觉自己失去了对车辆的控制。
拿下挑战赛冠军后,Thrun 手拿奖杯回到斯坦福演讲,他表示:“有些人说我们是莱特兄弟,但我觉得我们更像查尔斯·林德伯格(首个驾机横跨大西洋的飞行员),因为他长得更帅。”
“一年之前,有人说这根本是不可能完成的任务,但现在一切都成真了。”Thrun 补充道,而他这番话后是经久不息的掌声。
雷锋网推荐阅读:《谷歌特斯拉都在争夺无人驾驶,但却只有这家公司先上了路》