CN116249607A - 用于机器人抓取三维物体的方法和装置 - Google Patents
用于机器人抓取三维物体的方法和装置 Download PDFInfo
- Publication number
- CN116249607A CN116249607A CN202080104646.8A CN202080104646A CN116249607A CN 116249607 A CN116249607 A CN 116249607A CN 202080104646 A CN202080104646 A CN 202080104646A CN 116249607 A CN116249607 A CN 116249607A
- Authority
- CN
- China
- Prior art keywords
- grabbing
- dimensional object
- posture
- template
- gesture
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000000007 visual effect Effects 0.000 claims abstract description 35
- 230000036544 posture Effects 0.000 claims description 196
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 10
- 230000033001 locomotion Effects 0.000 abstract description 5
- 239000013598 vector Substances 0.000 description 37
- 238000010586 diagram Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000010420 art technique Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007796 conventional method Methods 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
- 230000001902 propagating effect Effects 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 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/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
-
- 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
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- 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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- 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/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- 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/39057—Hand eye calibration, eye, camera on hand, end effector
-
- 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/40543—Identification and location, position of components, objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本公开的实施例提出了一种用于机器人抓取三维物体的方法,包括:确定机器人的视觉传感器相对于三维物体的当前位置和姿态;获取三维物体的抓取模板,抓取模板中包括视觉传感器相对于三维物体的指定抓取位置和姿态;判断抓取模板中是否还包括视觉传感器相对于三维物体的至少一个参考抓取位置和姿态,其中,参考抓取位置和姿态是基于指定抓取位置和姿态生成的;以及基于判断结果,利用抓取模板和当前位置和姿态生成机器人的抓取位置和姿态。在本公开中,使用参考抓取位置和姿态优化机器人从当前位置和姿态到抓取位置和姿态的运动路径,因此增加了抓取灵活性,提高了抓取速度和效率,还节省了能量。该方法简单易行,数据计算量小,也无需昂贵的三维摄像头,因此节约了时间和经济成本。
Description
本公开涉及工业机器人的技术领域,更具体地说,涉及用于机器人抓取三维物体的方法、装置、计算设备、计算机可读存储介质和程序产品。
使用机器人抓取三维物体(3D物体)是工业流程中常见的一类工序。在执行物体抓取的任务时,三维物体与摄像头之间的相对位置和姿态尤为重要。目前,基于二维摄像头(2D摄像头)估计三维物体与摄像头之间的相对位置和姿态的方法通常使用模板匹配或深度学习来直接估计位置和姿态。另外,一些现有技术采用了基于三维摄像头(3D摄像头)估计三维物体与摄像头之间的相对位置和姿态的方法。在这些现有技术中,通过将实际扫描的三维物体与其模型进行比较,从而获得三维物体在空间中的位置和姿态。
对于抓取点和抓取位置和姿态的获取,传统的方法包括牵引示教和深度学习。此外,表示位置和姿态的传统方法通常采用x、y、z、翻滚角、俯仰角和偏航角六个参数。
发明内容
传统的基于二维摄像头的模板匹配方法无法检测复杂环境中的物体,而对于深度学习直接估计位置和姿态的方法,获得三维物体与摄像头之间的位置和姿态非常复杂和困难。基于三维摄像头的位置和姿态估计方法需要高精度的摄像头,价格昂贵,也非常耗费时间。
另外,在牵引示教的方法中,抓取点和抓取位置和姿态是固定的,缺乏灵活性。采用深度学习计算抓取点和抓取位置和姿态依赖于庞大的数据集,因此同样价格昂贵且耗费时间。而且,表示位置和姿态的传统的六个参数在一些情况下是冗余的,增加了计算负担。
本公开的第一实施例提出了一种用于机器人抓取三维物体的方法,包括:确定机器人的视觉传感器相对于三维物体的当前位置和姿态;获取三维物体的抓取模板,抓取模板中包括视觉传感器相对于三维物体的指定抓取位置和姿态;判断抓取模板中是否还包括视觉传感器相对于三维物体的至少一个参考抓取位置和姿态,其中,参考抓取位置和姿态是基于指定抓取位置和姿态生成的;以及基于判断结果,利用抓取模板和当前位置和姿态生成机器人的抓取位置和姿态。
在本实施例中,通过判断在预设的抓取模板中是否包括待抓取的三维物体的参考抓取位置和姿态,能够在抓取模板中包括参考抓取位置和姿态时,使用参考抓取位置和姿态来优化机器人从当前位置和姿态到抓取位置和姿态的运动路径,因此增加了抓取的灵活性,提高了抓取速度和效率,还节省了能量。此外,该方法简单易行,数据计算量小,也无需昂贵的三维摄像头,因此节约了时间和经济成本。
本公开的第二实施例提出了一种用于机器人抓取三维物体的装置,包括:当前位置和姿态确定单元,其被配置为确定机器人的视觉传感器相对于三维物体的当前位置和姿态;抓取模板获取单元,其被配置为获取三维物体的抓取模板,抓取模板中包括视觉传感器相对于三维物体的指定抓取位置和姿态;参考位置和姿态判断单元,其被配置为判断抓取模板中是否还包括视觉传感器相对于三维物体的至少一个参考抓取位置和姿态,其中,参考抓取位置和姿态是基于指定抓取位置和姿态生成的;以及抓取位置和姿态生成单元,其被配置为基于判断结果,利用抓取模板和当前位置和姿态生成机器人的抓取位置和姿态。
本公开的第三实施例提出了一种计算设备,该计算设备包括:处理器;以及存储器,其用于存储计算机可执行指令,当计算机可执行指令被执行时使得处理器执行第一实施例中的方法。
本公开的第四实施例提出了一种计算机可读存储介质,该计算机可读存储介质具有存储在其上的计算机可执行指令,计算机可执行指令用于执行第一实施例的方法。
本公开的第五实施例提出了一种计算机程序产品,该计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,计算机 可执行指令在被执行时使至少一个处理器执行第一实施例的方法。
结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例,在附图中:
图1示出了根据本公开的一个实施例的用于机器人抓取三维物体的方法;
图2示出了根据本公开的一个实施例的用于实现图1中的方法的***架构图;
图3示出了使用图2的***执行三维物体抓取的工作流程;
图4示出了在图2的***中根据示例性三维物体的虚拟模型建立的地球模型的示意图;
图5示出了为图4中的示例性三维物体的虚拟模型指定抓取点时的地球模型的主视图;
图6示出了根据本公开的一个实施例的用于机器人抓取三维物体的装置;以及
图7示出了根据本公开的一个实施例的用于机器人抓取三维物体的组件的计算设备的框图。
以下参考附图详细描述本公开的各个示例性实施例。虽然以下所描述的示例性方法、装置包括在其它组件当中的硬件上执行的软件和/或固件,但是应当注意,这些示例仅仅是说明性的,而不应看作是限制性的。例如,考虑在硬件中独占地、在软件中独占地、或在硬件和软件的任何组合中可以实施任何或所有硬件、软件和固件组件。因此,虽然以下已经描述了示例性的方法和装置,但是本领域的技术人员应容易理解,所提供的示例并不用于限制用于实现这些方法和装置的方式。
此外,附图中的流程图和框图示出了根据本公开的各个实施例的方法和***的可能实现的体系架构、功能和操作。应当注意,方框中所标注的功能 也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以使用专用硬件与计算机指令的组合来实现。
本文所使用的术语“包括”、“包含”及类似术语是开放性的术语,即“包括/包含但不限于”,表示还可以包括其他内容。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”等等。
图1示出了根据本公开的一个实施例的用于机器人抓取三维物体的方法。该方法可以由工厂中的工业计算机执行。参考图1,方法100从步骤101开始。在步骤101中,确定机器人的视觉传感器相对于三维物体的当前位置和姿态。视觉传感器为二维视觉传感器,例如,二维摄像头。在本实施例中,视觉传感器安装在机器人末端(如机器人的抓手处),随着机器人一起移动。视觉传感器相对于三维物体的当前位置和姿态表示当前状态下视觉传感器与三维物体之间的相对位置和姿态。
在一些实施例中,步骤101进一步包括:获取三维物体在当前位置和姿态的视角下的真实图像;获取三维物体的图像模板,图像模板表示三维物体的虚拟模型在多个不同位置和姿态的视角下的多个虚拟图像;分别确定真实图像与多个虚拟图像中的每个虚拟图像的相似度;以及基于相似度最高的虚拟图像的对应位置和姿态生成所述当前位置和姿态。通过视觉传感器可以获得在视觉传感器的当前位置和姿态的视角下的三维物体的真实图像。通常,在该真实图像中,除了三维物体以外,还包括环境中的其它物体。为了确定视觉传感器相对于三维物体的当前位置和姿态,可以将真实图像与三维物体的图像模板进行匹配。图像模板表示三维物体的虚拟模型在视觉传感器的多个不同位置和姿态的视角下的多个虚拟图像。可以预先建立三维物体的图像模板。在本实施例中,三维物体的虚拟模型为三维物体的CAD设计模型。在虚拟环境中,模拟视觉传感器相对于三维物体的虚拟模型的位置和姿态变化,从而模拟在真实世界中视觉传感器与三维物体之间的不同的相对位置和 姿态。可以遍历预设位置和姿态范围中的每个位置和姿态,获得三维物体的虚拟模型在每个位置和姿态的视角下的虚拟图像。将三维物体的真实图像与多个虚拟图像中的每个虚拟图像进行比较,并确定它们之间的相似度。可以将最高的相似度与预设阈值(例如,90%或95%)进行比较。如果最高的相似度超过该预设阈值,则将具有最高的相似度的虚拟图像的对应位置和姿态作为视觉传感器相对于三维物体的当前位置和姿态。可以由用户经由触控屏之类的输入接口设置预设位置和姿态范围和预设阈值。
在一些实施例中,在获得三维物体的虚拟模型在每个位置和姿态的视角下的虚拟图像之后,将其转换成二值图像。利用HoG(梯度直方图)获得该二值图像的特征,并用一个N维矢量表示。可以理解,该N维矢量能够表示三维物体的虚拟模型在该虚拟图像中的边缘特征。将所有虚拟图像的这些N维矢量和对应的位置和姿态作为图像模板保存在存储器中。
在一些实施例中,分别确定真实图像与多个虚拟图像中的每个虚拟图像的相似度进一步包括:利用Mask-RCNN模型,基于三维物体的真实图像生成三维物体的掩模;以及基于三维物体的掩模获得三维物体的真实图像的特征。可以预先使用三维物体的多个真实图像样本来训练Mask-RCNN模型。Mask-RCNN模型能够从三维物体的真实图像中识别三维物体,并生成三维物体的掩模。之后,将三维物体的掩模转换成二值图。同样利用HoG获得该二值图像的特征,从而用一个N维矢量表示真实图像中三维物体的边缘特征。与使用真实图像直接进行模板匹配的传统方法相比,在模板匹配之前使用Mask-RCNN模型提取三维物体的掩模再进行匹配,能够增加在复杂环境中识别三维物体的鲁棒性和准确性。
在一些实施例中,相似度包括真实图像的特征与每个虚拟图像的特征之间的相似度。确定根据真实图像得到的N维矢量与根据每个虚拟图像得到的N维矢量之间的相似度。可以使用现有技术中任何相似度计算方法(例如,欧式距离)来确定相似度。
继续参考图1,在步骤102中,获取三维物体的抓取模板,抓取模板中包括视觉传感器相对于三维物体的指定抓取位置和姿态。指定抓取位置和姿态可以是预先由用户指定的、在机器人抓取三维物体时视觉传感器相对于三维物体的位置和姿态。在虚拟环境中,用户可以通过调整模拟的视觉传感器 相对于三维物体的虚拟模型的位置和姿态来确定该指定抓取位置和姿态。
在一些实施例中,方法100进一步包括(图1中未示出):生成抓取模板。抓取模板用于得到机器人在抓取三维物体时视觉传感器相对于三维物体的抓取位置和姿态。除了视觉传感器相对于三维物体的指定抓取位置和姿态以外,抓取模板还可以选择性地包括视觉传感器相对于三维物体的至少一个参考抓取位置和姿态。参考抓取位置和姿态是机器人在抓取三维物体时,除指定抓取位置和姿态以外可选择的视觉传感器相对于三维物体的其它抓取位置和姿态。参考抓取位置和姿态可以基于指定抓取位置和姿态生成。在一些实施例中,可以利用三维物体的虚拟模型在指定抓取位置和姿态的视角下的指定虚拟图像来生成参考抓取位置和姿态。在参考抓取位置和姿态的视角下,三维物体的虚拟模型的虚拟图像与指定虚拟图像的相似度高于预设阈值。
在一些实施例中,生成抓取模板进一步包括:获取三维物体的虚拟模型在指定抓取位置和姿态的视角下的指定虚拟图像;模拟视觉传感器相对于三维物体的多个不同位置和姿态,获得三维物体的虚拟模型在多个不同位置和姿态的视角下的多个虚拟图像;分别确定多个虚拟图像中的每个虚拟图像与指定虚拟图像之间的相似度;以及将相似度高于预设阈值的虚拟图像的对应位置和姿态作为参考抓取位置和姿态。
如上所述,在虚拟环境中,用户可以通过调整模拟的视觉传感器相对于三维物体的虚拟模型的位置和姿态来确定指定抓取位置和姿态。在确定指定抓取位置和姿态后,获得三维物体的虚拟模型在该指定抓取位置和姿态的视角下的虚拟图像,并作为指定虚拟图像。指定虚拟图像可以包括三维物体的虚拟模型在指定抓取位置和姿态的视角下的二维投影。接下来,在虚拟环境中,使模拟的视觉传感器相对于三维物体的虚拟模型进行位置和姿态变化,从而模拟在真实世界中视觉传感器与三维物体之间的不同的相对位置和姿态。可以遍历预设位置和姿态范围中的每个位置和姿态,获得三维物体的虚拟模型在每个位置和姿态的视角下的虚拟图像。将这些虚拟图像中的每个虚拟图像与指定虚拟图像进行比较,并确定它们之间的相似度。当某个虚拟图像与指定虚拟图像之间的相似度超过预设阈值时(也就是说,它们之间的差异小于某个阈值),将该虚拟图像的对应位置和姿态作为参考抓取位置和姿态。如上所述,可以由用户经由触控屏之类的输入接口设置预设位置和姿态 范围和预设阈值。
在一些实施例中,相似度包括虚拟图像的特征与指定虚拟图像的特征之间的相似度。如上所述,将三维物体的虚拟模型在每个位置和姿态的视角下的虚拟图像转换成二值图像,并通过HoG用一个N维矢量表示其特征。同样,也将三维物体的虚拟模型在指定抓取位置和姿态的视角下的指定虚拟图像转换成二值图像,并通过HoG用一个N维的矢量表示其特征。确定根据每个虚拟图像得到的N维矢量与根据指定虚拟图像得到的N维矢量之间的相似度。可以使用现有技术中任何相似度计算方法来确定相似度。将相似度高于预设阈值的所有虚拟图像的N维矢量和对应位置和姿态以及指定虚拟图像的N维矢量和指定抓取位置和姿态作为三维物体的抓取模板保存在存储器中。当相似度都低于预设阈值时,则仅将指定虚拟图像的N维矢量和指定抓取位置和姿态作为三维物体的抓取模板保存在存储器中。
接下来,在步骤103中,判断抓取模板中是否还包括视觉传感器相对于三维物体的至少一个参考抓取位置和姿态,其中,参考抓取位置和姿态是基于指定抓取位置和姿态生成的。如上所述,在生成抓取模板时,三维物体的虚拟模型在指定抓取位置和姿态的视角下的指定虚拟图像和在参考抓取位置和姿态的视角下的虚拟图像是相似的。同样,在进行抓取时,三维物体在指定抓取位置和姿态的视角下的图像和在参考抓取位置和姿态的视角下的图像也将是相似的。因此,当抓取模板中包括视觉传感器相对于三维物体的参考抓取位置和姿态时,能够利用参考抓取位置和姿态生成机器人的抓取位置和姿态,从而优化机器人从其当前位置和姿态到抓取位置和姿态的路径。
在步骤104中,基于判断结果,利用抓取模板和当前位置和姿态生成所述机器人的抓取位置和姿态。指定抓取位置和姿态和参考抓取位置和姿态都是视觉传感器相对于三维物体的位置和姿态。为了使机器人抓取三维物体,需要首先生成视觉传感器相对于三维物体的目标抓取位置和姿态,而后再转换成机器人的抓取位置和姿态。
在一些实施例中,基于判断结果,利用抓取模板和当前位置和姿态生成机器人的抓取位置和姿态进一步包括:基于判断结果,利用抓取模板和当前位置和姿态确定视觉传感器相对于三维物体的目标抓取位置和姿态;以及通过手眼标定将目标抓取位置和姿态转换成机器人的抓取位置和姿态。可以通 过现有技术中任何手眼标定的方法将视觉传感器相对于三维物体的目标抓取位置和姿态转换成机器人的抓取位置和姿态。还可以进一步将机器人的抓取位置和姿态转换成三维物体在机器人坐标系中的位置和姿态,以使得机器人执行三维物体的抓取。
在一些实施例中,基于判断结果,利用抓取模板和当前位置和姿态确定视觉传感器相对于三维物体的目标位置和姿态进一步包括:当抓取模板中还包括至少一个参考抓取位置和姿态时,确定抓取模板中从当前位置和姿态的移动距离最短的抓取位置和姿态,并作为目标抓取位置和姿态;以及当抓取模板中不包括参考抓取位置和姿态时,将指定抓取位置和姿态作为目标抓取位置和姿态。如果抓取模板中包括至少一个参考抓取位置和姿态,则表示存在与指定抓取位置和姿态相似的其它抓取位置和姿态。此时,基于当前位置和姿态确定移动距离最短的抓取位置和姿态,该抓取位置和姿态可以是至少一个参考抓取位置和姿态和指定抓取位置和姿态中的一个。通过计算当前位置和姿态所在位置与抓取模板中的每个抓取位置和姿态所在位置之间的距离来确定从当前位置和姿态的移动距离最短的抓取位置和姿态。可以通过现有技术中的任何距离计算方法来进行距离计算。将从当前位置和姿态的移动距离最短的抓取位置和姿态作为目标抓取位置和姿态。当抓取模板中不包括参考抓取位置和姿态时,则表示不存在与指定抓取位置和姿态相似的其它抓取位置和姿态。此时,直接将指定抓取位置和姿态作为目标抓取位置和姿态。
在一些实施例中,方法100还包括(图1中未示出):以三维物体的虚拟模型上的指定抓取点为球心建立地球模型,当前位置和姿态、指定抓取位置和姿态和参考抓取位置和姿态通过地球模型中的位置和姿态参数来表示。可以经由显示界面向用户提供三维物体的虚拟模型和地球模型的球体。将视觉传感器的视角下的视图设为地球模型的主视图并提供给用户。用户可以在主视图上对三维物体的虚拟模型进行拖拉、平移、旋转等操作来指定位于三维物体的虚拟模型的两个边缘上的抓取位置,抓取位置的中心点即为抓取点。将抓取点作为地球模型的球心。此时便确定了模拟的视觉传感器与三维物体的虚拟模型之间的相对姿态。三维物体的虚拟模型的轮廓与当前视角下经过球心的平面的交点即为机器人的两指抓取位置。接下来,向用户提供地球模型的侧视图,用户可以在侧视图上调整抓取深度,即模拟的视觉传感器与抓 取点之间的距离。这样便指定了在抓取三维物体时三维物体与视觉传感器之间的相对位置和姿态。将模拟的视觉传感器此时相对于三维物体的虚拟模型的位置和姿态作为指定抓取位置和姿态。在地球模型中,位置和姿态可以使用纬度、经度、深度、偏航角这四个参数来表示。使用地球模型中的位置和姿态参数能准确地描述视觉传感器与三维物体之间的相对位置和姿态,因此与使用六个参数表示位置和姿态的传统方法相比,减少了数据的存储量和计算量,提高了抓取速度。
在上面的实施例中,通过判断在预设的抓取模板中是否包括待抓取的三维物体的参考抓取位置和姿态,能够在抓取模板中包括参考抓取位置和姿态时,使用参考抓取位置和姿态来优化机器人从当前位置和姿态到抓取位置和姿态的运动路径,因此增加了抓取的灵活性,提高了抓取速度和效率,还节省了能量。此外,该方法简单易行,数据计算量小,也无需昂贵的三维摄像头,因此节约了时间和经济成本。在使用三维物体的CAD设计模型作为虚拟模型的情况下,图像模板和抓取模板都来自于CAD设计模型,因此使当前位置和姿态的估计和抓取位置和姿态的获取更为可靠和准确。而且,使用Mask-RCNN模型提取三维物体的掩模再进行匹配,能够增加在复杂环境中识别三维物体的鲁棒性和准确性。使用地球模型中的位置和姿态参数能准确地描述视觉传感器与三维物体之间的相对位置和姿态,减少了数据的存储量和计算量,提高了抓取速度。
下面参照一个具体的实施例来说明图1中用于机器人抓取三维物体的方法。
同时参考图2-图5来说明该实施例。图2示出了根据本公开的一个实施例的用于实现图1中的方法的***架构图。图3示出了使用图2的***执行三维物体抓取的工作流程。在图2中,***200包括摄像头20、工业计算机21、触控屏22和机器人(图2中未示出)。摄像头20为二维摄像头,其安装在机器人末端,用于拍摄包含三维物体的真实图像。工业计算机21包括参数调整模块210、虚拟模型导入模块211、地球模型建立模块212、图像模板生成模块213、抓取模板生成模块214、数据存储器215、物体检测模块216、模板匹配模块217、抓取生成模块218、参数转换模块219和手眼标定模块220。虚拟模型导入模块211、地球模型建立模块212、图像模板生成模 块213和抓取模板生成模块214共同组成模板生成模块。用户可以从触控屏22输入摄像头20相对于三维物体的位置和姿态范围以及用于相似性比较的第一阈值和第二阈值,这些参数可以经由参数调整模块210被提供给模板生成模块。触控屏22还可以为工业计算机21提供显示界面,可以经由该显示界面显示三维物体的虚拟模型、三维物体在真实图像中的识别结果等信息。
在本实施例中,参数调整模块210、虚拟模型导入模块211、地球模型建立模块212、图像模板生成模块213、抓取模板生成模块214、数据存储器215、物体检测模块216、模板匹配模块217、抓取生成模块218、参数转换模块219和手眼标定模块220均被集成在工业计算机21中,触控屏22位于工业计算机21外部。在其它实施例中,工业计算机21中的这些模块可以分别位于不同的计算设备上。例如,整个模板生成模块可以位于另一计算设备上。在其它实施例中,触控屏22可以是工业计算机21的一部分。
在图3的工作流程300中,步骤301包括用户经由虚拟模型导入模块211导入待抓取的三维物体的虚拟模型。在本实施例中,三维物体的虚拟模型为三维物体的CAD设计模型。可以通过网络接口或硬件接口导入三维物体的虚拟模型。
在步骤302中,由地球模型建立模块212建立地球模型。用户经由触控屏22输入摄像头20与三维物体之间的距离的变化范围。该距离的变化范围可以是摄像头20的工作范围。地球模型建立模块212提供三维物体的虚拟模型和以工作范围内的任一值为半径的球体,并经由触控屏22向用户显示。
图4示出了在图2的***中根据示例性三维物体的虚拟模型建立的地球模型的示意图。如可以在图4中看到的,三维物体的虚拟模型401位于球体内,虚拟摄像头402位于球体的表面上,并且其视角朝着虚拟模型401。球体的赤道平面被设为地球模型400的水平平面(XY),球体的纵轴被设为地球模型400的Z轴。接下来,由用户指定地球模型的球心和半径。地球模型建立模块212将地球模型400的主视图设为虚拟摄像头402的视角下的视图,并经由触控屏22向用户显示该地球模型400的主视图。
图5示出了为图4中的示例性三维物体的虚拟模型指定抓取点时的地球模型的主视图。在虚拟摄像头402的视角下,用户可以在主视图500上对三维物体的虚拟模型401进行拖拉、平移、旋转等操作来指定三维物体的虚拟 模型401上的抓取位置。在本实施例中,机器人为两指机器人,三维物体的虚拟模型401的轮廓与当前视角下经过球心的平面502的两个交点为机器人的抓取位置。在图5的示例中,用户指定的抓取位置为交点A和B,它们的中心O则为抓取点,使抓取点作为地球模型的球心。此时确定了虚拟摄像头402与三维物体的虚拟模型401之间的相对姿态,即在机器人抓取三维物体时,摄像头20与三维物体之间的相对姿态。
在确认抓取点之后,切换到地球模型的侧视图,侧视图被设为在虚拟摄像头402的视角的垂直方向的视图。用户可以在侧视图上调整虚拟摄像头402与抓取点(即球心)之间的距离,即在机器人抓取三维物体时的抓取深度。这样便指定了在抓取三维物体时三维物体与摄像头20之间的相对位置和姿态。将此时虚拟摄像头402相对于三维物体的虚拟模型401的位置和姿态作为指定抓取位置和姿态。如图4中示出的,在地球模型400中,θ为虚拟摄像头402与Z轴之间的夹角,其可用于表示纬度;Ψ为虚拟摄像头402在XY平面上的投影点与X轴之间的夹角,其可用于表示经度;r为虚拟摄像头402离抓取点的距离,其可用于表示抓取深度;rot为虚拟摄像头402绕其视轴(其中心与球心的连线)旋转的角度,其可用于表示偏航角。因此,虚拟摄像头402的位置和姿态可以使用纬度、经度、深度、偏航角(θ,Ψ,r,rot)这四个参数来表示。此外,指定虚拟图像包括三维物体的虚拟模型401在摄像头20的指定抓取位置和姿态的视角下的二维投影501,如图5中示出的。在以上步骤中,由用户确定了机器人抓取三维物体时摄像头20相对于三维物体的指定抓取位置和姿态、以及三维物体的虚拟模型401在该指定抓取位置和姿态的视角下的指定虚拟图像501。接下来,将该指定虚拟图像转换成二值图像。在二值图像中,三维物体的虚拟模型401所在的区域(即二维投影)为白色,而其它区域为黑色。通过HoG(梯度直方图)提取二值图像的特征,并用一个N维向量表示该特征。可以理解,该N维向量表示三维物体的虚拟模型401在虚拟图像中的边缘特征。随后,将使用地球模型中的位置和姿态参数表示的指定抓取位置和姿态和对应的N维向量保存在数据存储器215中。
接下来,在工作流程300的步骤303中,由图像模板生成模块213生成三维物体的图像模板。用户可以经由触控屏22向参数调整模块210输入虚 拟摄像头402相对于三维物体的虚拟模型401的位置和姿态范围,以作为预设位置和姿态范围。用户可以根据三维物体的实际情形(如对称)设置位置和姿态范围。如上所述,位置和姿态可以使用纬度、经度、深度、偏航角(θ,Ψ,r,rot)这四个参数来表示。位置和姿态范围可以包括纬度、经度、深度、偏航角(θ,Ψ,r,rot)中的每一个参数的数值范围。此外,用户还可以根据实际需要设置每个参数在该数值范围内的变化步长。这四个参数中任一参数的变化都会形成新的位置和姿态。图像模板生成模块213遍历虚拟摄像头402相对于三维物体的虚拟模型401的预设位置和姿态范围中的每个位置和姿态,在每个位置和姿态的视角下,获得三维物体的虚拟模型401的虚拟图像。虚拟图像包括三维物体的虚拟模型401在该视角下的二维投影。同样地,将每个虚拟图像转换成二值图像,通过HoG提取二值图像的特征,并用一个N维向量表示该特征。随后,将所有N维向量和对应的位置和姿态作为图像模板保存在数据存储器215中。
在步骤304中,由抓取模板生成模块214生成三维物体的抓取模板。抓取模板生成模块214将在步骤303中生成的每个N维向量与在步骤302中生成的N维向量进行比较,并确定它们之间的相似度。当在步骤303中生成的某个N维向量与在步骤302中生成的N维向量的相似度超过第一阈值时,将与该N维向量对应的位置和姿态作为参考抓取位置和姿态。将所有参考抓取位置和姿态和对应的N维向量以及指定抓取位置和姿态和对应的N维向量作为三维物体的抓取模板保存在数据存储器215中。当在步骤303中生成的所有N维向量与在步骤302中生成的N维向量的相似度均低于第一阈值时,则表示不存在与用户指定的抓取位置和姿态相似的其它抓取位置和姿态。在这种情况下,抓取模板中仅包括指定抓取位置和姿态和对应的N维向量。为了提高计算速度,在步骤303中每次移动到新位置和姿态并得到该新位置和姿态的视角下的N维向量后,便执行步骤304。
在需要抓取多个三维物体的情况下,针对每个三维物体执行步骤301-304,并将生成的图像模板和抓取模板保存在数据存储器215中。
在步骤305中,由物体检测模块216从摄像头20接收待抓取的三维物体的真实图像,在真实图像中识别三维物体并生成三维物体的掩模。用户可以经由触控屏22启动摄像头20拍摄待抓取的三维物体。在物体检测模块216 中,利用预先训练好的Mask-RCNN模型在真实图像中识别三维物体并生成三维物体的掩模。接下来,将掩模转换成二值图,并同样利用HoG生成一个N维的矢量,以表示该二值图像的特征。在其它实施例中,也可以预先在物体检测模块216中训练Mask-RCNN模型,并保存在数据存储器215中,以在后续使用时读取。
在步骤306中,由模板匹配模块217从数据存储器215中读取图像模板,并确定在步骤305中生成的N维矢量(即真实图像的N维矢量)与图像模板中的每个N维矢量之间的相似度。在这些相似度中确定最高的相似度,并将该最高的相似度与用户输入的第二阈值进行比较。如果真实图像的N维矢量与图像模板中的某个N维矢量之间具有最高的相似度,并且该最高的相似度超过该第二阈值,则表示三维物体的真实图像与该N维矢量所对应的虚拟图像匹配。将该虚拟图像的对应位置和姿态作为摄像头20相对于三维物体的当前位置和姿态。如果该最高的相似度低于该第二阈值,则表示无法将三维物体的真实图像与某个虚拟图像匹配。此时转到步骤309,由抓取生成模块218将抓取模板中的指定抓取位置和姿态作为摄像头20的目标抓取位置和姿态。
在确定摄像头20相对于三维物体的当前位置和姿态后,工作流程300进行到步骤307。在步骤307中,由抓取生成模块218从数据存储器215中读取抓取模板,并判断抓取模板中是否包括摄像头20相对于三维物体的参考抓取位置和姿态。当抓取模板中包括参考抓取位置和姿态时,在步骤308中,由抓取模板生成模块214计算当前位置和姿态所在位置到抓取模板中每个抓取位置和姿态所在位置的移动距离,并将从当前位置和姿态的移动距离最短的抓取位置和姿态作为摄像头20相对于三维物体的目标抓取位置和姿态。从当前位置和姿态的移动距离最短的抓取位置和姿态可以是指定抓取位置和姿态或参考抓取位置和姿态。在本实施例中,通过计算欧式距离来确定从当前位置和姿态的移动距离最短的抓取位置和姿态。当抓取模板中不包括参考抓取位置和姿态时,则行进到步骤309。在步骤309中,由抓取生成模块218将抓取模板中的指定抓取位置和姿态作为摄像头20的目标抓取位置和姿态。
接下来,在步骤310中,由参数转换模块219将用纬度、经度、深度、 偏航角(θ,Ψ,r,rot)四个参数表示的目标抓取位置和姿态转换成机器人能够识别的x、y、z、翻滚角(roll)、俯仰角(pitch)和偏航角(yaw)六个参数。在转换时,根据图4中的地球模型,x、y、z的数值可以在式(1)中用r、θ和Ψ来表示:
根据图4中的地球模型,rot与偏航角(yaw)的定义相同,表示围绕摄像头坐标系中的Z轴旋转,因此得到式(2):
[yaw]=[rot] (2)
可以计算得到翻滚角(roll)和俯仰角(pitch):
因此,最终可以根据以下公式(5)进行参数转换:
在步骤311中,由手眼标定模块220将摄像头20相对于三维物体的目标抓取位置和姿态转换成机器人的抓取位置和姿态。在获得机器人的抓取位置和姿态后,进一步将机器人的抓取位置和姿态转换成三维物体在机器人坐标系中的位置和姿态,并发送给机器人的控制器,以控制机器人执行三维物体的抓取。
在上面的实施例中,通过判断在预设的抓取模板中是否包括待抓取的三维物体的参考抓取位置和姿态,能够在抓取模板中包括参考抓取位置和姿态时,使用参考抓取位置和姿态来优化机器人从当前位置和姿态到抓取位置和姿态的运动路径,因此增加了抓取的灵活性,提高了抓取速度和效率,还节省了能量。此外,该方法简单易行,数据计算量小,也无需昂贵的三维摄像头,因此节约了时间和经济成本。在使用三维物体的CAD设计模型作为虚拟模型的情况下,图像模板和抓取模板都来自于CAD设计模型,因此使当前位置和姿态的估计和抓取位置和姿态的获取更为可靠和准确。而且,使用Mask-RCNN模型提取三维物体的掩模再进行匹配,能够增加在复杂环境中识别三维物体的鲁棒性和准确性。使用地球模型中的位置和姿态参数能准确地描述视觉传感器与三维物体之间的相对位置和姿态,减少了数据的存储量和计算量,提高了抓取速度。
图6示出了根据本公开的一个实施例的用于检查在生产线中装配的组件的装置。参照图6,装置600包括当前位置和姿态确定单元601、抓取模板获取单元602、参考位置和姿态判断单元603和抓取位置和姿态生成单元604。当前位置和姿态确定单元601被配置为确定机器人的视觉传感器相对于三维物体的当前位置和姿态。抓取模板获取单元602被配置为获取三维物体的抓取模板,抓取模板中包括视觉传感器相对于三维物体的指定抓取位置和姿态。参考位置和姿态判断单元603被配置为判断抓取模板中是否还包括视觉传感器相对于三维物体的至少一个参考抓取位置和姿态,其中,所述参考抓取位置和姿态是基于所述指定抓取位置和姿态生成的。抓取位置和姿态生成单元604被配置为基于判断结果,利用抓取模板和当前位置和姿态生成机器人的抓取位置和姿态。
图6中的各单元可以利用软件、硬件(例如集成电路、FPGA等)或者软硬件结合的方式来实现。
在一些实施例中,抓取位置和姿态生成单元604进一步包括(图6中未示出):目标位置和姿态确定单元,其被配置为基于判断结果,利用抓取模板和当前位置和姿态确定视觉传感器相对于三维物体的目标抓取位置和姿态;以及手眼标定单元,其被配置为通过手眼标定将目标抓取位置和姿态转换成机器人的抓取位置和姿态。
在一些实施例中,目标位置和姿态确定单元被进一步配置为:当抓取模板中进一步包括至少一个参考抓取位置和姿态时,确定抓取模板中从当前位置和姿态的移动距离最短的抓取位置和姿态,并作为目标抓取位置和姿态;以及当抓取模板中不包括参考抓取位置和姿态时,将指定抓取位置和姿态作为目标抓取位置和姿态。
在一些实施例中,装置600进一步包括(图6中未示出):抓取模板生成单元,其被配置为生成抓取模板。
在一些实施例中,抓取模板生成单元进一步包括:指定图像获取单元,其被配置为获取三维物体的虚拟模型在指定抓取位置和姿态的视角下的指定虚拟图像;虚拟图像获取单元,其被配置为模拟视觉传感器相对于三维物体的多个不同位置和姿态,获得三维物体的虚拟模型在多个不同位置和姿态的视角下的多个虚拟图像;虚拟图像比较单元,其被配置为分别确定多个虚拟图像中的每个虚拟图像与指定虚拟图像的相似度;以及参考位置和姿态保存单元,其被配置为将相似度超过预设阈值的虚拟图像的对应位置和姿态作为参考抓取位置和姿态保存在抓取模板中。
在一些实施例中,相似度包括虚拟图像的特征与指定虚拟图像的特征之间的相似度。
在一些实施例中,当前位置和姿态确定单元进一步包括(图7中未示出):真实图像获取单元,其被配置为获取三维物体在当前位置和姿态的视角下的真实图像;图像模板获取单元,其被配置为获取三维物体的图像模板,图像模板表示三维物体的虚拟模型在多个不同位置和姿态的视角下的多个虚拟图像;真实图像比较单元,其被配置为分别确定真实图像与多个虚拟图像中的每个虚拟图像的相似度;以及当前位置和姿态生成单元,其被配置为基于相似度最高的虚拟图像的对应位置和姿态生成当前位置和姿态。
在一些实施例中,真实图像比较单元被进一步配置为:利用Mask-RCNN 模型在真实图像中识别三维物体并生成三维物体的掩模;以及基于三维物体的掩模获得真实图像的特征。
在一些实施例中,相似度包括真实图像的特征与每个虚拟图像的特征之间的相似度。
在一些实施例中,装置600进一步包括(图6中未示出):地球模型建立单元,其被配置为以三维物体的虚拟模型上的指定抓取点为球心建立地球模型,当前位置和姿态、指定抓取位置和姿态和参考抓取位置和姿态通过地球模型中的位置和姿态参数来表示。
图7示出了根据本公开的一个实施例的用于检查在生产线中装配的组件的计算设备的框图。从图7中可以看出,用于对工厂中的现场设备进行维护的计算设备700包括处理器701以及与处理器701耦合的存储器702。存储器702用于存储计算机可执行指令,当计算机可执行指令被执行时使得处理器701执行以上实施例中的方法。
此外,替代地,上述方法能够通过计算机可读存储介质来实现。计算机可读存储介质上载有用于执行本公开的各个实施例的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
因此,在另一个实施例中,本公开提出了一种计算机可读存储介质,该计算机可读存储介质具有存储在其上的计算机可执行指令,计算机可执行指令用于执行本公开的各个实施例中的方法。
在另一个实施例中,本公开提出了一种计算机程序产品,该计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,该计算机可执行指令在被执行时使至少一个处理器执行本公开的各个实施例中的方法。
一般而言,本公开的各个示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、***、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
用于执行本公开的各个实施例的计算机可读程序指令或者计算机程序产品也能够存储在云端,在需要调用时,用户能够通过移动互联网、固网或者其他网络访问存储在云端上的用于执行本公开的一个实施例的计算机可读程序指令,从而实施依据本公开的各个实施例所公开的技术方案。
虽然已经参考若干具体实施例描述了本公开的实施例,但是应当理解,本公开的实施例并不限于所公开的具体实施例。本公开的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (21)
- 用于机器人抓取三维物体的方法,包括:确定所述机器人的视觉传感器相对于所述三维物体的当前位置和姿态;获取所述三维物体的抓取模板,所述抓取模板中包括所述视觉传感器相对于所述三维物体的指定抓取位置和姿态;判断所述抓取模板中是否还包括所述视觉传感器相对于所述三维物体的至少一个参考抓取位置和姿态,其中,所述参考抓取位置和姿态是基于所述指定抓取位置和姿态生成的;以及基于判断结果,利用所述抓取模板和所述当前位置和姿态生成所述机器人的抓取位置和姿态。
- 根据权利要求1所述的方法,其中,基于判断结果,利用所述抓取模板和所述当前位置和姿态生成所述机器人的抓取位置和姿态进一步包括:基于所述判断结果,利用所述抓取模板和所述当前位置和姿态确定所述视觉传感器相对于所述三维物体的目标抓取位置和姿态;以及通过手眼标定将所述目标抓取位置和姿态转换成所述机器人的所述抓取位置和姿态。
- 根据权利要求2所述的方法,其中,基于判断结果,利用所述抓取模板和所述当前位置和姿态确定所述视觉传感器相对于所述三维物体的目标位置和姿态进一步包括:当所述抓取模板中还包括至少一个所述参考抓取位置和姿态时,确定所述抓取模板中从所述当前位置和姿态的移动距离最短的抓取位置和姿态,并作为所述目标抓取位置和姿态;以及当所述抓取模板中不包括所述参考抓取位置和姿态时,将所述指定抓取位置和姿态作为所述目标抓取位置和姿态。
- 根据权利要求1所述的方法,进一步包括:生成所述抓取模板。
- 根据权利要求4所述的方法,其中,生成所述抓取模板进一步包括:获取所述三维物体的虚拟模型在所述指定抓取位置和姿态的视角下的指定虚拟图像;模拟所述视觉传感器相对于所述三维物体的多个不同位置和姿态,获得所述三维物体的所述虚拟模型在所述多个不同位置和姿态的视角下的多个虚拟图像;分别确定所述多个虚拟图像中的每个虚拟图像与所述指定虚拟图像之间的相似度;以及将相似度高于预设阈值的虚拟图像的对应位置和姿态作为所述参考抓取位置和姿态。
- 根据权利要求5所述的方法,其中,所述相似度包括所述虚拟图像的特征与所述指定虚拟图像的特征之间的相似度。
- 根据权利要求1所述的方法,其中,确定所述机器人的视觉传感器相对于所述三维物体的当前位置和姿态进一步包括:获取所述三维物体在当前位置和姿态的视角下的真实图像;获取所述三维物体的图像模板,所述图像模板表示所述三维物体的虚拟模型在多个不同位置和姿态的视角下的多个虚拟图像;分别确定所述真实图像与所述多个虚拟图像中的每个虚拟图像的相似度;以及基于相似度最高的虚拟图像的对应位置和姿态生成所述当前位置和姿态。
- 根据权利要求7所述的方法,其中,分别确定所述真实图像与所述多个虚拟图像中的每个虚拟图像的相似度进一步包括:利用Mask-RCNN模型,基于所述三维物体的所述真实图像生成所述三维物体的掩模;以及基于所述三维物体的所述掩模获得所述三维物体的所述真实图像的特征。
- 根据权利要求8所述的方法,其中,所述相似度包括所述真实图像的所述特征与所述虚拟图像的特征之间的相似度。
- 根据权利要求1所述的方法,进一步包括:以所述三维物体的虚拟模型上的指定抓取点为球心建立地球模型,所述当前位置和姿态、所述指定抓取位置和姿态和所述参考抓取位置和姿态通过所述地球模型中的位置和姿态参数来表示。
- 用于机器人抓取三维物体的装置,包括:当前位置和姿态确定单元,其被配置为确定所述机器人的视觉传感器相对于所述三维物体的当前位置和姿态;抓取模板获取单元,其被配置为获取所述三维物体的抓取模板,所述抓取模板中包括所述视觉传感器相对于所述三维物体的指定抓取位置和姿态;参考位置和姿态判断单元,其被配置为判断所述抓取模板中是否还包括所述视觉传感器相对于所述三维物体的至少一个参考抓取位置和姿态,其中,所述参考抓取位置和姿态是基于所述指定抓取位置和姿态生成的;以及抓取位置和姿态生成单元,其被配置为基于判断结果,利用所述抓取模板和所述当前位置和姿态生成所述机器人的抓取位置和姿态。
- 根据权利要求11所述的装置,其中,抓取位置和姿态生成单元进一步包括:目标位置和姿态确定单元,其被配置为基于所述判断结果,利用所述抓取模板和所述当前位置和姿态确定所述视觉传感器相对于所述三维物体的目标抓取位置和姿态;以及手眼标定单元,其被配置为通过手眼标定将所述目标抓取位置和姿态转换成所述机器人的所述抓取位置和姿态。
- 根据权利要求12所述的装置,其中,所述目标位置和姿态确定单元被进一步配置为:当所述抓取模板中还包括至少一个所述参考抓取位置和姿态时,确定所述抓取模板中从所述当前位置和姿态的移动距离最短的抓取位置和姿态,并作为所述目标抓取位置和姿态;以及当所述抓取模板中不包括所述参考抓取位置和姿态时,将所述指定抓取位置和姿态作为所述目标抓取位置和姿态。
- 根据权利要求11所述的装置,进一步包括:抓取模板生成单元,其被配置为生成所述抓取模板。
- 根据权利要求14所述的装置,其中,所述抓取模板生成单元进一步包括:指定图像获取单元,其被配置为获取所述三维物体的虚拟模型在所述指定抓取位置和姿态的视角下的指定虚拟图像;虚拟图像获取单元,其被配置为模拟所述视觉传感器相对于所述三维物体的多个不同位置和姿态,获得所述三维物体的所述虚拟模型在所述多个不同位置和姿态的视角下的多个虚拟图像;虚拟图像比较单元,其被配置为分别确定所述多个虚拟图像中的每个虚拟图像与所述指定虚拟图像的相似度;以及参考位置和姿态保存单元,其被配置为将相似度超过预设阈值的虚拟图像的对应位置和姿态作为所述参考抓取位置和姿态。
- 根据权利要求11所述的装置,其中,所述当前位置和姿态确定单元进一步包括:真实图像获取单元,其被配置为获取所述三维物体在当前位置和姿态的视角下的真实图像;图像模板获取单元,其被配置为获取所述三维物体的图像模板,所述图像模板表示所述三维物体的虚拟模型在多个不同位置和姿态的视角下的多个虚拟图像;真实图像比较单元,其被配置为分别确定所述真实图像与所述多个虚拟图像中的每个虚拟图像的相似度;以及当前位置和姿态生成单元,其被配置为基于相似度最高的虚拟图像的对应位置和姿态生成所述当前位置和姿态。
- 根据权利要求16所述的装置,其中,所述真实图像比较单元被进一步配置为:利用Mask-RCNN模型在所述真实图像中识别所述三维物体并生成所述三维物体的掩模;以及基于所述三维物体的所述掩模获得所述三维物体的所述真实图像的特征。
- 根据权利要求11所述的装置,进一步包括:地球模型建立单元,其被配置为以所述三维物体的虚拟模型上的指定抓取点为球心建立地球模型,所述当前位置和姿态、所述指定抓取位置和姿态和所述参考抓取位置和姿态通过所述地球模型中的位置和姿态参数来表示。
- 计算设备,包括:处理器;以及存储器,其用于存储计算机可执行指令,当所述计算机可执行指令被执行时使得所述处理器执行根据权利要求1-10中任一项所述的方法。
- 计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可执行指令,所述计算机可执行指令用于执行根据权利要求1-10中任一项所述的方法。
- 计算机程序产品,所述计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1-10中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/105586 WO2022021156A1 (zh) | 2020-07-29 | 2020-07-29 | 用于机器人抓取三维物体的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116249607A true CN116249607A (zh) | 2023-06-09 |
Family
ID=80037045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080104646.8A Pending CN116249607A (zh) | 2020-07-29 | 2020-07-29 | 用于机器人抓取三维物体的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230278198A1 (zh) |
EP (1) | EP4166281A4 (zh) |
CN (1) | CN116249607A (zh) |
WO (1) | WO2022021156A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116430795A (zh) * | 2023-06-12 | 2023-07-14 | 威海海洋职业学院 | 基于plc的可视化工业控制器及方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022162857A (ja) * | 2021-04-13 | 2022-10-25 | 株式会社デンソーウェーブ | 機械学習装置及びロボットシステム |
US20220402128A1 (en) * | 2021-06-18 | 2022-12-22 | Intrinsic Innovation Llc | Task-oriented grasping of objects |
CN115582840B (zh) * | 2022-11-14 | 2023-06-23 | 湖南视比特机器人有限公司 | 无边框钢板工件分拣抓取位姿计算方法、分拣方法及*** |
CN115958611B (zh) * | 2023-03-17 | 2023-06-27 | 苏州艾利特机器人有限公司 | 机械臂灵巧度的评估方法、装置及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845354B (zh) * | 2016-12-23 | 2020-01-03 | 中国科学院自动化研究所 | 零件视图库构建方法、零件定位抓取方法及装置 |
CN109407603B (zh) * | 2017-08-16 | 2020-03-06 | 北京猎户星空科技有限公司 | 一种控制机械臂抓取物体的方法及装置 |
US11260534B2 (en) * | 2018-04-04 | 2022-03-01 | Canon Kabushiki Kaisha | Information processing apparatus and information processing method |
CN109421050B (zh) * | 2018-09-06 | 2021-03-26 | 北京猎户星空科技有限公司 | 一种机器人的控制方法及装置 |
CN110076772B (zh) * | 2019-04-03 | 2021-02-02 | 浙江大华技术股份有限公司 | 一种机械臂的抓取方法及装置 |
CN110232710B (zh) * | 2019-05-31 | 2021-06-11 | 深圳市皕像科技有限公司 | 基于三维相机的物品定位方法、***及设备 |
CN110706285A (zh) * | 2019-10-08 | 2020-01-17 | 中国人民解放军陆军工程大学 | 基于cad模型的物***姿预测方法 |
-
2020
- 2020-07-29 US US18/006,756 patent/US20230278198A1/en active Pending
- 2020-07-29 CN CN202080104646.8A patent/CN116249607A/zh active Pending
- 2020-07-29 EP EP20947296.8A patent/EP4166281A4/en active Pending
- 2020-07-29 WO PCT/CN2020/105586 patent/WO2022021156A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116430795A (zh) * | 2023-06-12 | 2023-07-14 | 威海海洋职业学院 | 基于plc的可视化工业控制器及方法 |
CN116430795B (zh) * | 2023-06-12 | 2023-09-15 | 威海海洋职业学院 | 基于plc的可视化工业控制器及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4166281A4 (en) | 2024-03-13 |
WO2022021156A1 (zh) | 2022-02-03 |
US20230278198A1 (en) | 2023-09-07 |
EP4166281A1 (en) | 2023-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255813B (zh) | 一种面向人机协作的手持物***姿实时检测方法 | |
CN113450408B (zh) | 一种基于深度相机的非规则物***姿估计方法及装置 | |
CN116249607A (zh) | 用于机器人抓取三维物体的方法和装置 | |
US10189162B2 (en) | Model generation apparatus, information processing apparatus, model generation method, and information processing method | |
CN110378325B (zh) | 一种机器人抓取过程中的目标位姿识别方法 | |
CN106780631B (zh) | 一种基于深度学习的机器人闭环检测方法 | |
RU2700246C1 (ru) | Способ и система захвата объекта с помощью роботизированного устройства | |
CN104040590A (zh) | 用于估计物体的姿态的方法 | |
CN110634161A (zh) | 一种基于点云数据的工件位姿快速高精度估算方法及装置 | |
WO2011115143A1 (en) | Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus | |
CN112070782B (zh) | 识别场景轮廓的方法、装置、计算机可读介质及电子设备 | |
CN112509036B (zh) | 位姿估计网络训练及定位方法、装置、设备、存储介质 | |
CN111178170B (zh) | 一种手势识别方法和一种电子设备 | |
Chen et al. | A particle filtering framework for joint video tracking and pose estimation | |
Lee et al. | Registration method for maintenance-work support based on augmented-reality-model generation from drawing data | |
CN109508707B (zh) | 基于单目视觉的机器人稳定抓取物体的抓取点获取方法 | |
Wang et al. | 3D-LIDAR based branch estimation and intersection location for autonomous vehicles | |
WO2018135326A1 (ja) | 画像処理装置、画像処理システム、画像処理プログラム、及び画像処理方法 | |
JPH07103715A (ja) | 視覚に基く三次元位置および姿勢の認識方法ならびに視覚に基く三次元位置および姿勢の認識装置 | |
CN117115252A (zh) | 一种基于视觉的仿生扑翼无人机空间位姿估计方法 | |
CN116844124A (zh) | 三维目标检测框标注方法、装置、电子设备和存储介质 | |
Lin et al. | Target recognition and optimal grasping based on deep learning | |
CN111531546A (zh) | 一种机器人位姿估计方法、装置、设备及存储介质 | |
Nakhaeinia et al. | Adaptive robotic contour following from low accuracy RGB-D surface profiling and visual servoing | |
Nahapetyan et al. | Gesture recognition in the problem of contactless control of an unmanned aerial vehicle |
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 |