
从一段视频到机器人动起来,Party OS 这条路怎么走
我花了两天试了一下萝博派对的 Party OS。结论先放前面:值得用,尤其你手上已经有人形机器人和一些示范动作的话;但它不是装完就给你一个界面的东西,它更像一条流水线,空手进去会卡在第一步。
Party OS 是萝博派对(RoboParty Lab)做的一套机器人操作系统,撑的是家庭服务机器人这类应用的开发与运行。仓库里那条路线写得很直接:
串联数据采集与生成、动作重定向、模仿学习与无监督学习,并逐步扩展到人–物交互与人–系统。
翻成大白话。让人形机器人学会一个动作,中间有三道坎。第一道,把人的动作录下来,叫数据采集。第二道,翻译。人的胳膊和机器人的胳膊关节数量对不上、长度也对不上,得把人的动作换算成机器人每个关节该转多少度,这行叫动作重定向,类似把钢琴谱改成吉他谱。第三道,让机器人从一堆示范里自己找规律,而不是你一条条写规则,这叫模仿学习。Party OS 的价值是把这三道坎串成一条链,中间那些粘合代码它替你写了。
走一遍:从一段视频到关节轨迹
我这边借用的环境是一个做人形的小团队,机器是台二手改的,自由度不高,能动的关节少。整个流程我走了一天半,其中一半时间在踩坑。
1. 准备素材。一段人的动作,动捕最省事,没有动捕就用单目视频。我用的是后者,代价后面说。
2. 装环境。Ubuntu 加 Python,按仓库 README 一步步来。它跟 ROS 的版本绑得比较紧,我这边装错一版,重定向脚本直接起不来,报的错还跟实际原因没关系。
3. 做骨骼映射。这是纯手工活。把人的骨架关节逐个对应到机器人的关节上,写成一张映射表。全流程最费时间的一步,也最没法自动化。
4. 跑重定向,输出一串关节角度的轨迹文件。
5. 先进仿真回放,别急着上实机。看两件事:有没有穿模,关节有没有超出限位。
6. 上实机,速度降到三成左右先跑一遍。我这边第一次跑,机器人抬手到一半就自锁了。
7. 轨迹满意了,把它当示范数据丢进模仿学习那一环。到这一步它才开始“学”,前面都只是“搬”。
三个我踩过的坑
第一个是坐标系。人的骨架数据一般 Y 轴朝上,机器人底座是 Z 轴朝上,差一个九十度。我第一次跑出来,机器人在仿真里是躺着的。先确认两边的 up 轴,再动其它参数。
第二个是关节限位。重定向只负责算角度,不管你的机器人能不能做到那个角度。人的肘能反折一点,机器不能。映射表里给每个关节留一档安全余量,比事后调参数省事。
第三个是脚底打滑。人的动作里没有接触约束,重定向出来的腿在空中划得很漂亮,落到地上就开始滑。用视频源尤其明显,单目估出来的深度本来就不准。我这边测下来,动捕和视频两条路的结果差得挺远,能上动捕就上动捕。
顺带一句,不同来源的帧率不一致,动作会忽快忽慢,对齐时间戳这步别省。
跑通之后,下一步试什么
建议先别碰人-物交互那一层。把“采一条动作、重定向、真机复现”这个闭环压到两三个小时以内,比多接一个功能有用得多。等闭环稳了,再去试带物体的动作,比如抓个杯子,那时候你会发现难点从重定向整体挪到了接触和力控上。我前几天写微亿那套质检时说过类似的话,质检的瓶颈不在模型层,这里也一样,瓶颈不在算法。
往后看两三年,这类机器人 OS 拼的是数据管线和真机对齐这些基础活,算法本身是公开的。谁能把“一条示范到一次成功复现”的时间压到几个小时,谁就先把生态占住。
物界前沿