CN117377987A - 抓握神经网络的协变量偏移的变换 - Google Patents
抓握神经网络的协变量偏移的变换 Download PDFInfo
- Publication number
- CN117377987A CN117377987A CN202180098530.2A CN202180098530A CN117377987A CN 117377987 A CN117377987 A CN 117377987A CN 202180098530 A CN202180098530 A CN 202180098530A CN 117377987 A CN117377987 A CN 117377987A
- Authority
- CN
- China
- Prior art keywords
- grip
- location
- score
- neural network
- output
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 75
- 230000009466 transformation Effects 0.000 title description 5
- 238000012549 training Methods 0.000 claims abstract description 16
- 239000012636 effector Substances 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 29
- 230000001131 transforming effect Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 8
- 238000009826 distribution Methods 0.000 abstract description 5
- 230000007246 mechanism Effects 0.000 abstract description 5
- 238000012545 processing Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000002131 composite material Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000003708 edge detection Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/39543—Recognize object and plan hand shapes in grasping movements
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40584—Camera, non-contact sensor mounted on wrist, indep from gripper
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40613—Camera, laser scanner on end effector, hand eye manipulator, local
Abstract
协变量偏移通常是指输入数据的分布(例如,噪声分布)在训练和推理机制之间的变化。这种协变量偏移可降低抓握神经网络的性能,从而降低机器人抓握操作的性能。如本发明所描述,抓握神经网络的输出可被变换,以确定在给定对象上机器人或自主机器抓握的适当位置。
Description
背景技术
人工智能(AI)和机器人技术是用于使工厂设置内外的任务自动化的强大组合。动态环境中的自主操作可被应用于大规模定制(例如,高混合、低体积制造)、智能工厂中按需灵活制造过程、智能商店中的仓库自动化、智能物流中分配中心的自动递送等。为了执行自主操作,诸如抓握和操纵,机器人可以通过探索环境来学习技能。尤其是,例如,机器人可以在不同情况下与不同对象交互。对象或环境的三维(3D)重构可创建机器人给定环境的或机器人的或机器人一部分的数字孪生或模型,这可以使机器人能够有效且安全地学习技能。
例如,抓握神经网络可被用于计算机器人拾取对象的抓握。在一些情况下,可以在合成数据上训练抓握网络,以便使用给定对象的真实图像来计算抓握点。然而,本发明认识到,当这样的网络部署有真实的相机数据时,协变量偏移可能是常见的。协变量偏移通常是指输入数据的分布(例如,噪声分布)在训练和推理机制之间的变化。这种协变量偏移会降低抓握神经网络的性能,从而降低机器人抓握操作的性能。
发明内容
本发明的实施方式通过提供用于解决抓握神经网络中的协变量偏移等的方法、系统和装置来解决和克服本文所描述的一个或多个缺点或技术问题。尤其是,可以变换抓握神经网络的输出,以便确定在给定对象上机器人或自主机器抓握的适当位置。
在一个示例方面,捕捉物理环境内的对象的图像。对象和物理环境中的每一者可以定义多个位置。图像可以定义表示对象和物理环境的多个位置的多个像素。可以将物理环境内的对象的图像发送到神经网络。基于该图像,神经网络可以生成定义与多个像素相关联的相应抓握分数的输出。抓握分数可以指示对象的由相应像素表示的位置处的相应抓握质量。根据各个实施方式,神经网络的输出被变换。基于变换神经网络的输出,可以选择对象的多个位置的抓握位置。在一些情况下,指令被发送到自主机器以在抓握位置抓握对象。基于指令和/或基于所述神经网络输出的变换,自主机器能够在抓握位置处抓握对象。
附图说明
当结合附图阅读时,从下面的详细描述中可以最好地理解本发明的上述和其它方面。为了说明本发明,在附图中示出了目前优选的实施方式,然而,应当理解,本发明不限于所公开的特定手段。附图中包括下列附图:
图1示出了根据示例实施方式的在包括各种对象的示例物理环境中包括自主机器的示例系统。
图2示出了可以是图1所示系统一部分的示例神经网络,其中根据一个示例实施方式,该神经网络可被配置成确定该自主机器在对象上的抓握位置。
图3示出了用于示例对象的抓握神经网络输出的示例,例如图2中所示的神经网络的输出。
图4示出了说明根据一些实施方式如何变换神经网络输出的示例的示例点云。
图5是示出根据示例实施方式的可以由自主系统执行的示例操作的流程图。
图6示出了其中可以实现本公开的实施方式的计算环境。
具体实施方式
本发明认识到当前抓握神经网络通常是卷积的,使得网络可以用某种类型的抓握负担度量来标记输入帧的每个像素。这样的网络可以定义抓握参数化,其可以包括x、y和z坐标,以及抓握的接近方向。如果这样的网络是在合成数据上训练的,那么本发明认识到当使用真实的相机数据来部署神经网络时,协变量偏移可能是常见的。更一般地,如果神经网络的运行时输入不同于神经网络的训练输入,则可能发生协变量转移。例如,传感器噪声等可能导致协变量偏移。这种协变量偏移可能导致神经网络产生输入帧像素的次优或不正确标记,这可能进一步导致机器人操作较差。
本发明还认识到当前减轻协变量偏移的运行时影响的方法通常集中于生成用于训练神经网络的合成数据。作为示例,一种方法是改进相机噪声的模型,使得用于训练的合成图像更接近现实世界对应物。另一示例方法是根据真实世界的相机高度来调整模拟中的相机高度。这种减轻协变量偏移的方法可被称为数据生成阶段的对策。然而,本发明认识到这种对策可能较麻烦或成本过高。例如,重新生成数据和再训练神经网络可能在计算上昂贵。此外,在一些情况下,训练和部署/运行时被去耦,例如使得客户不具有对数据生成框架的访问,这可能会阻止对训练数据生成流水线的访问。根据本发明描述的各种实施方式,在神经网络的运行时输出处而不是在训练输入或数据生成阶段处解决协变量偏移及其负面影响。
现在参考图1,示出了示例工业或物理环境100。如本发明所使用,物理环境可以指任何未知或动态的工业环境。重建或模型可以定义物理环境100的或物理环境100内一个或多个对象106的虚拟表示。物理环境100可以包括被配置成执行一个或多个制造操作(例如组装、运输等)的计算机化的自主系统102。自主系统102可以包括一个或多个机器人设备或自主机器,例如自主机器或机器人设备104,其被配置为执行一个或多个工业任务,如箱拾取、抓握等。系统102可以包括一个或多个计算处理器,其被配置成处理信息并且控制系统102(尤其是自主机器104)的操作。自主机器104可以包括一个或多个处理器,例如处理器108,其被配置为处理信息和/或控制与自主机器104相关联的各种操作。用于在物理环境内操作自主机器的自主系统还可以包括用于存储模块的存储器。处理器可进一步经配置以执行模块,以便处理信息并基于该信息产生模型。应当理解,出于示例目的,简化了所示环境100和系统102。环境100和系统102可以根据需要改变,并且所有这样的系统和环境都被认为在本公开的范围内。
仍然参考图1,自主机器104可进一步包括机器人手臂或操纵器110以及被配置成用于支撑机器人操纵器110的底座112。底座112可以包括轮子114或者可以被配置为在物理环境100内移动。自主机器104可以进一步包括附接至机器人操纵器110上的末端执行器116。末端执行器116可以包括一个或多个被配置成抓握和/或移动对象106的工具。示例性末端执行器116包括手指夹持器或基于真空的夹持器。机器人操纵器110可以被配置成移动以改变末端执行器116的位置,例如以在物理环境100内放置或移动对象106。系统102还可以包括一个或多个相机或传感器,例如三维(3D)点云相机118,其被配置为检测或记录物理环境100内的对象106。相机118可被安装到机器人操纵器110上或以其他方式被配置成生成给定场景(例如物理环境100)的3D点云。可替换地或附加地,系统102的一个或多个相机可以包括一个或多个标准二维(2D)相机,其可以记录或捕获来自不同视点的图像(例如,RGB图像或深度图像)。这些图像可用于构建3D图像。例如,一个2D相机可被安装到机器人操纵器110上以便从沿着由操纵器110限定的一个给定轨迹的多个视角捕获图像。
继续参考图1,在一个示例中,一个或多个相机可以被定位在自主机器104上方,或者可以以其他方式被布置以便连续地监测环境100内的任何对象。例如,当对象(例如对象106之一)在环境100内被布置或移动时,相机118可以检测该对象。在一个示例中,处理器108可以确定所检测的给定对象是否被自主系统102识别,以便确定对象被分类为已知还是未知(新的)。在一些示例中,对一组对象训练深度神经网络。基于其训练,当在环境100内检测到对象时,深度神经网络可计算给定新对象的相应区域的抓握分数。在一个示例中,当抓握分数大于预定阈值时,与图形分数相关联的区域被分类为末端执行器116(例如基于真空的抓握器)可以在其中抓握的区域。相反地,在一个示例中,当抓握分数低于预定阈值时,与图形分数相关联的区域被分类为除末端执行器116(例如基于真空的抓握器)在其中可以抓握的区域之外的区域(例如边缘、负空间)。
如上所描述,机器人设备104和/或系统102可以定义被配置为学习各种对象的一个或多个神经网络,以便识别可以在各种工业环境中找到的各种对象的抓握点(或位置)。现在参考图2,根据各种示例实施方式,示例系统或神经网络模型200可被配置为例如基于图像来学习对象和掌握位置。在训练神经网络200之后,例如,对象的图像可以由机器人设备104发送到神经网络200用于分类,尤其是抓握位置的分类。
示例神经网络200包括多个层,例如被配置为接收图像的输入层202a,被配置为生成与图像或图像的多个部分相关联的类或输出分数的输出层203b。例如,输出层203b可以被配置成用抓握负担度量来标记输入图像的每个像素。在一些情况下,抓握负担度量或抓握分数指示相关联的抓握成功的概率。成功通常是指在没有对象掉落的情况下抓握和携带对象。神经网络200还包括连接在输入层202a和输出层203b之间的多个中间层。尤其是,在一些情况下,中间层和输入层202a可以定义多个卷积层202。中间层还可以包括一个或多个完全连接的层203。卷积层202可以包括被配置为接收诸如图像的训练和测试数据的输入层202a。在一些情况下,输入层202a接收的训练数据包括任意对象的合成数据。合成数据可以指的是已经在仿真中创建的训练数据,以便类似实际的相机图像。卷积层202还可以包括最终卷积层或最后特征层202c,以及设置在输入层202a和最终卷积层202c之间的一个或多个中间或第二卷积层202b。应当理解,出于示例目的,简化了所示的模型200。尤其是,例如,模型可以根据需要包括任意数量的层、尤其是任意数量的中间层,并且所有这样的模型都被认为在本公开的范围内。
可以包括第一层203a和第二或输出层203b的完全连接的层203包括完全连接的层之间的连接。例如,第一层203a中的神经元可将其输出传送到第二层203b中的每个神经元,使得第二层203b中的每个神经元接收来自第一层203a中的每个神经元的输入。应再次理解到,出于解释目的简化了模型,并且模型200不限于所示出的完全连接的层203的数量。与完全连接的层相反,卷积层202可以是局部连接的,使得例如中间层202b中的神经元可以连接到最终卷积层202c中的有限数量的神经元。卷积层202还可以被配置为共享与每个神经元的强度相关联的连接强度。
仍然参考图2,输入层202a可以被配置为接收输入204,例如图像204,并且输出层203b可以被配置为返回输出206。在一些情况下,输入204可以定义由指向对象的一个或多个相机(诸如系统102的相机)捕获的对象的深度帧图像。输出206可以包括与输入204相关联的一个或多个分类或分数。例如,输出206可以包括指示与对应的输入204的各个部分(例如像素)相关联的多个分数208的输出矢量。作为示例,还参考图1和图3,输入204可以定义对象120(例如瓶子300)的深度图像。基于瓶子300的图像,输出206可以包括与输入图像204的像素以及进而与瓶子300的区域相关联的各种分数208。例如,抓握分数可以与瓶子300的相应区域相关联。抓握分数可指示基于特定末端执行器116抓握对象的最佳位置。作为示例,用于用基于真空的抓握器抓握具有盖子302的瓶子300的最佳位置可包括盖子302的与盖子302的边缘相距最小距离的区域。
因此,输出层203b可以被配置为生成与图像204相关联的,尤其是与图像204的像素相关联的抓握分数208,从而生成与图像204中描绘的对象的位置相关联的抓握分数。分数208可包括与给定末端执行器116的图像204的最佳抓握位置相关联的目标分数208a。抓握分数208还可以包括一个或多个混淆的或不正确的抓握分数,例如,其可以由协变量偏移产生。在本发明所描述的瓶子示例中,当末端执行器116定义基于真空的夹持器时,目标类别分数208a可对应于盖子302的中心。如本发明所描述,输出层203b可被配置成生成与工业设置中使用的各种对象的各种区域相关联的抓握分数208,诸如门、手柄、用户界面、显示器、工件、孔、插头等。
出于示例目的,输入204也被称为图像204,但是实施方式不限于此。输入204可以是工业图像,例如包括被分类以识别组件的抓握区域的部分的图像。应理解,模型200可以提供对由各种传感器或相机捕获的各种对象和/或图像的视觉识别和分类,并且所有这些对象和图像都被认为在本公开的范围内。
尤其参考图3,示出了对应于作为抓握神经网络输入的瓶子300的示例抓握神经网络输出304。作为示例,瓶子300的深度帧图像可以定义由模型200处理的输入204,以便生成输出304。抓握神经网络的输出304基于真空夹持器,使得输出304旨在指示真空夹持器的抓握位置。如本发明进一步描述的,抓握神经网络输出304示出了示例性协变量偏移。在该示例中,被处理的瓶子300的图像由向下指向盖子302的相机捕获。在该示例中,输出304定义与抓握位置相关联的像素式标签。例如,像素式标签可以作为颜色来传送,使得抓握神经网络输出304可以定义颜色地图。不同的颜色可以指示与相应位置相关联的抓握分数,使得具有最佳抓握分数的像素(其对应于瓶子300上的位置)具有特定颜色。应当理解,抓握分数可以在输出304上用可替换的指示来指示,使得输出304不限于颜色地图,并且抓握分数或位置的所有这样的可替换指示被认为在本公开的范围内。
仍然参考图3,说明了由协变量偏移引入的示例问题。尤其是,示例输出304指示瓶子300的盖子302上的各种抓握位置314。盖子302限定中心306和围绕中心306的边缘308。在一个示例中,盖子302上的真空夹持器的最佳抓握位置在中心306处。在一些情况下,预期真空夹持器可以抓握盖子302的大部分,并且因此输出304应当将盖子302上的位置限定为具有良好的抓握分数。然而,本发明认识到由于协变量偏移,输出304将不在盖子302上的位置310定义为具有良好的抓握分数。在一些情况下,具有良好抓握分数的位置310完全不在瓶子300上。错误标记的位置(例如位置310)可由获得瓶子300的图像的相机处的噪声及其它原因引起。此外,输出306限定位置316,该位置包括具有低抓握分数的盖子302的中心306。此外,输出306指示位置312具有最佳抓握分数,且因此应为真空夹持器抓握瓶子300的最佳位置。但是位置312不包括中心306,并且位置312靠近边缘308,这可以抑制真空夹持器抓握的抓握强度。应当理解,错误地识别边缘308可以抑制各种末端执行器116的抓握质量,并且因此不是仅与真空夹持器相关联的问题。在示例中,具有低抓握分数的位置316包括中心306。因此,如图所示,协变量偏移可以降低抓握神经网络(例如模型200)的输出的准确性,这可以在基于神经网络输出的机器人操作期间导致进一步的问题。
为了解决协变量偏移和由协变量偏移引起的问题,本发明描述的实施方式可以变换神经网络输出,例如输出304,以便提高识别的抓握位置的准确性,从而增加抓握成功率。例如,当根据实施方式基于变换的神经网络输出执行抓握时,可以增加经验抓握成功率。
再次参考图2,根据一些实施方式,对可与输入204的相应像素相关联的神经网络输出分数208进行排序。例如,输出分数208可以按抓握质量的顺序排序,例如从最高到最低或从最低到最高。本发明认识到,当前方法可以在与最高抓握分数相关联的位置处执行抓握。尤其是,参考图3,根据当前方法设计的机器人可以在靠近边缘308并具有输出304的最高抓握分数的位置312处抓握瓶子。根据示例实施方式,处理器(例如系统104)可以循环通过分数208的排序列表,以便过滤掉被错误地标记为高抓握分数的分数208。例如,系统104可以确定与分数208的排序列表中彼此相邻的抓握分数相关联的位置之间的相应距离。在确定距离之后,系统104可以将距离与最小距离进行比较。作为示例,如果排名最高的分数和排名第二高的分数之间的距离大于最小距离,则排名最高的分数可被拒绝为表示最佳抓握位置。因此,继续该示例,具有最高排序分数的位置可被识别为离群值或不正确标记的抓握位置。在一些示例中,最小距离可涉及末端执行器114的尺寸特性。作为示例而非限制,最小距离可以由真空夹持器的吸盘的直径或长度(例如,吸盘直径的一半)限定。通过基于末端执行器114的尺寸限定最小距离,当出于任何原因拒绝第一抓握位置时,可以确保第二抓握位置不会遭受与第一抓握位置相同的问题,因为第二抓握位置距第一抓握位置足够远(例如,大于最小距离)。此外,在一些情况下,在确定与排序列表中的相邻抓握分数相关联的抓握位置之间的距离之后,可将相应距离与最小距离进行比较以确定抓握位置彼此接近。在一些情况下,在确定抓握候选位置(例如,具有高分数的位置)之间的距离小于最小距离以便将相关联的抓握位置识别为彼此接近之后,可以用单个抓握分数来识别相关联的抓握位置。例如,单个抓握分数可以是各个分数中的最高分数。
还参考图4,如上所描述,在抓握执行期间由协变量偏移引起的示例性技术问题是当系统识别接近边缘的抓握位置时。执行过于靠近边缘的抓握会导致抓握失败。例如,真空夹持器可能无法执行靠近边缘的抓握,因为其真空密封可能不会在边缘处形成。根据示例实施方式,自主系统,例如系统102,在尝试执行抓握之前会拒绝太靠近边缘的抓握。
尤其参考图4,给定抓握神经网络输出,诸如定义抓握像素和关联的抓握分数的输出304,系统可以提取给定抓握像素或点402以及围绕抓握点402的多个像素或点404,以便生成点云400。点云400可以定义沿第一方向408(例如,x轴)、第二方向410(例如,y轴)和第三方向412(z轴)的坐标。因此,抓握点402和周围点404可分别由沿第一、第二和第三方向408、410和412的坐标限定。第二方向410可以基本上垂直于第一方向408,并且第三方向412可以基本上分别垂直于第一和第二方向408和410。在一些示例中,点云400可限定与由末端执行器114的夹持器限定的表面对应的表面。在一些示例中,根据来自相机的深度信息来重构点云,并且神经网络可用于计算初始抓握。例如,在一些情况下,该抓持器包括一个吸盘,该吸盘限定了在其中吸盘被配置成通过真空密封来抓握一个对象的区域,并且由点云400限定的区域可以表示由该吸盘限定的区域。在一个示例中,系统可以通过点云400的点404拟合平面414。该平面可以通过最小二乘回归拟合,其可以考虑点云的所有点。
在拟合平面414之后,系统可以计算平面414相对于每个点402的相应残差值。残差值可以定义每个点414与平面414的偏差的指示。在一些示例中,由残差值定义的偏差是沿着基本上垂直于平面的方向从相应点414到平面402的距离,使得测量距离所沿着的方向是相对于平面的面的法线。在各种示例中,当存在由点云400表示的接近抓握点402的对象的边缘时,所计算的残差值相对于彼此具有宽的方差。作为另一个例子,当该区域定义了平坦表面时,与当区域定义了可能表示边缘的弯曲表面时相比,残差值之间的方差较小。系统可以将残差值与预定阈值进行比较。基于该比较,系统可以确定或检测边缘是否在抓握点402附近。例如,在一些情况下,当给定残差值大于预定阈值时,系统检测到边缘。在一个示例中,阈值可以是由部署系统的工程师设置的调节参数。点云400可被用于使用附加的或替代的计算来检测边缘,并且所有这样的计算都被认为在本公开的范围内。在可替换的例子中,可以根据Canny边缘检测算法执行边缘检测,Canny边缘检测算法可以直接检测深度图像中的边缘。边缘检测的另一种方法是Canny边缘检测算法。该算法可以直接检测深度图像中的边缘。
在另一示例中,可以修改而不是拒绝与接近边缘的高抓握分数相关联的抓握点。例如,系统可以基于与抓握点相关联的分数来确定给定抓握点被分类为抓握候选者。系统还可以例如基于上面讨论的残差值来确定给定的抓握点接近对象的边缘。此外,基于与给定抓握点相关联的相应残差值,系统可以将抓握点从边缘移开预定距离。抓握点可以沿着剩余平面的正梯度移动,其可以与指向远离边缘的方向一致。在各种示例中,可以设置抓握点移动的距离。在一些情况下,预定距离基于末端执行器116的尺寸或几何形状。例如,系统可将抓握点移动与末端执行器116的吸盘的尺寸(例如,至少或等于吸盘直径的一半)相关联的距离。
在另一示例中,系统可以在具有高抓握分数并且在边缘附近或边缘上的原始抓握点周围或附近定义测试域。基于该测试域,该系统能够制定并求解约束优化问题,以确定在测试域中定义最佳抓握质量并且离边缘足够远的点。例如,系统可以执行基于内核的卷积,该卷积指示没有边缘的区域或点,其可以与拉格朗日乘子和抓握质量相结合。当靠近边缘的原始抓握点远离边缘移动以限定新的抓握点时,可以由末端执行器116在新的抓握点执行抓握。
再次参考图3,系统104可以生成输出,例如神经网络输出304,其可以定义抓握参数化,该抓握参数化包括在抓握操作期间与末端执行器116的坐标对齐的对象坐标。尤其是,例如,抓握参数化可以定义在抓握期间与吸盘的中心对齐的给定对象坐标。在一些情况下,抓握参数化还包括接近矢量。接近矢量可以指示在抓握操作期间末端执行器116遵循的路线或方向。在一些示例中,系统可对神经网络输出(例如输出304)执行额外变换,以产生确保末端执行器116与其它对象(例如仓壁等)之间无碰撞的接近矢量。因此,系统可以评估接近矢量的方向或路线、末端执行器的几何形状、抓握点的位置,以便确定是否将发生碰撞。如果评估得出碰撞可能发生的结论,则系统可以改变接近矢量以便定义新的接近矢量。通过遵循新的接近矢量,末端执行器116可以抓握对象而不与任何与预期抓握无关的对象碰撞。可以通过将切向平面拟合到所选择的抓握点来计算接近矢量。接近矢量可以定义该切向平面的法向矢量。法向矢量可以被扩展以确定机器人臂是否将与任何东西碰撞,例如,如果它沿着法向矢量朝向抓握点行进。
在各种示例中,系统实现几何推理以拒绝将导致冲突的抓握。例如,抓握神经网络输出,例如输出304,可以定义各个点或像素的抓握质量分数和接近角。在一些情况下,接近角使得具有高抓握质量分数的给定点不可行,例如由于碰撞。该系统可制定约束优化问题以求解具有可行(例如,无冲突)接近角和高抓握质量分数的抓握点。在一些情况下,为了增强性能,可以根据候选抓握点的分数对其进行排序,并且仅对分数高于特定阈值的候选点进行采样并将其输入到优化问题中。
不受理论的约束,根据各种实施方式,可以变换抓握神经网络的输出,以便补救与协变量偏移相关的问题,而无需重新生成数据集和/或重新训练神经网络。尤其是,当操作条件改变时,例如相机噪声改变或物理环境改变,通过变换神经网络的输出而不是再训练神经网络或使用另一数据集来补救与协变量偏移相关的问题。此外,这里描述的实施方式可以用任何抓握神经网络来实现,以验证抓握点充分远离可能妨碍抓握执行的边缘或其它几何特性。
现在参考图5,示例操作500可以由包括神经网络的自主系统(例如自主系统102)来执行。在502,可以例如通过传感器或相机118捕获物理环境内的对象的图像。对象和物理环境中的每一者可以定义多个位置。图像可以定义表示对象和物理环境的多个位置的多个像素。在504处,可以将物理环境内的对象的图像发送或以其他方式提供给自主系统的神经网络。在506处,基于图像,神经网络可生成定义与多个像素相关联的相应抓握分数的输出。抓握分数可以指示由相应像素表示的对象的位置处的相应抓握质量。在508,根据各个实施方式,变换神经网络的输出。基于变换神经网络的输出,在510,可以选择对象的多个位置的抓握位置。在一个示例中,变换该输出可以包括抓握分数中指示与其它抓握分数相比高抓握质量的第一抓握分数,其中第一抓握分数与多个位置中的第一位置相关联。继续该示例,变换输出还可包括拒绝指示高抓握质量的第一抓握分数,使得所选择的抓握位置与除了第一抓握分数之外的抓握分数之一相关联。在一个示例中,第一抓握分数被拒绝,因为系统确定第一位置定义了对象外部的物理环境上的点。在其他示例中,在以从高抓握质量到低抓握质量的顺序对抓握分数进行排序之后,第一抓握分数被拒绝,以便定义抓握分数的排序列表,该排序列表定义与第一抓握分数接近的至少一个抓握分数;以及确定与接近第一抓握分数的至少一个抓握分数相关联的相应位置大于与第一抓握分数关联的第一位置的预定距离。在又一示例中,对象可以定义至少一个边缘,并且第一抓握分数可以与第一位置相关联。在这样的示例中,拒绝第一抓握分数可以包括确定从第一位置到至少一个边缘的第一距离。系统可以将第一距离与预定阈值进行比较,并且系统可以确定第一距离小于预定阈值。预定阈值可以基于自主机器的末端执行器,和/或末端执行器的尺寸。例如,预定阈值可以基于由末端执行器限定的吸盘的直径。
仍然参考图5,在一些情况下,指令被发送到自主机器以在抓握位置抓握对象。在512处,基于指令和/或基于神经网络输出的变换,自主机器可以在抓握位置处抓握对象。因此,可以在多个对象上训练神经网络。新对象的图像可被发送到神经网络,其中新对象不是训练神经网络的多个对象之一。基于图像和末端执行器,神经网络可以产生识别对象上抓握位置的输出。该输出可以定义协变量偏移,并且该输出可以被变换以便消除该协变量偏移。尤其是,例如,可以改变由神经网络识别的至少一个抓握位置。
图6示出了其中可以实现本公开的实施方式的计算环境的示例。计算环境600包括计算机系统610,其可包括诸如系统总线621的通信机制或用于在计算机系统610内传送信息的其它通信机制。计算机系统610还包括与系统总线621联接的用于处理信息的一个或多个处理器620。自主系统102可以包括或联接到一个或多个处理器620。
处理器620可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域已知的任何其他处理器。更一般地,这里描述的处理器是用于执行存储在计算机可读介质上的机器可读指令的设备,用于执行任务,并且可以包括硬件和固件中的任何一个或它们的组合。处理器还可以包括存储可执行的用于执行任务的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或传输由可执行程序或信息装置使用的信息和/或通过将信息路由到输出装置来对信息起作用。处理器可以使用或包括例如计算机、控制器或微处理器的能力,并且使用可执行指令来调节以执行不由通用计算机执行的专用功能。处理器可以包括任何类型的适当处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(RISC)微处理器、复杂指令集计算机(CISC)微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)、数字信号处理器(DSP)等。此外,处理器620可以具有任何合适的微体系结构设计,其包括任何数量的构成组件,例如寄存器、多路复用器、算术逻辑单元、用于控制对高速缓冲存储器的读/写操作的高速缓存控制器、分支预测器等。处理器的微体系结构设计能够支持多种指令集中的任何指令集。处理器可以与能够在其间进行交互和/或通信的任何其它处理器联接(电联接和/或包括可执行组件)。用户界面处理器或产生器是已知的元件,包括用于产生显示图像或其部分的电子电路或软件或两者的组合。用户界面包括使用户能够与处理器或其它设备交互的一个或多个显示图像。
系统总线621可以包括系统总线、存储器总线、地址总线或消息总线中的至少一者,并且可以允许在计算机系统610的各个组件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。系统总线621可以包括但不限于存储器总线或存储器控制器、外围总线、加速图形端口等。系统总线621可以与任何合适的总线体系结构相关联,包括但不限于工业标准体系结构(ISA)、微通道体系结构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)体系结构、加速图形端口(AGP)体系结构、外围组件互连(PCI)体系结构、PCI-Express体系结构、个人计算机存储卡国际协会(PCMCIA)体系结构、通用串行总线(USB)体系结构等。
继续参考图6,计算机系统610还可以包括联接到系统总线621的系统存储器630,用于存储信息和待由处理器620执行的指令。系统存储器630可以包括易失性和/或非易失性存储器形式的计算机可读存储介质,诸如只读存储器(ROM)631和/或随机存取存储器(RAM)632。RAM 632可以包括其它动态存储设备(例如,动态RAM、静态RAM和同步DRAM)。ROM631可包括其它静态存储设备(例如,可编程ROM、可擦除PROM和电可擦除PROM)。另外,系统存储器630可用于在处理器620执行指令期间存储临时变量或其它中间信息。基本输入/输出系统633(BIOS)包含有助于诸如在启动期间在计算机系统610内的元件之间传递信息的基本例程,它可以存储在ROM 631中。RAM 632可以包含可由处理器620立即访问和/或当前正由处理器620操作的数据和/或程序模块。系统存储器630还可以包括例如操作系统634、应用程序635和其它程序模块636。应用程序635还可以包括用于开发应用程序的用户门户,允许输入参数并在必要时进行修改。
操作系统634可以被加载到存储器630中,并且可以提供在计算机系统610上执行的其他应用软件与计算机系统610的硬件资源之间的接口。更尤其是,操作系统634可包括一组计算机可执行指令,用于管理计算机系统610的硬件资源并向其它应用程序提供公共服务(例如,管理各种应用程序之间的存储器分配)。在某些示例实施方式中,操作系统634可以控制被描绘为存储在数据存储器640中的一个或多个程序模块的执行。操作系统634可包括现在已知或将来可开发的任何操作系统,包括但不限于任何服务器操作系统、任何主机操作系统,或任何其它专有或非专有操作系统。
计算机系统610还可以包括联接到系统总线621以控制用于存储信息和指令的一个或多个存储设备的盘/介质控制器643,诸如磁硬盘641和/或可移动介质驱动器642(例如,软盘驱动器、光盘驱动器、磁带驱动器、闪存驱动器和/或固态驱动器)。可以使用适当的设备接口(例如,小型计算机系统接口(SCSI)、集成设备电子设备(IDE)、通用串行总线(USB)或FireWire)将存储设备640添加到计算机系统610。存储设备641、642可以在计算机系统610的外部。
计算机系统610还可以包括联接到系统总线621的现场设备接口665,以控制现场设备666,诸如在生产线中使用的设备。计算机系统610可以包括用户输入接口或GUI 661,其可以包括一个或多个输入设备,诸如键盘、触摸屏、输入板和/或点击设备,用于与计算机用户交互并向处理器620提供信息。
计算机系统610可以响应于处理器620执行包含在诸如系统存储器630的存储器中的一个或多个指令的一个或多个序列来执行本发明实施方式的处理步骤的一部分或全部。这样的指令可以从存储器640的另一计算机可读介质(磁硬盘641或可移动介质驱动器642)读入系统存储器630。硬磁盘641(或固态驱动器)和/或可移动介质驱动器642可以包含本公开的实施方式所使用的一个或多个数据存储和数据文件。数据存储640可包括但不限于数据库(例如,关系型、面向对象的等)、文件系统、平面文件,其中数据存储在计算机网络的多于一个节点上的分布式数据存储、对等网络数据存储等。数据存储器可以存储各种类型的数据,例如技能数据、传感器数据或根据本公开的实施方式生成的任何其他数据。数据存储内容和数据文件可以被加密以提高安全性。处理器620还可以用在多处理装置中,以执行包含在系统存储器630中的一个或多个指令序列。在替换实施方式中,硬连线电路可以代替软件指令或与软件指令结合使用。因此,实施方式不限于硬件电路和软件的任何特定组合。
如上所描述,计算机系统610可以包括至少一个计算机可读介质或存储器,用于保存根据本发明的实施方式编程的指令,并且用于包含数据结构、表、记录或这里描述的其它数据。这里使用的术语“计算机可读介质”是指参与向处理器620提供指令以供执行的任何介质。计算机可读介质可以采用许多形式,包括但不限于非瞬态、非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘,诸如磁硬盘641或可移动介质驱动器642。易失性介质的非限制性示例包括动态存储器,诸如系统存储器630。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括构成系统总线621的导线。传输介质也可以采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的波。
用于执行本公开的操作的计算机可读介质指令可以是汇编指令、指令集体系结构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任何组合编写的源代码或目标代码,编程语言包括诸如Smalltalk、C++等的面向对象的编程语言,以及诸如“C”编程语言或类似编程语言的常规过程编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行作为独立的软件包、部分在用户的计算机上执行且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施方式中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本公开的各方面。
在此参考根据本公开的实施方式的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本公开的各方面。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读介质指令来实现。
计算环境600还可包括使用到诸如远程计算设备680等一个或多个远程计算机的逻辑连接在联网环境中操作的计算机系统610。网络接口670可以实现例如经由网络671与其它远程设备680或系统和/或存储设备641、642的通信。远程计算设备680可以是个人计算机(膝上型计算机或台式计算机)、移动设备、服务器、路由器、网络PC、对等设备或公共网络节点,并且通常包括以上相对于计算机系统610描述的许多或所有元件。当在联网环境中使用时,计算机系统610可以包括调制解调器672,用于在诸如因特网的网络671上建立通信。调制解调器672可经由用户网络接口670或经由另一适当机制连接到系统总线621。
网络671可以是本领域中通常已知的任何网络或系统,包括因特网、内联网、局域网(LAN)、广域网(WAN)、城域网(MAN)、直接连接或一系列连接、蜂窝电话网络,或能够促进计算机系统610与其它计算机(例如,远程计算设备680)之间的通信的任何其它网络或介质。网络671可以是有线的、无线的或其组合。有线连接可以使用以太网、通用串行总线(USB)、RJ-6或本领域公知的任何其它有线连接来实现。无线连接可以使用Wi-Fi、WiMAX和蓝牙、红外、蜂窝网络、卫星或本领域公知的任何其它无线连接方法来实现。另外,多个网络可单独工作或彼此通信以促进网络671中的通信。
应当理解,图6中所示的存储在系统存储器630中的程序模块、应用、计算机可执行指令、代码等仅仅是说明性的,而不是穷举性的,并且描述为由任何特定模块支持的处理可以可替换地分配在多个模块上或者由不同的模块执行。此外,可以提供各种程序模块、脚本、插件、应用编程接口(API),或在计算机系统610、远程设备680上本地托管的和/或在可经由一个或多个网络671访问的其它计算设备上托管的任何其它合适的计算机可执行代码,以支持由图6中描绘的程序模块、应用或计算机可执行代码提供的功能和/或附加或替代功能。此外,功能可以被不同地模块化,使得被描述为由图6所示的程序模块集合共同支持的处理可以由更少或更多数量的模块执行,或者被描述为由任何特定模块支持的功能可以至少部分地由另一模块支持。此外,支持这里描述的功能的程序模块可形成可根据诸如客户机-服务器模型、对等模型等任何合适的计算模型在任何数量的系统或设备上执行的一个或多个应用程序的一部分。另外,被描述为由图6中描绘的任何程序模块支持的任何功能可以至少部分地以硬件和/或固件在任意数量的设备上实现。
还应当理解,在不脱离本公开的范围的情况下,计算机系统610可以包括所描述或描绘的之外的替代和/或附加硬件、软件或固件组件。更尤其是,应当理解,被描绘为形成计算机系统610的一部分的软件、固件或硬件组件仅仅是说明性的,并且在各种实施方式中可以不存在某些组件或者可以提供附加组件。虽然已将各种说明性程序模块描绘和描述为存储在系统存储器630中的软件模块,但应了解,描述为由程序模块支持的功能性可由硬件、软件和/或固件的任何组合来启用。应进一步了解,在各种实施方式中,上述模块中的每一者可表示所支持功能的逻辑分区。该逻辑分区是为了便于解释功能而描绘的,并且可以不代表用于实现该功能的软件、硬件和/或固件的结构。因此,应了解,在各种实施方式中,描述为由特定模块提供的功能性可至少部分地由一个或一个以上其它模块提供。此外,在某些实施方式中可不存在一个或一个以上所描绘的模块,而在其它实施方式中,可存在未描绘的额外模块且可支持功能性和/或额外功能性的至少一部分。此外,虽然某些模块可被描绘和描述为另一模块的子模块,但在某些实施方式中,此类模块可被提供为独立模块或其他模块的子模块。
虽然已经描述了本公开的特定实施方式,但是本领域的普通技术人员将认识到,在本公开的范围内存在许多其它修改和替换实施方式。例如,关于特定设备或组件描述的任何功能和/或处理能力可以由任何其他设备或组件来执行。此外,虽然已经根据本公开的实施方式描述了各种说明性实现和架构,但是本领域普通技术人员将理解,对本文描述的说明性实现和架构的许多其他修改也在本公开的范围内。另外,应了解,本文中描述为基于另一操作、元件、组件、数据等的任何操作、元件、组件、数据等可另外基于一个或多个其它操作、元件、组件、数据等。因此,短语“基于”或其变体应被解释为“至少部分地基于”。
虽然已经用结构特征和/或方法动作专用的语言描述了实施方式,但是应当理解,本公开不必限于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现这些实施方式的说明性形式而公开的。条件性语言,例如“可以”或“可能”等,除非另外具体说明或在所使用的上下文中另外理解,通常旨在传达某些实施方式可包括但不包括某些特征、元件和/或步骤。因此,此类条件性语言一般不旨在暗示一个或多个实施方式以任何方式要求特征、元件和/或步骤,或者一个或多个实施方式必须包括用于在有或没有用户输入或提示的情况下决定这些特征、元件和/或步骤是否被包括在任何特定实施方式中或要在任何特定实施方式中执行的逻辑。
图中的流程图和框图示出了根据本公开的各种实施方式的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些可替换的实施方式中,方框中指出的功能可以不按附图中指出的顺序发生。例如,根据所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
Claims (16)
1.一种抓握对象的方法,所述方法包括:
捕获物理环境内的所述对象的图像,所述对象和所述物理环境中的每一者定义多个位置,所述图像定义表示所述对象和所述物理环境的所述多个位置的多个像素;
将所述物理环境内的所述对象的所述图像发送到神经网络;
基于所述图像,所述神经网络生成限定与所述多个像素相关联的相应抓握分数的输出,所述抓握分数指示所述对象的由相应像素表示的位置处的相应抓握质量;
变换所述神经网络的所述输出;
基于变换所述神经网络的所述输出,选择所述对象的所述多个位置中的抓握位置;
由自主机器在所述抓握位置抓握所述对象。
2.根据权利要求1所述的方法,其中,变换所述神经网络的所述输出进一步包括:
识别所述抓握分数中与其他抓握分数相比指示高抓握质量的第一抓握分数,所述第一抓握分数与所述多个位置中的第一位置相关联;以及
拒绝指示所述高抓握质量的所述第一抓握分数,使得选择的抓握位置与除了所述第一抓握分数之外的抓握分数中的一个相关联。
3.根据权利要求2所述的方法,其中,拒绝所述第一抓握分数包括:确定所述第一位置定义所述对象的外部的所述物理环境上的点。
4.根据权利要求2所述的方法,其中,拒绝所述第一抓握分数进一步包括:
以从高抓握质量到低抓握质量的顺序对所述抓握分数进行排序,以定义抓握分数的排序列表,该排序列表定义与所述第一抓握分数接近的至少一个抓握分数;以及
确定与接近所述第一抓握分数的所述至少一个抓握分数相关联的相应位置大于与所述第一抓握分数关联的所述第一位置的预定距离。
5.根据权利要求2所述的方法,其中,所述对象限定了至少一个边缘,所述第一抓握分数与第一位置相关联,并且拒绝所述第一抓握分数进一步包括:
确定从所述第一位置到所述至少一个边缘的第一距离;
将所述第一距离与预定阈值进行比较;以及
确定所述第一距离小于所述预定阈值。
6.根据权利要求5所述的方法,其中,所述自主机器包括被配置成抓握所述对象的末端执行器,并且所述预定阈值基于所述末端执行器。
7.根据权利要求6所述的方法,其中,所述预定阈值基于所述末端执行器的尺寸。
8.根据权利要求7所述的方法,其中,所述末端执行器包括具有直径的吸盘,并且所述预定阈值基于所述直径。
9.根据权利要求2所述的方法,其中,变换所述神经网络的所述输出进一步包括:
识别与其他抓握分数相比指示高抓握质量的第一抓握分数,所述第一抓握分数与所述多个位置中的第一位置相关联;
确定所述对象的边缘与所述第一位置之间的第一距离;
基于所述第一距离,确定第二距离;以及
选择所述抓握位置,使得所述抓握位置是与所述第一位置的所述第二距离。
10.一种用于确定与自主机器相关联的抓握点的方法,所述自主机器限定被配置成抓握对象的末端执行器,所述方法包括:
在多个对象的图像上训练神经网络;
将新对象的图像发送到所述神经网络,所述新对象不是训练所述神经网络的所述多个对象中的一个;
基于所述图像和所述末端执行器,所述神经网络产生识别所述对象上的抓握位置的输出,所述输出限定协变量偏移;以及
变换所述输出以消除所述协变量偏移。
11.根据权利要求10所述的方法,其中,变换所述输出还包括:改变所述抓握位置中由所述神经网络的所述输出识别的至少一个抓握位置。
12.一种自主系统,包括:
自主机器,限定末端执行器,所述末端执行器被配置成在物理环境内抓握对象,所述对象和所述物理环境中的每一者限定多个位置;
传感器,被配置成捕获所述物理环境内的对象的图像,所述图像限定了表示所述对象和所述物理环境的所述多个位置的多个像素;
一个或多个处理器;以及
存储指令的存储器,该指令在由所述一个或多个处理器执行时使得所述自主系统:
基于所述图像,生成限定与所述多个像素相关联的相应抓握分数的输出,所述抓握分数指示所述对象的由相应像素表示的位置处的相应抓握质量;
变换所述输出;
基于变换所述输出,选择所述对象的所述多个位置中的抓握位置;以及
将指令发送到所述自主机器以在所述抓握位置处抓握所述对象,
其中,所述末端执行器还被配置成基于所述指令在所述抓握位置处抓握所述对象。
13.根据权利要求12所述的自主系统,所述存储器进一步存储指令,该指令在由所述一个或多个处理器执行时进一步使得所述自主系统:
识别所述抓握分数中与其他抓握分数相比指示高抓握质量的第一抓握分数,所述第一抓握分数与所述多个位置中的第一位置相关联;以及
拒绝指示所述高抓握质量的所述第一抓握分数,使得选择的抓握位置与除了所述第一抓握分数之外的抓握分数中的一个相关联。
14.根据权利要求13所述的自主系统,所述存储器进一步存储指令,该指令在由所述一个或多个处理器执行时进一步使得所述自主系统:确定所述第一位置定义所述对象的外部的所述物理环境上的点。
15.根据权利要求13所述的自主系统,所述存储器进一步存储指令,该指令在由所述一个或多个处理器执行时进一步使得所述自主系统:
按照从高抓握质量到低抓握质量的顺序对所述抓握分数进行排序,以定义抓握分数的排序列表,该排序列表定义与所述第一抓握分数接近的至少一个抓握分数;以及
确定与接近所述第一抓握分数的所述至少一个抓握分数相关联的相应位置大于与所述第一抓握分数关联的所述第一位置的预定距离。
16.一种包括指令的非瞬态计算机可读存储介质,所述指令在由计算系统处理时,将所述计算系统配置为执行根据权利要求1至11中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/034023 WO2022250658A1 (en) | 2021-05-25 | 2021-05-25 | Transformation for covariate shift of grasp neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117377987A true CN117377987A (zh) | 2024-01-09 |
Family
ID=76502848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180098530.2A Pending CN117377987A (zh) | 2021-05-25 | 2021-05-25 | 抓握神经网络的协变量偏移的变换 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4327299A1 (zh) |
CN (1) | CN117377987A (zh) |
WO (1) | WO2022250658A1 (zh) |
-
2021
- 2021-05-25 EP EP21733302.0A patent/EP4327299A1/en active Pending
- 2021-05-25 WO PCT/US2021/034023 patent/WO2022250658A1/en active Application Filing
- 2021-05-25 CN CN202180098530.2A patent/CN117377987A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4327299A1 (en) | 2024-02-28 |
WO2022250658A1 (en) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110640730B (zh) | 生成用于机器人场景的三维模型的方法和系统 | |
US20200311855A1 (en) | Object-to-robot pose estimation from a single rgb image | |
CN112837371A (zh) | 基于3d匹配的物体抓取方法、装置及计算设备 | |
Sayour et al. | Autonomous robotic manipulation: Real-time, deep-learning approach for grasping of unknown objects | |
US20220324107A1 (en) | Performance recreation system | |
CN114641378A (zh) | 用于机器人拣选的系统和方法 | |
CN114097004A (zh) | 基于视觉嵌入的自主任务性能 | |
US11203116B2 (en) | System and method for predicting robotic tasks with deep learning | |
US20230330858A1 (en) | Fine-grained industrial robotic assemblies | |
CN112132136A (zh) | 一种目标跟踪方法和装置 | |
CN114187312A (zh) | 目标物的抓取方法、装置、系统、存储介质及设备 | |
CN116803631A (zh) | 自主系统和由自主系统执行的方法 | |
CN117377987A (zh) | 抓握神经网络的协变量偏移的变换 | |
Maru et al. | Internet of things based cyber-physical system framework for real-time operations | |
US20210233246A1 (en) | Confidence-based segmentation of multiple units | |
US11875528B2 (en) | Object bin picking with rotation compensation | |
Lin et al. | Inference of 6-DOF robot grasps using point cloud data | |
Bhuyan et al. | Structure‐aware multiple salient region detection and localization for autonomous robotic manipulation | |
Timmermann et al. | A hybrid approach for object localization combining mask R-CNN and Halcon in an assembly scenario | |
Sileo | Collaborative and Cooperative Robotics Applications using Visual Perception | |
CN117545598A (zh) | 用于自主箱中抓取的高级传感器融合和多标准决策 | |
EP4332900A1 (en) | Automatic bin detection for robotic applications | |
US20240046659A1 (en) | Method for detecting an environment by means of images from at least two image sensors | |
WO2023033814A1 (en) | Robotic task planning | |
EP4292772A1 (en) | Heuristic-based robotic grasps |
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 |