Waymo无人车的两件秘密武器:模拟软件Carcraft,秘密基地Castle

简介:
本文来自AI新媒体量子位(QbitAI)

7b9ef88203b80c90d6c45548068aee57a366c882

在自动驾驶领域的诸多玩家之中,Waymo拥有最多的测试车辆,也积累了最长的全自动驾驶测试里程。

不过,600辆全副武装的克莱斯勒Pacifica、累计300万英里(约483万公里)的路测,还远不够让计算机完全学会开车。

Waymo当然还有其他秘密武器。

今天《大西洋月刊》发表的一篇长长长文,首次曝光了Waymo用于无人车测试的两个辅助系统:Carcraft和Castle。

路测之后

如果运气足够好,无人车在路测的时候就能遇到各种问题,于是工程师会发现,他们的无人车对什么样的场景处理得不够好,还需要更多练习。

这些场景,就像你背了没记住的单词和做错了的数学题。

为了让无人车进行复习,Waymo搞了一个“结构化测试”流程。无人车路测遇到问题后,他们会在一个名为Castle的训练基地,实地重建所遇到的场景,供无人车继续练习。

1f664534874f8af1222189a2e348fc646c824797

 Castle内景

实地练习后,还有虚拟练习。在路测和Castle基地的测试中,Waymo的车辆都会收集大量数据,随后,这些数据会被用到他们的模拟软件Carcraft之中,在虚拟环境中重现这个场景。

b28c8798661f40b496dc90848333d2f02e2a280c

 CarCraft中的模拟场景

没有了现实环境的限制,Waymo的工程师可以为一个场景创建上千个变体,然后让虚拟的车辆在所有变体中测试。

这些重现的场景和变体,就是无人车的错题集。

经历了一轮又一轮的练习,自动驾驶程序的能力得到提升后,会被下载到实体的路测车辆之中,去完成更多、更复杂的路测里程。

这个过程,周而复始。

Carcraft与Castle相互配合,形成了一座属于Waymo的城市,虚实结合快速模拟不同场景。

CarCraft

Carcraft这个名字,会让人联想到暴雪的经典游戏:星际争霸StarCraft、魔兽WarCraft。

这个系统开发之初,只是用来“回放”车辆在公共道路上遇到的场景,模拟在特殊情况下,如果人类司机没有接管车辆控制权会发生什么。

但后来,这类模拟环境在自动驾驶项目扮演了越来越重要的角色。

在虚拟的奥斯汀、山景城、凤凰城,以及那些模拟的测试场景里,有25000辆虚拟的无人车穿梭其中。它们每天总共要行驶800万英里(约1287万公里),去年一整年,Waymo的虚拟无人车行驶了25亿英里,而实体测试车全年累积的里程,只有300万英里。

更关键的是,虚拟环境中所积累的里程,没有平稳的高速公路,几乎都是Waymo所谓“有趣”的里程,可以让系统从中学习新东西。

在Waymo负责模拟的团队办公区域,每个人的电脑上都显示着Carcraft和XView的界面。XView也是Waymo无人车测试用的软件,实地测试时,副驾上的人就负责抱着一台笔记本,用XView来监控车的状况。

61ef8346cb25dce2ea3dce93a14fdfde71c24ba6

 XView界面

XView不仅能回放无人车实地测试的记录,还能显示Carcraft创建出的模拟场景。

在Waymo负责模拟测试维护的Elena Kolarov演示了Carcraft系统中,凤凰城的一个十字路口,工程师也可以在上面加入一些模拟的汽车、行人、自行车,创造一个虚拟的场景。

5b7d98e9b3ee64cf706ce68444c76c65d44c31d1

敲一下键盘,屏幕上的物体就开始各自移动。同样的场景,在XView里看起来是这样的,画面顶部会显示红色的“Simulation”提示:

9ffe418676342bb71c4cc0c2daa059961457d3de

 XView中的场景

你大概能猜出模拟过程中最难的部分是什么:当然是其他人的行为,而Waymo对这一点充满信心。

“我们的汽车能看到世界,理解世界,然后针对环境中的所有动态参与者——汽车、行人和摩托车——让我们的车辆理解他们的意图。单纯追踪一个东西还不够,必须要理解它在做什么。”Waymo软件主管Dmitri Dolgov说,在虚拟环境中模拟这些行为,也和理解它们非常相似。

在Carcraft里加入各种角色,就能创建一个十字路口的基本场景,Waymo为这些角色,都准备了一套根据真实世界得来的、自己的行为逻辑。

而这个基本场景,还会有各种各样的变体:行人走到路口的时间不同、自行车停留的时间不同……在上面展示的这个十字路口,Waymo的工程师们创建了800种场景变体,然后用一张图表来展示无人车会采取的各种策略。

09049f2d750e66ed8eb4dd3d188450e0661a1fc2

 各种变体下无人车采取策略的图表

如果Waymo的无人车几年后商用,Carcraft这个虚拟世界功不可没。

Castle

Carcraft建立虚拟场景的数据,有一些来自路测,更多则来自Waymo的测试基地Castle。

这个神秘的基地,位于美国加州中央山谷地区的小城默塞德附近,甚至在地图上都找不到地址。《大西洋月刊》的记者按照GPS坐标指示开车到达Castle的时候,只见到了这样一片高高的围栏。

276fbccad63fa973a95346234e282bd1db424311

Castle之中,有可移动的建筑物模型,圆顶的仓库,还有各种各样的无人车:Waymo现在用的克莱斯勒Pacifica、路上常见的Lexus、还有已经退役的普锐斯。

最初,为了创建测试场景,他们搜集了各种各样的道具:人偶、小孩儿骑的三轮车、各种路障、玩具、滑板、球……现在,这些东西都在Castle的仓库里。

