Use mj_rayMesh for computing an inexact SDF for mesh-SDF collisions.

PiperOrigin-RevId: 794576123
Change-Id: I3c688056a5ed617a0787ccf1f4aa683f9409040f
This commit is contained in:
Alessio Quaglino
2025-08-13 07:49:00 -07:00
committed by Copybara-Service
parent cc52d0242b
commit dcdf0a9c5c
4 changed files with 356 additions and 258 deletions
+296
View File
@@ -0,0 +1,296 @@
v 0.740000 0.740000 -1.000000
v 0.740000 1.000000 -0.740000
v 1.000000 0.740000 -0.740000
v 0.740000 0.807269 -0.991147
v 0.740000 0.870021 -0.965154
v 0.740000 0.923848 -0.923848
v 0.807269 0.740000 -0.991147
v 0.809387 0.809958 -0.980606
v 0.808254 0.870420 -0.954318
v 0.806858 0.917583 -0.917748
v 0.870021 0.740000 -0.965154
v 0.870490 0.808646 -0.954150
v 0.863847 0.863908 -0.932116
v 0.858399 0.903670 -0.903688
v 0.890111 0.890111 -0.890111
v 0.807269 0.991147 -0.740000
v 0.870021 0.965154 -0.740000
v 0.923848 0.923848 -0.740000
v 0.740000 0.991147 -0.807269
v 0.809958 0.980606 -0.809387
v 0.870420 0.954318 -0.808254
v 0.917583 0.917748 -0.806858
v 0.740000 0.965154 -0.870021
v 0.808646 0.954150 -0.870490
v 0.863908 0.932116 -0.863847
v 0.903670 0.903688 -0.858399
v 0.991147 0.740000 -0.807269
v 0.965154 0.740000 -0.870021
v 0.923848 0.740000 -0.923848
v 0.991147 0.807269 -0.740000
v 0.980606 0.809387 -0.809958
v 0.954318 0.808254 -0.870420
v 0.917748 0.806858 -0.917583
v 0.965154 0.870021 -0.740000
v 0.954150 0.870490 -0.808646
v 0.932116 0.863847 -0.863908
v 0.903688 0.858399 -0.903670
v 0.740000 -1.000000 -0.740000
v 0.740000 -0.740000 -1.000000
v 1.000000 -0.740000 -0.740000
v 0.740000 -0.991147 -0.807269
v 0.740000 -0.965154 -0.870021
v 0.740000 -0.923848 -0.923848
v 0.807269 -0.991147 -0.740000
v 0.809387 -0.980606 -0.809958
v 0.808254 -0.954318 -0.870420
v 0.806858 -0.917748 -0.917583
v 0.870021 -0.965154 -0.740000
v 0.870490 -0.954150 -0.808646
v 0.863847 -0.932116 -0.863908
v 0.858399 -0.903688 -0.903670
v 0.890111 -0.890111 -0.890111
v 0.807269 -0.740000 -0.991147
v 0.870021 -0.740000 -0.965154
v 0.923848 -0.740000 -0.923848
v 0.740000 -0.807269 -0.991147
v 0.809958 -0.809387 -0.980606
v 0.870420 -0.808254 -0.954318
v 0.917583 -0.806858 -0.917748
v 0.740000 -0.870021 -0.965154
v 0.808646 -0.870490 -0.954150
v 0.863908 -0.863847 -0.932116
v 0.903670 -0.858399 -0.903688
v 0.991147 -0.807269 -0.740000
v 0.965154 -0.870021 -0.740000
v 0.923848 -0.923848 -0.740000
v 0.991147 -0.740000 -0.807269
v 0.980606 -0.809958 -0.809387
v 0.954318 -0.870420 -0.808254
v 0.917748 -0.917583 -0.806858
v 0.965154 -0.740000 -0.870021
v 0.954150 -0.808646 -0.870490
v 0.932116 -0.863908 -0.863847
v 0.903688 -0.903670 -0.858399
v 1.000000 0.740000 0.740000
v 0.740000 1.000000 0.740000
v 0.740000 0.740000 1.000000
v 0.991147 0.807269 0.740000
v 0.965154 0.870021 0.740000
v 0.923848 0.923848 0.740000
v 0.991147 0.740000 0.807269
v 0.980606 0.809958 0.809387
v 0.954318 0.870420 0.808254
v 0.917748 0.917583 0.806858
v 0.965154 0.740000 0.870021
v 0.954150 0.808646 0.870490
v 0.932116 0.863908 0.863847
v 0.903688 0.903670 0.858399
v 0.890111 0.890111 0.890111
v 0.740000 0.991147 0.807269
v 0.740000 0.965154 0.870021
v 0.740000 0.923848 0.923848
v 0.807269 0.991147 0.740000
v 0.809387 0.980606 0.809958
v 0.808254 0.954318 0.870420
v 0.806858 0.917748 0.917583
v 0.870021 0.965154 0.740000
v 0.870490 0.954150 0.808646
v 0.863847 0.932116 0.863908
v 0.858399 0.903688 0.903670
v 0.807269 0.740000 0.991147
v 0.870021 0.740000 0.965154
v 0.923848 0.740000 0.923848
v 0.740000 0.807269 0.991147
v 0.809958 0.809387 0.980606
v 0.870420 0.808254 0.954318
v 0.917583 0.806858 0.917748
v 0.740000 0.870021 0.965154
v 0.808646 0.870490 0.954150
v 0.863908 0.863847 0.932116
v 0.903670 0.858399 0.903688
v 1.000000 -0.740000 0.740000
v 0.740000 -0.740000 1.000000
v 0.740000 -1.000000 0.740000
v 0.991147 -0.740000 0.807269
v 0.965154 -0.740000 0.870021
v 0.923848 -0.740000 0.923848
v 0.991147 -0.807269 0.740000
v 0.980606 -0.809387 0.809958
v 0.954318 -0.808254 0.870420
v 0.917748 -0.806858 0.917583
v 0.965154 -0.870021 0.740000
v 0.954150 -0.870490 0.808646
v 0.932116 -0.863847 0.863908
v 0.903688 -0.858399 0.903670
v 0.890111 -0.890111 0.890111
v 0.740000 -0.807269 0.991147
v 0.740000 -0.870021 0.965154
v 0.740000 -0.923848 0.923848
v 0.807269 -0.740000 0.991147
v 0.809387 -0.809958 0.980606
v 0.808254 -0.870420 0.954318
v 0.806858 -0.917583 0.917748
v 0.870021 -0.740000 0.965154
v 0.870490 -0.808646 0.954150
v 0.863847 -0.863908 0.932116
v 0.858399 -0.903670 0.903688
v 0.807269 -0.991147 0.740000
v 0.870021 -0.965154 0.740000
v 0.923848 -0.923848 0.740000
v 0.740000 -0.991147 0.807269
v 0.809958 -0.980606 0.809387
v 0.870420 -0.954318 0.808254
v 0.917583 -0.917748 0.806858
v 0.740000 -0.965154 0.870021
v 0.808646 -0.954150 0.870490
v 0.863908 -0.932116 0.863847
v 0.903670 -0.903688 0.858399
v -0.740000 0.740000 -1.000000
v -1.000000 0.740000 -0.740000
v -0.740000 1.000000 -0.740000
v -0.807269 0.740000 -0.991147
v -0.870021 0.740000 -0.965154
v -0.923848 0.740000 -0.923848
v -0.740000 0.807269 -0.991147
v -0.809958 0.809387 -0.980606
v -0.870420 0.808254 -0.954318
v -0.917583 0.806858 -0.917748
v -0.740000 0.870021 -0.965154
v -0.808646 0.870490 -0.954150
v -0.863908 0.863847 -0.932116
v -0.903670 0.858399 -0.903688
v -0.890111 0.890111 -0.890111
v -0.991147 0.807269 -0.740000
v -0.965154 0.870021 -0.740000
v -0.923848 0.923848 -0.740000
v -0.991147 0.740000 -0.807269
v -0.980606 0.809958 -0.809387
v -0.954318 0.870420 -0.808254
v -0.917748 0.917583 -0.806858
v -0.965154 0.740000 -0.870021
v -0.954150 0.808646 -0.870490
v -0.932116 0.863908 -0.863847
v -0.903688 0.903670 -0.858399
v -0.740000 0.991147 -0.807269
v -0.740000 0.965154 -0.870021
v -0.740000 0.923848 -0.923848
v -0.807269 0.991147 -0.740000
v -0.809387 0.980606 -0.809958
v -0.808254 0.954318 -0.870420
v -0.806858 0.917748 -0.917583
v -0.870021 0.965154 -0.740000
v -0.870490 0.954150 -0.808646
v -0.863847 0.932116 -0.863908
v -0.858399 0.903688 -0.903670
v -1.000000 -0.740000 -0.740000
v -0.740000 -0.740000 -1.000000
v -0.740000 -1.000000 -0.740000
v -0.991147 -0.740000 -0.807269
v -0.965154 -0.740000 -0.870021
v -0.923848 -0.740000 -0.923848
v -0.991147 -0.807269 -0.740000
v -0.980606 -0.809387 -0.809958
v -0.954318 -0.808254 -0.870420
v -0.917748 -0.806858 -0.917583
v -0.965154 -0.870021 -0.740000
v -0.954150 -0.870490 -0.808646
v -0.932116 -0.863847 -0.863908
v -0.903688 -0.858399 -0.903670
v -0.890111 -0.890111 -0.890111
v -0.740000 -0.807269 -0.991147
v -0.740000 -0.870021 -0.965154
v -0.740000 -0.923848 -0.923848
v -0.807269 -0.740000 -0.991147
v -0.809387 -0.809958 -0.980606
v -0.808254 -0.870420 -0.954318
v -0.806858 -0.917583 -0.917748
v -0.870021 -0.740000 -0.965154
v -0.870490 -0.808646 -0.954150
v -0.863847 -0.863908 -0.932116
v -0.858399 -0.903670 -0.903688
v -0.807269 -0.991147 -0.740000
v -0.870021 -0.965154 -0.740000
v -0.923848 -0.923848 -0.740000
v -0.740000 -0.991147 -0.807269
v -0.809958 -0.980606 -0.809387
v -0.870420 -0.954318 -0.808254
v -0.917583 -0.917748 -0.806858
v -0.740000 -0.965154 -0.870021
v -0.808646 -0.954150 -0.870490
v -0.863908 -0.932116 -0.863847
v -0.903670 -0.903688 -0.858399
v -1.000000 0.740000 0.740000
v -0.740000 0.740000 1.000000
v -0.740000 1.000000 0.740000
v -0.991147 0.740000 0.807269
v -0.965154 0.740000 0.870021
v -0.923848 0.740000 0.923848
v -0.991147 0.807269 0.740000
v -0.980606 0.809387 0.809958
v -0.954318 0.808254 0.870420
v -0.917748 0.806858 0.917583
v -0.965154 0.870021 0.740000
v -0.954150 0.870490 0.808646
v -0.932116 0.863847 0.863908
v -0.903688 0.858399 0.903670
v -0.890111 0.890111 0.890111
v -0.740000 0.807269 0.991147
v -0.740000 0.870021 0.965154
v -0.740000 0.923848 0.923848
v -0.807269 0.740000 0.991147
v -0.809387 0.809958 0.980606
v -0.808254 0.870420 0.954318
v -0.806858 0.917583 0.917748
v -0.870021 0.740000 0.965154
v -0.870490 0.808646 0.954150
v -0.863847 0.863908 0.932116
v -0.858399 0.903670 0.903688
v -0.807269 0.991147 0.740000
v -0.870021 0.965154 0.740000
v -0.923848 0.923848 0.740000
v -0.740000 0.991147 0.807269
v -0.809958 0.980606 0.809387
v -0.870420 0.954318 0.808254
v -0.917583 0.917748 0.806858
v -0.740000 0.965154 0.870021
v -0.808646 0.954150 0.870490
v -0.863908 0.932116 0.863847
v -0.903670 0.903688 0.858399
v -0.740000 -1.000000 0.740000
v -0.740000 -0.740000 1.000000
v -1.000000 -0.740000 0.740000
v -0.740000 -0.991147 0.807269
v -0.740000 -0.965154 0.870021
v -0.740000 -0.923848 0.923848
v -0.807269 -0.991147 0.740000
v -0.809387 -0.980606 0.809958
v -0.808254 -0.954318 0.870420
v -0.806858 -0.917748 0.917583
v -0.870021 -0.965154 0.740000
v -0.870490 -0.954150 0.808646
v -0.863847 -0.932116 0.863908
v -0.858399 -0.903688 0.903670
v -0.890111 -0.890111 0.890111
v -0.807269 -0.740000 0.991147
v -0.870021 -0.740000 0.965154
v -0.923848 -0.740000 0.923848
v -0.740000 -0.807269 0.991147
v -0.809958 -0.809387 0.980606
v -0.870420 -0.808254 0.954318
v -0.917583 -0.806858 0.917748
v -0.740000 -0.870021 0.965154
v -0.808646 -0.870490 0.954150
v -0.863908 -0.863847 0.932116
v -0.903670 -0.858399 0.903688
v -0.991147 -0.807269 0.740000
v -0.965154 -0.870021 0.740000
v -0.923848 -0.923848 0.740000
v -0.991147 -0.740000 0.807269
v -0.980606 -0.809958 0.809387
v -0.954318 -0.870420 0.808254
v -0.917748 -0.917583 0.806858
v -0.965154 -0.740000 0.870021
v -0.954150 -0.808646 0.870490
v -0.932116 -0.863908 0.863847
v -0.903688 -0.903670 0.858399
+34
View File
@@ -0,0 +1,34 @@
<mujoco>
<extension>
<plugin plugin="mujoco.sdf.torus">
<instance name="torus">
<config key="radius1" value="0.35"/>
<config key="radius2" value="0.15"/>
</instance>
</plugin>
</extension>
<option gravity="0 0 -9.81" sdf_iterations="3" sdf_initpoints="10"/>
<asset>
<mesh name="torus">
<plugin instance="torus"/>
</mesh>
<mesh name="die" file="asset/die.obj" scale="1 1 1"/>
</asset>
<include file="scene.xml"/>
<worldbody>
<body pos="0 .05 2.5" euler="90 0 0">
<freejoint/>
<geom type="sdf" mesh="torus" rgba=".8 .17 .15 1" group="1">
<plugin instance="torus"/>
</geom>
</body>
<body>
<geom type="mesh" mesh="die" euler="90 0 0" rgba="0 0 1 .2"/>
</body>
<light pos="1 0 7" dir="0 0 -1" castshadow="false"/>
<light pos="-1 0 7" dir="0 0 -1" castshadow="false"/>
</worldbody>
</mujoco>
+1 -1
View File
@@ -27,7 +27,7 @@
</geom>
</body>
<body>
<geom type="mesh" mesh="mug" euler="90 0 0" rgba="0 0 1 .2"/>
<geom type="sdf" mesh="mug" euler="90 0 0" rgba="0 0 1 .2"/>
</body>
<light pos="1 0 7" dir="0 0 -1" castshadow="false"/>
<light pos="-1 0 7" dir="0 0 -1" castshadow="false"/>