大模型机器人原理解析:如何从RT/RT2、Berkeley Gello到发展到斯坦福Mobile ALOHA、Google家务机器人

本文主要是介绍大模型机器人原理解析:如何从RT/RT2、Berkeley Gello到发展到斯坦福Mobile ALOHA、Google家务机器人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

23年7月,我在朋友圈评估Google的RT2说道:

  1. “大模型正在革新一切领域啊,超帅,通过大模型不仅能理解“人话”,还能对“人话”进行推理,并转变为机器人能理解的指令,从而分阶段完成任务。回头仔细看下论文”,当时便对大模型机器人印象深刻,一直想仔细研究下来着
  2. 但因为后来一直和团队忙于论文审稿GPT、企业知识库问答等项目,所以一直没抽出时间去深入研究

没成想,前几天,斯坦福的炒菜机器人火爆全网,再次让包括我在内的所有人目瞪口呆,再次在朋友圈评论道:

  • “多模态 + 大模型 + AI agent可以全方位赋能机器人
    一年前我决心彻底写清楚ChatGPT原理
    且一年前,因为对ChatGPT背后技术原理巨大的「好奇心」,加之极高的「分享热情」、以及想写一篇关于其原理最全面 最深入 最细致文章的「决心」,彻底改变了过去一年的轨迹
    ​博客证明了技术研究能力,课程证明了教学教研能力,项目证明了带队开发能力


    一年后的今天,我下定决心准备彻底研究下机器人
  • 刚好今年q1本身要做一个AI agent小项目,希望q2起,有机会做这个机器人agent大项目,如能和某高校实验室或资本合作更好”

说干就干

  1. 一方面,我组建了一个斯坦福机器人复现小组,准备先复现斯坦福这个炒菜或家务机器人
  2. 二方面,我准备把大模型机器人的发展史以及其中涉及到的所有关键技术细节,全部都梳理一下

第一部分

// 待更

第二部分

// 待更

第三部分  斯坦福机器人Mobile ALOHA:炒菜、家务全活了

3.1 Mobile ALOHA背后的技术解密

在机器人技术领域,通过对人类示范进行模仿学习已经取得了令人瞩目的成绩。然而,目前大多数研究结果都集中在桌面操作上,缺乏完成一般任务的移动性和灵活性,近日,斯坦福一研究团队开发了一个系统:Mobile ALOHA(论文地址、项目地址、技术文档),由于其可以做各种家务,比如炒菜、刷锅等等,使得其一经发布便火爆全网

斯坦福家务机器人mobile-aloha

该系统用于模仿需要全身控制的双臂移动操作任务(In this work, we develop a systemfor imitating mobile manipulation tasks that are bi-manual and require whole-body control)

  1. 首先提出了Mobile ALOHA系统,作为低成本全身远程操作系统来收集数据(通过一个移动底座和一个全身远程操作界面增强了 ALOHA 系统)
    We first present Mobile ALOHA, a low-cost and whole-bodyteleoperation system for data collection. It augmentsthe ALOHA system [104] with a mobile base, and awhole-body teleoperation interface.
  2. 之后利用Mobile ALOHA 收集的数据,然后进行有监督的行为克隆,且和静态 ALOHA 数据集进行协同训练co-training
    Using data col-lected with Mobile ALOHA, we then perform super-vised behavior cloning and find that co-training with existing static ALOHA datasets boosts performanceon mobile manipulation tasks.
  3. 每个任务包含50次演示(说白了,人类先做示范,然后机器人先向人类学习),在经过协同训练后成功率可达到90%,使得Mobile ALOHA能够自主完成复杂的移动操作任务,如炒虾、打开双门壁柜存放沉重的烹饪锅、呼叫并进入电梯以及使用厨房水龙头轻轻冲洗用过的平底锅。
    With 50 demonstra-tions for each task, co-training can increase successrates by up to 90%, allowing Mobile ALOHA to au-tonomously complete complex mobile manipulationtasks such as sauteing and serving a piece of shrimp,opening a two-door wall cabinet to store heavy cook-ing pots, calling and entering an elevator, and lightlyrinsing a used pan using a kitchen faucet.

3.1.1 Mobile ALOHA 硬件

在此之前,能够即插即用的全身遥控硬件是比较昂贵的,比如像PR2、TIAGo这样的机器人价格一般超过20万美刀,且之前的机器人也没法完成复杂的需要双手互相配合的各种灵活操作,毕竟人类的十指多么灵活

而Mobile ALOHA 是一种低成本的移动机械手,可以执行各种家庭任务,其继承了原始 ALOHA 系统的优点,即低成本、灵巧、可维修的双臂远程操作装置,同时将其功能扩展到桌面操作之外,且重点做到了以下4点

  1. 移动性:移动速度与人类行走速度相当,约为 1.42 米 / 秒。
  2. 稳定性:在操作重型家用物品时它能保持稳定,如锅和橱柜
  3. 全身遥控操作:所有自由度均可同时进行遥控操作,包括双臂和移动底座
  4. 无绳:具有机载电源和计算设备

上图左侧部分展示了研究者发现将操作员的腰部与移动底座系在一起的设计是最简单直接的解决方案。

上图中间部分中的数据表明,机械手相对于地面的垂直高度为 65 厘米至 200 厘米,可伸出底座 100 厘米,可举起 1.5 千克重的物体,并可在 1.5 米高处施加 100 牛的拉力。这样的设计让 Mobile ALOHA 可以完成很多任务,包括实物烹饪、家务管理、人机互动等。

上图右侧部分中列出了 Mobile ALOHA 的更多技术规格。除了现成的机器人外,研究者还开源了所有的软件和硬件部件,并提供了详细的教程,包括三维打印、组装和软件安装。我们可以在项目页面找到这些信息。

图片

3.1.2 利用静态 ALOHA 数据进行联合训练 

研究者在这项工作中使用联合训练 pipeline,利用现有的静态 ALOHA 数据集来提高移动操作的模仿学习性能,尤其是双臂动作。静态 ALOHA 数据集总共有 825 个示范动作,任务包括密封密封袋、拿起叉子、包装糖果、撕纸巾、打开带盖塑料瓶、玩乒乓球、分发胶带、使用咖啡机、交接铅笔和操作螺丝刀等。

需要注意的是,静态 ALOHA 数据都是在黑色桌面上收集的,两只手臂固定朝向对方。这种设置与移动 ALOHA 不同,移动 ALOHA 的背景会随着移动底座的变化而变化,两臂平行朝前放置。在联合训练中,研究者没有对静态 ALOHA 数据中的 RGB 观察结果或双臂动作使用任何特殊的数据处理技术。

3.1.3 任务

研究者选择了 7 个任务,它们涵盖了现实应用中可能出现的各种功能、对象和交互。图 3 举例说明了这些任务,它们分别是擦拭葡萄酒、煮虾、冲洗锅、使用橱柜、呼叫电梯、推椅子和击掌。

图片

第四部分 Google家务机器人

// 待更

这篇关于大模型机器人原理解析:如何从RT/RT2、Berkeley Gello到发展到斯坦福Mobile ALOHA、Google家务机器人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/580068

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse