一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于学习高维机器人任务的网络模块化的制作方法

2022-12-09 23:41:35 来源:中国专利 TAG:


1.本公开一般涉及一种用于将高维神经网络解耦成两个或更多个较低输入维度的神经网络的方法,并且更具体地,涉及一种用于生成高维任务的机器人动作的网络模块化方法,其将高自由度(dof)动作分解成组,并且神经网络使用专门设计的数据来单独地搜索分组动作中的每一个。


背景技术:

2.使用工业机器人来执行各种各样的制造、组装和材料移动操作是众所周知的。一种这样的应用是拾取和放置操作,其中机器人从料箱拾取各个部件并将每个部件放置在传送机或船运集装箱上。这种应用的一个示例是,已经模制或加工的部件落入料箱中,并以随机的位置和定向放置,机器人的任务是拾取每个部件,并将其以预定的定向(姿态)放置在传送机上,该传送机传送部件以便包装或进一步处理。根据料箱内的部件的类型和其它因素,可以使用指型夹持器或抽吸式夹持器作为机器人工具。视觉系统(一个或多个相机)通常用于识别料箱中的各个部件的位置和姿态。
3.在本领域中已知使用已训练的神经网络系统来计算用于料箱中的部件的抓取指令。然而,现有的神经网络抓取学习系统遭受限制它们的实际使用的缺点。一种已知的系统将自顶向下的候选抓取编码成图像块并训练网络以预测多个候选抓取的质量。该系统需要长时间来计算候选抓取,并且仅能够产生用于平行爪式夹持器的自顶向下(竖直)抓取。此外,该系统不能预测杂乱环境中的各个部件之间的干扰的影响,因为它仅用单独的孤立部件/对象来训练,而不是用料箱中的随机混杂部件来训练。
4.另一已知系统通过训练网络以取得原始深度图像并输出每个像素的质量来消除对耗时的抓取候选计算的要求。然而,由于包含在每个图像中的大量像素,该系统不能对每个像素进行准确的预测。因此,该系统不如上面讨论的系统精确。此外,由于夹持器角度/宽度编码的模糊性,该系统不能处理密集杂乱环境,这种环境是料箱中的部件的典型。此外,该系统仅能产生径直的自顶向下的抓取方案。最后,在不预测深度的情况下,该系统可能潜在地驱动机器人夹持器进入料箱中的相邻部件,并且导致对夹持器或部件的损坏。
5.又一现有系统尝试确定单个网络的六自由度抓取。然而,该系统不能处理抓取评估网络中的杂乱抓取环境(诸如多个部件的堆),并且在神经网络中的抓取评估之后需要抓取细化步骤。
6.鉴于上述情况,需要一种将高维学习神经网络分解成两个或更多个较低维网络的方法,该方法可应用于全dof抓取规划和其他应用。


技术实现要素:

7.根据本公开的教导,描述并示出了一种用于将高维神经网络解耦或模块化成两个或更多个较低输入维度的神经网络的方法。所公开的网络模块化方法特别适用于基于料箱内待拾取的部件的图像生成全dof机器人抓取动作。在一个示例中,第一网络对抓取位置维
度进行编码,并且第二网络对抓取旋转维度进行编码。训练第一网络以预测在其处对于抓取旋转的任意值使抓取质量最大化的位置。训练第二网络以识别最大抓取质量,同时仅在来自第一网络的先前识别的位置处进行搜索。这样,两个网络共同识别最佳抓取,同时每个网络的维度搜索空间被大大减小。具体地,能够以在等于所评估的位置和旋转之和而不是乘积的搜索总数来评估大量的抓取位置和旋转。在网络之间分离维度可以被设计为最好地适合特定应用,甚至在一些应用中包括三个神经网络而不是两个。
8.结合附图,根据以下描述和所附权利要求,当前公开的装置和方法的附加特征将变得显而易见。
附图说明
9.图1是根据本公开的实施例的使用解耦神经网络来计算全dof抓取的机器人部件拾取系统的框图图示;
10.图2是将使用单个大型神经网络计算高dof机器人任务的现有技术与自由度被分成解耦的神经网络的本公开的技术进行对比的图示;
11.图3是根据本公开的实施例的多维搜索空间的图示,其示出了最大余量网络模块化方法如何被用于解耦搜索维度并且仍然从原始搜索空间找到最大条件;
12.图4是根据本公开的实施例的神经网络模块化技术的训练阶段中的步骤的框图图示;
13.图5是根据本发明的实施例的示出如何将3d深度图像数据处理成一组深度层并在图4的训练阶段中提供的曲线图;
14.图6是根据本公开的实施例的用于图5的特定深度层并在图4的训练阶段中提供的深度图像层的图示;
15.图7是根据本公开的实施例的神经网络模块化技术的推理阶段中的步骤的框图图示;
16.图8是根据本公开的实施例的应用于3-dof抓取搜索问题的神经网络模块化技术的框图图示;
17.图9是根据本公开的实施例的使用两个神经网络的应用于5-dof抓取搜索问题的神经网络模块化技术的框图图示;
18.图10是根据本公开的实施例的用于使用单独的对象抓取优化和分簇的对象变化与干扰模拟的组合来训练图9中所示类型的模块化抓取学习网络的方法的图示;
19.图11是根据本公开的实施例的使用三个神经网络、应用于7-dof抓取搜索问题的神经网络模块化技术的框图图示;以及
20.图12是根据本公开的实施例的用于将高维机器人任务模块化到串联连接的两个或更多个较低维度神经网络中的方法的流程图。
具体实施例
21.以下对涉及学习高维机器人任务的神经网络模块化技术的本公开的实施例的讨论本质上仅是示例性的,并且决不旨在限制所公开的设备和技术或它们的应用或使用。
22.使用工业机器人从源拾取部件并将它们放置在目的地是公知的。在一个常见的应
用中,将部件供应源设置在料箱中,例如装满刚刚被铸造好或模制好的部件的料箱。示教机器人以识别和抓取装满部件的料箱中的单个部件一直是具有挑战性的。传统方法在结构环境中手动地示教机器人。对于非结构化环境中的高维任务,期望通过使用被训练用于模式识别的神经网络的深度学习来学习鲁棒的抓取技能。
23.然而,为了学习高维机器人任务,基于学习的方法通常需要编码高维状态/动作并在高维动作空间中搜索。例如,为了学习六自由度(dof)的一般料箱拾取任务,神经网络需要在动作空间中搜索之前对高维观察和6-dof抓取动作进行编码。这会增加网络的复杂性并引入沉重的计算负荷。
24.关于高维学习中的挑战,两种已知的现有方法将搜索减少到四个维度并且以自顶向下的方式约束抓取的接近方向。此外,这些基于学习的方法或者不够快(由于耗时的候选抓取计算的要求)或者不够准确(因为它们试图预测太多的维度,这对于神经网络是困难的)。又一现有方法使用用于六自由度抓取提议的单个神经网络,但此方法遭受高搜索复杂性,需要后续抓取细化,且不能应对如料箱中的部件典型的杂乱对象环境。
25.为了克服现有方法和系统的缺点,本公开描述了一种用于将大的、高维神经网络模块化或解耦成两个或三个较低维度的较小网络的技术。利用这种神经网络模块化技术,能够保持搜索精度,同时大大提高了网络性能和效率。所公开的神经网络模块化技术的一个应用是机器人部件抓取,其中抓取的所有自由度(dof)是根据充满部件的料箱的图像计算的,并且所计算的抓取超过质量阈值。
26.图1是根据本公开的实施例的使用解耦的神经网络来计算全dof抓取的机器人部件拾取系统的框图图示。提供图1所示的系统以说明其中可以使用所公开的神经网络模块化技术的示例性应用。具有夹持器102的机器人100在工作空间内操作,其中机器人100将部件或对象从第一位置(料箱)移动到第二位置(传送机)。
27.机器人100的运动由控制器110控制,该控制器通常经由电缆112与机器人100通信。如本领域所公知的,控制器110向机器人100提供关节运动命令,并且从机器人100的关节中的编码器接收关节位置数据。控制器110还提供控制夹持器102的操作(包括夹持器旋转角度和宽度)的命令,以及夹持/松开命令。
28.计算机120与控制器110通信。计算机120包括处理器和存储器/存储装置,其配置有神经网络,用于基于三维(3d)相机图像计算抓取提议。在一个实施例中,以执行或推理模式运行神经网络的计算机120是先前在其上训练神经网络的同一计算机。在另一个实施例中,神经网络在不同的计算机上被训练,并被提供给计算机120以用于现场机器人抓取操作。
29.一对3d相机130和132经由硬线连接或无线地与计算机120通信,并提供工作空间的图像。具体地,相机130/132提供料箱150中的多个对象140的图像。来自相机130/132的图像(包括深度数据)提供了定义料箱150中的该多个对象140的位置和定向的点云数据。当存在两个具有不同视角的3d相机130和132时,从任何合适的视点计算或投影料箱150中的该多个对象140的3d深度图是可能的。在另一实施例中,仅使用3d相机中的一个(130),诸如被定向于直接垂直的视线。
30.料箱150相对于机器人100的位置是已知的,使得当计算在箱150中的一位置处的一个对象140的抓取时,机器人100可以控制夹持器102以执行抓取。机器人100的任务是从
料箱150拾取该多个对象140中的一个,并将该对象移动到传送机160。在所示的示例中,单独的部件142被选择,由机器人100的夹持器102抓取,并且沿着路径180移动到传送机160。
31.对于每个部件拾取操作,计算机120从相机130/132接收料箱150中的该多个对象140的一个或多个图像。根据相机图像,计算机120计算料箱150中的该多个对象140的堆的一个或多个深度图。使用深度图,在计算机120上运行的神经网络确定料箱150中的一个单独的对象的高质量、全dof抓取。例如,在该多个对象的堆的顶部上的对象,其侧面的大部分暴露并且没有周围对象,将是良好的抓取候选者。
32.当根据下面详细描述的技术将一个对象(诸如对象142)识别为处于用于高质量抓取的位置时,计算机120将单个对象抓取数据提供给控制器110,其然后命令机器人100抓取和移动对象。由计算机120提供给控制器110的单个对象抓取数据优选地包括抓取目标点的3d坐标、夹持器102要遵循的接近角度、以及夹持器旋转角度和宽度(或所有手指关节的位置)。
33.使用单个对象抓取数据,控制器110可以计算机器人运动指令,该机器人运动指令使夹持器102抓取所识别的对象(例如,对象142)并且沿着无碰撞路径(路径180)将该对象移动到目的地位置。代替传送机160,目的地位置可以是在其中对象被放置在单独的隔间中的船运集装箱,或者是在后续操作中进一步处理对象的任何其它表面或装置。
34.在对象142移动到传送机160之后,由于该多个对象140的堆已经改变,所以由相机130/132提供新的图像数据。然后,计算机120必须使用已训练的神经网络基于新的图像数据来识别用于抓取的新的目标对象。新的目标对象必须由计算机120非常快速地识别,因为必须与机器人100能够移动各个对象140中的一个并返回以拾取下一个一样快地实时执行对象识别和路径计算。由低维模块化神经网络提供的高效搜索使得能够进行在该抓取应用中所需的快速抓取计算。
35.图1的系统中的上述应用优选地使用来自计算机120的七个自由度(dof)抓取提议。在一个实施例中,七个dof包括用于接近方向的两个dof(x和y分量与机器人夹持器的单位向下z移动组合)、用于抓取位置的三个dof(x/y/z坐标)、以及用于夹持器旋转/自旋角和夹持器宽度的另外两个dof。为了基于充满部件的料箱的图像提供七个自由度抓取提议,计算机120可以有利地使用所公开的神经网络模块化技术来将抓取搜索维度分离成两个或甚至三个网络。下面讨论所公开的神经网络模块化的一般概念,随后是应用于机器人抓取应用的网络模块化的示例。
36.图2是将使用单个大型神经网络计算高dof机器人任务的现有技术与自由度被分离成多个解耦的神经网络的本公开的技术进行对比的图示。在图2和几个后面的图中,由神经网络评估的维度的概念是根据位置维度p和旋转维度r来描述的。例如,忽略夹持器宽度,机器人上的夹持器的位置和定向可以完全由三个位置自由度(x/y/z)(p)和三个旋转自由度(偏航/俯仰/滚动,或描述接近方向的两个角度加上旋转角度,或欧拉或其它合适的角度)(r)来描述。
37.在图2的框210中,示出了使用神经网络来计算抓取的传统方法。使用单个神经网络220来编码全部六个自由度,包括三个位置维度p以及三个旋转维度r。在一个示例中,使用多个对象的堆的深度图像以及单个对象的质量抓取的手动识别的候选来训练神经网络220。在执行阶段(也称为部署或推理阶段,在其中使用已训练的神经网络来确定在现场机
器人操作中的抓取),线230上的输入是包含足以推理包括夹持器位置和旋转{p,r}两者的全dof抓取的质量的环境数据的深度图像。线232上的输出是对单独的对象的提议质量抓取的维度,包括提议的最佳夹持器位置和旋转(p
*
,r
*
)两者。
38.框210中的神经网络220对由与抓取{p,r}相关联的输入环境数据定义的夹持器姿态的六个维度进行编码,并且在执行阶段中尝试搜索深度图像以识别所有六个维度的最优(p
*
,r
*
)。对这么多个维度进行编码和搜索的神经网络变得非常复杂(多层),并且作为结果,训练和搜索非常慢,并且搜索结果可能是不精确的或模糊的。
39.在图2的框250中,示出了使用多个神经网络来计算抓取的新方法。不是如在以上讨论的传统方法中使用单个神经网络来计算抓取的所有维度,而是使用两个神经网络(260和270)。在第一神经网络260中,通过使用线252上的输入环境数据,三个位置维度p被编码,使得第一神经网络260可以在三个旋转维度r的所有值上搜索产生最优抓取(最大抓取质量度量)的位置维度值p
*
。在第二神经网络270中,通过使用来自线252的原始输入数据加上线262上的最优位置维度值p
*
对所有位置和旋转维度{p,r}进行编码。但是,在执行阶段,第二神经网络270被提供有产生最佳抓取的位置值p
*
,因此第二神经网络270仅需搜索旋转维度r。线272上的输出是单独的对象的提议质量抓取的维度,其包括提议的最佳夹持器位置与旋转(p
*
,r
*
)两者。
40.解释上述内容的另一种方式如下。单个神经网络220通过在所有维度{r,p}上搜索使质量度量q最大化的值{r
*
,p
*
}来搜索高维机器人动作(预测维度值r
*
,p
*
=argmax
r,p q(r,p)),质量度量q是r和p两者的函数。根据当前公开的技术,单个高维神经网络220可以被分解为两个神经网络260和270的模块化,其中第一神经网络260预测最大余量值p
*
=argmax
p
qr(p),其中qr(p)是沿着r方向投影的抓取质量,并且第二神经网络270预测条件行为r
*
=argmax
r q(r,p|p=p
*
)。以下是如何将高维搜索问题模块化成两个神经网络的详细讨论,其中每个网络具有减小的维度搜索空间,但是组合的网络仍然找到最佳的抓取质量值。
41.图3是根据本公开的实施例的多维搜索空间的图示,其示出了最大余量网络模块化方法如何被用于解耦搜索维度并且仍然从原始搜索空间找到最大条件。在维度p和r上的联合搜索空间由网格310表示。网格310可视地表示搜索空间,其中列指定p(p0,p1,...,pi,)的值,并且行指定r(r0,r1,...,rj,)的值。网格310的每个单元中的点的大小表示对于p和r的特定组合的抓取质量q(r,p)的值。较大的点表示较高的抓取质量。
42.如先前所论述,当p及r表示抓取的位置及旋转维度(夹持器姿势)时,p及r两者各自包含三个维度或自由度。因此,可以容易地设想,为了找到最佳的抓取候选,将必须搜索p和r的许多不同值。也就是说,i和j的值可能至少是几百。例如,如果p的x、y和z维度各自被分成十个增量,则p将具有10
×
10
×
10=1000的维度大小。当网格310的搜索由单个神经网络(例如图2的网络220)执行时,搜索必须执行i
·
j次(i乘以j)。这导致非常大的搜索空间,并且因此导致非常复杂和缓慢的神经网络。当通过两个较低维度神经网络(例如图2的网络260和270)执行网格310的搜索时,必须执行i j次搜索,这是一个小得多的数字。这导致复杂度低得多且更快的神经网络解决方案,并且在下面详细讨论。
43.如前所述,本公开定义了用于将一个大的、高维神经网络分离(模块化)成两个(或更多个)更简单的神经网络的技术。将一个大的神经网络分离成两个较简单的神经网络的
关键是对第一神经网络进行编码以找到在其对应的各个r值中的一个处产生总体最高抓取质量的值p
*
,使得第二神经网络然后可以在p中的最佳位置处搜索r维度。接下来是该技术的讨论。
44.在框320中示出了用于神经网络模块化的第一技术,其中网格310的p和r维度两者的搜索被分离成p维度的搜索以找到p
*
,随后是在p
*
处的r维度的搜索以找到最大质量抓取。如上所述,通过p
*
=argmax
p
qr(p)可以找到p
*
,其中,qr(p)是沿着r方向投影的抓取质量q(r,p)。qr(p)隐藏r并且仅是p的函数。框320中描述的技术定义qr(p)=∫q(r,p)dr。当qr(p)被这样定义时,第一神经网络(在330处示出)找到具有最佳平均质量q的p
*
的值,即在所有r值上的积分。基于网格310中的质量点的大小,由此可知,在框320中的p
*
的值为pi,其是具有最高平均质量的列。
45.当框320中的第二神经网络(在340处示出)在p
*
=pi处的r的所有值上搜索以识别q的最大值时,p的所有其他值被隐藏。因此,第二神经网络找到p
*
=pi的最大抓取质量,其发生在r0处。对网格310的视觉检查揭示(r0,pi)处的抓取质量不是总体最大抓取质量。因此,当用于神经网络模块化时,框320中所示的正常余量技术不能可靠地找到最大值。
46.在框350中示出了用于神经网络模块化的第二技术,其中网格310的p和r维度二者的搜索被分离成p维度的搜索以找到p
*
,随后是在p
*
处的r维度的搜索以找到最大质量抓取。根据本发明,在框350中描述的技术使用最大余量技术,该技术定义qr(p)=max
r q(r,p)。当qr(p)以这种方式被定义时,第一神经网络(在360处示出)找到具有最佳总体质量q的p
*
的值,即,在r的所有值上的最大个体质量。换句话说,只要存在一个表现良好的r,第一神经网络就会预测一个特定的p具有高分。基于网格310中的质量点的大小,可以看出框350中的p
*
的值是p0,其是包含具有最高个体质量的单元的列。
47.当在框350中的第二神经网络(在370处示出)在p
*
=p0处的r的所有值上搜索以识别q的最大值时,p的所有其他值被隐藏。因此,第二神经网络找到p
*
=p0的最大抓取质量,其发生在rj处。对网格310的视觉检查揭示了(rj,p0)处的抓取质量实际上是总体最大抓取质量。因此,框350中所示的最大余量技术能够找到一个维度的目标值(p
*
),当在神经网络模块化中使用时,该目标值产生最大值。
48.因为框350中的第二神经网络370仅在p
*
=p0处搜索r,并且p的所有其他值被隐藏,所以第二神经网络的搜索比在网格310的所有维度上的单个神经网络搜索快得多(快了因子j)。神经网络搜索性能的这种巨大改进在机器人抓取应用中是非常重要的,在该机器人抓取应用中,必须实时计算与多个对象的堆的图像相对应的抓取提议以支持机器人控制。
49.基于图3的以上讨论,可以看出,最大余量技术(在框350中示出,其中p
*
可以由p
*
=argmax
p qr(p)和qr(p)=max
r q(r,p)来找到)可以有效地用于神经网络模块化。下面是在神经网络模块化的训练阶段和推理阶段中如何完成这一点的讨论。
50.图4是根据本公开的实施例的神经网络模块化技术的训练阶段中的步骤的框图图示。框400包括在训练第一神经网络410中使用的步骤。框450包括在训练第二神经网络460中使用的步骤。图4的第一神经网络(410)和第二神经网络(460)以上面讨论的图3的第一神经网络和第二神经网络的方式操作。
51.如在框400和450的顶部示意性地示出的,第一神经网络410对所分组的维度p进行编码,使得基于描述针对{p}的环境的输入数据,第一神经网络能够预测p
*-在某个r值处存
在最大质量的p值。然后,第二神经网络460基于在先前识别的p
*
处定义针对所有r的环境的输入数据对所有维度(p,r)进行编码,并且识别存在最大抓取质量的值(p
*r*
)。
52.为了训练第一神经网络410,首先准备最大余量数据,如420和430处所示。420处指示的输入数据ir(p)表示唯一地编码动作p的状态。动作r被隐藏,因此ir(p)是p的函数。430处指示的输出数据qr(p)是沿着r方向以(上面关于图3讨论的)最大余量方法投影的质量q(r,p)。430处的输出数据qr(p)是以抓取质量分布图的形式提供的,下文将进一步论述。qr(p)隐藏r并且仅是p的函数。虽然质量是第一神经网络410的输出,但是qr(p)数据被提供作为网络训练的输入。对于抓取任务,ir(p)表示不同p中的信息(例如深度),而qr(p)是特定p中针对不同r的最大质量,如420和430处所示。图5和6进一步示出了输入数据ir(p)、抓取质量数据qr(p)以及它们之间的关系,该关系最终通过训练被编码到第一神经网络410中。
53.图5是根据本发明的实施例的示出如何将3d深度图像数据处理成一组深度层并在图4的训练阶段中提供的曲线图500。对于特定的3d深度图像(在图4中的420处示出),提供多个深度图像层作为用于训练第一神经网络410的输入数据ir(p)。在曲线图500中,x轴510表示3d深度图像的一个水平维度,而z轴520表示深度图像的垂直维度(例如,z轴520可以是充满部件的料箱的高度)。3d深度图像的y轴512在曲线图500中是“进入页面”。曲线530描绘了多个部件的堆在x-z平面中的总高度。换句话说,曲线530是在x-z平面中的该多个部件的堆的横截面的顶部。
54.3d深度图像可被划分成多个层,每一层处于不同的高度(z0,z1,...,zi,...zn)。由线540表示的高度z0指示深度图像(例如,该多个部件的堆)中的最高点。为高度z0提供一个深度图像层,其示出了包括从z0水平(最高对象的顶部)一直向下到zn水平(料箱的底部)的所有对象的完整深度图。在用于z0的深度图像层中,深度图像的z坐标具有被设置为z0的参考原点,使得深度图像中的所有事物具有负z坐标。由线542表示的高度z1指示稍低于深度图像的顶部的水平。为高度z1提供另一深度图像层,其再次示出了包括从z0水平向下到底部zn水平的所有对象的深度图;然而,在z1深度图像层中,深度图像的z坐标具有被设置为z1的参考原点,使得深度图像中z1以上的所有事物具有正z坐标,并且深度图像中z1以下的所有事物具有负z坐标。类似地,为其他水平zi(由线544表示)提供深度图像层。每个深度图像层是该多个部件的整个堆的完整深度图像,但是每个深度图像层在z方向上具有不同的原点。通过在不同水平处进行切片并提供多个深度图像层,在训练神经网络410时对z方向进行编码。x和y编码自然是通过每层中的二维信息来完成的。这在图6中示出。
55.曲线530具有特征550和特征560。特征550和560是深度图中的高点,其指示由于一个或多个部件的存在而导致该多个部件的堆较高的地方。特征550和560将在深度图像和抓取质量分布图中以形状来显现,如下所述。
56.图6是根据本发明的实施例的用于图5的特定深度层并在图4的训练阶段中提供的深度图像层600的图示。在深度图像层600中,x轴510对应于图5的x轴510,y轴512对应于图5的y轴512。换言之,深度图像层600是自顶向下的深度图像,而图5的z轴520是图6中的“从页面出来”。
57.深度图像层600包括分别对应于图5的特征550和560的形状620和形状630。形状620和630在中心处最暗,指示最高z坐标并对应于图5的特征550和560的峰值。如果深度图像层600是针对高度zi的,则深度图像的z坐标具有被设为zi的参考原点,使得深度图像中zi(线544)以上的所有事物具有正z坐标,而深度图像中zi(线544)以下的所有事物具有负z坐标。类似地,图4的430处指示的质量分布图也被堆叠成多个层或多个切片。质量分布图430的每一层示出了抓取候选,其接近深度图像的当前层-诸如在高度zi的阴影区域570内。例如,高度zi的质量分布图将包括在形状620和630的中心处的质量抓取,而高度zn的质量分布图将可能不包括质量抓取,因为在该水平处的深度图像中不存在可抓取特征。质量分布图430中提供的抓取候选者可以通过传统方法(诸如启发法)手动生成,或者可以使用夹持器/对象优化计算、随后是物理环境(多个对象的堆)模拟(其将在下面进一步讨论)来自动生成。
58.为了总结用于训练第一神经网络410的最大余量数据准备(在图4的框400中):对于多个对象的特定堆,点云或其他深度分布图数据(诸如来自3d相机)被用于提供(在多个层处的)深度图像420和对应的质量分布图430(标明在每个深度图像层上的各个点处的抓取质量)。对多个对象的许多不同堆(优选数千个)执行上述步骤。在如图4的420和430处所示并在图5-6中进一步详细描述地准备了最大余量数据之后,训练第一神经网络410。训练步骤在框400的底部示出,其中训练第一神经网络410以基于环境图像数据输入ir(p)预测抓取质量qr(p)。一旦准备了数据,第一神经网络的训练就是直接且快速的。因为抓取质量(第一神经网络410的输出)被提供作为训练数据,所以框400中所示的训练被称为监督学习。
59.为了训练第二神经网络460(图4),准备用于编码所有维度r和p的数据。首先,用于训练第一神经网络410的(在多个层处的)深度图像420连同对应的质量分布图430(标明在每个深度图像层处的抓取质量和位置)被组合,如470处所示。每个深度图像420用与特定深度图像层相关联的质量抓取的位置来编码。结果是480处所示的输入数据i(r,p),其包括多个深度图像剪裁(482、484、486、...),其中每一个都是如质量分布图430所定义那样剪裁和旋转的各个深度图像420中的一个的一部分。
60.对于抓取应用,在480处所示的输入数据i(r,p)(深度图像剪裁482、484、486、...)中,p由剪裁中心(距离深度图像层上的位置的x和y,以及距离该层的深度原点的z)编码,而r由剪裁角度编码,这两者都根据质量分布图430确定。允许非竖直抓取方向以便提供最佳料箱拾取能力通常是有利的。可以通过馈送不同视角的深度图像420(在470处再次使用)在第一和第二神经网络(410/460)中编码抓取的接近方向(即,非竖直接近方向)。不同视角的深度图像可根据点云数据来计算,如图1所示,该点云数据是从具有不同位置和定向的两个3d相机获得的。
61.输出数据q(r,p)在490处示出,其包括与各个深度图像剪裁482/484/486中的每一个相关联的质量度量值。质量度量也由针对质量分布图430上的每个抓取的外部训练数据源(下面参考图10进一步讨论)提供。因此,输出数据q(r,p)可作为用于第二神经网络460的训练数据。为了进行抓取,输出数据q(r,p)是标量值,表示与抓取动作r和p相关联的质量。尽管第二神经网络460对所有动作维度r和p进行编码,但由于第一神经网络410执行的p维度编码,所以只需要在推理时间在r方向上搜索。在如图4的480和490处所示准备了联合(r和p)输入和输出数据之后,训练第二神经网络460。训练步骤在框450的底部处示出,其中训练第二神经网络460以基于环境图像数据输入i(r,p)预测抓取质量q(r,p)。
62.第一神经网络410可以是全卷积网络(fcn),其最适合于“图像输入/图像输出”应
用。第二神经网络460可以是卷积神经网络(cnn),其最适合于“图像输入/标量输出”应用,其中由于输出的低维内容,高精度是可能的。使用监督学习来训练第一神经网络410和第二神经网络460,监督学习意味着来自网络的期望输出数据(来自第一神经网络410的质量分布图430和来自第二神经网络460的抓取质量度量490)被提供为用于训练的输入。在图4的框400和450中所示的并且如上所述的训练步骤之后,神经网络410和460被训练并且准备用于图1所示类型的现场机器人操作。
63.图7是根据本公开的实施例的在神经网络模块化技术的推理阶段中的步骤的框图图示。在推理阶段(其也可以被称为部署或执行阶段)中,神经网络410和460用在现场机器人部件拾取操作中以分析3d深度图像并提供质量抓取候选推荐。这里再次强调,机器人部件拾取(基于3d深度图像的抓取确定)仅仅是将高维任务分离成两个或更多较低维网络的神经网络模块化的一个示例。
64.图4所示的和如上所述训练的神经网络410和460被用于图7所示的推理阶段。虽然独立训练神经网络410和460,但是它们在推理时间被连接以定位全维动作。存在几个在推理阶段中运行网络的步骤;框700包括涉及第一神经网络410的步骤,而框750包括涉及第二神经网络460的步骤。
65.在框700中,第一步骤是准备对p进行编码的输入数据ir(p)。在抓取应用中,ir(p)可以是与不同p相关联的深度图像。取决于编码方法和网络结构,存在不同的输入/输出类型。在所示的抓取示例中,在710处提供多个深度图像层以用于深度编码,并且使用全卷积网络结构。因此,输入是以不同高度或层(在z中对p进行编码)为中心的深度图像(水平切片,在x和y对p进行编码),如先前关于图4-6所讨论的。
66.当提供输入ir(p)(710)时,神经网络410可以以推理模式以“前向循环”运行,如框700中所示。以推理模式运行的第一神经网络410的输出是多个质量分布图(在z中的每一层处一个,如720处所示),其中如果如先前所讨论的那样以相关联的p抓取,则每个像素示出最大余量质量(qr(p)=max
r q(r,p))。将每个质量分布图层中具有高于阈值的抓取质量的像素突出显示为点或斑点;所有其它像素不表示质量抓取。最后,来自第一神经网络410的最终输出是p的最大余量值,如在730处的等式中所示根据p
*
=argmax
p
qr(p)获得的。将最大余量值p
*
提供给第二神经网络460,如箭头740所示。
67.框750包括涉及第二神经网络460的步骤。这通过准备用于第二神经网络460的数据开始。如箭头762处所示,从第一神经网络410在箭头740处提供的p
*
的值被应用于特定深度图像层760。通过识别特定深度图像层(z)上的特定剪裁位置(x和y),p
*
的值被完全定义为第二神经网络460的输入。然后,可以通过提供多个经旋转的剪裁后的图像块(如770所示)来搜索r空间。因此,第二神经网络460的输入是i(r,p|p=p
*
)。重要的是记住,在推理阶段期间,第二神经网络460仅在r空间中搜索,因为p空间(值p
*
)已从第一神经网络410编码。
68.如780处所示,第二神经网络460的输出是每个不同r的质量(标量值)。因此,第二神经网络460的输出是q(r,p|p=p
*
)。即,针对经旋转的剪裁后的图像块770中的每一个计算质量值(所示示例中的抓取质量)。最后,来自第二神经网络460的最终输出是具有最大值q的r的值,如框790中的等式所示,获得为r
*
=argmax
r q(r,p|p=p
*
)。来自第一神经网络410的值p
*
与来自第二神经网络460的值r
*
串联以提供完整动作(r
*
,p
*
),在所示的抓取示例中该完整动作是对象的完整六个dof机器人抓取,其中该抓取具有如上所述来找到的高质
量q。
69.为了再次解释如图7所示和上文讨论的模块化神经网络410和460所做的事情:使用710处所示的输入数据,第一神经网络410找到最大余量值p
*
,该最大余量值p
*
是具有在整个搜索空间中最高的个体抓取质量的位置维度p的值;然后使用值p
*
作为输入,第二神经网络460找到值r
*
,其为在位置维度被限制为p
*
时具有最高抓取质量的旋转维度r的值。串联的维度(r
*
,p
*
)限定对象的完整六个dof机器人抓取。如所公开的神经网络的分离允许p空间的搜索与r空间的搜索解耦,从而导致搜索空间大小的显著减小(维度大小i和j的和,而不是乘积)。
70.根据为机器人部件拾取操作找到对象的高质量全dof抓取的示例应用,描述了前面的讨论和图4-7中所示的示例。如前所述,这仅仅是所公开的网络模块化技术的一个示例性应用。该技术通常可以应用于将任何高维神经网络模块化成运行更快的两个或更多较低输入维度网络。下面进一步讨论一些具体的抓取应用。
71.图8是根据本公开的实施例的应用于3-dof抓取搜索问题的所公开的神经网络模块化技术的框图说明。在图8所示的示例中,要根据多个对象的堆的3d深度图像来识别相对简单的3-dof抓取。要计算的三个自由度是抓取点的x、y和z位置。在该示例中不计算旋转。不是在单个网络中计算三个自由度,而是可以将计算模块化为两个神经网络,其中第一神经网络计算最佳质量抓取的x和y坐标,并且第二神经网络计算z坐标。
72.框800包括第一神经网络810及其相关联的输入和输出数据。提供诸如来自一个或多个3d相机的深度图像820作为输入。在训练阶段中,还提供对应的最佳质量抓取位置用于监督学习。通过使用深度图像820中的许多深度图像的训练,第一神经网络810学习根据深度图像820的特征来编码x和y以对应于最佳抓取质量。在推理阶段中,深度图像820被提供给第一神经网络810,并且输出是在x和y维度上指示最佳质量抓取位置的单个质量分布图830。即,第一神经网络810编码qz(xy)的最大余量。第一神经网络810在推理阶段将最佳抓取位置(x
*y*
)的x-y维度提供给第二神经网络860,如箭头840处指示的。
73.框850包括第二神经网络860及其相关联的输入和输出数据。第二神经网络860的功能是对z维度进行编码。根据深度图像870(与深度图像820相同)和输入(x
*y*
)(其在箭头840上来自第一神经网络810)中,可以在最佳x和y位置处剪裁深度图像块(x
*y*
),如框880中在882处所示。作为其考虑的另一方法,在推理阶段,如890处所示,将深度图像870在z方向上切成多个切片,并且该多个切片在最佳(x
*y*
)抓取位置(箭头892处所示)处进行评价,以确定在其处找到最佳质量的高度z
*
。898处示出的是890处示出的堆叠中的多个切片的最佳抓取位置被圈出的切片,其中切片898中的最佳抓取位置对应于来自第一神经网络810的质量分布图830中的最佳抓取位置(其尚未评估z方向)。因此,可以看出,来自第二神经网络860的切片898中的最终三维抓取质量(最大max
z q(z,xy))在x和y方向上与来自第一神经网络810的质量分布图830中的最大二维抓取质量(qz(xy))一致。
74.最终输出的抓取位置(x
*y*z*
)包括由第一神经网络810识别的最佳x维度和y维度,以及由第二神经网络860识别的最佳z维度。将最终输出的抓取位置(x
*y*z*
)提供给机器人控制器,该机器人控制器然后向机器人提供指令以在所标识的坐标处抓取部件。在抓取部件之后,新的深度图像将提供给神经网络810和860,并且计算新的最佳抓取位置的坐标。
75.通过将3-dof抓取搜索模块化成两个网络-一个网络搜索两个维度,另一个网络搜
索一个维度-提高了整体搜索性能。例如,考虑x和y维度各自被分成相当粗糙的20
×
20网格,而z维度被分成10层的情况。使用所公开的网络模块化技术,第一神经网络810搜索大小为20
×
20=400的空间,第二神经网络860搜索大小为10的空间;所得到的模块化搜索空间具有400 10=410的大小。如果在单个网络中搜索所有三个维度,则该网络将具有大小为20
×
20
×
10=4000的搜索空间。
76.图9是根据本公开的实施例的使用两个神经网络的应用于5-dof抓取搜索问题的神经网络模块化技术的框图说明。在图9所示的示例中,5-dof抓取将根据多个对象的堆的3d深度图像来识别。要计算的五个自由度包括抓取点的x、y和z位置,以及夹持器宽度和夹持器旋转角度。在该示例中,不计算接近角度;假定自上而下垂直接近。不是在单个网络中计算五个自由度,而是使用所公开的方法将计算模块化成两个神经网络,其中第一神经网络计算最佳质量抓取的x/y/z坐标,并且第二神经网络计算夹持器宽度(w)和夹持器旋转角度(θ)以及最大化的最终抓取质量。
77.3d深度图像910(例如,描绘了料箱中的多个对象的堆)被提供给抓取提议网络920。抓取提议网络920是全卷积网络(fcn),因为它接收图像作为输入(深度图像910)并且提供图像作为输出(抓取质量分布图930)。抓取质量分布图930提供给抓取分级网络940,抓取分级网络是卷积神经网络(cnn),因为它接收图像输入并提供标量数据输出(夹持器宽度和旋转)。来自抓取分级网络940的夹持器宽度和旋转(在950处示出)与来自由抓取提议网络920产生的抓取质量分布图930的最佳抓取位置(x/y/z)组合;这一起提供了将由机器人控制器使用的5-dof抓取定义(x/y/z/w/θ)。
78.如先前详细讨论的,抓取提议网络920和抓取分级网络940首先使用监督学习来训练,然后以推理模式操作。在训练中,向抓取提议网络920提供深度图像和对应的抓取质量分布图。通过提供如提供给抓取提议网络920的深度图像和对应的质量分布图,连同夹持器宽度/旋转的期望输出和最终抓取质量,训练抓取分级网络940。下面参照图10进一步讨论用于执行该训练的自动化方法。
79.在推理模式中,抓取提议网络920仅被提供有深度图像(并且提供质量分布图作为输出),而抓取分级网络940被提供有深度图像和对应的质量分布图作为输入(并且提供夹持器宽度/旋转的输出和与从质量分布图选择的最佳质量抓取的位置相关联的最终抓取质量)。
80.通过将图9的5-dof抓取搜索模块化成两个网络-一个网络搜索三个维度,另一个网络搜索二个维度-提高了整体搜索性能。例如,考虑x和y维度各自被分成相当粗糙的20
×
20网格,并且z维度被分成10层,同时夹持器宽度具有10个位置并且夹持器角度具有20个位置的情况。使用所公开的网络模块化技术,第一神经网络920搜索大小为20
×
20
×
10=4000的空间,并且第二神经网络940搜索大小为10
×
20=200的空间;所得到的模块化搜索空间具有4000 200=4200的大小。如果在单个网络中搜索所有五个维度,则该网络将具有大小为4000
×
200=800000的大得多的搜索空间。
81.图10是根据本公开的实施例的用于使用单独对象抓取优化和分簇的对象变化与干扰模拟的组合来训练图9中所示类型的模块化抓取学习网络的方法的图示。图10中所示的训练方法步骤可以在“离线”环境中使用机器人控制器以外的计算机执行,该机器人控制器稍后用于控制机器人运动,并且提供产生用于训练图9的神经网络920和940的抓取数据
的非常有效的手段。
82.在框1010处的第一数据准备步骤中,示出了对数据库中的单独对象的自动抓取搜索。示出了通过夹持器1014多次抓取对象1012。提供了待分析的部件的3d实体或表面模型,以及包括几何形状和操作参数(手指关节位置、关节角度范围等)的夹持器数据。迭代优化方法用于基于部件形状和夹持器参数产生鲁棒的抓取候选。框1010中所示的步骤提供特定夹持器(夹持器1014)对单独部件(对象1012)的多个质量抓取位置和定向。可以为使用许多不同夹持器的许多不同对象自动地计算这些抓取姿态。
83.在框1020处的第二数据准备步骤中,考虑变化和干扰,执行鲁棒的抓取模拟。在该步骤中,通过模拟滚入料箱中并随机地安放成具有各种位置、取向和缠结的多个对象的堆的对象流,将对象进一步随机地采样成密集簇。已知模拟堆中的每个对象的姿态,因此可以测试先前生成的抓取(来自框1010)以确定它们在模拟的真实世界条件(缠结和干扰)中的有效性。使用多个对象的模拟堆的3d深度图像以及先前生成的抓取,以这种方式测试每个先前生成的抓取的成功。框1020处所示的步骤是完全使用数学模拟而不使用实际部件和图像来执行的物理环境模拟。模拟的深度图像、抓取位置质量分布图、抓取姿态和成功率(在框1022处共同示出)被存储并且稍后用于训练图9的抓取学习网络-其在以下图10中示出。
84.以上描述的以及在框1010和1020中描述的抓取优化和模拟在2020年9月10日提交的、标题为使用通用夹持器进行抓取学习的有效数据生成、序列号为17/016,731的美国专利申请中公开,并且与本技术共同转让,并且其全部内容通过引用结合于此。
85.图9的抓取学习网络在图10中的框1030中示出。以下是自动生成的抓取数据如何用于训练模块化的神经网络的讨论,包括使用来自框1022的数据分别地训练抓取提议网络920和抓取分级网络940。
86.抓取提议网络920的训练需要深度图像910作为输入。可以从框1022提供深度图像910,其中深度图像910描绘来自物理环境模拟的该多个对象的堆。对于监督学习,抓取提议网络920的训练还需要描绘不同像素位置处的抓取的质量的抓取质量分布图930。质量分布图930也从框1022提供,其中质量分布图是从物理环境模拟计算的。框1020中所示的物理环境模拟可以被执行多次(数千次),其中每个随机模拟提供多个对象的不同随机堆,从而产生充足数量和多样性的深度图像910和对应的质量分布图930以训练抓取提议网络920。
87.接下来,训练抓取分级网络940。该网络使用不同角度的深度图像剪裁(从质量分布图930准备)作为输入,并且输出如线950上所示的夹持器旋转角度(θ)和夹持器宽度(w),连同对应的抓取质量,还使用来自框1022的模拟结果作为训练(监督学习)的基础。在包括夹持器旋转角度和夹持器宽度的情况下,框960处的输出现在包括五个抓取自由度。为清楚再次陈述-框1010的抓取优化方法使用特定夹持器产生对象的许多不同抓取;框1020的物理环境模拟方法产生针对应用于多个对象的随机生成堆的不同抓取姿态的抓取质量模拟结果;并且物理环境模拟的输出用于训练抓取提议网络920和抓取分级网络940。
88.在如图10所示的两个神经网络(920、940)的训练之后,机器人抓取系统的实际执行可使用已训练的神经网络(920、940)来执行,以基于深度图像输入确定抓取,然后控制机器人;这已经在前面参照图9进行了讨论。框1010和1020中所示的数据生成步骤不仅可以应用于图9的5-dof抓取系统/方法,而且可以应用于具有较小(例如,3-dof)或较大(例如,7-dof)复杂性的模块化的抓取网络。
89.图11是根据本公开的实施例的使用三个神经网络的应用于7-dof抓取搜索问题的神经网络模块化技术的框图说明。在图11的系统中,七个抓取自由度包括接近方向选择(2dof)、抓取位置选择(3dof)以及夹持器定向和宽度选择(2dof)。如在3-dof和5-dof神经网络系统的较早讨论中一样,图11中所示的神经网络首先被训练,并且然后以推理模式使用以在机器人的实际部件抓取操作期间执行抓取计算,诸如图1中所示。
90.在框1110中的是该方法的第一阶段中的步骤;选择最佳接近方向。给定输入场景1112,其例如可以是料箱中的部件的来自一对3d相机的图像,相关联的点云被方向编码框1120投影到多个采样的接近方向以产生合成图像1122。输入场景1112的图像包括深度信息,从而允许方向编码框1120中的算法产生如从多个随机选择的投影视点观察的多个合成表面图像。换句话说,如果机器人夹持器从某个方向接近,则3d表面图像从该方向看起来将是什么?这些合成图像是针对许多不同的随机采样投影角度创建的,并且被提供在合成图像1122中,其中投影角度在从其机器人可以接近的方向限制内。
91.如果从合成图像1122中提议的每个接近方向进行抓取,则接近方向提议网络1130用于预测整体质量。换句话说,在网络1130中,隐藏抓取,并且使用先前讨论的最大余量技术来确定包含最佳抓取质量的接近方向。接近方向被定义为两个矢量v1和v2,其可以是极坐标系中的方位角和仰角,或者定义三维接近方向矢量的任何其它分量。所选择的接近方向(v1、v2)被存储为接近方向矢量1138,并且稍后将由机器人控制器使用。与最优接近方向相关联的深度图像也被保存并在下一阶段中使用。
92.在框1140中的是该方法的第二阶段中的步骤;决定最佳抓取位置。提供深度图像1142,其是与以上选择的最优接近方向1138相关联的合成深度图像(来自图像组1122)。深度图像1142在切片切割框1150处以不同高度切割成多个切片,并被发送到抓取位置提议网络1160。抓取位置提议网络1160生成如1164处所示的并且如先前相对于图4所讨论的不同高度的图像切片的质量分布图。换句话说,网络1160隐藏夹持器宽度和角度,并且在给定所定义的接近角的情况下将抓取质量编码为位置的函数。质量分布图1164指示抓取的质量,其在给定接近方向1138的情况下将从选择特定点(x、y、z)产生。最高质量抓取位置的3d坐标在1168处被存储,并且作为输入被提供给随后的块,并且还将在稍后由机器人控制器使用。
93.在框1170中的是该方法的第三和最后阶段中的步骤;决定抓取角度(θ)和宽度(w)。提供深度图像1172,其是与上面选择的期望的接近方向1138(v1,v2)和期望的抓取位置1168(x、y、z)相关联的深度图像。在框1180处,在1168处存储的最高质量抓取位置周围以不同角度剪裁图像块。这些图像块(1182)被发送到抓取分级网络1190,以输出针对每个评估的图像块和角度的质量和宽度(1194)。在1198处选择和存储对应于最高质量的抓取角度(θ)和宽度(w)。
94.在1138处存储的期望的接近方向(2dof-v1、v2)、在1168处存储的最佳抓取位置(3dof-x、y、z)和在1198处存储的最佳抓取宽度/角度(2dof-w、θ)被发送到机器人控制器以用于执行,如在1199处指示的。即,机器人控制器使用根据接近方向、抓取位置和抓取宽度/角度信息计算出的机器人运动命令来指示机器人从料箱中抓取部件。然后,机器人将部件放置在规定的位置(例如在传送机上,或在船运集装箱中)。然后,该方法返回到框1110,在其中提供用于新的输入场景1112的新图像,并且重复抓取选择步骤和机器人执行。
95.将三个神经网络用于如图11所示的7-dof抓取搜索应用提供了许多优点。接近方向提议网络1130通过消除自上而下竖直抓取的约束而实现抓取灵巧性。抓取位置提议网络1160通过与其他自由度分开地计算三个抓取位置自由度来提供这些维度的快速计算。抓取分级网络1190提供卷积神经网络的标量输出中固有的准确度。此外,将三个神经网络而不是一个大的神经网络用于7-dof抓取搜索,将搜索空间大小减小了几个数量级,相应地提高了搜索速度。此外,图11所示的系统被设计成利用不同类型的神经网络的优点-使用关于神经网络1130和1160的全卷积网络(fcn)和使用关于神经网络1190的卷积神经网络(cnn),神经网络1130和1160将图像作为输入并提供图像作为输出,神经网络1190接收图像输入并提供标量数据输出。
96.以上关于图8-11(3-dof、5-dof和7-dof抓取)的讨论的示例示出了在不同的抓取应用中由所公开的神经网络模块化技术提供的能力和灵活性。再次强调,所公开的神经网络模块化技术可以用于除了抓取之外的其他应用-需要神经网络编码和高维度任务计算的任何应用。
97.图12是根据本公开的实施例的用于使用两个或更多个较低维度的神经网络来解决多维度模式识别问题的方法的流程图1200。在框1210处,定义要解决的问题(适于用神经网络模式识别来解决的多维度搜索问题),并将该问题的维度划分成多个分组维度集。这在前面的讨论和图示中被描述了很多次-包括图2-7,在其中6-dof抓取问题被分成位置维度p(x、y、z)和旋转维度r(r1、r2、r3),以及其它示例,在其中3-dof和5-dof抓取搜索被分成两个分组维度集并且7-dof抓取搜索被分成三个分组维度集。
98.在框1220处,提供两个或更多个神经网络,其中,针对来自框1210的多个分组维度集中的每个提供一个神经网络。如前面的图中所示和广泛讨论的,神经网络被串联连接(用于推理模式)。神经网络在诸如图1的计算机120之类的计算机上运行。每个神经网络对其自身的分组维度集加上来自该串联中的上游的其他神经网络的分组维度集进行编码。例如,在图2-4中,第一神经网络对p维度进行编码,并且第二网络对p维度和r维度两者进行编码。在图11的三网络示例中,第一网络对接近方向自由度进行编码,第二网络结合接近方向对抓取位置自由度进行编码,并且第三网络结合抓取位置和接近方向对夹持器角度和宽度自由度进行编码。
99.在框1230处,使用监督学习来独立地训练两个或更多个神经网络。监督学习技术涉及向每个网络提供大量训练示例,其中每个示例包括网络的输入和期望输出。例如,在图4中,通过提供(在多个层处的)深度图像420和相应的(在每个深度图像层上的各个点处指定抓取质量的)质量分布图430来训练第一神经网络410,并且通过提供旋转的已剪裁的深度图像480和质量度量输出数据490来训练第二神经网络460。在双网络系统中,第一网络被训练为使用首先结合图3和4讨论的最大余量技术对其分组维度集进行编码,同时隐藏剩余的分组维度集。在三网络系统中,第一双网络系统可以使用最大余量技术用于训练。在最大余量方法中,神经网络找到其对应的具有输出变量(诸如质量)的最优值的分组维度集的目标值。然后,该串联中下游的其他神经网络将目标值用作输入。
100.在框1240处,以推理模式运行神经网络,其中提供定义问题的环境的输入,并且每个神经网络仅搜索其对应的分组维度集以找到目标值。从每个神经网络输出的目标值被该串联中下游的其它神经网络用作输入。例如,在双网络系统中,输入深度图像是提供给第一
神经网络的唯一输入,并且由第一神经网络使用以计算具有高质量抓取的位置坐标(第一分组维度集)的目标值的抓取质量分布图输出。然后,输入深度图像和质量分布图作为输入被提供给第二神经网络(诸如通过剪裁和旋转进一步处理),并且被第二神经网络使用以计算高质量抓取的旋转(第二分组维度集)的目标值。
101.在框1250处,两个或更多个神经网络的输出被组合以提供最终输出。在关于框1240讨论的双网络的示例中,选择最高质量度量值;然后,将第二分组维度集的对应目标值与(来自第一神经网络的)第一分组维度集的目标值组合,以构成完整的和最终的输出。在从深度图像进行抓取搜索的情况下,最终输出是与最高质量抓取相对应的串联的维度或自由度集。
102.所公开的用于神经网络模块化以学习高维机器人任务的方法提供了优于先前已知方法的许多优点。所公开的方法的一个很大的优点是计算快速,因为避免了在高维动作空间(例如,5个或更多个dof)中的搜索。如上所述,将搜索维度分离成两个或三个神经网络提供了几个数量级的计算速度改进因子。这种复杂性降低和速度提高使得计算使用现有方法根本不切实际的高维任务成为可能。
103.不同神经网络的搜索空间的解耦允许针对每个任务最优地选择神经网络的类型-诸如用于图像输入/图像输出计算的全卷积网络,以及将卷积神经网络用于最终标量输出计算。另外,网络设计和性能是透明的并且易于分析。在所公开的技术中,每个网络搜索控制动作空间的单独部分,并且每个网络独立于其他网络而被训练。因此,可以独立地分析每个网络的性能,而无需考虑来自其它网络的输出。通过使用最大余量技术来编码一个网络的分组维度集同时隐藏其它维度集,实现了网络解耦或模块化。
104.在整个前述讨论中,描述并暗示了各种计算机和控制器。应当理解,这些计算机和控制器的软件应用和模块在具有处理器和存储器模块的一个或多个计算设备上执行。特别地,这包括机器人控制器110中的控制执行对象抓取的机器人的处理器,计算机120中的处理器,以及用于神经网络训练和推理/执行的任何其他计算机中的处理器。具体地,计算机中的处理器被配置为以贯穿前述公开内容描述的方式执行图像分析、神经网络训练和执行—用于抓取学习或其他神经网络应用。
105.尽管以上已经讨论了用于高维度神经网络的模块化的所公开的技术的多个示例性方面和实施例,但是本领域技术人员将认识到其修改、置换、添加和子组合。因此,所附权利要求和此后引入的权利要求旨在被解释为包括所有这些修改、置换、添加和子组合,因为它们在它们的真实精神和范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献