add inspire hand for g1

This commit is contained in:
matheecs 2025-03-12 15:19:52 +08:00
parent 3a92d0dbe3
commit 751aa01419
65 changed files with 5353 additions and 8 deletions

View File

@ -37,7 +37,7 @@
<axis xyz="0 1 0"/>
<parent link="left_hand_palm_link"/>
<child link="left_hand_thumb_0_link"/>
<limit effort="2.45" velocity="6.857" lower="-1.04719755" upper="1.04719755"/>
<limit effort="2.45" velocity="3.14" lower="-1.04719755" upper="1.04719755"/>
</joint>
<link name="left_hand_thumb_0_link">
<inertial>

View File

@ -37,7 +37,7 @@
<axis xyz="0 1 0"/>
<parent link="right_hand_palm_link"/>
<child link="right_hand_thumb_0_link"/>
<limit effort="2.45" velocity="6.857" lower="-1.04719755" upper="1.04719755"/>
<limit effort="2.45" velocity="3.14" lower="-1.04719755" upper="1.04719755"/>
</joint>
<link name="right_hand_thumb_0_link">
<inertial>

View File

@ -842,7 +842,7 @@
<axis xyz="0 1 0"/>
<parent link="left_hand_palm_link"/>
<child link="left_hand_thumb_0_link"/>
<limit effort="2.45" velocity="6.857" lower="-1.04719755" upper="1.04719755"/>
<limit effort="2.45" velocity="3.14" lower="-1.04719755" upper="1.04719755"/>
</joint>
<link name="left_hand_thumb_0_link">
<inertial>
@ -1275,7 +1275,7 @@
<axis xyz="0 1 0"/>
<parent link="right_hand_palm_link"/>
<child link="right_hand_thumb_0_link"/>
<limit effort="2.45" velocity="6.857" lower="-1.04719755" upper="1.04719755"/>
<limit effort="2.45" velocity="3.14" lower="-1.04719755" upper="1.04719755"/>
</joint>
<link name="right_hand_thumb_0_link">
<inertial>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -870,7 +870,7 @@
<axis xyz="0 1 0"/>
<parent link="left_hand_palm_link"/>
<child link="left_hand_thumb_0_link"/>
<limit effort="2.45" velocity="6.857" lower="-1.04719755" upper="1.04719755"/>
<limit effort="2.45" velocity="3.14" lower="-1.04719755" upper="1.04719755"/>
</joint>
<link name="left_hand_thumb_0_link">
<inertial>
@ -1303,7 +1303,7 @@
<axis xyz="0 1 0"/>
<parent link="right_hand_palm_link"/>
<child link="right_hand_thumb_0_link"/>
<limit effort="2.45" velocity="6.857" lower="-1.04719755" upper="1.04719755"/>
<limit effort="2.45" velocity="3.14" lower="-1.04719755" upper="1.04719755"/>
</joint>
<link name="right_hand_thumb_0_link">
<inertial>

View File

@ -842,7 +842,7 @@
<axis xyz="0 1 0"/>
<parent link="left_hand_palm_link"/>
<child link="left_hand_thumb_0_link"/>
<limit effort="2.45" velocity="6.857" lower="-1.04719755" upper="1.04719755"/>
<limit effort="2.45" velocity="3.14" lower="-1.04719755" upper="1.04719755"/>
</joint>
<link name="left_hand_thumb_0_link">
<inertial>
@ -1275,7 +1275,7 @@
<axis xyz="0 1 0"/>
<parent link="right_hand_palm_link"/>
<child link="right_hand_thumb_0_link"/>
<limit effort="2.45" velocity="6.857" lower="-1.04719755" upper="1.04719755"/>
<limit effort="2.45" velocity="3.14" lower="-1.04719755" upper="1.04719755"/>
</joint>
<link name="right_hand_thumb_0_link">
<inertial>

View File

@ -0,0 +1,422 @@
<robot name="Lhand">
<mujoco>
<compiler meshdir="meshes" discardvisual="false"/>
</mujoco>
<!-- <link name="world"></link>
<joint name="floating_base_joint" type="floating">
<parent link="world"/>
<child link="left_wrist_yaw_link"/>
</joint> -->
<link name="left_wrist_yaw_link"></link>
<joint name="L_base_link_joint" type="fixed">
<origin xyz="0.0415 0 0" rpy="0 0 1.5707963267948966192313216916398"/>
<parent link="left_wrist_yaw_link"/>
<child link="L_hand_base_link"/>
</joint>
<link name="L_hand_base_link">
<inertial>
<origin xyz="-0.002551 -0.066047 -0.0019357" rpy="0 0 0"/>
<mass value="0.14143"/>
<inertia ixx="0.0001234" ixy="2.1995E-06" ixz="-1.7694E-06" iyy="8.3835E-05" iyz="1.5968E-06" izz="7.7231E-05"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/L_hand_base_link.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/L_hand_base_link.STL"/>
</geometry>
</collision>
</link>
<link name="L_thumb_proximal_base">
<inertial>
<origin xyz="0.0048817 0.00038782 -0.00722" rpy="0 0 0"/>
<mass value="0.0018869"/>
<inertia ixx="5.5158E-08" ixy="-1.1803E-08" ixz="-4.6743E-09" iyy="8.2164E-08" iyz="-1.3521E-09" izz="6.7434E-08"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link11_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link11_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_thumb_proximal_yaw_joint" type="revolute">
<origin xyz="-0.01696 -0.0691 0.02045" rpy="1.5708 -1.5708 0"/>
<parent link="L_hand_base_link"/>
<child link="L_thumb_proximal_base"/>
<axis xyz="0 0 1"/>
<limit lower="-0.1" upper="1.3" effort="1" velocity="0.5"/>
</joint>
<link name="L_thumb_proximal">
<inertial>
<origin xyz="0.021936 -0.01279 -0.0080386" rpy="0 0 0"/>
<mass value="0.0066101"/>
<inertia ixx="1.5693E-06" ixy="7.8339E-07" ixz="8.5959E-10" iyy="1.7356E-06" iyz="1.0378E-09" izz="2.787E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link12_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link12_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_thumb_proximal_pitch_joint" type="revolute">
<origin xyz="0.0099867 0.0098242 -0.0089" rpy="-1.5708 0 0.16939"/>
<parent link="L_thumb_proximal_base"/>
<child link="L_thumb_proximal"/>
<axis xyz="0 0 -1"/>
<limit lower="-0.1" upper="0.6" effort="1" velocity="0.5"/>
</joint>
<link name="L_thumb_intermediate">
<inertial>
<origin xyz="0.0095531 0.0016282 -0.0072002" rpy="0 0 0"/>
<mass value="0.0037844"/>
<inertia ixx="3.6981E-07" ixy="9.8603E-08" ixz="-2.8173E-12" iyy="3.2395E-07" iyz="-2.8028E-12" izz="4.6532E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link13_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link13_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_thumb_intermediate_joint" type="revolute">
<origin xyz="0.04407 -0.034553 -0.0008" rpy="0 0 0"/>
<parent link="L_thumb_proximal"/>
<child link="L_thumb_intermediate"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="0.8" effort="1" velocity="0.5"/>
<mimic joint="L_thumb_proximal_pitch_joint" multiplier="1.6" offset="0"/>
</joint>
<link name="L_thumb_distal">
<inertial>
<origin xyz="0.0092888 -0.004953 -0.0060033" rpy="0 0 0"/>
<mass value="0.003344"/>
<inertia ixx="1.3632E-07" ixy="5.6787E-08" ixz="-9.1939E-11" iyy="1.4052E-07" iyz="1.2145E-10" izz="2.0026E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link14_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link14_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_thumb_distal_joint" type="revolute">
<origin xyz="0.020248 -0.010156 -0.0012" rpy="0 0 0"/>
<parent link="L_thumb_intermediate"/>
<child link="L_thumb_distal"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.2" effort="1" velocity="0.5"/>
<mimic joint="L_thumb_proximal_pitch_joint" multiplier="2.4" offset="0"/>
</joint>
<link name="L_index_proximal">
<inertial>
<origin xyz="0.0012971 -0.011934 -0.0059998" rpy="0 0 0"/>
<mass value="0.0042405"/>
<inertia ixx="6.6215E-07" ixy="1.8442E-08" ixz="1.3746E-12" iyy="2.1167E-07" iyz="-1.4773E-11" izz="6.9402E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link15_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link15_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_index_proximal_joint" type="revolute">
<origin xyz="0.00028533 -0.13653 0.032268" rpy="-0.034907 0 0"/>
<parent link="L_hand_base_link"/>
<child link="L_index_proximal"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
</joint>
<link name="L_index_intermediate">
<inertial>
<origin xyz="0.0021753 -0.019567 -0.005" rpy="0 0 0"/>
<mass value="0.0045682"/>
<inertia ixx="7.6284E-07" ixy="-8.063E-08" ixz="3.6797E-13" iyy="9.4308E-08" iyz="1.5743E-13" izz="7.8176E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link16_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link16_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_index_intermediate_joint" type="revolute">
<origin xyz="-0.0024229 -0.032041 -0.001" rpy="0 0 0"/>
<parent link="L_index_proximal"/>
<child link="L_index_intermediate"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
<mimic joint="L_index_proximal_joint" multiplier="1" offset="0"/>
</joint>
<link name="L_middle_proximal">
<inertial>
<origin xyz="0.0012971 -0.011934 -0.0059999" rpy="0 0 0"/>
<mass value="0.0042405"/>
<inertia ixx="6.6215E-07" ixy="1.8442E-08" ixz="1.2299E-12" iyy="2.1167E-07" iyz="-1.4484E-11" izz="6.9402E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link17_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link17_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_middle_proximal_joint" type="revolute">
<origin xyz="0.00028533 -0.1371 0.01295" rpy="0 0 0"/>
<parent link="L_hand_base_link"/>
<child link="L_middle_proximal"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
</joint>
<link name="L_middle_intermediate">
<inertial>
<origin xyz="0.001921 -0.020796 -0.0049999" rpy="0 0 0"/>
<mass value="0.0050397"/>
<inertia ixx="9.5823E-07" ixy="-1.1425E-07" ixz="-2.4186E-12" iyy="1.0646E-07" iyz="3.6974E-12" izz="9.8385E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link18_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link18_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_middle_intermediate_joint" type="revolute">
<origin xyz="-0.0024229 -0.032041 -0.001" rpy="0 0 0"/>
<parent link="L_middle_proximal"/>
<child link="L_middle_intermediate"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
<mimic joint="L_middle_proximal_joint" multiplier="1" offset="0"/>
</joint>
<link name="L_ring_proximal">
<inertial>
<origin xyz="0.0012971 -0.011934 -0.0059999" rpy="0 0 0"/>
<mass value="0.0042405"/>
<inertia ixx="6.6215E-07" ixy="1.8442E-08" ixz="9.6052E-13" iyy="2.1167E-07" iyz="-1.4124E-11" izz="6.9402E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link19_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link19_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_ring_proximal_joint" type="revolute">
<origin xyz="0.00028533 -0.13691 -0.0062872" rpy="0.05236 0 0"/>
<parent link="L_hand_base_link"/>
<child link="L_ring_proximal"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
</joint>
<link name="L_ring_intermediate">
<inertial>
<origin xyz="0.0021753 -0.019567 -0.005" rpy="0 0 0"/>
<mass value="0.0045682"/>
<inertia ixx="7.6285E-07" ixy="-8.0631E-08" ixz="3.3472E-14" iyy="9.4308E-08" iyz="-4.4773E-13" izz="7.8176E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link20_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link20_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_ring_intermediate_joint" type="revolute">
<origin xyz="-0.0024229 -0.032041 -0.001" rpy="0 0 0"/>
<parent link="L_ring_proximal"/>
<child link="L_ring_intermediate"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
<mimic joint="L_ring_proximal_joint" multiplier="1" offset="0"/>
</joint>
<link name="L_pinky_proximal">
<inertial>
<origin xyz="0.0012971 -0.011934 -0.0059999" rpy="0 0 0"/>
<mass value="0.0042405"/>
<inertia ixx="6.6215E-07" ixy="1.8442E-08" ixz="1.0279E-12" iyy="2.1167E-07" iyz="-1.4277E-11" izz="6.9402E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link21_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link21_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_pinky_proximal_joint" type="revolute">
<origin xyz="0.00028533 -0.13571 -0.025488" rpy="0.10472 0 0"/>
<parent link="L_hand_base_link"/>
<child link="L_pinky_proximal"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
</joint>
<link name="L_pinky_intermediate">
<inertial>
<origin xyz="0.0024788 -0.016208 -0.0050001" rpy="0 0 0"/>
<mass value="0.0036036"/>
<inertia ixx="4.3923E-07" ixy="-4.1355E-08" ixz="1.2263E-12" iyy="7.0315E-08" iyz="3.1311E-12" izz="4.4881E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link22_L.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link22_L.STL"/>
</geometry>
</collision>
</link>
<joint name="L_pinky_intermediate_joint" type="revolute">
<origin xyz="-0.0024229 -0.032041 -0.001" rpy="0 0 0"/>
<parent link="L_pinky_proximal"/>
<child link="L_pinky_intermediate"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
<mimic joint="L_pinky_proximal_joint" multiplier="1" offset="0"/>
</joint>
</robot>

View File

@ -0,0 +1,422 @@
<robot name="Lhand">
<mujoco>
<compiler meshdir="meshes" discardvisual="false"/>
</mujoco>
<!-- <link name="world"></link>
<joint name="floating_base_joint" type="floating">
<parent link="world"/>
<child link="right_wrist_yaw_link"/>
</joint> -->
<link name="right_wrist_yaw_link"></link>
<joint name="R_base_link_joint" type="fixed">
<origin xyz="0.0415 0 0" rpy="3.1415926535897932384626433832795 0 -1.5707963267948966192313216916398"/>
<parent link="right_wrist_yaw_link"/>
<child link="R_hand_base_link"/>
</joint>
<link name="R_hand_base_link">
<inertial>
<origin xyz="-0.0025264 -0.066047 0.0019598" rpy="0 0 0"/>
<mass value="0.14143"/>
<inertia ixx="0.00012281" ixy="2.1711E-06" ixz="1.7709E-06" iyy="8.3832E-05" iyz="-1.6551E-06" izz="7.6663E-05"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/R_hand_base_link.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/R_hand_base_link.STL"/>
</geometry>
</collision>
</link>
<link name="R_thumb_proximal_base">
<inertial>
<origin xyz="-0.0048064 0.0009382 -0.00757" rpy="0 0 0"/>
<mass value="0.0018869"/>
<inertia ixx="5.816E-08" ixy="1.4539E-08" ixz="4.491E-09" iyy="7.9161E-08" iyz="-1.8727E-09" izz="6.7433E-08"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link11_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link11_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_thumb_proximal_yaw_joint" type="revolute">
<origin xyz="-0.01696 -0.0691 -0.02045" rpy="1.5708 -1.5708 0"/>
<parent link="R_hand_base_link"/>
<child link="R_thumb_proximal_base"/>
<axis xyz="0 0 -1"/>
<limit lower="-0.1" upper="1.3" effort="1" velocity="0.5"/>
</joint>
<link name="R_thumb_proximal">
<inertial>
<origin xyz="0.021932 0.012785 -0.0080386" rpy="0 0 0"/>
<mass value="0.0066075"/>
<inertia ixx="1.5686E-06" ixy="-7.8296E-07" ixz="8.9143E-10" iyy="1.7353E-06" iyz="-1.0191E-09" izz="2.786E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link12_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link12_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_thumb_proximal_pitch_joint" type="revolute">
<origin xyz="-0.0088099 0.010892 -0.00925" rpy="1.5708 0 2.8587"/>
<parent link="R_thumb_proximal_base"/>
<child link="R_thumb_proximal"/>
<axis xyz="0 0 1"/>
<limit lower="-0.1" upper="0.6" effort="1" velocity="0.5"/>
</joint>
<link name="R_thumb_intermediate">
<inertial>
<origin xyz="0.0095544 -0.0016282 -0.0071997" rpy="0 0 0"/>
<mass value="0.0037847"/>
<inertia ixx="3.6981E-07" ixy="-9.8581E-08" ixz="-4.7469E-12" iyy="3.2394E-07" iyz="1.0939E-12" izz="4.6531E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link13_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link13_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_thumb_intermediate_joint" type="revolute">
<origin xyz="0.04407 0.034553 -0.0008" rpy="0 0 0"/>
<parent link="R_thumb_proximal"/>
<child link="R_thumb_intermediate"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="0.8" effort="1" velocity="0.5"/>
<mimic joint="R_thumb_proximal_pitch_joint" multiplier="1.6" offset="0"/>
</joint>
<link name="R_thumb_distal">
<inertial>
<origin xyz="0.0092888 0.0049529 -0.0060033" rpy="0 0 0"/>
<mass value="0.0033441"/>
<inertia ixx="1.3632E-07" ixy="-5.6788E-08" ixz="-9.2764E-11" iyy="1.4052E-07" iyz="-1.2283E-10" izz="2.0026E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link14_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link14_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_thumb_distal_joint" type="revolute">
<origin xyz="0.020248 0.010156 -0.0012" rpy="0 0 0"/>
<parent link="R_thumb_intermediate"/>
<child link="R_thumb_distal"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.2" effort="1" velocity="0.5"/>
<mimic joint="R_thumb_proximal_pitch_joint" multiplier="2.4" offset="0"/>
</joint>
<link name="R_index_proximal">
<inertial>
<origin xyz="0.0012259 0.011942 -0.0060001" rpy="0 0 0"/>
<mass value="0.0042403"/>
<inertia ixx="6.6232E-07" ixy="-1.5775E-08" ixz="1.8515E-12" iyy="2.1146E-07" iyz="-5.0828E-12" izz="6.9398E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link15_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link15_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_index_proximal_joint" type="revolute">
<origin xyz="0.00028533 -0.13653 -0.032268" rpy="-3.1067 0 0"/>
<parent link="R_hand_base_link"/>
<child link="R_index_proximal"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
</joint>
<link name="R_index_intermediate">
<inertial>
<origin xyz="0.0019697 0.019589 -0.005" rpy="0 0 0"/>
<mass value="0.0045683"/>
<inertia ixx="7.6111E-07" ixy="8.7637E-08" ixz="-3.7751E-13" iyy="9.6076E-08" iyz="9.9444E-13" izz="7.8179E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link16_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link16_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_index_intermediate_joint" type="revolute">
<origin xyz="-0.0026138 0.032026 -0.001" rpy="0 0 0"/>
<parent link="R_index_proximal"/>
<child link="R_index_intermediate"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
<mimic joint="R_index_proximal_joint" multiplier="1" offset="0"/>
</joint>
<link name="R_middle_proximal">
<inertial>
<origin xyz="0.001297 0.011934 -0.0060001" rpy="0 0 0"/>
<mass value="0.0042403"/>
<inertia ixx="6.6211E-07" ixy="-1.8461E-08" ixz="1.8002E-12" iyy="2.1167E-07" iyz="-6.6808E-12" izz="6.9397E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link17_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link17_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_middle_proximal_joint" type="revolute">
<origin xyz="0.00028533 -0.1371 -0.01295" rpy="-3.1416 0 0"/>
<parent link="R_hand_base_link"/>
<child link="R_middle_proximal"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
</joint>
<link name="R_middle_intermediate">
<inertial>
<origin xyz="0.001921 0.020796 -0.005" rpy="0 0 0"/>
<mass value="0.0050396"/>
<inertia ixx="9.5822E-07" ixy="1.1425E-07" ixz="-2.4791E-12" iyy="1.0646E-07" iyz="5.9173E-12" izz="9.8384E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link18_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link18_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_middle_intermediate_joint" type="revolute">
<origin xyz="-0.0024229 0.032041 -0.001" rpy="0 0 0"/>
<parent link="R_middle_proximal"/>
<child link="R_middle_intermediate"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
<mimic joint="R_middle_proximal_joint" multiplier="1" offset="0"/>
</joint>
<link name="R_ring_proximal">
<inertial>
<origin xyz="0.001297 0.011934 -0.0060002" rpy="0 0 0"/>
<mass value="0.0042403"/>
<inertia ixx="6.6211E-07" ixy="-1.8461E-08" ixz="1.5793E-12" iyy="2.1167E-07" iyz="-6.6868E-12" izz="6.9397E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link19_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link19_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_ring_proximal_joint" type="revolute">
<origin xyz="0.00028533 -0.13691 0.0062872" rpy="3.0892 0 0"/>
<parent link="R_hand_base_link"/>
<child link="R_ring_proximal"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
</joint>
<link name="R_ring_intermediate">
<inertial>
<origin xyz="0.0021753 0.019567 -0.005" rpy="0 0 0"/>
<mass value="0.0045683"/>
<inertia ixx="7.6286E-07" ixy="8.0635E-08" ixz="-6.1562E-13" iyy="9.431E-08" iyz="5.8619E-13" izz="7.8177E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link20_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link20_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_ring_intermediate_joint" type="revolute">
<origin xyz="-0.0024229 0.032041 -0.001" rpy="0 0 0"/>
<parent link="R_ring_proximal"/>
<child link="R_ring_intermediate"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
<mimic joint="R_ring_proximal_joint" multiplier="1" offset="0"/>
</joint>
<link name="R_pinky_proximal">
<inertial>
<origin xyz="0.001297 0.011934 -0.0060001" rpy="0 0 0"/>
<mass value="0.0042403"/>
<inertia ixx="6.6211E-07" ixy="-1.8461E-08" ixz="1.6907E-12" iyy="2.1167E-07" iyz="-6.9334E-12" izz="6.9397E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link21_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link21_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_pinky_proximal_joint" type="revolute">
<origin xyz="0.00028533 -0.13571 0.025488" rpy="3.0369 0 0"/>
<parent link="R_hand_base_link"/>
<child link="R_pinky_proximal"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
</joint>
<link name="R_pinky_intermediate">
<inertial>
<origin xyz="0.0024748 0.016203 -0.0050031" rpy="0 0 0"/>
<mass value="0.0035996"/>
<inertia ixx="4.3913E-07" ixy="4.1418E-08" ixz="3.7168E-11" iyy="7.0247E-08" iyz="5.8613E-11" izz="4.4867E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link22_R.STL"/>
</geometry>
<material name="dark">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/Link22_R.STL"/>
</geometry>
</collision>
</link>
<joint name="R_pinky_intermediate_joint" type="revolute">
<origin xyz="-0.0024229 0.032041 -0.001" rpy="0 0 0"/>
<parent link="R_pinky_proximal"/>
<child link="R_pinky_intermediate"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.7" effort="1" velocity="0.5"/>
<mimic joint="R_pinky_proximal_joint" multiplier="1" offset="0"/>
</joint>
</robot>

View File

@ -0,0 +1,391 @@
<robot name="Lhand">
<mujoco>
<compiler meshdir="meshes" discardvisual="false"/>
</mujoco>
<link name="left_wrist_yaw_link"></link>
<joint name="left_base_joint" type="fixed">
<origin xyz="0.15245593 -0.11181005 -0.00832675" rpy="0 1.5707963267948966192313216916398 0"/>
<parent link="left_wrist_yaw_link"/>
<child link="left_base_link"/>
</joint>
<link name="left_base_link">
<inertial>
<origin xyz="-0.00826856171690858 0.115495645683634 -0.0283405186091888" rpy="0 0 0"/>
<mass value="0.260034351027079"/>
<inertia ixx="0.000223659755568991" ixy="1.13436481431654E-06" ixz="5.34309330483412E-07" iyy="0.000266799681382808" iyz="-1.40944118439409E-05" izz="0.00013285776917007"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_base_link.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_base_link.STL"/>
</geometry>
</collision>
</link>
<link name="left_thumb_swing">
<inertial>
<origin xyz="-0.001897403655087 -7.12516796909923E-05 0.00313589310434412" rpy="0 0 0"/>
<mass value="0.00115518743162309"/>
<inertia ixx="6.27834293959477E-08" ixy="9.38445541803444E-10" ixz="-3.50236810587605E-09" iyy="3.78279141131513E-08" iyz="-1.31528360070952E-10" izz="6.1816168438865E-08"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_thumb_swing.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_thumb_swing.STL"/>
</geometry>
</collision>
</link>
<joint name="left_thumb_swing_joint" type="revolute">
<origin xyz="-0.035227 0.0908 -0.040206" rpy="0 0 0"/>
<parent link="left_base_link"/>
<child link="left_thumb_swing"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.70" effort="1" velocity="100"/>
</joint>
<link name="left_thumb_1">
<inertial>
<origin xyz="-0.0163208309809786 0.00996672794459635 -0.00940273641037634" rpy="0 0 0"/>
<mass value="0.00651881950738526"/>
<inertia ixx="1.05252775356938E-06" ixy="8.8013589531825E-08" ixz="4.12297543062756E-10" iyy="1.12456993863274E-06" iyz="-3.58528262599009E-10" izz="1.43633392322177E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_thumb_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_thumb_1.STL"/>
</geometry>
</collision>
</link>
<joint name="left_thumb_1_joint" type="revolute">
<origin xyz="-0.0096402 -0.0097687 0.00125" rpy="1.5708 0 0.037536"/>
<parent link="left_thumb_swing"/>
<child link="left_thumb_1"/>
<axis xyz="0 0 1"/>
<limit lower="-0.95" upper="0" effort="1" velocity="100"/>
</joint>
<link name="left_thumb_2">
<inertial>
<origin xyz="-0.0100669921030146 0.0027226860312175 -0.00854141424002414" rpy="0 0 0"/>
<mass value="0.00406061124452418"/>
<inertia ixx="4.61650984659959E-07" ixy="6.02617854200335E-08" ixz="4.49999330286846E-11" iyy="4.2100553287784E-07" iyz="-2.1886405983307E-10" izz="4.38695633575155E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_thumb_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="left_thumb_2.STL"/>
</geometry>
</collision>
</link>
<joint name="left_thumb_2_joint" type="revolute">
<origin xyz="-0.0385855343215257 0.0137354280979689 -0.00085000000007604" rpy="0 0 0"/>
<parent link="left_thumb_1"/>
<child link="left_thumb_2"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="3.14" effort="1" velocity="100"/>
<mimic joint="left_thumb_1_joint" multiplier="0.40" offset="0"/>
</joint>
<link name="left_thumb_3">
<inertial>
<origin xyz="-0.0166252667929019 0.00439732092491903 -0.00874331047569411" rpy="0 0 0"/>
<mass value="0.00913053073869734"/>
<inertia ixx="5.85505830748828E-07" ixy="2.36405978862981E-07" ixz="-9.42185151685949E-10" iyy="8.21798877779441E-07" iyz="6.15791569450789E-10" izz="9.25701229462772E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_thumb_3.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_thumb_3.STL"/>
</geometry>
</collision>
</link>
<joint name="left_thumb_3_joint" type="revolute">
<origin xyz="-0.0204656980659991 0.00837680232935447 0.000199999999999881" rpy="0 0 0"/>
<parent link="left_thumb_2"/>
<child link="left_thumb_3"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="3.14" effort="1" velocity="100"/>
<mimic joint="left_thumb_1_joint" multiplier="0.60" offset="0"/>
</joint>
<link name="left_index_1">
<inertial>
<origin xyz="0.00219916454162671 0.0122949545354551 -0.00779931609805271" rpy="0 0 0"/>
<mass value="0.00719950629120704"/>
<inertia ixx="1.28051762409609E-06" ixy="-6.28742259934098E-08" ixz="8.85831478756991E-13" iyy="5.82545787352841E-07" iyz="8.55749735433038E-11" izz="1.32913319060816E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_index_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_index_1.STL"/>
</geometry>
</collision>
</link>
<joint name="left_index_1_joint" type="revolute">
<origin xyz="-0.048156 0.11125 0.045404" rpy="1.6057 0 -1.5708"/>
<parent link="left_base_link"/>
<child link="left_index_1"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
</joint>
<link name="left_index_2">
<inertial>
<origin xyz="-0.000690175178177488 0.0256943199737118 -0.0074925254099278" rpy="0 0 0"/>
<mass value="0.00968687528768598"/>
<inertia ixx="2.26451337650877E-06" ixy="-3.90524448356852E-07" ixz="3.56545732231415E-10" iyy="3.82394128669363E-07" iyz="2.76896757225301E-09" izz="2.302471439937E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_index_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_index_2.STL"/>
</geometry>
</collision>
</link>
<joint name="left_index_2_joint" type="revolute">
<origin xyz="0.00259487212105013 0.0326721877470773 -0.000299999999999988" rpy="0 0 0"/>
<parent link="left_index_1"/>
<child link="left_index_2"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
<mimic joint="left_index_1_joint" multiplier="1.05" offset="0"/>
</joint>
<link name="left_middle_1">
<inertial>
<origin xyz="0.00229271394242234 0.0122778605414752 -0.00779931823074317" rpy="0 0 0"/>
<mass value="0.00719950322487975"/>
<inertia ixx="1.27951858905778E-06" ixy="-6.81813021711601E-08" ixz="1.5855112157922E-12" iyy="5.83543537428456E-07" iyz="8.56179612609339E-11" izz="1.32913234511164E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_middle_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_middle_1.STL"/>
</geometry>
</collision>
</link>
<joint name="left_middle_1_joint" type="revolute">
<origin xyz="-0.026577 0.11125 0.046044" rpy="1.5708 0 -1.5708"/>
<parent link="left_base_link"/>
<child link="left_middle_1"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
</joint>
<link name="left_middle_2">
<inertial>
<origin xyz="-7.51983994427274E-05 0.027448753770842 -0.00750059894166984" rpy="0 0 0"/>
<mass value="0.0104611931926301"/>
<inertia ixx="2.75831931773332E-06" ixy="-4.66412841401028E-07" ixz="7.3576656177484E-12" iyy="4.22466538741155E-07" iyz="1.79608426686722E-11" izz="2.80722617348706E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_middle_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_middle_2.STL"/>
</geometry>
</collision>
</link>
<joint name="left_middle_2_joint" type="revolute">
<origin xyz="0.0028436 0.032651 -0.0003" rpy="0 0 0"/>
<parent link="left_middle_1"/>
<child link="left_middle_2"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
<mimic joint="left_middle_1_joint" multiplier="1.05" offset="0"/>
</joint>
<link name="left_ring_1">
<inertial>
<origin xyz="0.00240530428455067 0.0122563079467745 -0.00779931923444504" rpy="0 0 0"/>
<mass value="0.00719949770218713"/>
<inertia ixx="1.27820682409824E-06" ixy="-7.45572429780095E-08" ixz="2.25718181777012E-12" iyy="5.84853511073516E-07" iyz="8.5622233041164E-11" izz="1.32913088941838E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_ring_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_ring_1.STL"/>
</geometry>
</collision>
</link>
<joint name="left_ring_1_joint" type="revolute">
<origin xyz="-0.004945 0.11125 0.045939" rpy="1.5184 0 -1.5708"/>
<parent link="left_base_link"/>
<child link="left_ring_1"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
</joint>
<link name="left_ring_2">
<inertial>
<origin xyz="-0.000667145407605998 0.0256949163202511 -0.00749252997688842" rpy="0 0 0"/>
<mass value="0.00968685177133057"/>
<inertia ixx="2.26381138740299E-06" ixy="-3.92210300202205E-07" ixz="3.58404653503586E-10" iyy="3.83095000534084E-07" iyz="2.77027363965472E-09" izz="2.30247104599333E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_ring_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_ring_2.STL"/>
</geometry>
</collision>
</link>
<joint name="left_ring_2_joint" type="revolute">
<origin xyz="0.0031431 0.032624 -0.0003" rpy="0 0 0"/>
<parent link="left_ring_1"/>
<child link="left_ring_2"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
<mimic joint="left_ring_1_joint" multiplier="1.05" offset="0"/>
</joint>
<link name="left_little_1">
<inertial>
<origin xyz="0.0020908902145567 0.0123138388094518 -0.00779930416612102" rpy="0 0 0"/>
<mass value="0.00719949424831882"/>
<inertia ixx="1.28158473132988E-06" ixy="-5.67213995105241E-08" ixz="3.81932384005559E-13" iyy="5.81492545898195E-07" iyz="8.62730752553906E-11" izz="1.32914698853052E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_little_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_little_1.STL"/>
</geometry>
</collision>
</link>
<joint name="left_little_1_joint" type="revolute">
<origin xyz="0.016446 0.11125 0.042817" rpy="1.4661 0 -1.5708"/>
<parent link="left_base_link"/>
<child link="left_little_1"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
</joint>
<link name="left_little_2">
<inertial>
<origin xyz="-0.0017604035921492 0.0209002097557272 -0.00750031127302827" rpy="0 0 0"/>
<mass value="0.00759259232694104"/>
<inertia ixx="1.2354235368985E-06" ixy="-2.15945048600066E-07" ixz="3.12205526892557E-12" iyy="2.72718801980276E-07" iyz="1.27574096139233E-11" izz="1.23906813966421E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_little_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/left_little_2.STL"/>
</geometry>
</collision>
</link>
<joint name="left_little_2_joint" type="revolute">
<origin xyz="0.0023072 0.032694 -0.0003" rpy="0 0 0"/>
<parent link="left_little_1"/>
<child link="left_little_2"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
<mimic joint="left_little_1_joint" multiplier="1.05" offset="0"/>
</joint>
</robot>

