控制装置、机器人、机器人系统及校正方法与流程

文档序号:16673716发布日期:2019-01-18 23:46阅读:231来源:国知局
控制装置、机器人、机器人系统及校正方法与流程

本发明涉及机器人用摄像机的校正(校准)。



背景技术:

为了使机器人进行高度的处理,有时在机器人上设置摄像机使其具有眼睛的功能。作为摄像机的设置方法,有将摄像机与机器人臂独立地设置的方法和设置于手末端以使摄像机与机器人臂的运动联动的方法(手眼)。

在专利文献1中公开了进行与机器人臂独立设置的摄像机相关的校正(校准)的系统。该系统的目的在于成为使校正夹具的特征部不依存照明条件而稳定地并且精度良好地检测、以及低成本并且容易操作的系统。

现有技术文献

专利文献

专利文献1:日本特开2010-139329号公报

在专利文献1公开的技术中,需要预先高精度地掌握校正夹具的特征部和校正对象的相对位置关系。例如,在求出摄像机的外部参数时,需要以使校正夹具的特征部和安装有摄像机的支承件的相对位置及相对姿势成为指定值的方式配置特征部。然而,预先高精度地设定校正夹具的特征部和校正对象的相对位置关系未必容易。因此,期待用与专利文献1不同的方法,能够容易地进行摄像机的校正的技术。



技术实现要素:

本发明为了解决上述的课题的至少一部分而完成,能够以以下的方式(方面)实现。

(1)根据本发明的第一方式,可提供一种控制装置,其控制机器人和摄像机,所述机器人具备构成为能够设置所述摄像机的校正用图案的臂,所述摄像机与所述臂独立地设置。该控制装置具备:臂控制部,控制所述臂;摄像机控制部,控制所述摄像机;以及摄像机校正执行部,确定能够计算目标坐标系和所述摄像机的摄像机坐标系之间的坐标转换的所述摄像机的参数,所述目标坐标系具有相对于所述机器人的机器人坐标系已知的相对位置姿势。所述臂控制部使所述臂动作,以使所述校正用图案分别以彼此线性独立的三个旋转轴的各旋转轴为中心进行旋转,并在多个旋转位置停止。所述摄像机控制部使所述摄像机拍摄所述多个旋转位置中的所述校正用图案的图案图像。所述摄像机校正执行部使用在所述多个旋转位置拍摄到的所述图案图像确定所述参数。

根据该控制装置,使用绕各旋转轴旋转中的多个旋转位置的图案图像,可推定在摄像机坐标系观察到的三个旋转轴的方向。此外,由于三个旋转轴彼此线性独立,因此从它们的旋转轴的方向可确定目标坐标系和摄像机坐标系之间的坐标转换矩阵。结果,由于可获得可计算目标坐标系和摄像机坐标系之间的坐标转换的摄像机的参数,因此可进行使用了摄像机的对象物的位置检测。

(2)在上述控制装置中,也可以是所述三个旋转轴设定在所述目标坐标系的原点周围。

根据该控制装置,由于三个旋转轴和目标坐标系的对应关系简单,因此由在摄像机坐标系观察到的旋转轴的方向能够容易地确定目标坐标系和摄像机坐标系之间的坐标转换矩阵。

(3)在上述控制装置中,也可以是所述摄像机校正执行部根据在所述多个旋转位置拍摄到的所述图案图像来推定以各旋转轴的方向为矢量方向、以所述旋转的角度作为矢量长度的三个旋转矢量;所述摄像机校正执行部分别将所述三个旋转矢量正规化,求出三个正规化旋转矢量;所述摄像机校正执行部通过将所述三个正规化旋转矢量作为行分量或列分量排列来确定构成所述目标坐标系和所述摄像机坐标系之间的坐标转换矩阵的旋转矩阵。

根据该控制装置,可由在以各旋转轴为中心的旋转中的多个旋转位置拍摄到的图案图像,容易地求出构成目标坐标系和摄像机坐标系之间的坐标转换矩阵的旋转矩阵。

(4)在上述控制装置中,所述目标坐标系和所述摄像机坐标系之间的坐标转换矩阵可由所述摄像机坐标系和所述校正用图案的图案坐标系之间的第一转换矩阵与所述图案坐标系和所述目标坐标系之间的第二转换矩阵的乘积来表示。此时,也可以是所述摄像机校正执行部:(a)根据在所述多个旋转位置中的一个特定旋转位置拍摄到的所述图案图像来推定所述第一转换矩阵;(b)根据在所述多个旋转位置拍摄到的所述图案图像来推定构成所述第二转换矩阵的平移矢量的三个分量中与各旋转轴正交的两个坐标轴方向上的两个平移矢量分量的平方和,并根据对所述三个旋转轴分别推定的所述平移矢量分量的平方和来算出构成所述第二转换矩阵的所述平移矢量;以及(c)根据在所述特定旋转位置来推定的所述第一转换矩阵和所述第二转换矩阵的平移矢量算出构成所述坐标转换矩阵的平移矢量。

根据该控制装置,可根据在以各旋转轴为中心的旋转中的多个旋转位置拍摄到的图案图像,容易地求出构成目标坐标系和摄像机坐标系之间的坐标转换矩阵的平移矢量。

(5)在上述控制装置中,也可以是所述目标坐标系是具有与所述臂独立地相对于所述机器人的机器人坐标系固定的相对位置姿势的坐标系。

根据该控制装置,由于求出与臂独立设置的目标坐标系和摄像机坐标系之间的坐标转换矩阵,因此可在远离臂的位置提高使用了摄像机的对象物的位置检测精度。

(6)在上述控制装置中,也可以是所述目标坐标系是所述臂的手末端坐标系。

根据该控制装置,可在臂的手末端位置提高使用了摄像机的对象物的位置检测精度。

(7)根据本发明的第二方式,可提供一种控制具备能够设置摄像机的校正用图案而构成的臂的机器人和与所述臂独立地设置的摄像机的控制装置。该控制装置具备处理器。所述处理器使所述臂动作,以使所述校正用图案分别以彼此线性独立的三个旋转轴的各旋转轴为中心旋转,并在多个旋转位置停止;所述处理器使所述摄像机拍摄所述多个旋转位置中的所述校正用图案的图案图像;所述处理器使用在所述多个旋转位置拍摄到的所述图案图像,确定能够计算目标坐标系和所述摄像机的摄像机坐标系之间的坐标转换的所述摄像机的参数,所述目标坐标系具有相对于所述机器人的机器人坐标系已知的相对位置姿势。

根据该控制装置,使用绕各旋转轴旋转中的多个旋转位置的图案图像,可推定在摄像机坐标系观察到的三个旋转轴的方向。此外,由于三个旋转轴彼此线性独立,因此根据它们的旋转轴的方向可确定目标坐标系和摄像机坐标系之间的坐标转换矩阵。结果,由于可获得可计算目标坐标系和摄像机坐标系之间的坐标转换的摄像机的参数,因此可进行使用了摄像机的对象物的位置检测。

(8)本发明的第三方式是与上述控制装置连接的机器人。

根据该机器人,可进行目标坐标系和摄像机坐标系之间的坐标转换,并且可进行使用了摄像机的对象物的位置检测。

(9)本发明的第四方式是具备机器人和与所述机器人连接的上述控制装置的机器人系统。

根据该机器人系统,可进行目标坐标系和摄像机坐标系之间的坐标转换,并且可进行使用了摄像机的对象物的位置检测。

(10)根据本发明的第五方式,可提供一种校正方法,是在具备能够设置摄像机的校正用图案而构成的臂的机器人和与所述臂独立地设置的摄像机的机器人系统中进行所述摄像机的校正的方法。所述校正方法包括:使所述臂动作,以使所述校正用图案分别以彼此线性独立的三个旋转轴的各旋转轴为中心旋转,并在多个旋转位置停止;使所述摄像机拍摄所述多个旋转位置中的所述校正用图案的图案图像;以及使用在所述多个旋转位置拍摄到的所述图案图像,确定能够计算目标坐标系和所述摄像机的摄像机坐标系之间的坐标转换的所述摄像机的参数,所述目标坐标系具有相对于所述机器人的机器人坐标系已知的相对位置姿势。

根据该方法,使用绕各旋转轴旋转中的多个旋转位置的图案图像,可推定在摄像机坐标系观察到的三个旋转轴的方向。此外,由于三个旋转轴彼此线性独立,因此由它们的旋转轴的方向可确定目标坐标系和摄像机坐标系之间的坐标转换矩阵。结果,由于可获得可计算目标坐标系和摄像机坐标系之间的坐标转换的摄像机的参数,因此可进行使用了摄像机的对象物的位置检测。

本发明还可以以上述以外的各种方式来实现。例如,能够以用于实现控制装置的功能的计算机程序、非暂时性存储了该计算机程序的存储介质(non-transitorystoragemedium:非易失性存储介质)等方式实现。

附图说明

图1是机器人系统的示意图。

图2是示出机器人和控制装置的功能的框图。

图3是示出机器人的坐标系的说明图。

图4是示出实施方式的处理顺序的流程图。

图5是示出在多个旋转位置的图案图像的例子的说明图。

图6是示出在图4的步骤s160获得的旋转矩阵的例子的图。

图7是在摄像机坐标系的yz平面上投影平移矢量的图。

图8是示出在图4的步骤s170获得的平移矢量的例子的图。

图9是示出第二实施方式中的机器人的坐标系的说明图。

附图标记说明

100机器人;110底座;120主体部;130肩部;140颈部;150头部;160、160l、160r臂;170、170l、170r摄像机;180l、180r手;190l、190r力觉传感器;200控制装置;210处理器;211臂控制部;212摄像机控制部;213摄像机校正执行部;214转换矩阵推定部;220主存储器;230非易失性存储器;231程序命令;232摄像机内部参数;233摄像机外部参数;240显示控制部;250显示部;260i/o接口;400校正用图案。

具体实施方式

a.机器人系统的构成

图1是一个实施方式涉及的机器人系统的示意图。该机器人系统具备机器人100和控制装置200。该机器人100是可在通过摄像机识别作业对象、自由地加减力、自主地判断的同时进行作业的自主型机器人。此外,机器人100也可以作为按照预先生成的示教数据执行作业的示教作业机器人而动作。

机器人100具备底座110、主体部120、肩部130、颈部140、头部150、两个臂160l、160r。在臂160l、106r上可装卸地安装有手180l、180r。这些手180l、180r是把持工件、工具的末端执行器。在头部150上设置有摄像机170l、170r。这些摄像机170l、170r是与臂160l、160r独立地设置,并且其位置姿势不改变的固定摄像机。在臂160l、160r上可设置摄像机170l、170r的校正用图案400。

在臂160l、160r的手腕部设置有力觉传感器190l、190r。力觉传感器190l、190r是检测相对于手180l、180r对工件带来的力的反向力、力矩的传感器。作为力觉传感器190l、190r,例如可使用可同时检测平移三轴方向的力分量和绕三个旋转轴旋转的力矩分量的六分量的六轴力矩传感器。需要注意的是,力觉传感器190l、190r可以省略。

臂160l、160r、摄像机170l、170r、手180l、180r和力觉传感器190l、190r的标号的末尾附带的“l”“r”字符分别意味着“左”“右”。当不需要区分它们时,使用省略了“l”“r”字符的标号来说明。

控制装置200具有处理器210、主存储器220、非易失性存储器230、显示控制部240、显示部250以及i/o接口260。这些各部分通过总线连接。处理器210例如是微处理器或处理器电路。控制装置200经由i/o接口260与机器人100连接。需要注意的是,可以将控制装置200容纳于机器人100的内部。

作为控制装置200的构成,可采用图1所示的构成以外的各种构成。例如,可从图1的控制装置200去掉处理器210和主存储器220,在与该控制装置200可通信地连接的其它装置上设置处理器210和主存储器220。此时,组合了该其它装置和控制装置200的装置整体作为机器人100的控制装置发挥功能。在其它实施方式中,控制装置200还可以具有两个以上处理器210。进而在其它实施方式中,控制装置200可通过彼此可通信地连接的多个装置来实现。在这些各种实施方式中,控制装置200以具备一个以上处理器210的装置或装置组构成。

图2是示出机器人100和控制装置200的功能的框图。控制装置200的处理器210通过执行预先存储在非易失性存储器230中的各种程序命令231分别实现臂控制部211、摄像机控制部212、摄像机校正执行部213的功能。摄像机校正执行部213具有转换矩阵推定部214。其中,可通过硬件电路实现这些各部分211至214的功能的一部分或全部。关于这些各部分211至214的功能将在后文进行叙述。在非易失性存储器230中存储有程序命令231之外的摄像机内部参数232和摄像机外部参数233。关于这些参数232、233将在后文进行叙述。

b.机器人的坐标系和坐标转换

图3是示出机器人100的臂160的构成和各种坐标系的说明图。在两个臂160l、160r的各自上设置有7个关节j1至j7。关节j1、j3、j5、j7是扭转关节,关节j2、j4、j6是弯曲关节。需要注意的是,在图1的主体部120和肩部130之间设置有扭转关节,但在图3中省略了图示。在各个关节上设置有用于使他们动作的致动器和用于检测旋转角度的位置检测器。

在臂160的手末端设定有工具中心点tcp(toolcenterpoint:工具中心点)。典型而言,机器人100的控制是用于控制工具中心点tcp的位置姿势而执行。需要注意的是,位置姿势(positionandattitude:位置和姿势)意味着由三维坐标系中的三个坐标值和绕各坐标轴的旋转所限定的状态。在图3的例子中,在右臂160r的手末端固定有摄像机170的校正(校准)所使用的校正用图案400。当在臂160r上安装校正用图案400时,也可以卸下手180r。

摄像机170的校正是确定摄像机170的内部参数和外部参数的处理。内部参数是摄像机170及其透镜系统的固有参数,例如包括投影转换参数、畸变参数等。外部参数是计算摄像机170和机器人100的臂160之间的相对位置姿势时使用的参数,包括表示机器人坐标系σo和摄像机坐标系σc之间的平移、旋转的参数。其中,外部参数也可构成为表示机器人坐标系σo以外的目标坐标系和摄像机坐标系σc之间的平移、旋转的参数。目标坐标系只要是从机器人坐标系σo求得的坐标系即可。例如,可选择将具有相对于机器人坐标系σo固定的已知的相对位置姿势的坐标系、根据臂160的关节的动作量确定与机器人坐标系σo的相对位置姿势的坐标系作为目标坐标系。外部参数相当于“可计算目标坐标系和摄像机坐标系之间的坐标转换的摄像机的参数”。

在图3中,作为与机器人100相关的坐标系,说明了以下的坐标系。

(1)机器人坐标系σo:以机器人100的基准点ro为坐标原点的坐标系;

(2)臂坐标系σa:以臂160的基准点ao为坐标原点的坐标系;

(3)手末端坐标系σt:以tcp(工具中心点)为坐标原点的坐标系;

(4)图案坐标系σp:以校正用图案400上的预定位置为坐标原点的坐标系;

(5)摄像机坐标系σc:设定于摄像机170的坐标系。

臂坐标系σa和手末端坐标系σt分别单独地设定在右臂160r和左臂160l上。由于在图3的例子中校正用图案400固定在右臂160r的手末端,因此在以下的说明中,使用右臂160r的臂坐标系σa和手末端坐标系σt。臂坐标系σa和机器人坐标系σo的相对位置姿势为已知。摄像机坐标系σc也分别单独地设定在右眼摄像机170r和左眼摄像机170l上。在以下的说明中,作为摄像机坐标系σc主要使用左眼摄像机170l的坐标系,但也可使用右眼摄像机170r的坐标系。需要注意的是,在图3中,为了方便图示,将各个坐标系的原点画在偏离实际位置的位置上。

通常,或从坐标系σa向其它坐标系σb转换,或者在这些坐标系上的位置姿势的转换由以下所示的齐次转换矩阵ahb(homogeneoustransformationmatrix)表示。

[数1]

在此,r是旋转矩阵(rotationmatrix)、t是平移扭矩(translationvector)、rx、ry、rz是旋转矩阵r的列分量。在下文中,也将齐次转换矩阵ahb称为“坐标转换矩阵ahb”、“转换矩阵ahb”,或简称为“转换ahb”。转换的标号“ahb”的左侧的上标字符“a”表示转换前的坐标系,右侧的下标字符“b”表示转换后的坐标系。需要注意的是,转换ahb也可认为是表示在坐标系σa观察到的坐标系σb的基本矢量的分量和原点位置。

转换ahb的逆矩阵ahb-1(=bha)由下式表示。

[数2]

旋转矩阵r具有以下的重要的性质。

<旋转矩阵r的性质1>

旋转矩阵r是正规正交矩阵,其逆矩阵r-1与转置矩阵rt相等。

<旋转矩阵r的性质2>

旋转矩阵r的三个列分量rx、ry、rz与在原来的坐标系σa观察到的旋转后的坐标系σb的三个基本矢量的分量相等。

或者当对坐标系σa依次实施转换ahb、bhc时,合成的转换ahc成为依次在右侧乘以各转换ahb、bhc的结果。

[数3]

ahc=ahb·bhc(3)

此外,关于旋转矩阵r,与(3)式同样的关系成立。

[数4]

arc=arb·brc(4)

c.坐标转换的ax=xb问题

在图3中,在多个坐标系σo,σt,σp,σc之间,以下的转换成立。

(1)转换oht(可计算):从机器人坐标系σo向手末端坐标系σt的转换;

(2)转换thp(未知):从手末端坐标系σt向图案坐标系σp的转换;

(3)转换phc(可推定):从图案坐标系σp向摄像机坐标系σc的转换;

(4)转换cho(未知):从摄像机坐标系σc向机器人坐标系σo的转换。

将机器人坐标系σo和摄像机坐标系σc建立关联的参数是转换cho。通常,求该转换cho相当于摄像机170的校正(校准)。

在第一实施方式的摄像机170的校正中,选择以tcp作为校正对象点,以其手末端坐标系σt作为校正对象的目标坐标系。而且,推定手末端坐标系σt和摄像机坐标系σc之间的转换thc(=thp·phc)或cht(=chp·pht)。由于手末端坐标系σt和机器人坐标系σo之间的转换tho(或oht)可计算,因此如果能够获得手末端坐标系σt和摄像机坐标系σc之间的转换thc(或cht),也能够计算机器人坐标系σo和摄像机坐标系σc之间的转换cho(或ohc)。需要注意的是,作为目标坐标系,还可选择手末端坐标系σt以外的坐标系,可选择具有相对于机器人坐标系σo已知的相对位置姿势的任意的坐标系。关于选择将手末端坐标系σt以外的坐标系作为目标坐标系的情况将在第二实施方式中说明。

上述的四个转换oht、thp、phc、cho中,转换oht是将机器人坐标系σo和作为校正对象点的tcp的手末端坐标系σt相结合的转换。通常,将求出tcp相对于机器人坐标系σo的位置姿势的处理称为正向运动学处理,如果确定臂160的几何学形状和各关节的动作量(旋转角度)则可计算。即,该转换oht是可计算的转换。需要注意的是,从机器人坐标系σo向臂坐标系σa的转换oha是固定的,且为已知。

转换thp是从手末端坐标系σt向校正用图案400的图案坐标系σp的转换。在专利文献1中,要求该转换thp是已知的被固定的转换,但在本实施方式中假定为未知。

转换phc是从图案坐标系σp向摄像机坐标系σc的转换,可通过由摄像机170拍摄校正用图案400,并相对于该图像进行图像处理来推定。推定该转换phc的处理可使用用于进行摄像机的校正的标准化软件(例如opencv、matlab的摄像机校准函数)来执行。

如果依次探索上述的转换oht、thp、phc、cho则返回至最初的机器人坐标系σo,因此,使用恒等转换i,以下的式成立。

[数5]

oht·thp·phc·cho=i(5)

如果在(5)式的两边从左依次乘以各转换的逆矩阵oht-1thp-1phc-1则可获得下式。

[数6]

ch0=phc-1·thp-1·oht-1(6)

在(6)式中,转换phc可使用摄像机校准函数推定,转换oht可计算。因此,如果转换thp为已知,则右边可计算,并且可知道左边的转换cho。这是假设了在现有技术中已知转换thp的理由。

另一方面,如果转换thp为未知,则不能够计算(6)式的右边,需要其它的处理。例如,若考虑图3中的臂160r的两个姿势i、j,则在各个姿势中上述(5)式成立,成为下式。

[数7]

oht(i)·thp·phc(i)·cho=i(7a)

oht(j)·thp·phc(j)·cho=i(7b)

如果分别在(7a)、(7b)式的两边从右乘以转换cho的逆矩阵cho-1,则可得到下式。

[数8]

oht(i)·thp·phc(i)=cho-1(8a)

oht(j)·thp·phc(j)=cho-1(8b)

虽然(8a)、(8b)式的右边为未知,但由于是相同转换,因此下式成立。

[数9]

