ROSEndEffector
ROS End-Effector package: provides a ROS-based set of standard interfaces to command robotics end-effectors in an agnostic fashion.
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ROSEE::Parser Class Reference

Class responsible for parsing the YAML file providing the URDF, SRDF, the EE-HAL library implementation and the EEInterface. More...

#include <Parser.h>

+ Collaboration diagram for ROSEE::Parser:

Public Types

typedef std::shared_ptr< ParserPtr
 
typedef std::shared_ptr< const ParserConstPtr
 

Public Member Functions

 Parser (const ros::NodeHandle &nh)
 
virtual ~Parser ()
 
bool init ()
 Initialization function using the ROS param ROSEEConfigPath. More...
 
bool init (const std::string &urdf_path, const std::string &srdf_path, const std::string &action_path)
 Initialization function using the path_to_cfg parameter for the path. More...
 
std::map< std::string, urdf::JointConstSharedPtr > getUrdfJointMap () const
 getter for the URDF information of the joints of the End-Effector More...
 
std::map< std::string, std::vector< std::string > > getFingerJointMap () const
 getter for a description of the End-Effector as a map of finger name, finger joint names. More...
 
void getFingerJointMap (std::map< std::string, std::vector< std::string >> &finger_joint_map) const
 getter for the map between the finger kinematic chains and the related actuated joints, reference version of getFingerJointMap More...
 
std::map< std::string, std::string > getJointFingerMap () const
 getter for a description of the End-Effector as a map of joint name, finger name More...
 
void getJointFingerMap (std::map< std::string, std::string > &joint_finger_map) const
 getter for a description of the End-Effector as a map of joint name, finger name More...
 
std::string getEndEffectorName () const
 getter for the configure End-Effector name More...
 
int getActuatedJointsNumber () const
 getter for the total number of actuated joints in the configuration files More...
 
void printEndEffectorFingerJointsMap () const
 Utility to print the mapping between the End Effector finger chains and the related actuated joints. More...
 
std::string getUrdfString () const
 get the whole urdf file parsed as a string More...
 
std::string getSrdfString () const
 get the whole srdf file parsed as a string More...
 
std::string getActionPath () const
 get the path where emit and parse grasping actions More...
 
std::string getRoseeConfigPath () const
 get the filename (with path) of the yaml config file. More...
 

Private Member Functions

bool configure ()
 configure the ROSEE parser based on the configration files requested More...
 
bool parseURDF ()
 Function responsible to get the file needed to fill the internal data structure of the Parser with data coming from the ros_ee configuration file requested by the user. More...
 
bool parseSRDF ()
 Function responsible to parse the SRDF data. More...
 
void addNotInFingerJoints ()
 
bool removePassiveJoints ()
 Function to remove the passive joints from the filled maps. More...
 
bool getJointsInFinger (std::string base_link, std::string tip_link, std::string finger_name)
 fill a data structure related with the revolute/prismatic joints included in between base_link and tip_link in the requested URDF More...
 

Private Attributes

ros::NodeHandle _nh
 
std::string _urdf_path
 
std::string _srdf_path
 
std::string _urdf_string
 
std::string _srdf_string
 
std::string _action_path
 
bool _is_initialized = false
 
urdf::ModelInterfaceSharedPtr _urdf_model
 
KDL::Tree _robot_tree
 
srdf::Model _srdfdom
 
int _fingers_num = 0
 
std::vector< std::string > _fingers_names
 
std::vector< int > _fingers_group_id
 
int _joints_num = 0
 
std::map< std::string, std::vector< std::string > > _finger_joint_map
 
std::map< std::string, std::string > _joint_finger_map
 
std::map< std::string, urdf::JointConstSharedPtr > _urdf_joint_map
 

Detailed Description

Class responsible for parsing the YAML file providing the URDF, SRDF, the EE-HAL library implementation and the EEInterface.

Definition at line 46 of file Parser.h.

Member Typedef Documentation

typedef std::shared_ptr<const Parser> ROSEE::Parser::ConstPtr

