moveit2
The MoveIt Motion Planning Framework for ROS 2.
Classes | Typedefs | Enumerations | Functions | Variables
moveit_setup::srdf_setup Namespace Reference

Classes

class  CollisionLinearModel
 
class  SortFilterProxyModel
 
class  CollisionMatrixModel
 
struct  LinkPairData
 Store details on a pair of links. More...
 
class  DefaultCollisions
 
class  DefaultCollisionsWidget
 User interface for editing the default collision matrix list in an SRDF. More...
 
class  MonitorThread
 QThread to monitor progress of the setup step. More...
 
class  EndEffectors
 
class  EndEffectorsWidget
 
class  GroupEditWidget
 
struct  GroupMetaData
 
class  GroupMetaConfig
 
class  KinematicChainWidget
 
class  PassiveJoints
 
class  PassiveJointsWidget
 
class  LinkNameTree
 
class  PlanningGroups
 
class  PlanningGroupsWidget
 
class  PlanGroupType
 
class  RobotPoses
 
class  RobotPosesWidget
 
class  SliderWidget
 
class  RotatedHeaderView
 
class  SRDFStep
 Setup Step that contains the SRDFConfig. More...
 
class  SuperSRDFStep
 This class provides a number of standard operations based on srdf's vector members. More...
 
class  VirtualJoints
 
class  VirtualJointsWidget
 
struct  ThreadComputation
 
struct  CycleDetector
 

Typedefs

typedef std::map< std::pair< std::string, std::string >, LinkPairDataLinkPairMap
 LinkPairMap is an adjacency list structure containing links in string-based form. Used for disabled links. More...
 
typedef std::set< std::pair< std::string, std::string > > StringPairSet
 
typedef std::map< const moveit::core::LinkModel *, std::set< const moveit::core::LinkModel * > > LinkGraph
 

Enumerations

enum  DisabledReason {
  NEVER , DEFAULT , ADJACENT , ALWAYS ,
  USER , NOT_DISABLED
}
 Reasons for disabling link pairs. Append "in collision" for understanding. NOT_DISABLED means the link pair DOES do self collision checking. More...
 
enum  GroupType {
  JOINT = 1 , LINK = 2 , CHAIN = 3 , SUBGROUP = 4 ,
  GROUP = 5
}
 

Functions

LinkPairMap computeDefaultCollisions (const planning_scene::PlanningSceneConstPtr &parent_scene, unsigned int *progress, const bool include_never_colliding, const unsigned int trials, const double min_collision_faction, const bool verbose)
 Generate an adjacency list of links that are always and never in collision, to speed up collision detection. More...
 
void computeLinkPairs (const planning_scene::PlanningScene &scene, LinkPairMap &link_pairs)
 Generate a list of unique link pairs for all links with geometry. Order pairs alphabetically. n choose 2 pairs. More...
 
const std::string disabledReasonToString (DisabledReason reason)
 Converts a reason for disabling a link pair into a string. More...
 
DisabledReason disabledReasonFromString (const std::string &reason)
 Converts a string reason for disabling a link pair into a struct data type. More...
 
LinkNameTree buildLinkNameTree (const moveit::core::LinkModel *link)
 
bool compareVariants (const QVariant &left, const QVariant &right)
 

Variables

const std::unordered_map< DisabledReason, std::string > REASONS_TO_STRING
 
const std::unordered_map< std::string, DisabledReasonREASONS_FROM_STRING
 

Typedef Documentation

◆ LinkGraph

Definition at line 90 of file compute_default_collisions.cpp.

◆ LinkPairMap

typedef std::map<std::pair<std::string, std::string>, LinkPairData> moveit_setup::srdf_setup::LinkPairMap

LinkPairMap is an adjacency list structure containing links in string-based form. Used for disabled links.

Definition at line 78 of file compute_default_collisions.hpp.

◆ StringPairSet

typedef std::set<std::pair<std::string, std::string> > moveit_setup::srdf_setup::StringPairSet

Definition at line 63 of file compute_default_collisions.cpp.

Enumeration Type Documentation

◆ DisabledReason

