1.本发明涉及计测装置、计测方法以及计测程序。
背景技术:2.在工厂自动化领域中已知如下方法:例如使用距离传感器根据相对于工件的相对位置关系不同的多个计测点来计测示出工件表面各点的三维坐标的多个点群(点云),以通过计测得到的多个点群中的任意的特定点群为基准,进行使其它点群的位置和姿势与成为基准的点群的位置和姿势一致的配准处理,从而根据配准处理后的点群来识别工件。非专利文献1提及了根据多个不同的计测点计测出的多个点群的配准处理。
3.现有技术文献
4.专利文献
5.非专利文献1:“使用特征点的三维点群数据对位法的研究”信息处理学会第77次全国大会
技术实现要素:6.发明要解决的问题
7.但是,工件的识别精度能够根据规定各点群的计测条件的多个参数(例如,点群的计测次数、点群的计测时间间隔、距离传感器的移动距离、距离传感器的移动速度、距离传感器相对于工件的计测角度、距离传感器的对焦范围以及多个计测点各自的位置坐标)各自的值而变动。例如,当使距离传感器的移动速度变慢并使点群的计测次数变多时,能够计测具有工件的识别所需要的足够质量的足够数量的点群,因此,工件的识别精度提高。与此相对,当使距离传感器的移动速度变快后使点群的计测次数变多时,无法得到具有工件的识别所需要的足够质量的足够数量的点群,因此,工件的识别精度降低。即使让距离传感器的移动速度变快,当将点群的计测次数调整为适度的次数时,由于能够计测具有对于工件的识别而言适度的质量的适度数量的点群,因此,工件的识别精度也会以某种程度提高。另一个面,在为了提高工件的识别精度而使距离传感器的移动速度变慢时,由于点群的计测所需要的时间变长,因此,无法实现工厂自动化领域所要求的高生产性。
8.这样,根据规定各点群的计测条件的多个参数各自的值的组合的不同,工件的识别精度或生产性不同,对若使各参数的值如何变更则工件的识别精度或生产性会如何变化进行预测是困难的。因此,从工件的识别精度或生产性的观点出发,将规定各点群的计测条件的多个参数各自的值手动设定成与用户关于点群计测所希望的条件一致的最佳值并不容易。
9.因此,本发明的课题在于,提出一种解决这种问题、并能够将规定计测对象物的3d数据的计测条件的多个参数各自的值作为与用户所指定的条件一致的值进行输出的计测装置、计测方法以及计测程序。
10.用于解决问题的方案
11.为了解决上述问题,本发明所涉及的计测装置具备:3d传感器,搭载于机器人,并且计测示出计测对象物表面各点的三维坐标的3d数据;参数设定部,将规定各3d数据的计测条件的多个参数各自的值在预定范围内进行设定和变更,所述各3d数据用于将在3d传感器相对于计测对象物的相对位置关系不同的多个计测点中的特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;驱动控制部,基于设定或变更后的各参数的值,对驱动机器人的关节的驱动装置输出驱动指令,该驱动指令指示驱动以改变3d传感器相对于计测对象物的相对位置关系;传感器控制部,基于设定或变更后的各参数的值来控制3d传感器,以在多个计测点处计测计测对象物的3d数据;配准处理部,将在特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;存储部,将基于通过配准得到的3d数据的计测对象物的识别结果与设定或变更后的各参数的值相对应并进行存储;输入部,从用户受理与3d数据的计测相关的优先条件的指定;以及输出部,根据计测对象物的各识别结果与设定或变更后的各参数的值的对应关系,将与优先条件一致的多个参数各自的值的一个以上的组合按与优先条件一致的程度从高到低的顺序赋予优先顺序进行输出。用户只要从作为满足自身所指定的优先条件而被输出的多个参数各自的值的一个以上的组合之中选择任意一个组合即可,因此,不需要基于手工作业的繁琐的参数调整。由此,用户即使不进行繁琐的参数调整,也能够简单且迅速地进行满足自身所指定的优先条件的参数设定。
12.也可以是,规定3d数据的计测条件的多个参数包括3d数据的计测次数、3d传感器的移动距离、3d传感器的移动速度、3d数据的计测时间间隔、3d传感器相对于计测对象物的计测角度、3d传感器的对焦范围、以及多个计测点各自的位置坐标中的任意一个以上。通过这些参数的设定,能够定制3d数据的计测条件,使其与用户所指定的优先条件一致。
13.也可以是,能够取得规定计测对象物的3d数据的计测条件的多个参数各自的值的预定范围是被推定为满足由用户通过输入部指定的优先条件的范围。将能够取得规定3d数据的计测条件的多个参数各自的值的预定范围缩减为被推定为满足由用户指定的优先条件的范围,从而能够减少参数设定所需要的3d数据的计测处理、配准处理的次数,能够简单且迅速地进行满足用户所指定的优先条件的参数设定。
14.本发明所涉及的计测方法是具备搭载于机器人并且计测示出计测对象物表面各点的三维坐标的3d数据的3d传感器的计测装置执行如下步骤:将规定各3d数据的计测条件的多个参数各自的值在预定范围内进行设定和变更,所述各3d数据用于将在3d传感器相对于计测对象物的相对位置关系不同的多个计测点中的特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;基于设定或变更后的各参数的值,对驱动机器人的关节的驱动装置输出驱动指令,该驱动指令指示驱动以改变3d传感器相对于计测对象物的相对位置关系;基于设定或变更后的各参数的值来控制3d传感器,以在多个计测点处计测计测对象物的3d数据;将在特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;将基于通过配准得到的3d数据的计测对象物的识别结果与设定或变更后的各参数的值相对应并进行存储;从用户受理与3d数据的计测相关的优先条件的指定;以及根据计测对象物的各识别结果与设定或变更后的各参数的值的对应关系,将与优先条件一致的多个参数各自的值的一个以上的组合按与优先条件一致的程度从高到低的顺序赋予优先顺序进行输出。用户只要从作为满足自身所指定的优
先条件而被输出的多个参数各自的值的一个以上的组合之中选择任意一个组合即可,因此,不需要基于手工作业的繁琐的参数调整。由此,用户即使不进行繁琐的参数调整,也能够简单且迅速地进行满足自身所指定的优先条件的参数设定。
15.本发明所涉及的计测程序使具备搭载于机器人并且计测示出计测对象物表面各点的三维坐标的3d数据的3d传感器的计测装置执行如下步骤:将规定各3d数据的计测条件的多个参数各自的值在预定范围内进行设定和变更,所述各3d数据用于将在3d传感器相对于计测对象物的相对位置关系不同的多个计测点中的特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;基于设定或变更后的各参数的值,对驱动机器人的关节的驱动装置输出驱动指令,该驱动指令指示驱动以改变3d传感器相对于计测对象物的相对位置关系;基于设定或变更后的各参数的值来控制3d传感器,以在多个计测点处计测计测对象物的3d数据;将在特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;将基于通过配准得到的3d数据的计测对象物的识别结果与设定或变更后的各参数的值相对应并进行存储;从用户受理与3d数据的计测相关的优先条件的指定;根据计测对象物的各识别结果与设定或变更后的各参数的值的对应关系,将与优先条件一致的多个参数各自的值的一个以上的组合按与优先条件一致的程度从高到低的顺序赋予优先顺序进行输出。用户只要从作为满足自身所指定的优先条件而被输出的多个参数各自的值的一个以上的组合之中选择任意一个组合即可,因此,不需要基于手工作业的繁琐的参数调整。由此,用户即使不进行繁琐的参数调整,也能够简单且迅速地进行满足自身所指定的优先条件的参数设定。
16.发明效果
17.根据本发明,能够将规定计测对象物的3d数据的计测条件的多个参数各自的值作为与用户所指定的条件一致的值进行输出。
附图说明
18.图1是示出本发明的实施方式所涉及的计测系统的整体构成的一个例子的说明图。
19.图2是示出本发明的实施方式所涉及的3d数据的配准处理流程的说明图。
20.图3是示出本发明的实施方式所涉及的计测系统和计测装置的硬件构成的一个例子的说明图。
21.图4是关于本发明的实施方式所涉及的能够取得规定3d数据的计测条件的多个参数各自的值的全部组合进行计测对象物的识别结果与各参数的值相对应的处理的说明图。
22.图5是关于本发明的实施方式所涉及的能够取得规定3d数据的计测条件的多个参数各自的值的全部组合进行计测对象物的识别结果与各参数的值相对应的处理的说明图。
23.图6是关于本发明的实施方式所涉及的能够取得规定3d数据的计测条件的多个参数各自的值的全部组合进行计测对象物的识别结果与各参数的值相对应的处理的说明图。
24.图7是示出关于本发明的实施方式所涉及的能够取得规定3d数据的计测条件的多个参数各自的值的全部组合进行计测对象物的识别结果与各参数的值相对应的处理的一个例子的流程图。
25.图8是示出本发明的实施方式所涉及的计测对象物的识别结果的一个例子的坐标
图。
26.图9是示出本发明的实施方式所涉及的输出与和3d数据的计测相关的优先条件一致的多个参数各自的值的一个以上的组合的处理流程的流程图。
27.图10是示出本发明的实施方式所涉及的计算机系统的功能的一个例子的框图。
具体实施方式
28.以下,基于附图说明本发明的一方面所涉及的实施方式。本发明的实施方式是用于使对本发明的理解变得容易,并非限定本发明进行解释。本发明能够不脱离其主旨地进行变更或改进,并且本发明还包括其等价物。需要说明的是,相同的附图标记示出相同的构成要素,省略重复的说明。
29.[整体构成]
[0030]
图1是示出本发明的实施方式所涉及的计测系统100的整体构成的一个例子的说明图。计测系统100具备:机器人60;3d传感器70,搭载于机器人60;计算机系统10,对机器人60的驱动和由3d传感器70进行的计测对象物80的3d数据的计测进行控制;以及机器人控制器120,响应来自计算机系统10的指令来控制机器人60的动作。
[0031]
3d数据示出计测对象物80的表面各点的三维坐标。作为这种3d数据,例如可以使用点群或距离图像。点群例如被定义为具有xyz正交坐标系的三维坐标值(x,y,z)的点的集合。距离图像例如被定义为将与uv正交坐标系的二维图像坐标(u,v)对应的距离d设为像素值的像素的集合。在此,d是3d传感器70与计测对象物80之间的距离。
[0032]
3d传感器70可以是计测点群的距离传感器,或者也可以是将距离传感器和2d传感器组合后获取距离图像的距离图像传感器。距离传感器是计测作为进深信息的距离d的传感器,作为其计测方式,例如可以使用三角法方式、飞行时间方式(time of flight方式)或相位差方式等。2d传感器是拍摄二维图像的图像传感器。二维图像在不将距离d设为像素值这方面与距离图像不同。距离图像传感器例如也可以是如下的照相机:一边改变2d传感器的拍摄位置一边拍摄计测对象物80的多个二维图像,通过立体观察的图像处理,获取将距离d作为像素值的距离图像。或者,距离图像传感器也可以是如下的立体照相机:通过从多个不同的方向同时拍摄计测对象物80,获取将距离d作为像素值的距离图像。
[0033]
机器人60例如是具备用于对计测对象物80进行操作(例如,把持、吸附、移动、组装或插入等)的机器人手63的多关节机器人(例如,垂直多关节机器人、水平多关节机器人)。机器人60具备用于对关节进行驱动的驱动装置61和检测关节的位移(角度位移)的位移检测装置62。驱动装置61例如是响应来自机器人控制器120的驱动指令而驱动的伺服电机。位移检测装置62例如是检测伺服电机的旋转角的编码器(例如,增量型编码器或绝对型编码器等)。在机器人60的各关节组装有驱动装置61和位移检测装置62。
[0034]
机器人60作为自主动作的机械手进行动作,例如可以用于计测对象物80的拣选、组装、输送、涂装、检查、研磨或清洗等各种用途。计测对象物80例如是在制品或部件等工件。作为工件的例子,可以举出汽车的动力传动系统(例如,发动机或变速器等)的机械部件或电装系统的电子部件。
[0035]
计测系统100控制机器人60的各关节的驱动,以改变3d传感器70相对于计测对象物80的相对位置关系。然后,计测系统100在3d传感器70相对于计测对象物80的相对位置关
系不同的多个计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n处计测计测对象物80的3d数据。在此,n是2以上的整数。计测系统100例如也可以在多个计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n中的任意一个以上的特定计测点处在机器人60的停止期间计测计测对象物80的3d数据,在特定计测点以外的各计测点处在机器人60的动作期间计测计测对象物80的3d数据。计测系统100例如也可以在全部计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n处在机器人60的停止期间计测计测对象物80的3d数据。
[0036]
需要说明的是,在图1中,附图标记201示出以机器人60为基准的坐标系,附图标记202示出以机器人手63为基准的坐标系,附图标记203示出以3d传感器70为基准的坐标系。将坐标系201、202、203分别称为机器人坐标系、工具坐标系以及传感器坐标。
[0037]
图2是示出本发明的实施方式所涉及的3d数据的配准处理流程的说明图。配准是指用于使一个3d数据的位置及姿势与另一个3d数据的位置及姿势一致的坐标变换。附图标记150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n分别示出在计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n处计测出的计测对象物80的3d数据。将多个计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n中的、例如计测点90
‑
1设为特定计测点,将在特定计测点90
‑
1以外的计测点90
‑
2、90
‑
3、
…
、90
‑
n处计测出的3d数据150
‑
2、150
‑
3、
…
、150
‑
n分别向在特定计测点90
‑
1处计测出的3d数据150
‑
1进行配准,从而得到3d数据150
‑
s。需要说明的是,也可以以3d数据150
‑
1以外的任意的3d数据为基准,将其它3d数据分别向成为基准的3d数据进行配准。
[0038]
作为配准处理的算法,例如可以使用icp(iterative closest point:迭代最近点)。在icp中,针对构成一个3d数据的各点,搜索另一个3d数据中的最接近点,并将其作为临时的对应点。icp推定使这种对应点间的距离最小化的刚体变换并反复进行对应点的搜索和刚体变换推定,从而使3d数据间的对应点彼此的距离最小化。作为icp的预处理,可以使用根据3d数据的特征来推定对应点的公知的算法。作为这种算法,例如已知使用被称为ppf(point pair feature:点对特征)的特征量的算法。
[0039]
[硬件构成]
[0040]
接着,参照图3对本发明的实施方式所涉及的计测系统100和计测装置200的硬件构成的一个例子进行说明。
[0041]
计测装置200具备计算机系统10和3d传感器70。计测系统100具备计测装置200、机器人60以及机器人控制器120。计算机系统10具备运算装置20、存储装置30、输入输出接口40以及显示器接口50。另外,运算装置20具备cpu(central processing unit:中央处理单元)21、rom(read only memory:只读存储器)22以及ram(random access memory:随机存取存储器)23。输入输出接口40连接到3d传感器70、机器人控制器120以及输入设备130。输入设备130例如是键盘、鼠标、触摸板等。显示器接口50连接到显示器140。显示器140例如是液晶显示器。
[0042]
存储装置30是磁盘介质(例如,磁记录介质或光磁记录介质)或半导体存储器(例如,易失性存储器或非易失性存储器)等计算机可读取的记录介质。这种记录介质例如也可以称为非暂时性的记录介质。存储装置30存储有用于执行本发明的实施方式所涉及的计测方法的计测程序31。从存储装置30向ram23读入计测程序31,并由cpu21来解释和执行。计测程序31也作为对机器人60的动作进行控制的主程序发挥功能。另外,存储装置30存储有计测对象物80的三维cad(computer
‑
aided design:计算机辅助设计)数据32。
[0043]
运算装置20通过输入输出接口40来输入从位移检测装置62输出的表示机器人60的各关节的位移的信息,并且向驱动机器人60的各关节的驱动装置61输出驱动指令。
[0044]
机器人控制器50响应于通过输入输出接口40从运算装置20输出的驱动指令,对驱动机器人60的各关节的驱动装置61的驱动(例如,伺服电机的转速及转矩)进行控制。
[0045]
3d传感器70响应于通过输入输出接口40从运算装置20输出的计测指令而对计测对象物80的3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n进行计测。
[0046]
运算装置20通过输入输出接口40输出对由3d传感器70进行的计测对象物80的3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n的计测进行指令的计测指令、以及控制驱动装置61的驱动的驱动指令,并且输入由3d传感器70计测出的计测对象物80的3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n。此时,ram23暂时存储由3d传感器70计测出的计测对象物80的3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n,作为用于进行基于运算装置20的配准处理的工件区域发挥功能。运算装置20对通过配准处理得到的3d数据150
‑
s和计测对象物80的三维cad数据32进行比较,识别计测对象物80。运算装置20可以使用公知的变化矩阵将3d数据150
‑
s从传感器坐标系203坐标变换为机器人坐标系201,推定计测对象物80相对于机器人60的位置和姿势。
[0047]
显示器140显示基于计测程序31的各种处理结果(例如,计测对象物80的识别结果)。
[0048]
需要说明的是,在图3中,示出了驱动装置61和位移检测装置62分别图示有一个的例子,但驱动装置61和位移检测装置62各自的个数可以与关节的个数数量相同。
[0049]
[参数设定处理]
[0050]
接着,参照图4至图9对关于能够取得规定3d数据的计测条件的多个参数各自的值的全部组合进行计测对象物80的识别结果与各参数的值相对应的处理进行说明。在多个计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n中的任意一个以上的特定计测点处在机器人60的停止期间计测计测对象物80的3d数据,并在特定计测点以外的各计测点处在机器人60的动作期间计测计测对象物80的3d数据的情况下,多个参数例如可以包括计测对象物80的3d数据的计测次数、3d传感器70的移动距离、3d传感器70相对于计测对象物80的计测角度、3d传感器70的对焦范围、3d传感器70的移动速度以及计测对象物80的3d数据的计测时间间隔中的任意一个以上。在全部计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n处在机器人60的停止期间计测计测对象物80的3d数据的情况下,多个参数例如可以包括计测对象物80的3d数据的计测次数、3d传感器70的移动距离、3d传感器70相对于计测对象物80的计测角度、3d传感器70的对焦范围以及多个计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n各自的位置坐标中的任意一个以上。在此,3d传感器70的对焦范围意味着景深。
[0051]
如图4所示,运算装置20以与收容散装的多个计测对象物80的容器160的设置面平行的面成为xy平面、并且与容器160的设置面垂直的方向成为z方向的方式定义xyz正交坐标系。将容器160的x方向的长度设为x0,将y方向的长度设为y0。将希望在3d传感器70与各计测对象物80之间的相对位置关系满足最佳焦点的条件的位置处放置3d传感器70时的3d传感器70与计测对象物80之间的距离设为z0。
[0052]
如图5所示,运算装置20定义规定xy方向上的3d传感器70的移动范围的平面500。平面500是通过将从z方向观看时的容器160的平面形状投影到z=z0的平面从而得到的投影面。平面500的x方向的长度与x0相等,y方向的长度与y0相等。
[0053]
如图6所示,运算装置20设定3d传感器70与各计测对象物80之间的相对位置关系满足对焦条件的z方向的范围dof,将位于平面500到dof的范围内的三维区域510定义为规定xyz方向上的3d传感器70的移动范围的区域。在此,dof是3d传感器70的景深。3d传感器70的计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n的位置坐标均设定在三维区域510内。
[0054]
运算装置20在3d传感器70的计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n的位置坐标被约束在三维区域510内的条件下,一边将规定3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n的计测条件的多个参数各自的值在预定范围内随机改变,一边计测3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n,对3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n的通过配准处理得到的3d数据150
‑
s与计测对象物80的三维cad数据32进行比较,将计测对象物80的识别结果(识别是否成功)与多个参数各自的值的组合相对应后存储到存储装置30。需要说明的是,能够取得多个参数各自的值的范围例如是以3d传感器70和机器人60的性能或式样为基础作为对于计测计测对象物80的3d数据而言在应用上足够的范围而被默认设定的范围,或者也可以是关于3d数据的计测而被推定为满足用户所指定的优先条件的范围。关于优先条件的详细内容将后述。
[0055]
如图5所示,运算装置20例如可以将由3d传感器70开始3d数据的计测的计测点90
‑
1设定于平面500的中央部,将由3d传感器70结束3d数据的计测的计测点90
‑
n设定于平面500的端部,在连接两个计测点90
‑
1、90
‑
n之间的直线上,设定其它计测点90
‑
2、90
‑
3、
…
、90
‑
(n
‑
1)。在这种情况下,计测点90
‑
1、90
‑
n之间的距离等于3d传感器70的移动距离。当将3d传感器70的移动速度设定为某固定的速度时,能够根据3d传感器70的移动距离与移动速度的关系来算出3d传感器70的移动时间。当将3d数据的计测时间间隔设定为某固定的时间间隔时,能够根据3d传感器70的移动时间与计测时间间隔的关系来算出3d数据的计测次数。3d传感器70相对于计测对象物80的计测角度是经过3d传感器70和计测对象物80的线段与规定的基准线(例如,水平线或铅垂线)交叉的角度。
[0056]
运算装置20例如将3d传感器70的移动速度固定为某固定的速度,在固定的移动速度下,使3d数据的计测时间间隔在某固定范围内从上限到下限连续变化,按照根据各个计测时间间隔求出的3d数据的计测次数的量来计测计测对象物80的3d数据。运算装置20一边使3d传感器70的移动速度在某固定范围内从上限到下限连续变化,一边反复进行这种处理。运算装置20这样一边使3d传感器70的移动速度和3d数据的计测次数分别从上限到下限连续变化,一边计测计测对象物80的多个3d数据,并对通过多个3d数据的配准处理得到的3d数据150
‑
s和计测对象物80的三维cad数据32进行比较,将计测对象物80的识别结果(识别是否成功)与多个参数各自的值的组合相对应后存储到存储装置30。
[0057]
需要说明的是,多个计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n各自的位置坐标只要是三维区域510内即可,可以是任一位置坐标,不限于图5所示的例子。可以以3d传感器70相对于多个计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n各处的计测对象物80的计测角度不同的方式来设定各计测点的位置坐标。另外,3d传感器70的移动轨迹不一定是直线,也可以是曲线,或者也可以是将直线与曲线组合起来的线。
[0058]
图7是示出本发明的实施方式所涉及的关于能够得到规定3d数据的计测条件的多个参数各自的值的全部组合进行将计测对象物80的识别结果与各参数的值相对应的处理的一个例子的流程图。
[0059]
在步骤701中,运算装置20根据上述的x0、y0、z0的值来定义规定xyz方向上的3d传
感器70的移动范围的三维区域510。
[0060]
在步骤702中,运算装置20以在步骤701中定义的三维区域510的信息为基础将规定计测对象物80的3d数据的计测条件的多个参数各自的值设定为预定范围内的某固定的值。
[0061]
在步骤703中,运算装置20基于在步骤702中设定的(或者在后述的步骤707中变更的)多个参数各自的值,对驱动机器人60的关节的驱动装置61输出指示驱动的驱动指令,以改变3d传感器70相对于计测对象物80的相对位置关系,并且对3d传感器70输出计测指令,以在多个计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n处计测计测对象物80的3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n。
[0062]
在步骤704中,运算装置20对在步骤703中计测出的多个3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n进行配准处理,得到3d数据150
‑
s。
[0063]
在步骤705中,运算装置20对通过步骤704的配准处理得到的3d数据150
‑
s和计测对象物80的三维cad数据32进行比较,将计测对象物80的识别结果(识别是否成功)与在步骤702中设定的多个参数各自的值的组合相对应后存储到存储装置30。
[0064]
在步骤706中,运算装置20关于能够得到规定计测对象物80的3d数据的计测条件的多个参数各自的值的全部组合,判定是否进行了步骤703~705的处理。
[0065]
在步骤707中,运算装置20将规定计测对象物80的3d数据的计测条件的多个参数各自的值变更为预定范围内的某固定的值。
[0066]
图8是示出某计测对象物80的识别结果的一个例子的坐标图。该坐标图是示出相对于3d传感器70的移动速度和3d数据的计测次数的计测对象物80的识别成功数的三维坐标图。计测对象物80的识别成功数意味着3d数据的计测次数中的计测对象物80的识别成功了的数量。需要说明的是,3d传感器70的移动速度的20%、40%、60%、80%以及100%分别示出3d传感器70的移动速度相对于某固定的速度的比例。
[0067]
图9是示出输出与和3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n的计测相关的优先条件一致的多个参数各自的值的一个以上的组合的处理流程的流程图。
[0068]
在步骤901中,运算装置20关于能够得到规定计测对象物80的3d数据的计测条件的多个参数各自的值的范围内的全部组合,进行多个3d数据的计测处理、计测出的多个3d数据的配准处理、基于配准处理后的3d数据150
‑
s的计测对象物80的识别处理、以及将多个参数各自的值与计测对象物80的识别结果相对应的处理。这些处理与图7的流程图所示的步骤701~707的处理相同。
[0069]
在步骤902中,运算装置20从用户受理与计测对象物80的3d数据的计测相关的优先条件的指定。用户能够操作输入设备130,将与3d数据的计测相关的优先条件输入到计算机系统10。用户例如能够将“计测对象物80的识别成功数成为最大”指定为与3d数据的计测相关的优先条件。用户例如能够将“计测对象物80的识别成功数成为平均值以上,并且计测对象物80的3d数据的计测所需要的时间成为最短”指定为与3d数据的计测相关的优先条件。用户例如能够将“计测对象物80的识别成功数成为平均值以上、并且3d传感器70的移动速度成为最大”指定为与3d数据的计测相关的优先条件。用户例如能够将“计测对象物80的识别成功数、计测对象物80的3d数据的计测所需要的时间以及3d传感器70的移动速度处于平衡”指定为与3d数据的计测相关的优先条件。
[0070]
在步骤903中,运算装置20根据规定计测对象物80的3d数据的计测条件的多个参数各自的值与计测对象物80的识别结果的对应关系,将与用户所指定的优先条件一致的多个参数各自的值的一个以上的组合按与优先条件一致的程度从高到低的顺序赋予优先顺序,将其输出到例如显示器140。在这种情况下,运算装置20可以从多个参数各自的值的全部组合之中输出与优先条件一致的程度高的上位m个组合。在此,m是2以上的整数。运算装置20可以输出与用户所指定的优先条件一致的多个参数各自的值的最佳的一个组合。
[0071]
需要说明的是,也可以更换执行步骤901、902的顺序。在步骤901的处理之前执行步骤902的处理的情况下,运算装置20可以在步骤701、707的处理中,将能够得到规定计测对象物80的3d数据的计测条件的多个参数各自的值的范围缩减为关于3d数据的计测推定为满足用户所指定的优先条件的各参数的范围。例如,在从用户指定了“计测对象物80的识别成功数成为平均值以上、并且3d传感器70的移动速度成为最大”作为与3d数据的计测相关的优先条件的情况下,可以将能够得到规定计测对象物80的3d数据的计测条件的多个参数各自的值的范围缩减为3d传感器70的移动速度成为某固定的速度以上的各参数的范围。
[0072]
[功能构成]
[0073]
图10是示出本发明的实施方式所涉及的计算机系统10的功能的一个例子的框图。通过计算机系统10的硬件资源(运算装置20、存储装置40以及输入输出接口40)与计测程序31的配合,可以实现作为参数设定部101、驱动控制部102、传感器控制部103、配准处理部104、存储部105、输入部106、输出部107、坐标变换部108、位置姿势推定部109以及动作目标算出部110的功能。
[0074]
参数设定部101将规定各3d数据的计测条件的多个参数各自的值在预定范围(例如,默认设定的范围、或推动为满足关于3d数据的计测用户所指定的优先条件的范围)内进行设定和变更(图7的步骤702、707),所述各3d数据用于将在3d传感器70相对于计测对象物80的相对位置关系不同的多个计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n中的特定计测点以外的各计测点处计测出的计测对象物80的3d数据向在特定计测点处计测出的计测对象物80的3d数据进行配准。
[0075]
驱动控制部102每当规定各3d数据的计测条件的多个参数中的至少一个参数的值被变更时,基于变更后的多个参数各自的值,对驱动机器人60的关节的驱动装置61输出驱动指令,该驱动指令指示驱动的以改变3d传感器70相对于计测对象物80的相对位置关系(图7的步骤703)。
[0076]
传感器控制部103每当规定各3d数据的计测条件的多个参数中的至少一个参数的值被变更时,基于变更后的多个参数各自的值来控制3d传感器70,以在多个计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n处计测计测对象物80的3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n(图7的步骤703)。
[0077]
配准处理部104每当规定各3d数据的计测条件的多个参数中的至少一个参数的值被变更时,将在特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准(图7的步骤704)。
[0078]
存储部105每当规定各3d数据的计测条件的多个参数中的至少一个参数的值被变更时,将基于通过配准得到的3d数据150
‑
s的计测对象物80的识别结果与多个参数各自的值相对应并进行存储(图7的步骤705)。
[0079]
输入部106从用户受理与3d数据的计测相关的优先条件的指定(图9的步骤902)。
[0080]
输出部107根据计测对象物80的各识别结果与规定各3d数据的计测条件的多个参数各自的值的对应关系,将与用户指定的优先条件一致的多个参数各自的值的一个以上的组合按与优先条件一致的程度从高到低的顺序赋予优先顺序,将其输出到例如显示器140(图9的步骤903)。用户能够操作输入设备130,从与优先条件一致的多个参数各自的值的一个以上的组合之中选择多个参数各自的值的任意一个组合。参数设定部101基于用户的这种选择来设定规定各3d数据的计测条件的多个参数各自的值。
[0081]
计测系统100基于由用户从与用户指定的优先条件一致的多个参数各自的值的一个以上的组合之中选择的任意一个组合来控制机器人60和3d传感器70,从而计测计测对象物80的3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n。计测系统100对这些3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n进行配准,得到3d数据110
‑
s。
[0082]
坐标变换部108进行用于将3d数据110
‑
s从传感器坐标系203变换为机器人坐标系201的坐标变换处理。
[0083]
位置姿势推定部109基于通过坐标变换部108坐标变换为机器人坐标系201的3d数据,来推定测定对象物80相对于机器人60的位置和姿势。
[0084]
动作目标算出部110基于测定对象物80相对于机器人60的位置和姿势,算出机器人60用于操作计测对象物80的动作目标。动作目标是机器人60为了对计测对象物80进行操作(例如,把持、吸附、移动、组装或插入等)所要求的机器人60的目标位置和目标姿势。
[0085]
需要说明的是,上述的各部(参数设定部101、驱动控制部102、传感器控制部103、配准处理部104、存储部105、输入部106、输出部107、坐标变换部108、位置姿势推定部109以及动作目标算出部110)不一定通过计算机系统10的硬件资源(运算装置20、存储装置40以及输入输出接口40)与计测程序31的配合来实现,例如也可以使用专用的硬件资源(例如,面向特定用途的集成电路(asic)、或现场可编程门阵列(fpga)等)来实现。
[0086]
另外,坐标变换部108、位置姿势推定部109以及动作目标算出部110的各功能不是必须的,因此,计算机系统10也可以替代这些功能而具备与计测系统100的计测目的对应的其它功能。例如,计测系统100的计测目的也可以是判定检查对象物80的缺陷的有无的外观检查,在这种情况下,坐标变换部108、位置姿势推定部109以及动作目标算出部110的各功能是不需要的。
[0087]
与根据在一个计测点处计测出的计测对象物80的一个3d数据来识别计测对象物80的方式相比,根据在多个不同的计测点90
‑
1、90
‑
2、90
‑
3、
…
、90
‑
n处计测出的计测对象物80的多个3d数据150
‑
1、150
‑
2、150
‑
3、
…
、150
‑
n来识别计测对象物80的方式的计测对象物80的识别精度更高,反之,规定各3d数据的计测条件的各参数的手动设定变得困难。根据本发明的实施方式所涉及的计测系统100,用户只要从作为满足自身所指定的优先条件而被输出的多个参数各自的值的一个以上的组合之中选择任意一个组合即可,因此,不需要基于手工作业的繁琐的参数调整。由此,用户即使不进行繁琐的参数调整,也能够简单且迅速地进行满足自身所指定的优先条件的参数设定,而且,还能够提高计测对象物80的识别成功率。
[0088]
机器人60不限于用于工厂自动化的工业机器人,例如也可以是用于服务业的机器人(例如,操作机器人、医疗用机器人、清洁机器人、救援机器人、安保机器人等)。
[0089]
上述的实施方式的一部分或全部可以如以下附注所示进行记载,但不限于以下内容。
[0090]
(附注1)
[0091]
计测装置200具备:
[0092]
3d传感器70,搭载于机器人60,并且计测示出计测对象物80表面各点的三维坐标的3d数据;
[0093]
参数设定部101,将规定各3d数据的计测条件的多个参数各自的值在预定范围内进行设定和变更,所述各3d数据用于将在3d传感器70相对于计测对象物80的相对位置关系不同的多个计测点中的特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;
[0094]
驱动控制部102,基于设定或变更后的各参数的值,对驱动机器人60的关节的驱动装置61输出驱动指令,该驱动指令指示驱动以改变3d传感器70相对于计测对象物80的相对位置关系;
[0095]
传感器控制部103,基于设定或变更后的各参数的值来控制3d传感器70,以在多个计测点处计测计测对象物80的3d数据;
[0096]
配准处理部104,将在特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准,
[0097]
存储部105,将基于通过配准得到的3d数据的计测对象物80的识别结果与设定或变更后的各参数的值相对应并进行存储;
[0098]
输入部106,从用户受理与3d数据的计测相关的优先条件的指定;以及
[0099]
输出部107,根据计测对象物80的各识别结果与设定或变更后的各参数的值的对应关系,将与优先条件一致的多个参数各自的值的一个以上的组合按与优先条件一致的程度从高到低的顺序赋予优先顺序进行输出。
[0100]
(附注2)
[0101]
在附注1所记载的计测装置200中,
[0102]
多个参数包括3d数据的计测次数、3d传感器的移动距离、3d传感器的移动速度、3d数据的计测时间间隔、3d传感器相对于计测对象物的计测角度、3d传感器的对焦范围以及多个计测点各自的位置坐标中的任意一个以上。
[0103]
(附注3)
[0104]
在附注1或2所记载的计测装置200中,
[0105]
预定范围是被推定为满足由用户通过输入部指定的优先条件的范围。
[0106]
(附注4)
[0107]
一种计测方法,具备搭载于机器人60并且计测示出计测对象物80表面各点的三维坐标的3d数据的3d传感器70的计测装置200执行:
[0108]
步骤702、707,将规定各3d数据的计测条件的多个参数各自的值在预定范围内进行设定和变更,所述各3d数据用于将在3d传感器70相对于计测对象物80的相对位置关系不同的多个计测点中的特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;
[0109]
步骤703,基于设定或变更后的各参数的值,对驱动机器人60的关节的驱动装置61
输出驱动指令,该驱动指令指示驱动以改变3d传感器70相对于计测对象物80的相对位置关系;
[0110]
步骤703,基于设定或变更后的各参数的值来控制3d传感器70,以在多个计测点处计测计测对象物80的3d数据;
[0111]
步骤704,将在特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;
[0112]
步骤705,将基于通过配准得到的3d数据的计测对象物80的识别结果与设定或变更后的各参数的值相对应并进行存储;
[0113]
步骤902,从用户受理与3d数据的计测相关的优先条件的指定;以及
[0114]
步骤903,根据计测对象物80的各识别结果与设定或变更后的各参数的值的对应关系,将与优先条件一致的多个参数各自的值的一个以上的组合按与优先条件一致的程度从高到低的顺序赋予优先顺序进行输出。
[0115]
(附注5)
[0116]
一种计测程序31,使具备搭载于机器人60并且计测示出计测对象物80表面各点的三维坐标的3d数据的3d传感器70的计测装置200执行:
[0117]
步骤702、707,将规定各3d数据的计测条件的多个参数各自的值在预定范围内进行设定和变更,所述各3d数据用于将在3d传感器70相对于计测对象物80的相对位置关系不同的多个计测点中的特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;
[0118]
步骤703,基于设定或变更后的各参数的值,对驱动机器人60的关节的驱动装置61输出驱动指令,该驱动指令指示驱动以改变3d传感器70相对于计测对象物80的相对位置关系;
[0119]
步骤703,基于设定或变更后的各参数的值来控制3d传感器70,以在多个计测点处计测计测对象物80的3d数据;
[0120]
步骤704,将在特定计测点以外的各计测点处计测出的3d数据向在特定计测点处计测出的3d数据进行配准;
[0121]
步骤705,将基于通过配准得到的3d数据的计测对象物80的识别结果与设定或变更后的各参数的值相对应并进行存储;
[0122]
步骤902,从用户受理与3d数据的计测相关的优先条件的指定;以及
[0123]
步骤903,根据计测对象物80的各识别结果与设定或变更后的各参数的值的对应关系,将与优先条件一致的多个参数各自的值的一个以上的组合按与优先条件一致的程度从高到低的顺序赋予优先顺序进行输出。
[0124]
附图标记说明
[0125]
10
…
计算机系统20
…
运算装置21
…
cpu 22
…
rom 23
…
ram30
…
存储装置31
…
计测程序32
…
cad数据40
…
输入输出接口50
…
显示器接口60
…
机器人61
…
驱动装置62
…
位移检测装置70
…
3d传感器80
…
计测对象物90
…
计测点100
…
计测系统101
…
参数设定部102
…
驱动控制部103
…
传感器控制部104
…
配准处理部105
…
存储部106
…
输入部107
…
输出部108
…
坐标变换部109
…
位置姿势推定部110
…
动作目标算出部120
…
机器人控制器130
…
输入设备140
…
显示器200
…
计测装置。