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

Namespaces

 app
 
 assistant
 
 controllers
 
 core
 
 simulation
 
 srdf_setup
 

Classes

class  IncludedXacroConfig
 A virtual class that represents a xacro header that should be included in the modified urdf configuration. More...
 
class  ModifiedUrdfConfig
 A configuration that stores info about modifications to the URDF. More...
 
class  SetupConfig
 where all the data for each part of the configuration is stored. More...
 
class  PackageSettingsConfig
 
class  SRDFConfig
 
class  URDFConfig
 
class  DataWarehouse
 Container for all of the SetupConfig object singletons. More...
 
class  GeneratedFile
 Container for the logic for a single file to appear in MoveIt configuration package. More...
 
class  YamlGeneratedFile
 
class  DoubleListWidget
 
class  HeaderWidget
 
class  LoadPathWidget
 
class  LoadPathArgsWidget
 Extend LoadPathWidget with additional line edit for arguments. More...
 
class  RVizPanel
 
class  SetupStepWidget
 The GUI code for one SetupStep. More...
 
class  XmlSyntaxHighlighter
 
class  SetupStep
 Contains all of the non-GUI code necessary for doing one "screen" worth of setup. More...
 
struct  TemplateVariable
 Simple Key/value pair for templates. More...
 
class  TemplatedGeneratedFile
 Specialization of GeneratedFile for generating a text file from a template. More...
 
class  MoveItSetupTest
 Test environment with DataWarehouse setup and help for generating files in a temp dir. More...
 
struct  XMLAttribute
 Simple structure for easy xml creation. More...
 
struct  JointModelCompare
 Custom std::set comparator, used for sorting the joint_limits.yaml file into alphabetical order. More...
 

Typedefs

using GeneratedTime = std::filesystem::file_time_type
 

Enumerations

enum  InformationFields {
  NONE = 0 , COLLISIONS = 1 << 1 , VIRTUAL_JOINTS = 1 << 2 , GROUPS = 1 << 3 ,
  GROUP_CONTENTS = 1 << 4 , POSES = 1 << 5 , END_EFFECTORS = 1 << 6 , PASSIVE_JOINTS = 1 << 7 ,
  OTHER = 1 << 8
}
 
enum class  FileStatus {
  NEW , UNCHANGED , CHANGED , EXTERNALLY_MODIFIED ,
  CONFLICTED
}
 Status associated with each GeneratedFile. More...
 

Functions

 MOVEIT_CLASS_FORWARD (SetupConfig)
 
 MOVEIT_CLASS_FORWARD (DataWarehouse)
 
 MOVEIT_CLASS_FORWARD (GeneratedFile)
 
template<typename CLOCK >
GeneratedTime convertTime (const typename CLOCK::time_point &t0)
 Convert a time_point from an arbitrary clock to GeneratedTime. More...
 
template<typename CLOCK >
CLOCK::time_point convertTime (const GeneratedTime &t0)
 Convert GeneratedTime to a time_point from an arbitrary clock. More...
 
template<typename CLOCK >
GeneratedTime convertTime (long int epoch)
 Convert an integral epoch from an arbitrary clock to GeneratedTime. More...
 
GeneratedTime fromEpoch (long int epoch)
 Convert an integral epoch to GeneratedTime (using system_clock) More...
 
template<typename CLOCK >
std::time_t toStandardTime (const GeneratedTime &t)
 Convert a GeneratedTime to a std::time_t (using system_clock) More...
 
long int toEpoch (const GeneratedTime &t)
 Convert a GeneratedTime to an integral epoch (using system_clock) More...
 
std::string toString (const GeneratedTime &t)
 Convert a GeneratedTime to a std::string (using system_clock) More...
 
std::set< std::string > getKeys (const YAML::Node &node)
 
void expectYamlEquivalence (const YAML::Node &generated, const YAML::Node &reference, const std::filesystem::path &generated_path, const std::string &yaml_namespace="")
 
void expectYamlEquivalence (const std::filesystem::path &generated_path, const std::filesystem::path &reference_path)
 
std::filesystem::path getSharePath (const std::string &package_name)
 Return a path for the given package's share folder. More...
 
bool createFolders (const std::filesystem::path &output_path)
 Create folders (recursively) More...
 
