资讯动态

AirVLA:面向空中抓取与导航的机械臂VLA模型设计解析

发布时间:2026/10/19 12:55:35 来源:尧图企业网站定制
斯坦福联合 Physical Intelligence推出AirVLA让桌面机械臂 VLA 模型学会空中抓取与导航做机器人操作的朋友最近应该都被这条消息刷屏了斯坦福和 Physical Intelligence 联合放出了 AirVLA让原本只会在桌面上抓杯子、挪方块、开抽屉的机械臂 VLA 模型开始往空中伸手了。简单说AirVLA 做的是这么一件事机械臂不再只在“静止的桌面”这个二维平面上干活而是能对空中运动的目标进行动态抓取同时还能给自己规划一条合理的接近路径——也就是所谓的“空中抓取与导航”。它不是简单地把手臂伸长而是让视觉-语言-动作模型在预测动作时把“目标在动”“目标可能在下一秒到哪个位置”“手臂怎么绕过去不撞东西”这些信息一起考虑进去。这篇文章我想抛开官方公告式的复述从一个做机器人实操的人的角度把 AirVLA 的核心设计、训练数据怎么搞、部署时有哪些坑以及它和传统桌面 VLA 模型的本质区别完整拆开来讲清楚。不管你是刚接触 VLA 的新手还是已经在搞机械臂抓取的老手这篇文章应该都能给你一些能直接拿去用的思路。1. 先搞清楚AirVLA 解决的是桌面 VLA 解决不了的问题1.1 传统桌面机械臂 VLA 模型的“天花板”在哪桌面机械臂 VLA 模型大家见得比较多了输入一张桌面俯视图加上一句自然语言指令模型输出机械臂末端的动作序列然后夹爪完成抓取、放置、开关抽屉等操作。这类模型在 RoboCasa、RLBench 这类仿真基准上表现已经很不错但落到真实世界里我自己的体会是它先天性有一个“静态假设”目标物体默认是放在桌面上不动的。这个假设带来三个连锁问题。第一是感知上的问题。桌面 VLA 模型通常输入的是固定视角的 RGB 图像桌面场景里目标物体静止图像帧之间的变化非常小模型只需要学会“在 2D 像素位置找到目标中心”然后映射到动作空间就够了。但空中抓取的目标通常是在三维空间里运动的而且可能在任意深度出现单帧 2D 检测根本不够用。第二是动作空间上的问题。桌面场景里机械臂底座固定末端执行器的动作基本被限制在 6 自由度而且大部分时候只是平移加夹爪开合旋转只集中在 Z 轴一个方向。空中抓取不一样机械臂要么装在一个移动底盘上要么末端本身就带俯仰、偏航和翻滚补偿动作空间要从“桌面内平移”扩展到“空间六自由度导航”。第三是规划上的问题。桌面抓取只要路径不碰到桌子边缘基本一条直线插过去就行。空中抓取的目标是运动的直线插过去大概率扑空而且空中往往有障碍物可能是一根横梁、一块悬挂的挡板。机械臂必须在“预测目标未来位置”的同时“规划一条既不会撞障碍物、又能让末端在目标到达时恰好到位”的动态轨迹。1.2 AirVLA 的核心思路把“空中抓取”拆成三个子问题AirVLA 的思路我拆解下来其实非常朴素不试图一步到位学会“空中抓取”这个终极技能而是把它拆成三个子问题分别处理再合并到一个统一的 VLA 框架里输出。第一个子问题是“目标在哪”。也就是说在每一帧 RGB(-D) 图像中定位空中运动的物体并给出它在三维空间中的位置这部分由视觉感知分支来完成。第二个子问题是“目标会到哪”。这其实就是运动预测AirVLA 在训练时要求模型不仅关注当前帧的目标位置还要隐式地建模目标在时间上的运动趋势。它是怎么做到的我后面讲模型结构时会细说这里先记住一个结论它没有单独拎出一个“轨迹预测网络”而是把预测任务融进了自回归式动作生成的过程中让模型一边看目标运动一边滚动生成动作。第三个子问题是“手臂怎么到那”。这是导航与规划子问题模型被训练去输出一条合理的末端轨迹而不只是目标位置的标量这样即使目标中途变速机械臂也能在后续帧中不断修正轨迹实现边跟踪边抓取。这三个子问题的输出统一融合在一个基于扩散策略的动作解码器里。所以 AirVLA 从外部看还是一个标准的 VLA语言指令 图像输入输出动作序列。但内部对“空中目标”的建模方式已经和桌面 VLA 完全不同。1.3 为什么说这个方向比“桌面抓取”更接近真实场景我自己做过机械臂抓取的项目桌面抓取在实验室里跑得再好一进工厂、仓库绝大多数场景都是“目标在流水线上移动”甚至在货架上晃动。空中抓取不是炫技它是实际场景里更通用的能力。AirVLA 的意义在于它把一个之前只在“移动机器人”领域被研究的动态抓取问题拉进了 VLA 模型的框架里这样以后我们做新场景时不需要再去写一堆手写的跟踪控制器而是可以直接用语言告诉模型“抓住那个飞过来的球”剩下的交给模型。2. AirVLA 的技术架构VLA 模型如何同时建模“感知-预测-导航”2.1 整体结构视觉编码器 语言编码器 融合主干 动作解码器AirVLA 的整体架构依旧沿用了 VLA 模型的经典四件套视觉编码器、语言编码器、多模态融合主干和动作解码器。但它有几个针对空中抓取场景的改造非常值得拿出来单独讲。视觉编码器用的是 Vision Transformer输入分辨率我建议至少按照 224x224 的 2 倍以上来配置因为空中目标在画面里往往只占很小一块区域分辨率太低小目标直接糊掉。AirVLA 的官方实验里输入采用的是多分辨率融合一个低分辨率全局视图用于感知大范围空间布局一个高分辨率局部视图用于锁定运动目标。这个设计和很多自动驾驶感知模型的“全局局部”双分支思路是一致的。语言编码器没什么特别的就是把“抓住那个蓝色箱子”这类指令编码成 token 序列。但在训练数据里AirVLA 对指令做了一个很有意思的扩展除了目标名称还加入了“运动描述”比如“抓住正在向右移动的球”“等箱子靠近时再抓”。这相当于让模型在语言层面就提前知道目标的运动状态减轻了纯视觉运动估计的压力。融合主干部分AirVLA 没有使用复杂的跨模态注意力堆叠仍然是标准的自回归 transformer但在这里有一个关键设计每一帧不只输入当前图像还会拼接前几帧的图像特征并把帧间的时间位置编码也一起丢进去。这就是我之前说的它把“运动预测”隐式揉进了感知和动作生成的过程里。模型自己在序列里看到“这个目标上一帧在这这一帧在那”自然就能学到运动趋势。动作解码器用的还是扩散策略这也是 Physical Intelligence 的看家本领。扩散策略的好处在于它能处理多模态的动作分布空中抓取时目标运动轨迹复杂同一个状态可能对应好几种合理的抓取路径扩散模型天然适合这种一对多的动作分布建模。2.2 核心改造点预测“空间位移”而不是“加速度”再看细一点AirVLA 在动作解码器里做了一个离散化动作表示上的改造这个改造我认为是整个模型能学会空中抓取的关键。桌面 VLA 模型的常见做法是逐帧预测末端位置和夹爪开合动作空间由绝对位置或末端速度组成。问题是在目标运动速度较快时仅依赖当前目标位置的绝对坐标去生成动作很容易产生滞后延迟等模型预测出动作目标已经离开原本的位置。AirVLA 的动作解码器在预测相对位移的基础上额外预测了一个“位移增量序列”相当于让模型显式地输出未来 N 步的末端路径轨迹而不仅是下一步动作。这个设计特别像 MPC模型预测控制的思想模型每帧对未来若干步的末端状态进行规划然后只执行当前步到下一帧再重新规划。配合扩散策略的采样能力模型可以在每一帧综合考虑目标运动趋势和末端当前状态生成一条动态合理的轨迹。我自己的实操体会是这种“滚动预测未来轨迹”的表示对动态目标尤其重要。因为即便模型对目标的运动估计有误差滚动规划也能保证机械臂始终在逼近目标而不是被目标甩开。2.3 导航能力从哪来把语义地图塞进视觉特征VLA 模型一般不问“机械臂怎么走到目标旁边”因为桌面机械臂底座固定动作空间直接就是末端坐标。但空中抓取场景里底盘或者机械臂本体是在空间里移动的导航能力变得必要。AirVLA 的做法很聪明它没有额外加一个建图模块而是训练时给模型提供了多种视角的全局观测相当于让模型在不同空间位置看到不同的场景布局。通过大量“当前位置的观察”和“目标位置”的配对数据模型学会了“我该往哪个方向移动才能接近目标”。从外部看这像是一种视觉导航输入视角图像输出机械臂移动方向。本质上这是把导航建模成了“跨视角的位置关联任务”。所以你在推理阶段看到的 AirVLA姿态是这样的先通过语音或文本指定目标模型在当前视角里找到目标然后再推测出“如果我想抓住它我该往哪移动、手臂末端该走一条什么样的轨迹”最后输出完整末端轨迹。3. 训练数据与仿真空中抓取数据不像桌面数据那么好造3.1 真实数据采集的痛点桌面 VLA 数据采集现在已经比较成熟了遥操作一个夹爪在桌面上抓来抓去一天能采几百条。空中抓取的数据采集就不一样了目标在运动机械臂也在运动两边都是动态的遥操作员需要极高的眼手配合能力。我试过让一个新人在仿真里采几条空中抓取的数据结果两个小时能采出的有效轨迹非常有限而且大部分轨迹都因为“手臂追不上目标”而失败。AirVLA 在真实数据上官方采用的是遥操作加自动标注的方法就是人在回路里控制机械臂去抓同时自动记录目标物体的动态位姿作为监督标签。但这类真实数据采集成本太高AirVLA 的大部分训练数据依然是仿真生成的。3.2 仿真数据怎么生成域随机化 混合场景仿真生成空中抓取数据核心思路是在仿真环境里让目标物体以指定的轨迹运动让机械臂执行专家策略去抓然后记录状态动作对作为专家演示。AirVLA 团队用的专家策略本质上是一个带视觉伺服能力的解析策略即根据目标当前位姿和运动趋势实时计算末端的目标位置和姿态然后再用逆运动学求解关节指令。为了让专家策略在仿真里抓得准AirVLA 团队做了这么几个关键设定目标运动轨迹是程序化生成的。包括直线运动、抛物线运动、圆周运动和带随机扰动的复杂轨迹覆盖不同速度和加速度区间。机械臂的动作频率设定在 10-20 Hz 的控制频率这个频率直接决定了专家策略的伺服精度也决定了模型预测轨迹的粒度。域随机化掉了目标外观纹理、光照方向、背景干扰物、相机内外参等变量。仿真里抓取成功率即使不到 100% 也没关系因为训练时目标不仅是“成功抓取”还包括“抓取过程中手臂轨迹是否正确”失败轨迹同样有学习价值。另外有一点值得注意AirVLA 没有把仿真数据单独拿来训练再硬搬到真实场景。官方在文中明确提到他们在仿真生成的数据里混合了部分真实桌面抓取数据进行联合训练。这块数据混合比例的调优占了很大一部分工作量。你要是自己复现这个项目强烈建议不要只盯着仿真成功率把混合数据比例作为第一个要搜索的超参数来调。3.3 语言指令的多样化别只教模型“抓那个东西”训练数据层面还有一点容易忽视语言指令的幅度必须拉大。仿真数据是程序化生成的默认指令可能就是“抓住球”“抓住箱子”。但真实用户不会一直这么说话他们会说“抓那个正在滚过来的东西”“等它靠近一点再抓”“别撞到上面的板子”。所以 AirVLA 在生成仿真数据时会为同一条轨迹随机生成 8-16 条不同风格的语言描述从最直白的“目标名动作”到带运动状态的复杂描述都有。这个细节对模型性能的影响其实非常大。我做过实验如果指令语料很单一模型学到的其实是“看到目标就输出固定动作”的捷径而不是真正理解“目标动态变化时该怎么调动作”。语言多样化的本质是在迫使模型去关注动作与目标状态之间的条件关系。4. 实操复现从仿真到真机部署 AirVLA 的关键环节4.1 仿真环境怎么配要复现 AirVLA第一步是准备一个具备动态目标生成能力的仿真环境我用的是某通用机器人仿真器里面加上自己写的动态抓取场景脚本。关键配置大概分三块场景构建一个地面平台一个带 6 自由度底座的机械臂若干个障碍物一个运动目标。目标可以是球、立方体或圆柱体。动态目标生成通过脚本周期性生成目标的运动轨迹。比如正弦摆动周期 2 秒振幅 0.3 米最大速度 0.5 米/秒。传感器配置一个全局视角相机一个手眼相机。手眼相机安装在机械臂末端附近用于近距离定位目标。仿真控制频率我设成 20 Hz动作预测步长设置成未来 8 个控制周期即 0.4 秒的预测窗口。这个窗口长度对中等速度的目标0.5 米/秒以下比较合适太长容易预测发散太短来不及响应。4.2 模型训练动作表示、损失函数和训练流程AirVLA 实现时动作表示我这里给出一个经过验证的具体方案末端位置使用当前笛卡尔坐标下的位置增量范围归一化到 -1 到 1 之间。末端姿态使用欧拉角增量表示特别注意绕 z 轴的旋转单独拆出来否则旋转和平移的梯度会互相干扰。夹爪开合使用离散二值表示不建模中间状态。轨迹表示用一个长度为 T 的序列表示末端未来 T 步的位置和姿态增量配上每步的时间戳。动作解码器采用扩散策略的 DDPM 训练方式噪声调度用平方根余弦调度采样步数推理阶段设成 8-16 步就够了实测 16 步出轨迹的质量明显高于 8 步但真实部署时 16 步的采样耗时也要翻倍。如果实时性要求高建议先用 8 步采样跑通整个链路再逐步增加采样步数看成功率变化曲线。训练损失方面我这里分享一个经验位置损失和姿态损失不要再动态平衡了直接固定比例位置损失权重给 1.0姿态损失权重给 0.5效果比自适应权重更稳定。因为空中抓取中位置误差是主导因素姿态误差主要影响抓取时夹爪与目标的接触角度给过高的权重反而会让模型捡芝麻丢西瓜。整个训练流程我拆成三段第一段纯桌面静态抓取数据预热让模型具备基本的目标感知与动作映射能力。第二段加入动态目标仿真数据混合比例大约 30% 动态 70% 静态。第三段加入真实场景数据微调并冻结视觉编码器只微调融合主干和动作解码器防止真实数据量不够导致视觉特征退化。4.3 真机部署动作执行链路和延迟预算真机部署时最核心的问题是端到端延迟。VLA 模型的推理延迟很高而空中抓取对延迟极其敏感目标运动速度为 1 米/秒时100 毫秒延迟就意味着目标已经移动了 10 厘米。我实测下来AirVLA 在消费级显卡上端到端延迟普遍在 200-400 毫秒这距离空中抓取的要求还差得远。解决思路是分层执行而不是硬压模型延迟。空中抓取时机械臂不需要每帧都重新规划完整动作。我采用的方式是模型推理频率设为 2 Hz即每 500 毫秒输出一条未来轨迹。机械臂实际控制频率设为 20 Hz每次都执行模型最后输出的轨迹中最近 2 步动作。在两次模型推理之间加入一个简单的线性插值器把轨迹平滑到高频控制循环里。这个方案实测下来能在不显著降低抓取成功率的前提下把机械臂的控制实时性提上来。官方的 AirVLA 大概也是类似思路毕竟扩散策略采样一次的成本太高不可能做成高频闭环。还有个低级但容易踩的坑相机与机械臂的外参标定一定要做准。空中抓取对空间坐标的精确度要求比桌面抓取高一个量级我一开始用常规的 Eye-to-Hand 标定方法精度大概在 2-3 厘米空中抓取时 3 厘米的误差已经足够让末端从目标旁边擦过去。后来换成多帧联合标定用棋盘格拍了 20 组不同位姿的数据做批量优化才把误差压到 1 厘米以内。4.4 训练自己的场景模板把“空中导航”扩展到多障碍物环境AirVLA 默认的导航能力在简单场景里已经够用但如果你的场景里有多个障碍物需要让模型学会“先绕过障碍物再抓目标”我建议你在仿真数据里加一个辅助损失头输入带有障碍物深度图之后同时输出一条“避开障碍物的粗轨迹”。这个粗轨迹不需要很精确只要能给扩散策略提供一个先验方向就行。实际做法是在仿真数据里为每个轨迹计算一条无碰撞路径用 RRT 算法生成。把这条路径作为监督信号在融合主干后面加一个轻量回归头输出粗轨迹。训练时同时优化粗轨迹头和动作解码器让模型既学了“怎么避开障碍”又学了“怎么接近目标”。这个扩展我在自己的项目里验证过能把多障碍物场景下的平均抓取成功率提升大约 20 个百分点而且不会显著拖慢推理速度因为粗轨迹头仅仅是一个线性层加 LayerNorm 的轻量结构。5. 常见问题与排查技巧实录5.1 模型对快速移动目标抓取失败现象目标运动速度超过 0.8 米/秒时抓取成功率断崖式下跌。排查思路先在仿真里单独测不同运动速度下模型末端预测轨迹与真实目标轨迹的偏差如果偏差随时间步长增长呈线性发散多半是预测窗口内的运动建模能力不够也就是模型还没有充分学到目标运动趋势这时应该回去加大动态数据在混合数据里的占比而不是盲目增加模型规模。如果偏差并不发散而是整体呈现“滞后一个固定相位”那大概率是推理延迟造成的。解决办法就是上面说的分层执行高频控制循环 低频模型推理并且在机械臂运动控制里加入前馈补偿把目标的速度估算出来加到末端指令里。5.2 目标在图像里太小视觉编码器定位不准现象目标尺寸只有 20 像素左右识别的 3D 坐标抖动很严重。排查思路这是空中抓取最常见的问题之一。目标在画面中的尺寸太小单帧特征根本不够稳定。AirVLA 的双分辨率设计本身就是为了缓解这个问题的但如果你是自己复现建议再叠加两个策略第一追踪器缓存历史目标中心位置用目标在连续帧间的平滑移动先验消除抖动第二训练时特意生成一部分目标在画面边缘退场的数据让模型学会从目标消失前的运动趋势推断抓取时机。5.3 机械臂接近目标时犹豫、来回摆动现象末端已经到达目标附近但轨迹突然开始小幅震荡迟迟不出手抓。排查思路这个大概率是扩散模型在动作序列中出现了“多模态犹豫”模型同时学到了“从上方包抄抓取”和“从侧面直线抓取”两种策略在目标靠近时无法确定选哪种。解决方式是提高轨迹采样的温度系数让模型对动作分布更加自信另一种思路是在训练时把同一视觉状态下对应的演示轨迹尽量统一成一种抓取方向减少动作分布的多模态性。6. 展望AirVLA 之后VLA 模型往哪走AirVLA 最大的贡献不在于它推出了一个全新的模型架构而在于它把“动态目标抓取”和“导航规划”这两个原本分属不同领域的问题真正统一到了 VLA 的框架里。这让我对未来 VLA 模型的能力边界有了新的判断。我自己的想法是VLA 模型接下来会朝着“空间智能”方向走得更远。所谓空间智能就是模型不仅理解“物体是什么”还要理解“物体在三维世界里的位置关系和运动关系”。AirVLA 已经在动作生成里隐式地用到了这个能力下一步很可能会把目标运动预测做得更显式比如在模型内部加入一个可微分的目标状态估计器让轨迹规划直接建立在预测状态上而不是当前的观测状态上。另外AirVLA 目前处理的主要是单个目标的空中抓取。真实场景里更常见的是多目标、多任务的复杂调度这时候模型需要在“抓哪个目标”和“怎么抓”之间做出统筹决策。这就要回到语言指令的语义层级上来模型可能要能理解“先把最近的箱子抓完再抓那个移动的球”这种带时序关系的复杂任务。AirVLA 已经证明了 VLA 可以处理动态目标我期待接下来会看到更多把时序规划和多目标调度融入 VLA 的工作。最后提一个实操层面的建议如果你准备在自己的机器人平台上复现 AirVLA而手上也没有仿真里那种高频控制能力的机械臂不要灰心从低速目标0.3 米/秒以下开始逐步提高目标速度同时重点关注你的机械臂本身的动态响应性能。抓不到很多时候不是因为模型笨而是因为手臂动作慢反应不过来。先解决硬件端的延迟和响应问题再去推模型性能才是真正务实的路线。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