CN115776930A - 机器人控制装置、机器人控制方法和程序 - Google Patents

机器人控制装置、机器人控制方法和程序 Download PDF

Info

Publication number
CN115776930A
CN115776930A CN202180048383.8A CN202180048383A CN115776930A CN 115776930 A CN115776930 A CN 115776930A CN 202180048383 A CN202180048383 A CN 202180048383A CN 115776930 A CN115776930 A CN 115776930A
Authority
CN
China
Prior art keywords
bounding box
robot
image captured
grasped
camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180048383.8A
Other languages
English (en)
Inventor
寺泽良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Group Corp
Original Assignee
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Group Corp filed Critical Sony Group Corp
Publication of CN115776930A publication Critical patent/CN115776930A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39542Plan grasp points, grip matrix and initial grasp force
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40613Camera, laser scanner on end effector, hand eye manipulator, local
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Abstract

提供了能够可靠地执行由机器人对对象的抓握处理的装置和方法。执行如下抓握处理。生成包围由安装在机器人上的俯瞰摄像装置捕获的图像中包括的要抓握对象的俯瞰摄像装置参考包围盒以及包围由安装在机器人上的手部摄像装置捕获的图像中包括的要抓握对象的手部摄像装置参考包围盒。此外,计算由俯瞰摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于俯瞰摄像装置参考包围盒的相对位置,基于计算出的相对位置计算相对于由手部摄像装置捕获的图像中的手部摄像装置参考包围盒的目标抓握位置,并且将计算出的目标抓握位置设置为由手部摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置。此外,生成用于使机器人的手抓握由手部摄像装置捕获的图像中的校正目标抓握位置的控制信息。

Description

机器人控制装置、机器人控制方法和程序
技术领域
本公开内容涉及机器人控制装置、机器人控制方法和程序。具体地,本发明涉及用于控制由机器人执行的对象抓握处理的机器人控制装置、机器人控制方法和程序。
背景技术
近年来,机器人的使用在各个领域都有所增加。例如,在工厂中执行使用机器人的产品组装,此外,开发了护理机器人等。
由这些机器人执行的处理有多种,这些处理的示例是抓握和移动对象的处理。
例如,在工厂中使用的组装机器人的示例中,执行如下处理:使用具有连接到机器人的臂的抓握机构的手抓握用于产品组装的零件,将零件在被抓握状态下移动到预定位置,松开抓握以将零件安装到另一个对象上。
此外,例如,在护理机器人的情况下,执行如下处理:由机器人的手抓握用户的手无法够到的放置在桌子上杯子,将该杯子搬运到用户的手可以够到的位置并且递给用户。
在由机器人执行这样的对象抓握处理的情况下,例如,执行如下处理:通过具有能够整体掌握机器人的周边状况的视场的俯瞰摄像装置来捕获周边图像,分析所捕获的图像以确认要抓握对象的位置,并且将手移动到要抓握对象的位置以抓握该要抓握对象。
然而,如果基于对由俯瞰摄像装置捕获的图像的分析而获取的位置信息有错误,则存在手的移动目的地偏离目标抓握位置而导致抓握处理失败的情况。
此外,由于机器人的臂的机械误差(偏斜和颤动)的影响,机器人的手指尖位置也有可能偏离原本要到达的位置,这些误差也可能是抓握失败的原因。
专利文献1(日本专利申请公开No.2007-319938)公开了用于解决这种问题的技术。
专利文献1公开了如下配置:除了机器人中的俯瞰摄像装置之外,手部摄像装置被安装在执行对象抓握处理的手部单元上,以使用这两个摄像装置。
在该配置中,由俯瞰摄像装置捕获执行对象抓握处理的图像的手,以掌握俯瞰摄像装置与手之间的位置关系,然后,由手部摄像装置识别要抓握对象。
然而,当应用该方法时,俯瞰摄像装置除了捕获要抓握对象外,还需要捕获手部单元,并且存在可以抓握的范围被限制于手部单元附近的对象的问题。
此外,在专利文献1中公开的配置中,将要抓握对象的形状数据预先存储在存储单元中,并且使用该形状数据来识别要抓握对象。因此,存在难以应用于抓握未存储形状数据的未知对象的处理的问题。
引用列表
专利文献
专利文献1:日本专利申请公开第2007-319938号
专利文献2:日本专利申请公开第2013-184257号
发明内容
本发明要解决的问题
例如,本公开内容是鉴于上述问题而作出的,并且本公开内容的目的是提供机器人控制装置、机器人控制方法和程序,使得在用于使用机器人抓握对象的配置中,即使在没有关于要抓握对象的形状的登记数据的情况下也能够可靠地执行抓握处理。
问题的解决方案
本公开内容的第一方面是机器人控制装置,包括:包围盒生成单元,其生成包围由安装在机器人上的第一摄像装置捕获的图像中包括的要抓握对象的第一摄像装置参考包围盒、以及包围由安装在机器人上的第二摄像装置捕获的图像中包括的要抓握对象的第二摄像装置参考包围盒;抓握位置计算单元,其计算由第一摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于第一摄像装置参考包围盒的相对位置,基于计算出的相对位置计算由第二摄像装置捕获的图像中的相对于第二摄像装置参考包围盒的目标抓握位置,并且将计算出的目标抓握位置设置为由第二摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置;以及控制信息生成单元,其生成用于使机器人的手抓握由第二摄像装置捕获的图像中的校正目标抓握位置的控制信息。
此外,本公开内容的第二方面是在机器人控制装置中执行的机器人控制方法,该机器人控制方法包括:包围盒生成步骤,该步骤由包围盒生成单元生成包围由安装在机器人上的第一摄像装置捕获的图像中包括的要抓握对象的第一摄像装置参考包围盒、以及包围由安装在机器人上的第二摄像装置捕获的图像中包括的要抓握对象的第二摄像装置参考包围盒;抓握位置计算步骤,该步骤由抓握位置计算单元计算由第一摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于第一摄像装置参考包围盒的相对位置,基于计算出的相对位置计算由第二摄像装置捕获的图像中的相对于第二摄像装置参考包围盒的目标抓握位置,并且将计算出的位置设置为由第二摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置;以及控制信息生成步骤,该步骤由控制信息生成单元生成用于使机器人的手抓握由第二摄像装置捕获的图像中的校正目标抓握位置的控制信息。
此外,本公开内容的第三方面是被配置成在机器人控制装置中执行机器人控制处理的程序,该程序包括:
包围盒生成步骤:使包围盒生成单元生成包围由安装在机器人上的第一摄像装置捕获的图像中包括的要抓握对象的第一摄像装置参考包围盒、以及包围由安装在机器人上的第二摄像装置捕获的图像中包括的要抓握对象的第二摄像装置参考包围盒;
抓握位置计算步骤:使抓握位置计算单元计算由第一摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于第一摄像装置参考包围盒的相对位置,基于计算出的相对位置计算由第二摄像装置捕获的图像中的相对于第二摄像装置参考包围盒的目标抓握位置,并且将计算出的位置设置为由第二摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置;以及
控制信息生成步骤:使控制信息生成单元生成用于使机器人的手抓握由第二摄像装置捕获的图像中的校正目标抓握位置的控制信息。
注意,例如,本公开内容的程序是可以作为存储介质或通信介质提供的程序,该程序以计算机可读形式提供给可以执行各种程序代码的信息处理装置或计算机系统。由于以计算机可读形式提供这样的程序,因此可以在信息处理装置或计算机系统上实现根据该程序的处理。
本公开内容的其他目的、特征和优点将通过基于如稍后描述的本公开内容的实施方式和附图的详细描述而变得明显。注意,本说明书中的术语“系统”是指多个装置的逻辑集合配置,并且不限于其中各个配置的装置被设置在同一壳体中的系统。
根据本公开内容的实施方式的配置,实现了能够可靠地执行由机器人执行的对象抓握处理的装置和方法。
具体地,例如,
生成包围由安装在机器人上的俯瞰摄像装置捕获的图像中包括的要抓握对象的俯瞰摄像装置参考包围盒以及包围由安装在机器人上的手部摄像装置捕获的图像中包括的要抓握对象的手部摄像装置参考包围盒。此外,计算由俯瞰摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于俯瞰摄像装置参考包围盒的相对位置,基于计算出的相对位置计算相对于由手部摄像装置捕获的图像中的手部摄像装置参考包围盒的目标抓握位置,并且将计算出的位置设置为由手部摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置。此外,生成用于使机器人的手抓握由手部摄像装置捕获的图像中的校正目标抓握位置的控制信息,并且由机器人的执行抓握处理。
根据该配置,实现能够可靠地执行由机器人执行的对象抓握处理的装置和方法。
注意,本说明书中描述的效果仅是示例而不是限制,并且可能存在附加效果。
附图说明
图1是用于描述机器人的示例性操作和控制处理的图。
图2是用于描述机器人的示例性操作和控制处理的图。
图3是用于描述机器人的操作和控制处理中的问题的图。
图4是用于描述解决机器人的操作和控制处理中的问题的示例的图。
图5是用于描述本公开内容的机器人控制装置的配置示例的图。
图6是用于描述由本公开内容的机器人控制装置执行的处理的序列的流程图。
图7是用于描述输入要抓握对象的指定信息和目标抓握位置的指定信息的处理的具体示例的图。
图8是用于描述提取要抓握对象的点云的处理的具体示例的图。
图9是用于描述由本公开内容的机器人控制装置执行并且应用了由俯瞰摄像装置捕获的图像的包围盒(边界盒)生成处理的序列的流程图。
图10是用于描述包围盒(边界盒)生成处理的具体示例的图。
图11是用于描述包围盒(边界盒)生成处理的具体示例的图。
图12是用于描述包围盒(边界盒)生成处理的具体示例的图。
图13是用于描述包围盒(边界盒)生成处理的具体示例的图。
图14是用于描述包围盒(边界盒)生成处理的具体示例的图。
图15是用于描述俯瞰摄像装置参考包围盒(边界盒)与目标抓握位置之间的相对关系计算处理的具体示例的图。
图16是用于描述由本公开内容的机器人控制装置执行的并且应用由手部摄像装置捕获的图像的包围盒(边界盒)生成处理的序列的流程图。
图17是用于描述由本公开内容的机器人控制装置执行的校正目标抓握位置计算处理的具体示例的图。
图18是用于描述本公开内容的机器人控制装置的硬件配置示例的图。
具体实施方式
在下文中,将参照附图详细描述本公开内容的机器人控制装置、机器人控制方法和程序。注意,将根据以下项目进行描述。
1.关于由机器人执行的对象抓握处理的概述
2.关于机器人的抓握处理中的问题
3.关于本公开内容的机器人控制装置的配置示例
4.关于由本公开内容的机器人控制装置执行的处理的细节
5.关于本公开内容的机器人控制装置的修改示例和应用示例
6.关于本公开内容的机器人控制装置的硬件配置示例
7.本公开内容的配置的概要
[1.关于由机器人执行的对象抓握处理的概述]
首先,将参照图1和随后的附图描述由机器人执行的对象抓握处理的概要。
图1是用于描述当机器人10抓握作为要抓握对象的对象50时的处理的序列的图。
机器人10按照附图中所示的步骤S01至S03的顺序执行操作以抓握对象50。
机器人10包括头部20、手30和臂40。手30经由臂40连接到机器人体部,并且具有能够在臂40的控制下改变手30的位置、取向等的配置。
手30在两侧具有可旋转并且对应于人的手指的可移动部,并且具有能够执行对象抓握操作和对象释放操作的配置。
注意,例如,机器人10通过驱动诸如腿或轮子的驱动单元移动,并且进一步将手30移动到可以通过控制臂40来抓握对象50的位置。
替选地,机器人10的体部可以不移动,并且可以仅通过控制臂40来使手30靠近对象。
本公开内容的处理可以应用于任何配置。注意,在下文描述的实施方式中,将以机器人10的体部也可移动的配置示例为例进行描述。
机器人10包括被配置成确认作为要抓握对象的对象50的位置等的两个摄像装置。
一个摄像装置是安装在头部20上的俯瞰摄像装置21,另一个摄像装置是安装在手30上的手部摄像装置31。
注意,俯瞰摄像装置21和手部摄像装置31不限于用于捕获可见光图像的摄像装置,并且包括能够获取距离图像等的传感器。然而,优选地使用能够获得三维信息的摄像装置或传感器。例如,可以使用立体摄像装置、诸如ToF传感器或Lidar的传感器或者这些传感器和单目摄像装置的组合。优选地使用能够获取能够分析要抓握对象的三维位置的数据的摄像装置或传感器。
图1(步骤S01)示出了使用俯瞰摄像装置21的对象50的位置确认步骤。
机器人10中的数据处理器从由俯瞰摄像装置21捕获的图像中检测作为要抓握对象的对象50,并且计算对象50的三维位置。在确认位置之后,机器人10的数据处理器移动以接近对象50。
(步骤S02)示出了接近对象50的机器人10将手30移动到能够抓握对象50的位置的处理。
基于对安装在手30上的手部摄像装置31捕获的图像的分析来执行该手部位置控制。
机器人10中的数据处理器从由手部摄像装置31捕获的图像中检测作为要抓握对象的对象50,并且计算对象50的三维位置。在确认位置之后,机器人10的数据处理器执行将手30的位置和取向设置为能够抓握对象50的状态的调整处理。
(步骤S03)示出了在步骤S02中手30的调整处理之后的抓握处理。
操作手30两侧的可移动部以抓握对象50。
将参照图2描述对象抓握处理序列的详细序列。
图2是在更详细的处理单元中示出上面参照图1描述的由机器人10对对象50的抓握序列的图。
该处理按照图2所示的步骤S11至S15的顺序执行。
在下文中,将依次描述各个处理步骤。
(步骤S11)
首先,在步骤S11中,执行目标抓握位置确定处理。
首先,分析由安装在机器人10的头部20上的俯瞰摄像装置21捕获的图像,以检测作为要抓握对象的对象50,并且分析对象50的位置。
(步骤S12)
步骤S12是轨迹计划步骤。
机器人10的数据处理器基于在步骤S11中计算出的作为要抓握对象的对象50的位置的信息,生成机器人或手接近对象50的计算位置的移动路线即轨迹计划。注意,移动之后的手30的位置可以是任何位置,只要能够从安装在手30上的手部摄像装置31观察到要抓握对象即可。
(步骤S13)
接下来,在步骤S13中,机器人和手根据在步骤S12中生成的轨迹移动。如上所述,移动之后的手30的位置是可以从安装在手30上的手部摄像装置31观察到要抓握对象的位置。
(步骤S14)
接下来,在步骤S14中,微调手30的位置和取向。
该手部位置控制基于对安装在手30上的手部摄像装置31捕获的图像的分析来执行。
机器人10的数据处理器从由手部摄像装置31捕获的图像中检测作为要抓握对象的对象50,计算对象50的位置。在确认位置之后,机器人10的数据处理器执行将手30的位置和取向设置为可以抓握对象50的状态的调整处理。
(步骤S15)
最后,操作手30两侧的可移动部以抓握对象50。
以这种方式,机器人10首先基于由安装在头部20上的俯瞰摄像装置21捕获的图像来确认作为要抓握对象的对象50的位置。
此后,在手30接近对象50之后,执行如下处理:分析由安装在手30上的手部摄像装置31捕获的图像,并且微调手30的位置和取向以抓握对象50。
[2.关于机器人的抓握处理中的问题]
接下来,将描述参照图1和图2描述的机器人的抓握处理中的问题。
机器人抓握处理中的问题将参照图3进行描述。
与上述图1类似,图3是用于描述当机器人10抓握作为抓握对象50时的处理的序列的图。
机器人10通过按照附图中示出的步骤S01至S03的顺序进行操作,以抓握对象50。
在此,与图1的不同点在于作为要抓握对象的对象50的形状。
在参照图1描述的配置中,作为要抓握对象的对象50具有球形或圆柱形的形状,但图3所示的作为要抓握对象的对象50具有长方体形状。
图3(步骤S01)示出了使用俯瞰摄像装置21对对象50的位置确认步骤。
机器人10中的数据处理器从由俯瞰摄像装置21捕获的图像中检测作为要抓握对象的对象50,并且计算对象50的三维位置。在确认位置之后,机器人10的数据处理器移动以接近对象50。
(步骤S02)示出了接近对象50的机器人10将手30移动到能够抓握对象50的位置的处理。
基于对安装在手30上的手部摄像装置31捕获的图像的分析来执行该手部位置控制。
机器人10的数据处理器从手部摄像装置31捕获的图像中检测作为要抓握对象的对象50,并且计算对象50的位置。在确认位置之后,机器人10的数据处理器执行将手30的位置和取向设置为可以抓握对象50的状态的调整处理。
(步骤S03)示出了在步骤S02中手30的调整处理之后的抓握处理。
操作手30两侧的可移动部以抓握对象50。
然而,在图3所示的示例中,作为要抓握对象的对象50具有长方体形状。在抓握具有这种形状的对象50的情况下,对象50在手30内旋转,如图3中所示(S03),因此除非将手30的取向设置为可以相对于对象50执行稳定的抓握处理的特定方向,否则抓握处理可能失败。
例如,在对象50是盛有水的容器的情况下,会发生水从容器洒出的情况。
图4是示出用于执行稳定地握持具有这种长方体形状的对象50的处理的机器人10的示例性控制处理的图。
图4示出了在作为要抓握对象的对象50具有类似于图3的长方体形状的情况下由机器人10执行的对象抓握处理的序列。
与图3的不同点在于,如图4所示,将手30的取向设置为能够相对于对象50执行稳定的抓握处理的方向来执行抓握处理(S03)。当执行手30的这种位置和取向控制时,可以稳定地抓握具有各种形状的对象。
本公开内容的机器人控制装置具有能够进行图4所示的处理(即用于稳定地握持各种形状的对象的控制)的配置。
在下文中,将描述本公开内容的机器人控制装置的配置和处理。
[3.关于本公开内容的机器人控制装置的配置示例]
接下来,将描述本公开内容的机器人控制装置的配置示例。
图5是示出本公开内容的机器人控制装置100的配置示例的框图。
例如,图5所示的本公开内容的机器人控制装置100被配置在图1至图4所示的机器人10的内部。
如图5所示,本公开内容的机器人控制装置100包括数据处理器110、机器人头部120、机器人手部单元130、机器人移动单元140、通信单元150和输入/输出单元(用户终端)180。
注意,输入/输出单元(用户终端)180可以在机器人体部内,或者可以被配置成作为与机器人体部不同的独立装置的用户终端。
此外,数据处理器110也可以在机器人体部内部,或者可以被配置在与机器人体部不同的独立装置内。
数据处理器110包括要抓握对象点云提取单元111、要抓握对象包围盒生成单元112、抓握位置计算单元113和控制信息生成单元114。
机器人头部120包括驱动单元121和俯瞰摄像装置122。
机器人手部单元130包括驱动单元131和手部摄像装置132。
机器人移动单元140包括驱动单元141和传感器142。
注意,图5所示的构成元件示出了应用于本公开内容的处理的主要构成元件,并且在机器人内部存在各种其他构成元件,例如,诸如存储单元的构成元件。
机器人头部120的驱动单元121驱动机器人头部120并且控制机器人头部的方向。通过该控制,控制俯瞰摄像装置122的图像捕获方向。
俯瞰摄像装置122捕获从机器人头部单元120观察到的图像。
注意,俯瞰摄像装置122不限于用于捕获可见光图像的摄像装置,并且可以是能够获取距离图像等的传感器。然而,优选地使用能够获得三维信息的摄像装置或传感器。例如,可以使用立体摄像装置、诸如ToF传感器或Lidar的传感器或者这些传感器和单目摄像装置的组合。优选地使用能够获取能够分析要抓握对象的三维位置的数据的摄像装置或传感器。
然而,可以通过执行对连续捕获的图像进行分析的处理,例如,仅使用单目摄像装置的同时定位和映射(SLAM)处理等,来分析捕获图像中对象的三维位置,并且在机器人控制装置100具有执行这种分析处理的配置的情况下,俯瞰摄像装置122可以是单目摄像装置。
注意,同时定位和映射(SLAM)处理是并行执行自定位(localization)和环境地图创建(mapping)的处理。
机器人单元130的驱动单元131控制机器人手的取向,并且控制抓握操作。
手部摄像装置132是捕获机器人手部单元130的正前方的图像的摄像装置。
手部摄像装置132不限于用于捕获可见光图像的摄像装置,并且可以是能够获取距离图像等的传感器。然而,优选地使用能够获得三维信息的摄像装置或传感器。例如,可以使用立体摄像装置、诸如ToF传感器或Lidar的传感器或者这些传感器和单目摄像装置的组合。优选地使用能够获取能够分析要抓握对象的三维位置的数据的摄像装置或传感器。
然而,例如,在机器人控制装置100被配置成通过SLAM处理等来执行分析捕获图像中的对象的三维位置的处理的情况下,手部摄像装置132也可以是类似于上述俯瞰摄像装置122的单眼摄像装置。
例如,机器人移动单元140的驱动单元141是执行腿的驱动或轮子的驱动的驱动单元,并且执行使机器人体部移动的驱动处理。
传感器142是被配置成对机器人等的移动方向上的障碍物执行检测的传感器,并且包括摄像装置、ToF传感器、Lidar等。
数据处理器110包括要抓握对象点云提取单元111、要抓握对象包围盒生成单元112、抓握位置计算单元113和控制信息生成单元114。
要抓握对象点云提取单元111执行以下处理:提取指示在由俯瞰摄像装置122捕获的图像以及由手部摄像装置捕获的图像中包括的要抓握对象的点云(三维点云)。点云对应于指示作为要抓握对象的对象的外部形状(即对象的三维形状)的点云(三维点云)。稍后将描述具体处理示例。
要抓握对象包围盒生成单元112基于由要抓握对象点云提取单元111生成的要抓握对象的三维点云,生成包围三维点云的“要抓握对象包围盒”。
“要抓握对象包围盒”是包围指示要抓握对象的三维形状的点云的盒,盒的形状没有特别限定,可以是长方体、圆柱体、圆锥体、圆环体等。注意,在以下实施方式中,以使用长方体包围体(边界盒)作为“要抓握对象包围盒”为例进行描述。
例如,抓握位置计算单元113执行以下处理。
执行以下处理:
(1)计算由俯瞰摄像装置捕获的要抓握对象的要抓握对象包围盒(边界盒)与目标抓握位置之间的相对关系的处理;以及
(2)通过应用由俯瞰摄像装置捕获的要抓握对象的要抓握对象包围盒(边界盒)与目标抓握位置之间的相对关系,来计算校正目标抓握位置的处理,该校正目标抓握位置是目标抓握位置相对于由手部摄像装置捕获的图像中的要抓握对象的要抓握对象包围盒(边界盒)的相对位置。
例如,目标抓握位置是用户在使用输入/输出单元(用户终端)180观看由俯瞰摄像装置捕获的图像时设置的目标抓握位置。目标抓握位置是要抓握对象能够被机器人的手稳定地抓握的抓握位置,并且例如,对应于在用手抓握要抓握对象的处理中手与要抓握对象之间的接触位置等。
例如,在使用如参照图1至图4所述从两侧夹住对象50的夹持器型手的情况下,目标抓握位置被设置在对象50两侧的两个位置处。稍后将描述具体示例及其细节。
抓握位置计算单元113生成如下由不同摄像装置捕获的图像中的要抓握对象的两个要抓握对象包围盒(边界盒),即,
(a)由俯瞰摄像装置捕获的图像中的要抓握对象的要抓握对象包围盒(边界盒),以及
(b)由手部摄像装置捕获的图像中的要抓握对象的要抓握对象包围盒(边界盒),并且
使每个包围盒(边界盒)与每个抓握位置之间的相对位置一致,从而计算出用户设置的目标抓握位置对应于由手部摄像装置捕获的图像中包括的要抓握对象的哪个位置。
该计算出的位置被定义为校正目标抓握位置。
控制信息生成单元114生成用于使机器人的手抓握由抓握位置计算单元113计算出的“校正目标抓握位置”的控制信息。该控制信息被输出到机器人移动单元140的驱动单元141以及机器人手部单元130的驱动单元131。
机器人移动单元140的驱动单元141和机器人手部单元130的驱动单元131根据由控制信息生成单元114生成的控制信息(即,使机器人的手抓握由抓握位置计算单元113计算出的“校正目标抓握位置”的控制信息)执行驱动处理。
通过该驱动处理,机器人的手可以抓握“校正目标抓握位置”。
“校正目标抓握位置”是与用户在观看鸟瞰图像时指定的目标抓握位置一致的抓握位置,并且是设置在对由手部摄像装置捕获的图像中包括的要抓握对象上的抓握位置。由于机器人的手抓握在设置在由手部摄像装置捕获的图像中包括的要抓握对象上的校正目标抓握位置,因此能够稳定地抓握对象。注意,假设用户在观看鸟瞰图像时指定的目标抓握位置不包括识别错误和机械错误。
[4.关于由本公开内容的机器人控制装置执行的处理的细节]
接下来,将描述由本公开内容的机器人控制装置100执行的处理的细节。
图6是用于描述计算要抓握对象的抓握位置(校正目标抓握位置)的处理的序列的流程图,该处理由图5所示的机器人控制装置100的数据处理器110执行。
注意,“校正目标抓握位置”是能够稳定地抓握由手部摄像装置捕获的图像中包括的要抓握对象的抓握位置,并且是与如上所述用户在观看鸟瞰图像时指定的目标抓握位置一致的抓握位置。
在下文中,将参照图6所示的流程图描述由本公开内容的机器人控制装置100执行的处理的细节。
注意,根据图6所示的流程的处理是可以在控制单元(数据处理器)的控制下执行的处理,该控制单元包括CPU,该CPU具有根据存储在机器人控制装置100的存储单元(存储器)中的程序的信息处理装置等的程序执行功能。
在下文中,将描述图6所示的流程的每个步骤中的处理。
在图6所示的流程中,步骤S111至S114中的处理是基于由机器人头部单元120的俯瞰摄像装置122捕获的图像(包括距离图像)执行的处理。
另一方面,图6所示的流程中的步骤S121至S123中的处理是基于由机器人手部单元130的手部摄像装置132捕获的图像(包括距离图像)执行的处理。
首先,将描述基于由俯瞰摄像装置122捕获的图像执行的步骤S111至S114中的处理。
(步骤S111)
首先,机器人控制装置100的数据处理器110输入使用由俯瞰摄像装置捕获的图像的要抓握对象的指定信息和目标抓握位置的指定信息。
例如,用户在使用输入/输出单元(用户终端)180观看由俯瞰摄像装置捕获的图像的同时,输入要抓握对象的指定信息和目标抓握位置的指定信息。
将参照图7描述该处理的具体示例。
图7示出了以下附图中的每一个。
(1)指定要抓握对象的处理的示例
(2)指定要抓握对象的抓握位置的示例
图7的(1)和图7的(2)所示的附图二者均表示在输入/输出单元(用户终端)180的显示单元上显示的由俯瞰摄像装置122捕获的图像。
即,由俯瞰摄像装置122捕获的图像是如下图像:具有长方体形状的要抓握对象被放置在桌子上。
以这种方式,用户在观看显示在输入/输出单元(用户终端)180上的由俯瞰摄像装置捕获的图像的同时,输入要抓握对象的指定信息和目标抓握位置的指定信息。
图7的(1)示出了要抓握对象的指定信息的输入示例。
例如,如图7的(1)所示,用户通过设置围绕具有长方体形状等的要抓握对象的矩形区域的技术来指定要抓握对象。
另外,如图7的(2)所示,用户指定用于稳定地抓握要抓握对象的抓握位置(目标抓握位置)。
作为指定抓握位置的方法,存在直接指定要抓握对象的表面上的抓握位置的方法以及如图所示设置指示抓握位置的箭头。
在图7的(2)所示的示例中,将具有长方体形状的要抓握对象的表面上的抓握位置设置为在两侧上的两个相对表面的大致中央位置。
在要抓握对象的两侧上的两个相对表面中,一个表面在可以从由俯瞰摄像装置捕获的图像中观察到的位置处,这点使得能够直接指定要抓握对象的表面上的抓握位置。
然而,一个表面在由俯瞰摄像装置捕获的图像中不可见的位置处。在这种情况下,用户设置如图所示的指示抓握位置的箭头。
注意,可以应用以下方法:在显示单元上显示要抓握对象的三维图像,将使用户能够交互地设置位置信息的标记进一步显示在显示数据上,并且用户通过移动标记来直接指定抓握位置。
在用户直接指定要抓握对象的表面上的抓握位置的情况下,机器人控制装置100的数据处理器110将指定位置确定为目标抓握位置,并且将位置信息(相对于要抓握对象的相对位置或者目标抓握位置的三维位置)存储在存储单元中。
此外,在用户不直接指定要抓握对象的表面上的抓握位置而是设置箭头的情况下,机器人控制装置100的数据处理器110计算用户设置的箭头与要抓握对象之间的交点,将交点确定为目标抓握位置,并且将位置信息(相对于要抓握对象的相对位置或者目标抓握位置的三维位置)存储在存储单元中。
注意,抓握位置是机器人的手能够稳定地抓握要抓握对象的点,并且抓握位置的数目根据机器人的手的配置而不同。在本实施方式中,如参照图1至图4所述,机器人的手具有夹持器型,该夹持器型在左侧和右侧分别包括两个可旋转的可移动部。在夹持器型的手的这种配置中,两个可移动部抓握要抓握对象以从左侧和右侧夹住要抓握对象,因此,只需要将左右两个可移动部与要抓握对象接触的两个点设置作为抓握位置。
例如,在机器人的手具有包括三个手指的结构等的情况下,执行将各个手指与要抓握对象接触的三个点指定为抓握位置的处理。
如图7的(1)和图7的(2)所示,当用户在观看显示在输入/输出单元(用户终端)180上的由俯瞰摄像装置捕获的图像的同时输入要抓握对象的指定信息和目标抓握位置的指定信息时,机器人控制装置100的数据处理器110基于这些输入信息,确定要抓握对象和要抓握对象上的目标抓握位置。
(步骤S112)
接下来,将描述图6的流程的步骤S112中的处理。
在步骤S112中,执行提取由俯瞰摄像装置捕获的图像中的要抓握对象的点云的处理。
该处理是由机器人控制装置100的数据处理器110的要抓握对象点云提取单元111执行的处理。
要抓握对象点云提取单元111基于从由俯瞰摄像装置122捕获的图像中选择的要抓握对象,执行提取指示要抓握对象的点云(三维点云)的处理。点云对应于指示作为要抓握对象的对象的外部形状(即对象的三维形状)的点云(三维点云)。
将参照图8描述由要抓握对象点云提取单元111执行的提取要抓握对象的三维点云的处理的示例。
图8示出了以下附图。
(1)要抓握对象和要抓握对象指定信息
(2)要抓握对象的点云(三维点云)的示例
图8的(1)示出了从由俯瞰摄像装置122捕获的图像选择的要抓握对象以及作为要抓握对象的指定信息的矩形区域,该信息由用户指定。
要抓握对象点云提取单元111使用指定的矩形区域内的对象作为要抓握对象,并且提取与该对象对应的点云。
注意,最初,针对图像中的整个对象区域生成点云。因此,要抓握对象点云提取单元111需要执行去除与包括在由用户指定的矩形区域内的要抓握对象相关的点云以外的点云的处理。
例如,如果在要抓握对象的支承平面(桌子等)上存在与对象对应的点云,则去除与支承平面(桌子)对应的点云。
例如,作为用于去除与要抓握对象以外的对象对应的点云并且提取仅与要抓握对象对应的点云的技术,将点云以个体对象为单位进行分类的聚类处理是有效的。
将点云以对象为单位划分为族群,然后提取由矩形区域中包括最多族群数的族群构成的点云作为与要抓握对象对应的点云,该矩形区域是用户设置的要抓握对象的指定区域。其他点云族群是要抓握对象以外的对象的点云,因此被删除。
例如,由于执行了这样的处理,因此可以提取图8的(2)所示的要抓握对象的点云(三维点云)。
注意,可以将诸如RANSAC技术的现有技术应用于检测诸如放置要抓握对象的桌子的支承平面的处理。此外,对于聚类,可以应用诸如欧几里得聚类的现有技术。
(步骤S113)
接下来,将描述图6的流程的步骤S113中的处理。
在步骤S113中,执行生成由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的处理。
该处理由机器人控制装置100的数据处理器110的要抓握对象包围盒生成单元112执行。
要抓握对象包围盒生成单元112基于由要抓握对象点云提取单元111生成的要抓握对象的三维点云,生成包围三维点云的“要抓握对象包围盒”。
如上所述,“要抓握对象包围盒”的形状没有特别限定,可以是长方体、圆柱体、圆锥体、圆环体等各种形状。然而,在本实施方式中,将描述其中使用基于长方体形状的包围盒作为“要抓握对象包围盒”的示例。
将参照图9和图10所示的流程来描述步骤S113中的处理的详细序列,即生成由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的处理,该处理由要抓握对象包围盒生成单元112执行。
将描述图9所示流程的每个步骤中的处理。
(步骤S201)
首先,在步骤S201中,要抓握对象包围盒生成单元112输入以下各条信息。
(a)基于俯瞰摄像装置的要抓握对象点云
(b)目标抓握位置
(a)的基于俯瞰摄像装置的要抓握对象点云是由要抓握对象点云提取单元111生成的点云数据,并且从要抓握对象点云提取单元111输入。
(b)的目标抓握位置是用户输入的目标抓握位置,并且是用户在图6的流程的步骤S111中输入的目标抓握位置。
(步骤S302)
接下来,在步骤S302中,要抓握对象包围盒生成单元112执行设置包围盒(边界盒)的一条边为平行于竖直平面(yz平面)的处理,该竖直平面垂直于目标抓握位置的接近方向(x方向)。
将参照图10的(1)描述该处理。
图10的(1)示出了坐标系以及在包围盒(边界盒)生成处理中输入信息的示例。
在坐标系中,将手30接近作为要抓握对象的对象50的方向即接近方向设置为x方向,并且将与x方向垂直并且在手30的抓握处理中手30向目标抓握位置靠近的移动方向设置为y轴。另外,这是右手坐标系,在该右手坐标系中,与x轴和y轴垂直的方向被设置为z轴。
在步骤S202中,执行将包围盒(边界盒)的一条边设置为平行于竖直平面(yz平面)的处理,该竖直平面垂直于目标抓握位置的接近方向(x方向)。
图10的(2)中示出具体示例。如图10的(2)所示,将平行于竖直平面(yz平面)的边设置为包围盒(边界盒)的一条边,该竖直平面垂直于目标抓握位置的接近方向(x方向)。
如上所述设置四条边,从而定义具有长方体形状的包围盒的面。然而,例如,可以生成如图11的(2a)和图11的(2b)所示的各种包围盒作为具有平行于yz平面的边的边界盒。
图11的(2a)是不期望的边界盒的生成示例,图11(2b)是期望的边界盒的生成示例。
在步骤S202中,要抓握对象包围盒生成单元112进一步将边界盒的一个表面设置为在接近方向(x方向)上面向手30,如图11(2b)所示。
即,调整具有平行于yz平面的边的边界盒绕z轴的旋转(偏航角)以将边界盒的一个表面设置为在接近方向(x方向)上面向手30。
(步骤S203)
接下来,在步骤S203中,要抓握对象包围盒生成单元112确定是否存在要抓握对象的支承平面。
支承平面是诸如放置要抓握对象的桌子的平面。
在存在要抓握对象的支承平面的情况下,处理进行到步骤S204。
另一方面,在不存在要抓握对象的支承平面的情况下,处理进行到步骤S211。
(步骤S204)
在步骤S203中确定存在要抓握对象的支承平面的情况下,处理进行到步骤S204。
在步骤S204中,要抓握对象包围盒生成单元112将包围盒(边界盒)的一个表面设置在支承平面上,以生成包围盒(边界盒)。
将参照图12来描述步骤S204中的该处理。图12的(3a)所示的示例示出了要抓握对象被放置在作为支承平面的桌子上的状态。
在步骤S204中,要抓握对象包围盒生成单元112将包围盒(边界盒)的一个表面设置在如图12的(3a)所示的支承平面(桌子)上。
此外,包围盒(边界盒)是通过将设置在支承平面(桌子)上的表面连接到在步骤S202中生成的边(即设置为平行于竖直平面(yz平面)的边,该竖直平面垂直于参照图10的(2)和图11的(2b)描述的目标抓握位置的接近方向(x方向))来生成。
结果,例如,生成图13的(3b)所示的包围盒(边界盒)。
(步骤S211)
另一方面,在步骤S203中确定不存在要抓握对象的支承平面的情况下,处理进行到步骤S211。
在步骤S211中,要抓握对象包围盒生成单元112将要抓握对象点云投影到竖直平面(zx平面)上,该竖直平面平行于目标抓握位置的接近方向(y方向),并且使用该投影平面作为包围盒(边界盒)的构成平面。
将参照图14的(4)描述该处理的具体示例。
如图14的(4)所示,要抓握对象包围盒生成单元112将要抓握对象点云投影到竖直平面(zx平面)上,该竖直平面平行于目标抓握位置的接近方向(y方向),并且使用该投影平面作为包围盒(边界盒)的构成平面。
通过该投影处理生成的投影平面是如图14的(4)所示的“要抓握对象点云在xz平面上的投影平面”。
(步骤S212)
接下来,在步骤S212中,要抓握对象包围盒生成单元112对投影点云执行二维主成分分析,以确定包围盒(边界盒)围绕俯仰轴(y轴)的姿势。
投影到xz平面上的要抓握对象点云是通过将原本散布在具有三维形状的要抓握对象的三维空间中的点云投影到二维平面(xz平面)上而获得的点云。
对部署在二维平面上的点云执行二维主成分分析,从而可以确定具有包围具有三维形状的要抓握对象的包围盒(边界盒)。具体地,通过对投影的点云的二维主成分分析来确定包围盒(边界盒)围绕俯仰轴(y轴)的姿势。
通过该处理,例如,可以生成图14的(5)所示的包围盒(边界盒)。
注意,可以直接应用三轴主成分分析,而不是对投影的点云进行二维主成分分析。
此外,由于目标抓握位置的三维位置信息是可用的,因此通过生成包围盒(边界盒)来实现更精确的包围盒(边界盒)生成处理,使得目标抓握位置的三维位置被包括在包围盒(边界盒)中。
至此已经描述了关于图6所示流程的步骤S113中的处理,即生成在由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的处理的细节,该处理由要抓握对象包围盒生成单元112执行。
如上所述,要抓握对象包围盒生成单元112基于由要抓握对象点云提取单元111生成的要抓握对象的三维点云,生成包围要抓握对象的三维点云的“要抓握对象包围盒(边界盒)”。
接下来,将描述图6的流程的步骤S114中的处理。
(步骤S114)
在步骤S114中,执行计算由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)与目标抓握位置之间的相对位置关系的处理。
该处理是机器人控制装置100的数据处理器110的抓握位置计算单元113执行的处理。
抓握位置计算单元113执行如下处理:计算由俯瞰摄像装置捕获的图像中的要抓握对象的要抓握对象包围盒(边界盒)与要抓握对象位置之间的相对位置关系。
注意,例如,目标抓握位置是用户在观看由俯瞰摄像装置捕获的图像时使用输入输出单元(用户终端)180设置的抓握位置,并且是用户确定如上所述的机器人的手能够稳定地抓握要抓握对象的抓握位置。
将参照图15描述步骤S114中的该处理。
图15示出了作为要抓握对象的对象50以及由要抓握对象包围盒生成单元112在图6所示的流程的步骤S113中生成的包围对象50的俯瞰摄像装置参考包围盒(边界盒)201。
俯瞰摄像装置参考包围盒(边界盒)201是基于由俯瞰摄像装置122捕获的图像来生成的包围盒(边界盒)。
抓握位置计算单元113生成以俯瞰摄像装置参考包围盒(边界盒)201的一个顶点为原点的坐标系(俯瞰摄像装置参考包围盒坐标系)。
如图15所示,俯瞰摄像装置参考包围盒坐标系是以包围盒(边界盒)201的一个顶点为原点(O(bb1))并且将具有长方体形状的俯瞰摄像装置参考包围盒(边界盒)201的边分别设置为X、Y、Z轴的坐标系。
俯瞰摄像装置参考包围盒(边界盒)201被定义为如下的长方体,该长方体具有俯瞰摄像装置参考包围盒坐标系上的四个点作为顶点:原点(O(bb1))、X轴上的点(X(bb1))、Y轴上的点(Y(bb1))以及Z轴上的点(Z(bb1))。
此外,图15示出了目标抓握位置在俯瞰摄像装置参考包围盒坐标系中的三维位置坐标。图15示出了以下两个点。
目标抓握位置L((X(L1),Y(L1),Z(L1)),211L
目标抓握位置R(X(R1),Y(R1),Z(R1)),211R
应用这两个点。
注意,例如目标抓握位置是用户在观看由俯瞰摄像装置捕获的图像时使用上述输入/输出单元(用户终端)180设置的目标抓握位置。
在步骤S114中,抓握位置计算单元113将用户设置的目标抓握位置计算为图15所示的坐标系(摄像装置参考包围盒坐标系)上的三维位置。即,计算图15所示的以下两个点的三维位置坐标。
目标抓握位置L((X(L1),Y(L1),Z(L1)),211L
目标抓握位置R(X(R1),Y(R1),Z(R1)),211R
这些目标抓握位置的坐标是将具有长方体形状的俯瞰摄像装置参考包围盒(边界盒)201的边分别设置为X轴、Y轴、Z轴并且以包围盒(边界盒)的顶点为原点的坐标系中的坐标。
因此,图15所示的目标抓握位置的坐标是设置由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)与目标抓握位置之间的相对位置关系的坐标。
以这种方式,在步骤S114中,作为计算由俯瞰摄像装置捕获的图像中的要抓握对象的要抓握对象包围盒(边界盒)与目标抓握位置之间的相对位置关系的处理,抓握位置计算单元113执行如下处理:计算目标抓握位置在图15所示的坐标系(俯瞰摄像装置参考包围盒坐标系)上的三维位置,即以下位置:
目标抓握位置L((X(L1),Y(L1),Z(L1)),211L;以及
目标抓握位置R(X(R1),Y(R1),Z(R1)),211R。
接下来,将描述图6所示的步骤S121到S123中的处理。
步骤S121至S123中的处理基于由机器人手部单元130的手部摄像装置132捕获的图像来执行。
(步骤S121)
在步骤S121中,执行提取由手部摄像装置捕获的图像中的要抓握对象的点云的处理。
该处理是由机器人控制装置100的数据处理器110的要抓握对象点云提取单元111执行的处理。
要抓握对象点云提取单元111提取指示由手部摄像装置132捕获的图像中包括的要抓握对象的点云(三维点云)。如上所述,点云对应于指示作为要抓握对象的对象的外部形状(即对象的三维形状)的点云(三维点云)。
即,如图8的(2)所示的要抓握对象的点云(三维点云)是如上参照图8生成的。
注意,在上面参照图8描述的处理中执行使用指定由用户指定的要抓握对象的矩形区域的点云提取。
在从由手部摄像装置132捕获的图像中提取要抓握对象的处理中,同样可以通过在输入/输出单元(用户终端)180上显示由手部摄像装置132捕获的图像来执行类似的处理,由允许用户指定要抓握对象并且设置矩形区域,但是也可以在不由用户执行对矩形区域的指定的情况下执行处理。
即,可以参照基于由俯瞰摄像装置122捕获的图像生成的包围盒(边界盒)的形状和大小,自主地执行从由手部摄像装置132捕获的图像中提取要抓握对象的处理。
具体地,例如,通过应用已知的用于从图像中提取特定对象的处理技术的基于min-cut的分割处理来执行提取要抓握对象的处理。即,通过应用通过将用作种子的点和大小设置为通过基于min-cut的分割处理的俯瞰摄像装置参考包围盒(边界盒)中包括的点云和大小来执行前景提取的方法,来执行从由手部摄像装置132捕获的图像中提取要抓握对象的处理。
在该处理时,也可以根据需要追加诸如检测放置要抓握对象的桌子的支承平面的处理或者聚类之类的处理。
如上所述,诸如RANSAC技术的现有技术可以应用于检测诸如放置要抓握对象的桌子的支承平面的处理。此外,对于聚类,可以应用诸如欧几里得聚类的现有技术。
注意,在通过该处理获取的基于手部摄像装置132提取的点云的大小与在步骤S113中生成的俯瞰摄像装置参考包围盒(边界盒)有很大不同的情况下,优选地执行诸如再次更改参数以更改要提取的点云的处理。
通过执行这样的处理,例如,能够提取图8的(2)所示的要抓握对象的点云(三维点云)作为指示由手部摄像装置132捕获的图像中包括的要抓握对象的点云(三维点云)。
(步骤S122)
接下来,将描述图6的流程的步骤S122中的处理。
在步骤S122中,执行生成由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的处理。
该处理由机器人控制装置100的数据处理器110的要抓握对象包围盒生成单元112执行。
要抓握对象包围盒生成单元112基于由要抓握对象点云提取单元111生成的由手部摄像装置132捕获的图像中的要抓握对象的三维点云,生成包围三维点云的“要抓握对象包围盒”。
注意,由要抓握对象包围盒生成单元112生成的包围盒(即包围由手部摄像装置捕获的图像中的要抓握对象的包围盒)是具有与先前在步骤S113中生成的包围盒相同形状的包围盒。
如上所述,尽管“要抓握对象包围盒”的形状没有特别限定,并且可以是诸如长方体、圆柱体、圆锥体、圆环体的各种形状,但是先前在步骤S113中生成的“要抓握对象包围盒”是具有长方体形状的包围盒,并且在步骤S122中同样生成具有长方体形状的包围盒。
将参照图16中所示的流程来描述步骤S122中的处理(即生成由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的处理)的详细序列,该处理由要抓握对象执行。
将描述图16所示的流程的每个步骤中的处理。
(步骤S301)
首先,在步骤S301中,要抓握对象包围盒生成单元112输入以下各条信息。
(a)基于手部摄像装置的要抓握对象点云
(b)俯瞰摄像装置参考包围盒(边界盒)
(c)目标抓握位置
(a)的基于手部摄像装置的要抓握对象点云是在步骤S121中由要抓握对象点云提取单元111基于由手部摄像装置捕获的图像生成的点云数据,并且从要抓握对象点云提取单元111输入。
(b)的俯瞰摄像装置参考包围盒(边界盒)是图6的流程的步骤S113中生成的包围盒(边界盒),并且从要抓握对象包围盒生成单元112输入。
(c)的目标抓握位置是用户在图6的流程的步骤S111中输入的目标抓握位置。
(步骤S302)
接下来,在步骤S302中,要抓握对象包围盒生成单元112执行将包围盒(边界盒)的一条边设置为平行于竖直平面(yz平面)的处理,该竖直平面垂直于目标抓握位置的接近方向(x方向)。
该处理是与上述图9的流程的步骤S202的处理相同的处理。
即,该处理是上面参照图10和图11描述的处理。
在步骤S302中,执行将包围盒(边界盒)的一条边设置为平行于竖直平面(yz平面)的处理,该竖直平面垂直于目标抓握位置的接近方向(x方向)。
具体地,如图10的(2)所示,将平行于竖直平面(yz平面)的边设置为包围盒(边界盒)的一条边,该竖直平面垂直于目标抓握位置的接近方向(x方向)。
如上所述设置四条边,从而定义具有长方体形状的包围盒的表面。然而,例如,可以生成如图11的(2a)和图11的(2b)所示的各种包围盒作为具有平行于yz平面的边的包围盒。
图11的(2a)是不期望的包围盒的生成示例,图11的(2b)是期望的包围盒的生成示例。
在步骤S202中,要抓握对象包围盒生成单元112进一步将包围盒的一个表面设置为在接近方向(x方向)上面向手30,如图11的(2b)所示。
即,调整具有平行于yz平面的边的包围盒绕z轴的旋转(偏航角)以将包围盒的一个面设置为在接近方向(x方向)上面向手30。
(步骤S303)
接下来,在步骤S303中,要抓握对象包围盒生成单元112确定是否存在要抓握对象的支承平面。
例如,支承平面是诸如放置要抓握对象的桌子的平面。
在存在要抓握对象的支承平面的情况下,处理进行到步骤S304。
另一方面,在不存在要抓握对象的支承平面的情况下,处理进行到步骤S311。
(步骤S304)
在步骤S303中确定存在要抓握对象的支承平面的情况下,处理进行到步骤S304。
在步骤S304中,要抓握对象包围盒生成单元112将包围盒(边界盒)的一个表面设置在支承平面上,以生成包围盒(边界盒)。
该步骤S304的处理是与上述图9的流程的步骤S204的处理相同的处理。
即,该处理是上面参照图12和图13描述的处理。
图12的(3a)所示的示例示出了将要抓握对象放置在作为支承平面的桌子上的状态。
在步骤S304中,要抓握对象包围盒生成单元112将包围盒(边界盒)的一个表面设置在如图12的(3a)所示的支承平面(桌子)上。
此外,包围盒(边界盒)是通过将设置在支承平面(桌子)上的表面连接到在步骤S302中生成的边(即设置为平行于竖直平面(yz平面)的边,该竖直平面垂直于参照图10的(2)和图11的(2b)描述的目标抓握位置的接近方向(x方向))。
结果,例如,生成图13的(3b)所示的包围盒(边界盒)。
(步骤S311)
另一方面,在步骤S303中确定不存在要抓握对象的支承平面的情况下,处理进行到步骤S311。
在步骤S311中,要抓握对象包围盒生成单元112基于已经生成的由俯瞰摄像装置122捕获的图像,将具有与包围盒(边界盒)相同姿势的包围盒(边界盒)设置为基于由手部摄像装置132捕获的图像的包围盒(边界盒)。
即,基于在图6所示的流程的步骤S113中生成的俯瞰摄像装置122捕获的图像,将具有与包围盒(边界盒)相同姿势的包围盒(边界盒)设置为基于由手部摄像装置132捕获的图像的包围盒(边界盒)。
接下来,将描述图6的流程的步骤S123中的处理。
(步骤S123)
在步骤S123中,通过应用由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)与目标抓握位置之间的相对位置关系,执行计算校正目标抓握位置的处理,该校正目标抓握位置是目标抓握位置相对于由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的相对位置。
即,计算由俯瞰摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于要抓握对象的包围盒(边界盒)的相对位置,基于计算出的相对位置来计算相对于由手部摄像装置捕获的图像中的手部摄像装置参考包围盒的相对位置,并且将计算出的位置设置为由手部摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置。
该处理是由图5所示的机器人控制装置100的数据处理器110的抓握位置计算单元113执行的处理。
通过应用由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)与目标抓握位置之间的相对位置关系,抓握位置计算单元113执行计算校正目标抓握位置的处理,该校正目标抓握位置是目标抓握位置相对于由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的相对位置。
注意,例如,目标抓握位置是用户在使用输入输出单元(用户终端)180观看由俯瞰摄像装置捕获的图像时设置的抓握位置,并且是如上所述的用户确定机器人的手能够稳定地抓握要抓握对象的抓握位置。
在图6所示流程的步骤114中已经计算了由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)与目标抓握位置之间的相对位置,该处理也是基于由上面参照图15描述的由俯瞰摄像装置122捕获的图像执行的处理。
在步骤S123中,由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)与目标抓握位置的相对位置关系用于计算由俯瞰摄像装置捕获的图像中的目标抓握位置相对于由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)位于哪个位置。
即,执行计算校正目标抓握位置的处理,该校正目标抓握位置是目标抓握位置相对于由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的相对位置。
在步骤S123中,抓握位置计算单元113生成在由不同摄像装置捕获的图像中的要抓握对象的如下两个要抓握对象包围盒(边界盒),即,
(a)由俯瞰摄像装置122捕获的图像中的要抓握对象的要抓握对象包围盒(边界盒),以及
(b)由手部摄像装置132捕获的图像中的要抓握对象的要抓握对象包围盒(边界盒),并且
使每个包围盒(边界盒)与每个抓握位置之间的相对位置一致,从而计算由用户设置的目标抓握位置对应于由手部摄像装置捕获的图像中包括的要抓握对象的哪个位置。
该计算出的位置被定义为校正目标抓握位置。
通过该处理设置的由手部摄像装置132捕获的图像中的校正目标抓握位置是分别与用户在观看由俯瞰摄像装置122捕获的图像时设置的目标抓握位置对应的位置。
因此,机器人控制装置100通过观察由手部摄像装置132捕获的图像并且使手部的夹持器与校正目标抓握位置接触,能够稳定地抓握对象50,以执行抓握对象50的处理,该校正目标抓握位置是目标抓握位置相对于由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的相对位置。
将参照图17描述步骤S123中的该处理。
图17示出了以下两个附图。
(1)基于俯瞰摄像装置的分析数据
(2)基于手部摄像装置的分析数据
(1)的基于俯瞰摄像装置的分析数据是基于由俯瞰摄像装置122捕获的图像生成的数据。
即,该分析数据是通过图6所示的流程的步骤S111至S114的处理生成的数据,并且对应于以上参照图15描述的数据。
(2)的基于手部摄像装置的分析数据是基于由手部摄像装置132捕获的图像生成的数据。
即,该分析数据是通过图6所示的流程的步骤S121至S123的处理生成的数据。
(1)的基于俯瞰摄像装置的分析数据示出了以下每一条数据:
(1a)作为要抓握对象的对象50;
(1b)在图6所示的流程的步骤S113中,由要抓握对象包围盒生成单元112生成的包围对象50的俯瞰摄像装置参考包围盒(边界盒)201;以及
(1c)在图6所示的流程的步骤S111中,用户基于由俯瞰摄像装置122捕获的图像设置的目标抓握位置211L和211R。
这些数据中的每一条都以与上面参照图15描述的类似方式在俯瞰摄像装置参考包围盒坐标系上示出。
如上所述,俯瞰摄像装置参考包围盒坐标系是将具有长方体形状的俯瞰摄像装置参考包围盒(边界盒)201的边分别设置为X、Y、Z轴并且以包围盒(边界盒)201的一个顶点为原点(O(bb1))的坐标系。
俯瞰摄像装置参考包围盒(边界盒)201被定义为如下的长方体:该长方体具有俯瞰摄像装置参考包围盒坐标系上的四个点作为顶点:原点(O(bb1))、X轴上的点(X(bb1))、Y轴上的点(Y(bb1))以及Z轴上的点(Z(bb1))。
此外,图17的(1)示出了目标抓握位置在俯瞰摄像装置参考包围盒坐标系中的三维位置坐标。图17的(1)示出了以下两个点。
目标抓握位置L((X(L1),Y(L1),Z(L1)),211L
目标抓握位置R(X(R1),Y(R1),Z(R1)),211R
应用这两点。
例如,这些目标抓握位置是用户在使用上述输入/输出单元(用户终端)180观看由俯瞰摄像装置捕获的图像时设置的抓握位置。
如以上参照图15所述,图17的(1)所示的目标抓握位置的这些坐标是各自指示在由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)与每个目标抓握位置之间的相对位置关系的坐标。
在图6的流程的步骤S123中,抓握位置计算单元113执行以下处理。
即,通过应用由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)与目标抓握位置之间的相对位置关系,执行计算校正目标抓握位置的处理,该校正目标抓握位置是目标抓握位置相对于由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的相对位置。
具体地,计算要抓握对象的目标抓握位置相对于由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的相对位置,基于计算出的相对位置来计算相对于由手部摄像装置捕获的图像中的手部摄像装置参考包围盒的目标抓握位置,并且将计算出的位置设置为由手部摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置。
校正目标抓握位置是图17的(2)所示的校正目标抓握位置。
即,图17的(2)所示的以下校正目标抓握位置的计算处理:
校正目标抓握位置L((X(L2),Y(L2),Z(L2)),231L;以及
校正目标抓握位置R(X(R2),Y(R2),Z(R2)),231R。
图17的(2)示出了以下每条数据:
(2a)作为要抓握对象的对象50;
(2b)在图6所示的流程的步骤S122中,由要抓握对象包围盒生成单元112生成的包围对象50的手部摄像装置参考包围盒(边界盒)221;以及
(2c)校正目标抓握位置231L和231R。
这些数据中的每一条都在手部摄像装置参考包围盒坐标系上示出。
手部摄像装置参考包围盒坐标系是将具有长方体形状的手部摄像装置参考包围盒(边界盒)221的边分别设置为X、Y和Z轴并且将手部摄像装置参考包围盒(边界盒)221的一个顶点作为原点(O(bb2))的坐标系。
手部摄像装置参考包围盒(边界盒)221被定义为如下的长方体:该长方体具有基于手部摄像装置的包围盒坐标系上的四个点作为顶点:原点(O(bb1))、X轴上的点(X(bb1))、Y轴上的点(Y(bb1))以及Z轴上的点(Z(bb1))。
在图6的流程的步骤S123中,通过应用由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)与目标抓握位置之间的相对位置关系,抓握位置计算单元113执行计算校正目标抓握位置的处理,该校正目标抓握位置是目标抓握位置相对于由手部摄像装置捕获的图像中抓握的要抓握对象的包围盒(边界盒)的相对位置。
即,图17的(2)所示的以下位置的计算处理:
校正目标抓握位置L((X(L1),Y(L1),Z(L1)),211L;以及
校正目标抓握位置R(X(R1),Y(R1),Z(R1)),211R。
由抓握位置计算单元113执行的校正目标抓握位置的计算处理被执行如下。
首先,生成关系式,该关系式分别指示图17的(1)所示的基于俯瞰摄像装置的分析数据中包括的俯瞰摄像装置参考包围盒坐标系中的目标抓握位置的坐标,即以下两个点:
目标抓握位置L((X(L1),Y(L1),Z(L1)),211L,以及
目标抓握位置R(X(R1),Y(R1),Z(R1)),211R,
使用俯瞰摄像装置参考包围盒(边界盒)201的顶点数据(X(bb1),Y(bb1),Z(bb1))。
即,生成以下关系式:(关系式1)和(关系式2)。
目标抓握位置L((X(L1),Y(L1),Z(L1))
=((lx)·(X(bb1)),(ly)·(Y(bb1)),(lz)·(Z(bb1)))...(关系式1)
目标抓握位置R((X(R1),Y(R1),Z(R1))
=((rx)·(X(bb1)),(ry)·(Y(bb1)),(rz)·(Z(bb1)))...(关系式2)
生成这样的两个关系式:(关系式1)和(关系式2)。
注意,(关系式1)中所示的lx、ly和lz中的每一个是指示目标抓握位置L相对于俯瞰摄像装置参考包围盒(边界盒)201的每条边的长度的坐标(X(L1),Y(L1),Z(L1))的xyz坐标位置中的每一个的比率的系数。
类似地,(关系式2)中所示的rx、ry和rz中的每一个是指示目标抓握位置R相对于俯瞰摄像装置参考包围盒(边界盒)201的每条边的长度的坐标(X(R1),Y(R1),Z(R1))的xyz坐标位置中的每一个的比率的系数。
基于这两个关系式(关系式1)和(关系式2)来计算系数lx、ly和lz以及系数rx、ry和rz。
接下来,图17的(2)所示的基于手部摄像装置的分析数据中所示的手部摄像装置参考包围盒(边界盒)221的每条边的长度(X(bb2),Y(bb2),Z(bb2))乘以基于上述关系式1和关系式2计算的系数(lx,ly,lz,rx,ry,rz),以计算以下校正目标抓握位置L和R:
校正目标抓握位置L((X(L2),Y(L2),Z(L2)),231L;以及
校正目标抓握位置R(X(R2),Y(R2),Z(R2)),231R。
即,使用以下的计算式(计算式1)和(计算式2)来计算校正目标抓握位置L和R。
校正目标抓握位置L((X(L2),Y(L2),Z(L2))
=((lx)·(X(bb2)),(ly)·(Y(bb2)),(lz)·(Z(bb2)))...(计算式1)
校正目标抓握位置R((X(R2),Y(R2),Z(R2))
=((rx)·(X(bb2)),(ry)·(Y(bb2)),(rz)·(Z(bb2)))...(计算式2)
通过这两个计算式(计算式1)和(计算式2)来计算校正目标抓握位置L和R。
通过上述处理,抓握位置计算单元113执行计算校正目标抓握位置的处理,该校正目标抓握位置是目标抓握位置相对于图6流程的步骤S123中由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的相对位置。
通过该处理设置的由手部摄像装置132捕获的图像中的校正目标抓握位置是分别与用户在观看由俯瞰摄像装置122捕获的图像时设置的目标抓握位置对应的位置。
因此,机器人控制装置100通过观察由手部摄像装置132捕获的图像并且使手部的夹持器与校正目标抓握位置接触,能够稳定地抓握对象50,以执行抓握对象50的处理,该校正目标抓握位置是目标抓握位置相对于由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的相对位置。
如上所述,本公开内容的机器人控制装置100在由不同摄像装置捕获的图像中,生成如下两个要抓握对象包围盒(边界盒),即,
(a)由俯瞰摄像装置捕获的图像中的要抓握对象的要抓握对象包围盒(边界盒),
(b)由手部摄像装置捕获的图像中的要抓握对象的要抓握对象包围盒(边界盒);
使每个包围盒(边界盒)与每个抓握位置的相对位置一致,从而计算用户设置的目标抓握位置对应于由手部摄像装置捕获的图像中包括的要抓握对象的哪个位置。
该计算出的位置被定义为校正目标抓握位置。
控制信息生成单元114生成用于使机器人的手抓握由抓握位置计算单元113计算出的“校正目标抓握位置”的控制信息。该控制信息被输出到机器人移动单元140的驱动单元141以及机器人手部单元130的驱动单元131。
机器人移动单元140的驱动单元141以及机器人手部单元130的驱动单元131根据由控制信息生成单元114生成的控制信息(即,使机器人的手抓握由抓握位置计算单元113计算出的“校正目标抓握位置”的控制信息)来执行驱动处理。
通过该驱动处理,机器人的手可以抓握“校正目标抓握位置”。
“校正目标抓握位置”是与用户在观看鸟瞰图像时指定的目标抓握位置一致的抓握位置,并且是设置在由手部摄像装置捕获的图像中包括的要抓握对象设置上的抓握位置。由于机器人的手抓握设置在由手部摄像装置捕获的图像中包括的要抓握对象上的校正目标抓握位置,因此能够稳定地抓握要抓握对象。
[5.关于本公开内容的机器人控制装置的修改示例和应用示例]
接下来,将描述本公开内容的上述机器人控制装置的修改示例和应用示例。
将依次描述以下项目的修改示例和应用示例。
(1)关于图6所示流程的处理过程
(2)关于图6所示流程的步骤S111中的处理
(3)关于图6所示流程的步骤S112中的处理
(4)关于图6所示流程的步骤S113中的处理以及后续步骤
(5)关于图6所示流程的步骤S114和步骤S123中的处理
(1)关于图6所示流程的处理过程
如上所述,图6所示的流程中的步骤S111至S114的处理是基于由机器人头部单元120的俯瞰摄像装置122捕获的图像(包括距离图像)来执行的处理。
另一方面,图6所示流程中的步骤S121至S123中的处理是基于由机器人手部单元130的手部摄像装置132捕获的图像(包括距离图像)来执行的处理。
在这些处理中,基于由俯瞰摄像装置122捕获的图像(包括距离图像)来执行的步骤S111至S114中的处理与基于由手部摄像装置132捕获的图像(包括距离图像)来执行的步骤S121至S122中的处理可以并行执行。
此外,步骤S121至S122中的处理可以在步骤S111至S114中的处理结束之后执行。
然而,步骤S123中的处理是在基于由俯瞰摄像装置122捕获的图像(包括距离图像)来执行的步骤S121至S122中的处理以及基于由手部摄像装置132捕获的图像(包括距离图像)来执行的步骤S111至S114中的处理结束之后执行的。
处理过程优选地被设置为使得作为要抓握对象的对象50可以在俯瞰摄像装置122和手部摄像装置132的捕获图像中被可靠地观察到。
例如,通过控制处理过程,可以避免由于俯瞰摄像装置122的视角被诸如臂或手的部位遮挡而造成的在要抓握对象中出现遮挡的状态下进行处理。
(2)关于图6所示流程的步骤S111中的处理
在图6所示的流程的步骤S111中,执行使用由俯瞰摄像装置捕获的图像和目标抓握位置的指定信息来输入要抓握对象的指定信息的处理。
即,如以上参照图7所述,用户在使用输入/输出单元(用户终端)180观看由俯瞰摄像装置捕获的图像时输入要抓握对象的指定信息以及目标抓握位置的指定信息。
尽管配置成输入对象周围的矩形区域是要抓握对象的指定的输入,但这仅仅是示例,并且例如,可以配置成执行触摸对象的一部分的处理或者指定各种对象的处理,如作为本申请人的在先专利申请的专利文献2(日本专利申请公开第2013-184257号)中所述。
此外,可以在通过作为机器学习处理的深度学习执行对象检测(R-CNN、YOLO、SSD等)之后执行用户选择与对象对应的矩形的处理。
此外,可以应用通过语义分割以像素为单位提取对象并且允许用户选择对象的方法。
另外,在已经确定了目标抓握位置的情况下,可以配置成执行自动选择最接近目标抓握位置的对象的处理。
另外,作为确定目标抓握位置的方法,可以不直接确定位置和定向,而是用户仅指定要抓握对象,并且通过执行抓握计划来自主确定目标抓握位置。
(3)关于图6所示流程的步骤S112中的处理
在图6所示的流程的步骤S112中,进行如下处理:执行在由俯瞰摄像装置捕获的图像中提取要抓握对象的点云的处理。
该处理被执行为提取与用户指定的矩形区域对应的对象点云的处理,如上面参照图8所述。
与步骤S111中的指定要抓握对象的处理类似,该点云提取处理也可以通过应用诸如基于min-cut的分割的前景提取来执行。
注意,在这种情况下,可以通过基于表示由用户指示的对象的点云的某个点或者与矩形区域的中心对应的点以及预先设置的抓握对象的大致尺寸,执行前景提取来粗略地去除不相关的点云。
(4)关于图6所示的流程的步骤S113以及后续步骤中的处理
尽管已经描述了在图6所示流程的步骤S113以及后续步骤中的处理中使用夹持器型手部作为机器人的手的形状的实施方式,但是可以计算与目标抓握位置对应的校正目标抓握位置,并且通过根据手的形状(例如,包括三个或更多个手指的手和抽吸式手的其他类型)定义手的代表点,与上述实施方式类似地执行稳定抓握处理。
例如,在五个手指的手中,准备各个手指的接触点的五个目标抓握位置,并且针对所有点计算分别在由俯瞰摄像装置捕获的图像以及由手部摄像装置捕获的图像中设置的相对于包围盒(边界盒)的相对位置。通过这样的处理,能够计算与和五个手指的手的各个手指的接触点对应的目标抓握位置对应的校正目标抓握位置。
(5)关于图6所示流程的步骤S114和步骤S123中的处理
在图6所示流程的步骤S114和S123中,如上面参照图15和图17描述的,已经针对所有的x、y和z坐标执行了计算相对位置关系的处理,作为计算要抓握对象的包围盒(边界盒)与抓握位置之间的相对位置关系的处理。
此外,在步骤S123中,通过应用由俯瞰摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)与目标抓握位置之间的相对位置关系,执行计算校正目标抓握位置(即目标抓握位置相对于由手部摄像装置捕获的图像中的要抓握对象的包围盒(边界盒)的相对位置)的处理。
然而,例如,在由于俯瞰摄像装置与手部摄像装置之间的视点不同而在包围盒(边界盒)之间存在具有明显不同形状的部件的情况下,可以配置成不执行计算部件的校正目标抓握位置的处理,而是执行仅计算包围盒(与手部摄)之间具有相似形状的部件的处理。例如,在期望校正对象在y方向上的偏移以将对象放入手中以使夹持器可以夹住对象的情况下,仅需要仅计算y分量。另外,在希望反映用户的将在尽可能高的部分握持要抓握对象的指示的情况下,可以执行优先计算z分量的处理。
[6.关于本公开内容的机器人控制装置的硬件配置示例]
接下来,将描述本公开内容的机器人控制装置的硬件配置的示例。
上述实施方式中描述的机器人控制装置可以被配置成为与机器人自身不同的装置,此外,还可以配置成机器人内部的装置。
例如,机器人控制装置也可以使用诸如PC的信息处理装置来实现。
将参照图18描述构成本公开内容的机器人控制装置的信息处理装置的配置示例。
中央处理单元(CPU)301充当根据存储在只读存储器(ROM)302或存储单元308中的程序来执行各种处理的控制单元或数据处理器。例如,执行根据上述实施方式中描述的序列的处理。CPU 301要执行的程序、数据等被存储在随机存取存储器(RAM)303中。CPU 301、ROM 302和RAM 303经由总线304相互连接。
CPU 301经由总线304连接到输入/输出接口305。包括各种开关、键盘、鼠标、麦克风和传感器的输入单元306和包括显示器和扬声器的输出单元307连接到输入/输出接口305。CPU 301响应于从输入单元306输入的指令执行各种处理,并且例如,将处理结果输出到输出单元307。
例如,连接到输入/输出接口305的存储单元308使用硬盘来配置,并且存储要由CPU 301执行的程序和各种类型的数据。通信单元309充当Wi-Fi通信、蓝牙(注册商标)(BT)通信以及经由诸如因特网和局域网的网络的其他数据通信的发送/接收单元,并且与外部装置通信.
连接到输入/输出接口305的驱动器310驱动诸如磁盘、光盘、磁光盘和诸如存储卡的半导体存储器的可移动介质311,并且执行数据记录或读取。
[7.本公开内容的配置的概要]
已经参照具体实施方式详细描述了本公开内容的实施方式。然而,不言而喻,本领域技术人员可以在不脱离本公开内容的主旨的范围内对实施方式进行修改和替换。换言之,本发明已经以示例的形式公开,并且不应被限制性地解释。为了确定本公开内容的主旨,应考虑权利要求的范围。
注意,本说明书中公开的技术可以具有以下配置。
(1)一种机器人控制装置,包括:
包围盒生成单元,其生成包围由安装在机器人上的第一摄像装置捕获的图像中包括的要抓握对象的第一摄像装置参考包围盒、以及包围由安装在所述机器人上的第二摄像装置捕获的图像中包括的要抓握对象的第二摄像装置参考包围盒;
抓握位置计算单元,其计算由所述第一摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于所述第一摄像装置参考包围盒的相对位置,基于计算出的相对位置计算由所述第二摄像装置捕获的图像中的相对于所述第二摄像装置参考包围盒的目标抓握位置,并且将计算出的目标抓握位置设置为由所述第二摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置;以及
控制信息生成单元,其生成用于使所述机器人的手抓握由所述第二摄像装置捕获的图像中的校正目标抓握位置的控制信息。
(2)根据(1)所述的机器人控制装置,其中,所述第一摄像装置是捕获鸟瞰图像的俯瞰摄像装置,并且
所述第二摄像装置是从执行抓握所述要抓握对象的处理的手或者靠近所述手的位置捕获图像的手部摄像装置。
(3)根据(2)所述的机器人控制装置,其中,所述第一摄像装置是安装在所述机器人的头部上并且从头部捕获鸟瞰图像的俯瞰摄像装置。
(4)根据(1)至(3)中任一项所述的机器人控制装置,其中,
所述目标抓握位置是由观看用于显示由所述第一摄像装置捕获的图像的显示单元的图像的用户指定的抓握位置。
(5)根据(4)所述的机器人控制装置,其中,
所述目标抓握位置是由观看用于显示由所述第一摄像装置捕获的图像的显示单元的图像的用户确定为能够稳定地抓握所述要抓握对象的位置的抓握位置。
(6)根据(1)至(5)中任一项所述的机器人控制装置,还包括:
点云提取单元,其执行用于提取指示在由所述第一摄像装置捕获的图像以及由所述第二摄像装置捕获的图像中包括的所述要抓握对象的三维点云的处理。
(7)根据(6)所述的机器人控制装置,其中,
所述包围盒生成单元生成包围由所述点云提取单元生成的三维点云的包围盒。
(8)根据(6)或者(7)所述的机器人控制装置,其中,
所述包围盒生成单元生成下述边界盒:该边界盒是包围由所述点云提取单元生成的三维点云的长方体形状的包围盒。
(9)根据(1)至(8)中任一项所述的机器人控制装置,其中,
所述包围盒生成单元将由所述第一摄像装置捕获的图像中的所述第一摄像装置参考包围盒以及由所述第二摄像装置捕获的图像中的所述第二摄像装置参考包围盒生成为具有相同形状的包围盒。
(10)根据(1)至(9)中任一项所述的机器人控制装置,其中,
所述包围盒生成单元生成具有平行于竖直平面的边的包围盒,所述竖直平面垂直于所述机器人的手相对于要抓握对象的接近方向。
(11)根据(1)至(10)中任一项所述的机器人控制装置,其中,
在存在支承所述要抓握对象的支承平面的情况下,所述包围盒生成单元生成具有所述支承平面作为构成平面的包围盒。
(12)根据(1)至(11)中任一项所述的机器人控制装置,其中,
在不存在支承所述要抓握对象的支承平面的情况下,所述包围盒生成单元生成具有投影平面作为构成平面的包围盒,所述投影平面是通过将所述要抓握对象投影到平行于所述机器人的手的接近方向的竖直平面上来生成的。
(13)一种在机器人控制装置中执行的机器人控制方法,所述机器人控制方法包括:
包围盒生成步骤:由包围盒生成单元生成包围由安装在机器人上的第一摄像装置捕获的图像中包括的要抓握对象的第一摄像装置参考包围盒、以及包围由安装在所述机器人上的第二摄像装置捕获的图像中包括的要抓握对象的第二摄像装置参考包围盒;
抓握位置计算步骤:由抓握位置计算单元计算由所述第一摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于所述第一摄像装置参考包围盒的相对位置,基于计算出的相对位置计算由所述第二摄像装置捕获的图像中的相对于所述第二摄像装置参考包围盒的目标抓握位置,并且将计算出的目标抓握位置设置为由所述第二摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置;以及
控制信息生成步骤:由控制信息生成单元生成用于使所述机器人的手抓握由所述第二摄像装置捕获的图像中的校正目标抓握位置的控制信息。
(14)一种程序,其被配置成在机器人控制装置中执行机器人控制处理,所述程序包括:
包围盒生成步骤:使包围盒生成单元生成包围由安装在机器人上的第一摄像装置捕获的图像中包括的要抓握对象的第一摄像装置参考包围盒、以及包围由安装在所述机器人上的第二摄像装置捕获的图像中包括的要抓握对象的第二摄像装置参考包围盒;
抓握位置计算步骤:使抓握位置计算单元计算由所述第一摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于所述第一摄像装置参考包围盒的相对位置,基于计算出的相对位置计算由所述第二摄像装置捕获的图像中的相对于所述第二摄像装置参考包围盒的目标抓握位置,并且将计算出的目标抓握位置设置为由所述第二摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置;以及
控制信息生成步骤:使控制信息生成单元生成用于使所述机器人的手抓握由所述第二摄像装置捕获的图像中的校正目标抓握位置的控制信息。
注意,说明书中描述的一系列处理可以通过硬件、软件或者两者的复杂配置来执行。在使用软件执行处理的情况下,可以通过将记录处理序列的程序安装在内置于专用硬件的计算机中的存储器上或者通过将程序安装在可以执行各种处理的通用计算机中来执行处理。例如,可以将程序预先记录在记录介质中。除了从记录介质安装到计算机上之外,还可以经由诸如局域网(LAN)和互联网的网络接收程序,并且将接收到的程序安装在诸如内置在硬盘的记录介质上。
此外,说明书中描述的各种处理不仅根据描述以时序方式执行,而且还可以根据执行处理的装置的处理性能或需要来并行或单独执行。此外,本说明书中的术语“系统”是指多个装置的逻辑集合配置,并且不限于将各个配置的装置设置在同一壳体中的系统。
工业适用性
根据本公开内容的实施方式的配置,如上所述实现了能够可靠地执行由机器人执行的对象抓握处理的装置和方法。
具体地,例如,生成包围由安装在机器人上的俯瞰摄像装置捕获的图像中的包括要抓握对象的俯瞰摄像装置参考包围盒以及包围由安装在机器人上的手部摄像装置捕获的图像中的包括要抓握对象的手部摄像装置参考包围盒。此外,计算由俯瞰摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于俯瞰摄像装置参考包围盒的相对位置,基于计算出的相对位置来计算相对于由手部摄像装置捕获的图像中的基于手部摄像装置的包围盒的目标抓握位置,并且将计算出的位置设置为由手部摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置。另外,生成用于使机器人的手抓握由手部摄像装置捕获的图像中的校正目标抓握位置的控制信息,并且由机器人执行抓握处理。
根据该配置,实现了能够可靠地执行由机器人执行的对象抓握处理的装置和方法。
附图标记列表
10 机器人
20 头部
21 俯瞰摄像装置
30 手
31 手部摄像装置
50 对象(要抓握对象)
100 机器人控制装置
110 数据处理器
111 要抓握对象点云提取单元
112 要抓握对象包围盒生成单元
113 抓握位置计算单元
114 控制信息生成单元
120 机器人头部
121 驱动单元
122 俯瞰摄像装置
130 机器人手部单元
131 驱动单元
132 手部摄像装置
140 机器人运动单元
141 驱动单元
142 传感器
201 俯瞰摄像装置参考包围盒(边界盒)
211 目标抓握位置
221 手部摄像装置参考包围盒(边界盒)
231 校正目标抓握位置
301 CPU
302 ROM
303 RAM
304 总线
305 输入/输出接口
306 输入单元
307 输出单元
308 存储单元
309 通信单元
310 驱动器
311 可移动介质

Claims (14)

1.一种机器人控制装置,包括:
包围盒生成单元,其生成包围由安装在机器人上的第一摄像装置捕获的图像中包括的要抓握对象的第一摄像装置参考包围盒、以及包围由安装在所述机器人上的第二摄像装置捕获的图像中包括的要抓握对象的第二摄像装置参考包围盒;
抓握位置计算单元,其计算由所述第一摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于所述第一摄像装置参考包围盒的相对位置,基于计算出的相对位置计算由所述第二摄像装置捕获的图像中的相对于所述第二摄像装置参考包围盒的目标抓握位置,并且将计算出的目标抓握位置设置为由所述第二摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置;以及
控制信息生成单元,其生成用于使所述机器人的手抓握由所述第二摄像装置捕获的图像中的校正目标抓握位置的控制信息。
2.根据权利要求1所述的机器人控制装置,其中,
所述第一摄像装置是捕获鸟瞰图像的俯瞰摄像装置,并且
所述第二摄像装置是从执行抓握所述要抓握对象的处理的手或者靠近所述手的位置捕获图像的手部摄像装置。
3.根据权利要求2所述的机器人控制装置,其中,
所述第一摄像装置是安装在所述机器人的头部上并且从头部捕获鸟瞰图像的俯瞰摄像装置。
4.根据权利要求1所述的机器人控制装置,其中,
所述目标抓握位置是由观看用于显示由所述第一摄像装置捕获的图像的显示单元的图像的用户指定的抓握位置。
5.根据权利要求4所述的机器人控制装置,其中,
所述目标抓握位置是由观看用于显示由所述第一摄像装置捕获的图像的显示单元的图像的用户确定为能够稳定地抓握所述要抓握对象的位置的抓握位置。
6.根据权利要求1所述的机器人控制装置,还包括:
点云提取单元,其执行用于提取指示在由所述第一摄像装置捕获的图像以及由所述第二摄像装置捕获的图像中包括的所述要抓握对象的三维点云的处理。
7.根据权利要求6所述的机器人控制装置,其中,
所述包围盒生成单元生成包围由所述点云提取单元生成的三维点云的包围盒。
8.根据权利要求6所述的机器人控制装置,其中,
所述包围盒生成单元生成下述边界盒:该边界盒是包围由所述点云提取单元生成的三维点云的长方体形状的包围盒。
9.根据权利要求1所述的机器人控制装置,其中,
所述包围盒生成单元将由所述第一摄像装置捕获的图像中的所述第一摄像装置参考包围盒以及由所述第二摄像装置捕获的图像中的所述第二摄像装置参考包围盒生成为具有相同形状的包围盒。
10.根据权利要求1所述的机器人控制装置,其中,
所述包围盒生成单元生成具有平行于竖直平面的边的包围盒,所述竖直平面垂直于所述机器人的手相对于要抓握对象的接近方向。
11.根据权利要求1所述的机器人控制装置,其中,
在存在支承所述要抓握对象的支承平面的情况下,所述包围盒生成单元生成具有所述支承平面作为构成平面的包围盒。
12.根据权利要求1所述的机器人控制装置,其中,
在不存在支承所述要抓握对象的支承平面的情况下,所述包围盒生成单元生成具有投影平面作为构成平面的包围盒,所述投影平面是通过将所述要抓握对象投影到平行于所述机器人的手的接近方向的竖直平面上来生成的。
13.一种在机器人控制装置中执行的机器人控制方法,所述机器人控制方法包括:
包围盒生成步骤:由包围盒生成单元生成包围由安装在机器人上的第一摄像装置捕获的图像中包括的要抓握对象的第一摄像装置参考包围盒、以及包围由安装在所述机器人上的第二摄像装置捕获的图像中包括的要抓握对象的第二摄像装置参考包围盒;
抓握位置计算步骤:由抓握位置计算单元计算由所述第一摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于所述第一摄像装置参考包围盒的相对位置,基于计算出的相对位置计算由所述第二摄像装置捕获的图像中的相对于所述第二摄像装置参考包围盒的目标抓握位置,并且将计算出的目标抓握位置设置为由所述第二摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置;以及
控制信息生成步骤:由控制信息生成单元生成用于使所述机器人的手抓握由所述第二摄像装置捕获的图像中的校正目标抓握位置的控制信息。
14.一种程序,其被配置成在机器人控制装置中执行机器人控制处理,所述程序包括:
包围盒生成步骤:使包围盒生成单元生成包围由安装在机器人上的第一摄像装置捕获的图像中包括的要抓握对象的第一摄像装置参考包围盒、以及包围由安装在所述机器人上的第二摄像装置捕获的图像中包括的要抓握对象的第二摄像装置参考包围盒;
抓握位置计算步骤:使抓握位置计算单元计算由所述第一摄像装置捕获的图像中的要抓握对象的目标抓握位置相对于所述第一摄像装置参考包围盒的相对位置,基于计算出的相对位置计算由所述第二摄像装置捕获的图像中的相对于所述第二摄像装置参考包围盒的目标抓握位置,并且将计算出的目标抓握位置设置为由所述第二摄像装置捕获的图像中包括的要抓握对象的校正目标抓握位置;以及
控制信息生成步骤:使控制信息生成单元生成用于使所述机器人的手抓握由所述第二摄像装置捕获的图像中的校正目标抓握位置的控制信息。
CN202180048383.8A 2020-07-16 2021-06-28 机器人控制装置、机器人控制方法和程序 Pending CN115776930A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020121860 2020-07-16
JP2020-121860 2020-07-16
PCT/JP2021/024349 WO2022014312A1 (ja) 2020-07-16 2021-06-28 ロボット制御装置、およびロボット制御方法、並びにプログラム

Publications (1)

Publication Number Publication Date
CN115776930A true CN115776930A (zh) 2023-03-10

Family

ID=79555257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180048383.8A Pending CN115776930A (zh) 2020-07-16 2021-06-28 机器人控制装置、机器人控制方法和程序

Country Status (5)

Country Link
US (1) US20230347509A1 (zh)
EP (1) EP4173776A4 (zh)
JP (1) JPWO2022014312A1 (zh)
CN (1) CN115776930A (zh)
WO (1) WO2022014312A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11911921B1 (en) * 2022-08-10 2024-02-27 Wilder Systems Inc. Training of artificial intelligence model
WO2024062535A1 (ja) * 2022-09-20 2024-03-28 ファナック株式会社 ロボット制御装置
WO2024159043A1 (en) * 2023-01-25 2024-08-02 Wilder Systems Inc. Use of artificial intelligence models to identify fasteners and perform related operations
CN117067218B (zh) * 2023-10-13 2024-04-05 宁德时代新能源科技股份有限公司 电芯抓取系统及其控制方法、产线模块

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0926812A (ja) * 1995-07-11 1997-01-28 Hitachi Zosen Corp 作業用ロボット装置におけるncデータの作成方法
JP4001105B2 (ja) * 2003-12-11 2007-10-31 トヨタ自動車株式会社 ロボットによる任意形状物体の把持方法
JP2007319938A (ja) 2006-05-30 2007-12-13 Toyota Motor Corp ロボット装置及び物体の三次元形状の取得方法
JP2009269110A (ja) * 2008-05-02 2009-11-19 Olympus Corp 組立装置
US8781629B2 (en) * 2010-09-22 2014-07-15 Toyota Motor Engineering & Manufacturing North America, Inc. Human-robot interface apparatuses and methods of controlling robots
JP2013184257A (ja) * 2012-03-08 2013-09-19 Sony Corp ロボット装置及びロボット装置の制御方法、並びにコンピューター・プログラム
US8996167B2 (en) * 2012-06-21 2015-03-31 Rethink Robotics, Inc. User interfaces for robot training
US9802317B1 (en) * 2015-04-24 2017-10-31 X Development Llc Methods and systems for remote perception assistance to facilitate robotic object manipulation

Also Published As

Publication number Publication date
WO2022014312A1 (ja) 2022-01-20
US20230347509A1 (en) 2023-11-02
EP4173776A4 (en) 2023-12-27
EP4173776A1 (en) 2023-05-03
JPWO2022014312A1 (zh) 2022-01-20

Similar Documents

Publication Publication Date Title
CN111482959B (zh) 机器人运动视觉系统的自动手眼标定系统与方法
CN115776930A (zh) 机器人控制装置、机器人控制方法和程序
US8244402B2 (en) Visual perception system and method for a humanoid robot
EP3392002A1 (en) Information processing apparatus, measuring apparatus, system, interference determination method, and article manufacturing method
JP5835926B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
CN111615443B (zh) 信息处理装置、信息处理方法和信息处理系统
EP3782119B1 (en) Detection, tracking and 3d modeling of objects with sparse rgb-d slam and interactive perception
US9844881B2 (en) Robotic device including machine vision
Melchiorre et al. Collison avoidance using point cloud data fusion from multiple depth sensors: a practical approach
JP2011027724A (ja) 3次元計測装置、その計測方法及びプログラム
JP2020163502A (ja) 物体検出方法、物体検出装置およびロボットシステム
CN115070781A (zh) 一种物体抓取方法及双机械臂协作系统
JP7323993B2 (ja) 制御装置、ロボットシステム、制御装置の動作方法及びプログラム
KR102565444B1 (ko) 객체를 식별하기 위한 장치 및 방법
Kanellakis et al. Guidance for autonomous aerial manipulator using stereo vision
JP7439410B2 (ja) 画像処理装置、画像処理方法およびプログラム
US12036663B2 (en) Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system
CN116901054A (zh) 识别位置姿态的方法、系统以及存储介质
US20220274257A1 (en) Device and method for controlling a robot for picking up an object
Niu et al. Eye-in-hand manipulation for remote handling: Experimental setup
Franceschi et al. Combining visual and force feedback for the precise robotic manipulation of bulky components
CN117794704A (zh) 机器人控制设备、机器人控制系统以及机器人控制方法
Park et al. Robot-based Object Pose Auto-annotation System for Dexterous Manipulation
US20240037848A1 (en) Systems, methods, and computer program products for implementing object permanence in a simulated environment
US20240262635A1 (en) Conveyance system for moving object based on image obtained by image capturing device

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