机器人手眼标定方法和系统与流程

文档序号:15611169发布日期:2018-10-09 20:30阅读:1400来源:国知局

本申请涉及机器视觉技术领域,特别是涉及一种机器人手眼标定方法和机器人手眼标定系统。



背景技术:

在机器视觉应用于机器人技术时,经常将相机固定在机器人的末端执行器上,当机器人的末端执行器在抓取工件时,可以通过相机测定末端执行器与工件的相对位置,形成了机器人“手眼”视觉系统。

机器人“手眼”视觉系统一般要求安装后相机的焦平面与机器人法兰盘所在平面绝对平行,但是机器人的末端与执行器安装过程中都会存在不同程度的误差,造成机器人“手眼”视觉系统也会存在较大误差,使得机器人抓取物体位置精度低。



技术实现要素:

基于此,有必要针对机器人抓取物体位置精度低的问题,提供一种机器人手眼标定方法和系统。

一种机器人手眼标定方法,机器人的末端安装有相机和标准冶具,固定的标定物体上设置有特征点,方法包括以下步骤:

获取第一机器坐标、第二机器坐标和标定像素坐标,其中,第一机器坐标为在校准冶具的末端沿标准方向对准特征点时机器人的移动控制坐标,标准方向为机器人上所安装的法兰盘的法线方向,第二机器坐标为在特征点位于相机视野中指定位置时机器人的移动控制坐标,标定像素坐标为当特征点随机器人移动至相机视野中指定位置时特征点在相机视野中的位置坐标;

根据第一机器坐标、第二机器坐标和标定像素坐标,获取透视变换矩阵;

根据透视变换矩阵获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,根据映射关系将目标点的像素坐标转换成目标机器坐标,其中,目标点的像素坐标包括目标点在相机中的位置坐标,目标机器坐标为机器人移动至目标点对应的移动控制坐标。

一种机器人手眼标定系统,机器人的末端安装有相机和标准冶具,固定的标定物体上设置有特征点,系统包括:

坐标获取模块,用于获取第一机器坐标、第二机器坐标和标定像素坐标,其中,第一机器坐标为在校准冶具的末端沿标准方向对准特征点时机器人的移动控制坐标,标准方向为机器人上所安装的法兰盘的法线方向,第二机器坐标为在特征点位于相机视野中指定位置时机器人的移动控制坐标,标定像素坐标为当特征点随机器人移动至相机视野中指定位置时特征点在相机视野中的位置坐标;

透视变换矩阵获取模块,用于根据第一机器坐标、第二机器坐标和标定像素坐标,获取透视变换矩阵;

坐标变换模块,用于根据透视变换矩阵获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,根据映射关系将目标点的像素坐标转换成目标机器坐标,其中,目标点的像素坐标包括目标点在相机中的位置坐标,目标机器坐标为机器人移动至目标点对应的移动控制坐标。

上述机器人手眼标定方法和系统,通过获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,可以实现根据映射关系将目标点的像素坐标转换成目标机器坐标,完成机器人的手眼标定,可以提高机器人到达抓取物体所在位置的精度。

附图说明

图1为一个实施例中机器人手眼标定方法的应用环境图;

图2为一个实施例中机器人手眼标定方法的流程图;

图3为一个实施例中目标机器坐标转换的流程图;

图4为一个实施例中透视变换矩阵获取的流程图;

图5为一个实施例中透视变换矩阵求解的流程图;

图6为另一个实施例中机器人手眼标定方法的流程图;

图7为一个实施例中机器人手眼标定系统的结构示意图;

图8为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的机器人手眼标定方法,可以应用于如图1所示的应用环境中,图1为一个实施例中机器人手眼标定方法的应用环境图。其中,机器人10的末端包括有一个可移动的工具臂11,通过工具臂11可以在机器人10的末端安装有相机20和标准冶具30,在机器人10末端的下方放置有一个固定不动的特征点40,另外,工具臂11通过法兰盘50安装在机器人10的末端,因此校准冶具30的方向与法兰盘50的法线方向平行。

在一个实施例中,如图2所示,图2为一个实施例中机器人手眼标定方法的流程图,提供了一种机器人手眼标定方法,以该方法应用于图1中的应用环境进行说明,机器人的末端安装有相机和标准冶具,固定的标定物体上设置有特征点,上述方法包括以下步骤:

步骤s210:获取第一机器坐标、第二机器坐标和标定像素坐标,其中,第一机器坐标为在校准冶具的末端沿标准方向对准特征点时机器人的移动控制坐标,标准方向为机器人上所安装的法兰盘的法线方向,第二机器坐标为在特征点位于相机视野中指定位置时机器人的移动控制坐标,标定像素坐标为当特征点随机器人移动至相机视野中指定位置时特征点在相机视野中的位置坐标。

标准冶具是间接通过法兰盘安装在机器人的末端,因此校准冶具的摆放方向与法兰盘的法线方向平行。校准冶具的末端沿标准方向对准特征点时,可以保证校准冶具的沿其摆放方向对准特征点,且校准冶具的末端对准特征点。

机器人的移动控制坐标可以用于记录机器人末端的工具臂的空间位置和控制工具臂移动至指定的空间位置。因此,第一机器坐标可以在校准冶具的末端沿标准方向对准特征点时采集此时机器人的移动控制坐标,并存储。第二机器坐标可以在特征点位于相机视野中指定位置时采集机器人的移动控制坐标,并存储。

机器人末端的相机中的相机视野可以包含有特征点,并且相机的焦距可以使得特征点能被清晰地识别。标定像素坐标可以当特征点随机器人移动至相机视野中指定位置时,在通过相机所获取的相机视野中,识别特征点在相机视野中的位置坐标,并存储。

指定位置包括多个,可以包括相机视野中的左上方、上方、右上方、左方、中间、右方、左下方、下方和右下方。例如,保持特征点在大地空间坐标系中静止不动,可以移动机器人并使得特征点分别出现在相机视野中的左上方、上方、右上方、左方、中间、右方、左下方、下方和右下方,获取9个指定位置下的第二机器坐标和标定像素坐标,也可以获取其中任意个数指定位置的第二机器坐标和标定像素坐标。

步骤s220:根据第一机器坐标、第二机器坐标和标定像素坐标,获取透视变换矩阵。

从另一种角度可以理解,当机器人的位置处于第一机器坐标时,为了使得特征点在相机视野中移动至指定位置,实际上需要控制机器人并使机器人移动至第二机器坐标。因此第二机器坐标和标定像素坐标之间存在透视变换关系,根据第一机器坐标、第二机器坐标和标定像素坐标可以计算出反映透视变换关系的透视变换矩阵。

步骤s230:根据透视变换矩阵获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系。

步骤s240:根据映射关系将目标点的像素坐标转换成目标机器坐标,其中,目标点的像素坐标包括目标点在相机中的位置坐标,目标机器坐标为机器人移动至目标点对应的移动控制坐标。

根据透视变换矩阵,可以将目标点的像素坐标转换成目标机器坐标,以便于实现机器人移动至目标点,完成机器人的手眼标定。

上述机器人手眼标定方法,通过获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,可以实现根据映射关系将目标点的像素坐标转换成目标机器坐标,完成机器人的手眼标定,可以提高机器人到达抓取物体所在位置的精度。

在一个实施例中,如图3所示,图3为一个实施例中目标机器坐标转换的流程图,根据映射关系将目标点的像素坐标转换成目标机器坐标的步骤,包括以下步骤:

步骤s241:获取初始机器坐标和目标点的像素坐标,其中,初始机器坐标为在获取目标点所在相机视野时的移动控制坐标。

在采集目标点的像素坐标的同时,对初始机器坐标进行采集。

步骤s242:根据初始机器坐标、目标点的像素坐标和映射关系,获取目标机器坐标。

机器人处于初始机器坐标所对应的位置中,根据此时目标点的像素坐标和映射关系,可以获取目标机器坐标。

上述机器人手眼标定方法,根据初始机器坐标、目标点的像素坐标和映射关系,获取目标机器坐标,完成机器人的手眼标定,可以提高机器人到达抓取物体所在位置的精度。

在一个实施例中,如图4所示,图4为一个实施例中透视变换矩阵获取的流程图,根据第一机器坐标、第二机器坐标和标定像素坐标,获取透视变换矩阵的步骤,包括以下步骤:

步骤s221:根据第一机器坐标和第二机器坐标获取第三机器坐标,其中,第三机器坐标为第二机器坐标投影在第一机器坐标所在平面的坐标。

借助第一机器坐标所在平面,根据获取的第三机器坐标求解透视变换矩阵,降低计算的复杂程度和运算量,并提高精度。

