机器人设置设备、机器人设置方法和计算机可读记录介质与流程

文档序号:15448248发布日期:2018-09-14 23:37阅读:231来源:国知局

本发明涉及机器人设置设备、机器人设置方法、机器人设置程序、计算机可读记录介质和用于存储程序的设备,并且特别地涉及用于控制机器人的机器人设置设备、机器人设置方法、机器人设置程序、计算机可读记录介质和用于存储程序的设备,其中在该机器人中,利用传感器单元测量作为堆放在作业空间中的拾取对象的多个工件各自的三维形状,并且进行用于利用机器人的臂部的末端所设置的末端执行器来顺次地抓住并取出工件的散堆拾取操作。



背景技术:

开发了如下的机器人装置,其中该机器人装置具有与机器人视觉组合的操纵器,可以以机器人视觉对对象工件摄像使得获取到高度信息,可以抓取(拾取)工件的适当位置,并且可以将工件放置于期望位置。通过使用这种机器人装置,进行被称为散堆拾取的操作,其中在该操作中,利用形成机器人视觉的照相机或传感器单元对放入可回收箱中的多个工件摄像,使得理解这些工件的姿势并由此理解适当的抓取位置,然后使机器人的臂部移动到抓取位置,并且利用臂部的末端所设置的诸如手部等的末端执行器来抓取工件,且该工件被放置于可回收箱外的所确定的位置。

在使用这种机器人视觉的散堆拾取中,将抓住工件时的工件和机器人之间的位置关系登记为抓取位置,计算机器人针对以机器人视觉所检测到的工件的抓取位置,并且使机器人移动到所计算出的位置,使得拾取工件。

这里,作为登记利用末端执行器对工件的抓取位置的方法,存在通过实际操作机器人来登记抓取位置的方法、或者通过使末端执行器模型在三维cad数据所表示的虚拟空间上移动来登记抓取位置的方法。

然而,在通过实际操作机器人来登记抓取位置的方法中,存在以下问题:登记作业需要通过实际使机器人移动来进行,由此需要时间,并且需要大规模的验证环境或者反复试验的周期需要时间。

另一方面,在通过使机器人模型在使用三维cad数据所构建的虚拟空间上进行工作来登记抓取位置的方法中,可以在无需实际的机器人装置的情况下登记抓取位置。然而,在该方法中,需要使末端执行器模型的三维姿势与工件模型的三维姿势精确对准,因而存在如下缺陷:难以进行诸如三维坐标的定位等的设置。该方法需要工件和末端执行器的三维cad数据,因而存在如下问题:在三维cad数据不可用的状态下不能进行设置。

现有技术的示例包括日本专利3782679和日本专利4962123。



技术实现要素:

本发明是有鉴于这些情形而作出的,并且本发明的目的是提供能够在设置机器人装置时容易地登记利用末端执行器对工件的抓取位置的机器人设置设备、机器人设置方法、机器人设置程序、计算机可读记录介质和用于存储程序的设备。

根据本发明的第一方面,提供一种机器人设置设备,用于控制用以进行散堆拾取操作的机器人的操作,其中所述散堆拾取操作用于利用所述机器人的臂部的末端所设置的末端执行器来顺次地取出堆放在作业空间中的多个工件,所述机器人设置设备包括:工件模型登记单元,用于登记表示工件的三维形状的工件模型;显示单元,用于显示所述工件模型登记单元所登记的工件模型;定位单元,用于在所述显示单元上所显示的虚拟三维空间上定位所述工件模型的位置和姿势;以及抓取位置指定单元,用于将至少三个高度图像作为基本方向图像显示在所述显示单元上,并且针对所显示的基本方向图像至少之一,指定利用所述末端执行器抓取由该基本方向图像所表示的工件模型的抓取位置,其中在所述高度图像中,在所述虚拟三维空间上从彼此垂直的三个轴的各轴方向观看所述定位单元所定位的工件模型。利用该结构,将工件模型的各姿势显示为具有不同视点的三个以上的基本方向图像,并且用户可以针对容易地设置抓取位置的任意基本方向图像进行抓取位置设置作业,因而可以容易地进行在现有技术中麻烦的、用于针对三维工件设置利用末端执行器抓取工件的抓取位置的作业。

根据与第二方面有关的机器人设置设备,除该结构外,所述显示单元还可以包括将工件模型的基本方向图像显示为所述工件模型的六面图的六面图显示区域。利用该结构,将工件模型的各姿势显示为六面图,并且用户可以针对容易地设置抓取位置的任意基本方向图像进行抓取位置设置作业,因而可以容易地进行在现有技术中麻烦的抓取位置设置作业。

根据与第三方面有关的机器人设置设备,除这些结构中的任一结构外,所述工件模型可以是三维cad数据。利用该结构,利用具有三维形状信息的三维cad数据来表现工件模型,因而可以在无需通过实际对工件摄像来获取数据的情况下正确地再现工件的形状。

根据与第四方面有关的机器人设置设备,除这些结构中的任一结构外,机器人设置设备还可以包括基本方向图像选择单元,用于针对所述显示单元上所显示的至少三个基本方向图像,选择多个基本方向图像中的观看方式不同于其它基本方向图像的观看方式的任意基本方向图像。利用该结构,例如,删除包括圆柱状工件的顶面和底面的具有相同外观的基本方向图像其中之一,因而可以通过排除不必要的基本方向图像的显示来进一步简化设置作业。

根据与第五方面有关的机器人设置设备,除这些结构中的任一结构外,所述基本方向图像选择单元还可以在所述显示单元上显示至少三个基本方向图像的状态下,允许用户手动地选择基本方向图像。

根据与第六方面有关的机器人设置设备,除这些结构中的任一结构外,在存在观看方式相同的基本方向图像的情况下,所述基本方向图像选择单元可以删除这些基本方向图像中的任意基本方向图像。利用该结构,例如,在如立方体那样的相对面具有相同形状的工件的情况下,可以仅使用从任一面观看到的基本方向图像。因此,可以获得能够排除包括相同形状的基本方向图像的优点,因而可以减少三维搜索的处理负荷。

根据与第七方面有关的机器人设置设备,除这些结构中的任一结构外,机器人设置设备还可以包括搜索模型登记单元,用于将所述基本方向图像中的任一基本方向图像登记为搜索模型,其中所述搜索模型用于对散装装载的多个工件组进行用于指定各工件的位置和姿势的三维搜索。利用该结构,将用于进行三维搜索的搜索模型与用于指定工件模型的抓取位置的基本方向图像共通地登记,因而用户可以实现设置作业的省力化。在实际操作期间,针对为了搜索可以抓取的工件所使用的各基本方向图像,还登记工件的抓取位置。因此,可以防止浪费地搜索不存在抓取位置的基本方向图像,相反,可以检查在所搜索到的基本方向图像中所设置的抓取位置处是否可以进行抓取。结果,可以进行高效率的处理。

根据与第八方面有关的机器人设置设备,除这些结构中的任一结构外,所述搜索模型登记单元还可以将所述基本方向图像选择单元所选择的基本方向图像中的任一基本方向图像登记为用于进行三维搜索的搜索模型。利用该结构,进一步选择由基本方向图像选择单元预先选择的基本方向图像作为搜索模型,因而可以更认真地选择搜索模型选择候选,使得可以更平滑地进行所需的搜索模型的选择。

根据与第九方面有关的机器人设置设备,除这些结构中的任一结构外,所述抓取位置指定单元还可以针对所述搜索模型登记单元登记为搜索模型的基本方向图像,指定利用所述末端执行器抓取工件模型的抓取位置。利用该结构,由于共通地使用搜索模型和指定了抓取位置的工件模型,因此用户可以整体进行针对工件模型的设置,因而可以获得能够容易地理解设置的优点。

根据与第十方面有关的机器人设置设备,除这些结构中的任一结构外,在所述显示单元中在虚拟三维空间上三维地显示虚拟地表现所述末端执行器的三维形状并且由三维cad数据构成的末端执行器模型的状态下,所述抓取位置指定单元可以将所述末端执行器模型被配置成指向下并且工件模型配置于所述末端执行器模型下方的状态作为初始值进行显示。利用该结构,在针对工件模型登记抓取位置的情况下,在工件模型的上方配置抓取工件模型的末端执行器模型。因此,在该状态下使末端执行器模型向下移动,由此用户可以直观地理解末端执行器模型抓取工件模型的操作,由此可以平滑地进行位置登记作业。

根据与第十一方面有关的机器人设置设备,除这些结构中的任一结构外,所述工件模型可以是通过在配置于所述作业空间上方的传感器单元中对工件摄像以测量该工件的三维形状所获取到的实测数据。利用该结构,可以在无需准备工件模型的三维cad数据的情况下表现工件。

根据与第十二方面有关的机器人设置设备,除这些结构中的任一结构外,机器人设置设备还可以包括搜索模型登记单元,用于将所述基本方向图像中的任一基本方向图像登记为搜索模型,其中所述搜索模型用于对散装装载的多个工件组进行用于指定各工件的位置和姿势的三维搜索。利用该结构,将用于进行三维搜索的搜索模型与用于指定工件模型的抓取位置的基本方向图像共通地登记,因而用户可以实现设置作业的省力化。在实际操作期间,针对为了搜索可以抓取的工件所使用的各基本方向图像,还登记工件的抓取位置。因此,可以防止浪费地搜索不存在抓取位置的基本方向图像,相反,可以检查在所搜索到的基本方向图像中所设置的抓取位置处是否可以进行抓取。结果,可以进行高效率的处理。

根据与第十三方面有关的机器人设置设备,除这些结构中的任一结构外,所述抓取位置指定单元还可以针对所述搜索模型登记单元登记为搜索模型的基本方向图像,指定利用所述末端执行器抓取工件模型的抓取位置。利用该结构,由于可以共通地使用搜索模型和指定了抓取位置的工件模型,因此用户可以整体进行针对工件模型的设置,因而可以获得能够容易地理解设置的优点。

根据第十四方面,提供一种机器人设置方法,用于控制用以进行散堆拾取操作的机器人的操作,其中所述散堆拾取操作用于利用所述机器人的臂部的末端所设置的末端执行器来顺次地取出堆放在作业空间中的多个工件,所述机器人设置方法包括以下步骤:输入表示工件的三维形状的工件模型;将所输入的工件模型显示在显示单元上,并且在所述显示单元上所显示的虚拟三维空间上定位所述工件模型的位置和姿势;以及将至少三个高度图像作为基本方向图像显示在所述显示单元上,并且针对所显示的基本方向图像至少之一指定利用所述末端执行器抓取由该基本方向图像所表示的工件模型的抓取位置,其中在所述高度图像中,在所述虚拟三维空间上从彼此垂直的三个轴的各轴方向观看所定位的工件模型。结果,将工件模型的各姿势显示为具有不同视点的三个以上的基本方向图像,并且用户可以针对容易地设置抓取位置的任意基本方向图像进行抓取位置设置作业,因而可以容易地进行在现有技术中麻烦的、用于针对三维工件设置利用末端执行器抓取工件的抓取位置的作业。

根据第十五方面,提供一种机器人设置程序,该机器人设置程序用于控制用以进行散堆拾取操作的机器人的操作,其中所述散堆拾取操作用于利用所述机器人的臂部的末端所设置的末端执行器来顺次地取出堆放在作业空间中的多个工件,所述机器人设置程序使计算机执行以下功能:输入表示工件的三维形状的工件模型;将所输入的工件模型显示在显示单元上,并且在所述显示单元上所显示的虚拟三维空间上定位所述工件模型的位置和姿势;以及将至少三个高度图像作为基本方向图像显示在所述显示单元上,并且针对所显示的基本方向图像至少之一指定利用所述末端执行器抓取由该基本方向图像所表示的工件模型的抓取位置,其中在所述高度图像中,在所述虚拟三维空间上从彼此垂直的三个轴的各轴方向观看所定位的工件模型。结果,将工件模型的各姿势显示为具有不同视点的三个以上的基本方向图像,并且用户可以针对容易地设置抓取位置的任意基本方向图像进行抓取位置设置作业,因而可以容易地进行在现有技术中麻烦的、用于针对三维工件设置利用末端执行器抓取工件的抓取位置的作业。

根据第十六方面,提供一种用于记录程序的计算机可读记录介质或用于存储程序的设备。记录介质包括诸如cd-rom、cd-r、cd-rw或软盘、磁带、mo、dvd-rom、dvd-ram、dvd-r、dvd+r、dvd-rw、dvd+rw、蓝光盘(blu-ray)或hddvd(aod)等的磁盘、光盘、磁光盘和半导体存储器、以及可以存储程序的其它介质。另外,程序可以存储在记录介质中以供分发,并且还可以经由诸如因特网等的网络线路下载以供分发。用于存储程序的设备包括程序以采用软件或固件的形式可执行的状态安装的通用或专用设备。程序中所包括的各处理或功能可以由计算机可执行的程序软件来执行,并且各单元的处理可以通过诸如预定门阵列(fpga或asic)等的硬件、或者采用程序软件与实现硬件的一部分元件的部分软件模块混合的形式来实现。

附图说明

图1是示出通过使用机器人系统来进行散堆拾取操作的状态的示意图;

图2是机器人系统的框图;

图3是示出传感器单元的示例的立体图;

图4a是示出工件放入储存容器中并随机堆放的示例的示意截面图;

图4b是示出工件堆放在地面上的示例的示意截面图;

图4c是示出工件以预定姿势排列在托盘上的状态的斜视图;

图5a是示出利用末端执行器抓取工件的示例的示意图;

图5b是示出从具有空腔的工件的内表面抓取工件的示例的示意图;

图5c是示出吸引并抓取板状工件的示例的示意图;

图6是示出根据实施方式1的机器人系统的框图;

图7是示出利用三维cad数据所构建的工件模型的立体图;

图8是示出针对图7所示的工件模型设置搜索模型的原点的状态的图像图;

图9a是从x轴的正方向观看图7的工件模型的基本方向图像;

图9b是从y轴的正方向观看图7的工件模型的基本方向图像;

图9c是从z轴的正方向观看图7的工件模型的基本方向图像;

图9d是从z轴的负方向观看图7的工件模型的基本方向图像;

图10是示出用于登记基本方向图像作为三维搜索的搜索模型的搜索模型登记画面的图像图;

图11是示出从x轴的正方向对与图7的工件模型相对应的工件进行摄像的实测数据的图像图;

图12a是示出在图9a的从x轴方向观看到的图像中提取特征点的状态的图像图;

图12b是示出图12a的图像以三维方式显示的状态的图像图;

图13a是示出工件组以二维方式显示的输入图像的图像图;

图13b是示出图13a的图像以三维方式显示的输入图像的图像图;

图13c是示出对图13a的图像进行三维搜索的状态的图像图;

图13d是示出图13c的图像以三维方式显示的状态的图像图;

图14是示出抓取登记画面的用户界面画面的图像图;

图15是示出抓取姿势添加画面的图像图;

图16a是示出多个立方体状的工件散装装载的状态的图像图;

图16b是示出将工件模型登记在搜索模型中的状态的图像图;

图16c是示出在图16b的工件模型中登记抓取姿势的状态的图像图;

图17是示出根据实施方式2的机器人系统的功能框图;

图18是示出在根据z-y-x系统的欧拉角使末端执行器模型转动之前的状态的图像图;

图19是示出从图18起绕z轴转动了90°的状态的图像图;

图20是示出从图19起绕y轴转动了90°的状态的图像图;

图21是示出从图20起绕x轴转动了90°的状态的图像图;

图22是示出图21所示的状态中的ry或rz的转动轴的图像图;

图23是示出在图22所示的状态下显示rz的校正转动轴的状态的图像图;

图24是示出在图22所示的状态下显示ry的校正转动轴的状态的图像图;

图25是示出在图22所示的状态下显示rx的校正转动轴的状态的图像图;

图26是示出根据实施方式3的机器人系统的框图;

图27是示出在实际操作之前进行的教导作业的过程的流程图;

图28是示出登记三维cad数据作为搜索模型的过程的流程图;

图29是示出登记末端执行器模型的过程的流程图;

图30是示出登记添加有附加区域的末端执行器模型的过程的流程图;

图31是示出根据实施方式4的机器人系统的框图;

图32是示出附加区域设置画面的图像图;

图33是示出基本图形编辑画面的图像图;

图34是示出登记利用末端执行器抓取工件的抓取位置和姿势的过程的流程图;

图35a是由三维cad数据构成的工件模型的图像图;

图35b是示出x-y指定画面的图像图;

图36是示出z-rz指定画面的图像图;

图37是示出ry指定画面的图像图;

图38是示出rx指定画面的图像图;

图39是示出位置参数指定画面的图像图;

图40是示出x-y-z指定画面的图像图;

图41是示出在使图35b的工件模型从倾斜方向投影的状态下指定抓取位置的状态的图像图;

图42是示出在三维图像查看器上指定抓取位置的状态的图像图;

图43是示出板状工件的图像图;

图44a是表示图43的工件的工件模型的平面图;

图44b是该工件模型的底视图;

图44c是该工件模型的前视图;

图44d是该工件模型的后视图;

图44e是该工件模型的右侧视图;

图44f是该工件模型的左侧视图;

图45是示出对通过对工件组摄像所获得的点组数据进行三维搜索的结果的图像图,其中在该工件组中,多个图43的工件散装装载;

图46是示出通过使用z-y-x系统的欧拉角来表示工件的姿势的示例的示意图;

图47是示出搜索模型登记画面的图像图;

图48是示出针对设置了姿势限制的搜索模型的登记过程的流程图;

图49是示出倾斜角/转动角设置画面的图像图;

图50a是示出登记期间的工件的姿势的图像图;

图50b是示出输入图像的姿势的图像图;

图50c是示出倾斜角的图像图;

图51a是示出登记期间的工件的姿势的图像图;

图51b是示出输入图像的姿势的图像图;

图51c是示出转动角的图像图;

图52是示出基于三维姿势来获得倾斜角和转动角的过程的流程图;

图53a是示出登记搜索模型时的工件的姿势的图像图;

图53b是示出输入图像的姿势的图像图;

图53c是示出获得倾斜角的状态的图像图;

图54a是示出在图53c的搜索模型中显示转动轴的状态的图像图;

图54b是示出图54a的z’轴三维地转动以与z轴一致的状态的图像图;

图55a是示出登记期间的工件的姿势的图像图;

图55b是示出图54b的倾斜被去除的状态的图像图;

图55c是示出获得图55b的从z垂直方向观看时的转动角作为转动角的状态的图像图;

图56是示出末端执行器安装位置设置画面的图像图;

图57是示出抓取位置指定画面的图像图;

图58是示出多抓取位置选择画面的图像图;

图59是示出末端执行器安装位置校正画面的图像图;

图60是示出自动校正末端执行器安装位置的过程的流程图;

图61是示出末端执行器摄像画面的图像图;

图62是示出登记实测数据作为搜索模型的过程的流程图;

图63是示出用于判断在实际操作期间针对各工件的抓取解的有无的过程的流程图;

图64是示出在根据图48的过程登记搜索模型的状态下进行拾取操作的实际操作期间的过程的流程图;

图65是示出使用截面模型的干扰判断的过程的流程图;

图66是示出末端执行器模型及其基本轴和截面位置的图像图;

图67a~67e是示出图66的截面的图像图;

图68a是示出三维点以及图66的末端执行器模型的基本轴的图像图;

图68b是示出图68a的三维投影点不干扰截面的状态的图像图;

图68c是示出图68a的三维点干扰截面的状态的图像图;

图69是示出使用附加模型的干扰判断的过程的流程图;

图70是示出根据实施方式7的机器人系统的框图;

图71是示出根据实施方式7的判断在实际操作期间针对各工件的抓取解的有无的过程的流程图;

图72是示出工件的示例的立体图;

图73a是从z轴的正方向侧观看图72的工件的高度图像;

图73b是从z轴的负方向侧观看图72的工件的高度图像;

图73c是从x轴的正方向侧观看图72的工件的高度图像;

图73d是从x轴的负方向侧观看图72的工件的高度图像;

图73e是从y轴的正方向侧观看图72的工件的高度图像;

图73f是从y轴的负方向侧观看图72的工件的高度图像;

图74是示出工件选择画面的图像图;

图75是示出选择了抓取ok的抓取解候选显示画面的图像图;

图76是示出选择了抓取ng的抓取解候选显示画面的图像图;

图77是示出选择了抓取ng的抓取解候选显示画面的其它示例的图像图;

图78是示出针对搜索模型的抓取解候选显示画面的示例的图像图;

图79是示出在图78中选择其它抓取位置候选的抓取解候选显示画面的示例的图像图;

图80是示出通过添加抓取位置来获得抓取ok的抓取解候选显示画面的示例的图像图;

图81是示出根据实施方式8的机器人系统的框图;

图82是示出根据实施方式8的登记搜索模型的过程的流程图;

图83a是示出在图73a的基本方向图像中登记抓取姿势的状态的图像图;

图83b是示出在图73b的基本方向图像中登记抓取姿势的状态的图像图;

图83c是示出在图73c的基本方向图像中登记抓取姿势的状态的图像图;

图83d是示出在图73d的基本方向图像中登记抓取姿势的状态的图像图;

图83e是示出在图73e的基本方向图像中登记抓取姿势的状态的图像图;

图83f是示出在图73f的基本方向图像中登记抓取姿势的状态的图像图;

图84是示出工件选择画面的图像图;

图85是示出选择了抓取姿势的抓取解候选显示画面的图像图;

图86是示出选择了抓取姿势的抓取解候选显示画面的图像图;

图87是示出根据实施方式8的在实际操作期间进行三维搜索和能否抓取判断的过程的流程图;

图88是示出根据实施方式9的机器人系统的框图;

图89是示出功能选择画面的图像图;

图90是示出搜索模型登记方法选择画面的图像图;

图91是示出实测数据摄像画面的图像图;

图92是示出搜索模型排除区域设置画面的图像图;

图93是示出转动对称性设置画面的图像图;

图94是示出搜索模型登记画面的图像图;

图95是示出添加有搜索模型的搜索模型登记画面的图像图;

图96是示出搜索区域设置画面的图像图;

图97是示出显示有地面指定对话框的搜索区域设置画面的图像图;

图98是示出显示有地面信息的搜索区域设置画面的图像图;

图99是示出搜索参数设置画面的图像图;

图100是示出显示有检测详细条件设置对话框的搜索参数设置画面的图像图;

图101是示出针对各搜索模型指定的搜索参数设置画面的图像图;

图102是示出搜索模型登记方法选择画面的图像图;

图103是示出cad数据读取画面的图像图;

图104是示出基于三维cad数据的搜索模型登记画面的图像图;

图105是示出显示有转动对称性指定对话框的搜索模型登记画面的图像图;

图106是示出模型列表显示画面的图像图;

图107是示出搜索结果显示画面的图像图;

图108是示出搜索结果显示画面的图像图;

图109是示出搜索结果显示画面的图像图;

图110是示出搜索结果显示画面的图像图;

图111是示出搜索结果显示画面的图像图;

图112是示出搜索结果显示画面的图像图;

图113是示出搜索结果显示画面的图像图;

图114是示出模型编辑画面的图像图;

图115是示出模型区域详细设置画面的图像图;

图116是示出特征详细设置画面的图像图;

图117是示出三维拾取初始设置画面的图像图;

图118是示出末端执行器模型设置画面的图像图;

图119是示出末端执行器模型编辑画面的图像图;

图120是示出零件添加画面的图像图;

图121是示出cad位置和姿势设置画面的图像图;

图122是示出cad位置和姿势设置画面的图像图;

图123是示出cad位置和姿势设置画面的图像图;

图124是示出末端执行器模型编辑画面的图像图;

图125是示出附加区域位置和姿势设置画面的图像图;图126是示出末端执行器模型编辑画面的图像图;

图127是示出末端执行器模型编辑画面的图像图;

图128是示出末端执行器模型编辑画面的图像图;

图129是示出末端执行器模型编辑画面的图像图;

图130是示出末端执行器模型编辑画面的图像图;

图131是示出抓取登记画面的图像图;

图132是示出抓取设置对话框的图像图;

图133是示出设置方法选择对话框的图像图;

图134是示出x-y指定画面的图像图;

图135是示出z-rz指定画面的图像图;

图136是示出z-rz指定画面的图像图;

图137是示出z-rz指定画面的图像图;

图138是示出ry指定画面的图像图;

图139是示出ry指定画面的图像图;

图140是示出rx指定画面的图像图;

图141是示出rx指定画面的图像图;

图142是示出抓取登记画面的图像图;

图143是示出抓取登记画面的图像图;

图144是示出条件验证画面的图像图;

图145是示出验证对话框的图像图;

图146是示出检测结果显示对话框的图像图;

图147是示出检测结果显示对话框的图像图;

图148是示出检测条件详细设置画面的图像图;

图149是示出放置设置画面的图像图;

图150是示出手动进行偏差校正的过程的流程图;

图151是示出在存在不可忽视的偏差的情况下的偏差校正画面的示例的图像图;

图152是示出在存在可以忽视的偏差的情况下的偏差校正画面的示例的图像图;以及

图153是示出具有手动和自动校正偏差的功能的偏差校正画面的示例的图像图。

具体实施方式

以下将参考附图来说明本发明的实施方式。然而,以下所述的实施方式仅是用于体现本发明的技术精神的示例,并且本发明不限于以下的实施方式。在本说明书中,权利要求书中所述的构件未被指定为实施方式中的构件。特别地,关于实施方式中所描述的构成组件的尺寸、材料、形状和相对配置等,除非另外具体陈述,否则本发明的范围并不意图局限于此,并且这些仅是说明示例。为了更好地理解说明,各附图中所示的构件的大小或者这些构件之间的位置关系可能被放大。在以下说明中,相同的名称和附图标记表示相同或等同的构件,因而将适当省略详细说明。构成本发明的各元件可以具有多个元件构成同一构件并且一个构件兼用作多个元件的方面,相反一个构件的功能可以由多个构件分担并实现。

实施方式1

图1示出用于进行拾取对象工件的拾取的机器人系统1000的结构示例作为实施方式1。在该示例中,将说明散堆拾取的示例,其中在该散堆拾取中,通过使用机器人rbt来顺次取出作业空间中所堆放的多个工件wk并且将这些工件wk配置于预定位置。机器人rbt包括还被称为操纵器的臂部arm和臂部arm的末端所设置的末端执行器eet。臂部arm设置有多个可动部,并且基于在两个臂之间所形成的角度或者经由臂支点的转动来使末端执行器eet移动到期望位置。末端执行器eet可以抓取或松开工件wk。

机器人rbt的操作由机器人控制器6控制。机器人控制器6控制臂部arm的移动或者末端执行器eet的开闭操作。机器人控制器6从机器人设置设备100获取机器人rbt的控制所需的信息。例如,利用诸如三维照相机或照明等的传感器单元2获取作为随机地放入储存容器bx中的多个零件的工件wk的三维形状,并且机器人设置设备100的计算单元10检测工件的位置或姿势,并将信息发送至机器人控制器6。机器人控制器6使机器人rbt的臂部arm的末端所设置的末端执行器eet逐一地抓取工件wk,并且将工件wk配置在载物台stg(例如,输送带)上的预定位置处。

图2是示出机器人系统1000的功能框图。图2所示的机器人系统1000包括机器人设置设备100、传感器单元2、显示单元3、操作单元4、机器人主体5、机器人控制器6和机器人操作工具7。

操作单元4进行与图像处理有关的设置。传感器单元2获取通过对工件摄像所获得的三维形状。通过使用显示单元3来确认设置或操作状态。计算单元10进行三维搜索或干扰判断,并且计算抓取解等。另一方面,机器人控制器6根据计算单元10中的结果来控制机器人。机器人操作工具7设置机器人的操作。在图2所示的示例中,操作单元4和机器人操作工具7是单独的构件,但可以集成到一个构件中。

传感器单元2是被称为机器人视觉的构件,并且对作业空间或工件摄像。基于传感器单元2所拍摄到的图像来获得表示散装装载的各工件的三维形状的三维形状数据。获取三维形状的方法包括图案投影法、立体法、镜头焦点法、光切割法、光学雷达法、干涉法和tof法等。在本实施方式中,使用图案投影法内的相位偏移法。

根据测量三维形状的技术来确定传感器单元2的结构。传感器单元2包括照相机、照明或投影仪。例如,在根据相位偏移法来测量工件的三维形状的情况下,如图3所示,传感器单元2包括投影仪prj以及多个照相机cme1、cme2、cme3和cme4。该传感器单元由诸如照相机或投影仪等的多个构件构成,并且还可以通过使这些构件彼此一体化来构成。例如,可以使用通过使照相机或投影仪彼此一体化而具有头状的3d摄像头作为传感器单元。

可以在传感器单元侧生成三维形状数据。在这种情况下,在传感器单元侧设置用于实现生成三维形状数据的功能的图像处理ic等。可选地,可以存在如下结构:三维形状数据不是由机器人设置设备侧生成,而是机器人设置设备对传感器单元侧所拍摄到的图像进行图像处理以生成诸如三维图像等的三维形状数据。

可以基于传感器单元2所拍摄到的图像来进行后面将说明的校准,使得可以使工件wk的实际位置坐标(末端执行器eet的移动位置的坐标)链接至显示单元3上所显示的图像上的位置坐标。

机器人设置设备100基于以上述方式获得的工件的三维形状数据来进行三维搜索、干扰判断和抓取解计算等。作为机器人设置设备100,可以使用安装有专用机器人设置程序的通用计算机、或者专门设计的图像处理控制器或机器人视觉设备。图2所示的示例是传感器单元2或机器人控制器6是以与机器人设置设备100分开的方式配置成的示例,但本发明不限于该结构,并且例如,传感器单元和机器人设置设备可以是一体地形成的,或者机器人控制器可以并入机器人设置设备中。如上所述,图2所示的构件的划分仅是示例,并且多个构件可以彼此一体化。例如,操作机器人设置设备100的操作单元4和操作机器人控制器6的机器人操作工具7可以一体化到一个构件中。

然而,传感器单元2是与机器人主体5分开设置的。换句话说,将本发明应用于在机器人主体5的臂部arm中没有设置传感器单元2的被称为无准备(off-hand)类型的形式。换句话说,本发明不包括末端执行器中设置有传感器单元的被称为现有(on-hand)类型的形式。

显示单元3是用于显示在机器人设置设备100中获取到的工件的三维形状或者确认各种设置或操作状态的构件,并且可以采用液晶监视器、有机el显示器或crt。操作单元4是用于进行诸如图像处理等的各种设置的构件,并且可以采用诸如键盘或鼠标等的输入装置。显示单元3包括触摸面板,因而操作单元和显示单元可以是一体地形成的。

例如,在机器人设置设备100包括安装有机器人设置程序的计算机的情况下,在显示单元3上显示该机器人设置程序的图形用户界面(gui)画面。可以在显示单元3上所显示的gui上进行各种设置,并且可以显示诸如仿真结果等的处理结果。在这种情况下,显示单元3可用作用于进行各种设置的设置单元。

机器人控制器6基于通过传感器单元2中的摄像所获得的信息来控制机器人的操作。机器人操作工具7是用于设置机器人主体5的操作的构件,并且可以采用屏等。

机器人主体5包括可移动的臂部arm和固定至臂部arm的末端的末端执行器eet。机器人主体5由机器人控制器6控制,通过使臂部arm进行工作来拾取单个工件wk,使该工件wk移动至期望位置,并且在该位置处放置并松开该工件wk。为此,在臂部arm的末端设置用于抓取工件wk的末端执行器eet。工件wk所放置的放置位置例如可以是托盘上的位置或输送器上的位置。

如图1所示,多个工件wk随机地储存在诸如可回收箱等的储存容器bx中。传感器单元2配置于在这种作业空间的上方。传感器单元2包括照相机或照明,并且传感器单元2可以测量工件wk的三维形状。机器人控制器6基于传感器单元2测量到的工件wk的三维形状来从多个工件中指定抓取对象工件wk,并且控制机器人抓取该工件wk。使臂部arm进行工作以在抓取工件wk的状态下移动到预定义的放置位置(例如,载物台stg上的预定位置),并且将工件wk以预定姿势放置。换句话说,机器人控制器6利用传感器单元2指定拾取对象工件wk,并且控制机器人的操作,使得末端执行器eet抓取工件wk,并且将工件wk以预定基准姿势放置于放置位置处,然后末端执行器eet开放。

这里,在本说明书中,术语“散堆拾取”不仅表示利用机器人抓取如图4a所示放入储存容器bx中并且随机地堆放的工件wk、并且将这些工件wk放置于预定位置的示例,而且还表示如图4b所示抓取并放置未使用储存容器而堆放在预定区域中的工件wk的示例、或者如图4c所示顺次地抓取并放置以预定姿势配置并堆放的工件wk的示例。工件以重叠方式堆放的状态不是必需的,并且工件随机地放在平面上而没有彼此重叠的状态还被称为散装状态(这是由于与连工件被顺次地拾取并且在拾取结束时没有彼此重叠的情况也被称为散堆拾取的原因相同的原因)。

在图1所示的示例中,传感器单元2固定于作业空间的上方,但还可配置于诸如倾斜位置、侧方位置或下方位置等的任意恒定位置,只要可以在该位置处对作业空间摄像即可。然而,排除了传感器单元配置于诸如臂部arm的上部等的不是固定的可动位置的方面。传感器单元2中的照相机或照明的数量不限于1个,并且可以是多个。传感器单元2或机器人与机器人控制器6之间的连接不限于有线连接,并且可以是无线连接。

术语“工件的抓取”不仅包括如图5a所示夹紧工件wk的外表面的示例,而且还包括如图5b所示末端执行器eet2的爪部插入具有空腔的工件wk2的内部并且张开并由此保持该工件的示例、以及如图5c所示利用末端执行器eet3吸引并保持板状工件wk3的示例。以下将说明从两侧抓住工件的外表面的方面作为工件的抓取的示例。以下将说明散堆拾取操作中的抓取位置的设置(教导作业),其中在该散堆拾取操作中,如图1所示,多个工件随机地储存并堆放在储存容器bx中,末端执行器eet在该状态下逐一地抓取工件wk,并且重复地进行将工件wk放置于放置位置的作业。

在机器人系统1000进行散堆拾取操作的情况下,预先进行包括用于进行散堆拾取操作的设置的教导。具体地,登记要抓取的工件的部位与末端执行器的姿势和抓取位置等之间的关系。这种设置由诸如屏等的机器人操作工具7来进行。

教导作业

图6是包括实现教导抓取位置的功能的机器人设置设备的机器人系统的功能框图。图6所示的机器人系统1000包括机器人设置设备100、显示单元3、操作单元4、传感器单元2和机器人rbt。

传感器单元2三维地测量配置于作业位置处的工件的三维形状。传感器单元2由传感器控制单元2b控制。在该示例中,传感器控制单元2b是与传感器单元2一体地形成的,但可以与传感器单元2分开设置。机器人包括臂部arm和末端执行器eet。机器人由机器人设置设备100控制,并且在抓取位置处抓取工件。这里,利用传感器单元2对以基准姿势抓取工件并且将该工件以基准姿势放置的状态进行摄像,从而进行登记。这里,基准姿势包括工件的位置和姿势。

显示单元

显示单元3将虚拟地表现工件的三维形状的工件模型、或者虚拟地表现末端执行器的三维形状并且由三维cad数据构成的末端执行器模型以三维形状显示在虚拟三维空间中。高度图像是具有高度信息的图像,并且还被称为距离图像等。显示单元3具有将工件模型的基本方向图像显示为六面图的六面图显示区域3a。结果,工件模型的各姿势以六面图显示,可以对容易地设置抓取位置的基本方向图像进行抓取位置设置作业,因而可以容易地进行在现有技术中麻烦的抓取位置设置作业。

操作单元4是用于进行诸如图像处理等的各种设置的构件,并且可以采用诸如键盘或鼠标等的输入装置。显示单元3包括触摸面板,因而操作单元和显示单元可以是一体地形成的。

机器人设置设备100

图6中的机器人设置设备100包括输入图像获取单元2c、存储单元9、计算单元10、输入/输出接口4b、显示接口3f和机器人接口6b。

输入图像获取单元2c基于包含传感器单元2所测量到的多个工件和周边物体的图像来获取包括三维形状的输入图像。包括三维形状的输入图像可以是在传感器单元侧或传感器控制单元侧生成的,或者可以是在机器人设置设备侧(例如,输入图像获取单元)生成的。在图6所示的示例中,设置输入接口,使得机器人设置设备100获取表现出在传感器单元2中获取到的三维形状的输入图像。然而,该结构仅是示例,并且可以读取并获取预先拍摄到的并且保持在诸如记录介质等的存储单元中的输入图像。

存储单元9是用于保持各种设置的构件,并且可以采用非易失性存储器、硬盘或存储介质等。存储单元9用作用于保存工件模型或末端执行器模型的抓取位置的抓取位置保存单元。

输入/输出接口4b连接至诸如键盘或鼠标等的输入装置,并且接收数据的输入。

显示接口3f形成与显示单元的输出接口,并且被控制为显示计算单元10所生成的并且显示在显示单元上的图像数据。

机器人接口6b形成与机器人控制器6的通信接口。

计算单元10

计算单元10包括定位单元8c、基本方向图像生成部8e’、基本方向图像选择部8e、搜索模型选择部8i、工件模型登记部8t、搜索模型登记部8g、末端执行器模型登记部8u、抓取位置指定部8d、末端执行器安装面设置部8f、转动角限制部8h、三维搜索部8k和三维拾取判断部8l。

定位单元8c是用于在虚拟三维空间中调整显示单元3上所显示的工件模型的位置和姿势的构件。

基本方向图像生成部8e’是用于生成至少三个高度图像作为基本方向图像的构件,其中在这三个高度图像中,从在虚拟三维空间中彼此垂直的三个轴的各轴方向上观看由定位单元8c定位在虚拟三维空间中的工件模型。由于如上所述基本方向图像是自动生成的、并且用户不必通过手动地改变工件的方向来单独获取基本方向图像,因此可以获得能够实现抓取位置登记作业的省力化的优点。

基本方向图像选择部8e是如下的构件,其中该构件用于针对显示单元3上所显示的至少三个基本方向图像,选择与观看方式彼此不同的基本方向图像有所不同的多个基本方向图像其中之一。如上所述,删除观看方式相同的面,排除不必要的基本方向图像的显示等,因而可以进一步简化设置作业。例如,删除包括圆柱状工件的具有相同外观的顶面和底面的基本方向图像其中之一。基本方向图像选择部8e可以允许用户在显示单元3上显示至少三个基本方向图像的状态下,手动地选择这些基本方向图像其中至少之一。可选地,基本方向图像选择部可以从至少三个基本方向图像中自动地提取观看方式彼此相同的基本方向图像,并且选择这些基本方向图像其中之一。

搜索模型选择部8i是用于选择要登记为搜索模型的基本方向图像的构件。如后面将说明的,三维搜索所使用的搜索模型和用于指定抓取位置的模型是通用的,因而搜索模型选择部8i和基本方向图像选择部8e可被形成为共通的图像选择部8j。

工件模型登记部8t是用于登记虚拟地表现工件的三维形状的工件模型的构件。这里,例如,工件模型登记部8t使用通过对真实工件摄像所获得的三维点组数据作为工件模型。在这种情况下,工件模型登记部8t将利用传感器单元2或输入图像获取单元2c所获取到的三维点组数据登记为工件模型。可选地,读取单独创建的表示工件的形状的三维cad数据并登记为工件模型。在这种情况下,工件模型登记部8t将经由输入/输出接口4b所输入的三维cad数据登记为工件模型。可选地,可以创建用于仿真工件的三维cad数据并登记为工件模型。在这种情况下,工件模型登记部8t实现简单的三维cad的功能。

搜索模型登记部8g

搜索模型登记部8g是用于登记搜索模型的构件,其中该搜索模型虚拟地表现工件的三维形状,并且用于针对输入图像获取单元2c获取到的输入图像中所包括的多个工件组,进行用于指定各工件的姿势和位置的三维搜索。由于设置有搜索模型登记部8g,因此将用于进行三维搜索的搜索模型与用于指定工件模型的抓取位置的基本方向图像共同地登记,因而用户可以实现设置作业的省力化。在实际操作期间,还针对用于搜索可以抓取的工件的各基本方向图像来登记工件的抓取位置。因此,可以防止浪费地搜索不存在抓取位置的基本方向图像,相反,可以检查在所搜索到的基本方向图像中所设置的抓取位置处是否可以进行抓取。结果,可以高效地进行处理。

优选地,搜索模型登记部8g被配置为选择是否使用基本方向图像选择部8e所选择的基本方向图像作为三维搜索所用的搜索模型。结果,可以选择是否使用基本方向图像作为三维搜索所用的搜索模型,换句话说,可以将不必要的基本方向图像从三维搜索对象中排除,例如排除可能会被误检测为从侧面观看板状工件的图像的基本方向图像。因此,板状工件直立的状态可被设置成不经过三维搜索,因而可以基本上容易地设置针对工件模型的姿势的限制。

搜索模型登记部8g和工件模型登记部8t可以是单独设置的,并且可以是一体设置的。例如,在图6的机器人系统1000中,搜索模型登记部8g和工件模型登记部8t集成到共通的模型登记部8g’中。结果,登记了与单个工件有关的模型,因而该模型可以共通地用于抓取位置的登记和三维搜索所用的搜索模型的登记,因而可以获得能够简化设置的优点。

末端执行器模型登记部8u是用于登记作为三维cad数据并且虚拟地表现末端执行器的三维形状的末端执行器模型的构件。

末端执行器安装面设置部8f是如下的构件,其中该构件用于将末端执行器模型以及使末端执行器模型安装至机器人的臂部的末端所使用的安装面显示在显示单元3上,并且在该安装面显示在显示单元3上的状态下定义末端执行器模型相对于该安装面的姿势。

转动角限制部8h是如下的构件,其中该构件用于针对搜索模型登记部8g所选择的各搜索模型,设置各工件模型的转动所容许的转动角的范围,其中该搜索模型登记部8g将基本方向图像其中之一定义为用于针对散装装载的多个工件组进行用于指定各工件的姿势和位置的三维搜索的搜索模型。

抓取位置指定部8d

抓取位置指定部8d是如下的构件,其中该构件用于在将至少三个基本方向图像显示在显示单元3上的状态下,针对高度图像至少之一指定末端执行器抓取工件模型的抓取位置,其中这些基本方向图像是从虚拟三维空间中彼此垂直的三个轴的轴方向上观看由定位单元8c定位在虚拟三维空间中的工件模型的图像。抓取位置指定部8d包括工件侧抓取部位指定部8d1、末端执行器侧抓取设置部8d2和相对位置设置部8d5。

工件侧抓取部位指定部8d1是如下的构件,其中该构件用于在将基本方向图像选择部8e所选择的多个基本方向图像显示在显示单元3上的状态下,针对基本方向图像来指定末端执行器模型抓取由该基本方向图像所指示的工件模型的抓取位置。工件侧抓取部位指定部8d1被配置为针对多个基本方向图像各自登记多个抓取位置。

末端执行器侧抓取设置部8d2

末端执行器侧抓取设置部8d2是用于针对末端执行器模型进行与工件模型的抓取有关的设置的构件。末端执行器侧抓取设置部8d2可以包括抓取基准点设置部8d3和抓取方向设置部8d4。抓取基准点设置部8d3针对末端执行器模型定义与抓取工件模型的位置相对应的抓取基准点。另一方面,抓取方向设置部8d4定义末端执行器模型抓取工件模型的抓取方向。抓取基准点设置部8d3和抓取方向设置部8d4可以是一体形成的,并且也可以是单独形成的。抓取基准点设置部8d3和抓取方向设置部8d4可以使用预先设置的预定值作为抓取基准点和抓取方向。例如,将抓取基准点设置为末端执行器模型的末端所设置的抓取有工件的爪部之间的中心。将抓取方向设置为用于定义末端执行器模型的工具坐标轴中的任一工具坐标轴。例如,如果使用z轴方向作为抓取方向,则进行使末端执行器模型沿着z轴方向(即,高度方向)移动从而接近并抓取工件模型的操作,因而用户可以容易地感知到该操作。可选地,在抓取基准点设置部8d3或抓取方向设置部8d4中,抓取基准点或抓取方向可以由用户调整。

相对位置设置部8d5

相对位置设置部8d5是如下的构件,其中该构件用于使显示单元3上所显示的末端执行器模型移动直到末端执行器模型干扰工件模型为止,并且以与到达干扰位置的位置分开了预定距离的姿势自动地定义抓取状态。结果,代替用户手动地移动末端执行器模型并使末端执行器模型接触工件,可以通过自动地移动末端执行器模型并使末端执行器模型接触工件来指示抓取位置,因而可以获得针对需要用户侧进行的作业能够实现相当大的省力的优点。

抓取位置的登记

在教导作业中,登记抓取工件期间的工件与末端执行器之间的位置关系作为抓取位置。在下文,作为抓取的代表示例,将说明通过使用手部作为末端执行器来抓取工件的示例。在登记了抓取位置的状态下使用机器人视觉进行机器人拾取的实际操作期间,通过机器人视觉从多个工件散装装载的工件组中检测各工件,针对所检测到的工件的位置或姿势来计算末端执行器侧的抓取位置,并且使机器人以末端执行器位于所计算出的位置处的方式进行工作以拾取该工件。这里,作为登记抓取位置的方法,存在用于通过实际使机器人进行工作来登记抓取位置的方法、或者用于通过使末端执行器模型在使用三维cad的虚拟三维空间中进行工作来登记抓取位置的方法。然而,在用于通过实际使机器人移动来登记抓取位置的方法中,存在以下问题:需要通过实际使机器人移动来进行耗时的登记作业,并且需要大规模的验证环境或者反复试验需要时间。另一方面,在用于通过虚拟地使机器人在三维cad空间上进行工作来登记抓取位置的方法中,存在可以在无需实际机器人的情况下登记抓取位置这一优点,但需要虚拟末端执行器模型的三维姿势与虚拟工件模型的三维姿势精确地对准,因而难以进行诸如三维坐标的定位等的设置。该方法需要工件和末端执行器的三维cad数据,因而在三维cad数据不可用的状态下不能进行设置。

因此,在本实施方式中,显示从三维cad模型的各轴方向所观看到的多个高度图像作为基本方向图像,并且从这些基本方向图像中选择用户所期望的基本方向图像,针对所选择的基本方向图像设置抓取位置,因而可以容易地进行虚拟三维空间上的抓取登记。结果,在通过使末端执行器模型在配置有用于仿真工件的三维cad数据的工件模型的虚拟三维空间上进行工作来登记抓取位置的情况下,通过选择从用于定义虚拟三维空间的各轴方向所观看到的基本方向图像来进行抓取登记,因而可以针对各基本方向图像登记从大致垂直方向所观看到的末端执行器模型的姿势。因此,可以容易地进行抓取设置。根据该方法,即使在不存在三维cad数据的情况下,也可以使用通过三维地测量真实工件所获得的数据作为基本方向图像。因而,即使在不存在三维cad数据的情况下,也可以根据相同的过程来在虚拟三维空间上容易地进行抓取登记。

三维拾取判断部8l

三维拾取判断部8l是如下的构件,其中该构件用于调整末端执行器模型和工件模型之间的相对位置,使得由抓取方向设置部8d4所定义的抓取方向与表示图像显示区域所显示的工件模型的姿势的工件平面垂直,并且抓取基准点和抓取位置可以沿着抓取方向定位。结果,在对利用末端执行器抓取工件的抓取状态进行仿真的情况下,可以获得能够容易地进行针对利用末端执行器模型抓取工件模型的位置的设置作业这一优点。特别地,由于抓取方向与工件平面垂直、并且抓取基准点和抓取位置位于沿抓取方向的轴上,因而末端执行器模型仅必须沿着抓取方向靠近工件模型,使得可以调整抓取位置,因而可以获得大幅减轻了用户侧的作业负担这一优点。在现有技术中,用户在手动地移动末端执行器的情况下,用肉眼进行与抓取工件的姿势对准的作业,因而由于参数数量多并且自由度增大,因此如何调整末端执行器的位置或姿势是相当麻烦的作业。相反,预先在末端执行器模型侧定义抓取基准位置和抓取方向,将抓取方向设置成与工件平面垂直,并且将末端执行器模型的抓取基准点和工件的抓取位置设置成位于沿抓取方向的轴上。因而,定义了末端执行器模型的移动方向,并且用户可以通过仅调整末端执行器模型和工件模型之间的距离来获得抓取状态。结果,可以预期末端执行器模型的抓取位置与工件模型的抓取位置之间的适配作业(现有技术中的麻烦作业)的大幅省力。

优选地,三维拾取判断部8l自动地进行以下作业:调整末端执行器模型和工件模型之间的相对位置,使得抓取方向与工件平面垂直并且抓取基准点和抓取位置位于沿抓取方向的轴上。结果,进行自动调整,使得预先在末端执行器模型侧定义抓取基准位置和抓取方向,将抓取方向设置成与工件平面垂直,并且将末端执行器模型的抓取基准点和工件的抓取位置设置成位于沿抓取方向的轴上。因而,定义了末端执行器模型的移动方向,并且用户可以通过仅调整末端执行器模型和工件模型之间的距离来获得抓取状态。结果,可以预期末端执行器模型的抓取位置与工件模型的抓取位置之间的适配作业(现有技术中的麻烦作业)的大幅省力。

然而,本发明不限于三维拾取判断部中的自动调整,并且例如可以存在如下的结构:在定位单元8c中用户手动地进行调整以使得抓取方向与工件平面垂直并且末端执行器模型的抓取基准点和工件的抓取位置位于沿抓取方向的轴上的情况下,三维拾取判断部支援该调整作业。例如,可以存在如下的结构:在第一阶段,在工件平面和抓取方向显示在图像显示区域中的状态下,向用户显示辅助线使得工件平面和抓取方向彼此垂直,或者显示包括“调整末端执行器模型使得抓取方向与工件平面垂直”这一内容的文本或图像,以提示用户进行调整作业。

在第二阶段,三维拾取判断部可以通过以下操作来提示用户进行设置:将抓取方向的延长线显示在图像显示区域中,使得末端执行器模型的抓取基准点和工件的抓取位置位于沿抓取方向的轴上,并且显示“调整末端执行器模型使得末端执行器模型的抓取基准点和工件的抓取位置位于抓取方向的轴上”这一消息。

三维拾取判断部8l可以实现适配功能。例如,三维拾取判断部8l在通过调整末端执行器模型和工件模型之间的相对位置而使得抓取方向与工件平面垂直并且抓取基准点和抓取位置位于沿抓取方向的轴上的状态下,可以使末端执行器模型沿着抓取方向移动、直到末端执行器模型干扰工件模型为止,并且可以以与到达干扰位置的位置分开了预定距离的姿势自动地定义抓取状态。结果,可以获得能够自动调整为利用末端执行器模型抓取工件模型的位置和姿势这一优点,因而可以进一步减轻用户侧的作业负担。

三维搜索部

三维搜索部是用于通过使用搜索模型登记部所登记的搜索模型来根据输入图像进行用于指定各工件的姿势和位置的三维搜索的构件。在三维搜索之前,在搜索模型登记部中,预先登记虚拟地表现工件的三维形状的搜索模型,以用于根据表示多个工件组散装装载的状态的输入图像来进行用于指定各工件的姿势和位置的三维搜索。在该状态下,三维拾取判断部8l基于三维搜索部所搜索到的输入图像的搜索结果,来判断利用末端执行器是否可以在利用工件侧抓取部位指定部针对工件所指定的抓取位置处抓取工件。例如,输入图像获取单元从传感器单元测量到的多个工件组的图像中获取包括各工件的三维形状的输入图像,并且三维搜索部通过使用搜索模型登记部所登记的搜索模型来根据输入图像进行用于指定各工件的姿势和位置的三维搜索。结果,可以根据通过实际对工件摄像所获取到的输入图像来进行三维搜索,因而可以进行更符合实际情形的抓取判断。

搜索模型

在散堆拾取中,首先,需要从散装装载的多个工件组中提取各工件以确定可以抓取的工件。这里,针对具有传感器单元所获得的高度信息的工件组的形状,预先登记搜索对象工件的形状作为工件模型,并且通过使用该工件模型来进行三维搜索,使得检测到各工件的位置和姿势。

基本方向图像

通过使用从特定方向观看工件的高度图像来创建用于对工件进行三维搜索的搜索模型。用作搜索模型的高度图像可以使用作为三维地表示工件的工件模型的三维cad数据、或者通过在传感器单元中实际对工件摄像所获得的实测数据。这里,将说明登记三维cad数据作为搜索模型的示例。例如,如图7所示,将说明通过使用三维cad数据所构建的工件模型cwm被用作搜索模型的情况。基于工件模型cwm,获取从虚拟三维空间中彼此垂直的三个轴(例如,x轴、y轴和z轴)的各轴方向的正方向和负方向所观看到的六个高度图像(即,六面图)作为基本方向图像。例如,图6的基本方向图像生成部8e’生成六个基本方向图像,并且将这些基本方向图像显示在显示单元3的六面图显示区域3a中。这六个基本方向图像是由基本方向图像生成部8e’基于工件模型cwm的原点(后面将进行详细说明)或构成工件模型cwm的面而自动计算出的,以被获得作为工件模型cwm的“上”、“下”、“左”、“右”、“前”和“后”(即,平面图、底视图、左侧视图、右侧视图、前视图和后视图)。这里,“上”表示从z轴的正方向(+侧)所观看到的高度图像,“下”表示从z轴的负方向(-侧)所观看到的高度图像,“左”表示从x轴的负方向所观看到的高度图像,“右”表示从x轴的正方向所观看到的高度图像,“前”表示从y轴的负方向所观看到的高度图像,并且“后”表示从y轴的正方向所观看到的高度图像。然而,这些仅是示例,并且可以使用不同的坐标系。例如,可以将x-y平面中的x=y的直线设置为轴,并且基于与轴垂直的坐标系,可以使用从各轴的正方向和负方向所观看到的高度图像。在基于三维cad数据来生成高度图像的情况下,这些高度图像不必是从与cad的轴垂直的方向(“上”、“下”、“左”、“右”、“前”和“后”)所观看到的高度图像,并且例如可以任意地改变工件模型的姿势(视点),并且可以生成来自改变后的视点的高度图像。

工件模型的原点

这里,工件模型的原点由机器人设置设备基于三维cad数据的坐标信息来自动确定。例如,针对图7中的工件模型cwm的三维cad数据,如在图8中利用虚线所示,定义外接工件模型cwm的虚拟立方体ibx,并且将虚拟立方体ibx的重心设置为工件模型的原点o。

基本方向图像选择部8e

基本方向图像的数量不必是六个,并且可以使用至少多个基本方向图像。例如,在如立方体那样、相对面具有相同形状的情况下,可以仅使用从一个面观看到的基本方向图像。换句话说,可以排除包括相同形状的基本方向图像,因而可以减轻三维搜索的处理负荷。删除观看方式与特定基本方向图像的观看方式相同的基本方向图像的这种功能由基本方向图像选择部8e来实现。作为示例,在图9a~9d中示出基于图7的工件模型cwm所获取到的基本方向图像。在这些图中,图9a示出从x轴的正方向观看图7的工件模型cwm的高度图像,图9b示出从y轴的正方向观看工件模型cwm的高度图像,图9c示出从z轴的正方向观看工件模型cwm的高度图像,并且图9d示出从z轴的负方向观看工件模型cwm的高度图像。这里,作为高度图像,使用如下的高度图像,其中在该高度图像中,将高度信息表示为亮度值,使得点越高则越亮,并且点越低则越暗。

这里,通过生成从工件的上和下(z轴的正方向和负方向)、前和后(y轴的正方向和负方向)以及左和右(x轴的正方向和负方向)所观看到的六个高度图像、并且确认这些高度图像之间的一致性,来确认观看方式之间的一致/不一致。这里,以90°的间隔角度确认转动一致,并且从搜索模型登记对象中排除具有与其它面的观看方式相同的观看方式的面。在图7的工件模型cwm中,从x轴的负方向所观看到的高度图像和从y轴的负方向所观看到的高度图像分别具有与图9a和9b中的高度图像的观看方式相同的观看方式,因而从搜索模型生成对象中被排除。以上述方式,生成与具有不同的观看方式的面数相对应的搜索模型。将通过如上所述排除不必要的高度图像所获得的基本方向图像显示在六面图显示区域3a中。六面图显示区域不限于其名称,不必显示工件模型的所有六个面,并且在本说明书中,即使在将具有相同的观看方式的高度图像作为不必要图像而排除并且显示五个以下的面的方面中的显示也被称为六面图显示区域中的显示。

搜索模型登记画面130

这种排除可以由用户手动地进行,可以由机器人设置设备侧自动地进行,或者可以通过它们的组合来进行。

例如,在登记基本方向图像bdi作为三维搜索所用的搜索模型的图10所示的搜索模型登记画面130上,基本方向图像生成部8e’自动地生成与六面图相对应的基本方向图像bdi,并且将这些基本方向图像显示在显示单元3的六面图显示区域3a中。在这种情况下,在存在共通的基本方向图像的情况下,提示用户将该基本方向图像从搜索模型登记对象中排除。这里,在用于设置是否要登记搜索模型的搜索模型选择部8i中,针对作为搜索模型候选的各基本方向图像bdi设置“登记对象”复选框131。如果用户选中“登记对象”复选框131,则可以将该基本方向图像bdi登记为搜索模型,以及如果用户没有选中“登记对象”复选框131,则可以将该基本方向图像从搜索模型中排除。

在这种情况下,针对具有相同的观看方式的基本方向图像,在利用基本方向图像选择部8e预先没有选中“登记对象”复选框131的状态下,向用户显示搜索模型登记画面130。在初始状态下,用户可以确认要登记为搜索模型的基本方向图像bdi和要从搜索模型中排除的基本方向图像的正确选择,然后可以批准该选择或者可以根据需要进行校正或替换。如上所述,由于以默认方式,选择了要登记为三维搜索所用的搜索模型的基本方向图像并且呈现要从登记中排除的基本方向图像候选,因此可以实现用户所进行的搜索模型登记作业的省力化。

实测数据mwm

说明了使用三维cad数据作为三维搜索所用的搜索模型的示例。然而,如上所述,本发明不限于三维cad数据作为搜索模型,并且例如可以使用通过分析多个二维cad数据所获得的三维数据或者通过在传感器单元中实际对工件摄像所获得的实测数据,作为搜索模型。作为示例,图11示出通过从x轴的正方向对与图7的工件模型cwm相对应的工件摄像所获得的实测数据mwm。如上所述,在不存在工件的cad数据的情况下,可以使用通过对真实工件进行三维测量所获得的数据。如图10所示,通过摄像来登记三维搜索所需的数量的实测数据mwm。

在登记了真实工件的情况下,三维地测量与放置有工件的底面有关的信息(例如,工件附近的地面的形状)。因此,例如,优选地,通过阈值处理仅将预定高度以上的部位从底面中切出,来排除与底面有关的不必要信息。结果,可以仅登记三维搜索所需的形状部分。

特征点的提取

接着,在如上所述登记了与搜索模型对象工件的各面相对应的高度图像的状态下,生成所登记的面的搜索模型。这里,针对所登记的各面提取三维搜索所需的特征点。这里,将说明以下示例:作为该特征点,使用两个类型的特征点,诸如表现形状的轮廓的特征点(轮廓上的特征点)和表现表面形状的特征点(表面上的特征点)等。图12a示出针对从x轴方向观看到的(与图9a相对应的)高度图像的搜索模型sm提取两个类型的特征点的状态。图12b示出搜索模型sm用立体图显示的状态。这里,优选地,在不同的显示方面中显示表面上的特征点scp和轮廓上的特征点ocp。例如,表面上的特征点scp被显示成白色,并且轮廓上的特征点ocp被显示成浅蓝色。可选地,可以使用其它颜色,并且例如,轮廓上的特征点可被显示成紫色,从而进一步与被显示成白色的表面上的特征点区分开。由于如上所述特征点以不同的颜色显示,因此用户可以容易地从视觉上将各特征点的含义彼此区分开。

按预定间隔从工件模型的表面提取表面上的特征点scp。另一方面,关于轮廓上的特征点ocp,例如,提取高度改变的部位等的边缘,并且按预定间隔提取进一步经过了间隔剔除处理的部位作为特征点。如上所述,各特征点表示面的三维形状。

三维搜索方法

通过使用作为提取特征点的结果的搜索模型来进行三维搜索。这里,将说明以下方法,其中该方法用于在通过对如图13a或13b所示多个工件散装装载的工件组摄像来获取三维形状作为输入图像的状态下,进行用于提取各工件的三维搜索。首先,从输入图像中搜索在搜索模型的各特征点最一致的状态下的位置和姿势(x、y、z、rx、ry和rz)。这里,rx、ry和rz分别表示绕x轴的转动角、绕y轴的转动角和绕z轴的转动角。提供了用于这些转动角的表现方法,但这里,使用z-y-x系统的欧拉角(后面将说明详情)。一致的位置和姿势各自的数量针对各搜索模型不必是一个,并且可以检测到预定程度以上的多个一致的位置和姿势。

这里,在输入图像中对如图13a那样以二维方式显示的工件组或如图13b那样以三维方式显示的工件组进行三维搜索,并且对输入图像整体进行搜索。因而,获得工件组如图13c那样以二维方式显示或者如图13d那样以三维方式显示的已搜索图像作为三维搜索结果。如图13c和13d所示,可以看出,从输入图像中搜索搜索模型的特征点,并且检测到与该搜索模型相对应的工件。图13d示出获得了搜索模型a和搜索模型b的搜索结果的状态。搜索模型a和搜索模型b与后面将说明的图14中的搜索模型选择栏中所显示的搜索模型a和b相对应。对于图13d中的右侧的工件wk,利用相同的工件来获得搜索模型a和b的两个搜索结果。如果在各搜索模型中所登记的抓取位置处可以进行抓取,则在该工件中获得多个抓取位置。

使用如六面图那样针对各面观看工件的图像作为三维搜索所使用的搜索模型,因而可以获得以下优点:与使用立体图等的情况相比,可以简化三维搜索的计算处理,因而可以在负荷减轻的情况下以高速进行处理。容易观看到搜索模型登记作业中所显示的状态,因而该状态可以容易地由用户从视觉上识别出。

三维搜索结果的评价指标

可以设置三维搜索结果的评价指标。例如,在图13c或13d所示的示例中,基于在输入图像中存在多少程度的相应特征点(例如,基于与预定距离以下的误差相对应的特征点的数量相对于搜索结果的比例、或者通过根据所定义的计算公式将特征点的误差量作为惩罚减去所获得的值),来对三维搜索结果进行评分。在该方法中,在不能进行三维测量的无效数据(无效像素)多的情况下,得分低。如上所述,可以使用得分作为表示三维搜索结果的可靠性的指标。例如,工件被设置成优选按得分更高的顺序进行抓取。判断为误检测到预定得分以下的三维搜索结果的可能性高,因而工件可被设置成从抓取对象中排除。例如,在图6的机器人设置设备100中,在计算单元10中设置评价指标计算部8q,以基于预定标准针对搜索结果来计算评价指标。结果,可以从评价指标高的搜索结果起顺次设置优先级,并且工件可被设置成根据该优先级进行抓取。例如,在预定得分以上的结果中,z方向上的位置最高的工件可被设置成优先抓取。工件所位于的z方向上的位置越高,该工件越不会干扰其它工件。因而,所位于的z方向上的位置高的工件被设置成优先抓取,因而可以获得能够减轻干扰判断的处理负荷的优点。

以上述方式,从散装装载的工件组中检测各工件,因而可以由机器人设备设备侧识别抓取对象工件。接着,为了利用末端执行器抓取工件,需要识别各工件的抓取位置和抓取姿势。因而,登记工件的抓取位置。在本说明书中,“抓取位置”和“抓取姿势”的登记表示抓取工件时的位置以及此时的姿势的登记。作为工件的抓取位置,可以针对该工件登记一个或多个位置。优选按工件的面单位从抓取登记作业的容易度或抓取位置的识别方面进行抓取位置的登记。换句话说,工件的姿势被定义成利用特定面作为表面的姿势,然后登记抓取位置。

抓取登记画面140

这里,图14和15示出在进行用于登记末端执行器模型抓取工件模型的抓取位置的抓取登记的用户界面画面的示例。在抓取登记画面140上,指定要登记的工件模型的面,并且针对各面登记抓取姿势。图14所示的示例是指定四个类型的面(搜索模型的各面)并且登记抓取姿势的用户界面画面的示例。这里,从搜索模型a~d中选择搜索模型“c”,并且针对搜索模型c显示三个抓取姿势。

在图14的抓取登记画面140中,左侧设置有用于显示图像的图像显示栏141,并且右侧设置有用于进行各种操作的操作栏142。在图像显示栏141中显示工件模型cwm和末端执行器模型eem。可以通过拖动图像显示栏141的画面来改变视点。如上所述,定位单元8c具有在虚拟三维空间上调整显示区域中所显示的工件模型的位置或姿势的功能。可以将图像显示栏141中的显示方式切换为二维显示或三维显示。为了容易地识别当前显示方式,在图像显示栏141中以叠加方式显示三维基准坐标轴bax。在图14所示的示例中,在图像显示栏141中显示以操作栏142中选择的抓取姿势001所登记的抓取姿势、即利用末端执行器模型eem抓取工件模型cwm的一部分的状态。在该示例中,显示末端执行器模型eem整体,但在抓取登记期间不必显示末端执行器模型整体,并且可以至少可以显示抓取工件模型cwm的部位、例如爪部。

操作栏142设置有用于选择搜索模型的搜索模型选择栏143和用于显示针对搜索模型选择栏143中选择的搜索模型所登记的抓取姿势的抓取姿势显示栏144。如果从搜索模型选择栏143中以列表形式显示的抓取姿势中选择抓取姿势,则将与该抓取姿势相对应的已登记的抓取姿势显示在图像显示栏141中。如果按下了编辑按钮145,则可以校正已登记的抓取姿势。操作栏142进一步设置有用于添加抓取姿势的添加按钮146或用于删除已登记的抓取姿势的删除按钮147。如果按下了删除按钮147,则删除所选择的抓取姿势。

抓取姿势添加画面150

在期望添加新的抓取姿势的情况下,按下添加按钮146。结果,如图15所示,显示抓取姿势添加画面150,因而可以添加抓取姿势。在图像显示栏141中显示末端执行器模型eem和工件模型cwm。在操作栏142中显示用于定义抓取姿势的抓取姿势坐标信息153。这里,作为抓取姿势坐标信息153所显示的位置参数x、y、z、rx、ry和rz表示相对于搜索模型的原点的末端执行器模型eem的位置和姿势的数据。如上所述,搜索模型的原点可以是工件模型cwm的重心或cad数据的中心坐标。

如果抓取姿势坐标信息153的x、y、z、rx、ry和rz的值改变,则相应地更新图像显示栏141中三维地显示的末端执行器模型eem的位置和姿势。相反,如果拖动并移动图像显示栏141中的末端执行器模型eem,则将操作栏142中的抓取姿势坐标信息153的显示内容更新为移动之后的抓取姿势坐标。结果,用户可以在确认图像显示栏141中的末端执行器模型eem和操作栏142中的抓取姿势坐标信息153的同时,登记抓取位置和抓取姿势。可以将三维基准坐标轴bax以重叠方式显示在图像显示栏141中。

在抓取位置的登记期间,针对图像显示栏141中所显示的末端执行器模型eem,定义与抓取工件模型cwm的位置相对应的抓取基准点以及末端执行器模型eem抓取工件模型cwm的抓取方向。在机器人设置设备100侧优选将抓取基准点和抓取方向设置为默认值。在图15的抓取姿势添加画面150上,根据工件模型cwm的位置和姿势来自动地调整末端执行器模型eem的位置和姿势,使得抓取方向与表示工件模型cwm的姿势的工件平面垂直。该调整例如可以由三维拾取判断部8l进行。可选地,用户可以通过使用定位单元8c手动地调整末端执行器模型eem的位置和姿势,使得末端执行器模型eem的抓取方向与工件模型cwm的工件平面垂直。

在抓取位置的登记期间,在图15的抓取姿势添加画面150打开的初始状态下,在末端执行器模型eem指向下并且工件模型cwm位于末端执行器模型eem的下方的状态下,末端执行器模型eem的位置和姿势具有初始值。以上述方式,由于在末端执行器模型eem向下移动而接触工件模型cwm的情况下定义抓取姿势,因此可以直观地进行用户侧的操作,因而可以减少三维对准麻烦的问题。换句话说,基本上,仅设置末端执行器模型eem在x、y和z方向上的对准以及绕z轴的转动,因而可以容易地登记抓取姿势。

可能存在以下结构:设置末端执行器模型eem抓取工件模型cwm的抓取位置,因而自动地调整末端执行器模型eem的位置,使得抓取位置位于从抓取方向延伸出的轴上。

利用工件的图像作为基准来进行抓取姿势的登记。因而,不必使用cad数据,并且如上所述,可以针对通过实际对工件摄像所获得的实测数据来登记抓取姿势。

适配功能

在指定抓取位置时,用户可以手动地进行使末端执行器模型移动至工件模型的抓取位置的作业,并且可以提供自动进行该作业的适配功能。在现有技术中,在指定末端执行器模型抓取工件模型的抓取位置x、y和z或者抓取姿势rx、ry和rz时,例如在图15的图像显示栏141中,拖动并移动末端执行器模型,直到使末端执行器模型接触工件模型为止,或者在操作栏142中向高度方向的z输入数值,如此进行了设置。然而,用户目视通过移动末端执行器模型而使末端执行器模型和抓取工件模型的姿势适配的作业是麻烦的,并且关于位置参数的数值的指定,难以理解如何优选地调整六个位置参数。因此,提供用于自动地进行使末端执行器模型位于工件模型的抓取位置的作业的适配功能。

这里,在如三维cad数据那样、工件模型或末端执行器模型具有高度信息的情况下,通过点击鼠标来指定工件模型上的期望抓取的位置,获取该位置的高度方向(即,z坐标),并且将通过向该z坐标加上偏移所获得的位置设置为末端执行器模型移动之后的z坐标。结果,可以减少用户手动地将末端执行器模型移动到抓取位置或者手动地输入诸如z坐标等的位置参数所用的时间和精力,并且可以正确地指定抓取位置。作为适配功能的示例,在图15的抓取姿势添加画面150上所显示的操作栏142中,配置作为相对位置设置部8d5的一个类型的“适配”按钮154。如果按下了“适配”按钮154,则末端执行器模型eem虚拟地沿z方向移动,并且在与工件模型cwm相接触的位置处停止,并且将通过在反方向上从干扰位置中减去偏移量所获得的位置设置为抓取位置。该偏移量是略微分离的数值,以防止末端执行器模型eem的末端干扰工件模型cwm或者由于接触而被损坏,并且可以根据工件或用途来定义,诸如1mm等。

在上述示例中,将说明通过使用在生成用于进行三维搜索的三维搜索模型时所使用的高度图像来进行抓取登记的方法。由于用于提取工件的搜索模型和用于登记抓取位置的模型是共通的,因此用户可以针对共通的工件进行三维搜索或抓取位置的设置,因而可以获得统一的操作感,并且可以直观且容易地理解共通的工件。然而,在本发明中,三维搜索所用的搜索模型不必与抓取登记对象模型一致。如果三维搜索模型和抓取登记所使用的模型之间的对应关系是已知的,则不必使用用作搜索模型的模型来进行抓取登记。

基于三维cad数据来生成高度图像之后的观看方式之间的一致性确认不限于使用各轴的正方向和负方向的确认。例如,具有例如立方体形状的工件即使在从诸如x轴的正方向和负方向、y轴的正方向和负方向以及z轴的正方向和负方向等的任何方向观看的情况下也具有相同的观看方式,因而可以生成针对单个面的搜索模型。同样,还关于抓取位置的登记,可以针对单个面指定抓取。因此,所有的面(x轴的正方向和负方向、y轴的正方向和负方向以及z轴的正方向和负方向)都处于能够抓取的状态。例如,针对各自具有如图16a所示的立方体形状并且散装装载的工件wkc,如图16b所示登记立方体的一个面作为模型,并且仅必须登记从正上方抓取该面的抓取姿势。因而,如图16c所示,可以对所有的六个面进行三维搜索并且末端执行器模型eem可以抓取所有的六个面。

校准

在上述的抓取登记画面140中,相对于搜索模型的原点来登记抓取期间末端执行器模型eem针对工件的相对位置和姿势。另一方面,在利用真实的末端指示器拾取工件的情况下,需要将作为传感器单元对工件摄像的三维空间(视觉空间)的坐标的视觉坐标转换成机器人控制器6实际驱动机器人所使用的机器人坐标。具体地,将作为三维搜索的结果所获得的工件的位置和姿势获得为视觉空间中的位置(x,y,z)和姿势(rx,ry,rz)(姿势(rx,ry,rz)表示利用后面将说明的z-y-x系统的欧拉角表示的姿势)。还获得末端执行器抓取工件的姿势作为机器人设置设备的虚拟三维空间中的位置(x,y,z)和姿势(rx,ry,rz)。为了机器人控制器6驱动机器人,需要将视觉空间中的位置和姿势转换成机器人空间中的位置(x’,y’,z’)和姿势(rx’,ry’,rz’)。将计算以下的转换公式的处理称为校准,其中该转换公式用于将在利用机器人设置设备所显示的坐标系中计算出的位置和姿势转换成在机器人控制器操作末端执行器所使用的坐标系中的位置和姿势。

实施方式2

图17是示出具有机器人设置设备(机器视觉设备)和机器人之间的校准功能的机器人系统的示例作为实施方式2的功能框图。在图17中,机器人系统2000包括机器人设置设备200、显示单元3、操作单元4、传感器单元2、机器人控制器6和机器人rbt。在图17所示的机器人系统中,向与上述的图6等共通的构件赋予相同的附图标记,并且将适当省略针对该构件的详细说明。

机器人设置设备200

机器人设置设备200包括输入图像获取单元2c、存储单元9、计算单元10、输入/输出接口4b、显示接口3f和机器人接口6b。

输入图像获取单元2c基于传感器单元测量到的包括末端执行器的图像来获取包括三维形状的输入图像。在输入图像获取单元2c获取到末端执行器的输入图像的情况下,该输入图像优选包括安装至机器人的臂部的末端的凸缘面的安装位置。该输入图像是以增大末端执行器的面积的姿势拍摄到的。例如,用户操作机器人,使得按横向的姿势作为水平姿势来拍摄末端执行器的输入图像。

计算单元10包括末端执行器模型登记部8u、工件模型登记部8t、校准部8w、搜索模型登记部8g、三维搜索部8k、转换部8x、末端执行器安装位置校正部8y和抓取位置指定部8d。

末端执行器模型登记部8u是用于登记作为三维cad数据并且虚拟地表现末端执行器的三维形状的末端执行器模型的构件。例如,末端执行器模型登记部8u读取单独创建的表示末端执行器的形状的三维cad数据,并且登记该三维cad数据作为末端执行器模型。在这种情况下,末端执行器模型登记部8u登记经由输入/输出接口4b所输入的三维cad数据作为末端执行器模型。可选地,可以使用通过对真实的末端执行器摄像所获得的三维点组数据作为末端执行器模型。在这种情况下,末端执行器模型登记部8u将传感器单元2或输入图像获取单元2c中所获取到的三维点组数据作为末端执行器模型。可选地,可以创建并登记用于仿真末端执行器的三维cad数据。在这种情况下,末端执行器模型登记部8u实现简单的三维cad的功能。

校准部8w是用于获取校准信息的构件,其中该校准信息用于将作为显示单元上所显示的虚拟三维空间的视觉空间的坐标系中所计算出的位置和姿势转换成机器人控制器操作末端执行器的机器人空间的坐标系中的位置和姿势。

校准部8w针对多个位置坐标,计算机器人的末端执行器eet的实际位置坐标和机器人设置设备上所显示的图像上的位置坐标之间的转换公式。没有特别限制坐标转换方法,并且可以适当使用诸如三维仿射转换等的已知方法。

存储单元9存储来自校准部8w的校准信息。

三维搜索部8k是用于进行三维搜索的构件,其中该三维搜索用于通过使用末端执行器模型作为搜索模型,来从输入图像获取单元2c所获取到的输入图像中指定与末端执行器的位置和姿势相对应的图像区域。

转换部8x基于校准部8w所获得的校准信息来将视觉坐标转换成机器人坐标。转换部8x读取存储单元9中所存储的校准信息。

末端执行器安装位置校正部8y通过使用如下的信息,来校正末端执行器的视觉空间上的位置和姿势与机器人空间上的位置和姿势之间的误差,其中该信息是通过在转换部8x中将三维搜索部所搜索的视觉空间上的末端执行器的位置和姿势转换成机器人空间中的位置和姿势所获得的。结果,由于通过使用末端执行器模型来进行三维搜索,因此可以通过考虑到真实的末端执行器的安装状态来校正虚拟末端执行器模型的误差,因而可以进行更正确的设置作业。

抓取位置指定部8d指定末端执行器模型抓取工件模型登记部8t所登记的工件模型的一个或多个抓取位置。

z-y-x系统的欧拉角

这里,将说明z-y-x系统的欧拉角。在现有技术中,为了定义利用末端执行器抓取工件的抓取位置,将z-y-x系统的欧拉角用于基于三维cad数据来定位工件模型或末端执行器模型的姿势。在这种情况下,利用六个位置参数(x、y、z、rx、ry和rz)来表示末端执行器模型相对于工件模型的位置和姿势。这里,x、y和z表示定义三维空间的正交坐标轴,并且rx、ry和rz分别表示通过以x轴、y轴和z轴为中心的转动所获得的转动角。

这里,参考图18~21,将说明根据z-y-x系统的欧拉角来使末端执行器模型转动的示例。首先,图18示出将末端执行器模型eem和工件模型wm11显示在显示单元3的图像显示区域中的状态。在该示例中,为了更好地理解说明,单独地显示用于定义虚拟三维空间的基准坐标轴bax(xyz)和作为在使转动对象(这里为末端执行器模型eem)转动之后的三维空间坐标轴的转动完成坐标轴rax(xyz)。

在图18所示的示例中,由于工件模型wm11侧停止、并且使末端执行器模型eem侧转动,因此基准坐标轴bax表示工件模型wm11的位置和姿势,并且转动完成坐标轴rax表示末端执行器模型eem的位置和姿势。在末端执行器模型eem侧的转动完成坐标轴rax中,其原点与作为末端执行器模型eem的抓取位置的抓取基准点hbp一致(后面将说明详情)。

在转动之前的状态中,绕xyz轴的转动角rx、ry和rz是rx=0°、ry=0°和rz=0°,并且基准坐标轴bax与转动完成坐标轴rax一致。如果在该状态下、末端执行器模型eem通过以z轴为中心逆时针地转动90°,则转动结果如图19所示。在图19所示的状态下,转动角rx、ry和rz是rx=0°、ry=0°和rz=90°,因而将图像显示区域中所显示的转动完成坐标轴rax更新为转动之后的姿势。如果在图19所示的状态下、末端执行器模型eem以y轴为中心顺时针地转动了90°,则转动结果如图20所示。在该状态下,转动角rx、ry和rz是rx=0°、ry=90°和rz=90°,因而转动完成坐标轴rax也更新为转动之后的姿势。如果在图20所示的状态下、末端执行器模型eem以x轴为中心顺时针地转动了90°,则转动结果如图21所示,并且转动角rx、ry和rz是rx=90°、ry=90°和rz=90°。

在现有技术中,通过使用z-y-x系统的欧拉角来生成工件模型或末端执行器模型或者表现其位置。然而,可操作的位置参数的数量是六个并且较多,因而不容易进行用户通过调整位置参数来将位置或姿势调整为预期位置或预期姿势的作业。在维持姿势的同时移动位置所使用的xyz轴不同于转动所使用的rx、ry和rz,因而存在以下问题:如果位置参数改变,则难以直观地识别变化结果。将参考图22来说明该状态。

现在,在图21所示的状态下,在图像显示区域中显示作为转动了转动角rx=90°、ry=90°和rz=90°之后的正交坐标轴的转动完成坐标轴rax。如果在该状态下,ry或rz改变,则以不同于所显示的转动完成坐标轴rax的轴为中心进行转动。例如,代替图22的转动完成坐标轴rax的y轴,如在图22中利用虚线所示,以rx转动之前的y轴(图19的转动完成坐标轴rax的y轴)为中心进行ry转动。rz转动不是以图22的转动完成坐标轴rax的z轴为中心进行,而是以利用虚线表示的rx或ry转动之前的z轴(图18中的转动完成坐标轴rax的z轴)为中心进行。

这是因为,z-y-x系统的欧拉角是基于按z轴、y轴和x轴的顺序进行转动来定义的。根据z-y-x系统的欧拉角,使用z轴作为基准,并且rx和ry的转动轴由于绕z轴的rz转动而转动。这里,绕z轴的转动轴没有移动,但rx和ry的转动轴由于绕z轴的rz转动而转动。如果转动通过所确定的绕y轴的ry来进行,则x轴由此也转动。这里,由于绕y轴的转动轴是根据绕z轴的rz转动来定义的,因此即使通过绕x轴的rx来进行转动,绕y轴的转动轴和绕z轴的转动轴也没有改变。换句话说,在z-y-x系统的欧拉角中,可以认为:rz具有独立的转动轴,ry具有依赖于rz的转动轴,并且rx具有依赖于ry的转动轴。

如上所述,在现有技术中,在通常用于机器人控制的z-y-x系统的欧拉角中,由于三个转动轴彼此关联、并且绕其它转动轴的转动之后的轴也转动,因此用户很难识别出哪个轴是转动轴,因而不容易按照期望进行转动。

校正转动轴的显示

作为对比,在根据本实施方式的方法中,利用实际转动轴作为基准来显示rx、ry和rz的转动轴。不同于使用现有技术中的z-y-x系统的欧拉角而在三维空间中显示轴(图18~21),将通过考虑到绕其它转动轴的转动之后的状态来校正的真实转动轴显示为校正转动轴。例如,将说明在图22所示的状态下显示rz的校正转动轴的示例。在这种情况下,如图23所示,rx和ry被计算为0°时的z轴是校正转动轴。这里所显示的校正转动z轴axz是rx为0°、ry为0°并且rz为90°时的z轴。

另一方面,在图22所示的状态下显示ry的校正转动轴的情况下,如图24所示,rx被计算为0°时的y轴是真实的转动轴。这里所显示的校正转动y轴axy是rx为0°、ry为90°并且rz为90°时的y轴。

另一方面,在图22所示的状态下显示rx的校正转动轴的情况下,x轴可以在没有改变的情况下显示。图25示出显示作为校正转动轴的校正转动x轴的示例。这里所显示的校正转动x轴是rx为90°、ry为90°并且rz为90°时的x轴。

校正转动轴的起点优选是末端执行器模型的转动的中心。例如,使用作为末端执行器模型eem的抓取位置的一对爪部的中间位置作为起点。

x-y-z欧拉角

关于校正转动轴,即使在转动顺序改变的情况下,转动轴也可以以相同方式显示。例如,在图23~25所示的示例中,使用z-y-x系统的欧拉角,因而按rz、ry和rx的顺序进行转动。另一方面,由于如果使用x-y-z欧拉角、则按rx、ry和rz的顺序进行转动,因此被计算为0°的轴不同于z-y-x系统的欧拉角中的轴。例如,假定以与图18~21相同的方式按rx、ry和rz的顺序进行转动以利用x-y-z欧拉角获得校正转动轴,在显示z轴作为校正转动轴的情况下,转动之后的z轴在无需改变的情况下显示。在显示y轴作为校正转动轴的情况下,显示rz被计算为0°时的y轴。在显示x轴作为校正转动轴的情况下,显示rz和ry被计算为0°时的x轴。

在用户以上述方式通过使用欧拉角来设置抓取位置或抓取姿势的情况下,可以将转动轴显示得容易理解,因而可以在无需理解欧拉角的复杂概念的情况下进行直观操作。

实施方式3

如欧拉角那样,用户不容易设置由多个位置参数定义的末端执行器或工件的位置或姿势。因此,可以引导位置参数的设置过程,使得用户可以在多个位置参数中指定受到限制的位置参数,并且可以根据该引导来顺次设置所需的位置参数。将这种示例作为根据实施方式3的机器人系统3000在图26中示出。图26所示的机器人系统3000包括机器人设置设备300、显示单元3b、操作单元4、传感器单元2、机器人控制器6和机器人rbt。在图26所示的机器人系统中,向与上述的图6等共通的构件赋予相同的附图标记,并且将适当省略针对该构件的详细说明。

机器人设置设备300

机器人设置设备300包括输入图像获取单元2c、计算单元10、存储单元9、输入/输出接口4b、显示接口3f和机器人接口6b。存储单元9包括抓取位置存储部9b。抓取位置存储部9b是用于存储利用抓取位置指定部8d指定的工件模型或末端执行器模型的抓取位置的构件。

计算单元10包括抓取位置指定部8d、抓取位置复制部8d8、相对位置设置部8d5、搜索模型登记部8g、三维搜索部8k、三维拾取判断部8l和截面模型生成部8s。

抓取位置指定部8d是如下的构件,其中该构件用于指定包括分别是x轴、y轴和z轴上的坐标位置的x坐标、y坐标和z坐标以及以x轴、y轴和z轴为中心的rx转动角、ry转动角和rz转动角的六个位置参数,以指定显示单元上的虚拟三维空间上所显示的工件模型和末端执行器模型其中之一或这两者的位置和姿势。

抓取位置复制部8d8是如下的构件,其中该构件用于读取抓取位置存储部9b中所存储的工件模型或末端执行器模型的抓取位置,改变该抓取位置,并且将改变后的抓取位置登记为新的抓取位置。结果,在登记了多个抓取位置的情况下,读取已登记的抓取位置,并且基于被登记为新的抓取位置的抓取位置来改变抓取位置。因此,与从一开始就登记抓取位置的情况相比,可以更加容易地添加抓取位置,因而可以实现登记作业的省力化。

三维拾取判断部8l是如下的构件,其中该构件用于针对三维搜索部8k中通过搜索所获得的各搜索结果,判断末端执行器模型在由抓取位置指定部8d针对工件模型所指定的抓取位置处是否可以抓取工件模型。

截面模型生成部8s生成由多个截面和截面位置的组构成的截面模型,其中各截面是通过沿着被设置成针对末端执行器模型在一个方向上是直线状的基本轴、在与该基本轴垂直的平面中切割末端执行器模型所获得的,并且各截面位置是包括各截面的正交平面与基本轴相交的点。使用多边形数据等作为用于创建截面模型的末端执行器模型。

抓取位置指定部8d

图26所示的抓取位置指定部8d包括第一指定部8d9、第二指定部8d6和第三指定部8d7。第一指定部8d9是可以指定x坐标、y坐标和z坐标至少之一、但不能指定其它位置参数的构件。第二指定部8d6是如下的构件,其中该构件用于针对利用第一指定部8d9指定了一些位置参数的工件模型或末端执行器模型,可以指定rx转动角、ry转动角和rz转动角至少之一、但不能指定其它位置参数。第三指定部8d7是如下的构件,其中该构件用于针对利用第一指定部8d9和第二指定部8d6指定了一些位置参数的工件模型或末端执行器模型,可以指定rx转动角、ry转动角和rz转动角的至少一部分中的第二指定部8d6不能指定的位置参数,但不能指定其它位置参数。

结果,关于抓取位置的指定,所有的六个位置参数不是在单个画面上指定的,利用受到限制的多个指定部来单独指定可以指定的位置参数,因而可以防止多个位置参数相互交织、使得难以识别位置或姿势的情形,并且顺次指定位置参数,使得可以设置指定位置和姿势所需的信息。特别地,由于利用第一指定部8d9通过鼠标点击等指定显示单元上所显示的平面状工件模型上的任何部位作为抓取位置的初始位置,因此用户可以以从视觉上容易理解的方式进行指定(诸如具有容易观看工件模型的姿势的工件模型的直接指定等),因而与如现有技术那样的姿势的固定或数值的定义等的复杂且麻烦的作业相比,可以大幅简化作业。在第一指定部8d9中,工件模型不限于以二维形式显示的方面,而且可以以三维形式显示。

设置作业时的过程

这里,关于用于使机器人系统进行工作的设置作业,将参考图27的流程图来说明在实际操作之前所进行的教导作业的过程。

