Behavior Reference#
This page provides a comprehensive catalog of all behavior tree components available in the orchestration framework. These behaviors are organized into three main categories: Motion, Perception, and Utility behaviors.
For more details and usage examples, refer to the main isaac_ros_manipulation_orchestration documentation.
Motion Behaviors#
Motion behaviors handle robot movement, trajectory execution, and gripper control operations.
Behavior |
Purpose |
Interface/Package |
Key Features |
|---|---|---|---|
AttachObject |
Attaches objects to the robot’s collision geometry for safe motion planning while carrying objects. Sends an action goal specifying the object’s shape, pose, and scale to the object attachment node, which generates collision spheres and incorporates them into the robot’s collision spheres. |
Supports multiple object representations ( |
|
CloseGripper |
Controls gripper closing and grasping operations |
|
Configures target position and maximum effort for gripper closing. |
DetachObject |
Removes attached objects from robot’s collision geometry after successful placement |
Sends a detach request to the object attachment node to remove the attached object’s collision spheres from the world collision spheres in XRDF and clear visualization markers. |
|
ExecuteTrajectory |
Executes planned trajectories on robot controllers |
|
Retrieves trajectories from the blackboard and sends them to the |
OpenGripper |
Controls gripper opening and release operations |
|
Configures target position and maximum effort for gripper opening. |
PlanToGrasp |
Plans grasp approach and retract trajectories with collision avoidance |
Plans multi-waypoint trajectories (approach → grasp → retract). Supports multiple grasp candidates. |
|
PlanToPose |
Plans robot motion to target poses |
Supports Cartesian target specification with collision avoidance. |
|
ReadDropPose |
Reads drop pose from object info cache for motion planning, extracting target placement poses from the active object’s cached information |
Blackboard data access |
Supports both static drop poses and dynamically updated poses from RViz interactions or action call parameters. Updates blackboard with pose data for downstream motion behaviors. |
ReadGraspPoses |
Loads and transforms pre-computed grasp poses using |
YAML file parsing with cached pose transformation |
Loads grasp poses for the active object’s class ID and transforms them from object-relative to world coordinates using cached estimated object poses. Optionally publishes grasp poses as TF frames for visualization. Enables object-specific grasping strategies. |
SwitchControllers |
Activates and deactivates robot controllers |
|
Takes lists of controllers to activate/deactivate and a strictness parameter such as |
UpdateDropPoseToHome |
Updates drop pose to home position for recovery scenarios when manipulation fails or workflow needs to reset |
Blackboard data update |
Retrieves home pose from blackboard configuration and sets it as the target drop pose for the active object. |
Perception Behaviors#
Perception behaviors manage object detection, pose estimation, and scene understanding operations.
Behavior |
Purpose |
Interface/Package |
Key Features |
|---|---|---|---|
AssignObjectName |
Assigns unique frame names to detected objects |
AssignNameToObject service |
Retrieves the |
DetectObject |
Requests object detection from perception servers |
Isaac ROS Object Detection ( |
Filters detections by confidence threshold and updates the |
FilterDetections |
Filters detected objects based on supported class IDs from the |
Blackboard data filtering |
Removes objects with unsupported class IDs or missing |
MeshAssigner |
Assigns collision meshes to detected objects based on class IDs |
AddMeshToObject service |
Looks up mesh file paths from the |
ObjectSelector |
Selects objects from detected candidates using configurable selection policies ( |
Evaluates filtered detections and chooses the best candidate based on the configured strategy. Updates |
|
PoseEstimation |
Estimates 6DOF poses of detected objects |
Isaac ROS Pose Estimation ( |
Estimates object poses in camera frame, transforms them to base frame coordinates, and updates the object cache. |
PublishStaticPlanningSceneBehavior |
Loads and publishes static workspace obstacles to the motion planning system |
MoveIt scene file loading |
This behavior reads MoveIt scene files ( |
Utility Behaviors#
Utility behaviors provide workflow coordination, state management, and system integration functions.
Behavior |
Purpose |
Interface/Package |
Key Features |
|---|---|---|---|
InteractiveMarker |
Creates a visual gripper model in RViz that users can directly manipulate to specify where objects should be dropped |
RViz interactive markers |
The interactive marker displays as a 3D gripper mesh with colored control handles that allow users to drag the gripper to different positions (move along X, Y, Z axes) and rotate it around all three axes (X, Y, Z rotations). As users move these controls, the system continuously updates the target drop pose, enabling real-time visual feedback and precise placement specification during manipulation workflows. |
MarkObjectAsActive |
Transitions objects from the |
Blackboard data management |
Pops from the |
MarkObjectAsDone |
Marks completed objects as |
Blackboard data management |
Updates object status in |
MarkObjectAsFailed |
Marks failed objects as |
Blackboard data management |
Updates object status in |
UpdateDropPoseFromRViz |
Updates drop poses for all objects that have not been completed or failed |
Blackboard data synchronization |
Reads |
UpdateDropPoseFromTargets |
Sets object drop poses based on target poses provided in action call parameters |
Blackboard data management |
In |
ReportGeneration |
Generates comprehensive human-readable status reports from object processing outcomes |
Blackboard data analysis |
Analyzes |
UpdateWorkflowStatus |
Determines overall workflow completion status based on individual object outcomes |
Blackboard data analysis and MultiObjectPickAndPlace.Result enum |
Examines all objects to determine final workflow outcome. Maps individual object statuses to overall result: all completed → |