为什么数据可视化在机器人技术中如此重要
亚德里安·麦克尼尔是Foxglove的联合创始人兼首席执行官,该公司是一家初创企业,提供强大的机器人数据管理与可视化软件。在创办Foxglove之前,他曾在自动驾驶公司Cruise负责基础设施和开发工具。
麦克尼尔热衷于提升开发人员的工作效率,认为优化开发人员的反馈循环对于机器人领域的快速创新至关重要。
他表示,当我们思考机器人技术的发展时,往往会想象一个合乎逻辑、有条不紊的过程。虽然我们并不认为这很容易或简单,但我们可能会觉得它相对客观——最终目标清晰,实现目标的步骤也可以衡量。
但我们忘记了,在开发新技术时,我们同样需要全新的方法来测试和排除这些技术的故障。这不仅涉及一个新机器人,还涉及为制造这个机器人而必须发明的全新工具和流程。与任何其他未知领域一样,这些工具和流程仍在开发中,它们与产品及制造产品的人一同演进。

数据可视化是这些工具中尤为重要的一种。它以易于理解的形式呈现复杂而细致的数据,从而支持同样复杂而细致的决策,帮助人们了解机器人如何运作以及如何改进。这种工具能够抑制无关的噪声,放大重要的信号。
“它为机器人数据这种极其多维的特性带来了急需的意义与秩序。机器人技术本应是一门精确的科学,但它在很大程度上仍是一项主观性很强的工作,无数人为判断推动我们向最终目标迈进一步——让我们的日常生活因机器人技术而变得更加美好、更加丰富的世界”
传统软件开发与机器人开发的对比
要真正理解数据可视化在机器人技术中的重要性,首先需要了解机器人开发与传统软件开发有何不同。
在传统软件开发中,诊断问题的根本原因相对是二元的过程:代码要么在该阶段执行了应做的事,要么没有。对于每种可能的场景,应该发生什么都有明确的预期。
通过沿错误路径逐步排查,并在路径的每个节点运行测试——例如记录数值、比对预期与实际结果、开启或关闭特定功能——工程师通常能相当精确地定位导致问题的代码行。

另一方面,机器人开发中的问题排查很少如此线性。查明机器人系统出了什么问题通常要复杂得多,因此也更加开放。例如,当自主移动机器人(AMR)撞上另一个物体时,并不存在明显的“代码路径”或可以归咎的对象。
导致这种情况的原因可能有无数种,正如人也可能因为各种原因撞上障碍物。也许AMR没有看到障碍物,因为它在拐角后面;也许它错误地计算了自身的行进轨迹,未能避开碰撞。原因甚至未必与软件有关——AMR的刹车可能失灵,或者它的摄像头视野可能被什么东西短暂遮挡。
不存在一套必须遵循的统一方法论,问题的根源可能是一系列相互关联的小问题,它们贯穿机器人技术栈的多个层级。解决方案往往依赖条件和具体情境,因此在调试过程中,情境信息的重要性不亚于屏幕上的代码本身。
机器人数据可视化
要应对这种调试复杂性,需要新一代复杂工具来研究机器人数据的多个方面。机器人数据可视化正是为此而生。
在自动驾驶汽车公司Cruise的早期,员工亲身体验到了在缺乏合适工具的情况下开发机器人是多么痛苦。

在调试数据或模拟结果时,工程师必须在Ubuntu机器上安装完整的开发环境,然后下载若干不同的开源工具,例如rviz、rqt等。接着,工程师还需要手动启动日志文件的回放,并调整屏幕上多个窗口的位置,以便同时使用它们。
工程师可能会为某个工作流精心安排屏幕上的窗口布局,但要为另一个工作流更换布局,或将其复制到队友的电脑上,就会耗费宝贵的开发时间。虽然这些工具各自都能完成其专门的工作,但显然,它们并非为了协同使用,也并非为了在更大规模的机器人团队中使用而设计的。
这些工具本身使用起来笨拙,彼此之间难以集成,也无法与队友有效地共同使用。团队在机器人迭代上的能力受到严重制约——这并非因为团队缺乏才能,而是因为无法快速从数据中提取有价值的信息。
这促成了一个黑客马拉松项目,一组工程师在其中看到了改进这一工作流程的机会。他们推出了一款网页数据可视化工具,广受欢迎,甚至赢得了热烈掌声,最终被改造成内部工具,并配备了专门的团队。
这个工具就是Webviz——它最终被开源,帮助其他机器人开发者更高效地使用集成度更高的工具链。随着时间推移,公司意识到Webviz对Cruise产生的影响,于是决定成立Foxglove,以继续解决整个机器人行业的常见问题。

“我们推出了Foxglove Studio,帮助用户可视化和调试机器人数据;推出了Foxglove Data Platform,帮助他们将数据集中存储和管理。借助数据可视化,我们能够快速理解自己的数据——从不同角度、使用不同视图、服务于不同工作流——从而确定下一步的开发方向。正是通过这种方式,我们才能探索非二元的情境,做出推动机器人技术迈向未来所需的人为判断”
丰富的交互式数据可视化至关重要,它帮助机器人开发者参与到机器人发展所需的更开放的探索中。它让开发者能够运用直觉和经验,开始调试特定问题。它还帮助他们综合那些同等重要的主观与客观判断,这些判断对于排查其工作中的问题必不可少。
它让他们一眼就能看出机器人当前的运行状况以及可以如何改进,从而更有效地对其进行调整。
不同的数据可视化工具可以在解决不同问题时支持不同的判断。调试或分析工作流的每一步都可能受益于多种工具的组合。例如,在Foxglove Studio中,用户可以从丰富的可视化面板中进行选择,搭建自定义的调试布局。
每个面板都有特定的功能——一个用于绘制数值,另一个用于在地图上标记坐标,第三个用于在交互式场景中显示3D模型。无论你是在排查机器人规划栈的问题,还是在监控其诊断信息,总有一种可视化工具适合这项任务。

借助丰富的交互式数据可视化,工具终于能够匹配人们的雄心。现在,人们可以更深入地探索、分析和理解那些过去难以洞察的数据,从而加快迈向目标的步伐。
机器人技术与数据可视化的未来
尽管机器人开发看似客观,但它并非没有主观和创造性的决策。最终成果可能非常具体,例如“机器人现在可以在仓库地面上穿行”,但实现这一目标的手段却是一个无尽的迭代过程,需要大量的人为干预。
“要向大众成功展示机器人,我们必须承认,机器人技术是一个更加开放的领域,它面临更多相互关联的问题,有更多依情境而定的解决方案,因此比传统软件开发需要更加多样化的工具”
机器人开发中仍有许多亟待解决的问题:笨重的测试基础设施、难以预测的硬件开发周期以及可扩展的数据管理。这份清单还可以继续列下去。但有几项改进将对整个机器人行业产生深远影响,比如优秀的数据可视化工具。