Automatically infer *limited field from *range field for joints, tendons and actuators.

PiperOrigin-RevId: 467980594
Change-Id: If635c55a90cf949796b99a41395a6c2c4f7ea094
This commit is contained in:
Kevin Zakka
2022-08-16 11:34:41 -07:00
committed by Copybara-Service
parent 29535a8eca
commit 4bfc2c0311
9 changed files with 474 additions and 58 deletions
+46
View File
@@ -0,0 +1,46 @@
<mujoco>
<default>
<default class="limited_false">
<joint limited="false"/>
</default>
<default class="limited_true">
<joint limited="true"/>
<default class="limited_auto">
<joint limited="auto"/>
</default>
</default>
<default class="range_defined">
<joint range="-1.57 1.57"/>
</default>
</default>
<!--
`user` attributes of the joints below indicate the expected state of the associated
jnt_limited property in the compiled model.
-->
<worldbody>
<body>
<joint user="0"/>
<joint user="1" range="0 1"/>
<joint user="0" range="0 1" limited="false"/>
<joint user="1" range="0 1" limited="true"/>
<joint user="0" range="0 1" class="limited_false"/>
<joint user="1" range="0 1" class="limited_true"/>
<geom size="1"/>
</body>
<!-- adding another body since bodies are allowed a maximum of 6 DoFs -->
<body>
<joint user="1" range="0 1" class="limited_false" limited="true"/>
<joint user="0" range="0 1" class="limited_true" limited="false"/>
<joint user="1" class="range_defined"/>
<joint user="1" range="0 1" class="limited_auto"/>
<joint user="1" range="0 1" limited="auto"/>
<joint user="0" limited="auto"/>
<geom size="1"/>
</body>
<body>
<!-- free joints should remain unlimited even if a (meaningless) range is defined -->
<joint user="0" type="free" class="range_defined"/>
<geom size="1"/>
</body>
</worldbody>
</mujoco>