| BT |
| BehaviorTree.CPP |
Execution; Debugging |
C++ library for executing behavior trees. Provides a rich set of control nodes, logging facilities, and interfaces for debugging purposes. |
behaviortree.dev |
| PyTrees |
Execution; Monitoring; Debugging |
Python library for executing behavior trees, designed to facilitate the rapid development of medium-sized decision-making engines. Offers minimal visualizations for monitoring and debugging purposes. |
py-trees.readthedocs.io |
| Groot |
Modeling; Monitoring; Debugging |
Graphical editor for behavior trees. Allows tree design, log playback, and real-time introspection when connected to BehaviorTree.CPP. |
behaviortree.dev/groot |
| Forester |
Execution |
Orchestration engine implementing behavior trees. Supports exporting trees for use with the ROS navigation library. |
forester-bt.github.io/forester |
| BehaviorTree.ROS2 |
Execution |
ROS-compatible implementation of BehaviorTree.CPP. |
behaviortree.dev/docs/ros2_integration |
| PyTrees ROS |
Execution |
ROS-compatible implementation of PyTrees. |
py-trees-ros.readthedocs.io |
| SM |
| SMACH |
Execution; Monitoring |
Python library for implementing hierarchical state machines in ROS. Provides a runtime viewer that displays active states but offers no modeling interfaces. |
github.com/ros/executive_smach |
| FlexBE |
Modeling; Execution; Monitoring; Debugging |
Behavior engineering toolkit with a graphical state-machine editor, execution engine, onboard monitoring, and debugging tools. |
github.com/flexbe |
| YASMIN |
Modeling; Execution; Monitoring |
ROS package for designing and executing state machines using Python. Provides a shared blackboard for data exchange and a lightweight execution engine. |
github.com/uleroboticsgroup/yasmin |
| RAFCON |
Modeling; Execution; Monitoring; Debugging |
Graphical tool for hierarchical and concurrent state machines. Includes visualization, variable inspection, breakpoints, and step-by-step debugging. |
github.com/DLR-RM/RAFCON |
| HTN |
| Pyhop |
Planning |
Lightweight Python HTN planner, suitable for prototyping due to its simple implementation. |
bitbucket.org/dananau/pyhop |
| Planning |
SHOP, SHOP2, JSHOP2 |
Domain-independent automated planning systems based on ordered task decomposition. |
cs.umd.edu/projects/shop |
| ROSPlan |
Planning; Execution |
ROS-integrated planning framework that generates plans and dispatches them to ROS components. |
kcl-planning.github.io/ROSPlan |
| PlanSys2 |
Planning; Execution |
ROS package providing a PDDL-based planning system. After computing a plan, it automatically converts it into an executable behavior tree, enabling integration with robot controllers. |
plansys2.github.io |
| BPMN |
| Camunda |
Modeling; Execution; Monitoring; Debugging |
Process orchestration BPMN platform. Provides graphical modeling tools, workflow engines, REST interfaces, and dashboards for runtime monitoring and debugging. |
camunda.com |
| bpmn.io |
Modeling |
Web-based BPMN editor and viewer for designing and visualizing process models. Serves as the front-end basis for many BPMN-based applications and provides many add-ons that can extend its scope. |
bpmn.io |
| FaMe |
Modeling; Execution; Monitoring |
BPMN-driven framework for multi-robot system development. Provides BPMN modeling, automatic ROS-compliant mission configuration, and an execution engine implemented as a ROS node. |
github.com/SaraPettinari/fame |