《VLA 系列》Humanoid Everyday | 人形机器人 | 开源数据集

Humanoid Everyday首个面向开放世界的人形机器人,大规模多模态数据集

涵盖260个真实场景任务超1万条演示轨迹300万帧30Hz高频数据,覆盖基础操作、移动操作、人机交互等七大技能类别,

并独家配备触觉、深度、LiDAR、IMU等九种感知模态;

资源 链接
GitHub 仓库 https://github.com/physical-superintelligence-lab/Humanoid-Everyday
HuggingFace 数据集 https://huggingface.co/datasets/USC-PSI-Lab/humanoid-everyday
论文 arXiv Humanoid Everyday: A Comprehensive Robotic Dataset for Open-World Humanoid Manipulation
项目主页 https://humanoideveryday.github.io/

一、数据集核心内容

1.1 任务与数据规模

维度 详情
总任务数 260 个独特任务
任务类别 7 大类别(基础操作、移动操作、人机交互、关节物体操作、工具使用、可变形物体操作、高精度操作)
每任务 Episode 40 个演示片段
总轨迹数 10,300+ 条
总帧数 超过 300 万帧
采集频率 30 Hz
数据总量 ~500 GB(完整版约 1TB)

1.2 任务类别分布

类别 主要任务示例 任务数量
基础操作 抓取放置、倾倒液体、推物体、拉物体、堆叠、旋转、开关操作 44+
移动操作 行走交互、行走抓取放置、行走清洁、行走搬运 29+
人机交互 递给人、从人接收、社交手势、持有并归还 12+
关节物体操作 翻转/铰链、按钮按压、抽屉与托盘、盖子、关门 11+
工具使用 清洁工具、冲击工具、除尘/橡皮擦、分配器 10+
可变形物体操作 折叠/展开、挤压/压缩、拉伸/翻转、抚平/调整 8+
高精度操作 精确放置、插入/取出、微按钮、精细堆叠 5+

1.3 硬件配置

组件 G1 配置 H1 配置
本体 29-DoF 27-DoF
手部 Dex3-1 三指灵巧手(7-DoF × 2) INSPIRE 六自由度手(6-DoF × 2)
触觉传感 ✓ 指尖压力传感器
视觉 Intel RealSense RGB-D Intel RealSense RGB-D
激光雷达 Livox LiDAR Livox LiDAR

下面银色这款是 Unitree G1(三指灵巧手),黑色这款是 Unitree H1(五指灵巧手) :

遥操作接口

  • 设备:Apple Vision Pro
  • 手部映射:dex-retargeting 系统将手指关键点映射到机器人灵巧手
  • 手臂控制:Pinocchio-based 逆运动学算法将手腕姿态转为关节指令
  • 视觉反馈:机器人双目 IR 图像实时传输至 VR 头显

相机内参(RealSense D435)

参数 H1 数值 G1 数值
fx 392.03189 389.07278
fy 392.03189 389.07278
cx 320.19580 321.61887
cy 235.58174 238.43630

二、数据模态详解(9 种模态)

2.1 低维数据(状态与动作)

数据类型 维度 说明
手臂关节状态 14 左右肩 Pitch/Roll/Yaw、肘、腕 Roll/Pitch/Yaw
腿部关节状态 13 (H1) / 15 (G1) 髋 Yaw/Roll/Pitch、膝、踝、踝 Roll,G1 额外含腰部 Roll/Pitch
手部关节状态 12 (H1) / 14 (G1) H1: INSPIRE 手 6-DoF×2;G1: Dex3-1 三指灵巧手 7-DoF×2
手部压力传感 18 (G1) 每手 9 个传感器(仅 G1)
IMU 数据 4+3+3+3 四元数、加速度计、陀螺仪、RPY
里程计 3+3+3+4 位置、速度、RPY、四元数
遥操作动作 14+ 逆运动学解算后的关节目标角度、前馈力矩、头部旋转矩阵、左右手位姿

2.2 高维感知数据

数据类型 格式 分辨率/规模 文件格式
RGB 图像 uint8 480×640×3 PNG
深度图 uint16 480×640 PNG
LiDAR 点云 float64 ~6000 点/帧 PCD

三、数据下载方式

3.1 下载渠道

来源 链接 内容
HuggingFace USC-PSI-Lab/humanoid-everyday 完整数据集(~1TB LeRobot 格式)
任务表格 Google Spreadsheet 按任务分类下载
Lite 版本 HuggingFace 子集 仅状态与动作数据(轻量版)

其中,按任务分类下载,有具体的任务类别划分,如下图所示:

点击链接后,会进行下载zip,比如:flip_open_a_diary_g1.zip

3.2 两种数据格式对比

格式 大小 适用场景 内容
LeRobot 格式 ~1TB 完整训练、视觉策略 包含所有模态(RGB、Depth、LiDAR、状态、动作)
Lite 格式 ~GB 级 快速实验、状态-only 策略 仅关节状态与动作数据

3.3 快速训练VLA数据(Lite 格式)

如果只需要所有轨迹的状态和动作,而不需要其他模态,则可以使用的精简版数据集

H1:https://huggingface.co/datasets/USC-PSI-Lab/Humanoid-Everyday-H1

G1:https://huggingface.co/datasets/USC-PSI-Lab/Humanoid-Everyday-G1

四、数据组织结构

4.1 原始数据目录结构(LeRobot 格式)

bash 复制代码
<task_name>/                    # 任务名称,如 push_a_button
├── episode_0/                  # 第 0 个演示片段
│   ├── data.json               # 低维传感器数据 + 文件路径索引
│   ├── color/                  # RGB 图像序列
│   │   ├── 00000.png
│   │   ├── 00001.png
│   │   └── ...
│   ├── depth/                  # 深度图序列
│   │   ├── 00000.png
│   │   └── ...
│   └── lidar/                  # LiDAR 点云序列
│       ├── 00000.pcd
│       └── ...
├── episode_1/
│   └── ...
└── ...

4.2 data.json 字段结构

json 复制代码
{
  "time": 1234567890.123,           // UNIX 时间戳(秒)
  "robot_type": "G1",               // 机器人类型:G1 或 H1
  
  "states": {
    "arm_state": [14 floats],       // 手臂关节角度
    "leg_state": [13/15 floats],    // 腿部关节角度
    "hand_state": [12/14 floats],   // 手部关节角度
    "hand_pressure_state": [...],   // 压力传感器数据(G1)
    "imu": {
      "quaternion": [w,x,y,z],
      "accelerometer": [ax,ay,az],
      "gyroscope": [gx,gy,gz],
      "rpy": [roll,pitch,yaw]
    },
    "odometry": {
      "position": [x,y,z],
      "velocity": [vx,vy,vz],
      "rpy": [roll,pitch,yaw],
      "quat": [w,x,y,z]
    }
  },
  
  "actions": {
    "right_angles": [7 floats],     // 右手目标角度
    "left_angles": [7 floats],      // 左手目标角度
    "sol_q": [14 floats],           // IK 解算关节角度
    "tau_ff": [14 floats],          // 前馈力矩
    "head_rmat": [3x3],             // 头部旋转矩阵
    "left_pose": [4x4],             // 左手齐次变换矩阵
    "right_pose": [4x4]             // 右手齐次变换矩阵
  },
  
  "image": "color/00000.png",       // RGB 图像相对路径
  "depth": "depth/00000.png",       // 深度图相对路径
  "lidar": "lidar/00000.pcd"        // 点云相对路径
}

五、快速使用指南

5.1 安装 DataLoader

bash 复制代码
git clone https://github.com/physical-superintelligence-lab/Humanoid-Everyday
cd Humanoid-Everyday
pip install -e .

5.2 基础使用示例

python 复制代码
from humanoid_everyday import Dataloader
import numpy as np

# 加载数据集(支持 .zip 或解压后的目录)
ds = Dataloader("~/Downloads/push_a_button.zip")

print(f"数据集总 Episode 数: {len(ds)}")

# 遍历数据
for episode_idx, episode in enumerate(ds):
    for step_idx, timestep in enumerate(episode):
        # 获取状态
        arm_state = timestep["states"]["arm_state"]      # (14,)
        hand_state = timestep["states"]["hand_state"]    # (14,) for G1
        imu = timestep["states"]["imu"]
        
        # 获取动作
        arm_actions = timestep["actions"]["sol_q"]       # (14,)
        
        # 获取图像
        rgb_image = timestep["image"]                    # (480, 640, 3)
        depth_map = timestep["depth"]                    # (480, 640)
        lidar_points = timestep["lidar"]                 # (~6000, 3)
        
        # 批量加载
        batch = episode[0:4]  # 加载第 0-3 帧

5.3 数据可视化

python 复制代码
# 显示 RGB 图像
ds.display_image(episode_idx=0, step_idx=1)

# 显示深度点云(RGB-D 融合)
ds.display_depth_point_cloud(episode_idx=0, step_idx=1)

# 显示 LiDAR 点云
ds.display_lidar_point_cloud(episode_idx=0, step_idx=1)

5.4 H1 手部数据处理

H1 使用 INSPIRE 灵巧手,需要后处理转换:

python 复制代码
if robot_type == "H1":
    left_qpos = timestep["actions"]["left_angles"]
    right_qpos = timestep["actions"]["right_angles"]
    
    # 转换为实际关节角度
    right_hand_angles = [1.7 - right_qpos[i] for i in [4, 6, 2, 0]]
    right_hand_angles.append(1.2 - right_qpos[8])
    right_hand_angles.append(0.5 - right_qpos[9])
    
    left_hand_angles = [1.7 - left_qpos[i] for i in [4, 6, 2, 0]]
    left_hand_angles.append(1.2 - left_qpos[8])
    left_hand_angles.append(0.5 - left_qpos[9])
    
    hand_actions = left_hand_angles + right_hand_angles  # 12-dim
else:
    # G1 直接使用
    hand_actions = (timestep["actions"]["left_angles"] + 
                   timestep["actions"]["right_angles"])  # 14-dim

六、转换为 LeRobot 格式

如需自行转换原始数据为 LeRobot 格式:

bash 复制代码
# 将解压后的数据按以下结构组织:
# <dataset_name>/
#   ├── <task_category>/
#   │   ├── <task_name>/
#   │   │   ├── episode_0/
#   │   │   └── ...

python scripts/he2lerobot.py --dataset_path <dataset_name>

相关文章推荐:
《VLA 系列》分析 Ψ₀ | Psi0 | 通用人形机器人 | 移动 + 操作
《VLA 系列》复现 Ψ₀ | Psi0 | 通用人形机器人 | 移动操作模型
《VLA 系列》π0.5 | 流匹配 | 分层推理 | VLA
《VLA 系列》复现 π0.5 | 数据采集 | 模型微调 | DROID
《VLA 系列》复现 π0.5、π0-FAST、π0 | 环境搭建 | 模型推理
《VLA 系列》π0 | 流匹配 | 开山之作 | VLA
【VLA 系列】 πRL | 在线强化学习 | 流匹配 | VLA

分享完成~

相关推荐
盘古开天16662 小时前
从 DQN 到机器人导航:用深度 Q 网络让小车学会自己走路(含 PyTorch 代码)
人工智能·pytorch·机器人
出门吃三碗饭5 小时前
Robotics(26 Spring)从零配置ZEDM立体摄像机 ——使用教程 Windows
机器人·zedm·立体摄像机
笨笨饿12 小时前
29_Z变换在工程中的实际意义
c语言·开发语言·人工智能·单片机·mcu·算法·机器人
kobesdu12 小时前
综合强度信息的激光雷达去拖尾算法解析和源码实现
算法·机器人·ros·slam·激光雷达
kyle~18 小时前
Linux系统优化---PREEMPT_RT机器人开发方向
linux·运维·机器人
一颗小树x18 小时前
《VLA 系列》复现 Ψ₀ | Psi0 | 通用人形机器人 | 移动操作模型
机器人·微调训练·推理·复现·psi0
EFCY1MJ9019 小时前
OpenClaw大龙虾机器人完整安装教程
机器人
百万小涵20 小时前
第 8 章 机器人平台设计
机器人
kyle~1 天前
Open3D---FPFH 3D点云的快速点特征直方图描述符
3d·机器人·点云处理