Definition at line 51 of file Parser.h.

typedef std::shared_ptr<Parser> ROSEE::Parser::Ptr

Definition at line 50 of file Parser.h.

Constructor & Destructor Documentation

ROSEE::Parser::Parser ( const ros::NodeHandle &  nh)

Definition at line 22 of file Parser.cpp.

22  :
23  _nh ( nh ) {
24 
25 }
ros::NodeHandle _nh
Definition: Parser.h:171
ROSEE::Parser::~Parser ( )
virtual

Definition at line 28 of file Parser.cpp.

28  {
29 
30 }

Member Function Documentation

void ROSEE::Parser::addNotInFingerJoints ( )
private

Definition at line 172 of file Parser.cpp.

172  {
173 
174  for (auto it : _urdf_model->joints_) { //this contains all joints
175 
176  if (it.second->mimic == nullptr) { //not a mimic joint...
177 
178  if (it.second->type == urdf::Joint::CONTINUOUS ||
179  it.second->type == urdf::Joint::REVOLUTE ) {
180  //it.second->type == urdf::Joint::PRISMATIC
181 
182  if (_urdf_joint_map.find(it.second->name) == _urdf_joint_map.end() ) {
183 
184  _urdf_joint_map.insert(std::make_pair(it.second->name, it.second));
185  _finger_joint_map["virtual_finger"].push_back ( it.second->name );
186  _joint_finger_map[it.second->name] = "virtual_finger";
187  _joints_num++;
188  }
189  }
190  }
191 
192  }
193 
194 }
std::map< std::string, std::string > _joint_finger_map
Definition: Parser.h:188
urdf::ModelInterfaceSharedPtr _urdf_model
Definition: Parser.h:176
int _joints_num
Definition: Parser.h:185
std::map< std::string, std::vector< std::string > > _finger_joint_map
Definition: Parser.h:187
std::map< std::string, urdf::JointConstSharedPtr > _urdf_joint_map
Definition: Parser.h:189
bool ROSEE::Parser::configure ( )
private

configure the ROSEE parser based on the configration files requested

Returns
bool true on success, false otherwise

Definition at line 326 of file Parser.cpp.

326  {
327 
328  bool ret = true;
329  //if ( getROSEndEffectorConfig() ) {
330 
331  if ( parseURDF() ) {
332 
333  if ( parseSRDF() ) {
334 
335  ROS_INFO_STREAM ( "ROSEndEffector Parser successfully configured using urdf file: " << _urdf_path
336  << "\n\t srdf file: " << _srdf_path << "\n\t actions folder " << _action_path
337  );
338 
339  } else {
340 
341  ROS_ERROR_STREAM ( "ROSEndEffector Parser error while parsing SRDF");
342  ret = false;
343  }
344 
345  } else {
346 
347  ROS_ERROR_STREAM ( "ROSEndEffector Parser error while parsing URDF");
348  ret = false;
349  }
350 
351  //} else {
352 
353  // ret = false;
354  //}
355 
356 
357  return ret;
358 }
std::string _action_path
Definition: Parser.h:173
bool parseSRDF()
Function responsible to parse the SRDF data.
Definition: Parser.cpp:85
std::string _srdf_path
Definition: Parser.h:172
std::string _urdf_path
Definition: Parser.h:172
bool parseURDF()
Function responsible to get the file needed to fill the internal data structure of the Parser with da...
Definition: Parser.cpp:225
std::string ROSEE::Parser::getActionPath ( ) const

get the path where emit and parse grasping actions

Returns
the path as a string

Definition at line 464 of file Parser.cpp.

464  {
465  return _action_path;
466 };
std::string _action_path
Definition: Parser.h:173
int ROSEE::Parser::getActuatedJointsNumber ( ) const

getter for the total number of actuated joints in the configuration files

Returns
int the number of actuated joints in the End-Effector

Definition at line 420 of file Parser.cpp.

420  {
421 
422  return _joints_num;
423 }
int _joints_num
Definition: Parser.h:185
std::string ROSEE::Parser::getEndEffectorName ( ) const

