lewislf/G1_Dex3_pick_white_cup_v2
G1 Dex3 — Pick up the white cup (v2) Dataset de teleoperação no Unitree G1 com mãos Dex3, tarefa única "Pick up the white cup". Gravado com LeRobot (codebase v3.0). Merge de duas sessões de gravação. Episódios: 97 · Frames: 21106 · FPS: 30 Robô: unitree_g1_dex3 · Task: Pick up the white cup Modalidades Feature dtype Como é armazenado Shape observation.images.head_camera video .mp4 H.264 (480, 848, 3) RGB observation.images.head_camera_depth… See the full description on the dataset page: https://huggingface.co/datasets/lewislf/G1_Dex3_pick_white_cup_v2.
G1 Dex3 — Pick up the white cup (v2)
Dataset de teleoperação no Unitree G1 com mãos Dex3, tarefa única "Pick up the white cup". Gravado com LeRobot (codebase v3.0). Merge de duas sessões de gravação.
- Episódios: 97 · Frames: 21106 · FPS: 30
- Robô:
unitree_g1_dex3· Task:Pick up the white cup
Modalidades
⚠️ A profundidade NÃO é vídeo — é PNG 16-bit nos parquets
Você vai ver só um `.mp4` no repo (o RGB). Isso é esperado. A profundidade não é salva como vídeo: ela vai como imagem PNG `uint16` de 1 canal, em milímetros, embutida nas linhas dos arquivos parquet (dtype: image, não video).
Por quê: vídeo H.264 é 8-bit e lossy. Numa cena de mesa, comprimir a profundidade em 8-bit colapsa tudo em ~8–12 níveis e destrói a precisão métrica. O formato PNG uint16 preserva a distância real em milímetros, lossless. Portanto:
- O
.mp4único = câmera RGB (head_camera). - A profundidade viaja dentro dos parquets (
head_camera_depth), 1 canal, mm. - Escala: a D435i publica z16 já em mm (
depth_scale≈ 0.001 m/unidade); no treino,z = depth_mm / 1000para voltar a metros.
Estado e ação (28 dims)
Ordem: braço esquerdo (7) → braço direito (7) → mão esquerda Dex3 (7) → mão direita Dex3 (7). As juntas das mãos seguem a convenção Dex3 (polegar 3 + indicador 2 + médio 2 por mão).
Tátil
left/right_hand_pressure (108 por mão) vêm dos sensores táteis da Dex3. Em gravações no robô real carregam leitura de pressão; no simulador saem zeradas.
Como carregar
from lerobot.datasets.lerobot_dataset import LeRobotDataset
ds = LeRobotDataset("lewislf/G1_Dex3_pick_white_cup_v2")
sample = ds[0]
# sample["observation.images.head_camera_depth"] -> tensor uint16 (1, H, W), em mm