ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

具身智能十年演进:从割裂模块到VLA模型与数据闭环实践

具身智能十年演进:从割裂模块到VLA模型与数据闭环实践

做机器人控制出身的人,早几年最怕被问一个问题:“你这机械臂,到底有没有脑子?”当时我只能解释说,它有一套很稳定的视觉算法,配上示教轨迹或者运动规划,在固定场景里能干得挺漂亮。但问的人多了,我自己也开始犯嘀咕——一套只会重复“看-算-动”的机器,真的算智能吗?后来“具身智能”这个词火起来,我反而松了一口气,因为它终于把过去十年散落在视觉、规划、控制、学习几拨人手里的老问题,重新拢到了同一个框架里:AI不只是在服务器里想,还得在真实世界里动手。

这十年我一路从传统控制往深度强化学习、再往大模型方向摸爬滚打,眼看着具身智能从一个圈内人半信半疑的概念,变成了今天最拥挤的赛道。这篇文章不打算写教科书,就从一个工程师的视角复盘一下:具身智能这十年到底演进出了什么,哪些坑是大家反复踩的,以及如果你今天要入局,该从哪儿下手。

1. 十年演进其实只做了一件事:把割裂的模块焊成整体

具身智能最早的痛点,根本不是“模型弱”,而是“系统割裂”。十年走过来,最大的变化不是某一个算法横空出世,而是整条技术链终于开始像一个整体在工作。

1.1 前五年:眼睛、大脑、手脚各说各话

传统机器人系统是典型的“分层架构”,视觉、规划、控制各管一段。视觉模块负责输出目标物体的位姿和类别,运动规划模块负责算一条无碰撞的轨迹,底层伺服控制负责把轨迹稳稳地跑完。听起来很流畅,但模块之间靠什么衔接?靠人写的接口。位置出来没有?姿态可靠吗?物体表面摩擦系数大概是多少?这些问题没有任何一个模块能独立回答,最后都变成了代码里一堆写死的参数。

我十年前调过一台桌面机械臂做抓取,视觉识别返回的物体中心点有2到3毫米的抖动。这个精度放在抓大物件上没问题,但一换到插拔精细接头的任务,运动规划就算算得再完美,底层执行也必然对不准。那感觉就像三个能力都很强的同事,各干各的,结果交接文件的时候连字段都对不上。传统架构的根问题就在这里:误差顺着链路一级一级放大,而每一级接口都在丢掉信息。

当时大家的精力大量耗在“对接口”上,而不是真正提升智能。换个场景、换台机器人、换个光照,整个系统就要重新调参。这也是很多人觉得“机器人很笨”的来源——它并不缺单个模块的能力,但缺把这些能力揉到一起的胶水。

1.2 中段:端到端学习的风口与回落

后来深度学习的浪潮涌进来,学术界开始喊出“端到端”的口号:从原始传感器输入直接映射到动作输出,把中间那一堆手工接口全部干掉。这个想法极具诱惑力,视觉、规划、控制不再分家了,模型自己内部学习“怎么看-怎么想-怎么动”。

但理想很丰满,现实很骨感。端到端策略对数据的依赖近乎贪婪,真实机器人的数据采集又贵又慢,一个任务演示几百条都算少的,还要频繁人为干预。按我自己的项目经验,同一个抓取任务,传统方案调两天参数就能干活,端到端方案光是采集干净的数据就得花两周,最后上线还未必稳定。于是端到端热潮退了一截,Sim2Real、域随机化这些“曲线救国”的方法开始被推到台前。

这一段给行业最大的教训是:模块化不是原罪,把模块用刚性规则焊死才是。于是中间态出现了——视觉用深度模型,控制用传统方法,两边留出可学习的接口。

1.3 近三年:大模型给具身智能补上了“常识”

近两年为什么具身智能突然火得不像话?因为大语言模型和视觉语言模型带来了一个此前机器人领域极其稀缺的东西:常识。过去机器人拿到指令“把桌上的苹果放进盘子里”,需要人为拆成“找苹果—接近—抓取—找盘子—放进去”这些步骤;现在一个多模态大模型可以直接理解一句话。它甚至知道苹果是易碎的,抓取力度要轻一点。

更关键的是,大模型把“语义理解”和“动作生成”这条链路给打通了。以前感知模块只知道“那里有东西”,现在它能结合语言指令去判断“哪个东西是任务要的”。业界管这类把视觉、语言、动作联合训练的模型叫VLA(Vision-Language-Action,视觉语言动作模型),核心思路是先把通用世界知识学进来,再通过少量机器人数据微调出一个能用的动作策略。

这个阶段最大的变化,是具身智能终于有了一个可以持续增长的主线:先学好“常识”,再去真机上“补经验”。它不再是一个从零开始学走路的婴儿,而是一个读过很多书的人第一次下厨房——虽然手脚笨,但起码知道盐和糖的区别。

2. 三条路线之争:感知优先、控制优先,还是学习优先

任何领域到了爆发期,内部一定会有路线分歧。具身智能也不例外。我这些年参加过的技术讨论,十次有八次都在争同一个问题:到底应该让模型更聪明地看懂世界,还是让控制算法更稳地执行动作,或者干脆让模型从数据里自己把一切都学出来?

2.1 感知优先:先看懂世界,动作自然跟上

感知优先的支持者认为,机器人做错动作,本质上是因为它没看清、没理解环境。只要视觉和语义理解足够强,动作即使简单一点也能完成大量任务。这个思路在“语义抓取”“开放词汇导航”这类任务里表现不错,特别适合室内服务型机器人:你要它在杂物间里找到遥控器,能识别物品是第一位。

但感知优先容易在“最后一米”翻车。你看到了杯子,也认出了杯子,但怎么平稳地穿过障碍、绕过桌角,还是那个物理交互问题。感知帮了你“做什么”,却没有帮你“怎么做”。有时模型甚至很自信地输出一个目标位姿,底层规划一测,发现这个位姿根本不满足力学的可抓取条件。这里图形识别还是抽象的符号,距离物理世界的摩擦与重心还差着一层理解。

2.2 控制优先:动作稳如老狗,但认不出世界

控制优先的另一派,强调机器人先得有一个不会摔、不会抖、能精确跟踪轨迹的“身体”。传统最优控制和动力学模型在结构化生产线上确实无可替代,焊接、装配、喷涂这类高速高精任务,对理解世界的需求低,对控制精度需求极高。

但这派思路放到开放世界里就有点吃力。工厂是标准化环境,可家庭和野外环境充满了不可预测性。你不可能为每一类散乱工件都建立精确的动力学模型。控制优先的系统通常极度依赖人工建模,换个杯子形状、换种摆放方式,原本的模型假设就失效了。我见过一条产线为了适应一种新料件,控制工程师花了整整两周重新标定参数,效率确实低。

2.3 学习优先:让数据说算

学习优先的路线,也就是强化学习、模仿学习以及近两年流行的扩散策略和VLA模型,主张不预设太多规则,让算法直接从交互数据或人类演示中学习动作。前几年这条路最大的争议是可解释性差、不稳定,动作策略在训练环境里表现神勇,到新环境立刻拉胯。

但新进展确实在迅速抹平差距。一是仿真环境越来越真实,训练成本大幅下降;二是预训练模型提供了强先验,让小样本微调成为可能;三是扩散策略这类生成式方法,天然适合拟合多峰的人类行为分布。比如抓取一个杯子,可以从左边抓,也可以从右边抓,传统监督学习会把两个方向平均成“从中间抓”,结果成功率和姿态都很怪,扩散模型却能完整保留这两种模式。

现在的主流越来越倾向于“三条腿走路”:用感知模型理解世界,用大模型做任务规划,再用学习到的策略直接输出动作,最后辅助底层控制保证安全。单纯的某一条路线,都不够用。

路线优势劣势目前适配场景
感知优先语义能力强,开放词汇表现好物理交互精度不足物品识别、导航
控制优先高速高精、可解释、可靠依赖人工建模、泛化差工业产线
学习优先泛化潜力大、适配非结构化场景数据饥渴、可解释弱灵巧操作、家庭服务

3. 数据才是真正的十年主战场

说句实在话,算法模型的进步只是具身智能的明线,真正卡了十年脖子的,是数据。数据从哪里来、质量怎么保证、用什么格式,这些问题直接决定一个具身智能项目能走多远。

3.1 三类数据:演示数据、交互数据和视频数据

目前主要的三类数据来源,各有各的脾气。

第一类是演示数据。靠人在真实机器人上遥操作,或者戴动捕设备操作数据手套采集。这类数据质量最高,成功轨迹清晰,技能意图明确。缺点就是贵,一个熟练的采集员一天可能只能产出一两百条高质量轨迹,遇到精密装配这类任务就更慢。而且遥操作设备本身的精度限制,也会把一部分人类技能给削掉。

第二类是交互数据。让机器人在环境里自主探索,靠强化学习自己试错,成功了几次就留下奖励信号。这类数据胜在量大,不需要人类手把手教。但奖励信号极其稀疏,一百次探索能成功一次就不错,大量失败轨迹反而会干扰模型学习。所以现在大家常用“奖励塑形”或“人类反馈”来加速,本质是强行提高有效信号密度。

第三类是互联网视频数据。网上有无数的“人做家务”“人修机器”视频,量大而且便宜。斯坦福那边最早做的“从视频学习机器人生成动作”的思路,催生了一大波工作。问题是,视频数据只有像素,没有精确的动作标签。机器人本体结构跟人也不一样,要从人的行为里推断出机械臂的关节角度,属于一个跨体对齐问题,目前只能提取比较抽象的动作意图,没法直接给出底层控制指令。

3.2 仿真数据的工程价值与迁移难题

仿真数据是最近几年的最大增量。我见过不少团队直接在仿真环境里堆场景、堆物体、堆随机位姿,跑上百万次的强化学习,拿到一个策略往真机上搬。这条路的理论出发点很直接:真实数据太贵,我就用便宜的海量仿真数据把模型喂饱,再用少量真实数据校准。

不过仿真数据和真实世界之间永远有道墙,这叫Sim2Real Gap。摩擦系数不准、重力建模少了微小误差、视觉纹理太完美,都会让模型产生“仿真特有的小聪明”。比如仿真里抓取时不需要太考虑物体的形变,真实世界里一碰就滑掉了。

域随机化是目前最实用的解决方案之一:在训练时把颜色、光照、摩擦、质量这些参数随机扰动,让策略学会“不管环境长什么样,都要抓住目标”的稳健行为。听起来很玄,实际做下来也确实有效,但参数范围得控制得当。随机范围太小,迁移效果不佳;随机范围太大,任务难度飙升,策略直接学不收敛。我一般从视觉扰动微调起步,再加力学的随机化,每次只动一个维度,慢慢往两边试探。

包括某个头部团队公开的机器人策略训练,几乎都采用了域随机化配合系统辨识的思路——先用真实数据定出机器人和环境的基本物理参数,再在仿真里围绕这个参数做扰动,效果比完全用默认参数好非常多。

3.3 数据闭环怎么搭才能不翻车

数据不是攒得越多越好,脏数据多了等于喂毒。数据闭环的核心不是“采集-清洗-训练-部署”这么简单的流程,而是要把“部署后的失败”反馈到采集端。很多团队上了自动采集系统之后,发现训练效果反而不如以前,就是因为质量参差的自动数据稀释了那些宝贵的高质量人工演示。

