MTC
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
moveit::task_constructor::stages::Connect Class Reference

#include <connect.h>

Inheritance diagram for moveit::task_constructor::stages::Connect:
Inheritance graph
[legend]
Collaboration diagram for moveit::task_constructor::stages::Connect:
Collaboration graph
[legend]

Public Types

enum  MergeMode : uint8_t { SEQUENTIAL = 0 , WAYPOINTS = 1 }
 
using GroupPlannerVector = std::vector< std::pair< std::string, solvers::PlannerInterfacePtr > >
 
- Public Types inherited from moveit::task_constructor::Stage
enum  PropertyInitializerSource : uint8_t { DEFAULT = 0 , MANUAL = 1 , PARENT = 2 , INTERFACE = 4 }
 
using pointer = std::unique_ptr< Stage >
 
using SolutionCallback = std::function< void(const SolutionBase &)>
 
using SolutionCallbackList = std::list< SolutionCallback >
 

Public Member Functions

 Connect (const std::string &name="connect", const GroupPlannerVector &planners={})
 
void setMaxDistance (double max_distance)
 
void setPathConstraints (moveit_msgs::Constraints path_constraints)
 
void reset () override
 reset stage, clearing all solutions, interfaces, inherited properties.
 
void init (const moveit::core::RobotModelConstPtr &robot_model) override
 
void compute (const InterfaceState &from, const InterfaceState &to) override
 
- Public Member Functions inherited from moveit::task_constructor::Connecting
 Connecting (const std::string &name="connecting")
 
- Public Member Functions inherited from moveit::task_constructor::Stage
const ContainerBaseparent () const
 
const std::string & name () const
 
void setName (const std::string &name)
 
uint32_t introspectionId () const
 
Introspectionintrospection () const
 
void setTimeout (double timeout)
 
double timeout () const
 timeout of stage per computation
 
void setMarkerNS (const std::string &marker_ns)
 
const std::string & markerNS ()
 marker namespace of solution markers
 
void setTrajectoryExecutionInfo (TrajectoryExecutionInfo trajectory_execution_info)
 Set and get info to use when executing the stage's trajectory.
 
TrajectoryExecutionInfo trajectoryExecutionInfo () const
 
void forwardProperties (const InterfaceState &source, InterfaceState &dest)
 forwarding of properties between interface states
 
std::set< std::string > forwardedProperties () const
 
void setForwardedProperties (const std::set< std::string > &names)
 
SolutionCallbackList::const_iterator addSolutionCallback (SolutionCallback &&cb)
 add function to be called for every newly found solution or failure
 
void removeSolutionCallback (SolutionCallbackList::const_iterator which)
 remove function callback
 
void setCostTerm (const CostTermConstPtr &term)
 
template<typename T , typename = std::enable_if_t<std::is_constructible<LambdaCostTerm, T>::value>>
void setCostTerm (T term)
 
const ordered< SolutionBaseConstPtr > & solutions () const
 
const std::list< SolutionBaseConstPtr > & failures () const
 
size_t numFailures () const
 
void silentFailure ()
 Call to increase number of failures w/o storing a (failure) trajectory.
 
bool storeFailures () const
 Should we generate failure solutions? Note: Always report a failure!
 
virtual bool explainFailure (std::ostream &) const
 
PropertyMapproperties ()
 Get the stage's property map.
 
const PropertyMapproperties () const
 
void setProperty (const std::string &name, const boost::any &value)
 Set a previously declared property to a new value.
 
void setProperty (const std::string &name, const char *value)
 overload: const char* values are stored as std::string
 
void reportPropertyError (const Property::error &e)
 Analyze source of error and report accordingly.
 
double getTotalComputeTime () const
 

Protected Member Functions

bool compatible (const InterfaceState &from_state, const InterfaceState &to_state) const override
 compare consistency of planning scenes
 
SolutionSequencePtr makeSequential (const std::vector< robot_trajectory::RobotTrajectoryConstPtr > &sub_trajectories, const std::vector< planning_scene::PlanningSceneConstPtr > &intermediate_scenes, const InterfaceState &from, const InterfaceState &to)
 
SubTrajectoryPtr merge (const std::vector< robot_trajectory::RobotTrajectoryConstPtr > &sub_trajectories, const std::vector< planning_scene::PlanningSceneConstPtr > &intermediate_scenes, const moveit::core::RobotState &state)
 
- Protected Member Functions inherited from moveit::task_constructor::Connecting
void connect (const InterfaceState &from, const InterfaceState &to, const SolutionBasePtr &solution)
 register solution as a solution connecting states from -> to
 
void connect (const InterfaceState &from, const InterfaceState &to, SubTrajectory &&trajectory)
 convienency methods consuming a SubTrajectory
 
void connect (const InterfaceState &from, const InterfaceState &to, SubTrajectory &&trajectory, double cost)
 
- Protected Member Functions inherited from moveit::task_constructor::ComputeBase
 ComputeBase (ComputeBasePrivate *impl)
 ComputeBase can only be instantiated by derived classes in stage.cpp.
 
- Protected Member Functions inherited from moveit::task_constructor::Stage
 Stage (StagePrivate *impl)
 Stage can only be instantiated through derived classes.
 
 Stage (const Stage &)=delete
 Stage cannot be copied.
 

Protected Attributes

GroupPlannerVector planner_
 
moveit::core::JointModelGroupPtr merged_jmg_
 
std::list< SubTrajectorysubsolutions_
 
std::list< InterfaceStatestates_
 
- Protected Attributes inherited from moveit::task_constructor::Stage
StagePrivate * pimpl_
 

Detailed Description

Connect arbitrary InterfaceStates by motion planning

The states may differ in various planning groups. To connect both states, the planners provided for individual sub groups are applied in the specified order. Each planner only plan for joints within the corresponding planning group. Finally, an attempt is made to merge the sub trajectories of individual planning results. If this fails, the sequential planning result is returned.

Member Function Documentation

◆ init()

void moveit::task_constructor::stages::Connect::init ( const moveit::core::RobotModelConstPtr &  robot_model)
overridevirtual

initialize stage once before planning

When called, properties configured for initialization from parent are already defined. Push interfaces are not yet defined!

Reimplemented from moveit::task_constructor::Stage.


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