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

Append an MTC ModifyPlanningScene stage that allows or forbids collisions between two entities during MTC task execution. More...

#include <setup_mtc_set_collision_rule.hpp>

Inheritance diagram for moveit_pro::behaviors::SetupMTCSetCollisionRule:
Collaboration diagram for moveit_pro::behaviors::SetupMTCSetCollisionRule:

Public Member Functions

 SetupMTCSetCollisionRule (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 kPortIDNameA = "name_a"
 
static constexpr auto kPortIDNameB = "name_b"
 
static constexpr auto kPortIDAllowCollision = "allow_collision"
 

Detailed Description

Append an MTC ModifyPlanningScene stage that allows or forbids collisions between two entities during MTC task execution.

MTC stage equivalent of SetCollisionRule, providing one uniform string-based interface for collision rules between planning groups, collision objects, and robot links.

Each of name_a and name_b is resolved when the task is planned, against the planning scene the planner has built at this stage, as one of three categories: planning group, collision object id, and robot link. A planning group expands to its links with collision geometry; an ambiguous name (matches more than one category) fails planning, as does a name that matches none.

Data Port Name Port Type Object Type
task Bidirectional std::shared_ptr<moveit_pro::task_constructor::Task>
name_a Input std::string
name_b Input std::string
allow_collision Input bool

Constructor & Destructor Documentation

◆ SetupMTCSetCollisionRule()

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

Member Function Documentation

◆ metadata()

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

◆ providedPorts()

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

◆ tick()

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

Member Data Documentation

◆ kPortIDAllowCollision

constexpr auto moveit_pro::behaviors::SetupMTCSetCollisionRule::kPortIDAllowCollision = "allow_collision"
staticconstexpr

◆ kPortIDNameA

constexpr auto moveit_pro::behaviors::SetupMTCSetCollisionRule::kPortIDNameA = "name_a"
staticconstexpr

◆ kPortIDNameB

constexpr auto moveit_pro::behaviors::SetupMTCSetCollisionRule::kPortIDNameB = "name_b"
staticconstexpr

◆ kPortIDTask

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

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