Budget-based real-time Executor for Micro-ROS
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 res...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 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. |
---|---|
DOI: | 10.48550/arxiv.2105.05590 |