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

Append an MTC ModifyPlanningScene stage that adds a box-shaped collision object to the planning scene during MTC task execution. More...

#include <setup_mtc_add_collision_box.hpp>

Inheritance diagram for moveit_pro::behaviors::SetupMTCAddCollisionBox:
Collaboration diagram for moveit_pro::behaviors::SetupMTCAddCollisionBox:

Public Member Functions

 SetupMTCAddCollisionBox (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 > &behavior_context)
 Constructor for SharedResourcesNode. Called by BT::BehaviorTreeFactory when creating a new behavior tree containing this node.
 
const std::shared_ptr< BehaviorContext > & getBehaviorContext () const
 

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 kPortIDDimensions = "dimensions"
 
static constexpr auto kPortIDPose = "pose"
 
static constexpr auto kPortIDOverwrite = "overwrite"
 

Detailed Description

Append an MTC ModifyPlanningScene stage that adds a box-shaped collision object to the planning scene during MTC task execution.

MTC stage equivalent of AddCollisionBox. The Behavior runs at Behavior-tick time and only appends the stage; the actual scene change happens later, when MTC's planner executes the task. There is no planning_scene port: MTC stages do not have access to a runtime scene at construction time, so the only sink is the task. By default the stage fails to plan when a world object with the same id already exists in the planned scene; set overwrite to true to replace it instead. That check runs against the MTC pipeline scene, never the live scene.

Data Port Name Port Type Object Type
task Bidirectional std::shared_ptr<moveit_pro::task_constructor::Task>
object_id Input std::string
dimensions Input std::vector<double>
pose Input geometry_msgs::msg::PoseStamped
overwrite Input bool

Constructor & Destructor Documentation

◆ SetupMTCAddCollisionBox()

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

Member Function Documentation

◆ metadata()

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

◆ providedPorts()

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

◆ tick()

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

Member Data Documentation

◆ kPortIDDimensions

constexpr auto moveit_pro::behaviors::SetupMTCAddCollisionBox::kPortIDDimensions = "dimensions"
staticconstexpr

◆ kPortIDObjectId

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

◆ kPortIDOverwrite

constexpr auto moveit_pro::behaviors::SetupMTCAddCollisionBox::kPortIDOverwrite = "overwrite"
staticconstexpr

◆ kPortIDPose

constexpr auto moveit_pro::behaviors::SetupMTCAddCollisionBox::kPortIDPose = "pose"
staticconstexpr

◆ kPortIDTask

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

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