具身智能(入门)门外一瞥
核心思想:把“看见”“理解语言”“生成动作”统一到一个大模型中。视觉模块 → 单独规划器 → 单独控制器图像 + 指令 → 大模型 → 直接输出动作代表性工作包括:Google DeepMind 的 RT-2;Physical Intelligence 的 π0。把机器人控制“语言化、token化”。
#本专栏的内容为与GPT对话形成
Question: 我没有做过具身智能方面的研究,请你以VLA模型为例子,帮我解读机器人从感知到推理再到动作的细节过程
GPT :
可以把具身智能(Embodied AI)理解成:“让一个机器人像人一样,通过感知环境 → 理解任务 → 推理决策 → 控制身体动作 → 接收反馈,再继续调整行为”的闭环系统。而现在最典型的一类框架,就是 VLA(Vision-Language-Action)模型。

一、什么是 VLA 模型?
VLA = Vision + Language + Action
核心思想:把“看见”“理解语言”“生成动作”统一到一个大模型中。传统机器人:
视觉模块 → 单独规划器 → 单独控制器
现在的VLA:
图像 + 指令 → 大模型 → 直接输出动作
代表性工作包括:Google DeepMind 的 RT-2;Physical Intelligence 的 π0。这些模型本质上都在做一件事:把机器人控制“语言化、token化”。
二、机器人执行任务的完整链路
任务:“帮我把桌上的红色杯子放进洗碗池。”机器人需要经历:
感知 → 场景理解 → 语言理解 → 推理规划 → 动作生成 → 控制执行 → 反馈修正
第一阶段:感知(Perception)
1. 输入传感器
机器人一般有:
视觉:RGB摄像头;深度相机;得到:RGB图像、深度图、点云
本体感知(Proprioception):类似人的“身体知觉”。包括:关节角度;电机速度;力矩;IMU;夹爪状态。
触觉(高级系统)有些机器人还有:力觉; 触觉皮肤; 滑动检测
第二阶段:视觉编码(Vision Encoder)
摄像头原始图像不能直接用于推理。所以需要:图像 → 特征token(向量表示)
常见视觉骨干:Google 的 ViT;ConvNeXt;SigLIP;DINOv2
这些负责:提取物体位置、边缘、颜色、空间关系、可操作区域(affordance)
第三阶段:语言理解(Language Understanding)
机器人接收:语言任务命令后,LLM开始工作;模型会理解,任务目标:例如目标物体是什么,目标位置是什么,需要的动作是什么。更深层理解的LLM还能推理:常识。例如:杯子一般采用抓握,洗碗池通常在厨房,移动时不要倾倒液体。
第四阶段:多模态融合(Vision-Language Fusion)
现在:机器人已经有视觉和语言的token,接下来融合。由Transformer统一编码。模型内部开始建立对齐关系,比如:红色杯子对应的应该为图像中的红色区域,本质就是语言指导视觉定位。
第五阶段:任务推理(Reasoning)
这是最关键的一步。机器人开始思考,机器人不会直接输出完整动作,而是分层推理
第一步:高层规划
也就是:任务分解(Chain-of-Thought)例如:1. 找到杯子2. 移动机械臂3. 抓取4. 抬起5. 找到洗碗池6. 移动7. 放下
第二步:空间推理
模型进一步推理:例如,杯子距离多远?夹爪角度多少?是否有障碍?
第三步:动作可行性判断
例如,当前姿态能否抓取?是否会碰撞?
虽然GPT这里分了三步,我也不知道后面这两步骤实际中的具体实现细节,后面继续学习一下
第六阶段:动作生成(Action Generation)(此处仍然是token)
这是VLA最核心的地方,输出的动作也被token化,类似语言模型生成单词。VLA模型最终输出的,不是“文字动作”,而是机器人下一时刻应该如何运动的数值控制量:
例如:action = [Δx,Δy,Δz,Δroll,Δpitch,Δyaw,gripper]。这是最经典的一种:末端执行器控制(End-Effector Control)也叫:Task Space Control。
前三个为空间平移,数值为距离,正负为方向。后三个为姿态旋转,Roll / Pitch / Yaw,这是机器人最经典的欧拉角。分别表示绕x,y,z轴转动(横滚,俯仰,偏航)(死去的飞行器控制开始攻击大脑了) ,最后一个就是动作,如果可以是0,1,也可以是0.73这种,表示机械手闭合度
第七阶段:低层控制(Control)
注意:VLA通常:不直接控制电机而是输出高层动作,然后:控制器负责求解逆运动学(IK),确定关节应该怎么运动
VLA其实不懂“电机”这是关键。VLA一般只负责:高层动作策略--GPT原文
VLA输出的是:末端怎么动;但电机控制的是:关节怎么转。所以需要:
End-Effector Space → Joint Space
{ 这里GPT给出的不够清晰,我再加一下Kimi的回答:推理层生成的是高层计划(如"移动到坐标X"),但机器人需要的是具体的电机指令——每个关节转多少度、夹爪施加多少力、以什么速度运动。VLA模型通过动作解码器(可以是扩散模型、流匹配模型或直接回归)将这些计划转化为动作块(Action Chunking)。
动作块:不是一帧一帧输出动作,而是一次性输出未来N步的动作序列(比如接下来2秒内每秒50次的关节角度),这样动作更平滑连贯。
这里有一个工程上的关键矛盾:大模型推理很慢(可能每秒只运行1-5次),但机器人电机控制需要极快的反应(每秒50-100次,否则手臂会抖动或失控)。所以实际部署中常采用双回路架构:慢回路(云端/大模型):VLA模型每1秒运行一次,做语义推理和全局路径规划;快回路(边缘/机器人本体):一个小型策略网络(1B-3B参数)每10-20毫秒运行一次,负责实时调整关节力矩、处理打滑等突发情况。}
现在有两大动作表示方式
1. End-effector action(最主流)也就是:前面的增量式。优点:直观,泛化强,VLA常用。
2. Joint action 直接输出:控制每个关节。
优点:精确;缺点:泛化差、学习困难,强化学习常见。
为什么需要"动作块"而不是单步动作?
逐帧输出(每20ms输出一个动作):模型像"走一步看一步",容易抖动、不连贯,而且计算开销极大(每秒要跑50次大模型推理)。
动作块输出(一次性输出未来2秒的所有动作):模型像"先想好一整段舞蹈动作再跳",动作平滑、实时性高,且可以利用时间上的上下文关系。
核心思想:用时间换计算——大模型推理一次,覆盖未来N个时间步,边缘控制器只需按序列播放。
动作块的具体形式
动作块不是"移动手臂到X点"这种高层指令,而是可以直接驱动电机的低层信号。具体形式取决于机器人类型:


关键参数:chunk_size(块长度,如16步)、action_dim(每步动作维度,如7维机械臂)、control_freq(控制频率,如50Hz)。一个动作块覆盖 16/50 = 0.32秒 的运动
动作块的生成方式:三种主流技术路线
- 路线1:直接回归(Direct Regression)—— 最简单
原理:LLM输出一个固定长度的动作token序列,然后通过一个轻量MLP直接映射到动作值。
视觉token + 语言token → Transformer Decoder → [action_token₁, action_token₂, ...]
→ MLP → [[θ₁,θ₂,...,gripper], [θ₁,θ₂,...,gripper], ...] (共chunk_size步)
代表工作:RT-1, RT-2
优点:简单直接,推理速度快。 缺点:动作分布是多模态的(比如"放杯子"可以轻放也可以重放),直接回归会取平均,导致动作模糊、保守。
-
路线2:扩散模型(Diffusion Policy)—— 当前主流
原理:不直接预测动作,而是学习动作分布。生成时从随机噪声出发,通过多步去噪迭代,逐步"雕刻"出合理的动作序列。
随机噪声动作块 (chunk_size × action_dim)
↓
去噪网络(以视觉+语言条件为输入)
↓
迭代K步(如K=10)
↓
最终动作块
代表工作:Diffusion Policy, Octo, 3D Diffusion Actor
为什么扩散模型适合机器人?
-
多模态动作分布:同一指令可以有多种执行方式(从左边绕或从右边绕),扩散模型能覆盖所有可能,而不是被迫取平均。
-
时间连贯性:去噪过程天然考虑了动作块内的时间依赖,生成的轨迹更平滑。
-
可约束性:可以在去噪过程中加入硬约束(如"末端不能低于桌面")。
-
路线3:流匹配/一致性模型(Flow Matching)—— 最快
原理:类似扩散模型,但用常微分方程(ODE)描述从噪声到数据的变换过程,可以用更少的步骤(甚至单步)生成高质量动作块。
代表工作:π0 (Pi-Zero), Diffusion with Flow Matching
优势:
-
速度极快:传统扩散需要10-20步去噪,流匹配只需1-4步,满足实时性要求。
-
数学优雅:训练更稳定,生成质量与扩散相当。
π0的具体实现:π0是一个视觉-语言-动作流模型(VLA Flow Model),它的动作生成不是离散去噪,而是学习一个速度场(Velocity Field):
动作块生成 = 求解 ODE: dx/dt = v(x, t, condition)
其中 v 是一个神经网络,以当前动作状态 x、时间 t、视觉语言条件为输入,输出"速度"(即动作应该如何变化)。通过数值积分(如Euler方法),从 t=0(噪声)积分到 t=1(干净动作),只需2-4步即可得到最终动作块。
动作块生成的关键工程细节
1. 条件注入:视觉和语言怎么"告诉"动作生成器?动作块不是凭空生成的,它必须以当前场景和任务为条件。条件注入方式决定了模型的泛化能力:

