专栏名称: 计算机视觉工坊
专注于计算机视觉、VSLAM、目标检测、语义分割、自动驾驶、深度学习、AI芯片、产品落地等技术干货及前沿paper分享。这是一个由多个大厂算法研究人员和知名高校博士创立的平台,我们坚持工坊精神,做最有价值的事~
目录
相关文章推荐
51好读  ›  专栏  ›  计算机视觉工坊

殷鹏教授万字畅谈:为什么机器人研究了几十年,还是给人感觉没有太大进展?

计算机视觉工坊  · 公众号  ·  · 2024-11-10 00:00

正文

点击下方 卡片 ,关注 「3D视觉工坊」 公众号
选择 星标 ,干货第一时间送达

| 本文已由原作者授权转载,如需转载请联系原作者,禁止二次转载

| 知乎原文链接:https://www.zhihu.com/question/22056195/answer/17999352252

| 殷鹏教授知乎主页链接:https://www.zhihu.com/people/maxtomCMU

| 作者:殷鹏   编辑:智驾机器人技术前线

百亿真实数据 + 通用操作系统 -> 通用机器人“奇点时刻”

“技术日新月异,人类生活方式正在快速转变,这一切给人类历史带来了一系列不可思议的奇点。我们曾经熟悉的一切,都开始变得陌生。” ——约翰·冯·诺依曼

其实机器人技术的迭代并不是没有任何进展,而是它是以指数的方式迭代,当我们以当前的视角审视过去,感觉它似乎发展缓慢,但是当你深处其中,你会感觉到它疯狂迭代的速度。以我自身的经验去分析, 本人经历过8年无人驾驶的洗礼,在卡内基梅隆大学CMU工作5年,经历过NASA火星项目,DARPA地下机器人挑战赛项目,NVIDIA终身学习项目 。以一个过来人的身份,我们可以深刻的感受到,机器人行业在过去5年内疯狂的迭代。我们举一些例子来说明机器人技术本身的迭代:

在机器人/自动驾驶中,强化学习和slam哪个方向更有前景?

  • 上百公里的无GPS无人系统定位能力,辅助火星机器人实现精准的火星降落;
  • 几十公里的多机协作系统,辅助多个机器人完成大规模园区的复杂操作;
  • 长期的终身学习系统,辅助机器人在火星、月球等算力匮乏的环境中持续优化。

有很多人认为,单一的抓取或者locomotion是实现机器人的全部,但是我们认为 This is far from enough 。能够辅助机器人不断迭代,不断落地,且能够带来通用性进展的核心,有两层,一层是机器人的海量数据,一层是机器人操作系统。如果把机器人看作在19世纪初的飞机或者轮船,那么操作系统就是其核心的“发动机”,而数据就是流淌在其中的“燃油”。单纯只有精巧的“发动机”,是不足以驱动复杂多变的机器人系统进行大量的交互验证;而同样的,单纯只有海量的“燃油”,如果没有合适设计的操作系统,也同样很难把机器人的性能发挥到极致,才能达到我们希望看到的机器人样子。综合以上这些因素,人们一方面觉得机器人迭代很慢,但是真正身在其中的人的感受到这种翻天覆地的变化,而整个机器人时代没有比以往更加明确这条道路的确定性,那就是通用人工智能的“奇点时刻”。


数据!数据!还是数据!

其实机器人系统的有用性,一个核心要素就是是否有支持其模型训练的海量数据。经历过无人驾驶时代,大语言模型时代,我们不难发现,算法和算力已经不再是限制技术进步的核心壁垒,数据反而是最大难题。

真实机器人系统中,数据的稀缺性。

来点行家的专业信息,上图是COATUE给出“Why Robotic Won’t Have ChatGPT Moment”的分析,其中有一个很有意思的思考,那就是关于机器人数据的对比。我们不难发现机器人的数据相对比文字(ChatGPT)、图片(Midjourney)和视频信息(Runway)的稀缺性。而作为一个更加具象的分析,我们可以参考一下当今模型参数和可用Tokens的对比:

  1. 文本:模型参数1Trillion,可用Tokens 15 Trillion,Token/Model=1/15;
  2. 图片:模型参数6Billion,可用Tokens 6 Billion,Token/Model=1/1;
  3. 视频:模型参数3Billion,可用Tokens 2.6 Billion,Token/Model=1/1.15;
  4. 机器人:模型参数7Billion ( OpenVLA ),模型参数55 Billion ( RT-X ),可用Tokens 2.4Million,对于OpenVLA Token/Model=1/2916,而对于RT-X Token/Model=1/23000.

我们可以清楚的看到数据的极度贫乏性,是目前文本的200~1500倍,是图片数据的2900~23000倍,是视频数据的1900~15000倍。于此同时,我们不能忽略的一点在于,机器人数据模态的多样性。不同于以往单一模态的文本、图片和视频,机器人数据需要帮助机器人理解真实世界的物理属性,理解动作序列之间的前后逻辑关系,理解不同任务之间动作的内在关联等,因此机器人数据需要同时包含:视觉、触觉、听觉乃至于嗅觉,而其中最为关键的就是视觉和触觉。

这类数据不像是文本、图片、视频等,我们可以在互联往上进行快速的获取,机器人数据本身在互联往上可以说是“非常稀缺”的;整个网络只有有限的几百万数据,而且是非常单一的场景,但作为对比,我们希望机器人的工作环境却是方方面面的。这样就是一个很矛盾的点,一方面是我们希望的足够通用的机器人,另一方面是极度稀缺且匮乏的机器人数据,如何解决这类稀缺性,是我们需要思考的一个核心。

不同的数据形式

机器人数据的另一大难题,就是复用性。我们可以从目前集中机器人数据获取的模式中大概窥得一二。

摇操作方案

摇操作方式: 年初Aloha的成功模式,让我们快速看到了摇操作的最大价值,同时包括Tesla和Deepmind在能的很多大型公司也开始All in 摇操作模式,同时大家也确实看到了摇操作模式在单一子任务中的性能优势。配合UMI等路线的性能提升,我们见识到了Few shot Trajectory在实际Demo中的效果。但是在实际应用中,摇操作方法必须需要把机器人和人绑定在一起,(有时候不止一个人,像Tesla每台Bot就需要两个操作人员,时薪46刀)。于此同时,摇操作采集的是机器人身上的数据,因此此类数据往往只能适用于一类机器人,每当机器人的结构发生变化,相同场景中的相同任务就需要重新收集,以确保Demo的有效性。因此在这里我们算一笔账:

如果人类社会生活总共有100万不同的Task,其中每一个task需要学习50条历史记录。那么可以推理出机器人需要5000万条信息,在理论上就可以训练出一套足够完备的机器人系统。但是这里需要有几个假设,1. 机器人的数据采集可以在2~3年内采集完,2. 机器人形态不能在这2~3年内有任何变化,3. 机器人感知模式不能发生太大变化。其中2~3条,一旦发生变化,都会导致早期数据的采集完全失效,而第1条是验证一套系统从采集到应用到落地的基本周期性时间。但是客观来讲,这个成本是非常高的,Google和Tesla等公司都花费了数百万数千万美元进行数据采集,但是还是很难批量收集到高质量的机器人数据,因此摇操作方案也因为其周期长、成本高让一般研究人员望而却步。

虚拟引擎

