moveit2
The MoveIt Motion Planning Framework for ROS 2.
Public Member Functions | Protected Attributes | List of all members
moveit::hybrid_planning::PlannerLogicInterface Class Referenceabstract

#include <planner_logic_interface.h>

Inheritance diagram for moveit::hybrid_planning::PlannerLogicInterface:
Inheritance graph
[legend]

Public Member Functions

 PlannerLogicInterface ()=default
 
 PlannerLogicInterface (const PlannerLogicInterface &)=default
 
 PlannerLogicInterface (PlannerLogicInterface &&)=default
 
PlannerLogicInterfaceoperator= (const PlannerLogicInterface &)=default
 
PlannerLogicInterfaceoperator= (PlannerLogicInterface &&)=default
 
virtual ~PlannerLogicInterface ()=default
 
virtual bool initialize (const std::shared_ptr< HybridPlanningManager > &hybrid_planning_manager)=0
 
virtual ReactionResult react (const HybridPlanningEvent &event)=0
 
virtual ReactionResult react (const std::string &event)=0
 

Protected Attributes

std::shared_ptr< HybridPlanningManagerhybrid_planning_manager_ = nullptr
 

Detailed Description

Class PlannerLogicInterface - Base class for a planner logic. The logic defines how to react to different events that occur during hybrid planning. Events can be triggered by callback functions of the hybrid planning manager's ROS 2 interfaces or timers. They are encoded either inside an enum class or as a string to easily include custom events.

Definition at line 104 of file planner_logic_interface.h.

Constructor & Destructor Documentation

◆ PlannerLogicInterface() [1/3]

moveit::hybrid_planning::PlannerLogicInterface::PlannerLogicInterface ( )
default

◆ PlannerLogicInterface() [2/3]

moveit::hybrid_planning::PlannerLogicInterface::PlannerLogicInterface ( const PlannerLogicInterface )
default

◆ PlannerLogicInterface() [3/3]

moveit::hybrid_planning::PlannerLogicInterface::PlannerLogicInterface ( PlannerLogicInterface &&  )
default

◆ ~PlannerLogicInterface()

virtual moveit::hybrid_planning::PlannerLogicInterface::~PlannerLogicInterface ( )
virtualdefault

Member Function Documentation

◆ initialize()

virtual bool moveit::hybrid_planning::PlannerLogicInterface::initialize ( const std::shared_ptr< HybridPlanningManager > &  hybrid_planning_manager)
pure virtual

Initialize the planner logic

Parameters
hybrid_planning_managerThe hybrid planning manager instance to initialize this logic with.
Returns
true if initialization was successful

Implemented in moveit::hybrid_planning::SinglePlanExecution.

◆ operator=() [1/2]

PlannerLogicInterface& moveit::hybrid_planning::PlannerLogicInterface::operator= ( const PlannerLogicInterface )
default

◆ operator=() [2/2]

PlannerLogicInterface& moveit::hybrid_planning::PlannerLogicInterface::operator= ( PlannerLogicInterface &&  )
default

◆ react() [1/2]

virtual ReactionResult moveit::hybrid_planning::PlannerLogicInterface::react ( const HybridPlanningEvent event)
pure virtual

React to event defined in HybridPlanningEvent enum

Parameters
eventBasic hybrid planning event
Returns
Reaction result that summarizes the outcome of the reaction

Implemented in moveit::hybrid_planning::SinglePlanExecution.

◆ react() [2/2]

virtual ReactionResult moveit::hybrid_planning::PlannerLogicInterface::react ( const std::string &  event)
pure virtual

React to custom event

Parameters
eventEncoded as string
Returns
Reaction result that summarizes the outcome of the reaction

Implemented in moveit::hybrid_planning::SinglePlanExecution, and moveit::hybrid_planning::ReplanInvalidatedTrajectory.

Member Data Documentation

◆ hybrid_planning_manager_

std::shared_ptr<HybridPlanningManager> moveit::hybrid_planning::PlannerLogicInterface::hybrid_planning_manager_ = nullptr
protected

Definition at line 137 of file planner_logic_interface.h.


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