外观
踩坑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
解决办法
- 打开文件 IsaacLab/source/isaaclab/isaaclab/managers/termination_manager.py 中的 compute 函数
- 在遍历 termination terms 循环内、调用 value.nonzero(as_tuple=True)[0] 之前添加类型检查
- 插入代码 if isinstance(value, bool): value = torch.tensor([value], device=self._terminated_buf.device)
- 保存文件并重新运行仿真,确保自定义终止条件返回标量布尔值时能被正确转换为张量
讨论原作者:@qi-hx 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。