虚拟引擎方式: 早期在Anymal Robotics发布第一代基于Issac的机器人模拟引擎学习的时期开始,虚拟引擎便作为一种在Locomotion领域应用可以快速提供数据的方法,这类方式可以快速帮助机器人适配复杂的地形地貌,可以完成一些列的上下楼梯等。因此,我们也同时可以看到,虚拟引擎在机器人的manipulation领域同样可以提供海量的训练数据,可以以极低的成本进行大批量的数据生成和预训练。但正如COATUE所指出的,Sim和Real之间的Gap至今为止都还是一个极难克服的鸿沟。本质上来说, Locomotion是一个平衡问题,因此不论是二足人型还是四足机器人,只需要机器人维持稳定的平衡即可;机器人的Manipulation是一个跟复杂3D环境的交互问题,这里面的平衡只是基础,而更为复杂的是机器人如何理解物理世界的前后关联和物理属性。这种物理属性的多样性会涉及到摩擦力、粘附力、集合结构特性、重力属性等一系列的物理属性,在不同的环境、材质、温度、湿度中,相同对象的物理特性完全不一致。真实与虚拟之间的Gap,很难用量化的方式考验其差异度的大小,这就好比两个平行的物理世界,每个世界都有其各自的物理学原理,但是我们很难从一种世界掌握另一种世界的运动能力。一种可行的方式,是虚拟引擎+真实数据的结合,但是从无人驾驶行业我们可以清晰的看到,以结合的方案推进一套无人系统,真实数据往往是虚拟数据的数倍甚至是几十倍。

视频流模式

视频流学习: 实际上是一种更为广义的学习方法,这类模式可以让机器人通过第一视角或者第三视角的方式进行人类数据的堆叠,因此本质上这类数据是不需要一类人和机器人系统的,而只需要从人身上获取最为原始的数据。目前已经有越来越多的学者意识到这种模式的可行性,虽然几个月前还是处于“Early Research”的标签,但是这类数据越来越强的通用性和可扩展性已经越来越引起人们的重视。我们习惯把这种方式称之为“ 到取火种 ”。

Cyber 千万级-长时期-开源数据集

为了解决数据这个刚性需求,我们将会发布百万级的流媒体数据,这类数据将会包含一系列的复杂任务动作,包含多模态的传感器信息,满足一些人形机器人+类人型机器人对于数据的迫切需求。这些数据包括:

  1. 多年以来 ,机器人视觉导航的系统能力,辅助移动机器人,尤其是人形机器人系统在医院、学校、公园等环节中的复杂场景理解和交互等。
  2. 数月以来 ,大园区室内外环境的导航数据,可以辅助移动机器人理解Large-scale和Long-term中的光线变化、天气变化和动态障碍物的信息等等。
  3. 每月更新 ,人工在室内厂房环境中的操作数据等,包括复杂的手部操作和视觉、触觉信息等,每月数百上千小时的数据更新,同时确保manipulation数据的多样性和复杂性。

这种流媒体的数据采集方法,实际上我们已经持续了5年以上。在以上的数据中,有一部分定位导航的数据可以追溯到2020或者2019年,而人工采集得到的数据至今也已经跨度半年以上。而且在这个过程中,我们发现一件很有意思的事情,那就是数据的兼容性和继承性。采用不依托机器人的流媒体数据采集方案,可以确保我们的数据能在多年之后依旧被应用于机器人系统的训练和优化;同时这类数据可以适用于各种不同类型的机器人本体,因此也就在一定程度上避免了数据孤岛。更为重要的是,作为一种开源的数据系统,大家可以共同就设计和思考是否存在更好的通用机器人实现方案。而技术的迭代正是由无数科技爱好者和一系列的研究团队共同努力的结果。


通用机器人系统


本质上,机器人领域的迭代在历史的长周期上是一个确定的事情,但是行业的短周期上是一个不可强求的事情。在回答这个问题之前,我们首先要确定,这个问题所定义的机器人,到底是机器产品,还是所谓的智能机器人。如果是前者,那么这个领域在很多方面已经非常成熟;而对于后者,其实也是有很大的进展,但是智能机器人(通用机器人),他的核心突破点,其实在于机器人对于物理世界的 “常识性认知与交互” 。这一点跟过往大家对于机器人的理解可能不太一样,但是实现通用机器人的重点,并非在焦虑中徘徊,而应该是一步一个脚印中扎实探索。

毫无疑问,最近这段时间通用机器人的崛起,其核心还是大语言模型带来的通用能力的提升。伴随着大语言模型的发展和机器人技术的快速迭代,人类社会的运作方式正经历着前所未有的变化,仿佛驶入了一条通往未知的加速轨道。这些巨变,带来了无数次看似不可思议的奇点,22年底的ChatGPT爆发,深刻改变了我们的生活与思维方式。我们熟悉的世界正在解构,再塑,一个全新而充满可能性的未来在眼前展开

