ReconROS Executor: Event-Driven Programming of FPGA-accelerated ROS 2 Applications
Christian Lienen, Marco Platzner

TL;DR
This paper introduces ReconROS Executor, a framework enabling event-driven programming of ROS 2 applications with FPGA acceleration, allowing dynamic hardware/software callback execution for improved robotics system performance.
Contribution
It presents a novel executor for ROS 2 that dynamically maps nodes to hardware or software, utilizing partial reconfiguration for flexible FPGA acceleration integration.
Findings
Successfully demonstrated dynamic hardware/software callback scheduling.
Showed improved performance with FPGA-accelerated ROS 2 nodes.
Validated the approach with experimental examples.
Abstract
Many applications from the robotics domain can benefit from FPGA acceleration. A corresponding key question is how to integrate hardware accelerators into software-centric robotics programming environments. Recently, several approaches have demonstrated hardware acceleration for the robot operating system (ROS), the dominant programming environment in robotics. ROS is a middleware layer that features the composition of complex robotics applications as a set of nodes that communicate via mechanisms such as publish/subscribe, and distributes them over several compute platforms. In this paper, we present a novel approach for event-based programming of robotics applications that leverages ReconROS, a framework for flexibly mapping ROS 2 nodes to either software or reconfigurable hardware. The ReconROS executor schedules callbacks of ROS 2 nodes and utilizes a reconfigurable slot model and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModular Robots and Swarm Intelligence · Embedded Systems Design Techniques · Real-Time Systems Scheduling
