Organize hand models and launchers; use linear active joint mapping

This commit is contained in:
2026-09-28 11:05:30 +08:00
parent 325dff6870
commit 01c9aa5c7a
712 changed files with 205077 additions and 6209 deletions
@@ -0,0 +1,605 @@
<?xml version='1.0' encoding='utf-8'?>
<robot name="linkerhand_o30_left_v10_mirrored">
<link name="hand_base_link">
<inertial>
<origin xyz="0.043952 -0.014169 0.022868" rpy="-0 0 -0" />
<mass value="0.046494" />
<inertia ixx="2.6054E-05" ixy="4.7068e-07" ixz="2.1277E-06" iyy="5.2487E-05" iyz="-2.7986e-06" izz="3.1143E-05" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/hand_base_link.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/hand_base_link.STL" />
</geometry>
</collision>
</link>
<link name="thumb_metacarpals_base1">
<inertial>
<origin xyz="-0.010316 -0.0066586 -0.0024476" rpy="-0 0 -0" />
<mass value="0.0024826" />
<inertia ixx="1.6045E-07" ixy="2.6684e-08" ixz="-1.7024E-08" iyy="1.7121E-07" iyz="2.6748e-08" izz="2.3246E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/thumb_metacarpals_base1.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/thumb_metacarpals_base1.STL" />
</geometry>
</collision>
</link>
<joint name="thumb_cmc_roll" type="revolute">
<origin xyz="0.018257 -0.012998 0.024272" rpy="0.07680614007600001 0 -0" />
<parent link="hand_base_link" />
<child link="thumb_metacarpals_base1" />
<axis xyz="-1 0 -0" />
<limit lower="0" upper="0.87226588169" effort="1" velocity="1" />
</joint>
<link name="thumb_metacarpals_base2">
<inertial>
<origin xyz="0.00038148 -0.0076809 0.0021853" rpy="-0 0 -0" />
<mass value="0.0011821" />
<inertia ixx="3.9644E-08" ixy="-2.1365e-10" ixz="7.766E-11" iyy="1.569E-08" iyz="7.709600000000001e-09" izz="3.6362E-08" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/thumb_metacarpals_base2.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/thumb_metacarpals_base2.STL" />
</geometry>
</collision>
</link>
<joint name="thumb_cmc_yaw" type="revolute">
<origin xyz="-0.00215 -0.015238 0" rpy="-0 0 0.0283606787672" />
<parent link="thumb_metacarpals_base1" />
<child link="thumb_metacarpals_base2" />
<axis xyz="-0 0 1" />
<limit lower="0" upper="2.02824782456" effort="1" velocity="1" />
</joint>
<link name="thumb_proximal">
<inertial>
<origin xyz="3.6654e-06 -0.023946 -0.0037436" rpy="-0 0 -0" />
<mass value="0.0073969" />
<inertia ixx="1.1793E-06" ixy="-1.3736e-10" ixz="-9.6655E-11" iyy="6.5357E-07" iyz="5.8031e-08" izz="1.0764E-06" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/thumb_proximal.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/thumb_proximal.STL" />
</geometry>
</collision>
</link>
<joint name="thumb_mcp" type="revolute">
<origin xyz="0.00045 -0.015539 0.0029937" rpy="0.384266722602 0 -0" />
<parent link="thumb_metacarpals_base2" />
<child link="thumb_proximal" />
<axis xyz="-1 0 -0" />
<limit lower="0" upper="1.9412774217" effort="1" velocity="1" />
</joint>
<link name="thumb_distal">
<inertial>
<origin xyz="2.0498e-05 -0.02017 -0.00424" rpy="-0 0 -0" />
<mass value="0.0079712" />
<inertia ixx="8.2871E-07" ixy="4.2596e-11" ixz="-2.569E-11" iyy="3.2681E-07" iyz="-2.6339e-08" izz="8.3897E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/thumb_distal.STL" />
</geometry>
<material name="">
<color rgba="0.48 0.50 0.52 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/thumb_distal.STL" />
</geometry>
</collision>
</link>
<joint name="thumb_ip" type="revolute">
<origin xyz="0 -0.048532 0.00155" rpy="0.0327366295854 0 -0" />
<parent link="thumb_proximal" />
<child link="thumb_distal" />
<axis xyz="-1 0 -0" />
<limit lower="0" upper="1.603532956380333" effort="1" velocity="1" />
</joint>
<link name="index_metacarpals">
<inertial>
<origin xyz="-0.0106040258094052 5.13953894481882e-05 -0.00136151819442749" rpy="-0 0 -0" />
<mass value="0.00661261244742178" />
<inertia ixx="4.53652866123246E-07" ixy="-1.66679020586885e-08" ixz="-1.26712149811549E-08" iyy="5.30500427518365E-07" iyz="-4.56960905410225e-10" izz="2.56538210441828E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/index_metacarpals.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/index_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint name="index_mcp_roll" type="revolute">
<origin xyz="0.018722 -0.029679 0.075158" rpy="-0.05326726498196427 0 -0" />
<parent link="hand_base_link" />
<child link="index_metacarpals" />
<axis xyz="-1 0 -0" />
<limit lower="-0.3970" upper="-0.0532672649819852" effort="1.0" velocity="1.0" />
</joint>
<link name="index_proximal">
<inertial>
<origin xyz="-0.0043709621275504 -2.16385333159826e-05 0.0216063163265681" rpy="-0 0 -0" />
<mass value="0.00727256326100808" />
<inertia ixx="6.59424988535241E-07" ixy="-1.15369816881374e-10" ixz="-2.43455022025729E-08" iyy="7.06690330759988E-07" iyz="1.75709839767273e-10" izz="3.18019337389962E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/index_proximal.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/index_proximal.STL" />
</geometry>
</collision>
</link>
<joint name="index_mcp_pitch" type="revolute">
<origin xyz="-0.00475 -0.00059587 0.016238" rpy="-0 1.221245327087672e-14 -0" />
<parent link="index_metacarpals" />
<child link="index_proximal" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.735046222075943" effort="1.0" velocity="1.0" />
</joint>
<link name="index_middle">
<inertial>
<origin xyz="-0.00412829489374895 -4.33935129848899e-05 0.0217078554898162" rpy="-0 0 -0" />
<mass value="0.00678023137976301" />
<inertia ixx="6.77930682969668E-07" ixy="-1.0022443161073e-10" ixz="-7.34914379088131E-09" iyy="7.24200285246171E-07" iyz="-6.8455968172179e-11" izz="2.95854297824364E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/index_middle.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/index_middle.STL" />
</geometry>
</collision>
</link>
<joint name="index_pip" type="revolute">
<origin xyz="0 -0 0.039681" rpy="-0 -3.019806626980426e-14 -0" />
<parent link="index_proximal" />
<child link="index_middle" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.471362682698838" effort="1.0" velocity="1.0" />
</joint>
<link name="index_distal">
<inertial>
<origin xyz="-0.00405260592933677 -2.92010642392003e-05 0.0113571507781909" rpy="-0 0 -0" />
<mass value="0.0033098791304967" />
<inertia ixx="1.64002168413707E-07" ixy="3.45038659319342e-12" ixz="-9.24432368435003E-09" iyy="1.74779055176355E-07" iyz="-3.79661625368079e-12" izz="1.1460476210935E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/index_distal.STL" />
</geometry>
<material name="">
<color rgba="0.48 0.50 0.52 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/index_distal.STL" />
</geometry>
</collision>
</link>
<joint name="index_dip" type="revolute">
<origin xyz="0 -0 0.040244" rpy="-0 0.0402952773826 -0" />
<parent link="index_middle" />
<child link="index_distal" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.59669999534" effort="1.0" velocity="1.0" />
</joint>
<link name="middle_metacarpals">
<inertial>
<origin xyz="-0.0106040258093801 5.13953895135309e-05 -0.00136151819462214" rpy="-0 0 -0" />
<mass value="0.00661261244742176" />
<inertia ixx="4.53652866122421E-07" ixy="-1.6667902059155e-08" ixz="-1.26712149847738E-08" iyy="5.30500427517202E-07" iyz="-4.5696090563867e-10" izz="2.56538210441734E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/middle_metacarpals.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/middle_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint name="middle_mcp_roll" type="revolute">
<origin xyz="0.018722 -0.0086937 0.08158600000000001" rpy="-0.0128260248695901 0 -0" />
<parent link="hand_base_link" />
<child link="middle_metacarpals" />
<axis xyz="-1 0 -0" />
<limit lower="-0.4265" upper="0.1089663129860673" effort="1.0" velocity="1.0" />
</joint>
<link name="middle_proximal">
<inertial>
<origin xyz="-0.00437096211453991 -2.16385377681651e-05 0.021606316263903" rpy="-0 0 -0" />
<mass value="0.00727256322379252" />
<inertia ixx="6.59424984533755E-07" ixy="-1.15369786907248e-10" ixz="-2.43455017911397E-08" iyy="7.06690325324724E-07" iyz="1.75709424177874e-10" izz="3.18019338775399E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/middle_proximal.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/middle_proximal.STL" />
</geometry>
</collision>
</link>
<joint name="middle_mcp_pitch" type="revolute">
<origin xyz="-0.00475 -0.00059587 0.016238" rpy="-0 -0.01523079055311838 -0" />
<parent link="middle_metacarpals" />
<child link="middle_proximal" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.586027117348012" effort="1.0" velocity="1.0" />
</joint>
<link name="middle_middle">
<inertial>
<origin xyz="-0.00416491190892752 -4.53802720945468e-05 0.0183968023027694" rpy="-0 0 -0" />
<mass value="0.00558395826725584" />
<inertia ixx="6.23566979572116E-07" ixy="-1.48661311147268e-12" ixz="9.71608105955063E-09" iyy="6.62874748143871E-07" iyz="1.95417713888735e-11" izz="2.52254263414512E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/middle_middle.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/middle_middle.STL" />
</geometry>
</collision>
</link>
<joint name="middle_pip" type="revolute">
<origin xyz="0 -0 0.039681" rpy="-0 0.0138711925804 -0" />
<parent link="middle_proximal" />
<child link="middle_middle" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.590822001021158" effort="1.0" velocity="1.0" />
</joint>
<link name="middle_distal">
<inertial>
<origin xyz="-0.0040526080066767 -2.92015397774141e-05 0.0113571741521581" rpy="-0 0 -0" />
<mass value="0.00330988759550385" />
<inertia ixx="1.64003148791956E-07" ixy="3.39806839680505e-12" ixz="-9.24426389673421E-09" iyy="1.74779889123667E-07" iyz="-3.85472238306036e-12" izz="1.1460470796913E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/middle_distal.STL" />
</geometry>
<material name="">
<color rgba="0.48 0.50 0.52 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/middle_distal.STL" />
</geometry>
</collision>
</link>
<joint name="middle_dip" type="revolute">
<origin xyz="0 -0 0.040244" rpy="-0 -0.0308518454734 -0" />
<parent link="middle_middle" />
<child link="middle_distal" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.59776752134" effort="1.0" velocity="1.0" />
</joint>
<link name="ring_metacarpals">
<inertial>
<origin xyz="-0.0106040258039409 5.13953875669396e-05 -0.00136151819474453" rpy="-0 0 -0" />
<mass value="0.00661261244414956" />
<inertia ixx="4.53652866086209E-07" ixy="-1.66679020186835e-08" ixz="-1.26712150849033E-08" iyy="5.30500427139748E-07" iyz="-4.56960893200256e-10" izz="2.56538210088551E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/ring_metacarpals.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/ring_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint name="ring_mcp_roll" type="revolute">
<origin xyz="0.018722 0.012188 0.079218" rpy="-0.005763480038315312 0 -0" />
<parent link="hand_base_link" />
<child link="ring_metacarpals" />
<axis xyz="-1 0 -0" />
<limit lower="-0.2288" upper="0.2882392053656797" effort="0.0" velocity="0.0" />
</joint>
<link name="ring_proximal">
<inertial>
<origin xyz="-0.00437096212848108 -2.16385332126728e-05 0.0216063163327438" rpy="-0 0 -0" />
<mass value="0.00727256326396366" />
<inertia ixx="6.5942498771819E-07" ixy="-1.15369820837761e-10" ixz="-2.43455022245408E-08" iyy="7.06690331454756E-07" iyz="1.75709860575411e-10" izz="3.18019335895501E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/ring_proximal.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/ring_proximal.STL" />
</geometry>
</collision>
</link>
<joint name="ring_mcp_pitch" type="revolute">
<origin xyz="-0.00475 -0.00059587 0.016238" rpy="-0 0.0255589602002 -0" />
<parent link="ring_metacarpals" />
<child link="ring_proximal" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.55394971023" effort="1.0" velocity="1.0" />
</joint>
<link name="ring_middle">
<inertial>
<origin xyz="-0.00416491192838481 -4.53802663086568e-05 0.0183968024169422" rpy="-0 0 -0" />
<mass value="0.00558395830757745" />
<inertia ixx="6.23566985916703E-07" ixy="-1.48664397100439e-12" ixz="9.71608067536211E-09" iyy="6.62874753776221E-07" iyz="1.95421758625405e-11" izz="2.52254264189611E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/ring_middle.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/ring_middle.STL" />
</geometry>
</collision>
</link>
<joint name="ring_pip" type="revolute">
<origin xyz="0 -0 0.039681" rpy="-0 0.0220509528547 -0" />
<parent link="ring_proximal" />
<child link="ring_middle" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.58679961547" effort="1.0" velocity="1.0" />
</joint>
<link name="ring_distal">
<inertial>
<origin xyz="-0.00405260742568393 -2.91984265882485e-05 0.0113571618103905" rpy="-0 0 -0" />
<mass value="0.00330988375961977" />
<inertia ixx="1.64002482967217E-07" ixy="3.51093191735502e-12" ixz="-9.24429621268036E-09" iyy="1.74779331899762E-07" iyz="-3.79763524146384e-12" izz="1.14604618112137E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/ring_distal.STL" />
</geometry>
<material name="">
<color rgba="0.48 0.50 0.52 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/ring_distal.STL" />
</geometry>
</collision>
</link>
<joint name="ring_dip" type="revolute">
<origin xyz="0 -0 0.040244" rpy="-0 -0.00428430308889 -0" />
<parent link="ring_middle" />
<child link="ring_distal" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.5742161012" effort="1.0" velocity="1.0" />
</joint>
<link name="pinky_metacarpals">
<inertial>
<origin xyz="-0.0106040258039376 5.13953875944106e-05 -0.00136151819476814" rpy="-0 0 -0" />
<mass value="0.00661261244414956" />
<inertia ixx="4.53652866086213E-07" ixy="-1.66679020188784e-08" ixz="-1.26712150853475E-08" iyy="5.30500427140437E-07" iyz="-4.56960893204398e-10" izz="2.56538210089087E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/pinky_metacarpals.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/pinky_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint name="pinky_mcp_roll" type="revolute">
<origin xyz="0.018722 0.030927 0.067761" rpy="-0.01471703057163711 0 -0" />
<parent link="hand_base_link" />
<child link="pinky_metacarpals" />
<axis xyz="-1 0 -0" />
<limit lower="-0.0548" upper="0.3102413287225498" effort="1.0" velocity="1.0" />
</joint>
<link name="pinky_proximal">
<inertial>
<origin xyz="-0.00437096211497169 -2.16385374772129e-05 0.0216063162659534" rpy="-0 0 -0" />
<mass value="0.00727256322451616" />
<inertia ixx="6.59424984467403E-07" ixy="-1.15369789522493e-10" ixz="-2.43455018407703E-08" iyy="7.06690325599736E-07" iyz="1.75709453609034e-10" izz="3.1801933843565E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/pinky_proximal.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/pinky_proximal.STL" />
</geometry>
</collision>
</link>
<joint name="pinky_mcp_pitch" type="revolute">
<origin xyz="-0.00475 -0.00059587 0.016238" rpy="-0 -0.0220425694976 -0" />
<parent link="pinky_metacarpals" />
<child link="pinky_proximal" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.746158486401212" effort="1.0" velocity="1.0" />
</joint>
<link name="pinky_middle">
<inertial>
<origin xyz="-0.00412829488912096 -4.33935004629793e-05 0.0217078554135159" rpy="-0 0 -0" />
<mass value="0.00678023141445045" />
<inertia ixx="6.77930689052883E-07" ixy="-1.00224317995394e-10" ixz="-7.34914443754626E-09" iyy="7.24200290521759E-07" iyz="-6.84568635307055e-11" izz="2.9585429874662E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/pinky_middle.STL" />
</geometry>
<material name="">
<color rgba="0.68 0.70 0.72 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/pinky_middle.STL" />
</geometry>
</collision>
</link>
<joint name="pinky_pip" type="revolute">
<origin xyz="0 -0 0.039681" rpy="-0 0.0153062751135 -0" />
<parent link="pinky_proximal" />
<child link="pinky_middle" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.57669319439" effort="1.0" velocity="1.0" />
</joint>
<link name="pinky_distal">
<inertial>
<origin xyz="-0.00405259886775996 -2.91983586506936e-05 0.0113571520424041" rpy="-0 0 -0" />
<mass value="0.00330987874289192" />
<inertia ixx="1.64002282686245E-07" ixy="3.40616709379705e-12" ixz="-9.24408880780151E-09" iyy="1.74779075536322E-07" iyz="-3.76063308216828e-12" izz="1.14604555086707E-07" />
</inertial>
<visual>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/pinky_distal.STL" />
</geometry>
<material name="">
<color rgba="0.48 0.50 0.52 1" />
</material>
</visual>
<collision>
<origin xyz="0 -0 0" rpy="-0 0 -0" />
<geometry>
<mesh filename="meshes/pinky_distal.STL" />
</geometry>
</collision>
</link>
<joint name="pinky_dip" type="revolute">
<origin xyz="0 -0 0.040244" rpy="-0 -0.0155350252509 -0" />
<parent link="pinky_middle" />
<child link="pinky_distal" />
<axis xyz="-0 1 -0" />
<limit lower="0.0" upper="1.58606542135" effort="1.0" velocity="1.0" />
</joint>
</robot>