I’d like to present YASMIN, yet another state machine library to implement robot behaviors using Finite State Machines (FSM). It is available in C++ and Python, and provides some default states to speed up the development, in addition to a web viewer for monitoring the execution of the system.
- Fully integrated into ROS 2.
- Available for Python and C++.
- Fast prototyping.
- Default states for ROS 2 action and service clients.
- Default state for ROS 2 subscribers.
- Blackboards are used to share data between states and nested FSMs.
- FSMs can be canceled and stopped, which means stopping the current executing state.
- A web viewer is included, which allows monitoring of the execution of the FSMs.
thank you for sharing information about your project. I was already looking at it, and it looked like a great option, especially with both C++ and Python implementations. My main issue is with the license: the GPL is simply too restrictive to be used as a core library, this is the reason why I could not propose evaluating YASMIN to my client.
If the license could be changed to a more “business friendly” license, e.g. Apache2 or at the very least to LGPLv3 (with linking exception for Python code), then YASMIN could be a good candidate for using it in commercial robotics projects.
Hi @kisg, thanks for your comment, I’ll keep it in mind.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.