大模型时代的具身智能系列专题(九)

news2025/1/21 5:53:51

NYU Lerrel Pinto团队

Lerrel Pinto是NYU Courant的计算机科学助理教授,也是用机器人和人工智能实验室(CILVR小组)的一员。在加州大学伯克利分校读博士后,在CMU机器人研究所读博士,在印度理工学院古瓦哈蒂读本科。研究目标是让机器人在我们生活的混乱世界中进行归纳和适应。研究方向主要集中在机器人学习和决策上,重点是大规模学习(数据和模型),感官数据的表示学习,开发算法来模拟动作和行为,适应新场景的强化学习,以及构建开源的affordable的机器人。

主题相关作品

  • Dobb-E
  • OK-Robot

Dobb-E

Dob-E是一个行为克隆框架,而行为克隆是模仿学习的一种形式,通过观察和模仿人类或其他专家代理的行为来学习执行任务。行为克隆涉及训练模型以模仿演示的动作或行为,并通常使用标记的训练数据将观察映射到期望的动作

在我们的方法中,我们首先对一个轻量级基础视觉模型进行预训练,在家庭演示数据集上进行实验,然后在新家庭中给定新任务时,收集了一些演示并微调我们的模型以解决该任务
整个方法可以分为4个阶段:

  1. 设计一个硬件设置,以便收集演示及其无缝转移到机器人身上
  2. 在不同的家庭中使用该硬件设置收集数据
  3. 对该数据上预训练基础模型(pretraining foundational models on this data)
  4. 将经过训练的模型部署到家庭中

Technical Components and Method

硬件设计

该系统并未要求用户移动整个机器人,而是利用一款价格便宜的25美元可伸缩末端执行器创建了一个“你好机器人”的复制品,并通过3D打印的iPhone支架进行增强,此外,iPhone Pro(版本12或更新)配备的摄像头设置和内部陀螺仪能够以每秒30帧的速度获取RGB图像、深度数据以及6D位置信息(包括平移和旋转)。

fig4

使用已安装在iPhone上的Record3D来捕获演示数据,该应用程序能够保存。

  • 从相机记录的1280×720像素的RGB数据。
  • 激光雷达传感器记录的256×192像素的深度数据。不过,最终模型训练时,上面这两块数据会被缩放到256×256像素。
  • iPhone内部的里程表(odometry)和陀螺仪记录的手柄运动(6D的平移和旋转数据)。

以30 FPS速率将这些数据记录到手机中,并进行导出和处理。

所有的系统都部署在Hello Robot Stretch上,这是一款单臂移动机械手机器人,已经可以在公开市场上购买。我们在所有实验中使用Stretch RE1版本,其灵巧的手腕附件赋予了机器人6D运动能力。它成本低廉、便携轻便(仅重51磅/23公斤),并且可以通过电池供电长达两个小时。此外,Stretch RE1还配备了Intel NUC计算机,可以以30 Hz的频率运行学习策略

预训练数据 – Homes of New York

凭借上面的硬件设置,只需将手柄带回家,将iPhone连接到手柄上,并使用Record3D应用程序记录时进行任何演示者想要展示的操作,最终在一些志愿者的协助下收集了一个名为纽约之家(HoNY)的家庭任务数据集。

  • 该数据集由22个不同家庭中志愿者共同创建,在总计13小时录制时间内包含5620个演示视频,总计近150万帧图像。
  • 志愿者专注于八个广泛定义好的任务类别:开关按钮、开门、关门、抽屉打开、抽屉关闭、拣选和放置物品、手柄抓取以及游戏数据。对于游戏数据,我们要求志愿者记录他们使用手柄在家中进行任意活动时产生的相关数据。这种有趣行为过去已被证明对表示学习目标具有潜力。
  • 指导志愿者花费约10分钟来记录他们所处环境或场景中每个演示视频。最初选择的演示任务是多样化且具有一定挑战性,但对机器人而言仍然可行。

尽管iPhone可以提供末端执行器的姿态数据(the pose of the end-effector),但无法直接获取夹持器本身的开启或关闭状态。为了解决这一问题,我们训练了一个模型来追踪夹持器尖端。

  • 从数据集中选取了500个随机帧,并在这些帧上使用像素坐标标记了两个夹持器尖端的位置。
  • 然后,利用该数据集对一个由三层ConvNet构成的夹持器模型进行训练,该模型试图将夹持器尖端之间的距离预测为0到1之间的标准化数值,该模型在heldout评估集上获得了0.035的MSE验证误差(以0-1尺度表示)。随后被用于标记数据集中其余帧中夹持器的值(介于0到1之间)

Policy Learning with Home Pretrained Representations

