dm_control
dm_control copied to clipboard
AttributeError: 'MjData' object has no attribute 'qLDiagSqrtInv'
The Jan 14, 2025 MuJoCo update introduced a breaking change affecting dm_control.
To reproduce:
from dm_control.locomotion.examples.basic_rodent_2020 import rodent_escape_bowl
env = rodent_escape_bowl()
Traceback:
AttributeError Traceback (most recent call last)
[<ipython-input-3-87280df10d82>](https://localhost:8080/#) in <cell line: 1>()
----> 1 env = rodent_escape_bowl()
11 frames
[/usr/local/lib/python3.10/dist-packages/dm_control/mujoco/index.py](https://localhost:8080/#) in struct_indexer(struct, struct_name, size_to_axis_indexer)
626 # Skip over structured arrays and fields that have sizes but aren't numpy
627 # arrays, such as text fields and contacts (b/34805932).
--> 628 attr = getattr(struct, field_name)
629 if not isinstance(attr, np.ndarray) or attr.dtype.fields:
630 continue
AttributeError: 'MjData' object has no attribute 'qLDiagSqrtInv'
@vaxenburg I think its not officially released yet looking at the releases attached to this repo but the latest set of code does bump the version to mujoco 3.2.7 release so its possible to build this code and reference it in your project.
Confirming that the issue (introduced by a breaking change in 3.2.7) is resolved by building the code locally and referencing this, if you are using poetry, you can reference the .whl resulting from the build and it should work.