oht(i)·thp·phc(i)=oht(j)·thp·phc(j)(9)

若在(9)式的两边从左乘以oht(j)-1,从右乘以phc(i)-1则成为下式。

[数10]

(oht(j)-1·oht(i))·thp=thp·(phc(j)·phc(i)-1)(10)

在此,将(10)式的左边和右边的括号中的转换的积分别写成a、b,未知的转换thp写成x,得到下式。

[数11]

ax=xb(11)

这是以ax=xb问题被熟知的处理,并且为了解答未知的矩阵x需要非线性的优化处理。然而,对于该非线性的优化处理,有所谓的不保证收敛在最优解的问题。

如以下的详细说明,在第一实施方式中,通过利用可任意地控制设置了校正用图案400的臂160,使校正用图案400发生预定的位置姿势的变化,从而推定作为目标坐标系的手末端坐标系σt和摄像机坐标系σc之间的转换thc(=thp·phc)或cht(=chp·pht)。结果能够确定摄像机170的外部参数。

d.实施方式的处理流程

图4是示出实施方式中的摄像机170的校正处理的流程的流程图。机器人100具有的两个摄像机170r、170l分别单独地校正,但在下文中没有特别区分而称为“摄像机170”。以下说明的校正处理是图2所示的臂控制部211、摄像机控制部212和摄像机校正执行部213合作来执行。即,使校正用图案400变更成多个位置姿势的动作通过臂控制部211控制臂160来实现。此外,由摄像机170的拍摄通过摄像机控制部212来控制。摄像机170的内部参数、外部参数通过摄像机校正执行部213来确定。此外,在摄像机170的外部参数的确定中,各种矩阵、矢量的推定通过转换矩阵推定部214进行。

步骤s110和步骤s120是确定摄像机170的内部参数的处理。首先,在步骤s110中,使用摄像机170以多种位置姿势拍摄校正用图案400。这些多种位置姿势由于用于确定摄像机170的内部参数,因此可采用任意的位置姿势。在步骤s120中,摄像机校正执行部213使用在步骤s110中获得的多种图案图像,推定摄像机170的内部参数。如上所述,摄像机170的内部参数是摄像机170及其透镜系统的固有参数,例如包括投影转换参数、畸变参数等。内部参数的推定可使用进行摄像机的校正的标准化软件(例如opencv、matlab的摄像机校准函数)来执行。

步骤s130至步骤s180是确定摄像机170的外部参数的处理。在步骤s130中,使校正用图案400绕手末端坐标系σt的三个旋转轴旋转,并在绕各旋转轴的旋转中的多个旋转位置拍摄校正用图案400的图像。以下,将用摄像机170拍摄校正用图案400所获得的图像称为“图案图像”。

图5是示出在步骤s130获得的多个图案图像的例子的说明图。这些图案图像是在以在空间上固定作为手末端坐标系σt的原点的tcp的状态下,分别独立地绕手末端坐标系σt的xyz轴的各轴进行±θx,±θy,±θz的旋转并使臂160停止,在这些多个旋转位置上拍摄的图像。即,多个旋转位置包括:基本旋转位置、从基本旋转位置绕x轴旋转的两个旋转位置、从基本旋转位置绕y轴旋转的两个旋转位置、从基本旋转位置绕z轴旋转的两个旋转位置。将从基本旋转位置的旋转角度θx、θy、θz分别设定成5度,但可采用非0度的任意旋转角度。其中,当旋转角度θ过小时,难以识别由旋转引起的图案图像的差异,当旋转角度θ过大时,难以从图案图像识别校正用图案400的排列。当考虑这些点时,旋转角度θx、θy、θz优选设定在例如3度以上30度以下的范围内。校正用图案400是将黑点配置成9×7的网格状的图案。其中,也可以使用棋盘图案那样的其它校正用图案。图案坐标系σp的坐标原点位于校正用图案400上的预先确定的位置。

在步骤s140中,对在步骤s130拍摄的各个图案图像,推定图案坐标系σp和摄像机坐标系σc之间的转换phc或chp。该推定可利用在步骤s120获得的内部参数,使用推定摄像机的外部参数的标准化软件(例如opencv的函数“findextrinsiccameraparams2”)执行。

在步骤s150中,使用在步骤s140获得的转换phc或chp推定摄像机坐标系σc和手末端坐标系σt之间的旋转矩阵crt或trc。以下,首先以绕x轴的旋转为例进行说明。

首先,将从基本旋转位置的图案图像获得的转换phc的旋转矩阵prc简写成r(θo)。此外,分别将从绕x轴±θx旋转的状态的图案图像获得的转换phc的旋转矩阵prc写成r(θo+θx)及r(θo-θx)。此时,下式成立。

[数12]

r(θo+θx)=r(θo)·r(θx)(12a)

r(θx)=r(θo)-1·r(θo+θx)(12b)

在此,旋转矩阵r(θx)是使坐标系从基本旋转位置仅旋转+θx的旋转矩阵。如(12b)式所示,旋转矩阵r(θx)能够以基本旋转位置的旋转矩阵r(θo)的逆矩阵r(θo)-1和从基本旋转位置仅旋转+θx的位置的旋转矩阵r(θo+θx)的乘积来计算。

然而,通常绕坐标系的三个轴的任意的旋转由旋转矩阵、三个欧拉角来表示的情况较多,但也可取而代之用一个旋转轴和绕该旋转轴的旋转角度来表示。当利用后者的表示时,旋转矩阵r(θx)可转换成由下式分配的旋转矢量rod(θx)。

