Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evaluate State Machine Libraries #242

Closed
rohbotics opened this issue Jul 10, 2020 · 3 comments
Closed

Evaluate State Machine Libraries #242

rohbotics opened this issue Jul 10, 2020 · 3 comments
Assignees

Comments

@rohbotics
Copy link
Member

We should evaluate all the available state machine libraries for ROS, C++ and Python.

Some ones off the top of my head

  • ROS SMACC
  • Boost::SML
  • ROS BehaviorTrees

DOD: Some comparison document somewhere.

@rohbotics
Copy link
Member Author

@kristjanreba please assign yourself to this issue when you accept the UbiquityRobotics org invite.

@kristjanreba kristjanreba self-assigned this Jul 13, 2020
@kristjanreba
Copy link

Comparing different state machine libraries for ROS.

ROS SMACC https://discourse.ros.org/t/introducing-the-smacc-state-machine-library/14963
+ fast
+ relatively easy to use
- only C++
- new (no big community yet)

Boost::SML https://github.com/boost-ext/sml
+ large community
- only C++

ROS BehaviourTrees
+ light weight
+ C++ and Python
- not much community behind the project
- a bit too complicated

SMACH http://wiki.ros.org/smach
+ quick to implement in python
+ high level and easy to understand
+ larger community
- slow on low level systems
- only Python

Those are my impressions of the libraries.
I would use the SMACH for python code and ROS SMACC or Boost::SML for C++ (low level) code.

@rohbotics
Copy link
Member Author

@kristjanreba Thanks for the comparison.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants