Public-YAM-runs
收藏资源简介:
Public-YAM-runs数据集是由BluPe操作站记录的物理双臂YAM任务片段集合。每个提交添加一个片段,包含失败、中断、停止和超时的运行,并保留标签,因此并非全部是成功的演示。模型声称的完成状态未经独立验证。数据集包含原始图像/Parquet档案(默认配置)和LeRobot v2.1布局(lerobot配置),后者提供单独的相机视频文件。视频以10 FPS的H.264编码,排列为左|顶|右视图,播放遵循片段时间线,标记过期的相机帧,并显示缺失帧的间隔而非静默跳过。原始图像和时间戳保留在Parquet行中。数据字段包括:episode_id(片段标识)、frame_index(帧索引)、timestamp(自Jetson单调时钟记录开始起的时间,秒)、left_image/right_image/top_image(对应相机的JPEG图像,保留覆盖)、measured_joints(12个测量关节位置,弧度,左臂关节0-5后接右臂关节0-5)、measured_grippers(左右夹爪归一化位置,0闭合,1张开)。action_joints和action_grippers是驱动器实际发出的最新目标,单位与测量值相同,action_timestamp标识该目标的发送时间,action_valid=false表示未知命令(零占位符非动作)。各相机的时序戳、序列号和帧年龄单独保留,camera_skew_s记录相机间时间差。training_valid字段指示已知动作且所有三帧在采样时刻不超过150毫秒,用于训练过滤。task字段为任务指令(可能为null),outcome字段为站终止原因。标称采样率为10 Hz。USB相机通过软件时间对齐,而非硬件触发,时间戳为主机捕获返回时间,非传感器曝光时间。不应假设均匀间隔或完美同步。缺失样本和捕获错误在片段清单中计数,不应静默插补。记录在策略权限撤销时结束,超时泊车等后续恢复运动不包括在策略样本中。本地记录若发布失败则保留,上传器独立重试。不发布模拟片段和模型转录。所有记录姿态均为机器人关节空间状态,非标定世界位姿。相机角色映射为左=10,顶=4,右=16,未提供相机标定和图像空间任务成功。LeRobot v2.1表示中,标准文件为data/chunk-000/episode_000000.parquet和videos/chunk-000/observation.images.{left,top,right}/episode_000000.mp4,元数据在meta/目录中。状态和动作为float32向量,顺序为:左关节0-5、左夹爪、右关节0-5、右夹爪;关节单位为弧度,夹爪归一化0-1。标准播放时钟为timestamp = frame_index / 10,此举压缩了丢失的采集时间,原始流逝秒数保留在float64 source_timestamp中。frame_gap=true标记与上一行的间隔超过0.15秒的行。training_valid保留每行动作/相机的有效性,不认证连续时序。训练时需根据frame_gap和training_valid进行过滤,不应简单移除间隔行后视为连续。
The Public-YAM-runs dataset is a collection of physical bi-manual YAM task episodes recorded by the BluPe operator station. Each submission adds an episode (including failed, interrupted, stopped, and timed-out runs) with labels retained, so not all are successful demonstrations. Model-claimed completion states are not independently verified. The dataset includes raw image/Parquet archives (default configuration) and LeRobot v2.1 layout (lerobot configuration) which provides separate camera video files. Videos are H.264 encoded at 10 FPS, arranged as left|top|right views; playback follows episode timeline, marks expired camera frames, and shows gaps for missing frames instead of silent skipping. Raw images and timestamps are preserved in Parquet rows. Data fields include: episode_id (episode identifier), frame_index (frame index), timestamp (time in seconds since start of Jetson monotonic clock recording), left_image/right_image/top_image (JPEG images from corresponding cameras, with overwriting retained), measured_joints (12 measured joint positions in radians, left arm joints 0-5 followed by right arm joints 0-5), measured_grippers (normalized gripper positions for left and right, 0 closed, 1 open). action_joints and action_grippers are the latest targets actually sent by the drive, units same as measurements; action_timestamp indicates send time of that target; action_valid=false indicates unknown command (zero placeholder not an action). Camera timestamps, sequence numbers, and frame ages are stored separately; camera_skew_s records time difference between cameras. The training_valid field indicates known actions and all three frames within 150 ms at sampling time, used for training filtering. task field is task instruction (may be null), outcome field is station termination reason. Nominal sampling rate is 10 Hz. USB cameras are software-time-aligned, not hardware-triggered; timestamps are host capture return time, not sensor exposure time. Uniform spacing or perfect synchronization should not be assumed. Missing samples and capture errors are counted in episode manifest, not silently interpolated. Recording ends when policy authority is revoked; subsequent recovery motions like timeout parking are not included in policy samples. Local recordings are retained if publishing fails; uploader retries independently. Simulated episodes and model transcripts are not published. All recorded poses are robot joint-space states, not calibrated world poses. Camera role mapping: left=10, top=4, right=16; camera calibration and image-space task success are not provided. In LeRobot v2.1 representation, standard files are data/chunk-000/episode_000000.parquet and videos/chunk-000/observation.images.{left,top,right}/episode_000000.mp4, metadata in meta/ directory. State and action are float32 vectors: left joints 0-5, left gripper, right joints 0-5, right gripper; joint units are radians, gripper normalized 0-1. Standard playback clock is timestamp = frame_index / 10, which compresses missing acquisition times; original elapsed seconds are kept in float64 source_timestamp. frame_gap=true marks rows with gap > 0.15 seconds from previous row. training_valid retains per-row action/camera validity, does not certify continuous timing. During training, filtering based on frame_gap and training_valid is required; rows with gaps should not be simply removed and treated as continuous.
Public-YAM-runs 数据集总结
基本信息
- 数据集地址:https://huggingface.co/datasets/andlyu/Public-YAM-runs
- 名称:Public YAM runs
- 语言:en
- 标签:robotics、bimanual、yam、lerobot
- 内容概述:由 BluPe 操作站记录的物理双臂 YAM 回合(episodes)。每次运行向仓库添加一个回合。失败、中断、停止和超时的运行均被保留并标记,并非所有都是成功的演示。模型报告“完成”不代表经过独立验证的任务成功。
数据加载
python from datasets import load_dataset runs = load_dataset("andlyu/Public-YAM-runs", split="train") usable = runs.filter(lambda row: row["training_valid"])
- default 配置:保留原始 Image/Parquet 归档。
- lerobot 配置与
meta/目录:提供额外的 LeRobot v2.1 布局,包含独立的相机视频。 - 每次原子提交添加一个回合及其元数据。之前上传的归档文件和回放 URL 均被保留。
视频说明
videos/ep_*.mp4包含一个 10 FPS H.264 视图,排列方式为 left | top | right。- 视频播放遵循回合时间线,标记陈旧的相机帧,并显示缺失帧的间隔而非静默跳过。
- 视频仅为查看产物;原始图像和时间戳仍保留在 Parquet 行中。
- 本地运行器的 Save video 优先使用浏览器录制的回放(若可用),否则使用该回合的 MP4。Save log 下载独立的本地 ZIP,包含确切的模型请求/响应体、模型输入图像、交互事件和错误。模型日志不在此上传。
样本字段
episode_id、frame_index、timestamp:回合标识、样本索引和相对于 Jetson 单调时钟上录制开始的秒数。left_image、right_image、top_image:对应相机的 JPEG。采集时间叠加层保留在像素中。measured_joints:12 个测量的关节位置,单位为弧度,顺序为左关节 0–5 后接右关节 0–5。measured_grippers:左/右归一化位置,0 为闭合,1 为张开。action_joints、action_grippers:驱动器实际派发的最新目标,顺序/单位相同。它们不会被替换为反馈。action_timestamp标识该派发相对于录制开始的时间。action_valid=false表示没有已知命令;其零占位符不是动作。- 每个视图保留相机时间戳、序列号和帧龄;
camera_skew_s记录相机间时序差异。 training_valid:已知动作且三个帧在测量样本时间时最多 150 ms 旧。保留的无效行在训练时应被过滤。task:来自 API 交接的任务指令,若不可用则为 null。outcome:站点终止原因;session_api_stop不区分成功与运行器/操作员停止。session_timeout为超时,session_api_disconnect为通信中断。
标称采样率为 10 Hz。USB 相机为软件时间对齐,非硬件触发;时间戳为主机采集返回时间戳,而非传感器曝光时间戳。不要假设均匀间隔或完美同步。缺失样本和采集错误在回合清单中计数。不要静默将其插值为测量演示。
录制在策略权限被撤销时结束。超时停泊及其他后续恢复运动被排除在策略样本之外。若发布失败,本地录制被保留,上传器独立于机械臂控制进行重试。模拟回合和模型转录不在此发布。
来源与限制
- 所有记录的位姿均为机器人关节空间状态,非标定的世界位姿。
- 相机角色映射在此站点为 left=10、right=4、top=16;不提供相机标定和图像空间任务成功。
- 训练前请审查结果、时序有效性和数据集质量。
train分割名称不暗示仅成功过滤。
LeRobot v2.1 表示
- 规范文件:
data/chunk-000/episode_000000.parquet和videos/chunk-000/observation.images.{left,top,right}/episode_000000.mp4,路径模板、维度、计数、任务和统计信息在meta/中。 meta/blupe_source_episodes.jsonl将稳定的数字索引映射到原始回合 ID、源哈希、结果和记录器质量计数。- 状态和动作为 float32 向量,精确顺序:左关节 0–5、左夹爪、右关节 0–5、右夹爪。关节单位为弧度;夹爪归一化为 0–1。状态为测量反馈;动作为最近派发的目标。未知动作保留零占位符并设
action_valid=false。缺失的动作时间戳表示为 0,必须结合该有效性标志解释。
时序与训练有效性
- 规范播放时钟为
timestamp = frame_index / 10,每个相机视频中每个原始记录行恰好一帧。这压缩了错过的采集时间;它不是物理经过时间时钟。 原始经过秒数保留在 float64source_timestamp中。 frame_gap=true标记与前一记录行的间隔超过 0.15 秒的行。不插值或发明任何图像或关节值。使用原始时间戳和原始连接回放进行物理经过时间分析。training_valid保留记录器逐行的动作/相机有效性;它不证明连续时序。对于时间/动作块训练,应拒绝或分割跨越任何frame_gap的窗口,并拒绝无效行。简单过滤掉间隙行然后将剩余行视为相邻仍是错误的。若重采样请使用源时间戳,并保持任何合成值明确无效。- 全帧统计描述归档,包括无效动作占位符;选择训练过滤器后重新计算归一化统计。
python from datasets import load_dataset canonical = load_dataset("andlyu/Public-YAM-runs", "lerobot", split="train")
相机特征是由 meta/info.json 声明的外部 MP4,而非 Parquet 图像。
此目标为 v2.1 schema 及兼容查看器,而非更新的 v3 writer。Jetson 发布器不需要 LeRobot 包或 Torch。