getter for the configure End-Effector name

Returns
std::string the End-Effector name as reported in the URDF robot name

Definition at line 450 of file Parser.cpp.

450  {
451 
452  return _urdf_model->getName();
453 }
urdf::ModelInterfaceSharedPtr _urdf_model
Definition: Parser.h:176
std::map< std::string, std::vector< std::string > > ROSEE::Parser::getFingerJointMap ( ) const

getter for a description of the End-Effector as a map of finger name, finger joint names.

There exists another version to get the map as reference: getFingerJointMapAsReference

Returns
std::map<std::string, std::vector<std::string>> a map respresenting an End-Effector with a key representing the finger name and the values representing a vector of joint names.

Definition at line 425 of file Parser.cpp.

425  {
426 
427  return _finger_joint_map;
428 }
std::map< std::string, std::vector< std::string > > _finger_joint_map
Definition: Parser.h:187
void ROSEE::Parser::getFingerJointMap ( std::map< std::string, std::vector< std::string >> &  finger_joint_map) const

getter for the map between the finger kinematic chains and the related actuated joints, reference version of getFingerJointMap

Parameters
finger_joint_mapa map between the finger kinematic chains and the related actuated joints
Returns
void

Definition at line 440 of file Parser.cpp.

440  {
441 
442  finger_joint_map = _finger_joint_map;
443 }
std::map< std::string, std::vector< std::string > > _finger_joint_map
Definition: Parser.h:187
std::map< std::string, std::string > ROSEE::Parser::getJointFingerMap ( ) const

getter for a description of the End-Effector as a map of joint name, finger name

Returns
std::map<std::string, std::string> a map respresenting an End-Effector with a key representing the joint name and the value representing the finger which the joint belongs to

Definition at line 430 of file Parser.cpp.

430  {
431 
432  return _joint_finger_map;
433 }
std::map< std::string, std::string > _joint_finger_map
Definition: Parser.h:188
void ROSEE::Parser::getJointFingerMap ( std::map< std::string, std::string > &  joint_finger_map) const

getter for a description of the End-Effector as a map of joint name, finger name

Parameters
joint_finger_mapa map between the joint and the related finger kinematic chain
Returns
void

Definition at line 445 of file Parser.cpp.

445  {
446 
447  joint_finger_map = _joint_finger_map;
448 }
std::map< std::string, std::string > _joint_finger_map
Definition: Parser.h:188
bool ROSEE::Parser::getJointsInFinger ( std::string  base_link,
std::string  tip_link,
std::string  finger_name 
)
private

fill a data structure related with the revolute/prismatic joints included in between base_link and tip_link in the requested URDF

Parameters
base_linkbase link of the finger chain
tip_linktip link of the finger chain
Returns
bool true if the chain is found in the URDF, false otherwise

Definition at line 32 of file Parser.cpp.

