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 partial runtime reconfiguration to load hardware-based callbacks on demand. We describe the ReconROS executor approach, give design examples, and experimentally evaluate its functionality with examples.
翻译:机器人领域的许多应用可以受益于FPGA加速。 一个相应的关键问题是如何将硬件加速器整合到以软件为中心的机器人编程环境中。 最近,一些方法展示了机器人操作系统(ROS)的硬件加速度,这是机器人中占主导地位的编程环境。ROS是一个中间软件层,其特点是复杂的机器人应用的构成,通过出版/订阅等机制进行交流,并在几个计算平台上传播这些应用的节点。在本文中,我们介绍了一个基于事件的机器人应用编程新颖方法,利用ReconROS这一框架,对ROS 2节点进行灵活绘图,将其定位为软件或可重新配置的硬件。ReconOS执行程序安排了ROS 2节点的回调时间表,并使用了可重新配置的插位模型和部分运行时间重组,以按需装入基于硬件的回调。我们描述了ReconROS执行器的方法,提供了设计范例,并用实例对它的功能进行了实验性评估。