CN110691676A - 使用神经网络和几何感知对象表示的机器人抓取预测 - Google Patents
使用神经网络和几何感知对象表示的机器人抓取预测 Download PDFInfo
- Publication number
- CN110691676A CN110691676A CN201880035890.6A CN201880035890A CN110691676A CN 110691676 A CN110691676 A CN 110691676A CN 201880035890 A CN201880035890 A CN 201880035890A CN 110691676 A CN110691676 A CN 110691676A
- Authority
- CN
- China
- Prior art keywords
- grab
- pose
- generating
- encoding
- robot
- 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.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 40
- 230000009193 crawling Effects 0.000 title claims description 47
- 238000012549 training Methods 0.000 claims abstract description 140
- 239000012636 effector Substances 0.000 claims abstract description 108
- 238000000034 method Methods 0.000 claims description 65
- 230000000007 visual effect Effects 0.000 claims description 51
- 238000005457 optimization Methods 0.000 claims description 14
- 238000003062 neural network model Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 5
- 238000010801 machine learning Methods 0.000 abstract description 2
- 230000003068 static effect Effects 0.000 description 54
- 230000000875 corresponding effect Effects 0.000 description 34
- 238000013527 convolutional neural network Methods 0.000 description 28
- 239000011521 glass Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 230000000284 resting effect Effects 0.000 description 4
- 230000000153 supplemental effect Effects 0.000 description 4
- 101001011617 Papaver somniferum Major latex protein 146 Proteins 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003155 kinesthetic effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000009189 diving Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 229920002803 thermoplastic polyurethane Polymers 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39473—Autonomous grasping, find, approach, grasp object, sensory motor coordination
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39484—Locate, reach and grasp, visual guided grasping
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39536—Planning of hand motion, grasping
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
一种深度机器学习方法和装置,其中一些涉及确定机器人的末端效应器的候选抓取姿态的抓取结果预测。一些实施方式针对几何网络和抓取结果预测网络的训练和利用。训练后的几何网络可用于基于二维或二维半图像生成(多个)几何输出,(多个)几何输出是几何感知的并且表示由(多个)图像捕获的(例如,高维)三维特征。在一些实施方式中,(多个)几何输出至少包括基于训练后的编码神经网络生成的编码,其中,该训练后的编码神经网络被训练为生成表示三维特征(例如,形状)的编码。训练后的抓取结果预测网络可以用于基于将(多个)几何输出和附加数据作为(多个)输入应用于网络来生成候选抓取姿态的抓取结果预测。
Description
背景技术
许多机器人利用一个或多个末端效应器来抓取各种对象。例如,机器人可以利用诸如“冲击式”夹取器或者“侵入式”夹取器(例如,使用销、针等物理地穿透对象)的抓取末端效应器从第一位置拾取对象,将对象移动到第二位置,并在第二位置处放下对象。可以抓取对象的机器人末端效应器的一些附加示例包括“限制式”末端效应器(例如,使用吸力或真空来拾取对象)和一个或多个“接触式”末端效应器(例如,使用表面张力、冻结或粘合剂来拾取对象),仅举几例。
发明内容
本说明书的各种实施方式通常针对与确定机器人的末端效应器的候选抓取姿态的抓取结果预测有关的深度机器学习方法和装置。抓取结果预测可以是一种度量,该度量指示当末端效应器处于候选抓取姿态时,如果末端效应器尝试抓取对象,成功抓取对象的可能性。在一些实施方式中,如果确定抓取结果预测满足一个或多个标准(例如,概率阈值),则可以向机器人的一个或多个致动器提供控制命令,以使末端效应器以末端效应器的候选抓取姿态尝试抓取对象。
一些实施方式针对几何网络和抓取结果预测网络的训练和利用。几何网络和抓取结果预测网络可以各自包括至少一个训练后的神经网络模型。训练后的几何网络可以用于基于(多个)二维(two-dimensional,2D)或二维半(two-and-a-half-dimensional,2.5D)图像(具有深度的2D),生成(多个)几何输出,其中,(多个)几何输出是几何感知的并且表示由(多个)图像捕获的(多个)对象的三维(three-dimensional,3D)几何特征(例如,形状、位置、方向)。(多个)图像可以由机器人的视觉传感器(例如,捕获2D或2.5D视觉传感器数据的视觉传感器)捕获。例如,由(多个)几何输出表示的对象的几何特征可以至少包括对象的3D形状。
(多个)几何输出可以包括全局几何表示,诸如高维几何表示的编码。该编码可以基于将图像应用(或提供)于神经网络编码器(例如,卷积神经网络(convolutional neuralnetwork,CNN)编码器)来生成。如本文所述,可以训练神经网络编码器,使得利用神经网络编码器生成的编码表示由图像捕获的(多个)对象的3D特征。此外,(多个)几何输出可以附加地或可选地包括局部几何表示,其中,局部几何表示是几何感知的并且局部聚焦于对象的靠近候选抓取姿态的区域。例如,可以基于对是编码的全局几何表示的密集采样来生成局部几何表示,其中,密集采样是来自末端效应器的候选抓取姿态的角度(例如,密集采样来自候选抓取姿态的参考系)。以这些和其他方式,局部几何表示可以从候选抓取姿态的角度来表示对象的3D特征。
训练后的抓取结果预测网络可以用于基于将(多个)几何输出和附加数据作为(多个)输入应用于网络来生成候选抓取姿态的抓取结果预测。例如,应用于抓取结果预测网络的附加数据可以包括候选抓取姿态、预抓取图像和/或预抓取视觉传感器姿态。
本文描述的一些实施方式可以利用在虚拟现实环境中通过用户引导的抓取尝试生成的训练实例来训练几何网络和/或抓取结果预测网络。例如,虚拟现实(virtualreality,VR)环境可以渲染虚拟环境,该虚拟环境包括对象的表示与可选地的(多个)附加场景对象,以及机器人的末端效应器的表示与可选的(多个)附加机器人组件。通过与(多个)用户界面输入设备(例如,VR控制器)的交互,用户可以在VR环境中操纵末端效应器的姿态,以当用户已经将末端效应器操纵到抓取的期望姿态时尝试抓取对象。例如,当用户确定末端效应器处于用于抓取虚拟环境中渲染的对象的期望姿态时,用户可以提供用户界面输入(例如,点击、口头命令)以尝试抓取。VR环境的物理引擎可以用于确定尝试的抓取是否成功。VR环境中的各种数据和用户经由该环境的交互可以用于生成训练实例。例如,从VR环境生成的(多个)图像、期望姿态和实际的抓取结果可以用于生成训练实例。
在那些实施方式中的一些中,基于(多个)用户引导的抓取尝试,自动生成附加训练实例(例如,不需要附加的用户引导的抓取尝试)。例如,在生成附加训练实例时,可以基于来自用户引导的抓取尝试的抓取姿态来确定新的抓取姿态。对于实例,可以选择新的抓取姿态,该新的抓取姿态在来自用户引导的抓取尝试的抓取姿态的期望方差内(例如,位置为+/-X厘米和/或方向为+/-X度)。此外,可以利用来自用户引导的抓取尝试的对象和场景(例如,可以利用相同的对象姿态),并且可以利用新的抓取姿态在VR环境中尝试新的抓取尝试。VR环境的物理引擎可以用于确定新尝试的抓取是否成功。来自新的抓取尝试的各种数据可用于生成附加训练实例。例如,新的抓取姿态和新的抓取结果可以用于生成附加训练实例。来自新的抓取尝试和/或用户引导的尝试的(多个)图像还可以包括在附加训练实例中。以这些和其他方式,可以生成大量附加训练实例,并将其用于训练几何网络和/或抓取结果预测网络。此外,许多附加训练实例将是消极的训练实例(即,抓取不成功),因为新的抓取姿态的选择将不是用户引导的(而是将使用先前得用户引导的抓取尝试作为引导来自动选择)。
上文和本文其他地方描述的各种实施方式可以实现一个或多个技术优势。例如,与不利用这样的(多个)几何输出的各种技术相比,本文描述的(多个)生成几何输出并将这样的(多个)几何输出作为输入应用于抓取结果预测网络可以使抓取结果预测精度提高,和/或抓取结果预测的鲁棒性更好(例如,适用于未被训练的对象)。此外,例如,与各种其他抓取预测架构相比,本文描述的各种神经网络架构可以使得性能提高。例如,本文描述的架构可以使目标对象的抓取成功率提高。此外,例如,利用本文描述的技术自动生成附加训练实例可以比利用进一步的用户引导的抓取尝试生成附加训练实例更节省计算资源,和/或可以使本文描述的各种神经网络模型的训练的鲁棒性更好。
在一些实施方式中,提供了一种方法,该方法包括识别由机器人的视觉传感器捕获的当前图像。当前图像捕获机器人的末端效应器和将由机器人使用末端效应器抓取的对象。该方法还包括生成捕获该对象的当前图像或者附加图像的编码。生成的编码对该对象的几何特征进行编码,并且生成该编码包括使用训练后的神经网络编码器处理当前图像或附加图像。该方法还包括确定末端效应器的候选抓取姿态。该方法还包括:将当前图像、候选抓取姿态和编码作为一个或多个输入应用于抓取结果预测网络,该抓取结果预测网络是训练后的神经网络模型;并且基于应用一个或多个输入,在抓取结果预测网络上生成抓取结果预测。该方法还包括:确定抓取结果预测满足一个或多个标准;并且响应于抓取结果预测满足一个或多个标准,向机器人的一个或多个致动器提供控制命令,以使末端效应器以末端效应器的候选抓取姿态尝试抓取对象。
该技术的这些和其他实施方式可以包括以下特征中的一个或多个。
在一些实施方式中,该方法还包括:使用编码和末端效应器的候选抓取姿态生成局部几何表示;并且在生成抓取结果预测时,将该局部几何表示包括在应用于抓取结果预测网络的一个或多个输入中。在那些实施方式中的一些中,生成局部几何表示包括从末端效应器的候选抓取姿态的参考系(例如,从候选抓取姿态的角度)对编码执行密集采样。
在一些实施方式中,编码对于视觉传感器的任何视觉传感器姿态都是不变的,和/或训练后的神经网络编码器是与三维神经网络解码器联合训练的。
在一些实施方式中,训练后的神经网络编码器是基于将在神经网络编码器上生成的训练编码应用于三维解码器、使用三维解码器生成训练解码、至少部分基于训练解码确定损失、以及基于损失更新神经网络编码器来训练的。
在一些实施方式中,由编码来编码的几何特征包括对象的三维形状特征。
在一些实施方式中,将一个或多个输入应用于抓取结果预测网络包括:将当前图像作为一个或多个输入中的第一输入的至少一部分应用于一个或多个第一层;并且基于应用第一输入,在第一层上生成第一层输出。在那些实施方式的一些中,将一个或多个输入应用于抓取结果预测网络还包括:将编码和第一层输出作为一个或多个输入中的第二输入的至少一部分应用于一个或多个第二层;并且基于应用第二输入,在第二层上生成第二层输出。在那些实施方式的一些版本中,将一个或多个输入应用于抓取结果预测网络还包括:将末端效应器姿态和第二层输出作为一个或多个输入中的第三输入的至少一部分应用于一个或多个第三层;并且基于应用第三输入,在第三层上生成第三层输出。在那些实施方式的一些进一步的版本中,该方法还包括:使用编码和末端效应器的候选抓取姿态生成局部几何表示;将第三层输出和局部几何表示作为一个或多个输入中的第四输入的至少一部分应用于一个或多个第四层;并且基于应用第四输入,在第四层上生成抓取结果预测。
在一些实施方式中,确定候选抓取姿态包括:生成多个候选抓取姿态;并且对多个候选抓取姿态执行交叉熵优化的一次或多次迭代,以从多个候选抓取姿态中选择候选抓取姿态。
在一些实施方式中,该方法还包括:识别视觉传感器的当前视觉传感器姿态;并且将当前视觉传感器姿态包括在应用于抓取结果预测网络的输入中的一个或多个中。
在一些实施方式中,提供了一种方法,包括:识别由机器人的视觉传感器捕获的当前图像;并且生成对捕获对象的当前图像或附加图像的编码。当前图像捕获机器人的末端效应器和将由机器人使用末端效应器抓取的对象。生成的编码对该对象的几何特征进行编码,并且生成该编码包括使用训练后的神经网络编码器处理当前图像或附加图像。该方法还包括:将当前图像和编码作为一个或多个输入应用于预测网络,其中该预测网络是训练后的神经网络模型;基于应用一个或多个输入,在预测网络上生成预测;确定结果预测满足一个或多个标准;并且响应于预测满足一个或多个标准,向机器人的一个或多个致动器提供基于预测的控制命令。
其他实施方式可以包括存储指令的非暂时性计算机可读存储介质,该指令可由一个或多个处理器(例如,中央处理单元(central processing unit,CPU)、图形处理单元(graphics processing unit,GPU)和/或张量处理单元(tensor processing unit,TPU))运行,以执行诸如上述和/或本文其他地方描述的一种或多种方法的方法。还有其他实施方式可以包括一个或多个计算机和/或一个或多个机器人的系统,一个或多个计算机包括一个或多个处理器,一个或多个处理器可操作来运行存储的指令以执行诸如上述和/或本文其他地方描述的一种或多种方法的方法。
应该理解,本文更详细描述的前述概念和附加概念的所有组合都被认为是本文公开的主题的一部分。例如,出现在本公开结尾的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1示出了其中可以实施本文公开的实施方式的示例环境。
图2示出了几何网络和抓取结果预测网络,以及可以应用于网络以生成抓取结果预测的数据的示例。
图3示出了图2的几何网络和抓取结果预测网络的特定实施方式,以及如何将图2的数据应用于网络的特定实施方式以生成图2的抓取结果预测的示例。
图4示出了如何训练几何网络和抓取结果预测网络的示例。
图5是示出基于用户引导的抓取尝试生成训练实例的示例方法的流程图。
图6是示出基于训练实例预训练几何网络的示例方法的流程图。
图7是示出基于训练实例训练抓取结果预测网络以及可选的几何网络的示例方法的流程图。
图8示出了利用几何网络和抓取结果预测网络来确定何时基于候选抓取姿态尝试抓取的示例方法。
图9示意性地描绘了机器人的示例架构。
图10示意性地描绘了计算机系统的示例架构。
具体实施方式
图1示出了其中可以实施本文公开的实施方式的示例环境。示例环境包括机器人180、计算设备105、训练实例生成系统110、训练实例数据库170、训练引擎130、几何网络120和抓取结果预测网络140。
训练实例生成系统110基于用户引导的抓取尝试演示来生成训练实例。训练实例生成系统110将生成的训练实例存储在训练实例数据库170中。例如,用户引导的抓取尝试演示可以包括:用户对机器人180的物理操纵,以动觉地演示抓取;和/或用户与计算设备105和/或(多个)相关联的组件的交互,以在由计算设备105渲染的VR环境中演示抓取尝试。
训练引擎130利用训练实例数据库170的训练实例来训练几何网络120和抓取结果预测网络140。一旦被训练,几何网络120和抓取结果预测网络140就可以被机器人180和/或其他(多个)机器人利用以确定如何利用对应的末端效应器抓取对象。例如,机器人180可以利用网络120和140以利用抓取末端效应器182A抓取抹刀189A。现在参考本文的各种附加附图,提供对图1的各种组件的附加描述。
机器人180是具有多个自由度的“机器人手臂”,使得抓取末端效应器182A能够沿着多个潜在路径中的任何一个路径遍历,以将抓取末端效应器182A安置在期望的姿态。如本文所使用的,“姿态”可以指它所指的对应组件的位置和/或方向。例如,“姿态”可以在六维空间(例如,欧几里德空间)的所有六维中定义对应组件的位置和方向。姿态可以选择性地由六个值来定义,每个值表示六维空间中的对应值。
机器人180控制其抓取末端效应器182A的两个相对的“爪”,以在至少一个打开位置和一个闭合位置(和/或可选地的多个“部分闭合”位置)之间致动该爪。示例视觉组件184也在图1中示出。在图1中,视觉组件184相对于机器人180的基座或其他静止参考点以固定姿态安装。视觉组件包括一个或多个视觉传感器,视觉传感器可以生成与(多个)视觉传感器视线内的(多个)对象的颜色、深度、和/或其他特征有关的图像。例如,视觉组件184可以包括专题相机(以及可选的深度传感器)、立体相机或激光扫描仪。当视觉组件184是具有深度传感器的专题相机时,它可以捕获2.5D图像,诸如具有多个颜色通道(例如,由2D相机传感器捕获的“R、G、B”通道)和由深度传感器捕获的深度通道的图像。在一些实施方式中,立体相机可以包括两个或更多个传感器,每个传感器位于不同的有利位置。在那些实施方式中的一些中,立体相机基于由两个传感器感测的特征生成图像,每个图像包括定义深度值和颜色值和/或灰度值的多个数据点。例如,立体相机可以生成包括深度通道和红色、蓝色和/或绿色通道的图像。激光扫描仪包括发射光的一个或多个激光器和收集与发射光的反射有关的2.5D数据点的一个或多个传感器。这种2.5D数据点的实例被认为是图像,因为该术语在本文被使用。例如,激光扫描仪可以是飞行时间激光扫描仪或基于三角测量的激光扫描仪,并且可以包括位置敏感检测器(position sensitive detector,PSD)或其他光学位置传感器。视觉组件184具有机器人180的工作空间的至少一部分的视野,诸如包括示例抹刀189A的工作空间的一部分。尽管抹刀189A的搁置表面没有在图1中示出,但是它可以搁置在桌子、托盘和/或其他(多个)表面上。
机器人180作为可以在本文描述的各种技术中利用的机器人的示例提供。例如,用户可以物理地操纵机器人180以动觉地演示抓取,并且在动觉演示期间来自机器人180的传感器的数据以及由视觉组件184捕获的与动觉演示相关联的(多个)图像可以被训练实例生成系统110利用以生成一个或多个训练实例。
作为另一个示例,机器人180的一个或多个处理器可以附加地和/或替代地利用几何网络120和抓取结果预测网络140的训练后版本,以利用末端效应器182A抓取诸如抹刀189A的对象。
参考图2,提供了利用几何网络120和抓取结果预测网络140的训练后版本来抓取对象的一个特定示例。静态图像291A(以及可选的静态视觉传感器姿态292A)作为一个或多个输入应用于几何网络120,或者预抓取图像291B(以及可选的预抓取视觉传感器姿态292B)作为一个或多个输入应用于几何网络120。例如,机器人180的一个或多个处理器可以应用图像291A或291B,并且可选地应用对应的视觉传感器姿态292A或292B。
图像291A和291B各自可以是由机器人180的视觉组件184捕获的2D或2.5D图像。静态视觉传感器姿态292A可以是捕获静态图像291A时视觉组件184的姿态(例如,视觉组件的视觉传感器的姿态),并且预抓取视觉传感器姿态292B可以是捕获预抓取图像291B时视觉组件184的姿态。视觉传感器姿态可以是固定的(例如,在静止的视觉传感器的情况下),或者可以基于定位技术来确定,其中该定位技术依赖于一个或多个输入(例如,来自机器人180的(多个)传感器的(多个)输入,诸如惯性测量单元(inertial measurement unit,IMU)的(多个)输入)。例如,静态图像291A可以是在末端效应器182A被安置时捕获抹刀189A的图像,使得末端效应器182A不在静态图像291A中和/或不在静态图像291A中遮挡抹刀189A。在其他情况下,末端效应器182A可以在静态图像291A中和/或在静态图像291A中遮挡抹刀189A。预抓取图像291B可以比静态图像291A“在时间上更晚”,并且例如可以是当前图像,诸如近期捕获的(例如,最近捕获的)图像。
机器人180的一个或多个处理器可以基于将输入应用于几何网络120来生成全局几何表示223和局部几何表示225。全局几何表示223可以是高维几何表示的编码。在一些实施方式中,可以利用几何网络120的一个或多个训练后神经网络模型,基于对静态图像291A或预抓取图像291B(以及可选地对应的视觉传感器姿态292A或292B)的处理来生成编码。局部几何表示225可以是几何感知的,并且局部聚焦于靠近候选抓取姿态293的区域。考虑到候选抓取姿态293,可以基于对全局几何表示223和/或静态图像291A(或预抓取图像291B)的处理来生成局部几何表示225。候选抓取姿态293可以是被考虑用于抓取的候选末端效应器姿态,并且可以由一个或多个其他组件生成。
在一些实施方式中,通过对候选末端效应器姿态的集合进行采样并从采样的组中选择候选抓取姿态293来生成候选抓取姿态293。在那些实施方式中的一些中,候选抓取姿态293是使用诸如无导数优化算法的优化技术生成的。例如,在选择时可以利用诸如交叉熵方法(cross-entropy method,CEM)的无导数优化技术。CEM是一种无导数优化算法,它在每次迭代中采样一批N个值,将高斯分布拟合到这些样本中的N<M个样本,并且然后从该高斯分布中采样新的一批N个值。例如,可以利用CEM以及M=64和N=6的值,并且执行CEM的三次迭代来确定最佳可用的(根据CEM)候选抓取姿态293。例如,优化可以考虑抓取结果预测网络(例如,抓取结果预测网络可以用于评估在每次迭代中哪个采样值(候选末端效应器姿态)是“最佳的”)。例如,在生成候选抓取姿态293时,考虑到优化技术,可以考虑多个候选末端效应器姿态,并且可以选择最佳的(根据优化技术)采样的候选抓取姿态。考虑到使用抓取结果预测网络的处理,最佳的采样的候选抓取姿态可以是产生最佳抓取结果预测的姿态。在一些其他实施方式中,可以利用单独的上游训练后的神经网络模型以确定候选抓取姿态293。
局部几何表示225、全局几何表示223、候选抓取姿态293、预抓取图像291B以及可选的预抓取视觉传感器姿态292B作为一个或多个输入被应用(或提供)于抓取结果预测网络140。基于应用一个或多个输入,在抓取结果预测网络140上生成抓取结果预测247。例如,机器人180的一个或多个处理器可以应用输入并生成抓取结果预测247。抓取结果预测247可以是一种度量,该度量指示当末端效应器182A处于候选抓取姿态时,如果末端效应器182A尝试抓取对象,成功抓取对象的可能性。在一些实施方式中,如果确定抓取结果预测247满足一个或多个标准(例如,概率阈值),则可以以向机器人的一个或多个致动器提供控制命令,以使得末端效应器182A以末端效应器182A的候选抓取姿态293尝试抓取对象。例如,控制命令可以使末端效应器182A遍历到候选抓取姿态293,然后尝试抓取。在一些实施方式中,如果确定抓取结果预测247不满足一个或多个标准(例如,概率阈值),则可以选择新的候选抓取姿态,并且基于新的候选抓取姿态(并且可选地基于新的(多个)图像和/或(多个)视觉传感器姿态)来确定新的抓取结果预测。
图3示出了图2的几何网络和抓取结果预测网络的一个实施方式。图3示出了与图2所示相同的数据291A、291B、292A、292B、293示出,并且示出了与图2所示相同的全局几何表示223、局部几何表示225和抓取结果预测247。然而,图3示出了可以在一些实施方式中利用的几何网络120的组件和抓取结果预测网络140的组件。此外,图3示出了作为输入被应用于几何网络120的静态图像291A和可选的静态视觉传感器姿态292A,以及作为输入被应用于抓取结果预测网络140的单独的预抓取图像291B和可选的预抓取视觉传感器姿态292B。
在图3中,静态图像291A和可选的静态视觉传感器姿态292A作为输入被应用于训练后的CNN编码器122,以生成全局几何表示223。全局几何表示223是高维几何表示的编码,并且使用训练后的CNN编码器122、基于对静态图像291A和可选的静态视觉传感器姿态292A的处理来生成。换句话说,全局几何表示223是静态图像291A和可选的静态视觉传感器姿态292A的编码,如基于训练后的CNN编码器122生成的。如本文所述(例如,与图4a和图6有关的描述),可以训练CNN编码器122,使得使用CNN编码器122生成的全局几何表示223表示由静态图像291A捕获的(多个)对象的3D特征(例如,3D形状)。在那些实施方式中的一些中,全局几何表示223是一种编码,并且是视点不变的(例如,身份单元)。此外,在那些实施方式中的一些中,全局几何表示223是高维的,因为它不是完整的3D表示。相反,全局几何表示223在这种编码中对3D特征进行编码,这种编码是比完整的3D表示所需的数据结构小得多的数据结构。
几何网络120的局部形状采样器124用于生成局部几何表示225。基于全局几何表示223和末端效应器的候选抓取姿态293来生成局部几何表示225。局部形状采样器124可以从末端效应器的候选抓取姿态293的角度(例如,参考系)、基于全局几何表示223的密集采样来生成局部几何表示225。以这些和其他方式,局部几何表示可以从候选抓取姿态293的角度来表示对象的3D特征。
抓取结果预测网络140包括CNN 142、组合层143、第一多层感知(multilayerperception,MLP)神经网络144和第二MLP神经网络146。预抓取图像291B可选地连同预抓取视觉传感器姿态292B一起作为输入被应用于CNN 142。基于应用预抓取图像291B和可选的预抓取视觉传感器姿态292B,在CNN 142上生成输出。在CNN 142上生成的输出有效地对机器人180的环境的当前状态进行编码,并且该输出连同全局几何表示223一起作为输入被应用于组合层143。基于在CNN 142上生成的输出和全局几何表示,在组合层143上生成输出。来自组合层143的输出和候选抓取姿态293被作为输入应用于第一MLP 144。基于应用来自组合层143的输出和候选抓取姿态293,在第一MLP 144上生成输出。局部几何表示225连同来自第一MLP 144的输出也作为输入被应用于第二MLP 146。基于应用来自第一MLP 144的输出和局部几何表示225,在第二MLP 146上生成抓取结果预测247。
因此,在图3的实施方式中,抓取结果预测网络140包括多个堆叠的训练后的神经网络142、143、144和146,其中每个网络包括一个或多个网络层。CNN 142用于有效地对机器人180的环境的当前状态进行编码,而不考虑候选抓取姿态293或全局几何表示223或局部几何表示225。组合层143用于和当前状态的编码一起注入全局几何表示223。考虑到CNN142的当前状态编码和全局几何表示223(经由将层143的输出应用于第一MLP 144),并考虑到候选抓取姿态293,第一MLP 144用于生成指示抓取结果预测的输出。考虑到第一MLP 144的受全局几何影响的输出,并考虑到局部几何表示225,第二MLP 146用于生成最终抓取结果预测247。
尽管在图1中示出了特定的机器人180,并参考本文的各种附图(例如,图2和图3)进行了描述,但是可以使用附加的和/或替代的机器人,包括类似于机器人180的附加机器人手臂、具有其他机器人手臂形式的机器人、具有人形形式的机器人、具有动物形式的机器人、经由一个或多个轮子移动的机器人(例如,自平衡机器人)、潜水机器人、无人飞行器(unmanned aerial vehicle,UAV)等等。此外,尽管在图1中示出了特定的抓取末端效应器182A,但是机器人180可以使用附加的和/或替代的末端效应器,诸如替代的冲击式抓取末端效应器(例如,具有抓取“板”的那些、具有更多或更少“手指”/“手爪”("digits"/"daws")的那些)、“侵入式”抓取末端效应器、“限制式”抓取末端效应器、或“接触式”抓取末端效应器、或非抓取末端效应器。另外,尽管在图1中示出了视觉组件184的特定安装,但是可以利用附加的和/或替代的安装。例如,在一些实施方式中,视觉组件可以直接安装到机器人上,诸如安装在机器人的不可致动组件上或者机器人的可致动组件上(例如,安装在末端效应器上或者靠近末端效应器的组件上)。此外,例如,在一些实施方式中,视觉组件可以安装在与其相关联的机器人分离的非静止结构上,和/或可以以非静止方式安装在与其相关联的机器人分离的结构上。
图1中还示出了计算设备105。例如,计算设备105可以是:虚拟现实耳机和可选的外部组件;平板电脑;移动电话;桌面计算设备等等。用户可以与计算设备105的一个或多个用户界面输入设备交互,以在由计算设备105渲染和/或由与计算设备105进行网络通信的一个或多个附加计算设备渲染的VR环境中演示抓取尝试。
例如,在图1中,计算设备的显示屏106示出渲染的VR环境,该渲染的VR环境包括眼镜189B的表示、眼镜搁置在其上的表面的表示(未编号)以及机器人的末端效应器182B的表示。在其他实施方式中,也可以渲染机器人的其他组件,诸如控制末端效应器182B的位置的(多个)链路。通过与(多个)用户界面输入设备(例如,显示屏106(如果它是触摸敏感的)、单独的控制器)的交互,用户可以在VR环境中操纵末端效应器182B的姿态,并且当该姿态处于期望姿态时,尝试抓取眼镜189B。在一些实施方式中,可以利用VR环境的物理引擎来确定尝试的抓取是否成功。在一些实施方式中,如果在虚拟现实环境中将末端效应器182B的抓取构件致动到闭合或“部分闭合”状态之后,眼镜189B的至少一部分被安置于抓取构件之间,则可以确定抓取成功。来自VR环境的各种数据和经由该环境的用户交互可以被提供给训练实例生成系统110,并用于生成训练实例。例如,训练实例生成系统110可以利用从VR环境生成的(多个)图像、期望的姿态和实际抓取结果来生成训练实例。
训练实例生成系统110包括图像引擎112、抓取姿态引擎114、抓取结果引擎116和补充实例引擎118。在从用户引导的抓取尝试生成训练实例时,对于训练实例,图像引擎112基于来自用户引导的抓取尝试的数据来确定一个或多个静态图像和/或预抓取图像。图像引擎112还可以确定图像对应的视觉传感器姿态。对于训练实例,抓取姿态引擎114基于在用户引导的抓取尝试中利用的抓取姿态来确定末端效应器的抓取姿态。对于训练实例,抓取结果引擎116确定指示用户引导的抓取尝试的抓取结果的度量。训练实例生成系统110可以将用户引导的抓取尝试的所确定的(多个)图像、抓取姿态和抓取结果作为训练实例存储在训练实例数据库170中。补充实例引擎118可以基于对应的用户引导的抓取尝试自动生成一个或多个附加训练实例,并且在生成(多个)附加训练实例时,可以可选地与其他引擎112、114和116中的一个或多个交互。训练实例生成系统110可以将附加训练实例存储在训练实例数据库170中。现在提供对每个引擎112、114、116和118的附加描述。
在从用户引导的抓取尝试生成训练实例时,对于训练实例,图像引擎112确定与抓取尝试相关联的一个或多个2D或2.5D图像。当抓取尝试经由VR环境时,图像引擎112可以生成(多个)图像。在从虚拟环境生成图像时,图像引擎112可以利用射线跟踪和/或其他图像生成技术。
作为一个示例,对于训练实例,图像引擎112可以生成一个或多个静态图像,每个静态图像能够捕获眼镜189B和眼镜189B所搁置的表面的至少一部分。在生成静态图像时,图像引擎112可以从对应的虚拟视觉传感器姿态生成静态图像,并且可以将对应的静态虚拟视觉传感器姿态与静态图像相关联地存储在训练实例中。例如,静态图像可以从虚拟视觉传感器姿态生成,该虚拟视觉传感器姿态以图1的眼镜189B为目标或靠近图1的眼镜189B,并且它处于距眼镜189B对应的距离(例如,35和45厘米之间的距离)处,并且处于对应的方位(azimuth)和高度(elevation)处。在一些实施方式中,静态图像中的一个或多个可以省略末端效应器182B的表示。在一些实施方式中,图像引擎112可以生成对应的抓取尝试的多个静态图像,其中每个静态图像是从虚拟相机传感器姿态捕获的,该虚拟相机传感器姿态对于抓取尝试的其他(多个)静态图像的(多个)虚拟相机传感器姿态是唯一的(例如,处于唯一的位置和/或方向)。例如,可以从以眼镜189B为目标的虚拟视觉传感器姿态捕获第一静态图像,并且该虚拟视觉传感器姿态:具有在眼镜189B的第一距离范围内的伪随机选择的位置;并且具有从多个预定高度和/或方位中选择的高度和/或方位。
作为另一个示例,对于训练实例,图像引擎112可以生成一个或多个预抓取图像,每个预抓取图像捕获眼镜189B,并且捕获末端效应器182B。在一些情况下,当末端效应器182B处于抓取姿态时,可以捕获预抓取图像,或者当末端效应器182B处于抓取姿态之前的姿态时,可以捕获预抓取图像,该姿态在抓取姿态之前并且发生在抓取姿态的至少阈值时间持续期间内。与静态图像一样,可以从虚拟视觉传感器姿态生成预抓取图像,该虚拟视觉传感器姿态以图1的眼镜189B为目标或靠近图1的眼镜189B,并且处于距眼镜189B对应的距离处,并且处于对应的方位和高度处。可以将对应的预抓取虚拟传感器姿态与预抓取图像相关联地存储在训练实例中。
在用户引导的抓取尝试是经由机器人180的物理操纵的情况下,图像引擎112可以基于由视觉组件184捕获的图像来确定训练实例的图像。例如,图像引擎112可以利用省略末端效应器182A的(多个)图像作为静态图像,并且由视觉组件184捕获的在时间上靠近抓取尝试的图像作为预抓取图像。对应的视觉组件184的姿态可以与静态图像和预抓取图像相关联地存储。例如,给定图像的视觉组件184的姿态可以由机器人180利用一种或多种定位技术来确定。
对于训练实例,抓取姿态引擎114基于在用户引导的抓取尝试中利用的抓取姿态来确定末端效应器的抓取姿态。例如,对于基于VR的用户引导的抓取尝试,抓取姿态可以基于尝试抓取时虚拟环境中的末端效应器182B的虚拟姿态来确定。对于经由机器人180的物理操纵的用户引导的抓取尝试,抓取姿态可以基于尝试抓取时末端效应器182A的姿态来确定。例如,这种抓取姿态可以由机器人180利用机器人的一个或多个传感器来确定(例如,基于将传感器数据应用于机器人180的动态模型)。
对于训练实例,抓取结果引擎116确定指示用户引导的抓取尝试的抓取结果的度量。在一些实施方式中,指示抓取结果的度量是二进制标签,诸如“0/成功”或“1/不成功”标签。在一些实施方式中,指示抓取结果的度量可以从多于两个的选项中选择,诸如0、1以及0和1之间的一个或多个值。例如,“0”可以指示已确认的“不成功抓取”,“1”可以指示已确认的成功抓取,“0.25”可以指示“最有可能不成功的抓取”,而“0.75”可以指示“最有可能成功的抓取”。
作为一个示例,对于基于VR的用户引导的抓取尝试,如果在虚拟现实环境中将末端效应器182B的抓取构件致动到闭合或“部分闭合”状态之后,眼镜189B的至少一部分被安置在抓取构件之间,则抓取结果引擎116可以确定指示成功的抓取结果的度量。
作为另一个示例,对于经由机器人180的物理操纵的用户引导的抓取尝试,抓取结果引擎116可以基于来自机器人180的各种传感器数据来确定抓取的成功。例如,传感器数据可以包括来自抓取末端效应器182A的位置读数、扭矩读数和/或其他读数。在这样的示例中,抓取结果引擎116可以基于(多个)读数来确定抓取成功标签。例如,在读数是位置读数的情况下,如果读数大于某个阈值(例如,1cm),则抓取结果引擎116可以确定“成功抓取”标签,并且如果读数小于某个阈值(例如,1cm),则可以确定“不成功抓取”标签。作为另一个示例,传感器数据可以包括抓取在抓取尝试中被抓取的对象的末端效应器的图像。例如,在末端效应器182A和可以由末端效应器抓取的任何对象移动到靠近视觉组件184的位置之后,该图像可由视觉组件184捕获。在这样的示例中,抓取结果引擎116可以利用捕获的图像来确定抓取尝试是否成功。例如,抓取结果引擎116可以将捕获的图像提供给一个或多个人类评论者的计算设备,这些人类评论者可以利用他们的计算设备基于捕获的图像来指示抓取是否成功。
补充实例引擎118可以基于对应的用户引导的抓取尝试(虚拟或物理)自动生成一个或多个附加训练实例,并且可以在生成(多个)附加训练实例时与其他引擎112、114和116中的一个或多个交互。训练实例生成系统110可以将附加训练实例存储在训练实例数据库170中。例如,在生成附加训练实例时,补充实例引擎118可以基于来自用户引导的抓取尝试的抓取姿态来确定新的抓取姿态。对于实例,可以选择新的抓取姿态,该新的抓取姿态在来自用户引导的抓取尝试的抓取姿态的期望方差内(例如,位置为+/-X厘米,和/或方向为+/-X度)。此外,可以利用来自用户引导的抓取尝试的对象和场景(例如,可以利用相同的对象姿态),并且可以利用新的抓取姿态(在VR环境或物理环境中)尝试新的抓取尝试。诸如本文描述的那些技术的各种技术可以被用于确定新尝试的抓取是否成功。来自新的抓取尝试的各种数据可以用于生成附加训练实例。例如,新的抓取姿态和新的抓取结果可以用于生成附加训练实例。来自新的抓取尝试和/或来自用户引导的尝试的(多个)图像还可以包括在附加训练实例中(例如,来自用户引导的尝试的(多个)静态图像可以被重新使用,并且基于附加训练实例来确定新的预抓取图像)。
尽管图1示出特定对象189A和189B,但是在许多实施方式中,训练实例是基于与各种不同对象(物理或虚拟)相关联的和/或各种场景中的用户引导的抓取尝试来生成的。例如,对于虚拟用户引导的抓取尝试,一个或多个用户可以利用对应的计算设备来尝试虚拟抓取搁置在第一表面上的杯子,一个或多个用户可以利用对应的计算设备来尝试虚拟抓取搁置在第二表面上的碗,一个或多个用户可以利用对应的计算设备来尝试虚拟抓取搁置在第三表面上的订书机等等。这样的目标对象和/或场景的多样性可以带来更多元化的训练实例,从而可以提高基于这样的训练实例训练的网络120和/或140的性能。
训练引擎130利用训练实例数据库170的训练实例来训练几何网络120的(多个)神经网络模型和/或训练抓取结果预测网络的(多个)神经网络模型。训练引擎130可以包括一个或多个GPU、TPU和/或CPU。
参考图4,提供了如何训练几何网络120和抓取结果预测网络140的示例。尽管图4中没有示出训练引擎130,但是训练引擎130可以执行图4的示例训练。例如,训练引擎130可以应用图4中的训练实例,生成图4中的(多个)损失,并基于(多个)损失更新图4中的各种神经网络。在图4中,为了简单起见,示出了单个训练实例,并且在下面提供了关于该单个训练实例的描述。然而,应当理解,图4中各种神经网络的训练将基于大量(例如,数万或更多)训练实例,并且基于这些训练实例来更新这些神经网络。
在图4中,示出了图3的示例的几何网络120。此外,在图4中,示出了CNN 3D解码器126、全局形状采样器、几何损失引擎175和抓取损失引擎177。在一些实施方式中,损失引擎175和177可以是训练引擎130的组件。
在图4中,静态图像171A1和静态视觉传感器姿态172A1作为输入被应用于CNN编码器122。静态图像171A1和静态视觉传感器姿态172A1两者都是来自训练实例数据库170的训练实例。基于所应用的静态图像171A1和静态视觉传感器姿态172A1,使用CNN编码器122生成全局几何表示423。全局几何表示423是编码。例如,编码可以是1×1×512的值矩阵。
全局几何表示423作为输入被应用于CNN 3D解码器126,CNN 3D解码器126可以是去卷积神经网络。使用CNN 3D解码器126生成全局几何表示423的解码,并且全局几何表示423的解码是3D体素(voxel)表示427的形式。例如,体素表示427可以是32×32×32(或其他维度)的值矩阵,其中每个值指示对应的体素(例如,被占用/未被占用)的(多个)特征。将体素表示427提供给全局形状采样器128,全局形状采样器128将体素表示427转换成与静态图像171A1的分辨率相同的预测图像428。全局形状采样器128利用静态视觉传感器姿态172A1将体素转换成预测图像428,使得预测图像428是与静态视觉传感器姿态172A1的姿态相同的预测图像。
几何损失引擎175基于预测图像428和静态图像171A1的比较生成损失176。因此,生成的损失176是预测图像428和静态图像171A1之间的差异的函数。在一些实施方式中,生成的损失176是两个图像428、171A1的深度维度的差异的函数,并且可选地是两个图像428、171A1之间的“对象掩码(object mask)”差异的差异的函数。图像的“对象掩码”可以是图像中捕获的对象的2D轮廓。损失176用于更新CNN 3D解码器126和/或CNN编码器122。例如,损失可以通过CNN 3D解码器126和CNN编码器122两者反向传播。
因此,通过如上所述的损失176的生成,CNN编码器122被更新以鼓励基于2D或2.5D图像生成表示图像中的(多个)对象的丰富几何特征的编码—因为编码423正被应用于CNN3D编码器126以生成体素形式的3D表示,并且通过生成预测图像428以及比较预测图像428与静态图像171A1,间接地将所生成的3D表示的精度确定为损失176的函数。
值得注意的是,CNN 3D解码器126和全局形状采样器128在图4中用于训练CNN编码器122。然而,在许多实施方式中,它们没有在推理阶段被利用,如图3的示例所示。换句话说,它们用于训练可以使得能够训练CNN编码器122,使得CNN编码器122可以用于生成图像的几何感知编码。如本文所述,那些编码然后可以作为直接输入被应用于抓取结果预测网络140,并且抓取结果预测网络140可以用于基于这些编码来确定抓取结果预测。因此,在那些实施方式中,抓取结果预测网络140可以接受几何特征的高维编码,并基于几何特征的高维编码生成输出,以代替低维(且计算负担更重)的全3D表示。
在图4中,局部形状采样器124利用全局几何表示423和训练实例的抓取姿态173A来生成局部几何表示425。
全局几何表示423、局部几何表示425和抓取姿态173A作为输入被应用于抓取结果预测网络140。此外,训练实例的预抓取图像171A2和可选的预抓取视觉传感器姿态172A2也作为输入被应用于抓取结果预测网络140。如本文所述(例如,图3),在一些实施方式中,抓取结果预测网络140可以包括多个单独的神经网络(每个神经网络包括多个层),并且每个输入可以被应用于对应的一个(多个)神经网络。例如,预抓取图像171A2和预抓取视觉传感器姿态172A2可以作为输入应用于CNN 142(图3),来自CNN 142的输出和全局几何423应用于组合层143,来自组合层143的输出(图3)和抓取姿态473A作为输入应用于第一MLP 144(图3),并且来自第一MLP 144的输出和局部几何425作为输入应用于第二MLP 144(图3)。
基于所应用的输入,使用抓取结果预测网络140生成抓取结果预测447。
抓取损失引擎177基于抓取结果预测447与训练实例的实际抓取结果177A2的比较生成损失178。因此,生成的损失178是抓取结果预测447和实际抓取结果177A2之间的差异的函数。损失178用于更新抓取结果预测网络140。例如,损失可以通过抓取结果预测网络140反向传播。在一些实施方式中,损耗178也可以用于更新CNN编码器122和/或CNN 3D解码器126。
图4示出了基于训练实例训练CNN编码器122和抓取结果预测网络140两者的示例。然而,在一些实施方式中,CNN编码器122可以至少是独立于抓取结果预测网络140的任何训练而“预先训练的”。例如,可以利用来自训练实例的静态图像和静态相机姿态,并利用如上所述的CNN 3D解码器126、全局形状采样器128和几何损失引擎175,对CNN编码器122进行预训练。此后,抓取结果预测网络140可以与CNN编码器122一起训练(例如,利用由CNN编码器122基于训练实例生成的全局几何表示)。在那些实施方式中的一些中,CNN编码器122可以在这样的后续训练期间继续更新。例如,可以基于抓取损失引擎177生成的损失和/或基于几何损失引擎175生成的损失(如果在这样的后续训练中利用引擎175和/或CNN 3D解码器126和全局形状采样器128),继续更新CNN编码器122。此外,图4示出了单个静态图像171A1和基于单个静态图像171A1确定的损失176的示例。然而,在许多实施方式中,可以利用来自场景的多个静态图像(例如,每个静态图像从不同的视觉传感器姿态捕获),可以为每个静态图像确定预测图像,并且损失176可以是基于所有预测图像和它们对应的静态图像之间的差异的多重损失。
在一些实施方式中,在将体素表示427转换成预测图像428时,全局形状采样器128执行投影操作,该投影操作利用基于静态视觉传感器姿态172A1的视觉传感器转换矩阵将体素表示427转换成2.5D图像(具有深度映射的2D)。这可以包括:执行从体素表示427(在3D世界帧中)到输出体积(在归一化坐标中)的密集采样;并且在一维上展平3D空间输出。来自体素表示427的每个3D点和输出体积中的每个对应点可以由全局形状采样器128使用视觉传感器变换矩阵进行关联。
现在转向图5-8,提供了对本文描述的各种方法的附加描述。
图5是示出基于用户引导的抓取尝试生成训练实例的示例方法500的流程图。为了方便,参考执行这些操作的系统来描述流程图的操作。该系统可以包括一个或多个计算系统(例如,计算设备105和/或训练实例生成系统110)的一个或多个组件。此外,虽然方法500的操作以特定顺序示出,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框552,用户引导的抓取尝试开始。
在框554,系统存储场景的一个或多个静态图像以及对应的(多个)视觉传感器姿态。例如,在用户引导的抓取尝试是经由VR环境的情况下,系统可以渲染一个或多个静态图像,每个静态图像都是从虚拟视觉传感器姿态渲染的,该虚拟视觉传感器姿态以抓取尝试的目标对象为目标或靠近该目标对象,并且该虚拟视觉传感器姿态处于距目标对象对应的距离处,并处于对应的方位和高度处。在一些实施方式中,静态图像中的一个或多个可以省略任何机器人末端效应器。
在框556,系统存储用户引导的抓取尝试的抓取姿态。例如,对于基于VR的用户引导的抓取尝试,系统可以基于尝试抓取时虚拟环境中末端效应器的虚拟姿态来确定抓取姿态。
在框558,系统确定并存储用户引导的抓取尝试的实际抓取结果,诸如指示实际抓取结果的度量。作为一个示例,对于基于VR的用户引导的抓取尝试,如果在虚拟现实环境中将末端效应器的抓取构件致动到闭合或“部分闭合”状态之后,目标对象的至少一部分被安置在抓取构件之间,则系统可以确定指示成功抓取结果的度量。
在框560,系统生成训练实例,该训练实例包括:在框554存储的(多个)静态图像和对应的(多个)静态视觉传感器姿态、在框556存储的抓取姿态、在抓取尝试之前捕获的预抓取图像、可选的预抓取图像的预抓取视觉传感器姿态以及框558的实际抓取结果。预抓取图像和可选的预抓取视觉传感器姿态捕获目标对象和末端效应器。在一些情况下,当末端效应器处于抓取姿态时,可以捕获预抓取图像,或者当末端效应器处于抓取姿态之前的姿态时,可以捕获预抓取图像,这种姿态在抓取姿态之前并且发生在抓取姿态的至少阈值时间持续期间内。
在框562,系统基于用户引导的抓取尝试自动生成附加训练实例。在一些实施方式中,在基于用户引导的抓取尝试生成附加训练实例时,系统执行子框562A-562A。
在框562A,系统基于存储的用户引导的抓取尝试的抓取姿态(框556的抓取姿态),确定抓取尝试的新的抓取姿态。例如,系统可以基于其在用户引导的抓取尝试的抓取姿态的期望方差内来确定新的抓取姿态。例如,系统可以基于从姿态的正态分布中伪随机选择新的抓取姿态来确定该新的抓取姿态,其中姿态的正态分布具有存储的抓取姿态的平均值和期望方差(例如,5厘米作为位置的标准偏差,20度作为方向的标准偏差)。
在框562B,系统以新的抓取姿态尝试抓取。
在框562C,系统确定并存储新的实际抓取结果,诸如指示新的实际抓取结果的度量。
在框562D,系统生成附加训练实例,该附加训练实例包括:静态图像(例如,框554的图像和/或(多个)附加静态图像)和对应的静态视觉传感器姿态、框562A的新的抓取姿态、新的预抓取图像和可选的新的预抓取视觉传感器姿态、以及框562C的新的实际抓取结果。在一些情况下,当末端效应器处于新的抓取姿态时,可以捕获新的预抓取图像,或者当末端效应器处于新的抓取姿态之前的姿态时,可以捕获新的预抓取图像。
图6是示出基于训练实例预训练几何网络的示例方法的流程图。为了方便,参考执行这些操作的系统来描述流程图的操作。该系统可以包括一个或多个计算系统(例如,训练引擎130)的一个或多个组件。此外,虽然方法600的操作以特定顺序示出,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框654,系统选择训练实例。
在框656,系统基于将训练实例的静态图像应用于几何网络的CNN编码器来生成编码。
在框658,系统基于将编码应用于CNN 3D解码器来生成体素表示输出。
在框660,系统基于体素输出表示的投影来生成预测图像,其中体素输出表示的投影基于训练实例的静态图像的视觉传感器姿态。
在框662,系统基于预测图像和静态图像更新几何网络。例如,系统可以基于预测图像和静态图像的比较生成损失,并且通过CNN编码器和/或CNN3D解码器反向传播该损失。在一些实施方式中,系统生成损失,损失是预测图像和静态图像的深度维度的差异的函数,并且可选地是两个图像之间的“对象掩码”差异的差异的函数。
在框664,系统确定是否应该处理附加训练实例。如果应该,系统进行到框654,并选择附加训练实例。如果不应该,系统进行到框666,并且几何网络预训练结束。在一些实施方式中,确定是否应该处理附加训练实例可以包括:确定附加的未处理训练实例是否可用和/或是否已经满足一个或多个训练标准(例如,多个时期标准、训练持续期间标准)。
图7是示出基于训练实例训练抓取结果预测网络和可选的几何网络的示例方法700的流程图。为了方便起见,参考执行这些操作的系统来描述流程图的操作。该系统可以包括一个或多个计算系统(例如,训练引擎130)的一个或多个组件。此外,尽管方法700的操作以特定顺序示出,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框752,系统开始训练。
在框754,系统选择训练实例。
在框756,系统基于将训练实例的静态图像应用于几何网络的CNN编码器来生成编码。
在框758,系统基于将编码和末端效应器姿态应用于局部形状采样器来生成局部几何表示。
在框760,系统基于向抓取结果预测网络应用以下几项:框756的编码;框758的局部几何表示;以及,训练实例的抓取姿态、预抓取图像和可选的预抓取视觉传感器姿态,使用抓取结果预测网络生成预测抓取结果。
在框762,系统基于框760的预测抓取结果和训练实例的实际抓取结果执行反向传播。例如,系统可以基于抓取结果预测与实际抓取结果的比较来生成损失,并且通过抓取结果预测网络140并且可选地通过CNN编码器122来反向传播该损失。
图8示出了利用几何网络和抓取结果预测网络来确定何时基于候选抓取姿态尝试抓取的示例方法。为了方便起见,参考执行这些操作的系统来描述流程图的操作。该系统可以包括机器人的一个或多个处理器,诸如机器人180、机器人925和/或其他机器人的一个或多个处理器和/或机器人控制系统。在实施方法800的一个或多个框时,系统可以使用训练后的神经网络模型来操作,例如,该训练后的神经网络模型可以本地存储在机器人上和/或远离机器人存储。此外,尽管方法800的操作以特定顺序示出,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框852,系统确定机器人的末端效应器的候选抓取姿态。例如,系统可以使用诸如CEM和/或其他优化技术的优化技术来确定候选抓取姿态。
在框854,系统识别由机器人的视觉传感器捕获的当前图像。当前图像可以是最近捕获的图像,或者是在当前时间的阈值时间阈值内捕获的图像。
在框856,系统使用训练后的编码器神经网络生成当前图像或附加图像的编码。当编码是附加图像的编码时,附加图像可以是比当前图像在时间上更早捕获的图像,并且可以可选地省略机器人的末端效应器,或者以不遮挡附加图像中的对象的姿态包括末端效应器。在使用训练后的编码器神经网络生成编码时,也可以可选地利用对应的图像的视觉传感器姿态。
在框858,系统将框854的当前图像、框852的候选抓取姿态和框856的编码作为一个或多个输入应用于训练后的抓取结果预测网络。在一些实施方式中,系统还将局部几何表示(例如,从候选抓取姿态的角度基于对框856的编码的密集采样而生成的局部几何表示)应用于训练后的抓取结果预测网络。
在框860,系统基于应用一个或多个输入,使用训练后的抓取结果预测网络生成抓取结果预测。
在框862,系统确定在框860生成的抓取结果预测是否满足一个或多个标准(例如,阈值)。如果满足,则系统进行到框864,并使末端效应器以候选抓取姿态尝试抓取。例如,系统可以向机器人的致动器提供一个或多个控制命令,以使末端效应器移动到候选抓取姿态(如果它尚未处于候选抓取姿态),并以候选抓取姿态尝试抓取(例如,闭合一个或多个可致动构件)。
如果不满足,则系统返回到框852,并确定附加的候选抓取姿态。然后,系统可以使用附加的候选抓取姿态来执行框858、860和862的另一次迭代(系统可以重新使用来自先前迭代的编码,或者生成新的编码(例如,如果场景已经改变))。
在一些实施方式中,可以并行执行图8的一个或多个框的多次迭代。例如,在一些实施方式中,可以并行考虑多个候选抓取姿态(例如,通过使用相同编码执行框858和860的多次迭代),并且框862可以包括确定多个候选中的任何一个是否满足一个或多个标准。在一些实施方式中,框852、854、856、858和860的多次迭代可以用于在给定迭代中采样(根据优化技术)多个候选末端效应器姿态。在那些实施方式中的一些中,可以从那些采样的候选末端效应器姿态中选择在框860处具有最佳抓取结果预测的采样的候选末端效应器姿态,作为要实施的确定抓取姿态。因此,在那些实施方式的一些版本中,可以根据优化技术在每次迭代中采样多个候选抓取姿态,并且在迭代中,只有最佳的(根据优化技术)采样的候选抓取姿态可以被选择用于实际实施(例如,用于控制末端效应器)。以这些和其他方式,在每次迭代中采样/考虑多个候选抓取姿态,但是在每次迭代中仅选择和实施一个候选抓取姿态。
图9示意性地描绘了机器人925的示例架构。机器人925包括机器人控制系统960、一个或多个操作组件925a-925n以及一个或多个传感器942a-942m。例如,传感器942a-942m可以包括视觉传感器、光传感器、压力传感器、压力波传感器(例如,麦克风)、接近传感器、加速度计、陀螺仪、温度计、气压计等。虽然传感器942a-m被描绘为与机器人925集成一体,但这并不意味着是限制性的。在一些实施方式中,传感器942a-m可以位于机器人925的外部,例如,作为独立的单元。
例如,操作部件925a-925n可以包括一个或多个末端效应器和/或一个或多个伺服电动机或其他致动器,以实现机器人的一个或多个部件的移动。例如,机器人925可以具有多个自由度,并且每个致动器可以响应于控制命令在这些自由度的一个或多个内控制机器人925的致动。如本文所使用的,除了可能与致动器相关联并将接收到的控制命令转换为用于驱动致动器的一个或多个信号的任何(多个)驱动器之外,术语致动器包括可产生运动的机械或电气设备(例如,电动机)。因此,向致动器提供控制命令可以包括向驱动器提供控制命令,其中该驱动器将控制命令转换为用于驱动电气或机械设备产生期望的运动的适当信号。
机器人控制系统960可以在一个或多个处理器中实施,诸如机器人925的CPU、GPU和/或其他(多个)控制器。在一些实施方式中,机器人925可以包括“脑盒(brain box)”,脑盒可以包括控制系统960的所有或方面。例如,脑盒可以向操作组件925a-n提供数据的实时突发,每个实时突发包括一个或多个控制命令的集合,这些控制命令尤其规定了操作组件925a-n中的一个或多个中的每个的运动参数(如果有的话)。在一些实施方式中,机器人控制系统960可以执行本文描述的方法800的一个或多个方面。
如本文所述,在一些实施方式中,由控制系统960在安置末端效应器以抓取对象时生成的控制命令的所有或方面可以基于末端效应器命令,其中该末端效应器命令基于使用训练后的抓取结果预测网络生成的(多个)抓取结果预测而生成。例如,传感器942a-m的视觉传感器可以捕获当前图像和静态图像(在当前图像之前),并且机器人控制系统960可以生成候选抓取姿态。机器人控制系统960可以基于将静态图像和对应的静态视觉传感器姿态作为输入应用于训练后的CNN编码器来生成编码,如本文所述。此外,机器人控制系统960可以将编码、候选抓取姿态以及当前图像和对应的当前视觉传感器姿态作为(多个)输入应用于训练后的抓取结果预测网络,以利用候选抓取姿态确定抓取成功度量。如果抓取成功度量满足阈值和/或其他标准,则控制系统960可以提供控制命令,以使机器人的末端效应器以候选抓取姿态尝试抓取。尽管控制系统960在图9中被示为机器人925的组成部分,但是在一些实施方式中,控制系统960的所有或方面可以在与机器人925分离但与机器人925通信的组件中实施。例如,控制系统960的所有或方面可以在与机器人925有线和/或无线通信的一个或多个计算设备(例如,计算设备1010)上实施。
图10是示例计算设备1010的框图,示例计算设备1010可以可选地用于执行本文描述的技术的一个或多个方面。例如,在一些实施方式中,计算设备1010可以用于训练各种神经网络模型、生成训练实例和/或渲染VR环境。计算设备1010通常包括至少一个处理器1014,处理器1014经由总线子系统1012与多个外围设备通信。这些外围设备可以包括存储子系统1024(例如,包括存储器子系统1025和文件存储子系统1026)、用户界面输出设备1020、用户界面输入设备1022和网络接口子系统1016。输入和输出设备允许用户与计算设备1010交互。网络接口子系统1016提供到外部网络的接口,并且耦合到其他计算设备中的对应接口设备。
用户界面输入设备1022可以包括键盘、定点设备(例如,鼠标、轨迹球、触摸板或图形输入板)、扫描仪、合并到显示器中的触摸屏、音频输入设备(例如,语音识别系统、麦克风)和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备1010或通信网络上的所有可能类型的设备和方式。
用户界面输出设备1020可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(cathode ray tube,CRT)、诸如液晶显示器(liquid crystal display,LED)的平板设备、投影设备或用于创建可视图像的一些其他机制。显示子系统还可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括从计算设备1010向用户或另一机器或计算设备输出信息的所有可能类型的设备和方式。
存储子系统1024存储提供本文描述的一些或所有模块的功能的编程和数据结构。例如,存储子系统1024可以包括执行图5、6、7和/或8的方法的所选择的方面的逻辑。
这些软件模块通常由处理器1014单独或与其他处理器结合执行。存储子系统1024中使用的存储器1025可以包括多个存储器,包括用于在程序运行期间存储指令和数据的主随机存取存储器(random access memory,RAM)1030和存储固定指令的只读存储器(readonly memory,ROM)1032。文件存储子系统1026可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移除介质、CD-ROM驱动器、光盘驱动器或可移除介质盒。实施某些实施方式的功能的模块可以由文件存储子系统1026存储在存储子系统1024中,或者存储在(多个)处理器1014可访问的其他机器中。
总线子系统1012提供了一种机制,用于让计算设备1010的各个组件和子系统按照预期相互通信。虽然总线子系统1012被示意性地示为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算设备1010可以是各种类型的,包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图10中描绘的计算设备1010的描述仅旨在作为为了示出一些实施方式的特定示例。计算设备1010的许多其他配置可能具有比图10所示的计算设备更多或更少的组件。
虽然本文已经描述和示出了几个实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的各种其他装置和/或结构,并且这些变化和/或修改中的每一个都被认为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置都是示例性的,并且实际的参数、尺寸、材料和/或配置将取决于这些教导被用于的一个或多个特定应用。本领域技术人员将认识到,或者能够仅使用常规实验来确定本文描述的具体实施方式的许多等同物。因此,应该理解的是,前述实施方式仅作为示例给出,并且在所附权利要求及其等同物的范围内,实施方式可以以不同于具体描述和要求保护的方式实践。本公开的实施方式针对本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,如果两个或多个这样的特征、系统、物品、材料、套件和/或方法不是相互不一致的,则这两个或多个这样的特征、系统、物品、材料、套件和/或方法的任何组合都包括在本公开的范围内。
Claims (22)
1.一种由一个或多个处理器实施的方法,包括:
识别由机器人的视觉传感器捕获的当前图像,所述当前图像捕获所述机器人的末端效应器和将由所述机器人使用所述末端效应器抓取的对象;
确定所述末端效应器的候选抓取姿态;
生成捕获所述对象的所述当前图像或附加图像的编码;其中,生成所述编码包括使用训练后的神经网络编码器处理所述当前图像或所述附加图像,并且其中,所生成的编码对所述对象的几何特征进行编码;
将所述当前图像、所述候选抓取姿态和所述编码作为一个或多个输入应用于抓取结果预测网络,其中,所述抓取结果预测网络是训练后的神经网络模型;
基于所述一个或多个输入、使用所述抓取结果预测网络生成抓取结果预测;
确定所述抓取结果预测满足一个或多个标准;以及
响应于所述抓取结果预测满足一个或多个标准,向所述机器人的一个或多个致动器提供控制命令,以使所述末端效应器以所述末端效应器的候选抓取姿态尝试抓取所述对象。
2.根据权利要求1所述的方法,还包括:
使用所述编码和所述末端效应器的候选抓取姿态生成局部几何表示;以及
在生成所述抓取结果预测时,将所述局部几何表示包括在应用于所述抓取结果预测网络的一个或多个输入中。
3.根据权利要求2所述的方法,其中,生成所述局部几何表示包括从所述末端效应器的候选抓取姿态的参考系对所述编码执行密集采样。
4.根据前述权利要求中任一项所述的方法,其中,所述编码对于所述视觉传感器的任何视觉传感器姿态都是不变的。
5.根据前述权利要求中任一项所述的方法,其中,所述训练后的神经网络编码器是与三维神经网络解码器联合训练的。
6.根据权利要求5所述的方法,其中,所述训练后的神经网络编码器是基于将在所述神经网络编码器上生成的训练编码应用于所述三维解码器、在所述三维解码器上生成训练解码、至少部分基于所述训练解码确定损失、以及基于所述损失更新所述神经网络编码器来训练的。
7.根据前述权利要求中任一项所述的方法,其中,由所述编码来编码的几何特征包括所述对象的三维形状特征。
8.根据前述权利要求中任一项所述的方法,其中,将所述一个或多个输入应用于所述抓取结果预测网络包括:
将所述当前图像作为所述一个或多个输入中的第一输入的至少一部分应用于一个或多个第一层;以及
基于应用所述第一输入,在所述第一层上生成第一层输出。
9.根据权利要求8所述的方法,其中,将所述一个或多个输入应用于所述抓取结果预测网络还包括:
将所述编码和所述第一层输出作为所述一个或多个输入中的第二输入的至少一部分应用于一个或多个第二层;以及
基于应用所述第二输入,在所述第二层上生成第二层输出。
10.根据权利要求9所述的方法,其中,将所述一个或多个输入应用于所述抓取结果预测网络还包括:
将所述末端效应器姿态和所述第二层输出作为所述一个或多个输入中的第三输入的至少一部分应用于一个或多个第三层;以及
基于应用所述第三输入,在所述第三层上生成第三层输出。
11.根据权利要求10所述的方法,还包括:
使用所述编码和所述末端效应器的候选抓取姿态生成局部几何表示;
将所述第三层输出和所述局部几何表示作为所述一个或多个输入中的第四输入的至少一部分应用于一个或多个第四层;以及
基于应用所述第四输入,在所述第四层上生成所述抓取结果预测。
12.根据前述权利要求中任一项所述的方法,其中,确定所述候选抓取姿态包括:
生成多个候选抓取姿态;以及
对所述多个候选抓取姿态执行交叉熵优化的一次或多次迭代,以从所述多个候选抓取姿态中选择所述候选抓取姿态。
13.根据前述权利要求中任一项所述的方法,还包括:
识别所述视觉传感器的当前视觉传感器姿态;以及
将所述当前视觉传感器姿态包括在应用于所述抓取结果预测网络的输入中的一个或多个中。
14.一种由一个或多个处理器实施的方法,包括:
识别由机器人的视觉传感器捕获的当前图像,所述当前图像捕获所述机器人的末端效应器和将由所述机器人使用所述末端效应器抓取的对象;
生成捕获所述对象的所述当前图像或附加图像的编码;其中,生成所述编码包括使用训练后的神经网络编码器处理所述当前图像或所述附加图像,并且其中,所生成的编码对所述对象的几何特征进行编码;
将所述当前图像和所述编码作为一个或多个输入应用于预测网络,其中,所述预测网络是训练后的神经网络模型;
基于所述一个或多个输入、使用所述预测网络生成预测;
确定所述结果预测满足一个或多个标准;以及
响应于所述预测满足一个或多个标准,向所述机器人的一个或多个致动器提供基于所述预测的控制命令。
15.根据权利要求14所述的方法,还包括:
使用所述编码生成局部几何表示;以及
在生成所述预测时,将所述局部几何表示包括在应用于所述预测网络的一个或多个输入中。
16.根据权利要求15所述的方法,其中,生成所述局部几何表示包括对所述编码执行密集采样。
17.根据权利要求14至16中任一项所述的方法,其中,所述编码对于所述视觉传感器的任何视觉传感器姿态都是不变的。
18.根据权利要求14至17中任一项所述的方法,其中,所述训练后的神经网络编码器是与三维神经网络解码器联合训练的。
19.根据权利要求18所述的方法,其中,所述训练后的神经网络编码器是基于将在所述神经网络编码器上生成的训练编码应用于所述三维解码器、在所述三维解码器上生成训练解码、至少部分基于所述训练解码确定损失、以及基于所述损失更新所述神经网络编码器来训练的。
20.一种机器人,包括:
观察环境的视觉传感器;
存储在一个或多个非暂时性计算机可读介质中的训练后的神经网络编码器和训练后的抓取结果预测网络;
一个或多个处理器,被配置为:
识别由所述视觉传感器捕获的当前图像,所述当前图像捕获将由所述机器人使用末端效应器抓取的对象;
确定所述末端效应器的候选抓取姿态;
生成捕获所述对象的所述当前图像或附加图像的编码;其中,在生成所述编码时,所述处理器中的一个或多个将通过使用所述训练后的神经网络编码器处理所述当前图像或所述附加图像来生成所述编码,并且其中,所生成的编码对所述对象的几何特征进行编码;
将所述当前图像、所述候选抓取姿态和所述编码作为一个或多个输入应用于所述训练后的抓取结果预测网络;
基于所述一个或多个输入、使用所述训练后的抓取结果预测网络生成抓取结果预测;以及
基于所述抓取结果预测向所述机器人的一个或多个致动器提供控制命令。
21.一种计算机可运行指令,当所述计算机可运行指令由一个或多个处理器运行时,使所述一个或多个处理器执行根据权利要求1至19中任一项所述的方法。
22.一种包括一个或多个计算机的系统,所述一个或多个计算机包括一个或多个处理器,所述一个或多个处理器可操作来运行所存储的指令以执行根据权利要求1至19中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310071129.0A CN116476044A (zh) | 2017-06-19 | 2018-06-18 | 使用神经网络和几何感知对象表示的机器人抓取预测 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762522059P | 2017-06-19 | 2017-06-19 | |
US62/522,059 | 2017-06-19 | ||
PCT/US2018/038082 WO2018236753A1 (en) | 2017-06-19 | 2018-06-18 | PREDICTION OF ROBOTIC SEIZURE USING NEURAL NETWORKS AND A GEOMETRY-SENSITIVE REPRESENTATION OF OBJECT |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310071129.0A Division CN116476044A (zh) | 2017-06-19 | 2018-06-18 | 使用神经网络和几何感知对象表示的机器人抓取预测 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110691676A true CN110691676A (zh) | 2020-01-14 |
CN110691676B CN110691676B (zh) | 2023-02-03 |
Family
ID=62904572
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880035890.6A Active CN110691676B (zh) | 2017-06-19 | 2018-06-18 | 使用神经网络和几何感知对象表示的机器人抓取预测 |
CN202310071129.0A Pending CN116476044A (zh) | 2017-06-19 | 2018-06-18 | 使用神经网络和几何感知对象表示的机器人抓取预测 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310071129.0A Pending CN116476044A (zh) | 2017-06-19 | 2018-06-18 | 使用神经网络和几何感知对象表示的机器人抓取预测 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10864631B2 (zh) |
EP (2) | EP3515671B1 (zh) |
CN (2) | CN110691676B (zh) |
WO (1) | WO2018236753A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459278A (zh) * | 2020-04-01 | 2020-07-28 | 中国科学院空天信息创新研究院 | 基于触觉阵列的机器人抓取状态判别方法 |
CN113345100A (zh) * | 2021-05-19 | 2021-09-03 | 上海非夕机器人科技有限公司 | 用于物体的目标抓取姿态的预测方法、装置、设备和介质 |
TWI771004B (zh) * | 2021-05-14 | 2022-07-11 | 財團法人工業技術研究院 | 物件姿態估測系統及其執行方法與圖案化使用者介面 |
CN114901441A (zh) * | 2020-01-23 | 2022-08-12 | 欧姆龙株式会社 | 机器人系统的控制装置、机器人系统的控制方法、计算机控制程序及机器人系统 |
WO2024087331A1 (zh) * | 2022-10-24 | 2024-05-02 | 深圳先进技术研究院 | 一种基于三元组对比网络的机器人抓取预测方法 |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3515671B1 (en) | 2017-06-19 | 2020-05-13 | Google LLC | Robotic grasping prediction using neural networks and geometry aware object representation |
US10836034B2 (en) * | 2017-07-10 | 2020-11-17 | Kindred Systems Inc. | Systems, devices, articles, and methods for prehension of items |
JP6814480B2 (ja) * | 2017-11-08 | 2021-01-20 | 株式会社アクセル | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム |
US10754318B2 (en) | 2017-12-21 | 2020-08-25 | X Development Llc | Robot interaction with objects based on semantic information associated with embedding spaces |
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) |
CN112740631B (zh) * | 2018-07-20 | 2024-09-20 | 诺基亚技术有限公司 | 通过接收算法中的参数的更新来在通信系统中学习 |
US11833681B2 (en) * | 2018-08-24 | 2023-12-05 | Nvidia Corporation | Robotic control system |
KR102619004B1 (ko) * | 2018-12-14 | 2023-12-29 | 삼성전자 주식회사 | 로봇 장치 및 로봇의 작업 기술을 학습하는 방법 |
JP7044047B2 (ja) * | 2018-12-14 | 2022-03-30 | トヨタ自動車株式会社 | ロボット |
US11185978B2 (en) * | 2019-01-08 | 2021-11-30 | Honda Motor Co., Ltd. | Depth perception modeling for grasping objects |
CN109531584A (zh) * | 2019-01-31 | 2019-03-29 | 北京无线电测量研究所 | 一种基于深度学习的机械臂控制方法和装置 |
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 |
US11433545B2 (en) | 2019-02-17 | 2022-09-06 | Samsung Electronics Co., Ltd. | Robotic vision |
EP3790710A1 (en) | 2019-03-01 | 2021-03-17 | Google LLC | Robotic manipulation using domain-invariant 3d representations predicted from 2.5d vision data |
US11813758B2 (en) * | 2019-04-05 | 2023-11-14 | Dexterity, Inc. | Autonomous unknown object pick and place |
CN110315544B (zh) * | 2019-06-24 | 2022-10-14 | 南京邮电大学 | 一种基于视频图像演示的机器人操作学习方法 |
US11203116B2 (en) * | 2019-08-02 | 2021-12-21 | Teradyne, Inc. | System and method for predicting robotic tasks with deep learning |
EP3998140A4 (en) | 2019-08-28 | 2022-09-28 | Daily Color Inc. | ROBOT CONTROL DEVICE |
WO2021045350A1 (en) * | 2019-09-03 | 2021-03-11 | Samsung Electronics Co., Ltd. | Robotic vision |
US11724401B2 (en) * | 2019-11-13 | 2023-08-15 | Nvidia Corporation | Grasp determination for an object in clutter |
US11331799B1 (en) * | 2019-12-31 | 2022-05-17 | X Development Llc | Determining final grasp pose of robot end effector after traversing to pre-grasp pose |
US11657419B2 (en) * | 2020-03-06 | 2023-05-23 | Yembo, Inc. | Systems and methods for building a virtual representation of a location |
US12053887B2 (en) * | 2020-03-06 | 2024-08-06 | Embodied Intelligence Inc. | Imaging process for detecting failures modes |
CN111331607B (zh) * | 2020-04-03 | 2021-04-23 | 山东大学 | 一种基于机械臂的自主抓取与码垛方法及系统 |
DE102020113278B4 (de) | 2020-05-15 | 2024-07-25 | Gerhard Schubert Gesellschaft mit beschränkter Haftung | Verfahren zur Steuerung des Betriebs eines Industrieroboters, Industrieroboter und Anordnung zur Umsetzung von Objekten |
DE102020113277B4 (de) | 2020-05-15 | 2024-07-11 | Gerhard Schubert Gesellschaft mit beschränkter Haftung | Verfahren zum Erzeugen eines Trainingsdatensatzes zum Trainieren eines Industrieroboters, Verfahren zur Steuerung des Betriebs eines Industrieroboters und Industrieroboter |
US11273552B2 (en) | 2020-07-14 | 2022-03-15 | Vicarious Fpc, Inc. | Method and system for object grasping |
US11541534B2 (en) * | 2020-07-14 | 2023-01-03 | Intrinsic Innovation Llc | Method and system for object grasping |
US11559885B2 (en) * | 2020-07-14 | 2023-01-24 | Intrinsic Innovation Llc | Method and system for grasping an object |
US11436755B2 (en) * | 2020-08-09 | 2022-09-06 | Google Llc | Real-time pose estimation for unseen objects |
US11633862B2 (en) | 2020-11-25 | 2023-04-25 | Metal Industries Research & Development Centre | Automatic control method of mechanical arm and automatic control system |
US20240075625A1 (en) * | 2021-01-22 | 2024-03-07 | Abb Schweiz Ag | Assembling apparatus, assembling method and computer readable storage medium |
US20220288783A1 (en) * | 2021-03-10 | 2022-09-15 | Nvidia Corporation | Machine learning of grasp poses in a cluttered environment |
US11847743B2 (en) * | 2021-05-04 | 2023-12-19 | Sony Interactive Entertainment Inc. | Voice driven modification of physical properties and physics parameterization in a closed simulation loop for creating static assets in computer simulations |
CN113172629B (zh) * | 2021-05-06 | 2023-08-01 | 清华大学深圳国际研究生院 | 一种基于时序触觉数据处理的物体抓取方法 |
CN115249333B (zh) * | 2021-06-29 | 2023-07-11 | 达闼科技(北京)有限公司 | 抓取网络训练方法、系统、电子设备及存储介质 |
TWI782709B (zh) | 2021-09-16 | 2022-11-01 | 財團法人金屬工業研究發展中心 | 手術機械臂控制系統以及手術機械臂控制方法 |
US12102393B2 (en) | 2021-11-16 | 2024-10-01 | Metal Industries Research & Development Centre | Surgical robotic arm control system and control method thereof |
DE102022202145A1 (de) | 2022-03-02 | 2023-09-07 | Robert Bosch Gesellschaft mit beschränkter Haftung | Roboter und Verfahren zum Steuern eines Roboters |
DE102022202143B4 (de) | 2022-03-02 | 2024-05-16 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe |
DE102022202144A1 (de) | 2022-03-02 | 2023-09-07 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe |
CN115070780B (zh) * | 2022-08-24 | 2022-11-18 | 北自所(北京)科技发展股份有限公司 | 基于数字孪生的工业机器人抓取方法、装置及存储介质 |
CN117772648B (zh) * | 2024-02-27 | 2024-05-07 | 北京航空航天大学 | 基于具身智能的零件分拣处理方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101726251A (zh) * | 2009-11-13 | 2010-06-09 | 江苏大学 | 基于支持向量机的苹果采摘机器人果实自动识别方法 |
US20110071679A1 (en) * | 2009-09-22 | 2011-03-24 | Gm Global Technology Operations,Inc. | Embedded diagnostic, prognostic, and health management system and method for a humanoid robot |
US20150127150A1 (en) * | 2013-11-01 | 2015-05-07 | Brain Corporation | Apparatus and methods for haptic training of robots |
CN104640677A (zh) * | 2012-06-21 | 2015-05-20 | 睿信科机器人有限公司 | 训练和操作工业机器人 |
US20160297068A1 (en) * | 2015-04-10 | 2016-10-13 | Microsoft Technology Licensing, Llc | Automated collection and labeling of object data |
CN106094516A (zh) * | 2016-06-08 | 2016-11-09 | 南京大学 | 一种基于深度强化学习的机器人自适应抓取方法 |
CN106393102A (zh) * | 2015-07-31 | 2017-02-15 | 发那科株式会社 | 机械学习装置、机器人系统及机械学习方法 |
CN106780605A (zh) * | 2016-12-20 | 2017-05-31 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于深度学习机器人的目标物抓取位置的检测方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP6333871B2 (ja) * | 2016-02-25 | 2018-05-30 | ファナック株式会社 | 入力画像から検出した対象物を表示する画像処理装置 |
FI127100B (en) * | 2016-08-04 | 2017-11-15 | Zenrobotics Oy | A method and apparatus for separating at least one piece from a plurality of pieces |
US10131051B1 (en) * | 2016-08-12 | 2018-11-20 | Amazon Technologies, Inc. | Anticipation-based robotic object grasping |
US11157795B2 (en) * | 2017-03-13 | 2021-10-26 | International Business Machines Corporation | Graph partitioning and placement for multi-chip neurosynaptic networks |
EP3515671B1 (en) | 2017-06-19 | 2020-05-13 | Google LLC | Robotic grasping prediction using neural networks and geometry aware object representation |
US11833681B2 (en) * | 2018-08-24 | 2023-12-05 | Nvidia Corporation | Robotic control system |
US11396101B2 (en) * | 2018-11-08 | 2022-07-26 | Kabushiki Kaisha Toshiba | Operating system, control device, and computer program product |
JP7044047B2 (ja) * | 2018-12-14 | 2022-03-30 | トヨタ自動車株式会社 | ロボット |
EP3670106B1 (en) * | 2018-12-18 | 2024-05-15 | Siemens Aktiengesellschaft | Task-specific robot grasping system and method |
-
2018
- 2018-06-18 EP EP18740382.9A patent/EP3515671B1/en active Active
- 2018-06-18 CN CN201880035890.6A patent/CN110691676B/zh active Active
- 2018-06-18 US US16/617,169 patent/US10864631B2/en active Active
- 2018-06-18 EP EP20167061.9A patent/EP3693138B1/en active Active
- 2018-06-18 CN CN202310071129.0A patent/CN116476044A/zh active Pending
- 2018-06-18 WO PCT/US2018/038082 patent/WO2018236753A1/en unknown
-
2020
- 2020-11-10 US US17/094,111 patent/US11554483B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110071679A1 (en) * | 2009-09-22 | 2011-03-24 | Gm Global Technology Operations,Inc. | Embedded diagnostic, prognostic, and health management system and method for a humanoid robot |
CN101726251A (zh) * | 2009-11-13 | 2010-06-09 | 江苏大学 | 基于支持向量机的苹果采摘机器人果实自动识别方法 |
CN104640677A (zh) * | 2012-06-21 | 2015-05-20 | 睿信科机器人有限公司 | 训练和操作工业机器人 |
US20150127150A1 (en) * | 2013-11-01 | 2015-05-07 | Brain Corporation | Apparatus and methods for haptic training of robots |
US20160297068A1 (en) * | 2015-04-10 | 2016-10-13 | Microsoft Technology Licensing, Llc | Automated collection and labeling of object data |
CN106393102A (zh) * | 2015-07-31 | 2017-02-15 | 发那科株式会社 | 机械学习装置、机器人系统及机械学习方法 |
CN106094516A (zh) * | 2016-06-08 | 2016-11-09 | 南京大学 | 一种基于深度强化学习的机器人自适应抓取方法 |
CN106780605A (zh) * | 2016-12-20 | 2017-05-31 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于深度学习机器人的目标物抓取位置的检测方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114901441A (zh) * | 2020-01-23 | 2022-08-12 | 欧姆龙株式会社 | 机器人系统的控制装置、机器人系统的控制方法、计算机控制程序及机器人系统 |
US12097627B2 (en) | 2020-01-23 | 2024-09-24 | Omron Corporation | Control apparatus for robotic system, control method for robotic system, computer-readable storage medium storing a computer control program, and robotic system |
CN111459278A (zh) * | 2020-04-01 | 2020-07-28 | 中国科学院空天信息创新研究院 | 基于触觉阵列的机器人抓取状态判别方法 |
TWI771004B (zh) * | 2021-05-14 | 2022-07-11 | 財團法人工業技術研究院 | 物件姿態估測系統及其執行方法與圖案化使用者介面 |
CN113345100A (zh) * | 2021-05-19 | 2021-09-03 | 上海非夕机器人科技有限公司 | 用于物体的目标抓取姿态的预测方法、装置、设备和介质 |
CN113345100B (zh) * | 2021-05-19 | 2023-04-07 | 上海非夕机器人科技有限公司 | 用于物体的目标抓取姿态的预测方法、装置、设备和介质 |
WO2024087331A1 (zh) * | 2022-10-24 | 2024-05-02 | 深圳先进技术研究院 | 一种基于三元组对比网络的机器人抓取预测方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3515671B1 (en) | 2020-05-13 |
EP3693138B1 (en) | 2022-08-03 |
US20200094405A1 (en) | 2020-03-26 |
US10864631B2 (en) | 2020-12-15 |
EP3693138A1 (en) | 2020-08-12 |
CN116476044A (zh) | 2023-07-25 |
US20210053217A1 (en) | 2021-02-25 |
CN110691676B (zh) | 2023-02-03 |
US11554483B2 (en) | 2023-01-17 |
EP3515671A1 (en) | 2019-07-31 |
WO2018236753A1 (en) | 2018-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110691676B (zh) | 使用神经网络和几何感知对象表示的机器人抓取预测 | |
US11548145B2 (en) | Deep machine learning methods and apparatus for robotic grasping | |
US11045949B2 (en) | Deep machine learning methods and apparatus for robotic grasping | |
US11325252B2 (en) | Action prediction networks for robotic grasping | |
US11607802B2 (en) | Robotic control using action image(s) and critic network | |
EP3790710A1 (en) | Robotic manipulation using domain-invariant 3d representations predicted from 2.5d vision data |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |