FPGA-ROS: Methodology to Augment the Robot Operating System with FPGA Designs

Robotic applications are becoming more complex every day because they rely on multiple heterogeneous sensors and actuators, increasing the computational demand. Energy efficiency becomes an important factor to consider as battery powered robots have limited energy budget. Algorithms have to be carefully implemented to achieve the expected performance. Consequently, there is a need to increase performances of embedded devices for robotics in terms of computational power and energy efficiency. This work presents a methodology to design an architecture for custom embedded hardware applications implemented in Field Programmable Gate Arrays to be compatible with the mainstream Robot Operating System (ROS). Therefore, highly computational algorithms can be implemented as a dedicated hardware module to increase the processing power of any heterogeneous robotic system. A modular design is foreseen to ease the adaptability to changes in the system. A generic interface for all modules is chosen leading to fully customizable messages to exchange data internally or with other parts of the distributed systems.

[1]  Kemal Ertugrul Tepe,et al.  FPGA based wireless sensor node with customizable event-driven architecture , 2013, EURASIP J. Embed. Syst..

[2]  Diana Göhringer,et al.  HiFlipVX: An Open Source High-Level Synthesis FPGA Library for Image Processing , 2019, ARC.

[3]  Takashi Yokota,et al.  Acceleration of Publish/Subscribe Messaging in ROS-compliant FPGA Component , 2017, HEART.

[4]  Gabriel Weisz,et al.  Evaluating Rapid Application Development with Python for Heterogeneous Processor-Based FPGAs , 2017, 2017 IEEE 25th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[5]  Mohammad Hosseinabady,et al.  Run-time power gating in hybrid ARM-FPGA devices , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[6]  Gustavo Alonso,et al.  Low-latency TCP/IP stack for data center applications , 2016, 2016 26th International Conference on Field Programmable Logic and Applications (FPL).

[7]  Takashi Yokota,et al.  High Level Synthesis of ROS Protocol Interpretation and Communication Circuit for FPGA , 2019, 2019 IEEE/ACM 2nd International Workshop on Robotics Software Engineering (RoSE).

[8]  Takashi Yokota,et al.  cReComp: Automated Design Tool for ROS-Compliant FPGA Component , 2016, 2016 IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSOC).

[9]  Eric C. Kerrigan,et al.  Fast FPGA prototyping toolbox for embedded optimization , 2015, 2015 European Control Conference (ECC).

[10]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[11]  Takashi Yokota,et al.  Architecture exploration of intelligent robot system using ros-compliant FPGA component , 2016, 2016 International Symposium on Rapid System Prototyping (RSP).

[12]  Richard J. Duro,et al.  Swarm intelligence based approach for real time UAV team coordination in search operations , 2011, 2011 Third World Congress on Nature and Biologically Inspired Computing.

[13]  Rosbi Mamat,et al.  A Component-Oriented Programming for Embedded Mobile Robot Software , 2007 .

[14]  Takashi Yokota,et al.  Proposal of ROS-compliant FPGA Component for Low-Power Robotic Systems , 2015, ArXiv.

[15]  Diana Göhringer,et al.  Exploration of OpenCL for FPGAs using SDAccel and comparison to GPUs and multicore CPUs , 2017, 2017 27th International Conference on Field Programmable Logic and Applications (FPL).