Files
isaac_linkerbot/urdf/l20/right/linkerhand_l20_right.urdf
T
sunxianghui 0b727785c6 Add LinkerHand Isaac Sim bridge and G20 assets.
Includes G20 PLAN/cmd_u8 bridge, joint mapping, dual-hand sim scripts,
and G20/L20/O6 URDF with USD payloads for Isaac Sim integration.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 14:13:00 +08:00

1205 lines
27 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com)
Commit Version: 1.6.0-4-g7f85cfe Build Version: 1.6.7995.38578
For more information, please see http://wiki.ros.org/sw_urdf_exporter -->
<robot
name="linkerhand_l20_right">
<material name="silver">
<color rgba="0.5 0.5 0.52 1.0"/>
</material>
<material name="BlackAccent">
<color rgba="0.15 0.15 0.15 1.0"/>
</material>
<link
name="base_link">
<inertial>
<origin
xyz="-0.0116260966942382 -0.00274813279998326 0.0887556064299578"
rpy="0 0 0" />
<mass
value="0.119355521222427" />
<inertia
ixx="0.000281608895823112"
ixy="8.38474241472843E-07"
ixz="-1.21134466138976E-05"
iyy="0.00019328567036429"
iyz="4.38631241419914E-07"
izz="0.000103627416878272" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/base_link.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/base_link.STL" />
</geometry>
</collision>
</link>
<link
name="pinky_metacarpals">
<inertial>
<origin
xyz="0.0111783787153197 1.73988259632996E-08 0.00220160108534925"
rpy="0 0 0" />
<mass
value="0.000876738307234833" />
<inertia
ixx="3.50684268310259E-08"
ixy="-2.01255880662754E-13"
ixz="5.24776532940736E-09"
iyy="2.68810255289946E-08"
iyz="-3.6732684106161E-14"
izz="4.23561712818563E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_metacarpals.STL" />
</geometry>
<material name="BlackAccent"/>
</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.028576 -0.038102 0.15031"
rpy="0 0 0" />
<parent
link="base_link" />
<child
link="pinky_metacarpals" />
<axis
xyz="1 0 0" />
<limit
lower="-0.17"
upper="0.17"
effort="1"
velocity="1" />
</joint>
<link
name="pinky_proximal">
<inertial>
<origin
xyz="-0.00112908280804496 -3.86673394475734E-06 0.0228400655439676"
rpy="0 0 0" />
<mass
value="0.00451758867960127" />
<inertia
ixx="6.70005738245491E-07"
ixy="1.07100998730671E-11"
ixz="-2.60697889693044E-08"
iyy="6.78910860635017E-07"
iyz="1.619384302116E-10"
izz="1.37487233622769E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_proximal.STL" />
</geometry>
<material name="silver"/>
</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.016675 0 0"
rpy="0 0 0" />
<parent
link="pinky_metacarpals" />
<child
link="pinky_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.4"
effort="1"
velocity="1" />
</joint>
<link
name="pinky_middle">
<inertial>
<origin
xyz="-0.000210918582412463 -2.91656475989721E-06 0.0168376013644396"
rpy="0 0 0" />
<mass
value="0.00240742140800545" />
<inertia
ixx="2.37171034123177E-07"
ixy="-2.70991764305561E-12"
ixz="-1.39296056921613E-08"
iyy="1.83342187871652E-07"
iyz="3.74983864753835E-12"
izz="9.8226350069222E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_middle.STL" />
</geometry>
<material name="silver"/>
</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.00419455244191127 1.32099958100595E-05 0.0448194355633776"
rpy="0 0 0" />
<parent
link="pinky_proximal" />
<child
link="pinky_middle" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.57"
effort="1"
velocity="1" />
</joint>
<link
name="pinky_distal">
<inertial>
<origin
xyz="-0.00807040294887727 -1.95860163051398E-05 0.00803087332396402"
rpy="0 0 0" />
<mass
value="0.00337412669848792" />
<inertia
ixx="1.62067265373363E-07"
ixy="-1.03084161797139E-10"
ixz="-5.96264453601984E-08"
iyy="1.79090083193527E-07"
iyz="1.05530293251026E-10"
izz="1.32918139665313E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_distal.STL" />
</geometry>
<material name="silver"/>
</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.0027556 0 0.031702"
rpy="0 0 0" />
<parent
link="pinky_middle" />
<child
link="pinky_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.4"
effort="1"
velocity="1" />
<mimic
joint="pinky_pip"
multiplier="0.8917"
offset="0" />
</joint>
<link
name="ring_metacarpals">
<inertial>
<origin
xyz="0.0111783787153197 -5.36905619352712E-07 0.0022016396219149"
rpy="0 0 0" />
<mass
value="0.000876738307234883" />
<inertia
ixx="3.5068426831027E-08"
ixy="-2.01255880718238E-13"
ixz="5.24776532940712E-09"
iyy="2.68810255289954E-08"
iyz="-3.67326835665223E-14"
izz="4.23561712818567E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_metacarpals.STL" />
</geometry>
<material name="BlackAccent"/>
</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.032199 -0.016502 0.15931"
rpy="0 0 0" />
<parent
link="base_link" />
<child
link="ring_metacarpals" />
<axis
xyz="1 0 0" />
<limit
lower="-0.17"
upper="0.17"
effort="1"
velocity="1" />
</joint>
<link
name="ring_proximal">
<inertial>
<origin
xyz="-0.00112908262583935 -1.70769630077061E-05 0.0228400659770985"
rpy="0 0 0" />
<mass
value="0.00451758885102983" />
<inertia
ixx="6.70005760179099E-07"
ixy="1.07124239123891E-11"
ixz="-2.60697922383748E-08"
iyy="6.78910876105749E-07"
iyz="1.61928071276549E-10"
izz="1.37487241358748E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_proximal.STL" />
</geometry>
<material name="silver"/>
</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.016675 1.2656E-05 0"
rpy="0 0 0" />
<parent
link="ring_metacarpals" />
<child
link="ring_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.4"
effort="1"
velocity="1" />
</joint>
<link
name="ring_middle">
<inertial>
<origin
xyz="-0.00021091859446306 -2.91657898018882E-06 0.0168376013345287"
rpy="0 0 0" />
<mass
value="0.00240742140052362" />
<inertia
ixx="2.37171033138143E-07"
ixy="-2.7100414951465E-12"
ixz="-1.39296060459522E-08"
iyy="1.83342186859774E-07"
iyz="3.74956284923257E-12"
izz="9.82263498201999E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_middle.STL" />
</geometry>
<material name="silver"/>
</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.00419455244174995 0 0.0448194355645609"
rpy="0 0 0" />
<parent
link="ring_proximal" />
<child
link="ring_middle" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.57"
effort="1"
velocity="1" />
</joint>
<link
name="ring_distal">
<inertial>
<origin
xyz="-0.00807040294866931 -1.9586017669021E-05 0.00803087256062983"
rpy="0 0 0" />
<mass
value="0.0033741266986076" />
<inertia
ixx="1.6206726538022E-07"
ixy="-1.03084186529573E-10"
ixz="-5.96264453639804E-08"
iyy="1.79090083161836E-07"
iyz="1.05530278574068E-10"
izz="1.32918139683415E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_distal.STL" />
</geometry>
<material name="silver"/>
</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.00275561956405355 0 0.0317024252327154"
rpy="0 0 0" />
<parent
link="ring_middle" />
<child
link="ring_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.4"
effort="1"
velocity="1" />
<mimic
joint="ring_pip"
multiplier="0.8917"
offset="0" />
</joint>
<link
name="middle_metacarpals">
<inertial>
<origin
xyz="0.0111783787153198 -5.36905619463734E-07 0.00220163962191467"
rpy="0 0 0" />
<mass
value="0.000876738307234834" />
<inertia
ixx="3.50684268310259E-08"
ixy="-2.0125588061605E-13"
ixz="5.24776532940725E-09"
iyy="2.68810255289945E-08"
iyz="-3.67326839308491E-14"
izz="4.23561712818563E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_metacarpals.STL" />
</geometry>
<material name="BlackAccent"/>
</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.0345042006792679 0.00509811417717426 0.163804307612682"
rpy="0 0 0" />
<parent
link="base_link" />
<child
link="middle_metacarpals" />
<axis
xyz="0.999999999998204 0 0" />
<limit
lower="-0.17"
upper="0.17"
effort="1"
velocity="1" />
</joint>
<link
name="middle_proximal">
<inertial>
<origin
xyz="-0.00112908264667504 -1.70765644096349E-05 0.0228400658126111"
rpy="0 0 0" />
<mass
value="0.00451758879836063" />
<inertia
ixx="6.70005750213689E-07"
ixy="1.0709683946819E-11"
ixz="-2.60697892463952E-08"
iyy="6.7891086764891E-07"
iyz="1.61944386240367E-10"
izz="1.37487237816443E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_proximal.STL" />
</geometry>
<material name="silver"/>
</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.0166748095398548 1.26556862705962E-05 0"
rpy="0 0 0" />
<parent
link="middle_metacarpals" />
<child
link="middle_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.4"
effort="1"
velocity="1" />
</joint>
<link
name="middle_middle">
<inertial>
<origin
xyz="-0.000210918582531389 -2.91656481549163E-06 0.0168376013611927"
rpy="0 0 0" />
<mass
value="0.00240742140799016" />
<inertia
ixx="2.3717103371746E-07"
ixy="-2.70991790215455E-12"
ixz="-1.39296056849284E-08"
iyy="1.83342187462169E-07"
iyz="3.74983812024697E-12"
izz="9.82263500660551E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_middle.STL" />
</geometry>
<material name="silver"/>
</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.00419455244189623 0 0.0448194355665477"
rpy="0 0 0" />
<parent
link="middle_proximal" />
<child
link="middle_middle" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.57"
effort="1"
velocity="1" />
</joint>
<link
name="middle_distal">
<inertial>
<origin
xyz="-0.00807040294827011 -1.95860161913697E-05 0.00803087332606282"
rpy="0 0 0" />
<mass
value="0.00337412669879527" />
<inertia
ixx="1.62067265406276E-07"
ixy="-1.03084160292156E-10"
ixz="-5.96264453651413E-08"
iyy="1.79090083197241E-07"
iyz="1.05530287328658E-10"
izz="1.32918139683668E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_distal.STL" />
</geometry>
<material name="silver"/>
</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.00275561956368908 0 0.031702425228504"
rpy="0 0 0" />
<parent
link="middle_middle" />
<child
link="middle_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.4"
effort="1"
velocity="1" />
<mimic
joint="middle_pip"
multiplier="0.8917"
offset="0" />
</joint>
<link
name="index_metacarpals">
<inertial>
<origin
xyz="0.0111783787153197 -5.36905619408223E-07 0.0022016396219149"
rpy="0 0 0" />
<mass
value="0.000876738307234888" />
<inertia
ixx="3.50684268310272E-08"
ixy="-2.01255880639633E-13"
ixz="5.24776532940715E-09"
iyy="2.68810255289955E-08"
iyz="-3.67326838815665E-14"
izz="4.23561712818569E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_metacarpals.STL" />
</geometry>
<material name="BlackAccent"/>
</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.0297703583048348 0.026698113515616 0.159311418025823"
rpy="0 0 0" />
<parent
link="base_link" />
<child
link="index_metacarpals" />
<axis
xyz="0.999999999998204 0 0" />
<limit
lower="-0.17"
upper="0.17"
effort="1"
velocity="1" />
</joint>
<link
name="index_proximal">
<inertial>
<origin
xyz="-0.00112908264491655 -3.86657489762077E-06 0.0228400658147424"
rpy="0 0 0" />
<mass
value="0.00451758879934099" />
<inertia
ixx="6.70005750303174E-07"
ixy="1.07096827382529E-11"
ixz="-2.60697892451836E-08"
iyy="6.78910867706126E-07"
iyz="1.61944343361799E-10"
izz="1.37487237848926E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_proximal.STL" />
</geometry>
<material name="silver"/>
</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.0166748095646496 0 0"
rpy="0 0 0" />
<parent
link="index_metacarpals" />
<child
link="index_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.4"
effort="1"
velocity="1" />
</joint>
<link
name="index_middle">
<inertial>
<origin
xyz="-0.000210918632589208 -2.91655816400671E-06 0.0168376013550637"
rpy="0 0 0" />
<mass
value="0.00240742140798158" />
<inertia
ixx="2.37171033813523E-07"
ixy="-2.70992594914544E-12"
ixz="-1.3929605674102E-08"
iyy="1.83342187562481E-07"
iyz="3.74988422279869E-12"
izz="9.82263500700157E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_middle.STL" />
</geometry>
<material name="silver"/>
</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.00419455239160021 1.32099983796707E-05 0.0448194355727413"
rpy="0 0 0" />
<parent
link="index_proximal" />
<child
link="index_middle" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.57"
effort="1"
velocity="1" />
</joint>
<link
name="index_distal">
<inertial>
<origin
xyz="-0.00807040294819541 -1.95860155396688E-05 0.00803087332614133"
rpy="0 0 0" />
<mass
value="0.0033741266988187" />
<inertia
ixx="1.62067265427891E-07"
ixy="-1.030841487474E-10"
ixz="-5.96264453690637E-08"
iyy="1.79090083185726E-07"
iyz="1.05530285191432E-10"
izz="1.32918139694536E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_distal.STL" />
</geometry>
<material name="silver"/>
</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.00275561951363186 0 0.0317024252223218"
rpy="0 0 0" />
<parent
link="index_middle" />
<child
link="index_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.4"
effort="1"
velocity="1" />
<mimic
joint="index_pip"
multiplier="0.8917"
offset="0" />
</joint>
<link
name="thumb_metacarpals_base1">
<inertial>
<origin
xyz="0.00225106540143255 0.0106280781314811 0.00386496887062775"
rpy="0 0 0" />
<mass
value="0.0123197273270212" />
<inertia
ixx="3.08398596758481E-06"
ixy="-7.90434968870597E-08"
ixz="4.99257949343636E-08"
iyy="4.73419522678173E-06"
iyz="-1.89397292598919E-07"
izz="2.03268500392085E-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals_base1.STL" />
</geometry>
<material name="BlackAccent"/>
</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_yaw"
type="revolute">
<origin
xyz="0.0039847 0.0050818 0.057392"
rpy="3.1416 0 1.5708" />
<parent
link="base_link" />
<child
link="thumb_metacarpals_base1" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.4"
effort="1"
velocity="1" />
</joint>
<link
name="thumb_metacarpals_base2">
<inertial>
<origin
xyz="0.00119794122046318 0.00176288166433086 0.00980405746394286"
rpy="0 0 0" />
<mass
value="0.00459776097124383" />
<inertia
ixx="7.31648689063878E-07"
ixy="-4.16925980705595E-08"
ixz="7.27793121012466E-08"
iyy="5.38489639105841E-07"
iyz="-1.05409912056041E-07"
izz="3.72559163410338E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals_base2.STL" />
</geometry>
<material name="BlackAccent"/>
</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_roll"
type="revolute">
<origin
xyz="0.000784740002368223 0.0196077603627024 0.000308721957079858"
rpy="1.18264333118745 0 1.57079632679503" />
<parent
link="thumb_metacarpals_base1" />
<child
link="thumb_metacarpals_base2" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.22"
effort="1"
velocity="1" />
</joint>
<link
name="thumb_metacarpals">
<inertial>
<origin
xyz="0.00549384865796482 0.00805524685758721 0.0258290762784949"
rpy="0 0 0" />
<mass
value="0.0119728760675928" />
<inertia
ixx="4.12796153480032E-06"
ixy="2.08264516047914E-08"
ixz="1.78085589076533E-08"
iyy="4.82110081302191E-06"
iyz="6.19419770800233E-08"
izz="1.21324079339986E-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint
name="thumb_cmc_pitch"
type="revolute">
<origin
xyz="-0.000109690908352875 -0.00396440679180957 0.0307945044045898"
rpy="0 0.388152995607441 -1.57079632624948" />
<parent
link="thumb_metacarpals_base2" />
<child
link="thumb_metacarpals" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="0.79"
effort="1"
velocity="1" />
</joint>
<link
name="thumb_proximal">
<inertial>
<origin
xyz="-0.0011057174593414 0.000334119020688653 0.0128607021591473"
rpy="0 0 0" />
<mass
value="0.00515940162015082" />
<inertia
ixx="4.56371524641978E-07"
ixy="1.15255552260169E-09"
ixz="8.11361744697202E-08"
iyy="6.16289154720601E-07"
iyz="5.36536229784869E-09"
izz="2.4689422432426E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_proximal.STL" />
</geometry>
<material name="silver"/>
</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.00857856380171737 0 0.0555715948082196"
rpy="0 0 0" />
<parent
link="thumb_metacarpals" />
<child
link="thumb_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.05"
effort="1"
velocity="1" />
</joint>
<link
name="thumb_distal">
<inertial>
<origin
xyz="-0.00636210776657178 4.14651450399844E-05 0.0118150620527104"
rpy="0 0 0" />
<mass
value="0.00614449456083594" />
<inertia
ixx="3.71418540379979E-07"
ixy="2.36548498459678E-10"
ixz="-9.49666673834207E-08"
iyy="4.48768445500361E-07"
iyz="-9.82614466952934E-10"
izz="1.66160918259876E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_distal.STL" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="thumb_dip"
type="revolute">
<origin
xyz="0.0066653832125308 0 0.0342561774516276"
rpy="0 0 0" />
<parent
link="thumb_proximal" />
<child
link="thumb_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.22"
effort="1"
velocity="1" />
<mimic
joint="thumb_mcp"
multiplier="1.1619"
offset="0" />
</joint>
</robot>