news 2026/10/18 15:25:28

BONES-SEED × Unitree G1:MuJoCo兼容CSV轨迹如何在仿真中回放人形机器人动作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BONES-SEED × Unitree G1:MuJoCo兼容CSV轨迹如何在仿真中回放人形机器人动作
  • 数据集
  • 机器人
  • 具身智能

【免费下载链接】seed

项目地址:https://ai.gitcode.com/hf_mirrors/bones-studio/seed
点击查看免费下载

BONES-SEED(Skeletal Everyday Embodiment Dataset)是面向人形机器人的开源人类动作数据集,收录 142,220 条带标注动作捕捉序列(约 288 小时)。其中Unitree G1 MuJoCo 兼容 CSV 关节轨迹可直接加载进 MuJoCo 仿真,在 G1 机器人模型上回放人类动作,是 Sim-to-real 迁移与全身控制(whole-body control)研究的关键数据源。

先认识 BONES-SEED:一套完整的人形机器人动作数据

数据集由 522 位演员(17–71 岁)贡献,覆盖行走、慢跑、舞蹈、手势、物体交互等 8 大类别、20 个细分类别,每条动作附带最多 6 条自然语言描述、时间分段标签与骨骼元数据。

指标数值
动作总量142,220 条(71,132 原始 + 71,088 镜像)
总时长~288 小时(@ 120 fps)
内容覆盖Locomotion / Communication / Interactions / Dances / Gaming / Everyday / Sport / Other
标注深度自然语言描述 + 时间分段 + 技术描述 + 骨骼元数据

每条动作提供三种骨骼表示,其中 G1 CSV 正是仿真回放的入口:

格式说明文件位置
SOMA Uniform(BVH)标准化统一骨架,便于批量对比soma_uniform/bvh/
SOMA Proportional(BVH)保留每位演员真实身体比例soma_proportional/bvh/
Unitree G1(CSV)重定向到 G1 的关节角轨迹,MuJoCo 兼容g1/csv/

快速开始:三步克隆数据集

git lfs install git clone https://gitcode.com/hf_mirrors/bones-studio/seed cd seed tar -xzf g1.tar.gz

G1 动作数据以 g1.tar.gz 归档分发,解压后即得到g1/csv/{date}/{motion_name}.csv目录结构;BVH 格式的soma_uniform.tar.gz、soma_proportional.tar.gz同理按需解压即可。

看懂 CSV 轨迹:一条 G1 动作文件里有什么

每个 CSV 文件按g1/csv/{date}/{motion_name}.csv规则组织,一行对应一帧(采样率 120 fps),列内容是该帧下各关节的角度值(若含根节点列则为位置/朝向 + 关节角),列名与 G1 的 MuJoCo 模型关节一一对应。

文件与元数据的关联靠 metadata/seed_metadata_v004.csv(51 列 × 142,220 行,亦有 seed_metadata_v004.parquet):move_g1_mujoco_path列直接指向对应 CSV,move_duration_frames列给出总帧数。

import pandas as pd meta = pd.read_csv("metadata/seed_metadata_v004.csv") row = meta[meta["package"] == "Locomotion"].iloc[0] traj = pd.read_csv(row["move_g1_mujoco_path"]) print(traj.shape, row["move_duration_frames"]) # 行数应与总帧数一致 print(traj.columns.tolist()) # 与你的 G1 MuJoCo XML 关节名比对

💡 先打印表头核对列顺序,再决定写入qpos的映射方式,是避免回放"乱舞"的第一步。

在 MuJoCo 中回放 G1 动作的三步

  1. 加载 G1 的 MuJoCo 模型(XML),初始化MjData
  2. 逐帧写入关节角:把 CSV 每行的角度填进qpos对应分量
  3. 按 1/120 秒节奏渲染,即得到流畅回放
import mujoco import pandas as pd model = mujoco.MjModel.from_xml_path("g1.xml") # G1 的 MuJoCo 模型 data = mujoco.MjData(model) traj = pd.read_csv("g1/csv/240301/some_motion__A123.csv") for i in range(len(traj)): angles = traj.iloc[i].to_numpy() data.qpos[1 : 1 + len(angles)] = angles # qpos[0] 通常留给根节点位置 mujoco.mj_forward(model, data) # renderer.render() # 每帧渲染,帧间隔 1/120 s

若 CSV 前几列是根节点位置/朝向,将其写入qpos[:7](位置 + 四元数),关节角从其后开始;具体以文件表头和你使用的模型为准。

