Skip to content

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

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.

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.