Bitte benutzen Sie diese Referenz, um auf diese Ressource zu verweisen: doi:10.22028/D291-40474
Titel: Real-time execution management in the ROS 2 framework
VerfasserIn: Stark, Tobias
Sprache: Englisch
Erscheinungsjahr: 2022
DDC-Sachgruppe: 004 Informatik
600 Technik
Dokumenttyp: 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 zu diesem Datensatz: urn:nbn:de:bsz:291--ds-404740
hdl:20.500.11880/36583
http://dx.doi.org/10.22028/D291-40474
Erstgutachter: Brandenburg, Björn B.
Tag der mündlichen Prüfung: 4-Jul-2023
Datum des Eintrags: 9-Okt-2023
Fakultät: MI - Fakultät für Mathematik und Informatik
Fachrichtung: MI - Informatik
Professur: MI - Keiner Professur zugeordnet
Sammlung:SciDok - Der Wissenschaftsserver der Universität des Saarlandes

Dateien zu diesem Datensatz:
Datei Beschreibung GrößeFormat 
tstark-dissertation.pdfDissertation2,59 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repository sind urheberrechtlich geschützt.