Files
isaac_linkerbot/urdf/g20/left/linkerhand_g20_left.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

1285 lines
28 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_g20_left">
<link
name="hand_base_link">
<inertial>
<origin
xyz="-0.000986417037198788 0.000268049028294054 0.0773798470852122"
rpy="0 0 0" />
<mass
value="0.110373495507463" />
<inertia
ixx="0.000264402778830212"
ixy="4.59263483005334E-07"
ixz="1.32798258678817E-06"
iyy="0.000159680177760236"
iyz="-4.78660406501498E-06"
izz="0.000118075546031988" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/hand_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/hand_base_link.STL" />
</geometry>
</collision>
</link>
<link
name="thumb_metacarpals_base1">
<inertial>
<origin
xyz="0.0115155126192006 0.00398068846976699 0.000272888250745694"
rpy="0 0 0" />
<mass
value="0.0160351802817401" />
<inertia
ixx="4.043875385429E-06"
ixy="1.31113365770736E-07"
ixz="-7.54220071752833E-09"
iyy="2.42762975209742E-06"
iyz="-1.4815076502312E-07"
izz="2.08582778122043E-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals_base1.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/thumb_metacarpals_base1.STL" />
</geometry>
</collision>
</link>
<joint
name="thumb_cmc_roll"
type="revolute">
<origin
xyz="0.01916 -0.01 0.0436"
rpy="0 0 0" />
<parent
link="hand_base_link" />
<child
link="thumb_metacarpals_base1" />
<axis
xyz="-1 0 0" />
<limit
lower="0"
upper="1.47"
effort="100"
velocity="1" />
</joint>
<link
name="thumb_metacarpals_base2">
<inertial>
<origin
xyz="0.00286714610220221 -0.0061572653424441 0.00472605265322379"
rpy="0 0 0" />
<mass
value="0.00183264554882498" />
<inertia
ixx="2.10633266517815E-07"
ixy="-4.9133152227129E-08"
ixz="-1.35746007921721E-08"
iyy="9.83742137915545E-08"
iyz="4.75450167610941E-08"
izz="1.80097560989649E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals_base2.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/thumb_metacarpals_base2.STL" />
</geometry>
</collision>
</link>
<joint
name="thumb_cmc_yaw"
type="revolute">
<origin
xyz="0.019845 0 0"
rpy="0.77165 0 0" />
<parent
link="thumb_metacarpals_base1" />
<child
link="thumb_metacarpals_base2" />
<axis
xyz="0 0 1" />
<limit
lower="0"
upper="1.57"
effort="100"
velocity="1" />
</joint>
<link
name="thumb_metacarpals">
<inertial>
<origin
xyz="0.00670657874489922 8.60758971228653E-05 0.0331412930049483"
rpy="0 0 0" />
<mass
value="0.0287160359417969" />
<inertia
ixx="1.13355944686632E-05"
ixy="-1.18725063259997E-08"
ixz="5.09011416528365E-08"
iyy="1.3528651001113E-05"
iyz="2.41236037965108E-08"
izz="3.37809997040935E-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals.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/thumb_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint
name="thumb_cmc_pitch"
type="revolute">
<origin
xyz="0.0088218 -0.024245 0.0005"
rpy="0 -1.0647 1.9199" />
<parent
link="thumb_metacarpals_base2" />
<child
link="thumb_metacarpals" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="0.84"
effort="100"
velocity="1" />
</joint>
<link
name="thumb_proximal">
<inertial>
<origin
xyz="-0.00268734410969529 0.000568244522388137 0.0118501723044777"
rpy="0 0 0" />
<mass
value="0.00549015507433734" />
<inertia
ixx="4.78372237673962E-07"
ixy="4.56375652569348E-11"
ixz="5.41461160604729E-08"
iyy="6.23208954846975E-07"
iyz="5.1129105291147E-09"
izz="2.34934736039565E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_proximal.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/thumb_proximal.STL" />
</geometry>
</collision>
</link>
<joint
name="thumb_mcp"
type="revolute">
<origin
xyz="0.0127018248047608 0 0.0627256157349894"
rpy="0 0 0" />
<parent
link="thumb_metacarpals" />
<child
link="thumb_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.26"
effort="100"
velocity="1" />
</joint>
<link
name="thumb_distal">
<inertial>
<origin
xyz="-0.000710021799050622 -0.00267575921172081 0.0124762660846746"
rpy="0 0 0" />
<mass
value="0.00382046638843239" />
<inertia
ixx="2.12120816159448E-07"
ixy="-2.9588372102787E-09"
ixz="-7.35950751454791E-08"
iyy="2.67878295781821E-07"
iyz="6.04616706384983E-09"
izz="1.24571609570411E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_distal.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/thumb_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="thumb_ip"
type="revolute">
<origin
xyz="-0.00483652209209624 0 0.0342226492098615"
rpy="0 0 0" />
<parent
link="thumb_proximal" />
<child
link="thumb_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.29"
effort="100"
velocity="1" />
<mimic
joint="thumb_mcp"
multiplier="1.02"
offset="0" />
</joint>
<link
name="index_metacarpals">
<inertial>
<origin
xyz="-0.00794299653637993 -2.93673969475883E-07 0.00220106027330236"
rpy="0 0 0" />
<mass
value="0.000895516429792169" />
<inertia
ixx="3.46279728013563E-08"
ixy="-3.91962517308058E-13"
ixz="5.91029152662012E-09"
iyy="2.85435471088518E-08"
iyz="-5.30377507775974E-13"
izz="4.38102133125935E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_metacarpals.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/index_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint
name="index_mcp_roll"
type="revolute">
<origin
xyz="0.0038 -0.03525 0.1481"
rpy="0 0 0" />
<parent
link="hand_base_link" />
<child
link="index_metacarpals" />
<axis
xyz="1 0 0" />
<limit
lower="-0.23"
upper="0.23"
effort="100"
velocity="1" />
</joint>
<link
name="index_proximal">
<inertial>
<origin
xyz="-0.00114185484694667 3.47315751996757E-05 0.0228928405204552"
rpy="0 0 0" />
<mass
value="0.00450921353606138" />
<inertia
ixx="6.66673080974796E-07"
ixy="-1.07185172336921E-11"
ixz="-2.53143396223457E-08"
iyy="6.74195867168963E-07"
iyz="-1.59054321114837E-10"
izz="1.3575909170439E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_proximal.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/index_proximal.STL" />
</geometry>
</collision>
</link>
<joint
name="index_mcp_pitch"
type="revolute">
<origin
xyz="-0.0021302 0 0"
rpy="0 0 0" />
<parent
link="index_metacarpals" />
<child
link="index_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.22"
effort="100"
velocity="1" />
</joint>
<link
name="index_middle">
<inertial>
<origin
xyz="-0.000206991936024691 2.60617060293677E-06 0.0167065328961797"
rpy="0 0 0" />
<mass
value="0.00237827499847615" />
<inertia
ixx="2.2953872847051E-07"
ixy="2.23609392315326E-12"
ixz="-1.4734008024399E-08"
iyy="1.76761332719485E-07"
iyz="1.15917246584962E-11"
izz="9.62798051827835E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_middle.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/index_middle.STL" />
</geometry>
</collision>
</link>
<joint
name="index_pip"
type="revolute">
<origin
xyz="-0.0041946 0 0.044819"
rpy="0 0 0" />
<parent
link="index_proximal" />
<child
link="index_middle" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.74"
effort="100"
velocity="1" />
</joint>
<link
name="index_distal">
<inertial>
<origin
xyz="-0.00816246517948334 2.27058913663258E-05 0.00811806505013066"
rpy="0 0 0" />
<mass
value="0.00334170259772608" />
<inertia
ixx="1.59570744991572E-07"
ixy="1.51458653099843E-10"
ixz="-5.9429168549018E-08"
iyy="1.78095631426193E-07"
iyz="-1.24842727205631E-10"
izz="1.34141383450165E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_distal.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/index_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="index_dip"
type="revolute">
<origin
xyz="0.0028245 0 0.031696"
rpy="0 0 0" />
<parent
link="index_middle" />
<child
link="index_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.55"
effort="100"
velocity="1" />
<mimic
joint="index_pip"
multiplier="0.89"
offset="0" />
</joint>
<link
name="middle_metacarpals">
<inertial>
<origin
xyz="-0.00794299618184406 -2.93006659768391E-07 0.00220106329585604"
rpy="0 0 0" />
<mass
value="0.000895516947435045" />
<inertia
ixx="3.46279958583857E-08"
ixy="-3.91785866285381E-13"
ixz="5.91029262290692E-09"
iyy="2.85435605322585E-08"
iyz="-5.27457529869591E-13"
izz="4.38102218629515E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_metacarpals.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/middle_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint
name="middle_mcp_roll"
type="revolute">
<origin
xyz="0.00379999999265848 -0.0117500000029305 0.1526"
rpy="0 0 0" />
<parent
link="hand_base_link" />
<child
link="middle_metacarpals" />
<axis
xyz="1 0 0" />
<limit
lower="-0.23"
upper="0.23"
effort="100"
velocity="1" />
</joint>
<link
name="middle_proximal">
<inertial>
<origin
xyz="-0.00114185484818909 3.47315748623067E-05 0.0228928405191574"
rpy="0 0 0" />
<mass
value="0.00450921353536659" />
<inertia
ixx="6.6667308094129E-07"
ixy="-1.07185191777588E-11"
ixz="-2.53143396278864E-08"
iyy="6.74195867139795E-07"
iyz="-1.59054330697635E-10"
izz="1.3575909169764E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_proximal.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/middle_proximal.STL" />
</geometry>
</collision>
</link>
<joint
name="middle_mcp_pitch"
type="revolute">
<origin
xyz="-0.0021302 0 0"
rpy="0 0 0" />
<parent
link="middle_metacarpals" />
<child
link="middle_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.22"
effort="100"
velocity="1" />
</joint>
<link
name="middle_middle">
<inertial>
<origin
xyz="-0.000206991893084203 2.60624978909441E-06 0.0167065331356697"
rpy="0 0 0" />
<mass
value="0.00237827502274046" />
<inertia
ixx="2.29538732170979E-07"
ixy="2.23722006830829E-12"
ixz="-1.47340061868536E-08"
iyy="1.7676133625496E-07"
iyz="1.15938574397121E-11"
izz="9.62798057458164E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_middle.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/middle_middle.STL" />
</geometry>
</collision>
</link>
<joint
name="middle_pip"
type="revolute">
<origin
xyz="-0.00419457745591796 0 0.0448194332262389"
rpy="0 0 0" />
<parent
link="middle_proximal" />
<child
link="middle_middle" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.74"
effort="100"
velocity="1" />
</joint>
<link
name="middle_distal">
<inertial>
<origin
xyz="-0.00816246584707385 2.27058557035753E-05 0.00811806604834034"
rpy="0 0 0" />
<mass
value="0.00334170288968694" />
<inertia
ixx="1.59570753478215E-07"
ixy="1.51460233550071E-10"
ixz="-5.94291827952622E-08"
iyy="1.78095663702073E-07"
iyz="-1.24843061161549E-10"
izz="1.34141410190336E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_distal.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/middle_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="middle_dip"
type="revolute">
<origin
xyz="0.0028245 0 0.031696"
rpy="0 0 0" />
<parent
link="middle_middle" />
<child
link="middle_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.55"
effort="100"
velocity="1" />
<mimic
joint="middle_pip"
multiplier="0.89"
offset="0" />
</joint>
<link
name="ring_metacarpals">
<inertial>
<origin
xyz="-0.00794299637971868 -2.94513098575422E-07 0.00220106138372037"
rpy="0 0 0" />
<mass
value="0.000895516612684195" />
<inertia
ixx="3.46279813761428E-08"
ixy="-3.92590701616938E-13"
ixz="5.91029201975386E-09"
iyy="2.854355219638E-08"
iyz="-5.34642787239736E-13"
izz="4.38102164225122E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_metacarpals.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/ring_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint
name="ring_mcp_roll"
type="revolute">
<origin
xyz="0.00379999999632174 0.0117499999970695 0.1481"
rpy="0 0 0" />
<parent
link="hand_base_link" />
<child
link="ring_metacarpals" />
<axis
xyz="1 0 0" />
<limit
lower="-0.23"
upper="0.23"
effort="100"
velocity="1" />
</joint>
<link
name="ring_proximal">
<inertial>
<origin
xyz="-0.00114185484356009 3.47315809493265E-05 0.0228928405060199"
rpy="0 0 0" />
<mass
value="0.00450921353946778" />
<inertia
ixx="6.66673081759646E-07"
ixy="-1.07184694208142E-11"
ixz="-2.53143399406658E-08"
iyy="6.74195868060947E-07"
iyz="-1.59054446512071E-10"
izz="1.3575909184966E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_proximal.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/ring_proximal.STL" />
</geometry>
</collision>
</link>
<joint
name="ring_mcp_pitch"
type="revolute">
<origin
xyz="-0.0021302 0 0"
rpy="0 0 0" />
<parent
link="ring_metacarpals" />
<child
link="ring_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.22"
effort="100"
velocity="1" />
</joint>
<link
name="ring_middle">
<inertial>
<origin
xyz="-0.00020699321531438 2.60746916563859E-06 0.0167065326651803"
rpy="0 0 0" />
<mass
value="0.00237827433282015" />
<inertia
ixx="2.29538714144179E-07"
ixy="2.25259718797087E-12"
ixz="-1.47340121880382E-08"
iyy="1.76761312824203E-07"
iyz="1.15994674932479E-11"
izz="9.62797743780677E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_middle.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/ring_middle.STL" />
</geometry>
</collision>
</link>
<joint
name="ring_pip"
type="revolute">
<origin
xyz="-0.00419457745591796 0 0.0448194332262389"
rpy="0 0 0" />
<parent
link="ring_proximal" />
<child
link="ring_middle" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.74"
effort="100"
velocity="1" />
</joint>
<link
name="ring_distal">
<inertial>
<origin
xyz="-0.0081624655153107 2.27057324615476E-05 0.00811806561376854"
rpy="0 0 0" />
<mass
value="0.00334170280386792" />
<inertia
ixx="1.59570757957895E-07"
ixy="1.51461030930522E-10"
ixz="-5.94291750853635E-08"
iyy="1.78095650648522E-07"
iyz="-1.2484716714453E-10"
izz="1.34141394018405E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_distal.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/ring_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="ring_dip"
type="revolute">
<origin
xyz="0.0028245 0 0.031696"
rpy="0 0 0" />
<parent
link="ring_middle" />
<child
link="ring_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.55"
effort="100"
velocity="1" />
<mimic
joint="ring_pip"
multiplier="0.89"
offset="0" />
</joint>
<link
name="pinky_metacarpals">
<inertial>
<origin
xyz="-0.00794299617469867 -2.9300686296696E-07 0.00220106329602079"
rpy="0 0 0" />
<mass
value="0.000895516947513541" />
<inertia
ixx="3.46279958591138E-08"
ixy="-3.91785473098584E-13"
ixz="5.91029262259818E-09"
iyy="2.85435605328821E-08"
iyz="-5.27457876763101E-13"
izz="4.38102218637476E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_metacarpals.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/pinky_metacarpals.STL" />
</geometry>
</collision>
</link>
<joint
name="pinky_mcp_roll"
type="revolute">
<origin
xyz="0.00379999999998499 0.0352499999970695 0.1436"
rpy="0 0 0" />
<parent
link="hand_base_link" />
<child
link="pinky_metacarpals" />
<axis
xyz="1 0 0" />
<limit
lower="-0.23"
upper="0.23"
effort="100"
velocity="1" />
</joint>
<link
name="pinky_proximal">
<inertial>
<origin
xyz="-0.00114185484350746 3.47315809787474E-05 0.0228928405060759"
rpy="0 0 0" />
<mass
value="0.00450921353949741" />
<inertia
ixx="6.66673081761478E-07"
ixy="-1.07184692555283E-11"
ixz="-2.53143399404374E-08"
iyy="6.74195868062215E-07"
iyz="-1.59054445649156E-10"
izz="1.35759091850319E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_proximal.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/pinky_proximal.STL" />
</geometry>
</collision>
</link>
<joint
name="pinky_mcp_pitch"
type="revolute">
<origin
xyz="-0.0021302 0 0"
rpy="0 0 0" />
<parent
link="pinky_metacarpals" />
<child
link="pinky_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.22"
effort="100"
velocity="1" />
</joint>
<link
name="pinky_middle">
<inertial>
<origin
xyz="-0.000206993248553502 2.60748984004522E-06 0.0167065326828462"
rpy="0 0 0" />
<mass
value="0.00237827431921004" />
<inertia
ixx="2.29538713829186E-07"
ixy="2.25292379523651E-12"
ixz="-1.47340119230773E-08"
iyy="1.76761312133621E-07"
iyz="1.15993142153177E-11"
izz="9.62797736254209E-08" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_middle.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/pinky_middle.STL" />
</geometry>
</collision>
</link>
<joint
name="pinky_pip"
type="revolute">
<origin
xyz="-0.0041946 0 0.044819"
rpy="0 0 0" />
<parent
link="pinky_proximal" />
<child
link="pinky_middle" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.74"
effort="100"
velocity="1" />
</joint>
<link
name="pinky_distal">
<inertial>
<origin
xyz="-0.00816246615274486 2.27054189396725E-05 0.00811806634481432"
rpy="0 0 0" />
<mass
value="0.00334170283969146" />
<inertia
ixx="1.59570758932551E-07"
ixy="1.51458416419677E-10"
ixz="-5.94291815262966E-08"
iyy="1.7809566305509E-07"
iyz="-1.24846982879422E-10"
izz="1.34141398854287E-07" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_distal.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/pinky_distal.STL" />
</geometry>
</collision>
</link>
<joint
name="pinky_dip"
type="revolute">
<origin
xyz="0.0028245 0 0.031696"
rpy="0 0 0" />
<parent
link="pinky_middle" />
<child
link="pinky_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.55"
effort="100"
velocity="1" />
<mimic
joint="pinky_pip"
multiplier="0.89"
offset="0" />
</joint>
</robot>