MoveIt Pro API
Core Behaviors for MoveIt Pro
Loading...
Searching...
No Matches
moveit_pro::behaviors::SetupMTCAttachObjectByID Class Referencefinal

Append an MTC ModifyPlanningScene stage that attaches a collision object to a robot link during MTC task execution. More...

#include <setup_mtc_attach_object_by_id.hpp>

Inheritance diagram for moveit_pro::behaviors::SetupMTCAttachObjectByID:
Collaboration diagram for moveit_pro::behaviors::SetupMTCAttachObjectByID:

Public Member Functions

 SetupMTCAttachObjectByID (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 
BT::NodeStatus tick () override
 
- Public Member Functions inherited from moveit_pro::behaviors::SharedResourcesNode< BT::SyncActionNode >
 SharedResourcesNode (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Constructor for SharedResourcesNode. Called by BT::BehaviorTreeFactory when creating a new behavior tree containing this node.
 

Static Public Member Functions

static BT::PortsList providedPorts ()
 
static BT::KeyValueVector metadata ()
 

Static Public Attributes

static constexpr auto kPortIDTask = "task"
 
static constexpr auto kPortIDObjectId = "object_id"
 
static constexpr auto kPortIDLinkName = "link_name"
 
static constexpr auto kPortIDAllowedCollisionLinks = "allowed_collision_links"
 
static constexpr auto kPortIDRelativeTransform = "relative_transform"
 

Additional Inherited Members

- Protected Attributes inherited from moveit_pro::behaviors::SharedResourcesNode< BT::SyncActionNode >
std::shared_ptr< BehaviorContextshared_resources_
 

Detailed Description

Append an MTC ModifyPlanningScene stage that attaches a collision object to a robot link during MTC task execution.

MTC stage equivalent of AttachObject, taking a plain object_id. The Behavior only appends the stage at Behavior-tick time; the scene change happens later, when MTC's planner executes the task.

By default the object is attached at its current pose relative to the link. Wire relative_transform (the object origin frame expressed in the link frame, link_T_object) to attach it at a fixed pose instead. The object must be a world collision object in the scene when the task is planned, or planning fails; an object that is already attached is not re-posed.

Data Port Name Port Type Object Type
task Bidirectional std::shared_ptr<moveit_pro::task_constructor::Task>
object_id Input std::string
link_name Input std::string
allowed_collision_links Input std::vector<std::string>
relative_transform Input geometry_msgs::msg::Transform

Constructor & Destructor Documentation

◆ SetupMTCAttachObjectByID()

moveit_pro::behaviors::SetupMTCAttachObjectByID::SetupMTCAttachObjectByID ( const std::string &  name,
const BT::NodeConfiguration &  config,
const std::shared_ptr< BehaviorContext > &  shared_resources 
)

Member Function Documentation

◆ metadata()

BT::KeyValueVector moveit_pro::behaviors::SetupMTCAttachObjectByID::metadata ( )
static

◆ providedPorts()

BT::PortsList moveit_pro::behaviors::SetupMTCAttachObjectByID::providedPorts ( )
static

◆ tick()

BT::NodeStatus moveit_pro::behaviors::SetupMTCAttachObjectByID::tick ( )
override

Member Data Documentation

◆ kPortIDAllowedCollisionLinks

constexpr auto moveit_pro::behaviors::SetupMTCAttachObjectByID::kPortIDAllowedCollisionLinks = "allowed_collision_links"
staticconstexpr

◆ kPortIDLinkName

constexpr auto moveit_pro::behaviors::SetupMTCAttachObjectByID::kPortIDLinkName = "link_name"
staticconstexpr

◆ kPortIDObjectId

constexpr auto moveit_pro::behaviors::SetupMTCAttachObjectByID::kPortIDObjectId = "object_id"
staticconstexpr

◆ kPortIDRelativeTransform

constexpr auto moveit_pro::behaviors::SetupMTCAttachObjectByID::kPortIDRelativeTransform = "relative_transform"
staticconstexpr

◆ kPortIDTask

constexpr auto moveit_pro::behaviors::SetupMTCAttachObjectByID::kPortIDTask = "task"
staticconstexpr

The documentation for this class was generated from the following files: