DLR Portal
Home|Sitemap|Contact|Accessibility Imprint and terms of use Privacy Cookies & Tracking |Deutsch
You are here: Home:Publications and downloads:Software:RAFCON
Advanced Search
Institute of Robotics and Mechatronics
Departments
Robotic Systems
Applications
Research
Projects
Spin-offs
Publications and downloads
Papers
Software
AugmentedAutoencoder
DLR CalDe and DLR CalLab
RAFCON
cvkit
Stable Baselines3
Datasets
Flyers
Job offers
How to get to us
News Collection
Print

RAFCON: visual state machine programming



 Screenshot of RAFCON with an example state machine
zum Bild Screenshot of RAFCON with an example state machine

RAFCON (RMC advanced flow control) is a software tool that allows for visual programming of hierarchical state machines, using a feature-rich graphical user interface (GUI). It is programmed in Python, which is an interpreted language that relieves one from compiling and makes it possible to alter a state machine, even while it is running. Python eases the integration of heterogeneous components of a robotic system written in different languages. The novel visualization of hierarchical state machines together with sophisticated debugging mechanisms permit fast prototyping and intuitive task development with closed loop system tests, without the need of deep programming skills. The architecture enables the collaboration in a team on a single state machine. We proved all this during the SpaceBotCamp competition.

Core

The core of RAFCON, its state machine concept, is separated from the GUI. Its API can be used for the programmatic creation of state machines. These state machines can be hierarchically organized and allow for concurrency. With libraries, state machines can be reused in other task flows. The data flow is explicitly defined using data ports and their interconnections. Also, the execution is flexible: (back-)stepping, pausing, jumping and more is possible.

GUI

The RAFCON GUI allows to fully create and modify state machines. This is a big advantage to SMACH, for example. The modification history enables you to go back in time if errors were made. Furthermore, the user interface can be used to debug a state machine e.g. by using the execution history and the logging view. The graphical editor shows nested states smaller than their parents. Thus, unimportant details are hidden but can be accessed anytime by intuitive navigation mechanisms like zooming and panning.

 Screenshot of a rather complex RAFCON state machine, fully zoomed out
zum Bild Screenshot of a rather complex RAFCON state machine, fully zoomed out

Open source

RAFCON has been released as open source software on GitHub, see https://github.com/DLR-RM/RAFCON.


Contact
Rafcon-Team
German Aerospace Center

Institute of Robotics and Mechatronics

Oberpfaffenhofen-Weßling

Franz Steinmetz
German Aerospace Center

Institute of Robotics and Mechatronics
, Cognitive Robotics
Oberpfaffenhofen-Weßling

Tel.: +49 8153 28-1555

Fax: +49 8153 28-1134

Related Articles
SpaceBot Camp 2015 - Team: RMexplores!
Links
RAFCON at Github
Copyright © 2022 German Aerospace Center (DLR). All rights reserved.