第一机器坐标中可以包括有x轴的坐标、y轴的坐标和旋转坐标。将第二机器坐标投影在第一机器坐标所在平面,即将第二机器坐标按照第一机器坐标的旋转坐标所对应角度进行投影,那么,第二机器坐标经过投影后获取的第三机器坐标即为在该对应角度下x轴和y轴的坐标。

例如,第一机器坐标可以包括有x轴的坐标、y轴的坐标和旋转坐标,其中旋转坐标为0,那么将第二机器坐标投影在旋转坐标为0的第一机器坐标所在平面后,以理解为第二机器坐标投影在旋转角度为0的平面。即投影获取的第三机器坐标为旋转角度为0的坐标,可以降低计算的复杂程度和运算量,并提高精度。

步骤s222:根据第三机器坐标和标定像素坐标获取透视变换矩阵。

根据第三机器坐标和标定像素坐标之间一一对应的关系,求解并获取透视变换矩阵,获取的透视变换矩阵可以用于表现机器人的移动控制坐标与相机视野中的位置坐标的映射关系。

上述机器人手眼标定方法,根据第一机器坐标和第二机器坐标获取第三机器坐标,根据第三机器坐标和标定像素坐标获取透视变换矩阵,可以降低计算的复杂程度和运算量,并提高精度。

在一个实施例中,根据第三机器坐标和标定像素坐标获取透视变换矩阵的步骤,包括以下步骤:

根据qi=pi*a获取透视变换矩阵,其中,i为指定位置的序号,qi为第i个第三机器坐标,pi为第i个标定像素坐标,a为透视变换矩阵。

上述机器人手眼标定方法,根据第三机器坐标和标定像素坐标确定并获取透视变换矩阵,可以降低计算的复杂程度和运算量,并提高精度。

在一个实施例中,根据第一机器坐标和第二机器坐标获取第三机器坐标的步骤,包括以下步骤:

根据获取第三机器坐标,其中,i为指定位置的序号,qi(xi,yi)为第i个第三机器坐标,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,vxi、vyi和vri分别为第i个第二机器坐标的横坐标、纵坐标和旋转坐标,x0和y0分别为第一机器坐标的横坐标和纵坐标。

上述机器人手眼标定方法,x0和y0分别为第一机器坐标的横坐标和纵坐标,第一机器坐标的旋转坐标为0,根据旋转坐标为0的第一机器坐标计算第三机器坐标,可以获取同样旋转坐标为0的第三机器坐标,可以降低计算的复杂程度和运算量,并提高精度。

在一个实施例中,如图5所示,图5为一个实施例中透视变换矩阵求解的流程图,根据第三机器坐标和标定像素坐标获取透视变换矩阵的步骤,包括以下步骤:

步骤s223:根据第三机器坐标和标定像素坐标建立透视变换等式。

根据指定位置下的第三机器坐标和标定像素坐标中,所代表的机器人的移动控制坐标与相机视野中的位置坐标之间的关系,建立透视变换等式,用于后续的透视变换矩阵的求解。

步骤s224:根据透视变换等式求解透视变换矩阵。

根据透视变换等式,确定的等式关系,可以准确地求解透视变换矩阵。

上述机器人手眼标定方法,通过第三机器坐标和标定像素坐标建立的透视变换等式可以准确地求解透视变换矩阵,以便于后续提高机器人到达抓取物体所在位置的精度。

在一个实施例中,根据第三机器坐标和标定像素坐标建立透视变换等式的步骤,包括以下步骤:

步骤s225:确定为第三机器坐标和标定像素坐标的变换关系,其中,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,zi满足zi=a13ui+a23wi+a33,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,为透视变换矩阵,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素。

根据指定位置下的第三机器坐标和标定像素坐标中,获取第三机器坐标和标定像素坐标的变换关系,变换关系可以用于代表机器人的移动控制坐标与相机视野中的位置坐标之间的关系。

其中,1可以看做是给定的参考基准,该参考基准可以是定值,该参考基准除了是1以外,还可以是其他定值。另外,当参考基准为1时可以方便和简化计算,提高准确性。

步骤s226:根据变换关系获得其中,为透视变换等式,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素。

根据多个指定位置下所获取的透视变换等式,可以准确地求解透视变换矩阵中的元素。

