news 2026/9/9 3:01:04

VLA 大脑—小脑分层控制架构:从视觉语言决策到机械臂抓取苹果并放入篮子的完整执行链路

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VLA 大脑—小脑分层控制架构:从视觉语言决策到机械臂抓取苹果并放入篮子的完整执行链路

我会把“VLA 大脑 → 小脑 → 运动学/轨迹 → 伺服控制 → 电机/物理 → 反馈”拆成完整控制链,并用一组前后一致的 7 自由度单臂 + 平行夹爪示例数据贯穿“抓苹果放入篮子”。同时我会区分论文/开源实现里明确存在的接口,和工程上常见但并非 VLA 标准定义的“小脑”层。

先给一个关键结论:论文里并没有统一定义一个名为“小脑(Cerebellum)”的模块。OpenVLA 这类系统常直接输出 7 维末端增量动作,再由机器人环境做坐标变换和 IK;而π0.5\pi_0.5π0.5这类层级模型已经明确区分“高层子任务”和“低层动作专家”,这与“VLA 大脑 + 小脑”的工程抽象非常接近。

工程上最值得注意的是“动作空间”。同一个 VLA 可能输出笛卡尔末端动作(Cartesian End-Effector Action),也可能输出关节动作(Joint-Space Action)。OpenVLA 的 OXE 配置明确支持“末端Δxyz\Delta xyzΔxyz+Δ\DeltaΔRPY + 夹爪”,而 Physical Intelligence 的 DROID 部署则使用“7 个关节速度 + 1 个夹爪量、15 Hz”。所以 IK 是否出现,取决于小脑最后输出在哪个空间。

可以。下面我把它按一个真正可落地的分层具身控制(Hierarchical Embodied Control)系统拆开。

先明确一个重要事实:业界并没有统一规定一个模块必须叫“小脑(Cerebellum)”。为了和你前面的“大脑 + 小脑 + IK”讨论保持一致,我采用下面这个工程定义:

VLA 大脑→高层子任务→小脑→连续动作→IK/控制器→机器人\boxed{\text{VLA 大脑}\rightarrow\text{高层子任务}\rightarrow\text{小脑}\rightarrow\text{连续动作}\rightarrow\text{IK/控制器}\rightarrow\text{机器人}}VLA 大脑高层子任务小脑连续动作IK/控制器机器人

这种划分与π0.5\pi_{0.5}π0.5的论文结构尤其接近:它把高层推理写成“根据观测和总任务预测下一子任务”,再由动作专家根据该子任务预测低层动作序列。OpenVLA、RT-2 则证明了另一种路线:VLA 可以直接输出机器人低层动作。turn195172view0

下面以一台类似 Franka Panda 的7 自由度机械臂(7-DoF Manipulator)+平行双指夹爪(Parallel-Jaw Gripper)为例,实现:

“把桌子上的红苹果放进桌子上的篮子。”


一、先看整个系统到底分成哪些层

我建议实际系统按照下面这些层划分:

层级模块核心作用典型输出
L6VLA 大脑(VLA Brain)看懂场景、理解指令、决定下一子任务approach apple
L5小脑(Cerebellum / Action Policy)把子任务变成短时连续动作末端动作 chunk
L4动作适配器(Action Adapter)反归一化、坐标系转换、安全限幅Δx,ΔR,g\Delta x,\Delta R,gΔx,ΔR,g
L3逆运动学(Inverse Kinematics, IK)末端动作变关节目标qdesq_{\mathrm{des}}qdes
L2关节伺服控制(Joint Servo Control)关节目标变力矩/速度/位置命令τ\tauτqcmdq_{\mathrm{cmd}}qcmd
L1驱动器(Actuator / Motor Driver)执行控制命令电机转矩
L0机械系统(Robot Dynamics)真正产生运动qt+1,q˙t+1q_{t+1},\dot q_{t+1}qt+1,q˙t+1
Feedback传感器反馈(Sensor Feedback)RGB、关节、夹爪、力矩等新观测ot+1o_{t+1}ot+1

其中 OpenVLA 的官方 OXE 配置明确支持这种末端动作:

at=[Δx,Δy,Δz,Δroll,Δpitch,Δyaw,g]a_t=[\Delta x,\Delta y,\Delta z,\Delta roll,\Delta pitch,\Delta yaw,g]at=[Δx,Δy,Δz,Δroll,Δpitch,Δyaw,g]

