vacuum_gripper_joint is a null revolute joint. Perhaps it should be a fixed joint?
The vacuum gripper joint is revolute with an upper and lower position limit of 0.0:
<joint name="vacuum_gripper_joint" type="revolute">
<xacro:insert_block name="origin" />
<axis xyz="0 0 1" />
<limit lower="0" upper="0" effort="0" velocity="0" />
<parent link="${wrist_link}" />
<child link="vacuum_gripper_link" />
<dynamics damping="0.0" friction="0.0"/>
</joint>
Rather than this, I would recommend making this joint of type "fixed", and removing the <limit>, <axis>, and <dynamics> tags. I believe this will have two effects: Gazebo won't need to do unnecessary no-op physics calculations on this joint, and you won't need to permanently publish 0.0 on the joint states topic for this joint.
Comments (5)
-
reporter -
Thanks for the suggestion. We have it as a revolute joint because two consecutive fixed joints get collapsed by Gazebo. It is a workaround specific to ARIAC needed for the vacuum gripper plugin.
-
reporter Oh, interesting. Here I was thinking that the collapsing of consecutive fixed joints would be a good thing in this context. But I suppose that would be a bad thing once an object is attached. Thanks for the clarification @d_hood
-
reporter - changed status to wontfix
the null joint is an intentional workaround for Gazebo's fixed joint collapsing mechanism
-
No worries, it definitely could be documented better! I added a comment in https://bitbucket.org/osrf/ariac/commits/31f0ce7cc4dd8f430d81b48a17ab0e726162c7cd for the next reader.
- Log in to comment