53   std::filesystem::path file_path = package_path / KINEMATICS_FILE;
 
   56     throw std::runtime_error(
"Failed to parse kinematics yaml file. This file is not critical but any previous " 
   57                              "kinematic solver settings have been lost. To re-populate this file edit each " 
   58                              "existing planning group and choose a solver, then save each change.");
 
   97   std::ifstream input_stream(file_path);
 
   98   if (!input_stream.good())
 
  106     YAML::Node doc = YAML::Load(input_stream);
 
  109     for (YAML::const_iterator group_it = doc.begin(); group_it != doc.end(); ++group_it)
 
  111       const std::string& group_name = group_it->first.as<std::string>();
 
  112       const YAML::Node& 
group = group_it->second;
 
  119                       DEFAULT_KIN_SOLVER_SEARCH_RESOLUTION);
 
  121                       DEFAULT_KIN_SOLVER_TIMEOUT);
 
  129   catch (YAML::ParserException& e)  
 
  140   emitter << YAML::BeginMap;
 
  145     const std::string& group_name = meta_pair.first;
 
  152     emitter << YAML::Key << group_name;
 
  153     emitter << YAML::Value << YAML::BeginMap;
 
  156     emitter << YAML::Key << 
"kinematics_solver";
 
  160     emitter << YAML::Key << 
"kinematics_solver_search_resolution";
 
  164     emitter << YAML::Key << 
"kinematics_solver_timeout";
 
  167     emitter << YAML::EndMap;
 
  170   emitter << YAML::EndMap;
 
  180   std::string kinematics_parameters_files_block;
 
  183     if (groups.second.kinematics_parameters_file_.empty())
 
  187     if (!kinematics_parameters_files_block.empty())
 
  188       kinematics_parameters_files_block += 
"\n";
 
  190     std::string line = 
"    <rosparam command=\"load\" ns=\"" + groups.first + 
"\" file=\"" +
 
  191                        groups.second.kinematics_parameters_file_ + 
"\"/>";
 
  192     kinematics_parameters_files_block += line;
 
  194   variables.push_back(
TemplateVariable(
"KINEMATICS_PARAMETERS_FILE_NAMES_BLOCK", kinematics_parameters_files_block));
 
  200 #include <pluginlib/class_list_macros.hpp>   
PLUGINLIB_EXPORT_CLASS(cached_ik_kinematics_plugin::CachedIKKinematicsPlugin< kdl_kinematics_plugin::KDLKinematicsPlugin >, kinematics::KinematicsBase)
 
where all the data for each part of the configuration is stored.
 
bool getYamlProperty(const YAML::Node &node, const std::string &key, T &storage, const T &default_value=T())
 
Simple Key/value pair for templates.