也就是 3 维平移 + 3 维旋转 + 1 维夹爪。


二、先定义一个接近真实机械臂的场景

为了下面所有数字能够串起来,先固定坐标系。

这里定义机器人底座坐标系为:

{ B}\{B\}{B}

单位:

  • 位置:m
  • 角度:rad
  • 速度:m/s、rad/s
  • 力:N
  • 力矩:N·m

场景如下。

苹果

苹果直径约:

dapple=0.064 md_{\mathrm{apple}}=0.064\text{ m}dapple=0.064 m

苹果中心:

papple=[0.480, 0.140, 0.033]p_{\mathrm{apple}}=[0.480,\ 0.140,\ 0.033]papple=[0.480, 0.140, 0.033]

也就是:

  • 机器人前方 48 cm
  • 左侧 14 cm
  • 苹果直径约 6.4 cm

这个尺寸适合 8 cm 左右最大开口的双指夹爪。

篮子

篮子内部中心:

pbasket=[0.530, −0.220, 0.070]p_{\mathrm{basket}}=[0.530,\ -0.220,\ 0.070]pbasket=[0.530, 0.220, 0.070]

篮口高度:

zrim=0.125 mz_{\mathrm{rim}}=0.125\text{ m}zrim=0.125 m

内部有效尺寸约:

240 mm × 180 mm

因此苹果放入中心位置非常安全。

机械臂初始状态

7 个关节:

q0=[0.100,−0.550,0.120,−2.050,0.050,1.630,0.780]q_0=[0.100,-0.550,0.120,-2.050,0.050,1.630,0.780]q0=[0.100,0.550,0.120,2.050,0.050,1.630,0.780]

单位 rad。

关节速度:

q˙0=[0.030,−0.010,0.020,0,0.010,−0.020,0.010]\dot q_0=[0.030,-0.010,0.020,0,0.010,-0.020,0.010]q˙0=[0.030,0.010,0.020,0,0.010,0.020,0.010]

夹爪当前开口:

w0=0.078 mw_0=0.078\text{ m}w0=0.078 m

当前末端大致位于:

pee=[0.380, 0.000, 0.320]p_{ee}=[0.380,\ 0.000,\ 0.320]pee=[0.380, 0.000, 0.320]

末端朝下。

下面这些数字是一组工程上合理的示例数据,不代表某一台 Franka 的实际标定记录;真实系统中的q↔TCPq\leftrightarrow TCPqTCP精确对应关系由 URDF、工具坐标和标定参数决定。


三、VLA 大脑的输入到底是什么?

这是最容易混淆的地方。

不同 VLA 不完全相同。

OpenVLA 的典型接口非常简单:

image+language instruction ↓ predict_action()7-DoF action

其官方示例就是 RGB 图像 + prompt,然后predict_action()输出机器人动作。

π0/π0.5\pi_0/\pi_{0.5}π0/π0.5更进一步,会显式输入机器人自身的本体感觉(Proprioception)。Physical Intelligence 的 DROID 适配代码实际构造的是:

外部相机 RGB 腕部相机 RGB 7 个关节位置 1 个夹爪位置 语言 prompt

其中代码明确将:

joint_position: 7 + gripper_position: 1 = state: 8 dimensions

拼接后输入模型。


VLA 大脑输入示例

例如当前时刻:

instruction: "把桌子上的红苹果放进篮子。" base_rgb: dtype = uint8 shape = [224, 224, 3] wrist_rgb: dtype = uint8 shape = [224, 224, 3] joint_position: [ 0.100, -0.550, 0.120, -2.050, 0.050, 1.630, 0.780 ] gripper_position_normalized: [0.025]

于是本体状态:

qtVLA=[0.100,−0.550,0.120,−2.050,0.050,1.630,0.780,0.025]q_t^{VLA}=[0.100,-0.550,0.120,-2.050,0.050,1.630,0.780,0.025]qtVLA=[0.100,0.550,0.120,2.050,0.050,1.630,0.780,0.025]

OpenPI 的 DROID 实现同样使用外部相机和腕部相机,并将输入调整为224×224224\times224224×224

注意:

VLA 实际收到的是图像,而不是:

apple = [0.480, 0.140, 0.033] basket = [0.530, -0.220, 0.070]

