CN111832702A - 用于机器人抓取的深度机器学习方法和装置 - Google Patents

用于机器人抓取的深度机器学习方法和装置 Download PDF

Info

Publication number
CN111832702A
CN111832702A CN202010527977.4A CN202010527977A CN111832702A CN 111832702 A CN111832702 A CN 111832702A CN 202010527977 A CN202010527977 A CN 202010527977A CN 111832702 A CN111832702 A CN 111832702A
Authority
CN
China
Prior art keywords
end effector
robot
grab
semantic
additional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010527977.4A
Other languages
English (en)
Inventor
苏达赫恩德拉·维娅亚纳拉辛汉
章继鸿
彼得·帕斯特桑佩德罗
谢尔盖·莱文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN111832702A publication Critical patent/CN111832702A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/08Gripping heads and other end effectors having finger members
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/30End effector
    • Y10S901/31Gripping jaw
    • Y10S901/36Actuating means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manufacturing & Machinery (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及用于机器人抓取的深度机器学习方法和装置。一些实施方式涉及训练语义抓取模型以预测指示机器人的末端执行器的运动数据是否将导致对物体的成功抓取的量度;并且预测指示所述物体是否具有期望的语义特征的附加量度。一些实施方式涉及利用经训练的语义抓取模型来伺服机器人的抓取末端执行器以实现对具有期望的语义特征的物体的成功抓取。

Description

用于机器人抓取的深度机器学习方法和装置
分案说明
本申请属于申请日为2017年3月2日的中国发明专利申请No.201780018883.0的分案申请。
背景技术
许多机器人被编程为利用一个或多个末端执行器来抓取一个或多个物体。例如,机器人可以利用诸如“冲击式(impactive)”抓爪或“侵入式(ingressive)”抓爪的抓取末端执行器(例如,使用销、针等在物理上穿透物体)来从第一定位拾取物体,将该物体移动到第二定位,并且在第二定位处放下该物体。可以抓取物体的机器人末端执行器的一些附加示例包括“收缩式(astrictive)”末端执行器(例如,使用抽吸或真空来拾取物体)和一个或多个“接触式(contigutive)”末端执行器(例如,使用表面张力、冷冻或粘合剂来拾取物体),仅举几例。
发明内容
本说明书大体涉及与通过机器人的末端执行器对物体的操纵有关的深度机器学习方法和装置。一些实施方式涉及训练抓取深度神经网络,诸如卷积神经网络(在本文中也称为“CNN”),以预测用于机器人的末端执行器的候选运动数据将导致通过末端执行器对一个或多个物体的成功抓取的概率和/或预测空间变换器网络(在本文中也称为“STN”)的空间变换参数。例如,一些实施方式使得能够应用以下来作为对训练的抓取深度神经网络的输入:(1)定义机器人的抓取末端执行器的候选运动(若有的话)的候选运动矢量以及(2)捕获机器人的工作空间的至少一部分的图像;以及基于所述应用来生成:(1)直接地或间接地指示候选运动矢量将导致成功抓取的概率的量度;和/或(2)指示抓取末端执行器将移向的图像(或附加图像)中的定位的空间变换参数。然后,可以在伺服通过具有抓取末端执行器的机器人的抓取尝试的执行时使用指示概率的量度和/或空间变换参数,从而改进机器人成功地抓取其环境中的物体的能力。
那些实施方式中的一些还涉及训练空间变换器网络以基于接收到的空间变换参数来生成图像的空间变换和/或涉及训练语义深度神经网络(例如,语义CNN)以基于空间变换来预测空间变换中的物体的类别(和/或其它语义特征)。在那些实施方式的一些版本中,可以基于以下两者来训练语义深度神经网络:基于通过一个或多个机器人的抓取尝试而生成的训练样本;以及来自包括不是基于通过一个或多个机器人的抓取尝试而生成的训练样本(例如,来自IMAGENET图像数据库的训练样本)的其它计算机视觉数据集的训练样本。使用来自其它计算机视觉数据集的训练样本可以增加语义深度神经网络的语义理解的准确度和/或广度。
一些实施方式涉及利用经训练的抓取深度神经网络、经训练的空间变换器网络和/或经训练的语义神经网络来伺服机器人的抓取末端执行器以实现通过抓取末端执行器对具有期望的语义物体特征的物体的成功抓取。例如,可以在机器人的控制该机器人的抓取末端执行器的姿态的一个或多个致动器的运动控制命令的迭代更新中利用各个训练的网络,并且可以利用各个训练的网络来确定何时生成抓取控制命令以通过抓取末端执行器实现尝试的抓取。例如,可以仅当在抓取深度神经网络上生成的输出指示成功抓取的可能性满足阈值时并且当在语义深度神经网络上生成的输出指示抓取将很可能是针对具有期望的语义物体特征的物体的时,生成抓取控制命令并将它提供给对应致动器。
使用训练的网络来实现对具有期望的语义物体特征的物体的成功抓取可以使得机器人能够执行针对具有特定物体特征的物体的各个动作,其中那些特定物体特征由人类生成的用户接口输入和/或由另一组件(例如,更高级的任务计划器)规定。例如,用户可以提供指示期望抓取具有一个或多个特定物体特征的物体的用户接口输入(例如,口头的、键入的),并且只有当如下情况时机器人才可以利用经训练的网络来尝试抓取:抓取很可能成功并且很可能是针对具有特定物体特征的物体的。例如,用户可以提供“拾取勺子”的用户接口输入并且机器人可以基于在抓取深度神经网络上生成的指示抓取很可能成功的输出并且基于在语义深度神经网络上生成的指示抓取很可能是针对具有“勺子”的分类的物体的输出来尝试抓取。
在一些实施方式中,提供了一种方法,所述方法包括:生成候选末端执行器运动矢量,所述候选末端执行器运动矢量定义将机器人的抓取末端执行器从当前姿态移动到附加姿态的运动;以及识别由与机器人相关联的视觉传感器捕获的当前图像。当前图像捕获抓取末端执行器和机器人的环境中的至少一个物体。所述方法还包括:将当前图像和候选末端执行器运动矢量作为输入应用于训练的抓取卷积神经网络;在经训练的抓取卷积神经网络上生成在应用运动的情况下对物体的成功抓取的量度。量度是基于将图像和末端执行器运动矢量应用于经训练的抓取卷积神经网络而生成的。所述方法还包括:识别期望的物体语义特征;将所述当前图像的或由所述视觉传感器捕获的附加图像的空间变换作为输入应用于语义卷积神经网络;以及在语义卷积神经网络上基于空间变换生成附加量度,所述附加量度指示所期望的物体语义特征是否存在于空间变换中。所述方法还包括:基于成功抓取的量度和指示所期望的物体语义特征是否存在的附加量度来生成末端执行器命令;以及将末端执行器命令提供给机器人的一个或多个致动器。
这些和其它实施方式可以包括以下特征中的一个或多个。
在一些实施方式中,所述方法还包括:在经训练的抓取卷积神经网络上基于将图像和末端执行器运动矢量应用于经训练的抓取卷积神经网络来生成空间变换参数;以及在空间变换网络上基于空间变换参数生成空间变换。
在一些实施方式中,所期望的物体语义特征定义物体分类。
在一些实施方式中,所述方法还包括从用户接口输入设备接收用户接口输入并且基于用户接口输入识别所期望的物体语义特征。在那些实施方式中的一些中,用户接口输入设备是麦克风,诸如机器人的麦克风。
在一些实施方式中,空间变换是针对当前图像的,诸如裁切出当前图像的一部分的空间变换。
在一些实施方式中,所述方法还包括:确定在不应用运动的情况下对物体的成功抓取的当前量度。在那些实施方式中的一些中,基于量度生成末端执行器命令包括:基于量度与当前量度的比较来生成末端执行器命令。在那些实施方式的一些版本中,末端执行器命令是抓取命令并且生成抓取命令是响应于:确定附加量度指示所期望的物体特征存在于空间变换中;以及确定量度与当前量度的比较满足一个或多个准则。
在一些实施方式中,末端执行器命令是末端执行器运动命令并且生成末端执行器运动命令包括:生成末端执行器运动命令以符合候选末端执行器运动矢量。
在一些实施方式中,末端执行器命令是末端执行器动作命令并且符合候选末端执行器运动矢量。在那些实施方式中的一些中,将末端执行器运动命令提供给一个或多个致动器将末端执行器移动到新姿态,并且所述方法还包括:生成附加候选末端执行器运动矢量,所述附加候选末端执行器运动矢量定义将抓取末端执行器从新姿态移动到另一个附加姿态的新运动;识别由与机器人相关联的视觉传感器捕获的新图像,所述新图像捕获处于新姿态的末端执行器并且捕获环境中的物体;将新图像和附加候选末端执行器运动矢量作为输入应用于经训练的抓取卷积神经网络;在经训练的抓取卷积神经网络上生成在应用新运动的情况下对物体的成功抓取的新量度,所述新量度是基于将新图像和附加末端执行器运动矢量应用于经训练的抓取卷积神经网络而生成的;将新图像或由视觉传感器捕获的新附加图像的附加空间变换作为输入应用于语义卷积神经网络;在语义卷积神经网络上基于附加空间变换来生成新附加量度,所述新附加量度指示所期望的物体特征是否存在于空间变换中;基于成功抓取的新量度和指示所期望的物体特征是否存在的新附加量度来生成新末端执行器命令;以及将新末端执行器命令提供给机器人的一个或多个致动器。
在一些实施方式中,将图像和候选末端执行器运动矢量作为输入应用于经训练的抓取卷积神经网络包括:将图像作为输入应用于经训练的抓取卷积神经网络的初始层;以及将候选末端执行器运动矢量应用于经训练的抓取卷积神经网络的附加层。附加层可以是在初始层下游。
在一些实施方式中,生成候选末端执行器运动矢量包括:生成多个候选末端执行器运动矢量;以及对多个候选末端执行器运动矢量执行交叉熵优化的一个或多个迭代以从多个候选末端执行器运动矢量中选择候选末端执行器运动矢量。
在一些实施方式中,提供了一种方法,所述方法包括:识别由与机器人相关联的视觉传感器捕获的当前图像;在抓取卷积神经网络上基于将当前图像应用于抓取卷积神经网络来生成:由机器人的抓取末端执行器对在当前图像中捕获的物体的成功抓取的量度;以及空间变换参数。所述方法还包括:在空间变换器网络上基于空间变换参数生成空间变换。空间变换是针对当前图像或由视觉传感器捕获的附加图像的。所述方法还包括:将空间变换作为输入应用于语义卷积神经网络;在语义卷积神经网络上基于空间变换来生成附加量度,所述附加量度指示期望的物体语义特征是否存在于空间变换中;基于量度和附加量度生成末端执行器命令;以及将末端执行器命令提供给机器人的一个或多个致动器。
在一些实施方式中,提供了一种方法,所述方法包括:识别由机器人的视觉传感器捕获的当前图像;以及在语义抓取模型的一部分上基于将当前图像应用于所述一部分来生成:由机器人的抓取末端执行器对在当前图像中捕获的物体的成功抓取的量度;以及空间变换参数。所述方法还包括:基于空间变换参数生成当前图像的空间变换;将空间变换作为输入应用于语义抓取模型的附加部分;在附加部分上基于空间变换生成附加量度,所述附加量度指示期望的物体语义特征是否存在于空间变换中;基于量度和附加量度生成末端执行器命令;以及提供末端执行器命令。
在一些实施方式中,提供了一种方法,所述方法包括识别基于在由机器人的多个抓取尝试期间来自一个或多个机器人的传感器输出生成的多个训练样本。训练样本中的每一个均包括训练样本输入,所述训练样本输入包括:用于抓取尝试的对应抓取尝试的对应时间实例的图像,所述图像在对应时间实例处捕获机器人末端执行器和一个或多个环境物体;以及末端执行器运动矢量,所述末端执行器运动矢量定义末端执行器从末端执行器在对应时间实例处的时间实例姿态移动到末端执行器针对对应抓取尝试的最终姿态的运动。训练样本中的每一个均还包括训练样本输出,所述训练样本输出包括:至少一个被抓取物体标签,所述至少一个被抓取物体标签指示由对应抓取尝试抓取的物体的语义特征。所述方法还包括由处理器中的一个或多个基于训练样本来训练语义卷积神经网络。
这些和其它实施方式可以包括以下特征中的一个或多个。
在一些实施方式中,基于训练样本来训练语义卷积神经网络包括:将训练样本中的给定训练样本的训练样本输入应用于抓取卷积神经网络;在抓取卷积神经网络上基于给定训练样本的训练样本输入生成空间变换器网络参数;使用空间变换器网络参数来生成给定训练样本的图像的空间变换;在语义卷积神经网络上基于空间变换图像生成输出;以及基于输出和给定训练样本的训练样本输出在语义卷积神经网络上执行反向传播。在那些实施方式中的一些中,所述方法还包括基于不是基于抓取尝试而生成的附加训练样本来训练语义卷积神经网络。在那些实施方式中的一些中,将给定训练样本的训练样本输入应用于抓取卷积神经网络包括:将给定训练样本的图像作为输入应用于抓取卷积神经网络的初始层;以及将给定训练样本的末端执行器运动矢量应用于抓取卷积神经网络的附加层,所述附加层在初始层下游。
在一些实施方式中,所述方法还包括基于不是基于抓取尝试而生成的附加训练样本来训练语义卷积神经网络。在那些实施方式中的一些中,所述方法还包括基于训练样本来训练抓取卷积神经网络。在那些实施方式的一些版本中,基于训练样本来训练抓取卷积神经网络包括:在抓取卷积神经网络上基于给定训练样本的训练样本输入生成预测抓取量度;以及基于预测抓取量度和给定训练样本的训练样本输出在抓取卷积神经网络上执行反向传播。
在一些实施方式中,训练样本包括:基于在通过该第一机器人进行的多个抓取尝试期间来自第一机器人的多个第一机器人传感器的输出生成的第一群组训练样本;以及基于在通过该第二机器人进行的多个抓取尝试期间来自第二机器人的多个第二机器人传感器的输出生成的第二群组训练样本。在那些实施方式中的一些中,第一机器人传感器包括生成第一群组训练样本的图像的第一视觉传感器,第二机器人传感器包括生成第二群组训练样本的图像的第二视觉传感器,并且第一视觉传感器相对于第一机器人的第一基座的第一姿态与第二视觉传感器相对于第二机器人的第二基座的第二姿态不同。
在一些实施方式中,多个训练样本所基于的抓取尝试均包括多个随机致动器命令,所述多个随机致动器命令将末端执行器从末端执行器的起始姿态随机地移动到末端执行器的最终姿态,然后在最终姿态利用末端执行器来抓取。
在一些实施方式中,提供了一种方法,所述方法包括识别基于并非基于机器人抓取尝试生成的训练样本而训练的语义卷积神经网络;识别基于在通过机器人的多个抓取尝试期间来自一个或多个机器人的传感器输出生成的多个训练样本;以及基于训练样本来训练语义卷积神经网络。
这些和其它实施方式可以包括以下特征中的一个或多个。
在一些实施方式中,所述方法还包括基于训练样本来训练抓取卷积神经网络。
在一些实施方式中,训练样本包括:基于在通过该第一机器人的多个抓取尝试期间来自第一机器人的多个第一机器人传感器的输出生成的第一群组训练样本;以及基于在通过该第二机器人的多个抓取尝试期间来自第二机器人的多个第二机器人传感器的输出生成的第二群组训练样本。在那些实施方式中的一些中,第一机器人传感器包括生成第一群组训练样本的图像的第一视觉传感器,第二机器人传感器包括生成第二群组训练样本的图像的第二视觉传感器,并且第一视觉传感器相对于第一机器人的第一基座的第一姿态与第二视觉传感器相对于第二机器人的第二基座的第二姿态不同。
在一些实施方式中,多个训练样本基于的抓取尝试均包括多个随机致动器命令,所述多个随机致动器命令将末端执行器从末端执行器的起始姿态随机地移动到末端执行器的最终姿态,然后在最终姿态利用末端执行器来抓取。
其它实施方式可以包括存储可由处理器(例如,中央处理单元(CPU)或图形处理单元(GPU))执行以执行诸如在上面和/或在本文中别处描述的方法中的一个或多个的方法的指令的非暂时性计算机可读存储介质。然而其它实施方式可以包括一个或多个计算机和/或一个或多个机器人的系统,所述计算机和/或机器人包括一个或多个处理器,所述处理器可操作来执行存储的指令以执行诸如在上面和/或在本文中别处描述的方法中的一个或多个的方法。
应该了解的是,在本文中更详细地描述的上述构思和附加构思的所有组合被设想为是本文中公开的主题的一部分。例如,在本公开的结尾处出现的要求保护的主题的所有组合被设想为是本文中公开的主题的一部分。
附图说明
图1A图示示例环境,其中可以由机器人执行抓取尝试、可以利用与抓取尝试相关联的数据来生成训练样本、和/或可以利用训练样本来训练语义抓取模型的一个或多个网络。
图1B图示图1A的语义抓取模型的网络以及可以被应用于该网络并在该网络上生成的示例数据。
图2图示图1的机器人中的一个以及该机器人的抓取末端执行器沿着路径的移动的示例。
图3是图示执行抓取尝试并且存储与抓取尝试相关联的数据的示例方法的流程图。
图4是图示基于与机器人的抓取尝试相关联的数据来生成训练样本的示例方法的流程图。
图5是图示基于训练样本来训练语义抓取模型的一个或多个网络的示例方法的流程图。
图6A和图6B图示示例抓取卷积神经网络的架构、可以被应用于抓取卷积神经网络的示例输入、以及可以在抓取卷积神经网络上生成的示例输出。
图6C图示空间变换器网络和语义卷积神经网络、可以被应用于网络的示例输入以及可以在网络上生成的示例输出。
图7是图示利用语义抓取模型来伺服抓取末端执行器的示例方法的流程图。
图8示意性地描绘机器人的示例架构。
图9示意性地描绘计算机系统的示例架构。
具体实施方式
本文中描述的技术的一些实施方式涉及训练包括抓取深度神经网络、空间变换器网络和语义深度神经网络的语义抓取模型。
在那些实施方式中的一些中,可以利用经训练的抓取深度神经网络基于由与机器人相关联的视觉传感器所捕获的当前图像来生成:1)指示由末端执行器对一个或多个物体的成功抓取的概率的量度;以及2)空间变换参数。另外,可以利用经训练的空间变换器网络基于空间变换参数和当前图像(和/或附加图像)来生成:当前图像(和/或附加图像)的空间变换。又另外,可以利用经训练的语义深度神经网络基于空间变换来生成:指示空间变换的一个或多个语义特征的附加量度,诸如存在于空间变换中的物体的一种或多种类别。
在那些实施方式的一些版本中,机器人可以基于量度(指示成功抓取的概率)满足阈值并且基于附加量度指示期望的物体语义特征存在于空间变换中来尝试利用末端执行器抓取。所期望的物体语义特征可以基于例如用户接口输入和/或来自一个或多个单独的组件的输入。因此,经训练的语义抓取模型可以使得能够基于确定抓取尝试的成功的可能性满足阈值并且基于确定物体很可能具有所期望的物体语义特征来对物体执行抓取尝试。
如在本文中更详细地描述的,在各个实施方式中在抓取深度神经网络上生成的输出可以被视为“背侧的”的原因在于它主要基于空间推理并且在没有对被抓取之物的语义理解的情况下预测抓取是否将成功和/或图像的哪部分要处理。此外,在各个实施方式中在空间变换器网络和语义深度神经网络上生成的输出可以被视为“腹侧的”的原因在于它主要基于语义推理并且预测考虑抓取的物体的语义特征。
在一些实施方式中,经训练的抓取深度神经网络接受图像(It和可选地Io)并且接受末端执行器运动矢量(vt),诸如任务空间运动矢量。图像由视觉传感器生成并且可以包括在抓取末端执行器不存在的情况下(或者在末端执行器处于与它在当前图像(It)中处于的姿态不同的姿态的情况下)捕获场景的“当前”图像(It)和附加图像(Io)。将图像(It和可选地Io)和末端执行器运动矢量(vt)应用于经训练的抓取深度神经网络可以用于在抓取深度神经网络上生成:其执行命令以实现通过运动矢量(vt)定义的运动并且随后抓取将产生成功抓取的预测量度;以及预测的空间变换参数。可以利用所生成的空间变换参数来在经训练的空间变换网络上生成空间变换(例如,当前图像的空间变换)。可以将空间变换应用于语义深度神经网络以在该网络上生成指示存在于空间变换中的物体的特征的量度。是否通过抓取末端执行器尝试抓取可以基于成功抓取的预测量度和/或哪些特征被指示为存在于空间变换中。在下面提供对技术的这些和其它实施方式的附加描述。
参考图1A-6B,对训练语义抓取模型124的各个网络125、126和/或127的各个实施方式进行描述。图1A图示可以由机器人(例如,机器人180A、180B和/或其它机器人)执行抓取尝试、可以利用与抓取尝试相关联的数据来生成训练样本、和/或可以利用训练样本来训练语义抓取模型124的各个网络125、126和/或127的示例环境。
在图1A中图示了示例机器人180A和180B。机器人180A和180B是具有多个自由度以使得能够沿着多个潜在路径中的任一个横移抓取末端执行器182A和182B以将抓取末端执行器182A和182B定位在期望的位置中的“机器人臂”。例如,参考图2,图示了机器人180A沿着路径201横移其末端执行器的示例。图2包括示出由机器人180A及其末端执行器在沿着路径201横移时摆出的一组姿态中的两个不同姿态的机器人180A的幻像和非幻像图像。再次参考图1A,机器人180A和180B各自还控制其对应的抓取末端执行器182A、182B的两个相对的“爪”以使爪在至少张开位置和闭合位置(和/或可选地多个“部分闭合”位置)之间致动。
在图1A中还图示了示例视觉传感器184A和184B。在图1A中,视觉传感器184A被以相对于机器人180A的基座或其它静止参考点的固定姿态安装。视觉传感器184B也被以相对于机器人180B的基座或其它静止参考点的固定姿态安装。如图1A中所图示,视觉传感器184A相对于机器人180A的姿态不同于视觉传感器184B相对于机器人180B的姿态。如本文中所描述的,在一些实施方式中这可以有益于使得能够生成不同的训练样本,所述不同的训练样本可被利用来训练对相机校准鲁棒和/或独立于相机校准的神经网络。视觉传感器184A和184B是可生成与在传感器的视线中的物体的形状、颜色、深度和/或其它特征有关的图像的传感器。视觉传感器184A和184B可以是例如单目视觉(monographic)相机、立体视觉(stereographic)摄影机和/或3D激光扫描器。3D激光扫描器包括发射光的一个或多个激光器以及收集与所发射的光的反射有关的数据的一个或多个传感器。3D激光扫描器可以是例如飞行时间3D激光扫描器或基于三角测量的3D激光扫描器,并且可以包括位置敏感检测器(PSD)或其它光学位置传感器。
视觉传感器184A具有机器人180A的工作空间的至少一部分(诸如包括示例物体191A的工作空间的部分)的视场。尽管在图1A中未图示物体191A的搁置表面,然而那些物体可搁置在桌子、托盘和/或其它表面上。物体191A包括铲、订书机和铅笔。在其它实施方式中可以在如本文中所描述的机器人180A的抓取尝试中的全部或部分期间提供更多的物体、更少的物体、附加物体和/或替选物体。例如,在一些实施方式中可以在机器人180A的一些抓取尝试期间提供具有相同的一个或多个特征的物体(例如,全部都具有第一分类的物体),可以在机器人180A的一些其它抓取尝试期间提供具有相同的一个或多个不同特征的物体(例如,全部都具有第二分类的物体)等。
视觉传感器184B具有机器人180B的工作空间的至少一部分(诸如包括示例物体191B的工作空间的部分)的视场。尽管在图1A中未图示物体191B的搁置表面,然而它们可搁置在桌子、托盘和/或其它表面上。物体191B包括铅笔、订书机和眼镜。在其它实施方式中可以在如本文中所描述的机器人180B的抓取尝试中的全部或部分期间提供更多的物体、更少的物体、附加物体和/或替选物体。例如,在一些实施方式中可以在机器人180B的一些抓取尝试期间提供具有相同的一个或多个特征的物体(例如,全部都具有第一分类的物体),可以在机器人180B的一些其它抓取尝试期间提供具有相同的一个或多个不同特征的物体(例如,全部都具有第二分类的物体)等。
尽管在图1A中图示了特定机器人180A和180B,然而可以利用附加和/或替选机器人,包括与机器人180A和180B类似的附加机器人臂、具有其它机器人臂形式的机器人、具有类人形式的机器人、具有动物形式的机器人、经由一个或多个轮移动的机器人(例如,自平衡机器人)、潜水载具机器人、无人驾驶飞行器(“UAV”)等。另外,尽管在图1A中图示了特定抓取末端执行器,然而可以利用附加和/或替选末端执行器,诸如替选冲击式抓取末端执行器(例如,具有抓取“板”的那些抓取末端执行器、具有更多或更少的“指”/“爪”的那些抓取末端执行器)、“侵入式”抓取末端执行器、“收缩式”抓取末端执行器、或“接触式”抓取末端执行器、或非抓取末端执行器。附加地,尽管在图1A中图示了视觉传感器184A和184B的特定安装方式,然而可以使用附加和/或替选安装方式。例如,在一些实施方式中,视觉传感器可以被直接地安装到机器人,诸如在机器人的不可致动组件上或者在机器人的可致动组件上(例如,在末端执行器上或者在靠近末端执行器的组件上)。另外,例如,在一些实施方式中,视觉传感器可以被安装在与其关联的机器人分离的非静止结构上和/或可以被以非静止方式安装在与其关联的机器人分离的结构上。
可以利用机器人180A、180B和/或其它机器人来执行大量的抓取尝试并且与抓取尝试相关联的数据可以由训练样本生成系统110利用来生成训练样本数据库117的训练样本。在一些实施方式中,可以将训练样本生成系统110的全部或多个方面实现在机器人180A和/或机器人180B上(例如,经由机器人180A和180B的一个或多个处理器)。例如,机器人180A和180B可以各自包括训练样本生成系统110的实例。在一些实施方式中,可以将训练样本生成系统110的全部或多个方面实现在与机器人180A和180B分离但是与机器人180A和180B网络通信中的一个或多个计算机系统上。
由机器人180A、180B和/或其它机器人进行的每个抓取尝试由T个单独的时间步或实例构成。在每个时间步,存储由执行抓取尝试的机器人的视觉传感器所捕获的当前图像
Figure BDA0002534327390000141
还存储末端执行器的当前姿态
Figure BDA0002534327390000142
并且机器人选取接下来移动抓爪所沿着的路径(平移和/或旋转)。在最终时间步T,机器人致动(例如,闭合)抓爪并且存储附加数据和/或执行一个或多个附加动作以使得能够评估抓取的成功。训练样本生成系统110的抓取成功引擎116评估抓取的成功,从而生成抓取成功标签(sli)和/或被抓取物体标签(oli),其中被抓取物体标签指示被抓取物体的特征(如果任何物体实际被抓取)。
每次抓取尝试产生T个训练样本,通过
Figure BDA0002534327390000143
Figure BDA0002534327390000144
来表示。也就是说,每个训练样本至少包括在该时间步
Figure BDA0002534327390000145
观察到的图像、从在该时间步的姿态到最终到达的姿态(抓取尝试的最终姿态)的末端执行器运动矢量
Figure BDA0002534327390000146
以及抓取尝试的抓取成功标签(li)和/或被抓取物体标签(oli)。每个末端执行器运动矢量可以由训练样本生成系统110的末端执行器运动矢量引擎114确定。例如,末端执行器运动矢量引擎114可以确定抓取尝试的当前姿态和最终姿态之间的变换并且将该变换用作末端执行器运动矢量。用于多个机器人的多个抓取尝试的训练样本由训练样本生成系统110存储在训练样本数据库117中。
由与机器人相关联的传感器生成的数据和/或从所生成的数据导出的数据可以被存储在机器人本地和/或远离机器人的一个或多个非暂时性计算机可读介质中。在一些实施方式中,当前图像可以包括多个通道,诸如红色通道、蓝色通道、绿色通道和/或深度通道。图像的每个通道定义图像的多个像素中的每一个的值,诸如图像的像素中的每一个的从0到255的值。在一些实施方式中,训练样本中的每一个均可以包括对应的抓取尝试的当前图像和附加图像,其中附加图像不包括抓取末端执行器或者包括处于不同姿态的末端执行器(例如,与当前图像的姿态不重叠的姿态)。例如,可以在任何在先抓取尝试之后但是在用于抓取尝试的末端执行器移动开始之前并且在抓取末端执行器被移出视觉传感器的视场时捕获附加图像。可以在任务空间中、在关节空间中、或者在另一空间中表示当前姿态以及从抓取尝试的当前姿态到最终姿态的末端执行器运动矢量。例如,末端执行器运动矢量可以通过任务空间中的五个值来表示:三个值定义三维(3D)平移矢量,以及两个值表示末端执行器绕末端执行器的轴线的定向变化的正弦-余弦编码。
在一些实施方式中,抓取成功标签是二进制标签,诸如“0/成功”或“1/不成功”标签。在一些实施方式中,可以从多于两个选项(诸如0、1以及介于0与1之间的一个或多个值)中选择抓取成功标签。例如,“0”可以指示确认的“不成功抓取”,“1”可以指示确认的成功抓取,“0.25”可以指示“最可能不成功抓取”并且“0.75”可以指示“最可能成功抓取”。
在一些实施方式中,被抓取物体标签各自指示对应的特征是否存在于对应的被抓取物体中。例如,用于被抓取物体的被抓取物体标签可以指示该物体属于一个或多个物体类别中的哪一个。可以利用各种粒度的物体类别。被抓取物体标签可以各自是二元的(例如,特征存在或不存在)或者从多于两个选项中选择(例如,特征很可能不存在、最可能不存在、很可能存在、最可能存在)。如本文中所描述的,抓取成功引擎116可以利用一个或多个技术来将被抓取物体标签指派给抓取尝试。例如,抓取成功引擎116可以基于抓取尝试来自全部都具有某被抓取物体标签的物体的集合来将该标签指派给抓取尝试(例如,当物体是从全部为“牙刷”的多个物体中抓取时指派“牙刷”标签)。另外,例如,抓取成功引擎116可以捕获在抓取尝试中抓取的物体的图像(例如,通过在视觉传感器仍然在抓取物体的同时在它前面移动抓取末端执行器),并且利用所捕获的图像来确定被抓取物体标签。例如,抓取成功引擎116可以将所捕获的图像提供给一个或多个人类审查者的计算设备并且利用来自一个或多个人类审查者的输入(经由他们对应的计算设备)来确定被抓取物体标签。另外,例如,抓取成功引擎116可以将所捕获的图像(或其空间变换)应用于训练的语义CNN(可选地与语义CNN 127分离)并且使用在经训练的语义CNN上生成的输出来确定被抓取物体标签。在那些实例中的一些中,可以可选地基于人类审查者标记的捕获的图像(例如,具有基于所捕获的图像的训练样本输入和基于人类审查者标签的训练样本输出的训练样本)和/或附加训练样本(例如,来自IMAGENET的训练样本)来训练经训练的语义CNN。
训练引擎120基于训练样本数据库117的训练样本来训练语义抓取模型124的网络125、126和127中的一个或多个。训练引擎120可以利用训练样本数据库117的一些训练样本来仅训练抓取CNN 125。例如,训练样本数据库117的一些训练样本可以包括在对应的时间步
Figure BDA0002534327390000161
观察到的图像、从在该时间步的姿态到最终到达的姿态(抓取尝试的最终姿态)的末端执行器运动矢量
Figure BDA0002534327390000162
以及抓取成功标签(li)—但是不包括抓取尝试的被抓取物体标签(oli)(例如,因为抓取不成功和/或因为标签未被应用于成功抓取)。
训练引擎120也可以利用训练样本数据库117的一些其它训练样本来附加地或替选地训练抓取CNN和STN 126和/或语义CNN 127。例如,训练样本数据库117的一些训练样本可以包括在对应的时间步
Figure BDA0002534327390000171
观察到的图像、从在该时间步的姿态到最终到达的姿态(抓取尝试的最终姿态)的末端执行器运动矢量
Figure BDA0002534327390000172
抓取成功标签(li),并且也包括抓取尝试的被抓取物体标签(oli)。
在一些实施方式中,训练引擎120也利用来自语义训练样本数据库119的附加训练样本来训练语义CNN 127。数据库119的训练样本可以包括来自其它计算机视觉数据集的训练样本,所述其它计算机视觉数据集包括不是由一个或多个机器人基于抓取尝试而生成的训练样本(例如,来自IMAGENET图像数据库的训练样本)。在那些实施方式中的一些中,可以利用数据库119的附加训练样本来在以基于抓取尝试而生成的训练样本为基础的任何训练之前训练语义CNN 127。另外,在一些实施方式中,可以利用这样的附加训练样本来预先训练语义CNN 127。例如,语义CNN 127可以是预先训练的物体辨识网络,诸如在IMAGENET数据上训练的初始网络。使用来自其它计算机视觉数据集的附加训练样本可以增加语义CNN127的语义理解的准确度和/或广度。训练引擎120可以在基于附加训练样本和/或以基于抓取尝试而生成的训练样本为基础来训练语义CNN 127时可选地利用各个域自适应技术。
在下面参考图3-5提供对执行抓取尝试、基于抓取尝试来生成训练数据、以及训练语义抓取网络124的实施方式的附加描述。
图1B图示图1A的语义抓取模型124的网络125、126和127以及可以被应用于网络125、126和127的训练版本并在其上生成的示例数据。例如,机器人的一个或多个处理器可以基于网络125、126和127应用和/或生成图1B的数据。例如,一个或多个处理器可以在给定迭代(例如,控制循环)期间应用和/或生成图1B的数据,所述给定迭代前面和/或后面有同样地生成和/或应用对应的数据的其它迭代。
一个或多个图像161被作为输入应用于抓取CNN 125,诸如当前图像和可选地附加图像(例如,捕获与当前图像相同的场景但是省略抓取末端执行器的图像)。末端执行器运动矢量162也被应用于抓取CNN 125。在一些实施方式中,图像161被应用于抓取CNN 125的初始层并且末端执行器运动矢量162被应用于抓取CNN 125的下游层。
抓取量度177和STN参数178是基于所应用的图像161和末端执行器运动矢量162在抓取CNN 125上生成的。在一些实施方式中,STN参数可以是STN 126的变换参数,诸如仿射变换的平移系数,可选地对于裁切区域来说具有固定标度(例如,128.0/472.0的固定标度)。
STN参数178和图像161中的至少一个(例如,当前图像)被作为输入应用于STN126。STN 126被利用来生成作为所应用的图像161基于STN参数178的空间变换的空间变换179。在一些实施方式中,经空间变换的图像179是所应用的图像161的一部分的裁切,其中该部分是基于经批准的STN参数178来选择的。在一些实施方式中,可以在STN 126上生成附加和/或替选变换。
空间变换179被作为输入应用于语义CNN 127并且基于所应用的空间变换的图像179在语义CNN 127上生成语义特征180。例如,语义特征180可以指示经空间变换的图像179中的物体属于一个或多个类别中的哪一个,诸如“橡皮擦”、“剪刀”、“梳子”、“铲子”、“火炬”、“玩具”、“发刷”的类别和/或更大或更小粒度的其它类别。
机器人的一个或多个处理器可以基于抓取量度177和语义特征180来确定是执行末端执行器运动矢量162、尝试抓取、还是执行校正轨迹。例如,可以提供一个或多个期望的物体语义特征(例如,经由用户接口输入)并且基于指示那些语义特征的语义特征180并且基于抓取量度177和/或在先迭代的抓取量度满足一个或多个准则来尝试抓取。在下面参考图7提供对利用语义抓取模型的实施方式的附加描述。
图3是图示执行抓取尝试并且存储与抓取尝试相关联的数据的示例方法300的流程图。为了方便,参考执行操作的系统对流程图的操作进行描述。此系统可以包括机器人的一个或多个组件,诸如机器人180A、180B、825和/或其它机器人的处理器和/或机器人控制系统。此外,虽然以特定顺序示出方法300的操作,但是这不意在为限制性的。可以重新排序、省略或者添加一个或多个操作。
在框352处,系统开始抓取尝试。在框354处,系统在末端执行器不存在于该图像中的情况下存储环境的图像。例如,系统可以将抓取末端执行器移出视觉传感器的视场(即,不遮挡环境的视图)并且在当抓取末端执行器离开视场时的实例时捕获图像。图像然后可以被存储并与抓取尝试相关联。
在框356处,系统确定并实现末端执行器移动。例如,系统可以生成一个或多个运动命令以使得控制末端执行器的姿态的致动器中的一个或多个致动,从而改变末端执行器的姿态。
在框356的一些实施方式和/或迭代中,运动命令在给定空间内可以是随机的,所述给定空间诸如可由末端执行器触达的工作空间、对于抓取尝试来说末端执行器被局限在内部的受限空间和/或通过控制末端执行器的姿态的致动器的位置和/或扭矩极限所定义的空间。例如,在神经网络的初始训练完成之前,由系统在框356处生成来实现末端执行器移动的运动命令在给定空间内可以是随机的。如本文中所使用的随机可以包括真随机或伪随机。
在一些实施方式中,由系统在框356处生成来实现末端执行器移动的运动命令可以至少部分地基于训练的抓取CNN的当前版本和/或基于其它准则。在一些实施方式中,在针对每次抓取尝试的框356的第一次迭代中,末端执行器可以基于它在框354处被移出视场而“未就位”。在那些实施方式中的一些中,在框356的第一次迭代之前末端执行器可以被随机地或以其它方式移动“返回就位”。例如,末端执行器可以被移回到设置的“起始位置”和/或移动到给定空间内的随机地选择的位置。
在框358处,系统存储:(1)在抓取尝试的当前实例时捕获末端执行器和环境的图像以及(2)末端执行器在当前实例时的姿态。例如,系统可以存储由与机器人相关联的视觉传感器生成的当前图像并且使该图像与当前实例相关联(例如,利用时间戳)。另外,例如系统可以基于来自机器人的关节(其位置影响机器人的姿态)的一个或多个关节位置传感器的数据来确定末端执行器的当前姿态,并且系统可以存储该姿态。系统可以确定并存储末端执行器在任务空间、关节空间或另一空间中的姿态。
在框360处,系统确定当前实例是否是用于抓取尝试的最终实例。在一些实施方式中,系统可以在框352、354、356或358处递增实例计数器和/或随着时间流逝而递增时间计数器—并且基于将计数器的值与阈值相比较来确定当前实例是否是最终实例。例如,计数器可以是时间计数器并且阈值可以是3秒、4秒、5秒和/或其它值。在一些实施方式中,阈值可以在方法300的一个或多个迭代之间变化。
如果系统在框360处确定当前实例不是抓取尝试的最终实例,则系统返回到它确定并实现另一末端执行器移动的框356,然后进行到它存储在当前实例时的图像和姿态的框358。通过针对给定抓取尝试的框356、358和360的多个迭代,将通过框356的多个迭代来更改末端执行器的姿态,并且在那些实例中的每一个时存储图像和姿态。在许多实施方式中,可以以相对高的频率执行框356、358、360和/或其它框,从而为每次抓取尝试存储相对大量的数据。
如果系统在框360处确定当前实例是抓取尝试的最终实例,则系统进行到框362,其中它致动末端执行器的抓爪。例如,对于冲击式末端执行器抓爪,系统可以使得一个或多个板、指和/或其它构件闭合。例如,系统可以使得构件闭合直到它们处于完全闭合位置处或者由与构件相关联的扭矩传感器所测量到的扭矩读数满足阈值为止。
在框364处,系统存储附加数据并且可选地执行一个或多个附加动作以使得能够确定框360的抓取的成功和/或能够确定在框360处抓取的物体(若有的话)的被抓取物体特征。在一些实施方式中,被存储以使得能够确定抓取的成功的附加数据是位置读数、扭矩读数和/或来自抓取末端执行器的其它读数。例如,紧跟框362之后大于某个阈值(例如,1cm)的位置读数可以指示成功抓取(例如,可以指示抓取末端执行器正在抓取某个物体,因为它可闭合超过阈值)。在一些实施方式中,被存储以使得能够确定在框360处抓取的物体的被抓取物体特征的附加数据是在抓取尝试期间被可用于抓取的所有物体共享的一个或多个物体特征的指示。例如,在抓取尝试中仅画笔在机器人的工作空间中可以是可用的并且可以存储指示“画笔”的分类的物体特征。可以基于操作者提供的指示和/或感测到的指示(例如,在工作空间中提供并且由视觉传感器捕获的指示物体特征的机器可读代码)来确定在抓取尝试中被所有物体共享的物体特征。
在一些实施方式中,在框364处系统附加地和/或替选地:(1)使末端执行器维持在致动(例如,闭合)位置中并且将末端执行器和可由末端执行器抓取的任何物体移动到靠近视觉传感器的位置;并且(2)在末端执行器(和任何被抓取物体)处于靠近视觉传感器的位置中时利用视觉传感器捕获图像。在那些实施方式中的一些中,如果基于其它数据首先确定了抓取可能成功(例如,如果位置读数指示成功抓取)则系统可以仅移动末端执行器和/或捕获这样的图像。如本文中所描述的,可以随后利用这样的捕获的图像来确定抓取尝试是否成功和/或确定由末端执行器抓取的物体的一个或多个被抓取物体特征。例如,可以将所捕获的图像提供给一个或多个人类审查者的计算设备,所述人类审查者可以利用他们的计算设备来基于所捕获的图像指示抓取是否成功和/或指示在所捕获的图像中抓取的物体的一个或多个被抓取物体特征。另外,例如,所捕获的图像(或其空间变换)可以被应用于训练的语义CNN(可选地与语义CNN 127分离)和在经训练的语义CNN上生成的输出以确定被抓取的物体的一个或多个被抓取物体特征。
在框366处,系统重置计数器(例如,实例计数器和/或时间计数器),并且返回进行到框352以开始另一抓取尝试。
在一些实施方式中,可以将图3的方法300实现在多个机器人中的每一个上——所述多个机器人可选地在方法300的它们相应的迭代中的一个或多个(例如,全部)期间并行地操作。这与仅一个机器人在操作方法300的情况下相比可以使得能够在给定时间段内实现更多的抓取试图。此外,在所述多个机器人中的一个或多个包括相对于该机器人具有对于与其它机器人相关联的一个或多个视觉传感器的姿态独特的姿态的关联的视觉传感器的实施方式中,基于来自多个机器人的抓取尝试而生成的训练样本可以在基于那些训练样本而训练的神经网络中向视觉传感器姿态提供鲁棒性。此外,在所述多个机器人的抓取末端执行器和/或其它硬件组件不同地变化和/或磨损、和/或在不同的机器人(例如,相同的品牌和/或型号和/或不同的品牌和/或型号)与不同的物体(例如,具有不同的大小、不同的重量、不同的形状、不同的透明度、不同的材料的物体)和/或在不同的环境(例如,不同的表面、不同的照明、不同的环境障碍物)中交互的实施方式中,基于来自多个机器人的抓取尝试而生成的训练样本可以向各个机器人和/或环境配置提供鲁棒性。
在一些实施方式中,可由给定机器人触达并且可对其做出抓取尝试的物体在方法300的不同的迭代期间可以是不同的。例如,人类操作者和/或另一个机器人可以在机器人的一个或多个抓取尝试之间向机器人的工作空间添加和/或移除物体。另外,例如,机器人它本身可以紧跟那些物体的成功抓取之后将一个或多个物体从其工作空间中丢弃。这可以增加训练数据的多样性。在一些实施方式中,诸如照明、表面、障碍物等的环境因素在方法300的不同的迭代期间可以附加地和/或替选地是不同的,这也可以增加训练数据的多样性。
图4是图示基于与机器人的抓取尝试相关联的数据来生成训练样本的示例方法400的流程图。为了方便,参考执行操作的系统对流程图的操作进行描述。此系统可以包括机器人和/或另一计算机系统的一个或多个组件,诸如机器人180A、180B、825的处理器和/或机器人控制系统,和/或训练样本生成系统110和/或可选地可以与机器人分别实现的其它系统的处理器。此外,虽然以特定顺序示出方法400的操作,但是这不意在为限制性的。可以重新排序、省略或者添加一个或多个操作。
在框452处,系统开始训练样本生成。在框454处,系统选择抓取尝试。例如,系统可以访问包括与多个存储的抓取尝试相关联的数据的数据库,并且选择所存储的抓取尝试中的一个。所选择的抓取尝试可以是例如基于图3的方法300而生成的抓取尝试。
在框456处,系统基于所选择的抓取尝试的存储的数据来确定所选择的抓取尝试的抓取成功标签和可选地确定被抓取物体标签。例如,如关于方法300的框364所描述的,可以针对抓取尝试存储附加数据以使得能够确定抓取尝试的抓取成功标签和/或被抓取物体标签。所存储的数据可以包括来自一个或多个传感器的数据,其中数据是在抓取尝试期间和/或之后生成的。
作为一个示例,数据可以是来自抓取末端执行器的位置读数、扭矩读数和/或其它读数。在这样的示例中,系统可以基于读数来确定抓取成功标签。例如,在读数是位置读数的情况下,如果读数大于某个阈值(例如,1cm)则系统可以确定“成功抓取”标签—而如果读数小于某个阈值(例如,1cm)则可以确定“不成功抓取”标签。
作为另一示例,数据可以是抓取在抓取尝试中抓取的物体的末端执行器的图像。例如,图像可以由视觉传感器在末端执行器和可以由末端执行器抓取的任何物体被移动到靠近视觉传感器的位置之后捕获。在这样的示例中,系统可以利用所捕获的图像来确定抓取尝试是否成功和/或确定由末端执行器抓取的物体的一个或多个被抓取物体特征。例如,系统可以将所捕获的图像提供给一个或多个人类审查者的计算设备,所述人类审查者可以利用他们的计算设备基于所捕获的图像来指示抓取是否成功和/或指示在所捕获的图像中抓取的物体的一个或多个被抓取物体特征。作为另一示例,系统可以将所捕获的图像应用于训练的语义CNN,在经训练的语义CNN上生成输出,并且利用该输出来确定被抓取的物体的一个或多个被抓取物体特征。
作为可以被确定的被抓取物体标签的一个示例,被抓取物体标签可以指示被抓取物体是否具有一组分类中的一个或多个分类中的每一个。例如,被抓取物体标签可以指示被抓取物体具有该组中的“笔”分类,但是不具有该组中的任何其它分类。
在框456的一些迭代中,系统仅确定抓取尝试的抓取成功标签。在框456的一些其它迭代中,系统附加地或替选地确定抓取尝试的被抓取物体标签。系统是否在给定迭代中确定抓取尝试的抓取成功标签和/或被抓取物体标签可以基于各种因素。例如,在框456的一些迭代中如果抓取尝试的抓取不成功则仅确定抓取成功标签。另外,例如,在框456的一些迭代中可能期望生成用于仅训练抓取CNN的训练样本并且仅确定抓取成功标签。另外,例如,在框456的一些迭代中可能期望生成用于训练抓取CNN和语义CNN两者的训练样本并且确定抓取成功标签和被抓取物体标签两者。另外,例如,在一些情形下可以在确定是否期望也在给定迭代中为训练样本生成抓取物体标签时考虑计算和/或其它成本。
在框458处,系统针对抓取尝试选择实例。例如,系统可以基于与数据相关联的使实例与抓取尝试的其它实例区分开的时间戳和/或其它界限来选择与实例相关联的数据。
在框460处,系统基于末端执行器在实例处的姿态和末端执行器在抓取尝试的最终实例处的姿态来针对实例生成末端执行器运动矢量。例如,系统可以确定抓取尝试的当前姿态和最终姿态之间的变换并且将该变换用作末端执行器运动矢量。可以在任务空间中、在关节空间中或者在另一空间中表示当前姿态以及从抓取尝试的当前姿态到最终姿态的末端执行器运动矢量。例如,末端执行器运动矢量可以通过任务空间中的五个值来表示:三个值定义三维(3D)平移矢量,以及两个值表示末端执行器绕末端执行器的轴线的定向变化的正弦-余弦编码。
在框462处,系统针对实例生成训练样本,所述训练样本包括:(1)针对实例的所存储的图像,(2)在框460处针对实例生成的末端执行器运动矢量,以及(3)在框456处确定的抓取成功标签和/或被抓取物体标签。在一些实施方式中,系统生成也包括针对抓取尝试的存储的附加图像(诸如至少部分地省略末端执行器并且在抓取尝试之前捕获的附加图像)的训练样本。在那些实施方式中的一些中,系统将针对实例的所存储的图像和针对抓取尝试的所存储的附加图像级联以生成训练样本的级联图像。级联图像包括针对实例的所存储的图像和所存储的附加图像两者。例如,在两个图像都包括X乘Y个像素和三个通道(例如,红色、蓝色、绿色)的情况下,级联图像可以包括X乘Y个像素和六个通道(每个图像各三个)。如本文中所描述的,当前图像、附加图像以及从训练样本的抓取尝试的当前姿态到最终姿态的矢量可以被用作训练样本输入;并且抓取成功标签和/或被抓取物体标签可以被用作训练样本输出。
在一些实施方式中,在框462处系统可以可选地处理图像。例如,系统可以可选地调整图像的大小以适合一个或多个网络的输入层的定义大小,从图像中移除一个或多个通道,和/或使深度通道的值归一化(在图像包括深度通道的实施方式中)。
在框464处,系统确定所选择的实例是否是抓取尝试的最终实例。如果系统确定所选择的实例不是抓取尝试的最终实例,则系统返回到框458并选择另一实例。
如果系统确定所选择的实例是抓取尝试的最终实例,则系统进行到框466并且确定是否存在附加抓取尝试要处理。如果系统确定存在附加抓取尝试要处理,则系统返回到框454并且选择另一抓取尝试。在一些实施方式中,确定是否存在附加抓取尝试要处理可以包括确定是否存在任何剩余的未处理的抓取尝试。在一些实施方式中,确定是否存在附加抓取尝试要处理可以附加地和/或替选地包括确定是否已经生成阈值数目的训练样本和/或是否已经满足其它准则。
如果系统确定没有附加抓取尝试要处理,则系统进行到框466并且方法400结束。可以再次执行方法400的另一次迭代。例如,可以响应于至少阈值数目的附加抓取尝试被执行而再次执行方法400。
尽管在本文中为了清楚起见在单独的附图中图示方法300和方法400,然而应理解的是,方法400的一个或多个框可以由执行方法300的一个或多个框的相同组件来执行。例如,方法300和方法400的框中的一个或多个(例如,全部)可以由机器人的处理器执行。另外,应理解的是,可以与方法300的一个或多个框相结合地或者在方法300的一个或多个框之前或之后执行方法400的一个或多个框。
图5是图示基于训练样本来训练语义抓取模型的一个或多个网络的示例方法500的流程图。为了方便,参考执行操作的系统对流程图的操作进行描述。此系统可以包括计算机系统的一个或多个组件,诸如在语义抓取模型124的网络125、126和127上操作的训练引擎120和/或其它计算机系统的处理器(例如,GPU)。此外,虽然以特定顺序示出方法500的操作,但是这不意在为限制性的。可以重新排序、省略或者添加一个或多个操作。
在框552处,系统开始训练。在框554处,系统选择训练样本。例如,系统可以选择基于图4的方法400而生成的训练样本。
在框556处,系统将训练样本的实例的图像和所选择的训练样本的附加图像应用于抓取CNN的初始层。例如,系统可以将图像应用于抓取CNN的初始卷积层。如本文中所描述的,附加图像可以至少部分地省略末端执行器。在一些实施方式中,系统级联图像和附加图像并且将级联图像应用于初始层。在一些其它实施方式中,已经在训练样本中级联图像和附加图像。
在框558处,系统将所选择的训练样本的末端执行器运动矢量应用于抓取CNN的附加层。例如,在框556处系统可以将末端执行器运动矢量应用于抓取CNN的在图像被应用于的初始层下游的附加层。在一些实施方式中,为了将末端执行器运动矢量应用于附加层,系统通过完全连接层来传递末端执行器运动矢量以生成末端执行器运动矢量输出,并且将末端执行器运动矢量输出与来自抓取CNN的紧接上游层的输出级联。紧接上游层紧接在末端执行器运动矢量被应用于的附加层上游并且可以可选地是在框556处图像被应用于的在初始层下游的一个或多个层。在一些实施方式中,初始层是卷积层,紧接上游层是池化层,并且附加层是卷积层。
在框560处,系统基于训练样本的抓取成功标签对抓取CNN的一个或多个层执行反向传播。例如,系统可以基于框558的应用在抓取CNN上生成成功抓取的预测量度,基于成功抓取的预测量度与训练样本的抓取成功标签的比较来确定误差,并且通过抓取CNN的一个或多个层来反向传播该误差。
现在对框562、564和566进行描述。那些框在图5中用虚线指示,因为可能不在方法500的所有迭代中执行它们。例如,在方法500的一些迭代中仅抓取CNN可以被训练并且可以基于框554、556、558和560的执行(在不执行框562、564、566的情况下)在那些迭代中被训练。例如,在框554处选择的一些训练样本可以不包括被抓取物体标签,并且结果,可以在没有基于那些训练样本执行框562、564和566的情况下基于那些训练样本执行抓取CNN的训练。
在框562处,系统将训练样本的图像和STN参数应用于STN以生成图像的空间变换。STN参数是由系统基于框558的应用在抓取CNN上生成的。例如,基于框558的应用,可以生成成功抓取的预测量度和STN参数两者。
在框564处,系统将在框562处生成的空间变换应用于语义CNN。
在框566处,系统基于训练样本的被抓取物体标签来执行语义CNN和/或STN的反向传播。例如,系统可以基于框564的应用在语义CNN上生成存在于空间变换图像中的物体的预测语义物体特征,基于预测语义物体特征和训练样本的被抓取物体标签的比较来确定误差,并且通过语义CNN的一个或多个层来反向传播误差。在一些实施方式中,可以进一步通过抓取CNN的STN参数层(但是可选地不通过抓取CNN的任何其它层)来反向传播误差。STN和/或STN参数层的反向传播可以在训练期间的多个迭代上使得STN参数和/或STN能够适于使得要生成的针对定位/区域的空间变换图像被抓取。
在框568处,系统确定是否存在附加训练样本。如果系统确定存在附加训练样本,则系统返回到框554并且选择另一训练样本。在一些实施方式中,确定是否存在附加训练样本可以包括确定是否存在尚未被利用来训练语义抓取模型的一个或多个网络的任何剩余的训练样本。在一些实施方式中,确定是否存在附加训练样本可以附加地和/或替选地包括确定是否已经利用阈值数目的训练样本和/或是否已经满足其它准则。
如果系统确定不存在附加训练样本和/或已经满足某个其它准则,则系统进行到框570或框572。
在框572处,语义抓取模型的训练可以结束。然后可以提供语义抓取模型以供由一个或多个机器人在伺服抓取末端执行器时使用来实现由抓取末端执行器对物体的成功抓取。例如,机器人可以在执行图7的方法700时利用语义抓取模型。
在框572处,系统可以附加地和/或替选地提供经训练的抓取CNN基于经训练的抓取CNN来生成附加训练样本。例如,一个或多个机器人可以在执行抓取尝试时利用经训练的抓取CNN并且来自那些抓取尝试的数据被利用来生成附加训练样本。例如,一个或多个机器人可以在基于图7的方法700的一些框执行抓取尝试时利用经训练的抓取CNN以及来自那些抓取尝试的数据被利用来基于图4的方法400生成附加训练样本。其数据被利用来生成附加训练样本的机器人可以是实验室/训练设置中的机器人和/或由一个或多个消费者实际使用的机器人。
在框574处,系统可以基于响应于在框572处提供经训练的抓取CNN而生成的附加训练样本来执行语义抓取模型的一个或多个网络的进一步训练。例如,系统可以基于附加训练样本执行框554、556、558和560(以及可选地执行框562、564和566)的附加迭代。
如通过从框574延伸到框572的箭头所指示的,可以在框572处再次提供经更新的抓取CNN来生成另外的训练样本并且那些训练样本在框574处被利用以进一步训练语义抓取模型的一个或多个网络。在一些实施方式中,与框572的将来迭代关联地执行的抓取尝试可以是比在更早迭代中执行的那些抓取尝试和/或在不利用训练的抓取CNN的情况下执行的抓取尝试在时间上更长的抓取尝试。例如,在不利用训练的抓取CNN的情况下执行的图3的方法300的实施方式可以具有在时间上最短的抓取尝试,利用最初训练的抓取CNN执行的那些可以具有在时间上更长的抓取尝试,利用训练的抓取CNN的下一次迭代执行的那些具有进一步在时间上更长的抓取尝试等。这可以可选地经由方法300的可选实例计数器和/或时间计数器来实现。
图6A和图6B图示各个实施方式的抓取CNN 600的示例架构。图6A和图6B的抓取CNN600是可以基于图5的方法500训练的抓取CNN的示例。图6A和图6B的抓取CNN 600还是一旦被训练就可以在基于图7的方法700来伺服抓取末端执行器时利用的抓取CNN的示例。一般地,卷积神经网络是包括输入层、一个或多个卷积层、可选的权重和/或其它层、以及输出层的多层学习框架。在训练期间,卷积神经网络被训练以学习特征表示的层次结构。网络的卷积层用滤波器进行卷积并且可选地通过池化层进行下采样。一般地,池化层通过诸如最大、最小和/或归一化采样的一个或多个下采样函数来在更小区域中聚合值。
抓取CNN 600包括作为卷积层的初始输入层663。在一些实施方式中,初始输入层663是具有步幅2和64个滤波器的6×6卷积层。在图6A中还图示了具有末端执行器的图像661A和没有末端执行器的图像661B。图像661A和661B被进一步图示为被级联(通过从每个图像延伸的合并线来表示)并且级联图像被馈送到初始输入层663。在一些实施方式中,图像661A和661B可以各自是472个像素乘472个像素乘3个通道(例如,可以从深度通道、第一颜色通道、第二颜色通道、第三颜色通道中选择3个通道)。因此,级联图像可以是472个像素乘472个像素乘6个通道。可以使用其它大小,诸如不同的像素大小或更多或更少的通道。图像661A和661B被卷积到初始输入层663。抓取CNN 600的初始输入层和其它层的特征的权重是在基于多个训练样本来训练抓取CNN 600期间学习到的。
初始输入层663后面是最大池化层664。在一些实施方式中,最大池化层664是具有64个滤波器的3×3最大池化层。最大池化层664后面是六个卷积层,其中的两个在图6A中通过665和666来表示。在一些实施方式中,六个卷积层各自是具有64个滤波器的5×5卷积层。卷积层666后面是最大池层667。在一些实施方式中,最大池化层667是具有64个滤波器的3×3最大池化层。
在图6A中还图示了末端执行器运动矢量662。末端执行器运动矢量662与最大池化层667的输出级联(如通过图6A的“+”所指示的)并且级联输出被应用于卷积层670(图6B)。在一些实施方式中,将末端执行器运动矢量662与最大池化层667的输出级联包括由完全连接层668处理末端执行器运动矢量662,所述完全连接层668的输出然后通过经由平铺矢量669在空间维度上平铺输出被逐点加到最大池化层667的响应图中的每个点。换句话说,末端执行器运动矢量662通过完全连接层668来传递并且经由平铺矢量669在最大池化层667的响应图的空间维度上复制。
现在转向图6B,末端执行器运动矢量662和最大池化层667的输出的级联被提供给卷积层670,其后面是多于五个的卷积层(那五个卷积层中的最后的卷积层671被图示在图6B中,但是中间四个未被图示)。在一些实施方式中,卷积层670和671以及四个中间卷积层各自是具有64个滤波器的3×3卷积层。
卷积层671后面是最大池化层672。在一些实施方式中,最大池化层672是具有64个滤波器的2×2最大池化层。最大池化层672后面是三个卷积层,其中的两个在图6A中通过673和674来表示。
抓取CNN 600的最终卷积层674完全连接到第一完全连接层675,所述第一完全连接层675进而完全连接到第二完全连接层676。完全连接层675和676可以是矢量,诸如大小64的矢量。第二完全连接层676的输出被利用来生成成功抓取的量度677。例如,可以利用sigmoid来生成并输出量度677。
第二完全连接层676的输出也被利用来生成STN参数678。例如,可以利用sigmoid来生成并输出STN参数678。在一些实施方式中,单独的完全连接层可以完全连接到最终卷积层674并且那些完全连接层可以是被利用来生成STN参数678的STN层(同时单独的完全连接层675和676被单独地利用来生成成功抓取的量度677)。
图6C图示空间变换器网络126和语义卷积神经网络127、可以被应用于这些网络的示例输入、以及可以在这些网络上生成的示例输出。尽管未明确图示,然而应理解的是,在许多实施方式中STN 126和语义CNN 127将各自具有多个层,诸如卷积层、池化层和/或其它层。
在图6C中,基于图6A和图6B的抓取CNN 600而生成的STN参数678被作为输入应用于STN 126。另外,具有末端执行器的图像661A也被作为输入应用于STN 126。空间变换679是基于所应用的STN参数678和图像661A在STN 126上生成的。
空间变换679被作为输入应用于语义CNN 127。语义特征680是以基于变换图像679的应用在语义CNN 127上生成的输出为基础而生成的。例如,语义CNN 127的输出可以是具有N个值的矢量,其中每个值指示经变换的图像679的物体是否具有与值相对应的分类。
在训练抓取CNN 600、STN 126和/或语义CNN 127的一些实施方式中,可以利用回合(epoch)、学习速率、权重衰减、丢弃(dropout)概率和/或其它参数的各个值。在一些实施方式中,一个或多个GPU可以被用于训练和/或利用抓取CNN 600、STN 126和/或语义CNN127。尽管在图6A、图6B和图6C中图示了抓取CNN 600、STN 126和语义CNN 127的特定架构和布置,然而变型是可能的。例如,可以在抓取CNN 600中提供更多或更少的卷积层,抓取CNN600的一个或多个层可以具有与作为示例提供的那些不同的大小等。
一旦根据本文中描述的技术来训练语义抓取模型,就可以利用它来伺服抓取末端执行器。参考图7,图示了图示利用语义抓取模型来伺服抓取末端执行器的示例方法700的流程图。为了方便,参考执行操作的系统对流程图的操作进行描述。此系统可以包括机器人的一个或多个组件,诸如机器人180A、180B、825和/或其它机器人的处理器(例如,CPU和/或GPU)和/或机器人控制系统。在实现方法700的一个或多个框时,系统可以在训练的语义抓取模型上操作,所述训练的语义抓取模型可以例如被在本地存储在机器人处和/或可以被远离机器人存储。此外,虽然以特定顺序示出方法700的操作,但是这不意在为限制性的。可以重新排序、省略或者添加一个或多个操作。
在框752处,系统生成候选末端执行器运动矢量。取决于要在另外的框中利用的经训练的CNN的输入参数,可以在任务空间、关节空间或其它空间中定义候选末端执行器运动矢量。
在一些实施方式中,系统生成在给定空间内随机的候选末端执行器运动矢量,所述给定空间诸如可由末端执行器触达的工作空间、对于抓取尝试来说末端执行器被局限在内部的受限空间和/或通过控制末端执行器的姿态的致动器的位置和/或扭矩极限所定义的空间。
在一些实施方式中系统可以利用一个或多个技术来对一组候选末端执行器运动矢量进行采样并且从被采样组中选择子组。例如,系统可以利用优化技术,诸如交叉熵方法(CEM)。CEM是无导数(derivative-free)优化算法,在每次迭代时对一批N个值进行采样、将高斯分布拟合到这些样本中的M<N个并且然后根据此高斯对新的一批N个值进行采样。例如,系统可以利用CEM和M=64且N=6的值,并且执行CEM的三次迭代以确定最佳可用的(根据CEM)候选末端执行器运动矢量。
在一些实施方式中,可以对可在框752处生成的候选末端执行器运动矢量施加一个或多个约束。例如,可以基于约束来约束通过CEM或其它技术评估的候选末端执行器运动。约束的一个示例是对可以尝试抓取的区域施加约束的计算机生成的和/或人类输入的约束(例如,经由计算机系统的用户接口输入设备)、对可以尝试抓取的特定物体特征的约束等。然而约束的其它示例包括例如基于机器人的工作空间、机器人的关节极限、机器人的扭矩极限的约束、由碰撞避免系统提供并且限制机器人的运动以防止与一个或多个物体碰撞的约束等。
在框754处,系统识别捕获末端执行器和一个或多个环境物体的当前图像。在一些实施方式中,系统也识别至少部分地省略末端执行器的附加图像,诸如当末端执行器至少部分地离开视觉传感器的视图时由视觉传感器捕获的环境物体的附加图像。在一些实施方式中,系统级联图像和附加图像以生成级联图像。在一些实施方式中,系统可选地执行图像和/或级联图像的处理(例如,以调整大小到抓取CNN的输入)。
在框756处,系统将当前图像和候选末端执行器运动矢量应用于训练的抓取CNN。例如,系统可以将包括当前图像和附加图像的级联图像应用于经训练的抓取CNN的初始层。系统也可以将候选末端执行器运动矢量应用于经训练的抓取CNN的在初始层下游的附加层。在一些实施方式中,在将候选末端执行器运动矢量应用于附加层时,系统通过抓取CNN的完全连接层来传递末端执行器运动矢量以生成末端执行器运动矢量输出并且将该末端执行器运动矢量输出与抓取CNN的上游输出级联。上游输出来自抓取CNN的紧接上游层,其紧接在附加层上游并且在初始层下游且在抓取CNN的一个或多个中间层下游。
在框758处,系统在经训练的抓取CNN上生成成功抓取的量度和STN参数。量度和STN参数是基于在框756处将当前图像(以及可选地将附加图像)和候选末端执行器运动矢量应用于经训练的抓取CNN并且基于经训练的抓取CNN的所学习的权重确定量度和STN参数来生成的。
在框760处,系统在STN上基于框758的STN参数生成框754的当前图像的空间变换。
在框762处,系统在语义CNN上基于框760的空间变换生成语义特征。
在框764处,系统基于框758的成功抓取的量度和框762的语义特征来生成末端执行器命令。一般地,在框764处,系统生成试图(通过方法700的一个或多个迭代)实现针对具有期望的物体语义特征的物体的成功抓取的末端执行器命令。所期望的物体语义特征可以基于例如提供给系统的用户接口输入和/或来自一个或多个单独的组件的输入。作为一个示例,如果框758的成功抓取的量度满足指示成功抓取的阈值并且框762的语义特征指示所期望的语义物体特征,则末端执行器命令可以生成与框752的末端执行器运动矢量相对应的末端执行器命令(然后可选地执行抓取)。
在一些实施方式中在方法700的给定迭代中考虑多个候选末端执行器运动矢量并且针对候选末端执行器运动矢量中的每一个(全部基于相同的当前图像)确定成功抓取的量度和语义特征。在那些实施方式中的一些中,在框764处系统确定具有以最高程度指示成功的成功抓取的确定的对应量度并且具有符合所期望的语义物体特征的确定的对应语义特征的末端执行器运动矢量,并且生成与该末端执行器运动矢量相对应的末端执行器命令。
作为那些实施方式的一个示例,系统可以在框752处生成一个或多个附加候选末端执行器运动矢量,并且生成:在框758的附加迭代时针对那些附加候选末端执行器运动矢量的成功抓取的量度(基于将当前图像和附加候选末端执行器运动矢量应用于抓取CNN);以及在框762的附加迭代时针对那些附加候选末端执行器运动矢量的语义特征。框758和762的附加迭代可以可选地由系统并行地执行。在那些实施方式中的一些中,系统可以在框764处基于对所有生成的成功抓取的量度和对应的语义特征的分析来生成末端执行器命令。例如,系统可以生成末端执行器命令以完全或者基本上符合具有以下的候选末端执行器运动矢量:以最高程度指示成功抓取的成功抓取的量度;以及与所期望的物体语义特征匹配的对应的语义特征。例如,系统的机器人的控制系统可以生成运动命令以致动机器人的一个或多个致动器以基于末端执行器运动矢量来移动末端执行器。
在框764的一些迭代中,如果没有利用候选末端执行器运动矢量来生成新的运动命令,则系统附加地和/或替选地基于成功抓取的当前量度和当前语义特征生成末端执行器命令。例如,如果成功抓取的当前量度与在框758处确定的成功抓取的量度的一个或多个比较未能满足阈值,并且当前语义特征指示所期望的物体语义特征,则末端执行器运动命令可以是使得末端执行器尝试抓取的“抓取命令”(例如,使冲击式抓取末端执行器的指闭合)。例如,如果成功抓取的当前量度除以最高程度指示成功抓取的针对候选末端执行器运动矢量在框758处确定的成功抓取的量度的结果大于或等于第一阈值(例如,0.9),则末端执行器命令可以是抓取命令(在如果使抓爪闭合与移动它一样几乎很可能产生成功抓取则早停止抓取的基本原理下)。另外,例如,如果结果小于或等于第二阈值(例如,0.5),则末端执行器命令可以是实现轨迹校正(例如,将抓取末端执行器“向上”提升至少X米)的运动命令(在抓取末端执行器最可能未被定位在良好配置中并且需要相对大的运动的基本原理下)。另外,例如,如果结果介于第一阈值与第二阈值之间,则可以生成运动命令,其基本上或者完全符合具有以最大程度指示成功抓取的在块758处确定的成功抓取的量度的候选末端执行器运动矢量并且也包括与所期望的物体语义特征相对应的对应的语义特征。由系统生成的末端执行器命令可以是一个或多个命令的单个组或一个或多个命令组的序列。
在没有利用候选末端执行器运动矢量来生成新的运动命令的情况下,成功抓取的量度可以基于在方法700的前一次迭代中利用的候选末端执行器运动矢量的量度和/或基于在框758的附加迭代时将“空”运动矢量和当前图像(以及可选地附加图像)应用于经训练的抓取CNN,并且基于框758的附加迭代来生成该量度。
在框762处,系统确定末端执行器命令是否是抓取命令。如果系统在框762处确定末端执行器命令是抓取命令,则系统进行到框764并且实现该抓取命令。在一些实施方式中,系统可以可选地确定抓取命令是否导致成功抓取(例如,使用本文中描述的技术),并且如果不成功,则系统可以可选地调整末端执行器的姿态并返回到框752。即使在抓取成功的情况下,系统也可以在稍后的时间返回到框752以抓取另一物体。
如果系统在框762处确定末端执行器命令不是抓取命令(例如,它是运动命令),则系统进行到框766并实现该末端执行器命令,然后返回到框752,其中它生成另一候选末端执行器运动矢量。例如,在框766处系统可以实现末端执行器运动命令,其基本上或者完全符合具有以最高程度指示成功抓取的抓取量度的末端执行器运动矢量并且也包括符合所期望的物体语义特征的语义特征。
在许多实施方式中,可以以相对高的频率执行方法700的框,从而使得能实现末端执行器命令的迭代更新并且使得能够沿着由经训练的CNN通知的轨迹伺服末端执行器以导致具有所期望的物体特征的物体的成功抓取的相对高的概率。
图8示意性地描绘机器人825的示例架构。机器人825包括机器人控制系统860、一个或多个操作组件825a-825n以及一个或多个传感器842a-842m。传感器842a-842m可以包括例如视觉传感器、光传感器、压力传感器、压力波传感器(例如,麦克风)、接近传感器、加速度计、陀螺仪、温度计、气压计等。虽然传感器842a-m被描绘为与机器人825成一体,但是这不意在为限制性的。在一些实施方式中,传感器842a-m可以位于机器人825外部,例如,作为独立单元。
操作组件825a-825n可以包括例如一个或多个末端执行器和/或一个或多个伺服电机或其它致动器以实现机器人的一个或多个组件的移动。例如,机器人825可以具有多个自由度并且这些致动器中的每一个均可以响应于控制命令而在一个或多个自由度内控制机器人825的致动。如本文中所使用的,术语致动器除了包含可与致动器相关联并且将接收到的控制命令转换成用于驱动致动器的一个或多个信号的任何驱动器之外,还包含产生运动的机械或电气设备(例如,电机)。因此,向致动器提供控制命令可以包括将该控制命令提供给将该控制命令转换成用于驱动电气或机械设备以产生期望的运动的适当信号的驱动器。
机器人控制系统860可以用一个或多个处理器(诸如机器人825的CPU、GPU和/或其它控制器)加以实现。在一些实施方式中,机器人825可以包括可以包含控制系统860的全部或多个方面的“脑盒”。例如,脑盒可以向操作组件825a-n提供数据的实时突发,其中实时突发中的每一个均包括一组一个或多个控制命令,其除其他以外规定用于一个或多个操作组件825a-n中的每一个的运动参数(若有的话)。在一些实施方式中,机器人控制系统860可以执行本文中描述的方法300、400、500和/或700的一个或多个方面。
如本文中所描述的,在一些实施方式中由控制系统860在定位末端执行器以抓取物体时生成的控制命令的全部或多个方面可以以基于对语义抓取模型的利用而生成的末端执行器命令为基础。例如,传感器842a-m的视觉传感器可以捕获当前图像和附加图像,并且机器人控制系统860可以生成候选运动矢量。机器人控制系统860可以将当前图像、附加图像和候选运动矢量提供给训练的语义抓取模型并且利用成功抓取的量度和基于应用而生成的语义特征来生成一个或多个末端执行器控制命令以用于控制机器人的末端执行器的移动和/或抓取。尽管控制系统860在图8中被图示为机器人825的整体部分,然而在一些实施方式中,可以将控制系统860的全部或多个方面实现在与机器人825分离但是与机器人825通信的组件中。例如,可以将控制系统860的全部或多个方面实现在与机器人825进行有线和/或无线通信的一个或多个计算设备(诸如计算设备910)上。
图9是可以任选地被利用来执行本文中描述的技术的一个或多个方面的示例计算设备910的框图。例如,在一些实施方式中可以利用计算设备910来提供期望的物体语义特征以供由机器人825和/或其它机器人抓取。计算设备910通常包括经由总线子系统912与多个外围设备进行通信的至少一个处理器914。这些外围设备可以包括存储子系统924——包括例如存储器子系统925和文件存储子系统926、用户接口输出设备920、用户接口输入设备922和网络接口子系统916。输入和输出设备允许用户与计算设备910交互。网络接口子系统916提供到外部网络的接口并且耦合到其它计算设备中的对应的接口设备。
用户接口输入设备922可以包括键盘、诸如鼠标、轨迹球、触摸板的指示设备或图形平板、扫描器、并入到显示器中的触摸屏、诸如语音辨识系统的音频输入设备、麦克风、和/或其它类型的输入设备。一般而言,术语“输入设备”的使用旨在包括所有可能类型的设备以及将信息输入到计算设备910中或者到通信网络上的方式。
用户接口输出设备920可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备、或用于产生可见图像的某种其它机制。显示子系统也可以例如经由音频输出设备提供非可视显示。一般而言,术语“输出设备”的使用旨在包括所有可能类型的设备以及将信息从计算设备910输出到用户或者到另一机器或计算设备的方式。
存储子系统924存储提供本文中描述的模块中的一些或全部的功能性的编程和数据构造。例如,存储子系统924可以包括执行图3、图4、图5和/或图7的方法的所选方面的逻辑。
这些软件模块一般地由处理器914单独或者与其它处理器相结合地执行。存储子系统924中使用的存储器925可包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)930和存储有固定指令的只读存储器(ROM)932。文件存储子系统926可为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实施方式的功能性的模块可以由文件存储子系统926存储在存储子系统924中,或者存储在可由处理器914访问的其它机器中。
总线子系统912提供用于让计算设备910的各个组件和子系统依意图彼此通信的机制。尽管总线子系统912被示意性地示出为单条总线,然而总线子系统的替选实施方式可以使用多条总线。
计算设备910可具有各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群,或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图9中描绘的计算设备910的描述仅旨在作为用于图示一些实施方式的目的的具体示例。计算设备910的许多其它配置可能具有比图9中描绘的计算设备更多或更少的组件。
虽然已经在本文中描述并图示了若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文中描述的优点中的一个或多个的各种其它手段和/或结构,并且这样的变化和/或修改中的每一个均被视为在本文中描述的实施方式的范围内。更一般地,本文中描述的所有参数、尺寸、材料和配置意在为示例性的,并且实际的参数、尺寸、材料和/或配置将取决于教导被用于的一个或多个具体应用。本领域的技术人员将认识到或者能够使用例行实验范围内来探知本文中描述的具体实施方式的许多等同物。因此应当理解的是,上述实施方式仅作为示例被呈现并且在所附权利要求书及其等同物的范围内,可以以不同于如具体地描述和要求保护的方式实践实施方式。本公开的实施方式涉及本文中描述的每个单独的特征、系统、制品、材料、套件和/或方法。此外,如果这样的特征、系统、制品、材料、套件和/或方法不相互矛盾,则两个或更多个这样的特征、系统、制品、材料、套件和/或方法的任何组合被包括在本公开的范围内。

Claims (10)

1.一种由一个或多个处理器实现的方法,包括:
识别抓取尝试的期望的物体语义特征;
生成候选末端执行器运动矢量,所述候选末端执行器运动矢量定义将机器人的抓取末端执行器从当前姿态移动到附加姿态的运动;
识别由与所述机器人相关联的视觉传感器捕获的当前图像,所述当前图像捕获所述抓取末端执行器和所述机器人的环境中的物体;
将所述当前图像和所述候选末端执行器运动矢量作为输入应用于训练的语义抓取模型;
基于对所述当前图像和所述候选末端执行器运动矢量的处理,使用所述训练的语义抓取模型来生成:
在应用所述运动的情况下对所述物体的成功抓取的量度;
指示所述物体是否具有所述期望的物体语义特征的附加量度;
基于确定所述成功抓取的量度满足一个或多个准则并且所述附加量度指示所述物体具有所述期望的物体语义特征,生成抓取命令;以及
将所述抓取命令提供给所述机器人的一个或多个致动器以使所述末端执行器尝试所述物体的抓取。
2.根据权利要求1所述的方法,其中,所述期望的物体语义特征定义物体分类。
3.根据权利要求1所述的方法,进一步包括:
从用户接口输入设备接收用户接口输入;
其中,识别所述期望的物体语义特征是基于所述用户接口输入。
4.一种机器人,包括:
视觉传感器,所述视觉传感器查看所述机器人的环境;
末端执行器;
致动器,所述致动器控制所述末端执行器的姿态;
用户接口输入设备;
一个或多个深度神经网络,所述一个或多个深度神经网络存储在一个或多个非暂时性计算机可读介质中;
至少一个处理器,所述至少一个处理器被配置成:
经由所述用户接口输入设备接收用户的用户接口输入;
基于所述用户接口输入来识别抓取尝试的期望的物体语义特征;
生成候选末端执行器运动矢量,所述候选末端执行器运动矢量定义将机器人的抓取末端执行器从当前姿态移动到附加姿态的运动;
识别由所述视觉传感器捕获的当前图像,所述当前图像捕获所述机器人的环境中的物体;
基于使用所述一个或多个深度神经网络对所述候选末端执行器和所述当前图像的处理来生成输出;
基于所述输出来确定:
所述物体具有所述用户接口输入所指示的所述期望的物体语义特征;以及
在应用所述运动的情况下对所述物体的成功抓取的量度满足一个或多个准则;
响应于确定所述物体具有所述期望的物体语义特征并且所述成功抓取的量度满足所述一个或多个准则:
提供基于所述候选末端执行器运动矢量的末端执行器命令以使所述一个或多个致动器调整所述末端执行器的姿态。
5.根据权利要求4所述的机器人,其中,所述用户接口输入设备包括麦克风,并且其中,所述用户接口输入是口头的输入。
6.根据权利要求4所述的机器人,其中,所述期望的物体语义特征定义物体分类。
7.根据权利要求4所述的机器人,其中,所述末端执行器命令是抓取命令。
8.根据权利要求4所述的机器人,其中,在所述处理中,所述图像被应用于所述一个或多个深度神经网络的第一部分,并且所述候选末端执行器运动矢量被应用于所述一个或多个深度神经网络的分立部分。
9.根据权利要求4所述的机器人,其中,所述末端执行器是收缩式末端执行器。
10.根据权利要求4所述的机器人,其中,所述末端执行器是冲击式末端执行器。
CN202010527977.4A 2016-03-03 2017-03-02 用于机器人抓取的深度机器学习方法和装置 Pending CN111832702A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662303139P 2016-03-03 2016-03-03
US62/303,139 2016-03-03
US201662422549P 2016-11-15 2016-11-15
US62/422,549 2016-11-15
CN201780018883.0A CN108885715B (zh) 2016-03-03 2017-03-02 用于机器人抓取的深度机器学习方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780018883.0A Division CN108885715B (zh) 2016-03-03 2017-03-02 用于机器人抓取的深度机器学习方法和装置

