Skip to content
/ RAFCON Public

RAFCON (RMC advanced flow control) uses hierarchical state machines, featuring concurrent state execution, to represent robot programs. It ships with a graphical user interface supporting the creation of state machines and contains IDE like debugging mechanisms. Alternatively, state machines can programmatically be generated using RAFCON's API.

License

Notifications You must be signed in to change notification settings

DLR-RM/RAFCON

Folders and files

NameName
Last commit message
Last commit date

Latest commit

99e0dab · Jan 27, 2025
Feb 1, 2019
Feb 15, 2022
Aug 29, 2018
Jan 15, 2025
Mar 12, 2024
Aug 5, 2018
Jan 27, 2025
Jan 27, 2025
Jan 27, 2025
May 7, 2021
Jan 29, 2024
Oct 10, 2023
Mar 22, 2024
Mar 15, 2024
Jul 4, 2018
Jan 27, 2025
Jan 27, 2025
May 4, 2017
May 4, 2017
Feb 19, 2020
Feb 19, 2020
Nov 20, 2018
Mar 22, 2024
Jan 15, 2025
Jan 8, 2020
Jan 27, 2025
Jun 9, 2021
Feb 15, 2022
Oct 10, 2023
Jan 27, 2025
Oct 10, 2023
Jan 27, 2025
Feb 15, 2022
Jan 27, 2025
Apr 26, 2019
Mar 22, 2022
Oct 10, 2023

Repository files navigation

RAFCON

Screenshot showing RAFCON with a big state machine

Develop your robotic tasks using an intuitive graphical user interface

RAFCON uses hierarchical state machines, featuring concurrent state execution, to represent robot programs. It ships with a graphical user interface supporting the creation of state machines and contains IDE like debugging mechanisms. Alternatively, state machines can programmatically be generated using RAFCON's API.

Universal application

RAFCON is written in Python, can be extended with plugins and is hard- and middleware independent.

Visual programming

The sophisticated graphical editor can be used for the creation, execution and debugging of state machines.

Collaborative working

Share and reuse your state machines in form of libraries, stored as JSON strings in text files.

Installation preparations

Before installing RAFCON, Python >=3.7, pip and setuptools are required on your system. Most of the other dependencies are automatically resolved by pip/setuptools, but not all of them. Those need be be installed manually, too:

Installation requirements

sudo apt-get install python-dev python-pip build-essential glade python-gi-cairo
sudo -H pip install --upgrade pip
sudo -H pip install --upgrade setuptools

General requirements

  • Python >=3.7
  • pip (recent version required: v23 known to be working)
  • pdm (recent version required: v2.9.3 known to be working)

Installing RAFCON

pip install rafcon --user

The --user flag is optional. If not set, RAFCON is installed globally (in this case you normaly need to have root privileges).

If during the installation the error ImportError: No module named cairo occurs, please install pycairo directly via:

pip install --user "pycairo==1.19.1"

Of course you can also directly use the RAFCON sources from GitHub.

cd /install/directory
git clone https://github.com/DLR-RM/RAFCON rafcon

Start RAFCON

No matter which installation option you choose, RAFCON can be started from any location using (make sure /usr/local/bin or ~/.local/bin is in your PATH environment variable):

rafcon

On a multi-python setup start rafcon using:

python<your-version> -m rafcon

Uninstallation

If you want to uninstall RAFCON, all you need to do is call

pip uninstall rafcon

About

RAFCON (RMC advanced flow control) uses hierarchical state machines, featuring concurrent state execution, to represent robot programs. It ships with a graphical user interface supporting the creation of state machines and contains IDE like debugging mechanisms. Alternatively, state machines can programmatically be generated using RAFCON's API.

Topics

Resources

License

Citation

Stars

Watchers

Forks

Packages

No packages published

Languages