外观
踩坑GitHub unitreerobotics/unitree_sim_isaaclab5 个月前
Unitree G1仿真键盘控制失效且DDS无实体,需指定lo网口
本文由 AI 根据公开内容整理,可能有误,请以原文为准:键盘输入指令,仿真画面中的机器人不动(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。
解决办法
- 修改
dds/dds_master.py第60行,将ChannelFactoryInitialize(1)改为ChannelFactoryInitialize(1, "lo"),强制DDS使用本地回环网口。 - 修改
send_commands_keyboard.py第263行,同样将ChannelFactoryInitialize(1)改为ChannelFactoryInitialize(1, "lo"),确保控制端与仿真端网络接口一致。 - (可选)修正
action_provider/action_provider_wh_dds.py第20行日志名称,将super().__init__("DDSActionProvider")改为super().__init__("DDSRLActionProvider")以方便调试。
讨论原作者:@xjhdhq 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。