拥有多样化的家庭数据集之后,下一步的任务是训练一个基础的视觉模仿模型,以便在家中进行轻松地修改和部署。他们的策略由两个简单组件构成:一个视觉编码器和一个策略头

  • ResNet34足够小,可以在机器人的机载计算机上运行
    使用MoCo-v3自监督学习算法在我们收集的数据集上对视觉编码器进行60个epochs的预训练,称这个模型为家庭预训练表示(HPR)模型,部署的所有策略都是基于这个模型训练的。
    且比较了使用我们自己的视觉编码器与在不同数据集和算法上训练的视觉编码器(如R3M [8]、VC1 [9]和MVP [7])甚至只是在ImageNet-1K [59]上进行预训练后效果之间 的差异。
  • 下游策略学习方面,在每个新任务中,根据所捕获到深度值和视觉编码器进行简单操纵策略学习。该策略输入空间为256×256像素大小RGB-D图像(4通道),输出空间为一个7维向量,其中前三个维度表示相对平移,接下来三个维度表示相对旋转(轴角表示),最后一个维度表示夹持器值范围介于0到1之间。具体而言,我们设计了一个简单结构用于实现该策略:首先应用于RGB通道的图像表达模型,并通过中位池化操作应用于深度通道;然后经过两层全连接层将512 维图像表达和512 维深度值投影到7 维动作空间。

fig8

在监督训练期间, 网络从观察到动作映射进行学习, 并未冻结任何参数, 学习速率设置为 3×10^−5 进行50次迭代更新。网络采用均方误差(MSE)损失函数进行训练,在计算损失之前将每个轴上动作标准化为零均值和单位标准差。

Deployment in Homes

为了解决新任务,首先简要收集一些任务示范。通常会收集24个新示范作为经验数据,对于简单的5秒任务来说这是足够的。在实际操作中,收集这些示范大约需要5分钟时间。然而,在某些环境下重置所需时间更长,在这种情况下,收集示范可能需要更多时间.

  1. 为了使机器人策略具备一定的空间泛化能力,我们通常从任务设置前各种位置开始收集数据,并且通常在一个小型4×6或5×5网格中进行。
  2. 一旦数据收集完成,将R3D文件中的数据转换为数据集格式需要约5分钟。接着,在GPU RTX A4000上进行50次训练平均需时约20分钟。因此,从开始数据收集到获得可在机器人上部署的策略,平均时间为30分钟。
  3. 然后使用安装在手臂上的iPhone和Record3D应用程序,通过USB将RGB-D图像流传输到机器人计算机上。为了获得预测动作,我们对输入图像和深度进行处理。利用基于PyKDL的逆运动学求解器,在机器人末端执行器上执行预测的相对动作。由于模型预测摄像头帧中的运动,我们在机器人URDF中添加了一个关节来连接额外摄像头,从而可以直接执行预测动作,无需精确计算从摄像头帧到机器人末端执行器帧之间的转换。对于夹持关闭操作,采用二进制方式根据任务变化应用阈值来预测夹持状态。通过接收观察并命令机器人执行策略预测的动作,并等待其完成以接收下一个观察,在机器人上同步运行策略。
  4. 针对评估实验,通常每个任务会使用10个不同初始起始位置(如上图b所示),这些起始位置改变了机械臂夹持装置垂直和水平方向上的初始位置。在这10次试验之间,我们会手动重置机械臂和环境。
    fig9

实验

我们通过实验验证了我们的设置,在纽约和新泽西地区的10个家庭中对109个任务进行了评估。在这109个任务中,机器人获得了81%的成功率,并且可以以至少相等的几率完成102个任务。除了这些家庭实验之外,我们还在实验室中设置了一个“家庭”区域,其中有一个包含10个任务的基准套件,我们使用这些任务来运行我们的基线和对比实验。请注意,我们的实验没有与收集ourHoNY数据集的环境重叠,以确保实验环境是新颖的。

fig11
fig12
fig13

badcase

光照阴影引发
fig14

传感器限制
fig17
fig18

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1789904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot项目实现自定义注解方式的接口限流

一,实现原理 该限流方式使用的是令牌桶算法,令牌桶算法是基于漏桶算法的一种改进,主要在于令牌桶算法能够在限制服务调用的平均速率的同时,还能够允许一定程度内的突发调用。 系统以固定的速率向桶中添加令牌当有请求到来时&#…

微信小程序实现图生图(AI动漫特效)效果代码(触站API)

1.效果 触站AI图生图 2.本次用的是触站平台的API,我申请的适用积分,有水印(博主没钱)。如果需要没有水印的可以去买他们的资源包 3.首先我们需要去触站官网平台注册/登录账号(已注册可跳过该步骤) 4.开通API权限 我们可以在主页看到自己免费获取的500积分,用于接口调用…

SHA-3算法:新一代的哈希函数标准

在信息安全领域,哈希函数是不可或缺的工具之一,它能够将任意长度的数据转换为固定长度的字符串,通常用于数据完整性验证、数字签名、密码存储等场景。随着计算能力的提升和攻击技术的发展,原有的哈希算法如SHA-1和SHA-2系列逐渐显…

数据结构之归并排序算法【图文详解】

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 博主主页:LiUEEEEE                        …

金属切削机床5G智能工厂工业物联数字孪生,推进制造业数字化转型

