![]() |
MoveIt Pro API
Core Behaviors for MoveIt Pro
|
MoveIt Pro "behaviors" are the core building blocks of MoveIt Pro's "objectives", more commonly known as applications. They are the atomic units of work that can be combined to create complex robot tasks.
MoveIt Pro offers a plugin-based architecture that allows users to create custom behaviors to extend the capabilities of MoveIt Pro. Those custom behaviors need to implement any of these interfaces:
moveit_studio::behaviors::ActionClientBehaviorBase
: For behaviors that call ROS2 Actions.moveit_studio::behaviors::ServiceClientBehaviorBase
: behaviors that call ROS2 Servicesmoveit_studio::behaviors::GetMessageFromTopicBehaviorBase
: behaviors that subscribe to a ROS2 topic to get a message.moveit_studio::behaviors::SendMessageToTopicBehaviorBase
: behaviors that publish a message to a ROS2 topic.moveit_studio::behaviors::AsyncBehaviorBase
: behaviors that run asynchronous code.Behaviors can also inherit directly from the base classes defined by the BehaviorTree.CPP library (e.g. BT::SyncActionNode
, BT::StatefulActionNode
), optionally wrapped in a moveit_studio::behaviors::SharedResourcesNode
, if access to shared resources is needed.
MoveIt Pro implements several built-in behaviors that can be used out of the box. For details on each type of built in behavior, refer to the moveit_studio::behaviors
namespace documentation.
Other useful resources:
moveit_studio::helper_functions
: Contains utility functions that can be used in behaviors.moveit_studio::test_utils
: Contains helper functions for testing behaviors.