而就在这浪潮中, 通用机器人 给我们看到了关于未来生产力的一种新的可能性,关于第五次工业革命的可能。在我们之前的预测中,技术的发展存在周期性的迭代特性,如此前我们在一篇评论中所描述中,“新一波的康波周期,势必会从信息技术中的技术瓶颈中孕育出来,并进一步带来生产力的革新”。在整套通用机器人架构中,我们经常会面临两方面的选择,基于规则和几何结构的 经典传统方案 和机遇深度学习/大模型等的 数据驱动方案

  • 经典传统方案: 在传统的机器人系统中,基于物理和工程学的经典方法长期以来为机器人提供了可靠的基础架构。这些经典方案基于明确的规则和物理模型,具有高确定性和可预测性,使得机器人在特定任务中的表现高度稳定。这类方案多见于当前机器人系统中的 定位、导航、建模、规划 中。
  • 数据驱动方案: 数据驱动的大模型,尤其是基于深度学习和强化学习的模型,能够从大量的历史数据和环境交互中学习复杂的模式和行为。这些模型擅长处理非结构化数据,并能够在面对未知或模糊环境时,通过 终身学习、自我学习 不断优化自身的表现,使得机器人在复杂和未知的情境中具备更强的适应性。

随着任务复杂度和环境不确定性的增加,单纯依赖经典的规则方法难以应对多样化和动态变化的应用场景,在这一背景下,数据驱动的通用机器人大模型方案展现出了其独特的适应性。但是另一方面,真实世界的复杂性和多样性,又使得单纯依赖于数据驱动方案的机器人系统难以在现实生活中得以应用。在我们此前的文章中,分析过这两类方法在实际中的真实价值。

如果我们把通用机器人发展的命题锁定在机器人 “常识性认知与交互” 上面,我们会发现通用机器人缺乏一套可以让其 “具备完成常规能力,又能不断根据环境进化、反思、改良” 的系统架构,这类架构有点类似于电脑的操作系统,但又不完全一致。客观的来讲,这套系统并不是单纯的软件架构,而是构建一套智能化生命体的基础,无论是家庭、实验室、工厂,还是探索宇宙的最远角落,这套系统赋予了机器人跨越不同场景和任务的能力, 以一种接近生命的方式去学习、去思考、去适应。 我们正在见证一个新的纪元,机器人不再受制于预编程的规则与狭隘的数据集,它们开始像我们一样,透过与世界的互动,逐步构建对环境的理解。它们的学习来自于多样化的数据,从人类的动作中汲取灵感,具备了理解复杂任务的能力,也能从不断的经验积累中优化自己的行为决策。

于此同时,这套系统也需要模块化的模组设计,使得系统的进化可以从多个角度( 世界模型、视觉-语言行动模型、感知、记忆和控制模块 )出发,为机器人提供了一种可以应对变化、不断进化的智能架构,打破过去机器人局限于单一任务的桎梏。为了以上这个目的,我们提出了如下的Cyber架构。

通用操作系统架构+海量数据

https://github.com/CyberOrigin2077/Cyber(欢迎star)

本文将会围绕着Cyber这套架构的设计思路,从 架构逻辑,操作系统,模块设计 三个角度展开对于这个架构的理解。这是一个庞大的工程体系,但并不代表不能实现。

架构逻辑

如何设计和开发通用机器人的操作系统,这是一个很大的Topic,这个领域目前还没有一套收敛的体系架构。相对比来,无人驾驶系统可能是目前最接近通用机器人系统的架构体系,但是其中的端到端也只占了很小的比例。同时需要考虑到,通用机器人所可能遇到的场景复杂度、多样性、动态性等问题会是无人驾驶系统的成百上千倍;此外通用机器人需要同时兼容Navigation和Manipulation,而无人驾驶仅仅需要考虑有限环境中的Navigation,因此这里面的复杂度已经不言而喻了。因此我们经常会考虑这个问题,传统的机器人方案,是否还能够满足当今通用机器人的具体需求。

逻辑背景

经典算法在通用机器人系统中的应用

如上图所示,在我们早期的工作里面(2017~2023年),我们考虑的通用机器人系统更像是无人驾驶目前架构体系,其中涵盖了常规意义上的 高精度定位、建模、感知、导航、协作和终身学习 方面的工作,这一些工作在Field Robotics和Rover Robotics系统中有着至关重要的价值。引申到无人驾驶、仓储物流、清洁巡检等领域,都是最为基本的模块。但时至今日,这一类能力也只能在室外环境和相对简单的室内环境中进行应用。如下图所示的视频中,是我们从21~24年搭建起来的跨越Long-term和Large-scale的机器人导航系统,可以看到很多我们看似简单的室内外导航,对于机器人的来说却需要动用全部资源进行处理。

这里加一个插曲,有人会问(包括很多做经典SLAM的同学),这种常规的定位导航系统不都是已经解决了吗,乃至于会考虑SLAM这类技术在具身智能的背景下,是否还有继续推进的必要性。但是客观来讲,很多经典的问题,其实都是在相对稳定的环境中进行,但很少有方法可以适配于复杂多变的真实场景,为此我们之前还专门写了一篇文章来论述这件事(篇幅问题,在这里就不过多赘述了,详情请看下面附着的文章)。而很多传统且经典的领域,实际上都在迎来自己的“第二春”。

以SLAM技术为例,很多新的“端到端”或者“Data-Driven”的方法,确实可以实实在在的提供系统定位导航的能力;以Control领域为例,MPC+RL等方法的结合,确实可以给足式机器人的Locomotion提供本质上的性能提升;以Navigation为例,Visual-Language-Navigation也确实可以让机器人的导航更具有“共识”性;最后以Manipulation为例,Visual-Language-Action也确实可以给机械臂的运动规划和复杂场景中的抓取任务提供更鲁棒能力。但这里面中,我们其实发现有两个核心的点: 1. 都需要传统方法和端到端方法的结合,2. 都需要大量数据 。关于这种思维链路的集中体现,还是举我最为熟悉的SLAM领域说明。

核心思想

因此在我们在设计构思 Cyber 整个架构的时候,就在考虑以下几个核心的设计要素:

  1. 模块化: 模块化设计意味着系统由多个相对独立的模块组成,能够根据不同任务或应用场景进行灵活组合和替换。通用机器人所面临的环境非常多样化,模块化架构允许系统在不改变核心部分的前提下,快速适应各种场景,例如从工业制造到家庭服务等应用。每个模块可以是导航、感知、操控等不同功能的单元,用户可以根据需求选择合适的模块,甚至针对特定需求开发新的模块。这种设计大大提升了系统的可维护性和灵活性,降低了开发成本和复杂度。一个好的机器人系统,不会是单一的Navigation系统或者Manipulation的系统可以完成的,是一个多元复合体。
  2. 数据驱动: 随着机器人技术的进步,我们越来越发现,机器人的通用能力并不只是取决于硬件或者与之对应的算法,而是更多取决于整套系统中渗透着的物理世界数据。如果把操作系统比做 发动机 ,那么数据就如同流淌其中的 石油 。这一点,也刚好呼应为什么模块化不能完全隔离,因为整个系统的各个模块是紧密耦合且联动的,无法完全隔离。现实一点的例子,我们之前做机器人导航决策等,但是越来越觉得类似于SLAM技术已经不在只是定位导航这种单一的任务模块,而是如同人类的海马会一样,跟机器人的记忆、行为甚至决策紧密耦合。
  3. 跨平台性: 通用机器人系统必须具备跨平台的能力,即能够在不同的机器人硬件上运行。由于机器人硬件的种类繁多,包括不同设置的机械臂、机械手、移动地盘等,系统需要能够在不同硬件架构和操作环境中轻松移植和适应。但是这个问题的难度在于,差异化的平台会给模块化设计和数据驱动的端到端训练带来难题。因此,跨模态的系统迁移和对应的模型迁移,都会是其中的难题。今朝就好比Windows系统或者Linux系统,如果只能在单一形态的计算机上应用,那他们的价值还是非常有限的。因此通用的一个核心考量之一,就是是否可以支持跨平台支持。
  4. 可定制化: 可定制性是通用机器人操作系统的一个关键特点。不同应用领域对机器人的要求各不相同,例如工业机器人可能需要高精度和高负载的操作,而服务机器人则需要更多的交互和移动能力。因此,Cyber这套系统允许任何研究人员对其进行特定需求下的定制要求,包括对于传感器的适配和功能性的适配。这一点也是我们过去几年对于通用机器人系统在实际应用中的开发思考,也就是任何功能性的软件系统,应该如同水一样自由的渗透到任何形态中。
  5. 可扩展性: 可扩展性使得系统可以通过添加新功能和模块来增强其能力,适应未来需求。这种设计思路不仅能满足现有的功能需求,还能通过不断扩展支持未来的技术创新和新应用。举例来说,机器人系统可以通过增加新的感知模块(如LiDAR或高分辨率摄像头)来提升环境感知能力,或通过集成新的操控算法来应对更复杂的操作任务。可扩展性还鼓励第三方开发者为系统贡献模块和功能,促进整个生态系统的发展和技术进步。
  6. 开源社区: 在说完以上几点后,我们意识到通用机器人系统不太可能是一个闭源环境下可以完成的,它需要一个开放的社区环境。开源意味着该系统的源代码向公众开放,任何人都可以获取、使用、修改和分发,同时也意味着这套系统可以进一步激发AGI领域的“最强大脑”们以自己的思考进一步推进通用人工智能生态的进步。

