ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
At the moment, it looks like the only workaround is to 1) define the link in your URDF where you want the marker to be placed, and 2) to define your robot planning group like this in the SRDF, and to have no end effector for this group:
<group name="your_robot">
<joint name="your_robot_shoulder_pan_joint" />
<joint name="your_robot_shoulder_lift_joint" />
<joint name="your_robot_elbow_joint" />
<joint name="your_robot_wrist_1_joint" />
<joint name="your_robot_wrist_2_joint" />
<joint name="your_robot_wrist_3_joint" />
<chain base_link="your_robot_base_link" tip_link="your_robot_tool_point_link" />
</group>
The marker will be placed at the tip_link
frame if no end effector has this group as its parent, or has one of the links set as its parent_link
.
2 | No.2 Revision |
At the moment, it looks like the only workaround is you have two options. For both of these you first need to 1) define the a link in your URDF where at which you want the marker to be placed, and 2) to define e.g. your_robot_tool_point_link
.
Define your robot planning group using a chain of links like this in the SRDF, and to have no end effector for this group:
<group name="your_robot">
<joint name="your_robot_shoulder_pan_joint" />
<joint name="your_robot_shoulder_lift_joint" />
<joint name="your_robot_elbow_joint" />
<joint name="your_robot_wrist_1_joint" />
<joint name="your_robot_wrist_2_joint" />
<joint name="your_robot_wrist_3_joint" />
<chain base_link="your_robot_base_link" tip_link="your_robot_tool_point_link" />
</group>
The marker will be placed at the tip_link
frame if no end effector has this group as its parent, or has one of the links set as its parent_link
.
If you define an end effector group in your SRDF, the interactive marker will be placed at the parent_link
, so you can write this:
<end_effector name="your_robot_ee_name" parent_link="your_robot_tool_point_link" group="your_robot_ee" parent_group="your_robot" />
3 | No.3 Revision |
At the moment, it looks like you have two options. For both of these you first need to define a link in your URDF at which you want the marker to be placed, e.g. your_robot_tool_point_link
.
Define your robot planning group using a chain of links like this in the SRDF, and have no end effector for this group:
<group name="your_robot">
<joint name="your_robot_shoulder_pan_joint" />
<joint name="your_robot_shoulder_lift_joint" />
<joint name="your_robot_elbow_joint" />
<joint name="your_robot_wrist_1_joint" />
<joint name="your_robot_wrist_2_joint" />
<joint name="your_robot_wrist_3_joint" name="your_robot_joint_1" />
<joint name="your_robot_joint_2" />
<joint name="your_robot_joint_3" />
<joint name="your_robot_joint_4" />
<joint name="your_robot_joint_5" />
<joint name="your_robot_joint_6" />
<chain base_link="your_robot_base_link" tip_link="your_robot_tool_point_link" />
</group>
The marker will be placed at the tip_link
frame if no end effector has this group as its parent, or has one of the links set as its parent_link
.
If you define an end effector group in your SRDF, the interactive marker will be placed at the parent_link
, so you can write this:
<end_effector name="your_robot_ee_name" parent_link="your_robot_tool_point_link" group="your_robot_ee" group="your_robot_ee_group" parent_group="your_robot" />
If you want multiple interactive markers on your robot, you can define multiple end_effector
tags that use the same your_robot_ee_group
. If you don't have a group, you can define this hacky one, although you can't use this to plan:
<group name="your_robot_dummy_group">
<joint name="your_robot_joint_1" />
</group>