2. 动作表示的选择:绝对位置 vs 相对增量

3. 时间对齐:动作块与真实时间的映射
一个常见误区:动作块是"预录的轨迹",机器人只能死板执行。实际上,VLA系统通常采用闭环重规划(Closed-loop Replanning):

关键:每次只执行动作块的前几个步骤(如execution_horizon=2),然后重新生成。这样既保证了实时反馈(如果苹果滚动了,0.1秒后就能调整),又享受了动作块的长程平滑性。
动作块生成的核心挑战

第八阶段:Sim-to-Real 与闭环反馈
模型在仿真环境中训练后,需要在真实机器人上部署。真实世界有摩擦、光线变化、机械误差,所以VLA系统会通过强化学习反馈持续优化——如果这次放苹果时碰杯了,系统会记住这个失败信号,调整后续策略。
现在主流VLA架构
目前大致三类:
1. 模仿学习(Imitation Learning)
学习:人怎么操作。
输入:(图像, 指令) → 动作(最主流,gpt评价)
2. 强化学习(RL)
机器人试错。但训练昂贵。
3. 世界模型(World Model)
机器人先:“在脑子里模拟未来”,对动作结果进行假设,(这是未来趋势,gpt评价)。
一个真实机器人系统长这样
比如 Figure AI 或 Google DeepMind 的系统:
VLA(理解任务)
↓
Skill Policy(生成动作轨迹)
↓
MPC / Impedance Control(优化与约束)
↓
Servo PID(电机级控制)
未来建议
1. 机器人鲁棒感知
例如:黑暗环境操作;强光;HDR;模糊;事件视觉
2. 6DoF操作感知
机器人抓取必须知道:物体姿态
3. 多模态感知
未来机器人会融合:RGB;Event;力觉;深度;语言(力声光热电,大物。。
4. 世界模型
GPT谏言:
具身智能最难的是:
把高层智能转化为可靠物理动作
更多推荐




所有评论(0)