SpatialVLA
SpatialVLA 的机器人“智能大脑”——它能结合视觉(看东西)、语言(懂指令)和动作(做操作),帮机器人更好地理解空间、完成各种任务,还能灵活适配不同机器人。
一、为啥要做SpatialVLA?
以前的机器人“大脑”(比如一些视觉-语言-动作模型)有个大问题:看不懂3D空间。比如机器人只能看到2D图片,不知道物体有多远、在哪个高度,也没法统一不同机器人的动作(比如有的机器人胳膊灵活度高,有的低),导致换个机器人、换个场景就“不会干活”了。
研究者想解决这个问题:让机器人像人一样,能本能地理解“这个杯子在桌子左边,离我50厘米”这种空间信息,还能不管换什么机器人,都能快速适应。
二、SpatialVLA靠啥“超能力”解决问题?
它主要加了两个关键设计,专门针对“空间理解”和“动作适配”:
1. 能“感知3D空间”的编码(Ego3D Position Encoding)
简单说,就是给机器人加了“深度眼”:
- 先用普通摄像头拍2D图,再用一个叫ZoeDepth的工具算出来“每个像素离摄像头有多远”(深度);
- 把“2D图片特征”和“深度信息”结合,变成机器人能懂的“3D空间信号”——比如知道“苹果在摄像头前方30厘米、偏右10厘米”;
- 不用专门校准摄像头和机器人的位置(比如有的摄像头装在机器人手腕,有的装在旁边),随便哪种机器人都能用。
2. 能“适配不同机器人”的动作网格(Adaptive Action Grids)
不同机器人动作不一样(比如有的能转360度,有的只能转180度),SpatialVLA把这些“连续动作”变成了“离散的格子”:
- 先统计大量机器人的动作数据(比如110万条真实机器人操作记录),算出动作的“常见范围”(比如大多数时候机器人平移不超过20厘米);
- 按这个范围把动作分成一个个小格子(比如平移分多少档、旋转分多少档),每个格子对应一个“动作令牌”;
- 机器人做动作时,只需要预测这几个令牌,不用算复杂的连续动作——比如以前要输出7个参数,现在只需要3个令牌,速度快了很多(推理速度20Hz,比很多模型快3倍以上)。
而且换机器人时,只需要重新调整这些“动作格子”(比如新机器人胳膊短,就把格子范围调小),不用重新训练整个模型,适配起来特别快。
三、SpatialVLA是怎么“练出来”的?
分两步训练,保证它又“通用”又“灵活”:
1. 预训练:先学“通用本事”
用110万条真实机器人的操作数据(涵盖20多种机器人、各种任务,比如捡杯子、开抽屉),让SpatialVLA在大模型(Paligemma2)基础上学习:
- 看懂不同场景的3D空间;
- 理解“把柠檬放进篮子”这种语言指令;
- 掌握通用的动作逻辑(比如怎么抓、怎么放)。
2. 微调:再学“专属本事”
如果换了新机器人(比如从WidowX机器人换成Franka机器人),或者要做新任务(比如插充电器、泡茶):
- 不用从头学,只需要根据新机器人的动作特点,重新调整“动作格子”;
- 用少量新数据(比如几十上百条示范)微调一下,就能让SpatialVLA快速适应。
四、SpatialVLA到底行不行?
研究者在仿真环境和真实机器人上都做了测试,结果很能打:
1. 零样本任务:没学过也会做
比如没专门练过“把茄子放进黄篮子”,直接让它做,成功率能到72.7%,比其他模型(比如OpenVLA)高不少;在真实WidowX机器人上,面对“移动的胡萝卜”“不同颜色的杯子分类”这种有干扰的任务,也比其他模型更稳。
2. 适配新机器人:换机器人不费劲
给Franka机器人做微调后,它在“推茶壶把手”“放香蕉进篮子”等任务上,成功率比Diffusion Policy、Octo等模型高10%-20%;尤其在“听指令做动作”(比如“抓橙色的东西”“放绿色方块”)上,优势更明显——其他模型可能听不懂指令,它却能准确执行。
3. 空间理解:复杂空间也不怕
比如任务要求“把离机器人最近的毛绒玩具放车上”“把杯子放在高一点的盘子上”,它能准确判断距离和高度,成功率比没3D感知的模型高30%以上;在LIBERO这种专门测空间能力的 benchmark 上,它的成功率是88.2%,排第一。
五、总结
SpatialVLA本质是给机器人加了“空间思维”:靠3D编码看懂环境,靠自适应动作格子适配不同机器人,再通过“预训练+微调”兼顾通用和灵活。现在它能高效完成捡东西、分类、精细操作(比如插充电器),未来还能优化处理更复杂的任务(比如长时间连续操作),让机器人更像“能理解空间的帮手”。