文章一 · Interlatent Primer
·
Entry 4 · 2026.VI.18
·
约 12 分钟阅读
·
合作:Tnkr
机器人硬件入门指南
从一份 BOM(物料清单)开始,把开源机器人组装出来这一过程,其实和组装宜家家具很像。一旦通电,两者就分道扬镳了:家具保持静止,而机器人要在保持"正确"的同时持续运动。本文围绕 Movement(运动)/ Body(本体)/ Sensor(感知)三件套,把这种差异讲透。
搭建一个开源机器人,从一个熟悉的过程开始:先有一份物料清单(Bill of Materials,BOM),里面列出了电机、轴承、螺丝、导线、摄像头、微控制器、电池以及一组 3D 打印零件,并附上各部件与价格。说明书的位置由 CAD 与 STL 文件补上——它们是每个零件的数字蓝图(例如 SO-ARM100/101 GitHub 仓库 )。你制造出零件,把它们拧到一起,最终得到一个具备某些功能的物理成品。
Fig. 1 · 机器人不是家具
FURNITURE
static · 静止
ROBOT · MOVEMENT LOOP
Body
Sensor
Move
continuous · body ↔ sensor ↔ movement
图 1 · 家具保持静止;机器人在运动中保持"正确"。 本文后文反复出现的三件套:Body 本体 维持已知形状,Sensor 感知 读出"各处在哪",Movement 运动 持续收窄差距。图中虚线表示它永远在缩小的那条误差。
根据原文 Fig. 1 可视化结构重建,用于中文阅读页展示。
但只要机器人一通电,这种相似性就立刻结束。书架在装配完成后就保持原样,而机器人必须持续运动,并且始终清楚自己当前的位置以及周围环境的状态。家具是完成态的产物,而机器人是持续运行的系统——在运行过程中不断自我修正。设计与制造机器人时,这种"在数值与时间双重意义上都必须正确"的需求是核心考量。
本文的剩余部分用一种机器人学常见的分件框架——把硬件拆成 Movement(运动)、Body(本体)、Sensor(感知)三件套——来展示这种差异是如何具体表现出来的。
本文与 Tnkr (一个面向开源机器人构建者的平台)合作发布。
Movement · 运动
运动从执行器(actuator)开始——执行器把电能转化为力或运动。一台裸露的电机通电后就会转动,要控制它,等价于控制它接收多少功率。但如果你希望它到达某个特定的位置,那份工作就要交给舵机(servo)。舵机更完整,因为它把电机、齿轮组、一个位置传感器和一个小型控制器打包在同一个单元里,自己完成这件事。你不需要告诉舵机"用多大力转",只要告诉它"去哪里",它就替你维持那个目标。舵机内部在持续做一次比较:把传感器上报的关节角度与你下达的目标角度作对比,然后驱动电机去收窄两者之差。如果有外力把关节推离目标,传感器立刻感知到这种变化,误差变大,控制器就反向施力,直到位置被恢复。
Fig. 2 · 舵机闭环(Servo Loop)
joint
command: target angle
sensor: measured angle
Controller
error = target − measured
→ drive motor
→ shrink error
loop runs continuously
图 2 · 舵机从不"盲目运动"。 它比较"下达角度"与"传感器读到的角度",然后驱动电机去收窄误差。把关节推离目标,看闭环如何把它拉回来。
根据原文 Fig. 2 可视化结构重建,用于中文阅读页展示。
舵机内部在做的事,背后指向一条更一般的原理。物理上的因果链仍然是:电 → 电磁力 → 力矩 → 关节运动,但这条链中间需要一层清晰的"翻译"。力矩是旋转力,关节角度是位置,力不会自动变成正确的位置 。中间必须有一个角色,反复评估"关节现在在哪里、应该在哪里、应当施加多少力来缩小差距"。这与任何把一个测量值推向目标的系统里的 反馈控制器(feedback controller) 是同一个结构:持续评估、持续修正,闭环运行不停歇。这种结构最常见的实现是 PID 控制器 ——它持续计算"下达的设定值"与"实测值"之间的误差,并用比例(Proportional)、积分(Integral)、微分(Derivative)三项做修正。说人话:比例项 让你离目标越远、推得越狠;积分项 把长期存在的小误差累计起来抹掉;微分项 在你即将到位时收力,让关节稳稳停下、不再冲过头。
Fig. 3 · 调 P / I / D
setpoint
P = 4.0 · overshoots
I = 1.2 · kills lingering offset
D = 1.6 · smooth settle
t = 0
t → ∞
图 3 · 同一个误差,三种修法。 加大 P 让推力更猛;加大 I 抹掉长期残留偏差;加大 D 让关节在接近目标时提前减速、不冲过头。虚线即你下达的目标。
根据原文 Fig. 3 可视化结构重建,用于中文阅读页展示。
在执行器与关节之间,是传动机构(transmission)——它在静态家具里没有对应物。传动机构就是连接电机与关节、并在中间改变运动形态的那部分。它的存在是因为:电机往往转得快、力小,而关节通常需要慢、有力且可控。传动机构补上了这个力量需求上的落差。
齿轮箱(gearbox) 是最常见的实现。把不同大小的齿轮咬合起来,可以让电机转得大约慢十倍,同时推力大约大十倍——用速度换力量 。齿轮箱不创造能量,它只是把能量换一种形式。例如在 100:1 的减速比下,力矩大约放大约 100 倍、输出速度约除以 100 ,这也是为什么高精度机械臂常用 谐波(strain-wave / harmonic)减速器或行星减速器 。
但现实世界总会在这条传动链上加入不完美:摩擦、松动,使电机与关节之间的连接永远不是精确的,关节会略滞后于电机的动作。这恰好引出了物理系统——尤其是 AI 驱动时——控制难题的核心错配:下发的是目标结果,而不是具体的运动或力矩 。一个"把关节转到某位置"的指令,要先穿越摩擦与负载,才能变成真实的运动。下达值与达成值之间的这个差,正是为什么像 Action Chunking with Transformers(ACT,动作分块 Transformer) 这类学习型控制器,要一次预测一短串动作而不是一步步预测——把误差在长视野下的复合发散 压住。
完整的过程因此构成了一个闭环:执行器产生力 → 传动机构塑形 → 框架承载 → 传感器观测结果 → 控制器量出误差并修正 → 再次重复。
Fig. 4 · 整体闭环
Actuator
force
Transmission
shapes motion
Frame / Body
carries load
Sensor
observes result
Controller
measures error
force → motion → reading → error → next command
图 4 · 没有哪一步只跑一次。 力变成运动,运动变成读数,读数变成误差,误差变成下一条命令。信号在这条环路上不间断地转。
根据原文 Fig. 4 可视化结构重建,用于中文阅读页展示。
Body · 本体
在讲本体之前,先定义一个重要概念。机器人的自由度(degrees of freedom,DOF) ,就是它能独立运动的轴的数量。换句话说,就是你必须给定多少个独立数值才能完全确定它的位姿(pose)。第一性原理的起点是"在空无一物的空间里悬浮的一个刚体",它恰好有六个自由度:沿 x、y、z 三轴的平移,加上绕三轴的旋转。机器人每加一个由 Movement 一节里讲到的执行器驱动的关节,典型情况下就增加一个独立的运动轴——机器人的 DOF 是一个关节一个关节挣出来的,每多一个关节就多一份运动能力,同时多一台电机、也多一份控制逻辑。所以必须按功能需要定义合适的 DOF,不要贪多。
Fig. 5 · 自由度
Free body · DOF 6
slide X
slide Y
slide Z
pitch
yaw
roll
Robot arm · DOF = Σ actuated joints
each joint = 1 motor + 1 control loop
图 5 · 一个孤立的刚体已经有 6 种运动方式: 沿三轴平移、绕三轴旋转。机器人的 DOF 是一个关节一个挣回来的,每一个关节换来的不只是可达范围,还多了一台电机。
根据原文 Fig. 5 可视化结构重建,用于中文阅读页展示。
本体就是机器人的物理结构——框架与所有刚性连接件,一直连到"两段相遇并允许相对运动"的关节处。本体是把物质按"让机器以特定方式运动"的方式摆出来的物质本身,这种摆法决定了机器人的物理极限:能伸多远、能稳到什么程度、能承受多重负载。
容易忽视的一点是:本体不是"智能部分的包装盒",它本身就是控制系统的一部分 。如果机架在负载下弯了、抖了、扭了,机器人对"自己各部分在哪"的内部估计就不再符合现实,软件剩下的就是在与一个虚构的身体对话。工程上的推论是:良好的机械设计能减少系统所需的智能量。
这个设计过程通常从一个 CAD 模型开始。CAD(computer-aided design,计算机辅助设计)是设计零件所用的软件,CAD 文件保存了零件的完整可编辑设计,及其全部尺寸与编辑历史。要把这份设计共享出去或者拿去制造,通常要导出为一种中性格式。STEP 文件 保存的是精确的实体几何(以数学曲面与实体的形式,即"边界表示",boundary representation ),其他程序打开后仍把它当作精确的三维对象处理,因此更适合编辑或机加工。STL 文件 更简单但有损:它丢掉了设计意图,只把外表面录成由许多小三角形组成的网格(mesh),是形状的近似而非形状本身。STL 主要用于 3D 打印——打印机一层一层堆出零件 ,要的就是这个网格。
Fig. 6 · 精确实体 vs 三角网格
STEP · 精确实体(数学曲面)
boundary representation
STL · 三角网格
mesh · 14 facets
图 6 · STEP 把真实曲线以数学形式保留。 STL 只剩一张"皮"——切成平的三角形。把网格变粗,近似就暴露出来;打印机需要的恰好只有这张皮。
根据原文 Fig. 6 可视化结构重建,用于中文阅读页展示。
设计好之后,要给"被设计出来的物质"挑一种真正的材料来填上它。PLA 塑料 便宜、出件快,适合做原型,但容易受热变形、偏脆 。PETG、ABS、尼龙 更结实。其中尼龙 强度高、耐磨,但极易吸潮,打印前必须烘干 。铝合金轻而强。碳纤维 在同等重量下刚度极高,但成本也更高、加工难度更大。
图 7(材料选择)· 一开始图省事选的料,几乎从来不是最后留下的那个。这种取舍和你挑技术栈时遇到的取舍是一样的——早期方便的选择(通常是 PLA) ,常常是后来必须替换的那一个。
Sensor · 感知
传感器是机器人获取信息的方式。在最底层,每个传感器都把某一片物理现实转化为数字。这些数字合在一起,就构成了机器人对自身状态的感觉——关节在哪、有没有倾斜、是否碰到了什么、前面是什么。
把各种传感器组织起来最清爽的方式,是问"每一个在感知什么"。本体感觉(proprioceptive)传感器朝内看 ——感知机器人自身;外感受(exteroceptive)传感器朝外看 ——感知周围环境。一个机器人通常两者都需要;一旦按这两类分开、并清楚每种传感器在转换什么,具体型号就容易理解了。
Fig. 8 · 朝内看、朝外看
proprioceptive · 朝内
Encoder 编码器
turns → joint angle
IMU 惯性测量单元
acceleration + rotation
+ current · battery · motor speed
exteroceptive · 朝外
Camera 摄像头
light → pixels
Depth / LiDAR
distance → depth map
Tactile 触觉传感器
contact → pressure
图 8 · 每个传感器都把某一片现实切成数字。 朝内那一组懂得"自己",朝外那一组懂得"世界";一个能用的机器人需要两者都读。
根据原文 Fig. 8 可视化结构重建,用于中文阅读页展示。
本体感觉传感器报告机器自身。编码器(encoder) 装在电机上,把转动变成精确的关节角度,告诉机器人关节到底转了多少。惯性测量单元(IMU) 测量加速度与旋转率,用来估计机器人如何运动、哪个方向朝上。与之并列的还有电机转速、电流、电池电压等基本内部读数。
外感受传感器报告世界,接入那些机器人不能直接控制的东西。摄像头把光变成像素网格——这是机器人"看见"形状与颜色的方式。深度传感器 / 激光雷达(LiDAR) 测量距离,把场景变成"每个表面有多远"的图。触觉传感器 把物理接触转换成压力读数,让机器人在碰到环境中的物体时"有感觉"。
两者都不可缺。摄像头可能看到桌上有一个杯子,但只有当机器人同时知道自己的机械臂、手腕、夹爪相对杯子在哪儿,这条观察才有用。本体感觉是机器人解读"它看见了什么"的基础 。外部信息若没有内部信息配套,就是一张没有"自己身处何处"标记的地图。
没有标定,这些数据毫无意义。机器人必须知道每个摄像头装在哪里、IMU 哪个轴朝哪个方向、什么样的数值对应实际关节的哪个角度。标定是把原始读数映射到统一坐标系的那一层,分成内参标定(intrinsic calibration) (摄像头自身的焦距与镜头畸变)与外参 / 手眼标定(extrinsic / hand-eye calibration) (摄像头坐标系与机器人本体坐标系之间的变换)。它在软件里扮演的角色与"配置 + schema"类似。标准工具集中在 OpenCV 这类库里。标定一旦出错,结果就是"自信而精确地错着"。没有标定,机器人有传感器与执行器,却没有可靠的自身模型。
硬件拆解 · SO-101
SO-101 是一只值得拆开看的机械臂,因为它正是为这种"边做边学"的循环而造的。它是 Hugging Face 的 LeRobot 小组 与 The Robot Studio 推出的一只 3D 可打印的 6 自由度机械臂,单只起价一百多美元。常规套件由一只用手推动的"leader(主臂)"和一只模仿它的"follower(从臂)"组成:你手把手引导 leader 完成一项任务,follower 复制动作,记录下来的运动用于训练一个能自主驱动 follower 的模型。
如果你更想跟着一次真实搭建来走、不想从裸仓库开始,SO-101 在 Tnkr 上有完整文档——交互式 3D 模型、物料清单、接线图、社区搭建记录,全都集中在一个地方。
Movement(SO-101)
这只臂由智能舵机构成。如前所述,舵机把电机、齿轮组、一个位置传感器和一个小控制器打包在一起:你对它下达"位置",而不是"力"。STS3215 正是这样的东西——一只带内置编码器与控制电路的串行总线舵机。从臂使用六只 、注重力量与精准保持;leader 用更轻的减速比,让人能轻松推动——这就是"传动取舍"的具体体现。舵机之间不是各自拉线回到基座,而是菊花链(daisy-chain)串联:每只舵机插入下一只,一条共享总线同时承载电力与命令;每只舵机有独立地址,控制器仍能逐个点名调用。链路末端是一块底座上的控制板,通过 USB 与 PC 通信。把这一切拧在一起的那一步是标定 ——你让两只臂在同一个姿态下报告相同的数值,这正是"在一台机器人上训练的模型能在另一台上跑"的前提。
Fig. 9 · 菊花链:一条总线、六个地址
#1
#2
#3
#4
#5
#6
Ctrl
shared bus · power + commands · each servo has its own address
highlighted: addressed #3 receives the packet
图 9 · 一条共享总线沿整条臂传输电力与命令。 每个数据包都带地址,沿总线经过每只舵机,只有地址匹配的那一只会响应。
根据原文 Fig. 9 可视化结构重建,用于中文阅读页展示。
Body(SO-101)
这一部分要靠你自己——用普通桌面打印机把机架打印成一种结实塑料,然后拧起来。设计本身直接影响控制。SO-101 把导线走在外侧、并限制腕部旋转不超过 360 度,都是机械选择:让软件免于处理"线被缠住"和"关节自己绕到自己"这种麻烦。
Sensor(SO-101)
大部分感知藏在电机内部。每只关节的舵机都自带一个12-bit 磁性编码器 ,直接上报角度——所以机器人在任何时刻都知道每个关节的真实位置,这也是 follower 能复制 leader 的全部基础。"看世界"靠加摄像头。最简单的配置是一只在腕部或夹爪的近距摄像头负责看细节,但多数模仿学习工作会让这只近距摄像头与第二只外部摄像头搭档——通常固定在正前方或上方,给出更宽的视野——让模型既看到手上的细节,也看到整体场景布局。
合在一起,SO-101 就是本文的一个最小物理化身:一只打印出来的本体维持已知形状,编码器与摄像头报告状态,齿轮舵机产生运动——这一切都被标定闭环。
收束
现代机器人把"比特"连到"原子",硬件就是 AI 与真实世界之间的桥。上一篇 ,我们把机器人画成一个函数。真实世界挑战的正是这种理解。把硬件栈拆成 Movement、Body、Sensor 三件套,我们希望任何人都能对"承载未来智能的基础硬件"获得直觉性的理解。
Interlatent 的使命是把物理 AI 带给每一个人,从"理解"开始。如果本文任何一处与你共鸣,欢迎加入 Discord 与我们一起搭建。
文章二 · Interlatent Primer
·
Entry 3 · 2026.VI.10
·
约 9 分钟阅读
从第一性原理看现代 AI 机器人
机器人策略本质上就是一个函数:把观察(摄像头像素、关节角度、夹爪的触感)映射到动作(下一组关节位置与力矩)。其余一切——复杂的算法、训练方法、数据规模化理论——都服务于把这样一个好函数压进神经网络的权重里。本文沿"策略函数 → VLA 双脑 → 动作分块 → 边缘 vs 云端延迟预算 → 数据瓶颈 → 训练阶梯 → RECAP 自改进"这条主线,把现代 AI 机器人讲透。
描述"物理 AI 到底是什么",有一个看似简单但很有用的方式——任何有 STEM 背景的人都会直觉性 get 到:和所有其他 AI 模型一样,一个控制机器人的模型也是一个函数。它吃进观察(摄像头像素、关节角度、夹爪的阻力,等等),吐出动作——给电机的一组下一个位置与力矩。除此之外的一切——复杂的算法、训练方法、数据规模化理论——都服务于把这样一个好函数造出来、压进神经网络的权重里。
Fig. 1 · 策略函数
Observations
camera pixels
joint angles
gripper force
proprioception
Policy π
network · weights
obs → actions
Actions
a₁
a₂
a₃
a₄
a₅
a₆
DOF
图 1 · 机器人策略就是一个函数。 观察从左侧流入,神经网络把它们打磨成理解,动作命令从右侧流出——机械臂的每一个自由度对应一条。领域中其他所有工作都服务于"把这个函数做得又快又好"。
根据原文 Fig. 1 可视化结构重建,用于中文阅读页展示。
如果你曾经训练过"把输入映射到输出"的模型,你已经把握住了这个问题的大致形状。真正有意思的,是把这个熟悉的形状丢进一个在动的、主动的世界里时,会发生什么。
配方,以及让配方破裂的那一维
改善这个函数的质量只有两种原料:算力与数据。数据是机器人智能的原始燃料——真实世界的模式像未被处理的矿石一样藏在里面。算力则通过矩阵乘法把数据里的模式挖出来、压进函数。
听起来这就是普通的机器学习,有一阵子你也可以这么骗自己。但机器人学引入了一条经典 ML 从未需要敬畏的新维度:推理时间(inference time)。一个语言模型花三秒想下一个 token,没人受伤;但一个正在倒咖啡的机器人不行——杯子已经在动了,动作必须在事件进行中实时生成。函数不仅要正确,还要"在你用上答案之前"仍然来得及。物理世界不会等你思考,这恰好构成机器人学领域一系列困难又有趣的抉择。
把大脑拆成两半
最自然的第一反应,是学一个巨大模型,把观察直接映射到动作。实践中,领域已经收敛到一个更有趣的方案:现代机器人模型常常被分成两部分——理解者(understander)与动作执行者(action-taker)。
主干(backbone)是一个大型模型,通常是视觉-语言模型(Vision-Language Model,VLM)——与驱动 GPT-5、Gemini 之类"同时理解语言与图像"的模型同族。它已经在海量的互联网图文数据上训练过,因此已经"认识"世界:例如知道"无论什么颜色,杯子就是杯子",或者"把东西收起来"意味着把它放回一个合理的位置。它带着一份关于世界长什么样、怎么运作的学到的表征。这是慢速、深思的规划者,负责理解环境。
在它之上挂一个更小的"动作专家"(action expert):一个快速模型,唯一的工作是把主干产出的理解实时细化为平滑的电机命令。NVIDIA 的 GR00T N1 ——一个 2025 年发布的、面向人形机器人的开源基础模型——把这种拆分做得很显式:它的 System 2 VLM 负责对场景做慢速、深思的推理,另一个独立的 System 1 模块几乎凭直觉生成实际动作,两部分紧密联合训练。Physical Intelligence 的 π₀ 使用同样的架构:一个 VLM 负责理解,一个小的动作头负责执行。这套结构就是所谓的视觉-语言-动作模型(Vision-Language-Action model,VLA)。
Fig. 2 · VLA 内部
Inputs
images
language
robot state
VLM Backbone · System 2
"understand the scene"
image features
language features
scene understanding
slow · deliberate
trained on internet data
Action Expert · System 1
refines noise → action chunk
~ t
~ t+1
~ t+2
~ t+3
~ t+4
fast · flow matching
图 2 · VLA 是一个网络、两个耦合部分。 大的 VLM 主干读取图像、语言与机器人状态,建立对场景的理解。小的动作专家接收这份理解,从噪声出发,在一个前向 pass 中把它打磨成"动作分块"——一串短期未来动作。
根据原文 Fig. 2 可视化结构重建,用于中文阅读页展示。
于是我们从"一个单一的整体函数"过渡到"一个承载世界图像的大模型 + 一个把图像翻译成运动的小模型"的协作。
动作究竟是怎么出来的
现在的问题是:函数以什么形式吐出一个动作?有两个答案,领域的演化大体就是从第一个走向第二个的故事。
第一种是离散式(discrete):动作头一次产出一个动作——模型看一眼,发出一条命令,执行,再看。这是老系统的做法,直观、简单任务上有效,但太慢,且小误差会复合。每一点小错都把机器人推到一个训练数据里从未出现过的"更奇怪的状态",下一次预测略差,再下一次更差——机器人从自己能力范围的边缘一路漂出去,失败。
第二种是分块(chunking):模型一次预测一短串未来动作,把它作为一段平滑的整体执行完,再重新查询。这个想法在 2023 年以 Action Chunking with Transformers(ACT) 的形式被提出,作者是斯坦福的 Tony Zhao 与合作者们——名字借自心理学里的"组块(chunking)"概念,描述我们如何把一串小动作合并成一个连贯的运动。ACT 在只需约十分钟示范数据的情况下,把"开一个半透明的酱料杯"、"塞一块电池"这种精度要求高的任务做到了 80–90% 的成功率——是一次重大改进。一次预测一整块,把任务的等效长度压短,驯服了一步步预测的复合误差难题。
Fig. 3 · 离散 vs 分块
DISCRETE
error compounds · drifts off competence
commits to chunk · stays on path
CHUNKING
图 3 · 切到分块,按下 RUN。 离散模式下机器人一步一预测、小误差复合,从自己能力范围的边缘漂走;分块模式下一次性承诺一短串动作,牢牢贴着目标路径走。
根据原文 Fig. 3 可视化结构重建,用于中文阅读页展示。
现代机器人学的很多方法学都在平行人类的行为:人不会一次想一个微动作再执行——我们是边想边动,连续、流动的手势。现代机器人追逐的是"连续、分块、动作之间没有空挡"的运动——让动作看起来更像活物而不是死木偶。当前生成这些平滑分块的 state-of-the-art 方法叫流匹配(flow matching)——一项把带噪 latent 经由扩散细化为一条连贯轨迹的技术。π₀ 和 GR00T 的动作专家都从噪声出发,迭代地把它打磨成一条连贯轨迹——和现代图像生成器同族的技术,被改造成了生成运动而非像素。
大脑住哪儿:边缘还是云?
有了这个函数,还得找个地方运行它。这里出现一组核心取舍:算力与延迟之间的张力。
你可以把它放在边缘(edge)——直接挂在机器人身上的那台计算机上跑。延迟基本是零(前提是你的模型装得进边缘设备),这正适合物理世界,但你受限于"能拧到机器上的硬件",通常得把模型压缩。
或者把它放到云端(cloud)跑——把重计算交给强大的服务器,动作再通过互联网回流。这样能跑得动巨大模型,但每条动作都要走一次网络往返,延迟就成了敌人。
这有多紧?看看 π₀.₅ :在高端 GPU 上,它的完整感知 + 动作循环约 274 毫秒 ,其中约 80% 来自流匹配的迭代细化本身。在一台跑 3 Hz 控制循环的小型边缘设备上,每个循环只剩约 330 毫秒给"感知 + 动作生成"合起来用。几乎没有余量。这是整个领域赖以平衡的核心难题:云端给你更大的脑,边缘给你更快的脑,但你不能让"思考"与"行动"之间的间隔大到"世界已经跑掉了"。
Fig. 4 · 延迟预算
EDGE
model inference (on weaker accelerator)
~240 ms compute + 0 ms network
✓ in time · ≤ 330 ms deadline
CLOUD
model inference (GPU)
network RTT
~80 ms compute + 240 ms network = 320 ms
≈ at the limit
图 4 · 边缘上零网络、但加速器更弱, "计算"那块更大;切到云端,更大的 GPU 把计算压扁,但每条动作都包了一层网络往返。把 RTT 拉上去,看总额越过 330 ms 的死线。
根据原文 Fig. 4 可视化结构重建,用于中文阅读页展示。
数据瓶颈
和很多深度学习问题一样,机器人学苦于数据。但机器人学的苦法更特殊——它在"数据多样性"这一项上尤其难。
最丰富的机器人数据来自遥操作:人一遍又一遍地操作机器人完成任务。人类专家的演示能稳定产出好策略,但不可规模化——每一小时的数据都对应一小时的人工(有时还不止,因为示范质量很重要)。更糟的是,每只机器人、每种夹爪、每个实验室倾向产出各自互不兼容的小数据集,GR00T 团队给这种状态起了个贴切的名字——"数据孤岛"(data islands)构成的群岛 ,而不是那种统一的、互联网规模的海洋。
对比一下 AI 其他领域的轨迹——它们的魔法一直是同一个:把问题变成"能用算力规模化"的那种。语言建模能规模化,是因为文本数据极其丰沛且可互换;机器人没有这种消防水喉。于是领域分成了两条策略,来"造"它单纯采集不到的数据。
策略一:模拟世界
采集不到足够多的真实世界,那就造一个假的,让机器人免费在里面练。这就是世界模型(world model)与仿真(simulation)的入口。更准确地说,仿真是一个泛指——任何"足以让你在里面练习"的系统;世界模型则是一个神经网络——给定当前状态与动作,预测世界会变成什么样。它从观察中学到"行动会带来什么后果",通常以图像这样的媒介表达,关键是它从观察中学物理,而不是从人手写的规则,因此能抓住目标环境里那些关键的动力学。
2025–2026 这一波的大跨越是 Google DeepMind 的 Genie 3 ——一个能从纯文本提示实时生成完整可交互、可导航 3D 环境的世界模型,每一帧都由前一帧预测而来。它对机器人的意义显而易见:无限、低成本的训练场景,包括你在真实世界里绝不敢搭建的危险边角情况。Waymo 走的就是这条路——它做了一个 Waymo World Model,用来生成同步的相机 + 激光雷达驾驶场景,里面充满了真实车辆几乎遇不到的稀有情况。NVIDIA 发现,把合成数据混入 GR00T 的训练,相比只用真实数据能让性能提升 40%。梦想是把数据问题转换成算力问题——做到了,你就继承了 AI 其他领域已经享有的所有优势。
策略二:学"人作为人"的数据
第二条策略更隐蔽,对我们来说也更美。最可规模化的机器人数据采集者不是机器人——是人戴着眼镜。
像 Meta 的 Ego4D (超过 3,000 小时的第一人称视频,记录人们做普通事情)和 Project Aria 智能眼镜把问题彻底重新定义了。Georgia Tech 的一个叫 EgoMimic 的系统把它讲透了:当你看着一份巨大的自我中心人类数据集时,你看到的等同于一份巨大的机器人数据集——只不过是被"人们单纯活着"这个过程被动生成的。你戴上眼镜过日子,你就在以"人类生活本身的规模"产出操作数据。这项研究里最让人停下来多看一眼的发现:额外的一小时人手数据,比额外的一小时机器人数据更能提升机器人表现。所以比起需要专门人工的遥操作,第一人称数据采集的承诺是以"几乎不增加额外成本"换"规模化的数据"。
训练的阶梯
有了架构与数据,怎么实际造出一只能干的机器人?答案是分多步走,每一步目标不同。
Fig. 5 · 训练阶梯
01 Pre-training
shape VLM backbone
spatial reasoning
02 Mid-training
build action expert
generalist across robots
03 Post-training
specialize to one body
teleop + ego data
04 Deployment-training
adapt to one room
safe + useful
competence is built stage by stage, each climbing on the last
图 5 · 能力是一层层垒出来的, 每一层都踩在上一层之上。从"懂世界"的主干,到"在某个具体房间里真的安全好用"的机器人——每一层目标不同。
根据原文 Fig. 5 可视化结构重建,用于中文阅读页展示。
Pre-training(预训练) 塑形 VLM 主干。喂给它海量关于"空间推理"和"世界通常如何运作"的数据,目标是让它建立对物理世界的理解与推理能力。
Mid-training(中期训练) 造出动作专家。目标是让这颗大脑"在几乎任何配置下都能凑合工作",能把自己的理解翻译成多种机器人、多种场景下的多种动作。这一阶段需要大量跨环境的机器人数据。
Post-training(后训练 / 微调) 把这颗通用脑微调到一只具体身体 + 少数任务上。把通用模型专门化到,例如,某种双臂配置——现在它在该具身体(embodiment)上开箱即用。这一阶段才是"挖到的真实世界数据"真正发挥作用的地方——遥操作数据与第一人称数据能最直接地翻译成这里的真实表现。
Deployment-training(部署训练) 目标是把机器人适配到某一个具体环境,直到它在那里真的安全、真的有用。它填的是"在演示里能跑"和"在你家厨房能跑"之间那道缝——很多看起来很厉害的机器人就是在这里悄悄倒下的。π₀.₅ 之所以有趣,正因为它在试图收窄这道缝:它被设计用来在训练时从未见过的家庭厨房与卧室里做清扫,常常凑合能行——不完美,但带着一种人面对陌生房间时也会有的、令人熟悉的随机应变。
让机器人自学
这条路有天花板。一只只在示范数据上训练过的机器人,最多只能变得和它的示范一样好。它学到的是"理想路径",但学不到"如何从自己的错误中恢复"——因为它根本没真正见过自己的错误。这就像只靠"完美驾驶视频"学开车——一旦你走错一步,你就手足无措。
出路的形态和人学东西的方式一样:练,对着一个评分者。这就是强化学习(reinforcement learning)——让机器人尝试,给结果打分,强化那些奏效的。难点在于:你无法在每个时刻都监督它,也无法为每种可能情况都准备好示范;并且在现实世界里(不像仿真),尝试是串行的、慢的,还要有人来重置场景。在物理世界里跑 RL 因此格外难。
另外,人类干预也是一个有用的工具。当机器人进入坏或危险状态时,人可以打断推理,把它带回到一个更好的状态。这催生了一系列人在回路(human-in-the-loop)的学习算法,比如 HIL-SERL 。
Fig. 6 · RECAP 闭环
INSTRUCTION
watch demos
COACHING
human intervenes · recovery
PRACTICE
score own attempts
DEPLOY
ask for "good"
图 6 · RECAP 把"一个人掌握一项技能"的整段弧线编成一根辫子。 信号沿闭环持续跑:从看示范,到被教练纠错,到一次次试错自评。
根据原文 Fig. 6 可视化结构重建,用于中文阅读页展示。
最近一个最有冲击力的示范是 Physical Intelligence 的 π*₀.₆ ——用一种叫 RECAP 的方法训练而成,把"一个人掌握一项技能"的整段弧线编成一根辫子:instruction(指令) ——看示范;coaching(教练) ——人通过遥操作实时纠错、教会它恢复;practice(练习) ——机器人自主尝试任务成百上千次,给自己打分、保留奏效的。里面还有一个巧妙的小细节——流匹配模型用不上标准的 RL 工具,所以 RECAP 改成教模型识别"好动作 vs 坏动作",在部署时直接问它"给我一个好的"。结果是:在折衣服、拉浓缩咖啡这种高难度任务上吞吐几乎翻倍,失败率砍掉一半以上,机器人能基本不间断地跑一整个咖啡站。
自改进算法因此解决了机器人性能上的主要瓶颈——尤其是泛化方面。
我们从哪里切入
我们的使命是把"好奇的公众"与机器人学连接起来,让任何人都能部署一只机器人。以上所有内容,都是我们想让世界变得可读、够得着的那件事的一部分——不只是给那些拥有深厚工程师班底的研究室,而是给任何好奇心足够、愿意试一试的人。
如果任何一处与你共鸣,欢迎加入 Discord 、在 X 上关注我们 ,与我们一起搭建。