|
3 | 3 | This is a format for representing semantic information about the robot structure.
|
4 | 4 | A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
|
5 | 5 | -->
|
6 |
| -<robot name="ada"> |
| 6 | +<robot name="ada" xmlns:xacro="http://www.ros.org/wiki/xacro"> |
| 7 | + <xacro:arg name="end_effector_tool" default="fork" /> |
| 8 | + <xacro:property name="end_effector_tool" value="$(arg end_effector_tool)" /> |
| 9 | + |
7 | 10 | <!--GROUPS: Representation of a set of joints and links. This can be useful for specifying DOF to plan for, defining arms, end effectors, etc-->
|
8 | 11 | <!--LINKS: When a link is specified, the parent joint of that link (if it exists) is automatically included-->
|
9 | 12 | <!--JOINTS: When a joint is specified, the child link of that joint (which will always exist) is automatically included-->
|
|
21 | 24 | <joint name="j2n6s200_joint_finger_1"/>
|
22 | 25 | <joint name="j2n6s200_joint_finger_2"/>
|
23 | 26 | </group>
|
24 |
| - <group name="articulable_fork"> |
25 |
| - <chain base_link="af_link_base" tip_link="forkTip"/> |
26 |
| - </group> |
| 27 | + <xacro:if value="${end_effector_tool == 'articulable_fork'}"> |
| 28 | + <group name="articulable_fork"> |
| 29 | + <chain base_link="af_link_base" tip_link="forkTip"/> |
| 30 | + </group> |
| 31 | + </xacro:if> |
27 | 32 | <group name="ada">
|
28 | 33 | <chain base_link="j2n6s200_link_base" tip_link="forkTip"/>
|
29 | 34 | </group>
|
|
44 | 49 | <joint name="j2n6s200_joint_5" value="0.0"/>
|
45 | 50 | <joint name="j2n6s200_joint_6" value="0.0"/>
|
46 | 51 | </group_state>
|
47 |
| - <group_state name="Home" group="articulable_fork"> |
48 |
| - <joint name="af_joint_1" value="0.0"/> |
49 |
| - <joint name="af_joint_2" value="0.0"/> |
50 |
| - </group_state> |
51 | 52 | <group_state name="Open" group="hand">
|
52 | 53 | <joint name="j2n6s200_joint_finger_1" value="0"/>
|
53 | 54 | <joint name="j2n6s200_joint_finger_2" value="0"/>
|
|
60 | 61 | <joint name="j2n6s200_joint_finger_1" value="1.46977"/>
|
61 | 62 | <joint name="j2n6s200_joint_finger_2" value="1.46977"/>
|
62 | 63 | </group_state>
|
| 64 | + <xacro:if value="${end_effector_tool == 'articulable_fork'}"> |
| 65 | + <group_state name="Home" group="articulable_fork"> |
| 66 | + <joint name="af_joint_1" value="0.0"/> |
| 67 | + <joint name="af_joint_2" value="0.0"/> |
| 68 | + </group_state> |
| 69 | + </xacro:if> |
63 | 70 | <group_state name="Home" group="ada">
|
64 | 71 | <joint name="j2n6s200_joint_1" value="-1.47568"/>
|
65 | 72 | <joint name="j2n6s200_joint_2" value="2.92779"/>
|
66 | 73 | <joint name="j2n6s200_joint_3" value="1.00845"/>
|
67 | 74 | <joint name="j2n6s200_joint_4" value="-2.0847"/>
|
68 | 75 | <joint name="j2n6s200_joint_5" value="1.43588"/>
|
69 | 76 | <joint name="j2n6s200_joint_6" value="1.32575"/>
|
70 |
| - <joint name="af_joint_1" value="0.0"/> |
71 |
| - <joint name="af_joint_2" value="0.0"/> |
| 77 | + <xacro:if value="${end_effector_tool == 'articulable_fork'}"> |
| 78 | + <joint name="af_joint_1" value="0.0"/> |
| 79 | + <joint name="af_joint_2" value="0.0"/> |
| 80 | + </xacro:if> |
72 | 81 | </group_state>
|
73 | 82 | <group_state name="Candle" group="ada">
|
74 | 83 | <joint name="j2n6s200_joint_1" value="0.0"/>
|
|
77 | 86 | <joint name="j2n6s200_joint_4" value="0.0"/>
|
78 | 87 | <joint name="j2n6s200_joint_5" value="0.0"/>
|
79 | 88 | <joint name="j2n6s200_joint_6" value="0.0"/>
|
80 |
| - <joint name="af_joint_1" value="0.0"/> |
81 |
| - <joint name="af_joint_2" value="0.0"/> |
| 89 | + <xacro:if value="${end_effector_tool == 'articulable_fork'}"> |
| 90 | + <joint name="af_joint_1" value="0.0"/> |
| 91 | + <joint name="af_joint_2" value="0.0"/> |
| 92 | + </xacro:if> |
82 | 93 | </group_state>
|
83 | 94 | <!--END EFFECTOR: Purpose: Delineate group(s) as end-effectors for other group(s).-->
|
84 | 95 | <end_effector name="hand" parent_link="j2n6s200_link_6" group="hand" parent_group="jaco_arm"/>
|
|
297 | 308 | <disable_collisions link1="uncalibrated_camera_link" link2="screwHeadRight" reason="Adjacent"/>
|
298 | 309 |
|
299 | 310 | <!-- Disable collisions for Articulable Fork links -->
|
300 |
| - <disable_collisions link1="af_link_base" link2="forkHandle" reason="Adjacent"/> |
301 |
| - <disable_collisions link1="af_link_base" link2="af_link_1" reason="Adjacent"/> |
302 |
| - <disable_collisions link1="af_link_base" link2="af_link_2" reason="Adjacent"/> |
303 |
| - <disable_collisions link1="af_link_base" link2="af_ft_adapter_link" reason="Adjacent"/> |
304 |
| - <disable_collisions link1="af_link_base" link2="af_motor_fixture_link" reason="Adjacent"/> |
305 |
| - <disable_collisions link1="af_link_base" link2="forkTine" reason="Never"/> |
306 |
| - <disable_collisions link1="af_link_base" link2="forque" reason="Never"/> |
307 |
| - <disable_collisions link1="af_link_1" link2="af_link_base" reason="Adjacent"/> |
308 |
| - <disable_collisions link1="af_link_1" link2="af_link_2" reason="Adjacent"/> |
309 |
| - <disable_collisions link1="af_link_1" link2="af_ft_adapter_link" reason="Adjacent"/> |
310 |
| - <disable_collisions link1="af_link_1" link2="af_motor_fixture_link" reason="Adjacent"/> |
311 |
| - <disable_collisions link1="af_link_1" link2="forkTine" reason="Adjacent"/> |
312 |
| - <disable_collisions link1="af_link_1" link2="forque" reason="Adjacent"/> |
313 |
| - <disable_collisions link1="af_link_2" link2="af_link_1" reason="Adjacent"/> |
314 |
| - <disable_collisions link1="af_link_2" link2="af_link_base" reason="Adjacent"/> |
315 |
| - <disable_collisions link1="af_link_2" link2="af_ft_adapter_link" reason="Adjacent"/> |
316 |
| - <disable_collisions link1="af_link_2" link2="af_motor_fixture_link" reason="Adjacent"/> |
317 |
| - <disable_collisions link1="af_link_2" link2="forkTine" reason="Adjacent"/> |
318 |
| - <disable_collisions link1="af_link_2" link2="forque" reason="Adjacent"/> |
319 |
| - <disable_collisions link1="af_ft_adapter_link" link2="af_link_1" reason="Adjacent"/> |
320 |
| - <disable_collisions link1="af_ft_adapter_link" link2="af_link_2" reason="Adjacent"/> |
321 |
| - <disable_collisions link1="af_ft_adapter_link" link2="af_link_base" reason="Adjacent"/> |
322 |
| - <disable_collisions link1="af_ft_adapter_link" link2="af_motor_fixture_link" reason="Adjacent"/> |
323 |
| - <disable_collisions link1="af_ft_adapter_link" link2="forkTine" reason="Adjacent"/> |
324 |
| - <disable_collisions link1="af_ft_adapter_link" link2="forque" reason="Adjacent"/> |
325 |
| - <disable_collisions link1="af_motor_fixture_link" link2="af_link_1" reason="Adjacent"/> |
326 |
| - <disable_collisions link1="af_motor_fixture_link" link2="af_link_2" reason="Adjacent"/> |
327 |
| - <disable_collisions link1="af_motor_fixture_link" link2="af_ft_adapter_link" reason="Adjacent"/> |
328 |
| - <disable_collisions link1="af_motor_fixture_link" link2="af_link_base" reason="Adjacent"/> |
329 |
| - <disable_collisions link1="af_motor_fixture_link" link2="forkTine" reason="Adjacent"/> |
330 |
| - <disable_collisions link1="af_motor_fixture_link" link2="forque" reason="Adjacent"/> |
| 311 | + <xacro:if value="${end_effector_tool == 'articulable_fork'}"> |
| 312 | + <disable_collisions link1="af_link_base" link2="forkHandle" reason="Adjacent"/> |
| 313 | + <disable_collisions link1="af_link_base" link2="af_link_1" reason="Adjacent"/> |
| 314 | + <disable_collisions link1="af_link_base" link2="af_link_2" reason="Adjacent"/> |
| 315 | + <disable_collisions link1="af_link_base" link2="af_ft_adapter_link" reason="Adjacent"/> |
| 316 | + <disable_collisions link1="af_link_base" link2="af_motor_fixture_link" reason="Adjacent"/> |
| 317 | + <disable_collisions link1="af_link_base" link2="forkTine" reason="Never"/> |
| 318 | + <disable_collisions link1="af_link_base" link2="forque" reason="Never"/> |
| 319 | + <disable_collisions link1="af_link_1" link2="af_link_base" reason="Adjacent"/> |
| 320 | + <disable_collisions link1="af_link_1" link2="af_link_2" reason="Adjacent"/> |
| 321 | + <disable_collisions link1="af_link_1" link2="af_ft_adapter_link" reason="Adjacent"/> |
| 322 | + <disable_collisions link1="af_link_1" link2="af_motor_fixture_link" reason="Adjacent"/> |
| 323 | + <disable_collisions link1="af_link_1" link2="forkTine" reason="Adjacent"/> |
| 324 | + <disable_collisions link1="af_link_1" link2="forque" reason="Adjacent"/> |
| 325 | + <disable_collisions link1="af_link_2" link2="af_link_1" reason="Adjacent"/> |
| 326 | + <disable_collisions link1="af_link_2" link2="af_link_base" reason="Adjacent"/> |
| 327 | + <disable_collisions link1="af_link_2" link2="af_ft_adapter_link" reason="Adjacent"/> |
| 328 | + <disable_collisions link1="af_link_2" link2="af_motor_fixture_link" reason="Adjacent"/> |
| 329 | + <disable_collisions link1="af_link_2" link2="forkTine" reason="Adjacent"/> |
| 330 | + <disable_collisions link1="af_link_2" link2="forque" reason="Adjacent"/> |
| 331 | + <disable_collisions link1="af_ft_adapter_link" link2="af_link_1" reason="Adjacent"/> |
| 332 | + <disable_collisions link1="af_ft_adapter_link" link2="af_link_2" reason="Adjacent"/> |
| 333 | + <disable_collisions link1="af_ft_adapter_link" link2="af_link_base" reason="Adjacent"/> |
| 334 | + <disable_collisions link1="af_ft_adapter_link" link2="af_motor_fixture_link" reason="Adjacent"/> |
| 335 | + <disable_collisions link1="af_ft_adapter_link" link2="forkTine" reason="Adjacent"/> |
| 336 | + <disable_collisions link1="af_ft_adapter_link" link2="forque" reason="Adjacent"/> |
| 337 | + <disable_collisions link1="af_motor_fixture_link" link2="af_link_1" reason="Adjacent"/> |
| 338 | + <disable_collisions link1="af_motor_fixture_link" link2="af_link_2" reason="Adjacent"/> |
| 339 | + <disable_collisions link1="af_motor_fixture_link" link2="af_ft_adapter_link" reason="Adjacent"/> |
| 340 | + <disable_collisions link1="af_motor_fixture_link" link2="af_link_base" reason="Adjacent"/> |
| 341 | + <disable_collisions link1="af_motor_fixture_link" link2="forkTine" reason="Adjacent"/> |
| 342 | + <disable_collisions link1="af_motor_fixture_link" link2="forque" reason="Adjacent"/> |
| 343 | + </xacro:if> |
331 | 344 |
|
332 | 345 | </robot>
|
0 commit comments