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