跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI大前端算法

基于宇树 G1 的 VR 遥操作与模仿学习开发指南

基于宇树 G1 人形机器人的 VR 遥操作数据采集与模仿学习训练流程详解。涵盖 avp/xr_teleoperate 环境配置、Apple Vision Pro/Meta Quest 连接、图像推流服务搭建,以及利用 unitree_IL_lerobot 将采集数据转换为 LeRobot 格式并训练 Pi0、Diffusion Policy 等策略模型的关键步骤。重点解决证书配置、多设备通信及数据格式转换中的常见问题,提供从仿真到真机的完整实操指南。

游戏玩家发布于 2026/3/22更新于 2026/9/1274 浏览
基于宇树 G1 的 VR 遥操作与模仿学习开发指南

前言

在具身智能领域,利用 VR 设备进行遥操作数据采集是训练机器人策略模型的关键环节。本文以宇树 G1 人形机器人为例,梳理从 VR 遥操作程序(avp/xr_teleoperate)到模仿学习框架(unitree_IL_lerobot)的完整开发链路。我们将探讨如何配置环境、连接 XR 设备、采集数据并将其转换为 LeRobot 格式进行 Pi0、Diffusion Policy 等策略的训练。

第一部分 基于 avp 程序的 VR 摇操配置

早期的遥操作方案主要依赖 avp_teleoperate 项目,该项目基于 OpenTeleVision 改造,支持 Apple Vision Pro 等设备控制宇树 H1/G1 系列机器人。

1.1 基础环境搭建

确保主机运行 Ubuntu 20.04 或 22.04。通信库已从旧的 unitree_dds_wrapper 更新为 Python 版的 unitree_sdk2_python。

git clone https://github.com/unitreerobotics/unitree_sdk2_python.git
cd unitree_sdk2_python
pip install -e .

逆运动学(IK)环境需要安装 Pinocchio、CasADi 和 Meshcat。注意 Pinocchio 版本需锁定为 3.1.0,否则可能导致后续 TeleVision 环境出错。

conda create -n tv python=3.8
conda activate tv
conda install pinocchio -c conda-forge
pip install meshcat casadi

1.2 证书与通信配置

由于 WebXR 要求 HTTPS 连接,本地测试需生成自签名证书。使用 mkcert 工具生成证书并安装到 XR 设备。

brew install mkcert
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
mkcert -install && mkcert -cert-file cert.pem -key-file key.pem <本机 IP> localhost 127.0.0.1
cp cert.pem key.pem ~/avp_teleoperate/teleop/

同时需在防火墙开放端口(如 8012),并在 XR 设备的 Safari 浏览器中启用 WebXR 功能标志。

1.3 硬件与启动流程

硬件方面,除了 XR 头显,还需在机器人头部安装双目相机用于第一人称视角,手腕处安装深度相机(如 D405)。启动前需先开启灵巧手服务及图像推流服务(image_server.py)。

主程序启动时,建议双人配合:一人佩戴 XR 设备访问 https://<主机 IP>:8012 进入 VR 模式,另一人在终端按下 r 键启动遥操作。若需录制数据,可追加 --record 参数。

python teleop_hand_and_arm.py --arm=G1_29 --hand=dex3 --record

第二部分 xr_teleoperate 升级与部署

随着生态演进,xr_teleoperate 作为 avp 的升级版,增强了对多种 XR 设备(手势/手柄)的支持,并增加了对强脑(BrainCo)灵巧手的适配。

2.1 安装与仿真

创建新的 conda 环境并克隆仓库。注意 unitree_sdk2_python 的版本需匹配。

conda create -n tv python=3.10 pinocchio=3.1.0 numpy=1.26.4 -c conda-forge
conda activate tv
git  https://github.com/unitreerobotics/xr_teleoperate.git
 xr_teleoperate
git submodule update --init --depth 1
pip install -r requirements.txt
clone
cd

在仿真环境中,可结合 Isaac Gym 进行测试。启动命令示例如下:

python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-Cylinder-G129-Dex3-Joint --robot_type g129

2.2 真机调试要点

真机部署时,核心差异在于图像服务和手部服务的独立启动。务必确保机器人在调试模式下(阻尼模式或零力矩模式),避免指令冲突。