35  {
36 
37  //we add here the finger to the map because later is added only if the joint is actuated.
38  //Instead we want in the map all the fingers, even if they have no actuated joint in.
39  //this is necessary to not cause later problem due to have the right number of finger
40  _finger_joint_map.insert(std::make_pair(finger_name, std::vector<std::string>()));
41 
42 
43  KDL::Chain actual_chain;
44  if ( _robot_tree.getChain ( base_link, tip_link, actual_chain ) ) {
45 
46  int segments_num = actual_chain.getNrOfSegments();
47  for ( int i = 0; i < segments_num; i++ ) {
48 
49  KDL::Segment actual_segment = actual_chain.getSegment ( i );
50  KDL::Joint actual_joint = actual_segment.getJoint();
51 
52  bool is_valid_joint = false;
53 
54  // Check if joint is revolute or prismatic
55  is_valid_joint = actual_joint.getTypeName() == "RotAxis";
56 
57 // || actual_joint.getTypeName() == "TransAxis";
58 
59  auto urdf_joint = _urdf_model->getJoint(actual_joint.getName());
60  bool is_mimic_joint = (urdf_joint->mimic == nullptr) ? false : true;
61 
62 
63  // if the joint is revolute or prismatic AND not a mimic (mimic joint is a not actuated joint)
64  if ( is_valid_joint && (!is_mimic_joint) ) {
65 
66  _finger_joint_map[finger_name].push_back ( actual_joint.getName() );
67  _joint_finger_map[actual_joint.getName()] = finger_name;
68  _urdf_joint_map[actual_joint.getName()] = _urdf_model->getJoint ( actual_joint.getName() );
69 
70  _joints_num++;
71 
72  }
73  }
74 
75  return true;
76  }
77 
78  ROS_ERROR_STREAM ( "chain from base_link " << base_link << " to tip_link " << tip_link << " not found in the URDF" );
79 
80  return false;
81 }
std::map< std::string, std::string > _joint_finger_map
Definition: Parser.h:188
urdf::ModelInterfaceSharedPtr _urdf_model
Definition: Parser.h:176
int _joints_num
Definition: Parser.h:185
std::map< std::string, std::vector< std::string > > _finger_joint_map
Definition: Parser.h:187
KDL::Tree _robot_tree
Definition: Parser.h:177
std::map< std::string, urdf::JointConstSharedPtr > _urdf_joint_map
Definition: Parser.h:189
std::string ROSEE::Parser::getRoseeConfigPath ( ) const

get the filename (with path) of the yaml config file.

Useful get to print infos about file parsed outside this class

Returns
a string that is the filepath of yaml config file
std::string ROSEE::Parser::getSrdfString ( ) const

get the whole srdf file parsed as a string

Returns
a string containg the srdf file parsed

Definition at line 459 of file Parser.cpp.

459  {
460  return _srdf_string;
461 }
std::string _srdf_string
Definition: Parser.h:172
std::map< std::string, urdf::JointConstSharedPtr > ROSEE::Parser::getUrdfJointMap ( ) const

getter for the URDF information of the joints of the End-Effector

Returns
std::map<std::string, urdf::JointConstSharedPtr> map between the joint name and the URDF info of the joint

Definition at line 435 of file Parser.cpp.

435  {
436 
437  return _urdf_joint_map;
438 }
std::map< std::string, urdf::JointConstSharedPtr > _urdf_joint_map
Definition: Parser.h:189
std::string ROSEE::Parser::getUrdfString ( ) const

get the whole urdf file parsed as a string

Returns
a string containg the urdf file parsed

Definition at line 455 of file Parser.cpp.

455  {
456  return _urdf_string;
457 }
std::string _urdf_string
Definition: Parser.h:172
bool ROSEE::Parser::init ( )

Initialization function using the ROS param ROSEEConfigPath.

Returns
bool true for success, false otherwise

Definition at line 362 of file Parser.cpp.

362  {
363 
364  // try to retrive the path to config from the ROS param server TBD namespace should be take into account
365  if ( _nh.getParam ( "/urdf_path", _urdf_path ) &&
366  _nh.getParam ( "/srdf_path", _srdf_path ) &&
367  _nh.getParam ( "/actions_folder_path", _action_path )
368  ) {
369 
371  return _is_initialized;
372  }
373 
374  // error
375  ROS_ERROR_STREAM ( "in " << __func__ << " : '_urdf_path' and/or '_srdf_path' and/or 'actions_folder_path' not found on ROS parameter server" );
376  return false;
377 
378 }
ros::NodeHandle _nh
Definition: Parser.h:171
bool configure()
configure the ROSEE parser based on the configration files requested
Definition: Parser.cpp:326
bool _is_initialized
Definition: Parser.h:174
std::string _action_path
Definition: Parser.h:173
std::string _srdf_path
Definition: Parser.h:172
std::string _urdf_path
Definition: Parser.h:172
bool ROSEE::Parser::init ( const std::string &  urdf_path,
const std::string &  srdf_path,
const std::string &  action_path 
)

Initialization function using the path_to_cfg parameter for the path.

