Behaviors Hub

Explore our growing library (200+) of robot skills that come out of the box with MoveIt Pro, including AI models, training tools, control algorithms, and manipulation capabilities.

Name Category Node Type Description
3 Waypoints Pick and Place Application - Basic Examples Objective Basic example of repeatedly grabbing a small (invisible) object, placing it at desired destination, and then moving back to a home position
ActivateControllers
Deprecated
Motion - Controls Behavior Send a request to the /ensure_controller_is_active service to activate one or more controllers. This service is advertised by a node from MoveIt Pro's EnsureControllersAreActive MoveGroup plugin. This Behavior won't work correctly unless that specific node is up and running. The service type is moveit_studio_agent_msgs::srv::SetStringArray. Given a string of controller names delimited by semicolons (for example, "first_controller;second_controller"), this Behavior sends the request to the /ensure_controller_is_active service to activate the controllers with those names. If this Behavior receives a response from the service indicating that the request succeeded, this Behavior exits with a SUCCESS status code. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: If no input is passed in. An invalid controller name is passed in. The service response is received, but its success field is set to False. This Behavior is derived from the ServiceClientBehaviorBase class defined in the moveit_studio_behavior_interface package.
Add Poses to MTC Task Motion - Task Planning Objective Initializes a new MTC task with the current state and adds a sequence of target poses.
Add Table to Planning Scene Perception - Planning Scene Objective
Add Waypoints to MTC Task Motion - Task Planning Objective Retrieves waypoints and adds them to an MTC task for motion planning.
AddBottlesToPlanningScene Perception - Planning Scene Objective Detects flasks using ML and adds them as collision objects to the planning scene
AddCollisionBoxInFrontOfEndEffector Perception - Planning Scene Objective Adds a collision box in front of the end effector with the specified ID, dimensions and offset.
AddCollisionObjectToPlanningScene Perception - Planning Scene Objective Adds a collision box to the planning scene with the specified ID and pose.
AddPointCloudToVector Perception - 3D Point Cloud Objective Takes a point cloud from a topic and adds it to a vector of point clouds.
AddPoseStampedToVector Vector Handling Behavior Adds a Cartesian pose to a sequence of Cartesian poses and stores the sequence to the blackboard.
AddSubframeToObject
Deprecated
Grasping Behavior Accepts a GraspableObject message and a Subframe message via input data ports. Returns the GraspableObject with the new ObjectSubframe added to the Subframes section.
AddToVector Vector Handling Objective Add an element to the end of a vector.
AddToolToScene
Deprecated
Grasping Behavior DEPRECATED: Use AddURDF instead. This Behavior adds a tool to the planning scene as a collision object at the specified pose. The tool is given as a URDF file, which describes the kinematics and collision geometry. See also AttachTool for attaching a tool.
AddURDF Planning Scene Behavior This Behavior adds a URDF object to the planning scene as a collision object at the specified pose. The object is given as a URDF file, which describes the kinematics and collision geometry. If the URDF contains joints and those are reported in the /joint_states topic, the object collision shapes will update their state accordingly. See also AttachURDF for attaching a URDF object to the robot.
AddVirtualObjectToPlanningScene Perception - Planning Scene Behavior Add a virtual collision object to the planning scene. A virtual collision object is not a physical object, but an object placed in the robot's representation of the environment to forbid planning into that space. Note: The id of the virtual object is expected to start with `virtual_` to indicate that it is a virtual collision object. If the id does not start with `virtual_`, it is prepended onto the object id.
AdjustPoseWithIMarker User Input Behavior Requests a user to manually adjust a collection of poses using interactive markers in the UI. The UI will have a service server running that spawns interactive markers at the initial poses for users to adjust. These IMarkers will spawn one at a time. The input list of prompts must be the same length as the input list of initial poses. The output is a list of adjusted stamped poses.
AlwaysFailure Control Flow Behavior Return FAILURE.
AlwaysSuccess Control Flow Behavior Return SUCCESS.
AppendOrientationConstraint
Deprecated
Motion - Planning Behavior Appends a moveit_msgs/OrientationConstraint to an existing moveit_msgs/Constraints. The orientation constraint parameters are defined from an input yaml file.
AttachTool
Deprecated
Grasping Behavior DEPRECATED: Use AttachURDF instead. This Behavior attaches a tool to a robot for motion planning purposes. The tool is attached to the robot at the specified link and relative pose. The tool is given as a URDF file, which describes the kinematics and collision geometry. Once attached, the tool will move with the link it is attached to. If the tool contains joints and those are reported in the /joint_states topic, the tool collision shapes will update their state accordingly. If the tool is allowed to collide with some other links (e.g. the link it is attached to), these links can be specified in the allowed_collision_links port. See also DetachOrRemoveTool for detaching a tool.
AttachURDF Planning Scene Behavior This Behavior attaches a URDF object to a robot for motion planning purposes. The URDF object is attached to the robot at the specified link and relative pose. The URDF object is given as a URDF file, which describes the kinematics and collision geometry. Once attached, the URDF object will move with the link it is attached to. If the URDF object contains joints and those are reported in the /joint_states topic, the URDF object collision shapes will update their state accordingly. If the URDF object is allowed to collide with some other links (e.g. the link it is attached to), these links can be specified in the allowed_collision_links port. See also DetachURDF for detaching a URDF object.
AveragePoseStamped Pose Handling Behavior Calculates the running average of incoming Pose Stamped ROS messages. It can be configured to terminate after a finite number of samples or continuously calculate the average using a rolling window of a fixed size denoted by `num_samples`. If the current sample exceeds "max_distance" or "max_rotation" (specified as input ports) from the current average pose the behavior will return FAILURE.
AveragePoseStampedVector Pose Handling Behavior Returns the average PoseStamped from a vector of PoseStamped.
BiasedCoinFlip Utility Behavior Simulates flipping a biased coin with the specified probability of success.
BreakpointSubscriber User Input Behavior Subscribes to a topic that can be used for pausing an Objective during execution to allow introspection. This Behavior will listen on the configured topic for a True/False message which will cause it to continue or abort from a breakpoint that is included in an Objective.
CalculatePoseOffset Pose Handling Behavior Calculates the offset transform from source_pose to destination_pose.
CalibrateCameraPose Perception – Camera Calibration Behavior Calibrates the camera optical pose using AprilTag poses of the calibration tool held by the robot end effector.
CallTriggerService Control Flow Behavior Send a request to a std_srvs::srv::Trigger service server and wait until the server sends a response. Given the name of a service server which advertises a service with type std_srvs::srv::Trigger, this Behavior composes a std_srvs::srv::Trigger::Request message, sends the request to the server, and waits for the server to return a service response message. If this Behavior receives a response from the service server indicating that the request succeeded, this Behavior exits with a SUCCESS status code. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: No service server is available with the specified name. The service server does not return a response before the configured timeout duration has elapsed (default is 3 seconds, use a negative value for infinite timeout). The service response is received, but its success field is set to False. This Behavior is derived from the ServiceClientBehaviorBase class defined in the moveit_studio_behavior_interface package.
CheckCuboidSimilarity Perception - Planning Scene Behavior Check if an input object is similar to another object. Succeeds if the objects are similar within the provided criteria and fails if they are not similar.
Classical Pick and Place Application - Basic Examples Objective Pick and place using classical (non-ML) algorithms to identify cuboid objects.
Clear Previous Obstacles Perception - Scene Constraints Objective Clear previous scene obstacles
ClearSnapshot Perception - 3D Point Cloud Objective Clear the point cloud snapshot
Close Gripper Grasping Objective Close the gripper
ComputeInverseKinematics Motion - Planning Behavior Computes Inverse Kinematics for a given planning group and set of target poses, using the PoseIK solver. The planning group can be either a kinematic chain or a kinematic tree. In the most common case (e.g. kinematic chains), `target_poses` and `tip_links` will contain a single element each. In more complex cases (e.g. kinematic trees, like a humanoid torso), `target_poses` and `tip_links` may contain multiple elements, therefore solving the IK problem simultaneously for multiple end-effectors. The Behavior also takes a Planning Scene as input, which will be used to check for collisions during the IK computation. The IK solution, if found, is guaranteed to be collision-free with respect to the obstacles in the given Planning Scene. This Behavior returns the IK solution as a `moveit_studio_agent_msgs::msg::RobotJointState`, which can be used as input in motion planning Behaviors, e.g. `PlanToJointGoal`.
ComputeLinkPoseForwardKinematics Motion - Planning Behavior Computes the Cartesian Pose of a link from a given Joint State. If the Joint State message does not contain all of the joints for calculating the pose, it will use the existing joint states for the missing joint states.
ComputeVelocityToAlignWithTarget Motion - Controls Behavior This Behavior can be used to compute a Cartesian velocity to move a given 'end-effector' frame directly towards a 'target'. The target state of motion (its position and velocity) is required as input. State estimation Behaviors can be used to get this motion estimate. This Behavior will then compute a Cartesian velocity that decreases the pose error between the 'end-effector' and the 'target', while at the same time tracking the target's velocity. It can be used in combination with a Cartesian Velocity controller (e.g. VFC) or Servo to reach objects in motion.
Constrained Pick and Place Subtree Motion - Execute Objective Takes in waypoints to run a constrained pick and place operation.
ConvertMtcSolutionToJointTrajectory Motion - Task Planning Behavior Extracts joint space trajectories from an MTC solution and adds time parameterization using TOTG.
ConvertTransformStampedToPoseStamped Conversions Behavior Converts a geometry_msgs::msg::TransformStamped message into a geometry_msgs::msg::PoseStamped message.
Create Point Cloud Vector From Masks Perception - ML Objective Create point cloud vector From masks
Create Pose Vector Vector Handling Objective Creates a sequence of stamped poses and adds them to a vector
CreateAccelMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Accel message.
CreateAccelStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::AccelStamped message.
CreateAccelWithCovarianceMessage Conversions Behavior Create behavior for a geometry_msgs::msg::AccelWithCovariance message.
CreateAccelWithCovarianceStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::AccelWithCovarianceStamped message.
CreateAdmittanceParametersMessage Conversions Behavior Create behavior for a moveit_pro_controllers_msgs::msg::AdmittanceParameters message.
CreateAgentInfoMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::AgentInfo message.
CreateAllowedCollisionEntryMessage Conversions Behavior Create behavior for a moveit_msgs::msg::AllowedCollisionEntry message.
CreateAllowedCollisionMatrixMessage Conversions Behavior Create behavior for a moveit_msgs::msg::AllowedCollisionMatrix message.
CreateAttachedCollisionObjectMessage Conversions Behavior Create behavior for a moveit_msgs::msg::AttachedCollisionObject message.
CreateBatteryStateMessage Conversions Behavior Create behavior for a sensor_msgs::msg::BatteryState message.
CreateBehaviorParameterDescriptionMessage Conversions Behavior Create behavior for a moveit_studio_sdk_msgs::msg::BehaviorParameterDescription message.
CreateBehaviorParameterMessage Conversions Behavior Create behavior for a moveit_studio_sdk_msgs::msg::BehaviorParameter message.
CreateBoolMessage Conversions Behavior Create behavior for a std_msgs::msg::Bool message.
CreateBoundingVolumeMessage Conversions Behavior Create behavior for a moveit_msgs::msg::BoundingVolume message.
CreateByteMessage Conversions Behavior Create behavior for a std_msgs::msg::Byte message.
CreateByteMultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::ByteMultiArray message.
CreateCameraInfoMessage Conversions Behavior Create behavior for a sensor_msgs::msg::CameraInfo message.
CreateCartesianPointMessage Conversions Behavior Create behavior for a moveit_msgs::msg::CartesianPoint message.
CreateCartesianSelectionVectorMessage Conversions Behavior Create behavior for a moveit_pro_controllers_msgs::msg::CartesianSelectionVector message.
CreateCartesianTrajectoryMessage Conversions Behavior Create behavior for a moveit_msgs::msg::CartesianTrajectory message.
CreateCartesianTrajectoryPointMessage Conversions Behavior Create behavior for a moveit_msgs::msg::CartesianTrajectoryPoint message.
CreateChannelFloat32Message Conversions Behavior Create behavior for a sensor_msgs::msg::ChannelFloat32 message.
CreateCharMessage Conversions Behavior Create behavior for a std_msgs::msg::Char message.
CreateClientInfoMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::ClientInfo message.
CreateCollisionObjectFromSolidPrimitive Perception - Planning Scene Behavior Creates a CollisionObject from a SolidPrimitive, pose, and object ID.
CreateCollisionObjectMessage Conversions Behavior Create behavior for a moveit_msgs::msg::CollisionObject message.
CreateCollisionSpheresAtClosestPoints Perception - Point Cloud Downsampling to Spheres Behavior This behavior receives a point cloud, filters points inside a cylinder around a reference point, and creates a sphere at each of the closest points within the cylinder. The spheres are returned as a moveit_msgs::msg::CollisionObject message.
CreateColorRGBAMessage Conversions Behavior Create behavior for a std_msgs::msg::ColorRGBA message.
CreateCompressedImageMessage Conversions Behavior Create behavior for a sensor_msgs::msg::CompressedImage message.
CreateConstraintEvalResultMessage Conversions Behavior Create behavior for a moveit_msgs::msg::ConstraintEvalResult message.
CreateConstraintsMessage Conversions Behavior Create behavior for a moveit_msgs::msg::Constraints message.
CreateContactInformationMessage Conversions Behavior Create behavior for a moveit_msgs::msg::ContactInformation message.
CreateCostSourceMessage Conversions Behavior Create behavior for a moveit_msgs::msg::CostSource message.
CreateDisplayRobotStateMessage Conversions Behavior Create behavior for a moveit_msgs::msg::DisplayRobotState message.
CreateDisplayTrajectoryMessage Conversions Behavior Create behavior for a moveit_msgs::msg::DisplayTrajectory message.
CreateDurationMessage Conversions Behavior Create behavior for a builtin_interfaces::msg::Duration message.
CreateEmptyMessage Conversions Behavior Create behavior for a std_msgs::msg::Empty message.
CreateEndEffectorMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::EndEffector message.
CreateEventMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::Event message.
CreateFaultStatusMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::FaultStatus message.
CreateFloat32Message Conversions Behavior Create behavior for a std_msgs::msg::Float32 message.
CreateFloat32MultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::Float32MultiArray message.
CreateFloat64Message Conversions Behavior Create behavior for a std_msgs::msg::Float64 message.
CreateFloat64MultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::Float64MultiArray message.
CreateFluidPressureMessage Conversions Behavior Create behavior for a sensor_msgs::msg::FluidPressure message.
CreateGenericTrajectoryMessage Conversions Behavior Create behavior for a moveit_msgs::msg::GenericTrajectory message.
CreateGraspInfoMessage Conversions Behavior Create behavior for a moveit_studio_vision_msgs::msg::GraspInfo message.
CreateGraspMessage Conversions Behavior Create behavior for a moveit_msgs::msg::Grasp message.
CreateGraspableFaceMessage Conversions Behavior Create behavior for a moveit_studio_vision_msgs::msg::GraspableFace message.
CreateGraspableObject Grasping Behavior Creates a collision object (a cuboid) and adds it to the planning scene. The cuboid will be centered at the specified PoseStamped with the same frame. The cuboid will have width of dx, length of dy, and height of dz. Returns the generated cuboid graspable object on the output port.
CreateGraspableObjectMessage Conversions Behavior Create behavior for a moveit_studio_vision_msgs::msg::GraspableObject message.
CreateGripperTranslationMessage Conversions Behavior Create behavior for a moveit_msgs::msg::GripperTranslation message.
CreateHeaderMessage Conversions Behavior Create behavior for a std_msgs::msg::Header message.
CreateIlluminanceMessage Conversions Behavior Create behavior for a sensor_msgs::msg::Illuminance message.
CreateImageMessage Conversions Behavior Create behavior for a sensor_msgs::msg::Image message.
CreateImuMessage Conversions Behavior Create behavior for a sensor_msgs::msg::Imu message.
CreateInertiaMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Inertia message.
CreateInertiaStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::InertiaStamped message.
CreateInt16Message Conversions Behavior Create behavior for a std_msgs::msg::Int16 message.
CreateInt16MultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::Int16MultiArray message.
CreateInt32Message Conversions Behavior Create behavior for a std_msgs::msg::Int32 message.
CreateInt32MultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::Int32MultiArray message.
CreateInt64Message Conversions Behavior Create behavior for a std_msgs::msg::Int64 message.
CreateInt64MultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::Int64MultiArray message.
CreateInt8Message Conversions Behavior Create behavior for a std_msgs::msg::Int8 message.
CreateInt8MultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::Int8MultiArray message.
CreateJointConstraintMessage Conversions Behavior Create behavior for a moveit_msgs::msg::JointConstraint message.
CreateJointLimitsMessage Conversions Behavior Create behavior for a moveit_msgs::msg::JointLimits message.
CreateJointState Motion - Planning Behavior Creates a moveit_studio_agent_msgs/RobotJointState message and writes it to the blackboard. This Behavior takes the current JointState of the robot and overwrites the positions, velocities and efforts of those joints indicated in the 'joint_names' input port. `joint_names` and `positions` are mandatory, and their sizes have to match. Otherwise an error will be returned. `velocities` and `efforts` are optional. If specified, their size needs to match with the size of `joint_names`.
CreateJointStateMessage Conversions Behavior Create behavior for a sensor_msgs::msg::JointState message.
CreateJointTrajectoryMessage Conversions Behavior Create behavior for a trajectory_msgs::msg::JointTrajectory message.
CreateJointTrajectoryPointMessage Conversions Behavior Create behavior for a trajectory_msgs::msg::JointTrajectoryPoint message.
CreateJointVelocityControllerStateMessage Conversions Behavior Create behavior for a moveit_pro_controllers_msgs::msg::JointVelocityControllerState message.
CreateJoyFeedbackArrayMessage Conversions Behavior Create behavior for a sensor_msgs::msg::JoyFeedbackArray message.
CreateJoyFeedbackMessage Conversions Behavior Create behavior for a sensor_msgs::msg::JoyFeedback message.
CreateJoyMessage Conversions Behavior Create behavior for a sensor_msgs::msg::Joy message.
CreateJsonMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::Json message.
CreateKinematicSolverInfoMessage Conversions Behavior Create behavior for a moveit_msgs::msg::KinematicSolverInfo message.
CreateLaserEchoMessage Conversions Behavior Create behavior for a sensor_msgs::msg::LaserEcho message.
CreateLaserScanMessage Conversions Behavior Create behavior for a sensor_msgs::msg::LaserScan message.
CreateLicenseInfoMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::LicenseInfo message.
CreateLinkPaddingMessage Conversions Behavior Create behavior for a moveit_msgs::msg::LinkPadding message.
CreateLinkScaleMessage Conversions Behavior Create behavior for a moveit_msgs::msg::LinkScale message.
CreateLogMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::Log message.
CreateMagneticFieldMessage Conversions Behavior Create behavior for a sensor_msgs::msg::MagneticField message.
CreateMask2DMessage Conversions Behavior Create behavior for a moveit_studio_vision_msgs::msg::Mask2D message.
CreateMask3DMessage Conversions Behavior Create behavior for a moveit_studio_vision_msgs::msg::Mask3D message.
CreateMotionPlanDetailedResponseMessage Conversions Behavior Create behavior for a moveit_msgs::msg::MotionPlanDetailedResponse message.
CreateMotionPlanRequestMessage Conversions Behavior Create behavior for a moveit_msgs::msg::MotionPlanRequest message.
CreateMotionPlanResponseMessage Conversions Behavior Create behavior for a moveit_msgs::msg::MotionPlanResponse message.
CreateMotionSequenceItemMessage Conversions Behavior Create behavior for a moveit_msgs::msg::MotionSequenceItem message.
CreateMotionSequenceRequestMessage Conversions Behavior Create behavior for a moveit_msgs::msg::MotionSequenceRequest message.
CreateMotionSequenceResponseMessage Conversions Behavior Create behavior for a moveit_msgs::msg::MotionSequenceResponse message.
CreateMoveItErrorCodesMessage Conversions Behavior Create behavior for a moveit_msgs::msg::MoveItErrorCodes message.
CreateMtcTaskDataMessage Conversions Behavior Create behavior for a moveit_studio_internal_msgs::msg::MtcTaskData message.
CreateMultiArrayDimensionMessage Conversions Behavior Create behavior for a std_msgs::msg::MultiArrayDimension message.
CreateMultiArrayLayoutMessage Conversions Behavior Create behavior for a std_msgs::msg::MultiArrayLayout message.
CreateMultiDOFJointStateMessage Conversions Behavior Create behavior for a sensor_msgs::msg::MultiDOFJointState message.
CreateMultiDOFJointTrajectoryMessage Conversions Behavior Create behavior for a trajectory_msgs::msg::MultiDOFJointTrajectory message.
CreateMultiDOFJointTrajectoryPointMessage Conversions Behavior Create behavior for a trajectory_msgs::msg::MultiDOFJointTrajectoryPoint message.
CreateMultiEchoLaserScanMessage Conversions Behavior Create behavior for a sensor_msgs::msg::MultiEchoLaserScan message.
CreateNavSatFixMessage Conversions Behavior Create behavior for a sensor_msgs::msg::NavSatFix message.
CreateNavSatStatusMessage Conversions Behavior Create behavior for a sensor_msgs::msg::NavSatStatus message.
CreateObjectColorMessage Conversions Behavior Create behavior for a moveit_msgs::msg::ObjectColor message.
CreateObjectDetectionArrayMessage Conversions Behavior Create behavior for a moveit_studio_vision_msgs::msg::ObjectDetectionArray message.
CreateObjectDetectionMessage Conversions Behavior Create behavior for a moveit_studio_vision_msgs::msg::ObjectDetection message.
CreateObjectSubframeMessage Conversions Behavior Create behavior for a moveit_studio_vision_msgs::msg::ObjectSubframe message.
CreateObjectiveServerStatusMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::ObjectiveServerStatus message.
CreateOrientationConstraintMessage Conversions Behavior Create behavior for a moveit_msgs::msg::OrientationConstraint message.
CreateOrientedBoundingBoxMessage Conversions Behavior Create behavior for a moveit_msgs::msg::OrientedBoundingBox message.
CreatePipelineStateMessage Conversions Behavior Create behavior for a moveit_msgs::msg::PipelineState message.
CreatePlaceLocationMessage Conversions Behavior Create behavior for a moveit_msgs::msg::PlaceLocation message.
CreatePlannerInterfaceDescriptionMessage Conversions Behavior Create behavior for a moveit_msgs::msg::PlannerInterfaceDescription message.
CreatePlannerParamsMessage Conversions Behavior Create behavior for a moveit_msgs::msg::PlannerParams message.
CreatePlanningGroupMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::PlanningGroup message.
CreatePlanningOptionsMessage Conversions Behavior Create behavior for a moveit_msgs::msg::PlanningOptions message.
CreatePlanningSceneComponentsMessage Conversions Behavior Create behavior for a moveit_msgs::msg::PlanningSceneComponents message.
CreatePlanningSceneMessage Conversions Behavior Create behavior for a moveit_msgs::msg::PlanningScene message.
CreatePlanningSceneWorldMessage Conversions Behavior Create behavior for a moveit_msgs::msg::PlanningSceneWorld message.
CreatePoint32Message Conversions Behavior Create behavior for a geometry_msgs::msg::Point32 message.
CreatePointCloud2Message Conversions Behavior Create behavior for a sensor_msgs::msg::PointCloud2 message.
CreatePointCloudMessage Conversions Behavior Create behavior for a sensor_msgs::msg::PointCloud message.
CreatePointCloudPCDMessage Conversions Behavior Create behavior for a moveit_studio_vision_msgs::msg::PointCloudPCD message.
CreatePointFieldMessage Conversions Behavior Create behavior for a sensor_msgs::msg::PointField message.
CreatePointMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Point message.
CreatePointStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::PointStamped message.
CreatePolygonMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Polygon message.
CreatePolygonStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::PolygonStamped message.
CreatePose2DMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Pose2D message.
CreatePoseArrayMessage Conversions Behavior Create behavior for a geometry_msgs::msg::PoseArray message.
CreatePoseMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Pose message.
CreatePoseStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::PoseStamped message.
CreatePoseWithCovarianceMessage Conversions Behavior Create behavior for a geometry_msgs::msg::PoseWithCovariance message.
CreatePoseWithCovarianceStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::PoseWithCovarianceStamped message.
CreatePositionConstraintMessage Conversions Behavior Create behavior for a moveit_msgs::msg::PositionConstraint message.
CreatePositionIKRequestMessage Conversions Behavior Create behavior for a moveit_msgs::msg::PositionIKRequest message.
CreateQuaternionMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Quaternion message.
CreateQuaternionStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::QuaternionStamped message.
CreateRangeMessage Conversions Behavior Create behavior for a sensor_msgs::msg::Range message.
CreateRegionOfInterestMessage Conversions Behavior Create behavior for a sensor_msgs::msg::RegionOfInterest message.
CreateRelativeHumidityMessage Conversions Behavior Create behavior for a sensor_msgs::msg::RelativeHumidity message.
CreateRequestStatusMessage Conversions Behavior Create behavior for a moveit_studio_sdk_msgs::msg::RequestStatus message.
CreateRobotJointStateMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::RobotJointState message.
CreateRobotStateMessage Conversions Behavior Create behavior for a moveit_msgs::msg::RobotState message.
CreateRobotTrajectoryMessage Conversions Behavior Create behavior for a moveit_msgs::msg::RobotTrajectory message.
CreateServoStatusMessage Conversions Behavior Create behavior for a moveit_msgs::msg::ServoStatus message.
CreateSolidPrimitiveBox Perception - Planning Scene Behavior Creates a box-shaped SolidPrimitive.
CreateStampedPose Pose Handling Behavior Creates a geometry_msgs/PoseStamped message and writes it to the blackboard. Example usecase: manually creating a target pose for a robot to plan to.
CreateStampedTwist Pose Handling Behavior Creates a geometry_msgs/TwistStamped message and writes it to the blackboard.
CreateStampedWrench Pose Handling Behavior Creates a geometry_msgs/WrenchStamped message and writes it to the blackboard.
CreateStationaryTrajectory Motion - Planning Behavior This behavior create a stationary trajectory of specified duration at the provided JointState ROS message.
CreateStringMessage Conversions Behavior Create behavior for a std_msgs::msg::String message.
CreateTF2ErrorMessage Conversions Behavior Create behavior for a tf2_msgs::msg::TF2Error message.
CreateTFMessageMessage Conversions Behavior Create behavior for a tf2_msgs::msg::TFMessage message.
CreateTeleoperationModeMessage Conversions Behavior Create behavior for a moveit_studio_sdk_msgs::msg::TeleoperationMode message.
CreateTemperatureMessage Conversions Behavior Create behavior for a sensor_msgs::msg::Temperature message.
CreateTimeMessage Conversions Behavior Create behavior for a builtin_interfaces::msg::Time message.
CreateTimeReferenceMessage Conversions Behavior Create behavior for a sensor_msgs::msg::TimeReference message.
CreateTrajectoryConstraintsMessage Conversions Behavior Create behavior for a moveit_msgs::msg::TrajectoryConstraints message.
CreateTransformMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Transform message.
CreateTransformStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::TransformStamped message.
CreateTwistMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Twist message.
CreateTwistStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::TwistStamped message.
CreateTwistWithCovarianceMessage Conversions Behavior Create behavior for a geometry_msgs::msg::TwistWithCovariance message.
CreateTwistWithCovarianceStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::TwistWithCovarianceStamped message.
CreateUInt16Message Conversions Behavior Create behavior for a std_msgs::msg::UInt16 message.
CreateUInt16MultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::UInt16MultiArray message.
CreateUInt32Message Conversions Behavior Create behavior for a std_msgs::msg::UInt32 message.
CreateUInt32MultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::UInt32MultiArray message.
CreateUInt64Message Conversions Behavior Create behavior for a std_msgs::msg::UInt64 message.
CreateUInt64MultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::UInt64MultiArray message.
CreateUInt8Message Conversions Behavior Create behavior for a std_msgs::msg::UInt8 message.
CreateUInt8MultiArrayMessage Conversions Behavior Create behavior for a std_msgs::msg::UInt8MultiArray message.
CreateVector Vector Handling Objective Create a new vector of any type.
CreateVector3Message Conversions Behavior Create behavior for a geometry_msgs::msg::Vector3 message.
CreateVector3StampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Vector3Stamped message.
CreateVelocityForceCommandMessage Conversions Behavior Create behavior for a moveit_pro_controllers_msgs::msg::VelocityForceCommand message.
CreateVelocityForceControllerStateMessage Conversions Behavior Create behavior for a moveit_pro_controllers_msgs::msg::VelocityForceControllerState message.
CreateVelocityStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::VelocityStamped message.
CreateVisibilityConstraintMessage Conversions Behavior Create behavior for a moveit_msgs::msg::VisibilityConstraint message.
CreateWaypointMessage Conversions Behavior Create behavior for a moveit_studio_agent_msgs::msg::Waypoint message.
CreateWorkspaceParametersMessage Conversions Behavior Create behavior for a moveit_msgs::msg::WorkspaceParameters message.
CreateWrenchMessage Conversions Behavior Create behavior for a geometry_msgs::msg::Wrench message.
CreateWrenchStampedMessage Conversions Behavior Create behavior for a geometry_msgs::msg::WrenchStamped message.
CropPointsInBox Perception - 3D Point Cloud Behavior Given a point cloud and a box-shaped region of interest, create a new point cloud which contains only the points that are inside the region of interest. The dimensions and size of the region of interest are defined relative to its centroid.
CropPointsInSphere Perception - 3D Point Cloud Behavior Given a point cloud and a sphere-shaped region of interest, create a new point cloud which contains only the points that are inside the region of interest. The dimensions and size of the region of interest are defined relative to its centroid.
CropPosesInBox Perception - 3D Point Cloud Behavior Given a vector of poses and a box-shaped region of interest, create a new vector of poses which contains only the poses that are inside the region of interest. The dimensions and size of the region of interest are defined relative to its centroid.
Cycle Between Waypoints Application - Basic Examples Objective Example of repeatedly moving between two saved poses.
Delay Control Flow Decorator This node can only have 1 child.Sleep for a given duration of time and then tick the child node.
DetachTool
Deprecated
Grasping Behavior DEPRECATED: Use DetachURDF or RemoveURDFFromScene instead. Detach a tool from the robot or remove it from the planning scene. The tool with the given tool_name will be detached from the robot or removed from the planning scene depending on which service is specified. If detached, the tool will no longer move with the robot and will not be considered in motion planning calculations. If removed, the tool will no longer be able to be attached to the robot until it is added to the planning scene again.
DetachURDF Planning Scene Behavior Detach a URDF object from the robot. The URDF object with the given urdf_name will be detached from the robot. Once detached, the object will no longer move with the robot and will not be considered in motion planning calculations.
DetectAprilTags Perception - 2D Image Behavior Detects AprilTag markers from an image.
DiffusionPolicy Perception - Machine Learning Behavior Run a diffusion policy with a scene and wrist camera.
DoTeleoperateAction User Input Behavior Enables teleoperation mode, allowing the user to manually control the robot. The output ports are the values reported by The UI via the ROS 2 topic /do_teleoperate/_action/feedback
EditWaypoint User Input Behavior Uses the /edit_waypoints service to save the robot's current state as a new named waypoint or erase an existing waypoint. The name of the waypoint to save or delete is set through the "waypoint_name" behavior parameter. The operation to perform on the waypoint is set through the "waypoint_operation" behavior parameter, which must be set to either "save" or "erase".
ErrorCheckVectorSize Vector Handling Objective Assert that the input vector is the expected length, and if not show a UI error and return FAILURE
ExecuteFollowJointTrajectory Motion - Planning Behavior Execute a given joint trajectory by sending a request to an action server. The corresponding joint trajectory controller needs to be active, which can be done with the ActivateControllers Behavior. Given the name of an action server advertising an action with type control_msgs::action::FollowJointTrajectory and a trajectory_msgs::msg::JointTrajectory message, this Behavior composes a FollowJointTrajectory::Request message using the joint trajectory message. It sends the action request to the server and waits for the server to return the action result. If the server completes the action successfully, this Behavior succeeds. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: No action server is available with the specified name. The joint trajectory message has no data. The given position or time tolerances are invalid (negative). The action result is received, but its contents indicate that the action server failed execute the solution. This Behavior is derived from the ActionClientBehaviorBase class defined in the moveit_studio_behavior_interface package.
ExecuteMTCTask Motion - Task Planning Behavior Execute the lowest-cost trajectory in a given MTC Solution by sending a request to an action server named execute_task_solution. This Behavior composes an ExecuteTaskSolution::Request message using the moveit_task_constructor_msgs::msg::Solution supplied through the input data port. It sends the action request to the MTC ExecuteTaskSolution MoveGroup capability's /execute_task_solution action server and waits for the server to return the action result. If the server completes the action successfully, this Behavior succeeds. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: No action server named execute_task_solution is available. The Behavior failed to get the solution from the input data port. The action result is received, but its contents indicate that the action server failed execute the solution. Planning scene modifications by MTC stages are applied to global planning scene as its corresponding sub-solution in the MTC solution is executed. This Behavior is derived from the ActionClientBehaviorBase class defined in the moveit_studio_behavior_interface package.
ExecuteTrajectoryWithAdmittance Motion - Planning Behavior Execute a given joint trajectory by sending a request to a Joint Trajectory With Admittance controller (JTAC). The corresponding JTAC needs to be active, which can be done with the ActivateControllers Behavior. Given the name of an action server advertising an action with type moveit_pro_controllers_msgs::action::FollowJointTrajectoryWithAdmittance and a trajectory_msgs::msg::JointTrajectory message, this Behavior composes a FollowJointTrajectoryWithAdmittance::Request message using the joint trajectory message. It sends the action request to the server and waits for the server to return the action result. If the server completes the action successfully, this Behavior succeeds. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: No action server is available with the specified name. The given arguments are invalid, e.g. empty trajectory, invalid tolerances, etc. The action result is received, but its contents indicate that the action server failed execute the solution. This Behavior is derived from the ActionClientBehaviorBase class defined in the moveit_studio_behavior_interface package.
ExtractGraspableObjectPose Grasping Behavior Accepts a GraspableObject message via an input data port. Returns the GraspableObject's Pose and Header as a PoseStamped.
Fallback Control Flow Control Node The FallbackNode is used to try different strategies, until one succeeds. If any child returns RUNNING, previous children will NOT be ticked again.If all the children return FAILURE, this node returns FAILURE.If a child returns RUNNING, this node returns RUNNING.If a child returns SUCCESS, stop the loop and return SUCCESS.
Find Nearest Pose In Path Vector Handling Objective Find the pose in the path with the lowest Euclidean distance to the given search pose. Requires ConverterBehaviorsLoader.
FindMaskedObjects Perception - 3D Point Cloud Behavior Given a point cloud and one or more image masks, create an object corresponding to each masked region.
FindSingularCuboids Perception - 3D Point Cloud Behavior Analyze a point cloud and create GraspableObjects for objects found in the cloud. Assume that all objects are cuboids and that all objects are resting on the same flat surface. This Behavior uses the following sequence of operations: Perform a TF lookup to get the transform from the base frame to the point cloud's frame. Crop points within the region specified in the input config options. The crop region is defined relative to the world base frame. Filter the points to remove the ones with all-zero and NaN coordinates. Find the largest plane in the cloud. This plane will be used as the supporting surface. Perform Euclidean clustering on the points which are not part of this plane to create a list of clusters of points which are all separated from each other by a minimum distance threshold. Each cluster represents a separate object. For each cluster: Project the cluster onto the plane. Find the minimal oriented bounding box around these points relative to the plane. Find the height of the cluster relative to the plane. Use the bounding box and height to create a GraspableObject that defines a cuboid enclosing the points. This Behavior makes several key assumptions about the environment: The input point cloud must include a large flat surface, such as a tabletop or floor. The cropping and filtering steps are expected to remove all points which are far away from that surface, so that all remaining clusters of points can be assumed to represent objects which are supported by that surface. If this Behavior completes all analysis steps successfully, it will output a vector of GraspableObjects to the output data port and exit with a SUCCESS status code. After the GraspableObjects are written to the output port, this Behavior publishes a visualization_msgs::msg::MarkerArray message onto the "/visual_markers" topic. This message can be used by RViz to display the objects which were detected in the point cloud. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: The TF lookup to find the transform from the base frame to the point cloud frame does not succeed. After cropping the point cloud to the region of interest and filtering the point cloud to remove NaN and all-zero points, the point cloud is empty. No large flat surface is found within the point cloud. No cuboids are be found in the point cloud after the supporting plane is removed.
FitLineSegmentToMask3D Perception - 3D Point Cloud Behavior Fits a line segment to the points in a 3D mask, ignoring outliers. The line parameters are estimated with the RANSAC algorithm. The RANSAC iterative process hypothesizes line models from random point subsets, selecting the hypothesis that explains the most points in the set. A point is considered explained by a line hypothesis (a.k.a. "inlier") if it is closer than a distance threshold to it. The output segment is contained in the resulting line, and is the shortest segment containing all inlier points.
ForEach Vector Handling Decorator Iterate through a vector of BT::Any objects. Note: all vectors are converted to vectors of BT::Any objects when they are placed on the blackboard. Adds the object with its index to the blackboard before ticking child nodes and moving to next iteration.
ForEachUntilSuccess Vector Handling Decorator Iterate through a vector of BT::Any objects. Returns Running while checking elements. Returns Success if there are no elements. Returns Success as soon as one succeeds. Returns Failure if all elements fail. Note: all vectors are converted to vectors of BT::Any objects when they are placed on the blackboard. Adds the object with its index to the blackboard before ticking child nodes and moving to next iteration.
Force Relaxation Motion - Controls Objective Relaxes the force sensed at the force/torque sensor by moving the robot tip in the direction of the sensed force.
ForceExceedsThreshold Motion - Controls Behavior Monitors a wrench topic and returns SUCCESS when ticked if the magnitude of the force components has exceeded a specified threshold for some number of consecutive observations.
ForceFailure Control Flow Decorator This node can only have 1 child.If the child returns RUNNING, this node returns RUNNING too.Otherwise, it returns always FAILURE.
ForceSuccess Control Flow Decorator This node can only have 1 child.If the child returns RUNNING, this node returns RUNNING too.Otherwise, it returns always SUCCESS.
FrankaGraspAction Grasping Behavior TODO
Fuse Multiple Views Subtree Perception - 3D Point Cloud Objective Moves to three different waypoints, captures point clouds, returns the merged point cloud.
GenerateCoveragePath Motion - Planning Behavior Creates a zig-zag path for a robot to follow to cover a given area. The zig-zag path is generated by starting at the bottom right corner of the area, moving to the bottom left corner, then moving up the stride distance, back to the right, and so on until the top left corner is reached. The path is generated by moving along the x-axis first, then the y-axis. The width and height parameters define the size of the area to be covered, and the stride distance parameter defines the distance between each zig-zag path, all dimensions given in meters. If the stride distance doesn't add up exactly to the height, the last stride won't be included, i.e. the actual area covered will be less than the given height.
GenerateCuboidGraspPoses Motion - Task Planning Behavior Generate cuboid grasp poses for a target GraspableObject.
GenerateObjectsInBox
Deprecated
Grasping Behavior Randomly positions cuboid graspable objects inside a bounding box for mocking perception.
GeneratePointToPointTrajectory Motion - Planning Behavior Generate a joint-space trajectory to move the robot from the start joint state to the end joint state. The output joint_trajectory_msg is a timed joint-space trajectory that can be collision-checked with the ValidateTrajectory Behavior, and executed with ExecuteFollowJointTrajectory. The first point in the trajectory will have a time_from_start equal to the value specified on the start_time input port and will be sampled at the rate specified on the trajectory_sampling_rate input port. velocity_scale_factor, acceleration_scale_factor, and jerk_scale_factor control the desired joint-space motion as a fraction ([0,1]) of the maximum joint velocities, accelerations, and jerks defined in the MoveIt configs. The Behavior succeeds if the entire path could be resolved, or fails otherwise.
GenerateVacuumGraspPoses Motion - Task Planning Behavior Generate vacuum grasp poses for a target GraspableObject.
Get AprilTag Pose from Image Perception - 2D Image Objective Takes an image snapshot from the wrist camera and attempts to detect an april tag for pose estimation.
Get Candidate Grasps Subtree Perception - ML Objective Infer grasp poses from camera image.
Get Collision Free Grasp Subtree Grasping Objective Takes a set of grasp poses and returns the first collision free pose.
Get Grasp from Text Prompt Subtree Perception - ML Objective Identifies an object and returns a collision free grasp pose.
Get IMarker Pose From Mesh Visualization Visualization Objective Visualize a mesh in the UI and use an IMarker to get a grasp pose based on that mesh
Get Transform Frame Pose Pose Handling Objective Returns the pose of the requested frame in the world frame.
GetCameraInfo Perception - 2D Image Behavior Wait for a sensor_msgs::msg::CameraInfo message to be published on a specified ROS topic for 5 seconds and copy it to an output data port. Given the name of a topic where sensor_msgs::msg::CameraInfo messages are being published, this Behavior subscribes to that topic and waits until a new message is published to the topic. When the Behavior's subscriber receives a new message, this Behavior copies it to an output data port and then finishes with a SUCCESS status. Afterwards, other Behaviors which take sensor_msgs::msg::Image messages as inputs can use this message for further processing or analysis. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: No publisher is found on the topic. Creating a subscription on the topic does not succeed. A publisher was found on the topic, but no message is published on the topic before a 5-second timeout duration has passed. This Behavior is derived from the GetMessageFromTopic class defined in the moveit_studio_behavior_interface package.
GetCenterFromMask2D Perception - 2D Image Behavior Calculate the center point of a 2D mask. The center point can be used for mask refinement with point based segmentation methods.
GetCentroidFromPointCloud Perception - 3D Point Cloud Behavior Given an input point cloud, estimates the cloud centroid using pcl::compute3DCentroid and outputs that as a pose stamped with the same header as the point cloud.
GetClosestObjectToPose Perception - Planning Scene Behavior Given a collection of CollisionObjects, find the one closest to the provided pose.
GetContourFromPointCloudSlice Perception - 3D Point Cloud Behavior Creates a planar contour path around a point cloud slice: Slices a point cloud given the slice_plane and slice_distance_from_plane. Projects these sliced points onto the slice_plane. Outputs a path of approximately evenly spaced poses at desired_pose_spacing along the contour.
GetCurrentPlanningScene Perception - Planning Scene Behavior Get the current planning scene.
GetDetectionPose Pose Handling Behavior Gets the stamped pose of an object detection given a label or ID, if one exists.
GetElementOfVector Vector Handling Behavior Get the element of a vector at the given index. Negative indexes start backwards from the last element.
GetFilenamesFromDirectory User Created Behaviors Behavior Gets a vector of all filenames in a given directory (optionally with a given filetype)
GetGraspAndTwistSubframes
Deprecated
Grasping Behavior Given an input PoseStamped representing a grasp pose selected on an object, output three Subframes that define a screw motion to twist the grasp pose like a handle. Assumes that the z-axis of the grasp pose matches the normal vector of the front face of the grasp point.
GetGraspPoseFromPointCloud Grasping Behavior Generate a vector of grasps from a point cloud using the L2G network.
GetGraspableObjectsFromMasks3D Perception - 3D Point Cloud Behavior Outputs a graspable object for each point cloud fragment represented by a 3D mask.
GetImage Perception - 2D Image Behavior Wait for an image message to be published on a specified ROS topic and copy it to an output data port. Given the name of a topic where sensor_msgs::msg::Image messages are being published, this Behavior subscribes to that topic and waits until a new message is published to the topic. When the Behavior's subscriber receives a new message, this Behavior copies it to an output data port and then finishes with a SUCCESS status. Afterwards, other Behaviors which take sensor_msgs::msg::Image messages as inputs can use this message for further processing or analysis. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: No publisher is found on the topic. Creating a subscription on the topic does not succeed. A publisher was not advertising the topic before the timeout duration has passed. A publisher was found on the topic, but no message is published on the topic before the timeout duration has passed. This Behavior is derived from the GetMessageFromTopic class defined in the moveit_studio_behavior_interface package.
GetLatestTransform Pose Handling Behavior Gets the latest transform from the robot model root to a frame specified as an input parameter to this behavior.
GetMasks2DFromPointQuery Perception - ML Behavior Segments a ROS image message with the SAM2 model, using the provided points represented as a vector of geometry_msgs/PointStamped messages.
GetMasks2DFromTextQuery Perception - ML Behavior Segments a ROS image message with the CLIPSeg model, using the text prompts provided as a vector of std::string.
GetMasks3DFromMasks2D Perception - 3D Point Cloud Behavior Given a point cloud of a scene and 2D masks from an image of the scene, output a point cloud mask for each image mask.
GetMeshNormalPoses Grasping Behavior Given the name of a link in the robot model that has a visual mesh, calculate the surface normals of the mesh and set them to an output data port. The base frame of each mesh normal pose will be the origin frame of the robot link. If calculation of mesh normals succeeds, this Behavior sets the normals to an output data port as a vector of geometry_msgs::msg::PoseStamped ROS messages and finally exits with a SUCCESS status code. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: The provided link name does not correspond to a link in the robot model. The robot model link does not have a visual mesh resource file. The discretization step size is negative. This Behavior is derived from the AsyncBehaviorBase class defined in the moveit_studio_behavior_interface package.
GetMoveAlongArcSubframes
Deprecated
Motion - Planning Behavior Given a PoseStamped for a grasp pose, and 2 PoseStampeds for the axis of the arc, calculates the subframes needed for a MoveAlongArc where the arc radius is the distance between the grasp point and the arc (hinge) axis. Assumes that the z-axis of the two poses on the hinge axis are oriented facing into the surface of the object. The direction of the door relative to the surface normal is determined by calculating the vector cross product of the vector from the hinge origin pose to the grasp pose and the vector from the hinge origin pose to the hinge axis pose, and then calculating the dot product of the resulting vector and the z-axis of the hinge origin pose. If the dot product is positive, the hinge origin and hinge axis poses are correctly ordered. If the dot product is negative, the hinge origin and hinge axis poses need to be reversed for positive door rotation to open the door towards the viewpoint.
GetOdom Navigation Behavior Subscribe to an odometry message and store it on the blackboard.
GetOrientedBoundingBoxFromPointCloud Perception - 3D Point Cloud Behavior Given an input point cloud, finds the oriented bounding box (OBB) using pcl::MomentOfInertiaEstimation and outputs the center pose and box dimensions. The OBB orientation is disambiguated by choosing the orientation closest to the reference_pose.
GetPointCloud Perception - 3D Point Cloud Behavior Wait for a point cloud message to be published on a specified ROS topic and copy it to an output data port. Given the name of a topic where sensor_msgs::msg::PointCloud2 messages are being published, this Behavior subscribes to that topic and waits until a new point cloud message is published to the topic. When the Behavior's subscriber receives a new point cloud message, this Behavior copies it to an output data port and then finishes with a SUCCESS status. Afterwards, other Behaviors which take sensor_msgs::msg::PointCloud2 messages as inputs can use this point cloud for further processing or analysis. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: No publisher is found on the topic. Creating a subscription on the topic does not succeed. A publisher was found on the topic, but no message is published on the topic before a 5-second timeout duration has passed. This Behavior is derived from the GetMessageFromTopic class defined in the moveit_studio_behavior_interface package.
GetPointCloudFromMask3D Perception - 3D Point Cloud Behavior Returns a point cloud with the points selected by a 3D mask.
GetPointsFromUser User Input Behavior Requests a set of named points from the user by switching the view and displaying a sequence of prompts in the UI. The list of point prompts can either contain a single element, meaning the same prompt is displayed for each requested point, or it can be the same size as the list of point names, meaning a different prompt is displayed for each point. The output is a list of stamped points, whose X and Y coordinates are normalized pixel coordinates in the range [0..1]. The requested name of each point is contained in the frame ID of its header.
GetPoseFromPixelCoords Perception - 3D Point Cloud Behavior Given an ordered point cloud and a vector of normalized pixel XY coordinates, outputs a vector of stamped poses corresponding to points normal to the selected coordinates. This assumes that the pixel XY coordinates are normalized, i.e., have values in the range [0..1] relative to the image's height and width. Additionally, the output poses always align the Z axis with the normal of the plane by using the smallest eigenvalue of a planar patch with radius `neighbor_radius` around each selected point. These Z axes point towards the origin of the point cloud frame.
GetPoseFromUser User Input Behavior Request a Pose from the user via interaction from the UI. Returns a PoseStamped.
GetRobotJointState ROS Messaging Behavior This behavior extracts a ROS sensor_msgs/JointState message from a a planning scene object.
GetSizeOfVector Vector Handling Behavior Get the size of the vector.
GetSyncedImageAndPointCloud Perception - Planning Scene Behavior Get data from time-synchronized image and point cloud topics and populate them in output ports.
GetSyncedImages Perception - 2D Image Behavior Get data from time-synchronized image topics and populate them in output ports.
GetTextFromUser User Input Behavior Gets text from user by sending a list of prompts with default values for each prompt. The prompts, values, and text_output ports should all be a vector of the same length.
GetTrajectoryStateAtTime Motion - Planning Behavior Get the JointState of a JointTrajectory at a specified time_from_reference either from the start or end of the trajectory. If from_start is true, then the trajectory will be queried at the time_from_reference from its start, otherwise it will be queried at the time_from_reference from its end. If time_from_reference doesn't exactly match a state in the trajectory, but is still within the bounds of the trajectory then the behavior will interpolate between states. The behavior will fail if the time_from_reference is outside the bounds of the trajectory.
Grasp Planning Motion - Planning Objective Find a feasible grasp pose out of a set of manually-defined grasp candidates, and move there
Grasp Pose Tuning With April Tag Application - Advanced Examples Objective Moves the gripper to the April Tag and then prompts the user to teleop to a grasp pose. Saves the resulting pose to a YAML file.
Grasp Pose Using Yaml Application - Advanced Examples Objective Reads a YAML file for grasp pose offset and picks up an object that has an AprilTag marker.
IfThenElse Control Flow Control Node IfThenElse must have exactly 2 or 3 children.The first child is the "statement" of the if.If that return SUCCESS, then the second child is executed.Instead, if it returned FAILURE, the third child is executed.If you have only 2 children, this node will return FAILURE whenever the statement returns FAILURE.This is equivalent to add AlwaysFailure as 3rd child.
InitializeMTCTask Motion - Task Planning Behavior Creates a shared pointer to a new MTC Task object, populates it with global settings (for example, the names of controllers to enable by default when executing trajectories planned by this task), and sets it as an output data port.
InitializeMotionConstraints
Deprecated
Motion - Planning Behavior Creates a shared pointer to a new moveit_msgs/Constraints message.
InsertInVector Vector Handling Behavior Insert an element into a vector at the given index. Negative indexes start backwards from the last element.
Inspector Application - Basic Examples Objective Multi-view inspection routine: Captures images and point clouds from multiple viewpoints for 3D reconstruction or quality inspection
Interpolate to Joint State Motion - Execute Objective Move to a specified joint state using joint interpolation
Inverter Control Flow Decorator This node can only have 1 child.Tick the child once and return SUCCESS if the child failed or FAILURE if the child succeeded.If the child returns RUNNING, this node returns RUNNING too.
IsAnyObjectAttached Perception - Planning Scene Behavior Checks a PlanningScene to determine if any object is attached to the robot. Returns SUCCESS if there is an attached CollisionObject, FAILURE otherwise.
IsCollisionObjectInPlanningScene Perception - Planning Scene Behavior Checks a PlanningScene to see if a CollisionObject with a specific ID exists. Returns SUCCESS if the CollisionObject is found, FAILURE otherwise.
IsObjectAttachedTo Perception - Planning Scene Behavior Checks a PlanningScene to determine if the given CollisionObject name is attached to the specified robot link.Returns SUCCESS if the object and link are attached; FAILURE otherwise.
IsPoseNearIdentity Pose Handling Behavior Succeeds if the pose position norm is below the position tolerance and the absolute rotation is below the rotation tolerance. Useful for evaluating an error pose.
IsUserAvailable User Input Behavior Checks for the presence of a user interface by checking if the "/trajectory_bridge" ROS node exists.
IsVisibilityConstraintSatisfied Perception - Planning Scene Behavior Check if the robot's current state satisfies a kinematic visibility constraint.
Joint Diagnostic Application - Basic Examples Objective Example of cycling through the min and max limits of a single joint, for hardware testing
JointJog Motion - Execute Behavior Forward JointJog commands to a Joint Velocity Controller
KeepRunningUntilFailure Control Flow Decorator This node can only have 1 child.Tick the child until it returns FAILURE, then return FAILURE.
Load Mesh as Green Point Cloud Perception - 3D Point Cloud Objective Loads a point cloud from a file and colors it green.
Load Mesh as Red Point Cloud Perception - 3D Point Cloud Objective Loads a mesh from a file and colors it red.
Load and Execute Joint Trajectory Application - Basic Examples Objective Load a trajectory that was saved as a YAML file
LoadHeaderFromYaml YAML Handling Behavior Loads a std::msg Header message from a YAML file.
LoadHeaderVectorFromYaml YAML Handling Behavior Loads a vector of std::msg Header messages from a YAML file.
LoadImageFromFile Perception - 2D Image Behavior Loads an image from a file, converts it to a ROS sensor_msgs/Image message, and writes it to an output data port.
LoadJointTrajectoryFromYaml YAML Handling Behavior Loads a joint trajectory message from a YAML file name and outputs a JointTrajectory ROS message object created from the file contents.
LoadObjectSubframeFromYaml YAML Handling Behavior Loads a moveit_studio_vision_msgs::msg ObjectSubframe message from a YAML file.
LoadObjectiveParameters
Deprecated
Utility Behavior Loads the configuration parameters for a given Objective. The configuration file name is given as an input port parameters to this Behavior. The parameters are loaded once per Objective execution. To reload the parameter from the file, just execute the Objective again.
LoadPointCloudFromFile Perception - 3D Point Cloud Behavior Loads a point cloud from a .pcd or .stl file, converts it to a ROS sensor_msgs/PointCloud2 message, and writes it to an output data port.
LoadPointStampedFromYaml YAML Handling Behavior Loads a PointStamped message from a YAML file.
LoadPointStampedVectorFromYaml YAML Handling Behavior Loads a vector of PointStamped messages from a YAML file.
LoadPoseFromYaml YAML Handling Behavior Loads a Pose message from a YAML file.
LoadPoseStampedFromYaml YAML Handling Behavior Loads a PoseStamped message from a YAML file.
LoadPoseStampedVectorFromYaml YAML Handling Behavior Loads a vector of PoseStamped messages from a YAML file.
LoadPoseVectorFromYaml YAML Handling Behavior Loads a vector of Pose messages from a YAML file.
LoadQuaternionFromYaml YAML Handling Behavior Loads a Quaternion message from a YAML file.
LoadSubframesFromYaml YAML Handling Behavior Loads a vector of Subframes from a file, converts it and their names in the file to a vector of ROS moveit_studio_vision_msgs::msg::ObjectSubframe messages, and writes that to an output data port.
LoadTransformFromYaml YAML Handling Behavior Loads a Transform message from a YAML file.
LoadTransformStampedFromYaml YAML Handling Behavior Loads a TransformStamped message from a YAML file.
LoadVector3FromYaml YAML Handling Behavior Loads a Vector3 message from a YAML file.
LogMessage Utility Behavior Log a message to the UI.
Look at Table Application - Basic Examples Objective Move the arm to a position that faces the table surface
ML Auto Grasp Object from Clicked Point Application - ML (GPU Recommended) Objective Asks user to click on object to auto grasp and asks for approval before attempting pick.
ML Segment Image Application - ML (GPU Recommended) Objective Run an ML model to find all objects and visualize the masks with bounding boxes, from a text prompt.
ML Segment Point Cloud Application - ML (GPU Recommended) Objective Captures a point cloud and segments out all possible objects from a text prompt
ML Segment Point Cloud from Clicked Point Application - ML (GPU Recommended) Objective Captures a point cloud and requests the user to click on three objects in the image to be segmented. The point cloud is then filtered to only include the selected objects.
MPC Pose Tracking With Point Cloud Avoidance Application - MPC Examples Objective
MPCPointCloudClearance Motion - Execute Behavior This behavior uses Model Predictive Control (MPC) to track a target pose while avoiding a point cloud real-time. The behavior optimizes two residuals simultaneous to achieve effective tracking: target pose and point cloud clearance. Target Pose: The target pose is provided through `target_pose` and `target_twist` input ports. The target pose must be in world frame. The target pose is tracked by a site defined in the MuJoCo model, e.g. `end_effector`. Point Cloud Clearance: The `point_cloud` input port supplies the point cloud to avoid, and the `link_sites` input port specifies the MuJoCo sites to monitor for proximity. The `safe_distance` input port defines the minimum allowed distance between each site and the point cloud. If a site is farther than `safe_distance` from the point cloud, the residual is zero and does not affect the optimization. As a site approaches the point cloud, the residual increases, encouraging the optimizer to maintain clearance.Optimization Problem: The optimization problem aims to minimize the following cost: l(x, u) = sum(w_i * ||r_i(x, u)||) where w_i is a non-negative weight for each residual functions, and r_i(x, u) is the residual function. The goal of the optimization is to minimize the sum of the weighted residual norms. This site tracking behavior optimizes the following residuals: 1) Cartesian velocity, 2) Cartesian acceleration, 3) Joint velocity, 4) Joint acceleration, 5) Force/torque constraints, and 6) Site tracking errors. For further details on the residual functions, please refer to the documentation of each residual function. Tuning Tips: 1) adjust the weights of the residual functions to prioritize specific constraints and 2) as a starting point, the cost of position error should be 10x that of the velocity error, and the velocity error should be 10x that of the acceleration error.
MPCPoseTracking Application - MPC Examples Objective This behavior uses Model Predictive Control (MPC) to track a target pose in real-time. The behavior optimizes several residuals simultaneous to achieve effective tracking. Target Pose: The target pose is provided through the `target_pose` and `target_twist` input ports. The target pose must be in world frame. The target pose is tracked by a site defined in the MuJoCo model, e.g. `end_effector`. Optimization Problem: The optimization problem aims to minimize the following cost: l(x, u) = sum(w_i * ||r_i(x, u)||) where w_i is a non-negative weight for each residual functions, and r_i(x, u) is the residual function. The goal of the optimization is to minimize the sum of the weighted residual norms. This site tracking behavior optimizes the following residuals: 1) Cartesian velocity, 2) Cartesian acceleration, 3) Joint velocity, 4) Joint acceleration, 5) Force/torque constraints, and 6) Site tracking errors. For further details on the residual functions, please refer to the documentation of each residual function. Tuning Tips: 1) adjust the weights of the residual functions to prioritize specific constraints and 2) as a starting point, the cost of position error should be 10x that of the velocity error, and the velocity error should be 10x that of the acceleration error.
MergePointClouds Perception - 3D Point Cloud Behavior Merges a number of input point clouds into a single one. All point clouds must be expressed in the same reference frame. The input point clouds are projected onto a voxel grid with the given resolution. Each voxel produces a point in the output cloud that is the average of all input points projected on that voxel. If align_point_clouds is true, the input clouds are incrementally aligned using the Iterative Closest Point (ICP) algorithm.
ModifyObjectInPlanningScene Perception - Planning Scene Behavior Add a collision object to the planning scene.
Move Along Square Application - Basic Examples Objective Move along a square path
Move Flasks to Burners Application - Advanced Examples Objective Example of picking and placing objects with orientation constraints enforced on the arm's motion
Move to Joint State Motion - Execute Objective Plan and execute motion to a set of joint angles specified in a ROS message type.
Move to Pose Motion - Execute Objective Plan and execute motion to a Cartesian coordinate pose in a ROS message type, using inverse kinematics.
Move to Waypoint Motion - Execute Objective Plan and execute motion to a MoveIt Pro-created named Waypoint, which is saved in joint space to the file system.
MoveGripperAction Grasping Behavior Calls a control_msgs::action::GripperCommand action server that actuates the gripper to a target position using a position controller. The gripper controller uses the target velocity and effort values specified in the URDF. If the gripper is blocked by an obstacle or makes a successful grasp before reaching the target position, the Behavior will end successfully, but the gripper will continue to apply force indefinitely. This Behavior will fail to execute if the GripperCommand action server is not running.
Octomap Example Perception - 3D Point Cloud Objective Takes a snapshot of the scene camera and then updates the planning scene in RViz with an ocotomap based on the `sensors_3d.yaml` file settings.
Open Gripper Grasping Objective Open the gripper
Parallel Control Flow Control Node The ParallelNode executes all its children concurrently, but not in separate threads!Even if this may look similar to ReactiveSequence, this Control Node is the only one that can have multiple children RUNNING at the same time.The Node is completed either when the THRESHOLD_SUCCESS or THRESHOLD_FAILURE number is reached (both configured using ports). If any of the thresholds are reached, and other children are still running, they will be halted.
Pick 1 Pill Bottle Application - ML (GPU Recommended) Objective Captures and segments objects from a point cloud based on a text prompt. Then grasps the first object returned from the segmentation.
Pick All Pill Bottles Application - ML (GPU Recommended) Objective Uses ML models to repeatedly identify and grasp plan to pick up objects.
Pick And Place Example Application - Advanced Examples Objective Picks up a cube and then places it.
Pick April Tag Labeled Object Application - Advanced Examples Objective Picks up an object that has an AprilTag marker.
Pick April Tag Labeled Object With Approval Application - Advanced Examples Objective Picks up an object that has an AprilTag marker.
Pick from Pose Application - Basic Examples Objective Takes a grasp pose as input and picks up the object at that pose
Pick from Pose With Approval Application - Basic Examples Objective Takes a set of grasp poses as input and picks up the object at one of those poses. Asks for approval before executing the trajectory.
Pick object Motion - Execute Objective Opens the gripper, defines a target pose for the object and performs a motion for picking it.
Pick up Cube Application - Basic Examples Objective Pick up a cube from a manually defined location
Place Object Application - Basic Examples Objective Place an object in the gripper at a manually specified location
Place at Pose Application - Basic Examples Objective Takes a place pose as input and places the object at that pose
Place at Pose with Approval Application - Basic Examples Objective Takes a place pose as input and places the object at that pose. Asks for approval before executing the trajectory.
Plan Move To Pose Motion - Planning Objective Plan an MTC task, but do not execute it
Plan and Save Trajectory Application - Basic Examples Objective Use a series of waypoints to plan and MTC task, convert the solution to a Joint Trajectory message, and save it to disk in YAML format
PlanCartesianPath Motion - Planning Behavior Given a Cartesian-space path, plan a joint-space trajectory to move the robot tip along the path. The path to follow is given by path, which can contain waypoints in different frames. The CreateStampedPose and AddPoseStampedToVector Behaviors can be used to create the Cartesian path. The kinematics are solved for the given tip_links of the given planning group (planning_group_name). The output joint_trajectory_msg is a timed joint-space trajectory that can be checked for self and environment collisions with the ValidateTrajectory Behavior, and executed with ExecuteFollowJointTrajectory. The Behavior succeeds if the entire path could be resolved, or fails otherwise. In any case, joint_trajectory_msg is filled in with the portion of the path that could be solved. The debug_solution output port will contain an MTCSolution message that can be used with the WaitForUserTrajectoryApproval behavior for visualization. In the case multiple `tip_links` are specified, the first waypoint of the path will be used as the reference frame for all the tips, i.e. the tips will move relative to the given reference path, based on their current relative pose to that first waypoint, with tip_offset applied.
PlanMTCTask Motion - Task Planning Behavior Solve a MoveIt Task Constructor (MTC) Task to create a Solution. Given an input std::shared_ptr which was created by the InitializeMTCTask Behavior and populated with MTC Stages by other Behaviors, attempt to find a solution that connects all the Stages in the Task into a single continuous and collision-free robot trajectory. If a Solution is found, this Behavior sets it to the output data port and then performs a service request to store the Solution in the Solution Manager Node, which allows the user to explore the Solution in detail. If these processes all succeed without any errors, this Behavior exits with a SUCCESS status code. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: No Task was set to the input port. The input Task does not contain any Stages. MTC fails to initialize the Stages in the Task prior to planning the Task. MTC fails to plan the Task. An exception is thrown while planning the Task. The service request to the Solution Manager Node fails. This Behavior is derived from the AsyncBehaviorBase class defined in the moveit_studio_behavior_interface package.
PlanToJointGoal Motion - Planning Behavior Given a joint-space goal, plan a joint-space trajectory to move to the goal.
Playback Square Trajectory Application - Basic Examples Objective Loads and plays a JointTrajectory of the end-effector moving in a square trajectory.
PoseJog Motion - Execute Behavior Guarded velocity control with collision monitoring
Precondition Control Flow Decorator This node can only have 1 child.Executes its child node only if a condition is met.If the precondition is met, the child node will be run and this node will return the status returned from the child.If the precondition is not met, this node will return the BT::NodeStatus value specified in "return_on_mismatch".
PublishEmpty ROS Messaging Behavior Publish a std_msgs::msg::Empty message to a topic.
PublishMarkers Visualization Behavior Publishes a set of markers to the UI for visualization. This Behavior composes a visualization_msgs::msg::MarkerArray message which contains one or more markers of the specified type. One marker will be created for each pose that is provided. The marker scale parameter will be applied uniformly to all the markers. If all inputs are valid, this Behavior will publish the visualization_msgs::msg::MarkerArray message it creates to a ROS topic named visual_markers and then finally exit with a SUCCESS status code. If an invalid marker type is provided or the marker scale vector does not contain exactly three values, exit with a FAILURE status code.
PublishMask2D Perception - 2D Image Behavior Publishes an image with the provided vector of masks overlaid for visualization. Bounding boxes for visualization will be added if labes or detection class are provided to input ports.
PublishPointCloud Perception - 3D Point Cloud Behavior Publishes a point cloud on a ROS topic (typically used for debugging purposes).
PublishStaticFrame ROS Messaging Behavior Publishes a static transform to the tf2 buffer for use in other Behaviors and for visualization. Use the CreateStampedPose behavior to create the input pose.
PublishString ROS Messaging Behavior Publish a std_msgs::msg::String message to a topic.
PublishVelocityForceCommand Motion - Execute Behavior Publishes a velocity force command to the velocity force controller command topic at the desired rate.
Push Button Application - Advanced Examples Objective An example for how to use the VFC to move with a velocity / force reference until it collides
Push Button With a Trajectory Motion - Execute Objective An example for how to use the JTAC to execute a trajectory with compliance.
PushBackVector Vector Handling Behavior Push an element to the back of a vector.
PushToSolutionQueue Motion - Task Planning Behavior Push an MTC solution to a queue.
ReactiveFallback Control Flow Control Node The ReactiveFallback is similar to a ParallelNode. All the children are ticked from first to last:If a child returns RUNNING, continue to the next sibling.If a child returns FAILURE, continue to the next sibling.If a child returns SUCCESS, stop and return SUCCESS.If all the children fail, then this node returns FAILURE.IMPORTANT: to work properly, this node should not have more than a single asynchronous child.
ReactiveSequence Control Flow Control Node The ReactiveSequence is similar to a ParallelNode. All the children are ticked from first to last:If a child returns RUNNING, halt the remaining siblings in the sequence and return RUNNING.If a child returns SUCCESS, tick the next sibling.If a child returns FAILURE, stop and return FAILURE.If all the children return SUCCESS, this node returns SUCCESS.
ReadTextFileAsString Utility Behavior Read the contents of a text file, within your Objectives folder, into a std::string.
Record Square Trajectory Application - Advanced Examples Objective Executes a square trajectory, records it, and saved the recording to a YAML file.
Record Teleop Trajectory User Input Objective Call the start service to start recording the teleoperated trajectory. Upon calling the stop service, the trajectory will be saved to the file.
Record and Replay Scanning Motion Application - Advanced Examples Objective Build a trajectory from a series of waypoints and MTC tasks to scan the environment, then save the trajectory to disk. If the trajectory is approved, it will be saved and then executed.
RecordJointTrajectory Motion - Planning Behavior Records a JointTrajectory message being published to a topic for a given planning group. The Behavior will record joint values for a given planning group. This Behavior doesn't start recording until the start recording service is called. To stop recording, the stop recording service must be called. If the stop recording service is called before the start recording service, the Behavior will fail. It is possible to downsample the JointTrajectory based on a joint space step.
Reflect Poses Subtree Vector Handling Objective Takes a set of poses, transforms each pose around an axis, and returns the combined set.
Register CAD Part Application - Advanced Examples Objective Load an STL from disk and use registration to align the pointcloud with a matching shape in the environment
Register CAD Part Subtree Perception - 3D Point Cloud Objective Load an STL from disk and use registration to align the pointcloud with a matching shape in the environment. Return the pose of the object in the world frame.
RegisterPointClouds Perception - 3D Point Cloud Behavior Finds the pose of a target point cloud relative to the base frame of a base point cloud using the Iterative Closest Point (ICP) algorithm.
RemoveCollisionObjectFromPlanningScene Perception - Planning Scene Behavior Removes a collision object from the planning scene.
RemoveFromVector Vector Handling Behavior Remove an element from a vector at the given index. Negative indexes start backwards from the last element.
RemovePointsInBox Perception - 3D Point Cloud Behavior Given a point cloud and a box-shaped region, create a new point cloud which has the points inside the box-shaped region removed. The dimensions and size of the region to remove are defined relative to its centroid.
RemoveToolFromScene
Deprecated
Grasping Behavior DEPRECATED: Use DetachURDF or RemoveURDFFromScene instead. Detach a tool from the robot or remove it from the planning scene. The tool with the given tool_name will be detached from the robot or removed from the planning scene depending on which service is specified. If detached, the tool will no longer move with the robot and will not be considered in motion planning calculations. If removed, the tool will no longer be able to be attached to the robot until it is added to the planning scene again.
RemoveURDFFromScene Planning Scene Behavior Remove a URDF object from the planning scene. The URDF object with the given urdf_name will be removed from the planning scene. Once removed, the object will no longer be able to be attached to the robot until it is added to the planning scene again.
Repeat Control Flow Decorator This node can only have 1 child.Tick the child up to N times (within one of this decorator's ticks), where N is passed as an Input Port, as long as the child returns SUCCESS.Interrupt the loop if the child returns FAILURE and, in that case, return FAILURE too.If the child returns RUNNING, this node returns RUNNING too.WARNING: If the decorator is attached to something that will always be successful and repeats infinitely many times (`num_attempts` = -1), MoveIt Pro will deadlock. See our Behavior Tree Troubleshooting doc for more information.
ReplaceInVector Vector Handling Behavior Replace an element in a vector at the given index. Negative indexes start backwards from the last element.
Request Teleoperation User Input Objective Handles the different variations of teleoperation from the web UI, with the option of interactive user prompts and choosing the initial mode. Should be used as a subtree with port remapping as part of an another Objective.
Reset MuJoCo Sim MuJoCo Simulation Objective Reset the MuJoCo simulation to the `default` keyframe (if specified in the mujoco model).
Reset Planning Scene Perception - Planning Scene Objective Remove all runtime additions to the planning scene
ResetMujocoKeyframe MuJoCo Simulation Behavior Resets the MuJoCo simulation to a specified keyframe state. The keyframe must be defined in the MuJoCo scene model. This behavior will call a service to perform the reset operation. Service Interface: The behavior calls a ResetMujocoKeyframe service that takes the keyframe name as a request parameter.
ResetPlanningSceneObjects Perception - Planning Scene Behavior Removes all objects which were added to the planning scene during runtime.
ResetPoseStampedVector Vector Handling Behavior Reset a vector containing PoseStamped messages.
ResetVector Vector Handling Behavior Reset a vector containing BT::Any messages.
RetrieveJointStateParameter Utility Behavior Send a request to the /retrieve_joint_state service to retrieve the joint states of the robot and set the joint_state output port to the retrieved joint states. Given the name of the joint, this behavior sends a service request to the /retrieve_joint_state service which is advertised by the MoveIt Pro Parameter Manager Node. The service type is moveit_studio_agent_msgs::srv::RetrieveJointState. The joint_state output port is of type sensor_msgs::msg::JointState. If this Behavior receives a response from the service server indicating that the request succeeded, this Behavior exits with a SUCCESS status code. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: No service server is available with the specified name. If no parameter is retrieved within the provided "timeout_sec" parameter. The service response is received, but its success field is set to False. Leaving the timeout_sec input empty makes this Behavior wait indefinitely to retrieve the parameter. This Behavior is derived from the ServiceClientBehaviorBase class defined in the moveit_studio_behavior_interface package.
RetrievePoseParameter Pose Handling Behavior Send a request to the /retrieve_pose service to retrieve the pose of a target and set the pose output port to the retrieved stamped pose. Given a target pose, this behavior sends a service request to the /retrieve_pose service which is advertised by the MoveIt Pro Parameter Manager Node. The service type is moveit_studio_agent_msgs::srv::RetrievePose. The pose output port is of type geometry_msgs::msg::PoseStamped. If this Behavior receives a response from the service server indicating that the request succeeded, this Behavior exits with a SUCCESS status code. If any of the following failure states occur, this Behavior will exit with a FAILURE status code: No service server is available with the specified name. If no pose is retrieved within the provided "timeout_sec" parameter. If there is no pose stored by the MoveIt Pro parameter manager node. The service response is received, but its success field is set to False. Leaving the timeout_sec input empty makes this Behavior wait indefinitely to retrieve the parameter. This Behavior is derived from the ServiceClientBehaviorBase class defined in the moveit_studio_behavior_interface package.
RetrieveWaypoint Motion - Planning Behavior Given a named waypoint, sends a service request to the Agent WaypointManager to retrieve the joint state associated with that waypoint.
RetryUntilSuccessful Control Flow Decorator This node can only have 1 child.Tick the child up to N times, where N is passed as Input Port `num_attempts`, as long as the child returns FAILURE.Return FAILURE after the N attempts in the case that the child always returned FAILURE.Interrupt the loop if the child returns SUCCESS and, in that case, return SUCCESS too.If the child returns RUNNING, this node returns RUNNING too and the attempts will continue without incrementing on the next tick of the RetryUntilSuccessful node.WARNING: If the decorator is attached to something that will always be failure and repeats infinitely many times (`num_attempts` = -1), MoveIt Pro will deadlock. See our Behavior Tree Troubleshooting doc for more information.
ReversePoseStampedVector Vector Handling Behavior Reverses the order of a `PoseStamped` vector and stores the reversed sequence to the blackboard.
SaveCurrentState Perception - Planning Scene Behavior Use the /get_planning_scene service to save the robot's current state.
SaveHeaderToYaml YAML Handling Behavior Write a Header message given as a `std_msgs::msg::Header` message to a YAML file.
SaveImageToFile Perception - 2D Image Behavior Save the contents of an image on the blackboard to a file. Filename will follow the syntax of file_prefix_YYYYMMDD_HHMMSS.png
SaveJointTrajectoryToYaml YAML Handling Behavior Accepts a JointTrajectory ROS message object, a namespace, and a file name. Converts and saves the joint trajectory message as a YAML file in the objectives directory at the provided file name and under the provided namespace within the file.
SavePointCloudToFile Perception - 3D Point Cloud Behavior Save the contents of a point cloud on the blackboard to a pcd file using the pcl::PointXYZRGB point type. Filename will follow the syntax of file_prefix_YYYYMMDD_HHMMSS.pcd
SavePointStampedToYaml YAML Handling Behavior Write a point stamped given as a `geometry_msgs::msg::PoseStamped` message to a YAML file.
SavePoseForUrdf Utility Behavior Saves a PoseStamped in xyz rpy URDF format to file.
SavePoseStampedToYaml YAML Handling Behavior Write a pose given as a `geometry_msgs::msg::PoseStamped` message to a YAML file.
SavePoseToYaml YAML Handling Behavior Write a pose given as a `geometry_msgs::msg::Pose` message to a YAML file.
SaveQuaternionToYaml YAML Handling Behavior Write a Quaternion given as a `geometry_msgs::msg::Quaternion` message to a YAML file.
SaveTransformStampedToYaml YAML Handling Behavior Write a Transform given as a `geometry_msgs::msg::TransformStamped` message to a YAML file.
SaveTransformToYaml YAML Handling Behavior Write a Transform given as a `geometry_msgs::msg::Transform` message to a YAML file.
SaveVector3ToYaml YAML Handling Behavior Write a Vector3 given as a `geometry_msgs::msg::Vector3` message to a YAML file.
Scan Multiple Views Perception - 3D Point Cloud Objective Take multiple snapshots from the wrist camera and merge them into a single point cloud.
Script Control Flow Behavior Introduced in BT.CPP 4 to integrate scripting language within XMLAllows users to read from and write to variables in the blackboardCan perform operation like assignment, comparison, etc.
Segment Image from No Negative Text Prompt Subtree Perception - ML Objective Run text based segmentation and visualize the masks.
Segment Image from Point Subtree Perception - ML Objective Captures an image and segments it using three user provided prompt points.
Segment Image from Text Prompt Subtree Perception - ML Objective Run text based segmentation and visualize the masks.
Segment Point Cloud from Clicked Point Subtree Perception - ML Objective Captures a point cloud and requests the user to click an object in the image to be segmented. The point cloud is then filtered to only include the selected object.
Segment Point Cloud from Text Prompt Subtree Perception - ML Objective Captures a point cloud and requests the user to click an object in the image to be segmented. The point cloud is then filtered to only include the selected object.
SendPointCloudToUI Perception - 3D Point Cloud Behavior Given a point cloud, transform it to the given frame, convert it to Binary Compressed PCD format, and publish it on a topic for the UI to visualize.
Sequence Control Flow Control Node The SequenceNode is used to tick children in an ordered sequence. If any child returns RUNNING, previous children will NOT be ticked again.If all the children return SUCCESS, this node returns SUCCESS.If a child returns RUNNING, this node returns RUNNING. Loop is NOT restarted, the same running child will be ticked again.If a child returns FAILURE, stop the loop and return FAILURE. Restart the loop only if (reset_on_failure == true)
SequenceStar Control Flow Control Node The SequenceStarNode is used to tick children in an ordered sequence. If any child returns RUNNING, previous children are not ticked again.If all the children return SUCCESS, this node returns SUCCESS.If a child returns RUNNING, this node returns RUNNING. Loop is NOT restarted, the same running child will be ticked again.If a child returns FAILURE, stop the loop and return FAILURE. Loop is NOT restarted, the same running child will be ticked again.
ServoTowardsPose
Deprecated
Motion - Execute Behavior Move the tip towards the Cartesian target_pose using the specified gains and velocity limits. This Behavior is intended to be used in a Parallel node. With every tick, the error between the current tip pose (for planning_group_name) and the given target_pose is computed. That error is also the direction along which the tip has to move to decrease the error. Therefore, with every tick, this Behavior will send a twist to Servo, to move along the direction that points towards the target. The Cartesian velocity sent to Servo is proportional (with translational_gain and rotational_gain) to the distance to the target, but capped at the given max_translational_vel and max_rotational_vel translational and rotational velocities. Twist messages are published to Servo at the given publish_rate. The Behavior will run indefinitely until cancelled or until the distance to the target falls below the given exit_threshold_translation and exit_threshold_rotation in the 3D translational and rotational axes, for at least the given exit_threshold_time amount of seconds.
SetAdmittanceParameters Motion - Planning Behavior Sets admittance parameters to be used in the 'ExecuteTrajectoryWithAdmittance' Behavior. A set of parameters will be loaded from a YAML file and displayed in the UI for the user to modify. Any modifications will be stored back to the YAML file. If the given YAML file doesn't exist, a default set of parameters will be created. The parameters will be returned in an output port as an 'AdmittanceParameters' message, which can be used as input to the 'ExecuteTrajectoryWithAdmittance' Behavior (JTAC controller). Deprecated: Alternatively, this behavior can be used to set admittance parameters for a ros2_control admittance controller. In this case, 'controller_name' in the UI needs to be set to the controller to update. Parameters will be set via the parameter server and no output message will be created. This mode of operation is deprecated and only kept for compatibility with older setups that use the ros2_control admittance controller.
SetBlackboard Utility Behavior Write a value into the behavior tree blackboard.
SetupMTCApproachGrasp
Deprecated
Motion - Task Planning Behavior Given an existing MTC Task object and a target object, appends MTC stages to describe a motion plan to approach the object.This Behavior will add stage(s) that will modify the global planning scene when executed via `ExecuteMTCTask`.The stage names are: 'Allow collision (object, everything-but-the-robot)', 'Move to Pre-Approach Pose', 'allow collision 1 (hand,octomap)', 'Approach', and 'allow collision 2 (hand,octomap)'.
SetupMTCAttachObject Motion - Task Planning Behavior Given an existing MTC Task object, appends an MTC ModifyPlanningScene stage, named 'attach object () to frame ()' to attach a GraspableObject which was previously added to the planning scene. This Behavior will add stage(s) that will modify the global planning scene when executed via `ExecuteMTCTask`.
SetupMTCBatchPoseIK Motion - Task Planning Behavior Given an existing MTC Task object and a vector of poses, appends an MTC stage, named 'pose IK', to compute IK solutions for those poses.
SetupMTCCartesianMoveToJointState Motion - Task Planning Behavior Given an existing MTC Task object and a joint state, appends MTC stage, named 'cartesian plan', to describe a cartesian motion plan to that joint state.
SetupMTCCartesianSequence Motion - Task Planning Behavior Given an existing MTC Task object and a sequence of target poses, appends MTC stages to plan a sequence of cartesian motions between the poses. The stage names are: 'move to pose ', 'generate pose ', and 'pose IK '.
SetupMTCConnectWithProRRT Motion - Task Planning Behavior Append a MTC stage to connect the end state of the previous stage with the start state of the next stage using a freespace trajectory with the ProRRT planner.
SetupMTCConnectWithTrajectory
Deprecated
Motion - Task Planning Behavior Append a MTC stage to connect the end state of the previous stage with the start state of the next stage using a freespace trajectory. The planning interface to use can be chosen via the 'planner_interface' input port. The available options are 'moveit_default', 'moveit_all_planners', and 'pro_rrt'. 'moveit_default' uses the default MoveIt pipeline (OMPL RRTConnect), 'moveit_all_planners' uses all available MoveIt planners (OMPL, PILZ, STOMP), and 'pro_rrt' uses the MoveIt Pro RRTConnect planner.
SetupMTCCurrentState Motion - Task Planning Behavior Given an existing MTC Task object, appends an MTC CurrentState Stage to the Task, named 'current state'.
SetupMTCDetachObject Motion - Task Planning Behavior Given an existing MTC Task object, appends an MTC ModifyPlanningScene stage, named 'detach object () from frame ()', to detach a GraspableObject which was previously attached to a robot frame. This Behavior will add stage(s) that will modify the global planning scene when executed via `ExecuteMTCTask`.
SetupMTCFixedJointState Motion - Task Planning Behavior Given an existing MTC Task object, appends an MTC FixedJointState Stage to the Task, named 'fixed state'. Creates an MTC FixedState stage representing an expected future robot and planning scene state, and appends the stage to an MTC Task. The expected planning scene and robot states are provided through input data ports. This allows planning trajectories that do not start at the robot's current state. It is important to move the robot to the joint state used to create the FixedState stage before executing a trajectory that starts at that joint state.
SetupMTCFromSolution Motion - Task Planning Behavior Given an existing MTC Task object, appends an MTC Stage, named 'Initial state', to the Task that initializes it with the final planning scene of a given solution.
SetupMTCGenerateCuboidGrasps
Deprecated
Motion - Task Planning Behavior Given an existing MTC Task object and a target object, appends MTC stages, named 'generate pose' and, 'pose IK', to generate cuboid grasp poses.
SetupMTCGenerateVacuumGrasps
Deprecated
Motion - Task Planning Behavior Given an existing MTC Task object and a target object, appends MTC stages, named 'generate pose' and, 'pose IK', to generate vacuum grasp poses.
SetupMTCIgnoreCollisionsBetweenObjects Motion - Task Planning Behavior Add an MTC Stage, named ' collision (group of objects)', to an MTC Task that modifies the planning scene's Allowed Collision Matrix to permit or forbid collision between a set of objects while planning subsequent Stages. This Behavior will add stage(s) that will modify the global planning scene when executed via `ExecuteMTCTask`.
SetupMTCInterpolateToJointState Motion - Task Planning Behavior Given an existing MTC Task object and a joint state, appends MTC stages, named 'Interpolate to a joint state', to describe a joint-interpolated motion plan to that joint state.
SetupMTCMoveAlongFrameAxis Motion - Task Planning Behavior Given an existing MTC Task object, append a MTC MoveRelative stage, named 'Cartesian Motion', to perform a cartesian motion along an axis.
SetupMTCMoveToJointState
Deprecated
Motion - Task Planning Behavior Given an existing MTC Task object and a joint state, appends an MTC stage, named 'plan to joint state', to describe a freespace motion plan to that joint state. The planning interface to use can be chosen via the 'planner_interface' input port. The available options are 'moveit_default', 'moveit_all_planners', and 'pro_rrt'. 'moveit_default' uses the default MoveIt pipeline (OMPL RRTConnect), 'moveit_all_planners' uses all available MoveIt planners (OMPL, PILZ, STOMP), and 'pro_rrt' uses the MoveIt Pro RRTConnect planner.
SetupMTCMoveToNamedState
Deprecated
Motion - Task Planning Behavior Given an existing MTC Task object and the name of a known state, appends an MTC stage, named 'plan to named state', to describe a freespace motion plan to that state.The planning interface to use can be chosen via the 'planner_interface' input port. The available options are 'moveit_default', 'moveit_all_planners', and 'pro_rrt'.'moveit_default' uses the default MoveIt pipeline (OMPL RRTConnect), 'moveit_all_planners' uses all available MoveIt planners (OMPL, PILZ, STOMP), and 'pro_rrt' uses the MoveIt Pro RRTConnect planner.
SetupMTCMoveToPose
Deprecated
Motion - Task Planning Behavior Given an existing MTC Task object and a target pose, appends MTC stages to describe a freespace motion plan to that target pose. The planning interface to use can be chosen via the 'planner_interface' input port. The available options are 'moveit_default', 'moveit_all_planners', and 'pro_rrt'. 'moveit_default' uses the default MoveIt pipeline (OMPL RRTConnect), 'moveit_all_planners' uses all available MoveIt planners (OMPL, PILZ, STOMP), and 'pro_rrt' uses the MoveIt Pro RRTConnect planner.
SetupMTCMultiEEFMoveAlongAxis Motion - Task Planning Behavior Given an existing MTC Task object, appends MTC Stages, named 'move ', that execute cartesian motion on multiple end-effectors. Each end-effector will move in a cartesian motion along an axis defined in the given IK frame. The direction of motion is defined by the normalized vector formed by the axis_x, axis_y, and axis_z vector elements (E.g. axis_x={1.0;0.0} axis_y={0.0;0.0} and axis_z={0.0;1.0} will move the first link in the ik_frames vector along its X axis, and the second link in the ik_frames vector along its Z axis. All input vectors must be the same size!
SetupMTCPathIK Motion - Task Planning Behavior Given an existing MTC Task object, append a MTC Path IK stage, named 'Path IK', to perform a cartesian motion along a path.
SetupMTCPlanToJointState Motion - Task Planning Behavior Given an existing MTC Task object and a target pose, appends an MTC Stage, named 'plan to joint state pro rrt' to describe a freespace motion plan to that joint state using the MoveIt Pro RRTConnect planner.
SetupMTCPlanToPose Motion - Task Planning Behavior Given an existing MTC Task object and a target pose, appends MTC stages to describe a freespace motion plan to that target pose using the MoveIt Pro RRTConnect planner.
SetupMTCRetractFromGrasp
Deprecated
Motion - Task Planning Behavior Given an existing MTC Task object and a target object, appends MTC stages to describe a motion plan to retract after grasping the object.This Behavior will add stage(s) that will modify the global planning scene when executed via `ExecuteMTCTask`.The stage names are: 'allow collision 3 (hand,octomap)', 'allow collision 3 (hand,object)', 'close hand', 'Attach object', 'allow collision 3 (object, octomap)', 'Lift', 'Retreat', 'Detach object', 'forbid collision (hand,octomap)', 'forbid collision (hand,object)', and 'Remove target object from the planning scene'.
SetupMTCUpdateGroupCollisionRule Motion - Task Planning Behavior Add an MTC Stage, named ' collision (, group_name)', to an MTC Task that modifies the planning scene's Allowed Collision Matrix to permit or forbid collision between a planning scene object and the links of a named robot planning group while planning subsequent Stages. This Behavior will add stage(s) that will modify the global planning scene when executed via `ExecuteMTCTask`.
SetupMTCUpdateObjectCollisionRule Motion - Task Planning Behavior Add an MTC Stage, named ' collision (, )', to an MTC Task that makes following stages either allow or prohibit collision between a GraspableObject and another entity. The other entity can be either a named collision object in the planning scene or the links of a named robot planning group. This Behavior will add stage(s) that will modify the global planning scene when executed via `ExecuteMTCTask`.
SolveIKQueries Motion - Planning Behavior Calculate whether or not the robot's end effector can reach a list of target poses. The robot's current joint state is used as the initial random seed for determining target reachability. The target poses can be defined in any frame, as long as a transform exists between the specified frame and the robot's base frame.
SplitMTCSolution Motion - Task Planning Behavior Split an MTC Solution message in two by dividing its vector of subtrajectories at the specified index.
Stack Blocks with ICP Training Examples Objective Solution to the advanced exercise in the ICP section of the Perception & ML tutorial
Stationary Admittance Application - Advanced Examples Objective Puts the arm into Cartesian admittance mode
StopwatchBegin Utility Behavior Saves the current epoch time as a timepoint to an output data port.
StopwatchEnd Utility Behavior Log the time elapsed since a timepoint provided on an input data port.
StringToInt String Handling Behavior Convert a String to an Int
SwitchController Motion - Controls Behavior This Behavior switches controllers in a ros2_control controller manager. Given a list of controllers to activate/deactivate, a service request is dispatched to switch the active ros2_control controllers accordingly. If automatic_deactivation is set to true, the Behavior will automatically deactivate controllers that are in conflict with the ones to activate.
SwitchUIPrimaryView User Input Behavior Switches the primary view in the MoveIt Studio Developer Tool. This can be "Visualization", "Behavior Tree", or the name of any valid camera topic available in the view drop-down menu in the UI. If the view name is not available, this Behavior returns FAILURE.
Take Scene Camera Snapshot Application - Basic Examples Objective Take a pointcloud snapshot of the scene with a depth camera
Take Wrist Camera Image Perception - 2D Image Objective Loads wrist camera parameters and records color image.
Take Wrist Camera Snapshot Application - Basic Examples Objective Capture and visualise a pointcloud with the wrist camera
Teleoperate User Input Objective Handles the different variations of teleoperation from the web UI. Can be used standalone.
TeleoperateJointJog User Input Behavior This is a special Behavior to run human-in-the-loop teleoperation using MoveIt Servo through the Objective Server. When started, this Behavior will run INDEFINITELY until it is halted. This will happen either when the root node of the behavior tree is halted as the Objective is canceled, or when this Behavior's parent control node halts it. When this Behavior first transitions from IDLE to RUNNING, it starts and unpauses Servo control using the services advertised by the Servo server node. While this Behavior is RUNNING, it subscribes to JointJog command messages that originate in the user interface, and republishes these messages to the command topics advertised by the Servo server node. When this Behavior is halted, it pauses Servo control using the server's services.
TeleoperateTwist
Deprecated
User Input Behavior This is a special Behavior to run human-in-the-loop teleoperation using MoveIt Servo through the Objective Server. When started, this Behavior will run INDEFINITELY until it is halted. This will happen either when the root node of the behavior tree is halted as the Objective is canceled, or when this Behavior's parent control node halts it. When this Behavior first transitions from IDLE to RUNNING, it starts and unpauses Servo control using the services advertised by the Servo server node. While this Behavior is RUNNING, it subscribes to TwistStamped command messages that originate in the user interface, and republishes these messages to the command topics advertised by the Servo server node. When this Behavior is halted, it pauses Servo control using the server's services.
Timeout Utility Decorator Halt the child node after a given timeout.
Track Moving Frame Motion - Execute Objective Moves a given end-effector link to track a moving frame, e.g. to control the robot arm with a teleoperation device.
TransformPointCloud Perception - 3D Point Cloud Behavior Transforms a point cloud given an input pose in the same frame as the point cloud. The frame IDs of the input point cloud and transform pose must match, or this Behavior will fail. The output point cloud will similarly be with respect to this frame.
TransformPointCloudFrame Perception - 3D Point Cloud Behavior Transforms a point cloud to a target coordinate frame.
TransformPose Pose Handling Behavior Transforms a stamped pose given an input translation and orientation.
TransformPoseFrame Pose Handling Behavior Transforms a stamped pose into a different frame ID.
TransformPoseFromYaml
Deprecated
Pose Handling Behavior Transforms a stamped pose given a yaml file that contains position and orientation.
TransformPoseWithPose Pose Handling Behavior Transforms a stamped pose with a transform defined by another pose in the same frame.
UnpackAccelMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Accel message.
UnpackAccelStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::AccelStamped message.
UnpackAccelWithCovarianceMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::AccelWithCovariance message.
UnpackAccelWithCovarianceStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::AccelWithCovarianceStamped message.
UnpackAdmittanceParametersMessage Conversions Behavior Unpack behavior for a moveit_pro_controllers_msgs::msg::AdmittanceParameters message.
UnpackAgentInfoMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::AgentInfo message.
UnpackAllowedCollisionEntryMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::AllowedCollisionEntry message.
UnpackAllowedCollisionMatrixMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::AllowedCollisionMatrix message.
UnpackAttachedCollisionObjectMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::AttachedCollisionObject message.
UnpackBatteryStateMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::BatteryState message.
UnpackBehaviorParameterDescriptionMessage Conversions Behavior Unpack behavior for a moveit_studio_sdk_msgs::msg::BehaviorParameterDescription message.
UnpackBehaviorParameterMessage Conversions Behavior Unpack behavior for a moveit_studio_sdk_msgs::msg::BehaviorParameter message.
UnpackBoolMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Bool message.
UnpackBoundingVolumeMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::BoundingVolume message.
UnpackByteMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Byte message.
UnpackByteMultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::ByteMultiArray message.
UnpackCameraInfoMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::CameraInfo message.
UnpackCartesianPointMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::CartesianPoint message.
UnpackCartesianSelectionVectorMessage Conversions Behavior Unpack behavior for a moveit_pro_controllers_msgs::msg::CartesianSelectionVector message.
UnpackCartesianTrajectoryMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::CartesianTrajectory message.
UnpackCartesianTrajectoryPointMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::CartesianTrajectoryPoint message.
UnpackChannelFloat32Message Conversions Behavior Unpack behavior for a sensor_msgs::msg::ChannelFloat32 message.
UnpackCharMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Char message.
UnpackClientInfoMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::ClientInfo message.
UnpackCollisionObjectMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::CollisionObject message.
UnpackColorRGBAMessage Conversions Behavior Unpack behavior for a std_msgs::msg::ColorRGBA message.
UnpackCompressedImageMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::CompressedImage message.
UnpackConstraintEvalResultMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::ConstraintEvalResult message.
UnpackConstraintsMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::Constraints message.
UnpackContactInformationMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::ContactInformation message.
UnpackCostSourceMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::CostSource message.
UnpackDisplayRobotStateMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::DisplayRobotState message.
UnpackDisplayTrajectoryMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::DisplayTrajectory message.
UnpackDurationMessage Conversions Behavior Unpack behavior for a builtin_interfaces::msg::Duration message.
UnpackEmptyMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Empty message.
UnpackEndEffectorMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::EndEffector message.
UnpackEventMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::Event message.
UnpackFaultStatusMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::FaultStatus message.
UnpackFloat32Message Conversions Behavior Unpack behavior for a std_msgs::msg::Float32 message.
UnpackFloat32MultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Float32MultiArray message.
UnpackFloat64Message Conversions Behavior Unpack behavior for a std_msgs::msg::Float64 message.
UnpackFloat64MultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Float64MultiArray message.
UnpackFluidPressureMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::FluidPressure message.
UnpackGenericTrajectoryMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::GenericTrajectory message.
UnpackGraspInfoMessage Conversions Behavior Unpack behavior for a moveit_studio_vision_msgs::msg::GraspInfo message.
UnpackGraspMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::Grasp message.
UnpackGraspableFaceMessage Conversions Behavior Unpack behavior for a moveit_studio_vision_msgs::msg::GraspableFace message.
UnpackGraspableObjectMessage Conversions Behavior Unpack behavior for a moveit_studio_vision_msgs::msg::GraspableObject message.
UnpackGripperTranslationMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::GripperTranslation message.
UnpackHeaderMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Header message.
UnpackIlluminanceMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::Illuminance message.
UnpackImageMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::Image message.
UnpackImuMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::Imu message.
UnpackInertiaMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Inertia message.
UnpackInertiaStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::InertiaStamped message.
UnpackInt16Message Conversions Behavior Unpack behavior for a std_msgs::msg::Int16 message.
UnpackInt16MultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Int16MultiArray message.
UnpackInt32Message Conversions Behavior Unpack behavior for a std_msgs::msg::Int32 message.
UnpackInt32MultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Int32MultiArray message.
UnpackInt64Message Conversions Behavior Unpack behavior for a std_msgs::msg::Int64 message.
UnpackInt64MultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Int64MultiArray message.
UnpackInt8Message Conversions Behavior Unpack behavior for a std_msgs::msg::Int8 message.
UnpackInt8MultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::Int8MultiArray message.
UnpackJointConstraintMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::JointConstraint message.
UnpackJointLimitsMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::JointLimits message.
UnpackJointStateMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::JointState message.
UnpackJointTrajectoryMessage Conversions Behavior Unpack behavior for a trajectory_msgs::msg::JointTrajectory message.
UnpackJointTrajectoryPointMessage Conversions Behavior Unpack behavior for a trajectory_msgs::msg::JointTrajectoryPoint message.
UnpackJointVelocityControllerStateMessage Conversions Behavior Unpack behavior for a moveit_pro_controllers_msgs::msg::JointVelocityControllerState message.
UnpackJoyFeedbackArrayMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::JoyFeedbackArray message.
UnpackJoyFeedbackMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::JoyFeedback message.
UnpackJoyMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::Joy message.
UnpackJsonMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::Json message.
UnpackKinematicSolverInfoMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::KinematicSolverInfo message.
UnpackLaserEchoMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::LaserEcho message.
UnpackLaserScanMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::LaserScan message.
UnpackLicenseInfoMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::LicenseInfo message.
UnpackLinkPaddingMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::LinkPadding message.
UnpackLinkScaleMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::LinkScale message.
UnpackLogMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::Log message.
UnpackMagneticFieldMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::MagneticField message.
UnpackMask2DMessage Conversions Behavior Unpack behavior for a moveit_studio_vision_msgs::msg::Mask2D message.
UnpackMask3DMessage Conversions Behavior Unpack behavior for a moveit_studio_vision_msgs::msg::Mask3D message.
UnpackMotionPlanDetailedResponseMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::MotionPlanDetailedResponse message.
UnpackMotionPlanRequestMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::MotionPlanRequest message.
UnpackMotionPlanResponseMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::MotionPlanResponse message.
UnpackMotionSequenceItemMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::MotionSequenceItem message.
UnpackMotionSequenceRequestMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::MotionSequenceRequest message.
UnpackMotionSequenceResponseMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::MotionSequenceResponse message.
UnpackMoveItErrorCodesMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::MoveItErrorCodes message.
UnpackMtcTaskDataMessage Conversions Behavior Unpack behavior for a moveit_studio_internal_msgs::msg::MtcTaskData message.
UnpackMultiArrayDimensionMessage Conversions Behavior Unpack behavior for a std_msgs::msg::MultiArrayDimension message.
UnpackMultiArrayLayoutMessage Conversions Behavior Unpack behavior for a std_msgs::msg::MultiArrayLayout message.
UnpackMultiDOFJointStateMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::MultiDOFJointState message.
UnpackMultiDOFJointTrajectoryMessage Conversions Behavior Unpack behavior for a trajectory_msgs::msg::MultiDOFJointTrajectory message.
UnpackMultiDOFJointTrajectoryPointMessage Conversions Behavior Unpack behavior for a trajectory_msgs::msg::MultiDOFJointTrajectoryPoint message.
UnpackMultiEchoLaserScanMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::MultiEchoLaserScan message.
UnpackNavSatFixMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::NavSatFix message.
UnpackNavSatStatusMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::NavSatStatus message.
UnpackObjectColorMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::ObjectColor message.
UnpackObjectDetectionArrayMessage Conversions Behavior Unpack behavior for a moveit_studio_vision_msgs::msg::ObjectDetectionArray message.
UnpackObjectDetectionMessage Conversions Behavior Unpack behavior for a moveit_studio_vision_msgs::msg::ObjectDetection message.
UnpackObjectSubframeMessage Conversions Behavior Unpack behavior for a moveit_studio_vision_msgs::msg::ObjectSubframe message.
UnpackObjectiveServerStatusMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::ObjectiveServerStatus message.
UnpackOrientationConstraintMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::OrientationConstraint message.
UnpackOrientedBoundingBoxMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::OrientedBoundingBox message.
UnpackPipelineStateMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::PipelineState message.
UnpackPlaceLocationMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::PlaceLocation message.
UnpackPlannerInterfaceDescriptionMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::PlannerInterfaceDescription message.
UnpackPlannerParamsMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::PlannerParams message.
UnpackPlanningGroupMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::PlanningGroup message.
UnpackPlanningOptionsMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::PlanningOptions message.
UnpackPlanningSceneComponentsMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::PlanningSceneComponents message.
UnpackPlanningSceneMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::PlanningScene message.
UnpackPlanningSceneWorldMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::PlanningSceneWorld message.
UnpackPoint32Message Conversions Behavior Unpack behavior for a geometry_msgs::msg::Point32 message.
UnpackPointCloud2Message Conversions Behavior Unpack behavior for a sensor_msgs::msg::PointCloud2 message.
UnpackPointCloudMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::PointCloud message.
UnpackPointCloudPCDMessage Conversions Behavior Unpack behavior for a moveit_studio_vision_msgs::msg::PointCloudPCD message.
UnpackPointFieldMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::PointField message.
UnpackPointMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Point message.
UnpackPointStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::PointStamped message.
UnpackPolygonMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Polygon message.
UnpackPolygonStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::PolygonStamped message.
UnpackPose2DMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Pose2D message.
UnpackPoseArrayMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::PoseArray message.
UnpackPoseMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Pose message.
UnpackPoseStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::PoseStamped message.
UnpackPoseWithCovarianceMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::PoseWithCovariance message.
UnpackPoseWithCovarianceStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::PoseWithCovarianceStamped message.
UnpackPositionConstraintMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::PositionConstraint message.
UnpackPositionIKRequestMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::PositionIKRequest message.
UnpackQuaternionMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Quaternion message.
UnpackQuaternionStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::QuaternionStamped message.
UnpackRangeMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::Range message.
UnpackRegionOfInterestMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::RegionOfInterest message.
UnpackRelativeHumidityMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::RelativeHumidity message.
UnpackRequestStatusMessage Conversions Behavior Unpack behavior for a moveit_studio_sdk_msgs::msg::RequestStatus message.
UnpackRobotJointStateMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::RobotJointState message.
UnpackRobotStateMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::RobotState message.
UnpackRobotTrajectoryMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::RobotTrajectory message.
UnpackServoStatusMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::ServoStatus message.
UnpackStringMessage Conversions Behavior Unpack behavior for a std_msgs::msg::String message.
UnpackTF2ErrorMessage Conversions Behavior Unpack behavior for a tf2_msgs::msg::TF2Error message.
UnpackTFMessageMessage Conversions Behavior Unpack behavior for a tf2_msgs::msg::TFMessage message.
UnpackTeleoperationModeMessage Conversions Behavior Unpack behavior for a moveit_studio_sdk_msgs::msg::TeleoperationMode message.
UnpackTemperatureMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::Temperature message.
UnpackTimeMessage Conversions Behavior Unpack behavior for a builtin_interfaces::msg::Time message.
UnpackTimeReferenceMessage Conversions Behavior Unpack behavior for a sensor_msgs::msg::TimeReference message.
UnpackTrajectoryConstraintsMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::TrajectoryConstraints message.
UnpackTransformMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Transform message.
UnpackTransformStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::TransformStamped message.
UnpackTwistMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Twist message.
UnpackTwistStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::TwistStamped message.
UnpackTwistWithCovarianceMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::TwistWithCovariance message.
UnpackTwistWithCovarianceStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::TwistWithCovarianceStamped message.
UnpackUInt16Message Conversions Behavior Unpack behavior for a std_msgs::msg::UInt16 message.
UnpackUInt16MultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::UInt16MultiArray message.
UnpackUInt32Message Conversions Behavior Unpack behavior for a std_msgs::msg::UInt32 message.
UnpackUInt32MultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::UInt32MultiArray message.
UnpackUInt64Message Conversions Behavior Unpack behavior for a std_msgs::msg::UInt64 message.
UnpackUInt64MultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::UInt64MultiArray message.
UnpackUInt8Message Conversions Behavior Unpack behavior for a std_msgs::msg::UInt8 message.
UnpackUInt8MultiArrayMessage Conversions Behavior Unpack behavior for a std_msgs::msg::UInt8MultiArray message.
UnpackVector3Message Conversions Behavior Unpack behavior for a geometry_msgs::msg::Vector3 message.
UnpackVector3StampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Vector3Stamped message.
UnpackVelocityForceCommandMessage Conversions Behavior Unpack behavior for a moveit_pro_controllers_msgs::msg::VelocityForceCommand message.
UnpackVelocityForceControllerStateMessage Conversions Behavior Unpack behavior for a moveit_pro_controllers_msgs::msg::VelocityForceControllerState message.
UnpackVelocityStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::VelocityStamped message.
UnpackVisibilityConstraintMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::VisibilityConstraint message.
UnpackWaypointMessage Conversions Behavior Unpack behavior for a moveit_studio_agent_msgs::msg::Waypoint message.
UnpackWorkspaceParametersMessage Conversions Behavior Unpack behavior for a moveit_msgs::msg::WorkspaceParameters message.
UnpackWrenchMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::Wrench message.
UnpackWrenchStampedMessage Conversions Behavior Unpack behavior for a geometry_msgs::msg::WrenchStamped message.
UpdatePlanningSceneService Perception - 3D Point Cloud Behavior Updates the planning scene's collision octree using the provided point cloud, and waits until the octree has finished updating.
ValidateTrajectory Motion - Planning Behavior Checks if a joint trajectory is valid, given a model of the scene. This Behavior checks that `joint_trajectory_msg` is collision-free at a given density (`joint_space_step` and `cartesian_space_step`). The model of the scene is constructed from the contents of `planning_scene_msg`. Use the `GetCurrentPlanningScene` Behavior to obtain the current scene model around the robot. The Behavior succeeds if the trajectory is valid on the given scene, or fails otherwise. If any case, the `debug_solution` output port will contain an MTCSolution message that can be used with the `WaitForUserTrajectoryApproval' Behavior for visualization.
Vector Subtrees Example Vector Handling Objective Demonstrates CreateVector, AddToVector, and Find Nearest Pose in Path subtree Objectives. Requires ConverterBehaviorsLoader.
Vector and String Example Vector Handling Objective Showcases creating, inserting, replacing, and removing strings from a vector, as well as reading strings from file and publishing them to ROS.
Visualize Segmented Point Cloud Perception - ML Objective Publish segmented point cloud to the UI.
VisualizeMesh Visualization Behavior Publishes a marker that contains a mesh path to the UI for visualization. This Behavior composes a visualization_msgs::msg::Marker message which contains the path to the mesh to visualize. If all inputs are valid, this Behavior will publish the visualization_msgs::msg::Marker message it creates to a ROS topic named moveit_pro/mesh_publisher and then finally exit with a SUCCESS status code. Note: To view the marker in RViz, the mesh_path must be prepended with and relative to package://package_name/.
VisualizePath Visualization Behavior Visualizes a path, given as a vector of stamped poses.
VisualizePose Visualization Behavior Visualizes a pose, given as a PoseStamped message.
Wait for Trajectory Approval if User Available User Input Objective Preview a shared pointer to an MTC Solution object via an input data port if a user is available.
WaitAndPopSolutionQueue Motion - Task Planning Behavior Wait for an MTC solution queue to contain values, pop queue and write the next solution to output port.
WaitForDuration Utility Behavior Wait for a specified duration before succeeding.
WaitForUserTrajectoryApproval User Input Behavior Takes a shared pointer to an MTC Solution object via an input data port, and publishes the lowest-cost trajectory in that Solution on the "/preview_solution" topic. Creates a SetBool service server on the "/execute_behavior_solution" topic and waits to receive a request containing data: true before succeeding. Visualizes the cartesian path for each valid input link name with a green line while waiting.
WhichObjectIsAttached Perception - Planning Scene Behavior Checks a PlanningScene to determine if an object is attached from a given vector of object names.
WhileDoElse Control Flow Control Node WhileDoElse must have exactly 2 or 3 children. It is a REACTIVE node of IfThenElseNode.The first child is the "statement" that is executed at each tickIf result is SUCCESS, the second child is executed.If result is FAILURE, the third child is executed.If the 2nd or 3d child is RUNNING and the statement changes, the RUNNING child will be stopped before starting the sibling.
WriteCalibratedPoseToYaml
Deprecated
YAML Handling Behavior Write pose (x,y,z, roll, pitch, yaw) to YAML file. This behavior is meant to be called after the Calibrate Pose Action. Note: The behavior saves the calibrated_pose into the ~/.config/moveit_studio/calibration folder
_Scan Scene Uncategorized Objective Move robot out of scene to enable full snapshot of scene.
show grasp_link Application - Advanced Examples Objective