Schema regeneration in 985d0940 dropped three declarations MuJoCo 3.12 accepts (contact sensor, jointinparent references, custom numeric arrays)
还没有人认领这个 Issue。
评估
调研方向
将 HEAD 中的 dm_control/mjcf/schema.xml 与重新生成前的版本 985d0940^ 进行比较,重点关注 sensor/contact、actuator/jointinparent 和 custom/numeric data 声明。重现 issue 中的三个案例,然后运行 mjcf test suite,并添加回归测试以证明 contact parsing、attach() joint references 和 numeric arrays 已恢复正常工作。
由索引模型根据 Issue 内容生成。
描述
Commit 985d0940 regenerated dm_control/mjcf/schema.xml and dropped three declarations that were present before and that MuJoCo 3.12 still accepts. All three reproduce at HEAD (6b3298d) with mujoco 3.12.0.
1. <sensor> lost its <contact> child
from dm_control import mjcf
xml = """<mujoco>
<worldbody><body name="b"><joint name="j" type="slide"/><geom name="g" size="0.1"/></body></worldbody>
<sensor><contact name="cs" geom1="g" num="1" data="found" reduce="netforce"/></sensor>
</mujoco>"""
mjcf.from_xml_string(xml)
# KeyError: "Line ...: error while parsing element <contact>: 'contact'"
mujoco.MjModel.from_xml_string(xml) loads the same model fine.
2. jointinparent degraded from reference to string on all nine actuator elements
Because it is no longer a type="reference" reference_namespace="joint" attribute, attach() does not prefix the joint name, and the composed model fails to compile:
child = mjcf.RootElement(model='child')
body = child.worldbody.add('body', name='b')
body.add('joint', name='j', type='hinge')
body.add('geom', name='g', size=[0.1])
child.actuator.add('general', name='a', jointinparent='j')
parent = mjcf.RootElement(model='parent')
parent.attach(child)
mjcf.Physics.from_mjcf_model(parent)
# Error: unknown transmission target 'j' for actuator id = 0
3. custom/numeric data degraded from float array to string
root = mjcf.RootElement(model='m')
root.custom.add('numeric', name='x', data=[1, 2, 3])
# ValueError: during initialization of attribute 'data' of element <numeric>: Expect a string value: got [1, 2, 3]
This worked on the prior release.
In all three cases the pre-regeneration schema (985d0940^) had the correct declaration; restoring those three pieces fixes all three without affecting the rest of the mjcf test suite. PR incoming with the restore plus regression tests. If the preferred fix is in the schema generator rather than the checked-in file, the repro set here should transfer directly.
- 主要语言
- Python
- 星标
- 4.7k
- 派生
- 765
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
google-deepmind/dm_control 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 45/100
google-deepmind/dm_control#540 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 55/100
google-deepmind/dm_control#537 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 45/100
google-deepmind/dm_control#529 ·
-
难度 5/5 一周以上 新手友好度 25/100
google-deepmind/dm_control#527 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 35/100
google-deepmind/dm_control#526 · 1 条评论 ·
查看 google-deepmind/dm_control 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
anthropics/skills#1811 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
speaches-ai/speaches#678 ·
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
datalayer/mcp-compose#42 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
conda-forge/spacy-feedstock#177 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
UKGovernmentBEIS/inspect_evals#2523 ·