English

Budget-based real-time Executor for Micro-ROS

Robotics 2021-05-19 v2 Operating Systems

Abstract

The Robot Operating System (ROS) is a popular robotics middleware framework. In the last years, it underwent a redesign and reimplementation under the name ROS~2. It now features QoS-configurable communication and a flexible layered architecture. Micro-ROS is a variant developed specifically for resource-constrained microcontrollers (MCU). Such MCUs are commonly used in robotics for sensors and actuators, for time-critical control functions, and for safety. While the execution management of ROS 2 has been addressed by an Executor concept, its lack of real-time capabilities make it unsuitable for industrial use. Neither defining an execution order nor the assignment of scheduling parameters to tasks is possible, despite the fact that advanced real-time scheduling algorithms are well-known and available in modern RTOS's. For example, the NuttX RTOS supports a variant of the reservation-based scheduling which is very attractive for industrial applications: It allows to assign execution time budgets to software components so that a system integrator can thereby guarantee the real-time requirements of the entire system. This paper presents for the first time a ROS~2 Executor design which enables the real-time scheduling capabilities of the operating system. In particular, we successfully demonstrate the budget-based scheduling of the NuttX RTOS with a micro-ROS application on an STM32 microcontroller.

Cite

@article{arxiv.2105.05590,
  title  = {Budget-based real-time Executor for Micro-ROS},
  author = {Jan Staschulat and Ralph Lange and Dakshina Narahari Dasari},
  journal= {arXiv preprint arXiv:2105.05590},
  year   = {2021}
}

Comments

4 pages, 5 figures, submitted to RTAS conference

R2 v1 2026-06-24T02:02:03.164Z