The Dream of the Driverless Car: From Sci-Fi to Silicon Valley Test Tracks
1912年9月的一个闷热下午,《科学美国人》的插画师坐在纽约的办公室里,盯着手里刚从专利局拿来的图纸,画下了一辆奇怪的车:1910年代的敞篷汽车前轮之间,卡着一个由黄铜齿轮、铜线圈和木质支架组成的装置,两根金属杆从装置两端伸出,像触角一样搭在路面上。配文用加粗的字体写着:“自动司机:十年内将淘汰人类司机”。文章里说,这个装置会沿着路面下预埋的铜线行驶,遇到障碍物会自动停下,永远不会酒驾,永远不会在打盹的时候把车开进沟里,也永远不会因为和乘客吵架而把车停在半路。当时的读者大概和今天的我们一样,一半觉得是异想天开的科幻,一半偷偷盼着它成真——毕竟20世纪初的美国,汽车刚刚进入中产家庭,熟练司机的工资是普通工人的三倍,还经常罢工、酗酒,全美每年有超过1万人死于交通事故,其中近四成是司机操作失误导致的。专利局一年能收到上百个和自动行驶相关的专利申请,从埋在路里的磁铁到装在车顶的风帆,所有人都想抢到“淘汰人类司机”的先机,但所有人都卡在同一个问题上:当时的电子技术连个稳定的收音机都做不好,怎么可能让几百公斤的钢铁盒子自己认路、自己避障、自己遵守交通规则?
这个幻想被尘封了近70年,直到20世纪80年代微型计算机的普及,才终于有人把它从专利图纸里搬到了真实的停车场里。故事的起点在匹兹堡卡内基梅隆大学的机器人实验室里,当时刚上任实验室主任的Red Whittaker正盯着手里从煤矿借来的自动导引车(AGV)发呆——这种在煤矿里用来运煤的小车,能沿着地面埋设的磁条自动行驶,避开障碍物,为什么不能把它的技术放大,装到普通的汽车上?他找了三个研究生,凑了5万美元的实验室经费,买了一辆二手的1982年款雪佛兰厢式货车,给这辆车起了个名字:NavLab 1,全称是“导航实验室1号”。
第一批工程师凑设备的过程,像极了一群大学生凑钱装游戏电脑:车顶上用来拍路况的摄像头是从旧的安保系统里拆的,分辨率只有320×240,像素点大得像蚂蚁,拍十米外的行人只能看到一个模糊的灰点;车里的主控计算机是从旧实验室淘汰的IBM PC/AT,处理器是Intel 80286,主频只有6MHz,内存只有1MB,20MB的硬盘嗡嗡响得像个小风扇,夏天太阳晒得车里温度超过40度的时候,它十分钟就能死机一次;保险杠上用来测距的超声波传感器是从工厂的AGV上拆的,用整整三卷黑色胶带固定在车身上,线头都用胶带缠得严严实实,怕开的时候晃掉了。工程师们后来回忆,那辆车最奇怪的地方是车顶还装了个旧的收音机天线,不是用来收信号的,是用来固定胶带的,因为胶带粘在金属车顶上容易掉,缠在天线上更结实。
第一次公开测试是在1984年春天的一个下午,匹兹堡卡内基梅隆的校园停车场里挤了几十个看热闹的学生和老师,Red Whittaker站在车旁边,手里拿着个旧的对讲机,笑着对大家说:“今天我们要让车自己开,不用人碰方向盘。”启动程序之后,NavLab 1先是嗡的一声,车头猛地往前一冲,然后开始歪歪扭扭地往前走,像喝醉了酒的巨人,走了不到10米,就“哐当”一声撞上了旁边的金属垃圾桶,把垃圾桶撞飞了3米远,然后车又猛地往左打方向,蹭到了旁边一辆停着的旧福特,把福特的车门蹭掉了一块漆。现场先是一片寂静,然后爆发出哄堂大笑,蹲在车里的两个研究生灰头土脸地爬出来,手里还攥着用来写代码的笔记本,啃着冷的三明治面面相觑。Red Whittaker却笑出了声,他拍着车顶说:“至少它动了,比停在车库里强。我们改算法,下次让它开得直一点。”
那次撞垃圾桶的测试其实是整个自动驾驶发展史上最重要的一步:它第一次证明了,不用人碰方向盘,光靠计算机和传感器,车是真的能动的。之后的三年里,工程师们改了十几版算法,换了更高分辨率的摄像头,加了惯性导航单元(IMU,一种能感知车身加速度和角速度的传感器,就算GPS信号丢了,也能知道车开了多远、往哪个方向转),到1987年,NavLab 1已经能顺利开完整个校园的停车场,还能自动找车位停进去,速度虽然只有每小时5英里,比人走路还慢,但已经能稳定运行,不会乱撞了。
接下来的几年里,卡内基梅隆的团队推出了NavLab 2,用的是改装的军用悍马,装了更多的传感器和更 powerful 的计算机,已经能在封闭的测试路上沿着公路自动驾驶,但是依然有两个绕不开的问题:第一是算力不够,当时的计算机处理图像的速度太慢,只能处理静态的、简单的场景,遇到移动的行人或者别的车就傻了;第二是传感器太脆弱,下雨下雪的时候,摄像头会被雨滴糊住,超声波传感器会被雪挡住,GPS信号也会被云层干扰,误差能到几十米,车开着开着就偏到路边去了。当时的媒体嘲笑他们是“疯子”,浪费纳税人的钱,汽车厂商的高管公开说他们“不懂车,汽车是机械产品,不是计算机玩具”,甚至有杂志写文章说“自动驾驶永远不可能实现,因为人类连自己的交通规则都管不好,怎么可能让机器管?”但工程师们没有停,他们知道,技术从来都不是一蹴而就的,每一次死机、每一次撞垃圾桶、每一次在泥里推车,都是在攒经验。
时间来到2001年,伊拉克战争爆发,美军在伊拉克和阿富汗的巡逻队经常遭遇路边炸弹和伏击,每年有 hundreds 的士兵死在开军用卡车和侦察车的路上。美国国会给国防部下了死命令:2030年之前,要把三分之一的地面军用车辆换成无人驾驶的,让士兵不用再冒生命危险开车。但是当时的技术连让车在公路上稳定开都做不到,更别说在满是沙石和炸弹的战场上开了。国防部高级研究计划局(DARPA)想了一个办法:办一场公开比赛,奖金100万美元,谁能让无人车穿越莫哈韦沙漠142英里的越野赛道,完全无人控制,谁就拿走奖金,不管你是大学教授还是民间爱好者,都可以报名。
这个消息传出来的时候,全世界都炸了,100多支队伍报名,有大学的研究团队,有军工企业,还有几个大学生攒的业余队伍,所有人都觉得这是个不可能完成的任务:142英里的沙漠赛道,有沙堆、有岩石、有仙人掌、有干涸的河床,还有随时可能来的沙尘暴,当时的无人车连在封闭场地开10英里都做不到,怎么可能在野地里开142英里?DARPA的局长自己都说,他赌没有一辆车能跑完全程。
2004年3月13日,比赛正式在莫哈韦沙漠拉开帷幕,当天气温32度,风速每小时20英里,沙尘漫天,能见度不到100米,15辆进入决赛的无人车停在起跑线上,有改装的军用悍马,有改装的福特皮卡,有大学生攒的吉普,甚至还有一辆改装的摩托车。发令枪一响,第一辆叫“Sandstorm”的车——卡内基梅隆大学车队改装的悍马——猛地冲了出去,速度比人类开车还快,现场爆发出一阵欢呼,但是不到2英里,Sandstorm就陷进了沙里,车轮转得飞快,就是把沙往后刨,往前动不了,车里的传感器一直在报错,屏幕上跳出红色的“地形 unsuitable”的提示。终点线的工程师
终点线的工程师攥着对讲机,嗓子都喊哑了——Sandstorm的传感器扫到了前方5米处一块半人高的花岗岩,算法判断无法绕行,直接停住了,这是2004年DARPA Grand Challenge开赛1小时42分钟后,所有参赛车辆里跑得最远的一辆,也创下了当届比赛的最高纪录:7英里。剩下的14辆车要么陷在沙堆里刨得车轮飞转,要么撞上仙人掌把前保险杠撞得稀烂,还有一辆弗吉尼亚理工大学的学生队伍攒的吉普刚出发3分钟就因为GPS信号丢失,直接开进了赛道外的沙丘里,等工作人员找到它的时候,发动机已经因为过热冒了烟。当天的莫哈韦沙漠刮了整整一下午的沙尘暴,能见度不足50米,沙粒打在脸上像针扎一样,DARPA的官员站在终点线的遮阳棚里,看着空荡荡的赛道,苦笑着对身边的人说:“我就说不可能有人能跑完,这100万美元的奖金,估计要带回局里了。”
那辆撞在仙人掌上的吉普是当届最受观众欢迎的“网红车”,车身刷着亮黄色的“VT”字样,保险杠上用马克笔写着“我们是来玩的”,带队的大三学生Tom Stratton后来接受采访时挠着头说:“我们的预算只有2万美元,买不起好的激光雷达,就用了两套从超市买的工业摄像头,主控计算机是从旧实验室淘汰的戴尔笔记本,用三卷胶带粘在副驾驶座上,出发前我们还特意给车装了个喇叭,打算开不动的时候就按喇叭喊人来救。”他们的车刚出发2英里,激光雷达扫到前方3米处有个半人高的仙人掌,保守的避障算法直接触发急刹,车身猛地一停,Tom手里的对讲机都飞了出去,还没等他反应过来,车已经往后倒,后轮直接陷进了软沙里,等保障队开着皮卡过来把车拖出来的时候,车底已经磨得掉了一层漆。他当时蹲在沙地里,看着远处Sandstorm陷在沙里的样子,笑着对队友说:“至少我们比Sandstorm多撞了一个仙人掌,不亏。”
2004年的比赛虽然没有任何一辆车跑完全程,但它第一次向全世界证明了:无人车真的能在复杂的野外环境中自主行驶,哪怕只是7英里。那些在沙尘暴里推车的工程师,那些蹲在保障车里改代码的学生,那些抱着死机了的计算机叹气的教授,都没有把这次失败当成终点。DARPA也没有兑现“没人跑完就收回奖金”的玩笑,反而在赛后立刻宣布:2005年10月举办第二届Grand Challenge,奖金涨到150万美元,赛道缩短到132英里,同样是莫哈韦沙漠越野,但允许使用GPS导航,同时开放更多的技术限制,鼓励队伍用更先进的传感器和算法。这个消息传出来的时候,之前嘲笑自动驾驶是“科幻笑话”的汽车厂商高管坐不住了,通用、福特、丰田都悄悄组建了自动驾驶研发团队,硅谷的风险投资也开始往这个领域撒钱——他们终于意识到,这个曾经被当成疯子的领域,可能真的藏着下一个万亿级的市场。
```mermaid graph LR A[2004 DARPA Grand Challenge<br>142英里沙漠越野<br>最高成绩7英里<br>无车辆完赛] --> B[2005 DARPA Grand Challenge<br>132英里沙漠越野<br>3辆车跑完全程<br>斯坦福Stanley夺冠] B --> C[2007 DARPA Urban Challenge<br>60英里城市模拟道路<br>7辆车跑完全程<br>卡内基梅隆Boss夺冠] C --> D[2010s 民用自动驾驶商业化落地<br>Waymo、特斯拉、通用Cruise等企业入局] ```
2005年的比赛是自动驾驶发展史上最重要的转折点。这一届的参赛队伍从上一届的100多支缩减到23支,所有队伍都吸取了上一届的教训:卡内基梅隆的团队把上一届的Sandstorm升级成了H1ghlander,换上了算力提升10倍的主控计算机,加了5个旋转式激光雷达(LiDAR),能实时生成周围100米内的3D地形模型,还专门给车轮加了自动差速锁,遇到沙堆的时候会自动调整四个车轮的扭矩,避免陷车;斯坦福的团队则走了完全不同的技术路线,他们的新车Stanley是改装的2005款大众途锐,没有用昂贵的旋转式激光雷达,而是用了一组固定式的低成本激光雷达,配合更高清的摄像头和毫米波雷达,同时优化了图像识别算法,能更准确地区分路面、岩石、仙人掌和沙堆,还能判断沙地的硬度,不会把软沙当成可以正常行驶的路面。带队的是斯坦福人工智能实验室的主任塞巴斯蒂安·特龙(Sebastian Thrun),他2004年带的队伍只跑了7英里就撞在仙人掌上,当时他在接受采访时说:“我去年觉得自己是个骗子,浪费了团队几十万美元的经费,今年我要证明我们是对的。”
2005年10月8日,比赛在莫哈韦沙漠正式拉开帷幕,当天气温28度,微风,能见度超过10公里,是近年来最好的比赛天气。发令枪一响,H1ghlander像一头猛兽一样冲了出去,速度比2004年快了整整一倍,斯坦福的Stanley排在第三位,紧紧跟在后面。开到第30英里处,H1ghlander遇到了一片特别软的流沙,车轮陷了进去,刨得沙土飞溅,就是往前动不了,后面的保障车里的工程师急得直跳脚,这时候Stanley慢慢开了上来——它的激光雷达扫到了前方静止的H1ghlander,算法判断这是障碍物,自动减速到每小时5英里,然后慢慢绕了过去,继续往前开。当时站在观赛台上的观众都发出了一阵惊呼:没有任何人给车写过“绕开其他参赛车辆”的规则,这是车自己判断的。
最后Stanley跑了6小时32分钟,平均速度每小时20英里,比第二名H1ghlander快了21分钟,第一个冲过终点线,成为人类历史上第一辆跑完全程132英里越野赛道的无人车。特龙当时在终点线抱着他的妻子哭了,他说:“去年我站在这里,看着我们的车撞在仙人掌上,觉得我这辈子的研究都没用了,今年我站在这里,看着我们的车跑完全程,我觉得所有的熬夜、所有的失败都值了。”第三名是来自麻省理工学院的车队,也顺利跑完了全程,这是人类历史上第一次有无人车完成百英里级的自主越野行驶。当时的《纽约时报》头版标题是《无人车穿越沙漠,科幻变成现实》,《连线》杂志直接把2005年称为“自动驾驶元年”。
斯坦福的Stanley的技术后来被大众汽车收购,变成了大众第一代自动驾驶辅助系统“Travel Assist”的核心原型,而特龙则在2007年加入了谷歌,创办了谷歌X实验室,2016年自动驾驶公司Waymo从谷歌X独立出来,现在是全球自动驾驶技术商业化落地最领先的企业,截至2024年,Waymo的无人车已经在凤凰城、旧金山等城市累计行驶了超过2000万英里,没有发生一起主责的交通事故[^1]。
如果说2005年的沙漠越野证明了无人车能在非结构化地形里自主行驶,那么2007年的DARPA Urban Challenge(城市挑战赛)则证明了无人车能在人类主导的城市交通环境里安全行驶。这一届的赛道设在加州乔治空军基地,是DARPA花了一年时间改出来的6平方公里模拟城市,有双向四车道、有红绿灯、有停车标志、有临时路障,还有20辆由人类驾驶员驾驶的社会车辆在赛道上正常行驶,参赛车不仅要遵守所有交通规则,还要和其他人类车辆混行,不能撞人、不能撞车,要会并线、会超车、会处理拥堵,甚至会进模拟停车场自动停车。这一届的难度比前两届高了好几个量级:沙漠里没有红绿灯,没有别的车,没有行人,只需要判断地形和障碍物就行,但城市里所有的交通参与者都是动态的,人类的行为是不可预测的,要求无人车不仅能“看”到世界,还要能“理解”交通规则,能“预测”其他人的行为。
这一届有53支队伍报名,经过预选赛之后11支进入决赛,包括斯坦福的Stanley升级版Junior、卡内基梅隆的Boss、麻省理工的Talos,还有几支来自大学和民间爱好者的队伍。卡内基梅隆的Boss是改装的雪佛兰Tahoe SUV,装了8个800万像素的高清摄像头、5个旋转式激光雷达、7个毫米波雷达,主控计算机的算力是2005年Stanley的10倍,能同时追踪周围100米内的所有车辆、行人和非机动车,决策延迟只有10毫秒,比人类驾驶员的反应速度快3倍。斯坦福的Junior则是改装的帕萨特,走的是轻量化路线,算法更高效,能在复杂的城市环境里快速做出决策。
2007年11月3日,比赛正式拉开帷幕,当天的天气阴沉沉的,偶尔下点小雨,对传感器的考验比沙漠里更大。发令枪一响,11辆车依次冲了出去,一开始跑在最前面的是MIT的Talos,它开到第10英里处的时候,遇到了一辆违规变道的社会车辆,直接抢到了Talos前面的车道,Talos的感知模块在0.1秒内就识别到了这辆车的动向,决策模块立刻判断要减速避让,控制模块在0.05秒内就踩下了刹车,车在离前车不到半米的地方停住,等前车开走之后才继续往前,整个过程没有发生任何碰撞,旁边的DARPA评审员都鼓起了掌。跑到第20英里处的时候,Boss遇到了一个更棘手的场景:前方路口有个行人闯红灯,从车前跑过,Boss的感知模块同时识别到了行人、红绿灯和路口的其他车辆,决策模块在0.1秒内就判断出行人拥有最高路权,必须停车避让,控制模块立刻踩下刹车,车在离行人不到1米的地方稳稳停住,等了10秒,等行人走过了路口,才继续往前开。当时在保障车里的Boss项目负责人、卡内基梅隆教授Chris Urmson后来回忆说:“我们从来没有给车写过‘行人闯红灯要停车’的规则,这是车自己根据交通规则判断出来的,当时我们看到车停住的时候,整个保障车里的人都欢呼了。”
最后Boss跑了4小时19分钟,顺利跑完了60英里的路线,没有发生任何主责的碰撞,只因为在路口避让另一辆违规变道的车时被蹭了一下,扣了2分,但还是拿了冠军,斯坦福的Junior拿了第二,MIT的Talos拿了第三,7辆车跑完全程,只有两辆因为小刮蹭被扣了分。当时的《华尔街日报》头版标题是《无人车开进城市,未来交通已经到来》,DARPA局长Anthony Tether在闭幕式上说:“2004年我们站在沙漠里,看着所有车都陷在沙里,所有人都觉得我们是疯子,今天我们看到无人车能在城市里和其他车一起开,遵守交通规则,处理突发情况,接下来我们要做的,就是把这些技术从赛道搬到普通人的车上。”
这三次DARPA挑战赛,本质上是自动驾驶技术从0到1的“成人