MIT最新研究成果 机器人能够从错误中纠偏 无需编程介入和重复演示

目前科学家们正在努力让机器人变得更加智能,教会他们完成诸如擦拭桌面,端盘子等复杂技能。以往机器人要在非结构化环境执行这样的任务,需要依靠固定编程进行,缺乏场景通用性,而现在机器人的学习过程主要在于模仿,即通过观看人类的演示,录入到程序当中进行训练,进而掌握和人类相同的运动技能。

事实上,机器人应该是一个出色的模仿者。但如果工程师未对机器人进行编程,使其适应各种可能的碰撞与轻微推动,则机器人在处理这些情况时可能表现不足,机器人无法处理这些行为时会回到原点重新进行任务。

针对这一问题,麻省理工学院的工程师尝试教会机器人一定的常识认知能力,以此来应对在遭到碰撞或推动时能够偏离预设路径。他们研发了一种创新方法,将机器人的运动数据与大型语言模型(LLM)的“常识性知识”相结合,来增强机器人的应变能力。

融合LLM功能之后机器人如何拾取和放置红色罐子
在这里插入图片描述

采用该研究方法,机器人能够从逻辑上将许多给定的家庭任务解析为子任务,并对子任务中突然的干扰行为进行物理调整,这样机器人就能继续执行指令,而无需回归初始状态重新执行整个操作,此外工程师也不需要为中途出现的每一个突发情况来编写修复程序。

机器人遇到人为干扰可自动纠正错误
在这里插入图片描述

模仿学习是目前家用机器人的主要学习方法,但这种学习方法也有一定的风险,如果盲目模仿人类运动轨迹,一旦产生微小的错误,那么深度学习会将错误进行放大,最终导致执行过程当中产生其他的错误行为。研究人员通过全新的模型算法,使得机器人具备自我纠正执行错误,提升整体任务完成率。

▍LLM可通过自然语言告知机器人完成任务的每个步骤

在具体的实验中,研究人员将勺子固定在机械臂上,左右两侧各有一个碗,机器人的任务是将左侧碗中的玻璃球,通过操作勺子,顺利将玻璃球挪到右侧空碗当中。但为了完成这样的任务,研究人员通常需要机器人在一个流体轨迹上完成舀和倒的动作,为此演示人员通常需要做多次这种动作以此来让机器人进行学习。
在这里插入图片描述

机器人从语义空间中的LLM中提取常识知识

机器人在执行这个指令时,所需要的规划是线性的,必须先将勺子伸进装有玻璃球的碗中,才能舀起玻璃球,在运送玻璃球的过程当中遭遇碰撞和拖动则会停下来,回到起点重新进行任务。
在这里插入图片描述

机器人2D导航任务的图示

研究人员发现,机器人运行的一些动作可以由LLM自动完成。利用深度学习模型可以管理大量的文本库,并利用这些文本库建立单词、句子和段落之间的联系,并根据这些联系生成全新的句子。此外,LLM还能在提示下列出特定任务所涉及的子任务的逻辑列表。

研究人员表示,LLM可以用自然语言告诉你如何完成任务的每个步骤。人类的连续演示就是这些步骤在物理空间中的体现。将两者进行有效地结合,机器人就能自动知道自己处于任务的哪个阶段,并能够在动作受到干扰时,自动重新规划和恢复任务。

▍融合算法之后 机器人执行指令变得更加聪明

研究团队的新算法将LLM针对特定子任务的自然语言标签与机器人在物理空间中的位置,以及编码机器人状态的图像连接起来,将机器人的物理坐标或机器人状态图像映射到自然语言标签,随后根据机器人的物理坐标或图像视图,自动识别机器人所处的语义子任务。

机器人舀玻璃球任务示意图
在这里插入图片描述

在实验中尽管工作人员在机器人执行任务的时候,手动拖拽并且打散勺子中的玻璃球,使其偏离轨道,但机器人依然不会停下来,回到原点重新执行任务,同时也不会在勺子上没有玻璃球之后,继续执行任务,而是能够自我纠正,在完成每个子任务后再继续下一个任务。

从这方面来看,机器人拥有了一定的智能性,而不是盲目在存在错误时,继续执行未完成的指令,而是通过识别子任务的方式,及时进行修正,进而完成整体任务。采用该算法,有效减少了人工调试成本。

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

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

相关文章

LeetCode 双指针专题

11.盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不…

数据结构——lesson13排序之计数排序

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

基于单片机锂电池电量检测数码管显示系统设计

**单片机设计介绍,基于单片机锂电池电量检测数码管显示系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机锂电池电量检测数码管显示系统设计的主要目标是实时、准确地检测锂电池的电量,并…

【python】常用函数汇总(持续更新……)

文章目录 【numpy.exp()】返回e的幂次方,e是一个常数为2.71828【np.dot()】矩阵相乘【np.linalg.inv()】矩阵求逆 【numpy.exp()】返回e的幂次方,e是一个常数为2.71828 举例:numpy.exp() 【np.dot()】矩阵相乘 【要点】 1、前者的列数后者…

浅谈Spring体系的理解

浅谈Spring知识体系 Spring Framework架构图Spring家族技术生态全景图XMind汇总 本文不涉及细节,主要回答两个问题: Spring家族技术生态全景图有哪些Spring Framework架构下每个模块有哪些东西,以及部分模块之间的关联关系 Spring Framework架…

iOS - Runtime - Class的结构

文章目录 iOS - Runtime - Class的结构前言1. Class的结构1.1 Class的结构1.1.1 objc_class1.1.2 class_rw_t1.1.3 class_ro_t 1.2 class_rw_t和class_ro_t的区别1.3 class_rw_t和class_ro_t的关系1.3.1 分析关系1.3.2 原因 1.4 method_t1.4.1 Type Encoding1.4.2 types说明1.4…

AJAX-项目优化(目录、基地址、token、请求拦截器)

目录管理 基地址存储 在utils/request.js配置axios请求基地址 作用&#xff1a;提取公共前缀地址&#xff0c;配置后axios请求时都会baseURLurl 填写API的公共前缀后&#xff0c;将js文件导入到html文件中 <script src"../../utils/request.js"></script&…

深度学习算法概念介绍

前言 深度学习算法是一类基于人工神经网络的机器学习方法&#xff0c;其核心思想是通过多层次的非线性变换&#xff0c;从数据中学习表示层次特征&#xff0c;从而实现对复杂模式的建模和学习。深度学习算法在图像识别、语音识别、自然语言处理等领域取得了巨大的成功&#xf…

STM32的IAP技术,BootLoader

来源 三种下载方式&#xff1a; 1、ICP&#xff1a;ST-Link, 2、ISP: FlyMcu, 3、IAP IAP简介 IAP技术的核心在于BootLoader程序的设计&#xff0c;这段程序预先烧录在单片机中&#xff0c;正常的APP程序可以使用BootLoader程序中的IAP功能写入&#xff0c;也可以两部分代码一…

docker使用教程

寒假用了docker 2个月没用 结果还重新安装docker 忘了怎么用 为了免得以后忘写下下面内容 # If you dont have a docker installed, youll need to install docker curl -s https://get.docker.com/ | sh # Use pip to install docker-compose pip install docker-compose…

排序第五篇 归并排序

一 简介 归并排序(Merge Sort) 的基本思想是&#xff1a; 首先将待排序文件看成 n n n 个长度为1的有序子文件&#xff0c; 把这些子文件两两归并&#xff0c; 得到 n 2 \frac{n}{2} 2n​ 个长度为 2 的有序子文件&#xff1b; 然后再把这 n 2 \frac{n}{2} 2n​ 个有序的子…

EI期刊和EI会议有哪些不同?别再傻傻分不清

EI工程索引是综合性检索机构&#xff0c;是三个著名学术检索系统之一&#xff0c;EI工程索引也分为EI期刊和EI会议&#xff0c;那么两者有哪些不同&#xff1f;作者又该如何选&#xff1f;本文系统分享一下相关的知识&#xff0c;仅供学术人员参考&#xff1a; 第一、文章质量不…

2014年认证杯SPSSPRO杯数学建模A题(第二阶段)轮胎的花纹全过程文档及程序

2014年认证杯SPSSPRO杯数学建模 A题 轮胎的花纹 原题再现&#xff1a; 轮胎被广泛使用在多种陆地交通工具上。根据性能的需要&#xff0c;轮胎表面常会加工出不同形状的花纹。在设计轮胎时&#xff0c;往往要针对其使用环境&#xff0c;设计出相应的花纹形状。   第二阶段问…

南京观海微电子---Vitis HLS的工作机制——Vitis HLS教程

1. 前言 Vitis HLS&#xff08;原VivadoHLS&#xff09;是一个高级综合工具。用户可以通过该工具直接将C、 C编写的函数翻译成HDL硬件描述语言&#xff0c;最终再映射成FPGA内部的LUT、DSP资源以及RAM资源等。 用户通过Vitis HLS&#xff0c;使用C/C代码来开发RTL IP核&#x…

前端优化gzip

gzip是GNUzip的缩写&#xff0c;是一种文件的压缩格式&#xff08;也可以说是若干种文件压缩程序&#xff09;&#xff0c;类似的压缩格式还有compress&#xff08;webpack&#xff09;&#xff0c;deflate等 主要用于组件的压缩 压缩的话主要分为两种&#xff0c; 服务器在…

TCP网络协议栈和Posix网络部分API总结

文章目录 Posix网络部分API综述TCP协议栈通信过程TCP三次握手和四次挥手&#xff08;看下图&#xff09;三次握手常见问题&#xff1f;为什么是三次握手而不是两次&#xff1f;三次握手和哪些函数有关&#xff1f;TCP的生命周期是从什么时候开始的&#xff1f; 四次挥手通信状态…

强化基础-Java-泛型基础

什么是泛型&#xff1f; 泛型其实就参数化类型&#xff0c;也就是说这个类型类似一个变量是可变的。 为什么会有泛型&#xff1f; 在没有泛型之前&#xff0c;java中是通过Object来实现泛型的功能。但是这样做有下面两个缺陷&#xff1a; 1 获取值的时候必须进行强转 2 没有…

005 高并发内存池_CentralCache设计

​&#x1f308;个人主页&#xff1a;Fan_558 &#x1f525; 系列专栏&#xff1a;高并发内存池 &#x1f339;关注我&#x1f4aa;&#x1f3fb;带你学更多知识 文章目录 前言本文重点一、构建CentralCache结构二、运用慢开始反馈调节算法三、完成向CentralCache中心缓存申请四…

【linux】AMD GPU和NVIDIA GPU驱动安装

AMD GPUs - Radeon™ PRO W7900的驱动安装过程 要在Linux系统上安装AMD的Radeon™ PRO W7900显卡驱动程序&#xff0c;通常需要执行以下步骤。以下示例基于Ubuntu系统&#xff1b;其他Linux发行版的具体步骤可能有所不同。 1. 更新系统 打开一个终端窗口&#xff0c;并输入…

Thread 之start 和run 的区别

Java Thread 之start 和run 的区别 用start方法来启动线程&#xff0c;真正实现了多线程运行&#xff0c;这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程&#xff0c;这时此线程处于就绪&#xff08;可运行&#x…