【免费下载链接】video_to_data_challenge
V2D Challenge(Video to Data Challenge)是 NVIDIA 推出的机器人操作基准数据集,内置39 个带纹理的 GLB 3D 网格与10 个 URDF 刚体描述文件,可直接用于搭建机器人操作仿真场景。本文面向新手,带你从零理解这些仿真资产的目录结构、坐标约定,以及在 MuJoCo、Isaac Sim 等引擎中的加载方式。
📦 资产总览:两条赛道、39 个物体
V2D Challenge 按"赛道(Track)"组织数据。其中与 3D 资产直接相关的是Track 2(Robotic Grounding)和Track 3(Egocentric),两者共享 LeRobot v2.1 数据集格式:
| 赛道 | 物体数量 | 网格格式 | 附加资产 |
|---|---|---|---|
| Track 2(两个 Tier 各一套) | 29 个 | GLB 纹理网格 | 地面平面 JSON + 支持面 USD |
| Track 3 | 10 个 | GLB 纹理网格 | URDF 刚体描述 |
💡 Track 2 的
tier_1_multiview_caption与tier_2_synthetic_noise两个子目录各自包含完整的一套mesh/,物体完全相同,只是轨迹噪声级别不同。搭建仿真资产库时只需选一套即可。
所有资产均在 CC BY-4.0 许可证下开放,可自由用于商业和非商业项目。
🔍 Track 2:29 个物体的 GLB 纹理网格
文件位置与命名规则
Track 2 的物体网格位于 track_2/tier_1_multiview_caption/mesh/(Tier 2 路径将tier_1_multiview_caption替换为tier_2_synthetic_noise),目录结构非常规整:
mesh/ ├── baseball_bat/baseball_bat.glb ├── blue_trash_can/blue_trash_can.glb ├── tall_bar_stool/tall_bar_stool.glb ├── ...(共 29 个文件夹)核心规则:文件夹名 = 物体名 = 网格文件名。例如tall_bar_stool对应mesh/tall_bar_stool/tall_bar_stool.glb。
这个规则在 track_2/tier_1_multiview_caption/meta/info.json 中以模板形式声明:
"mesh_path": "mesh/{object_name}/{object_name}.glb"每个物体还附带一句自然语言描述(prompt),方便你用 VLM 或检索系统做物体识别。完整的 29 个物体清单可在 track_2/tier_2_synthetic_noise/mesh/ 中逐一查看,涵盖棒球棒、咖啡杯、滑板、熨斗、垃圾桶等日常物品。
地面平面与支持面
Track 2 为每个 episode 额外提供了两类场景几何,可直接导入仿真器构建环境:
| 文件 | 格式 | 说明 |
|---|---|---|
ground_plane/{sequence_id}.json | JSON | 地面平面方程ax+by+cz+d=0,OpenCV 世界坐标系 |
support_surface/{sequence_id}_support.usda | USD | 支撑面(圆柱/箱体),g1_retarget_world坐标系,单位:米 |
例如 2026-03-12_15-06-36_spray_bottle_left_desk_ground_02.json 记录了喷壶放置桌面场景的地面参数,对应的 support.usda 则定义了桌面支撑圆柱体。
每个 episode 具体使用哪个ground_plane和support_surface,记录在 track_2/tier_1_multiview_caption/meta/episodes_metadata.jsonl 中,每行包含ground_plane、support_surface、mesh三个路径字段。
🔧 Track 3:10 个物体 + URDF 刚体描述
网格与 URDF 一一对应
Track 3 是完整度最高的仿真资产包,位于 track_3/public/,每个物体同时提供 GLB 网格和 URDF 描述:
| 物体 | 网格 | URDF |
|---|---|---|
| 白色锅 | mesh/white_pot/white_pot.glb | urdf/white_pot_rigid.urdf |
| 锅盖子 | mesh/white_pot_lid/white_pot_lid.glb | urdf/white_pot_lid_rigid.urdf |
| 米色杯 | mesh/beige_cup/beige_cup.glb | urdf/beige_cup_rigid.urdf |
| 蓝色杯 | mesh/blue_cup/blue_cup.glb | urdf/blue_cup_rigid.urdf |
| 小扫帚 | mesh/mini_sweeper/mini_sweeper_{visual,collision}.glb | urdf/mini_sweeper_rigid.urdf |
| 小簸箕 | mesh/mini_dust_pan/mini_dust_pan.glb | urdf/mini_dust_pan_rigid.urdf |
| 塑料碗架 | mesh/plastic_dish_rack/plastic_dish_rack.glb | urdf/plastic_dish_rack_rigid.urdf |
| 水壶 | mesh/water_pitcher/water_pitcher.glb | urdf/water_pitcher_rigid.urdf |
| 木块 1 / 木块 2 | mesh/wooden_piece_{1,2}/...glb | urdf/wooden_piece_1_rigid.urdf / urdf/wooden_piece_2_rigid.urdf |
⚠️ 注意:
mini_sweeper、wooden_piece_1、wooden_piece_2这三个物体分别提供了视觉网格(*_visual.glb,高精度渲染用)和碰撞网格(*_collision.glb,简化版物理交互用),其余 7 个物体视觉与碰撞共用同一个 GLB。
URDF 内部结构速读
以 track_3/public/urdf/beige_cup_rigid.urdf 为例,一个完整的 URDF 包含以下关键节点:
<robot>:机器人名称,如track3_beige_cup<mujoco>:MuJoCo 编译器配置(balanceinertia="true"自动平衡惯性、discardvisual="false"保留视觉网格)<link>:单个刚体链接,内含<inertial>:质心偏移 + 质量(默认 0.3 kg 占位值)+ 惯性张量(由碰撞网格三角面均匀估计)<visual>:引用../mesh/{name}/{name}.glb用于渲染<collision>:引用碰撞网格用于物理求解
所有网格路径都是相对于 URDF 文件位置的相对路径(../mesh/...),因此把mesh/和urdf/目录整体移动时引用不会断。
💡 URDF 文件头部的注释明确说明:Track 3 不提供实测物理属性,0.3 kg 是占位质量,惯性参数是碰撞网格的均匀三角面估计。若你的仿真对动力学精度敏感,建议替换为实测值。
📐 坐标约定:放对位置的关键
仿真中最常见的坑是"网格放错了位置"。V2D Challenge 的坐标约定如下:
Track 3(track_3/README.md):
pose格式:[x, y, z, qw, qx, qy, qz],平移单位米,四元数w 在前- 姿态是
world_T_object,即以扫描网格自身坐标系为参考系——把网格放到记录的 pose 上,它就和真实物体在视频中的位置一致 - x、y 按每个 episode 的可见物体均值居中;z 不居中,保持物理高度(桌面静置约 0.61 m)
visible为false时 pose 全零,使用前务必先按visible过滤
Track 2:
- 地面平面
ax+by+cz+d=0定义在源 OpenCV 世界坐标系下 - 支撑面 USD 使用
g1_retarget_world坐标系,单位为米 - 网格路径模板
mesh/{object_name}/{object_name}.glb
🚀 快速上手:在仿真器中加载资产
方案一:MuJoCo(推荐 Track 3 资产)
Track 3 的 URDF 原生支持 MuJoCo(已内置<mujoco>配置块)。只需:
- 将 track_3/public/mesh/ 和 track_3/public/urdf/ 目录拷贝到你的工作区
- 在
.xml模型中通过<include>引入 URDF:<include file="white_pot_rigid.urdf"/> - 用 parquet 中记录的 pose(世界 → 物体)设置初始位姿即可
方案二:Isaac Sim / Isaac Gym(推荐 Track 2 资产)
Track 2 的支撑面 USD 文件可直接导入 Isaac Sim。典型流程:
- 加载
support_surface/*.usda搭建桌面、地面等支撑环境 - 从
ground_plane/*.json读取平面参数,放置地面 - 用
mesh/{name}/{name}.glb作为物体外观,结合 parquet 中的轨迹数据设置运动
方案三:Blender / Unity / Unreal(通用 GLB 加载)
所有 GLB 文件均为标准 glTF 2.0 二进制格式,可直接被主流 3D 引擎导入:
- Blender:
File → Import → glTF 2.0 - Unity:直接拖入
Assets目录 - Unreal:
File → Import选择 GLB
导入后即可作为静态道具或动态刚体参与场景搭建。
📝 常见问题与注意事项
| 问题 | 解答 |
|---|---|
| GLB 文件打不开 / 内容异常? | 仓库使用 Git LFS 存储大文件,需先git lfs pull拉取真实文件 |
| 物体 name 和网格路径怎么对应? | Track 3:name就是文件夹名,如white_pot→mesh/white_pot/white_pot.glb;Track 2 同理,路径模板见info.json的mesh_path |
| Track 2 两个 Tier 的 mesh 有何区别? | 完全相同,只是所属 Tier 目录不同。选一套即可 |
| URDF 里的 0.3 kg 能用吗? | 作为快速原型可以;追求动力学精度请替换实测质量与惯性 |
| 数据在哪个坐标系? | Track 3 是扫描网格自身坐标系(world_T_object);Track 2 支撑面是g1_retarget_world,地面平面是 OpenCV 世界系 |
| 想查看某 episode 跟踪了哪些物体? | Track 3 的 parquet schema metadata 中objects字段列出了该 episode 的物体名列表 |
📂 关键路径速查
| 资产 | 相对路径 |
|---|---|
| Track 2 网格(29 个) | track_2/tier_1_multiview_caption/mesh/ |
| Track 2 地面平面 | track_2/tier_1_multiview_caption/ground_plane/ |
| Track 2 支撑面 USD | track_2/tier_1_multiview_caption/support_surface/ |
| Track 3 网格(10 个) | track_3/public/mesh/ |
| Track 3 URDF(10 个) | track_3/public/urdf/ |
| Track 3 相机标定 | track_3/public/meta/camera_calibration.json |
| Track 3 数据集说明 | track_3/README.md |
| 总 README | README.md |
掌握以上结构和约定后,你就可以将 V2D Challenge 的 39 个纹理网格与 URDF 资产灵活组合,搭建出覆盖桌面操作、厨房场景、户外道具等多种场景的机器人仿真资产库,直接服务于策略训练与可视化回放。
【免费下载链接】video_to_data_challenge
相关推荐
如何15分钟完成专业黑苹果配置:终极自动化工具完整指南
如何15分钟完成专业黑苹果配置:终极自动化工具完整指南 还在为黑苹果配置的复杂技术门槛而烦恼吗?OpCore Simplify是一款革命性的 黑苹果配置工具 ,
开发工具CLI如何使用SolidWorks to URDF Exporter:从3D模型到机器人仿真的完整指南
如何使用SolidWorks to URDF Exporter:从3D模型到机器人仿真的完整指南 SolidWorks to URDF Exporter是一款强
机器人ROS开发工具Cuisine vs Fabric vs Salt:三大自动化工具深度对比分析
Cuisine vs Fabric vs Salt:三大自动化工具深度对比分析 在现代DevOps和系统管理领域,自动化工具扮演着至关重要的角色。Cuisine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考