在过去的一年里,Cruise 开发了一个专门的内部工具来理解其车辆每个月在路上和模拟测试中产生的PB级(1PB=1024TB)数据。它帮助Cruise通过日志和摄像机提要、2D情节和3D场景等等获得数据价值。近日,Cruise宣布,将开放这个数据可视化web应用程序的源代码,并将其命名为Webviz。现在,任何人都可以将任何ROS包文件拖放到Webviz中,以直观地了解机器人数据。
为什么Cruise要创建Webviz
在Cruise的早期,希望可视化智能驾驶车辆数据的工程师使用了ROS开源社区提供的一套工具。虽然这些工具功能强大,但是使用它们需要在特定的平台上安装完整的开发环境,并在屏幕上手动定位运行独立工具的窗口,例如一个用于读取日志消息的窗口、一个用于绘制图形的窗口和一个用于查看相机图像的窗口。工程师可以为特定的工作流自行设置,但是在同事的机器上复制相同的设置是一个耗时的过程。
在一次黑客马拉松(Cruisehackathon)上,一群工程师将原始的开源工具组合成一个基于web的应用程序,称为Webviz。Webviz可以简化工作流,使布局定制变得更容易,并保持向后兼容性。Webviz现在是Cruise最广泛使用的数据分析工具之一。通过简化理解自动驾驶车辆如何看待世界、解释数据和在路上做决定的过程,Webviz打造世界上最先进的自动驾驶汽车可视化平台。
如何建立Webviz
Webviz的基础是一个web应用程序,它允许用户配置不同的面板布局。每个面板都是一个数据探索工具,显示文本日志、2D图表和自动驾驶车辆环境的3D描述等信息。
有了Webviz,工程师们就能理解无人驾驶汽车的数据,分析汽车正在做什么,并决定汽车的驾驶方式,以及如何应对各种状况。尽管它配备了专门的无人驾驶汽车视角,但Cruise表示任何机器人社区的工作人员都能使用它。创建Webviz的本质是希望为用户提供一组灵活的工具,用户可以为各种独特的工作流配置、扩展和定制这些工具。
Cruise现在如何使用Webviz
通过可配置界面,Webviz目前每月支持近1000名活跃用户,这些用户来自几十个Cruise团队,他们都面临着截然不同的问题和工作流程。随着我们用户群的增长,包括自动驾驶车辆工程师校准激光雷达传感器,机器学习工程师验证模型输出,QA工程师调试测试骑乘,Webviz在不牺牲灵活性的前提下,越来越丰富其功能。Webviz用户还能够保存面板配置,并在团队成员之间轻松共享特定数据探索工作流所需的参数。Cruise甚至将其他内部工具与Webviz集成在一起,帮助工程师可以在运行时观察仿真,或者传输历史数据。
今年,Cruise开源了把汽车导航的数据转换成清晰直观的3D场景的Worldview,还开源了一个Javascript库rosbag,用于读取ROS包文件。这两个开源项目实际上都是在创建Webviz的过程中开发的。
未来计划
随着继续开发Webviz,Cruise计划在其中添加更多的面板,并创建一个公共API,以构建封装自定义功能的新面板。Cruise鼓励更多的工程师使用Webviz来可视化自己的机器人数据,希望为整个机器人领域贡献技术力量以催生新技术的涌现。