FlexBE is an open source behavior engine for ROS. It is based on SMACH and significantly extends the core concepts. Most notable is the extensive user interface, enabling features such as
- Drag&drop behavior creation
- Automated code generation
- Monitored behavior execution
- Adjustable level of autonomy
- Runtime-modification of behaviors
Also, a core concept of FlexBE is reusability. States and behaviors are handled in a way to emphasize exchange and reuse between projects, while a lot of standard functionality is readily available in provided packages (see Github links). So make sure to check what is already there when starting to use FlexBE and consider sharing your own states and behaviors.
See the FlexBE website for more information.