Skip to content

踩坑GitHub google-deepmind/mujoco6 天前

MuJoCo MJX 3.3.5运行training_apg报错State无pos属性 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:AttributeError: 'State' object has no attribute 'pos' in mjx/training_apg.ipynb(GitHub google-deepmind/mujoco #2822)

状态:有绕过办法

问题 ​

在MuJoCo MJX 3.3.5环境中运行train_apg.ipynb示例时,调用train_fn触发AttributeError: 'State' object has no attribute 'pos'。原因是新版MJX Data类移除了data.x和data.xd属性,导致旧版Notebook代码直接访问失效,而相同代码在MJX 3.3.0中可正常运行。

环境 ​

Ubuntu 20.04/Colab, MuJoCo MJX 3.3.5, JAX 0.5.3, Brax 0.12.1

解决办法 ​

  1. 停止在训练循环或推理函数中直接访问data.x、data.xd或state.pos等已废弃属性
  2. 调用Notebook内置的辅助函数mjx_to_brax()处理原始MJX数据
  3. 使用mjx_to_brax()返回的Brax Transform和Motion对象替代原生MJX数据结构进行后续计算
  4. 等待官方PR合并更新training_apg.ipynb以彻底修复API兼容性问题

讨论原作者:@MacQWER 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub google-deepmind/mujoco #2822:AttributeError: 'State' object has no attribute 'pos' in mjx/training_apg.ipynb访问 2026-10-26