一种机器人手眼标定方法及系统与流程

文档序号:15861171发布日期:2018-11-07 11:51阅读:370来源:国知局

本发明涉及机器视觉技术领域,尤其涉及一种机器人手眼标定方法及系统。

背景技术

随着工业机器人广泛的应用于装配、抓取等作业过程中,机器人手眼标定精度的要求也越来越高。在传统的手眼标定方法中,大多数是通过齐次变换矩阵建立手眼标定方程,并利用最小二乘法对标定方程进行求解,其计算过程包括旋转矩阵以及平移矩阵的求解,具有计算过程复杂、计算速度慢、精度低等缺点,此外对于标定数据的获取也有一定的限制。



技术实现要素:

本发明所要解决的技术问题是针对上述现有技术的不足,提供一种机器人手眼标定方法,通过建立对偶四元数形式的运动变换方程对机器人进行手眼标定,计算过程简单,标定速度快,标定精度高。

本发明解决上述技术问题的技术方案如下:一种机器人手眼标定方法,机器人的末端上固定有标定板,所述标定板上设有标定点,所述方法包括以下步骤:

步骤s1、获取机器人的工具中心点在机器人基坐标系内的位姿信息,将所述位姿信息转换为对偶四元数的表示形式得到所述工具中心点的手运动螺旋信息;

步骤s2、获取所述标定板的图像信息,并根据所述图像信息计算所述标定点在相机坐标系内的坐标信息,将所述坐标信息转换为对偶四元数的表示形式得到所述标定点的眼运动螺旋信息;

步骤s3、建立所述手运动螺旋信息与所述眼运动螺旋信息之间的运动变换方程,并提取所述运动变换方程中的矩阵因子;

步骤s4、获取机器人位于不同位姿时的多个所述矩阵因子,根据各所述矩阵因子构建变换矩阵;对所述变换矩阵进行奇异值分解得到机器人基坐标系相对于相机坐标系的单位对偶四元数,进而实现机器人的手眼标定。

本发明的有益效果是:本发明通过对偶四元数的形式表示手运动以及眼运动,并建立手眼变换的对偶四元数形式的运动变换方程,提取对偶四元数形式的运动变换方程中的矩阵因子,得出单位对偶四元数。相对于直接直接运用矩阵构建的运动变换方程而言,本发明构建的运动变换方程的求解过程更加简便,计算难度低,标定精度更高。

在上述技术方案的基础上,本发明还可以做如下改进:

进一步:所述步骤s3具体包括:

步骤s31、建立所述手运动螺旋信息与所述眼运动螺旋信息之间的运动变换方程:

上式中,表示所述手运动螺旋信息,表示所述眼运动螺旋信息,表示所述单位对偶四元数,表示所述单位对偶四元数的共轭对偶四元数;

步骤s32、将所述运动变换方程分为对偶部分和非对偶部分:

上式中,h和h'分别表示手运动螺旋信息的非对偶部分和对偶部分,e和e'分别表示眼运动螺旋信息的非对偶部分和对偶部分,q和q'分别表示单位对偶四元数的非对偶部分和对偶部分,q*和q*'分别表示共轭对偶四元数的非对偶部分和对偶部分;

步骤s33、利用所述运动变换方程与对偶四元数的标量部分无关的特性,将所述运动变换方程的对偶部分以及非对偶部分表示为:

上式中,e1为眼运动螺旋信息非对偶部分e的矢量部分,e′1为眼运动螺旋信息对偶部分e'的矢量部分,h1为手运动螺旋信息非对偶部分h的矢量部分,h′1为手运动螺旋信息对偶部分h'的矢量部分,[e1+h1]为e1+h1的反对称矩阵,[e′1+h′1]为e′1+h′1的反对称矩阵。

步骤s34、提取所述运动变换方程中的矩阵因子:

上述进一步方案的有益效果是:建立对偶四元数的运动变换方程,并根据对偶四元数的性质,提取运动变换方程的矩阵因子,并构造变换矩阵,便于后续的计算和求解。

进一步:所述步骤s4具体包括:

步骤s41、获取机器人位于不同位姿时的多个所述矩阵因子s1,s2,...,sn,根据多个所述矩阵因子构建所述变换矩阵

步骤s42、对所述变换矩阵m进行奇异值分解m=uσv,获取所述变换矩阵m中零特征值所对应的特征向量vm、vn,令:

得到所述单位对偶四元数非对偶部分q和单位对偶四元数对偶部分q'的线性方程:

步骤s43、求解所述线性方程的约束方程:

得到约束系数λ1、λ2的值,根据λ1、λ2的值以及所述线性方程计算所述单位对偶四元数非对偶部分q以及对偶部分q′,进而得到所述单位对偶四元数

上述进一步方案的有益效果是:利用奇异值分解对变换矩阵进行分解,并求解其零特征值所对应的特征向量,根据特征向量建立线性方程,最后结合约束条件求解出单位对偶四元数的值。

进一步:还包括步骤s5、利用最小二乘法公式计算所述单位对偶四元数的标定误差根据所述标定误差检验所述单位对偶四元数的标定精度。

上述进一步方案的有益效果是:最小二乘法是一种常用的误差计算方法,利用最小二乘法计算标定误差,并不断优化单位对偶四元数。

本发明还提供一种机器人手眼标定系统,包括机器人、标定板、相机、工作台以及处理器,所述机器人以及所述相机均安装于所述工作台上,所述标定板固定于所述机器人的末端上,所述标定板上设有标定点,所述机器人以及相机均与所述处理器电连接;

所述处理器用于获取机器人的工具中心点在机器人基坐标系内的位姿信息,并将所述位姿信息转换为对偶四元数的表示形式得到所述工具中心点的手运动螺旋信息;

所述相机用于获取所述标定板的图像信息;

所述处理器用于根据所述图像信息计算所述标定点在相机坐标系内的坐标信息,并将所述坐标信息转换为对偶四元数的表示形式得到所述标定点的眼运动螺旋信息;

所述处理器还用于建立所述手运动螺旋信息与所述眼运动螺旋信息之间的运动变换方程,并提取所述运动变换方程中的矩阵因子;

所述处理器还用于获取多个机器人位于不同位姿时的所述矩阵因子,根据各所述矩阵因子构建变换矩阵;对所述变换矩阵进行奇异值分解得到机器人基坐标系相对于相机坐标系的单位对偶四元数。

本发明提供的机器人手眼标定系统,基于上述机器人手眼标定方法,因此,上述机器人手眼标定方法所具备的技术效果,机器人手眼标定系统同样具备,在此不再赘述。

进一步:所述标定板为棋盘格标定板,所述棋盘格标定板上的棋盘格角点为所述标定点。

上述进一步方案的有益效果是:棋盘格上的标准方格有利于相机快速标定标定点的位置。

进一步:所述工作台包括至少一条支撑腿、安装板以及安装架,所述安装板通过所述支撑腿支撑设置于地面上,所述机器人安装于所述安装板上,所述相机通过所述安装架支撑设置于所述安装板的上方。

上述进一步方案的有益效果是:安装板以及支撑腿为机器人提供稳定的运行环境,有利于提供手眼标定的精度,安装架为相机提供稳定支撑,并将相机支撑于机器人的上方,便于相机拍摄标定板的图像。

进一步,所述处理器建立所述手运动螺旋信息与所述眼运动螺旋信息之间的运动变换方程,并提取所述运动变换方程中的矩阵因子,具体包括:

建立所述手运动螺旋信息与所述眼运动螺旋信息之间的运动变换方程,将所述运动变换方程分为对偶部分和非对偶部分,利用所述运动变换方程与对偶四元数的标量部分无关的特性,将所述运动变换方程的对偶部分以及非对偶部分表示为矩阵形式,提取所述运动变换方程中的矩阵因子。

