ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I can think of one way, but it may not be too nice: every MoveIt configuration package contains a name_of_robot.srdf (see wiki/SRDF). This file contains additional information not found in the robot_description among which is the name of the configured end effector. As an example, see the config of the pr2:

<!--END EFFECTOR: Purpose: Represent information about an end effector.-->
<end_effector name="right_eef" parent_link="r_wrist_roll_link" group="right_gripper" />
<end_effector name="left_eef" parent_link="l_wrist_roll_link" group="left_gripper" />

As this file is valid SRDF, you could probably parse it with the SRDF library, and retrieve the name of the defined EEFs.

I can think of one way, but it may not be too nice: every MoveIt configuration package contains a name_of_robot.srdf (see wiki/SRDF). This file contains additional information not found in the robot_description among which is the name of the configured end effector. As an example, see the config of the pr2:

<!--END EFFECTOR: Purpose: Represent information about an end effector.-->
<end_effector name="right_eef" parent_link="r_wrist_roll_link" group="right_gripper" />
<end_effector name="left_eef" parent_link="l_wrist_roll_link" group="left_gripper" />

As this file is valid SRDF, you could probably parse it with the SRDF library, and retrieve the name of the defined EEFs.

PS: obviously, this does not use TF, but it does give you the information you are after without having to use any (large) additional dependencies.

I can think of one way, but it may not be too nice: every MoveIt configuration package contains a name_of_robot.srdf (see wiki/SRDF). This file contains additional information not found in the robot_description among which is the name of the configured end effector. As an example, see the config of the pr2:

<!--END EFFECTOR: Purpose: Represent information about an end effector.-->
<end_effector name="right_eef" parent_link="r_wrist_roll_link" group="right_gripper" />
<end_effector name="left_eef" parent_link="l_wrist_roll_link" group="left_gripper" />

As this file is valid SRDF, you could probably parse it with the SRDF library, library (or just any XML parser really), and retrieve the name names of the defined EEFs.

PS: obviously, this does not use TF, but it does give you the information you are after without having to use any (large) additional dependencies.