03ae9bb1cdfa61872bdaba98bae2f2f094953dd5

 Castle的仓库

最开始,他们占用体育场空地,进行着小型测试,后来,干脆租下一片空地建造了一座“城市”,街道、居民区、死胡同、停车场等等,一应俱全。

在Castle里,甚至还有一处两车道转盘,还附带自行车道。测试场的管理者Steph Villegas说,Castle原本只有单车道转盘,当时他们以为,好厉啊连转盘都考虑到了。后来,Waymo的测试车在奥斯汀的一处多车道转盘出了点问题,他们才发现开车的场景有多复杂,又建了现在这个模型。

6e11e6b5f8d5f88de41116fbd47e7e5e53bc5af5

 Castle里的两车道转盘

除了这些场景设施,在真正测试的时候,还需要“测试助理”的配合,也就是群众演员。他们会在测试中开车、过马路、骑自行车,扮演着现实道路上各种各样的角色。

模拟,并不是Waymo的专用玩法

利用模拟软件做更多测试,在无人车领域是一种常见的做法。

知名风投A16Z合伙人Chris Dixon说:“现在,你几乎可以从一个自动系统团队对待模拟的严肃程度,来衡量他们的成熟度,自动驾驶汽车、无人机团队都是如此。而Waymo是最顶级、最成熟的。”

密歇根州立大学的自动驾驶专家Huei Peng也非常认同这种路线,他说,任何成功的自动驾驶系统都是99%以上的模拟,加上一些精心设计的结构化测试,再加一些路测。

以上内容,来自《大西洋月刊》的报道“Inside Waymo’s Secret World for Training Self-Driving Cars”,量子位阅读全文后梳理了文中要点。文章较长,感兴趣的同学请戳左下角“阅读原文”。

本文作者:李杉 李林 
原文发布时间: 2017-08-24
相关文章
|
机器学习/深度学习 人工智能 算法
展望2024: 中国AI算力能否引爆高性能计算和大模型训练的新革命?
2023年是人工智能发展的重要转折年,企业正在从业务数字化迈向业务智能化。大模型的突破和生成式人工智能的兴起为企业实现产品和流程的革新提供了先进工具,引领产业迈入智能创新的新阶段。在这个新时代,企业不再仅关注如何增强智能化能力,而更加注重如何利用人工智能实现产品和流程的革新。
3025 0
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
魔搭社区模型速递(1.19-2.15)
魔搭ModelScope本期社区进展:6205个模型,823个数据集,333个创新应用, 26篇内容。
724 2
魔搭社区模型速递(1.19-2.15)
|
JavaScript Java Kotlin
深入 Spring Cloud Gateway 过滤器
Spring Cloud Gateway 是新一代微服务网关框架,支持多种过滤器实现。本文详解了 `GlobalFilter`、`GatewayFilter` 和 `AbstractGatewayFilterFactory` 三种过滤器的实现方式及其应用场景,帮助开发者高效利用这些工具进行网关开发。
1717 1
|
缓存 边缘计算 应用服务中间件
一篇文章让你搞懂到底什么是 CDN
一篇文章让你搞懂到底什么是 CDN
1675 1
|
数据可视化 算法 C++
脑研究、脑网络分析、可视化的工具箱有哪些?
本文列举并简要介绍了用于脑研究、脑网络分析和可视化的多种工具箱,如Brain Connectivity Toolbox、bctpy、人类连接组项目等,为神经科学研究者提供了丰富的分析和可视化大脑网络的工具选择。
1648 2
脑研究、脑网络分析、可视化的工具箱有哪些?
|
前端开发 JavaScript 大数据
React与Web Workers:开启前端多线程时代的钥匙——深入探索计算密集型任务的优化策略与最佳实践
【8月更文挑战第31天】随着Web应用复杂性的提升,单线程JavaScript已难以胜任高计算量任务。Web Workers通过多线程编程解决了这一问题,使耗时任务独立运行而不阻塞主线程。结合React的组件化与虚拟DOM优势,可将大数据处理等任务交由Web Workers完成,确保UI流畅。最佳实践包括定义清晰接口、加强错误处理及合理评估任务特性。这一结合不仅提升了用户体验,更为前端开发带来多线程时代的全新可能。
428 1
|
机器学习/深度学习 开发者 数据格式
Gradio如何使用
**Gradio** 是一个开源 Python 库,用于快速创建和部署机器学习模型的用户界面。它支持多种输入输出形式,如文本、图像、音频等,无需复杂 Web 开发知识即可实现模型的直观展示和交互。Gradio 特点包括简单易用、实时更新、多样的输入输出形式以及轻松部署。通过几个简单的步骤,即可创建和分享功能强大的机器学习应用。
577 0
|
存储 安全 Go
|
开发者
如何画好一张架构图/业务图/流程图,掌握4个关键点
本文分享了如何制作出有帮助的图表,强调了即使是开发者也需要良好的绘图技巧。文章列举了常见的图表类型,如代码实现图、技术架构图、业务流程图、技术链路图、交互时序图和业务架构图,并指出好的图表应具备结构清晰、外表美观和内容完整的特点。为了达到这些标准,作者推荐了设计的四大原则:亲密性、对齐、对比和重复,以及色轮的运用来提升美感。此外,还介绍了黄金分割构图法以增加视觉吸引力。最后,强调了以终为始的设计思路,确保图表能独立传达完整的信息,并鼓励读者实践这些技巧,提升工作和生活中的沟通效率。
1353 1
如何画好一张架构图/业务图/流程图,掌握4个关键点
|
开发框架 JSON .NET