第一部分基本收录情况项目内容论文全名π0​: A Vision-Language-Action Flow Model for General Robot Control中文译名《π0​面向通用机器人控制的视觉—语言—动作流模型》主要团队团队Physical IntelligencePI美国旧金山机器人基础模型团队正式会议Robotics: Science and Systems XXI会议简称RSS 2025会议时间2025年6月21日至25日会议地点美国洛杉矶南加州大学正式论文编号Paper 10正式DOI10.15607/RSS.2025.XXI.010会议分组Session 2VLA Models作者团队Physical Intelligence论文类型VLA、机器人基础模型、跨具身学习、模仿学习基础VLMPaliGemma 3B动作专家约300M参数总参数量约3.3B动作生成Conditional Flow Matching动作块长度H50机器人数据超过10000小时自有机器人配置7种自有任务数量68项控制频率最高50Hz上传版本arXiv v42026年1月8日17页第二部分论文要解决的核心问题如何在保留预训练 VLM 强大视觉语言知识的同时直接生成高频、连续、精细的机器人 Action Chunk从而实现通用且灵巧的机器人控制1OpenVLA / RT-2它们的优势是Pretrained VLM ↓ 强视觉语义 强语言理解 Internet-scale knowledge ↓ Robot Action但 Action 的做法是continuous action ↓ discretize ↓ action token ↓ autoregressive decoding问题在于① Robot action 本质是连续的比如x0.013,y−0.021,θ0.008强行离散成 token 会引入误差。② 高频动作逐 token 解码效率低灵巧任务可能要求20 Hz / 50 Hz而一个大 LLM 一维一维 autoregressive 解动作本来就不是为这种控制频率设计的。③ Single-step action 缺少时间一致性OpenVLA 不支持 action chunking而 π0 论文甚至直接把这一点作为它在 dexterous tasks 上表现差的重要原因。OpenVLA 确实会生成一串 Action Tokens但这串 token 表示的是“同一个时刻的一次 7D 动作”不是未来多个时间步的动作序列。OpenVLA 的输出可以写成这 7 个动作维度分别被离散化然后 Llama 自回归生成 7 个 Action Tokens它们共同表示的是一个时刻的一个 7D action而不是2Diffusion Policy / Octo它们已经知道continuous generative action modeling 很适合机器人。Diffusion PolicyObservation ↓ Diffusion ↓ Continuous Action Chunk但是Diffusion Policy 没有强大的 pretrained VLMOcto 的整体 representational capacity 又比大型 VLA 小很多。π0 的 Figure 7 讨论里作者就是这么解释的Octo 有 action chunk但表示能力相对有限因此关键是把大模型能力和 diffusion/flow 式复杂动作建模结合起来。3整体原因总结Autoregressive VLA语义能力强但连续高频动作建模较弱Diffusion-style policy 动作建模强却缺乏大型 pretrained VLM 的知识与表示能力。于是 π0 要把两条线合起来Pretrained VLMGenerative Continuous Action Model第三部分π0​的整体框架1π0​的数据和模型来源①从预训练 VLM 到机器人基础模型以预训练 PaliGemma 作为视觉语言 Backbone加入 Robot State 与 Action Expert再通过大规模跨机器人数据继续训练将 Internet 视觉语言知识转化为通用机器人控制能力。将已经训练好的PaliGemma加入机器人状态输入和动作专家再使用大规模跨机器人数据训练SigLIP400M视觉-语言多模态模型ViT 图像编码器 BERT 文本编码器负责处理 RGB 图像把图像变成视觉特征 / visual embeddings。Gemma2.6B单模态语言模型负责语言和多模态 Transformer 推理把视觉信息和语言指令结合起来理解。然后使用大规模跨机器人数据继续预训练→π0​​PaliGemma 提供视觉语义语言理解视觉-语言对齐Internet-scale 常识机器人预训练再补上机器人状态理解动作生成跨机器人控制能力物理交互经验最后得到Internet视觉语言知识大规模机器人经验π0​ 的通用能力​论文 Figure 3 的逻辑其实就是这样PaliGemma 初始化 VLM backbone再加入 Action Expert并用包含自有灵巧操作数据和开放机器人数据的 pre-training mixture 共同训练。2高质量后训练微调针对洗衣、装箱、清理桌面等复杂任务再使用精选高质量示范进行微调基础 π0​高质量任务数据→专用高性能策略图1从整体上展示了π0​的数据来源、模型结构和三种使用方式。左侧是Physical Intelligence自建的跨具身机器人数据覆盖单臂、双臂和移动操作机器人以及清理桌面、装食品、做咖啡、清空烘干机和组装纸箱等多种操作上方还引入互联网规模视觉语言预训练和Open X-Embodiment数据。中央的π0​由预训练VLM和独立Action Expert组成VLM负责理解图像与语言动作专家通过Flow Matching生成连续动作。右侧展示三种应用对于预训练分布内任务模型可直接根据语言提示执行对于复杂困难任务可利用高质量数据进行专门后训练对于预训练中没有的新任务则可用较少目标域数据进行高效后训练。3模型的输入与输出​在真实时刻的观测写成多张 RGB 图像语言指令机器人本体状态其中第个摄像头图像通常为 2 或 3 个摄像头语言指令​机器人本体状态例如关节角。模型输出的是未来动作块论文中H50​ 也就是每次同时生成未来50个连续动作。这里的“动作token”与OpenVLA的动作token不同。OpenVLA中的动作token是离散词表ID而π0​中的动作token只是Transformer序列中的一个连续动作位置。它保存的是连续动作向量而不是从256个离散类别中选择一个编号。4VLM Expertπ0​使用PaliGemma作为基础VLMPaliGemma负责处理[图像,语言]RGB图像语言指令图像—语言语义关联。图像首先经过视觉编码器再被映射到与语言token相同的embedding空间语言则经过语言Tokenizer和Gemma TransformerPaliGemma约有3B参数论文选择它主要是因为已具有互联网规模语义知识参数量小于超大型VLM更适合实时机器人控制。论文强调理论上该框架并不局限于PaliGemma也可以替换为其他预训练VLM。5Action Expert为了让VLM处理机器人连续动作论文加入了Action Expert动作专家。负责处理[机器人状态,带噪动作块]它从头初始化约有300M参数6VLM Expert和Action Expert相互结合两个Expert 它们通过Self-Attention交换信息共同工作视觉语言表示↔机器人状态与动作表示最终模型总参数量约为3B0.3B3.3B图3展示了π0从多源数据输入到跨机器人连续动作输出的完整架构。左侧训练数据由Physical Intelligence自建的π机器人数据、互联网图文预训练知识以及Open X-Embodiment数据组成。当前机器人通常提供三路图像这些图像分别经过ViT视觉编码器语言指令如“fold shirt”则以语言token形式输入Gemma语言模型图像和语言由预训练VLM处理图中将其具体表示为约400M参数的SigLIP视觉编码器和约2.6B参数的Gemma语言模型。机器人状态和带噪动作块进入约300M参数的Action Expert动作专家在视觉、语言和机器人状态条件下通过Flow Matching将随机噪声逐步转换为未来动作序列。右侧表示同一模型可以输出14自由度双臂动作、包含移动底盘的高维动作以及7或8自由度单臂动作。7分块注意力结构π0​的输入分为三个注意力块[图像语言]、[机器人状态]、[带噪动作块]即注意力规则是每个块内部使用双向注意力前面的块不能看到后面的块后面的动作块可以看到前面的全部图像、语言和状态。因此Action Expert 在计算某一个未来动作时可以通过 Attention 同时参考视觉信息、语言任务、机器人当前状态以及未来动作序列中其他动作位置的信息但图像和语言 Token 无法查看后面的动作 Token这样可以尽量保持PaliGemma原有输入分布减少加入机器人信息后对VLM表示的破坏。Flow Matching 推理要迭代大约 10 次但这 10 次中图像、语言和机器人当前状态都没变只有 noisy action 在变所以​ 前面已经算好的 Attention Key/Value 可以重复利用不必每次重新计算从而降低推理成本。8Flow Matching训练原理目标是真正学习即在当前图像、语言和机器人状态下合理的连续动作块分布。①取真实动作从示范中取出真实动作块②采样随机噪声③在噪声与真实动作之间插值选择一个Flow时间随机选择构造当时是纯随机噪声。当时是真实动作。④定义正确的移动方向在 Flow Matching 训练时我们已经知道“随机噪声应该最终变成哪一个真实 Action Chunk”所以可以直接算出从噪声指向真实动作的目标速度向量。从噪声走向真实动作的目标速度为表示目标速度场 / 正确速度表示“当前位于​ 时为了沿正确路径走向真实动作应该具有怎样的速度”速度的值是通过距离对时间求导得到的⑤让模型预测速度场π0 训练时不是预测“加了什么噪声”而是预测“应该往哪个方向移动的速度”训练损失是即意思是给模型一个处于噪声和真实动作之间的动作状态让它判断接下来应该朝哪个方向移动才能走向合理的真实动作。9Flow Matching推理与Diffusion Policy的区别推理时模型从纯高斯噪声开始然后按照学习到的速度场向前移动论文使用也就是从0-1分成10段因此共运行10次积分也就是走10步这里的“积分”本质就是不断把“速度×小时间”累加到当前动作上​最终得到干净动作块。①与Diffusion Policy的共同点两者都从随机噪声开始多次迭代生成连续动作能表示多模态动作分布。②主要区别Diffusion Policy通常学习当前动作中包含什么噪声然后逐步去噪。π0​学习当前动作应该以什么速度向真实动作流动Diffusion逐步去掉噪声​Flow Matching沿速度场把噪声运输到动作分布​③Flow Matching的优势Flow Matching 更适合它想做的“大型 VLM 连续高频 Action Chunk”这一整套架构但是论文没有证明“Flow Matching 比 Diffusion Policy 全面更好。”因为论文其实没有做一个完全控制变量的Flow Matching vs Diffusion Policy消融来证明这一点。它真正证明的是强 VLMFlow Matching Action Chunk​这个组合在它的大规模 dexterous robot setting 里非常有效。10Action Chunking与实时控制模型一次生成H50 个动作。如果机器人控制频率为50Hz那么50步对应约1秒动作。但模型通常不会把全部50步都执行完才重新推理。论文中的执行方式是UR5e和Franka运行在20Hz每执行16步后重新推理其他50Hz机器人每执行25步后重新推理。也就是20Hz:16步0.8秒 50Hz:25步0.5秒这些动作前缀在执行期间是开环的执行完后再重新观察和生成新的动作块。在RTX 4090上论文报告模型部分时间图像编码器14 ms观测前向计算32 ms10次Flow动作计算27 ms网络延迟13 ms本地总推理时间73 ms远程总推理时间86 ms11跨机器人接口统一图5展示了π0​自有训练数据中的七类机器人配置包括双臂UR5e、双臂Trossen、双臂ARX、单臂UR5e、Franka、移动Trossen和移动Fibocom。前三种主要测试双臂协同操作UR5e和Franka代表7或8维单臂控制移动Trossen和移动Fibocom则在双臂动作之外进一步加入移动底盘控制。不同平台具有不同摄像头数量、关节结构和动作维数例如单臂UR5e为7维状态与动作双臂平台通常为14维而移动机器人可达到16或17维动作。论文将这些平台联合输入同一个π0​模型通过图像槽位屏蔽、状态与动作零填充等方式统一接口从而使模型同时学习单臂、双臂和移动操作技能。不同机器人具有不同的摄像头数量关节数手臂数量夹爪移动底盘动作维度。π0​采用统一槽位方案。①图像槽位最多预留3个摄像头位置。没有某个摄像头时Mask掉对应图像Token②状态与动作维度状态和动作统一扩展到最大18维低维机器人使用零填充。例如[7维动作]→[7个真实值11个零]③七种机器人配置配置摄像头状态动作维数UR5e27双臂UR5e314Franka28双臂Trossen314双臂ARXAgileX314移动TrossenARX3动作16维移动Fibocom3动作17维因此同一个模型可以联合训练单臂双臂移动操作机器人但零填充只是统一接口并不自动保证不同机器人之间一定产生正迁移。12预训练数据组成论文使用超过10000小时的机器人数据。Physical Intelligence自有数据约包含903M个时间步其中106M来自单臂机器人797M来自双臂机器人。自有数据覆盖7种机器人配置和68项广义任务训练混合中约9.1%来自开放数据包括OXEBridgeData V2DROID。这些比例是训练采样混合权重不等于原始数据文件大小的简单占比。图4使用两个饼图区分“原始数据步数占比”和“训练时实际采样权重”。左图显示原始数据量高度不均衡其中双臂ARX约占全部时间步的51%双臂AgileX、UR5e和双臂Trossen分别约占10%OXE Magic Soup约占5%其余移动机器人、双臂UR5e和Franka数据占比较小。右图则是经过任务—机器人重加权后的训练采样比例双臂ARX降至约34.2%双臂AgileX约16.3%UR5e和双臂Trossen各约13.7%开放数据OXE Magic Soup提高到约9.1%较小机器人数据的采样权重也得到相对提升。两张图的差异说明作者没有按照原始数据量直接采样而是利用 n0.43 权重压低超大数据集的支配作用提高小型机器人和开放数据在训练中的可见度以兼顾数据规模与跨机器人多样性。13数据平衡与预训练①预训练数据平衡论文里说他们的数据量并不均衡例如洗衣折叠这类比较困难的任务数据明显更多组合有个样本情况下所以对每个“机器人-任务组合”按照来设置权重而不是直接按样本数来决定它在训练中的占比。例如数据量扩大100倍权重只增加约7.2倍而不是100倍。由于指数小于1大数据集的权重仍会增加但增长速度明显变慢。这样可以防止洗衣折叠等大数据集完全支配训练。②预训练数据的作用互联网 VLM 预训练​→π0​ 机器人预训练​→下游任务后训练预训练数据强调广泛任务不同质量不同机器人错误状态纠正和恢复行为。它让模型“见得多”。③后训练数据的作用后训练数据强调动作流畅策略一致高成功率高质量专家行为。它让模型“做得好”。论文的核心观点是预训练教会模型知识、覆盖与恢复​ 后训练教会模型怎样高效、稳定地完成目标任务​简单任务可能只需要约5小时后训练数据而最复杂任务使用100小时以上。第四部分实验效果1实验设计与评估框架从基础能力到复杂任务适应图6展示了预训练完成后、不经过任务专用后训练的基础π0​所执行的五项任务。第一行是双臂衬衫折叠要求将平铺的T恤折好第二行是简单Bussing清理桌面需要将餐具和垃圾分类放入正确容器第三行是困难Bussing物体数量更多、遮挡更严重并包含预训练中没有出现的个别物体第四行是食品装袋需要识别并将多种食品放入购物袋第五行是从烤面包机中取出面包并放到指定位置。这五项任务共同覆盖柔性物体操作、语义分类、密集场景抓取、多阶段动作和双臂协同用于测试基础模型能否仅根据语言提示直接调用预训练能力。2基础模型直接控制实验比较方法包括完整π0​训练700k步π0​-parity训练160k步π0​-small不使用VLM使用的是小型搭建transformerOpenVLA只用UR5e数据训练的OpenVLAOcto。主要结论是完整π0​在五项任务上均达到最高结果衬衫折叠和简单Bussing接近满分即使只训练160k步的计算量对齐版本也超过全部基线π0​-small也普遍超过OpenVLA和Octo。论文认为OpenVLA在这些任务上表现较弱的重要原因是离散动作自回归不原生支持动作块不适合高频连续控制。Octo支持动作块但模型容量和视觉语言语义能力弱于π0​。不过比较并非完全无争议完整π0​训练700k步而OpenVLA为160k、Octo为320k。作者加入160k步的parity版本缓解了这一问题但不同模型规模、初始化和训练实现仍然不可能完全等价。图7比较了完整π0​、计算量对齐版π0​-parity、无VLM初始化的π0​-small、OpenVLA、仅用UR5e数据训练的OpenVLA以及Octo。纵轴是平均任务进度不是所有任务都采用简单成功或失败指标。完整π0​在五项任务中均显著领先衬衫折叠接近1.0简单Bussing约0.97困难Bussing约0.88食品装袋约0.79从烤面包机取面包约0.75。即使只训练160k步、与基线更新次数大致对齐的π0​-parity也在所有任务上超过OpenVLA和Octoπ0​-small虽然明显弱于完整模型但通常仍超过这些基线。结果说明高容量VLM语义表示、动作块和Flow Matching连续动作生成的结合对高频、双臂和长序列控制非常重要。不过完整π0​训练700k步基线训练步数和模型规模并不完全一致因此最公平的证据主要来自parity版本而不是只比较完整模型。3语言理解与新任务微调实验图8展示了语言能力评估使用的三项多阶段任务。第一行是Bussing机器人需要根据语言指令识别当前应该拿起的物体并将餐具放入收纳箱、将垃圾放入垃圾桶第二行是Table Setting机器人从容器中取出餐垫、盘子、餐具、杯子和餐巾并按照中间语言指令摆放或调整第三行是Grocery Bagging机器人需要从多种食品中选择语言指定的物品并放入购物袋。每个完整任务由大量约2秒的语言标注片段组成因此该实验不仅测试模型是否理解“清理桌面”这类总体命令也测试它能否在长任务过程中持续执行“拿起某物—放到某处”等细粒度语言指令。图9左侧比较π0​与无VLM初始化的π0​-small的语言跟随准确率。在Bussing、Grocery Bagging和Table Setting中π0​分别约为0.95、0.70和0.90而π0​-small约为0.70、0.31和0.30说明互联网规模VLM预训练显著提高了机器人对物体名称、目标位置和中间语言指令的理解。右侧比较不同指令形式Flat只提供总体任务命令Human由人类专家持续给出中间子任务HL由外部高层VLM自动产生中间命令。对完整π0​而言人类中间指令通常获得最高任务进度高层VLM指令也普遍优于只给总体命令而π0​-small由于语言能力较弱即使加入中间指令也难以稳定获益。因此该图说明VLM预训练的作用不仅是增强视觉识别还使低层机器人策略能够真正利用语言规划结果。4新任务微调图10展示了五项下游微调任务并按照它们与预训练经验的相似程度形成由易到难的层次。第一行Stack Bowls要求将不同尺寸的碗依次堆叠由于预训练Bussing任务已包含餐具抓取与搬运因此较为接近预训练分布第二行Towel Folding与预训练中的衬衫折叠相似同样属于较容易迁移的任务第三行Tupperware in Microwave要求打开微波炉、放入容器并关闭微波炉其中容器操作较熟悉但微波炉是未见物体第四行Items in Drawer需要Franka打开抽屉、放入多个物体再关闭抽屉该机器人—任务组合在预训练中缺少相似经验第五行Paper Towel Replacement需要拆下旧纸芯并安装新纸卷包含新的物体和动作模式被划为困难任务。该图用于检验预训练能否从相似技能迁移到包含新物体、新机构和新运动模式的任务。图11比较了使用1、5和10小时目标域数据时预训练π0​、从头训练的π0​架构、Diffusion Policy、ACT、OpenVLA和Octo的任务进度。左上角综合结果显示预训练π0​在1小时数据时约达到0.57明显高于从头训练约0.39和Diffusion Policy约0.2使用5小时后预训练π0​提高到约0.8610小时后维持相近水平。Paper Towel Replacement中预训练模型在1小时数据时已约0.82而scratch约0.38Towel Folding中5小时预训练模型接近满分明显高于scratch约0.8Stack Bowls中预训练模型从1小时起就接近0.9以上。Items in Drawer中预训练和scratch在5小时后都接近满分说明该任务数据充足后预训练优势缩小Tupperware任务中的曲线则并非严格单调部分数据规模下scratch或其他方法与预训练模型相近。整体结论是预训练通常显著提高小数据条件下的学习效率但并不保证每个任务和每个数据量下都严格优于从头训练。5复杂多阶段任务实验图2展示了π0控制移动双臂机器人完成洗衣任务的连续过程机器人首先移动到烘干机附近从烘干机中取出衣物并放入洗衣篮随后携带洗衣篮移动到折衣桌再将衣物逐件取出、展开和折叠。该任务不仅包含双臂柔性物体操作还同时涉及移动底盘控制、场景导航、衣物抓取、搬运、展开和折叠等多个阶段。论文用这一任务说明π0不是只完成几秒钟的单次抓取而能够以预训练模型为基础通过高质量后训练执行持续数分钟、由大量子技能组成的长时程机器人任务。图12展示了论文最困难的一组复杂任务。第一行是固定双臂机器人从随机皱缩状态开始取出并折叠衣物第二行是移动双臂机器人完成衣物搬运和折叠第三行是清理真实午餐桌需要识别餐具与垃圾、处理遮挡并合理安排顺序第四行是利用双臂折叠和支撑柔性纸板来组装纸箱第五行是将易碎、易滑的鸡蛋逐个放入蛋盒并合上盒盖第六行是将多种食品装入外带盒并用双臂闭合。它们需要组合抓取、搬运、折叠、压平、堆叠、分类和重试等数十种局部行为同时处理柔性衣物、纸板、鸡蛋等复杂物理属性因此比单次抓取或抽屉开启任务更能检验模型的长时程策略、双臂协调和错误恢复能力。图13比较三种策略完整的预训练后再微调模型、使用相同下游数据从头训练的模型以及只使用预训练模型直接运行的Out-of-box模型。上图为论文标记为预训练中已有的任务完整微调π0​在洗衣折叠、桌面清理、移动洗衣和烘干机卸载中分别约达到0.83、0.89、0.93和0.72均明显高于直接运行和多数scratch结果说明预训练提供广泛基础而高质量后训练使策略更加流畅和专门化。下图为预训练中没有的任务完整模型在纸箱组装约0.64、外带盒约0.70、鸡蛋装盒约0.84前两项明显高于scratch但鸡蛋装盒中scratch约0.89略高于预训练模型说明跨任务预训练并非始终产生正迁移。总体而言完整模型在所有复杂任务上都超过最大任务进度的50%并在最困难任务中通常表现最好但仍未达到稳定接近100%的可靠水平。第二十部分创新和引入下篇工作FAST一、主要创新创新1首个高频Flow Matching VLA框架将预训练VLM与连续Flow Matching动作生成结合VLM语义连续动作流解决了此前VLA语言能力强但连续控制能力不足的问题。创新2独立动作专家为机器人状态和动作提供一套独立但可与VLM交互的Transformer权重使模型既保留VLM知识又能学习机器人特有的连续表示。创新350步高频动作块一次生成50步动作可用于最高50Hz的双臂和移动操作控制。创新4大规模跨具身数据联合单臂、双臂、移动操作机器人以及开放机器人数据和超过10000小时内部数据。二、FAST的解决思路原始 π₀VLM→Action Expert→Flow Matching→连续动作​它的思路是既然动作本来就是连续的那我干脆别 token 化直接生成连续动作。而 π₀-FASTVLM→FAST Action Tokens→Autoregressive Prediction→Decode→连续动作​它的思路是我还是想用 LLM 最擅长的 next-token prediction只不过我要设计一种更聪明的 action tokenizer。主要原因是自回归生成action token的问题高频动作→相邻动作高度冗余→token 序列巨长且高度相关→AR next-token 很难学