以上这些基本原则,在过去我们几年在MetaSLAM的研发中被验证可以更大程度上加速AGI的进展,因此我们计划在未来的几年中,按照这种架构逻辑继续推进通用机器人操作系统的研发。

https://github.com/MetaSLAM (欢迎star)

操作系统

CYBER系统采用模块化架构设计,具备高度的灵活性和定制能力。以下是其关键组成部分的详细解释:

世界模型 (World Model)

这个模块能够为机器人提供有关物体形状、位置、物理属性及其相互关系的信息,是机器人进行有效操作的基础。世界模型不仅使得机器人具备适应不同环境的能力,还能够预见未来可能的变化,从而制定更合理的行动计划。这种对环境的深刻理解,使得机器人在复杂情境中拥有了高度的自适应性和灵活性。目前, 世界模型 已对外开放。

行动模型 (Action Model)

行动模型负责从机器人与环境的交互中学习如何执行任务并导航。它能够根据任务需求将不同的动作组合起来,以完成特定的操作。行动模型的学习不仅基于机器人自身的运动数据,还结合了来自人类演示的数据,这使得它能够在任务执行中展现出类似人类的直觉和灵活性,尤其是在多样化的任务中表现出色。

感知模型 (Perception Model)

感知模型处理来自各种传感器的数据,帮助机器人实时“看到”并“感知”周围环境。感知不仅包括对物体的识别,还涉及对动态变化、物体之间的空间关系的理解。通过感知模型,机器人能够对环境进行准确的解释,使得它们可以在快速变化的环境中做出实时反应,保持稳定的任务执行能力。

记忆模型 (Memory Model)

记忆模型为机器人提供了经验积累与利用的能力。它记录并管理机器人在执行任务过程中的关键信息,将这些经验用于未来的类似情境中,以帮助机器人做出更为明智的决策。通过记忆模型,机器人能够总结过去的成功和失败,从而不断优化自己的行动策略。这种自我学习和不断积累的能力,使得机器人能够在执行任务时不断提升效率和表现。

控制模型 (Control Model)

控制模型负责管理机器人与外部环境的交互,是实现动作执行的关键模块。它接收来自其他模块的输入,计算具体的控制指令,并通过驱动电机、机械臂等执行器来完成动作。控制模型通过不断接收和处理来自传感器的反馈信息,确保机器人能够精准执行任务指令,同时根据环境的变化进行动态调整,以实现更高的控制精度和适应性。



本文仅做学术分享,如有侵权,请联系删文。







请到「今天看啥」查看全文