ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

SMACH Projects

My name is Miguel, a PhD student working on improving the understanding of robotic behaviors. In particular, I am focusing in improving the visualization of SMACH, an API to write state machines. This improvement includes information about the logs of the robotic system/behavior.

Sadly, it is difficult to run a representative (real) example of a robot behavior without an actual robot and program.

I ask you, the community, to help me with my research. If you have a project (no matter the size) of a robotic behavior using SMACH, you can help me.

If you have:

  • A repository from where I can download your SMACH ROS project and detailed instructions how to run the project on a robot. Also, detailed instructions on how to install and run the simulator of the robot so I can run the project.
  • Rosbags with the information of the SMACH introspection server and /rosout that will be great.

After I finish my research, I will leave the visualization open for the the community to use it, with documentation on how to use it. I hope this visualization can help you all for your SMACH projects, and maybe for other projects that use state machines.



We have a lot of larger, hierarchical state machines in

I just noticed the README is a little out of date, the robot_smach_states and robot_skills repos are merged into this bigger one and no longer separate repos.

We do keep some logs of the execution, but I can’t access them cuz’ I’m at work and moreover our server is still in transport after RoboCup 2017 in Nagoya.

@mcamp That’s great that you’re interested in SMACH. If you’re looking for a SMACH project that will work in simulation, you might be interested in trying to resurrect the PR2 recharge executive. This was used as an integration test that ran fully in gazebo back in the day.

I also recall someone surveying SMACH use in the community a while back.

As an aside, there is a currently unreleased rqt_smach: that you might be interested in using and/or contributing to.

1 Like

Yup, it was probably @mcamp himself: State Machine Visualization

I was thinking of something from a few years ago, but I’m not sure if it resulted in anything.

@mcamp Also, are you aware of / familiar with RAFCON from DLR?

Thank you Loy, this is exactly what I was looking for.
Is it possible to have those logs when the team come back?
Another question, is there a way to sim the robot and the behaviors written using SMACH?
In particular, I need an example of a big behavior running, including the smach introspection server info (for the structure of the machine and the information of the running program) and the logs of /rosout (for more information about the program itself)

haha yep, it was me
I have a visualization working but I need to test it now with real data

I looked at it, but I could not make it run. I found this repo: . Do you have any information on how to make that project run? For us it is more interesting because here, in Chile, we have a PR2 for ourselves.

I will take a look at it, thank you!

This look amazing, I have not look at it yet but I will. Thank you again

@mcamp should help you to get started.

I ran a simulation locally of the RoboCup@Home Help-me-carry challenge, a bag file of that is at

I will try it :slight_smile:

You should check out used by Team ViGIR in DRC.

I saw FlexBE before, I have to try it, it seems really cool.
Do you have a working example using FlexBE that I can try in my computer?

You might try

This provides a simulation (or hardware) of turtlebot navigating with “collaborative autonomy” using FlexBE. It is a bit simpler set up than the full Team ViGIR setup that is available on GitHub. The demo and visualization runs well on my desktop (Core i7 w/ NVIDIA card). It runs Gazebo, RViz, and FlexBE UI in addition to several other ROS nodes, so it is best with two monitors.

For more information : and

thank you!
I will try it