Visible to the public The rclc Executor: Domain-specific deterministic scheduling mechanisms for ROS applications on microcontrollers: work-in-progress

TitleThe rclc Executor: Domain-specific deterministic scheduling mechanisms for ROS applications on microcontrollers: work-in-progress
Publication TypeConference Paper
Year of Publication2020
AuthorsStaschulat, J., Lütkebohle, I., Lange, R.
Conference Name2020 International Conference on Embedded Software (EMSOFT)
Date PublishedSept. 2020
PublisherIEEE
ISBN Number978-1-7281-9195-9
KeywordsHuman Behavior, human factors, microcontrollers, policy-based governance, pubcrawl, real-time operating systems, resilience, Resiliency, robot operating systems, Robotics, scheduling, security
Abstract

Robots are networks of a variety of computing devices, such as powerful computing platforms but also tiny microcontrollers. The Robot Operating System (ROS) is the dominant framework for powerful computing devices. While ROS version 2 adds important features like quality of service and security, it cannot be directly applied to microcontrollers because of its large memory footprint. The micro-ROS project has ported the ROS 2 API to microcontrollers. However, the standard ROS 2 concepts are not enough for real-time performance: In the ROS 2 release "Foxy", the standard ROS 2 Executor, which is the central component responsible for handling timers and incoming message data, is neither real-time capable nor deterministic. Domain-specific requirements of mobile robots, like sense-plan-act control loops, cannot be addressed with the standard ROS 2 Executor. In this paper, we present an advanced Executor for the ROS 2 C API which provides deterministic scheduling and supports domain-specific requirements. A proof-of-concept is demonstrated on a 32-bit microcontroller.

URLhttps://ieeexplore.ieee.org/document/9244014
DOI10.1109/EMSOFT51651.2020.9244014
Citation Keystaschulat_rclc_2020