这些显式坐标通常不会直接提供给 VLA。

VLA 是从图像里面“看出来”:

红苹果在左前方,篮子在右前方。

在仿真或者调试日志中,我们才可能同时知道物体的 ground truth 坐标。


四、VLA 大脑的输出是什么?

这里有两种业界主流方案。

方案 A:VLA 直接输出动作

RT-2 和 OpenVLA 更接近这种方式:

It+l→atI_t+l\rightarrow a_tIt+lat

例如:

输入: "把苹果放进篮子" + 当前 RGB 输出: [+0.008, +0.010, -0.012, 0, 0, 0, +1]

这已经是低层机器人动作。

RT-2 就是把机器人动作离散成 token,推理以后再反解成机器人动作,并执行闭环控制。


五、更适合“大脑 + 小脑”的方案

如果你明确想做:

VLA 大脑 + 小脑

那么更推荐π0.5\pi_{0.5}π0.5风格的层级。

论文中的观测可以写成:

ot=[It1,…,ItN,qt]o_t=[I_t^1,\dots,I_t^N,q_t]ot=[It1,,ItN,qt]

其中包括:

  • 多路摄像头
  • 机器人状态

总任务为:

lll

例如:

put the red apple into the basket

大脑先产生高层子任务:

l^t\hat l_tl^t

然后动作专家产生动作:

at:t+Ha_{t:t+H}at:t+H

论文实际上把这个关系写成:

πθ(at:t+H,l^∣ot,l)=πθ(at:t+H∣ot,l^)πθ(l^∣ot,l)\pi_\theta(a_{t:t+H},\hat l\mid o_t,l)=\pi_\theta(a_{t:t+H}\mid o_t,\hat l)\pi_\theta(\hat l\mid o_t,l)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 11:00:00

微信小程序+SSM全栈开发实战:家庭厨房数字化系统设计与实现

简介:在数字化转型浪潮中,软件架构设计是连接业务需求与技术实现的核心桥梁。经典的三层架构通过清晰的分层(表现层、业务逻辑层、数据访问层)实现了关注点分离,有效提升了系统的可维护性与扩展性。以Spring、SpringMV…

作者头像 李华
网站建设 2026/9/9 3:00:58

中学生英语词汇APP推荐:2026年这5个不踩雷

【摘要】中学生背单词最怕什么?词汇APP一堆,真正适合的没几个。我花了三周时间,带着几个初中生和高中生实测了市面上主流的词汇学习工具,从记忆算法、内容质量、界面干扰、家长管控四个维度做了横评,整理出5个真正适合…

作者头像 李华
网站建设 2026/9/9 3:00:17

蓝桥杯国赛“质数行者”题解:三维动态规划与质数步长路径计数

1. 项目概述:当质数遇上三维迷宫“质数行者”是第十一届蓝桥杯软件类国赛(C/C/Java组)的一道经典压轴题。初次看到这个标题,你可能会觉得有些抽象——“质数”和“行走”有什么关系?但当你深入题目,会发现它…

作者头像 李华
网站建设 2026/9/9 3:01:04

文件上传漏洞详解:从原理到实战,为什么你的木马总是被拦截?

一、文件上传为什么是高危漏洞?文件上传漏洞是Web安全中危害最高、利用最直接的漏洞之一。一旦成功上传脚本文件,攻击者可直接获取网站权限、控制服务器、篡改网站数据。但新人实战中90%的上传都会失败:要么直接禁止上传、要么上传成功无法访…

作者头像 李华
网站建设 2026/8/30 17:14:40

看视频学不会编程?从讲授式教学到“做中学”的工程化实践

如果你也经历过“看视频全会,一写代码全废”的状态,这篇文章值得耐心读完。很多人把萨尔汗(Sal Khan)创办的可汗学院当作在线教育标杆,认为只要把课程录成短视频,配上自动练习系统,学习者就能高…

作者头像 李华
网站建设 2026/8/31 4:50:48

C++ vector与迭代器深度解析:从动态数组到STL核心机制

1. 项目概述:从“容器”到“迭代器”的思维跃迁在C的日常开发中,尤其是处理动态数据集合时,我们几乎无法绕开std::vector。它可能是你接触到的第一个STL容器,简单到让你觉得“这不就是个动态数组嘛”。但正是这种“简单”的错觉&a…

作者头像 李华