另外,很重要的一点,通过透视变换等式后求解得到的透视变换矩阵,可以计算出法兰盘所在平面和相机视野所在平面之间的夹角,即计算出安装后相机的焦平面与机器人法兰盘所在平面之间的误差。其中,a13可以体现x轴与u轴之间的夹角,a23可以体现y轴与w轴之间的夹角,a11可以体现x轴与u轴之间的比例系数,a12可以体现x轴与w轴之间的比例系数,a21可以体现y轴与u轴之间的比例系数,a22可以体现y轴与w轴之间的比例系数,a31可以体现x轴与u轴之间的平移量,a32可以体现y轴与w轴之间的平移量,a33a33在特殊情况下可以为1。x轴为x所在的坐标轴,y轴为y所在的坐标轴,u轴为u所在的坐标轴,w轴为w所在的坐标轴。

上述机器人手眼标定方法,通过确定第三机器坐标和标定像素坐标的变换关系,并获得透视变换等式,可以准确地求解透视变换矩阵中的元素,获取透视变换矩阵。

在一个实施例中,根据透视变换矩阵获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系的步骤,包括以下步骤:

根据获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,其中,x和y分别为机器人的移动控制坐标的横坐标和纵坐标,u和w分别为相机视野中的位置坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素,xt、yt和rt分别为初始机器坐标的横坐标、纵坐标和旋转坐标,初始机器坐标为在获取目标点所在相机视野时的移动控制坐标。

上述机器人手眼标定方法,根据求解后的透视变换矩阵后,可以准确地获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,以便于后续获取目标机器坐标,完成机器人的手眼标定,并提高机器人到达抓取物体所在位置的精度。

在一个实施例中,根据映射关系将目标点的像素坐标转换成目标机器坐标的步骤,包括以下步骤:

获取初始机器坐标和目标点的像素坐标;

根据获取目标机器坐标,其中,xf和yf分别为目标机器坐标的横坐标和纵坐标,ut和wt分别为目标点的像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素,xt、yt和rt分别为初始机器坐标的横坐标、纵坐标和旋转坐标。

上述机器人手眼标定方法,根据初始机器坐标、目标点的像素坐标和映射关系,获取目标机器坐标,完成机器人的手眼标定,可以提高机器人到达抓取物体所在位置的精度。

在采集目标点的像素坐标的同时,对初始机器坐标进行采集。机器人处于初始机器坐标所对应的位置中,根据此时目标点的像素坐标和映射关系,可以获取目标机器坐标。

在一个实施例中,在根据透视变换等式求解透视变换矩阵的步骤之后,还包括以下步骤:

根据获取使得ε值最小的透视变换矩阵,其中,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素。

上述机器人手眼标定方法,通过获取使得ε值最小的透视变换矩阵,可以获取最优化和最接近实际的透视变换矩阵,进一步降低误差,提高透视变换矩阵的准确性,以便于可以提高机器人到达抓取物体所在位置的精度。

在另一个实施例中,如图6所示,图6为另一个实施例中机器人手眼标定方法的流程图,本实施例中机器人手眼标定方法包括以下步骤:

获取机器人的第一机器坐标和第二机器坐标,以及获取相机视野中特征点的标定像素坐标,匹配9组指定位置下对应的第二机器坐标和标定像素坐标。将相机和标准冶具安装在机器人的末端,在机器人末端的下方放置有一个固定不动的特征点,调整相机使得相机的焦面可以清晰得识别特征点和特征点所在平面,该特征点可以是容易识别且唯一的,特征点的形状可以是圆形、圆孔状等。将校准冶具的末端对准特征点的中心,并记录此时机器人的移动控制坐标为第一机器坐标。通过机器人移动带动相机视野变化,并使得特征点可以分别出现在相机视野中的左上方、上方、右上方、左方、中间、右方、左下方、下方和右下方,获取这9个指定位置下的标定像素坐标,并采集这9个标定像素坐标的同时,获取对应的9个第二机器坐标;可以通过采集此时相机的图像,对图像进行处理并提取特征点的标定像素坐标。根据第一机器坐标,将9个第二机器坐标进行归一化,并获取对应的9个第三机器坐标,归一化可以指的是,将第二机器坐标投影在旋转角度为0的平面,所获取的第三机器坐标为旋转角度为0的坐标。根据获取第三机器坐标,其中,i为指定位置的序号,qi(xi,yi)为第i个第三机器坐标,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,vxi、vyi和vri分别为第i个第二机器坐标的横坐标、纵坐标和旋转坐标,x0和y0分别为第一机器坐标的横坐标和纵坐标。

