资讯

现实世界中的SLAM

翻译 2021-06-01 15:03 秋明 来源:中国AGV网

世界上有越来越多的机器人在许多不同的环境中与人并肩工作。一些公司开始采用复杂的同步定位和映射(SLAM)功能来实现真正的自主性。但是,像许多机器人技术一样,正确实现SLAM仍然非常困难。要使其在不断变化的环境和条件下在现实世界中可靠地工作,甚至更加困难。要让一个自主机器人在一个相对均匀的环境中进行定位和导航,可能需要花费数百万美元和数月的艰苦的试错实验。要让更多的机器人走出实验室,部署到为人类建造的环境中承担真正的任务,需要精确性、计算效率和更低成本的解决方案。

开源软件是机器人技术的基础。它使团队在实验室中相对快速且经济高效地实验、设计和制作机器人原型。随着更多的设计师使用它和反馈代码,开源库变得更加全面。它是生态系统的重要组成部分。在另一端,你可以定制代码,这些代码是为完成特定任务的特定机器人的特定功能而创建。对于该机器人来说,这可能是非常有效和可行的,但这是一个昂贵的解决方案,很难在承担不同角色的不同机器人中重用不同的硬件和传感器。

为了实现下一个飞跃,机器人行业需要在现实世界中可靠、有效、灵活且经济高效的软件,以便集成到更广泛的机器人平台中,并进行优化以有效利用有限的计算、电源和内存资源。打造强大到足以在现实世界中部署在数千个机器人中的价格的“商业级”软件,是该行业面临的下一个挑战。

在硬件领域,尤其是处理器领域,该行业已经围绕着为包括机器人在内的自主系统的边缘处理需求而开发的少量设备展开。Arm参考设计正迅速成为事实上的标准,NVIDIA、高通、Mediatech和德州仪器等芯片制造商创造了一系列完美适应机器人需求的选项。但是在这种性能下,软件需要小心谨慎,并与对处理器的要求保持一致。嵌入式处理器必须用有限的资源同时运行大量的任务。确保每一个的最大效率,同时最大限度地减少所需的内核和内存数量,对于创建不仅功能强大而且价格合理的机器人至关重要。

不要忽视SLAM的效率

SLAM只是整个自主堆栈的一个元素,但它很好地说明了密切关注任何算法对处理器和内存的要求的重要性。在实验室甚至在受控的“真实世界”环境中进行设计和测试,很容易忽略SLAM系统使用资源的效率。单个系统通常是单独测试的,所以如果SLAM软件突然开始消耗2到3倍的计算资源,它可能会被忽视。只有当其他系统同时依赖同一个微处理器时,才会出现问题。一个简单的解决方案是增加更多的处理器内核,但在商业部署中,这给每个机器人增加了巨大的成本,严重限制了商业可行性。

我们的研究和基准测试表明,许多开源甚至是商业的SLAM算法不仅对计算和内存资源都提出了很高的要求,而且高度不可预测。这些峰值和处理器和内存需求的大幅波动对于开发人员来说很难设计。针对平均需求进行设计存在以下风险:峰值可能使处理器不堪重负,无法完成其他任务,或者无法及时完成SLAM估计。为避免这种情况,开发人员被迫根据峰值需求确定处理器需求,结果是最终他们为硅芯片支付了超出所需的费用。

准确、稳健且具有商业可行性

与最近的最新开放源代码替代方案相比,此处的图表说明了SLAMcore软件的资源需求。两组软件均以“开箱即用”状态运行,没有其他特定的调整。两者均与Arm v8.2架构处理器在同一系统上运行,并使用立体声RGB摄像机和惯性测量单元(IMU)从同一传感器设置中获取数据。

这些图显示了在相同数据上运行的处理器负载和内存使用情况。显然,使用开源软件对处理器的平均需求和最大需求都更高。峰值与平均处理器使用量之间的差异也更大,从而更难估计需求。内存也是如此。如图所示,开放源代码系统在计算映射时迅速对内存资源提出了更高的要求。更加有效的内存管理减少了机械手对内存的总体需求,从而再次节省了成本。内存效率更高的映射也可以更快地处理,从而实现更精确的SLAM。

实际上,软件的效率意味着使用相同的资源可以更快地处理更多数据。这些图表明,开源软件无法实时处理数据。实际上,它的运行速度比实时运行速度慢2.8倍,这意味着在实时运行时,将丢失近三分之二的传感器数据。这将严重影响准确性和可靠性。

比较开放源代码和SLAMcore算法,在该图中显示的准确性度量中可以看到类似的差异。同样,来自同一机器人的完全相同的数据,映射了相同的办公环境。开源解决方案不仅提供了更大的误差(0.04米,而仅有0.015m),而且变化也更低,这表明性能的可预测性和鲁棒性更高。

这些差异很重要,一致且计算效率高的软件使设计人员更容易预测有效SLAM所需的正确计算资源量。准确性和实时性能对于任何可商业部署的解决方案都是至关重要的。

快速部署

随着越来越多的机器人在我们周围的世界中扮演重要角色,找到有效且价格合理的解决方案对于商业上可行的部署至关重要。开源往往是第一步,它是免费的或低成本的,易于获得和实施,因此可以简化原型和概念验证工作。但是随着机器人离开实验室,开源的局限性变得显而易见。频繁地重新设计,测试和实施软件以应对新情况,额外的传感器或环境,不仅会增加工作量,而且会增加内存和计算的负载。反过来,这可能需要改变硅芯片的选择,从而增加了不可预见的成本。随着实际商业部署的现实发生,在实验室中作为有限概念证明起作用的东西突然变成了昂贵的死胡同。

为了突破概念验证的陷阱,并使对能够发挥我们所知道的重要角色的机器人的访问民主化,业界需要可靠,可重复,准确和有效的解决方案。机器人设计的复杂性意味着只有规模最大,资金最雄厚的组织才能负担得起同时破解所有不同元素所需的专业知识。对于其余部分,我们需要培养专家的供应链,他们可以协作提供可协同工作的关键系统。这个充满活力的机器人创新者生态系统将支持从实验室毕业到现实世界的各种商业级机器人解决方案。


文中图片均来源于网络

0 0

网友评论

取消