大会预告

11月19日,2025中国具身智能机器人大会将于深圳举办。聚焦人形机器人、工业具身机器人、机器人模仿学习与强化学习、VLA、世界模型等议题。首批嘉宾已公布,顶会CoRL 2025最高奖项获得者黄思远将出席,更多嘉宾即将揭晓。欢迎报名~
作者:Jeungtao
地址:
https://zhuanlan.zhihu.com/p/1940101671704327220
因为之前做过两年强化学习相关的工作,看到最近VLA也有一些突破,出于个人兴趣,业余时间学习了一下,也做了点笔记,分享到这里。主要是RL的Context下这两年VLA/Diffusion Policy。最适合有一些RL背景,想了解一些新的进展的朋友阅读。如有疏漏敬请指出。分别从方法范式与应用场景两个维度展开。
1
方法范式
1. 传统强化学习(RL)/模仿学习 + Sim2Real
方法有DQN/PPO/SAC/D4PG/GRPO 等; 主流仿真环境 Google的Mujoco;ROS的Gazebo;开源的Bullet;Nvidia的IssacSim/IssacGym。 这几个我之前都有用过,mujoco效率高,2018年和以前OpenAI很多连续控制工作都基于mujoco的环境;Gazebo和bullet自定义程度高但用起来复杂一些;Issac在2021年有尝试过,早期不完善,这些年好很多了,GPU并发高,且渲染效果好,虽然有点吃GPU。 一般都兼容URDF文件,比如IssacGym自带了Anymal,但其他机器人模型像宇树的四足,也可以通过其官方URDF文件和相应的模型文件进行导入;部分字段和特定平台的plugin可能需要一定调整。 最近看到也有不少人在用Genesis和Maniskill(sapien),没有用过不做评价。
Sim2Real: Progressive Network:主要思想类似于cumulative learning,从简单任务逐步过渡到复杂任务(assume模拟器中的任务总是比现实任务简单)。 Domain Randomization:对模拟环境中的视觉信息或者物理参数进行随机化,例如重力在某个随机范围变化、关节角度力矩增加一定随机噪声、地板摩擦力随机变化、关节躯干重量给予一定随机化。 Domain Adaption:学习一个模拟环境以及现实环境共同的状态到隐变量空间的映射,模拟环境中使用映射后的状态空间进行算法的训练而不是直接使用模拟器给出的输入;迁移到现实环境中时同样将状态映射到隐含空间,直接应用在模拟环境训练好的模型。
有一个人为设置的Reward function;训练目标最大化reward function的我们都归为此类;
2. Diffusion Policy、Flow Matching与VLA模型
个人觉得VLA系列与传统RL一个根本性的区别是RL任务目标输入方式靠reward function,难以描述复杂的任务的过程和目标(比如何折衣服符合人类的喜好,折好后放到哪里"reward"更大,如何收拾桌面符合人类"整洁"的定义,这些都是比较模糊的,更进一步地,一些长程任务如餐后收拾桌面和洗餐具、洗衣服烘干和晾晒等,则更难用reward shapping规则化地描述);
相比起来,Diffusion和VLA本质上则是在用训练数据的分布去描述任务过程和目标(尽管某些文献可能将其归于"offline-RL",注意区别于RL语境下的onpolicy和offpolicy),因此潜在可以执行可以更复杂的任务;目前也确实看到VLA系列在一些复杂任务中取得一些传统RL无法做到的突破。实际应用上,VLA中的L可以用语言去索引这个任务目标的分布;尽管目前复杂任务往往不能很好的靠描述来执行,像如pi0中的部分复杂任务,还需要额外数小时甚至上百小时的训练数据,通过post-traning去“描述”任务过程和目标(本质上还是数据量不够?);
- Diffusion Policy
https://github.com/real-stanford/diffusion_policy 哥伦比亚大学和MIT的工作。之前其实也有挺多把生成模型用到机器人动作生成领域的,比如模仿学习中的GAIL,一些offlineRL的方法,甚至包括SAC也有从类似VAE的隐空间z中去采样然后decode出动作的步骤。不过Diffusion Policy是最早复用图像视频扩散模型思路,基于扩散模型生成连续动作序列的工作,多步去噪过程从噪声中恢复任务相关动作分布。个人理解Diffusion Model和后面的流匹配有更强的更高维度的分布到分布表达能力,对VLA这类在一个很大的预训练的各种任务分布空间中,综合Vision和Language去索引目标任务动作分布的应用场景会更适合。

- OpenVLA与RDT系列:
OpenVLA是Stanford,Berkeley,DeepMind等联合的一篇工作,使用Open X-Embodiment数据集。整合多模态输入(图像、力传感),通过Transformer建模动作序列;基于一个 7B 参数的 Llama 2 语言模型,结合了 DINOv2 和 SigLIP 预训练特征的视觉编码器 。

RDT(Robotic Decision Transformer):Goal-Conditioned设计,在AGIBot数据集[智元机器人开源的百万真机数据集 https://ai-bot.cn/agibot-world/ ]上训练。
HRDT:最近的地平线的工作HRDT也属于此类方法;使用人类视频数据进行预训练(通过decode人类的48 dof操作数据回传梯度);finetune对不同机器人使用不同的decoder,共用骨干网络; H-RDT: Human Manipulation Enhanced Bimanual Robotic Manipulation。

- pi-系列方法及后续工作:
也是VLA类型的,跟上述没有本质区别,不过是很有代表性的工作,单独拿出来。 Physical Intelligence的工作,将视觉-语言模型(VLM)与机器人动作编码结合,使用Open X-Embodiment预训练,进一步引入动作抽象层,将不同机器人的关节空间映射到统一潜空间,缓解本体差异问题。 训练时并不冻结VisonLanguage部分的参数,梯度通过action decoder进行回传(Physical Intelligence的消融实验证明这样比冻结参数更好,可能是因为预训练的VLM并无机器人领域的先验,如果冻结参数的话视觉等输入中有一些对机器人任务有用的特征不能顺利传到下游)。 pi-0: https://www.physicalintelligence.company/blog/pi0



- pi-0.5
使用Hierarchical VLA co-trained on real robot demos,核心任务上用web-scale vision-language data for robust household task generalization,可以更好地用文本去索引任务分布。 Vision Encoder用SigLIP; Language Encoder用Gemma (2B/2.6B); Action Decoder还是流匹配。 Physical Intelligence基于pi-0.5的的后续改进,很Intuitive的几个点 https://arxiv.org/pdf/2505.23705。 action decoder同时使用autoregressive & flow-matching;FM预测连续action为了实时output,autoregressive transformer就纯粹为了让网络学习到更好的representation。 既在互联网规模general vision-language data又在 robot planning data (VLM data co-training)预训练模型,避免VL model loses its knowledge when adapting it to a VLA。 断开FM action部分和VL backbone部分的梯度避免action随机初始化影响pre-trained VLM的参数;梯度回传靠autoregressive transformer部分;PI管这个叫做Knowledge Insulating。

- BridgeVLA
CVPR的挑战赛冠军,字节的工作 https://www.arxiv.org/pdf/2506.07961 主要的想法起源是现有的VLA模型大多以2D图像作为输入,但Manipulation实际上是3D任务,如何能把3D信息在VLA模型中有效的用起来。
最直观的想法可能是可以使用RGBD或者点云的网络比如PointNet系列(做自动驾驶的都知道),但是点云可没有互联网scale的数据预训练的网络。所以这个工作的做法是,把点云朝正交的三个方向(顶部、正面和左右侧)做投影。这样就能用起来目前2D VL的框架。然后输出的部分也不直接预测action token了。网络去预测每个视角的热力图。有多个视角的热力点,结合RGBD相机内参就能几何反投影的方法(solve pnp嘛)预测出位置了 - 这个位置就是末端执行器的位置。旋转和gripper等就用一个接到原投影图和热力图上的额外的mlp去预测。实际是coarse-to-fine地预测translation,第一次全量点云,第二次截取中心区域点云(可能调整投影时fxfy也行?)。
主干网络通过预测热力图进行预训练。输入图像与其对应的文本描述,数据标签就是符合某个分布的热力图这样。其实是在强调VLM的2D空间感知能力,能够根据语言描述在图像中精准定位目标。后续通过多视图几何转换到3D action。所以3D靠显式的后处理来应对,模型只要关注2D映射就好。需要网络映射的空间少了一个维度,又把RGBD中真实的3D坐标信息也引进来了(不用根据2D图猜3D位置),学得肯定就更好嘛。

- 流匹配
很多VLA模型都在用流匹配建模动作分布(RDT,HRDT,pi系列方法等),在这里highlight一下。
流匹配(Flow Matching, FM)跟diffsion model相似,建模从简单的已知分布(通常是标准正态分布)到复杂目标数据分布(机器人动作序列的在给定图像和Language下的条件概率分布)的映射关系。
举例:假设我们要让机器人完成叠衣服的任务,网络输入的时间参数 t从 0 到 1 均匀划分成 10 个时间步(T=10,Δt=0.1)。从标准正态分布中采样得到初始潜在变量 x0:
在 t0=0.1时,将 t0和 x0和图像语言编码输入网络,网络输出矢量场 vθ(x0,t0),通过欧拉方法更新状态得到 x1=x0+vθ(x0,t0)×0.1,此时 x1包含了部分叠衣服动作的初始信息。
随着时间步推进,在 t1=0.2时,将 t1和 x1图像语言编码输入网络,得到矢量场 vθ(x1,t1),更新状态得到 x2=x1+vθ(x1,t1)×0.1,x2包含了更多叠衣服动作的信息。
以此类推,经过 10 个时间步的迭代,在 t10=1时,最终得到的 x10就是生成的用于控制机器人叠衣服的完整动作序列,机器人可以根据这个动作序列完成相应的操作。
注意区分这个时间步并不是机器人动作序列的时间步骤,仅仅是分布变换的时间步。个人理解主要是在高维空间做插值/平滑,稳定分布到分布的训练过程。

相比扩散模型,先构造概率分布的直线流路径 aτ=τ⋅at:t+H∗+(1−τ)z,这里 z是高斯噪声,τ是流时间的参数化。这个公式定义了从噪声到目标动作的“插值 / 流映射”,类似于扩散模型那样分“前向加噪、反向去噪”两个阶段迭代,但没有显式的模拟去噪的过程。
然后神经网络 vθ学习预测这个阶段分布变化的向量场,损失函数 LFM是让网络预测的向量场和“从噪声到目标动作的差值”尽量接近。
FM对目标分布和源分布无要求(比如源分布不是必须高斯),所以有一种更直接的思路是,image和action分别用类似VAE的方式训练得到潜在表示,然后直接使用FM做image的隐空间到action的隐空间的映射。VITA就是这样来做的
https://arxiv.org/pdf/2507.13231
3. 典型数据集
Open X-Embodiment DeepMind联合斯坦福、上交、nvidia等21个机构2023年10月发布;联合了多种个跨本体子数据集。 1M+ trajectories, 500+ skills, 22 robot types。 数据集格式:所有源数据集统一转化为RLDS格式,便于下载和使用。该格式能够适应不同机器人设置的各种动作空间和输入模态,比如不同数量的 RGB 相机、深度相机(RGB-D相机)和点云数据。且支持在所有主流深度学习框架中进行高效的并行数据加载。 不同数据源数据处理:包括多视角处理、图像尺寸调整和动作转换等。 1)多视角处理 不同数据集的视角相机类型多样,包括RGB与 RGBD;有头部、周视、腕部;多视角的数据只挑选一个被定义为“canonical” ,通常是最接近自上而下第一人称视角的,或是与本体感知最相关的 2)图像尺寸调整 将图像resize到320×256(但实际上各个团队提交的数据规格并没有完全和Google保持一致。) 3)动作转换 将原有的动作归一化。模型输出action tokens后,根据不同机器人做de-normalization再下达具体的控制指令。
AgiWorld数据集 智元机器人开源的百万真机数据集 https://ai-bot.cn/agibot-world/ RDT在此数据集上做实验。
EgoDex的829小时数据: 大规模人类操作视频(如):蕴含自然操作策略、物体功能认知(affordance)和任务分解模式。 338K轨迹/194任务。 人类操作视频,跟机器人本体差异较大,阻碍直接迁移。 地平线的HRDT使用此数据集验证其对于VLA模型有一定作用。
还有一些其他的 RoboSpatial CoVLA PLAICraft LIBERO Kaiwu 等。
2
应用场景层面
其实不同场景下的技术路线还是比较明确的,可以分成两类:
基础控制问题(机器人本体步态控制,机器狗奔跑跳跃等) - "小脑":目前主要是传统强化学习+模拟器,部分新的工作引入物理先验(如RLPF、SMILE)。目前SOTA以闭源为主,如宇树的步态控制,但也有一些开源框架,如Tien Kung-Lab等,但看演示效果跟SOTA还稍微有点差距。 精细操作和较为高层的复杂任务(如收拾桌面、叠衣服等) - "大脑":最近的突破主要在DiffusionPolicy和VLA Model,目前SOTA以开源为主,迭代会更快,新晋玩家更容易“站在前人的肩上”做出一些学术成果;所以也是一些新晋创业公司最关注的点之一。
1. 人形/四足机器人基础运动控制
宇树
通过github官方demo,一些宇树释放的技术展示和相关采访侧面了解,目前的技术实现以仿真+强化学习+sim2real为主。 宇树官方示例demo https://github.com/unitreerobotics/unitree_rl_gym/blob/main/legged_gym/scripts/train.py 基于IssacGym,RL算法用PPO。 CMU基于宇树本体做的ASAP https://github.com/LeCAR-Lab/ASAP
智元
未找到明确公开的资料,有朋友了解可以补充下。 从一些发表的文章和专利看侧面了解,似乎很传统,刚体运动学,传统运动控制方法做WBC(whole-body-control);类似MPC做各种约束。 参考 : https://zhuanlan.zhihu.com/p/15986664010 https://aigc.izzi.cn/article/24032.html
Tien Kung-Lab框架
北京亦庄人形机器人中心开源强化学习运动控制。 基于IssacLab, 融合人体运动数据与对抗运动先验(AMP)奖励,实现天工Ultra机器人马拉松21公里奔跑(2小时40分),提升地形泛化性。 https://mp.weixin.qq.com/s/ggDHVOH0VzlBCa5tzGwaUg。 类似的还有百度飞桨自进化步态生成器,联合进化算法和SAC,四足机器人在独木桥、洞穴场景中自主学习小碎步态。
还有其他一些资料不再展开,整体上以RL+sim2real为主,模型一般都较小,对算力消耗不大。部分还在用传统的运动控制算法。
个人觉得实际上目前业内解决的并不是非常好,除了个别特调的demo,全场景都能像人或者动物一样“丝滑”的动作还是有一定距离的。看去年的机器人马拉松比赛各种摔倒,今年机器人运动会,宇树慢动作+小碎步,春晚还得被牵着脖子,即使特斯拉的机器人也是小碎步降低摔倒可能。有些朋友觉得底层控制“很成熟了”,其实也未必。
2. 复杂/长程操作任务
到现在范式逐渐收敛,主要用的架构是一个预训练的ViT编码器,接一个预训练好的LLM,然后使用diffusion/流匹配/autoregressive的transoformer进行action的输出。训练模式就先在跨本体大数据集上训练,再通过post training微调策略实现跨机器人泛化控制。

算力方面,参考pi0,预训练阶段利用10,000小时多机器人数据学习通用物理能力,微调阶段1-5小时到上百小时的任务数据。VLA模型规格方面,如pi0 是33亿参数(3B VL+300M Action),HRDT是20亿,diffusion是80亿-100亿级别。由于模型较大,实际机器人执行需要较高频率,很多实际部署案例会分开VL和A为两套系统(快/慢系统、云端/本地系统):
Phisical Intelligence的pi系列
参考第一部分,不再复述。
Google Gemini Robotics
云端 VLA 骨干 (Gemini Robotics backbone): Gemini Robotics-ER 的一个蒸馏版本 ;Gemini Robotics-ER 本身就是 Gemini 2.0 模型经过增强具身推理能力后的产物 。负责处理多模态输入(包括图像、文本指令、机器人本体感受等)并执行高层次的具身推理和规划。延迟经过优化,160 毫秒附近。
本地动作解码器 (Local action decoder):轻量级组件,运行在机器人本体的机载计算机上(onboard computer) 。接收来自云端 VLA 骨干的潜在动作(latent actions)或高层次规划指令,并将其解码、转换为机器人执行器能够理解和执行的低级控制信号(executable control signals)或动作块(action chunks) 。本地解码器也用于补偿云端骨干带来的网络延迟,确保机器人能够以高频率(例如 50 Hz 的有效控制频率)进行平稳、反应灵敏的运动 。

