Add dof="2d" option to flexcomp for in-plane deformations.
PiperOrigin-RevId: 902620719 Change-Id: Ib06d3f7b9439e1d90a8373a4289ade0c327e72e4
This commit is contained in:
committed by
Copybara-Service
parent
cad734ae70
commit
2d12dee025
@@ -0,0 +1,429 @@
|
||||
<!-- Copyright 2026 DeepMind Technologies Limited
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<mujoco model="Gripper 2D Fin Ray">
|
||||
<include file="scene.xml"/>
|
||||
|
||||
<option cone="elliptic" impratio="10" integrator="implicitfast"/>
|
||||
|
||||
<worldbody>
|
||||
<body name="hand" pos="0 0 .37">
|
||||
<joint name="lift" type="slide" range="-.13 .05"/>
|
||||
<geom type="box" size=".12 .06 .03" rgba=".2 .2 .2 1"/>
|
||||
|
||||
<body name="right_arm">
|
||||
<joint name="right" type="slide" axis="-1 0 0"/>
|
||||
<geom type="box" size=".015 .06 .06" pos=".10 0 -.09"
|
||||
rgba=".2 .2 .2 1"/>
|
||||
<body name="right_finger" pos=".1 0 -.15" euler="90 0 0">
|
||||
<!--
|
||||
Fin Ray skeleton mesh (right finger).
|
||||
|
||||
The mesh is the OUTLINE of the fin ray structure:
|
||||
two tapered vertical walls connected by horizontal ribs.
|
||||
Each strut is a thin strip of 2 triangles; the interior
|
||||
between ribs is empty. The radius property inflates the
|
||||
visual geometry to give the skeleton thickness.
|
||||
|
||||
Vertex layout (XY plane, 7 rib levels, 4 verts per level):
|
||||
Level i: L_front, L_back, R_front, R_back
|
||||
Each pair offset by h=0.0015 along Y to create in-plane thickness.
|
||||
Out-of-plane thickness set with radius parameter.
|
||||
|
||||
Side view of skeleton:
|
||||
|===================| level 0 (base, pinned)
|
||||
| |
|
||||
|=================| level 1
|
||||
| |
|
||||
|===============| level 2
|
||||
| |
|
||||
|============| level 3
|
||||
| |
|
||||
|==========| level 4
|
||||
| |
|
||||
|========| level 5
|
||||
| |
|
||||
|=====| level 6
|
||||
-->
|
||||
<flexcomp name="right_fin" type="direct" dim="2"
|
||||
radius=".004" rgba="0 .7 .7 1" mass=".3" dof="2d"
|
||||
point="
|
||||
-0.0210 0.0015 0.0000
|
||||
-0.0170 0.0015 0.0000
|
||||
-0.020538 -0.0015 0.0000
|
||||
-0.016538 -0.0015 0.0000
|
||||
0.0170 0.0015 0.0000
|
||||
0.0210 0.0015 0.0000
|
||||
0.016538 -0.0015 0.0000
|
||||
0.020538 -0.0015 0.0000
|
||||
-0.0190 -0.0115 0.0000
|
||||
-0.0150 -0.0115 0.0000
|
||||
-0.018538 -0.0145 0.0000
|
||||
-0.014538 -0.0145 0.0000
|
||||
0.0150 -0.0115 0.0000
|
||||
0.0190 -0.0115 0.0000
|
||||
0.014538 -0.0145 0.0000
|
||||
0.018538 -0.0145 0.0000
|
||||
-0.0170 -0.0245 0.0000
|
||||
-0.0130 -0.0245 0.0000
|
||||
-0.016308 -0.0275 0.0000
|
||||
-0.012308 -0.0275 0.0000
|
||||
0.0130 -0.0245 0.0000
|
||||
0.0170 -0.0245 0.0000
|
||||
0.012308 -0.0275 0.0000
|
||||
0.016308 -0.0275 0.0000
|
||||
-0.0140 -0.0375 0.0000
|
||||
-0.0100 -0.0375 0.0000
|
||||
-0.013308 -0.0405 0.0000
|
||||
-0.009308 -0.0405 0.0000
|
||||
0.0100 -0.0375 0.0000
|
||||
0.0140 -0.0375 0.0000
|
||||
0.009308 -0.0405 0.0000
|
||||
0.013308 -0.0405 0.0000
|
||||
-0.0110 -0.0505 0.0000
|
||||
-0.0070 -0.0505 0.0000
|
||||
-0.010308 -0.0535 0.0000
|
||||
-0.006308 -0.0535 0.0000
|
||||
0.0070 -0.0505 0.0000
|
||||
0.0110 -0.0505 0.0000
|
||||
0.006308 -0.0535 0.0000
|
||||
0.010308 -0.0535 0.0000
|
||||
-0.0080 -0.0635 0.0000
|
||||
-0.0040 -0.0635 0.0000
|
||||
-0.007200 -0.0665 0.0000
|
||||
-0.003200 -0.0665 0.0000
|
||||
0.0040 -0.0635 0.0000
|
||||
0.0080 -0.0635 0.0000
|
||||
0.003200 -0.0665 0.0000
|
||||
0.007200 -0.0665 0.0000
|
||||
-0.0040 -0.0785 0.0000
|
||||
-0.0001 -0.0785 0.0000
|
||||
-0.003200 -0.0815 0.0000
|
||||
0.000700 -0.0815 0.0000
|
||||
0.0001 -0.0785 0.0000
|
||||
0.0040 -0.0785 0.0000
|
||||
-0.000700 -0.0815 0.0000
|
||||
0.003200 -0.0815 0.0000
|
||||
"
|
||||
element="
|
||||
0 2 3
|
||||
0 3 1
|
||||
|
||||
4 6 7
|
||||
4 7 5
|
||||
|
||||
1 3 6
|
||||
1 6 4
|
||||
|
||||
8 10 11
|
||||
8 11 9
|
||||
|
||||
12 14 15
|
||||
12 15 13
|
||||
|
||||
9 11 14
|
||||
9 14 12
|
||||
|
||||
16 18 19
|
||||
16 19 17
|
||||
|
||||
20 22 23
|
||||
20 23 21
|
||||
|
||||
17 19 22
|
||||
17 22 20
|
||||
|
||||
24 26 27
|
||||
24 27 25
|
||||
|
||||
28 30 31
|
||||
28 31 29
|
||||
|
||||
25 27 30
|
||||
25 30 28
|
||||
|
||||
32 34 35
|
||||
32 35 33
|
||||
|
||||
36 38 39
|
||||
36 39 37
|
||||
|
||||
33 35 38
|
||||
33 38 36
|
||||
|
||||
40 42 43
|
||||
40 43 41
|
||||
|
||||
44 46 47
|
||||
44 47 45
|
||||
|
||||
41 43 46
|
||||
41 46 44
|
||||
|
||||
48 50 51
|
||||
48 51 49
|
||||
|
||||
52 54 55
|
||||
52 55 53
|
||||
|
||||
49 51 54
|
||||
49 54 52
|
||||
|
||||
2 8 9
|
||||
2 9 3
|
||||
|
||||
6 12 13
|
||||
6 13 7
|
||||
|
||||
10 16 17
|
||||
10 17 11
|
||||
|
||||
14 20 21
|
||||
14 21 15
|
||||
|
||||
18 24 25
|
||||
18 25 19
|
||||
|
||||
22 28 29
|
||||
22 29 23
|
||||
|
||||
26 32 33
|
||||
26 33 27
|
||||
|
||||
30 36 37
|
||||
30 37 31
|
||||
|
||||
34 40 41
|
||||
34 41 35
|
||||
|
||||
38 44 45
|
||||
38 45 39
|
||||
|
||||
42 48 49
|
||||
42 49 43
|
||||
|
||||
46 52 53
|
||||
46 53 47
|
||||
">
|
||||
<edge equality="true" damping="0.02"
|
||||
solimp="0.99 0.999 0.0001 0.5 2" solref="0.001 1"/>
|
||||
<contact selfcollide="none" internal="false"
|
||||
contype="2" conaffinity="2"/>
|
||||
<pin id="0 1 2 3 4 5 6 7"/>
|
||||
</flexcomp>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
<body name="left_arm">
|
||||
<joint name="left" type="slide" axis="1 0 0"/>
|
||||
<geom type="box" size=".015 .06 .06" pos="-.10 0 -.09"
|
||||
rgba=".2 .2 .2 1"/>
|
||||
<body name="left_finger" pos="-.1 0 -.15" euler="90 0 0">
|
||||
<flexcomp name="left_fin" type="direct" dim="2"
|
||||
radius=".004" rgba="0 .7 .7 1" mass=".3" dof="2d"
|
||||
point="
|
||||
-0.0210 0.0015 0.0000
|
||||
-0.0170 0.0015 0.0000
|
||||
-0.020538 -0.0015 0.0000
|
||||
-0.016538 -0.0015 0.0000
|
||||
0.0170 0.0015 0.0000
|
||||
0.0210 0.0015 0.0000
|
||||
0.016538 -0.0015 0.0000
|
||||
0.020538 -0.0015 0.0000
|
||||
-0.0190 -0.0115 0.0000
|
||||
-0.0150 -0.0115 0.0000
|
||||
-0.018538 -0.0145 0.0000
|
||||
-0.014538 -0.0145 0.0000
|
||||
0.0150 -0.0115 0.0000
|
||||
0.0190 -0.0115 0.0000
|
||||
0.014538 -0.0145 0.0000
|
||||
0.018538 -0.0145 0.0000
|
||||
-0.0170 -0.0245 0.0000
|
||||
-0.0130 -0.0245 0.0000
|
||||
-0.016308 -0.0275 0.0000
|
||||
-0.012308 -0.0275 0.0000
|
||||
0.0130 -0.0245 0.0000
|
||||
0.0170 -0.0245 0.0000
|
||||
0.012308 -0.0275 0.0000
|
||||
0.016308 -0.0275 0.0000
|
||||
-0.0140 -0.0375 0.0000
|
||||
-0.0100 -0.0375 0.0000
|
||||
-0.013308 -0.0405 0.0000
|
||||
-0.009308 -0.0405 0.0000
|
||||
0.0100 -0.0375 0.0000
|
||||
0.0140 -0.0375 0.0000
|
||||
0.009308 -0.0405 0.0000
|
||||
0.013308 -0.0405 0.0000
|
||||
-0.0110 -0.0505 0.0000
|
||||
-0.0070 -0.0505 0.0000
|
||||
-0.010308 -0.0535 0.0000
|
||||
-0.006308 -0.0535 0.0000
|
||||
0.0070 -0.0505 0.0000
|
||||
0.0110 -0.0505 0.0000
|
||||
0.006308 -0.0535 0.0000
|
||||
0.010308 -0.0535 0.0000
|
||||
-0.0080 -0.0635 0.0000
|
||||
-0.0040 -0.0635 0.0000
|
||||
-0.007200 -0.0665 0.0000
|
||||
-0.003200 -0.0665 0.0000
|
||||
0.0040 -0.0635 0.0000
|
||||
0.0080 -0.0635 0.0000
|
||||
0.003200 -0.0665 0.0000
|
||||
0.007200 -0.0665 0.0000
|
||||
-0.0040 -0.0785 0.0000
|
||||
-0.0001 -0.0785 0.0000
|
||||
-0.003200 -0.0815 0.0000
|
||||
0.000700 -0.0815 0.0000
|
||||
0.0001 -0.0785 0.0000
|
||||
0.0040 -0.0785 0.0000
|
||||
-0.000700 -0.0815 0.0000
|
||||
0.003200 -0.0815 0.0000
|
||||
"
|
||||
element="
|
||||
0 2 3
|
||||
0 3 1
|
||||
|
||||
4 6 7
|
||||
4 7 5
|
||||
|
||||
1 3 6
|
||||
1 6 4
|
||||
|
||||
8 10 11
|
||||
8 11 9
|
||||
|
||||
12 14 15
|
||||
12 15 13
|
||||
|
||||
9 11 14
|
||||
9 14 12
|
||||
|
||||
16 18 19
|
||||
16 19 17
|
||||
|
||||
20 22 23
|
||||
20 23 21
|
||||
|
||||
17 19 22
|
||||
17 22 20
|
||||
|
||||
24 26 27
|
||||
24 27 25
|
||||
|
||||
28 30 31
|
||||
28 31 29
|
||||
|
||||
25 27 30
|
||||
25 30 28
|
||||
|
||||
32 34 35
|
||||
32 35 33
|
||||
|
||||
36 38 39
|
||||
36 39 37
|
||||
|
||||
33 35 38
|
||||
33 38 36
|
||||
|
||||
40 42 43
|
||||
40 43 41
|
||||
|
||||
44 46 47
|
||||
44 47 45
|
||||
|
||||
41 43 46
|
||||
41 46 44
|
||||
|
||||
48 50 51
|
||||
48 51 49
|
||||
|
||||
52 54 55
|
||||
52 55 53
|
||||
|
||||
49 51 54
|
||||
49 54 52
|
||||
|
||||
2 8 9
|
||||
2 9 3
|
||||
|
||||
6 12 13
|
||||
6 13 7
|
||||
|
||||
10 16 17
|
||||
10 17 11
|
||||
|
||||
14 20 21
|
||||
14 21 15
|
||||
|
||||
18 24 25
|
||||
18 25 19
|
||||
|
||||
22 28 29
|
||||
22 29 23
|
||||
|
||||
26 32 33
|
||||
26 33 27
|
||||
|
||||
30 36 37
|
||||
30 37 31
|
||||
|
||||
34 40 41
|
||||
34 41 35
|
||||
|
||||
38 44 45
|
||||
38 45 39
|
||||
|
||||
42 48 49
|
||||
42 49 43
|
||||
|
||||
46 52 53
|
||||
46 53 47
|
||||
">
|
||||
<edge equality="true" damping="0.02"
|
||||
solimp="0.99 0.999 0.0001 0.5 2" solref="0.001 1"/>
|
||||
<contact selfcollide="none" internal="false"
|
||||
contype="2" conaffinity="2"/>
|
||||
<pin id="0 1 2 3 4 5 6 7"/>
|
||||
</flexcomp>
|
||||
</body>
|
||||
</body>
|
||||
</body>
|
||||
|
||||
<body>
|
||||
<freejoint/>
|
||||
<geom type="cylinder" size=".025 .05" pos="0 0 .1" rgba=".5 .5 0 1" euler="90 0 0" mass=".01"
|
||||
priority="1" contype="2" condim="6" friction="2" solref="0.001 1" solimp="0.99 0.999 0.0001 0.5 2"/>
|
||||
</body>
|
||||
</worldbody>
|
||||
|
||||
<equality>
|
||||
<joint joint1="right" joint2="left"/>
|
||||
</equality>
|
||||
|
||||
<tendon>
|
||||
<fixed name="grasp">
|
||||
<joint joint="right" coef="1"/>
|
||||
<joint joint="left" coef="1"/>
|
||||
</fixed>
|
||||
</tendon>
|
||||
|
||||
<actuator>
|
||||
<position name="lift" joint="lift" kp="600" dampratio="1"
|
||||
ctrlrange="-1 1"/>
|
||||
<position name="grasp" tendon="grasp" kp="200" dampratio="1"
|
||||
ctrlrange="0 1"/>
|
||||
</actuator>
|
||||
|
||||
</mujoco>
|
||||
Reference in New Issue
Block a user