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

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.mzph.cn/pingmian/22766.shtml

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

相关文章

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库…

找不到d3dx9_43.dll怎么修复?这个几种修复方法轻松解决

在计算机使用过程中,我们常常会遇到一些错误提示,其中之一就是“d3dx943.dll丢失”。这个问题通常会导致某些游戏或应用程序无法正常运行。为了解决这个问题,我总结出了以下五种解决方法,希望能对遇到类似问题的朋友们有所帮助。 …

QNX 7.0.0开发总结

1 QNX编译 1.1 基本概念 QNX可以直接使用Linux Makefile编译库和二进制,在Makefile文件中指定CCaarch64-unknown-nto-qnx7.0.0-g,或者CCx86_64-pc-nto-qnx7.0.0-g,保存退出后,运行source /qnx_sdk_path/qnxsdp-env.sh,…

前端canvas绘图,利用canvas在图片上面绘制标记以及给canvas添加点击事件。

前端canvas绘图&#xff0c;利用canvas在图片上面绘制标记以及给canvas添加点击事件。 需要实现的效果如下图: 首先需要一个承载的核心画布 <canvas id"canvas" width"800" height"600"></canvas>全部代码&#xff1a; <!DOCT…

LabVIEW减压阀和温控阀综合测试系统

在使用LabVIEW开发阀门测试软件时&#xff0c;特别是针对减压阀和温控阀&#xff0c;测试内容和注意事项包括以下方面&#xff1a; 测试内容 压力测试&#xff1a; 入口压力&#xff1a;测量阀门在不同入口压力下的表现。 出口压力&#xff1a;确保减压阀能够将出口压力控制在…

systemctlm-cosim-demo项目分析

概述 systemctlm-cosim-demo项目是Xilinx的systemc库的demo工程。 环境安装 qemu安装 cd xilinx_proj/Downloads git clone https://github.com/Xilinx/qemu.git cd qemu git checkout 74d70f8008# Configure and build # zynq7000 # ./configure --target-list"arm-s…

【乐吾乐3D可视化组态编辑器】用开关控制巡检车和路灯

一、运动设备开关控制 3D组态编辑器地址&#xff1a;3D可视化组态 - 乐吾乐Le5le 1.在场景中新建模拟运动设备及控制面板&#xff1a;启动/停止 2.单击巡检车设备新建模拟动画 3.设置模拟动画属性 4.单击启动面板&#xff0c;新建交互事件 5.设置交互触发类型&#xff0c;新建…

PS系统教程11

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

数据分析必备:一步步教你如何用Pandas做数据分析(17)

1、Pandas 连接 Pandas 连接的操作实例 Pandas具有与SQL等关系数据库非常相似的功能齐全的高性能内存中连接操作。 Pandas提供单个功能merge作为DataFrame对象之间所有标准数据库联接操作的入口点 pd.merge(left, right, howinner, onNone, left_onNone, right_onNone,left_i…

新手必看!现货伦敦金新手容易犯的两个错

对很多刚进入现货伦敦金市场的朋友来说&#xff0c;炒伦敦金是十分令人兴奋的&#xff0c;但兴奋归兴奋&#xff0c;我们还是要注意&#xff0c;由于现货伦敦金投资者过分的热情&#xff0c;很容易让自己跌入一些陷阱&#xff0c;犯下一些错误&#xff0c;下面我们就来介绍两个…

智能楼宇安防3D数据可视化平台满足日益增长的安防需求

在当今社会&#xff0c;安全是每个人和企业最为关心的问题。为满足日益增长的安防需求&#xff0c;3D可视化公司深圳华锐视点隆重推出安防平台3D可视化管理系统&#xff0c;以先进的三维技术为您的安全保驾护航。 安防平台3D可视化管理系统通过创新的三维可视化技术&#xff0c…

纷享销客BI智能分析平台技术架构介绍

纷享销客BI智能分析平台致力于降低用户上手门槛&#xff0c;无缝继承纷享销客PaaS平台的对象关系模型和权限体系&#xff0c;让使用纷享CRM的营销人员、销售人员、服务人员等各类角色人员都能够将分析场景与业务场景相融合&#xff0c;将数据思维融合到自己的日常工作、团队工作…

SpringCloud-面试篇(二十三)

&#xff08;1&#xff09;SpringCloud常见组件有那些 有无数微服务需要相互调用&#xff1a;可以用远程调用组件OpenFeign组件&#xff0c;也可以用Dobble 这么多微服务相互调用怎么管理&#xff1a;就用到注册中心组件Nacos&#xff0c;Eureka 所有的服务去找注册中心做注…

TCP协议与UDP协议区别

举个列子&#xff1a; 三次握手&#xff1a;为了解决网络信道不可靠的问题&#xff1b;防止客户端向服务端发送两次数据&#xff0c;客户端一直处于接收的状态。 四次挥手是一样的。当客户端提出关闭请求&#xff0c;服务端处于关闭等待状态&#xff0c;此时客户端可以发送数据…

PMP考试难吗?考试通过率有多少?

我们通常以考试的通过率来评判一个考试的难易程度。通常通过率达到60%以上&#xff0c;这个考试就不太难&#xff1b;达到80% &#xff0c;这个考试就是不难的。 PMP考试难吗&#xff1f; 不少想要考PMP的小伙伴都会有这样的疑惑&#xff0c;首先以PMP的含金量来说&#xff0…

产品推荐 | 基于Lattice USB3-GbE VIP IO技术赋能视频接口开发板

1、产品概述 支持视频接口平台 (VIP) – 为莱迪思VIP提供USB 3.0 和千兆以太网网络互连 灵活的快速原型设计和开发– 两个标准的高速连接器实现嵌入式视觉原型系统的简便快速硬件配置 可靠、经验证的即时使用设计– 莱迪思演示设计通过USB 3.0和工业千兆以太网接口实现快速视…

Linux C语言: 数据类型

一、 为什么要引入数据类型 • 计算机中每个字节都有一个地址&#xff08;类似门牌号&#xff09; • CPU通过 地址 来访问这个字节的空间 0x20001103 1 0 0 1 0 0 1 1 0x20001102 1 1 1 0 1 1 1 0 0x20001101 1 1 1 1 0 1 0 1 0x20001100 0 …

accelerate 笔记:梯度同步的时间效率

1 介绍 PyTorch 的分布式模块通过在系统中所有GPU之间进行来回通信来操作。 这种通信需要时间&#xff0c;并且确保所有进程了解彼此的状态在使用ddp模块时会在特定的触发点发生 这些触发点被添加到PyTorch模型中&#xff0c;特别是它们的 forward() 和 backward() 方法中当通…

2024-06-05 Android app jni里面c语言函数申请的局部变量数组过大会导致程序崩溃的问题分析

一、下面是一个app jni里面一个函数&#xff0c;函数里面定义一个数组&#xff0c;实际运行的时候发现数组过大的时候会导致app崩溃。 JNIEXPORT jint JNICALL JNI_FUNCTION(native_1getcapture_1data)(JNIEnv *env, jobject obj,jbyteArray des_data,jbyteArray src_data,jin…

Linux 多线程 生产者消费者 问题

在 Linux 系统中&#xff0c;生产者和消费者问题是一个经典的多线程同步问题&#xff0c;用于描述如何在多线程环境中协调多个线程对共享资源的访问。这个问题通常涉及两个类型的线程&#xff1a;生产者线程和消费者线程。生产者线程负责生成数据并将其放入缓冲区&#xff0c;而…