Parameters
urdf_pathpath to the urdf file
srdf_pathpath to the srdf file
action_pathpath to the action folder
Returns
bool true for success, false otherwise

Definition at line 380 of file Parser.cpp.

380  {
381 
382  _urdf_path = urdf_path;
383  _srdf_path = srdf_path;
384  _action_path = action_path;
385 
387  return _is_initialized;
388 }
bool configure()
configure the ROSEE parser based on the configration files requested
Definition: Parser.cpp:326
bool _is_initialized
Definition: Parser.h:174
std::string _action_path
Definition: Parser.h:173
std::string _srdf_path
Definition: Parser.h:172
std::string _urdf_path
Definition: Parser.h:172
bool ROSEE::Parser::parseSRDF ( )
private

Function responsible to parse the SRDF data.

Returns
bool true if the SRDF requested exists, false otherwise

Definition at line 85 of file Parser.cpp.

85  {
86 
87  // initialize srdfdom
88  _srdfdom.initFile ( *_urdf_model, _srdf_path );
89 
90  // get the end-effectors in the SRDF file
91  std::vector<srdf::Model::EndEffector> srdf_end_effectors = _srdfdom.getEndEffectors();
92 
93  // NOTE only one end-effectors supported
94  // TBD support multiple end-effectors
95  if ( srdf_end_effectors.size() != 1 ) {
96 
97  return false;
98  }
99 
100  ROS_INFO_STREAM ( "ros_end_effector Parser found end_effector: " << srdf_end_effectors.at ( 0 ).name_ );
101 
102  // get all the groups in the SRDF
103  std::vector<srdf::Model::Group> srdf_groups = _srdfdom.getGroups();
104 
105  // TBD will be a vector
106  srdf::Model::Group fingers_group;
107  // find end effector fingers chains group
108  // TBD will be a vector
109  int group_num = srdf_groups.size();
110  // TBD will be a vector
111  std::string end_effector_group_name = srdf_end_effectors.at ( 0 ).component_group_;
112  for ( int i = 0; i < group_num; i++ ) {
113  if ( srdf_groups[i].name_ == end_effector_group_name ) {
114  fingers_group = srdf_groups[i];
115  ROS_INFO_STREAM ( "ros_end_effector Parser found group: " << end_effector_group_name << " in the SRDF with the following fingers: " );
116  }
117  }
118 
119  _fingers_num = fingers_group.subgroups_.size();
120  _fingers_names.resize ( _fingers_num );
121  _fingers_group_id.resize ( _fingers_num );
122 
123  // fill the chain names vector
124  for ( int i = 0; i < _fingers_num; i++ ) {
125 
126  _fingers_names[i] = fingers_group.subgroups_[i];
127 
128  // find the id of the current finger group
129  for ( int j = 0; j < group_num; j++ ) {
130  if ( srdf_groups[j].name_ == _fingers_names[i] ) {
131  _fingers_group_id[i] = j;
132  }
133  }
134  ROS_INFO_STREAM ( _fingers_names[i] );
135  }
136 
137  // iterate over the fingers and find revolute joints
138  for ( int i = 0; i < _fingers_num; i++ ) {
139  srdf::Model::Group current_finger_group = srdf_groups[ _fingers_group_id[i] ];
140 
141  // NOTE only one chain per group
142  if ( current_finger_group.chains_.size() != CHAIN_PER_GROUP ) {
143 
144  ROS_ERROR_STREAM ( "for the finger chain groups you can specify only one chain per group in your SRDF check " <<
145  current_finger_group.name_.c_str() << " group" );
146  return false;
147  }
148 
149  // fill the enabled/disabled joints in chain map
150  if ( !getJointsInFinger ( current_finger_group.chains_[0].first,
151  current_finger_group.chains_[0].second,
152  current_finger_group.name_
153  ) ) {
154  return false;
155  }
156  }
157 
159 
161 
162  // save srdf as string
163  std::ifstream t_srdf ( _srdf_path );
164  std::stringstream buffer_srdf;
165  buffer_srdf << t_srdf.rdbuf();
166  _srdf_string = buffer_srdf.str();
167 
168  return true;
169 
170 }
#define CHAIN_PER_GROUP
Definition: Parser.cpp:20
std::vector< int > _fingers_group_id
Definition: Parser.h:183
urdf::ModelInterfaceSharedPtr _urdf_model
Definition: Parser.h:176
int _fingers_num
Definition: Parser.h:181
bool removePassiveJoints()
Function to remove the passive joints from the filled maps.
Definition: Parser.cpp:196
std::string _srdf_path
Definition: Parser.h:172
void addNotInFingerJoints()
Definition: Parser.cpp:172
std::vector< std::string > _fingers_names
Definition: Parser.h:182
std::string _srdf_string
Definition: Parser.h:172
bool getJointsInFinger(std::string base_link, std::string tip_link, std::string finger_name)
fill a data structure related with the revolute/prismatic joints included in between base_link and ti...
Definition: Parser.cpp:32
srdf::Model _srdfdom
Definition: Parser.h:179
bool ROSEE::Parser::parseURDF ( )
private