Reasons for disabling link pairs. Append "in collision" for understanding. NOT_DISABLED means the link pair DOES do self collision checking.

Enumerator
NEVER 
DEFAULT 
ADJACENT 
ALWAYS 
USER 
NOT_DISABLED 

Definition at line 54 of file compute_default_collisions.hpp.

◆ GroupType

Enumerator
JOINT 
LINK 
CHAIN 
SUBGROUP 
GROUP 

Definition at line 60 of file planning_groups_widget.hpp.

Function Documentation

◆ buildLinkNameTree()

LinkNameTree moveit_setup::srdf_setup::buildLinkNameTree ( const moveit::core::LinkModel link)
inline

Definition at line 54 of file planning_groups.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compareVariants()

bool moveit_setup::srdf_setup::compareVariants ( const QVariant &  left,
const QVariant &  right 
)

Definition at line 256 of file collision_linear_model.cpp.

Here is the caller graph for this function:

◆ computeDefaultCollisions()

LinkPairMap moveit_setup::srdf_setup::computeDefaultCollisions ( const planning_scene::PlanningSceneConstPtr &  parent_scene,
unsigned int *  progress,
const bool  include_never_colliding,
const unsigned int  trials,
const double  min_collision_faction,
const bool  verbose 
)

Generate an adjacency list of links that are always and never in collision, to speed up collision detection.

Parameters
parent_sceneA reference to the robot in the planning scene
include_never_collidingFlag to disable the check for links that are never in collision
trialsSet the number random collision checks that are made. Increase the probability of correctness
min_collision_fractionIf collisions are found between a pair of links >= this fraction, the are assumed "always" in collision
Returns
Adj List of unique set of pairs of links in string-based form

Definition at line 176 of file compute_default_collisions.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeLinkPairs()

void moveit_setup::srdf_setup::computeLinkPairs ( const planning_scene::PlanningScene scene,
LinkPairMap link_pairs 
)

Generate a list of unique link pairs for all links with geometry. Order pairs alphabetically. n choose 2 pairs.

Parameters
sceneA reference to the robot in the planning scene
link_pairsList of all unique link pairs and each pair's properties

Definition at line 325 of file compute_default_collisions.cpp.

Here is the caller graph for this function:

◆ disabledReasonFromString()

DisabledReason moveit_setup::srdf_setup::disabledReasonFromString ( const std::string &  reason)

Converts a string reason for disabling a link pair into a struct data type.

Parameters
reasonstring that should match one of the DisableReason types. If not, is set as "USER"
Returns
reason as struct

Definition at line 658 of file compute_default_collisions.cpp.

Here is the caller graph for this function:

◆ disabledReasonToString()

const std::string moveit_setup::srdf_setup::disabledReasonToString ( DisabledReason  reason)

Converts a reason for disabling a link pair into a string.

Parameters
reasonenum reason type
Returns
reason as string

Definition at line 650 of file compute_default_collisions.cpp.

Here is the caller graph for this function:

Variable Documentation

◆ REASONS_FROM_STRING

const std::unordered_map<std::string, DisabledReason> moveit_setup::srdf_setup::REASONS_FROM_STRING
Initial value:
= boost::assign::map_list_of("Never", NEVER)(
"Default", DEFAULT)("Adjacent", ADJACENT)("Always", ALWAYS)("User", USER)("Not Disabled", NOT_DISABLED)
@ NEVER
Collisions between the pair of bodies is never ok, i.e., if two bodies are in contact in a particular...
@ ALWAYS
Collisions between a particular pair of bodies does not imply that the robot configuration is in coll...

Definition at line 56 of file compute_default_collisions.cpp.

◆ REASONS_TO_STRING

const std::unordered_map<DisabledReason, std::string> moveit_setup::srdf_setup::REASONS_TO_STRING
Initial value:
= boost::assign::map_list_of(NEVER, "Never")(
DEFAULT, "Default")(ADJACENT, "Adjacent")(ALWAYS, "Always")(USER, "User")(NOT_DISABLED, "Not Disabled")

Definition at line 53 of file compute_default_collisions.cpp.