[数13]

在此,nx、ny、nz是表示旋转轴的方向的三个轴的分量。即,“旋转矢量rod”是以旋转轴的方向为矢量方向,以旋转的角度为矢量长度的矢量。从旋转矩阵r(θx)向旋转矢量rod(θx)的转换例如可使用opencv的函数“rodrigues2”执行。

如上所述,旋转矩阵r(θx)是表示从基本旋转位置使坐标系绕手末端坐标系σt的x轴仅旋转+θx的矩阵。因此,与旋转矩阵r(θx)等价的旋转矢量rod(θx)的矢量方向表示旋转轴的方向,即在摄像机坐标系σc观察到的手末端坐标系σt的x轴的方向。

在此,考虑从摄像机坐标系σc向手末端坐标系σt的旋转矩阵crt。如关于上述的(1a)式至(1d)式所示的通常的齐次转换矩阵以<旋转矩阵r的性质2>说明的那样,任意的旋转矩阵r的三个列分量rx、ry、rz表示从原来的坐标系观察到的旋转后的坐标系的三个基底矢量。因此,将上述的旋转矢量rod(θx)的长度正规化成1后的正规化旋转矢量rod*(θx)成为从摄像机坐标系σc向手末端坐标系σt的旋转矩阵crt的x分量(最左侧的列分量)。

[数14]

通过对y轴、z轴也进行同样的处理,可获得从摄像机坐标系σc向手末端坐标系σt的旋转矩阵crt的三个列分量rod*(θx),rod*(θy),rod*(θz)。

[数15]

crt=(rod*(θx)rod*(θy)rod*(θy))(15)

需要注意的是,旋转矩阵crt的逆转换trc与旋转矩阵crt的转置矩阵相等。因此,只要以行分量排列来代替将正规化旋转矢量rod*(θx),rod*(θy),rod*(θy)作为列分量排列,则可直接获得从手末端坐标系σt向摄像机坐标系σc旋转矩阵trc。

像这样,在步骤s150中,根据在以作为目标坐标系的手末端坐标系σt的各旋转轴为中心的旋转中的多个旋转位置拍摄的图案图像来推定以各旋转轴的方向为矢量方向、以旋转的角度为矢量长度的三个旋转矢量rod(θx)、rod(θy)、rod(θy)。而且,通过将这些旋转矢量正规化后的正规化旋转矢量rod*(θx)、rod*(θy)、rod*(θy)的分量作为行分量或列分量来排列,可确定构成手末端坐标系σt和摄像机坐标系σc之间的坐标转换矩阵cht或thc的旋转矩阵crt或trc。

需要注意的是,对于步骤s150中的处理,可能会包括检测误差。此时,在图5所示的例子中,只要利用在基本旋转位置和从基本旋转位置绕x轴旋转±θx的两个旋转位置的三个旋转位置拍摄的三个图案图像,除了能够推定旋转矩阵r(θx)之外,还能够推定其它的旋转矩阵r(-θx)、r(2θx)。因此,分别利用这些其它的旋转矩阵r(-θx)、r(2θx),按照上述的流程求出旋转矩阵trp,还可以求出所获得的多个旋转矩阵trp的平均值。需要注意的是,求出多个旋转矩阵的平均值的处理例如可通过将各旋转矩阵转换成四元数,求出多个四元数的平均值后对旋转矩阵逆转换来执行。

此外,在上述的处理中获得的旋转矩阵trp有可能不具有正规正交性。此时,优选使用某种正交化手段(例如gram-schmidt正交化法)对旋转矩阵trp的各列进行正交化。需要注意的是,成为进行正交化时的基点的轴优选选择与图像平面正交的轴(在图5的例中为z轴)。其理由认为是由于如图5所示,图像上的位移在绕与图像平面正交的轴旋转时最大,因此相对地误差变为最小。

需要注意的是,x、y、z轴的旋转角度θx、θy、θz为已知。因此,当在上述的处理中检测出的旋转角度和已知的旋转角度的差超过考虑了检测误差的允许范围时,可将其处理结果判定为异常。

在步骤s160中计算出手末端坐标系σt和图案坐标系σp之间的旋转矩阵trp或prt。在上述的步骤s140中,关于各图案图像,推定了图案坐标系σp和摄像机坐标系σc之间的转换phc或chp,构成它们的转换phc或chp的旋转矩阵prc或crp也是已知。例如,使用在特定的旋转位置(例如基本旋转位置)推定的旋转矩阵crp和在步骤s150中获得的旋转矩阵trc,可由下式算出手末端坐标系σt和图案坐标系σp之间的旋转矩阵trp。

[数16]

trp=trc·crp(16)

图6示出在步骤s160获得的旋转矩阵trp的值。需要注意的是,由于在本实施方式中,手末端坐标系σt和图案坐标系σp之间的转换thp为未知,因此没有应当为旋转矩阵trp的正确答案的值。因此,在图6中,示出分别独立地使用图3所示的机器人100的右眼摄像机170r和左眼摄像机170l所推定的结果。由于两个旋转矩阵trp高度一致,因此可理解高精度地推定了旋转矩阵trp。需要注意的是,步骤160也可以省略。

