fpgaDDS: An Intra-FPGA Data Distribution Service for ROS 2 Robotics Applications

Christian Lienen,Sorel Horst Middeke,Marco Platzner
2023-03-01
Abstract: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.
Robotics
What problem does this paper attempt to address?
The paper mainly addresses the computational demands and performance bottlenecks in modern robotic applications, particularly focusing on the data transfer efficiency when using the ROS (Robot Operating System) framework in combination with FPGA (Field-Programmable Gate Array) hardware acceleration. Specifically, researchers have found that the traditional ROS communication mechanism encounters bottlenecks when handling data exchange between FPGA hardware acceleration nodes. This is primarily because all data needs to be transmitted through shared main memory, leading to unnecessary delays and performance degradation. To solve this issue, the paper proposes fpgaDDS (Field-Programmable Gate Array Data Distribution Service), a lightweight data distribution service specifically designed for hardware-accelerated ROS 2 nodes. fpgaDDS is based on a customized streaming communication architecture and integrates with the ReconROS architecture and programming model, aiming to improve data transfer efficiency between FPGA hardware acceleration nodes. This service can significantly reduce the latency of inter-node communication and decrease jitter during system operation, which is crucial for achieving high-performance, low-latency robotic systems. In summary, the main goal of the paper is to optimize the data transfer efficiency between FPGA hardware acceleration nodes in ROS 2 applications by proposing fpgaDDS, thereby enhancing the overall system performance. Experimental results show that compared to software implementations, using fpgaDDS can significantly increase execution speed and greatly reduce system jitter.