0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

我们能否让机器人以同观察和实践学会使用工具?

电子工程师 来源:lq 2019-04-29 18:19 次阅读

动物学习使用工具的技能大多来自观察学习和实践。例如通过观察,黑猩猩学会了用树枝“捕捉”昆虫,卷尾猴会用棍子将食物扫到身边。虽然我们不知道它们是否只是“机械模仿”,但我们相信这种使用工具的能力代表着一种更高水平的智力。

大猩猩用木棍收集草药

一个值得探讨的问题:我们能否让机器人以同样的方式——观察和实践 ——学会使用工具?

执行这种复杂的多对象操作任务(例如涉及工具使用的任务)的前提是理解物体间的物理因果关系,也就是要能够预测一个物体如何与另一个物体相互作用的。我们在之前的视觉模型强化学习的研究中探究过机器人在没有监测的情况下怎样利用因果视觉预测模型与周围环境互动。学习这样的模型之后,机器人可以完成各种简单的任务,包括折叠衣物和摆放物体。但是,如果我们考虑有更多工具的情况,例如用扫帚将污垢扫入簸箕,这种学习模型是不够的。

利用因果视觉预测模型与周围环境互动

https://bair.berkeley.edu/blog/2018/11/30/visual-rl/

因此,我们从动物的学习方式中汲取灵感,设计了一种算法,使机器人可以通过模仿和互动式学习获得工具使用技能。尤其是我们的设计还可以通过混合示范数据和无监督学习,使机器人在没有已知工具的情况下,可以使用其他新物体作为临时工具。此外,根据设计的需要,我们的机器人还可以自行决定是否使用被提供的工具。在这篇文章中,我将解释其中原理。

我们的设计使机器人明白如何使用不同的物体作为工具来实现指定的任务(根据黄色箭头标记)。机器人在执行任务期间自行决定是否使用已提供的工具。

从示范中学习

首先,我们用示范数据集来说明如何使用各种工具。因为我们最终希望机器人学习一种对各种工具使用技能都有用的模型,所以我们收集了使用不同工具完成各种任务的示范数据。对于每次示范,我们都会用机器人自带摄像头记录图像序列,包括工具的位置和各种指令的动作。

运动示范例子

通过这些数据,我们可以拟合一个模型,设计一系列动作,使机器人能够将当前场景中的物体用作工具。并且,为了得到示范中各种动作的范围,该动作设计模型输出了动作序列的分布。

视觉预测模型的无监督数据集

由于我们希望机器人不只是机械模仿示范的行为,而是能够应对新物体和新情况,因此我们需要大量不同的数据。也就是说,机器人可以自主收集数据。例如,我们希望机器人能够理解小失误,有偏差的抓取可能会影响其下一步动作。因此,我们要让机器人通过自己收集的数据来累积经验。

机器人还可以两种不同的方式自主收集数据:通过随机的动作序列收集数据或者通过之前强化学习模型输入的动作样本收集数据。后者使机器人可以抓住工具并随意移动它们,这对于理解多物体相互作用至关重要。

我们最终的数据集包括专业示范数据,机器人对各种工具的自学经验以及BAIR机器人交互数据。我们用这个数据集来训练机器人的动态模型。该模型使用循环卷积神经网络,输入先前收集的图像和每个时间点的动作,就可以生成下一个图像预测以作出反应。

示范指导动作

在测试时,机器人可以使用模拟数据训练的模型来指导动作计划过程和预测模型,以确定采取哪些动作可以完成它要执行的任务。

新任务是通过用户提供的物体移动关键点位置来指定的。例如,我们想要机器人把垃圾扫进簸箕,就可以选择垃圾的中心点和垃圾在簸箕上的最终位置来确定任务(见下图)。用这种方式指定任务不会告诉机器人如何使用某工具,甚至不会告诉它在这个场景下有哪种工具可以使用,机器人必须在其动作规划过程中自行确定。

我们使用基于抽样的动作计划程序,利用动作设计和视频预测模型,使机器人可以使用不同的工具和物体来完成各种任务。需要指出的是,动作序列最初是来自动作设计模型的随机采样。然后,我们再通过视频预测模型来预测每个动作计划的结果。

对同一初始场景不同动作序列的视频预测

通过采用顶层计划(最有可能导致期望结果的动作序列)并使其合理分布,我们可以重复采样并改进最顶层计划,然后让机器人执行。

实践

我们尝试此方法使机器人能够使用新工具来完成用户指定的任务。

左:带有任务指示箭头的初始场景。中:与最佳计划相对应的视频预测。右:机器人执行计划。

在前文提到的任务中,机器人使用附近的扫把来更有效地执行任务:

尽管机器人之前从未见过海绵,但它可以自学如何使用它来清洁盘子上的碎屑:

在下面的示例中,机器人只能在绿色阴影区域内移动,并且需要将蓝色圆柱体向自己方向拉。这个示例的关键是,机器人学会如何使用L形钩来完成任务:

而且,即使出现诸如瓶子一类的普通物体时,机器人也可以推断出如何将其用作工具来完成任务:

最后,在可以不使用工具的情况下,机器人选择用自己的钳子完成任务:

场景1:机器人使用工具从而更有效地移动两个对象。

场景2:机器人忽略钩型工具,用自己的钳子移动单个物体。

除了这些例子之外,我们在论文中的定量结果表明,我们的方法比只从示范中学习更通用,比只从经验中学习更能提高机器人的能力。

其他相关研究