Publications (1)

Publication Number Publication Date
CN111832702A true CN111832702A (zh) 2020-10-27

Family

ID=59722666

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010527977.4A Pending CN111832702A (zh) 2016-03-03 2017-03-02 用于机器人抓取的深度机器学习方法和装置
CN201780018883.0A Active CN108885715B (zh) 2016-03-03 2017-03-02 用于机器人抓取的深度机器学习方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201780018883.0A Active CN108885715B (zh) 2016-03-03 2017-03-02 用于机器人抓取的深度机器学习方法和装置

Country Status (6)

Country Link
US (3) US9914213B2 (zh)
EP (1) EP3414710B1 (zh)
JP (1) JP6586243B2 (zh)
KR (1) KR102023149B1 (zh)
CN (2) CN111832702A (zh)
WO (1) WO2017151926A1 (zh)

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
US10055667B2 (en) 2016-08-03 2018-08-21 X Development Llc Generating a model for an object encountered by a robot
US11157795B2 (en) * 2017-03-13 2021-10-26 International Business Machines Corporation Graph partitioning and placement for multi-chip neurosynaptic networks
US10562181B2 (en) * 2017-07-03 2020-02-18 X Development Llc Determining and utilizing corrections to robot actions
US11106967B2 (en) 2017-07-03 2021-08-31 X Development Llc Update of local features model based on correction to robot action
CA3073516A1 (en) * 2017-09-01 2019-03-07 The Regents Of The University Of California Robotic systems and methods for robustly grasping and targeting objects
US10354139B1 (en) 2017-09-07 2019-07-16 X Development Llc Generating and utilizing spatial affordances for an object in robotics applications
JP6608890B2 (ja) * 2017-09-12 2019-11-20 ファナック株式会社 機械学習装置、ロボットシステム及び機械学習方法
US10773382B2 (en) * 2017-09-15 2020-09-15 X Development Llc Machine learning methods and apparatus for robotic manipulation and that utilize multi-task domain adaptation
EP3684699A4 (en) * 2017-09-20 2021-06-16 Magna International Inc. SYSTEM AND PROCESS FOR SAMPLING IN ADAPTIVE BIN FOR MANUFACTURING
JP6595555B2 (ja) * 2017-10-23 2019-10-23 ファナック株式会社 仕分けシステム
US10899011B2 (en) * 2018-11-14 2021-01-26 Fetch Robotics, Inc. Method and system for selecting a preferred robotic grasp of an object-of-interest using pairwise ranking
JP6676030B2 (ja) * 2017-11-20 2020-04-08 株式会社安川電機 把持システム、学習装置、把持方法、及び、モデルの製造方法
US10572775B2 (en) 2017-12-05 2020-02-25 X Development Llc Learning and applying empirical knowledge of environments by robots
JP7122821B2 (ja) * 2017-12-15 2022-08-22 川崎重工業株式会社 ロボットシステム及びロボット制御方法
JP7136554B2 (ja) * 2017-12-18 2022-09-13 国立大学法人信州大学 把持装置、学習装置、プログラム、把持システム、及び学習方法
US10754318B2 (en) * 2017-12-21 2020-08-25 X Development Llc Robot interaction with objects based on semantic information associated with embedding spaces
CN108038107B (zh) * 2017-12-22 2021-06-25 东软集团股份有限公司 基于卷积神经网络的语句情感分类方法、装置及其设备
US11017317B2 (en) * 2017-12-27 2021-05-25 X Development Llc Evaluating robot learning
US11475291B2 (en) * 2017-12-27 2022-10-18 X Development Llc Sharing learned information among robots
US11097418B2 (en) 2018-01-04 2021-08-24 X Development Llc Grasping of an object by a robot based on grasp strategy determined using machine learning model(s)
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
TWI822729B (zh) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
JP6933167B2 (ja) * 2018-03-14 2021-09-08 オムロン株式会社 ロボットの制御装置
US11738457B2 (en) * 2018-03-21 2023-08-29 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
US10766149B2 (en) 2018-03-23 2020-09-08 Amazon Technologies, Inc. Optimization-based spring lattice deformation model for soft materials
US11086299B2 (en) * 2018-03-26 2021-08-10 Hrl Laboratories, Llc System and method for estimating uncertainty of the decisions made by a supervised machine learner
SE543130C2 (en) 2018-04-22 2020-10-13 Zenrobotics Oy A waste sorting robot gripper
US11584016B2 (en) 2018-04-24 2023-02-21 Fanuc Corporation Robot controller and system
US10967507B2 (en) * 2018-05-02 2021-04-06 X Development Llc Positioning a robot sensor for object classification
SE544741C2 (en) 2018-05-11 2022-11-01 Genie Ind Bv Waste Sorting Gantry Robot and associated method
JP7057214B2 (ja) * 2018-05-18 2022-04-19 トヨタ自動車株式会社 把持装置、タグが付された容器、対象物把持プログラムおよび対象物把持方法
DE112018007729B4 (de) * 2018-06-14 2022-09-08 Yamaha Hatsudoki Kabushiki Kaisha Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
US11148295B2 (en) * 2018-06-17 2021-10-19 Robotics Materials, Inc. Systems, devices, components, and methods for a compact robotic gripper with palm-mounted sensing, grasping, and computing devices and components
DE102018211044A1 (de) * 2018-07-04 2020-01-09 Kuka Deutschland Gmbh Verfahren und System zum Analysieren und/oder Konfigurieren einer industriellen Anlage
JP7281349B2 (ja) * 2018-08-10 2023-05-25 川崎重工業株式会社 遠隔操作システム
KR102565279B1 (ko) 2018-08-23 2023-08-09 삼성전자주식회사 객체 검출 방법, 객체 검출을 위한 학습 방법 및 그 장치들
EP3620984B1 (en) 2018-09-06 2024-04-10 Accenture Global Solutions Limited Digital quality control using computer visioning with deep learning
US11597084B2 (en) 2018-09-13 2023-03-07 The Charles Stark Draper Laboratory, Inc. Controlling robot torque and velocity based on context
US11325252B2 (en) 2018-09-15 2022-05-10 X Development Llc Action prediction networks for robotic grasping
US10611026B1 (en) * 2018-10-16 2020-04-07 University Of South Florida Systems and methods for learning and generating movement policies for a dynamical system
US11007642B2 (en) * 2018-10-23 2021-05-18 X Development Llc Machine learning methods and apparatus for automated robotic placement of secured object in appropriate location
JP7205752B2 (ja) * 2018-11-09 2023-01-17 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
EP3653348A1 (en) * 2018-11-19 2020-05-20 Tata Consultancy Services Limited System and method for intelligent 3d imaging guided robotic gripper
US11584020B2 (en) * 2018-12-04 2023-02-21 Cloudminds Robotics Co., Ltd. Human augmented cloud-based robotics intelligence framework and associated methods
CN111275063B (zh) * 2018-12-04 2023-06-09 深圳市中科德睿智能科技有限公司 一种基于3d视觉的机器人智能抓取控制方法及系统
JP7044047B2 (ja) * 2018-12-14 2022-03-30 トヨタ自動車株式会社 ロボット
KR102145863B1 (ko) * 2018-12-17 2020-08-19 전자부품연구원 다중 이종 장치의 학습 방법, 이를 이용한 엣지 서버 및 시스템
EP3670106B1 (en) * 2018-12-18 2024-05-15 Siemens Aktiengesellschaft Task-specific robot grasping system and method
CN109702741B (zh) * 2018-12-26 2020-12-18 中国科学院电子学研究所 基于自监督学习神经网络的机械臂视觉抓取系统及方法
WO2020142495A1 (en) * 2018-12-31 2020-07-09 Abb Schweiz Ag Multiple robot and/or positioner object learning system and method
US11594090B2 (en) * 2019-01-03 2023-02-28 Lucomm Technologies, Inc. Robotic post
CN109807887B (zh) * 2019-01-18 2020-09-15 上海交通大学 基于深度神经网络的柔性臂智能感知与控制方法和系统
CN109531584A (zh) * 2019-01-31 2019-03-29 北京无线电测量研究所 一种基于深度学习的机械臂控制方法和装置
KR102178013B1 (ko) * 2019-02-08 2020-11-12 한양대학교 산학협력단 물체 파지를 위한 훈련 데이터 생성 방법 및 파지 자세 결정 방법
EP3695941B1 (en) 2019-02-15 2022-04-13 Siemens Aktiengesellschaft Computerized system and method using different image views to find grasp locations and trajectories for robotic pick up
EP3930617A1 (en) * 2019-02-28 2022-01-05 Koninklijke Philips N.V. Training data collection for machine learning models
US11170526B2 (en) 2019-03-26 2021-11-09 Samsung Electronics Co., Ltd. Method and apparatus for estimating tool trajectories
US11440183B2 (en) * 2019-03-27 2022-09-13 Abb Schweiz Ag Hybrid machine learning-based systems and methods for training an object picking robot with real and simulated performance data
CN110000785B (zh) * 2019-04-11 2021-12-14 上海交通大学 农业场景无标定机器人运动视觉协同伺服控制方法与设备
CN113905855B (zh) 2019-04-17 2023-08-25 实时机器人有限公司 运动规划图生成用户界面、系统、方法和规则
CN110083160B (zh) * 2019-05-16 2022-04-19 哈尔滨工业大学(深圳) 一种基于深度学习的机器人轨迹规划方法
US12067758B2 (en) * 2019-05-23 2024-08-20 Google Llc Object discovery in images through categorizing object parts
JP7260402B2 (ja) * 2019-05-31 2023-04-18 ファナック株式会社 ケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法
US10576630B1 (en) * 2019-05-31 2020-03-03 Mujin, Inc. Robotic system with a robot arm suction control mechanism and method of operation thereof
CN110302981B (zh) * 2019-06-17 2021-03-23 华侨大学 一种固废分拣在线抓取方法和系统
JP7186349B2 (ja) * 2019-06-27 2022-12-09 パナソニックIpマネジメント株式会社 エンドエフェクタの制御システムおよびエンドエフェクタの制御方法
JP7229115B2 (ja) * 2019-07-09 2023-02-27 株式会社日立製作所 ロボット制御装置及びロボット
US11213953B2 (en) * 2019-07-26 2022-01-04 Google Llc Efficient robot control based on inputs from remote client devices
KR102267514B1 (ko) * 2019-07-29 2021-06-21 한국기계연구원 작업대상물의 피킹 및 플레이스 방법
JP6742040B1 (ja) * 2019-08-28 2020-08-19 株式会社DailyColor ロボット制御装置
EP3998140A4 (en) 2019-08-28 2022-09-28 Daily Color Inc. ROBOT CONTROL DEVICE
US11685045B1 (en) * 2019-09-09 2023-06-27 X Development Llc Asynchronous robotic control using most recently selected robotic action data
DE102019214402A1 (de) * 2019-09-20 2021-03-25 Robert Bosch Gmbh Verfahren und vorrichtung zum verarbeiten von daten mittels eines neuronalen konvolutionsnetzwerks
CN110782038A (zh) * 2019-09-27 2020-02-11 深圳蓝胖子机器人有限公司 自动标记训练样本的方法和系统及监督学习的方法和系统
US11389957B2 (en) * 2019-09-30 2022-07-19 Mitsubishi Electric Research Laboratories, Inc. System and design of derivative-free model learning for robotic systems
US20210125052A1 (en) * 2019-10-24 2021-04-29 Nvidia Corporation Reinforcement learning of tactile grasp policies
US11724401B2 (en) * 2019-11-13 2023-08-15 Nvidia Corporation Grasp determination for an object in clutter
CN110977965B (zh) * 2019-11-26 2023-02-28 中国科学院深圳先进技术研究院 机器人及其控制方法、计算机存储介质
KR102423490B1 (ko) * 2019-11-27 2022-07-21 코가로보틱스 주식회사 로봇의 파지 방법 및 이를 위한 학습 방법
KR102224693B1 (ko) * 2019-11-29 2021-03-08 브이아이씨테크 주식회사 제어 명령에 따른 이동체의 이동결과 추정을 위한 인공지능 모델 학습방법, 장치 및 프로그램
KR102266620B1 (ko) 2019-12-03 2021-06-18 경기대학교 산학협력단 로봇 물체 조작 학습 시스템
JP6792230B1 (ja) * 2019-12-12 2020-11-25 株式会社エクサウィザーズ 情報処理装置、方法およびプログラム
JP7276108B2 (ja) * 2019-12-13 2023-05-18 トヨタ自動車株式会社 遠隔操作システム及び遠隔操作方法
US11584004B2 (en) * 2019-12-17 2023-02-21 X Development Llc Autonomous object learning by robots triggered by remote operators
JP7555076B2 (ja) * 2020-02-03 2024-09-24 国立大学法人東京工業大学 ロボット制御システム、ロボットシステム、操作システム、ロボット制御方法、およびロボット制御プログラム
CN111310637B (zh) * 2020-02-11 2022-11-11 山西大学 一种基于尺度不变网络的机器人目标抓取检测方法
CN111360862B (zh) * 2020-02-29 2023-03-24 华南理工大学 一种基于卷积神经网络的生成最佳抓取位姿的方法
US11816754B2 (en) 2020-03-13 2023-11-14 Omron Corporation Measurement parameter optimization method and device, and computer control program stored on computer-readable storage medium
KR102485272B1 (ko) * 2020-03-17 2023-01-04 전남대학교 산학협력단 확률 체계 기반 충돌격자지도를 이용한 충돌 상황을 학습 및 인지하기 위한 장치 및 이를 위한 방법
CN111496794B (zh) * 2020-04-29 2022-04-01 华中科技大学 一种基于仿真工业机器人的运动学自抓取学习方法和系统
US12063745B2 (en) * 2020-05-05 2024-08-13 Integrated Dynamics Engineering Gmbh Method for processing substrates, in particular wafers, masks or flat panel displays, with a semi-conductor industry machine
CN111687840B (zh) * 2020-06-11 2021-10-29 清华大学 一种对空间目标实施抓捕的方法、装置和存储介质
US11559885B2 (en) * 2020-07-14 2023-01-24 Intrinsic Innovation Llc Method and system for grasping an object
CN111872937B (zh) * 2020-07-23 2022-04-19 西华大学 一种任务空间中不确定机械臂的控制方法
US11651195B2 (en) * 2020-08-31 2023-05-16 Verizon Connect Development Limited Systems and methods for utilizing a machine learning model combining episodic and semantic information to process a new class of data without loss of semantic knowledge
GB2598758B (en) 2020-09-10 2023-03-29 Toshiba Kk Task performing agent systems and methods
US11654564B2 (en) * 2020-09-10 2023-05-23 Fanuc Corporation Efficient data generation for grasp learning with general grippers
US11858741B2 (en) 2020-10-19 2024-01-02 Gideon Brothers d.o.o. Safety mode toggling by autonomous robots in a facility context
SE544103C2 (en) 2020-10-28 2021-12-21 Zenrobotics Oy Waste Sorting Robot with gripper that releases waste object at a throw position
CN112297013B (zh) * 2020-11-11 2022-02-18 浙江大学 一种基于数字孪生和深度神经网络的机器人智能抓取方法
DE102020214633A1 (de) * 2020-11-20 2022-05-25 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
CN112643668B (zh) * 2020-12-01 2022-05-24 浙江工业大学 一种适用于密集环境下的机械臂推抓协同方法
KR102426189B1 (ko) * 2020-12-22 2022-07-28 주식회사 대덕알앤디 스마트 eoat 로봇 시스템
US20220288783A1 (en) * 2021-03-10 2022-09-15 Nvidia Corporation Machine learning of grasp poses in a cluttered environment
JP2022162857A (ja) * 2021-04-13 2022-10-25 株式会社デンソーウェーブ 機械学習装置及びロボットシステム
CN113326932B (zh) * 2021-05-08 2022-09-09 清华大学 基于物体检测的物体操作指令跟随学习方法及装置
CN113326933B (zh) * 2021-05-08 2022-08-09 清华大学 基于注意力机制的物体操作指令跟随学习方法及装置
WO2022239878A1 (ko) * 2021-05-10 2022-11-17 코가플렉스 주식회사 로봇의 파지 방법 및 로봇의 파지를 위한 학습 방법
CN113436293B (zh) * 2021-07-13 2022-05-03 浙江大学 一种基于条件生成式对抗网络的智能抓取图像生成方法
US11947632B2 (en) * 2021-08-17 2024-04-02 Maplebear Inc. Training a classification model using labeled training data that does not overlap with target classifications for the classification model
CN113799138A (zh) * 2021-10-09 2021-12-17 中山大学 一种基于抓取生成卷积神经网络的机械臂抓取方法
CN114012722B (zh) * 2021-11-01 2023-05-30 苏州科德软体电路板有限公司 一种基于深度学习和边缘检测的机械臂抓取目标方法
TW202348377A (zh) * 2022-03-11 2023-12-16 美商即時機器人股份有限公司 用於在共享工作空間中之機器人之使用階段姿態之動作規劃及控制

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5699449A (en) * 1994-11-14 1997-12-16 The University Of Connecticut Method and apparatus for implementation of neural networks for face recognition
US20060088203A1 (en) * 2004-07-14 2006-04-27 Braintech Canada, Inc. Method and apparatus for machine-vision
US20090173560A1 (en) * 2006-02-02 2009-07-09 Kabushiki Kaisha Yaskawa Denki Robot system
CN102848388A (zh) * 2012-04-05 2013-01-02 上海大学 基于多传感器的服务机器人定位和抓取方法

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06314103A (ja) * 1993-04-30 1994-11-08 Fujitsu Ltd 制御装置と能動的センシング装置
JPH0780790A (ja) * 1993-09-16 1995-03-28 Fujitsu Ltd 三次元物体把持システム
KR100188249B1 (ko) 1997-02-26 1999-06-01 윤종용 공작기계의 원점복귀 방법
JP3421608B2 (ja) * 1999-04-08 2003-06-30 ファナック株式会社 教示モデル生成装置
EP1262907B1 (en) * 2001-05-28 2007-10-03 Honda Research Institute Europe GmbH Pattern recognition with hierarchical networks
DE10130485C2 (de) 2001-06-25 2003-06-26 Robert Riener Programmierbarer Gelenksimulator
AU2002331786A1 (en) 2001-08-31 2003-03-18 The Board Of Regents Of The University And Community College System, On Behalf Of The University Of Coordinated joint motion control system
WO2004052598A1 (ja) * 2002-12-12 2004-06-24 Matsushita Electric Industrial Co., Ltd. ロボット制御装置
US10589087B2 (en) 2003-11-26 2020-03-17 Wicab, Inc. Systems and methods for altering brain and body functions and for treating conditions and diseases of the same
US20110020779A1 (en) 2005-04-25 2011-01-27 University Of Washington Skill evaluation using spherical motion mechanism
US7533071B2 (en) 2005-06-28 2009-05-12 Neurosciences Research Foundation, Inc. Neural modeling and brain-based devices using special purpose processor
JP2007245326A (ja) * 2006-02-17 2007-09-27 Toyota Motor Corp ロボットとロボットの制御方法
US20080009771A1 (en) 2006-03-29 2008-01-10 Joel Perry Exoskeleton
US20090278798A1 (en) 2006-07-26 2009-11-12 The Research Foundation Of The State University Of New York Active Fingertip-Mounted Object Digitizer
US20100243344A1 (en) 2006-09-25 2010-09-30 Board Of Trustees Of Leland Stanford Junior University Electromechanically counterbalanced humanoid robotic system
RU2361726C2 (ru) * 2007-02-28 2009-07-20 Общество С Ограниченной Ответственностью "Алгоритм-Робо" Система управления антропоморфным роботом и способ управления
US20090132088A1 (en) * 2007-04-24 2009-05-21 Tairob Ltd. Transfer of knowledge from a human skilled worker to an expert machine - the learning process
JP2008296330A (ja) * 2007-05-31 2008-12-11 Fanuc Ltd ロボットシミュレーション装置
WO2009076452A2 (en) 2007-12-10 2009-06-18 Robotic Systems & Technologies, Inc. Automated robotic system for handling surgical instruments
US8155479B2 (en) 2008-03-28 2012-04-10 Intuitive Surgical Operations Inc. Automated panning and digital zooming for robotic surgical systems
US9119533B2 (en) 2008-10-07 2015-09-01 Mc10, Inc. Systems, methods, and devices having stretchable integrated circuitry for sensing and delivering therapy
US8204623B1 (en) 2009-02-13 2012-06-19 Hrl Laboratories, Llc Planning approach for obstacle avoidance in complex environment using articulated redundant robot arm
JP2012524663A (ja) 2009-04-23 2012-10-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 物体学習ロボットおよび方法
US20110043537A1 (en) 2009-08-20 2011-02-24 University Of Washington Visual distortion in a virtual environment to alter or guide path movement
JP4837116B2 (ja) * 2010-03-05 2011-12-14 ファナック株式会社 視覚センサを備えたロボットシステム
EP2542296A4 (en) 2010-03-31 2014-11-26 St Jude Medical Atrial Fibrill INTUITIVE USER INTERFACE CONTROL FOR REMOTE CATHETER NAVIGATION AND 3D CARTOGRAPHY AND VISUALIZATION SYSTEMS
FI20105732A0 (fi) * 2010-06-24 2010-06-24 Zenrobotics Oy Menetelmä fyysisten kappaleiden valitsemiseksi robottijärjestelmässä
WO2012047356A2 (en) 2010-07-26 2012-04-12 The University Of Vermont Uses of systems with degrees of freedom poised between fully quantum and fully classical states
RU2475290C1 (ru) 2010-11-17 2013-02-20 Общество С Ограниченной Ответственностью "Айтэм Мультимедиа" Устройство для игр
CN102161198B (zh) * 2011-03-18 2012-09-19 浙江大学 用于三维空间中移动机械臂路径规划的主从式协进化方法
JP5787642B2 (ja) * 2011-06-28 2015-09-30 キヤノン株式会社 対象物保持装置、対象物保持装置の制御方法、およびプログラム
KR20130017123A (ko) 2011-08-10 2013-02-20 한국생산기술연구원 로봇 파지 지능 학습 지원 시스템 및 방법
US20130041508A1 (en) 2011-08-12 2013-02-14 Georgia Tech Research Corporation Systems and methods for operating robots using visual servoing
JP2013046937A (ja) * 2011-08-29 2013-03-07 Dainippon Screen Mfg Co Ltd 対象物把持装置および対象物把持方法および対象物把持プログラム
JP5623358B2 (ja) * 2011-09-06 2014-11-12 三菱電機株式会社 ワーク取り出し装置
TWI454246B (zh) 2011-09-30 2014-10-01 Mackay Memorial Hospital Immediate monitoring of the target location of the radiotherapy system
US8386079B1 (en) * 2011-10-28 2013-02-26 Google Inc. Systems and methods for determining semantic information associated with objects
US20130343640A1 (en) * 2012-06-21 2013-12-26 Rethink Robotics, Inc. Vision-guided robots and methods of training them
KR101997566B1 (ko) 2012-08-07 2019-07-08 삼성전자주식회사 수술 로봇 시스템 및 그 제어방법
US20140180479A1 (en) * 2012-12-20 2014-06-26 Wal-Mart Stores, Inc. Bagging With Robotic Arm
US9764468B2 (en) * 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
US20150138078A1 (en) * 2013-11-18 2015-05-21 Eyal Krupka Hand pose recognition using boosted look up tables
CN104680508B (zh) * 2013-11-29 2018-07-03 华为技术有限公司 卷积神经网络和基于卷积神经网络的目标物体检测方法
WO2015134391A1 (en) 2014-03-03 2015-09-11 University Of Washington Haptic virtual fixture tools
US9533413B2 (en) 2014-03-13 2017-01-03 Brain Corporation Trainable modular robotic apparatus and methods
JP6415066B2 (ja) * 2014-03-20 2018-10-31 キヤノン株式会社 情報処理装置、情報処理方法、位置姿勢推定装置、ロボットシステム
JP6364856B2 (ja) * 2014-03-25 2018-08-01 セイコーエプソン株式会社 ロボット
US9978013B2 (en) * 2014-07-16 2018-05-22 Deep Learning Analytics, LLC Systems and methods for recognizing objects in radar imagery
US11256982B2 (en) 2014-07-18 2022-02-22 University Of Southern California Noise-enhanced convolutional neural networks
US9802309B2 (en) 2014-07-24 2017-10-31 X Development Llc Methods and systems for generating instructions for a robotic system to carry out a task
US9767385B2 (en) * 2014-08-12 2017-09-19 Siemens Healthcare Gmbh Multi-layer aggregation for object detection
US10768708B1 (en) 2014-08-21 2020-09-08 Ultrahaptics IP Two Limited Systems and methods of interacting with a robotic tool using free-form gestures
US10518409B2 (en) 2014-09-02 2019-12-31 Mark Oleynik Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries
US10754328B2 (en) * 2014-09-05 2020-08-25 Accenture Global Solutions Limited Self-adaptive device intelligence as a service enterprise infrastructure for sensor-rich environments
CA2882968C (en) * 2015-02-23 2023-04-25 Sulfur Heron Cognitive Systems Inc. Facilitating generation of autonomous control information
US10335951B2 (en) * 2015-07-29 2019-07-02 Canon Kabushiki Kaisha Information processing apparatus, information processing method, robot control apparatus, and robot system
US9616568B1 (en) * 2015-08-25 2017-04-11 X Development Llc Generating a grasp affordance for an object based on a thermal image of the object that is captured following human manipulation of the object
KR101808840B1 (ko) * 2015-09-04 2017-12-13 한국전자통신연구원 학습 기반 깊이 정보 추출 방법 및 장치
CN106548127B (zh) * 2015-09-18 2022-11-04 松下电器(美国)知识产权公司 图像识别方法
US9689696B1 (en) 2015-09-22 2017-06-27 X Development Llc Determining handoff checkpoints for low-resolution robot planning
US9662787B1 (en) 2015-09-25 2017-05-30 Google Inc. Hydraulic pressure variation in a legged robot
US20170106542A1 (en) * 2015-10-16 2017-04-20 Amit Wolf Robot and method of controlling thereof
US9904874B2 (en) * 2015-11-05 2018-02-27 Microsoft Technology Licensing, Llc Hardware-efficient deep convolutional neural networks
US9959468B2 (en) * 2015-11-06 2018-05-01 The Boeing Company Systems and methods for object tracking and classification
JP2017102671A (ja) * 2015-12-01 2017-06-08 キヤノン株式会社 識別装置、調整装置、情報処理方法及びプログラム
US10471594B2 (en) 2015-12-01 2019-11-12 Kindred Systems Inc. Systems, devices, and methods for the distribution and collection of multimodal data associated with robots
US9799198B2 (en) 2015-12-18 2017-10-24 General Electric Company System and method for communicating with an operator of the system
US10229324B2 (en) * 2015-12-24 2019-03-12 Intel Corporation Video summarization using semantic information
US20170213576A1 (en) * 2016-01-22 2017-07-27 Artur Nugumanov Live Comics Capturing Camera
EP3742347B1 (en) * 2016-03-03 2022-11-02 Google LLC Deep machine learning methods and apparatus for robotic grasping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5699449A (en) * 1994-11-14 1997-12-16 The University Of Connecticut Method and apparatus for implementation of neural networks for face recognition
US20060088203A1 (en) * 2004-07-14 2006-04-27 Braintech Canada, Inc. Method and apparatus for machine-vision
US20090173560A1 (en) * 2006-02-02 2009-07-09 Kabushiki Kaisha Yaskawa Denki Robot system
CN102848388A (zh) * 2012-04-05 2013-01-02 上海大学 基于多传感器的服务机器人定位和抓取方法

Also Published As

Publication number Publication date
WO2017151926A1 (en) 2017-09-08
JP2019509905A (ja) 2019-04-11
KR102023149B1 (ko) 2019-11-22
US10639792B2 (en) 2020-05-05
US9914213B2 (en) 2018-03-13
EP3414710A1 (en) 2018-12-19
US20170252924A1 (en) 2017-09-07
CN108885715A (zh) 2018-11-23
US20180147723A1 (en) 2018-05-31
CN108885715B (zh) 2020-06-26
KR20180114200A (ko) 2018-10-17
JP6586243B2 (ja) 2019-10-02
EP3414710B1 (en) 2022-11-02
US11045949B2 (en) 2021-06-29
US20200215686A1 (en) 2020-07-09

Similar Documents

Publication Publication Date Title
CN108885715B (zh) 用于机器人抓取的深度机器学习方法和装置
CN109074513B (zh) 用于机器人抓握的深度机器学习方法和装置
CN110785268B (zh) 用于语义机器人抓取的机器学习方法和装置
US11325252B2 (en) Action prediction networks for robotic grasping
CN110691676B (zh) 使用神经网络和几何感知对象表示的机器人抓取预测

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination