mani-skill-nightly 2025.5.20.522__py3-none-any.whl → 2025.5.20.2330__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. mani_skill/agents/robots/__init__.py +6 -1
  2. mani_skill/agents/robots/inspire_hand/__init__.py +2 -0
  3. mani_skill/agents/robots/inspire_hand/fixed_inspire_hand.py +246 -0
  4. mani_skill/agents/robots/inspire_hand/floating_inspire_hand.py +414 -0
  5. mani_skill/assets/robots/inspire_hand/README.md +23 -0
  6. mani_skill/assets/robots/inspire_hand/{urdf/end_effector/inspire_hand → RH56DFX-2LR/urdf}/inspire_hand_left.urdf +43 -48
  7. mani_skill/assets/robots/inspire_hand/RH56DFX-2LR/urdf/inspire_hand_left_floating.urdf +516 -0
  8. mani_skill/assets/robots/inspire_hand/{urdf/end_effector/inspire_hand → RH56DFX-2LR/urdf}/inspire_hand_right.urdf +43 -40
  9. mani_skill/assets/robots/inspire_hand/{urdf/end_effector/inspire_hand → RH56DFX-2LR/urdf}/inspire_hand_right_floating.urdf +43 -40
  10. {mani_skill_nightly-2025.5.20.522.dist-info → mani_skill_nightly-2025.5.20.2330.dist-info}/METADATA +1 -1
  11. {mani_skill_nightly-2025.5.20.522.dist-info → mani_skill_nightly-2025.5.20.2330.dist-info}/RECORD +29 -26
  12. mani_skill/agents/robots/floating_inspire_hand/__init__.py +0 -1
  13. mani_skill/agents/robots/floating_inspire_hand/floating_inspire_hand.py +0 -187
  14. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/L_hand_base_link.glb +0 -0
  15. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/L_thumb_metacarpal_base.glb +0 -0
  16. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/L_wrist_link.glb +0 -0
  17. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/R_hand_base_link.glb +0 -0
  18. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/R_thumb_metacarpal_base.glb +0 -0
  19. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/R_wrist_link.glb +0 -0
  20. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/index_ring_middle.glb +0 -0
  21. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/index_ring_proximal.glb +0 -0
  22. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/middle_middle.glb +0 -0
  23. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/middle_pinky_proximal.glb +0 -0
  24. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/pinky_middle.glb +0 -0
  25. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/thumb_distal.glb +0 -0
  26. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/thumb_metacarpal.glb +0 -0
  27. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/thumb_proximal.glb +0 -0
  28. /mani_skill/assets/robots/inspire_hand/{meshes/end_effector/inspire_hand → RH56DFX-2LR/meshes}/visual/wrist_base_link.glb +0 -0
  29. {mani_skill_nightly-2025.5.20.522.dist-info → mani_skill_nightly-2025.5.20.2330.dist-info}/LICENSE +0 -0
  30. {mani_skill_nightly-2025.5.20.522.dist-info → mani_skill_nightly-2025.5.20.2330.dist-info}/WHEEL +0 -0
  31. {mani_skill_nightly-2025.5.20.522.dist-info → mani_skill_nightly-2025.5.20.2330.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,516 @@
1
+ <?xml version="1.0" ?>
2
+ <!-- =================================================================================== -->
3
+ <!-- | This document was autogenerated by xacro from main.xacro | -->
4
+ <!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | -->
5
+ <!-- =================================================================================== -->
6
+ <robot name="inspire_hand">
7
+ <link name="root">
8
+ <inertial>
9
+ <mass value="0"/>
10
+ <inertia ixx="0.00" ixy="0.00" ixz="0.00" iyy="0.00" iyz="0.00" izz="0.00"/>
11
+ </inertial>
12
+ </link>
13
+ <link name="root_arm_1_link_1">
14
+ <inertial>
15
+ <mass value="0"/>
16
+ <inertia ixx="0.00" ixy="0.00" ixz="0.00" iyy="0.00" iyz="0.00" izz="0.00"/>
17
+ </inertial>
18
+ </link>
19
+ <link name="root_arm_1_link_2">
20
+ <inertial>
21
+ <mass value="0"/>
22
+ <inertia ixx="0.00" ixy="0.00" ixz="0.00" iyy="0.00" iyz="0.00" izz="0.00"/>
23
+ </inertial>
24
+ </link>
25
+ <link name="root_arm_1_link_3">
26
+ <inertial>
27
+ <mass value="0"/>
28
+ <inertia ixx="0.00" ixy="0.00" ixz="0.00" iyy="0.00" iyz="0.00" izz="0.00"/>
29
+ </inertial>
30
+ </link>
31
+ <link name="root_arm_1_link_4">
32
+ <inertial>
33
+ <mass value="0"/>
34
+ <inertia ixx="0.00" ixy="0.00" ixz="0.00" iyy="0.00" iyz="0.00" izz="0.00"/>
35
+ </inertial>
36
+ </link>
37
+ <link name="root_arm_1_link_5">
38
+ <inertial>
39
+ <mass value="0"/>
40
+ <inertia ixx="0.00" ixy="0.00" ixz="0.00" iyy="0.00" iyz="0.00" izz="0.00"/>
41
+ </inertial>
42
+ </link>
43
+ <joint name="root_x_axis_joint" type="prismatic">
44
+ <parent link="root"/>
45
+ <child link="root_arm_1_link_1"/>
46
+ <axis xyz="1 0 0"/>
47
+ <limit effort="100" lower="-20" upper="20" velocity="0.50"/>
48
+ <dynamics damping="10.0" friction="10"/>
49
+ </joint>
50
+ <joint name="root_y_axis_joint" type="prismatic">
51
+ <parent link="root_arm_1_link_1"/>
52
+ <child link="root_arm_1_link_2"/>
53
+ <axis xyz="0 1 0"/>
54
+ <limit effort="100" lower="-20" upper="20" velocity="0.50"/>
55
+ <dynamics damping="10.0" friction="10"/>
56
+ </joint>
57
+ <joint name="root_z_axis_joint" type="prismatic">
58
+ <parent link="root_arm_1_link_2"/>
59
+ <child link="root_arm_1_link_3"/>
60
+ <axis xyz="0 0 1"/>
61
+ <limit effort="100" lower="-20" upper="20" velocity="0.50"/>
62
+ <dynamics damping="10.0" friction="10"/>
63
+ </joint>
64
+ <joint name="root_x_rot_joint" type="revolute">
65
+ <parent link="root_arm_1_link_3"/>
66
+ <child link="root_arm_1_link_4"/>
67
+ <axis xyz="1 0 0"/>
68
+ <limit effort="100" lower="-20" upper="20" velocity="0.50"/>
69
+ <dynamics damping="10.0" friction="10"/>
70
+ </joint>
71
+ <joint name="root_y_rot_joint" type="revolute">
72
+ <parent link="root_arm_1_link_4"/>
73
+ <child link="root_arm_1_link_5"/>
74
+ <axis xyz="0 1 0"/>
75
+ <limit effort="100" lower="-20" upper="20" velocity="0.50"/>
76
+ <dynamics damping="10.0" friction="10"/>
77
+ </joint>
78
+ <joint name="root_z_rot_joint" type="revolute">
79
+ <parent link="root_arm_1_link_5"/>
80
+ <child link="left_hand_wrist_base_link"/>
81
+ <axis xyz="0 0 1"/>
82
+ <limit effort="100" lower="-20" upper="20" velocity="0.50"/>
83
+ <dynamics damping="10.0" friction="10"/>
84
+ </joint>
85
+ <link name="left_hand_wrist_base_link">
86
+ <inertial>
87
+ <origin rpy="0 0 0" xyz="-2.4695E-06 0.0014729 0.032787"/>
88
+ <mass value="0.065373"/>
89
+ <inertia ixx="4.1551E-05" ixy="7.3802E-11" ixz="6.064E-09" iyy="4.1183E-05" iyz="8.3242E-09" izz="2.7991E-05"/>
90
+ </inertial>
91
+ <visual>
92
+ <origin rpy="0 0 0" xyz="0 0 0"/>
93
+ <geometry>
94
+ <mesh filename="../meshes/visual/wrist_base_link.glb"/>
95
+ </geometry>
96
+ </visual>
97
+ <collision>
98
+ <origin rpy="0 0 0" xyz="0 0 0"/>
99
+ <geometry>
100
+ <mesh filename="../meshes/visual/wrist_base_link.glb"/>
101
+ </geometry>
102
+ </collision>
103
+ </link>
104
+ <link name="left_hand_wrist_link">
105
+ <inertial>
106
+ <origin rpy="0 0 0" xyz="-1.1356E-10 -7.0593E-06 7.9885E-05"/>
107
+ <mass value="0.00056124"/>
108
+ <inertia ixx="2.9483E-08" ixy="2.7024E-16" ixz="-1.1443E-17" iyy="2.9284E-08" iyz="-3.1652E-13" izz="2.2194E-09"/>
109
+ </inertial>
110
+ <visual>
111
+ <origin rpy="0 0 0" xyz="0 0 0"/>
112
+ <geometry>
113
+ <mesh filename="../meshes/visual/L_wrist_link.glb"/>
114
+ </geometry>
115
+ </visual>
116
+ <collision>
117
+ <origin rpy="0 0 0" xyz="0 0 0"/>
118
+ <geometry>
119
+ <mesh filename="../meshes/visual/L_wrist_link.glb"/>
120
+ </geometry>
121
+ </collision>
122
+ </link>
123
+ <joint name="left_hand_wrist_pitch_joint" type="revolute">
124
+ <origin rpy="1.5707963267948966 0 1.5707963267948966" xyz="0 0 0.0785"/>
125
+ <parent link="left_hand_wrist_base_link"/>
126
+ <child link="left_hand_wrist_link"/>
127
+ <axis xyz="0 0 1"/>
128
+ <limit effort="1" lower="-0.39549160850191506" upper="0.3860668305411457" velocity="0.5"/>
129
+ </joint>
130
+ <link name="left_hand_hand_base_link">
131
+ <inertial>
132
+ <origin rpy="0 0 0" xyz="-0.0011392 0.05204 0.0013473"/>
133
+ <mass value="0.19286"/>
134
+ <inertia ixx="9.3621E-05" ixy="-1.7903E-06" ixz="-6.7098E-07" iyy="9.5449E-05" iyz="-2.7765E-06" izz="0.00016048"/>
135
+ </inertial>
136
+ <visual>
137
+ <origin rpy="0 0 0" xyz="0 0 0"/>
138
+ <geometry>
139
+ <mesh filename="../meshes/visual/L_hand_base_link.glb"/>
140
+ </geometry>
141
+ </visual>
142
+ <collision>
143
+ <origin rpy="0 0 0" xyz="0 0 0"/>
144
+ <geometry>
145
+ <mesh filename="../meshes/visual/L_hand_base_link.glb"/>
146
+ </geometry>
147
+ </collision>
148
+ </link>
149
+ <joint name="left_hand_wrist_yaw_joint" type="revolute">
150
+ <origin rpy="0 -1.5707963267948966 0" xyz="0 0 0"/>
151
+ <parent link="left_hand_wrist_link"/>
152
+ <child link="left_hand_hand_base_link"/>
153
+ <axis xyz="0 0 1"/>
154
+ <limit effort="1" lower="-0.445058959258554" upper="0.445058959258554" velocity="0.5"/>
155
+ </joint>
156
+ <link name="left_hand_thumb_metacarpal_base">
157
+ <inertial>
158
+ <origin rpy="0 0 0" xyz="0.003828 0.00054788 -2.5428E-05"/>
159
+ <mass value="0.0015177"/>
160
+ <inertia ixx="3.6056E-08" ixy="5.7717E-09" ixz="-1.9602E-09" iyy="6.0741E-08" iyz="2.0752E-10" izz="5.6161E-08"/>
161
+ </inertial>
162
+ <visual>
163
+ <origin rpy="0 0 0" xyz="0 0 0"/>
164
+ <geometry>
165
+ <mesh filename="../meshes/visual/L_thumb_metacarpal_base.glb"/>
166
+ </geometry>
167
+ </visual>
168
+ <collision>
169
+ <origin rpy="0 0 0" xyz="0 0 0"/>
170
+ <geometry>
171
+ <mesh filename="../meshes/visual/L_thumb_metacarpal_base.glb"/>
172
+ </geometry>
173
+ </collision>
174
+ </link>
175
+ <joint name="left_hand_thumb_CMC_yaw_joint" type="revolute">
176
+ <origin rpy="1.5707963267948966 0.2617993877991494 0" xyz="0.02125 0.0285 -0.01515"/>
177
+ <parent link="left_hand_hand_base_link"/>
178
+ <child link="left_hand_thumb_metacarpal_base"/>
179
+ <axis xyz="0 0 1"/>
180
+ <limit effort="1" lower="-1.3089969389957472" upper="0" velocity="0.5"/>
181
+ </joint>
182
+ <link name="left_hand_thumb_metacarpal">
183
+ <inertial>
184
+ <origin rpy="0 0 0" xyz="0.025598 0.0011674 1.6981E-07"/>
185
+ <mass value="0.026111"/>
186
+ <inertia ixx="2.4138E-06" ixy="1.425E-07" ixz="-6.4106E-11" iyy="6.7215E-06" iyz="6.9289E-12" izz="7.9391E-06"/>
187
+ </inertial>
188
+ <visual>
189
+ <origin rpy="0 0 0" xyz="0 0 0"/>
190
+ <geometry>
191
+ <mesh filename="../meshes/visual/thumb_metacarpal.glb"/>
192
+ </geometry>
193
+ </visual>
194
+ <collision>
195
+ <origin rpy="0 0 0" xyz="0 0 0"/>
196
+ <geometry>
197
+ <mesh filename="../meshes/visual/thumb_metacarpal.glb"/>
198
+ </geometry>
199
+ </collision>
200
+ </link>
201
+ <!--
202
+ from sapien import Pose
203
+ from transforms3d.euler import euler2quat, quat2euler
204
+ import numpy as np
205
+ pose_mb_m = Pose([0.0115, 0, 0.00075], euler2quat(np.pi/2, 0.62203, 0))
206
+ new_pose_mb_m = pose_mb_m * Pose(q=euler2quat(0, 0, -0.2))
207
+ quat2euler(new_pose_mb_m.q)
208
+ -->
209
+ <joint name="left_hand_thumb_CMC_pitch_joint" type="revolute">
210
+ <origin rpy="1.5707963267948966 0.6831165238198015 0" xyz="0.0115 0 0.00075"/>
211
+ <parent link="left_hand_thumb_metacarpal_base"/>
212
+ <child link="left_hand_thumb_metacarpal"/>
213
+ <axis xyz="0 0 1"/>
214
+ <limit effort="1" lower="-0.4799655442984406" upper="0" velocity="0.5"/>
215
+ </joint>
216
+ <link name="left_hand_thumb_proximal">
217
+ <inertial>
218
+ <origin rpy="0 0 0" xyz="0.0096372 0.0056521 -1.5461E-07"/>
219
+ <mass value="0.0076243"/>
220
+ <inertia ixx="3.7133E-07" ixy="9.4972E-08" ixz="-1.1524E-11" iyy="7.9078E-07" iyz="9.5864E-13" izz="8.6326E-07"/>
221
+ </inertial>
222
+ <visual>
223
+ <origin rpy="0 0 0" xyz="0 0 0"/>
224
+ <geometry>
225
+ <mesh filename="../meshes/visual/thumb_proximal.glb"/>
226
+ </geometry>
227
+ </visual>
228
+ <collision>
229
+ <origin rpy="0 0 0" xyz="0 0 0"/>
230
+ <geometry>
231
+ <mesh filename="../meshes/visual/thumb_proximal.glb"/>
232
+ </geometry>
233
+ </collision>
234
+ </link>
235
+ <joint name="left_hand_thumb_MCP_joint" type="revolute">
236
+ <origin rpy="0 0 -0.003172" xyz="0.055852 -0.0040666 0"/>
237
+ <parent link="left_hand_thumb_metacarpal"/>
238
+ <child link="left_hand_thumb_proximal"/>
239
+ <axis xyz="0 0 1"/>
240
+ <limit effort="1" lower="-0.8" upper="0" velocity="0.5"/>
241
+ <mimic joint="left_hand_thumb_CMC_pitch_joint" multiplier="1.3333333333333335" offset="-0.08144869842640205"/>
242
+ </joint>
243
+ <link name="left_hand_thumb_distal">
244
+ <inertial>
245
+ <origin rpy="0 0 0" xyz="0.01088 0.00050962 1.5765E-07"/>
246
+ <mass value="0.0032026"/>
247
+ <inertia ixx="8.142E-08" ixy="2.1827E-08" ixz="3.1474E-12" iyy="1.751E-07" iyz="-1.6913E-12" izz="1.8652E-07"/>
248
+ </inertial>
249
+ <visual>
250
+ <origin rpy="0 0 0" xyz="0 0 0"/>
251
+ <geometry>
252
+ <mesh filename="../meshes/visual/thumb_distal.glb"/>
253
+ </geometry>
254
+ </visual>
255
+ <collision>
256
+ <origin rpy="0 0 0" xyz="0 0 0"/>
257
+ <geometry>
258
+ <mesh filename="../meshes/visual/thumb_distal.glb"/>
259
+ </geometry>
260
+ </collision>
261
+ </link>
262
+ <joint name="left_hand_thumb_IP_joint" type="revolute">
263
+ <origin rpy="0 0 0.011853" xyz="0.022558 0.0020717 0"/>
264
+ <parent link="left_hand_thumb_proximal"/>
265
+ <child link="left_hand_thumb_distal"/>
266
+ <axis xyz="0 0 1"/>
267
+ <limit effort="1" lower="-0.4" upper="0" velocity="0.5"/>
268
+ <!-- NOTE (stao): In order to ues physx fixed tendon to simulate 2 underactuated joints in series controlled by one joint, we need
269
+ to have them mimic one after another. The original mimic tag is commented out and we rearrange the transformation to make it depend
270
+ on the parent joint instead of the grandparent joint. -->
271
+ <!-- <mimic joint="left_hand_thumb_CMC_pitch_joint" multiplier="0.6666666666666667" offset="-0.040724349213201026"/> -->
272
+ <mimic joint="left_hand_thumb_MCP_joint" multiplier="0.5" offset="0"/>
273
+ </joint>
274
+ <link name="left_hand_index_proximal">
275
+ <inertial>
276
+ <origin rpy="0 0 0" xyz="0.013292 -0.0019852 6.3987E-08"/>
277
+ <mass value="0.0074557"/>
278
+ <inertia ixx="3.0933E-07" ixy="1.1169E-07" ixz="6.8599E-12" iyy="8.2022E-07" iyz="4.1194E-13" izz="9.125E-07"/>
279
+ </inertial>
280
+ <visual>
281
+ <origin rpy="0 0 0" xyz="0 0 0"/>
282
+ <geometry>
283
+ <mesh filename="../meshes/visual/index_ring_proximal.glb"/>
284
+ </geometry>
285
+ </visual>
286
+ <collision>
287
+ <origin rpy="0 0 0" xyz="0 0 0"/>
288
+ <geometry>
289
+ <mesh filename="../meshes/visual/index_ring_proximal.glb"/>
290
+ </geometry>
291
+ </collision>
292
+ </link>
293
+ <joint name="left_hand_index_MCP_joint" type="revolute">
294
+ <origin rpy="1.5707963267948966 -0.12457000000000001 1.5359" xyz="0.027071 0.10464 0.0020953"/>
295
+ <parent link="left_hand_hand_base_link"/>
296
+ <child link="left_hand_index_proximal"/>
297
+ <axis xyz="0 0 1"/>
298
+ <limit effort="1" lower="-1.34" upper="0" velocity="0.5"/>
299
+ </joint>
300
+ <link name="left_hand_index_middle">
301
+ <inertial>
302
+ <origin rpy="0 0 0" xyz="0.018926 -0.0015379 -1.1076E-08"/>
303
+ <mass value="0.0044472"/>
304
+ <inertia ixx="1.4776E-07" ixy="2.0201E-07" ixz="-8.6133E-13" iyy="6.6739E-07" iyz="4.5149E-13" izz="7.4626E-07"/>
305
+ </inertial>
306
+ <visual>
307
+ <origin rpy="0 0 0" xyz="0 0 0"/>
308
+ <geometry>
309
+ <mesh filename="../meshes/visual/index_ring_middle.glb"/>
310
+ </geometry>
311
+ </visual>
312
+ <collision>
313
+ <origin rpy="0 0 0" xyz="0 0 0"/>
314
+ <geometry>
315
+ <mesh filename="../meshes/visual/index_ring_middle.glb"/>
316
+ </geometry>
317
+ </collision>
318
+ </link>
319
+ <joint name="left_hand_index_PIP_joint" type="revolute">
320
+ <origin rpy="0 0 0.0016248" xyz="0.030445 -0.010275 0"/>
321
+ <parent link="left_hand_index_proximal"/>
322
+ <child link="left_hand_index_middle"/>
323
+ <axis xyz="0 0 1"/>
324
+ <limit effort="1" lower="-1.5930946000000001" upper="0.04545" velocity="0.5"/>
325
+ <mimic joint="left_hand_index_MCP_joint" multiplier="1.06399" offset="-0.16734800000000002"/>
326
+ </joint>
327
+ <link name="left_hand_middle_proximal">
328
+ <inertial>
329
+ <origin rpy="0 0 0" xyz="0.013292 -0.0019853 9.6516E-08"/>
330
+ <mass value="0.0074556"/>
331
+ <inertia ixx="3.0932E-07" ixy="1.1169E-07" ixz="7.0517E-12" iyy="8.2022E-07" iyz="-8.1193E-13" izz="9.1249E-07"/>
332
+ </inertial>
333
+ <visual>
334
+ <origin rpy="0 0 0" xyz="0 0 0"/>
335
+ <geometry>
336
+ <mesh filename="../meshes/visual/middle_pinky_proximal.glb"/>
337
+ </geometry>
338
+ </visual>
339
+ <collision>
340
+ <origin rpy="0 0 0" xyz="0 0 0"/>
341
+ <geometry>
342
+ <mesh filename="../meshes/visual/middle_pinky_proximal.glb"/>
343
+ </geometry>
344
+ </collision>
345
+ </link>
346
+ <joint name="left_hand_middle_MCP_joint" type="revolute">
347
+ <origin rpy="1.5707963267948966 -0.12457000000000001 1.5707963267948966" xyz="0.00775 0.105 0.0020953"/>
348
+ <parent link="left_hand_hand_base_link"/>
349
+ <child link="left_hand_middle_proximal"/>
350
+ <axis xyz="0 0 1"/>
351
+ <limit effort="1" lower="-1.34" upper="0" velocity="0.5"/>
352
+ </joint>
353
+ <link name="left_hand_middle_middle">
354
+ <inertial>
355
+ <origin rpy="0 0 0" xyz="0.020219 -0.0014516 1.2009E-08"/>
356
+ <mass value="0.0048918"/>
357
+ <inertia ixx="1.6257E-07" ixy="2.4465E-07" ixz="-1.7387E-12" iyy="8.8196E-07" iyz="-3.56E-13" izz="9.6871E-07"/>
358
+ </inertial>
359
+ <visual>
360
+ <origin rpy="0 0 0" xyz="0 0 0"/>
361
+ <geometry>
362
+ <mesh filename="../meshes/visual/middle_middle.glb"/>
363
+ </geometry>
364
+ </visual>
365
+ <collision>
366
+ <origin rpy="0 0 0" xyz="0 0 0"/>
367
+ <geometry>
368
+ <mesh filename="../meshes/visual/middle_middle.glb"/>
369
+ </geometry>
370
+ </collision>
371
+ </link>
372
+ <joint name="left_hand_middle_PIP_joint" type="revolute">
373
+ <origin rpy="0 0 -0.019795" xyz="0.030445 -0.010275 0"/>
374
+ <parent link="left_hand_middle_proximal"/>
375
+ <child link="left_hand_middle_middle"/>
376
+ <axis xyz="0 0 1"/>
377
+ <limit effort="1" lower="-1.5930946000000001" upper="0.04545" velocity="0.5"/>
378
+ <mimic joint="left_hand_middle_MCP_joint" multiplier="1.06399" offset="-0.16734800000000002"/>
379
+ </joint>
380
+ <link name="left_hand_ring_proximal">
381
+ <inertial>
382
+ <origin rpy="0 0 0" xyz="0.013292 -0.0019853 9.267E-08"/>
383
+ <mass value="0.0074556"/>
384
+ <inertia ixx="3.0932E-07" ixy="1.1169E-07" ixz="6.3806E-12" iyy="8.2022E-07" iyz="-3.6905E-13" izz="9.1249E-07"/>
385
+ </inertial>
386
+ <visual>
387
+ <origin rpy="0 0 0" xyz="0 0 0"/>
388
+ <geometry>
389
+ <mesh filename="../meshes/visual/index_ring_proximal.glb"/>
390
+ </geometry>
391
+ </visual>
392
+ <collision>
393
+ <origin rpy="0 0 0" xyz="0 0 0"/>
394
+ <geometry>
395
+ <mesh filename="../meshes/visual/index_ring_proximal.glb"/>
396
+ </geometry>
397
+ </collision>
398
+ </link>
399
+ <joint name="left_hand_ring_MCP_joint" type="revolute">
400
+ <origin rpy="1.5707963267948966 -0.12457000000000001 1.6232" xyz="-0.011479 0.1045 0.0020953"/>
401
+ <parent link="left_hand_hand_base_link"/>
402
+ <child link="left_hand_ring_proximal"/>
403
+ <axis xyz="0 0 1"/>
404
+ <limit effort="1" lower="-1.34" upper="0" velocity="0.5"/>
405
+ </joint>
406
+ <link name="left_hand_ring_middle">
407
+ <inertial>
408
+ <origin rpy="0 0 0" xyz="0.018926 -0.0015379 -2.2563E-08"/>
409
+ <mass value="0.0044472"/>
410
+ <inertia ixx="1.4776E-07" ixy="2.0201E-07" ixz="2.6303E-13" iyy="6.6739E-07" iyz="-1.872E-13" izz="7.4626E-07"/>
411
+ </inertial>
412
+ <visual>
413
+ <origin rpy="0 0 0" xyz="0 0 0"/>
414
+ <geometry>
415
+ <mesh filename="../meshes/visual/index_ring_middle.glb"/>
416
+ </geometry>
417
+ </visual>
418
+ <collision>
419
+ <origin rpy="0 0 0" xyz="0 0 0"/>
420
+ <geometry>
421
+ <mesh filename="../meshes/visual/index_ring_middle.glb"/>
422
+ </geometry>
423
+ </collision>
424
+ </link>
425
+ <joint name="left_hand_ring_PIP_joint" type="revolute">
426
+ <origin rpy="0 0 0.0016262" xyz="0.030445 -0.010275 0"/>
427
+ <parent link="left_hand_ring_proximal"/>
428
+ <child link="left_hand_ring_middle"/>
429
+ <axis xyz="0 0 1"/>
430
+ <limit effort="1" lower="-1.5930946000000001" upper="0.04545" velocity="0.5"/>
431
+ <mimic joint="left_hand_ring_MCP_joint" multiplier="1.06399" offset="-0.16734800000000002"/>
432
+ </joint>
433
+ <link name="left_hand_pinky_proximal">
434
+ <inertial>
435
+ <origin rpy="0 0 0" xyz="0.013292 -0.0019853 9.9172E-08"/>
436
+ <mass value="0.0074556"/>
437
+ <inertia ixx="3.0932E-07" ixy="1.1169E-07" ixz="6.5494E-12" iyy="8.2022E-07" iyz="-6.477E-13" izz="9.1249E-07"/>
438
+ </inertial>
439
+ <visual>
440
+ <origin rpy="0 0 0" xyz="0 0 0"/>
441
+ <geometry>
442
+ <mesh filename="../meshes/visual/middle_pinky_proximal.glb"/>
443
+ </geometry>
444
+ </visual>
445
+ <collision>
446
+ <origin rpy="0 0 0" xyz="0 0 0"/>
447
+ <geometry>
448
+ <mesh filename="../meshes/visual/middle_pinky_proximal.glb"/>
449
+ </geometry>
450
+ </collision>
451
+ </link>
452
+ <joint name="left_hand_pinky_MCP_joint" type="revolute">
453
+ <origin rpy="1.5707963267948966 -0.12457000000000001 1.6755" xyz="-0.030655 0.10299 0.0020953"/>
454
+ <parent link="left_hand_hand_base_link"/>
455
+ <child link="left_hand_pinky_proximal"/>
456
+ <axis xyz="0 0 1"/>
457
+ <limit effort="1" lower="-1.34" upper="0" velocity="0.5"/>
458
+ </joint>
459
+ <link name="left_hand_pinky_middle">
460
+ <inertial>
461
+ <origin rpy="0 0 0" xyz="0.015705 -0.0017319 3.0193E-05"/>
462
+ <mass value="0.00358"/>
463
+ <inertia ixx="1.1688E-07" ixy="1.3011E-07" ixz="-5.7708E-10" iyy="3.6706E-07" iyz="3.7863E-10" izz="4.2837E-07"/>
464
+ </inertial>
465
+ <visual>
466
+ <origin rpy="0 0 0" xyz="0 0 0"/>
467
+ <geometry>
468
+ <mesh filename="../meshes/visual/pinky_middle.glb"/>
469
+ </geometry>
470
+ </visual>
471
+ <collision>
472
+ <origin rpy="0 0 0" xyz="0 0 0"/>
473
+ <geometry>
474
+ <mesh filename="../meshes/visual/pinky_middle.glb"/>
475
+ </geometry>
476
+ </collision>
477
+ </link>
478
+ <joint name="left_hand_pinky_PIP_joint" type="revolute">
479
+ <origin rpy="0 0 0.090322" xyz="0.030445 -0.010275 0"/>
480
+ <parent link="left_hand_pinky_proximal"/>
481
+ <child link="left_hand_pinky_middle"/>
482
+ <axis xyz="0 0 1"/>
483
+ <limit effort="1" lower="-1.5930946000000001" upper="0.04545" velocity="0.5"/>
484
+ <mimic joint="left_hand_pinky_MCP_joint" multiplier="1.06399" offset="-0.16734800000000002"/>
485
+ </joint>
486
+ <link name="left_hand_thumb_tip"/>
487
+ <joint name="left_hand_thumb_tip_joint" type="fixed">
488
+ <origin rpy="0 0 0" xyz="0.024859 -0.000031 0"/>
489
+ <parent link="left_hand_thumb_distal"/>
490
+ <child link="left_hand_thumb_tip"/>
491
+ </joint>
492
+ <link name="left_hand_index_tip"/>
493
+ <joint name="left_hand_index_tip_joint" type="fixed">
494
+ <origin rpy="0 0 0" xyz="0.043944 -0.009147 0"/>
495
+ <parent link="left_hand_index_middle"/>
496
+ <child link="left_hand_index_tip"/>
497
+ </joint>
498
+ <link name="left_hand_middle_tip"/>
499
+ <joint name="left_hand_middle_tip_joint" type="fixed">
500
+ <origin rpy="0 0 0" xyz="0.047746 -0.009066 0"/>
501
+ <parent link="left_hand_middle_middle"/>
502
+ <child link="left_hand_middle_tip"/>
503
+ </joint>
504
+ <link name="left_hand_ring_tip"/>
505
+ <joint name="left_hand_ring_tip_joint" type="fixed">
506
+ <origin rpy="0 0 0" xyz="0.043944 -0.009147 0"/>
507
+ <parent link="left_hand_ring_middle"/>
508
+ <child link="left_hand_ring_tip"/>
509
+ </joint>
510
+ <link name="left_hand_pinky_tip"/>
511
+ <joint name="left_hand_pinky_tip_joint" type="fixed">
512
+ <origin rpy="0 0 0" xyz="0.035855 -0.009619 0"/>
513
+ <parent link="left_hand_pinky_middle"/>
514
+ <child link="left_hand_pinky_tip"/>
515
+ </joint>
516
+ </robot>