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