数据准备
使用已采集的 Roban 全身任务 rosbag,在 LeTools-Learning 主环境中转换为 LeRobot v3 数据集。采集数据需包含头部图像及全身状态、动作,不能用遥操录制的离线轨迹 CSV 代替。
以下命令在 LeTools-Learning 仓库根目录执行,路径、任务描述和相机话题按实际数据修改。
配置
编辑 configs/data/RobanRosbag2Lerobot.yaml:
rosbag:
mode: normal
rosbag_dir: /path/to/roban_rosbags
target_dir: /path/to/roban_output # 最终数据集在 target_dir/lerobot
parallel: false
parallel_workers: 4
dataset:
platform_type: roban
task_description: "robot manipulation"
train_hz: 50
main_timeline: head_cam_h
main_timeline_fps: 60
sample_drop: 10
resize:
width: 640
height: 480
topics:
camera: /cam_h/color/image_raw/compressed
关键约定:
| 字段 | 要求 |
|---|---|
platform_type | 必须是 roban |
train_hz | 建议保持 50,与机器人动作控制频率对齐 |
主相机 fps 与训练频率不整除时
转换脚本会按时间戳重采样。
运行
python kuavo_data/roban_data/CvtRosbag2Lerobot.py
产出校验
转换后的 LeRobot v3 数据集应包含:
observation.state float32[23]
action float32[32]
observation.images.head_cam_h image/video
训练前核对维度、时间对齐和头部图像是否正确;不匹配时先修正数据,不继续训练。上面的 /cam_h/color/image_raw/compressed 是 rosbag 转换示例话题,推理时的实时相机话题需单独配置,不要直接混用。
完整参数说明见 LETools 全身 VLA 教程。