A Priority-Based Real-Time Scheduling Framework for ROS2

Master Thesis (2021)
Author(s)

G.M. Krukiewicz-Gacek (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

Mitra Nasri – Mentor

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2021 Grzegorz Krukiewicz-Gacek
More Info
expand_more
Publication Year
2021
Language
English
Copyright
© 2021 Grzegorz Krukiewicz-Gacek
Graduation Date
05-08-2021
Awarding Institution
Delft University of Technology
Programme
['Electrical Engineering | Embedded Systems']
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Since its introduction in 2007, ROS (Robot Operating System) has become one of the most popular framework for developing automated solutions in a variety of applications, ranging from automotive to manufacturing. Meeting safety-critical timing requirements is a crucial element in many fields where ROS is present. The ROS community has introduced several improvements to allow developers to create more time-predictable implementations, with the introduction of ROS2 being the major step forward. In the following thesis, we examine structure of ROS2 to discover task scheduling and data distribution related challenges that developers will face when trying to implement latency-sensitive ROS2 applications based on periodic tasks. We propose a set of improvements that allow to mitigate presented challenges. A prototype of a new scheduling mechanisms embedded within ROS2 logic is introduced to combine both callback scheduling and efficient intra-process data exchange. Furthermore, by exploring possible new ROS2 extensions, we address scenarios where applications have to dynamically adjust to temporary changes in timing-constraints. We extend the existing ROS2 APIs with an option to easily create new scheduling policies to handle specific requirements for each application without the need for any kernel level scheduler modifications.

Files

License info not available