bool createParentFolders (const std::filesystem::path &file_path)
 Create parent folders (recursively) More...
 
bool extractPackageNameFromPath (const std::filesystem::path &path, std::string &package_name, std::filesystem::path &relative_filepath)
 
tinyxml2::XMLElement * uniqueInsert (tinyxml2::XMLDocument &doc, tinyxml2::XMLElement &element, const char *tag, const std::vector< XMLAttribute > &attributes={}, const char *text=nullptr)
 Insert a new XML element with a given tag, attributes, and text. More...
 
template<typename T >
bool getYamlProperty (const YAML::Node &node, const std::string &key, T &storage, const T &default_value=T())
 
bool getYamlProperty (const YAML::Node &node, const std::string &key, std::filesystem::path &storage, const std::string &default_value="")
 
const std::unordered_map< std::string, std::string > BACKWARDS_KEY_LOOKUP ({ { "urdf", "URDF" }, { "srdf", "SRDF" }, { "package_settings", "CONFIG" } })
 
const std::regex MAIL_REGEX ("\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,63}\\b", std::regex::icase)
 
bool hasRequiredAttributes (const tinyxml2::XMLElement &e, const std::vector< XMLAttribute > &attributes)
 

Typedef Documentation

◆ GeneratedTime

using moveit_setup::GeneratedTime = typedef std::filesystem::file_time_type

This file contains a bunch of conversions for converting std::filesystem::file_time_type (a.k.a. the return type from std::filesystem::last_write_time) to other useful types and back

Definition at line 49 of file generated_time.hpp.

Enumeration Type Documentation

◆ FileStatus

Status associated with each GeneratedFile.

Enumerator
NEW 
UNCHANGED 
CHANGED 
EXTERNALLY_MODIFIED 
CONFLICTED 

Definition at line 52 of file generated_file.hpp.

◆ InformationFields

Enumerator
NONE 
COLLISIONS 
VIRTUAL_JOINTS 
GROUPS 
GROUP_CONTENTS 
POSES 
END_EFFECTORS 
PASSIVE_JOINTS 
OTHER 

Definition at line 48 of file srdf_config.hpp.

Function Documentation

◆ BACKWARDS_KEY_LOOKUP()

const std::unordered_map<std::string, std::string> moveit_setup::BACKWARDS_KEY_LOOKUP ( { { "urdf", "URDF" }, { "srdf", "SRDF" }, { "package_settings", "CONFIG" } }  )
Here is the caller graph for this function:

◆ convertTime() [1/3]

template<typename CLOCK >
CLOCK::time_point moveit_setup::convertTime ( const GeneratedTime t0)
inline

Convert GeneratedTime to a time_point from an arbitrary clock.

Definition at line 64 of file generated_time.hpp.

◆ convertTime() [2/3]

template<typename CLOCK >
GeneratedTime moveit_setup::convertTime ( const typename CLOCK::time_point &  t0)
inline

Convert a time_point from an arbitrary clock to GeneratedTime.

Definition at line 55 of file generated_time.hpp.

◆ convertTime() [3/3]

template<typename CLOCK >
GeneratedTime moveit_setup::convertTime ( long int  epoch)
inline

Convert an integral epoch from an arbitrary clock to GeneratedTime.

Definition at line 73 of file generated_time.hpp.

◆ createFolders()

bool moveit_setup::createFolders ( const std::filesystem::path &  output_path)
inline

Create folders (recursively)

Returns
false if the path was not a directory and was unable to create the directory(s)

Definition at line 67 of file utilities.hpp.

Here is the caller graph for this function:

◆ createParentFolders()

bool moveit_setup::createParentFolders ( const std::filesystem::path &  file_path)
inline

Create parent folders (recursively)

Returns
false if the path was not a directory and was unable to create the directory(s)

Definition at line 76 of file utilities.hpp.

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

◆ expectYamlEquivalence() [1/2]

void moveit_setup::expectYamlEquivalence ( const std::filesystem::path &  generated_path,
const std::filesystem::path &  reference_path 
)

Definition at line 171 of file testing_utils.hpp.

Here is the call graph for this function:

◆ expectYamlEquivalence() [2/2]

void moveit_setup::expectYamlEquivalence ( const YAML::Node &  generated,
const YAML::Node &  reference,
const std::filesystem::path &  generated_path,
const std::string &  yaml_namespace = "" 
)

Definition at line 114 of file testing_utils.hpp.

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

◆ extractPackageNameFromPath()

bool moveit_setup::extractPackageNameFromPath ( const std::filesystem::path &  path,
std::string &  package_name,
std::filesystem::path &  relative_filepath 
)

determine the package name containing a given file path

Parameters
pathto a file
package_nameholds the ros package name if found
relative_filepathholds the relative path of the file to the package root
Returns
whether the file belongs to a known package

Definition at line 41 of file utilities.cpp.

Here is the caller graph for this function:

◆ fromEpoch()

GeneratedTime moveit_setup::fromEpoch ( long int  epoch)
inline

Convert an integral epoch to GeneratedTime (using system_clock)

Definition at line 82 of file generated_time.hpp.

Here is the caller graph for this function:

◆ getKeys()

std::set<std::string> moveit_setup::getKeys ( const YAML::Node &  node)

Definition at line 104 of file testing_utils.hpp.

Here is the caller graph for this function:

◆ getSharePath()

std::filesystem::path moveit_setup::getSharePath ( const std::string &  package_name)
inline

Return a path for the given package's share folder.

Definition at line 51 of file utilities.hpp.

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

◆ getYamlProperty() [1/2]

bool moveit_setup::getYamlProperty ( const YAML::Node &  node,
const std::string &  key,
std::filesystem::path &  storage,
const std::string &  default_value = "" 
)
inline

Definition at line 126 of file utilities.hpp.

Here is the call graph for this function:

◆ getYamlProperty() [2/2]

template<typename T >
bool moveit_setup::getYamlProperty ( const YAML::Node &  node,
const std::string &  key,
T &  storage,
const T &  default_value = T() 
)
inline

Definition at line 118 of file utilities.hpp.

Here is the caller graph for this function:

◆ hasRequiredAttributes()

bool moveit_setup::hasRequiredAttributes ( const tinyxml2::XMLElement &  e,
const std::vector< XMLAttribute > &  attributes 
)

Definition at line 86 of file utilities.cpp.

Here is the caller graph for this function:

◆ MAIL_REGEX()

const std::regex moveit_setup::MAIL_REGEX ( "\\b+@+\\.{2,63}\\b"  [A-Z0-9._%+-][A-Z0-9.-][A-Z],
std::regex::icase   
)
Here is the caller graph for this function:

◆ MOVEIT_CLASS_FORWARD() [1/3]

moveit_setup::MOVEIT_CLASS_FORWARD ( DataWarehouse  )

◆ MOVEIT_CLASS_FORWARD() [2/3]

moveit_setup::MOVEIT_CLASS_FORWARD ( GeneratedFile  )

◆ MOVEIT_CLASS_FORWARD() [3/3]

moveit_setup::MOVEIT_CLASS_FORWARD ( SetupConfig  )

◆ toEpoch()

long int moveit_setup::toEpoch ( const GeneratedTime t)
inline

Convert a GeneratedTime to an integral epoch (using system_clock)

Definition at line 99 of file generated_time.hpp.

Here is the caller graph for this function:

◆ toStandardTime()

template<typename CLOCK >
std::time_t moveit_setup::toStandardTime ( const GeneratedTime t)
inline

Convert a GeneratedTime to a std::time_t (using system_clock)

Definition at line 91 of file generated_time.hpp.

◆ toString()

std::string moveit_setup::toString ( const GeneratedTime t)
inline

Convert a GeneratedTime to a std::string (using system_clock)

Definition at line 107 of file generated_time.hpp.

◆ uniqueInsert()

tinyxml2::XMLElement * moveit_setup::uniqueInsert ( tinyxml2::XMLDocument &  doc,
tinyxml2::XMLElement &  element,
const char *  tag,
const std::vector< XMLAttribute > &  attributes = {},
const char *  text = nullptr 
)

Insert a new XML element with a given tag, attributes, and text.

If a corresponding element already exists (and has required attribute values), it is just reused.

Parameters
docThe XMLDocument, used for creating new elements
elementThe tag inside of which the new tag should be inserted
tagThe name of the tag
attributesAttribute name/value pairs to be created/overwritten
textIf not null, text value to insert inside the new tag
Returns
The new or existing element

Definition at line 105 of file utilities.cpp.

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