我做过的项目中,比较靠谱的流程是:第一步用遥操作采几百条高质量演示作为种子;第二步用种子训练一个初版策略,跑量部署到一两台机器上;第三步记录初版策略最容易失败的场景,针对性地补采数据,而不是盲目扩大采集范围。

至于团队资源有限的情况,我强烈建议垂直场景专精。别一上来就做“通用家务机器人”,先做“桌面零件分拣”“仓库货架抓取”“自动插拔充电枪”这类边界清晰的任务。数据闭环规模小,模型训练快,效果还容易量化。通用性是在单个场景跑通之后,靠多条“腿”逐步长出来的,不是第一天就设计出来的。

4. 从模型到真机:落地部署的工程真相

算法在电脑上跑得再漂亮,搬上真机都可能变成另一回事。具身智能的部署环节,最容易被只做算法的研究者低估,也恰恰是决定一个系统能否商用的关键。

4.1 实时性与算力的平衡:延迟掐着控制周期走

机器人控制是有严格的周期要求的。常见伺服控制周期是1kHz,运动规划层可以放宽到10-50Hz,但具身智能模型给出的推理结果,一般也必须在这几十毫秒的窗口内完成。大模型动辄几百毫秒甚至数秒的推理延迟,在任务规划层可以容忍,但直接当动作策略用就会让机器人断断续续,像信号不好的视频通话。

我的实际做法是分层部署:任务规划用大模型远程算,享尽世界知识;动作执行用小模型本地推理,保证毫秒级响应。在大模型给出“从左边绕过去拿”这类高层指令后,小模型接手底层轨迹生成,这样既享受了大模型的常识,又不牺牲控制的实时性。如果本地算力有限,还可以对动作头做量化和蒸馏,把参数量压一两倍,延迟能显著下降。

4.2 硬件差异与本体适配:机器人不是同一副骨架

具身智能最麻烦的工程问题是跨本体迁移。同一个策略,在6轴桌面臂上收敛得很好,换到7轴人形臂上,哪怕关节数只多了一个,策略可能完全失效。关节的力矩、摩擦、刚度、通信频率,甚至夹爪的闭合速度,都会直接影响动作执行结果。

很多研发团队天天盯着模型训得漂不漂亮,却忽略了机电层面的误差。我有一次部署抓取策略,模型准备率和推理速度都没问题,但真实抓取成功率一直只有六成。排查到最后才发现是夹爪的指面磨损了,接触摩擦力下降,导致抓取后的物体滑落。模型本身并没有错,是“手”不行。这也是具身智能的独特之处:它天生要把软件和硬件绑在一起迭代,光调模型不修硬件,永远解决不了问题。

所以我会建议先保住末端执行器这一环。很多项目非要上五指灵巧手,结果数据采集贵、维护难、泛化差。与其这样,不如先用吸盘或者两指平行夹爪把任务跑通。等任务闭环验证了“模型-数据-算力”这套流程,再去挑战高自由度手不迟。人形手很帅,但工程上它是最后一步,不是第一步。

4.3 评测体系:不建立评测,容易“自我感动”

具身智能项目最容易陷入的困境,是从Demo到Demo,永远不知道自己真实水平如何。我见过一些团队,录了几条完美视频就投稿、融资、发新闻,但让外人随机试几次,成功率立刻见底。没有严谨的评测体系,是做具身智能最大的隐性风险。

一个能用的评测体系,至少要包含四类指标:成功率、长时稳定性、扰动敏感性和任务耗时。成功率不是指固定位姿下跑十次成功八次,而是把物体随机摆放、光照随机变化、同款物体换颜色等多种变式混在一起,统计总体成功率。长时稳定性指连续运行半小时以上不掉链子。扰动敏感性则是在任务执行中途推一把机器,看它能不能快速恢复。

真实世界是连续流,评测也必须跟着随机化走。团队内部每次迭代都跑同一套随机化测试,才能形成“版本与版本之间真的变强了”的可靠判断。否则你以为自己在进步,其实只是在反复调参碰运气。

