什么是现代机器人计算架构?
机器人的行为通常被构建成一个计算图形,数据从传感器到计算技术,一直到执行器,然后返回。为了获得额外的性能能力,机器人计算平台必须有效地将这些类似图形的结构映射到cpu,以及专门的硬件,包括fpga和gpu。
发布日期:2022年3月17日
传统的机器人系统软件开发主要集中在对中央处理器(CPU)编程。然而,由于固有的架构约束和cpu的限制,这些机器人系统往往表现出处理效率低下、功耗高和安全问题。
什么是机器人计算平台?
机器人的行为通常被构建成一个计算图形,数据从传感器到计算技术,一直到执行器,然后返回。为了获得额外的性能能力,机器人计算平台必须有效地将这些类似图形的结构映射到cpu,以及专门的硬件,包括fpga和gpu。
机器人是综合运用机械与精密机械、微电子与计算机、自动控制与驾驶、传感器与信息处理、人工智能等最新研究成果的复杂机电装置。
为了整合这些成果,真正形成认知、感觉、行动的能力,使机器人能够理解和响应现实世界,准确完成操作任务,其携带的计算平台需要满足各种要求:
- 感知能力:平台具有丰富的I/O接口,支持USB3、UART、I2C等I/O协议接收各种传感器数据。对周围环境进行360度全方位扫描和测距检测,进而获得周围环境的等高线图。
- 控制能力:可控制底盘、手臂、手指、头部等多种运动部位,完成多维度动作,具有实时性和安全性保障。
- 计算能力:既要应付大量数据的处理开销,又要满足各种智能算法的巨大计算需求。
各种计算资源的优缺点?
机器人和AI平台融合了多种计算资源,包括cpu、数字信号处理器(dsp)、图形处理单元(gpu)、现场可编程门阵列(fpga)和特定应用集成电路(asic)。它们允许机器人专家为机器人构建灵活的计算架构,需要为每一项任务使用正确的工具,以最大化它们的性能。
- 标量处理器(CPU):
标量处理元素在具有多决策树和扩展库的复杂算法中非常有效。但是性能扩展是有限的。虽然cpu非常灵活,但其底层硬件是固定的。大多数cpu仍然基于冯-诺伊曼架构(存储程序计算机),数据从内存到处理器,处理,然后写回内存。每个CPU按顺序操作,每次一条指令,该体系结构以算术逻辑单元(ALU)为中心,它需要在每次操作中进出数据。在机器人体系结构中,标量处理器扮演着核心角色。利用CPU协调传感、驱动和认知之间的信息流是机器人系统的基础。此外,机器人操作系统(Robot Operating System, ROS)是以cpu为中心设计的一种被广泛采用的机器人应用开发软件框架。 - 矢量处理器(DSP、GPU):
与cpu相比,向量处理元素(DSP, GPU)在更窄的并行计算能力上更高效。缺点是内存层次结构不灵活,这会造成延迟和效率损失。GPU反复执行相同的少数任务,最适合专业和功能性能。矢量处理器克服了机器人技术中cpu的缺点,具有处理大量数据的能力。 - 可编程序逻辑(FPGA):
可编程逻辑可以精确地为关键延迟的实时应用程序定制特定的计算功能。然而,这些优势是以编程复杂性为代价的。另外,FPGA的重新配置和重新编程比标量和向量处理器的编程需要更长的编译时间。与通用内存结构不同,fpga灵活且适应性强,可针对所需任务进行定制。在机器人架构中,fpga能够通过软件创建运行时可重构的机器人硬件。用于机器人的软件定义硬件擅长数据流计算,因为一旦所有操作数都可用,语句就会被执行。这使得fpga在连接传感器、致动器和处理网络方面非常有用。此外,fpga可以创建自定义的硬件加速核心,具有作为数据处理任务矢量处理器的替代方案的灵活性。 - 专用集成电路(asic)
特殊的固定结构的ASIC提供更高的性能和电源效率,以及最佳的价格,为大批量生产。但是asic需要许多年的时间来发展,并且不允许任何改变。因此,虽然asic将在未来的一些机器人系统中发挥作用,但asic在机器人架构中的应用仍然有限。 - 网络的网络:
机器人是天生具有确定性的机器。它们是一个由网络组成的网络,传感器捕捉数据,将其传递给计算技术,然后传递给执行器,再以确定的方式返回。这些网络可以理解为机器人的神经系统。就像人类的神经系统一样,实时信息通过所有的网络来控制机器人的连贯行为。基于冯-诺伊曼的标量和向量处理器架构擅长控制流,但难以保证决定论。这就是fpga和asic作为机器人系统的关键实现技术发挥作用的地方。 - 机器人计算架构:
考虑使用机器人操作系统(ROS)的机器人系统,这在机器人技术发展中已经很常见。利用ROS,机器人过程被设计为计算图中的节点。机器人计算平台必须能够有效地将这些图形状结构映射到硅上。ROS计算图应该无缝地跨计算基板运行,数据必须从可编程逻辑(FPGA)流到CPU,从CPU流到向量处理器,然后再流回来。机器人芯片不仅应该将ROS计算图映射到cpu,还应该映射到fpga、gpu和其他计算技术,以获得额外的性能。 - 最好的计算资源:
与传统的、以cpu为中心的机器人编程模型相比,额外计算平台的可用性为工程师提供了高度的架构灵活性。机器人专家可以根据需要选择、混合和匹配正确的计算资源,利用各种计算平台的特性:决定论、功耗、吞吐量等。
2022年3月17日发布
来源:roboticsbusinessreview