View File

@ -0,0 +1,391 @@
<robot name="Rhand">
<mujoco>
<compiler meshdir="meshes" discardvisual="false"/>
</mujoco>
<link name="right_wrist_yaw_link"></link>
<joint name="right_base_joint" type="fixed">
<origin xyz="0.15245593 0.11181005 -0.00832675" rpy="0 1.5707963267948966192313216916398 0"/>
<parent link="right_wrist_yaw_link"/>
<child link="right_base_link"/>
</joint>
<link name="right_base_link">
<inertial>
<origin xyz="-0.00827757758571113 -0.0384721010257447 0.114789391580906" rpy="0 0 0"/>
<mass value="0.314090908651444"/>
<inertia ixx="0.000240584294377349" ixy="5.34716372850393E-07" ixz="1.12900344118066E-06" iyy="0.000155854672232219" iyz="-1.41174523865224E-05" izz="0.000284423438512345"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_base_link.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_base_link.STL"/>
</geometry>
</collision>
</link>
<link name="right_thumb_1">
<inertial>
<origin xyz="-0.00178423179132727 0.000649410769092446 0.0048858931043441" rpy="0 0 0"/>
<mass value="0.00115518743162309"/>
<inertia ixx="5.98911473694572E-08" ixy="-8.04324266712912E-09" ixz="-3.29346964287941E-09" iyy="4.07201940087006E-08" iyz="1.1987242259973E-09" izz="6.18161684388651E-08"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_thumb_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_thumb_1.STL"/>
</geometry>
</collision>
</link>
<joint name="right_thumb_1_joint" type="revolute">
<origin xyz="-0.035227 -0.0908 -0.041956" rpy="0 0 0"/>
<parent link="right_base_link"/>
<child link="right_thumb_1"/>
<axis xyz="0 0 -1"/>
<limit lower="0" upper="1.7" effort="1" velocity="100"/>
</joint>
<link name="right_thumb_2">
<inertial>
<origin xyz="0.0161097484383394 0.0103028022975375 -0.00905330600289518" rpy="0 0 0"/>
<mass value="0.030"/>
<inertia ixx="1.05608173707368E-06" ixy="-8.93990422826739E-08" ixz="-4.0717047155279E-10" iyy="1.12055666436187E-06" iyz="-3.12541187909307E-10" izz="1.43604602983943E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_thumb_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_thumb_2.STL"/>
</geometry>
</collision>
</link>
<joint name="right_thumb_2_joint" type="revolute">
<origin xyz="-0.0063016 0.011924 0.003" rpy="1.5708 0 2.7925"/>
<parent link="right_thumb_1"/>
<child link="right_thumb_2"/>
<axis xyz="0 0 1"/>
<limit lower="0.035" upper="0.90" effort="1" velocity="100"/>
</joint>
<link name="right_thumb_3">
<inertial>
<origin xyz="0.00924505131715823 0.00481918438391222 -0.00753905171750578" rpy="0 0 0"/>
<mass value="0.020"/>
<inertia ixx="4.84948263631248E-07" ixy="-4.6215685121335E-08" ixz="-5.73077020148322E-11" iyy="3.97628031594582E-07" iyz="-2.99889919786187E-10" izz="4.38765869483229E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_thumb_3.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_thumb_3.STL"/>
</geometry>
</collision>
</link>
<joint name="right_thumb_3_joint" type="revolute">
<origin xyz="0.038292 0.014535 -0.0015" rpy="0 0 0"/>
<parent link="right_thumb_2"/>
<child link="right_thumb_3"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="3.14" effort="1" velocity="100"/>
<mimic joint="right_thumb_2_joint" multiplier="0.40" offset="0"/>
</joint>
<link name="right_thumb_4">
<inertial>
<origin xyz="0.0136013574986204 0.0105235463357921 -0.00734356571247173" rpy="0 0 0"/>
<mass value="0.014"/>
<inertia ixx="7.90885781861325E-07" ixy="-2.49464441546171E-07" ixz="6.42303183060523E-10" iyy="6.16404813927616E-07" iyz="9.69366750167204E-10" izz="9.25691764995085E-07"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_thumb_4.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_thumb_4.STL"/>
</geometry>
</collision>
</link>
<joint name="right_thumb_4_joint" type="revolute">
<origin xyz="0.018189 0.012576 -0.0002" rpy="0 0 0"/>
<parent link="right_thumb_3"/>
<child link="right_thumb_4"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="3.14" effort="1" velocity="100"/>
<mimic joint="right_thumb_2_joint" multiplier="0.60" offset="0"/>
</joint>
<link name="right_index_1">
<inertial>
<origin xyz="-0.00183546255523358 0.0123552521861834 -0.00664922294778368" rpy="0 0 0"/>
<mass value="0.00719999389753263"/>
<inertia ixx="1.28371991025319E-06" ixy="4.21564829206075E-08" ixz="-4.10859703076842E-12" iyy="5.79478432222903E-07" iyz="6.39690407241903E-11" izz="1.32925246769088E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_index_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_index_1.STL"/>
</geometry>
</collision>
</link>
<joint name="right_index_1_joint" type="revolute">
<origin xyz="-0.047006 -0.11125 0.045444" rpy="1.6057 0 -1.5708"/>
<parent link="right_base_link"/>
<child link="right_index_1"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
</joint>
<link name="right_index_2">
<inertial>
<origin xyz="0.000405081354201142 0.0257028143581744 -0.00609275623125877" rpy="0 0 0"/>
<mass value="0.0096859422185797"/>
<inertia ixx="2.25513837942244E-06" ixy="4.11239564383381E-07" ixz="-3.94499739658712E-10" iyy="3.91290903748666E-07" iyz="2.79706871963247E-09" izz="2.30200483771215E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_index_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_index_2.STL"/>
</geometry>
</collision>
</link>
<joint name="right_index_2_joint" type="revolute">
<origin xyz="-0.0016312 0.032734 -0.00055" rpy="0 0 0"/>
<parent link="right_index_1"/>
<child link="right_index_2"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
<mimic joint="right_index_1_joint" multiplier="1.05" offset="0"/>
</joint>
<link name="right_middle_1">
<inertial>
<origin xyz="-0.00229221489529488 0.0122787164691098 -0.00664923691414206" rpy="0 0 0"/>
<mass value="0.0071999945469965"/>
<inertia ixx="1.27961146095209E-06" ixy="6.81307502326405E-08" ixz="-6.13869092494893E-12" iyy="5.83570383259162E-07" iyz="6.33401074036368E-11" izz="1.32923656099557E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_middle_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_middle_1.STL"/>
</geometry>
</collision>
</link>
<joint name="right_middle_1_joint" type="revolute">
<origin xyz="-0.025427 -0.11125 0.046044" rpy="1.5708 0 -1.5708"/>
<parent link="right_base_link"/>
<child link="right_middle_1"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
</joint>
<link name="right_middle_2">
<inertial>
<origin xyz="7.55635118059039E-05 0.0274472409648012 -0.00610051224365681" rpy="0 0 0"/>
<mass value="0.0104603374244707"/>
<inertia ixx="2.75802690508112E-06" ixy="4.66354191476345E-07" ixz="-3.7332807411606E-12" iyy="4.22418749309736E-07" iyz="7.48556574992485E-11" izz="2.8069463787114E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_middle_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_middle_2.STL"/>
</geometry>
</collision>
</link>
<joint name="right_middle_2_joint" type="revolute">
<origin xyz="-0.0028436 0.032651 -0.00055" rpy="0 0 0"/>
<parent link="right_middle_1"/>
<child link="right_middle_2"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
<mimic joint="right_middle_1_joint" multiplier="1.05" offset="0"/>
</joint>
<link name="right_ring_1">
<inertial>
<origin xyz="-0.00240481178777663 0.0122571709475593 -0.00664923625225445" rpy="0 0 0"/>
<mass value="0.00719998997814134"/>
<inertia ixx="1.27830103769765E-06" ixy="7.45073064952644E-08" ixz="-6.73880804378546E-12" iyy="5.84879553082369E-07" iyz="6.33505850524704E-11" izz="1.32923557625194E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_ring_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_ring_1.STL"/>
</geometry>
</collision>
</link>
<joint name="right_ring_1_joint" type="revolute">
<origin xyz="-0.0037966 -0.11125 0.045878" rpy="1.5184 0 -1.5708"/>
<parent link="right_base_link"/>
<child link="right_ring_1"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
</joint>
<link name="right_ring_2">
<inertial>
<origin xyz="0.000666830906754845 0.0256973412492289 -0.0060927714564012" rpy="0 0 0"/>
<mass value="0.0096859390369724"/>
<inertia ixx="2.26332196405867E-06" ixy="3.92172318180451E-07" ixz="-3.6571544042072E-10" iyy="3.83108005467821E-07" iyz="2.80158649618188E-09" izz="2.30200501593561E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_ring_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_ring_2.STL"/>
</geometry>
</collision>
</link>
<joint name="right_ring_2_joint" type="revolute">
<origin xyz="-0.0031431 0.032624 -0.00055" rpy="0 0 0"/>
<parent link="right_ring_1"/>
<child link="right_ring_2"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
<mimic joint="right_ring_1_joint" multiplier="1.05" offset="0"/>
</joint>
<link name="right_little_1">
<inertial>
<origin xyz="-0.00316844591541322 0.0120823779446085 -0.00664923024026526" rpy="0 0 0"/>
<mass value="0.00719994987013216"/>
<inertia ixx="1.26624415714453E-06" ixy="1.17303714016617E-07" ixz="-1.15327375315847E-11" iyy="5.96925804604496E-07" iyz="6.36110319317551E-11" izz="1.32922857962207E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_little_1.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_little_1.STL"/>
</geometry>
</collision>
</link>
<joint name="right_little_1_joint" type="revolute">
<origin xyz="0.017589 -0.11125 0.042696" rpy="1.4661 0 -1.5708"/>
<parent link="right_base_link"/>
<child link="right_little_1"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
</joint>
<link name="right_little_2">
<inertial>
<origin xyz="0.0204417303421136 -0.00469494170410353 -0.00609999668427265" rpy="0 0 0"/>
<mass value="0.0075928240732547"/>
<inertia ixx="2.31546812157118E-07" ixy="-7.27021381773956E-08" ixz="2.36649664862442E-11" iyy="1.27663957628266E-06" iyz="-7.58283070676227E-12" izz="1.23909562166535E-06"/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_little_2.STL"/>
</geometry>
<material name="">
<color rgba="1 1 1 1"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<mesh filename="meshes/right_little_2.STL"/>
</geometry>
</collision>
</link>
<joint name="right_little_2_joint" type="revolute">
<origin xyz="-0.005182 0.032363 -0.00055" rpy="0 0 1.5708"/>
<parent link="right_little_1"/>
<child link="right_little_2"/>
<axis xyz="0 0 1"/>
<limit lower="0" upper="1.6" effort="1" velocity="100"/>
<mimic joint="right_little_1_joint" multiplier="1.05" offset="0"/>
</joint>
</robot>

View File

@ -0,0 +1,5 @@
G1_remove_links: ["left_rubber_hand", "right_rubber_hand"]
G1_remove_joints: ["left_hand_palm_joint", "right_hand_palm_joint"]
L_hand_remove_links: ['left_wrist_yaw_link']
R_hand_remove_links: ['right_wrist_yaw_link']

View File

@ -0,0 +1,112 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import yaml\n",
"f = open('inspire_hand/config.yaml')\n",
"try:\n",
" config = yaml.load(f, Loader=yaml.FullLoader)\n",
"finally:\n",
" f.close()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[INFO] Remove link left_rubber_hand\n",
"[INFO] Remove link right_rubber_hand\n",
"[INFO] Remove joint left_hand_palm_joint\n",
"[INFO] Remove joint right_hand_palm_joint\n",
"[INFO] Generate merged URDF file: g1_29dof_rev_1_0_with_inspire_hand_FTP.urdf Done.\n",
"[INFO] Remove link left_rubber_hand\n",
"[INFO] Remove link right_rubber_hand\n",
"[INFO] Remove joint left_hand_palm_joint\n",
"[INFO] Remove joint right_hand_palm_joint\n",
"[INFO] Generate merged URDF file: g1_29dof_rev_1_0_with_inspire_hand_DFQ.urdf Done.\n"
]
}
],
"source": [
"import xml.etree.ElementTree as ET\n",
"\n",
"\n",
"def merge_urdfs(g1_urdf, hand_type):\n",
" lhand_urdf = f\"inspire_hand/{hand_type}_left_hand.urdf\"\n",
" rhand_urdf = f\"inspire_hand/{hand_type}_right_hand.urdf\"\n",
" G1 = ET.parse(g1_urdf)\n",
" g1 = G1.getroot()\n",
" lhand = ET.parse(lhand_urdf).getroot()\n",
" rhand = ET.parse(rhand_urdf).getroot()\n",
"\n",
" # clean\n",
" for element in g1:\n",
" name = element.attrib.get('name', None)\n",
" if element.tag == \"link\" and name in config['G1_remove_links']:\n",
" print('[INFO] Remove link', name)\n",
" g1.remove(element)\n",
"\n",
" for element in g1:\n",
" name = element.attrib.get('name', None)\n",
" if element.tag == \"joint\" and name in config['G1_remove_joints']:\n",
" print('[INFO] Remove joint', name)\n",
" g1.remove(element)\n",
"\n",
" for element in lhand:\n",
" name = element.attrib.get('name', None)\n",
" if element.tag == \"link\" and name in config['L_hand_remove_links']:\n",
" lhand.remove(element)\n",
" for element in rhand:\n",
" name = element.attrib.get('name', None)\n",
" if element.tag == \"link\" and name in config['R_hand_remove_links']:\n",
" rhand.remove(element)\n",
"\n",
" # merge\n",
" for element in lhand:\n",
" if element.tag in [\"link\", \"joint\"]:\n",
" g1.append(element)\n",
" for element in rhand:\n",
" if element.tag in [\"link\", \"joint\"]:\n",
" g1.append(element)\n",
"\n",
" output = g1_urdf[:-5] + f\"_with_inspire_hand_{hand_type}.urdf\"\n",
" G1.write(output)\n",
" print(f\"[INFO] Generate merged URDF file: {output} Done.\")\n",
"\n",
"\n",
"merge_urdfs(g1_urdf=\"g1_29dof_rev_1_0.urdf\", hand_type=\"FTP\")\n",
"merge_urdfs(g1_urdf=\"g1_29dof_rev_1_0.urdf\", hand_type=\"DFQ\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "rerun3x",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.16"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.