# Unitree G1仿真键盘控制失效且DDS无实体，需指定lo网口

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-05-25-unitree-sim-isaaclab-117
> 频道：pitfalls | 更新日期：2026-05-25 | 标签：auto, github-issue, unitree_sim_isaaclab
> 核心摘要：G1仿真中键盘指令无效且cyclonedds ps无实体，因DDS未绑定本地回环，修改初始化代码指定lo网口后解决。

# Unitree G1仿真键盘控制失效且DDS无实体，需指定lo网口

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[键盘输入指令，仿真画面中的机器人不动](https://github.com/unitreerobotics/unitree_sim_isaaclab/issues/117)（GitHub unitreerobotics/unitree_sim_isaaclab #117）

**状态**：已解决

## 问题

在Docker或阿里云GPU工作站运行Unitree G1 IsaacLab仿真时，通过WebRTC获取画面正常，但执行send_commands_keyboard.py输入w/s/a/d/c等指令机器人无响应。使用cyclonedds ps -i 1检查发现无任何DDS通信实体，导致控制脚本与仿真器无法建立数据链路。

## 环境

Unitree G1 (g129)，IsaacSim 5.1，Ubuntu 22.04（Docker容器或阿里云GPU工作站原生环境），CPU/CUDA模式，启用WebRTC推流与dex1_dds。

## 解决办法

1. 修改 `dds/dds_master.py` 第60行，将 `ChannelFactoryInitialize(1)` 改为 `ChannelFactoryInitialize(1, "lo")`，强制DDS使用本地回环网口。
2. 修改 `send_commands_keyboard.py` 第263行，同样将 `ChannelFactoryInitialize(1)` 改为 `ChannelFactoryInitialize(1, "lo")`，确保控制端与仿真端网络接口一致。
3. （可选）修正 `action_provider/action_provider_wh_dds.py` 第20行日志名称，将 `super().__init__("DDSActionProvider")` 改为 `super().__init__("DDSRLActionProvider")` 以方便调试。

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

## 原始参考来源 (Sources)

- [GitHub unitreerobotics/unitree_sim_isaaclab #117：键盘输入指令，仿真画面中的机器人不动](https://github.com/unitreerobotics/unitree_sim_isaaclab/issues/117)