前阵子帮校内一个机器人实验室做技术选型,发现一个很有意思的现象:谈到具身智能数据采集,大家的默认方案几乎都是“雇人写一套上位机,把机械臂、相机、力传感器全接起来”。听起来没什么问题,但真按这条路走,往往半年过去还是在反复调试驱动,有效数据却没攒下多少。高校科研机构想快速进入具身智能领域,最缺的往往不是算法模型,而是高质量的动作-视觉数据。与其重复造轮子,不如站在开源巨人的肩膀上。这篇内容我就把目前高校圈里真正能落地的开源数据采集平台梳理一遍,结合实际搭建经验,给出可以直接参考的选型建议。
1. 高校做具身智能数据集,为什么绕不开自建采集链路
1.1 数据采集是具身智能落地的“上游卡口”
具身智能近两年的主线很清晰:VLA(视觉-语言-动作)模型、模仿学习、强化学习,哪一个方向都绕不开数据。VLA想要泛化,需要覆盖海量物体、场景、动作;模仿学习想要学到连贯技能,需要成百上千条高质量演示;强化学习虽然可以在仿真里跑,但最终策略还是要在真实数据上验证。可以说,策略模型的上限基本由数据集覆盖度和质量决定,而不是单纯由网络结构决定。
但一个很多人容易忽略的事实是:机器人数据和互联网文本数据不一样。文本数据可以大规模爬取,机器人数据永远只能一台机器人一次一次地采。一次演示几秒钟,但前置准备可能要几分钟甚至十几分钟。如果课题组没有一个稳定可靠的数据采集平台,后续所有的策略训练、算法验证、论文对比实验,都会被卡在“数据不够”“数据格式不统一”这一关。所以,具身智能领域的数据采集不是可有可无的边角活,而是真正影响科研产出的上游卡口。
1.2 自建 vs 采购商业平台:高校的三个现实约束
我见过不少高校实验室在采购全封闭商业数据采集系统后后悔的情况,核心问题多数不是功能不够,而是适配性太差。商业平台通常解决了“采集”这一个动作,但无法满足高校科研的三个现实约束。
第一是预算约束。商业具身智能数据采集方案动辄几十万,而且后续升级、维护、场景定制都要额外费用。一个普通课题组一年的设备预算可能就这么多,全部砸进采集平台,留给机械臂和传感器的钱就没了。
第二是人员流动约束。高校实验室的学生两年三年就毕业,代码要能快速交接、快速上手。开源平台最大的优势是社区文档和教程丰富,新人来了看README就能跑通,不会出现“代码只写在一个人脑子里”的情况。而商业平台往往像一个黑盒,出了问题只能等厂商,学生体验很糟糕。
第三是科研可审计性约束。论文审稿人越来越关注数据处理细节,开源平台让数据格式、传感器标定、动作采样方式完全透明,这对复现和发表论文极其重要。
一句话总结:开源平台对高校不是“将就”,而是综合性价比最高的选择。
1.3 开源平台覆盖的三条技术路线:遥操作、仿真合成、多模态信号
现在开源社区里能用的数据采集方案,大致可以分成三条路线。
第一条是真实机器人遥操作路线。研究人员通过主手、手柄、动捕设备等控制机械臂,机械臂“复现”动作,同时同步记录关节角度、图像等状态数据。这条路线采集的数据最贴近真实物理世界,动作质量高,适合精细操作研究,但硬件成本相对高、采集效率有上限。
第二条是仿真数据合成路线。在MuJoCo、Isaac Sim等物理引擎里让机器人自动生成大规模演示数据。它的优点是可以批量产出数据、自动标注、零硬件磨损,缺点是和真实世界存在“域差”,训练出来的策略不一定能直接上真机。
第三条是多模态感知信号采集路线。在视觉之外加入六维力/力矩、触觉、深度、点云等信号。视觉数据解决“看到什么”,力觉和触觉数据解决“手感如何”,后者在精密装配、柔顺控制类任务中几乎是刚需。
这三条路线不是互斥的,一个成熟的数据团队通常会交叉使用:仿真数据用来做预训练和扩量,真实遥操作数据用来做微调和最终验证,多模态信号用来提升策略的鲁棒性。下面第二章我逐个盘一盘当前主流平台。
2. 主流开源数据采集平台盘点:ALOHA、LeRobot、UMI、MimicGen与它们的取舍
2.1 真机遥操作路线:ALOHA 2 与 LeRobot
ALOHA 2目前是高校精细操作方向绕不开的标杆。它由斯坦福和Google DeepMind团队开源,核心思路是“主从遥操作”:操作者握住两只更小的主臂做演示,从臂复现动作,同时用ZED系列深度相机采集RGB-D图像,记录关节角度、夹爪状态。整套系统在设计上做得很扎实,硬件图纸、装配说明、校准流程全部公开,配套ACT(Action Chunking with Transformers)等算法也是开源的。目前学术界做叠衣服、倒水、穿针这类精细桌面任务复现,基本都优先参考ALOHA 2。
它的优点是动作保真度高、双臂协调性好、配套算法成熟;缺点也比较明显:硬件成本不低,一套完整主从双臂加相机和机架,按不同配置从几万到二十几万人民币都有可能,而且装配调试需要一定动手能力,不是开箱即用。
相比之下,Hugging Face的LeRobot走的是“把机器人学习门槛拉到极低”的路线。LeRobot是一个软件框架,支持SO-ARM100这类低成本开源机械臂,也支持ARX、Koch等商业臂。采集方式非常灵活,可以用Xbox手柄、SpaceMouse甚至键盘控制机械臂做演示,动作数据和视频会被统一保存,并且自带数据集浏览器、策略训练器和评估工具。
我实际体验下来,LeRobot最值得肯定的地方是把“采集-训练-评估”闭环做成了一条命令的事。本科生拿到套件,花一个下午基本能跑通第一次数据采集。对高校来说,LeRobot非常适合做课程实验、新方向试水和毕设入门。它的问题则是面向低自由度、桌面级任务为主,太复杂的操作还撑不起来。
2.2 低成本手持采集路线:UMI 的价值在于“夹爪视角”
如果预算非常紧张,或者团队还在验证某个算法思路,我强烈建议研究一下UMI(Universal Manipulation Interface)。UMI的思路很聪明:不需要买机械臂,把GoPro相机装在一个3D打印的握持器上,人直接用手拿着它在真实桌面场景里演示操作,同时通过画面里的AprilTag标记推算末端位姿,夹爪的开合状态也同步记录。
这个方案有两点特别适合高校科研。第一是成本极低,硬件主要由3D打印件、GoPro和一包标记纸组成,比任何机械臂方案都便宜。第二是数据天然自带“夹爪视角”,也就是相机固定在末端执行器附近,看到的画面和机械臂实际部署后的视角高度一致。这种视角上的配准,能明显降低“采集时看到的样子”和“部署时看到的样子”之间的差异,策略迁移性会更好。
UMI也有需要注意的地方:标定板摆放、光照变化、手持过程中的轻微抖动,都会影响位姿估算精度。如果后续要做与力控相关的精密操作,UMI就不太合适了,它更适合用于抓取、推动、简单的物体重排列这类任务。
2.3 仿真数据合成路线:MimicGen、Isaac Lab、GR00T 怎么选
真机采集最大的瓶颈是效率和规模。一条任务演示几秒钟,但布景、重置物体位置、等待机械臂复位可能就要几分钟。如果目标是把数据量从几百条撑到几万条,仿真合成几乎是必经之路。
MimicGen是目前高校团队用起来比较顺手的一个开源工具。它可以用少量人类演示作为种子,在模拟环境中自动组合出大量新的演示,自动完成物体位置扰动、视角变化等数据增强。这对于做模仿学习、需要大规模数据喂给Transformer类模型的团队来说,价值非常高。
Isaac Lab是NVIDIA基于Omniverse Isaac Sim搭建的模块化机器人学习框架,功能更重,支持场景构建、强化学习环境、模仿学习数据生成、真机部署对接等。如果你的课题偏向RL,或者组里有比较充足的GPU资源,Isaac Lab是一个能长期投入的方向。
GR00T则是面向人形机器人推出的开源生态,里面包含了遥操作数据采集工具、MimicGen风格的仿真数据生成工具、场景自动生成工具,以及GR00T-N1基础模型。做人形、双足方向的组可以重点关注,但它的上手成本明显高于前两个,依赖的显卡性能和系统配置也更苛刻。
这里给一个建议:仿真数据管线不是装个软件就完事,最终大概率要处理sim-to-real迁移问题。所以不要抱着“仿真数据够多,我就再也不用碰真机”的念头,仿真做预训练、真机做微调,才是目前性价比最高的组合。
2.4 一句话横评表:投入成本、精度、难易度、适配方向
为了方便选型,我把上面提到的几条路线集中放到一张表里,按高校常见需求做了划分。
| 平台 | 采集方式 | 参考成本 | 上手难度 | 最适合场景 |
|---|---|---|---|---|
| ALOHA 2 | 双臂主从遥操作 | 中高(数万至二十余万) | 中,需装配校准 | 桌面精细操作、ACT等方法复现 |
| LeRobot | 单臂/双臂 + 手柄等输入 | 极低至低(几千至数万) | 低 | 教学演示、入门实验、低成本闭环 |
| UMI | 手持采集器 + GoPro | 极低 | 低 | 低成本视觉数据预研、抓取与重排 |
| MimicGen | 仿真自动扩样 | 无硬件,但需GPU | 中 | 从少量演示扩到大规模训练集 |
| Isaac Lab | 仿真RL/IL | 无硬件,但需较高GPU | 中高 | 强化学习、场景化数据生成 |
| GR00T生态 | 仿真 + 遥操作聚合 | 硬件按需,GPU要求高 | 高 | 人形机器人、灵巧操作、基础模型微调 |
3. 按课题组条件对号入座:不同预算与方向的推荐组合
3.1 刚入门、预算5万以内:LeRobot 或 UMI 是最稳的开局
如果一个组之前主要做纯视觉、纯算法,没有任何机器人硬件基础,我一般建议从LeRobot入手。选择SO-ARM100这类低成本开源臂,再配一台入门级RGB-D相机(比如RealSense D435),总硬件成本可以控制在几千到一两万。软件层面,LeRobot的教程非常友好,创建虚拟环境、安装依赖、启动遥操作工具,每一步都是命令级文档,本科生也能撑起来。第一周装环境,第二周基本就能采到第一批数据。
如果连机械臂这个硬件都不想碰,只想先验证算法,那UMI是更轻量的切入点。花几百块做一套手持采集器,先攒一批桌面操作的视觉演示数据,跑通视觉模仿学习基线,等逻辑验证完再上机械臂也不迟。很多课题组容易“起步即重型化”,上来就买高配双臂,结果两年过去了数据管线和代码仓库还没稳定。先用LeRobot或UMI跑通最小闭环,是最稳妥的开局方式。
3.2 已成体系、专注精细操作:ALOHA 2 + ACT 是最稳妥复现方向
如果课题组已经有了机械臂使用经验,设备预算也能到十万级别,ALOHA 2加ACT这条组合是目前论文复现价值最高的路线之一。ALOHA 2的文档完整、社区案例多,从机械臂装配到相机标定再到数据格式,都有非常具体的技术说明。ACT算法本身的效果在精细操作领域已经经过了大量验证,哪怕你后续不打算研究ACT,它也可以作为所有对比实验的稳定基线。
实操上有两个小建议。第一,如果预算有限,主臂和从臂不必完全复刻原版,可以有一部分国产替代件,但关节电机和减速器的选型要谨慎,它直接关系到遥操作时的手感和动作保真度。第二,一定要按官方流程做校准,特别是夹爪和视觉系统的相对位置标定,很多复现失败最终都是因为标定没做扎实,数据看着正常,训练出来的策略却完全不可用。
3.3 想批量产出数据、没有整机产线:仿真管线优先
有的课题组算法底盘很好,但没条件养一大批真机设备,这种时候仿真数据管线就是主赛道。我最推荐的组合是:人工采集少量种子演示,喂给MimicGen做扩样;再用Isaac Lab搭建标准化评估环境;最后用一小批真实演示做真机微调。这个组合既能解决数量问题,又能在一定程度上缓解域差。
要提醒的是,仿真数据管线非常吃版控和实验管理。同一套MimicGen配置在不同版本的Isaac Lab下生成的数据可能差异很大,建议在项目一开始就锁定依赖版本,并且给每个批次的数据集打上完整的生成参数标签。否则三个月后回看数据,你都不知道手里这批数据是在什么光照、什么摩擦系数、什么相机噪声下生成的。
3.4 灵巧手与人形方向:DexCap/动捕手套 + 六维力/触觉传感器的接入
灵巧手和人形方向的数据采集比普通机械臂复杂得多。灵巧手关注的已经不只有末端位置,还有手指各个关节的独立运动。像斯坦福开源的DexCap这类方案,采用动捕手套配合多视角相机,把手指级操作数据记录下来,再映射到灵巧手上。这类方案的硬件门槛较高,动捕手套、动作捕捉系统、多相机同步都是支出大头,但研究价值也很高,是精细操作方向一个明显的增量空间。
至于力觉和触觉,六维力/力矩传感器是精密装配、打磨、柔顺控制任务里不可或缺的感知源,一般通过EtherCAT或模拟量接口接入采集框架,和相机、关节角一起写入数据包。触觉传感器方面,GelSight系列的视触觉传感器是开源设计的,能采集接触表面的纹理和形变信息,适合做抓取稳定性、物体识别相关研究。这些传感器目前没有一个“全家桶”式的开源平台可以直接套用,需要团队自己具备一定的系统集成能力。
3.5 国产开源硬件的补充价值与下载渠道
最后提一下国产开源硬件生态。像幻尔这类国产开源机械臂,价格友好、社区活跃,很多型号直接支持ROS和Python控制接口,非常适合学生上手。如果学校机器不多,买一套国产臂搭配LeRobot或自研采集脚本,做一个课程级的数据采集实验完全够用。
从GitHub找项目时,我习惯重点关注三个维度:star数量(有一定参考价值但别迷信)、issue活跃度(比star更能反映项目是否在维护)、许可证类型(直接决定商业化和论文复现的边界)。国内访问GitHub如果遇到困难,可以借助清华大学开源软件镜像站等渠道获取部分项目资源;如果要基于已有项目做二次开发并发布,Gitee也是一个不错的选择,发布前记得先想清楚许可证。
4. 从零搭一套真实可跑的采集环境:实操细节和经验
4.1 最小可用架构与“一条采集循环”的建立
一个最简单的真机数据采集系统,至少需要四层:感知层、执行层、中间件层、记录层。
感知层负责采集视觉、力觉、触觉等外部状态;执行层包括机械臂本体和夹爪,负责按控制指令运动;中间件层通常使用ROS 2或者厂商SDK,负责把传感器和执行器的数据汇聚到同一台工控机上;记录层则把每一次采样周期的状态和动作打包存入磁盘,常见格式有HDF5、JSON序列、parquet加视频文件。下面是一段示意性的采集循环伪代码:
while recording: obs = { "timestamp": get_time(), "rgb": camera.read_frame(), "depth": camera.read_depth(), "joint_pos": arm.get_joint_positions(), "gripper": arm.get_gripper_state(), "force": sensor.get_force_torque(), } action = teleop.get_action() # 来自主手/手柄等遥操作端 episode.append({"obs": obs, "action": action}) arm.execute(action)这里最关键的设计并不是某一行代码,而是“闭环”的结构:状态读取要放在动作执行之前,保证训练时输入输出对是严格对应的。很多自己写采集程序翻车的例子,都是因为先执行了动作再读状态,导致策略在部署时出现一拍延迟,模型表现骤然下降。
4.2 用 LeRobot 跑通一次真实采集:五步走完演示-采集-训练闭环
对整个流程还不熟的朋友,建议先按LeRobot的思路把最小闭环跑通。大致五步:
- 准备一套支持LeRobot的机械臂,接好电源和串口,确认系统能看到设备。
- 创建Python虚拟环境,安装LeRobot依赖。
- 连接手柄或键盘映射的遥操作工具,启动遥操作模式。
- 录制多条演示数据,保存到本地目录。
- 用内置可视化工具检查数据,然后训练一个小型ACT策略,评估效果。
这里面有几个容易踩的小坑。一是机械臂供电不足,很多低成本臂在负载稍高时会出现关节抖动,直接影响数据质量,尽量使用额定电流足够的电源。二是录制前一定要把机械臂恢复到默认姿态,并且固定好场景里的物体初始位置,否则连续几个episode之间物体位置差异太大,模型会无所适从。三是录制时不要穿反光衣物,也不要在相机视野里出现额外杂物,这些都会变成训练时的噪声。
4.3 时间同步、手眼标定与关节对齐:数据“能用”的三个前提
很多同学第一次采集完数据,打开一看觉得“图像清晰、动作也对得上”,就认为数据没问题了。但从训练视角看,还需要过三关。
第一关是时间同步。相机帧率通常30fps,机械臂控制频率可能50Hz甚至更高,两者天然不在一个节奏上。如果不做时间戳对齐,训练时经常会出现“动作滞后于画面”或“画面超前于动作”的现象。最简单的处理方式是以控制周期为基准,每个控制周期取最近的相机帧,并记录时间戳偏差;更稳妥的方式是用ROS 2自带的近似时间同步滤波器。
第二关是手眼标定。相机看到的像素坐标要换算成机械臂基座坐标系下的空间位置,才能指导策略输出一个准确的末端位姿。用AprilTag标定板配合开标定工具,可以在一个小时内完成外参求解。很多复现失败的项目,最后查下来问题都出在标定参数被覆盖或标定板类型不一致。
第三关是关节角度和夹爪状态的统一。单位要统一:角度用弧度,长度用米,夹爪开合用百分比或者实际宽度。另外强烈建议在元数据里记录机械臂型号、固件版本、相机内外参、标定时间,这些信息在后续跨设备迁移时极其重要。一句话,数据采集不是录像,而是把“物理世界的一次操作”变成“结构化的、可重放的、带校准信息的训练样本”。
4.4 仿真数据与真机数据的域差:一个容易翻车的点
仿真数据最让人头疼的就是域差。模拟器里的光照、材质、物理反馈,和真实桌面差异巨大。一个在仿真里表现非常好的策略,搬到真机上可能连夹子都张不开。
目前业界最常用的缓解手段是域随机化:在生成仿真数据时,随机改变环境光照强度、物体纹理、摩擦系数、相机位姿和噪声水平,让模型学到跨域不变的特征。另一个思路是混合训练,把仿真数据和少量真实数据混在一起训,真实数据占总体比例哪怕只有10%,也能显著提升真机部署的成功率。
从科研策略上讲,不要一上来就追求“全仿真数据跑通真机”,那是极高难度课题。更现实的路径是:仿真数据负责预训练出一个“曾经见过很多变化”的底座,再拿真机数据微调,让模型适配真实的视觉纹理和物理特性。
5. 数据集质量、开源许可与长期维护:高校科研必须想清楚的三件事
5.1 数据质量评价不只是“看得清”:动作粒度、覆盖度、可复用性
目前行业里对具身智能数据集的质量评价,已经开始从“画面清晰、动作完整”这种粗粒度描述,转向更体系化的要求。我给自己项目做数据集体检时,主要看四个维度,你也可以当成一份自检清单。
第一是时间对齐精度。每个观察样本必须对应一个明确的时间戳,而且动作标签与观测状态要严格同步。第二是动作粒度。数据里不仅要有关节角度,最好还要有末端速度、力传感器的读数,这样后续才能支持更丰富的策略设计。第三是覆盖度。同一个任务要有足够多的物体初始位置变化、光照条件变化和干扰物体,模型才能学到动作的本质。第四是可复用性。数据格式是否公开?有没有完整的元数据?传感器标定参数是否一并交付?如果答案是否定的,数据基本只服务于这一次实验,无法沉淀。
5.2 开源许可证直接决定你能否发论文、能否商用
高校团队在使用开源项目时,许可证问题经常被忽略,但后果可能很严重。MIT、BSD这类宽松许可证,基本可以自由修改、商用,只需保留版权声明。Apache 2.0也是宽松许可证,额外带专利授权,对做商业转化的团队更友好。GPL/LGPL则是“传染性”许可证,如果你把GPL代码加进自己的系统再分发,衍生代码通常也要按GPL开源,这对有商业计划的项目是很大的限制。
还有一点特别容易混淆:代码的许可证和数据集的许可证是两回事。一个项目代码是MIT,并不意味着它附带的数据集也能随便用;数据集通常会单独标注CC-BY、CC-BY-NC等。高校团队如果要把数据开源出来吸引合作,建议提前把代码和数据的许可证分开声明。否则后续有人想拿你的数据复现实验,法律上可能过不去。发布项目到Gitee或GitHub之前,也先想好许可证选型,避免日后改起来麻烦。
5.3 维护一个开源数据采集平台的收益:来自社区的反哺
最后聊一个稍微“非技术”但很重要的话题:高校团队不应该是开源平台的纯消费者,也应该成为贡献者。哪怕只是写了一份中文部署文档、提了一个硬件兼容性修复PR、或者上传了某个机械臂的适配代码,这些内容都会进入项目贡献者列表。
从实际收益来讲,我有几个切身体会。首先,给开源项目贡献代码的过程本身就是学生最快速的实战训练,比任何课程设计都有效。其次,课题组如果在某个开源平台生态里持续积累成果,后续和其他团队开展合作时,会天然获得更多信任和曝光。最后,一个维护良好的开源数据集或数据采集工具本身就可以成为论文的引用对象,甚至在部分评价体系里算作学术成果。这方面的价值,很多时候比买一套昂贵的商业系统更长远。具身智能是一个社区驱动色彩很强的方向,你为社区修的每一个“坑”,最后大概率会反哺到你自己的研究里。
最后分享一个我自己的体会:别一上来就想着把采集链路做得很“完整”。先花两周用一套开源平台跑通最小闭环,哪怕只有一条机械臂和一个相机,采集几百条真实演示,也比空谈架构有用得多。数据格式、时间同步、手眼标定这些细节,都是在第一轮数据里踩坑之后才真正理解的。具身智能的竞争,本质上拼的是高质量数据的获取效率,而好的开源平台正是把这条起跑线拉平的捷径。