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

本文主要是介绍MIT最新研究成果 机器人能够从错误中纠偏 无需编程介入和重复演示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

这篇关于MIT最新研究成果 机器人能够从错误中纠偏 无需编程介入和重复演示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

MySQL中删除重复数据SQL的三种写法

《MySQL中删除重复数据SQL的三种写法》:本文主要介绍MySQL中删除重复数据SQL的三种写法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录方法一:使用 left join + 子查询删除重复数据(推荐)方法二:创建临时表(需分多步执行,逻辑清晰,但会

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)