Function responsible to get the file needed to fill the internal data structure of the Parser with data coming from the ros_ee configuration file requested by the user.

Returns
bool true on success, false if the config file contains errors (either in the main YAML, or in URDF, or in SRDF or in EE-HAL library path. or in the Grasping Primitive Definition). Function responsible to parse the URDF data
bool true if the URDF requested exists, false otherwise

Definition at line 225 of file Parser.cpp.

225  {
226 
227  std::string xml_string;
228  std::fstream xml_file ( _urdf_path.c_str(), std::fstream::in );
229  if ( xml_file.is_open() ) {
230 
231  while ( xml_file.good() ) {
232 
233  std::string line;
234  std::getline ( xml_file, line );
235  xml_string += ( line + "\n" );
236  }
237 
238  xml_file.close();
239  _urdf_model = urdf::parseURDF ( xml_string );
240 
241  // create the robot KDL tree from the URDF model
242  if ( !kdl_parser::treeFromUrdfModel ( *_urdf_model, _robot_tree ) ) {
243 
244  ROS_ERROR_STREAM ( "in " << __func__ << " Failed to construct kdl tree" );
245  return false;
246  }
247 
248  // save urdf and string (can be useful to have, thanks @alaurenzi!)
249  std::ifstream t_urdf ( _urdf_path );
250  std::stringstream buffer_urdf;
251  buffer_urdf << t_urdf.rdbuf();
252  _urdf_string = buffer_urdf.str();
253 
254  return true;
255 
256  } else {
257 
258  ROS_ERROR_STREAM ( "in " << __func__ << " : Can NOT open " << _urdf_path << " !" );
259  return false;
260  }
261 }
urdf::ModelInterfaceSharedPtr _urdf_model
Definition: Parser.h:176
std::string _urdf_path
Definition: Parser.h:172
KDL::Tree _robot_tree
Definition: Parser.h:177
std::string _urdf_string
Definition: Parser.h:172
void ROSEE::Parser::printEndEffectorFingerJointsMap ( ) const

Utility to print the mapping between the End Effector finger chains and the related actuated joints.

Returns
void

Definition at line 390 of file Parser.cpp.

390  {
391 
392  if ( _is_initialized ) {
393 
394  ROS_INFO_STREAM ( "ROS End Effector: Finger Joints Map" );
395  ROS_INFO_STREAM ( "-------------------------" );
396  for ( auto& chain_joints: _finger_joint_map ) {
397  ROS_INFO_STREAM ( chain_joints.first );
398 
399  int nJointInFinger = chain_joints.second.size();
400 
401  if ( nJointInFinger == 0 ) {
402 
403  ROS_INFO_STREAM ( "No actuated joint in this finger" );
404 
405  } else {
406 
407  for ( int i = 0; i < nJointInFinger ; i++ ) {
408  ROS_INFO_STREAM ( chain_joints.second.at ( i ) );
409  }
410  }
411 
412  ROS_INFO_STREAM ( "-------------------------" );
413  }
414  } else {
415 
416  ROS_ERROR_STREAM ( "in " << __func__ << " : ROSEE::Parser needs to be initialized. Call init() frist." );
417  }
418 }
bool _is_initialized
Definition: Parser.h:174
std::map< std::string, std::vector< std::string > > _finger_joint_map
Definition: Parser.h:187
bool ROSEE::Parser::removePassiveJoints ( )
private

