一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于ICP算法的手眼标定误差修正方法

2022-05-21 06:53:09 来源:中国专利 TAG:

一种基于icp算法的手眼标定误差修正方法
技术领域
1.本发明涉及机器人与相机手眼标定技术领域,具体而言,涉及一种基于icp算法的手眼标定误差修正方法。


背景技术:

2.在三维视觉与机器人应用领域,手眼标定过程是建立机器人坐标系与相机坐标系之间矩阵关系的过程,从而实现将相机获取的坐标位置转换到机器人坐标系下,使机器人能够完成精准的作业任务。机器人与相机的位置关系主要分为eye-to-hand和eye-in-hand两种固定方式,eye-to-hand手眼关系下相机固定在机器人外某一特定位置,eye-in-hand手眼关系下相机固定在机器人轴末端位置,随着机器人一起运动。对于eye-to-hand模式,相机一般获取某一固定场景的图像数据,此时手眼标定的是相机坐标系与机器人基坐标系之间的关系;对于eye-in-hand模式,相机随着机器人运动,能够获取不同视野的图像数据,保证数据的完整性,此时手眼标定的是相机坐标系和机器人末端法兰盘坐标系之间的关系。目前手眼标定的方式主要通过相机拍摄标定物体进行位姿识别,获取机器人坐标,然后进行手眼标定方程解算来实现。此类手眼标定方法得到的手眼标定精度很容易受相机和机器人精度、位姿识别精度、手眼标定方程解算方法准确度的影响,并形成累积误差,导致相机定位目标点之后机器人走位不准确。手眼标定精度直接影响机器人的作业精度,对于焊接、装配等高精度要求的生产任务,提高手眼标定精度是急需解决的任务。
3.现有的提高手眼标定精度的方法只能从标定物体位姿识别、手眼标定方程算法进行优化,但是计算的手眼标定矩阵与真实值仍有差距,达不到高精度任务作业要求,致使精度提高的效果不明显。


技术实现要素:

4.本发明解决的问题是如何修正手眼标定存在的误差,提高手眼标定精度。
5.为解决上述问题,本发明提供一种基于icp算法的手眼标定误差修正方法,所述手眼标定包括标定物体、机器人和相机,包括如下步骤:
6.步骤1、在机器人的带动下,标定物体与相机之间做相对移动,获得相机坐标系与机器人坐标系之间的矩阵转换关系x;
7.步骤2、对标定物体在相机下采集点云图像,从点云图像中获取n个点云坐标,通过矩阵转换关系x将相机下获取的n个点云坐标转换为机器人的转换坐标;
8.步骤3、采用机器人tcp工具使得机器人移动到n个点云坐标,并记为机器人的实际坐标;
9.步骤4、采用icp算法计算n个机器人实际坐标与n个转换坐标之间的手眼标定误差矩阵,得到误差修正后的手眼标定矩阵。
10.本发明的有益效果是:通过将相机中的点云坐标利用矩阵转换关系x转换到机器人坐标系下的转换坐标,并通过机器人tcp工具采集点云坐标在机器人坐标系下的实际坐
标,通过icp算法匹配转换坐标和实际坐标两组点集,获得两组点集之间平移和旋转的手眼标定误差矩阵,从而获得修正后的手眼标定矩阵。
11.作为优选,所述步骤1中在机器人带动下,标定物体与相机之间做相对运动具体为:标定物体固定在机器人轴末端的法兰盘上,所述相机设在相对机器人基坐标系的固定位置,实现机器人与相机的位置关系为eye-to-hand固定方式。
12.作为优选,所述步骤1获得相机坐标系与机器人坐标系之间的矩阵转换关系x具体包括:
13.步骤101a、机器人带动标定物体移动,记录机器人轴末端的法兰盘在示教器中的姿态位置数据;同时,相机获取标定物体每次移动的原始图像数据;
14.步骤102a、采用opencv中的单应性变换对原始图像数据进行位姿识别,得到每个原始图像数据在相机坐标系下的姿态位置数据;
15.步骤103a、通过机器人轴末端的法兰盘在示教器中的姿态位置数据和相机坐标系下的姿态位置数据,通过opencv手眼标定函数求解ax=xb方程的解,得到相机坐标系和机器人基坐标系之间的矩阵转换关系x。
16.作为优选,所述步骤2中通过矩阵转换关系x将相机下获取的n个点云坐标转换为机器人基坐标系下的转换坐标;
17.所述步骤3中采用机器人tcp工具使得机器人移动到n个点云坐标,得到及机器人基坐标系下的坐标,并将机器人基坐标系下的坐标转换到机器人轴末端法兰盘的实际坐标;
18.所述步骤4中得到误差修正后的手眼标定矩阵具体为:
[0019][0020]
式中,t
cane耀a
为采集的点云坐标,ti为步骤2点云坐标转换为机器人基坐标系下的转换坐标,1≤i≤n;tj为步骤3得到的机器人基坐标系下的实际坐标,1≤j≤n;x0为icp算法中计算坐标之间刚性变换的手眼标定误差矩阵,x0·
x为修正后的手眼标定矩阵。
[0021]
作为优选,所述步骤1中,在机器人带动下,标定物体与相机之间做相对运动具体为:将相机固定在机器人轴末端的法兰盘上,标定物体设在相对机器人基坐标系的固定位置,实现机器人与相机的位置关系为eye-in-hand固定方式。
[0022]
作为优选,所述步骤1获得相机坐标系与机器人坐标系之间的矩阵转换关系x具体包括:
[0023]
步骤101b、机器人带动相机移动,记录机器人轴末端的法兰盘在示教器中的姿态位置数据;同时,相机每次移动都获取标定物体的原始图像数据;
[0024]
步骤102b、采用opencv中的单应性变换对原始图像数据进行位姿识别,得到每个原始图像数据在相机坐标系下的姿态位置数据;
[0025]
步骤103b、通过机器人轴末端的法兰盘在示教器中的姿态位置数据和相机坐标系下的姿态位置数据,通过opencv手眼标定函数求解ax=xb方程的解,得到相机坐标系和机器人轴末端的法兰盘坐标系之间的矩阵转换关系x。
[0026]
作为优选,所述步骤2中通过矩阵转换关系x将相机下获取的n个点云坐标转换为机器人轴末端法兰盘坐标系下的转换坐标;
[0027]
所述步骤3中采用机器人tcp工具使得机器人移动到n个点云坐标,并记录机器人轴末端法兰盘的实际坐标;
[0028]
所述步骤4中得到误差修正后的手眼标定矩阵具体为:
[0029][0030]
式中,t
cane耀a
为采集的点云坐标,tn为步骤2点云坐标转换为机器人轴末端法兰盘坐标系的转换坐标,1≤n≤n;tn为步骤3得到的机器人轴末端法兰盘的实际坐标,1≤n≤n;x0为icp算法中计算坐标之间刚性变换的手眼标定误差矩阵,x0·
x为修正后的手眼标定矩阵。
附图说明
[0031]
图1为本发明具体实施例1的手眼标定图;
[0032]
图2为本发明具体实施例2的手眼标定图。
[0033]
附图标记说明:
[0034]
1、机器人;2、相机;3、标定物体。
具体实施方式
[0035]
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
[0036]
具体实施例1
[0037]
一种基于icp算法的手眼标定误差修正方法,所述手眼标定包括标定物体、机器人和相机,所述手眼标定误差修正方法包括如下步骤:
[0038]
步骤1、如图1所示,所述标定物体固定在机器人轴末端的法兰盘上,而相机设在与机器人基坐标系相对的固定位置,以达到机器人与相机的位置关系为eye-to-hand固定方式;
[0039]
步骤101a、机器人带动标定物体移动,移动时,保持标定物体与机器人轴末端法兰盘的相对位置不变,每次移动都记录机器人轴末端法兰盘在示教器中的姿态位置数据;同时相机获取标定物体每次移动的原始图像数据;
[0040]
步骤102a、利用相机已有的内部参数,采用opencv中的单应性变换对原始图像数据进行位姿识别,得到每个原始图像数据在相机坐标系下的姿态位置数据;
[0041]
步骤103a、通过机器人轴末端的法兰盘在示教器中的姿态位置数据和相机坐标系下的姿态位置数据,通过opencv手眼标定函数求解ax=xb方程的解,得到相机坐标系和机器人基坐标系之间的矩阵转换关系x;本具体实施例中的手眼标定函数ax=xb以及矩阵转换关系x均为现有技术,此处不做过多赘述;
[0042]
步骤2、利用相机采集标定物体的点云图像,从点云图像中获取n个点云坐标,通过矩阵转换关系x将相机下获取的n个点云坐标转换为机器人基坐标系下的转换坐标,记为ti;
[0043]
步骤3、采用机器人tcp工具使得机器人移动到n个点云坐标,并记为机器人基坐标系下的实际坐标;具体为:在机器人末端位置固定移动针,对移动针的针尖利用四点法进行
tcp标定,以四种以上不同姿态触碰点云坐标时,机器人能够自动计算移动针在机器人基坐标系下的坐标,以上为现有技术,本具体实施例的机器人带动移动针的针尖依次触碰n个点云坐标得到机器人基坐标系下的实际坐标,记为tj;本具体实施例中,转换坐标ti与实际坐标tj的点一一对应;
[0044]
步骤4、采用icp算法计算n个机器人实际坐标与n个转换坐标之间的手眼标定误差矩阵,得到误差修正后的手眼标定矩阵具体为:
[0045][0046]
式中,t
cane耀a
为采集的点云坐标,ti为步骤2点云坐标转换为机器人基坐标系下的转换坐标,1≤i≤n;tj为步骤3得到的机器人基坐标系下的实际坐标,1≤j≤n;x0为icp算法中计算坐标之间刚性变换的手眼标定误差矩阵,x0·
x为修正后的手眼标定矩阵。
[0047]
具体实施例2
[0048]
一种基于icp算法的手眼标定误差修正方法,所述手眼标定包括标定物体、机器人和相机,所述手眼标定误差修正方法包括如下步骤:
[0049]
步骤1、如图2所示,所述相机固定在机器人轴末端的法兰盘上,标定物体设在与机器人基坐标系对应的固定位置,达到机器人与相机的位置关系为eye-in-hand固定方式;
[0050]
步骤101b、机器人带动相机移动,移动时,保持相机与机器人轴末端法兰盘的相对位置不变,同时记录机器人轴末端的法兰盘在示教器中的姿态位置数据;同时,相机每次移动都获取标定物体的原始图像数据;
[0051]
步骤102b、采用opencv中的单应性变换对原始图像数据进行位姿识别,得到每个原始图像数据在相机坐标系下的姿态位置数据;
[0052]
步骤103b、通过机器人轴末端的法兰盘在示教器中的姿态位置数据和相机坐标系下的姿态位置数据,通过opencv手眼标定函数求解ax=xb方程的解,得到相机坐标系和机器人轴末端的法兰盘坐标系之间的矩阵转换关系x;
[0053]
步骤2、对标定物体在相机下采集点云图像,从点云图像中获取n个点云坐标,通过矩阵转换关系x将相机下获取的n个点云坐标转换为机器人轴末端法兰盘坐标系下的转换坐标,记录为tm;
[0054]
步骤3、采用机器人tcp工具使得机器人移动到n个点云坐标,得到及机器人基坐标系下的坐标,并将机器人基坐标系下的坐标转换到机器人轴末端法兰盘的实际坐标;具体为:在机器人末端位置固定移动针,对移动针的针尖利用四点法进行tcp标定,以四种以上不同姿态触碰点云坐标时,机器人能够自动计算移动针在机器人基坐标系下的坐标,以上为现有技术,本具体实施例控制机器人移动,使得移动针的针尖依次触碰n个电源坐标并记录n个点云坐标在机器人坐标系下的实际坐标,同时记录每个位置机器人轴末端法兰盘的姿态位置数据,将记录的n个点云坐标在机器人基座标系的实际坐标转换成在机器人轴末端法兰盘的坐标系下的实际坐标,以实现点云坐标在法兰盘坐标系下的实际坐标,记录为tn,实际坐标tn与转换坐标tm一一对应;
[0055]
步骤4、采用icp算法计算n个机器人实际坐标与n个转换坐标之间的手眼标定误差矩阵,得到误差修正后的手眼标定矩阵,具体为:
[0056][0057]
式中,t
came耀a
为采集的点云坐标,tm为步骤2点云坐标转换为机器人轴末端法兰盘坐标系的转换坐标,1≤m≤n;tn为步骤3得到的机器人轴末端法兰盘的实际坐标,1≤n≤n;x0为icp算法中计算坐标之间刚性变换的手眼标定误差矩阵,x0·
x为修正后的手眼标定矩阵。
[0058]
此外,本具体实施例1和实施例2中的标定物体为容易进行位姿识别的棋盘标定板或标定球,所述相机为深度相机。
[0059]
虽然本公开披露如上,但本公开的保护范围并非仅限于此。本领域技术人员,在不脱离本公开的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献