摘要:具身智能拥有支持感知和运动的物理身体,可以进行主动式感知,也可以执行物理任务。更重要的是,具身智能强调“感知-行动回路”(perception-action loop)的重要性,即感受世界—对世界进行建模—进而采取行动—进行验证并调整模型的过程。自动驾驶与具身
具身智能拥有支持感知和运动的物理身体,可以进行主动式感知,也可以执行物理任务。更重要的是,具身智能强调“感知-行动回路”(perception-action loop)的重要性,即感受世界—对世界进行建模—进而采取行动—进行验证并调整模型的过程。自动驾驶与具身智能高度重合,具身智能有大脑、小脑和身体三个核心部件,自动驾驶与其类似,只不过身体换成了底盘控制系统,二者的大脑部分几乎完全一致,即解决物理世界(驾驶环境)常识认知的问题,构建“感知-推理-预测-行动”的模型即VLA。机器人领域内的VLA,最早由谷歌在RT-2中提及,RT-1则首次将transformer引入机器人领域,VLA可以理解为直接理解复杂指令从而直接操控机械臂,即自动驾驶中的一段式或全局式端到端。
具身智能的小脑部分比较复杂,而自动驾驶则很简单,通常都不提及,自动驾驶可以依靠VLM解码出waypoint坐标,然后用MPC模型预测控制算法将waypoint坐标分解为横向和纵向控制,交给电机和转向机构负责。具身智能的身体部分比较复杂,车辆通常6自由度就足够,而具身智能机器人最高有35自由度,动作精确度及连贯度要求很高。具身智能任务、约束与求解(结合机器人的构型等硬件参数求解出达到运动任务所需要的各关节的控制参数);关节伺服控制(将控制信号转变为电流和电压信号,驱动电机完成相应的要求),以及状态估计(基于有限的感知信息尽可能准确的估计一组完整描述机器人随时间运动的物理量,如位置、速度、角度和角速度等)。
图片来源:义柏资本
机器人的控制层级可分为6级:交互级、任务级(Task Level)、技能级(Skill Level)、动作级(Motion Level)、基元级(Primitive Level)和伺服级(Servo Level)。当前,诸多与语言大模型结合的文章中提到的还是在交互级,而Low-Level指的是技能级,例如人形机器人在伺服级控制的频率则需要>1000Hz。
机器人用VLM
图片来源:Figure.AI
这个有点类似理想汽车的MindVLA,研究人员将机器人摄像头中的图像输入(Figure 的机载摄像头以 10hz 的频率拍摄图像),和机载麦克风捕获的语音中的文本转录到由 OpenAI 训练的——可以理解图像和文本的多模态模型VLM中。
由该VLM模型处理对话的整个历史记录,且对于接下来要采取什么动作已有大概的规划,然后通过Neural Network Policies细化「VLM给定的大概规划」,得到更具体的动作策略(决定在机器人上运行哪些学习到的闭环行为来完成给定的命令)。最后,一方面将特定的神经网络权重加载到 GPU 上并执行策略(相当于Whole body controller),200Hz的Action是基元级,1000Hz的联合扭矩是伺服(电机)级,通过VLM处理得到的语言响应通过文本到语音的方式将其讲给人类。
运动控制算法涉及到实现机器人的运动、姿态和动作控制的一整套理论模型和计算方法,在运动控制的各环节都有相应的算法。随着机器人自由度和结构复杂度的提升,运控算法从机械臂常用的关节伺服控制算法,拓展现在人形机器人常用的WBC、MPC,乃至学术前沿的强化学习,目前已经形成一个纷繁复杂的庞大体系。
目前,足式机器人的主流控制方法是基于模型预测控制(MPC,Model Predictive Control)的上层轨迹规划加上基于动力学模型的下层全身关节力控(Whole-Body Control)。MPC首先构建一个关于机器人动态的预测模型,该模型通常是一个简化的物理模型,如单质点模型或单刚体模型,用于近似机器人的整体运动。之后通过设定一个预观时间窗口,将机器人在该时间范围内的运动构造成一个优化问题,其目标是最小化轨迹的偏差、ZMP(机器人重心投影点在地面上的位置)的偏离,同时确保运动的稳定性和动态约束(如ZMP在支撑域内)。随后MPC根据优化问题的解来生成控制指令,并用于指导机器人的实际运动。WBC则是基于机器人的完整刚体动力学模型(描述了机器人的所有关节和身体部分之间的动态关系),将关节力矩的分配表达为一个优化问题,其目标是最小化质心和末端执行器轨迹的跟踪误差,同时满足动力学约束、关节力矩限制、接触力约束等。优化问题的解提供了每个关节所需的力矩,这些力矩随后被用于驱动关节,以精确地实现MPC层规划的运动轨迹。
MPC依赖于对未来状态的预测,而预测的前提是具备准确的环境模型;在开放环境中,由于环境的复杂性和不可预测性,很难建立一个全面和环境准确的模型。并且MPC和WBC需要大量的实时计算,包括复杂的优化问题求解,而在动态变化的不可预测开放环境中,这种计算负担可能导致响应延迟,跟不上变化。传统基于模型(Model-Based)的运动控制方法不具备泛化性。
为了泛化,学术界也在ML和Robotics的结合领域进行了诸多探索,并伴随着机器学习的进步而发展,大致可分为三个阶段。
神经网络阶段:以ND(Neuro-Dynamic,神经动力学)、FNN(Feedforward Neural Network,前馈神经网络)、RNN(Recurrent Neural Network,循环神经网络)为代表的神经网络方法不断发展,机器学习从仅能完成模型学习发展到可完成策略学习。强化学习阶段:在神经网络的基础上,强化学习不断发展,并通过Sim2Real(Simulation to Reality)不断提升学习决策的效果和泛化的能力。深度强化学习阶段:在强化学习的基础上引入深度学习,实现更为复杂和精准的控制,大致分为端到端学习和与基于模型的(Model-Based,即世界模型)控制方法相结合的两种技术方案。这让具身智能和自动驾驶走到了一起,即VLA。VLA实际是VLM的同义词或者说是VLM的延伸,A是Action,也可以高维度的简单的动作描述,比如超越前车再回到自己原来的车道,也可以是低维度具体的Waypoint动作描述。只不过目前VLM(也有叫MLLM,多模态大模型)默认是做VQA任务,即根据视频或图像,理解视频或图像并回答有人工指令的问题。
图片来源:论文《Towards Generalist Robot Learning from Internet Video A Survey》
具身智能领域对数据的依赖比自动驾驶领域还要高,每一种训练策略决定了要用什么样的数据集,如果采用端到端模仿学习的方法,给定一张图像并直接输出机器人动作,这通常依赖于真实世界数据,这个真实世界数据可以是人工采集的也可以是来自互联网的;如果采用端到端的强化学习RL,因为需要一个可以反复交互的环境,则往往依赖于仿真数据。这和自动驾驶也颇为类似。当然也可以混合使用,比如用真实采集数据获得一个基础模型,再由强化学习数据集来做微调。谷歌的RT-1使用包含超过13万个示范的大型数据集进行训练,这些数据集是在17个月内使用13个机器人收集的,成本相当高。
计算机视觉领域有imagenet数据集,机器人领域则有Open X-Embodiment数据集,2023年10月,Google、斯坦福大学、CMU、UC伯克利、上海交通大学、丰田研究院等21家机构联合整理出了开放的Open X-Embodiment数据集,其包含超过100万条真实的机器人轨迹,涵盖22种机器人形态,从单个机器人手臂到双手机器人和四足机器人,该数据集通过整合来自全球34个机器人研究实验室的60个现有机器人数据集而构建,并将它们转换为一致的数据格式,方便下载和使用。
机器人领域的VLA开山之作RT-2框架
图片来源:论文《RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control》
与自动驾驶一样,它是基于多模态大模型,然后针对专项任务做了微调,即机器人动作数据微调。RT-2使用的VLM是5B和55B的PaLI-X、3B的PaLI以及12B的PaLM-E。实际上PaLI-X就是谷歌Gemini的雏形,PaLI-X包含一个220亿参数的稠密视觉token变换,为了让VLM能够控制机器人,需要行动表示为模型输出中的token,token在数学上就是一系列向量。假定机器人和汽车一样是6自由度的,那么所有的动作指令可以分散为256个token或者说向量数字,用8位整数表示,微调的目标就是将可以通过简单地将每个维度的动作token用空格字符连接起来,将动作向量转换为单个字符串,建立一个映射库,将输出动作token最终映射为单个字符串。
平移[0.1,-0.2,0],旋转[10°,25°,-7°],即是 132 114 128 25 156。
RT-2的Plan和Action
图片来源:谷歌
显然这里的plan类似于自动驾驶的高维度驾驶策略,比如靠右减速停车,Action类似自动驾驶低维度指令的waypoint。
OpenVLA框架
图片来源,论文《OpenVLA: An Open-Source Vision-Language-Action Model》
RT-2后比较有影响力的是丰田、谷歌、斯坦福、UC巴克利合作的OpenVLA,它公布于2024年3月,以Meta的LIama 2 7B为VLM,体积比谷歌RT-2使用的550亿参数的PaLI-X小很多,第一步input image patches同时输入到两个编码器中,两个编码器输出的特征向量按通道拼接。与较为常用的视频编码不同,添加DinoV2特征能够有助于提升空间推理,这一点特别有助于机器人控制。两个编码器的参数量为6亿。第二步用MLP投影将视觉编码输出的embedding映射到一个语言模型的输入空间,即将视觉编码和语言对齐。第三步就是进入LLM处理,输出token。实际上1、2、3合起来是一个名为Prismatic的VLM。
为了使VLM的语言模型backbone能够预测机器人动作,论文作者将通过将连续的机器人动作映射为离散的tokens,这些离散的tokens由语言模型的tokenizer所使用。作者将机器人动作的每个维度分别离散化为256个bins中的一个。针对每个动作的维度设置bin的宽度,使其能够均匀划分训练数据中动作的第1个和第99个分位数之间的间隔。使用分位数代替Brohan等人研究中所使用的最小-最大边界,能够忽略数据中的异常动作,避免这些异常动作大幅扩大离散化间隔以及降低动作离散化的有效粒度。OpenVLA的语言backbone使用的tokenizer(Llama tokenizer)只为微调过程中新引入的tokens保留了100个“special tokens”,而作者提出的动作离散化需要256个tokens。作者将Llama tokenizer的词汇表中最不常用的256个tokens重写为作者的动作tokens。一旦动作被处理为tokens序列,OpenVLA就以标准的下一个token为预测目标的模式训练,仅评估预测的动作tokens上的cross-entropy loss。
OpenVLA技术上毫无创新,但最大特色是真正的开源,包括权重、数据和代码,之前任何的VLA都是完全封闭的,同时与OpenVLA模型一起,作者发布了OpenVLA codebase,一个用于训练VLA模型的模块化PyTorch codebase(https://openvla.github.io)。该codebase可以从在单个GPU上微调VLAs扩展到在多节点GPU集群上训练数十亿参数的VLAs,并且支持训练大型transformer模型的最新技术,例如自动混合精度(AMP,PyTorch)、FlashAttention、完全分片数据并行(FSDP)。OpenVLA codebase是开箱即用的,完全支持在Open X dataset上训练,与HugginFace的AutoModel类进行了集成,并且支持LoRA微调和量化模型推理。
韩国ETRI双系统VLA
图片来源:论文《A Dual Process VLA: Efficient Robotic Manipulation Leveraging VLM》
和自动驾驶VLA一样,机器人领域最新的也是快慢双系统,典型的如Figure.AI发布的 VLA 模型 Helix。自动驾驶领域,VLM消耗运算和存储资源比较多,无法做到快速响应,也不擅长精准的坐标输出,但场景理解能力强,对应corner case能力强。传统算法或者模块化端到端消耗资源相对较少,约束较多,辅助任务头多,响应速度快,且擅长精准的坐标输出,因此将两者结合,互相补充,快慢双系统。
图片来源:地平线
这里的Ours是地平线的SENNA模型,是典型的快慢双系统,是目前开环测试性能全球第一的端到端系统。
高通的快慢双系统,DiMA框架
图片来源:高通
机器人领域称之为分层,上层即理解层,上层任务规划策略主要是基于文本指令和当前环境信息,利用多模态大模型技术进行任务规划,输出为文本动作序列。下层操作策略主要是指让机器人学会各种操作技能,输入是技能标识(文本或轨迹)和当前状态信息(环境和机器人本体),输出是末端姿态或关节角度。
2025年2月20日,智能机器人公司 Figure.AI 发布的 VLA 模型 “Helix: A Vision-Language-Action Model for Generalist Humanoid Control”,是典型的快慢双系统,也是最接近量产的机器人VLA系统,Figure.AI在机器人领域的地位近似于OpenAI在LLM领域内的地位。
首先来看Helix的神奇之处,第一是快,(RT-2论文里提到的决策频率则只有1到5hz),更没法做到200hz的操作速度,Helix的上一代Figure 01中得益于基于简单神经网络的机器人操控小模型,做到了以 200hz 的频率生成 24-DOF 动作(在自由度上,Helix有35自由度),RT-2还是6自由度。第二是简单,就一个大模型,通过自然语言就可得到最终的 Action。第三是训练效率高,现有的 VLA 系统通常需要专门的微调来优化不同高级行为的性能,Helix则不用。第四,泛化能力强,Helix 直接输出高维动作空间的连续控制,避免了先前 VLA 方法中——比如RT-2、OpenVLA使用的相对简单的离散化动作tokenization方案,已取得一些成功,但在高维人形控制中面临扩展挑战。第五,所需训练数据少,收集了高质量的多机器人、多操作员数据集,其中包含各种远程操作行为,使用约 500 小时的高质量监督数据来训练 Helix,而一般的VLA预训练数据集一般1万小时起步。
图片来源:Figure.AI
Figure.AI提出全新的训练尺度法则,否定之前训练时长越长效果就越好的法则,提出任务数量越多,效果就越好。
图片来源:Figure.AI
Helix 的训练设计支持在 Figure 机器人上高效地并行部署模型,每个机器人都配备了双低功耗嵌入式 GPU对应快慢双系统,系统2对应的是70亿参数的VLM,频率达到7-9Hz,如果是英伟达的Orin-X难以做到1Hz,能这么快的嵌入式系统恐怕只有苹果的M2 Ultra,对于Transformer架构,存储带宽远比算力重要,苹果的统一内存设计,存储带宽可达800GB/s,比Orin-X的204.8GB/s快了近4倍,虽然算力远低于Orin-X,但最终频率是Orin的20倍左右。系统1对应的是慢系统,参数只有8000万,这个用Orin就绰绰有余了。传统的机器人VLA计算系统都采用英伟达RTX3090显卡的工控机,价格高,功耗高,体积大,Figure使用的计算系统功耗要低很多。
最终融合S1自身视觉主干的输入信息和来自系统2产生的潜在语义表征(latent semantic representations),整体输出快速反应的视觉运动策略——即200 Hz 的精确连续机器人动作,包括所需的手腕姿势、手指屈曲和外展控制,以及躯干和头部方向目标且他们在动作空间中附加了一个合成的“任务完成百分比”动作,使 Helix 能够预测自己的终止条件,从而更容易对多个学习到的行为进行排序。
图片来源:Figure.AI
和上一代相比,新系统 1 现在利用立体视觉骨干网络和多尺度特征提取网络来捕捉丰富的空间层次结构。当然这个立体视觉可以用激光雷达代替,不过立体视觉在机器人领域使用非常广泛,累积的免费资源很多,成本也比较低。
除了这些显性的VLA外,还有一些方案,如隐式的端到端VLA,代表作Structured World Models from Human Videos即SWIM,利用当前的视频扩散模型预测未来状态,再通过逆运动学生成动作,同时注重提高模型的可解释性。SWIM 通过使用人类视频训练世界模型,并结合视觉可供性地图推断目标姿势,实现了知识从人类数据到机器人控制的有效转移。该模型从人类视频中学习到人类在不同场景下的行为模式,然后利用这些知识预测机器人在相似场景下应采取的动作,为机器人在复杂环境中的决策提供了更可靠的依据。再有就是世界模型生成视频加逆运动学,代表性开源项目:UniPiRo、BoDreamer、UniSim、GR - 1/GR - 2 等。核心思想:先根据首帧和指令生成运动视频,再通过逆运动学得到对应的动作。这种方法通过视频生成模型预测未来状态,然后利用逆运动学将预测的状态转换为可执行的动作,提高了动作生成的可解释性和准确性。
还有基于热噪音扩散的非transformer大模型方式即扩散模式,代表性开源项目:Diffusion Policy、RDT - 1B 等。核心思想:将机器人策略建模为去噪扩散概率模型(DDPM),通过逐步去噪的过程生成动作。Diffusion Policy 通过创新技术,如后退视域控制、视觉条件和时间序列扩散变压器,在多模态动作分布、高维动作空间和训练稳定性方面表现出色。在面对高维动作空间和复杂的动作分布时,该模型能够有效地生成稳定且多样化的动作,为机器人在复杂环境中的动作生成提供了新的思路和方法。
目前机器人领域的发展方向和自动驾驶一样,那就是加入强化学习,包括强化学习微调和世界模型仿真。
免责说明:本文观点和数据仅供参考,和实际情况可能存在偏差。本文不构成投资建议,文中所有观点、数据仅代表笔者立场,不具有任何指导、投资和决策意见。
来源:佐思汽车研究