Please use this identifier to cite or link to this item: doi:10.22028/D291-40474
Title: Real-time execution management in the ROS 2 framework
Author(s): Stark, Tobias
Language: English
Year of Publication: 2022
DDC notations: 004 Computer science, internet
600 Technology
Publikation type: Dissertation
Abstract: Over the past decade, the ROS ecosystem has emerged as the most popular repository of open- source robotics software. As a result, many robots rely on ROS-based software to make timing- critical decisions in real time. However, there is little evidence that real-time theory is used to analytically bound or control the worst-case response time in ROS components. The recent transition to ROS 2, the next generation of the ROS framework, has not changed the situation, even though ROS 2 explicitly aims to improve support for real-time control. This dissertation identifies three main hurdles to adopt real-time theory in the context of ROS 2: first, the complex and non-obvious timing effects introduced by the ROS 2 framework; second, the expertise required to use real-time scheduling mechanisms correctly; and third, the inherent unpredictability of typical robotics workloads, which defy static provisioning. These hurdles are overcome in two steps. First, the dissertation introduces a timing model for ROS 2 applications that accounts for the framework’s implicit timing effects. Based on this model, a response-time analysis is developed that allows robotics developers to bound the worst-case response time of individual components and multi-component processing chains. However, modeling and provisioning ROS 2 systems remains a cumbersome and error-prone task. In a second step, the dissertation hence proposes ROS-Llama, an automatic latency manager for ROS 2. ROS-Llama automatically controls the latency of a ROS 2 system through real-time scheduling, while requiring only little effort and no real-time scheduling expertise by the user. It runs in parallel with the deployed application and can therefore measure all required information without user involvement and adapt to changes at runtime. As part of ROS-Llama’s design, the dissertation discusses the conceptual and practical challenges in developing such an automatic tool, identifying relevant properties of ROS 2 and essential requirements of the robotics domain. Experiments on a mobile robot demonstrate the effectiveness of the timing model and the response-time analysis in real-world settings. They further confirm the viability of the ROS-Llama approach and show that ROS-Llama reduces the maximum observed latency under load compared to the default Linux scheduler.
In den letzten zehn Jahren hat sich ROS und das ROS-Software- Ökosystem zur populärsten Quelle von Open-Source Robotik-Software entwickelt. Viele Roboter verwenden daher ROS- basierte Softwarekomponenten um zeitkritische Entscheidungen zu treffen. Trotzdem gibt es kaum Indizien, dass die Reaktionszeit solcher Komponenten durch Echtzeittheorie bestimmt oder kontrolliert wird. Die Migration zur nächsten Generation des Frameworks, ROS 2, hat an dieser Tatsache nichts geändert, obwohl ROS 2 mit dem expliziten Ziel entwickelt wurde, Echtzeitsoftware besser zu unterstützen. In dieser Dissertation werden drei Hürden identifiziert, die der Anwendung von Echtzeittheorie auf ROS-Systeme im Wege stehen. Erstens, die komplexen und versteckten Effekte, die das Framework selbst auf die Laufzeit von ROS-Komponenten hat; zweitens, die Expertise die ein Entwickler bräuchte, um Echtzeit-Schedulingverfahren korrekt zu verwenden; und drittens, die inhärente Unvorhersehbarkeit und Dynamik typischer Robotik-Anwendungen. Diese Hürden werden in zwei Schritten addressiert: zunächst definiert die Dissertation ein Laufzeitmodell für ROS 2-Anwendungen, das die impliziten Effekte des Frameworks beschreibt. Basierend auf diesem Modell definiert die Dissertation eine Antwortzeitanalyse (response- time analysis), mithilfe derer Entwickler eine obere Schranke auf die maximale Reaktionszeit bestimmen können. Die Analyse kann sowohl auf einzelne Komponenten als auch auf komponentenübergreifende Reaktionsketten angewendet werden. Trotz dieser Verbesserungen bleibt es schwierig und fehleranfällig, ROS 2-Systeme korrekt zu modellieren und die Komponenten sinnvoll mit Ressourcen zu versehen. Dieses Problem wird mit der Entwicklung von ROS-Llama addressiert, einem automatischen Latenzmanager für ROS 2. ROS-Llama kontrolliert vollautomatisch die Latenz zeitkritischer Komponenten und Reaktionsketten. Es konfiguriert den Echtzeitscheduler des Betriebssystems und teilt den Komponenten Rechenzeit zu, ohne sich auf manuelle Interventionen oder sonstige Expertise des Benutzers zu verlassen. Dazu läuft es parallel zur verwalteten Anwendung und misst die benötigten Informationen zur Laufzeit. Mithilfe der gemessenen Parameter passt sich ROS-Llama automatisch an dynamische Änderungen im System an. Als Teil der Diskussion zu ROS-Llama werden die konzeptuellen und praktischen Herausforderungen eines solchen voll-automatisierten Werkzeugs diskutiert. Dabei werden relevante Eigenschaften von ROS 2 sowie die wichtigsten Anforderungen auf Seite der Robotik-Entwickler identifiziert. Experimente an einem selbstfahrenden Roboter demonstrieren die Effektivität des Laufzeit- modells und der Antwortzeitanalyse in realistischen Situationen. Sie bestätigen außerdem die praktische Machbarkeit des ROS-Llama-Ansatzes und zeigen, dass ROS-Llama die beobachtete Latenz unter Last besser reduzieren kann als der in Linux mitgelieferte Standard-Scheduler.
Link to this record: urn:nbn:de:bsz:291--ds-404740
hdl:20.500.11880/36583
http://dx.doi.org/10.22028/D291-40474
Advisor: Brandenburg, Björn B.
Date of oral examination: 4-Jul-2023
Date of registration: 9-Oct-2023
Faculty: MI - Fakultät für Mathematik und Informatik
Department: MI - Informatik
Professorship: MI - Keiner Professur zugeordnet
Collections:SciDok - Der Wissenschaftsserver der Universität des Saarlandes

Files for this record:
File Description SizeFormat 
tstark-dissertation.pdfDissertation2,59 MBAdobe PDFView/Open


Items in SciDok are protected by copyright, with all rights reserved, unless otherwise indicated.