dm_control icon indicating copy to clipboard operation
dm_control copied to clipboard

AttributeError: 'MjData' object has no attribute 'qLDiagSqrtInv'

Open vaxenburg opened this issue 1 year ago • 1 comments

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 avatar Jan 15 '25 19:01 vaxenburg

@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.

peterdavidfagan avatar Feb 04 '25 10:02 peterdavidfagan