This repository holds ROS 2 packages enabling behavior-based ROS 2 applications for the ros2_control framework. This implementation adopts the AutoAPMS framework and provides behavior tree nodes covering all services offered by the controller manager.
The reference documentation for all behavior tree node plugins from this repo can be found under Behavior Tree Nodes > auto_apms_ros2control.
All nodes resolve the targeted controller manager from the controller_manager input port (default: controller_manager, following the standard ROS 2 name expansion rules — relative, private ~/... and fully qualified /... names are all supported). The registrations are installed as the node manifest resource auto_apms_ros2control::behavior_tree_nodes, so downstream packages can either
reference the manifest directly when registering behavior trees:
auto_apms_behavior_tree_register_trees( "behavior/my_tree.xml"NODE_MANIFEST"auto_apms_ros2control::behavior_tree_nodes" )
or derive customized registrations in their own node manifest using the
parentfield:ActivateMyController: parent: auto_apms_ros2control::behavior_tree_nodes.ActivateControllertopic: /my_robot/controller_manager/switch_controllerport_default: controller: my_controller