根据匹配的第二机器坐标和标定像素坐标计算透视变换矩阵。在根据第二机器坐标获取第三机器坐标后,根据同一个指定位置的第三机器坐标和对应的标定像素坐标建立透视变换转换模型,使得qi=pi*a,其中,i为指定位置的序号,qi为第i个第三机器坐标,pi为第i个标定像素坐标,a为透视变换矩阵。由透视变换转换模型中确定为第三机器坐标和标定像素坐标的变换关系,其中,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,zi满足zi=a13ui+a23wi+a33,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,为透视变换矩阵,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素。根据变换关系获得其中,为透视变换等式。根据透视变换等式和获取使得ε值最小的透视变换矩阵。

根据透视变换矩阵将相机视野的目标点的像素坐标转换至目标机器坐标,以便于实现机器人移动至目标点,完成机器人的手眼标定。根据获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,其中,x和y分别为机器人的移动控制坐标的横坐标和纵坐标,u和w分别为相机视野中的位置坐标的横坐标和纵坐标,xt、yt和rt分别为初始机器坐标的横坐标、纵坐标和旋转坐标,初始机器坐标为在获取目标点所在相机视野时的移动控制坐标。根据获取目标机器坐标,其中,xf和yf分别为目标机器坐标的横坐标和纵坐标,ut和wt分别为目标点的像素坐标的横坐标和纵坐标。

上述机器人手眼标定方法,提出9个指定位置下的特征点的第二机器坐标和标定像素坐标,可以计算精确并最优的透视变换矩阵,可以实现根据映射关系将目标点的像素坐标转换成目标机器坐标,完成机器人的手眼标定,可以提高机器人到达抓取物体所在位置的精度。同时计算出通过透视变换等式后求解得到的透视变换矩阵,可以计算出法兰盘所在平面和相机视野所在平面之间的夹角,即计算出安装后相机的焦平面与机器人法兰盘所在平面之间的误差。其中,a13可以体现x轴与u轴之间的夹角,a23可以体现y轴与w轴之间的夹角。

应该理解的是,虽然图2至6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图7所示,图7为一个实施例中机器人手眼标定系统的结构示意图,提供了一种机器人手眼标定系统,机器人的末端安装有相机和标准冶具,固定的标定物体上设置有特征点,系统包括坐标获取模块310、透视变换矩阵获取模块320和坐标变换模块330,其中:

坐标获取模块310,用于获取第一机器坐标、第二机器坐标和标定像素坐标,其中,第一机器坐标为在校准冶具的末端沿标准方向对准特征点时机器人的移动控制坐标,标准方向为机器人上所安装的法兰盘的法线方向,第二机器坐标为在特征点位于相机视野中指定位置时机器人的移动控制坐标,标定像素坐标为当特征点随机器人移动至相机视野中指定位置时特征点在相机视野中的位置坐标;

透视变换矩阵获取模块320,用于根据第一机器坐标、第二机器坐标和标定像素坐标,获取透视变换矩阵;

坐标变换模块330,用于根据透视变换矩阵获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,根据映射关系将目标点的像素坐标转换成目标机器坐标,其中,目标点的像素坐标包括目标点在相机中的位置坐标,目标机器坐标为机器人移动至目标点对应的移动控制坐标。

上述机器人手眼标定系统,通过获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,可以实现根据映射关系将目标点的像素坐标转换成目标机器坐标,完成机器人的手眼标定,可以提高机器人到达抓取物体所在位置的精度。

在一个实施例中,坐标变换模块330还用于获取初始机器坐标和目标点的像素坐标,其中,初始机器坐标为在获取目标点所在相机视野时的移动控制坐标;根据初始机器坐标、目标点的像素坐标和映射关系,获取目标机器坐标。

上述机器人手眼标定系统,根据初始机器坐标、目标点的像素坐标和映射关系,获取目标机器坐标,完成机器人的手眼标定,可以提高机器人到达抓取物体所在位置的精度。

在一个实施例中,透视变换矩阵获取模块320还用于根据第一机器坐标和第二机器坐标获取第三机器坐标,其中,第三机器坐标为第二机器坐标投影在第一机器坐标所在平面的坐标;根据第三机器坐标和标定像素坐标获取透视变换矩阵。

上述机器人手眼标定系统,根据第一机器坐标和第二机器坐标获取第三机器坐标,根据第三机器坐标和标定像素坐标获取透视变换矩阵,可以降低计算的复杂程度和运算量,并提高精度。

在一个实施例中,透视变换矩阵获取模块320还用于根据qi=pi*a获取透视变换矩阵,其中,i为指定位置的序号,qi为第i个第三机器坐标,pi为第i个标定像素坐标,a为透视变换矩阵。

上述机器人手眼标定系统,根据第三机器坐标和标定像素坐标确定并获取透视变换矩阵,可以降低计算的复杂程度和运算量,并提高精度。

在一个实施例中,透视变换矩阵获取模块320还用于根据获取第三机器坐标,其中,i为指定位置的序号,qi(xi,yi)为第i个第三机器坐标,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,vxi、vyi和vri分别为第i个第二机器坐标的横坐标、纵坐标和旋转坐标,x0和y0分别为第一机器坐标的横坐标和纵坐标。

上述机器人手眼标定系统,x0和y0分别为第一机器坐标的横坐标和纵坐标,第一机器坐标的旋转坐标为0,根据旋转坐标为0的第一机器坐标计算第三机器坐标,可以获取同样旋转坐标为0的第三机器坐标,可以降低计算的复杂程度和运算量,并提高精度。

在一个实施例中,透视变换矩阵获取模块320还用于根据第三机器坐标和标定像素坐标建立透视变换等式;根据透视变换等式求解透视变换矩阵。

上述机器人手眼标定系统,通过第三机器坐标和标定像素坐标建立的透视变换等式可以准确地求解透视变换矩阵,以便于后续提高机器人到达抓取物体所在位置的精度。

在一个实施例中,透视变换矩阵获取模块320还用于确定为第三机器坐标和标定像素坐标的变换关系,其中,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,zi满足zi=a13ui+a23wi+a33,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,为透视变换矩阵,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素;根据变换关系获得其中,为透视变换等式,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素。

上述机器人手眼标定系统,通过确定第三机器坐标和标定像素坐标的变换关系,并获得透视变换等式,可以准确地求解透视变换矩阵中的元素,获取透视变换矩阵。

在一个实施例中,坐标变换模块330还用于根据获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,其中,x和y分别为机器人的移动控制坐标的横坐标和纵坐标,u和w分别为相机视野中的位置坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素,xt、yt和rt分别为初始机器坐标的横坐标、纵坐标和旋转坐标,初始机器坐标为在获取目标点所在相机视野时的移动控制坐标。

上述机器人手眼标定系统,根据求解后的透视变换矩阵后,可以准确地获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,以便于后续获取目标机器坐标,完成机器人的手眼标定,并提高机器人到达抓取物体所在位置的精度。

在一个实施例中,坐标变换模块330还用于获取初始机器坐标和目标点的像素坐标;根据获取目标机器坐标,其中,xf和yf分别为目标机器坐标的横坐标和纵坐标,ut和wt分别为目标点的像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素,xt、yt和rt分别为初始机器坐标的横坐标、纵坐标和旋转坐标。

上述机器人手眼标定系统,根据初始机器坐标、目标点的像素坐标和映射关系,获取目标机器坐标,完成机器人的手眼标定,可以提高机器人到达抓取物体所在位置的精度。

在一个实施例中,透视变换矩阵获取模块320还用于根据获取使得ε值最小的透视变换矩阵,其中,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素。

上述机器人手眼标定系统,通过获取使得ε值最小的透视变换矩阵,可以获取最优化和最接近实际的透视变换矩阵,进一步降低误差,提高透视变换矩阵的准确性,以便于可以提高机器人到达抓取物体所在位置的精度。

关于机器人手眼标定系统的具体限定可以参见上文中对于机器人手眼标定方法的限定,在此不再赘述。上述机器人手眼标定系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种机器人手眼标定方法。

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

获取第一机器坐标、第二机器坐标和标定像素坐标,其中,第一机器坐标为在校准冶具的末端沿标准方向对准特征点时机器人的移动控制坐标,标准方向为机器人上所安装的法兰盘的法线方向,第二机器坐标为在特征点位于相机视野中指定位置时机器人的移动控制坐标,标定像素坐标为当特征点随机器人移动至相机视野中指定位置时特征点在相机视野中的位置坐标;

根据第一机器坐标、第二机器坐标和标定像素坐标,获取透视变换矩阵;

