论文标题

RobotCore:ROS 2中硬件加速的开放式体系结构

RobotCore: An Open Architecture for Hardware Acceleration in ROS 2

论文作者

Mayoral-Vilches, Víctor, Neuman, Sabrina M., Plancher, Brian, Reddi, Vijay Janapa

论文摘要

硬件加速度可以彻底改变机器人技术,从而通过加快机器人响应时间来促进新的应用程序,同时保持发挥效率。但是,加速选项的多样性使机器人很难在每个特定的硬件平台上轻松地部署加速系统。在这项工作中,我们使用Robotcore解决了这一挑战,Robotcore是一种将硬件加速度集成在广泛使用的ROS 2 Robotics软件框架中的体系结构。该体系结构是目标 - 反应(支持边缘,工作站,数据中心或云目标)和加速器-Nostic(支持FPGA和GPU)。它建立在常见的ROS 2构建系统和工具之上,并且可以通过新的固件层轻松地在不同的研究和商业解决方案中移植。我们还利用Linux追踪工具包(LTTNG)进行低空实时跟踪和基准测试。为了演示该体系结构启用的加速度,我们使用它在CPU和FPGA上部署ROS 2感知计算图。我们采用集成的跟踪和基准测试来分析瓶颈,发现指导我们提高FPGA沟通效率的见解。特别是,我们设计了一个fpga ROS 2节点通信队列以启用更快的数据流,并将其与FPGA加速节点结合使用,以在CPU上实现24.42%的加速。

Hardware acceleration can revolutionize robotics, enabling new applications by speeding up robot response times while remaining power-efficient. However, the diversity of acceleration options makes it difficult for roboticists to easily deploy accelerated systems without expertise in each specific hardware platform. In this work, we address this challenge with RobotCore, an architecture to integrate hardware acceleration in the widely-used ROS 2 robotics software framework. This architecture is target-agnostic (supports edge, workstation, data center, or cloud targets) and accelerator-agnostic (supports both FPGAs and GPUs). It builds on top of the common ROS 2 build system and tools and is easily portable across different research and commercial solutions through a new firmware layer. We also leverage the Linux Tracing Toolkit next generation (LTTng) for low-overhead real-time tracing and benchmarking. To demonstrate the acceleration enabled by this architecture, we use it to deploy a ROS 2 perception computational graph on a CPU and FPGA. We employ our integrated tracing and benchmarking to analyze bottlenecks, uncovering insights that guide us to improve FPGA communication efficiency. In particular, we design an intra-FPGA ROS 2 node communication queue to enable faster data flows, and use it in conjunction with FPGA-accelerated nodes to achieve a 24.42% speedup over a CPU.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源