5. 实操避坑手册:常见问题与排查实录

这部分是我这些年亲自踩过的坑,也是同行交流时最常被问到的几类问题。放在最后,当作一份速查笔记。

5.1 训练不收敛、动作卡死或者乱摆,该怎么排查

先看状态归一化。机器人状态数值量纲差异极大,关节角度在零点几到几之间,末端速度可能到几十,奖励信号又跨了好几个数量级。不做归一化,梯度更新会震荡,训练必炸。

再看奖励尺度。常见强化学习的奖励收敛失败,是奖励数值设置太大或太小。我自己习惯把单步奖励控制在正负1以内,任务完成额外给5-10。这个量级能让策略既关注短期反馈,又不至于被稀疏的大奖励带偏。

如果奖励和状态归一化都正常,策略还是学不动,我建议回退到小规模子任务验证,比如“先只学接近物体,不学抓取”。把问题拆到最小可复现单元,训练快速跑通,再逐步加难度。直接上个巨大任务,训练又要几天,出现问题根本定位不到是哪个环节挂了。

5.2 Sim2Real 迁移后成功率骤降,源头往往在“传感器噪声”

仿真训练的策略到了真机就失效,是具身智能最经典的事故现场。有人第一时间猜物理引擎不准,有人怀疑摩擦系数不对,但根据我的经验,最容易被忽略的是传感器噪声。

仿真里关节角度读数完美无瑕,真机却带着零点几度的抖动和延迟。别小看这个噪声,对高精度装配任务来说,零点几度在末端就是毫米级偏差,足以让插拔任务彻底失败。一个重要做法:仿真训练时给所有关节角度加高斯噪声,再给观测值增加一步延迟,模拟真机通信时延。加了噪声和延迟之后,策略的稳健性会明显提升。

另外,先上低成本真机做验证。很多团队一上来就在贵重的六轴机械臂上做迁移,失败一次烧一次钱。等本地桌面机器人上验证好了,再平移到更大系统。仿真-低成本真机-高端真机,这个三级阶梯,是迁移成本最低的路径。

5.3 评测结果虚高,大概率是“背答案”

我发现很多失败项目的问题不在算法,而在评测设计。初始位姿固定、物体摆放固定、光照固定,训练时模型早把最优轨迹背下来了。这种评测分数没有任何参考意义。

建议至少做到三点改动:一是每次评测随机化目标位置和物体姿态;二是同一个配置至少测20次,取中位数而不是最高分;三是在评测集中混入训练时没有见过的变式,比如同款不同色、不同尺寸的物体。真实部署的需求不是“记住最佳答案”,而是“随机应变”。

建立固定的评测记录卡片也很关键,每一轮迭代记录同样的指标。这能帮你横向对比不同方案的真实进展,而不是凭感觉判断“好像比以前顺了一点”。

6. 写在最后的几点个人判断

说了这么多历史和方法,最后从我个人经验出发聊几句对未来的判断。不知道大家发现没有,具身智能这十年演进,本质上是把“智能”这个词从云端拉回了地面。十年前我们追求的是模型在比赛里刷高分数,现在大家关心的是机器能不能在厨房里收拾干净一桌剩菜。

我自己的深刻体会是,模型能力只是天花板的一半,数据闭环、硬件可靠性、评测标准这些“脏活累活”才是真正的下限。未来谁能在数据管理上建立起标准,谁能把评测体系做公允,谁就握住了这个行业的长期竞争力。

如果你今天想入局具身智能,我的建议很固定:找一个小小的、边界清晰的场景,从数据采集到模型训练到真机部署,完完整整跑通一个闭环。别贪大,别追人形。先让机器在10次随机摆放里成功抓取8次,再去做更大的梦。这个领域不缺天马行空的想象力,缺的是把一件具体的小事做到极致的人。

这十年走下来,我觉得最迷人的地方也在这里:纸上谈兵的AI,终于开始长出双手了。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进