Nvidia的Groot

Figure AI的Helix系列“快慢架构”
demo很不错,叠衣服是看过众多演示里面最丝滑的:
https://www.figure.ai/news/helix-learns-to-fold-laundry
https://zhuanlan.zhihu.com/p/1939227350622529030

3
总结和主要挑战
基础运动控制 - 目前主流方案是Sim2Real和工程化: 基础控制方面更多需要工程上的设计,依赖更好的仿真器、更接近真实的机器人模型和适当的domain randomlization,reward shaping设计,sim2real等。 另外如何支持外部指令输入(如goal conditioned)也是一个难点。
复杂长程任务(难以一个简单reward描述) - VLA和Diffusion/FM: Diffusion和VLA本质上在用训练数据的分布去描述任务目标,因此潜在可以执行可以更复杂的任务。
不像自动驾驶,机器人演示数据依赖高成本遥操作(如Universal Manipulation Interface)。 VLA模型依赖跨本体数据集,人类示教数据成本高,量少,且采集形式往往各不一致(如Open X-Embodiment),数据质量参差制约泛化。π0.5通过动作抽象层缓解,但本体差异仍是比较大的问题。
任务过程、目标定义 / 人类Intention传递: 目前工作不是很highlight这一项,但我觉得是比较重要的,会影响整个系统的架构和方法范式。 强化学习主要通过reward函数来定义,部分goal-conditioned RL会输入一个变量给模型(依据任务不同,比如可能是期望目标位置/期望力矩/当前状态的目标指示等)。 Diffusion和VLA本质上在用训练数据的分布去描述目标,因此潜在可以执行可以更复杂的任务,且可以通过VLA中的L,用语言去索引这个任务目标的分布;当前对复杂任务学习和映射能力不够的情况下,则需要用特定的人类示教数据post traning,引导模型去输出相应的action token。
有可能的一种融合方式是,对复杂长程任务可以用VL分阶段地提供RL部分的reward function作用(不一定具体reward fun这种形式),利用预训练VL模型提供阶段目标划分和更平滑细化的引导。比如收拾桌面任务细化成一系列子任务,接近某个物体、抓取某个物体、放到哪个位置这样。子任务再让RL去做。子任务除了RL,结合3D信息(RGBD或双目)也是必要的。另一个未来可能的方向我觉得是根据多模态输入结合环境context预测任务目标/所服务人员的intention,属于更上游链路的一环,比如有时候人类保姆阿姨做什么,也往往不需要很复杂或者明确的指示。
技术路线争论
看下最近的方法范式和路线之争论:


我觉得主要是因为思考的出发点不一样。
宇树思考出发点是机器人本体控制和稳定可靠的运动控制工程实现,是个跟物理世界交互的RL问题,有明确的、很容易数学形式表达的奖励函数;人类的结构、控制律跟机器并不一样,学习海量的人类的behavior不一定会让他变得更好,因此更依赖模拟器和sim2real,而不强依赖VLA和数据。 对于更上层的精细操作和复杂任务,特别是需要跟人交互或涉及到理解人的意图/想法目的(如何折衣服符合人类的喜好,折好后放到哪里"reward"更大,如何收拾桌面符合人类"整洁"的定义,这些都是比较模糊的,更进一步地,一些长程任务如餐后收拾桌面和洗餐具、洗衣服烘干和晾晒等,则更难用reward shapping规则化地描述),这些任务规划则更依赖VLA和数据,甚至某些任务需要用特定的人类示教数据post traning来做任务定义,引导模型去输出相应的action token,所以目前除了VLA还没有更好的办法。
大约2018年时候在地平线AGI实验室工作时候,一次徐伟老师来北京,跟畅哥一起吃饭有讨论类似问题,具体记不太清了,大概逻辑是:人类智能来自于哪里,从脊椎动物算,数千万年上亿年的与自然交互和数百万年人类社群之间交互的进化过程。AGI的实现,要么重走这个过程通过环境交互涌现出AGI(对应真实世界/仿真环境中的RL);要么就是从海量人类的behavior中学习映射来实现AGI(对应当时的模仿学习,以及后来的现在的大语言模型、端到端、VLA等)。所以我觉得,目前来说偏底层、在解决某种控制律(双腿行走平衡跳跃等)、容易定义显式reward function的任务更适合前者;引入人类喜好、涉及语言描述、分阶段的复杂长程任务会更适合后者。
END
智猩猩矩阵号各专所长,点击名片关注