机载 Onboard Sim2Real
在 G1 机载 NX 计算机上直接运行 sim2real 控制回路,Pico 4 追踪数据通过 ZMQ 从外部 PC 传入。
网络拓扑
通过路由器连接两台 PC:
[路由器] --- WLAN/WiFi --- [PC2: 用户 PC]
|
+--- WLAN/WiFi --- [PC1: G1 NX 机载计算机]
- PC1(G1 NX):通过 WiFi 连接到路由器
- PC2(用户 PC):通过 WiFi 连接到同一路由器
配置固定 IP
- 在路由器管理页面分配固定 IP,例如:
- PC1(NX):
192.168.1.101 - PC2(用户 PC):
192.168.1.102
- PC1(NX):
- 也可在各设备上手动配置静态 IP
验证连通性
# 从 PC2 ping PC1
ping 192.168.1.101
# 从 PC2 SSH 到 PC1
ssh user@192.168.1.101
安装环境(NX 端)
# SSH 到 NX 后,在 Teleopit 仓库目录下执行
git submodule update --init --recursive
bash scripts/setup/setup_onboard.sh
该脚本会安装系统依赖、编译 g1_bridge_sdk,并安装 teleopit[onboard]。
前置要求(PC2 端)
PC2 需要安装 Pico 4 SDK 以读取全身追踪数据:
pip install pybind11
pip install -e '.[pico4]'
bash scripts/setup/setup_pico4.sh
同时确保已安装并启动 XRoboToolkit PC Service。详见 Pico VR 教程。
运行机载 Sim2Real
在 PC2(用户 PC)上 — 启动 Pico 4 ZMQ 数据转发:
python scripts/dev/zmq_pico4_publisher.py --bind 0.0.0.0 --port 5555
该脚本读取 Pico 4 全身追踪数据并通过 ZMQ 发布,保持运行即可。
在 PC1(NX)上 — 启动机载控制回路:
python scripts/run/run_onboard_sim2real.py \
controller.policy_path=track.onnx \
real_robot.network_interface=wlan0 \
input.zmq_host=192.168.1.102
其中 input.zmq_host 为 PC2 的 IP 地址(即运行 ZMQ 数据 转发的机器)。
操作说明
控制流程和遥控器按键映射与 Sim2Real 部署 完全一致。唯一区别在于控制回路运行在 NX 机载计算机上,而非外部 PC。