google-deepmind / google-deepmind/dm_control

Schema regeneration in 985d0940 dropped three declarations MuJoCo 3.12 accepts (contact sensor, jointinparent references, custom numeric arrays)

Đang mở
#552 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
4.7k
Fork
764
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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. `` lost its `` child**

```python
from dm_control import mjcf
xml = """


"""
mjcf.from_xml_string(xml)
# KeyError: "Line ...: error while parsing element : '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:

```python
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**

```python
root = mjcf.RootElement(model='m')
root.custom.add('numeric', name='x', data=[1, 2, 3])
# ValueError: during initialization of attribute 'data' of element : 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Compare dm_control/mjcf/schema.xml at HEAD with the pre-regeneration version 985d0940^, focusing on the sensor/contact, actuator/jointinparent, and custom/numeric data declarations. Reproduce the three cases from the issue, then run the mjcf test suite and add regression tests showing contact parsing, attach() joint references, and numeric arrays work again.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
76/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.