在步骤s170中,推定手末端坐标系σt和图案坐标系σp之间的平移矢量ttp或ptt。在此,首先考虑使校正用图案400绕手末端坐标系σt的x轴旋转的情况。

图7是将基本旋转位置的平移矢量ttp(θ0)和使校正用图案400绕手末端坐标系σt的x轴旋转的旋转位置的平移矢量ttp(θ0+θx)、ttp(θ0-θx)投影到yz平面上的图。在此,当以平移矢量ttp的长度为rx,以平移矢量ttp的xyz分量为(tx、ty、tz),以两个平移矢量ttp(θ0+θx),ttp(θ0-θx)的差分为δtx,则以下的式成立。

[数17]

|δtx|=2rxsinθx(17b)

由于与(17a)至(17c)式同样的式对于绕y轴的旋转及绕z轴的旋转也成立,因此如下所述。

[数18]

当变形(18a)至(18c)时,可得到下述式。

[数19]

如上述图5所述,校正用图案400固定作为手末端坐标系σt的坐标原点的tcp并旋转。此外,由于图案坐标系σp的原点位置设定在校正用图案400上的已知的点上,因此可通过分析图案图像来检测图案坐标系σp的原点位置。因此,由从基本旋转位置+θx旋转后的第一图案图像获得的图案坐标系σp的原点位置和由-θx旋转后的第二图案图像获得的图案坐标系σp的原点位置的差分与图7所示的平移矢量ttp(θ0+θx)、ttp(θ0-θx)的差分δtx相等。绕y轴的旋转及绕z轴的旋转也同样。因此,根据上述的(18a)至(18c)式及(19a)至(19c)式,可推定从手末端坐标系σt向图案坐标系σp的平移矢量ttp。

需要注意的是,在上述的步骤s160中可获得手末端坐标系σt和图案坐标系ttp之间的旋转矩阵trp或prt。因此,只要能够通过上述的步骤s170的处理推定从手末端坐标系σt向图案坐标系σp的平移矢量ttp,则可由上述(2)式计算出从图案坐标系σp向手末端坐标系σt的平移矢量ptt。

像这样,在步骤s170中,根据在以作为目标坐标系的手末端坐标系σt的各旋转轴为中心的旋转的多个旋转位置拍摄的图案图像,推定构成图案坐标系σp和手末端坐标系σt之间的转换矩阵pht或thp的平移矢量ptt或ttp的三个分量tx、ty、tz中,与各旋转轴正交的两个坐标轴方向的两个平移矢量分量的平方和rx2、ry2、rz2。此外,根据在三个旋转轴中分别推定的平移矢量分量的平方和rx2、ry2、rz2,可计算出构成转换矩阵pht或thp的平移矢量ptt或ttp。

图8示出在步骤s170中获得的平移矢量ttp的值。需要注意的是,在此也与图6同样地示出分别独立地使用右眼摄像机170r和左眼摄像机170l所推定的结果。由于两个平移矢量ttp高度一致,因此可理解为高精度地推定了平移矢量ttp。

在步骤s180中,由在步骤s140中的特定的旋转位置(例如基本旋转位置)推定的转换矩阵chp或phc和在步骤s170中获得的平移矢量ptt或ttp,计算出摄像机坐标系σc和手末端坐标系σt之间的平移矢量ctt或ttc。例如,可由下式计算出从摄像机坐标系σc向手末端坐标系σt的平移矢量ctt。

[数20]

在此,chp是由步骤s140中的特定旋转位置(例如基本旋转位置)的图案图像所推定的齐次转换矩阵,ptt是在步骤s170中获得的平移矢量。从手末端坐标系σt向摄像机坐标系σc的平移矢量ttc也可由同样的式算出。

通过图4的处理,关于表示作为目标坐标系的手末端坐标系σt和摄像机坐标系σc之间的坐标转换的齐次转换矩阵cht或thc,可推定其旋转矩阵crt或trc和平移矢量ctt或ttc。这样获得的齐次转换矩阵cht或thc作为摄像机170的外部参数233存储在非易失性存储器230中。只要利用摄像机170的外部参数233和内部参数232就能够执行使用了摄像机170的各种检测处理、控制。需要注意的是,作为摄像机170的外部参数233,可采用能够计算出目标坐标系σt和摄像机坐标系σc之间的坐标转换的各种参数。例如,表示机器人坐标系σo和摄像机坐标系σc之间的坐标转换的齐次转换矩阵ohc或cho也可作为外部参数233存储。

如上所述,在本实施方式中,以绕作为目标坐标系的手末端坐标系σt的原点设定三个旋转轴x、y、z,以各旋转轴为中心分别使所述校正用图案400旋转并在多个旋转位置停止的方式使臂160动作。而且,在以各旋转轴为中心的旋转的多个旋转位置上用摄像机170拍摄校正用图案400的图案图像,使用这些图案图像推定手末端坐标系σt和摄像机坐标系σc之间的坐标转换矩阵thc或cht。在该处理流程中,使用绕各旋转轴旋转的多个旋转位置的图案图像,可推定在摄像机坐标系σc观察到的三个旋转轴的方向。此外,由于三个旋转轴x、y、z彼此线性独立,因此由它们的旋转轴的方向可确定手末端坐标系σt和摄像机坐标系σc之间的坐标转换矩阵thc或cht。结果,由于可获得可计算手末端坐标系σt和摄像机坐标系σc之间的坐标转换的外部参数,因此可进行使用了摄像机170的对象物的位置检测。

