mani-skill-nightly 2025.4.3.2254__py3-none-any.whl → 2025.4.4.41__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 (29) hide show
  1. mani_skill/agents/controllers/base_controller.py +2 -0
  2. mani_skill/agents/controllers/pd_joint_pos.py +116 -5
  3. mani_skill/agents/robots/__init__.py +2 -1
  4. mani_skill/agents/robots/floating_inspire_hand/__init__.py +1 -0
  5. mani_skill/agents/robots/floating_inspire_hand/floating_inspire_hand.py +176 -0
  6. mani_skill/agents/robots/panda/panda.py +1 -0
  7. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/L_hand_base_link.glb +0 -0
  8. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/L_thumb_metacarpal_base.glb +0 -0
  9. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/L_wrist_link.glb +0 -0
  10. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/R_hand_base_link.glb +0 -0
  11. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/R_thumb_metacarpal_base.glb +0 -0
  12. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/R_wrist_link.glb +0 -0
  13. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/index_ring_middle.glb +0 -0
  14. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/index_ring_proximal.glb +0 -0
  15. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/middle_middle.glb +0 -0
  16. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/middle_pinky_proximal.glb +0 -0
  17. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/pinky_middle.glb +0 -0
  18. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/thumb_distal.glb +0 -0
  19. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/thumb_metacarpal.glb +0 -0
  20. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/thumb_proximal.glb +0 -0
  21. mani_skill/assets/robots/inspire_hand/meshes/end_effector/inspire_hand/visual/wrist_base_link.glb +0 -0
  22. mani_skill/assets/robots/inspire_hand/urdf/end_effector/inspire_hand/inspire_hand_left.urdf +443 -0
  23. mani_skill/assets/robots/inspire_hand/urdf/end_effector/inspire_hand/inspire_hand_right.urdf +427 -0
  24. mani_skill/assets/robots/inspire_hand/urdf/end_effector/inspire_hand/inspire_hand_right_floating.urdf +505 -0
  25. {mani_skill_nightly-2025.4.3.2254.dist-info → mani_skill_nightly-2025.4.4.41.dist-info}/METADATA +1 -1
  26. {mani_skill_nightly-2025.4.3.2254.dist-info → mani_skill_nightly-2025.4.4.41.dist-info}/RECORD +29 -9
  27. {mani_skill_nightly-2025.4.3.2254.dist-info → mani_skill_nightly-2025.4.4.41.dist-info}/LICENSE +0 -0
  28. {mani_skill_nightly-2025.4.3.2254.dist-info → mani_skill_nightly-2025.4.4.41.dist-info}/WHEEL +0 -0
  29. {mani_skill_nightly-2025.4.3.2254.dist-info → mani_skill_nightly-2025.4.4.41.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,443 @@
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="left_hand_wrist_base_link">
8
+ <inertial>
9
+ <origin rpy="0 0 0" xyz="-2.4695E-06 0.0014729 0.032787"/>
10
+ <mass value="0.065373"/>
11
+ <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"/>
12
+ </inertial>
13
+ <visual>
14
+ <origin rpy="0 0 0" xyz="0 0 0"/>
15
+ <geometry>
16
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/wrist_base_link.glb"/>
17
+ </geometry>
18
+ </visual>
19
+ <collision>
20
+ <origin rpy="0 0 0" xyz="0 0 0"/>
21
+ <geometry>
22
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/wrist_base_link.glb"/>
23
+ </geometry>
24
+ </collision>
25
+ </link>
26
+ <link name="left_hand_wrist_link">
27
+ <inertial>
28
+ <origin rpy="0 0 0" xyz="-1.1356E-10 -7.0593E-06 7.9885E-05"/>
29
+ <mass value="0.00056124"/>
30
+ <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"/>
31
+ </inertial>
32
+ <visual>
33
+ <origin rpy="0 0 0" xyz="0 0 0"/>
34
+ <geometry>
35
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/L_wrist_link.glb"/>
36
+ </geometry>
37
+ </visual>
38
+ <collision>
39
+ <origin rpy="0 0 0" xyz="0 0 0"/>
40
+ <geometry>
41
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/L_wrist_link.glb"/>
42
+ </geometry>
43
+ </collision>
44
+ </link>
45
+ <joint name="left_hand_wrist_pitch_joint" type="revolute">
46
+ <origin rpy="1.5707963267948966 0 1.5707963267948966" xyz="0 0 0.0785"/>
47
+ <parent link="left_hand_wrist_base_link"/>
48
+ <child link="left_hand_wrist_link"/>
49
+ <axis xyz="0 0 1"/>
50
+ <limit effort="1" lower="-0.39549160850191506" upper="0.3860668305411457" velocity="0.5"/>
51
+ </joint>
52
+ <link name="left_hand_hand_base_link">
53
+ <inertial>
54
+ <origin rpy="0 0 0" xyz="-0.0011392 0.05204 0.0013473"/>
55
+ <mass value="0.19286"/>
56
+ <inertia ixx="9.3621E-05" ixy="-1.7903E-06" ixz="-6.7098E-07" iyy="9.5449E-05" iyz="-2.7765E-06" izz="0.00016048"/>
57
+ </inertial>
58
+ <visual>
59
+ <origin rpy="0 0 0" xyz="0 0 0"/>
60
+ <geometry>
61
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/L_hand_base_link.glb"/>
62
+ </geometry>
63
+ </visual>
64
+ <collision>
65
+ <origin rpy="0 0 0" xyz="0 0 0"/>
66
+ <geometry>
67
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/L_hand_base_link.glb"/>
68
+ </geometry>
69
+ </collision>
70
+ </link>
71
+ <joint name="left_hand_wrist_yaw_joint" type="revolute">
72
+ <origin rpy="0 -1.5707963267948966 0" xyz="0 0 0"/>
73
+ <parent link="left_hand_wrist_link"/>
74
+ <child link="left_hand_hand_base_link"/>
75
+ <axis xyz="0 0 1"/>
76
+ <limit effort="1" lower="-0.445058959258554" upper="0.445058959258554" velocity="0.5"/>
77
+ </joint>
78
+ <link name="left_hand_thumb_metacarpal_base">
79
+ <inertial>
80
+ <origin rpy="0 0 0" xyz="0.003828 0.00054788 -2.5428E-05"/>
81
+ <mass value="0.0015177"/>
82
+ <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"/>
83
+ </inertial>
84
+ <visual>
85
+ <origin rpy="0 0 0" xyz="0 0 0"/>
86
+ <geometry>
87
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/L_thumb_metacarpal_base.glb"/>
88
+ </geometry>
89
+ </visual>
90
+ <collision>
91
+ <origin rpy="0 0 0" xyz="0 0 0"/>
92
+ <geometry>
93
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/L_thumb_metacarpal_base.glb"/>
94
+ </geometry>
95
+ </collision>
96
+ </link>
97
+ <joint name="left_hand_thumb_CMC_yaw_joint" type="revolute">
98
+ <origin rpy="1.5707963267948966 0.2617993877991494 0" xyz="0.02125 0.0285 -0.01515"/>
99
+ <parent link="left_hand_hand_base_link"/>
100
+ <child link="left_hand_thumb_metacarpal_base"/>
101
+ <axis xyz="0 0 1"/>
102
+ <limit effort="1" lower="-1.3089969389957472" upper="0" velocity="0.5"/>
103
+ </joint>
104
+ <link name="left_hand_thumb_metacarpal">
105
+ <inertial>
106
+ <origin rpy="0 0 0" xyz="0.025598 0.0011674 1.6981E-07"/>
107
+ <mass value="0.026111"/>
108
+ <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"/>
109
+ </inertial>
110
+ <visual>
111
+ <origin rpy="0 0 0" xyz="0 0 0"/>
112
+ <geometry>
113
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/thumb_metacarpal.glb"/>
114
+ </geometry>
115
+ </visual>
116
+ <collision>
117
+ <origin rpy="0 0 0" xyz="0 0 0"/>
118
+ <geometry>
119
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/thumb_metacarpal.glb"/>
120
+ </geometry>
121
+ </collision>
122
+ </link>
123
+ <!--
124
+ from sapien import Pose
125
+ from transforms3d.euler import euler2quat, quat2euler
126
+ import numpy as np
127
+ pose_mb_m = Pose([0.0115, 0, 0.00075], euler2quat(np.pi/2, 0.62203, 0))
128
+ new_pose_mb_m = pose_mb_m * Pose(q=euler2quat(0, 0, -0.2))
129
+ quat2euler(new_pose_mb_m.q)
130
+ -->
131
+ <joint name="left_hand_thumb_CMC_pitch_joint" type="revolute">
132
+ <origin rpy="1.5707963267948966 0.6831165238198015 0" xyz="0.0115 0 0.00075"/>
133
+ <parent link="left_hand_thumb_metacarpal_base"/>
134
+ <child link="left_hand_thumb_metacarpal"/>
135
+ <axis xyz="0 0 1"/>
136
+ <limit effort="1" lower="-0.4799655442984406" upper="0" velocity="0.5"/>
137
+ </joint>
138
+ <link name="left_hand_thumb_proximal">
139
+ <inertial>
140
+ <origin rpy="0 0 0" xyz="0.0096372 0.0056521 -1.5461E-07"/>
141
+ <mass value="0.0076243"/>
142
+ <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"/>
143
+ </inertial>
144
+ <visual>
145
+ <origin rpy="0 0 0" xyz="0 0 0"/>
146
+ <geometry>
147
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/thumb_proximal.glb"/>
148
+ </geometry>
149
+ </visual>
150
+ <collision>
151
+ <origin rpy="0 0 0" xyz="0 0 0"/>
152
+ <geometry>
153
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/thumb_proximal.glb"/>
154
+ </geometry>
155
+ </collision>
156
+ </link>
157
+ <joint name="left_hand_thumb_MCP_joint" type="revolute">
158
+ <origin rpy="0 0 -0.003172" xyz="0.055852 -0.0040666 0"/>
159
+ <parent link="left_hand_thumb_metacarpal"/>
160
+ <child link="left_hand_thumb_proximal"/>
161
+ <axis xyz="0 0 1"/>
162
+ <limit effort="1" lower="-0.8" upper="0" velocity="0.5"/>
163
+ <!-- <mimic joint="left_hand_thumb_CMC_pitch_joint" multiplier="1.3333333333333335" offset="-0.08144869842640205"/> -->
164
+ </joint>
165
+ <link name="left_hand_thumb_distal">
166
+ <inertial>
167
+ <origin rpy="0 0 0" xyz="0.01088 0.00050962 1.5765E-07"/>
168
+ <mass value="0.0032026"/>
169
+ <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"/>
170
+ </inertial>
171
+ <visual>
172
+ <origin rpy="0 0 0" xyz="0 0 0"/>
173
+ <geometry>
174
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/thumb_distal.glb"/>
175
+ </geometry>
176
+ </visual>
177
+ <collision>
178
+ <origin rpy="0 0 0" xyz="0 0 0"/>
179
+ <geometry>
180
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/thumb_distal.glb"/>
181
+ </geometry>
182
+ </collision>
183
+ </link>
184
+ <joint name="left_hand_thumb_IP_joint" type="revolute">
185
+ <origin rpy="0 0 0.011853" xyz="0.022558 0.0020717 0"/>
186
+ <parent link="left_hand_thumb_proximal"/>
187
+ <child link="left_hand_thumb_distal"/>
188
+ <axis xyz="0 0 1"/>
189
+ <limit effort="1" lower="-0.4" upper="0" velocity="0.5"/>
190
+ <!-- <mimic joint="left_hand_thumb_CMC_pitch_joint" multiplier="0.6666666666666667" offset="-0.040724349213201026"/> -->
191
+ </joint>
192
+ <link name="left_hand_index_proximal">
193
+ <inertial>
194
+ <origin rpy="0 0 0" xyz="0.013292 -0.0019852 6.3987E-08"/>
195
+ <mass value="0.0074557"/>
196
+ <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"/>
197
+ </inertial>
198
+ <visual>
199
+ <origin rpy="0 0 0" xyz="0 0 0"/>
200
+ <geometry>
201
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/index_ring_proximal.glb"/>
202
+ </geometry>
203
+ </visual>
204
+ <collision>
205
+ <origin rpy="0 0 0" xyz="0 0 0"/>
206
+ <geometry>
207
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/index_ring_proximal.glb"/>
208
+ </geometry>
209
+ </collision>
210
+ </link>
211
+ <!--
212
+ from sapien import Pose
213
+ from transforms3d.euler import euler2quat, quat2euler
214
+ import numpy as np
215
+ pose_hand_proximal = Pose([0.027071, 0.10464, 0.0020953], euler2quat(np.pi/2, -0.32457, 1.5359))
216
+ new_pose_hand_proximal = pose_hand_proximal * Pose(q=euler2quat(0, 0, -0.2))
217
+ quat2euler(new_pose_hand_proximal.q)
218
+ -->
219
+ <joint name="left_hand_index_MCP_joint" type="revolute">
220
+ <origin rpy="1.5707963267948966 -0.12457000000000001 1.5359" xyz="0.027071 0.10464 0.0020953"/>
221
+ <parent link="left_hand_hand_base_link"/>
222
+ <child link="left_hand_index_proximal"/>
223
+ <axis xyz="0 0 1"/>
224
+ <limit effort="1" lower="-1.34" upper="0" velocity="0.5"/>
225
+ </joint>
226
+ <link name="left_hand_index_middle">
227
+ <inertial>
228
+ <origin rpy="0 0 0" xyz="0.018926 -0.0015379 -1.1076E-08"/>
229
+ <mass value="0.0044472"/>
230
+ <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"/>
231
+ </inertial>
232
+ <visual>
233
+ <origin rpy="0 0 0" xyz="0 0 0"/>
234
+ <geometry>
235
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/index_ring_middle.glb"/>
236
+ </geometry>
237
+ </visual>
238
+ <collision>
239
+ <origin rpy="0 0 0" xyz="0 0 0"/>
240
+ <geometry>
241
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/index_ring_middle.glb"/>
242
+ </geometry>
243
+ </collision>
244
+ </link>
245
+ <joint name="left_hand_index_PIP_joint" type="revolute">
246
+ <origin rpy="0 0 0.0016248" xyz="0.030445 -0.010275 0"/>
247
+ <parent link="left_hand_index_proximal"/>
248
+ <child link="left_hand_index_middle"/>
249
+ <axis xyz="0 0 1"/>
250
+ <limit effort="1" lower="-1.56" upper="0.04545" velocity="0.5"/>
251
+ <!-- <mimic joint="left_hand_index_MCP_joint" multiplier="1.06399" offset="-0.16734800000000002"/> -->
252
+ </joint>
253
+ <link name="left_hand_middle_proximal">
254
+ <inertial>
255
+ <origin rpy="0 0 0" xyz="0.013292 -0.0019853 9.6516E-08"/>
256
+ <mass value="0.0074556"/>
257
+ <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"/>
258
+ </inertial>
259
+ <visual>
260
+ <origin rpy="0 0 0" xyz="0 0 0"/>
261
+ <geometry>
262
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/middle_pinky_proximal.glb"/>
263
+ </geometry>
264
+ </visual>
265
+ <collision>
266
+ <origin rpy="0 0 0" xyz="0 0 0"/>
267
+ <geometry>
268
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/middle_pinky_proximal.glb"/>
269
+ </geometry>
270
+ </collision>
271
+ </link>
272
+ <joint name="left_hand_middle_MCP_joint" type="revolute">
273
+ <origin rpy="1.5707963267948966 -0.12457000000000001 1.5707963267948966" xyz="0.00775 0.105 0.0020953"/>
274
+ <parent link="left_hand_hand_base_link"/>
275
+ <child link="left_hand_middle_proximal"/>
276
+ <axis xyz="0 0 1"/>
277
+ <limit effort="1" lower="-1.34" upper="0" velocity="0.5"/>
278
+ </joint>
279
+ <link name="left_hand_middle_middle">
280
+ <inertial>
281
+ <origin rpy="0 0 0" xyz="0.020219 -0.0014516 1.2009E-08"/>
282
+ <mass value="0.0048918"/>
283
+ <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"/>
284
+ </inertial>
285
+ <visual>
286
+ <origin rpy="0 0 0" xyz="0 0 0"/>
287
+ <geometry>
288
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/middle_middle.glb"/>
289
+ </geometry>
290
+ </visual>
291
+ <collision>
292
+ <origin rpy="0 0 0" xyz="0 0 0"/>
293
+ <geometry>
294
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/middle_middle.glb"/>
295
+ </geometry>
296
+ </collision>
297
+ </link>
298
+ <joint name="left_hand_middle_PIP_joint" type="revolute">
299
+ <origin rpy="0 0 -0.019795" xyz="0.030445 -0.010275 0"/>
300
+ <parent link="left_hand_middle_proximal"/>
301
+ <child link="left_hand_middle_middle"/>
302
+ <axis xyz="0 0 1"/>
303
+ <limit effort="1" lower="-1.56" upper="0.04545" velocity="0.5"/>
304
+ <!-- <mimic joint="left_hand_middle_MCP_joint" multiplier="1.06399" offset="-0.16734800000000002"/> -->
305
+ </joint>
306
+ <link name="left_hand_ring_proximal">
307
+ <inertial>
308
+ <origin rpy="0 0 0" xyz="0.013292 -0.0019853 9.267E-08"/>
309
+ <mass value="0.0074556"/>
310
+ <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"/>
311
+ </inertial>
312
+ <visual>
313
+ <origin rpy="0 0 0" xyz="0 0 0"/>
314
+ <geometry>
315
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/index_ring_proximal.glb"/>
316
+ </geometry>
317
+ </visual>
318
+ <collision>
319
+ <origin rpy="0 0 0" xyz="0 0 0"/>
320
+ <geometry>
321
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/index_ring_proximal.glb"/>
322
+ </geometry>
323
+ </collision>
324
+ </link>
325
+ <joint name="left_hand_ring_MCP_joint" type="revolute">
326
+ <origin rpy="1.5707963267948966 -0.12457000000000001 1.6232" xyz="-0.011479 0.1045 0.0020953"/>
327
+ <parent link="left_hand_hand_base_link"/>
328
+ <child link="left_hand_ring_proximal"/>
329
+ <axis xyz="0 0 1"/>
330
+ <limit effort="1" lower="-1.34" upper="0" velocity="0.5"/>
331
+ </joint>
332
+ <link name="left_hand_ring_middle">
333
+ <inertial>
334
+ <origin rpy="0 0 0" xyz="0.018926 -0.0015379 -2.2563E-08"/>
335
+ <mass value="0.0044472"/>
336
+ <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"/>
337
+ </inertial>
338
+ <visual>
339
+ <origin rpy="0 0 0" xyz="0 0 0"/>
340
+ <geometry>
341
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/index_ring_middle.glb"/>
342
+ </geometry>
343
+ </visual>
344
+ <collision>
345
+ <origin rpy="0 0 0" xyz="0 0 0"/>
346
+ <geometry>
347
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/index_ring_middle.glb"/>
348
+ </geometry>
349
+ </collision>
350
+ </link>
351
+ <joint name="left_hand_ring_PIP_joint" type="revolute">
352
+ <origin rpy="0 0 0.0016262" xyz="0.030445 -0.010275 0"/>
353
+ <parent link="left_hand_ring_proximal"/>
354
+ <child link="left_hand_ring_middle"/>
355
+ <axis xyz="0 0 1"/>
356
+ <limit effort="1" lower="-1.56" upper="0.04545" velocity="0.5"/>
357
+ <!-- <mimic joint="left_hand_ring_MCP_joint" multiplier="1.06399" offset="-0.16734800000000002"/> -->
358
+ </joint>
359
+ <link name="left_hand_pinky_proximal">
360
+ <inertial>
361
+ <origin rpy="0 0 0" xyz="0.013292 -0.0019853 9.9172E-08"/>
362
+ <mass value="0.0074556"/>
363
+ <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"/>
364
+ </inertial>
365
+ <visual>
366
+ <origin rpy="0 0 0" xyz="0 0 0"/>
367
+ <geometry>
368
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/middle_pinky_proximal.glb"/>
369
+ </geometry>
370
+ </visual>
371
+ <collision>
372
+ <origin rpy="0 0 0" xyz="0 0 0"/>
373
+ <geometry>
374
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/middle_pinky_proximal.glb"/>
375
+ </geometry>
376
+ </collision>
377
+ </link>
378
+ <joint name="left_hand_pinky_MCP_joint" type="revolute">
379
+ <origin rpy="1.5707963267948966 -0.12457000000000001 1.6755" xyz="-0.030655 0.10299 0.0020953"/>
380
+ <parent link="left_hand_hand_base_link"/>
381
+ <child link="left_hand_pinky_proximal"/>
382
+ <axis xyz="0 0 1"/>
383
+ <limit effort="1" lower="-1.34" upper="0" velocity="0.5"/>
384
+ </joint>
385
+ <link name="left_hand_pinky_middle">
386
+ <inertial>
387
+ <origin rpy="0 0 0" xyz="0.015705 -0.0017319 3.0193E-05"/>
388
+ <mass value="0.00358"/>
389
+ <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"/>
390
+ </inertial>
391
+ <visual>
392
+ <origin rpy="0 0 0" xyz="0 0 0"/>
393
+ <geometry>
394
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/pinky_middle.glb"/>
395
+ </geometry>
396
+ </visual>
397
+ <collision>
398
+ <origin rpy="0 0 0" xyz="0 0 0"/>
399
+ <geometry>
400
+ <mesh filename="package://robot_description/meshes/end_effector/inspire_hand/visual/pinky_middle.glb"/>
401
+ </geometry>
402
+ </collision>
403
+ </link>
404
+ <joint name="left_hand_pinky_PIP_joint" type="revolute">
405
+ <origin rpy="0 0 0.090322" xyz="0.030445 -0.010275 0"/>
406
+ <parent link="left_hand_pinky_proximal"/>
407
+ <child link="left_hand_pinky_middle"/>
408
+ <axis xyz="0 0 1"/>
409
+ <limit effort="1" lower="-1.56" upper="0.04545" velocity="0.5"/>
410
+ <!-- <mimic joint="left_hand_pinky_MCP_joint" multiplier="1.06399" offset="-0.16734800000000002"/> -->
411
+ </joint>
412
+ <link name="left_hand_thumb_tip"/>
413
+ <joint name="left_hand_thumb_tip_joint" type="fixed">
414
+ <origin rpy="0 0 0" xyz="0.024859 -0.000031 0"/>
415
+ <parent link="left_hand_thumb_distal"/>
416
+ <child link="left_hand_thumb_tip"/>
417
+ </joint>
418
+ <link name="left_hand_index_tip"/>
419
+ <joint name="left_hand_index_tip_joint" type="fixed">
420
+ <origin rpy="0 0 0" xyz="0.043944 -0.009147 0"/>
421
+ <parent link="left_hand_index_middle"/>
422
+ <child link="left_hand_index_tip"/>
423
+ </joint>
424
+ <link name="left_hand_middle_tip"/>
425
+ <joint name="left_hand_middle_tip_joint" type="fixed">
426
+ <origin rpy="0 0 0" xyz="0.047746 -0.009066 0"/>
427
+ <parent link="left_hand_middle_middle"/>
428
+ <child link="left_hand_middle_tip"/>
429
+ </joint>
430
+ <link name="left_hand_ring_tip"/>
431
+ <joint name="left_hand_ring_tip_joint" type="fixed">
432
+ <origin rpy="0 0 0" xyz="0.043944 -0.009147 0"/>
433
+ <parent link="left_hand_ring_middle"/>
434
+ <child link="left_hand_ring_tip"/>
435
+ </joint>
436
+ <link name="left_hand_pinky_tip"/>
437
+ <joint name="left_hand_pinky_tip_joint" type="fixed">
438
+ <origin rpy="0 0 0" xyz="0.035855 -0.009619 0"/>
439
+ <parent link="left_hand_pinky_middle"/>
440
+ <child link="left_hand_pinky_tip"/>
441
+ </joint>
442
+ <!-- Left arm -->
443
+ </robot>