指南 · 来自官方教程
遥操作 G1:VR、键盘、手柄、摄像头
SONIC 技术栈上的全身遥操作走 C++ 部署二进制的输入类型,外加流式 SMPL 姿态的 VR 管线。按你的任务选输入——本页把选项按官方遥操作指南与教程画成地图。
输入类型
| 输入类型 | 是什么 |
|---|---|
keyboard | 直接键盘输入(默认) |
gamepad | 无线手柄 |
gamepad_manager | 手柄 + 快速切换 ZMQ/ROS2 |
zmq | 网络动作流式传输 |
zmq_manager | 在规划器与网络动作流之间动态切换 |
manager | 在键盘、手柄、ZMQ 与 ROS2 之间动态切换 |
ros2 | ROS2 话题控制(需要规划器,仅以 ROS2 支持编译时可用) |
通过 --input-type <type> 把这些传给部署二进制。完整参数参考(ZMQ 主机/端口/话题、输出类型、compliance、日志开关)在C++ 部署程序流文档里。
VR 全身遥操作(PICO)
旗舰方式:PICO 头显通过 pico_manager_thread_server.py 流式程序驱动全身动作,把 SMPL 身体参数经 ZMQ 发布(端口 5556,话题 pose)。C++ 部署用 zmq_manager 订阅。配置细节(PICO 标定、.venv_teleop)在VR 遥操作设置与数据采集文档里。官方安全提示:机器人周围保持 3 米净空安全区,并安排一名安全操作员随时按 O 紧急停机。
C++ 部署命令
cd gear_sonic_deploy
source scripts/setup_env.sh
./deploy.sh --input-type zmq_manager real real 面向实体机器人;sim 面向 MuJoCo(仿真必须加 --disable-crc-check)。低延迟 checkpoint 用低延迟模型前缀与配套观测配置(见SONIC 模型选型)。
部署二进制上的 ZMQ 配置:--zmq-host(默认 localhost)、--zmq-port(默认 5556)、--zmq-topic(默认 pose)、--zmq-out-port(默认 5557)、--zmq-out-topic(默认 g1_debug)。CloudXR / DeviceIO 的启动过程记录在仓库里的 Isaac Teleop Setup 教程中。
遥操作常见问题
SONIC 技术栈支持哪些遥操作方式?
C++ 部署二进制接受多种输入类型:keyboard(键盘)、gamepad(无线手柄)、gamepad_manager(手柄 + 快速切换 ZMQ/ROS2)、zmq(网络动作流)、zmq_manager(规划器与流式动作之间动态切换)、manager(键盘、手柄、ZMQ 与 ROS2 之间动态切换)、ros2(ROS2 话题控制,需要规划器)。VR 全身遥操作使用 PICO 头显,pico_manager 流式程序把 SMPL 姿态经 ZMQ 发布。
ZMQ 在遥操作里起什么作用?
ZMQ 承载实时动作流。用 --input-type zmq 时,部署二进制订阅姿态话题(默认端口 5556,话题 pose);用 zmq_manager 时可以在规划器生成的动作与网络流式动作之间切换。用 --output-type zmq 时,控制结果发布回端口 5557(话题 g1_debug)。
怎么运行 C++ 遥操作部署?
在 gear_sonic_deploy/ 下:source scripts/setup_env.sh,然后 ./deploy.sh --input-type zmq_manager real 控制真机(sim 控制 MuJoCo 仿真)。低延迟 checkpoint 用对应的模型前缀与观测配置。