根据透视变换矩阵获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,根据映射关系将目标点的像素坐标转换成目标机器坐标,其中,目标点的像素坐标包括目标点在相机中的位置坐标,目标机器坐标为机器人移动至目标点对应的移动控制坐标。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取初始机器坐标和目标点的像素坐标,其中,初始机器坐标为在获取目标点所在相机视野时的移动控制坐标;根据初始机器坐标、目标点的像素坐标和映射关系,获取目标机器坐标。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据第一机器坐标和第二机器坐标获取第三机器坐标,其中,第三机器坐标为第二机器坐标投影在第一机器坐标所在平面的坐标;根据第三机器坐标和标定像素坐标获取透视变换矩阵。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据qi=pi*a获取透视变换矩阵,其中,i为指定位置的序号,qi为第i个第三机器坐标,pi为第i个标定像素坐标,a为透视变换矩阵。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据获取第三机器坐标,其中,i为指定位置的序号,qi(xi,yi)为第i个第三机器坐标,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,vxi、vyi和vri分别为第i个第二机器坐标的横坐标、纵坐标和旋转坐标,x0和y0分别为第一机器坐标的横坐标和纵坐标。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据第三机器坐标和标定像素坐标建立透视变换等式;根据透视变换等式求解透视变换矩阵。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

确定为第三机器坐标和标定像素坐标的变换关系,其中,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,zi满足zi=a13ui+a23wi+a33,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,为透视变换矩阵,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素;

根据变换关系获得其中,为透视变换等式,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取初始机器坐标和目标点的像素坐标;根据获取目标机器坐标,其中,xf和yf分别为目标机器坐标的横坐标和纵坐标,ut和wt分别为目标点的像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素,xt、yt和rt分别为初始机器坐标的横坐标、纵坐标和旋转坐标。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据获取使得ε值最小的透视变换矩阵,其中,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取第一机器坐标、第二机器坐标和标定像素坐标,其中,第一机器坐标为在校准冶具的末端沿标准方向对准特征点时机器人的移动控制坐标,标准方向为机器人上所安装的法兰盘的法线方向,第二机器坐标为在特征点位于相机视野中指定位置时机器人的移动控制坐标,标定像素坐标为当特征点随机器人移动至相机视野中指定位置时特征点在相机视野中的位置坐标;

根据第一机器坐标、第二机器坐标和标定像素坐标,获取透视变换矩阵;

根据透视变换矩阵获取机器人的移动控制坐标与相机视野中的位置坐标的映射关系,根据映射关系将目标点的像素坐标转换成目标机器坐标,其中,目标点的像素坐标包括目标点在相机中的位置坐标,目标机器坐标为机器人移动至目标点对应的移动控制坐标。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取初始机器坐标和目标点的像素坐标,其中,初始机器坐标为在获取目标点所在相机视野时的移动控制坐标;根据初始机器坐标、目标点的像素坐标和映射关系,获取目标机器坐标。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据第一机器坐标和第二机器坐标获取第三机器坐标,其中,第三机器坐标为第二机器坐标投影在第一机器坐标所在平面的坐标;根据第三机器坐标和标定像素坐标获取透视变换矩阵。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据qi=pi*a获取透视变换矩阵,其中,i为指定位置的序号,qi为第i个第三机器坐标,pi为第i个标定像素坐标,a为透视变换矩阵。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据获取第三机器坐标,其中,i为指定位置的序号,qi(xi,yi)为第i个第三机器坐标,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,vxi、vyi和vri分别为第i个第二机器坐标的横坐标、纵坐标和旋转坐标,x0和y0分别为第一机器坐标的横坐标和纵坐标。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据第三机器坐标和标定像素坐标建立透视变换等式;根据透视变换等式求解透视变换矩阵。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

确定为第三机器坐标和标定像素坐标的变换关系,其中,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,zi满足zi=a13ui+a23wi+a33,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,为透视变换矩阵,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素;

根据变换关系获得其中,为透视变换等式,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取初始机器坐标和目标点的像素坐标;根据获取目标机器坐标,其中,xf和yf分别为目标机器坐标的横坐标和纵坐标,ut和wt分别为目标点的像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素,xt、yt和rt分别为初始机器坐标的横坐标、纵坐标和旋转坐标。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据获取使得ε值最小的透视变换矩阵,其中,i为指定位置的序号,xi和yi分别为第i个第三机器坐标的横坐标和纵坐标,ui和wi分别为第i个标定像素坐标的横坐标和纵坐标,a11、a12、a13、a21、a22、a23、a31、a32和a33分别为透视变换矩阵的元素。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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