对于 BrainCo 灵巧手,需单独启动串口服务:

sudo ./brainco_hand --id 126 --serial /dev/ttyUSB1
sudo ./brainco_hand --id 127 --serial /dev/ttyUSB2

启动遥操作时,通过命令行参数指定 --xr-mode=hand 或 controller,以及对应的机器人型号 --arm=G1_29。

第三部分 unitree_IL_lerobot 数据训练

采集到的数据通常存储为 JSON 格式,需转换为 LeRobot 标准格式才能用于训练。

3.1 环境安装与数据转换

安装 LeRobot 框架及宇树专用包:

git clone --recurse-submodules https://github.com/unitreerobotics/unitree_IL_lerobot.git
conda create -y -n unitree_lerobot python=3.10
conda activate unitree_lerobot
cd lerobot && pip install -e .
cd .. && pip install -e .

若使用现场采集的 JSON 数据,可使用转换脚本将其转为 LeRobot 格式:

python unitree_lerobot/utils/convert_unitree_json_to_lerobot.py \
  --raw-dir $HOME/datasets/g1_grabcube_double_hand \
  --repo-id your_name/g1_grabcube_double_hand \
  --robot_type Unitree_G1_Dex3

3.2 模型训练与评估

支持多种策略模型,包括 Pi0、Diffusion Policy 和 ACT。训练命令如下:

# 训练 Pi0
python lerobot/scripts/train.py --dataset.repo_id=unitreerobotics/G1_ToastedBread_Dataset --policy.type=pi0

# 训练 Diffusion Policy
python lerobot/scripts/train.py --dataset.repo_id=unitreerobotics/G1_ToastedBread_Dataset --policy.type=diffusion

训练完成后,加载模型路径进行真机评估:

python unitree_lerobot/eval_robot/eval_g1/eval_g1.py \
  --policy.path=./outputs/train/.../pretrained_model \
  --repo_id=unitreerobotics/G1_ToastedBread_Dataset

通过上述流程,即可完成从 VR 数据采集到模仿学习策略落地的闭环开发。

目录

  1. 前言
  2. 第一部分 基于 avp 程序的 VR 摇操配置
  3. 1.1 基础环境搭建
  4. 1.2 证书与通信配置
  5. 1.3 硬件与启动流程
  6. 第二部分 xr_teleoperate 升级与部署
  7. 2.1 安装与仿真
  8. 2.2 真机调试要点
  9. 第三部分 unitreeILlerobot 数据训练
  10. 3.1 环境安装与数据转换
  11. 3.2 模型训练与评估
  12. 训练 Pi0
  13. 训练 Diffusion Policy

更多推荐文章

查看全部
  • Scrapy-Redis 分布式爬虫架构:IP 代理池集成与跨地域采集
  • Docker 容器 Git 工作树隔离难题及解决方案
  • Ubuntu 系统忘记密码重置方法详解
  • ChatGPT Prompt 技巧:优化简历以通过 AI 筛选
  • ToClaw:零门槛体验 OpenClaw AI 桌面自动化能力
  • 无线联邦学习:隐私保护下的 AI 协同进化
  • 近端策略优化算法 (PPO) 详解与代码实现
  • VSCode Copilot 集成 DeepSeek 模型配置指南
  • 云开发 Copilot:AI 辅助低代码开发实践与解析
  • VSCode Copilot 聊天功能加载超时修复指南
  • Llama-Factory 打造大模型定制化流水线,支持多模型微调
  • Llama-3.2-3B 部署优化:Ollama 配置上下文窗口与 Token 限制详解
  • 字节跳动音视频前端一面面试经验与深度解析
  • 使用 Anthropic frontend-design Skill 提升大模型前端设计审美
  • Spring Web MVC 入门:从概念到实践
  • Z-Image i2L 本地 AI 绘画工具快速入门指南
  • VS Code 插件搭建 AI 开发环境完全指南
  • Codex Multi-Agent 与 Claude Agent Teams 对比:架构差异与选型指南
  • 基于 ChatGPT 学术版的一站式论文写作智能解决方案
  • 基于 Python 实现抖音私信自动回复机器人

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online