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

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-02-24-unitree-sim-isaaclab-63
> 频道：pitfalls | 更新日期：2026-02-24 | 标签：auto, github-issue, unitree_sim_isaaclab
> 核心摘要：G1仿真交互时因终止条件返回布尔值导致nonzero调用失败，修改termination_manager.py增加类型转换即可修复。

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

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[可以进入环境，但是点击窗口后会报错立即退出。](https://github.com/unitreerobotics/unitree_sim_isaaclab/issues/63)（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 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub unitreerobotics/unitree_sim_isaaclab #63：可以进入环境，但是点击窗口后会报错立即退出。](https://github.com/unitreerobotics/unitree_sim_isaaclab/issues/63)