首先,在步骤s2701中,登记用于三维地搜索工件的搜索模型。这里,作为搜索模型,可以登记如上所述的工件模型(例如,三维cad数据)。可选地,可以登记通过在传感器单元中实际对工件摄像所获得的实测数据作为搜索模型。

接着,在步骤s2702中,登记机器人的末端执行器模型。这里,可以登记三维cad数据作为末端执行器模型。接着,在步骤s2703中,从高度图像中选择要抓取的工件模型的面。接着,在步骤s2704中,登记抓取所选择的面时的机器人的位置和姿势。接着,在步骤s2705中,判断是否登记了所需数量的位置和姿势,并且在没有登记所需数量的位置和姿势的情况下,流程返回至步骤s2703,并且重复地进行该处理。在登记了所需数量的位置和姿势的情况下,该处理结束。

登记三维cad数据作为搜索模型的过程

这里,在步骤s2701中,将参考图28的流程图来说明在使用三维cad数据作为搜索模型的情况下登记工件的搜索模型的过程的示例。首先,在步骤s2801中,读取工件的三维cad数据模型。接着,在步骤s2802中,将三维cad数据模型的外接立方体的中心校正为三维cad数据的原点。在步骤s2803中,生成从“上”、“下”、“左”、“右”、“前”和“后”各方向所观看到的高度图像。这里,在基于三维cad数据生成了高度图像的情况下,生成高度图像,使得cad的原点是高度图像的中心。

接着,在步骤s2804中,从所生成的高度图像中删除观看方式相同的高度图像。最终,在步骤s2805中,通过使用所生成的高度图像来登记搜索模型。

以上述方式,用户可以根据引导来登记三维搜索所使用的搜索模型。

末端执行器模型的登记

接着,将参考图29的流程图来说明在图27的步骤s2702中登记末端执行器模型的过程的详情。这里,形成末端执行器模型的三维cad数据由多边形数据构成。

首先,在步骤s2901中,读取末端执行器模型的多边形数据。接着,在步骤s2902中,确定要创建截面的方向。在步骤s2903中,创建截面模型。图26的截面模型生成部8s创建截面模型。后面将说明截面模型的创建的详情。以上述方式,将末端执行器模型登记在存储单元9中。

附加区域

在登记末端执行器模型的情况下,可以向原始的末端执行器模型添加附加区域。将参考图30的流程图来说明其过程。首先,在步骤s3001,登记末端执行器模型。例如,读取由诸如stl数据等的三维cad数据构成的末端执行器模型。

接着,在步骤s3002中,设置附加区域。该附加区域用于例如在(后面将详细说明的)干扰判断期间,将真实的末端执行器的形状或者对添加至该末端执行器的盖或安全带进行仿真的形状添加至末端执行器模型的表面,因而可以提高干扰判断的精度。

实施方式4

使用附加模型创建功能来设置这种附加区域。将具有附加模型创建功能的机器人系统的示例作为实施方式4在图31的框图中示出。图31所示的机器人系统4000包括机器人设置设备400、显示单元3、操作单元4、传感器单元2、机器人控制器6和机器人rbt。在图31所示的机器人系统中,向与上述的图6等共通的构件赋予相同的附图标记,并且将适当省略针对该构件的详细说明。

机器人设置设备400

机器人设置设备400包括输入图像获取单元2c、计算单元10、存储单元9、输入/输出接口4b、显示接口3f和机器人接口6b。

计算单元10包括工件模型登记部8t、末端执行器模型登记部8u、附加模型创建部8v、抓取位置指定部8d、搜索模型登记部8g、三维搜索部8k、干扰判断部8m和截面模型生成部8s。

附加模型创建部8v是用于创建附加模型的构件,其中在该附加模型中,将利用预定义的一个或多个立体图形表示的附加区域添加至末端执行器模型的表面。结果,在无需对三维cad数据进行编辑的情况下将具有诸如立方体或圆柱等的简单形状的干扰判断区域添加至末端执行器模型,进行与各区域相对应的干扰判断,使得可以容易地进行干扰判断。立体图形不仅包括预先在机器人设置设备侧所准备的基本图形,而且还包括用户可以自由地设计的图形。

抓取位置指定部8d是如下的构件,其中该构件用于针对工件模型登记部8t所登记的工件模型,指定利用末端执行器模型抓取工件模型的一个或多个抓取位置。

三维搜索部8k是用于进行如下的三维搜索的构件,其中该三维搜索用于通过使用搜索模型登记部8g所登记的搜索模型,从输入图像获取单元2c所获取到的输入图像中指定与各工件的位置和姿势相对应的图像区域。

干扰判断部8m是用于进行如下的干扰判断的构件,其中该干扰判断用于在通过使用附加模型创建部8v所创建的附加模型操作末端执行器时,判断与可能会妨碍操作的其它物体的干扰的有无。在使末端执行器移动到位置以抓取输入图像获取单元2c所获取到的输入图像中所包括的任一工件的情况下,干扰判断部8m对输入图像中的包括工件的周边物体的图像进行干扰判断,从而判断工件的周边物体是否干扰末端执行器。结果,可以通过末端执行器模型和输入图像之间的比较来进行干扰判断。在末端执行器模型配置于利用抓取位置指定部8d指定的抓取位置以针对与由三维搜索部8k从输入图像中搜索到的各工件的位置和姿势相对应的搜索结果来抓取工件的情况下,干扰判断部8m例如判断与工件附近所存在的物体的干扰的有无。

附加区域设置画面310

向由三维cad数据构成的末端执行器模型添加附加区域。这里,图32示出用于将附加区域添加至末端执行器模型的附加区域设置画面310作为附加模型创建部8v的方面。在附加区域设置画面310上,可以读取作为末端执行器的三维cad数据的末端执行器模型eem,并且可以向该末端执行器模型eem添加图形。附加区域设置画面310包括图像显示栏141和操作栏142。将所读取的末端执行器模型eem的三维cad数据显示在图像显示栏141中。操作栏142设置有基本图形显示栏311。在基本图形显示栏311中显示可选的基本图形的列表。基本图形可以包括立方体、圆柱、圆锥、三角锥和六角棱柱。用户可以通过从基本图形显示栏311中选择期望的基本图形并且按下“添加”按钮312,来向末端执行器模型eem上的所指定位置添加基本图形。在基本图形显示栏311中以列表形式显示的各行中设置“编辑”按钮313,并且在按下该按钮的情况下,可以改变所选择的基本图形的设置。例如,可以调整诸如底面的一边的长度、直径和高度等的基本图形参数。

在图32所示的示例中,选择立方体作为期望添加的基本图形,并且在基本图形显示栏311中突出显示该立方体。如果在该状态下按下“编辑”按钮313,则显示图33中的基本图形编辑画面320。在基本图形编辑画面320的操作栏142中设置基本图形参数调整栏321,并且可以从该基本图形参数调整栏321改变基本图形的大小或者末端执行器相对于基准位置的位置或姿势。如果从基本图形参数调整栏321调整了基本图形参数,则还相应地更新图像显示栏141的显示内容。

在图32所示的示例中,将附加区域ada插入在臂部的末端的凸缘面fls与末端执行器模型eem之间。结果,可以再现安装工具等插入在臂部和末端执行器之间的状态。在臂部的末端的凸缘面偏离针对机器人设置设备侧的计算所设置的面的情况下,可以使用基本图形来抵消偏差量。

可以添加多个图形。在图32所示的示例中,可以通过从基本图形显示栏311中选择期望的基本图形并且按下“添加”按钮312来添加各种基本图形。结果,可以通过多个基本图形的组合来表示各种形状。

如上所述,由于提供有针对末端执行器模型设置附加区域的功能,因此可以在无需如现有技术那样通过对三维cad数据的形状进行直接编辑而改变形状的情况下,通过仅添加预先准备的基本图形来容易地添加形状。结果,在用于在末端执行器配置于抓取工件的抓取位置时预先确认工件是否干扰周边物体的干扰判断中,在存在未包括在末端执行器模型中但实际存在的构件的情况下,可以通过使用用于仿真该工件的形状来提高判断结果的精度。例如,在末端执行器经由接头连接至臂部的末端的情况下,末端执行器整体可能偏移,因而末端可能略微突出。存在以下情况:在末端执行器的外侧存在诸如接触防止所用的盖或者从末端执行器延伸出的线缆等的附加元件。这种附加元件通常未包括在末端执行器模型的三维cad数据中,并且通常没有单独准备cad数据。因而,需要时间来处理并编辑末端执行器模型的三维cad数据,使得获得与附加元件相对应的形状。即使利用cad数据来表示复杂形状,在使用表示复杂形状的三维cad数据来进行干扰判断的情况下,计算处理也变得复杂,并且处理时间增加。

因此,在将这种附加元件表示为图形的情况下,可以在无需进行麻烦的编辑作业的情况下利用简单的附加区域来获得具有与实际状态接近的形式的末端执行器模型,因而可以容易地表示适合真实形状的形状。根据该方法,cad数据的形式没有改变,添加了干扰判断区域,并且处理时间增加量减少。

抓取位置设置过程

接着,在图27的步骤s2704中,将参考图34的流程图以及图35a~38来说明用于登记利用末端执行器抓取工件的抓取位置和抓取姿势的过程。这里,根据图34的流程图所示的过程来顺次设置抓取位置参数x、y和z以及抓取姿势参数rx、ry和rz这六个位置参数,其中这些位置参数通过使用由三维cad数据构成的工件模型wm11和末端执行器模型eem定义了在固定工件模型wm11的状态下抓取工件模型wm11时的末端执行器模型eem相对于工件模型wm11的位置和姿势(以下统称为“抓取位置”)。

x-y指定单元

首先,在步骤s3401中,指定抓取位置的x坐标和y坐标。这里,显示利用x-y指定单元将工件投影到平面上的二维平面图像,并且在该平面图像上指定抓取位置。在图35b中示出作为x-y指定单元的方面的x-y指定画面230。在图35a所示的x-y指定画面230上,在图像显示栏141中以平面图显示工件的三维cad数据。在该状态下,用户指定期望利用末端执行器模型抓取并以平面图显示的工件模型wm11f的一部分。如果在如图35b那样的平面图上利用诸如鼠标等的指示装置选择抓取位置,则可以在无需知晓姿势或转动角等的情况下,以容易理解的方式指定期望的位置。特别地,由于点击并指定以平面图显示的工件模型wm11f上的抓取位置,因此与通过输入数值来调整位置的情况相比,可以获得能够进行容易指定的优点。用户可以基于手动指定位置和图像的比例来确定抓取位置的x坐标和y坐标。可以在x-y指定画面上设置采用数值来显示x坐标和y坐标的x和y坐标显示栏。

z-rz指定单元

接着,在步骤s3402中,从z-rz指定单元指定抓取位置z和抓取姿势rz。图36示出作为z-rz指定单元的方面的z-rz指定画面240。图36所示的z-rz指定画面240包括图像显示栏141和操作栏142。操作栏142设置有:z坐标指定栏241,用于指定抓取位置的z坐标;以及rz转动角指定栏242,用于指定抓取姿势的rz转动角。在该阶段,在s3401中已确定了x坐标和y坐标,因而可以仅显示z轴。因而,在图像显示栏中显示末端执行器模型eem和工件模型wm11的状态下,以重叠方式仅显示作为校正转动轴的校正转动z轴axz。结果,用户可以想象转动角改变时图像显示栏141中所显示的末端执行器模型eem如何转动,因而可以获得能够容易地进行针对末端执行器模型eem的位置调整作业的优点。特别地,由于不显示其它转动轴,因此用户可以在不会感到混淆的情况下从视觉上识别转动方向。由于不能指定除z坐标和rz转动角以外的位置参数,因此可以防止错误地指定其它位置参数,由此用户可以集中于并仅设置可以指定的位置参数,并且仅关注于在消除了诸如误解和误设置等的混淆的状态下所需的设置。

关于末端执行器模型eem的转动,向rz转动角指定栏242输入数值,因而自动转动并显示图像显示栏141中的末端执行器模型eem。拖动并转动图像显示栏141中所显示的末端执行器模型eem,因而rz转动角指定栏242中所显示的rz转动角的值也改变。

ry指定单元

在步骤s3403中,指定抓取姿势ry。这里,通过使用图37所示的ry指定画面250来从ry转动角指定栏251中指定ry转动角。在该示例中,利用z-y-x系统的欧拉角来表示末端执行器模型eem或工件模型wm11的姿势。因而,可以通过使用步骤s3402中所指定的rz的值来校正ry的转动轴的方向。如上所述,将作为所计算出的校正转动轴的校正转动y轴axy显示在图像显示栏141中。如果通过如上所述显示转动轴来调整ry转动角,则用户可以想象末端执行器模型eem如何改变,并且可以容易地进行设置。

rx指定单元

最终,在步骤s3404中,指定抓取姿势rx。这里,通过使用图38所示的rx指定画面260来从rx转动角指定栏261中指定rx转动角。表示rx的转动轴的方向的校正转动x轴axx也显示在图像显示栏141中。

以上述方式,用户可以指定与末端执行器抓取工件的抓取位置有关的诸如x、y、z、rx、ry和rz等的六个位置参数。特别地,由于针对各画面限制可以调整的位置参数、并且将要显示的转动轴限制为仅与同指定相关的位置参数有关的转动轴的显示,因此用户根据这种引导来进行设置,因而可以顺次定义所需的位置参数。结果,可以针对指定了三维位置和姿势的抓取位置平滑地进行在现有技术中难以进行的指定作业。在设置了欧拉角的rx、ry和rz转动角的情况下,计算这些转动角的转动轴,并且将这些转动轴作为校正转动轴显示在图像显示栏141中,因而用户可以容易地想象通过改变正设置的位置参数、转动轴如何移动。

如果将抓取位置的登记分割成多个步骤、并且在各步骤中限制可以调整的位置参数,则用户可以容易地想象通过移动该位置参数、转动轴如何移动。特别地,在各步骤中设置指定画面,并且在不同的指定画面上登记不同的位置参数。因而,可以无混淆地呈现用户要设置的位置参数,并且可以引导设置作业。在图36~38所示的示例中,说明了设置不同的指定画面的示例,但本发明不限于该示例。例如,如图39的位置参数指定画面270所示,可以在各步骤中通过使用用于指定多个位置参数的共通指定画面来限制可指定的位置参数。在图39所示的示例中,从x和y坐标指定栏271可以仅指定x坐标和y坐标,并且其它位置参数呈灰化显示而无法被指定和选择。如果x坐标和y坐标的指定完成并且按下了“下一个”按钮272,则在下一步骤中,可以从z坐标和rz转动角指定栏273中仅指定单独位置参数(例如,z坐标和rz转动角),并且包括所指定的x坐标和y坐标的其它位置参数全部呈灰化显示或者不显示,使得无可选择。如果指定了z坐标和rz转动角、然后按下了“下一个”按钮272,则在下一步骤中,可以从rx和ry转动角指定栏274中仅指定其它的单独位置参数(例如,rx转动角和ry转动角),并且其它位置参数不可选择。利用该结构,还可以实现向用户呈现可指定的受到限制的位置参数并且顺次设置这些位置参数的引导功能。

用于顺次地定义位置参数的步骤的数量或分割不限于上述示例。例如,z坐标和rz转动角可以是在单独步骤中设置的,或者rx转动角和ry转动角可以是在同一步骤中设置的。例如,作为将与位置有关的步骤分割成多个步骤的示例,z-rz指定单元由用于指定z坐标的z指定单元和用于指定以z轴为中心的rz转动角的rz指定单元构成。可选地,rx-ry指定单元可以由用于指定以x轴为中心的rx转动角的rx指定单元和用于指定以y轴为中心的ry转动角的ry指定单元构成。可选地,图37和38所示的画面可以集成到单个画面中,并且用作rx-ry指定单元,使得可以指定rx转动角和ry转动角。

在上述示例中,说明了在工件模型侧固定的状态下调整末端执行器模型的位置和姿势的示例,但本发明不限于该示例,并且可以在末端执行器模型固定的状态下调整工件模型侧的位置和姿势。可选地,可以调整末端执行器模型和工件模型这两者的位置和姿势。

在上述示例中,说明了以下示例:关于诸如x、y、z、rx、ry和rz等的六个位置参数,依次在x-y指定单元中定义x坐标和y坐标,在z-rz指定单元中定义z坐标和rz转动角,并且在rx-ry指定单元中定义rx转动角和ry转动角,但定义各位置参数的顺序或组合不限于上述结构。例如,可以准备x-y-z指定单元、rz指定单元和rx-ry指定单元,可以在x-y-z指定单元中指定末端执行器模型或工件模型的x坐标、y坐标和z坐标,然后可以在rz指定单元中指定以z轴为中心的rz转动角,最后可以在rx-ry指定单元中指定以x轴为中心的rx转动角和以y轴为中心的ry转动角。在这种情况下,例如,可以使用如图40所示的x-y-z指定画面280作为x-y-z指定单元,并且可以针对以三维方式显示的末端执行器模型eem或工件模型,从x、y和z坐标指定栏281中指定x、y和z坐标。如上所述,用于最初指定抓取位置的图像不限于如图35b所示投影到xy平面上的平面图像,并且可以使用不同的投影方向,并且例如,可以通过使用如图41所示的通过从倾斜方向投影所获得的斜视图wm11p来进行指定。

本发明不限于如图35b那样在投影到平面上的图像上指定抓取位置的方法,并且可以在如图35a那样的无投影的状态下指定抓取位置。例如,在如图42所示、将工件模型wm11三维地显示在三维图像查看器290上的状态下,可以通过使用由诸如鼠标等的指示装置构成的操作单元来在画面上指定抓取位置。

变形例

在上述示例中,说明了根据z-y-x系统的欧拉角来指定诸如x、y、z、rx、ry和rz等的六个位置参数的过程,但本发明不限于该方面,并且可以定义末端执行器等的位置和姿势,作为用于定义末端执行器或工件的位置和姿势的其它方面,例如x-y-z系统的欧拉角、x-z-y系统的欧拉角、y-x-z系统的欧拉角、y-z-x系统的欧拉角、z-x-y系统的欧拉角、x-y-x系统的欧拉角、x-z-x系统的欧拉角、y-x-y系统的欧拉角、y-z-y系统的欧拉角、z-x-z系统的欧拉角、z-y-z系统的欧拉角、或者侧倾/俯仰/横摆角表现以及转动轴/转动角表现。

在上述示例中,说明了仅显示与要指定的位置参数有关的校正转动轴作为校正转动轴的示例,但其它校正转动轴不限于这些轴完全不显示的结构。例如,即使在显示包括其它校正转动轴的三个正交轴的情况下,也可以实现相同的效果,并且与其它校正转动轴相比,可以突出显示与要指定的转动角有关的转动轴。作为示例,与正指定的转动角有关的转动轴用粗体显示,并且通过着色或闪烁来突出显示,相反,不能指定的转动轴呈灰化显示或者用细线显示,使得外观不同。特别地,在图像的三维显示中,如果存在正交的坐标轴,则用户可以直观地识别三维显示,因而用户在维持三个轴的显示的同时,通过将对象转动轴与其它转动轴区分开,几乎不会混淆转动轴。优选地,显示三个轴时的原点是转动中心。例如,将原点设置到如上所述作为末端执行器模型eem的抓取位置的一对爪部的中间位置。

抓取位置复制功能

可以设置如下的抓取位置复制功能,其中在该抓取位置复制功能中,在登记多个抓取位置时,读取已登记的抓取位置,并且基于该抓取位置来改变抓取位置以登记为新的抓取位置。通常,经常针对单个工件登记多个抓取位置。这是因为,如果登记多个抓取位置,则可以从多个抓取解中选择最佳解,因而即使在所获得的抓取解候选干扰的情况下,如果存在其它的抓取解候选,则判断为可以进行抓取的可能性也高。在登记多个抓取解的情况下,如果每次均从一开始进行抓取登记,则在登记相同的抓取位置时引起更多的麻烦,因而作业变麻烦。因此,复制已登记的抓取位置,改变针对该抓取位置所设置的一些位置参数,因而可以存储新的抓取位置。因此,可以节省时间和精力,并且可以容易地登记多个抓取位置。同样,可以读取现有的抓取位置,并且可以校正、覆盖并存储位置参数。

抓取位置复制部8d8

通过使用图26所示的抓取位置复制部8d8来实现抓取位置复制功能或抓取位置编辑功能。抓取位置复制部8d8读取抓取位置存储部9b中所存储的工件模型或末端执行器模型的抓取位置,并且改变并登记构成抓取位置的位置参数。如果在利用抓取位置复制部8d8改变抓取位置时、如上所述也根据引导来顺次地登记位置参数,则变得更容易理解在相应步骤中优选改变哪个位置参数,因而简化了抓取登记。

如上所述,可以添加适配功能,其中在该适配功能中,在指定抓取位置的情况下,末端执行器模型自动地移动到工件模型的抓取位置。例如,可以在图36的z-rz指定画面240上的操作栏142中设置“适配”按钮154,并且可以执行适配功能,使得可以自动地设置z坐标。

实施方式5

可以限制搜索模型可采取的姿势或角度,从而提高三维搜索的精度。例如,考虑以下:通过三维搜索来从如图43所示多个板状工件wk9散装装载的工件组中检测工件的位置和姿势。在这种情况下,在图44a~44f中示出利用三维cad数据来表示图43的工件wk9的工件模型wm9的各面。换句话说,图44a是工件模型wm9的平面图,图44b是其底视图,图44c是其前视图,图44d是其后视图,图44e是其右侧视图,并且图44f是其左侧视图。登记基本方向图像中的除重复面以外的面作为搜索模型。这里,假定登记图44a、44b、44c和44e的四个面。在这种状态下,通过对散装工件组摄像来获取具有三维信息的点组数据,并且进行三维搜索。结果,可能发生误检测,仿佛如在图45中利用x所示工件以垂直姿势存在那样。实际上,薄的板状工件几乎不会直立,因而如图44c所示,板状工件在前视图中基本呈直线状或矩形。因此,存在如下情况:工件的一部分的形状与形成工件的表面的另一部分的形状(例如,图44a或44b所示的形状)是共通的,因而发生误检测。

相反,可以限制工件可采取的姿势,并且可以进行三维搜索,但难以设置用于进行姿势限制的条件。例如,存在可以通过使用如图46所示的z-y-z系统的欧拉角定义z轴、y轴和z轴的转动角范围来表现工件的所有姿势的方法,但在该方法中,不容易定义绕各轴的转动角使得获得用户所期望的姿势范围。

因此,在实施方式5中,用户可以在无需使用这种麻烦概念的情况下容易地设置工件可采取的姿势。具体地,在登记搜索模型的情况下,排除散装几乎不会采取的姿势,因而没有检测到与该姿势有关的面。这种设置通过使用图6所示的搜索模型登记部8g来进行。搜索模型登记部8g针对散装装载的多个工件组,从一些基本方向图像中选择被登记为用于进行用于指定各工件的位置和姿势的三维搜索的搜索模型的基本方向图像。关于搜索模型登记部8g和基本方向图像选择部8e之间的差异,基本方向图像选择部8e选择观看方式相同的基本方向图像其中之一。相反,搜索模型登记部8g将在三维搜索期间不期望作为搜索对象的基本方向图像从搜索模型登记对象中排除。优选地,在基本方向图像选择部8e排除观看方式相同的基本方向图像的状态下,搜索模型登记部8g进一步将不必要的基本方向图像从搜索模型登记对象中排除。可选地,选择期望搜索的基本方向图像。结果,用户预先选择缩小到搜索模型登记候选的基本方向图像,因而可以通过减少候选的数量来容易地进行搜索模型登记作业。

搜索模型登记画面130b

这里,图47示出在上述的图43中针对工件登记搜索模型的搜索模型登记画面130b的示例。在图47所示的搜索模型登记画面130b上,基本方向图像选择部8e针对与图43的工件wk9相对应的工件模型wm9,将在图44a~44f所示的示例中的观看方式相同的图44d和44f的两个基本方向图像从基本方向图像生成部8e’所生成的与六面图相对应的六个基本方向图像中排除,并且在该状态下,将其余的四个基本方向图像显示在显示单元的六面图显示区域3a中。在该状态下,作为搜索模型登记部8g设置是否要登记搜索模型的方面,设置搜索模型登记画面130b上的各基本方向图像中所显示的诸如“登记”等的选择复选框131b。如果用户选中选择复选框131b,则登记相应的基本方向图像作为搜索模型,但相反,如果用户没有选中选择复选框131b,则将相应的基本方向图像从搜索模型登记对象中排除。用户可以在观看六面图显示区域3a中所显示的各基本方向图像的同时,排除在实际散堆状态下几乎不会采用的姿势。在图47所示的示例中,模型c和模型d的选择复选框131b未选中,并且可以将观看侧面的姿势、即板状工件呈直立的姿势从三维搜索对象中排除。结果,用户可以在无需针对工件进行诸如麻烦的角度计算或范围指定等的作业的情况下在观看表示工件的姿势的基本方向图像的同时,排除无需进行搜索的图像或者仅选择所需图像,并且可以容易地对作为三维搜索对象的工件的姿势施加限制。

搜索模型登记部8g不限于用户手动地选择搜索模型登记对象或搜索模型排除对象的方面,并且可以通过计算工件模型的形状或重心来自动地提取并排除几乎不会采取的姿势的基本方向图像。

可选地,可以使用自动计算和手动选择的组合,并且例如,如图47所示,可以存在如下结构:在将基本方向图像选择部8e所选择的所有基本方向图像都显示在搜索模型登记画面130b上的同时,针对通过计算而判断为几乎不会采取的姿势的基本方向图像,作为初始状态,选择复选框131b被显示成未选中。用户可以在参考搜索模型登记部8g中的自动判断结果的同时根据需要手动地校正选择,并且可以通过按下ok按钮来更加可靠地登记搜索模型。

在图47中,说明了通过自动计算来进行基本方向图像选择部8e中的选择的示例,但基本方向图像选择部中的自动判断和手动选择可以以相同方式彼此组合。例如,作为基本方向图像选择部中的判断的结果,被判断为具有相同观看方式的基本方向图像其中之一呈灰化显示并且显示在六面图显示区域中,因而用户可以确认基本方向图像选择部中的自动判断的结果。在判断结果错误的情况下,用户可以手动地选择基本方向图像以保持该基本方向图像作为基本方向图像、或者相反排除该基本方向图像。如上所述,显示自动计算的结果并由用户进行确认,因而可以进一步提高图像选择的精度。使用基于自动判断结果来预先设置选择/非选择的状态作为初始状态。因而,如果基于自动判断的选择结果是正确的,则用户按下ok按钮以批准该选择,使得可以使用户侧的时间和精力最小化。

将不必要的面从三维搜索对象中排除的目的还可应用于除工件直立状态以外的状态。例如,除工件完全随机堆放的方面外,在特定面暴露的方面中给出工件组的输入图像的状态下,可以通过排除未暴露的面来防止误检测。特别地,这对于正面和背面的形状彼此相似、因而容易误检测到背面的工件是有效的。如上所述,如果仅需要将实际不能看到的背面的搜索模型从三维搜索对象中排除,则可以实现与限制工件的姿势相同的效果,使得未检测到工件的背面侧。

登记搜索模型的过程

将参考图48的流程图来说明登记设置有姿势限制的搜索模型的过程。这里,将说明登记工件的三维cad数据作为搜索模型的过程。

首先,在步骤s4801中,读取工件的三维cad数据。接着,在步骤s4802中,将三维cad数据模型的外接立方体的中心校正为三维cad数据的原点。在步骤s4803中,生成从“上”、“下”、“左”、“右”、“前”和“后”各方向所观看到的高度图像。这里,在基于三维cad数据来生成高度图像的情况下,生成高度图像,使得cad的原点是高度图像的中心。在步骤s4804中,将观看方式相同的高度图像从所生成的高度图像中删除。

在步骤s4805中,从剩余的高度图像中选择三维搜索所使用的搜索模型。这里,搜索模型选择部8i排除不必要的基本方向图像,并且选择必要的基本方向图像。

最终,在步骤s4806中,将所选择的高度图像登记为搜索模型。这里,搜索模型登记部8g登记搜索模型。以上述方式,可以排除不必要的姿势的基本方向图像,因而可以在实质设置有姿势限制的状态下登记搜索模型。

实施方式6

说明了代替数值而是通过使用图像来限制三维搜索对象的示例。然而,本发明不限于该方面,并且代替该方面或除该方面外,可以通过使用搜索模型的倾斜角或转动角来限制姿势。结果,可以根据工件实际堆放的状态来适当地设置三维搜索条件,因而可以减少搜索时的误检测。在图49中例示进行使用倾斜角和转动角的姿势限制的倾斜角/转动角设置画面160的示例作为实施方式6。图49所示的倾斜角/转动角设置画面160包括:姿势限制搜索模型选择栏161,用于选择进行姿势限制的搜索模型;倾斜角上限设置栏162,用于指定容许倾斜角的上限;以及转动角范围设置栏163,用于指定容许的转动角范围。

倾斜角/转动角设置画面160

在倾斜角/转动角设置画面160上,代替针对工件通过使用例如表示绕坐标轴的转动角的rx、ry和rz来指定三维姿势的困难方法,可以通过使用从搜索模型的登记期间的姿势起的“倾斜角”和“转动角”作为无需专业知识而容易理解的参数,来进行指定。这里,从使用被登记为搜索模型的基本方向图像的姿势作为登记姿势的状态起,指定倾斜角和转动角(后面将说明详情)。

具体地,在图49的倾斜角/转动角设置画面160上,在姿势限制搜索模型选择栏161中选择施加了姿势限制的搜索模型。在图49所示的示例中,选择图47的搜索模型登记画面130b上所登记的模型a的搜索模型。

在倾斜角上限设置栏162中,设置相对于登记期间的姿势的作为三维搜索的结果所输出的预定范围内的倾斜角。

在转动角范围设置栏163中设置基准角度和角度范围。首先,将相对于登记期间的姿势的转动角输入至基准角度设置栏。这里所设置的转动角是指定转动角范围时的基准角度。在范围设置栏中设置作为三维搜索的结果所输出的、相对于基准角度设置栏中所设置的基准角度的转动角范围。

使用倾斜角和转动角的姿势限制方法

这里,将说明基于搜索模型的三维姿势来获得倾斜角和转动角的方法。在限制三维搜索中要登记为搜索模型的面的方法中,获得了自动施加姿势限制的形式。另一方面,在向被登记为搜索模型的面施加姿势限制的情况下,使用针对该面所登记的姿势。

用诸如相对于所登记的姿势的“倾斜角”和相对于所登记的姿势从正上方观看到的“转动角”等的两个角度进行姿势限制。如果仅使用这两个角度,则能够容易地理解其概念,并且可以相对容易地进行角度限制。

倾斜角

首先,如图50a~50c所示,将倾斜角定义为相对于被登记为搜索模型时的工件模型的姿势的z垂直方向的角度。图50a示出登记搜索模型时的工件模型wmr的姿势以及被定义为工件模型的垂直方向的z轴。相反,输入图像中所包括的工件wki的姿势和被定义为该工件wki的垂直方向的z’轴处于如图50b所示的状态。在该状态下,如图50c所示,将“倾斜角”定义为z轴和z’轴之间的倾斜角、即工件在垂直方向上的倾斜。结果,可以与倾斜方向无关地利用诸如相对于搜索模型的登记状态的倾斜等的单个角度来表示倾斜角。可以获得用户能够容易地从概念上理解倾斜角的优点。

转动角

另一方面,将转动角定义为从登记期间的垂直方向(即,z轴)观看时的转动角。这里,将参考图51a~51c来说明转动角。在这些图中,图51a示出登记搜索模型时的工件模型wmr和定义xy平面的y轴。与之相对,输入图像中所包括的工件wki的姿势以及定义xy平面的y’轴处于如图51b所示的状态。在该状态下,如图51c所示,将“转动角”定义为从垂直方向(即,z轴)观看时的转动角。在该示例中,在以定义工件模型或工件的y轴方向上的坐标轴作为基准的状态下,将转动角定义为从z轴方向观看到的y轴的角度。利用该定义,可以获得用户可以以与现有技术的二维图案搜索中的角度相同的概念容易地理解转动角的优点。

作为针对工件定义原点和xyz轴的方法,可以使用已知的算法。例如,如图8所示,基于工件模型或输入图像中所包括的工件的形状信息来计算外接工件的图形(例如,立方体或球体),计算该图形的重心以用作工件的原点,并且定义xyz轴。关于定义xyz轴的方法,在使用cad数据的情况下,可以使用原始cad数据的坐标轴的方向作为各xyz轴的方向。在使用通过实际对工件进行三维摄像所获得的实测数据的情况下,可以使用实测数据的垂直方向作为z轴,可以使用平面图中的实测数据的上方向作为y轴,并且可以使用平面图中的实测数据的右方向作为x轴。关于原点,可以使用工件模型的重心或cad数据的中心坐标作为原点。

基于三维姿势来获得倾斜角和转动角的过程

这里,将参考图52的流程图来说明基于三维姿势获得倾斜角和转动角的过程。首先,在步骤s5201中,获得倾斜角。例如,在相对于如图53a所示的状态下登记时的工件模型wmr、输入图像中所包括的工件wki的姿势如图53b那样的情况下,如图53c所示,获得该倾斜角作为垂直方向上的z轴的倾斜。

接着,在步骤s5202中,使输入图像三维地转动,使得z’轴与z轴一致。换句话说,去除了倾斜。例如,如图54a所示,针对图53c的输入图像wki,利用z’轴的矢量和z轴的矢量之间的外积矢量vp作为转动轴,来使z’轴转动成与z轴重叠。结果,如图54b那样获得转动后的输入图像wki’,并且去除了倾斜。

最后,在步骤s5203中,获得转动角。例如,获得图55a所示的登记时的工件模型wmr的y轴和如图55b所示的倾斜被去除的输入图像wki’的y’轴。在该状态下,如图55c所示,获得从垂直方向(即,z轴)观看时的y轴和y’轴之间的角度作为转动角。以上述方式,可以基于输入图像中的三维姿势来获得倾斜角和转动角。

倾斜角的上限的设置

作为在图49的倾斜角/转动角设置画面160上设置倾斜角上限的示例,例如,在光泽强的金属工件的情况下,在面倾斜时,不能进行三维测量的范围变宽。如果在该状态下进行三维搜索,则在三维搜索中发生误检测的风险增加。因此,将误检测的风险为预定水平以上的过度倾斜姿势从三维搜索对象中排除,因而可以仅留下可靠性高的搜索结果。例如,在倾斜为40度以上的情况下,针对容易发生误检测的工件,将倾斜角上限设置为40度,因而可以排除倾斜为40度以上的搜索结果。

转动角范围的上限的设置

另一方面,作为在图49的倾斜角/转动角设置画面160上设置转动角范围的示例,由于例如上述的图47中的模型a或模型b即使在转动了180度的状态下在整体形状特性中也具有许多相似部分,因此在由于多重反射等的影响因而不进行三维测量的位置的数量增加的情况下,转动姿势可能被误检测为转动了180度的姿势。在真实工件仅沿预定方向堆放的情况下,可以通过使用这种姿势限制来排除相反方向的结果。例如,在将转动角范围设置为相对于基准角度的±30度的情况下,仅检测到该角度范围内的搜索结果。

末端执行器安装位置设置画面170

使用欧拉角来定义位置和姿势的上述方法不仅可用于定义利用末端执行器模型抓取工件模型的位置和姿势,而且还可用于定义末端执行器安装至机器人的臂部的末端的位置。这里,将说明设置末端执行器安装至机器人的臂部的末端的位置的过程。在如图56所示的末端执行器安装位置设置画面170上进行末端执行器的安装位置的设置。图56所示的末端执行器安装位置设置画面170包括图像显示栏141和操作栏142。在图像显示栏141中显示末端执行器模型。读取预先创建的三维cad数据作为末端执行器模型。可选地,末端执行器模型可以由对末端执行器进行仿真的诸如立方体或圆柱等的基本图形构成,以进行显示。

在操作栏142中设置用于定义安装至臂部的末端的末端执行器的安装位置的末端执行器安装位置设置栏171。末端执行器安装位置设置栏171中所设置的末端执行器安装位置参数包括末端执行器模型的安装位置参数(x、y和z)和安装姿势参数(rx、ry和rz)。例如,通过使用欧拉角来针对臂部的末端处的凸缘面fls的中心来定义这些参数。

在上述的图14等所示的工件模型的抓取位置登记画面上,登记抓取工件模型的末端执行器模型的部位(例如,末端所设置的一对爪部)和所抓取的工件之间的位置关系。与之相对,在末端执行器安装位置设置画面170上登记末端执行器模型安装至臂部的末端的安装位置。因此,无需显示工件模型等,并且将末端执行器模型和凸缘面fls显示在图像显示栏141中。

抓取位置指定画面180

与之相对,如图57所示,在用于指定工件模型的抓取位置的抓取位置指定画面180上,显示末端执行器模型和工件模型,并且指定抓取工件模型的位置。图57所示的抓取位置指定画面180包括图像显示栏141和操作栏142,并且在图像显示栏141中,选择抓取对象工件,并且在三维图像中以所抓取的面指向表面的姿势绘制并显示该工件。进一步显示末端执行器模型,并且将该末端执行器模型调整为抓取工件模型的位置和姿势。在操作栏142中设置用于指定抓取位置的抓取位置指定栏181。用户在抓取位置指定栏181中调整位置参数,使得工件模型和末端执行器模型之间的相对关系正确。可选地,通过拖动图像显示栏141中所显示的末端执行器模型或工件模型来在画面上调整位置或姿势。将在画面上调整后的位置参数反映在抓取位置指定栏181中。可以通过使用上述的欧拉角来表示抓取位置指定栏181中的位置参数。

多抓取位置选择画面190

关于抓取位置的登记,针对特定工件的单个面(例如,基本方向图像),不是指定单个位置,而是可以指定多个位置。可以利用图像确认多个位置处所登记的抓取位置。例如,图58示出多抓取位置选择画面190的示例。多抓取位置选择画面190还包括图像显示栏141和操作栏142。操作栏142设置有:面选择栏191,用于选择定义了抓取位置的工件模型的面;以及抓取位置列表显示192,其中在该抓取位置列表显示192中,以列表形式显示针对在面选择栏191中选择的面所设置的抓取位置。在该示例中,在面选择栏191中选择面c,并且在抓取位置列表显示192中以列表形式显示作为针对面c所设置的抓取位置的抓取1~3。如果在这些抓取中选择了抓取2,则在图像显示栏141中显示末端执行器模型以作为抓取2所登记的抓取位置和抓取姿势来抓取工件模型的场景。以上述方式,用户可以选择并且确认所登记的多个抓取位置。可以根据需要来校正并更新所登记的抓取位置。此外,这里,可以通过使用上述的欧拉角来显示抓取姿势。以上述方式,在通过使用欧拉角进行登记的同时,用户难以理解的欧拉角的概念被显示成从视觉上可理解而无需理解其详情,校正并显示转动轴,并且可以调整的参数由于引导功能而受到限制。因此,可以通过减少混淆来进行设置作业。

校正末端执行器安装位置的功能

如上所述,将末端执行器安装至机器人的臂部的末端。另一方面,在无需使用真实的末端执行器的情况下,在机器人设置设备侧(机器人视觉侧)的虚拟三维空间上,进行抓取位置的登记(教导)或者末端执行器模型是否可以以所登记的位置和姿势来抓取工件模型的抓取判断(仿真)。利用转换部8x基于利用图17中的校准部8w所获得的校准信息来进行从作为虚拟三维空间的视觉空间的坐标位置向作为真实空间的机器人空间的坐标位置的转换。

然而,在机器人设置设备侧虚拟地设置的末端执行器模型的安装状态不同于真实的机器人rbt的末端执行器eet的安装状态的情况下,没有维持在校准信息中所定义的视觉空间和机器人空间之间的对应关系,因而在要通过使用真实的机器人rbt来抓取工件时发生偏差。

这里,图59示出末端执行器模型和凸缘面fls之间的位置关系。图59示出机器人的臂部的末端的凸缘面fls的原点of以及作为末端执行器模型eem的位置的末端执行器模型eem的中心oe。在机器人设置设备侧,将末端执行器模型eem的位置设置为针对机器人的臂部的末端的凸缘面fls的位置(x、y和z)和姿势(rx、ry和rz)。换句话说,在图59所示的示例中,设置从凸缘面fls的原点of观看到的末端执行器模型eem的中心oe的位置(x、y和z)和姿势(rx、ry和rz)。这里,如果在末端执行器的真实安装状态下存在误差,则在相对于凸缘面fls的原点的末端执行器模型eem的位置中可能发生偏差。结果,由于末端执行器的安装状态因而在机器人设置设备侧和机器人侧在偏离位置处进行抓取。

因此,在本实施方式中,提供用于校正末端执行器安装位置的功能以将真实的末端执行器的安装状态反映到机器人设置设备侧,因而不会发生这种偏差或误差。用于校正末端执行器安装位置的功能由图17所示的末端执行器安装位置校正部8y来实现。具体地,通过使用如下的三维cad数据来对通过对真实的末端执行器摄像并进行三维测量所获得的实测数据进行三维搜索,以获取真实的安装位置的位置和姿势,其中该三维cad数据是工件的抓取位置的登记或者配置末端执行器时的干扰判断所使用的末端执行器模型,并且虚拟地表现末端执行器的三维形状。因此,检测到这种误差,因而校正了机器人设置设备侧的末端执行器安装位置的设置。如上所述,用户可以在显示单元的图像显示区域中确认通过三维地测量真实的末端执行器所获得的点组和机器人设置设备侧在虚拟三维空间上所定义的末端执行器模型的安装状态之间的偏差的同时,进行手动调整。

自动校正偏差的过程

这里,将参考图60的流程图来说明用于自动地校正真实的末端执行器和由三维cad数据构成的末端执行器模型之间的误差的校正功能。假定以下:预先利用图17所示的校准部8w进行将作为虚拟空间的视觉空间的坐标位置转换成作为真实空间的机器人空间的坐标位置的校准,并且将校准信息保持在存储单元9中。还假定通过使用三维cad数据来准备末端执行器模型。

末端执行器摄像画面330

首先,在步骤s6001中,进行用于在传感器单元中对真实的末端执行器摄像的准备。具体地,操作机器人以使末端执行器移动,使得可以利用作为传感器单元的方面的三维照相机来对末端执行器摄像。接着,在步骤s6002中,对末端执行器进行三维测量。

例如,使用图61所示的末端执行器摄像画面330作为用于在传感器单元中对真实的末端执行器摄像的末端执行器摄像单元的方面。末端执行器摄像画面330包括图像显示栏141和操作栏142。在图像显示栏141中实时地显示利用传感器单元2所摄像的臂部arm的末端处的凸缘部所安装的末端执行器eet。操作栏142设置有末端执行器位置指定栏331,其中该末端执行器位置指定栏331示出末端执行器eet的位置和姿势。在末端执行器摄像画面330上,用户可以手动地操作机器人,使得构成传感器单元的照相机可以对机器人的末端执行器eet摄像。在这种情况下,摄像对象不是抓取工件的末端执行器eet的爪部,而是与臂部的安装状态。因此,优选地,进行摄像,使得末端执行器eet的面积增大。优选地,利用照相机以末端执行器eet容易地抓取正常工件的向下姿势并且还以水平姿势拍摄末端执行器eet的整个图像。以上述方式,用户定位末端执行器eet的姿势,然后按下“摄像”按钮332。结果,获取到末端执行器的三维拍摄图像。换句话说,对末端执行器执行三维测量。

接着,在步骤s6003中,获取机器人坐标系中的凸缘部的位置-姿势a。这里,假定机器人坐标系中的位置-姿势a例如是安装有所摄像的末端执行器的凸缘部fls的机器人坐标系中的位置和姿势。步骤s6003和步骤s6002中的处理的顺序可以彼此更换。

在步骤s6004中,将机器人坐标系中的凸缘部的位置-姿势a转换成视觉空间上的位置-姿势b。这里,图17的转换部8x基于通过预先进行校准所获得的针对机器人空间和视觉空间之间的坐标转换的校准信息,来在真实空间和虚拟空间之间进行转换。

在步骤s6005中,进行三维搜索,使得检测到视觉空间上的末端执行器的位置-姿势c。这里,通过使用末端执行器模型所使用的三维cad数据作为搜索模型来对步骤s6002中所获得的三维测量数据进行三维搜索。三维搜索方法可以适当采用已知算法。结果,检测到虚拟空间上的末端执行器的位置和姿势。

在步骤s6006中,计算视觉空间上的末端执行器的位置-姿势c相对于凸缘部fls的位置-姿势b的相对位置-姿势。这里所获得的坐标位置给出了对于凸缘部fls而言正确的(换句话说,考虑到位置偏差等的)末端执行器模型的位置和姿势。

最后,在步骤s6007中,将所获得的位置和姿势反映到视觉侧的末端执行器设置中。换句话说,将所获得的位置和姿势反映到视觉侧的末端执行器模型的位置和姿势的设置中。以上述方式,可以将真实的末端执行器的安装状态自动地反映到视觉侧。

手动地校正偏差的方法

以上说明涉及自动地校正机器人空间和视觉空间之间的偏差的过程。然而,本发明不限于自动地校正偏差的结构,并且可以手动地校正偏差。接着,将参考图150的流程图来说明手动地校正偏差的过程。这里,步骤s15001~s15004的处理同与上述自动校正有关的图60中的步骤s6001~s6004的处理相同,并且将省略针对这些步骤的详细说明。即,在步骤s15001中,操作机器人以使末端执行器移动,使得可以利用三维照相机对机器人的末端执行器摄像,在步骤s15002中,对末端执行器进行三维测量,在步骤s15003中,获取机器人坐标系中的凸缘部的位置-姿势a,并且在步骤s15004中,将机器人坐标系中的凸缘部的位置-姿势a转换成视觉空间上的位置-姿势b。

在步骤s15005中,根据视觉空间上的凸缘部的位置-姿势b,基于末端执行器设置来计算末端执行器的位置-姿势d。这里,基于与以下有关的信息来获得末端执行器的位置-姿势d:视觉空间上的机器人的末端处的凸缘部的位置-姿势b以及末端执行器设置中所设置的末端执行器相对于凸缘部的位置-姿势。

接着,在步骤s15006中,以叠加方式显示通过三维测量所获得的点组和末端执行器的位置-姿势d的cad显示。这里,将作为末端执行器的三维cad数据的末端执行器模型eem显示在步骤s15005中所获得的末端执行器的位置-姿势d的位置处,并且将通过三维测量所获得的点组pc显示成叠加在真实的末端执行器上。图151和152示出进行这种叠加显示的偏差校正画面的示例。

在步骤s15007中,判断在点组和cad显示之间是否存在不可忽视的偏差。在存在不可忽视的偏差的情况下,流程进入步骤s15008,并且改变末端执行器设置,使得校正该偏差,然后流程返回至步骤s15005,使得重复地进行上述处理。末端执行器设置包括末端执行器相对于凸缘部的位置和姿势。另一方面,在不存在偏差的情况下,处理结束。

偏差校正单元

图151示出作为进行偏差校正的偏差校正单元的方面的偏差校正画面的示例。图151示出存在不可忽视的偏差的情况。在偏差校正画面840上,在图像显示栏141中,点组pc被显示成叠加在末端执行器模型eem上。如图151所示,可以看出,通过实际三维地测量末端执行器所获得的并且利用白色点指示的点组pc相对于末端执行器模型eem在左斜下方向上发生偏差。

操作栏142设置有末端执行器设置栏841,并且定义末端执行器相对于凸缘部的位置(x、y和z)和姿势(rx、ry和rz)。这里,图151的右部示出的xyz的长的坐标轴表示作为机器人末端的凸缘部fls的原点of。左部所示的xyz的短的坐标轴表示末端执行器模型eem相对于机器人末端(凸缘部)的三维cad数据的原点oe。用户在确认图像显示栏141中所显示的末端执行器模型eem和点组pc的同时,调整末端执行器模型eem的位置和姿势。例如,在操作栏142的末端执行器设置栏841中指定末端执行器模型eem的位置和姿势作为数值,或者在图像显示栏141上拖动并移动末端执行器模型eem,使得将末端执行器模型eem调整成叠加在点组pc上。

图152示出以上述方式末端执行器模型eem与点组pc匹配的示例。在该示例中,在末端执行器设置栏841中,将z方向上的位置设置为90mm,因而通过使末端执行器模型eem在z方向上偏移而发生匹配。在调整了末端执行器模型的位置和姿势之后,如果按下“ok”按钮842,则更新末端执行器设置。结果,可以根据真实的末端执行器的安装状态来调整视觉侧的位置和姿势。

上述手动偏差校正可以与自动校正相组合地进行。将参考图153的偏差校正画面850来说明该示例。在图153所示的偏差校正画面850中,在操作栏142中设置用于手动地调整末端执行器模型eem的位置和姿势的末端执行器设置栏841,并且在下部设置“自动校正”按钮843。如果按下了“自动校正”按钮843,则在内部进行三维搜索,并且自动地校正末端执行器模型eem的位置和姿势以与点组pc匹配。例如,在确认在图像显示栏141中被显示成彼此叠加的末端执行器模型eem和点组pc的状态的同时,可以进行自动偏差校正或者可以手动地细微调整自动校正结果。特别地,在由于将具有高光泽的金属用于末端执行器并由此因反射光而未正确地检测到点组pc、因此不能良好地执行自动校正功能的情况下(例如,在三维搜索失败的情况下),手动调整可以应对该情况。以上述方式,用户可以手动地校正机器人空间和视觉空间之间的偏差。

在现有技术中,在利用凸缘部和末端执行器之间的安装部来组装诸如连接器等的安装构件、但在视觉侧忘记设置偏移量的情况下,存在位置或姿势发生偏差的问题。在这种情况下,如果不存在确认偏差的功能或者校正偏差的功能,则存在以下问题:在实际操作期间利用机器人抓取工件时无法正确地进行抓取,或者发生碰撞。这种误差的原因多种多样,并且在现有技术中,需要大量时间和精力来调查原因和调试。相反,根据本实施方式,可以手动地或自动地校正偏差,因而可以根据真实的末端执行器的安装状态来容易地进行灵活调整。

在图59所示的示例中,将末端执行器模型eem的位置设置到三维cad数据的中心位置,但这仅是示例,并且可以定义其它位置。例如,在图59中,使用外接三维cad数据的立方体的中心,但也可以使用外接立方体的端部分或者作为输入源的三维cad数据的原点作为基准。

将实测数据登记在搜索模型中的过程

以上说明涉及在登记三维cad数据作为搜索模型的情况下的过程。然而,本发明不限于如上所述的作为搜索模型的三维cad数据,并且例如可以登记通过在传感器单元中实际对工件摄像所获得的实测数据作为搜索模型。这里,在图27的步骤s2701中,将参考图62的流程图来说明登记实际数据作为搜索模型的过程。

首先,在步骤s6201中,期望登记的工件的面指向上,将该工件放置在平面上,并且利用传感器单元进行三维测量。

接着,在步骤s6202中,登记所获得的实测数据作为搜索模型。

最后,在步骤s6203中,判断是否登记了三维搜索所需的数量的搜索模型,并且在没有登记三维搜索所需的数量的搜索模型的情况下,流程返回至步骤s6201,重复地进行上述处理,并且在登记了三维搜索所需的数量的搜索模型的情况下,该处理结束。后面参考图102~106来说明这些过程的详情。

实际操作期间的第一过程

在以上述方式完成所需的设置作业的状态下,对实际散装装载的工件组进行拾取操作。这里,将参考图63的流程图来说明以下过程:在根据图28所示的过程登记搜索模型的状态下,判断在实际操作期间是否可以抓取工件、即针对所检测到的各工件是否存在抓取解。这里,图6的计算单元10判断抓取解的有无。

首先,在步骤s6301中,开始对散装工件进行三维测量。这里,通过在传感器单元中对散装工件组摄像来进行三维测量,因而获取到具有高度信息的三维形状。

接着,在步骤s6302中,通过使用工件模型来对所获得的工件组的三维形状进行三维搜索,并且检测各工件的位置和姿势。

接着,在步骤s6303中,针对所检测到的单个工件,基于工件的位置和设置期间所登记的工件的抓取姿势来计算要配置末端执行器的位置和姿势。

接着,在步骤s6304中,通过使用末端执行器模型来进行与末端执行器在所计算出的位置处是否干扰周边物体有关的干扰判断。

在步骤s6305中,判断末端执行器是否干扰,并且在末端执行器不干扰的情况下,判断为存在针对该工件的抓取解,并且该处理结束。

另一方面,在判断为末端执行器干扰的情况下,流程进入步骤s6306,并且判断是否存在针对该工件所登记的其它抓取位置。在登记了其它抓取位置的情况下,流程返回至步骤s6303,并且针对抓取位置重复地进行处理。

另一方面,在没有登记其它抓取位置的情况下,流程进入步骤s6307,并且判断是否存在所检测到的其它工件。在存在其它工件的情况下,流程返回至步骤s6303,并且代替该工件而对其它工件重复地进行处理。在不存在其它工件的情况下,判断为不存在抓取解,并且该处理结束。

以上述方式,图6的计算单元10判断可以抓取工件的抓取解的有无。在获得了抓取解的情况下,向机器人控制器6给出指示,使得利用末端执行器在所确定的抓取位置处抓取工件。因而,机器人控制器6控制末端执行器以按照指示拾取工件。

在上述过程中,如果利用任意工件获得了抓取解,则检查抓取位置的处理此时结束,并且进行控制,使得在与所获得的抓取解相对应的抓取位置处抓取工件。然而,本发明不限于该方法,并且例如可以存在如下结构:获得能够进行抓取的所有抓取位置作为抓取位置候选,然后从抓取位置候选中选择抓取位置。例如,评价指标计算部8q计算得分作为各抓取位置候选的评价指标,并且选择得分最高的抓取位置候选作为抓取位置。基于工件的高度信息,可以选择位于散装工件组中的高位置处(即,更高位置处)的工件的位置作为抓取位置。优选地,计算单元10通过考虑到得分和高度信息这两者来从多个抓取解中选择抓取位置。以上述方式,可以进行更适当的拾取。

实际操作期间的第二过程

以上说明涉及在根据图28的过程登记搜索模型的状态下实际操作期间的过程。在登记搜索模型时,如图48所示,可以在向姿势施加限制的状态下登记搜索模型。这里,将参考图64的流程图来说明在根据图48的过程登记搜索模型的状态下、在对实际的散装工件组进行拾取操作的实际操作期间的过程。首先,在步骤s6401中,开始对散装工件进行三维测量。这里,通过在传感器单元中对散装工件组摄像来进行三维测量,因而获取到具有高度信息的三维形状。

接着,在步骤s6402中,通过使用工件模型来对所获得的工件组的三维形状进行三维搜索,并且检测各工件的位置和姿势。

接着,在步骤s6403中,将未包括在范围中的姿势从倾斜角和转动角的设置范围中排除。

接着,在步骤s6404中,针对所检测到的单个工件,基于该工件的位置和设置期间所登记的工件的抓取姿势来计算要配置末端执行器的位置和姿势。

接着,在步骤s6405中,通过使用末端执行器模型来进行与末端执行器在所计算出的位置处是否干扰周边物体有关的干扰判断。

在步骤s6406中,判断末端执行器是否干扰,并且在末端执行器不干扰的情况下,判断为针对该工件存在抓取解,并且该处理结束。

另一方面,在判断为末端执行器干扰的情况下,流程进入步骤s6407,并且判断是否存在针对该工件所登记的其它抓取位置。在登记了其它抓取位置的情况下,流程返回至步骤s6404,并且针对这些抓取位置重复地进行处理。

另一方面,在没有登记其它抓取位置的情况下,流程进入步骤s6408,并且判断是否存在所检测到的其它工件。在存在其它工件的情况下,流程返回至步骤s6404,并且代替该工件而是针对其它工件重复地进行处理。在不存在其它工件的情况下,判断为不存在抓取解,并且该处理结束。

干扰判断

这里,将说明在上述的图63的步骤s6304中或图64的步骤s6405中的使用末端执行器模型的干扰判断方法。在利用末端执行器抓取工件的情况下,如果末端执行器干扰诸如其它工件或储存容器等的周边障碍物,则可能无法正确地进行抓取。因此,预先利用图31中的干扰判断部8m来计算末端执行器模型以抓取位置候选抓取工件模型时的末端执行器的位置或姿势,因而进行与周边构件的干扰判断。在这种情况下,使用通过传感器单元2中的实际测量所获得的散装工件组或储存容器的三维点组作为周边构件。可以预先登记储存容器等的位置,并且可以进行与末端执行器模型的干扰判断。另一方面,末端执行器的三维cad数据通常由多边形数据构成。例如,通过被称为多边形的微小三角形的聚集体来表现频繁地用作三维cad数据的stl数据。

在通过使用多边形数据和三维点组数据来进行干扰判断的情况下,在现有技术中,判断构成三维点组数据的各三维点位于末端执行器模型的内侧还是外侧,以及在三维点位于末端执行器模型的内侧的情况下,判断为发生干扰,并且在三维点位于末端执行器模型的外侧的情况下,判断为没有发生干扰。然而,在该方法中,需要针对各点进行计算或比较,因而如果数据量增加,则计算量也增加。

使用截面模型的干扰判断的过程

因此,在本发明的各实施方式中,基于末端执行器模型的多边形数据来创建截面模型,将三维点组数据的各点投影到截面模型上,并且判断该点位于截面模型的内侧还是外侧、使得判断这两者之间的干扰。这种干扰判断由图31中的干扰判断部8m来进行。这里,将参考图65的流程图来说明进行干扰判断的过程。

首先,在步骤s6501中,读取末端执行器的多边形数据。接着,在步骤s6502中,基于末端执行器的多边形数据来创建截面模型。该截面模型是由图26中的截面模型生成部8s生成的。这里,将参考图66~67e来说明截面模型生成部8s创建截面模型的方法。首先,针对图66所示的末端执行器模型eem的多边形数据设置基本轴bsl。优选地,沿着末端执行器模型eem的长边方向设置基本轴bsl。沿着与基本轴bsl垂直的正交平面切割末端执行器模型,使得创建多个截面。这里,创建截面的位置例如是多边形数据的顶点位置。可选地,可以按预定距离间隔沿着基本轴创建多个截面,然后根据形状来配置所获得的截面。例如,排除具有相同形状的截面。优选设置基本轴bsl,使得在创建截面时,所需的截面的总数减少。例如,截面模型生成部可以自动计算基本轴bsl的方向,使得截面数少。可以指定用于在所设置的基本轴bsl处获取截面的截面位置,使得例如自动提取出变化大的截面。

以上述方式,可以创建如下的截面模型,其中该截面模型具有沿着末端执行器模型eem的基本轴bsl的各截面的形状和与各截面相对应的基本轴bsl上的截面位置。例如,在图66所示的示例中,在诸如沿着基本轴bsl的截面位置sp1~sp5等的五个位置处获得图67a~67e中分别示出的截面ss1~截面ss5。通过使用以上述方式所获得的截面模型来判断末端执行器模型eem是否干扰三维点组。

具体地,在步骤s6503中,从三维点组中选择三维点作为干扰判断对象,并且基于该点在基本轴bsl的方向上的位置来从截面模型的多个截面中选择干扰判断所用的截面。使用针对各截面所设置的截面位置来进行该选择。例如,假定以下情况:对三维点中的图68a所示的三维点tdp进行与末端执行器模型eem的干扰判断。三维点tdp在沿着基本轴bsl的方向上位于截面位置sp3和sp4之间。因此,通过使用表示sp3和sp4之间的截面形状的截面ss3来进行与三维点tdp的干扰判断。

具体地,在步骤s6504中,计算从三维点tdp投影到包括截面ss3的正交平面上的投影点pp3。在步骤s6505中,进行干扰判断。这里,如果如图68b所示、三维点的投影点pp3的位置位于截面ss3的外侧,则判断为三维点没有干扰。另一方面,如果如图68c所示、三维点的投影点pp3的位置位于截面ss3的内侧,则判断为三维点干扰。最后,在步骤s6506中,判断是否存在剩余的三维点,并且在存在未处理的三维点的情况下,流程返回至步骤s6503,并且重复地进行上述处理。如果针对所有的三维点的干扰判断完成,则处理结束。

以上述方式,可以在所测量到的三维点组和末端执行器模型之间进行干扰判断。以上说明涉及与三维点组数据的干扰判断,但本发明不限于三维点作为干扰判断对象,并且例如可以根据相同过程来对其它对象(例如,线或面)进行干扰判断。

在以上说明中,说明了末端执行器的cad数据是多边形数据的示例,但在不局限于多边形数据的情况下,可以采用其它的cad数据格式同样地进行干扰判断,只要可以采用这些格式计算出末端执行器的截面形状即可。在以上示例中,说明了在二维平面图中表现截面形状的情况,但保持截面形状的数据的方法不限于该形式,并且例如可以保持采用诸如轮廓线的集合等的格式的数据。

添加有附加区域的附加模型中的干扰判断

在针对末端执行器模型的干扰判断中,可以通过使用将立体基本图形所表现的附加区域添加至末端执行器模型的附加模型来进行干扰判断。将参考图69的流程图来说明使用这种附加模型的干扰判断的过程。这里,将说明对如下的附加模型进行干扰判断的示例,其中在该附加模型中,将通过作为基本图形的立方体和圆柱组合所获得的附加区域添加至三维cad模型。

首先,在步骤s6901中,对构成附加区域的基本图形中的立方体的区域进行干扰判断。在步骤s6902中,在作为判断结果判断为存在干扰的情况下,干扰判断处理停止,输出存在干扰,并且处理结束。

另一方面,在判断为不存在干扰的情况下,流程进入步骤s6903,并且进行与作为构成附加区域的基本图形中的另一基本图形的圆柱的干扰判断。在步骤s6904中,在作为判断结果判断为存在干扰的情况下,干扰判断处理停止,输出存在干扰,并且处理结束。

另一方面,在判断为不存在干扰的情况下,流程进入步骤s6905,并且进行与三维cad数据的干扰判断。在步骤s6906中,在作为判断结果判断为存在干扰的情况下,干扰判断处理停止,输出存在干扰,并且处理结束。

另一方面,在判断为不存在干扰的情况下,认为不存在干扰,并且处理结束。

如上所述,针对各基本图形或者按三维cad数据单位顺次地进行干扰判断,并且如果在任何步骤中判断为存在干扰,则此时干扰判断停止,并且输出存在干扰。说明了附加区域由诸如立方体和圆柱等的两个基本图形构成的示例,但即使基本图形的数量增加,也应用相同的过程。换句话说,针对各基本图形顺次地进行干扰判断,并且如果每次判断为存在干扰,则处理停止。

实施方式7

能否抓取判断验证功能

以上说明涉及在实际操作期间作为干扰判断的结果而判断抓取解的有无的过程。然而,根据本发明,除抓取解的有无的判断外,还可以设置能否抓取判断验证功能,其中该能否抓取判断验证功能用于针对不能获得抓取解的抓取位置候选,验证出于何种原因而不能获得抓取解。例如,抓取解候选采用列表形式显示,并且作为干扰判断的结果,判断为存在抓取解的抓取位置候选被显示成ok,并且判断为不存在抓取解的抓取位置候选被显示成ng。在该状态下,选择被判断为ng的抓取位置,并且显示出于何种原因而判断为不存在抓取解。因此,用户参考该信息,并且可以检查可以选择哪个抓取位置作为抓取解,从而校正抓取位置或添加新的抓取位置。将这种示例作为根据实施方式7的机器人系统7000在图70的框图中示出。图70所示的机器人系统7000包括机器人设置设备700、显示单元3b、操作单元4、传感器单元2、机器人控制器6和机器人rbt。向与图6相同的构件赋予相同的附图标记,并且将适当省略针对该构件的说明。

显示单元3b

显示单元3b包括图像显示区域3b和抓取解候选显示区域3c。抓取解候选显示区域3c包括工件能否抓取显示区域3d和工件不能抓取原因显示区域3e。

图像显示区域3b是如下的构件,其中该构件用于将虚拟地表现末端执行器的三维形状并且由三维cad数据构成的末端执行器模型以三维方式显示在虚拟三维空间上。

抓取解候选显示区域3c是如下的构件,其中该构件用于以列表形式显示针对三维搜索部8k搜索得到的一个或多个工件搜索结果中的特定工件所设置的所有抓取位置。

工件能否抓取显示区域3d是如下的构件,其中该构件用于在三维拾取判断部81中的针对各工件所指定的抓取位置处显示能否抓取判断结果。

工件不能抓取原因显示区域3e是如下的构件,其中该构件用于针对判断为在三维拾取判断部8l中的针对各工件所指定的抓取位置处不能抓取的抓取位置,显示不能抓取的原因。

机器人设置设备700

机器人设置设备700包括输入图像获取单元2c、计算单元10、存储单元9、输入/输出接口4b、显示接口3f和机器人接口6b。计算单元10包括末端执行器模型登记部8u、工件模型登记部8t、抓取位置指定部8d、搜索模型登记部8g、三维搜索部8k、三维拾取判断部8l和倾斜角设置部8n。

抓取位置指定部8d包括工件侧抓取部位指定部8d1和末端执行器侧抓取设置部8d2。工件侧抓取部位指定部8d1是如下的构件,其中该构件用于在将末端执行器模型显示在图像显示区域3b中的状态下,指定利用末端执行器模型抓取虚拟地表现工件的三维形状并由三维cad数据构成的工件模型的抓取位置。末端执行器侧抓取设置部8d2是如下的构件,其中该构件用于针对图像显示区域3b中所显示的末端执行器模型,指定抓取工件的抓取位置。

搜索模型登记部8g是如下的构件,其中该构件用于登记虚拟地表现工件的三维形状的第二工件模型作为搜索模型,其中该搜索模型用于针对输入图像中所包括的多个工件组进行用于指定各工件的姿势和位置的三维搜索。被登记为搜索模型的第二工件模型优选是利用工件侧抓取部位指定部8d1指定抓取位置的工件模型。结果,用于进行三维搜索的搜索模型与用于指定抓取位置的工件模型是共通的,因而用户可以实现设置作业的省力化。由于在实际操作期间用于搜索可以抓取的工件的工件模型与用于进行抓取判断的工件模型一致,因此检查在针对搜索到的工件模型所设置的抓取位置处是否可以进行抓取,因而可以进行高效率的处理。

倾斜角设置部8n是用于针对工件的姿势设置容许的倾斜角范围的构件。

三维拾取判断部8l是如下的构件,其中该构件用于基于三维搜索部8k搜索的各工件的搜索结果,来判断末端执行器在工件侧抓取部位指定部8d1针对该工件所指定的抓取位置处是否可以抓取工件。三维拾取判断部8l包括干扰判断部8m和角度判断部8o。

干扰判断部8m是如下的构件,其中该构件用于基于三维搜索部8k搜索的各工件的搜索结果,来判断在工件侧抓取部位指定部8d1针对工件所指定的抓取位置处是否存在与该工件周围所存在的物体的干扰。三维拾取判断部8l判断为针对干扰判断部8m判断为存在干扰的工件,不能进行抓取。结果,显示不能抓取工件的原因,并且例如由于用户容易地检查优选添加哪个抓取位置,因此这有助于抓取位置的重新设置。

角度判断部8o是如下的构件,其中该构件用于判断三维搜索部8k搜索的工件的搜索结果的姿势是否在倾斜角设置部8n所设置的倾斜角范围内。

在角度判断部8o判断为三维搜索部8k搜索的工件的搜索结果的姿势不在倾斜角设置部8n所设置的倾斜角范围内的情况下,三维拾取判断部8l判断为不能抓取工件。结果,在工件的姿势过于陡峭因而不能抓取工件、或者不能期待三维测量的精度的情况下,排除该工件,使得可以防止抓取位置的误选择或误判断,因而可以提高可靠性。

抓取解候选列表显示功能

接着,将参考图71的流程图来说明显示抓取解ng的理由的过程。设置期间的过程和实际操作期间的过程与上述的图27、28和63的过程基本相同,因而将适当省略针对这些过程的详细说明。

首先,在步骤s7101中,对对象工件组进行三维测量。这里,通过使用传感器单元来针对散装工件组获取具有形状信息的实测数据,并且使用该实测数据作为输入图像的数据。

接着,在步骤s7102中,对输入图像进行三维搜索,并且检测输入图像中的各工件的位置和姿势。

在步骤s7103中,从所检测到的工件中选择验证对象工件。

在步骤s7104中,基于所选择的工件的检测位置和预先针对该工件登记的抓取姿势来计算在末端执行器抓取该工件时的末端执行器模型的位置和姿势。

接着,在步骤s7105中,判断所计算出的末端执行器模型的位置和姿势的倾斜角是否没有包括在设置范围内。这里,在判断为倾斜角未包括在该设置范围内的情况下,流程进入步骤s7106,其中在该步骤s7106中,判断为抓取ng,将抓取ng的原因设置为“倾斜角”,然后流程跳至步骤s7111。

另一方面,在步骤s7105中判断为末端执行器模型的倾斜角包括在设置范围内的情况下,流程进入步骤s7107,其中在该步骤s7107中,判断是否进行所计算出的位置处的末端执行器模型和周边物体之间的干扰判断。这里,周边物体是末端执行器模型的周围所存在的储存容器或其它工件。预先利用三维cad数据等对周边物体建模,并且在使末端执行器模型移动到抓取工件模型的位置和姿势的情况下,通过计算来判断周边物体是否干扰末端执行器模型。

在步骤s7108中,在作为干扰判断的结果判断为末端执行器模型干扰周边物体的情况下,在步骤s7109中判断为抓取ng,并且将抓取ng的原因设置为“点组干扰”,然后流程跳至步骤s7111。

另一方面,在步骤s7108中,在作为干扰判断的结果判断为末端执行器模型不干扰周边物体的情况下,在步骤s7110中判断为抓取ok,然后流程进入步骤s7111。

在步骤s7111中,判断针对所选择的工件是否设置了其它抓取姿势,并且在存在其它抓取姿势的情况下,流程返回至步骤s7104,并且重复地进行上述处理。另一方面,在判断为不存在抓取姿势的情况下,在步骤s7112中,针对所有的抓取解候选,在工件不能抓取原因显示区域3e中显示抓取ok和抓取ng的判断结果以及抓取ng的原因。

以上述方式,验证了是否可以抓取给定的工件组,并且可以列出不能抓取的原因。

抓取仿真

接着,将说明进行具体抓取判断的抓取仿真的详情。这里,将说明以下示例:在通过使用如图72所示的工件wk10进行散堆拾取的情况下,进行与是否可以进行抓取有关的判断。基本方向图像生成部8e’生成工件wk10的与六面图相对应的基本方向图像,并且搜索模型登记部8g登记各基本方向图像作为搜索模型。图73a~73f示出基本方向图像的示例。在这些图中,图73a是从z轴的正方向侧观看图72的工件的高度图像a;图73b是从z轴的负方向侧观看图72的工件的高度图像b;图73c是从x轴的正方向侧观看图72的工件的高度图像c;图73d是从x轴的负方向侧观看图72的工件的高度图像d;图73e是从y轴的正方向侧观看图72的工件的高度图像e;以及图73f是从y轴的负方向侧观看图72的工件的高度图像f。

工件选择画面210

为了判断末端执行器是否可以抓取工件,对包括散装工件组的输入图像进行三维搜索,并且在检测到工件的状态下选择对象工件(图71的步骤s7103)。例如,在图74所示的工件选择画面210上进行工件的选择。图74所示的工件选择画面210包括图像显示栏141和操作栏142。在图像显示栏141中显示作为通过对散装工件组摄像所获得的实测数据的输入图像。在检测到工件的位置处,将搜索结果作为点组显示成与输入图像重叠。拖动图像显示栏141的画面,因而可以改变视点。

标记编号和模型编号

操作栏142包括:对象工件选择栏211,用于选择对象工件;检测搜索模型显示栏212,用于示出用于对对象工件进行三维搜索的搜索模型;以及“抓取确认”按钮213,用于以列表形式显示针对所选择的工件的所有抓取位置候选。图74所示的示例示出以下状态:作为对输入图像进行三维搜索的结果,存在18个工件,并且从这些工件中选择第三个工件。这里,针对搜索结果设置标识信息以区别所检测到的搜索结果。这里,设置标记序列号作为标识信息。在图74的对象工件选择栏211中,显示“3”作为所选择的对象工件的标记编号。在图像显示栏141中显示所选择的对象工件的搜索结果。具体地,作为搜索结果的场景,相应搜索结果的特征点被显示成叠加在输入图像的点组上。如果在这种状态下改变对象工件的标记编号,则图像显示栏141中所选择的工件也相应地改变。在检测搜索模型显示栏212中,显示搜索模型e(图73e的高度图像)作为用于对对象工件进行三维搜索的搜索模型。还将个体标识信息赋予至搜索模型,并且该个体标识信息在这里被称为模型编号。在图74中,在检测搜索模型显示栏212中,显示具有标记序列号“3”的工件模型的“e”作为模型编号。

抓取解候选显示画面220

可以将针对各工件所设置的抓取位置、即抓取解候选以列表形式显示在抓取解候选显示区域3c中。在图74的工件选择画面210的示例中,如果按下“抓取确认”按钮213,则将图75的抓取解候选显示画面220显示在显示单元中。在作为抓取解候选显示区域3c的形式的抓取解候选显示画面220上,将针对图74的对象工件选择栏211中所选择的对象工件所设置的所有抓取位置作为抓取解候选列出在抓取解候选显示栏221中。抓取解候选显示栏221包括:工件抓取位置显示栏223,用于显示抓取位置的标记编号;工件能否抓取显示栏224,用于显示工件能否抓取判断结果;以及工件不能抓取原因显示栏225,用于显示针对各抓取解的不能抓取的原因。在图75所示的示例中,针对对象工件选择栏211中所选择的第三搜索结果对象工件,列出所有的五个抓取候选,并且显示抓取ok和抓取ng的判断结果以及抓取ng的原因。将图像显示栏141中所选择的工件和抓取该工件的末端执行器模型以抓取姿势显示于抓取位置处,从而与抓取解候选显示栏221中所选择的工件的抓取位置相对应。如果在抓取解候选显示栏221中改变抓取位置的选择,则图像显示栏141中的工件也相应地改变,并且还更新末端执行器模型抓取工件的姿势。

图75所示的示例示出在具有标记编号“3”的抓取位置候选处抓取图73e的工件的状态。这里,由于判断结果是抓取ok,则在工件不能抓取原因显示栏225中什么也不显示。另一方面,如果在工件不能抓取原因显示栏225中选择具有标记编号“4”的抓取位置候选,则如图76所示,图像显示栏141中的显示也改变。由于具有标记编号“4”的抓取位置候选的判断结果为抓取ng,则在工件不能抓取原因显示栏225中显示被判断为不能抓取的原因。在图像显示栏141中显示相应的末端执行器模型,因而可以从视觉上确认抓取姿势的实际状态。这里,显示“点组干扰”,并且可以看出,末端执行器模型干扰储存容器的平面。结果,用户可以针对具有这种姿势的工件检查不会引起干扰的位置或姿势的抓取位置的添加。

同样,如果在工件不能抓取原因显示栏225中选择具有标记编号“2”的抓取位置候选,则显示图77所示的抓取解候选显示画面220,并且在工件不能抓取原因显示栏225中显示“倾斜角”作为被判断为抓取ng的具有标记编号“2”的抓取位置候选的原因。在图像显示栏141中显示相应的末端执行器模型,末端执行器处于尝试以陡峭的倾斜角抓取工件的状态,因而可以看出,首先将该末端执行器模型从干扰判断对象中排除。

可以根据判断结果来改变图像显示栏141中所显示的末端执行器的显示方面。在图75所示的示例中,在抓取ok的情况下,末端执行器模型被显示成白色,并且在图76或77所示的示例中,在抓取ng的情况下,末端执行器模型被显示成红色。结果,用户可以容易从视觉上彼此区别抓取判断结果。在添加抓取位置的情况下,可以更新图像显示栏141中的显示,使得在通过调整末端执行器模型的姿势而不会发生干扰的时间点处,改变显示方面。利用该结构,用户例如可以改变末端执行器模型的姿势,直到末端执行器模型的颜色从红色改变为白色为止,因而可以获得可以易理解地进行姿势调整作业的优点。

由于如上所述设置能否抓取判断验证功能,因此在针对期望抓取的工件判断为不能抓取的情况下,该功能是用于检查诸如添加新的抓取位置或者改变现有抓取位置的设置等的作业的指导。例如,在图78和79所示的示例中,针对搜索模型c(图73c)的工件存在两个抓取位置候选,但由于点组干扰因而没有抓取这两个抓取位置候选。在这两种情况下,可以看出,这是因为,如在图像显示栏141中利用虚线圆形所示,末端执行器模型的爪部的末端干扰其它工件。因而,如果添加新的抓取位置使得抓取当前抓取位置相反侧的位置,则可以认为获得ok的抓取解。因此,如果利用抓取位置指定部8d进行设置使得添加新的抓取位置(抓取姿势c-002)、由此抓取当前抓取位置相反侧的位置,则如图80所示,获得抓取ok的判断结果。以上述方式,在用户进行抓取位置或抓取姿势的调整作业的情况下,提供容易检查对策的环境,因而实现了容易进行设置的机器人系统。

可以通过用户所进行的设置来改变末端执行器的倾斜角的阈值。例如,在使用底深的箱子作为工件所用的储存容器的情况下,如果末端执行器的倾斜增加,则不仅末端执行器而且机器人的臂部容易与储存容器的壁部发生碰撞,因而角度范围被设置得窄。相反,在使用底浅的箱子作为储存容器的情况下,如果末端执行器不干扰,则机器人的臂部几乎不会与储存容器的壁部碰撞,因而将角度范围设置得宽。如上所述,如果调整角度范围的设置,则可以根据实际情形来灵活地调整能否抓取判断。

以上述方式,在针对所选择的工件的所有抓取解以列表形式显示并且被判断为抓取ng的情况下,还显示抓取ng的原因。因此,在存在长的时间段内看起来要抓取但不是抓取解候选的工件的情况下,更容易指定其原因。由于可以指定原因,因此更容易理解优选添加哪种新的抓取姿势。

实施方式8

在上述示例中,说明了在三维搜索期间针对各搜索模型单独地获取搜索结果的示例。换句话说,针对表示同一工件的不同面的多个基本方向图像进行三维搜索,并且将所获得的结果识别为不同的工件。换句话说,作为单独搜索同一工件的不同面的结果,该工件可能被检测为不同的工件。另一方面,在现有技术的三维搜索中,搜索表示单个工件模型的三维形状,因而不会发生这种情况,并且使同一工件的不同面被检测为单个工件。然而,在具有多个面的工件中,搜索变复杂,因而误检测的概率增加。相反,在根据上述实施方式的方法中,由于搜索简单的面,因此可以简化搜索处理,并且该方法在实现低负荷和高速化等方面是有利的。相反,作为搜索各面的结果,如上所述,所获得的搜索结果可能被识别为单独工件,因而存在单独检测甚至同一工件的不同面的问题。

因此,将所获得的搜索结果彼此整合以针对各工件汇总,或者根据特定面的搜索结果来估计另一面的搜索结果。结果,可以使用在三维搜索中不能检测到的面或者检测精度低的面作为抓取解候选。将这种示例作为根据实施方式8的机器人系统在图81的框图中示出。图81所示的机器人系统8000包括机器人设置设备800、显示单元3b、操作单元4、传感器单元2和机器人rbt。向与图6和图70相同的构件赋予相同的附图标记,并且将适当省略针对该构件的详细说明。

机器人设置设备800

机器人设置设备800包括输入图像获取单元2c、计算单元10、存储单元9、输入/输出接口4b、显示接口3f和机器人接口6b。计算单元10包括基本方向图像生成部8e’、抓取位置指定部8d、搜索模型登记部8g、三维搜索部8k、图像估计部8z、搜索结果整合部8p、三维拾取判断部8l和倾斜角设置部8n。

基本方向图像生成部8e’是如下的构件,其中该构件用于生成多个高度图像作为基本方向图像,其中在这多个高度图像中,从虚拟三维空间中彼此垂直的三个轴的各轴方向观看工件模型。

抓取位置指定部8d是如下的构件,其中该构件用于指定利用末端执行器抓取基本方向图像生成部8e’所生成的基本方向图像其中之一所表示的工件模型的多个抓取位置。抓取位置指定部8d包括工件侧抓取部位指定部8d1和末端执行器侧抓取设置部8d2。

工件侧抓取部位指定部8d1是如下的构件,其中该构件用于在图像显示区域3b中显示末端执行器模型的状态下,指定利用末端执行器模型抓取虚拟地表现工件的三维形状并由三维cad数据构成的工件模型的抓取位置。

末端执行器侧抓取设置部8d2是如下的构件,其中该构件用于针对图像显示区域3b中所显示的末端执行器模型,指定抓取工件的抓取位置。

搜索模型登记部8g是用于登记如下的搜索模型的构件,其中该搜索模型用于针对输入图像获取单元2c获取到的输入图像中所包括的多个工件组,进行用于从基本方向图像生成部8e’所生成的多个基本方向图像中指定各工件的姿势和位置的三维搜索。搜索模型登记部8g可以将所登记的多个搜索模型之间的相对位置登记为关系性信息(后面将说明详情)。

图像估计部8z是如下的构件,其中该构件用于针对三维搜索部8k搜索的并且以搜索模型单位从输入图像中提取的各搜索结果,基于与针对工件模型所登记的其它搜索模型的基本方向图像的相对位置关系,通过使用估计图像来估计未包括在由三维搜索部针对搜索结果所表示的工件模型的搜索结果中的未搜索基本方向图像的位置和姿势,其中搜索所使用的各搜索模型是从特定方向观看原始工件模型的基本方向图像。例如,在利用后面将说明的角度判断部8o判断为三维搜索部8k搜索的工件搜索结果的姿势包括在倾斜角设置部8n所设置的倾斜角范围中的情况下,图像估计部8z可以估计与该搜索结果具有相对位置关系的估计图像。

搜索结果整合部8p是如下的构件,其中该构件用于针对三维搜索部8k搜索的并以搜索模型单位从输入图像中提取出的各搜索结果,基于搜索所使用的作为从特定方向观看原始工件模型的基本方向图像的各搜索模型的相对位置关系,来将多个搜索结果中的邻接搜索结果整合为与共通工件有关的整合结果。

三维拾取判断部8l是如下的构件,其中该构件用于基于搜索结果整合部8p中通过整合所获得的整合结果以及三维搜索部8k中搜索到的未整合的各搜索结果,判断末端执行器是否可以在抓取位置指定部8d中针对工件模型所指定的抓取位置处抓取工件模型。三维拾取判断部8l包括干扰判断部8m和角度判断部8o。

结果,由于可以在无需单独对通过三维搜索所获得的搜索结果进行抓取判断的情况下、通过使用面之间的关系性信息来更正确地估计工件的位置和姿势,因此可以检测到未被搜索的面或搜索结果的精度低的面,甚至可以检查通常难以搜索的面作为抓取位置候选,因而可以提高能够获得抓取解的可能性。

登记包括面之间的关系性信息的搜索模型的过程

在机器人设置设备侧进行诸如工件模型或末端执行器模型的登记或者抓取位置的登记等的设置的过程例如可以使用图27的流程图所示的过程。这里,参考图82的流程图,将说明在图27的步骤s2701中通过使用三维cad数据作为搜索模型来登记包括工件的面之间的关系性信息的搜索模型的过程。

首先,在步骤s8201中,读取工件的三维cad数据模型。

接着,在步骤s8202中,将三维cad数据模型的外接立方体的中心校正为三维cad数据的原点。

在步骤s8203中,生成从“上”、“下”、“左”、“右”、“前”和“后”各方向观看到的高度图像作为基本方向图像。这些基本方向图像是利用图81中的基本方向图像生成部8e’生成的。这里,在基于三维cad数据来生成高度图像的情况下,生成高度图像,使得cad的原点是高度图像的中心。

接着,在步骤s2804中,将观看方式相同的高度图像从所生成的高度图像中删除。

在步骤s8205中,登记所登记的多个搜索模型之间的相对位置作为关系性信息。这里,搜索模型登记部8g存储剩余的高度图像与诸如上面、下面、左面、右面、前面和后面的各面的关系性信息。

最终,在步骤s8205中,通过使用所生成的高度图像来登记搜索模型。以上述方式,登记包括工件的面之间的关系性信息的搜索模型。

面的关系性信息

这里,将说明表示从特定方向观看工件的各面之间的相对位置关系的关系性信息。例如,在如图7所示的工件的情况下,观看方式不同的面是图9a~9d所示的四个面。在这些图中,图9a所示的模型a的图像是从x轴的正方向观看到的高度图像。然而,该图像与从x轴的负方向观看到的图像相同。图9b所示的模型b的图像是从y轴的正方向观看到的高度图像,并且还与从y轴的负方向观看到的图像相同。另一方面,图9c所示的模型c的图像仅与从z轴的正方向观看到的图像相同。图9d所示的模型d的图像仅与从z轴的负方向观看到的图像相同。

这里,假定以下信息是表示面的关系性信息的信息,其中该信息表示作为预先生成的高度图像的模型a、b、c和d的各图像与以预定转动状态从预定坐标轴方向观看图7所示的工件的三维cad数据模型的图像相同。如果存在面的关系性信息,则基于各模型的搜索结果来获得原始三维cad数据的姿势。例如,图9b中的模型b被呈现为与图9a中的模型a的左右的面邻接。图9c中的模型c被呈现为与模型a的上面邻接,并且图9d中的模型d被呈现为与底面邻接。结果,在模型a和模型b的检测结果在作为三维搜索的结果所获得的搜索图像中彼此邻接的情况下,可以看出,这些结果是通过搜索同一工件所获得的。因此,可以将搜索结果整合到单个搜索结果中。这里,将整合后的搜索结果的集合称为整合结果。

可以通过将搜索结果彼此整合来更新评价指标。换句话说,在甚至可以获得精度低的搜索结果作为整合结果中的精度高的搜索结果的情况下,可以突出显示整合结果的评价指标,因而在选择抓取位置时,可以优先该搜索结果作为正确的抓取解。

未搜索基本方向图像

即使如在三维搜索失败或不进行搜索的情况那样、存在未搜索到的面,也可以进行使用整合结果的估计。换句话说,在通过将多个搜索结果彼此整合来获得工件的整合结果时,即使在构成工件的各面中存在通过三维搜索未检测到的面的情况下,如果从其它面可以获得搜索结果,则也可以计算出工件的姿势或位置。结果,在登记了预先针对工件登记抓取位置的工件模型或者三维搜索所使用的搜索模型的情况下,可以基于工件的姿势来估计与未被搜索到的面有关的信息。因此,作为搜索的结果未获得而是通过估计获得的面(还称为未搜索基本方向图像)也用作抓取位置候选,因而可以检查实际未搜索到的面的抓取位置作为抓取解候选,使得可以获得能够容易地获得适当抓取解的优点。例如,在作为三维搜索的结果获得了图9b所示的模型b的情况下,可以估计出图9a所示的模型a的面存在于侧方。结果,即使作为搜索结果实际并未检测到模型a,也可以基于模型b的搜索结果来估计模型a的面,可以使用针对模型a的面所登记的抓取姿势作为抓取解候选,因而抓取解候选的数量增加,使得容易地进行拾取。

使用面的关系性信息的抓取解的计算

接着,将通过使用图72所示的工件wk10来说明使用面的关系性信息的抓取解计算的效果。图73a~73f所示的基本方向图像是由基本方向图像生成部8e’基于工件wk10的三维cad数据所生成的,并且由搜索模型登记部8g登记作为搜索模型。在这些图中,图73a所示的图像是从z轴的正方向观看到的高度图像,并且用作模型a的图像。同样,图73b所示的图像是从z轴的负方向观看到的高度图像,并且用作模型b的图像。图73c所示的图像是从x轴的正方向观看到的高度图像,并且用作模型c的图像。图73d所示的图像是从x轴的负方向观看到的高度图像,并且用作模型d的图像,图73e所示的图像是从y轴的正方向观看到的高度图像,并且用作模型e的图像,图73f所示的图像是从y轴的负方向观看到的高度图像,并且用作模型f的图像。

这里,假定如图83a~83f所示,利用抓取位置指定部8d针对基本方向图像分别登记末端执行器模型em10抓取工件模型wm10的抓取姿势。这里,图83a示出针对图73a的基本方向图像登记抓取姿势a-000的状态。图83b示出针对图73b的基本方向图像登记抓取姿势b-000的状态。图83c示出针对图73c的基本方向图像登记抓取姿势c-000的状态,图83d示出针对图73d的基本方向图像登记抓取姿势d-000的状态,图83e示出针对图73e的基本方向图像登记抓取姿势e-000的状态,并且图83f示出针对图73f的基本方向图像登记抓取姿势f-000的状态。在这种情况下,将参考图84、85和86来说明使用面的关系性信息的抓取解的计算。

图84的工件选择画面210显示以下状态:作为对通过对散装工件组摄像所获得的输入图像进行三维搜索的结果,检测到12个工件。在图像显示栏141中显示输入图像。操作栏142包括:对象工件选择栏211,用于选择对象工件;检测搜索模型显示栏212;以及“抓取确认”按钮213,用于以列表形式显示针对所选择的工件的抓取位置候选。在图84所示的示例中,在通过三维搜索所获得的12个工件中,在对象工件选择栏211中选择第二个工件,并且在图像显示栏141中显示所选择的第二个对象工件的搜索结果。具体地,作为搜索结果的场景,相应的搜索模型的特征点被显示成重叠输入图像的点组。在检测搜索模型显示栏212中,显示搜索模型c、f和a作为用于检测第二个对象工件的搜索模型。在该状态下,将三个搜索模型c、f和a(图73c、73f和73a)彼此整合。

这里,如果没有使用工件的面的关系性信息,则由于如在图像显示栏141中所显示的在输入图像上仅观看到侧面的一部分,因此可能很难检测到模型f或模型a作为搜索结果。即使检测到模型,评价指标也可能低,结果,优先级低。作为对比,通过使用关系性关系,如图84那样,不仅可以检测或估计搜索模型c,而且还可以检测到或估计出搜索模型f或搜索模型a,因而搜索模型c以及搜索模型f或搜索模型a可以用作抓取位置候选。

如果在图84的工件选择画面210上按下“抓取确认”按钮213,则显示图85的抓取解候选显示画面220。在抓取解候选显示画面220上,在抓取解候选显示栏221中列出针对图84的对象工件选择栏211中所选择的第二个对象工件所设置的抓取位置作为抓取解候选。在抓取解候选显示栏221中,将针对检测搜索模型显示栏212中所显示的搜索模型c、f和a分别设置的抓取位置(图83c、83f和83a)的工件能否抓取判断结果显示在工件能否抓取显示栏224中,并且将不能抓取的原因显示在工件不能抓取原因显示栏225中。首先,针对搜索模型c,显示出判断结果是抓取ng,并且其原因是与点组数据的干扰。图像显示区域显示以下状态:尝试以与抓取位置c-000相对应的姿势抓取工件的末端执行器模型em10被显示成红色,并且由于干扰因而不能抓取工件。这里,如果不使用面的关系性信息,则仅对搜索模型c进行三维搜索,结果抓取解候选仅是搜索模型c的c-000,因而不能获得抓取解。

与之相对,通过使用关系性信息,如图85和86所示,可以看出,除搜索模型c外,搜索模型f和a也是对象,并且添加f-000和a-000作为抓取位置候选。在所添加的抓取位置候选中,在搜索模型f的抓取位置候选f-000中获得抓取ng的判断结果,但在搜索模型a的抓取位置候选a-000中获得抓取ok的判断结果。如图86所示,末端执行器被显示成白色,并且在不会干扰点组数据的情况下安全地获得抓取解。结果,即使在除非使用关系性信息否则无法获得抓取解的情况下,可以通过使用关系性信息来获得抓取解。换句话说,可以在相同的搜索条件下无需改变三维搜索的设置的情况下(例如,在无需调整照明或照相机的配置或者改变搜索的算法等的情况下)、换句话说在无需改变三维搜索的精度的情况下,可以提高能够获得抓取解的可能性。如上所述,通过使用面的关系性信息,可以增加抓取解候选的数量,因而可以获得容易拾取的结果。

实际操作期间的第三过程

这里,将参考图87的流程图来说明在根据图82的过程登记搜索模型的状态下、在实际操作期间进行三维搜索和能否抓取判断的过程。

首先,在步骤s8701中,开始对散装工件进行三维测量。这里,该三维测量是通过在图81所示的传感器单元2中对散装工件组摄像来进行的,因而利用输入图像获取单元2c获取包括具有高度信息的三维形状的输入图像。

接着,在步骤s8702中,通过使用工件模型来对工件组的所获得的三维形状进行三维搜索,并且检测各工件的位置和姿势。该三维搜索由图81的三维搜索部8k来进行。

整合结果的生成

在步骤s8703中,基于三维搜索的搜索结果和面的关系性信息来将表示同一工件的结果彼此整合。这里,搜索结果整合部8p通过使用针对搜索所使用的搜索模型所登记的关系性信息来使通过对同一工件摄像所获得的搜索结果彼此相关。换句话说,搜索结果整合部8p基于与从预定方向观看提供搜索结果的共通工件模型的基本方向图像有关的相对位置关系来将多个搜索结果中的邻接的搜索结果彼此整合。以上述方式获得的整合结果表示同一工件并且共通地进行处理。

未搜索基本方向图像的生成

在步骤s8704中,基于三维搜索结果和面的关系性信息来估计未被检测到的面。这里,基于整合结果所表示的工件的姿势和位置来估计与工件有关的三维搜索结果中没有包括的未搜索基本方向图像的位置和姿势。对由抓取位置指定部8d针对未搜索基本方向图像设置的抓取位置进行能否抓取判断。结果,基于整合后的搜索结果所表示的工件的姿势和位置来估计最初没有被搜索到作为三维搜索结果的工件的面,因而该面可被设置为能否抓取判断对象,因而可以进一步提高可以获得抓取解的可能性。

接着,在步骤s8705中,针对所检测到的单个工件,基于该工件的位置和设置期间所登记的工件的抓取姿势来计算末端执行器要配置的位置和姿势。

接着,在步骤s8706中,通过使用末端执行器模型来进行与末端执行器在所计算出的位置处是否干扰周边物体有关的干扰判断。

在步骤s8707中,判断末端执行器是否干扰,并且在末端执行器不干扰的情况下,判断为针对该工件存在抓取解,并且处理结束。

另一方面,在判断为末端执行器干扰的情况下,流程进入步骤s8708,并且判断针对该工件是否登记了其它抓取位置。在登记了其它抓取位置的情况下,流程返回至步骤s8705,并且针对抓取位置重复地进行这些处理。

另一方面,在没有登记其它抓取位置的情况下,流程进入步骤s8709,并且判断是否存在所检测到的其它工件。在存在其它工件的情况下,流程返回至步骤s8705,并且代替该工件而是针对其它工件重复地进行处理。在不存在其它工件的情况下,判断为不存在抓取解,并且处理结束。

以上述方式,通过使用整合结果或未搜索基本方向图像来判断是否存在可以抓取工件的抓取解。在获得了抓取解的情况下,向机器人控制器6给出指示,使得利用末端执行器在所确定的抓取位置处抓取工件。

本说明书中的图像不限于严格意义上的连续数据,并且表示诸如点组数据的集合等的离散数据的集合。

实施方式9

评价指标的整合

除这些过程外,可以将用于定义优先级的评价指标与整合结果整合。将这种示例作为根据实施方式9的机器人系统9000在图88中示出。图88所示的机器人设置设备900包括评价指标计算部8q和抓取优先级确定部8r。向与图81等所示的构件相同的构件赋予相同的附图标记,并且将省略针对这些构件的说明。

评价指标计算部8q是如下的构件,其中该构件用于针对与三维拾取判断部8l判断为可以抓取工件的抓取位置有关的各抓取位置候选,来计算评价指标。

抓取优先级确定部8r是如下的构件,其中该构件用于基于评价指标计算部8q所计算出的评价指标,来确定末端执行器抓取工件的优先级。

机器人设置设备通过使用评价指标计算部8q来针对各搜索结果计算评价指标。作为评价指标,如上所述,可以使用搜索结果中所包括的与预定距离以下的误差相对应的特征点的数量的比例。

这里,搜索结果整合部8p将评价指标计算部8q针对构成整合结果的各搜索结果所计算出的评价指标中的最高评价指标添加至该整合结果。通常,三维搜索的评价指标依赖于搜索条件或工件的姿势(例如,工件的倾斜角大并且无法获得充足的反射光的情况,或者相反,由于有光泽的工件因而反射光强的情况)。因而,可以将针对搜索结果的评价指标评价得低,使得获得低优先级,或者由于不能固有地获得反射光的原因,因而可以将工件从三维搜索对象中排除。在这种情况下,抓取位置是优先级低的抓取位置候选或者没有变为抓取位置候选,但存在这种工件不是以适合三维搜索的姿势配置而是以适合抓取的姿势配置的情况。即使在这种情况下,在现有技术中,由于该工件在三维搜索的阶段被排除或者具有低的优先级,因此抓取位置被选择为抓取解的可能性低并且未能充分使用。相反,根据本实施方式,在作为三维搜索结果而言、针对抓取位置的评价指标低、但获得高的评价值作为与该三维搜索结果邻接的其它搜索结果的情况下,可以通过使用该事实来以高优先级使用该抓取位置作为抓取位置候选。结果,可以使用在现有技术中甚至不使用的抓取位置候选,因而可以提高能够获得抓取解的可能性。换句话说,可以与三维搜索的精度无关地抓取适当的工件。

在上述方法中,说明了以下方面:通过使用针对构成整合结果的各搜索结果的评价指标中的最高评价指标来评价整合结果整体,或者将针对各搜索结果的评价指标从原始评价值重写为更高的评价值。这基于以下事实:针对获得高的评价指标的搜索结果,三维搜索结果的可靠性高。然而,本发明不限于该方面,并且还可应用于其它方面,例如,可以对针对构成整合结果的各搜索结果的评价指标求平均,并且可以将平均搜索结果作为该整合结果的评价指标来处理。在任何情况下,根据本实施方式,利用比初始评价指标高的评价指标来评价具有初始较低的评价指标的搜索结果,使得该搜索结果变为抓取位置等的候选。

机器人设置程序的gui

这里,将参考图89~149来说明机器人设置程序的gui的示例。图89示出用于选择各种功能的功能选择画面340,并且在功能列表显示栏341中采用按钮形式列出并显示可用的功能。如果在该状态下按下“3d搜索”按钮342,则执行三维搜索功能。

三维搜索画面

需要通过执行三维搜索功能来进行所需的设置。具体地,这种设置可以包括搜索模型的登记、放置有工件的地面或储存容器的登记、以及三维搜索条件的设置等。关于这种设置,所有项可以由用户任意设置,并且可以在向用户呈现所需过程的同时设置各项。将参考图90~101的三维搜索画面来说明这种设置的引导功能。

在各三维搜索画面中,在位于画面左下侧的图像显示栏141的上部设置显示有要设置的过程的流程的流程显示部351。在流程显示部351中,采用文本或图片示出各过程的概述,并且突出显示当前设置的过程。在图90所示的示例中,采用明亮颜色显示“模型登记”图标352,并且采用暗色显示诸如“地面/箱设置”图标353或“搜索设置”图标354等的其余图标,因而可以向用户通知当前设置的对象。在三维搜索画面的右侧设置的操作栏142中采用文本等来显示当前设置的项的说明,并且可以采用文本向用户说明要进行的设置。不仅通过使用文本信息而且通过根据需要适当地与图片或运动图像组合,来进行说明。还设置用于要设置的参数的设置栏等。

基于实测数据的搜索模型的登记

图90~101的三维搜索画面示出登记通过在传感器单元中对真实工件摄像所获得的实测数据作为搜索模型的示例。这种登记可以根据在图27的流程图所述的过程来进行。在图90~101的三维搜索画面上,在如上所述的流程显示部351中,突出显示“模型登记”图标352作为第一过程。

图90示出用于选择登记搜索模型的方法的搜索模型登记方法选择画面350。在搜索模型登记方法选择画面350的操作栏142中设置用于选择登记模型的方法的模型登记方法选择栏355。在模型登记方法选择栏355中,作为模型登记方法,可以利用单选按钮来选择是登记通过对真实工件摄像所获得的模型还是根据cad数据进行登记。在图90的搜索模型登记方法选择画面350的示例中,选择用于登记通过对真实的工件摄像所获得的模型的方法,并且根据该方法,在操作栏142中采用文本和图片来显示用于登记通过对真实的工件摄像所获得的模型的过程的说明。在该示例中,通过使用以下的文本信息和图片来向用户呈现要进行的作业:“对从照相机观看到的工件表面的三维信息进行建模;登记期望搜索的面的数量;并且该工具通过使所登记的表面模型与采用各种姿势的工件进行匹配来识别工件的位置和姿势”。结果,用户可以容易地识别在该画面上要进行的作业。如果在图90的搜索模型登记方法选择画面350上选择真实的工件的登记、然后按下“ok”按钮356,则进行工件的摄像。

实测数据摄像单元

通过使用真实的工件来实际登记模型的过程如图91~93那样。在该示例中,将模型登记作业划分成三个画面,并且顺次向用户进行说明。首先,在图91的实测数据摄像画面360上,作为模型登记的第一个作业,对工件摄像。在该示例中,在操作栏142中,作为用户要进行的作业,显示以下说明:“1.将工件配置在平面上使得从照相机观看期望登记的工件表面,并且按下右下方的“测量执行”按钮;以及2.在左方的照相机画面上将模型区域配置成包围工件”。可以通过按下“?”按钮364来在单独画面上显示工件的最佳配置的详细说明。结果,可以避免由于在画面上显示大量信息因而难以看见画面或者用户感到困惑的情形。以上述方式,用户将工件配置于可以利用传感器单元对工件摄像的位置,并且在图像显示栏141中确认工件的场景的同时进行定位。如果按下“测量执行”按钮361,则如图91所示显示所拍摄的工件。这里,显示根据所获得的工件的高度而具有不同颜色的图像作为三维图像。高度图像不限于彩色显示,并且可以利用像素的亮度值来表现高度。在图91所示的示例中,配置具有相同形状的六个工件,并且这六个工件以不同的姿势显示。在该状态下,用户将模型区域362设置成包围期望登记为搜索模型的工件的图像。如果设置了模型区域362,则按下“下一个”按钮363。结果,画面改变为图92所示的搜索模型排除区域设置画面370。

背景去除设置单元

在图92的搜索模型排除区域设置画面370上,作为模型登记的第二个作业,设置在登记搜索模型时排除的排除区域。作为使用搜索模型排除区域的功能的示例,可以存在用于在登记真实的工件时去除放置有工件的诸如地面等的背景的功能。在图92的搜索模型排除区域设置画面370上,作为模型登记的第二个作业,在操作栏142中显示以下说明:“1.设置背景去除,使得仅期望登记的工件表面剩余”。可以通过按下“?”按钮371来在单独画面上显示背景去除设置方法的详细说明。在操作栏142的中间部分设置背景去除设置栏372,并且采用数值来指定要去除的背景的高度。在该示例中,指定1.5mm,并且从搜索模型登记对象中排除针对模型区域362所指定的范围内的高度为0~1.5mm的范围。根据背景去除设置栏372中的设置来更新图像显示栏141中所显示的模型区域362,并且从搜索模型登记对象所排除的区域被显示成黑色。用户可以在确认该场景的同时判断排除区域的设置是否适当,并且可以根据需要进行重新设置。

遮蔽区域设置单元

除高度方向外,可以指定在平面方向上从搜索模型登记对象中期望排除的范围作为遮蔽区域。在图92的搜索模型排除区域设置画面370的背景去除设置栏372中的下部显示以下说明:“2.在存在除期望登记的工件表面以外的物体的情况下,配置遮蔽区域”。同样,可以通过按下“?”按钮373来在单独画面上显示遮蔽区域设置方法的详细说明。如果按下“遮蔽区域”按钮374,则可以在针对模型区域362所设置的范围内设置遮蔽区域作为从搜索模型登记对象中排除的区域。可以将遮蔽区域设置为诸如矩形形状或圆形形状等的预定义形状,并且还可以通过自由曲线或边界部分的自动检测来设置遮蔽区域。如上所述,根据遮蔽区域的设置来更新图像显示栏141中所显示的模型区域362。

在图92所示的示例中,设置背景去除,然后设置遮蔽区域,但这两个操作的顺序可以彼此替换。如果以上述方式设置了期望从搜索模型登记对象中排除的区域,则按下“下一个”按钮375。结果,画面改变为图93所示的转动对称性设置画面380。

转动对称性设置单元

在图93的转动对称性设置画面380上,作为模型登记的第三个作业,设置转动对称性。在该示例中,在操作栏142中显示以下说明:“1.在要登记的工件表面具有转动对称性的情况下,指定相应的工件表面”。同样,可以通过按下“?”按钮381来在单独画面中显示转动对称性设置方法的详细说明。在操作栏142的中间部分设置转动对称性设置栏382,并且可以从诸如圆对称、n重对称和无等的选项中选择转动对称性候选。在选择n重对称的情况下,显示对称数的数值输入框,并且设置与工件表面的形状相对应的转动对称数。例如,在工件表面是矩形、并且工件表面相对于从正上方观看的轴转动了180度的观看方式彼此相同的情况下,转动对称数是作为适当值的2。可选地,在工件表面具有正方形形状、并且工件表面相对于从正上方观看的轴转动了90度的观看方式彼此相同的情况下,转动对称数是作为适当值的4。还可选地,在工件表面具有六边形形状、并且工件表面相对于从正上方观看的轴转动了30度的观看方式彼此相同的情况下,转动对称数是作为适当值的6。另一方面,圆对称是在针对任何转动角、转动后的观看方式全部彼此相同的情况下(例如,在从正上方观看球体或圆柱状工件时工件表面看似圆形的情况下)推荐设置的。如果设置了转动对称性,则在工件采取指定转动对称性的姿势的情况下,在登记搜索模型时,工件被识别为相同的工件。例如,在转动对称数被设置为2的2重对称工件的情况下,转动了180度的姿势与转动之前的姿势相同,因而识别为相同的工件。

如果以上述方式设置了转动对称性,则按下“登记”按钮383。结果,根据所设置的条件来登记搜索模型。在模型登记所需的三个作业中,第二个作业和第三个作业可以彼此替换。

多个搜索模型的登记

如果登记搜索模型,则显示图94所示的搜索模型登记画面390。在搜索模型登记画面390的操作栏142中设置显示有已登记的搜索模型的列表的模型列表显示栏391。这里,将具有模型编号“0”的搜索模型作为已登记的搜索模型连同缩小图像一起显示。针对该搜索模型,还显示转动对称性的设置为“无”的状态。

如果要登记附加的搜索模型,则按下“添加”按钮392。结果,可以根据上述过程来登记搜索模型。在模型登记方法指定栏393中,作为搜索模型登记方法,可以选择是登记通过对真实工件摄像所获得的模型还是根据三维cad数据进行登记。这里,在模型登记方法指定栏393中选择“使用真实的工件的登记”,并且附加地登记搜索模型。

在图95中示出以上述方式添加搜索模型的搜索模型登记画面410。在图95所示的搜索模型登记画面410上,在图像显示栏141中所排列的六个工件中,附加地登记左下侧所配置的工件作为新的搜索模型。将附加登记的搜索模型作为模型编号“1”添加在模型列表显示栏391中。

简单三维搜索结果的显示

在图94和95的搜索模型登记画面上,可以显示通过使用已登记的搜索模型进行简单三维搜索的结果。例如,在图94所示的示例中,作为通过使用具有模型编号“0”的模型搜索对图像显示栏141中所显示的六个工件进行三维搜索的结果,搜索登记所使用的左上侧的工件。在所搜索的工件上显示与搜索模型匹配的点组。在该示例中,在搜索模型的表面形状中,面上的点组被显示成白色,并且表示轮廓的点组被显示成紫色。可以采用数值来显示作为针对简单三维搜索结果的评价指标所计算出的得分。在图94所示的示例中,显示96.4作为得分值。针对被登记为搜索模型的原始工件、得分不是最大值(在该示例中为99.9)的原因是:在模型登记期间的摄像状态和三维搜索执行期间的输入图像之间存在变化,因而得分略微下降。根据得分值的结果可以识别出状态大致与模型登记期间的状态的96%以上一致。

搜索区域设置单元

如果以上述方式登记搜索模型,则设置搜索区域以执行三维搜索功能。具体地,如果在图95的搜索模型登记画面410上登记了所需的搜索模型然后按下右下侧的“完成”按钮411,则显示图96的搜索区域设置画面420。在搜索区域设置画面420上指定进行三维搜索的搜索区域。在画面上侧的流程显示部351中,突出显示从“模型登记”图标352转变为“地面/箱设置”图标353,因而向用户显示以下阶段:模型登记结束,并且当前进行放置有工件的地面或储存容器的登记。

在搜索区域设置画面420的操作栏142中设置搜索区域设置栏421。搜索区域设置栏421设置有:“指定方法选择导航”按钮422,用于向用户说明用于指定进行三维搜索的搜索区域的方法;以及指定方法选择栏423,用于选择用于指定搜索区域的方法。如果按下“指定方法选择导航”按钮422,则显示用于向用户示出用于指定进行三维搜索的搜索区域的方法的导航画面。另一方面,在指定方法选择栏423中,可以选择地面指定、箱指定、箱搜索和未指定其中之一作为来自下拉框的选项。在这些选项中,如果选择地面指定,则显示图97的搜索区域设置画面430,显示地面指定对话框431,并且向用户显示以下说明:“点击用于计算地面的三个点”。结果,如果用户在图像显示栏141上利用诸如鼠标等的指示装置指定表示地面的任意点,则显示所指定点的空间坐标(x,y,z)。显示量规作为提取区域。该提取区域表示在计算所点击的点处的z坐标值时所参考的以所点击位置为中心的范围。三维地测量的各点的数据还包括误差,因而优选使用通过使用预定范围内的数据的平均值或中值所获得的值,从而抑制误差的影响。在这种情况下,通过使用利用提取区域指定的范围内的平均值来获得z坐标值。如果以上述方式指定了地面,则计算与地面有关的信息,并且如图98的搜索区域设置画面440那样,将所计算出的与地面有关的信息显示在搜索区域设置栏421的地面信息显示栏441中。这里,在地面信息显示栏441中,采用数值来显示地面的x倾斜、y倾斜和z截距作为地面信息。可以根据需要设置偏移量。例如,通过考虑到储存容器的地面(底面)的厚度的变化等来将与从地面起的预定高度相对应的区域从搜索区域中去除。在图98所示的示例中,设置噪声去除栏442以从地面去除噪声。这里,将从所指定的地面的高度起直到在噪声去除栏442中指定的1.5mm的高度为止的范围从三维搜索对象区域中去除。如果地面的设置以上述方式完成,则按下“完成”按钮443。结果,画面改变为图99的搜索参数设置画面450。

搜索参数设置单元

在图99的搜索参数设置画面450上,设置搜索参数作为用于进行三维搜索的条件。在画面上侧的流程显示部351中,突出显示从“地面/箱设置”图标353转变为“搜索设置”图标354,因而向用户显示搜索区域设置结束并且当前设置搜索条件的阶段。搜索参数设置画面450的操作栏142设置有用于设置进行三维搜索所需的各搜索参数的栏。具体地,设置有检测条件设置栏451、特征提取条件设置栏452和判断条件设置栏453。在这些栏中,在特征提取条件设置栏452中,设置作为用于在从输入图像中检测工件时提取边缘的阈值的边缘提取阈值。在判断条件设置栏453中,针对得分测量值设置上限或下限,或者针对位置的x坐标测量值设置上限或下限,并且设置与该值是否要被选择作为搜索结果有关的判断条件。

在检测条件设置栏451中,设置用于检测工件的条件。在该示例中,设置有:检测数量指定栏454,用于指定要检测的工件的数量的上限;倾斜角上限指定栏455,用于指定所检测到的工件的倾斜角的上限;以及得分下限指定栏456,用于指定作为评价指标的得分的下限。该指定可以通过使用数值来进行,并且可以通过使用滑块等进行连续调整。如果按下详细设置按钮457,则画面改变为图100的搜索参数设置画面460,并且显示用于设置更详细的检测条件的检测详细条件设置对话框461。

检测详细条件设置对话框461设置有基本设置栏462、检测条件详细设置栏463和选项设置栏464。基本设置栏462不仅设置有检测数量指定栏454,而且还设置有:搜索灵敏度设置栏465,用于设置三维搜索的灵敏度;以及搜索精度设置栏466,用于设置三维搜索的精度。检测条件详细设置栏463不仅设置有倾斜角上限指定栏455和得分下限指定栏456,而且还设置有用于设置基准角度的基准角度设置栏163a和用于设置角度范围的范围设置栏163b作为转动角范围设置栏163。

检测条件可被设置成针对搜索模型是共通的,并且也可以是针对各搜索模型单独的。在图100所示的示例中,设置有搜索模型单独指定栏467,并且可以通过选中复选框来针对各搜索模型单独设置三维搜索中的检测条件。在图101的搜索参数设置画面470中示出这种示例。这里,选中搜索模型单独指定栏467的复选框,显示搜索模型选择栏467b,因而可以选择设置检测条件的搜索模型。该示例示出选择搜索模型a的状态,并且可以在倾斜角上限指定栏455、基准角度设置栏163a、范围设置栏163b和得分下限指定栏456中单独地指定与图94等的模型列表显示栏391中示出的搜索模型a有关的检测条件。

另一方面,图100等所示的选项设置栏464设置有:标记顺序指定栏468,用于针对被分配作为用于标识搜索结果的序列号的标记编号,定义标记的顺序;以及判断标记指定栏469,用于指定判断标记。可以在标记顺序指定栏468中选择相关值的降序或升序、或者z方向高度的降序或升序。这里所述的相关值与上述的“得分”相同。可以在判断标记指定栏469中指定与在特定搜索结果中对象是否以与预期位置或姿势不同的位置或姿势进行配置有关的判断对象。这里,通过使用用于标识搜索结果的序列号来指定该对象。例如,在需要判断作为搜索结果是否获得了无可靠性的数据的情况(诸如搜索结果是否示出不期望的位置、转动角或倾斜角的情况)下,进行设置。

如果三维搜索设置以上述方式顺次完成,则按下操作栏142的右下侧所设置的“ok”按钮471,并且三维搜索条件的设置结束。

基于三维cad数据的搜索模型的登记

在上述示例中,说明了用于登记通过对真实工件摄像所获得的模型作为搜索模型的过程(与图62等相对应)。然而,如图28等所述,可以登记预先创建的表示工件的形状的三维cad数据作为搜索模型。以下将参考图102~106来说明用于登记三维cad数据作为工件模型的过程。

首先,在图102的搜索模型登记方法选择画面480上,从模型登记方法选择栏355中利用单选按钮选择“根据cad数据(stl格式)登记”。因而,在操作栏142中采用文本和图片来显示用于登记三维cad数据作为搜索模型的过程的说明。在该示例中,通过使用以下的文本信息和图片来向用户呈现要进行的作业:“对从三维cad数据的xyz轴的正方向和负方向(总共六个方向)观看到的工件表面的三维信息进行建模;仅选择期望从所生成的模型中搜索的面;并且该工具通过将所登记的表面模型与采取各种姿势的工件进行匹配来识别工件的位置和姿势”。如果在图102的搜索模型登记方法选择画面480上选择了根据cad数据登记、然后按下“ok”按钮481,则画面转变为图103的cad数据读取画面。具体地,画面转变为搜索模型登记画面490,并且显示cad数据读取对话框491。

cad数据读取单元

在图103所示的cad数据读取对话框491中,指定读取cad数据的存储目的地,并且进一步选择cad数据。作为读取目的地,除存储单元9外,还可以选择诸如半导体存储器等的读取介质。如果从文件列表显示栏492中选择文件并且按下“执行”按钮493,则读取三维cad数据。

登记模型选择单元

如果读取三维cad数据,则选择被登记为搜索模型的面。这里,显示图104所示的搜索模型登记画面510,并且将与工件模型的基本方向图像相对应的六面图自动地显示在登记模型选择画面511上。在该状态下,用户可以选择期望登记的面。这里,默认选中复选框,并且针对不必登记为搜索模型的面,未选中复选框,因而将该面从搜索模型中排除。如果以上述方式选择了登记对象,则按下“下一个”按钮512,并且画面改变为图105的搜索模型登记画面520。

转动对称性指定单元

在图105的搜索模型登记画面520上,显示转动对称性指定对话框521,并且即使具有对称形状的面相对于被选择作为登记对象的基本方向图像中的具有转动对称性的基本方向图像向上、下、前、后、左或右进行转动,用户也可以设置该面。如果转动对称性的设置以上述方式完成,则按下“登记”按钮,并且登记搜索模型。

如果登记了搜索模型,则如图106的搜索模型登记画面530那样,将所登记的搜索模型以列表形式显示在模型列表显示栏391中。如上所述,可以针对单个工件登记多个搜索模型。例如,在图106所示的示例中,针对具有模型编号“0”的三维cad工件模型,登记图105等所示的六个搜索模型a、b、c、d、e和f。因此,将模型编号“0”的搜索模型a~f以列表形式显示在模型列表显示栏391中。可以将在模型列表显示栏391中不能显示在一个画面上的搜索模型显示成可滚动,以供切换显示。

搜索模型编辑单元

可以对已登记的搜索模型进行编辑。在图106所示的示例中,如果按下操作栏142的“编辑”按钮531,则显示图114所示的模型编辑画面620。在模型编辑画面620上,在图像显示栏141中显示已登记的搜索模型,并且在操作栏142中显示已设置的项。这里,设置有模型区域设置栏621、作为特征设置栏622的背景去除设置栏327和转动对称性设置栏382、以及作为模型登记栏623的模型编号显示栏。用户可以选择期望改变的项,并且适当地改变该项。

模型区域详细设置单元

如果按下模型区域设置栏621中所设置的详细设置按钮624,则显示图115所示的模型区域详细设置画面630。在模型区域详细设置画面630上,可以在图像显示栏141中所显示的模型区域362的范围中,设置遮蔽区域作为期望从搜索模型登记对象中排除的区域。操作栏142设置有模型区域指定栏621、遮蔽区域指定栏631和权重区域指定栏632。可以在遮蔽区域指定栏631中设置多个遮蔽区域。遮蔽区域可被设置成诸如矩形形状或圆形形状等的预定义形状,并且还可以通过自由曲线或边界部分的自动检测来设置。可以与各遮蔽区域分开地,在权重区域指定栏632中设置权重。

在对搜索结果评分的情况下,如果存在比搜索模型中所包括的其它特征点的更期望被关注的特征点的位置,则可以通过利用权重区域包围该位置来调整得分结果。例如,在存在根据整体形状中的一部分的特征的有无而要指定搜索模型或者定义转动方向上的姿势的形状的情况下,针对重要特征设置权重区域,因而可以提高搜索的检测性能。可以通过单选来指定针对其它特征点的权重程度。例如,在将权重程度设置为“3”的情况下,可以进行调整,使得利用其它特征点的影响度的3倍的影响度来计算得分值。

特征详细设置单元

如果按下特征设置栏622中所设置的详细设置按钮625,则显示图116所示的特征详细设置画面640。在特征详细设置画面640上,针对图像显示栏141中所显示的模型区域362设置转动对称性的有无或特征。操作栏142设置有特征详细设置栏641和转动对象设置栏382。特征详细设置栏641设置有:特征提取间隔指定栏642,用于指定特征提取间隔;背景去除设置栏327;以及边缘提取阈值设置栏643。特征提取间隔是影响生成搜索模型时的特征点的提取间隔的参数,并且可以选择“精度优先”、“标准”和“速度优先”中的任一个。在选择“精度优先”的情况下,搜索模型中的特征点的提取间隔窄,可以识别更精细的特征,因而检测精度提高,但处理时间由于数据量的增加而延长。另一方面,在选择“速度优先”的情况下,搜索模型中的特征点的提取间隔宽,省略了更精细的特征,因而检测精度下降,但处理时间由于数据量的减少而缩短。可以根据要使用的工件的形状或大小、或者容许的处理时间或检测精度来调整特征提取间隔。

以上述方式,用户可以在参考简单三维搜索结果或所获得的得分等的同时,调整所需项,使得获得更适当的搜索结果。如果以上述方式登记了搜索模型,则之后的过程与图96~101所述的用于通过对真实工件摄像来登记搜索模型的过程(搜索区域设置和搜索参数设置)相同,因而将省略针对该过程的说明。

以上述方式预先登记搜索模型,然后进行三维搜索。将该三维搜索用于实际操作、即用于进行用于在传感器单元中对散装工件组摄像并且指定可以抓取的工件的抓取位置的散堆拾取,并且还用在预先进行三维拾取的仿真的情况中。三维拾取的仿真是以下操作:基于通过三维搜索部8k中的搜索所获得的各搜索结果来判断末端执行器在抓取位置指定部8d预先针对工件模型所指定的抓取位置处是否可以抓取工件。

搜索结果显示单元

接着,将参考图107~113来说明对散装装载的工件进行三维搜索的示例。图107示出例示对散装工件组进行三维搜索的结果的搜索结果显示画面540的示例。搜索结果显示画面540设置有图像显示栏141和操作栏142,并且将三维搜索所使用的搜索模型的列表沿垂直方向显示在操作栏142的模型列表显示栏391中。另一方面,在图像显示栏141中,将作为搜索结果所获得的工件显示成与输入图像中所包括的散装的工件重叠,并且显示作为搜索结果的点组和作为该搜索结果的评价指标的得分。

搜索结果列表单元

在图像显示栏141的上部设置搜索结果列表显示栏541,并且针对通过搜索所获得的搜索结果,显示所使用的搜索模型和得分的列表。这里,显示搜索到的工件的数量、工件的有无、总体积/工件的体积、具有特定标记编号的搜索结果的模型编号或得分、以及位置(x,y,z)。总体积/工件的体积表示通过将位于比地面或可回收箱的底面高的位置处的点组的总体积除以根据所登记的搜索模型所预期的平均体积所获得的值,并且是表示输入图像中所存在的工件的数量的数据。在该数值大于预定数值的情况下,工件的有无的结果被判断为有(1)。通过在搜索到的工件的数量为0因而没有获得抓取解的情况下、确认工件的有无的结果是有还是无,可以确认拾取是在不存在工件的状态下还是在工件剩余的状态下结束。

搜索结果列表显示栏541中的显示项可以切换。例如,在图107所示的搜索结果显示画面540的搜索结果列表显示栏541的右下侧,设置用于切换显示内容的切换按钮542。切换按钮542由左箭头和右箭头构成,并且在其上部显示画面数量543。在该示例中,作为画面数量543,显示表示11个画面中的第1个画面的“1/11”,通过按下切换按钮542来向数量施加上限,因而搜索结果列表显示栏541的显示内容可以切换。例如,如果通过操作切换按钮542而使得画面数量543改变为“2/11”,则画面改变为图108所示的搜索结果显示画面550,并且在搜索结果列表显示栏541中显示三维搜索结果的概述。这里,除搜索到的工件数量、工件的有无和总体积/工件的体积外,还显示倾斜角、转动角和姿势(rx,ry,rz)等。如果画面数量543改变为“3/11”,则画面改变为图109所示的搜索结果显示画面560,并且在搜索结果列表显示栏541中,作为三维搜索结果的概述,除搜索到的工件数量、工件的有无和总体积/工件的体积外,还显示xyz的倾斜等作为与地面有关的信息。

如果画面数量543改变为“4/11”,则画面改变为图110所示的搜索结果显示画面570,并且在搜索结果列表显示栏541中,作为三维搜索结果的概述,针对用于标识搜索结果的各标记编号,水平地显示搜索结果的检测所使用的搜索模型的模型编号以及得分。如果画面数量543改变为“5/11”,则画面改变为图111所示的搜索结果显示画面580,并且在搜索结果列表显示栏541中,作为三维搜索结果的概述,针对用于标识搜索结果的各标记编号,显示位置(x,y,z)。如果画面数量543改变为“6/11”,则画面改变为图112所示的搜索结果显示画面590,并且在搜索结果列表显示栏541中,作为三维搜索结果的概述,针对用于标识搜索结果的各标记编号,显示倾斜角和转动角。如果画面数量543改变为“7/11”,则画面改变为图113所示的搜索结果显示画面610,并且在搜索结果列表显示栏541中,作为三维搜索结果的概述,针对用于标识搜索结果的各标记编号,显示姿势(rx,ry,rz)。

三维拾取

接着,将参考图117~149来说明以下过程:基于通过三维搜索所获得的各搜索结果,进行用于判断利用末端执行器是否可以抓取工件的三维拾取的仿真。如果在图89的功能选择画面340上按下“3d拾取”按钮343,则显示图117的三维拾取初始设置画面650,并且执行引导功能,使得用户顺次地进行执行三维拾取所需的设置。这里,在操作栏142的上侧显示3d拾取引导栏655,并且将顺次进行的作业显示为图标。在该示例中,显示诸如“初始设置”、“抓取登记”、“条件/验证”和“放置设置”等的四个处理。

三维拾取初始设置画面

首先,在图117的三维拾取初始设置画面650上进行用于进行三维拾取的初始设置。在操作栏142的上侧的3d拾取引导栏655中突出显示“初始设置”图标,并且向用户显示该阶段要进行的作业。操作栏142设置有校准数据选择栏651、检测工具设置栏652和手登记栏653。在校准数据选择栏651中,调用并登记预先所计算的用于将机器人设置设备所显示的坐标系转换成机器人控制器使末端执行器进行工作的坐标系的校准数据。在检测工具设置栏652中,指定用于检测工件的部件。在该示例中,选择被设置为工具编号“100”的工件检测用三维搜索。读取上述的通过三维搜索的设置所登记的搜索模型的设置。在将不同的工件的搜索模型设置为单独的工具编号的情况下,可以改变检测工具的选择,使得改变三维拾取的设置对象。

末端执行器模型设置单元

在手登记栏653中登记末端执行器模型。这里,如果按下“手模型创建”按钮654,则显示图18所示的末端执行器模型设置画面660。在末端执行器模型设置画面660上,在手模型列表显示栏661中显示已登记的末端执行器模型的列表。在图118所示的示例中,未登记末端执行器模型,因而在图像显示栏141以及操作栏142的末端执行器模型列表显示栏661中未显示末端执行器模型。因此,按下“添加”按钮662,并且添加末端执行器模型。在末端执行器模型设置画面660的图像显示栏141中,显示凸缘面fls作为配置末端执行器模型的机器人的臂部末端的基准面。还显示表示末端执行器模型eem侧的坐标轴的工具坐标轴tax(后面将说明详情)。

末端执行器模型编辑单元

在图118中,如果按下“添加”按钮662,则显示图119所示的末端执行器模型编辑画面670。在末端执行器模型编辑画面670上设置构成末端执行器模型的零件。这里,在零件列表显示栏671中显示已登记的零件。在图119所示的示例中,尚未登记零件,因而在零件列表显示栏671中什么也不显示。如果在该状态下按下“添加”按钮672,则显示图120所示的零件添加对话框,并且利用单选按钮选择是通过读取cad数据登记要添加的零件还是通过使用立方体模型或圆柱模型新创建要添加的零件。添加零件是上述的附加区域的方面,不限于立方体或圆柱,并且可以使用诸如棱柱形状、三角形形状或球形等的任何形状。在图120所示的示例中,选择cad数据。如果通过按下“添加”按钮681选择了所创建的三维cad数据,则显示图121所示的cad位置/姿势设置画面690,读取三维cad数据,使得在图像显示栏141中显示利用cad所创建的cad模型cdm,并且在操作栏142中显示用于指定cad模型cdm的位置和姿势的位置/姿势栏691。利用凸缘面fls作为基准来指定cad模型cdm的位置和姿势。用户从位置/姿势栏691指定末端执行器模型的安装位置或角度。例如,如果在图121所示的状态中指定20°作为转动角rx,则如图122所示,将图像显示栏141中所显示的cad模型cdm按以x轴为中心转动了20°的姿势显示。可选地,如果在图121所示的状态下在z方向上指定50mm,则如图123所示,cad模型cdm被显示成在z方向上偏移了50mm。如果以上述方式调整cad模型cdm的位置和姿势、然后按下图121的“ok”按钮692,则登记了cad数据,并且将该cad数据显示在零件列表显示栏671中。

可以添加多个零件。例如,如果在图124的末端执行器模型编辑画面上按下“添加”按钮682、在图120的零件添加对话框680中选择圆柱模型、并且按下“添加”按钮681,则显示图125所示的附加区域位置/姿势设置画面,并且在图像显示栏141中显示圆柱模型作为新的附加区域ada。突出显示正编辑的零件。在图125所示的示例中,附加区域ada被显示成红色,并且cad模型cdm被显示成灰色或利用线框显示。结果,用户可以容易地从视觉上识别当前编辑的零件。同样,从位置/姿势栏691中指定要添加的附加区域ada的位置和姿势。在该示例中,在位置/姿势栏691中将z位置指定为-50mm,因而从凸缘面fls在与cad模型cdm相反的方向上配置附加区域ada。在大小指定栏693中可以指定作为附加区域ada的大小的圆柱模型的半径或高度。如果以上述方式设置了附加区域ada的条件、然后按下“ok”按钮692,则登记了附加区域ada,并且如图126所示,在末端执行器模型编辑画面的零件列表显示栏671中添加并显示圆柱。

工具坐标指定单元

可以调整所登记的零件的位置和姿势。例如,如果在图126的末端执行器模型编辑画面上在图像显示栏141或零件列表显示栏671中要选择的零件从附加区域ada改变为cad模型cdm,则显示图127所示的画面,并且在该状态下,用户可以在工具坐标指定栏673中调整位置(x,y,z)和姿势(rx,ry,rz)。例如,如图128所示,如果将z位置设置为145mm,则使工具坐标轴tax从凸缘面fls起在z方向上移动了指定距离,并且显示在图像显示栏141中。如果如图129所示在该状态下将转动角rx设置为20°,则使工具坐标轴tax以x轴为中心顺时针地转动20°,并且进行显示。

以上述方式登记多个零件,并且通过将这些零件彼此组合来构建末端执行器模型eem。在各零件的设置完成的情况下,如果在图128等的末端执行器模型编辑画面上按下“ok”按钮674,则将多个零件组合以登记作为末端执行器模型eem,并且如图130的末端执行器模型设置画面660所示,在手模型列表显示栏661中,将末端执行器模型eem显示为“手0”。在图像显示栏141中,将零散显示的零件显示为一体的末端执行器模型eem。

在该示例中,说明了通过将零件彼此组合来构成末端执行器模型的示例,但零件不限于末端执行器模型或其一部分,并且例如可以将线缆等表示为零件。如上所述,零件是表现末端执行器模型的一部分、添加至其表面的物体、或周边构件的附加模型的方面。

抓取基准点hbp

在图像显示栏141中进一步显示末端执行器模型eem的抓取基准点hbp。抓取基准点hbp表示末端执行器模型eem抓取工件的位置。例如,将抓取基准点hbp设置为抓取工件的末端执行器模型eem的爪部之间的中心。抓取基准点hbp可以在机器人设置设备侧进行计算以根据预定规则来确定,并且可以由用户指定到任何位置。

优选地,在图像显示栏141中,进一步以重叠方式显示用于定义末端执行器模型eem的位置和姿势的工具坐标轴。工具坐标轴优选是根据末端执行器模型eem的转动而改变的转动完成坐标轴rax。转动完成坐标轴rax的原点更优选与抓取基准点hbp一致。结果,用户可以容易地从视觉上识别设置抓取位置时的末端执行器模型eem的状态。

抓取登记单元

如果以上述方式登记了末端执行器模型eem作为初始设置,则登记抓取位置。在图131的抓取登记画面710上,3d拾取引导栏655中的突出显示从“初始设置”图标转变为“抓取登记”图标。操作栏142设置有:搜索模型切换栏711,用于选择已登记的搜索模型;以及抓取登记列表显示栏712,用于显示针对在搜索模型切换栏711中选择的搜索模型所登记的抓取位置的列表。如上所述,在该示例中,登记了抓取位置的工件模型与三维搜索所使用的搜索模型相同。这里,假定在搜索模型切换栏711中,登记图104中所登记的模型编号“0”的六个搜索模型a~f作为已登记的搜索模型。在图131所示的示例中,由于尚未登记抓取位置,因此在抓取登记列表显示栏712中什么也不显示。在搜索模型切换栏711中选择搜索模型a,因而在图像显示栏141中显示与搜索模型a相对应的搜索模型sma。作为表示搜索模型sma的位置和姿势的坐标轴的基准坐标轴bax以重叠方式显示。在该状态下,用户针对搜索模型a登记抓取位置。具体地,如果按下“添加”按钮713,则画面改变为图132的抓取登记画面,并且显示抓取设置对话框720。

抓取设置单元

操作栏142的抓取设置对话框720设置有基本设置栏721、抓取位置坐标指定栏724和移动量设置栏727。基本设置栏721包括抓取标记设置栏722和手选择栏723。在抓取标记设置栏722中,设置作为用于指定抓取位置的标识信息的抓取标记。这里,将表示搜索模型的“a”和抓取位置的序列号“000”设置为抓取标记。在手选择栏723中,选择在抓取标记设置栏722中设置的抓取位置处抓取工件的末端执行器模型eem。在该示例中,在手选择栏723中选择“手0”,因而在图像显示栏141中显示末端执行器模型eem。如上所述,将抓取位置与末端执行器模型eem相关地进行设置。

抓取位置坐标指定栏724设置有:坐标姿势指定栏725,其中在该坐标姿势指定栏725中,用户可以采用数值直接指定表示抓取位置的坐标位置(x,y,z)和姿势(rx,ry,rz);以及“简单设置导航”按钮726,用于执行用于向用户示出抓取位置的设置的引导功能。

在移动量设置栏727中,定义使末端执行器模型eem移动的方向。这里,将末端执行器模型eem靠近搜索模型sma以使末端执行器模型eem抓取搜索模型sma的接近移动量定义为x方向、y方向和z方向上的距离。在图132所示的示例中,示出使末端执行器模型eem在z方向上移动100mm的示例。

抓取位置设置引导功能

如果在图132的画面上按下“简单设置导航”按钮726,则执行抓取位置设置引导功能。具体地,如图133所示,显示设置方法选择对话框730,并且用户利用单选按钮来选择是通过使用三维查看器还是通过使用机器人来设置抓取位置。在该示例中,用户选择三维查看器上的设置。如果在该状态下按下“ok”按钮731,则执行三维查看器上的登记引导功能。

三维查看器上的登记引导功能

在三维查看器上的登记引导功能中,通过四个处理来登记抓取位置。这里,用户在图134~141所示的三维查看器登记画面上指定抓取位置。具体地,如果在图133中按下“ok”按钮731,则画面改变为图134的x-y指定画面740。

第一处理:x-y指定

在图134中,作为x-y指定单元的方面,显示x-y指定画面740。这里,在用于登记抓取位置的第一处理中,采用平面图显示搜索模型sma,并且在该状态下,在平面图上指定抓取位置。具体地,将搜索模型sma以xy平面二维地显示在图像显示栏141中,并且在搜索模型sma上指定与抓取位置有关的x坐标和y坐标。在操作栏142中,作为步骤1,采用文本等向用户说明要进行的作业。这里,显示“在照相机图像上选择与抓取位置有关的xy位置”这一内容。在图134所示的示例中,在图像显示栏141中放大并显示搜索模型a的高度图像(搜索模型sma),并且在该状态下,用户通过使用诸如鼠标等的指示装置来选择抓取指定位置p1。根据抓取指定位置p1将xy坐标输入到xy坐标指定栏741。调整xy坐标指定栏741中的x坐标和y坐标,因而还更新了图像显示栏141中的抓取指定位置p1。在x-y指定画面740上,仅可以指定位置参数的x坐标和y坐标,换句话说,不能指定其它的位置参数。如上所述,给出引导,使得:防止了如现有技术那样由于能够同时设置多个位置参数因而用户感到困惑的情形,并且用户通过限制可设置的位置参数来正确地理解可设置的位置参数,并且顺次地设置这些位置参数。如果xy坐标的指定以上述方式完成,则按下“下一个”按钮742。结果,进行第二处理,并且画面改变为图135的z-rz指定画面750。

第二处理:z-rz指定

图135的z-rz指定画面750是z-rz指定单元的方面,并且是使得用户能够指定z坐标和姿势角度rz的画面。在操作栏142中采用文本显示在第二处理中用户所要进行的作业并进行说明。这里,显示“步骤2指定与抓取位置有关的z位置和手的姿势角度rz”这一内容。在操作栏142中,设置用于指定z位置的z指定栏752和用于指定rz姿势的rz指定栏753作为z-rz指定栏751。将末端执行器模型eem和搜索模型sma三维地显示在图像显示栏141中。换句话说,图像显示栏141用作用于三维地显示末端执行器模型或搜索模型的三维查看器。改变z指定栏752或rz指定栏753中的数值,因而更新图像显示栏141中的末端执行器模型eem或搜索模型sma的三维显示内容。用户可以通过拖动图像显示栏141来改变三维查看器的视点,因而可以详细地确认抓取设置状态。

在作为三维查看器的图像显示栏141中,仅显示z轴作为坐标轴中的与当前设置的位置参数有关的坐标轴。z轴是利用上述的z-y-x系统的欧拉角所显示的校正之后的校正转动z轴axz。如上所述,由于仅显示与当前可以调整的位置参数有关的坐标轴、并且在该画面上不能调整其它位置参数,因此实现了给予用户的适当引导,使得在用户中不会引起浪费混淆的情况下,根据预定顺序来仅顺次设置适当的位置参数。

在图135等所示的示例中,沿抓取方向的轴(校正转动z轴axz)被显示成通过抓取基准点hbp而延伸,因而用户可以容易地理解用于使末端执行器模型eem靠近工件模型的移动方向。可以利用箭头来表示末端执行器模型的移动方向。在这种情况下,末端执行器模型的移动方向可被显示成与沿抓取方向的轴重叠,并且可以显示于单独的位置。

在z-rz指定画面750上,设置“适配”按钮154作为相对位置设置单元的方面。如上所述,通过按下“适配”按钮154来实现用于使末端执行器模型自动地移动到工件模型的抓取位置的适配功能。如果按下了“适配”按钮154,则如图136所示,使末端执行器模型eem移动以与搜索模型sma相接触。换句话说,使末端执行器模型eem的抓取基准点hbp向着搜索模型sma的抓取指定位置p1移动。优选在图135所示的状态下来调整末端执行器模型eem在显示时的初始位置,使得移动方向与z轴一致。结果,由于使末端执行器模型eem仅在z方向上移动以与搜索模型sma相接触,因此可以进行直观上容易理解的显示,因而用户可以容易地进行移动末端执行器模型eem的作业。

操作栏142的z指定栏752中的z位置也由于图像显示栏141中的末端执行器模型eem的移动而改变。在该示例中,在图135中,将200mm改变为50mm。这里,在由于适配功能而使末端执行器模型eem沿着高度方向(即,z轴方向)向着图134中所指定的抓取指定位置p1移动的情况下,利用接触位置作为基准,使末端执行器模型eem移动到从与搜索模型sma相接触的位置返回了预定偏移量的位置。在利用抓取指定位置p1作为基准的坐标轴中,在图像显示栏141中仅显示当前设置的z轴。

在该状态下,用户在rz指定栏753中指定姿势角度rz。按图136所示的末端执行器模型eem的姿势,抓取呈c字型倾斜的搜索模型sma的侧面,因而进行调整,使得通过使末端执行器模型eem在z轴方向上转动来抓取平行的面。在这种情况下,用户可以将转动角直接输入到rz指定栏753,并且可以通过设置用于输入预定角度的角度选择按钮754来更容易地指定末端执行器模型eem的转动。在该示例中,配置0°、90°、180°和-90°的四个角度按钮作为角度选择按钮754。如果用户按下90°按钮,则向rz指定栏753输入90°,因而如图37所示,末端执行器模型eem沿z轴方向转动90°,并且被校正成能够正确地抓取搜索模型sma。

第三处理:ry指定

如果以上述方式在第二处理中z-rz指定完成,则按下“下一个”按钮755,因而进行第三处理中的ry指定。具体地,如果按下“下一个”按钮755,则显示图138中的ry指定画面760。ry指定画面760是ry指定单元的方面,并且用于指定姿势角度ry。在ry指定画面760的操作栏142中显示ry指定栏761,并且向用户显示“步骤3指定手的姿势角度ry”这一内容作为在第三处理中要进行的作业。在坐标轴中,在图像显示栏141中仅设置当前设置的校正转动y轴axy。在该状态下,用户根据抓取搜索模型sma的末端执行器模型eem的姿势来在ry指定画面760上指定姿势角度ry。可选地,在作为三维查看器的图像显示栏141上,通过拖动使末端执行器模型eem转动。例如,如果在图138所示的状态下在ry指定画面760上指定90°作为姿势角度ry,则画面改变为图139的ry指定画面,并且末端执行器模型eem按以y轴为中心转动了90°的姿势显示。如果以上述方式在第三处理中ry指定完成,则按下“下一个”按钮762,因而进行第四处理中的rx指定。

第四处理:rx指定

图140示出第四处理中的rx指定画面770。rx指定画面770是rx指定单元的方面,并且设置有rx指定栏771,其中该rx指定栏771用于指定姿势角度rx。在图像显示栏141中,末端执行器模型eem和搜索模型sma被显示成彼此重叠,并且在坐标轴中,显示作为与在rx指定画面770上可以设置的位置参数rx有关的x轴的校正转动x轴axx。在该状态下,用户在rx指定栏771中指定姿势角度rx。可选地,在图像显示栏141上通过拖动使末端执行器模型eem转动。例如,在图140所示的示例中,将180°作为姿势角度rx输入到rx指定栏771以与当前抓取位置相对应,并且在指定150°的情况下,如图141所示,在作为三维查看器的图像显示栏141中,根据所指定的姿势角度rx来改变末端执行器模型eem和搜索模型sma的姿势。

如果以上述方式指定了姿势角度rx,则按下“完成”按钮772,并且抓取位置的登记结束。如果登记了抓取位置,则如图142所示,将抓取登记a-000添加到抓取登记列表显示栏712。在搜索模型切换栏711中突出显示与抓取登记a-000相对应的搜索模型a。在图像显示栏141中三维地显示按进行了抓取登记的末端执行器模型eem的位置和姿势抓取搜索模型sma的场景。将搜索模型sma侧的基准坐标轴bax以重叠方式显示为坐标轴。

以上述方式,针对搜索模型a登记其它的抓取位置,或者向其它的搜索模型b~f添加抓取位置。可以通过如上所述按下抓取登记列表显示栏712中所设置的“添加”按钮713来添加抓取位置。在图143所示的示例中,示出针对搜索模型b登记抓取登记b-000的示例。

复制功能

可以使用用于复制已登记的抓取位置的复制功能来附加地登记抓取位置。如果按下图142等的画面上的抓取登记列表显示栏712中所设置的“复制”按钮714,则可以复制已登记的抓取位置。基于所复制的抓取位置来进行校正,因而可以高效地进行抓取位置的登记作业。如果在图142等所示的状态下按下“编辑”按钮715,则显示抓取设置对话框,因而可以如上所述设置抓取位置。这里,如上所述,可以按下“简单设置导航”按钮726,使得执行抓取位置设置引导功能,并且可以校正所需的位置。

条件验证画面780

如果以上述方式针对搜索模型a~f登记了抓取位置,则在图143等的画面上按下“完成”按钮716,使得抓取登记处理结束,并且进行条件验证处理。在该条件验证处理中,对散装的工件组进行三维搜索,使得检测到工件,并且验证末端执行器在所指定的抓取位置处是否可以抓取该工件。这里,通过使用末端执行器模型eem和搜索模型来进行仿真。图144示出条件验证画面780的示例。在条件验证画面780上,3d拾取引导栏655中的突出显示从“抓取登记”图标转变为“条件/验证”图标。操作栏142设置有:检测条件设置栏781,用于设置用于基于三维搜索结果来检测抓取位置的条件;以及验证栏785,用于验证所检测到的工件的能否抓取。检测条件设置栏781包括:检测数量指定栏782,用于指定要检测的抓取解的数量的上限;手倾斜角上限指定栏783,用于指定末端执行器模型的倾斜角的上限;以及余量设置栏784,用于设置从储存容器的壁面起的余量,以扩大末端执行器模型的干扰范围。如果末端执行器模型eem进入余量设置栏784中所指定的距离(在图144中为5mm)的范围,则判断为干扰。

另一方面,验证栏785设置有:检测数量显示栏786,其示出作为三维搜索的仿真的结果而实际检测到的搜索结果的数量;显示标记指定栏787,用于指定所检测到的搜索结果中的期望验证的搜索模型的标记编号;以及“针对各工件的验证”按钮788,用于针对各工件进行验证。在图像显示栏141中显示具有在显示标记指定栏787中所指定的标记编号的搜索结果。

针对各工件的验证

如果按下“针对各工件的验证”按钮788,则显示图145所示的验证对话框790。验证对话框790是图74所述的工件选择画面210的方面。在图145的验证对话框790中,验证是否可以抓取所检测到的各工件。在该示例中,验证对话框790包括对象工件选择栏791、检测搜索模型显示栏792和“抓取确认”按钮793。如果按下“抓取确认”按钮793,则显示图146所示的检测结果显示对话框810。检测结果显示对话框810是图75等所述的抓取解候选显示画面220的方面。这里,将对于针对在对象工件选择栏791中选择的工件(在图145中为第2个工件)所检测到的各面(搜索图像和估计图像)、在所设置的抓取位置处的能否抓取的判断结果以列表形式显示在抓取解候选显示栏811中。在图146所示的示例中,由于选择了抓取标记c-000,因此在图像显示栏141中将末端执行器模型eem配置并显示于相应的抓取位置处,并且根据判断结果来对末端执行器模型eem着色并显示。在该示例中,判断结果为抓取ng,因而末端执行器模型eem被显示成红色。在抓取解候选显示栏811中,显示点组干扰错误作为不能抓取的原因。结果,向用户提供例如抓取位置的校正或添加的所需对策的指导。

如果在图147的检测结果显示对话框中选择判断结果为抓取ok的抓取标记a-000,则在图像显示栏141中,在相应的抓取位置处抓取工件的末端执行器模型eem如此被显示成白色。以上述方式,可以判断能否抓取,并且还可以根据需要检查适当的对策。

如果在图144的条件验证画面780上按下检测条件设置栏781中所设置的检测条件详细设置按钮789,则画面改变为图148的检测条件详细设置画面820。检测条件详细设置画面820设置有:抓取位置检测条件设置栏821;干扰判断设置栏822,用于判断末端执行器与箱或地面之间的干扰;以及干扰判断设置栏823,用于判断末端执行器和三维点组之间的干扰。

如果以上述方式条件验证处理完成,则最后进行用于定义工件的放置位置的放置设置处理。图149示出放置设置画面830的示例。在放置设置画面830的3d拾取引导栏655中,突出显示从“条件/验证”图标转变为“放置设置”图标。操作栏142包括工具坐标设置栏831和放置位置登记栏832。用户在该画面上进行与工件的放置有关的设置。

根据本发明的机器人设置设备、机器人设置方法、机器人设置程序、计算机可读记录介质和存储有该程序的设备可以适当地用于验证机器人的散堆拾取操作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1