玛丽·本尼翁(Mary Bennion)2021年4月20日
所有内容由SLAMcore首席执行官欧文·尼科尔森(Owen Nicholson)撰写。
计算效率与商业级 SLAM 的准确性同样重要
SLAM 算法旨在估计机器在太空中移动时的位置。这是非常重要的,这个估计是准确的,这就是为什么准确性是主要指标,大多数公司期待评估潜在的选择反对。SLAMcore解决方案的准确性优于开源和商业替代方案,通常按数量级排列。虽然准确性是 SLAM 算法的典型战场,但有一个额外的但基本的性能指标经常被忽视:计算效率。
为了充分利用嵌入在机器人设备中的 Arm 处理器,您需要对计算和内存资源提出低要求和一致要求的 SLAM 算法。Arm处理器非常适合边缘设备,包括机器人和其他自主系统。它们提供低功耗、高性能的硬件,具有小脚印,非常适合移动机器人的空间、重量和功率限制世界。如果要优化其内存和计算性能,选择正确的同步本地化和映射 (SLAM) 算法以配合它们至关重要。
不要认为效率是理所当然的
SLAM 是整体自主堆栈的核心元素,设计人员在选择或设计 SLAM 算法时必须考虑几个参数。这些参数可以包括:所需的传感器范围、成本、增加的重量、所需的映射和位置的准确性,以及处理现实世界中遇到的各种场景的能力。在评估和原型设计中经常被忽视的是 SLAM 软件的计算效率。嵌入式处理器必须同时执行许多任务,确保每个任务的最大效率,同时最大限度地减少处理器上的负载。这是制造机器人的基础,机器人不仅能力强,而且价格实惠。Arm架构非常适合此类工作,但软件必须有效地利用其资源。
不幸的是,许多开源和商用 SLAM 实现都存在计算和内存要求非常高的问题,以及对计算和内存资源的高度不可预知的需求。
处理器和内存要求的峰值和大额级摆动对于系统架构师来说很难设计。为平均需求进行设计可能会使处理器不堪重负,阻止完成其他任务,或未能及时完成 SLAM 估计。为了避免这种情况,开发人员被迫根据峰值需求对处理器进行过多指定,结果最终他们为硅支付了更多费用。
计算效率= 更低的成本
CPU 利用率
内存使用
此处的图表说明了 SLAMcore 的 SLAM 软件与最近最先进的开源替代方案相比的资源需求。两套软件都处于"开箱即用"状态,没有额外的特定调整。两者都使用 Arm v8.2 架构处理器在同一系统上运行,从同一传感器设置中获取数据,配备立体声 RGB 摄像机和惯性测量单元 (IMU)。
图显示了处理器负载和内存使用情况,并运行在同一数据上。首先,您会注意到开源软件无法实时处理数据。它的运行速度是实时的2.8倍,这意味着当实时运行时,近三分之二的传感器数据将被丢弃。这将对准确性和可靠性产生重大影响。
同样明显的是,从平均负载和最大负载的角度来看,SLAMcore 软件使用的处理器要少得多。这些差异很重要。SLAMcore 软件的一致性和计算效率要求使设计人员更容易预测有效 SLAM 所需的正确计算资源量。他们可以将此因素纳入设计,并相信其他软件的可用资源。
记忆也是如此。如图所示,随着地图的计算,开源系统对内存资源的需求迅速增加。SLAMcore 系统更高效地管理内存,不仅减少了处理地图所需的整体内存,而且还提高了位置估计的速度。可以更快地处理更省内存的地图,从而更准确地使用 SLAM。
以速度和规模进行商业部署
随着越来越多的机器人在我们周围的世界中发挥重要作用,有效和负担得起的硬件和软件组合对于商业上可行的部署至关重要。在某些情况下,开源软件提供了整体自主堆栈的具有成本效益的元素,可以缩短原型和概念工作的证明。但对于大规模商业部署,设计者应考虑空间智能算法的计算效率及其准确性。
在开发阶段在软件方面节省的少量成本可能导致处理和存储器资源的使用效率降低,以及生产机器人的硅成本增加。SLAMcore 可开箱即用地提供生产就绪的空间智能。可下载的 SDK 提供快速原型化功能,但相同的算法规模,以涵盖真实世界部署的复杂性和不确定性。开发人员可以确信,在实验室中起作用的内容将在生产中发挥作用。
商业上可行的机器人需要商业上可行的SLAM软件,这种软件可以预测边缘机器人中最广泛使用的处理器的需求。SLAMcore 的专有算法是自下而上设计的,旨在最大限度地提高准确性和效率。SLAMcore 的世界领先专家团队基于数十年的经验,为工程师为各种应用构建机器人所面临的 SLAM 问题提供解决方案。作为 Arm 开发人员生态系统的一部分,这些解决方案针对 Arm 设计进行了优化,并提供一致、准确和弹性的 SLAM 开箱即用,有助于降低成本,并增加使用这些处理器进行令人兴奋的创新的营销时间。
要更深入地了解 SLAMcore 技术
看看这个网络研讨会
进一步详细说明SLAM在嵌入式设备上的力量。