YASMIN
- Software
- Middleware
- Library
YASMIN is a framework for building robot behaviors as finite state machines, available for ROS 2 in Python and C++. It also ships a visual editor, a web viewer and a command-line tool.
Made by Robotics Group - ULE, Spain (checked on github.com/uleroboticsgroup (opens in a new tab)).
Source on GitHub: github.com/uleroboticsgroup/yasmin (opens in a new tab). Facts read at commit 1a724c4 (opens in a new tab).
Licenses
- Code
- Apache-2.0 (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit 1a724c4 (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Lets you define robot behaviors as finite state machines with states, transitions and outcomes.
- Provides predefined states for ROS 2 action clients, service clients and topics.
- Shares data between states and state machines through a blackboard, with remapping support.
- Runs multiple states in parallel with concurrence, and supports orthogonal regions of state machines.
- Defines state machines in XML through a Factory and loads custom states through a plugin system.
- Includes a graphical editor, a web viewer for live monitoring, a CLI tool, and PCL and TF states.
Written by Robotheca from the project's README (opens in a new tab) at commit 1a724c4.
Getting started
- Difficulty
- Intermediate
- How to start
- The project's website (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 21 Sept 2026 on main
- Latest release
- 6.1.2 (17 Sept 2026)
Checked on GitHub on 16 Oct 2026.
Links
Robots on Robotheca that use it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.