# Go2 观测顺序与部署环境不一致怎么办

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-08-04-unitree-rl-gym-32
> 频道：pitfalls | 更新日期：2026-08-04 | 标签：auto, github-issue, unitree_rl_gym
> 核心摘要：Go2 训练与部署观测顺序需按同一 checkpoint 对齐，可改训练端或部署端并用模型输入维度校验。

# Go2 观测顺序与部署环境不一致怎么办

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Mismatch in Observation Order Between go2 and Other Environments](https://github.com/unitreerobotics/unitree_rl_gym/issues/32)（GitHub unitreerobotics/unitree_rl_gym #32）

**状态**：有绕过办法

## 问题

Go2 的 `compute_observations` 以 `base_lin_vel` 开头；go1 和 Mujoco 部署环境以 `base_ang_vel` 开头并追加 `sin_phase`、`cos_phase`。提问者发现网络用后者顺序才能正确识别。

## 环境

机型：unitree-go2 · MuJoCo 物理仿真 · NVIDIA Isaac Sim / Isaac Lab

## 解决办法

1. 不要把观测顺序当作机器人固定属性，按训练 checkpoint 的 `compute_observations` 拼接顺序在训练端和部署端保持一致。
2. 可选择修改 Isaac Gym 中的 Go2 训练环境，或修改 Mujoco 部署环境，使观测布局对齐。
3. 先检查导出模型的输入维度；两种候选布局维度不同，可据此排除不匹配布局。
4. 也可用有限差分探测导出模型的观测块；回复者提到可执行 `pip install efferent` 后用 `efferent doctor policy.onnx` 定位关节相关块。

讨论原作者：@juanjuanjuanbing 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub unitreerobotics/unitree_rl_gym #32：Mismatch in Observation Order Between go2 and Other Environments](https://github.com/unitreerobotics/unitree_rl_gym/issues/32)