需要注意的是,在上述的实施方式中,作为绕手末端坐标系σt的原点的旋转轴,选择了x轴、y轴和z轴,但三个旋转轴只要是线性独立即可,可选择任意的三个旋转轴。在使用x轴、y轴和z轴以外的三个旋转轴时,从推定的结果的各轴分量,转换成手末端坐标系σt的x轴、y轴和z轴的分量即可。其中,只要选择手末端坐标系σt的三个基底矢量的方向(x、y、z轴)作为旋转轴则有上述的处理变得容易的优点。此外,三个旋转轴不需要设定在作为目标坐标系的手末端坐标系σt的原点周围,可设定在其它位置。其中,只要将三个旋转轴设定在目标坐标系的原点周围,则由于三个旋转轴和目标坐标系的对应关系变得单纯,因此有可由在摄像机坐标系观察到的旋转轴的方向容易地确定目标坐标系和摄像机坐标系之间的坐标转换矩阵的优点。

此外,在上述的实施方式中,在绕各旋转轴的旋转中从基本旋转位置向正向一侧和负向一侧两个方向旋转,但也可以只向任意一方一侧旋转。其中,只要从基本旋转位置向正向一侧和负向一侧两个方向旋转,则上述的处理更加容易。此外,正向一侧和负向一侧的旋转角等优选是相等的值。

图9是示出第二实施方式的机器人的坐标系的说明图。与第一实施方式的图3的区别在于校正的目标坐标系σt与手末端坐标系σt设定在不同位置这一点,其它的构成与第一实施方式相同。该目标坐标系σt例如具有与相对于机器人坐标系σ0固定的相对位置姿势。在第二实施方式的摄像机170的校正处理中,只将第一实施方式的图4的处理中的“手末端坐标系σt”换成“目标坐标系σt”,“tcp”换成“目标坐标系σt的坐标原点to”即可,处理流程与第一实施方式相同。

像这样,如果在与手末端坐标系σt不同的位置上设定校正的目标坐标系σt,则可在该目标坐标系σt的附近提高通过摄像机170的物体检测精度。例如,在操作空间小的部位,有时物理上较大的手180无法进入。另一方面,图9所示的目标坐标系σt也可设定在狭窄的间隙、其它物体的内部。因此,只要在与手末端坐标系σt不同的位置上设定校正的目标坐标系σt,可在任意的部位提高通过摄像机170的物体检测精度。

需要注意的是,摄像机170的校正处理是确定可计算具有相对于机器人坐标系σ0已知的相对位置姿势的目标坐标系σt和摄像机坐标系σc之间的坐标转换的外部参数的处理。目标坐标系σt和摄像机坐标系σc之间的坐标转换矩阵cht(或thc)由摄像机坐标系σc和图案坐标系σp之间的第一转换矩阵与图案坐标系σp和目标坐标系σt之间的第二转换矩阵pht(或thp)的乘积表示。此时,图4的步骤s140的处理相当于由在以绕目标坐标系σt的原点的三个旋转轴为中心旋转的多个旋转位置中的一个特定旋转位置(在第一实施方式中是基本旋转位置)拍摄的图案图像推定第一转换矩阵chp(或phc)的处理。步骤s150的处理相当于由在多个旋转位置拍摄的图案图像推定以各旋转轴的方向为矢量方向,以旋转的角度为矢量长度的三个旋转矢量,将这三个旋转矢量分别正规化,通过以三个正规化旋转矢量为行分量或列分量来排列从而确定构成目标坐标系σt和摄像机坐标系σc之间的坐标转换矩阵cht(或thc)的旋转矩阵crt(或trc)。此外,步骤s170的处理相当于由在多个旋转位置中的一个特定旋转位置上拍摄的图案图像推定构成第二转换矩阵pht(或thp)的平移矢量的三个分量中与各旋转轴正交的两个坐标轴方向的两个平移矢量分量的平方和,并从三个旋转轴分别推定的平移矢量分量的平方和计算出构成第二转换矩阵pht(或thp)的平移矢量ptt(或ttp)的处理。而且,步骤s180的处理相当于计算出在特定旋转位置推定的第一转换矩阵chp(或phc)和从第二转换矩阵pht(或thp)的平移矢量ptt(或ttp)计算出坐标转换矩阵cht(或thc)的平移矢量ctt(或ttc)的处理。通过执行这样的处理,可由在以各旋转轴为中心的旋转中的多个旋转位置拍摄的图案图像,容易地求出构成目标坐标系σt和摄像机坐标系σc之间的坐标转换矩阵cht(或thc)的旋转矩阵和平移矢量。

在上述的实施方式中,说明了与机器人100的头部150的摄像机170相关的校正,但本发明也可应用在设置于头部150以外的部位的机器人内置型摄像机、与机器人100分开设置的摄像机的校正中。此外,本发明不限于双腕机器人,也可应用于单腕机器人。

本发明不限于上述的实施方式或实施例、变形例,在不脱离其主旨的范围内能够以各种构成实现。例如,为了解决上述课题的一部分或者全部,或者,为了实现上述效果的一部分或者全部,可对记载于发明内容栏中的各方式中的技术特征所对应的实施方式、实施例、变形例中的技术特征适当地进行替换、组合。此外,如果该技术特征在本说明书中没有作为必要的特征被说明,则可以对其进行适当删除。

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