先前的深度学习研究探索了在指定任务和运动计划框架下使用逻辑编程和已知模型的如何让机器人操作工具。但是,基于逻辑和基于分析模型的系统容易受到建模错误的影响,这些错误可能会在测试执行期间累积,从而影响整个系统。

其他研究包括将工具的使用分解为面向任务的学习,及使用计划或策略学习来操作工具等。这些方法将机器人的运动范围限制在工具附近的区域内,而我们的方法能够应对周围有工具或没有工具的不同情况。

还有一些研究还提出了工具使用的动态学习模型。然而,不同于这些使用手工设计的感知通道或完全放弃感知的方法,我们的方法可以直接从原始图像像素中学习物体之间的交互作用。

结论

执行涉及未知物体的多样化复杂任务是机器人技术中的一项挑战,我们研究学习了将物体作为工具来使用的不同任务。我们演示了我们的方法,它结合了模仿和自我监督的交互学习,使机器人能够用多个物体完成复杂的任务,甚至可以在新场景下使用临时工具。我们希望这项研究代表着机器人向更通用和更强大迈出的一步,这样它们终有一天可以在现实环境下执行任务。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    206

    文章

    27025

    浏览量

    201372
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24348
  • 强化学习
    +关注

    关注

    4

    文章

    259

    浏览量

    11113

原文标题:伯克利BAIR最新研究:让机器人自己学会使用工具

文章出处:【微信号:BigDataDigest,微信公众号:大数据文摘】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    表情机器人网络大赛

    ,并有专人慢慢教你如何利用C语言来控制脸部表情,完全没学过C语言的人都能轻轻松松的制作自己的产品来参加比赛,我们期望透过这样的比赛,机器人能成为一个附有教育性质的休闲活动,能让
    发表于 09-11 09:17

    表情机器人网络大赛

    洪水野兽一样的害怕,有些想学机器人,却不知如何入门,我们举办表情机器人大赛就是要突破这层迷思,有专业的技术讨论区,并有专人慢慢教你如何利用C语言来控制脸部表情,
    发表于 09-15 09:44

    当前最实用的十大医疗机器人

    机器人对于医疗保健行业并不陌生。我们知道,已经有大量的机器人被用于各种物理治疗中,还有一些机器人被用于帮助训练医生进行一系列治疗和手术。下面这10个
    发表于 03-02 15:05

    简易机器人DIY——常用工具

    相信在很多学电子的童鞋。心中都一个机器人的梦。就算是不学电子的童鞋,也有不少喜欢机器人的。其实自己动手做一个简易机器人其实也很简单。不过别忘了准备好工具。有了
    发表于 03-06 09:48

    我与我的机器人

    ”,可以在小车的基础上添加各种传感器,使得它像我们人类一样躲避障碍物、遇到紧急的事件能够及时的处理。这学期我们开设《AVR单片机与小型机器人制作》这门课,我有更多的机会接触
    发表于 08-05 22:49

    机器人与未来

    将会遭到哪些改变,我们最终将如何重新定义我们机器人彼此的身份?为回答这个问题,《机器人与未来》在书中每一章讲述了一种机器人可能的未来,首先
    发表于 12-29 14:56

    我们谈论机器人的时候,我们到底该谈什么?

    自从上个世纪二十年代捷克语中的「Robata」(奴隶)被引进英语以来,「Robot」这个词最初被用来描述一些人们不舒服的东西。上世纪三十年代,人们一直在担忧机器人窃取自己的工作、获得知觉,并最终
    发表于 01-11 14:16

    资料:移动机器人能否自动充电?

    现在我们的社会已经越来越智能化,有科学家曾说,按照现在科技进展的速度,再过5到10年我们就将进入机器人时代。现在我们机器人也不是那么陌生,
    发表于 01-20 09:39

    机器人制作实践入门教程

    [img][/img]STM32-机器人制作实践入门教程
    发表于 08-16 09:59

    STM32-机器人制作实践入门教程

    STM32-机器人制作实践入门教程
    发表于 08-20 16:14

    机器人10大流行编程语言对比,你学会了哪种?

    有超过1500种编程语言,要学的话太多了。今天我们学习的是目前机器人技术中十种最流行的编程语言,而每种语言对机器人都有不同的有点,那么接下来就来看看它们的区别: 1. C / C ++达到机器
    发表于 12-05 16:42

    教育机器人方兴未艾,你了解多少?

    达到2.4亿美元,每年20%左右的速度增长。目前,我们正处于人类与机器交互的十字路口。但综合目前的研究结果都显示,孩子可以通过同机器人的互动获益匪浅。教育
    发表于 12-20 10:01

    基于视觉的机器人SLAM入门实践

    嵌入式系统开发与应用——基于视觉的机器人SLAM入门实践1一、OpenCV的安装与配置1. 下载OpenCV3.4.1并解压到ubuntu相应目录上2. 下载安装依赖库和编译工具cmake(1)更新
    发表于 12-16 08:16

    机器人是什么?

    机器。一些书呆子式的语言可能会把它描述成“一个可重新编程的多功能机械手,旨在通过各种编程的动作移动材料、部件、工具或专门设备,完成各种任务”。这个定义非常具有表现力。那么制造机器人
    发表于 03-31 10:31

    利用Arduino机器人学会识别标识并作出行为

    教你用Arduino机器人学会识别标识并作出行为。你的人工智能小车从此有了眼睛!材料单:跟踪机器人底盘视觉传感器Arduino Uno电动机驱动板18650 Li-离子电池
    发表于 09-27 07:36