让回放更顺畅的实用技巧

  • 时长换算:动作时长 =move_duration_frames ÷ 120秒,渲染循环按此对齐时间轴
  • 镜像数据:元数据中is_mirror标记左右镜像动作,可用于对称场景增广
  • 时间分段回放:metadata/seed_metadata_v002_temporal_labels.jsonl 提供每条动作的分段起止时间与文字描述,可按需截取"开门""转身"等指定阶段单独回放
  • 按内容筛选:用package/category/content_type_of_movement列过滤,例如只取 Locomotion 包中 74,488 条行走/慢跑序列做步态回放
  • 骨架参照调试:若需在 BVH/USD 格式间核对骨骼结构,基础骨架定义见 soma_base_skel_minimal.bvh 与 soma_base_skel_minimal.usd;统一骨架形状参数为 soma_base_fit_mhr_params.npz

从回放到 Sim-to-real:下一步能做什么

在 MuJoCo 中稳定回放只是起点。借助 G1 兼容轨迹 + 多模态文本标注,BONES-SEED 可直接支撑:

  • 全身控制:以语言描述为条件训练 G1 的 policy,把回放轨迹作为行为先验
  • 模仿学习:以 CSV 轨迹为演示数据,学习行走、舞蹈、物体交互等技能
  • 动作检索与生成:利用自然语言描述做检索,用时间标签做分段级动作合成

📌 使用数据前请阅读 LICENSE.md(bones-seed-license),了解授权范围与使用要求。更多字段定义与下载方式详见 README.md。

  • 数据集
  • 机器人
  • 具身智能

【免费下载链接】seed

项目地址:https://ai.gitcode.com/hf_mirrors/bones-studio/seed
点击查看免费下载

相关推荐

上一篇:dht11-sensor积木使用手册:如何用1个积木读取实时温湿度?8个引脚选择指南一次讲清
下一篇:如何5分钟上手Elsevier-Tracker:Elsevier论文投稿追踪插件完整安装教程

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/18 15:23:53

3D医学影像分类实战:不跑3D CNN,用特征工程+LightGBM也能出结果

简介:这是一份面向机器学习课程大作业、期末项目与毕业设计的3D医学影像分类实现,适合计算机、电子信息、数学等专业学生快速上手。资源包含完整的Python源代码与说明文档,覆盖数据预处理、模型训练、评估与提交等环节,能够帮助读…

作者头像 李华
网站建设 2026/10/18 15:23:09

企业审批小程序全解析:从状态机设计到避坑实战

简介:一份面向企业、机关单位的微信小程序办公审批源码,覆盖请假、报销、外出、合同、采购、入职等常见审批场景,实现了从提交申请、审批流转到微信消息提醒的完整闭环。系统内置管理员、员工、审批人员三种角色权限,便于按照组织…

作者头像 李华
网站建设 2026/10/18 15:22:28

高并发场景下HTTP服务框架怎么选?压测数据与并发模型对比实践

多年以前我在某技术团队做高并发系统重构,当时面临一个绕不开的问题:HTTP服务框架到底选哪个。团队里争论很久,最后大家决定不看文档吹嘘,不看社区热度,直接用压测数据说话。那段时间我们把线程模型框架、异步事件模型…

作者头像 李华
网站建设 2026/10/18 15:22:23

MATLAB实现A计权与1/3倍频程声压级分析:从原理到工程实践

简介:这份MATLAB脚本面向声学测试、环境噪声监测与工业设备噪声评估方向的工程师及研究人员,用于对时域噪声信号执行标准A计权处理并完成1/3倍频程频谱划分与声压级计算。脚本内置ISO 266与IEC 61672推荐的A计权滤波器系数,支持自定义采样率与…

作者头像 李华
网站建设 2026/10/18 15:21:56

Lambda架构性能测试实战:三层链路拆解与端到端压测指南

做Lambda架构的性能测试,我吃过不少亏。最早接手一个实时数据平台,批处理链路的Spark任务跑得飞快,速度层的Flink作业指标也漂亮,结果一到月底流量翻倍,查询服务直接超时,HBase的RegionServer CPU打到99%。…

作者头像 李华
网站建设 2026/10/18 15:21:16

OpenHarmony上的Flutter幸运大转盘:本地统计模块的设计与实践

这个系列写到第十篇的时候,幸运大转盘的基础功能其实已经跑通了。界面、动画、抽奖逻辑、音效反馈,该亮的都亮了,该转的也能转了。但站在产品角度,它还活得比较“虚无”——用户抽了多少次?中奖率是不是符合预设&#…

作者头像 李华