Modern computing platforms for robotics applications comprise a set of heterogeneous elements, e.g., multi-core CPUs, embedded GPUs, and FPGAs. FPGAs are reprogrammable hardware devices that allow for fast and energy-efficient computation of many relevant tasks in robotics. ROS is the de-facto programming standard for robotics and decomposes an application into a set of communicating nodes. ReconROS is a previous approach that can map complete ROS nodes into hardware for acceleration. Since ReconROS relies on standard ROS communication layers, exchanging data between hardware-mapped nodes can lead to a performance bottleneck. This paper presents fpgaDDS, a lean data distribution service for hardware-mapped ROS 2 nodes. fpgaDDS relies on a customized and statically generated streaming-based communication architecture. We detail this communication architecture with its components and outline its benefits. We evaluate fpgaDDS on a test example and a larger autonomous vehicle case study. Compared to a ROS 2 application in software, we achieve speedups of up to 13.34 and reduce jitter by two orders of magnitude.
翻译:现代机器人应用的计算平台包含一系列异构元件,例如多核CPU、嵌入式GPU和FPGA。FPGA作为可重新编程的硬件设备,能够以高能效方式快速执行机器人领域的多种重要任务。ROS是机器人领域事实上的编程标准,它将应用分解为一组相互通信的节点。ReconROS是一种现有方法,可将完整ROS节点映射到硬件进行加速。由于ReconROS依赖标准ROS通信层,硬件映射节点间的数据交换可能引发性能瓶颈。本文提出fpgaDDS——一种面向硬件映射ROS 2节点的轻量级数据分发服务。fpgaDDS基于定制化、静态生成的流式通信架构。我们详细阐述了该通信架构的组成及其优势,并通过测试实例和大型自动驾驶车辆案例对fpgaDDS进行评估。与基于软件的ROS 2应用相比,我们实现了最高13.34倍的加速比,并将抖动降低了两个数量级。