Add site semantics to weld constraint. Fixes #1896

PiperOrigin-RevId: 675112981
Change-Id: Ie4c01440d54116075df89f480591700762892cbd
This commit is contained in:
Taylor Howell
2024-09-16 05:44:53 -07:00
committed by Copybara-Service
parent 2da15cf137
commit 60a1921b34
13 changed files with 368 additions and 77 deletions
+48
View File
@@ -0,0 +1,48 @@
<mujoco model="Connect and Weld defined with sites">
<option viscosity="1">
<flag contact="disable"/>
</option>
<visual>
<scale framewidth="0.05" framelength="0.4"/>
</visual>
<default>
<default class="free">
<geom type="box" size=".2" fromto=".2 .2 0 .2 .2 -2" rgba=".4 .7 .6 1"/>
</default>
<site rgba=".0 .7 0 1"/>
</default>
<worldbody>
<geom pos="0 0 -2" type="plane" size="10 10 .01"/>
<light pos="0 0 20"/>
<site name="a1" pos="-2 0 0" euler="-90 0 0"/>
<body pos="-2 1 0">
<freejoint/>
<geom class="free"/>
<site name="a2"/>
</body>
<site name="b1" euler="-90 0 0"/>
<body pos="0 1 0">
<freejoint/>
<geom class="free"/>
<site name="b2"/>
</body>
<site name="c1" pos="2 0 0" euler="-90 0 0"/>
<body pos="2 1 0">
<freejoint/>
<geom class="free"/>
<site name="c2"/>
</body>
</worldbody>
<equality>
<connect name="connect" site1="a1" site2="a2"/>
<weld name="weak weld" site1="b1" site2="b2" torquescale="0.2"/>
<weld name="weld" site1="c1" site2="c2"/>
</equality>
</mujoco>
+11
View File
@@ -47,6 +47,16 @@
<freejoint/>
<geom class="free"/>
</body>
<body name="box5" pos="5 0 0">
<geom type="box" class="static"/>
<site name="box5"/>
</body>
<body name="beam5" pos="5 0 0">
<freejoint/>
<geom class="free"/>
<site name="beam5" pos="0 -1 0" euler="45 20 5"/>
</body>
</worldbody>
<equality>
@@ -54,5 +64,6 @@
<weld name="anchor no torques" body1="box2" body2="beam2" torquescale="0" anchor="0 -2 0"/>
<weld name="relpose" body1="box3" body2="beam3" relpose="0 0 0 1 -.3 0 0"/>
<weld name="relpose+anchor" body1="box4" body2="beam4" relpose="0 0 0 1 -.3 0 0" anchor="0 0 -1"/>
<weld name="site" site1="box5" site2="beam5"/>
</equality>
</mujoco>