DLR Portal
Home|Sitemap|Kontakt|Barrierefreiheit Impressum und Nutzungsbedingungen Datenschutz Cookies & Tracking |English
Sie sind hier: Home:Veröffentlichungen und Downloads:Software:RAFCON
Erweiterte Suche
Institut für Robotik und Mechatronik
Abteilungen
Robotersysteme
Anwendungsfelder
Forschungsthemen
Projekte
Technologietransfer
Veröffentlichungen und Downloads
Publikationen
Software
AugmentedAutoencoder
DLR CalDe und DLR CalLab
RAFCON
cvkit
Stable Baselines3
Datensätze
Flyer
Stellenangebote
Anreise
News-Verzeichnis
Drucken

RAFCON: visuelle Programmierung von Zustandsmaschinen



 Screenshot einer beispielhaften RAFCON-Zustandsmaschine
zum Bild Screenshot einer beispielhaften RAFCON-Zustandsmaschine

RAFCON (RMC advanced flow control) ist ein Softwarewerkzeug, das es ermöglicht, hierarchische Zustandsmaschinen (engl. "state machines") mit Hilfe einer funktionsreichen grafischen Benutzeroberfläche (GUI) visuell zu programmieren. Es ist mit der Interpretersprache Python programmiert. Da diese nicht kompiliert werden muss, können Zustandsmaschinen sogar während ihrer Ausführung modifiziert werden. Darüber hinaus erleichtert Python die Integration verschiedener, heterogener Komponenten eines robotischen Systems, die in verschieden Sprachen geschrieben sein können. Die neuartige Visualisierung von hierarchischen Zustandsmaschinen im Zusammenspiel mit ausgereiften Debugwerkzeugen ermöglicht es, Ideen schnell umzusetzen und zu testen, ohne dass tiefgehende Programmierkenntnisse nötig sind. RAFCON unterstützt die kollaborative Entwicklung von einzelnen Zustandsmaschinen. Während des SpaceBotCamp-Wettbewerbs wurde die Funktionstüchtigkeit unseres Softwarewerkzeugs unter Beweis gestellt.

Kern

Der Kern von RAFCON, das Konzept der Zustandsmaschine, ist getrennt von der grafischen Darstellung. Die Programmierschnittstelle (API) kann somit zur programmatischen Erstellung von Zustandsmaschinen benutzt werden. Diese Zustandsmaschinen können hierarchisch organisiert sein und Nebenläufigkeiten enthalten. Mittels eines Bibliothekskonzepts für Zustände können einmal erstellte Zustandsmaschinen in anderen Abläufen wiederverwendet werden. Der Datenfluss innerhalb einer Zustandsmaschine ist dabei durch Datenports und Datenflüsse explizit definiert. Darüber hinaus ist die Ausführung sehr flexibel: (Rückwärts-)Schritte, Pausen, Sprünge und weitere Eingriffsmöglichkeiten werden unterstützt.

Grafische Benutzeroberfläche (GUI)

 Screenshot einer relativen komplexen RAFCON-Zustandsmaschine, aus der komplett herausgezoomt wurde
zum Bild Screenshot einer relativen komplexen RAFCON-Zustandsmaschine, aus der komplett herausgezoomt wurde

Die GUI von RAFCON erlaubt (neben der API) die komplette Erstellung und Modifikation von Zustandsmaschinen von Hand. Dies ist ein großer Vorteil gegenüber z. B. SMACH. Die Bearbeitungshistorie ermöglicht es, in der Zeit zurückzugehen, wenn Fehler gemacht wurden. Darüber hinaus kann die Oberfläche zum Debuggen einer Zustandsmaschine genutzt werden, etwa mit Hilfe der Ausführungshistorie und der Logbuchausgabe. Der grafische Editor zeigt verschachtelte Zustände kleiner als ihre übergeordneten Zustände. Damit werden unwichtige Details ausgeblendet, die jedoch jeder Zeit über intuitive Navigationsmechanismen, wie Zoomen und Verschieben wieder hervorgeholt werden können.

Open Source

RAFCON ist unter einer Open-Source-Lizenz auf GitHub veröffentlicht, siehe https://github.com/DLR-RM/RAFCON.


Kontakt
Rafcon-Team
Deutsches Zentrum für Luft- und Raumfahrt (DLR)

Institut für Robotik und Mechatronik

Oberpfaffenhofen-Weßling

Artikel zum Thema
SpaceBot Camp 2015 – Team: RMexplores!
Links
RAFCON auf Github
Copyright © 2023 Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR). Alle Rechte vorbehalten.