drz_telemax_gripper_finger.urdf.xacro 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?xml version="1.0"?>
  2. <robot xmlns:xacro="http://www.ros.org/wiki/xacro">
  3. <xacro:property name="M_PI" value="3.1415926535897931" />
  4. <xacro:macro name="telemax_gripper_finger" params="parent *origin prefix mimic">
  5. <xacro:property name="middle_joint_multiplier" value="${1.02/0.2}" />
  6. <xacro:property name="middle_joint_offset" value="-0.12" />
  7. <xacro:property name="end_joint_multiplier" value="${-1 * 1.02/0.2}" />
  8. <xacro:property name="end_joint_offset" value="0.12" />
  9. <joint name="${prefix}_finger_middle_joint" type="revolute">
  10. <xacro:insert_block name="origin" />
  11. <parent link="${parent}"/>
  12. <child link="${prefix}_finger_middle_link"/>
  13. <axis xyz="0 0 1" />
  14. <mimic joint="${mimic}" multiplier="${middle_joint_multiplier}" offset="${middle_joint_offset}"/>
  15. <limit lower="-0.12" upper="1.02" velocity="1" effort="1000" />
  16. </joint>
  17. <link name="${prefix}_finger_middle_link">
  18. <!-- <inertial>
  19. <origin xyz="${-0.04 + (0.04+0.04+0.1246)/2} ${0.0634 - (0.0634+0.12-0.08)/2} ${-0.04 + (0.04+0.05)/2}" rpy="0 0 0"/>
  20. <mass value="1.0" />
  21. <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" />
  22. </inertial>-->
  23. <xacro:inertial_cuboid_with_pose mass="0.5" x_length="0.14" y_length="0.04" z_length="0.025" >
  24. <origin xyz="0.05 0.01 0.0" rpy="0 0 0"/>
  25. </xacro:inertial_cuboid_with_pose>
  26. <visual>
  27. <geometry>
  28. <mesh filename="package://drz_telemax_description/meshes/finger_middle_link.dae" scale="0.001 ${0.001} 0.001"/>
  29. </geometry>
  30. </visual>
  31. <collision>
  32. <origin xyz="0.05 0.01 0.0" rpy="0 0 0"/>
  33. <geometry>
  34. <box size="0.14 0.04 0.025" />
  35. </geometry>
  36. </collision>
  37. </link>
  38. <joint name="${prefix}_finger_end_joint" type="revolute">
  39. <parent link="${prefix}_finger_middle_link"/>
  40. <child link="${prefix}_finger_end_link"/>
  41. <origin xyz="0.110 0.0 0.0" rpy="0 0 0" />
  42. <axis xyz="0 0 1" />
  43. <mimic joint="${mimic}" multiplier="${end_joint_multiplier}" offset="${end_joint_offset}"/>
  44. <limit lower="-1.02" upper="0.12" velocity="1" effort="1000" />
  45. </joint>
  46. <link name="${prefix}_finger_end_link">
  47. <!-- <inertial>
  48. <origin xyz="${-0.04 + (0.04+0.04+0.1246)/2} ${0.0634 - (0.0634+0.12-0.08)/2} ${-0.04 + (0.04+0.05)/2}" rpy="0 0 0"/>
  49. <mass value="1.0" />
  50. <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0" />
  51. </inertial>-->
  52. <xacro:inertial_cuboid_with_pose mass="0.5" x_length="0.08" y_length="0.03" z_length="0.0275" >
  53. <origin xyz="0.05 -0.01225 0.0" rpy="0 0 0"/>
  54. </xacro:inertial_cuboid_with_pose>
  55. <visual>
  56. <geometry>
  57. <mesh filename="package://drz_telemax_description/meshes/finger_end_link.dae" scale="0.001 ${0.001} 0.001"/>
  58. </geometry>
  59. </visual>
  60. <collision>
  61. <origin xyz="0.05 -0.01225 0.0" rpy="0 0 0"/>
  62. <geometry>
  63. <box size="0.08 0.03 0.0275" />
  64. </geometry>
  65. </collision>
  66. <collision>
  67. <origin xyz="0.0 0.0 0.0" rpy="0 0 ${-M_PI/4}"/>
  68. <geometry>
  69. <box size="0.06 0.03 0.0275" />
  70. </geometry>
  71. </collision>
  72. </link>
  73. <gazebo>
  74. <plugin name="mimic_${prefix}_finger_middle_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so">
  75. <joint>${mimic}</joint>
  76. <mimicJoint>${prefix}_finger_middle_joint</mimicJoint>
  77. <multiplier>${middle_joint_multiplier}</multiplier>
  78. <offset>${middle_joint_offset}</offset>
  79. <maxEffort>4</maxEffort>
  80. <hasPID/>
  81. </plugin>
  82. <plugin name="mimic_${prefix}_finger_end_joint" filename="libroboticsgroup_gazebo_mimic_joint_plugin.so">
  83. <joint>${mimic}</joint>
  84. <mimicJoint>${prefix}_finger_end_joint</mimicJoint>
  85. <multiplier>${end_joint_multiplier}</multiplier>
  86. <offset>${end_joint_offset}</offset>
  87. <maxEffort>4</maxEffort>
  88. <hasPID/>
  89. </plugin>
  90. </gazebo>
  91. </xacro:macro>
  92. </robot>