Function to remove the passive joints from the filled maps.

Returns
bool is everything works correctly

Definition at line 196 of file Parser.cpp.

196  {
197 
198  std::vector<srdf::Model::PassiveJoint> passiveJointList = _srdfdom.getPassiveJoints();
199 
200  for (auto passiveJoint : passiveJointList) {
201  //the passive can be also already deleted so we chech if we delete it(e.g. it is also mimic)
202  if (_urdf_joint_map.erase(passiveJoint.name_) > 0) {
203 
204  //we have also to remove it from the other maps
205  std::string fingerOfPassive = _joint_finger_map.at(passiveJoint.name_);
206  _joint_finger_map.erase(passiveJoint.name_);
207 
208  for (auto it = _finger_joint_map.at(fingerOfPassive).begin();
209  it!= _finger_joint_map.at(fingerOfPassive).end(); ++it){
210 
211  if (it->compare(passiveJoint.name_) == 0 ) {
212  _finger_joint_map.at(fingerOfPassive).erase(it);
213  break;
214  }
215  }
216 
217  _joints_num--;
218  }
219  }
220 
221  return true;
222 }
std::map< std::string, std::string > _joint_finger_map
Definition: Parser.h:188
int _joints_num
Definition: Parser.h:185
std::map< std::string, std::vector< std::string > > _finger_joint_map
Definition: Parser.h:187
std::map< std::string, urdf::JointConstSharedPtr > _urdf_joint_map
Definition: Parser.h:189
srdf::Model _srdfdom
Definition: Parser.h:179

Member Data Documentation

std::string ROSEE::Parser::_action_path
private

Definition at line 173 of file Parser.h.

std::map<std::string, std::vector<std::string> > ROSEE::Parser::_finger_joint_map
private

Definition at line 187 of file Parser.h.

std::vector<int> ROSEE::Parser::_fingers_group_id
private

Definition at line 183 of file Parser.h.

std::vector<std::string> ROSEE::Parser::_fingers_names
private

Definition at line 182 of file Parser.h.

int ROSEE::Parser::_fingers_num = 0
private

Definition at line 181 of file Parser.h.

bool ROSEE::Parser::_is_initialized = false
private

Definition at line 174 of file Parser.h.

std::map<std::string, std::string> ROSEE::Parser::_joint_finger_map
private

Definition at line 188 of file Parser.h.

int ROSEE::Parser::_joints_num = 0
private

Definition at line 185 of file Parser.h.

ros::NodeHandle ROSEE::Parser::_nh
private

Definition at line 171 of file Parser.h.

KDL::Tree ROSEE::Parser::_robot_tree
private

Definition at line 177 of file Parser.h.

std::string ROSEE::Parser::_srdf_path
private

Definition at line 172 of file Parser.h.

std::string ROSEE::Parser::_srdf_string
private

Definition at line 172 of file Parser.h.

srdf::Model ROSEE::Parser::_srdfdom
private

Definition at line 179 of file Parser.h.

std::map<std::string, urdf::JointConstSharedPtr> ROSEE::Parser::_urdf_joint_map
private

Definition at line 189 of file Parser.h.

urdf::ModelInterfaceSharedPtr ROSEE::Parser::_urdf_model
private

Definition at line 176 of file Parser.h.

std::string ROSEE::Parser::_urdf_path
private

Definition at line 172 of file Parser.h.

std::string ROSEE::Parser::_urdf_string
private

Definition at line 172 of file Parser.h.


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