Abstract
Robot Operating System (ROS) is a de-facto standard robot middleware in many academic and industrial use cases. However, utilizing ROS/ROS2 in safety-critical embedded applications with real-time requirement is challenging because of C1) Non-real-time underlying hardware, C2) No control on the host OS scheduler, C3) Unpredictable dynamic memory allocation, C4) High resource requirement, and C5) Unpredictable execution model for ROS nodes. In this paper, we address these limiting factors by proposing a hardwaresoftware architecture-CompROS-for ROS2 based robotic development in a Multi-Processor System on Chip (MPSoC) platform. The proposed hardware architecture consists of a Hard Real-Time (HRT) RISC-V based subsystem implemented in the Programmable Logic (PL) part of the MPSoC platform, a Soft Real-Time (SRT) ARM-based subsystem in the Processing System (PS) part of the MPSoC platform, and a Non-Real-Time (NRT) PC. While the proposed hardware architecture along with a partitioning layer overcomes the first two limiting factors, the rest are managed by the proposed multi-layer software architecture. We make a bare-metal implementation of XRCE-DDS standard for PL-PS communication, while peer-to-peer PL-PL communication is done through a proposed real-time publish-subscribe approach. The reliable communication for PS-PL communication is done through utilizing C-HEAP protocol. Further, we integrate ROS2 software layers on top of the proposed hardware and software layers. Finally, with respect to C5, we present a real-time execution model of ROS2 nodes by a mapping of ROS2 entities to CompROS entities, which is validated through experimental results. We run ROS2 middleware with an executable size of less than 200 KB on an MPSoC platform.
Original language | English |
---|---|
Title of host publication | 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) |
Publisher | Institute of Electrical and Electronics Engineers |
Pages | 6449-6455 |
Number of pages | 7 |
ISBN (Electronic) | 978-1-6654-1714-3 |
DOIs | |
Publication status | Published - 16 Dec 2021 |
Event | 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2021 - Prague, Czech Republic Duration: 27 Sept 2021 → 1 Oct 2021 |
Conference
Conference | 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2021 |
---|---|
Country/Territory | Czech Republic |
City | Prague |
Period | 27/09/21 → 1/10/21 |
Bibliographical note
Funding Information:VII. CONCLUSION AND FUTURE WORK In this paper we presented CompROS, a composable ROS2 based hardware-software architecture for predictable and composable robotic development in real-time embedded systems. CompROS includes a HRT multi core subsystem for real-time control, a SRT subsystem for supervisory control, and a NRT PC for system monitoring. The HRT subsystem has a formal model at the instruction level, and its integration with the proposed software architecture has a formal model at the task level. Based on the proposed execution model, we define the WCRT of a single ROS2 node that runs on the HRT subsystem of the platform. ECSEL JU grant agreement No 826610 (COMP4DRONES) supported this work.
Funding
VII. CONCLUSION AND FUTURE WORK In this paper we presented CompROS, a composable ROS2 based hardware-software architecture for predictable and composable robotic development in real-time embedded systems. CompROS includes a HRT multi core subsystem for real-time control, a SRT subsystem for supervisory control, and a NRT PC for system monitoring. The HRT subsystem has a formal model at the instruction level, and its integration with the proposed software architecture has a formal model at the task level. Based on the proposed execution model, we define the WCRT of a single ROS2 node that runs on the HRT subsystem of the platform. ECSEL JU grant agreement No 826610 (COMP4DRONES) supported this work.
Keywords
- Embedded System
- Real-time
- Robotics
- ROS2