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,956 @@
<?xml version="1.0" encoding="utf-8"?>
<robot
name="linkerhand_l6v3.1_left">
<!-- 手掌基座,作为整只手的根链接 -->
<link
name="lh_hand_base_link">
<inertial>
<origin
xyz="0.00199 -0.00091 0.058381"
rpy="0 0 0" />
<mass
value="0.4185" />
<inertia
ixx="0.0004998"
ixy="0.000012853"
ixz="-0.000008317"
iyy="0.0003567"
iyz="0.000010354"
izz="0.0002301" />
</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.796078431372549 0.823529411764706 0.937254901960784 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="lh_thumb_metacarpals_base1">
<inertial>
<origin
xyz="0.0018663 -0.0066406 0.001533"
rpy="0 0 0" />
<mass
value="0.01" />
<inertia
ixx="3.3724E-07"
ixy="1.11E-07"
ixz="-3.6039E-08"
iyy="2.9457E-07"
iyz="5.7181E-08"
izz="4.903E-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.796078431372549 0.823529411764706 0.937254901960784 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="lh_thumb_cmc_roll"
type="revolute">
<origin
xyz="0.0078133 -0.029898 0.026692"
rpy="-0.0349060486431202 -0.000257767554592503 -0.00738147635662772" />
<parent
link="lh_hand_base_link" />
<child
link="lh_thumb_metacarpals_base1" />
<axis
xyz="0 0 1" />
<limit
lower="0"
upper="1.12177324"
effort="0.588"
velocity="5.95" />
<dynamics damping="0.02" friction="0.05416667"/>
</joint>
<link
name="lh_thumb_metacarpals">
<inertial>
<origin
xyz="0.00769270907060086 0.0859662184722988 0.0235283086675235"
rpy="0 0 0" />
<mass
value="0.065" />
<inertia
ixx="8.407E-06"
ixy="-1.1338E-09"
ixz="1.1136E-08"
iyy="8.3899E-06"
iyz="3.1171E-07"
izz="2.0091E-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 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="lh_thumb_cmc_pitch"
type="revolute">
<origin
xyz="0.0057298 -0.01332 0.0027456"
rpy="1.01778644 0 0.40143" />
<parent
link="lh_thumb_metacarpals_base1" />
<child
link="lh_thumb_metacarpals" />
<axis
xyz="-1 0 0" />
<limit
lower="0"
upper="0.65673088"
effort="1.008"
velocity="3.47" />
<dynamics damping="0.02" friction="0.0375"/>
</joint>
<link
name="lh_thumb_distal">
<inertial>
<origin
xyz="0.00769270907081708 0.0798662184721594 -0.0591716913325555"
rpy="0 0 0" />
<mass
value="0.018" />
<inertia
ixx="1.5546E-06"
ixy="2.4423E-09"
ixz="2.8147E-09"
iyy="1.7108E-06"
iyz="-7.2756E-08"
izz="9.1709E-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.796078431372549 0.823529411764706 0.937254901960784 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_distal.STL" />
</geometry>
</collision>
</link>
<link
name="lh_thumb_tip">
<inertial>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<mass
value="1e-06" />
<inertia
ixx="1e-09"
ixy="0"
ixz="0"
iyy="1e-09"
iyz="0"
izz="1e-09" />
</inertial>
</link>
<joint
name="lh_thumb_tip_fixed"
type="fixed">
<origin
xyz="0 0.0035 0.026"
rpy="0 0 1.5708" />
<parent
link="lh_thumb_distal" />
<child
link="lh_thumb_tip" />
</joint>
<joint
name="lh_thumb_dip"
type="revolute">
<origin
xyz="0 0.0061 0.0827"
rpy="0 0 0" />
<parent
link="lh_thumb_metacarpals" />
<child
link="lh_thumb_distal" />
<axis
xyz="-1 0 0" />
<limit
lower="0"
upper="0.963287"
effort="0"
velocity="1.7" />
<mimic
joint="lh_thumb_cmc_pitch"
multiplier="0.88524192477979"
offset="0" />
</joint>
<link
name="lh_index_proximal">
<inertial>
<origin
xyz="0.001776 -0.00011 0.012556"
rpy="0 0 0" />
<mass
value="0.008553" />
<inertia
ixx="0.000000797543"
ixy="-0.000000001275"
ixz="0.000000138601"
iyy="0.000000800499"
iyz="0.000000000939"
izz="0.000000357001" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_proximal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 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="lh_index_mcp_pitch"
type="revolute">
<origin
xyz="-0.00066821 -0.028967 0.11722"
rpy="0 0 0" />
<parent
link="lh_hand_base_link" />
<child
link="lh_index_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.23208487"
effort="0.574"
velocity="6.10" />
<dynamics damping="0.01" friction="0.04"/>
</joint>
<link
name="lh_index_distal">
<inertial>
<origin
xyz="0.0134 0.002262 0.016992"
rpy="0 0 0" />
<mass
value="0.018408" />
<inertia
ixx="0.000002488712"
ixy="0.000000008249"
ixz="-0.000001523059"
iyy="0.000003723754"
iyz="0.000000014019"
izz="0.000001813582" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_distal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_distal.STL" />
</geometry>
</collision>
</link>
<link
name="lh_index_tip">
<inertial>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<mass
value="1e-06" />
<inertia
ixx="1e-09"
ixy="0"
ixz="0"
iyy="1e-09"
iyz="0"
izz="1e-09" />
</inertial>
</link>
<joint
name="lh_index_tip_fixed"
type="fixed">
<origin
xyz="0.0341 0 0.034"
rpy="0 0 0" />
<parent
link="lh_index_distal" />
<child
link="lh_index_tip" />
</joint>
<joint
name="lh_index_dip"
type="revolute">
<origin
xyz="0.00093749 0 0.028002"
rpy="0 0 0" />
<parent
link="lh_index_proximal" />
<child
link="lh_index_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.277039"
effort="0"
velocity="3.1" />
<mimic
joint="lh_index_mcp_pitch"
multiplier="0.923280528556446"
offset="0" />
</joint>
<link
name="lh_middle_proximal">
<inertial>
<origin
xyz="0.001776 -0.00011 0.012556"
rpy="0 0 0" />
<mass
value="0.008553" />
<inertia
ixx="0.000000797543"
ixy="-0.000000001275"
ixz="0.000000138601"
iyy="0.000000800499"
iyz="0.000000000939"
izz="0.000000357001" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_proximal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 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="lh_middle_mcp_pitch"
type="revolute">
<origin
xyz="-0.00066821 -0.0089013 0.12322"
rpy="0 0 0" />
<parent
link="lh_hand_base_link" />
<child
link="lh_middle_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.23208487"
effort="0.574"
velocity="6.10" />
<dynamics damping="0.01" friction="0.02708333"/>
</joint>
<link
name="lh_middle_distal">
<inertial>
<origin
xyz="0.0134 0.002262 0.016992"
rpy="0 0 0" />
<mass
value="0.018408" />
<inertia
ixx="0.000002488712"
ixy="0.000000008249"
ixz="-0.000001523059"
iyy="0.000003723754"
iyz="0.000000014019"
izz="0.000001813582" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_distal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_distal.STL" />
</geometry>
</collision>
</link>
<link
name="lh_middle_tip">
<inertial>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<mass
value="1e-06" />
<inertia
ixx="1e-09"
ixy="0"
ixz="0"
iyy="1e-09"
iyz="0"
izz="1e-09" />
</inertial>
</link>
<joint
name="lh_middle_tip_fixed"
type="fixed">
<origin
xyz="0.0341 0 0.034"
rpy="0 0 0" />
<parent
link="lh_middle_distal" />
<child
link="lh_middle_tip" />
</joint>
<joint
name="lh_middle_dip"
type="revolute">
<origin
xyz="0.00093749 0 0.028002"
rpy="0 0 0" />
<parent
link="lh_middle_proximal" />
<child
link="lh_middle_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.277039"
effort="0"
velocity="3.1" />
<mimic
joint="lh_middle_mcp_pitch"
multiplier="0.923280528556446"
offset="0" />
</joint>
<link
name="lh_ring_proximal">
<inertial>
<origin
xyz="0.001776 -0.00011 0.012556"
rpy="0 0 0" />
<mass
value="0.008553" />
<inertia
ixx="0.000000797543"
ixy="-0.000000001275"
ixz="0.000000138601"
iyy="0.000000800499"
iyz="0.000000000939"
izz="0.000000357001" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_proximal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 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="lh_ring_mcp_pitch"
type="revolute">
<origin
xyz="-0.00067368 0.010717 0.11822"
rpy="0 0 0" />
<parent
link="lh_hand_base_link" />
<child
link="lh_ring_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.23208487"
effort="0.574"
velocity="6.10" />
<dynamics damping="0.01" friction="0.02291667"/>
</joint>
<link
name="lh_ring_distal">
<inertial>
<origin
xyz="0.0134 0.002262 0.016992"
rpy="0 0 0" />
<mass
value="0.018408" />
<inertia
ixx="0.000002488712"
ixy="0.000000008249"
ixz="-0.000001523059"
iyy="0.000003723754"
iyz="0.000000014019"
izz="0.000001813582" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_distal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_distal.STL" />
</geometry>
</collision>
</link>
<link
name="lh_ring_tip">
<inertial>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<mass
value="1e-06" />
<inertia
ixx="1e-09"
ixy="0"
ixz="0"
iyy="1e-09"
iyz="0"
izz="1e-09" />
</inertial>
</link>
<joint
name="lh_ring_tip_fixed"
type="fixed">
<origin
xyz="0.0341 0 0.034"
rpy="0 0 0" />
<parent
link="lh_ring_distal" />
<child
link="lh_ring_tip" />
</joint>
<joint
name="lh_ring_dip"
type="revolute">
<origin
xyz="0.00093749 0 0.028002"
rpy="0 0 0" />
<parent
link="lh_ring_proximal" />
<child
link="lh_ring_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.277039"
effort="0"
velocity="3.1" />
<mimic
joint="lh_ring_mcp_pitch"
multiplier="0.923280528556446"
offset="0" />
</joint>
<link
name="lh_pinky_proximal">
<inertial>
<origin
xyz="0.001776 -0.00011 0.012556"
rpy="0 0 0" />
<mass
value="0.008553" />
<inertia
ixx="0.000000797543"
ixy="-0.000000001275"
ixz="0.000000138601"
iyy="0.000000800499"
iyz="0.000000000939"
izz="0.000000357001" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_proximal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 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="lh_pinky_mcp_pitch"
type="revolute">
<origin
xyz="-0.00067852 0.029814 0.11424"
rpy="0 0 0" />
<parent
link="lh_hand_base_link" />
<child
link="lh_pinky_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.23208487"
effort="0.574"
velocity="6.10" />
<dynamics damping="0.01" friction="0.01"/>
</joint>
<link
name="lh_pinky_distal">
<inertial>
<origin
xyz="0.0134 0.002262 0.016992"
rpy="0 0 0" />
<mass
value="0.018408" />
<inertia
ixx="0.000002488712"
ixy="0.000000008249"
ixz="-0.000001523059"
iyy="0.000003723754"
iyz="0.000000014019"
izz="0.000001813582" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_distal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_distal.STL" />
</geometry>
</collision>
</link>
<link
name="lh_pinky_tip">
<inertial>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<mass
value="1e-06" />
<inertia
ixx="1e-09"
ixy="0"
ixz="0"
iyy="1e-09"
iyz="0"
izz="1e-09" />
</inertial>
</link>
<joint
name="lh_pinky_tip_fixed"
type="fixed">
<origin
xyz="0.0341 0 0.034"
rpy="0 0 0" />
<parent
link="lh_pinky_distal" />
<child
link="lh_pinky_tip" />
</joint>
<joint
name="lh_pinky_dip"
type="revolute">
<origin
xyz="0.00093749 0 0.028002"
rpy="0 0 0" />
<parent
link="lh_pinky_proximal" />
<child
link="lh_pinky_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.277039"
effort="0"
velocity="3.1" />
<mimic
joint="lh_pinky_mcp_pitch"
multiplier="0.923280528556446"
offset="0" />
</joint>
<transmission name="trans_thumb_cmc_roll">
<type>transmission_interface/SimpleTransmission</type>
<joint name="lh_thumb_cmc_roll">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_thumb_cmc_roll">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0084</mechanicalReduction>
</actuator>
</transmission>
<transmission name="trans_index_mcp_pitch">
<type>transmission_interface/SimpleTransmission</type>
<joint name="lh_index_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_index_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0082</mechanicalReduction>
</actuator>
</transmission>
<transmission name="trans_middle_mcp_pitch">
<type>transmission_interface/SimpleTransmission</type>
<joint name="lh_middle_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_middle_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0082</mechanicalReduction>
</actuator>
</transmission>
<transmission name="trans_ring_mcp_pitch">
<type>transmission_interface/SimpleTransmission</type>
<joint name="lh_ring_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_ring_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0082</mechanicalReduction>
</actuator>
</transmission>
<transmission name="trans_pinky_mcp_pitch">
<type>transmission_interface/SimpleTransmission</type>
<joint name="lh_pinky_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_pinky_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0082</mechanicalReduction>
</actuator>
</transmission>
<transmission name="trans_thumb_cmc_pitch">
<type>transmission_interface/SimpleTransmission</type>
<joint name="lh_thumb_cmc_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_thumb_cmc_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0144</mechanicalReduction>
</actuator>
</transmission>
<mujoco>
<compiler meshdir="meshes/" balanceinertia="true" discardvisual="false"/>
<default>
<joint armature="3.4707e-08" damping="5.0" frictionloss="0.5"/>
</default>
<equality>
<!-- 四指DIP关节的mimic约束 - 统一使用1.125676 -->
<!-- polycoef格式: c0 c1 c2 c3 c4 c5,关系: q1 = c0 + c1*q2 + c2*q2^2 + ... -->
<!-- 对于 mimic: q_dip = 0 + 1.125676*q_mcp + 0*q_mcp^2 + ... -->
<joint name="lh_couple_index" joint1="lh_index_dip" joint2="lh_index_mcp_pitch" polycoef="0 1.17646620703189 -0.184902818001199 0 0 0"/>
<joint name="lh_couple_middle" joint1="lh_middle_dip" joint2="lh_middle_mcp_pitch" polycoef="0 1.17646620703189 -0.184902818001199 0 0 0"/>
<joint name="lh_couple_ring" joint1="lh_ring_dip" joint2="lh_ring_mcp_pitch" polycoef="0 1.17646620703189 -0.184902818001199 0 0 0"/>
<joint name="lh_couple_pinky" joint1="lh_pinky_dip" joint2="lh_pinky_mcp_pitch" polycoef="0 1.17646620703189 -0.184902818001199 0 0 0"/>
<!-- 大拇指DIP关节的mimic约束 - 使用1.226495 -->
<joint name="lh_couple_thumb" joint1="lh_thumb_dip" joint2="lh_thumb_cmc_pitch" polycoef="0 0.88524192477979 0 0 0 0"/>
</equality>
</mujoco>
<gazebo reference="lh_hand_base_link">
<mu1>1.5</mu1>
<mu2>1.5</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="lh_thumb_distal">
<mu1>1.5</mu1>
<mu2>1.5</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="lh_index_distal">
<mu1>1.1</mu1>
<mu2>1.1</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="lh_middle_distal">
<mu1>1.1</mu1>
<mu2>1.1</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="lh_ring_distal">
<mu1>1.1</mu1>
<mu2>1.1</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="lh_pinky_distal">
<mu1>1.1</mu1>
<mu2>1.1</mu2>
<selfCollide>true</selfCollide>
</gazebo>
</robot>
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.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,953 @@
<?xml version="1.0" encoding="utf-8"?>
<robot
name="linkerhand_l6v3.1_right">
<!-- 手掌基座,作为整只手的根链接 -->
<link
name="rh_hand_base_link">
<inertial>
<origin
xyz="0.0019900000 0.0009100000 0.0583810000"
rpy="0 0 0" />
<mass
value="0.4185" />
<inertia
ixx="0.0004998"
ixy="-1.2853e-05"
ixz="-8.317e-06"
iyy="0.0003567"
iyz="-1.0354e-05"
izz="0.0002301" />
</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.796078431372549 0.823529411764706 0.937254901960784 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="rh_thumb_metacarpals_base1">
<inertial>
<origin
xyz="0.0018663000 0.0066406000 0.0015330000"
rpy="0 0 0" />
<mass
value="0.01" />
<inertia
ixx="3.3724e-07"
ixy="-1.11e-07"
ixz="-3.6039e-08"
iyy="2.9457e-07"
iyz="-5.7181e-08"
izz="4.903e-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.796078431372549 0.823529411764706 0.937254901960784 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="rh_thumb_cmc_roll"
type="revolute">
<origin
xyz="0.0078133 0.030812 0.025678"
rpy="-0.0349069999759288 6.51804876738993e-09 0.00738597563689764" />
<parent
link="rh_hand_base_link" />
<child
link="rh_thumb_metacarpals_base1" />
<axis
xyz="0 0.034899 -0.99939" />
<limit
lower="0"
upper="1.12177324"
effort="0.588"
velocity="5.95" />
<dynamics damping="0.02" friction="0.05416667"/>
</joint>
<link
name="rh_thumb_metacarpals">
<inertial>
<origin
xyz="0.0076927091 -0.0859662185 0.0235283087"
rpy="0 0 0" />
<mass
value="0.065" />
<inertia
ixx="8.407e-06"
ixy="1.1338e-09"
ixz="1.1136e-08"
iyy="8.3899e-06"
iyz="-3.1171e-07"
izz="2.0091e-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_metacarpals.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 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="rh_thumb_cmc_pitch"
type="revolute">
<origin
xyz="0.0054997 0.013314 0.0032166"
rpy="-0.98568644 0.0136370000000001 -0.40121" />
<parent
link="rh_thumb_metacarpals_base1" />
<child
link="rh_thumb_metacarpals" />
<axis
xyz="1 0 0" />
<limit
lower="0"
upper="0.65673088"
effort="1.008"
velocity="3.47" />
<dynamics damping="0.02" friction="0.0375"/>
</joint>
<link
name="rh_thumb_distal">
<inertial>
<origin
xyz="0.0076927091 -0.0798662185 -0.0591716913"
rpy="0 0 0" />
<mass
value="0.018" />
<inertia
ixx="1.5546e-06"
ixy="-2.4423e-09"
ixz="2.8147e-09"
iyy="1.7108e-06"
iyz="7.2756e-08"
izz="9.1709e-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.796078431372549 0.823529411764706 0.937254901960784 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/thumb_distal.STL" />
</geometry>
</collision>
</link>
<link
name="rh_thumb_tip">
<inertial>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<mass
value="1e-06" />
<inertia
ixx="1e-09"
ixy="0"
ixz="0"
iyy="1e-09"
iyz="0"
izz="1e-09" />
</inertial>
</link>
<joint
name="rh_thumb_tip_fixed"
type="fixed">
<origin
xyz="0 -0.0035 0.026"
rpy="0 0 -1.5708" />
<parent
link="rh_thumb_distal" />
<child
link="rh_thumb_tip" />
</joint>
<joint
name="rh_thumb_dip"
type="revolute">
<origin
xyz="0 -0.0061 0.0827"
rpy="0 0 0" />
<parent
link="rh_thumb_metacarpals" />
<child
link="rh_thumb_distal" />
<axis
xyz="1 0 0" />
<limit
lower="0"
upper="0.963287"
effort="0"
velocity="1.7" />
<mimic
joint="rh_thumb_cmc_pitch"
multiplier="0.88524192477979"
offset="0" />
</joint>
<link
name="rh_index_proximal">
<inertial>
<origin
xyz="0.0017760000 0.0001100000 0.0125560000"
rpy="0 0 0" />
<mass
value="0.008553" />
<inertia
ixx="7.97543e-07"
ixy="1.275e-09"
ixz="1.38601e-07"
iyy="8.00499e-07"
iyz="-9.39e-10"
izz="3.57001e-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.796078431372549 0.823529411764706 0.937254901960784 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="rh_index_mcp_pitch"
type="revolute">
<origin
xyz="-0.00066821 0.033467 0.11622"
rpy="-0.087266 0 0" />
<parent
link="rh_hand_base_link" />
<child
link="rh_index_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.23208487"
effort="0.574"
velocity="6.10" />
<dynamics damping="0.01" friction="0.04"/>
</joint>
<link
name="rh_index_distal">
<inertial>
<origin
xyz="0.0134000000 -0.0022620000 0.0169920000"
rpy="0 0 0" />
<mass
value="0.018408" />
<inertia
ixx="2.488712e-06"
ixy="-8.249e-09"
ixz="-1.523059e-06"
iyy="3.723754e-06"
iyz="-1.4019e-08"
izz="1.813582e-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_distal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/index_distal.STL" />
</geometry>
</collision>
</link>
<link
name="rh_index_tip">
<inertial>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<mass
value="1e-06" />
<inertia
ixx="1e-09"
ixy="0"
ixz="0"
iyy="1e-09"
iyz="0"
izz="1e-09" />
</inertial>
</link>
<joint
name="rh_index_tip_fixed"
type="fixed">
<origin
xyz="0.0341 0 0.034"
rpy="0 0 0" />
<parent
link="rh_index_distal" />
<child
link="rh_index_tip" />
</joint>
<joint
name="rh_index_dip"
type="revolute">
<origin
xyz="0.0009359 0 0.028002"
rpy="0 0 0" />
<parent
link="rh_index_proximal" />
<child
link="rh_index_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.277039"
effort="0"
velocity="3.1" />
<mimic
joint="rh_index_mcp_pitch"
multiplier="0.923280528556446"
offset="0" />
</joint>
<link
name="rh_middle_proximal">
<inertial>
<origin
xyz="0.0017760000 0.0001100000 0.0125560000"
rpy="0 0 0" />
<mass
value="0.008553" />
<inertia
ixx="7.97543e-07"
ixy="1.275e-09"
ixz="1.38601e-07"
iyy="8.00499e-07"
iyz="-9.39e-10"
izz="3.57001e-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.796078431372549 0.823529411764706 0.937254901960784 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="rh_middle_mcp_pitch"
type="revolute">
<origin
xyz="-0.00066821 0.0134013 0.12272"
rpy="-0.034907 0 0" />
<parent
link="rh_hand_base_link" />
<child
link="rh_middle_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.23208487"
effort="0.574"
velocity="6.10" />
<dynamics damping="0.01" friction="0.02708333"/>
</joint>
<link
name="rh_middle_distal">
<inertial>
<origin
xyz="0.0134000000 -0.0022620000 0.0169920000"
rpy="0 0 0" />
<mass
value="0.018408" />
<inertia
ixx="2.488712e-06"
ixy="-8.249e-09"
ixz="-1.523059e-06"
iyy="3.723754e-06"
iyz="-1.4019e-08"
izz="1.813582e-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_distal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/middle_distal.STL" />
</geometry>
</collision>
</link>
<link
name="rh_middle_tip">
<inertial>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<mass
value="1e-06" />
<inertia
ixx="1e-09"
ixy="0"
ixz="0"
iyy="1e-09"
iyz="0"
izz="1e-09" />
</inertial>
</link>
<joint
name="rh_middle_tip_fixed"
type="fixed">
<origin
xyz="0.0341 0 0.034"
rpy="0 0 0" />
<parent
link="rh_middle_distal" />
<child
link="rh_middle_tip" />
</joint>
<joint
name="rh_middle_dip"
type="revolute">
<origin
xyz="0.0009359 0 0.028002"
rpy="0 0 0" />
<parent
link="rh_middle_proximal" />
<child
link="rh_middle_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.277039"
effort="0"
velocity="3.1" />
<mimic
joint="rh_middle_mcp_pitch"
multiplier="0.923280528556446"
offset="0" />
</joint>
<link
name="rh_ring_proximal">
<inertial>
<origin
xyz="0.0017760000 0.0001100000 0.0125560000"
rpy="0 0 0" />
<mass
value="0.008553" />
<inertia
ixx="7.97543e-07"
ixy="1.275e-09"
ixz="1.38601e-07"
iyy="8.00499e-07"
iyz="-9.39e-10"
izz="3.57001e-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.796078431372549 0.823529411764706 0.937254901960784 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="rh_ring_mcp_pitch"
type="revolute">
<origin
xyz="-0.00067368 -0.006217 0.11872"
rpy="0.017453 0 0" />
<parent
link="rh_hand_base_link" />
<child
link="rh_ring_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.23208487"
effort="0.574"
velocity="6.10" />
<dynamics damping="0.01" friction="0.02291667"/>
</joint>
<link
name="rh_ring_distal">
<inertial>
<origin
xyz="0.0134000000 -0.0022620000 0.0169920000"
rpy="0 0 0" />
<mass
value="0.018408" />
<inertia
ixx="2.488712e-06"
ixy="-8.249e-09"
ixz="-1.523059e-06"
iyy="3.723754e-06"
iyz="-1.4019e-08"
izz="1.813582e-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_distal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/ring_distal.STL" />
</geometry>
</collision>
</link>
<link
name="rh_ring_tip">
<inertial>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<mass
value="1e-06" />
<inertia
ixx="1e-09"
ixy="0"
ixz="0"
iyy="1e-09"
iyz="0"
izz="1e-09" />
</inertial>
</link>
<joint
name="rh_ring_tip_fixed"
type="fixed">
<origin
xyz="0.0341 0 0.034"
rpy="0 0 0" />
<parent
link="rh_ring_distal" />
<child
link="rh_ring_tip" />
</joint>
<joint
name="rh_ring_dip"
type="revolute">
<origin
xyz="0.0009359 0 0.028002"
rpy="0 0 0" />
<parent
link="rh_ring_proximal" />
<child
link="rh_ring_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.277039"
effort="0"
velocity="3.1" />
<mimic
joint="rh_ring_mcp_pitch"
multiplier="0.923280528556446"
offset="0" />
</joint>
<link
name="rh_pinky_proximal">
<inertial>
<origin
xyz="0.0017760000 0.0001100000 0.0125560000"
rpy="0 0 0" />
<mass
value="0.008553" />
<inertia
ixx="7.97543e-07"
ixy="1.275e-09"
ixz="1.38601e-07"
iyy="8.00499e-07"
iyz="-9.39e-10"
izz="3.57001e-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.796078431372549 0.823529411764706 0.937254901960784 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="rh_pinky_mcp_pitch"
type="revolute">
<origin
xyz="-0.00067852 -0.025314 0.11474"
rpy="0.05236 0 0" />
<parent
link="rh_hand_base_link" />
<child
link="rh_pinky_proximal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.23208487"
effort="0.574"
velocity="6.10" />
<dynamics damping="0.01" friction="0.01"/>
</joint>
<link
name="rh_pinky_distal">
<inertial>
<origin
xyz="0.0134000000 -0.0022620000 0.0169920000"
rpy="0 0 0" />
<mass
value="0.018408" />
<inertia
ixx="2.488712e-06"
ixy="-8.249e-09"
ixz="-1.523059e-06"
iyy="3.723754e-06"
iyz="-1.4019e-08"
izz="1.813582e-06" />
</inertial>
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_distal.STL" />
</geometry>
<material
name="">
<color
rgba="0.796078431372549 0.823529411764706 0.937254901960784 1" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="meshes/pinky_distal.STL" />
</geometry>
</collision>
</link>
<link
name="rh_pinky_tip">
<inertial>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<mass
value="1e-06" />
<inertia
ixx="1e-09"
ixy="0"
ixz="0"
iyy="1e-09"
iyz="0"
izz="1e-09" />
</inertial>
</link>
<joint
name="rh_pinky_tip_fixed"
type="fixed">
<origin
xyz="0.0341 0 0.034"
rpy="0 0 0" />
<parent
link="rh_pinky_distal" />
<child
link="rh_pinky_tip" />
</joint>
<joint
name="rh_pinky_dip"
type="revolute">
<origin
xyz="0.0009359 0 0.028002"
rpy="0 0 0" />
<parent
link="rh_pinky_proximal" />
<child
link="rh_pinky_distal" />
<axis
xyz="0 1 0" />
<limit
lower="0"
upper="1.277039"
effort="0"
velocity="3.1" />
<mimic
joint="rh_pinky_mcp_pitch"
multiplier="0.923280528556446"
offset="0" />
</joint>
<transmission name="trans_thumb_cmc_roll">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rh_thumb_cmc_roll">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_thumb_cmc_roll">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0084</mechanicalReduction>
</actuator>
</transmission>
<transmission name="trans_index_mcp_pitch">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rh_index_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_index_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0082</mechanicalReduction>
</actuator>
</transmission>
<transmission name="trans_middle_mcp_pitch">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rh_middle_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_middle_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0082</mechanicalReduction>
</actuator>
</transmission>
<transmission name="trans_ring_mcp_pitch">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rh_ring_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_ring_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0082</mechanicalReduction>
</actuator>
</transmission>
<transmission name="trans_pinky_mcp_pitch">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rh_pinky_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_pinky_mcp_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0082</mechanicalReduction>
</actuator>
</transmission>
<transmission name="trans_thumb_cmc_pitch">
<type>transmission_interface/SimpleTransmission</type>
<joint name="rh_thumb_cmc_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
</joint>
<actuator name="motor_thumb_cmc_pitch">
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
<mechanicalReduction>0.0144</mechanicalReduction>
</actuator>
</transmission>
<mujoco>
<compiler meshdir="meshes/" balanceinertia="true" discardvisual="false"/>
<default>
<joint armature="3.4707e-08" damping="5.0" frictionloss="0.5"/>
</default>
<equality>
<joint name="rh_couple_index" joint1="rh_index_dip" joint2="rh_index_mcp_pitch" polycoef="0 1.17646620703189 -0.184902818001199 0 0 0"/>
<joint name="rh_couple_middle" joint1="rh_middle_dip" joint2="rh_middle_mcp_pitch" polycoef="0 1.17646620703189 -0.184902818001199 0 0 0"/>
<joint name="rh_couple_ring" joint1="rh_ring_dip" joint2="rh_ring_mcp_pitch" polycoef="0 1.17646620703189 -0.184902818001199 0 0 0"/>
<joint name="rh_couple_pinky" joint1="rh_pinky_dip" joint2="rh_pinky_mcp_pitch" polycoef="0 1.17646620703189 -0.184902818001199 0 0 0"/>
<joint name="rh_couple_thumb" joint1="rh_thumb_dip" joint2="rh_thumb_cmc_pitch" polycoef="0 0.88524192477979 0 0 0 0"/>
</equality>
</mujoco>
<gazebo reference="rh_hand_base_link">
<mu1>1.5</mu1>
<mu2>1.5</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="rh_thumb_distal">
<mu1>1.5</mu1>
<mu2>1.5</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="rh_index_distal">
<mu1>1.1</mu1>
<mu2>1.1</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="rh_middle_distal">
<mu1>1.1</mu1>
<mu2>1.1</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="rh_ring_distal">
<mu1>1.1</mu1>
<mu2>1.1</mu2>
<selfCollide>true</selfCollide>
</gazebo>
<gazebo reference="rh_pinky_distal">
<mu1>1.1</mu1>
<mu2>1.1</mu2>
<selfCollide>true</selfCollide>
</gazebo>
</robot>
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.