← Neueste Arbeiten
💻 computer science

Deterministic Execution of ROS~2 Applications via Lingua Franca

Dieses Paper präsentiert ein Framework, das unveränderte ROS 2-Anwendungen in Lingua Franca-Programme konvertiert, um deterministische Ausführung und zeitliche Vorhersehbarkeit zu erzwingen und dadurch die inhärente Nichtdeterministik der ROS 2 Callback-Reihenfolge und Nachrichten-Interleaving zu eliminieren.

Ursprüngliche Autoren: Harun Teper, Shaokai Lin, Shulu Li, Edward A. Lee, Jian-Jia Chen

Veröffentlicht 2026-06-09
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Harun Teper, Shaokai Lin, Shulu Li, Edward A. Lee, Jian-Jia Chen

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). ✨ Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich vor, Sie leiten eine geschäftige Restaurantküche. In einer Standardküche (die wie ROS 2 ist, die Software, die verwendet wird, um Roboter zu bauen) ruft der Chefkoch die Bestellungen heraus, und die Köche (die verschiedenen Teile des Roboters) schnappen sich diese, sobald sie sie hören.

Das Problem? Wenn zwei Bestellungen genau gleichzeitig eintreffen, greift der Koch vielleicht die „Salat“-Bestellung, bevor die „Steak“-Bestellung kommt, oder umgekehrt, je nachdem, wer näher am Bestellfenster stand oder wer an diesem Tag schneller war. Manchmal kommt das Steak vor dem Salat, manchmal danach. Das ist nicht-deterministisch. Für einen Roboter, der ein Auto fährt, ist das gefährlich: Wenn der Roboter gleichzeitig ein „Stopp“-Signal und ein „Go“-Signal erhält, muss er genau wissen, welches er zuerst verarbeitet. Wenn er falsch rät, kann das Auto zusammenstoßen.

Die Autoren dieser Arbeit haben einen Verkehrsleiter (genannt Lingua Franca oder LF) entwickelt, der über Ihrer bestehenden Roboterküche sitzen und sie dazu zwingen kann, einem strengen, unveränderlichen Zeitplan zu folgen, ohne dass Sie die Rezepte (den Code) umschreiben müssen.

Hier ist die Erklärung, wie sie das gemacht haben, vereinfacht aufgeschlüsselt:

1. Das Problem: Die „Chaos-Küche“

Im standardmäßigen ROS 2-System hängt die Reihenfolge, in der Aufgaben ablaufen, von physischen Dingen ab, wie zum:

  • Wie schnell der Computer in genau dieser Sekunde ist.
  • Wie lange es dauert, bis eine Nachricht über das Netzwerk übertragen wird (wie ein Kellner, der in die Küche läuft).
  • Welcher Thread des Computers die Nachricht zuerst aufnimmt.

Aus diesem Grund führt das System dieselbe Roboter-Programmierung zweimal mit denselben Eingaben aus, kann die Aufgaben aber beim zweiten Mal in einer anderen Reihenfolge ausführen. Dies macht es unmöglich, den Roboter als sicher zu beweisen, da man nicht exakt vorhersagen kann, was er als Nächstes tun wird.

2. Die Lösung: Die „Logische Uhr“

Die Autoren führten das Konzept der Logischen Zeit ein. Stellen Sie sich vor, die Küche hat eine magische Uhr, die nicht basierend auf Sekunden an der Wand tickt, sondern basierend auf „Schritten“ im Rezept.

  • Schritt 1: Der Timer läutet.
  • Schritt 2: Der Salat wird vorbereitet.
  • Schritt 3: Das Steak wird gegart.

In diesem System spielt es keine Rolle, wie lange die Zubereitung des Steaks dauert. Wenn das Rezept sagt: „Salat vorbereiten, dann Steak garen“, wartet das System, bis der Salat fertig ist, bevor es überhaupt an das Steak denkt. Es ignoriast die reale Geschwindigkeit des Kochs. Dies stellt sicher, dass Schritt 2 immer vor Schritt 3 passiert, egal wie schnell oder langsam die Hardware ist.

3. Der magische Trick: „Kein Umschreiben erforderlich“

Normalerweise müssten Sie Ihre alten Rezepte wegwerfen und neue in einer anderen Sprache von Grund auf neu schreiben, um eine solche perfekte Ordnung zu erreichen. Das ist schwierig und teuer.

Die Autoren haben ein Übersetzungswerkzeug entwickelt.

  • Sie geben Ihr bestehendes ROS 2-Roboter-Code (die „alten Rezepte) an.
  • Das Werkzeug analysiert den Code, findet heraus, wie die Teile miteinander verbunden sind (wer mit wem spricht), und baut automatisch einen „Wrapper“ (eine Hülle) darum.
  • Dieser Wrapper zwingt den Roboter dazu, unter den strengen Regeln der „Logischen Zeit“ zu laufen.
  • Entscheidend dabei: Der ursprüngliche Code innerhalb des Roboters wird nie verändert. Er läuft exakt so, wie er geschrieben wurde, aber die Reihenfolge, in der er ausgeführt wird, wird nun perfekt durch den neuen Wrapper kontrolliert.

4. Was sie herausgefunden haben (Die Ergebnisse)

Sie haben dies an zwei Dingen getestet:

  1. Einem einfachen, künstlich erstellten Roboter mit einigen Teilen.
  2. Einem realen autonomen Fahrsystem (genannt Autoware), das aus 24 verschiedenen Teilen besteht, die zusammenarbeiten.

Die Ergebnisse:

  • Standardmäßiges ROS 2: Die Reihenfolge der Aufgaben änderte sich bei jedem Testlauf. Manchmal verarbeitete der Roboter Daten in einer bestimmten Reihenfolge, manchmal in einer anderen. Die Zeit, die zum Abschluss einer Aufgabe benötigt wurde, variierte stark (manchmal 5 Millisekunden, manchmal 900 Millisekunden).
  • Ihr neues System (LF-gesteuert): Die Reihenfolge der Aufgaben war bei jedem einzelnen Durchlauf identisch. Auch die Zeit, die zum Abschluss einer Aufgabe benötigt wurde, war jedes Mal identisch.

Sie zeigten auch, dass man dieses System nutzen kann, um den Roboter zu „tunen“. Man kann dem System sagen: „Ich möchte, dass der Roboter super konsistent ist (immer A vor B ausführt), selbst wenn das bedeutet, dass er ein kleines bisschen länger warten muss“, oder „Ich möchte, dass er super schnell ist, selbst wenn die Reihenfolge leicht variiert“. Man kann diesen „Regler“ anpassen, ohne den Roboter-Code zu ändern.

Zusammenfassung

Betrachten Sie diese Arbeit als die Erfindung eines Dirigenten für ein chaotisches Orchester. Die Musiker (der Roboter-Code) spielen immer noch ihre eigenen Instrumente genau so, wie sie es schon immer getan haben, aber nun sagt der Dirigent (das neue Framework) ihnen exakt, wann sie ihre Noten spielen sollen. Dies stellt sicher, dass jede Aufführung exakt gleich klingt, was den Roboter sicher, vorhersehbar und zuverlässig macht, ohne dass man den Musikern beibringen muss, eine neue Partitur zu lesen.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →