Skip to content

踩坑GitHub unitreerobotics/unitree_sim_isaaclab8 个月前

IsaacLab G1仿真点击窗口后报错bool object has no attribute n。 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:可以进入环境,但是点击窗口后会报错立即退出。(GitHub unitreerobotics/unitree_sim_isaaclab #63)

状态:已解决

问题 ​

运行unitree_sim_isaaclab的G1任务并点击仿真窗口激活渲染后,程序在layeredcontrol/robot_control_system.py第127行self.env.step(action)处崩溃,报错'bool' object has no attribute 'nonzero',导致仿真立即退出无法继续。

环境 ​

Ubuntu 22.04.5, RTX 4090, Isaac Sim 5.0, unitree_sim_isaaclab, 任务Isaac-PickPlace-Cylinder-G129-Dex1-Joint, robot_type g129

解决办法 ​

  1. 打开文件 IsaacLab/source/isaaclab/isaaclab/managers/termination_manager.py 中的 compute 函数
  2. 在遍历 termination terms 循环内、调用 value.nonzero(as_tuple=True)[0] 之前添加类型检查
  3. 插入代码 if isinstance(value, bool): value = torch.tensor([value], device=self._terminated_buf.device)
  4. 保存文件并重新运行仿真,确保自定义终止条件返回标量布尔值时能被正确转换为张量

讨论原作者:@qi-hx 等,版权归原作者所有。

来源

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

  1. GitHub unitreerobotics/unitree_sim_isaaclab #63:可以进入环境,但是点击窗口后会报错立即退出。访问 2026-10-27