上述进一步方案的有益效果是:建立对偶四元数的运动变换方程,并根据对偶四元数的性质,提取运动变换方程的矩阵因子,并构造变换矩阵,便于后续的计算和求解。

进一步,所述处理器获取多个机器人位于不同位姿时的所述矩阵因子,根据各所述矩阵因子构建变换矩阵,对所述变换矩阵进行奇异值分解得到机器人基坐标系相对于相机坐标系的单位对偶四元数,具体包括:

获取机器人位于不同位姿时的多个所述矩阵因子,根据多个所述矩阵因子构建所述变换矩阵,对所述变换矩阵进行奇异值分解,获取所述变换矩阵中零特征值所对应的特征向量,得到所述单位对偶四元数非对偶部分q和单位对偶四元数对偶部分q'的线性方程,求解所述线性方程的约束方程以及所述线性方程计算所述单位对偶四元数非对偶部分q以及对偶部分q′,进而求解得到所述单位对偶四元数

上述进一步方案的有益效果是:利用奇异值分解对变换矩阵进行分解,并求解其零特征值所对应的特征向量,根据特征向量建立线性方程,最后结合约束条件求解出单位对偶四元数的值。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现机器人手眼标定方法。

本发明提供的计算机可读存储介质用于实现机器人手眼标定方法,因此机器人手眼标定方法所具备的技术效果,计算机可读存储介质同样具备,在此不再赘述。

附图说明

图1为本发明提供的一种机器人手眼标定方法的流程图;

图2为本发明提供的一种机器人手眼标定系统的结构示意图。

附图中,各标号所代表的部件列表如下:

1、机器人,2、标定板,3、相机,41、支撑腿,42、安装板,43、安装架。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

下面结合附图,对本发明进行说明。

如图1所示,本发明实施例提供一种机器人手眼标定方法,机器人的末端上固定有标定板,所述标定板上设有标定点,所述方法包括以下步骤:

步骤s1、获取机器人的工具中心点在机器人基坐标系内的位姿信息,将所述位姿信息转换为对偶四元数的表示形式得到所述工具中心点的手运动螺旋信息;

步骤s2、获取所述标定板的图像信息,并根据所述图像信息计算所述标定点在相机坐标系内的坐标信息,将所述坐标信息转换为对偶四元数的表示形式得到所述标定点的眼运动螺旋信息;

步骤s3、建立所述手运动螺旋信息与所述眼运动螺旋信息之间的运动变换方程,并提取所述运动变换方程中的矩阵因子;

步骤s4、获取机器人位于不同位姿时的多个所述矩阵因子,根据各所述矩阵因子构建变换矩阵;对所述变换矩阵进行奇异值分解得到机器人基坐标系相对于相机坐标系的单位对偶四元数,进而实现机器人的手眼标定。

具体地,根据所述图像信息计算所述标定点在相机坐标系内的坐标信息的过程采用现有的图像处理技术即可以实现,例如opencv。

具体地,至少需要获取三组机器人位于不同位姿时的矩阵因子,以保证标定精度。

本发明通过对偶四元数的形式建立机器人手眼变换的运动变换方程,运动变换方程的表达简单。然后通过运动变换方程与对偶四元数的标量无关的特性,摒除对偶四元数的标量,仅保留矢量部分,提取摒除了标量部分的运动变换方程中的矩阵因子,并构造变换矩阵,利用矩阵的奇异值分解算法,对变换矩阵进行求奇异值分解,得出机器人基坐标系相对于相机坐标系的单位对偶四元数从而实现机器人手眼标定。

本发明提供的基于对偶四元数的机器人手眼标定方法,具有表达式简单、计算速度快及精度高的特点,可应用于各种机器人手眼装置的操作中,实现灵活、精确、快速、高重复度的抓取或装配操作。

优选的,所述步骤s3具体包括:

步骤s31、建立所述手运动螺旋信息与所述眼运动螺旋信息之间的运动变换方程:

上式中,表示所述手运动螺旋信息,表示所述眼运动螺旋信息,表示所述单位对偶四元数,表示所述单位对偶四元数的共轭对偶四元数;

步骤s32、将所述运动变换方程分为对偶部分和非对偶部分:

上式中,h和h'分别表示手运动螺旋信息的非对偶部分和对偶部分,e和e'分别表示眼运动螺旋信息的非对偶部分和对偶部分,q和q'分别表示单位对偶四元数的非对偶部分和对偶部分,q*和q*'分别表示共轭对偶四元数的非对偶部分和对偶部分;

步骤s33、利用所述运动变换方程与对偶四元数的标量部分无关的特性,将所述运动变换方程的对偶部分以及非对偶部分表示为:

上式中,e1为眼运动螺旋信息非对偶部分e的矢量部分,e′1为眼运动螺旋信息对偶部分e'的矢量部分,h1为手运动螺旋信息非对偶部分h的矢量部分,h′1为手运动螺旋信息对偶部分h'的矢量部分,[e1+h1]为e1+h1的反对称矩阵,[e′1+h′1]为e′1+h′1的反对称矩阵。

步骤s34、提取所述运动变换方程中的矩阵因子:

具体地,上述矩阵因子s为6×8的矩阵,其中e1-h1和e′1-h′1为3×1矩阵[e1+h1]和[e′1+h′1]为3×3矩阵。

具体地,步骤s32中,将所述运动变换方程分为对偶部分和非对偶部分:

对上述的左右两边同时乘以q,并利用q*q'+q*'q=0特性,得到:

采用对偶四元数的形式建立运动变换方程,表达式简单,计算速度快,精度高,使得经过标定的机器人可以处出现灵活、准确、快速、高重复度的抓取、装配等操作。

优选的,所述步骤s4具体包括:

步骤s41、获取机器人位于不同位姿时的多个所述矩阵因子s1,s2,...,sn,根据多个所述矩阵因子构建所述变换矩阵

步骤s42、对所述变换矩阵m进行奇异值分解m=uσv,获取所述变换矩阵m中零特征值所对应的特征向量vm、vn,令:

得到所述单位对偶四元数非对偶部分q和单位对偶四元数对偶部分q'的线性方程:

步骤s43、求解所述线性方程的约束方程:

得到约束系数λ1、λ2的值,根据λ1、λ2的值以及所述线性方程计算所述单位对偶四元数非对偶部分q以及对偶部分q′,进而得到所述单位对偶四元数

具体地,上述变换矩阵m为6n×8的矩阵,其中n为矩阵因子的个数。u和v分别为变换矩阵m的奇异向量,σ为变换矩阵的奇异值。

通过对变换矩阵进行奇异值分解,实现了运动变换方程的求解,大大简化了标定过程中的计算公式,降低了计算难度,加快了计算速度以及标定效率。优选的,还包括步骤s5、利用最小二乘法公式计算所述单位对偶四元数的标定误差根据所述标定误差检验所述单位对偶四元数的标定精度。

读取实时的手运动螺旋信息以及相对应的眼运动螺旋信息将计算得出的单位对偶四元数以及读取的手运动螺旋信息以及相对应的眼运动螺旋信息代入公式中计算出标定误差,进而得到标定精度,便于根据标定误差对单位对偶四元数进行调整。

如图2所示,本发明实施例提供一种机器人手眼标定系统,以下简称标定系统,包括机器人1、标定板2、相机3、工作台以及处理器,所述机器人1以及所述相机3均安装于所述工作台上,所述标定板2固定于所述机器人1的末端上,所述标定板2上设有标定点,所述机器人1以及相机3均与所述处理器电连接;

所述处理器用于获取机器人1的工具中心点在机器人基坐标系内的位姿信息,并将所述位姿信息转换为对偶四元数的表示形式得到所述工具中心点的手运动螺旋信息;