金属切削机床5G智能工厂工业物联数字孪生,推进制造业数字化转型。随着工业4.0时代的到来,制造业正面临着前所未有的变革与挑战。在这场变革中,金属切削机床智能工厂工业物联数字孪生平台正成为推动制造业数字化转型的重要力量。 数字孪生是指…

Ego微商项目部署(小程序项目)(全网最详细教程)

1.项目部署前的准备 1.1获取APPID和APPSecret(微信小程序) 微信小程序注册流程及APPID,APPSecret获取-CSDN博客 把获取到的APPID,APPSecret复制粘贴,保存下来,等会要用到 1.2测试工具 navicat&#xf…

ps怎么设置立体字

一. 输入文字并调整大小和位置。 二. 使用CtrlAlt和T键复制并自由变换文字图层。 三. 通过键盘的方向键将复制的图层向左、向上各移动一个像素,多次重复操作以创建立体效果。 更多实用教程: 点击进入

PS系统教程11

HUD拾色器 作用:它可以帮助使用者更加高效地选择和使用颜色,从而提高工作效率和设计质量。 先确定色相值改变饱和度改变亮度使用HUD拾色器选中画笔工具画笔模式-正常shiftAlt右键 色相轮 上下移动从黑到白亮度变化左右移动从浅到深饱和度的变化选中颜…

Linux 35.5 + JetPack v5.1.3@FUEL编译安装

Linux 35.5 JetPack v5.1.3FUEL编译安装 1. 源由2. 编译&安装Step 1:依赖库安装Step 2:建立工程Step 3:编译工程Step 4:安装工程 3. 问题汇总3.1 fuel_planner/exploration_manager - dw3.2 fuel_planner/plan_env - OpenCV库…

IDEA的使用配置Maven(及selenium+webdriver的下载配置)

一. 下载maven 1. maven官网下载链接 2.​​安装第二行第一列的zip压缩包 ​​​​​​​​ 二. 配置环境变量 1.新建环境变量 2.在系统变量Path环境变量中添加%Maven_HOME%\bin 三.验证环境变量是否配置成功 winr >cmd>mvn -v 如果出现Maven的版本信息&#xff0…

隐藏 IP 地址的重要性是什么?

在当今的数字时代,保护我们的在线身份至关重要。从保护个人信息到保护隐私,互联网用户越来越多地寻求增强在线安全性的方法。保持匿名和保护敏感数据的一个关键方面是隐藏您的 IP 地址。在这篇博文中,我们将深入探讨隐藏 IP 地址的重要性&…

Druid监控页面无法打开(404)

网上教程 我得到的结果 解决 如果localhost:7080/druid/login.html 无法打开Druid监控页面,那么说明Druid数据库连接池根本就没有配置成功,所以才会出现404. 上面配置不成功,要么是配置问题,要么就是版本不兼容问题(大…

推荐一个免费的相亲工具

推荐一个免费的相亲工具,步骤如下: 1)微信里面搜索公众号“光源桥”,并关注 2)输入搜索条件进行搜索对象 例如下面搜索:

Kotlin 网络请求小例子(Ktor)

文章目录 导入依赖创建 Http 客户端 其实还是借着 Ktor 学一学 Kotlin 如何导入依赖,这应该是我们 Kotlin 基础专栏的最后一期了。 Ktor 是 Kotlin 官方的一个网络请求库,它具有优秀且精炼的 API,并且是跨平台的。 本教程参考自 Ktor 文档 …

最强总结!18个机器学习核心算法模型!!

前言 大家好~在学习机器学习之后,你认为最重要的算法模型有哪些?今儿的内容涉及到 线性回归逻辑回归决策树支持向量机朴素贝叶斯K近邻算法聚类算法神经网络集成方法降维算法 我把每种算法模型的核心公式和代码也列举了出来,如果有其他比较重…

自动化测试-Selenium-元素定位

一.元素定位 因为使用selenium进行自动化测试,元素定位是必不可少的,所以这篇文章用于自动化测试中的selenium中的元素定位法。 1.根据id属性进行定位(id是唯一的) id定位要求比较高,要求这个元素的id必须是固定且唯…

vue的elementUI的el-tree的选择

有一棵树型的数据,需要实现:在外部加一个 全选和不全选的按钮,去全部勾选树结构里面每一项的选框。 当点击勾选全选的时候,树的每一项都勾选; 当取消全选的时候,树的每一项都不勾选; 当选树的其中一项时,全选按钮是半选状态; 实现效果如下: <template><…

JVM(Java虚拟机)、JMM(Java内存模型)笔记

面试常见&#xff1a; 请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM&#xff0c;什么是栈溢出StackOverFlowError? 怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取&#xff1f;怎么分析Dump文件&#xff1f;谈谈JVM中&#xff0c;类加载器你的认识…

上位机图像处理和嵌入式模块部署(f407 mcu开发板基本测试)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 我们拿到一个新的开发板之后&#xff0c;一般都需要测试一下基本功能。这里面一部分功能是我们比较熟悉的&#xff0c;比如说led、key输入、串口、…