54   return { 
"position", 
"velocity", 
"effort" };
 
   63   void loadPrevious(
const std::filesystem::path& , 
const YAML::Node& node) 
override;
 
   72   std::vector<std::pair<std::string, std::string>> 
getArguments() 
const override;
 
   73   std::vector<std::string> 
getCommands() 
const override;
 
  126       return std::filesystem::path(
"config") / (
parent_.
urdf_config_->getRobotName() + 
".ros2_control.xacro");
 
  131       return getSharePath(
"moveit_setup_controllers") / 
"templates" / 
"config" / 
"ros2_control.xacro";
 
  136       return "Macro definition for required ros2_control xacro additions.";
 
  164       return "config/initial_positions.yaml";
 
  169       return "Initial positions for ros2_control";
 
  172     bool writeYaml(YAML::Emitter& emitter) 
override;
 
  179                     std::vector<GeneratedFilePtr>& files)
 override 
  181     files.push_back(std::make_shared<GeneratedControlHeader>(package_path, last_gen_time, *
this));
 
  182     files.push_back(std::make_shared<GeneratedInitialPositions>(package_path, last_gen_time, *
this));
 
A virtual class that represents a xacro header that should be included in the modified urdf configura...
 
std::shared_ptr< URDFConfig > urdf_config_
 
Specialization of GeneratedFile for generating a text file from a template.
 
ControlXacroConfig & parent_
 
GeneratedInitialPositions(const std::filesystem::path &package_path, const GeneratedTime &last_gen_time, ControlXacroConfig &parent)
 
bool hasChanges() const override
Returns true if this file will have changes when it is written to file.
 
std::filesystem::path getRelativePath() const override
Returns the path relative to the configuration package root.
 
bool writeYaml(YAML::Emitter &emitter) override
 
std::string getDescription() const override
Returns an English description of this file's purpose.
 
std::unordered_map< std::string, ControlInterfaces > original_joint_interfaces_
A list of all joints used by the current SRDF groups.
 
bool hasAllControlTagsInOriginal() const
 
ControlInterfaces default_ci_
 
void loadPrevious(const std::filesystem::path &, const YAML::Node &node) override
Loads the configuration from an existing MoveIt configuration.
 
std::string getJointsXML() const
Return the additional joint xml needed for ros2_control tags.
 
void collectFiles(const std::filesystem::path &package_path, const GeneratedTime &last_gen_time, std::vector< GeneratedFilePtr > &files) override
Collect the files generated by this configuration and add them to the vector.
 
YAML::Node saveToYaml() const override
Optionally save "meta" information for saving in the .setup_assistant yaml file.
 
void onInit() override
Overridable initialization method.
 
std::unordered_map< std::string, ControlInterfaces > new_joint_interfaces_
 
const ControlInterfaces & getDefaultControlInterfaces() const
 
std::string getFilepath() const override
The file path to use in the <xacro:include> tag.
 
std::vector< std::string > joint_names_
 
bool hasChanges() const override
Returns if the xacro and its properties have changed, resulting in the whole urdf needing regeneratio...
 
std::vector< std::pair< std::string, std::string > > getArguments() const override
Returns a list of name/value pairs for arguments that the modified urdf should have.
 
std::vector< std::string > getCommands() const override
Return a list of additional commands that need to be inserted after the xacro is included.
 
const ControlInterfaces getControlInterfaces(const std::vector< std::string > &joint_names) const
Get all the control interfaces for all of the specified joint names.
 
srdf::Model::GroupState initial_group_state_
 
void loadFromDescription()
Load the original command interfaces from the original (unmodified) URDF.
 
void setControlInterfaces(const ControlInterfaces &ci)
Use the specified controller interfaces for all the lacking joints.
 
const ControlInterfaces & getAvailableControlInterfaces() const
 
bool isConfigured() const override
Return true if this part of the configuration is completely set up.
 
ControlInterfaces available_ci_
 
void collectVariables(std::vector< TemplateVariable > &variables) override
Collect key/value pairs for use in templates.
 
std::vector< std::string > getAvailableInterfaceNames()
 
std::filesystem::path getSharePath(const std::string &package_name)
Return a path for the given package's share folder.
 
std::filesystem::file_time_type GeneratedTime
 
std::vector< std::string > state_interfaces
 
std::vector< std::string > command_interfaces