所述相机3用于获取所述标定板2的图像信息;

所述处理器用于根据所述图像信息计算所述标定点在相机坐标系内的坐标信息,并将所述坐标信息转换为对偶四元数的表示形式得到所述标定点的眼运动螺旋信息;

所述处理器还用于建立所述手运动螺旋信息与所述眼运动螺旋信息之间的运动变换方程,并提取所述运动变换方程中的矩阵因子;

所述处理器还用于获取多个机器人位于不同位姿时的所述矩阵因子,根据各所述矩阵因子构建变换矩阵;对所述变换矩阵进行奇异值分解得到机器人基坐标系相对于相机坐标系的单位对偶四元数。

具体地,本实施例中机器人1选用六自由度ur3工业机器人,利用opencv对相机3拍摄的标定板图像进行标定,获得标定点对应的位姿信息。处理器采用matlab程序完成上述标定方法的计算过程,从而获得机器人基坐标系相对于相机坐标系的单位对偶四元数的值,进而完成机器人的手眼标定过程。

本发明提供的机器人手眼标定系统,基于上述机器人手眼标定方法,因此,上述机器人手眼标定方法所具备的技术效果,机器人手眼标定系统同样具备,在此不再赘述。

优选的,所述标定板2为棋盘格标定板,所述棋盘格标定板上的棋盘格角点为所述标定点。

棋盘格上的标准方格可作为相机标定时的参考,有利于相机快速标定所述标定点的坐标信息。

优选的,如图2所示,所述工作台包括至少一条支撑腿41、安装板42以及安装架43,所述安装板42通过所述支撑腿41支撑设置于地面上,所述机器人1安装于所述安装板42上,所述相机3通过所述安装架43支撑设置于所述安装板42的上方。

安装板42以及支撑腿41为机器人1提供稳定支撑以及稳定的运行环境,安装架43为相机3提供稳定支撑,为相机3提供一个稳定的拍摄环境,有利于标定板2的图像的拍摄。

优选的,所述处理器建立所述手运动螺旋信息与所述眼运动螺旋信息之间的运动变换方程,并提取所述运动变换方程中的矩阵因子,具体包括:

建立所述手运动螺旋信息与所述眼运动螺旋信息之间的运动变换方程,将所述运动变换方程分为对偶部分和非对偶部分,利用所述运动变换方程与对偶四元数的标量部分无关的特性,将所述运动变换方程的对偶部分以及非对偶部分表示为矩阵形式,提取所述运动变换方程中的矩阵因子。

建立对偶四元数的运动变换方程,并根据对偶四元数的性质,提取运动变换方程的矩阵因子,并构造变换矩阵,便于后续的计算和求解。

优选的,所述处理器获取多个机器人位于不同位姿时的所述矩阵因子,根据各所述矩阵因子构建变换矩阵,对所述变换矩阵进行奇异值分解得到机器人基坐标系相对于相机坐标系的单位对偶四元数,具体包括:

获取机器人位于不同位姿时的多个所述矩阵因子,根据多个所述矩阵因子构建所述变换矩阵,对所述变换矩阵进行奇异值分解,获取所述变换矩阵中零特征值所对应的特征向量,得到所述单位对偶四元数非对偶部分q和单位对偶四元数对偶部分q'的线性方程,求解所述线性方程的约束方程以及所述线性方程计算所述单位对偶四元数非对偶部分q以及对偶部分q′,进而求解得到所述单位对偶四元数

利用奇异值分解对变换矩阵进行分解,并求解其零特征值所对应的特征向量,根据特征向量建立线性方程,最后结合约束条件求解出单位对偶四元数的值。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述机器人手眼标定方法。

本发明提供的计算机可读存储介质用于实现机器人手眼标定方法,因此机器人手眼标定方法所具备的技术效果,计算机可读存储介质同样具备,在此不再赘述。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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