UbiquityRobotics / ubiquity_main

Main documentation as well as other misc files
Other
19 stars 7 forks source link

Evaluate State Machine Libraries #242

Closed rohbotics closed 4 years ago

rohbotics commented 4 years ago

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

Some ones off the top of my head

DOD: Some comparison document somewhere.

rohbotics commented 4 years ago

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

kristjanreba commented 4 years ago

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 commented 4 years ago

@kristjanreba Thanks for the comparison.