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

宇树 G1 人形机器人 VR 遥操与 IL 开发:从 xr_teleoperate 到 unitree_IL_lerobot

基于宇树 G1 人形机器人的 VR 遥操作与模仿学习(IL)开发流程。涵盖从 avp_teleoperate 到 xr_teleoperate 的升级使用,包括环境配置、硬件连接(Vision Pro/Quest)、图像推流及数据采集。随后讲解如何将采集数据转换为 LeRobot 格式,并集成 unitree_IL_lerobot 进行策略训练(如 pi0、Diffusion Policy、ACT),最后提供真机测试方法。适合希望进行具身智能二次开发的开发者参考。

追风少年发布于 2026/4/6更新于 2026/7/2560 浏览
宇树 G1 人形机器人 VR 遥操与 IL 开发:从 xr_teleoperate 到 unitree_IL_lerobot

前言

本文解读基于宇树人形机器人的二次开发与开源库,重点介绍如何基于 G1 进行 manipulation 开发。目前市面上的人形机器人开发多基于宇树、智元、傅利叶等厂商本体。

  • 傅利叶将 idp3 封装进了 Lerobot。
  • 宇树通过开源库 unitree_IL_lerobot 集成了 Lerobot,该库包含了π0策略。

无论使用哪种集成方案,都可以使用宇树开源的摇操代码(如 xr_teleoperate)去收集数据。

第一部分 基于宇树开源的 avp(xr 以前的版本) 摇操程序:让苹果 VR 摇操机器人

本部分介绍如何使用 Apple Vision Pro 进行遥操作,以控制宇树科技的 Unitree H1_2 或 G1 手臂的示例程序。 avp 基于 Open-television 改造,对应的 GitHub 地址为:github.com/unitreerobotics/avp_teleoperate。

开发者只需佩戴 Vision Pro,即可通过摄像头进行手势追踪以操作机器人。

以下是网络拓扑图,以 G1 机器人为例。

1.1 Ubuntu、双臂 inverse kinematics 环境配置、unitree_dds_wrapper 配置

  1. 操作系统:Ubuntu 20.04 和 Ubuntu 22.04。
  2. 通信库:原 h1_2 分支中的临时版本 unitree_dds_wrapper 已更新为 Python 版控制通信库 unitree_sdk2_python。
# 安装 unitree_sdk2_python 库 (tv)
unitree@Host:~$ git clone https://github.com/unitreerobotics/unitree_sdk2_python.git
cd unitree_sdk2_python
pip install -e .
  1. 双臂 inverse kinematics 环境配置:用于求解末端位姿逆运动学相关的软件库。使用 pinocchio 和 CasADi 库加载 URDF 并进行逆运动学计算。
conda create -n tv python=3.8
conda activate tv
# 确保 pinocchio 版本为 3.1.0
conda install pinocchio -c conda-forge
pip install meshcat
pip install casadi

注意:使用 pip 安装的 pinocchio 有可能不是最新版本 3.1.0,本环境需要使用 3.1.0 版本。

1.2 TeleVision 环境配置和 Apple Vision Pro 通信配置

1.2.1 基本环境配置和 Isaac Gym 安装
cd ~
git clone https://github.com/unitreerobotics/avp_teleoperate.git
cd avp_teleoperate
pip install -r requirements.txt

下载 Isaac Gym 安装包并解压,执行 pip install -e .。

1.2.2 证书生成相关配置

由于苹果不允许在非 HTTPS 连接上使用 WebXR,需要创建自签名证书。

  • 安装 mkcert:
    brew install mkcert
    eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
    sudo apt-get install build-essential procps curl file git
    
  • 生成证书:
    mkcert -CAROOT
    # 获取 rootCA.pem 路径,通过隔空投送发送到 Apple Vision Pro
    mkcert -install && mkcert -cert-file cert.pem -key-file key.pem 192.168.123.2 localhost 127.0.0.1
    cp cert.pem key.pem ~/avp_teleoperate/teleop/
    
  • 防火墙设置:
    sudo ufw allow 8012
    
  • 1.2.3 启用 Apple Vision Pro 的 WebXR 相关功能、进入 VR

    设置 >> Apps >> Safari 浏览器 >> 高级 >> 功能标志 >> 启用 WebXR 相关功能。

    启动程序:

    cd ~/avp_teleoperate/teleop
    python teleop_hand.py
    

    在 Apple Vision Pro 的浏览器输入 https://192.168.123.2:8012?ws=wss://192.168.123.2:8012,点击 "Enter VR"。

    1.3 硬件清单:涉及 VR、头部的双目相机、手腕上的深度相机 D405

    物品名称数量说明
    Apple Vision Pro1参考 Apple 官方网址
    计算机1x86_64 架构
    人形机器人 H11具体型号为 H1_2
    灵巧手1H1 可搭载 Inspire Robotics (RH56DFX) 的仿人五指灵巧手
    头部双目相机1普通 USB 免驱动双目相机,推荐使用 FOV 较大的相机
    头部相机支架1GitHub 链接
    1.3.2 手腕上的深度相机 D405

    戴机器人手腕上的英特尔 RealSense D405 相机。需配合腕部相机环形支架及左右腕相机支架使用。

    1.4 启动程序

    1.4.1 开启灵巧手服务

    参考《RH56DFX 灵巧手开发》配置相关环境和编译控制程序。

    1. 下载灵巧手控制接口程序,拷贝到机器人 PC2 中。
    2. 编译并运行:
      sudo apt install libboost-all-dev libspdlog-dev
      cd h1_inspire_service & mkdir build & cd build
      cmake .. -DCMAKE_BUILD_TYPE=Release
      make
      sudo ./inspire_hand -s /dev/ttyUSB0
      ./h1_hand_example
      
    1.4.2 开启图像推流服务 image_server

    将 image_server.py 拷贝到机器人 PC2 中执行:

    python image_server.py
    

    注意检查 OpenCV 读取图像时的参数是否与双目相机硬件匹配,以及默认 5555 端口是否可用。

    1.4.3 启动遥操作程序

    务必确保 G1 已经进入调试模式(阻尼:长按 L2 + 单击 B,或零力矩:长按 L2 + 单击 Y)。

    操作员 A 戴上 Apple Vision Pro,访问 https://192.168.123.2:8012?/ws=wss://192.168.123.2:8012。 操作员 B 在终端按下 r 键启动远程操作程序。

    启动命令示例:

    # 1. G1(29DoF) 机器人 + Dex3-1 灵巧手
    python teleop_hand_and_arm.py --arm=G1_29 --hand=dex3
    # 2. 仅 G1(29DoF) 机器人
    python teleop_hand_and_arm.py
    # 3. 开启数据可视化 + 录制
    python teleop_hand_and_arm.py --arm=G1_23 --record
    

    1.5 avp_teleoperate 与 OpenTeleVision 的差异对比

    特性avp_teleoperateOpenTeleVision
    项目定位Unitree 专用,支持多种机型学术研究项目,通用框架
    核心架构分层设计(图像、姿态、控制)功能模块化(模仿学习、远程操作)
    技术实现工业级控制,Pinocchio IKWebRTC 通信,ACT/DETR 模型

    第二部分 xr_teleoperate:avp_teleoperate 的升级版

    2025 年 7 月,宇树开源的 avp_teleoperate 升级为了 xr_teleoperate,支持了更多灵巧手且 XR 设备支持模式扩展为手部跟踪和控制器跟踪两种。

    2.1 安装

    系统依然是 Ubuntu 20.04 或 Ubuntu 22.04。

    2.1.1 基础环境
    conda create -n tv python=3.10 pinocchio=3.1.0 numpy=1.26.4 -c conda-forge
    conda activate tv
    git clone https://github.com/unitreerobotics/xr_teleoperate.git
    cd xr_teleoperate
    git submodule update --init --depth 1
    cd teleop/televuer
    pip install -e .
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem
    cd ../robot_control/dex-retargeting/
    pip install -e .
    cd ../../../
    pip install -r requirements.txt
    
    2.1.2 unitree_sdk2_python
    git clone https://github.com/unitreerobotics/unitree_sdk2_python.git
    cd unitree_sdk2_python
    pip install -e .
    

    注意:在 xr_teleoperate >= v1.1 版本中,unitree_sdk2_python 仓库的 commit 必须是等于或高于特定版本。

    2.2 仿真部署

    2.2.1 环境配置

    安装 unitree_sim_isaaclab。

    启动仿真:

    conda activate unitree_sim_env
    cd ~/unitree_sim_isaaclab
    python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-Cylinder-G129-Dex3-Joint --enable_dex3_dds --robot_type g129
    
    2.2.2 启动遥操

    启动参数说明:

    • --record: 启用数据录制模式
    • --motion: 启用运动控制模式
    • --headless: 启用无图形界面模式
    • --sim: 启用仿真模式

    基础控制参数:

    • --xr-mode: hand (手势跟踪) / controller (手柄跟踪)
    • --arm: G1_29 / G1_23 / H1_2 / H1
    • --ee: dex1 / dex3 / inspire1 / brainco

    启动命令示例:

    python teleop_hand_and_arm.py --xr-mode=hand --arm=G1_29 --ee=dex3 --sim --record
    

    2.3 真机部署

    2.3.1 图像服务

    将 image_server.py 复制到机器人 PC2 并执行:

    python image_server.py
    

    测试通信:

    python image_client.py
    
    2.3.2 BrainCo 手部服务

    手动启动两个巧手的服务:

    sudo ./brainco_hand --id 126 --serial /dev/ttyUSB1
    sudo ./brainco_hand --id 127 --serial /dev/ttyUSB2
    
    2.3.3 启动遥操
    1. 未开启运动控制模式时,确保机器人进入调试模式。
    2. 开启运动控制模式时,右手柄按钮 A 为退出功能,双摇杆按键同时按下为软急停。

    第三部分 unitree_IL_lerobot 的安装与运行

    依据宇树官方的 Github:unitreerobotics/unitree_IL_lerobot。

    3.1 环境安装与数据采集、转换

    3.1.1 环境安装
    git clone https://github.com/unitreerobotics/unitree_sdk2_python.git
    cd unitree_sdk2_python && pip install -e .
    
    git clone --recurse-submodules https://github.com/unitreerobotics/unitree_IL_lerobot.git
    git submodule update --init --recursive
    conda create -y -n unitree_lerobot python=3.10
    conda activate unitree_lerobot
    cd lerobot && pip install -e .
    cd .. && pip install -e .
    
    3.1.2 数据采集

    可以使用 avp/xr 现采的数据,也可以从 HuggingFace 加载数据集:unitreerobotics/G1_ToastedBread_Dataset。

    from lerobot.common.datasets.lerobot_dataset import LeRobotDataset
    import tqdm
    episode_index = 1
    dataset = LeRobotDataset(repo_id="unitreerobotics/G1_ToastedBread_Dataset")
    from_idx = dataset.episode_data_index["from"][episode_index].item()
    to_idx = dataset.episode_data_index["to"][episode_index].item()
    for step_idx in tqdm.tqdm(range(from_idx, to_idx)):
        step = dataset[step_idx]
    
    3.1.3 数据转换

    将 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 \
      --push_to_hub true
    

    3.2 训练与测试

    3.2.1 训练

    训练 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
    

    训练 ACT:

    python lerobot/scripts/train.py \
      --dataset.repo_id=unitreerobotics/G1_ToastedBread_Dataset \
      --policy.type=act
    
    3.2.2 真机测试
    python unitree_lerobot/eval_robot/eval_g1/eval_g1.py \
      --policy.path=unitree_lerobot/lerobot/outputs/train/... \
      --repo_id=unitreerobotics/G1_ToastedBread_Dataset
    

    目录

    1. 前言
    2. 第一部分 基于宇树开源的 avp(xr 以前的版本) 摇操程序:让苹果 VR 摇操机器人
    3. 1.1 Ubuntu、双臂 inverse kinematics 环境配置、unitreeddswrapper 配置
    4. 安装 unitreesdk2python 库 (tv)
    5. 确保 pinocchio 版本为 3.1.0
    6. 1.2 TeleVision 环境配置和 Apple Vision Pro 通信配置
    7. 1.2.1 基本环境配置和 Isaac Gym 安装
    8. 1.2.2 证书生成相关配置
    9. 1.2.3 启用 Apple Vision Pro 的 WebXR 相关功能、进入 VR
    10. 1.3 硬件清单:涉及 VR、头部的双目相机、手腕上的深度相机 D405
    11. 1.3.2 手腕上的深度相机 D405
    12. 1.4 启动程序
    13. 1.4.1 开启灵巧手服务
    14. 1.4.2 开启图像推流服务 image_server
    15. 1.4.3 启动遥操作程序
    16. 1. G1(29DoF) 机器人 + Dex3-1 灵巧手
    17. 2. 仅 G1(29DoF) 机器人
    18. 3. 开启数据可视化 + 录制
    19. 1.5 avp_teleoperate 与 OpenTeleVision 的差异对比
    20. 第二部分 xrteleoperate:avpteleoperate 的升级版
    21. 2.1 安装
    22. 2.1.1 基础环境
    23. 2.1.2 unitreesdk2python
    24. 2.2 仿真部署
    25. 2.2.1 环境配置
    26. 2.2.2 启动遥操
    27. 2.3 真机部署
    28. 2.3.1 图像服务
    29. 2.3.2 BrainCo 手部服务
    30. 2.3.3 启动遥操
    31. 第三部分 unitreeILlerobot 的安装与运行
    32. 3.1 环境安装与数据采集、转换
    33. 3.1.1 环境安装
    34. 3.1.2 数据采集
    35. 3.1.3 数据转换
    36. 3.2 训练与测试
    37. 3.2.1 训练
    38. 3.2.2 真机测试
    • 免费图片AI生成工具免费生成了解详情
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
    • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
    • 100+免费在线小游戏爽一把
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • 使用 AI 快速验证 GIT 环境配置方案
    • 为什么 AI 产品经理日渐成为热门职业
    • Manacher 算法详解:求解最长回文子串
    • 网络安全学习路线整理:从入门到进阶的技术指南
    • QLoRA 高效微调技术实战:基于 LLaMA-65B 仅需 48G 显存
    • Z-Image-Turbo WebUI 跨平台兼容性:Windows 与 Linux 表现对比
    • Spring Boot 数据可视化与图表集成
    • VMware 虚拟机安装 Ubuntu 20.04.6 实战指南
    • KBQA 核心数据集详解:WebQSP 与 CWQ
    • 8 月初学习复盘:Vue 实践与算法思考
    • WSL2 Ubuntu 部署 llama.cpp 指南
    • Linux USB 驱动架构详解
    • FastAPI 高性能后端开发实战指南
    • 2025 无人机四大顶会 IROS ICRA RSS CoRL 精选 16 篇论文
    • FPGA PCIe XDMA 无法 Link Up 使用 LTSSM 定位问题
    • Llama-3.2-3B 部署指南:Ollama 启用 GPU 加速(CUDA/cuDNN)
    • 轻小说机翻机器人:5分钟打造你的日语小说翻译神器
    • OpenClaw 新手指南:AI 机器人搭建与配置全攻略
    • OpenClaw 开源 AI 智能体:核心原理、功能特性与本地部署
    • 基于 Leaflet 和天地图的免费运动场所 WebGIS 可视化

    相关免费在线工具

    • 加密/解密文本

      使用加密算法(如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