用于机器人在线手眼标定的自适应运动选择方法

文档序号:2326559阅读:457来源:国知局
专利名称:用于机器人在线手眼标定的自适应运动选择方法
技术领域
本发明涉及一种用于机器人在线手眼标定的自适应运动选择方法,可广泛应用于机器人三维视觉测量、视觉伺服和触觉感知等方面。属于先进制造与自动化领域。
背景技术
机器人手眼标定是机器视觉中一个基本问题。手眼标定的精确性部分决定了机器视觉应用于机器人时的精度。机器人手眼标定就是测量固定在机器人手臂的末端执行器(机器人手爪)上的相机和机器人手爪之间的相对位置和方向关系。以前此类问题的大部分求解方法都是通过迭代优化算法解齐次变换方程AX=XB(Y.C.Shiu and S.Ahmad,″Calibration of wrist-mounted robotic sensors bysolving homogeneous transform equations of the form AX=XB,″IEEE Trans.Robot.Automat.,vol.5,pp.16-29,Feb.1989.),这里A代表机器人手爪的运动,B代表相应的摄像机运动,X为所要标定的摄像机和机器人手爪之间的空间变换关系。由于迭代优化计算过程是非实时的,所以这种情况下手眼标定只能脱机进行。后来Angeles等(J.Angeles,G.Soucy and F.P.Ferrie,“The online solution of thehand-eye problem”,IEEE Trans.Robot. Automat.,vol.16,pp.720-731,Dec.2000.)和Andreff等(N.Andreff,R.Horaud,and B.Espiau,“Robot hand-eye calibrationusing structure-from-motion”,Int.J.Robot.Res.,20(3)228-248,2001.)几乎同时提出了手眼标定的在线实现技术,克服了传统方法不能进行实时标定的缺点。
无论采用何种方法进行手眼标定,手眼关系的计算都要求机器人至少独立运动两次,而且两次运动的旋转轴不得平行。因此,当采集到的手眼运动数据存在退化情况时,如纯旋转或纯平移等,就无法得到手眼变换关系的精确解。但是当我们在进行在线手眼标定的时候,由于机器人的运动是由具体应用确定的而并非为手眼标定而设计,所以此时采集到的用于手眼标定的运动数据就很有可能存在退化情形。另外,采样运动中旋转角很小或者平移比较大,或者两次运动的旋转轴之间的夹角很小时,都会使最后的标定结果产生比较大的误差。为了避免这种情况,中国发明专利“基于运动选择的机器人在线手眼标定方法”(申请号200510025252.0)提出了通过运动选择的途径来改善提高机器人在线手眼标定。此种方法先根据经验设定运动选择的三个阈值,即机器人手爪前后两次运动的旋转轴之间夹角的最小阈值α、机器人手爪每次运动的旋转角的最小阈值β和机器人手爪每次运动的平移分量的模的最大阈值d。根据阈值从第一次手眼采样运动开始,依次选择出两个符合要求的手眼运动对来计算手眼变换关系。使用这一方法,大大提高了在线手眼标定的精确性。但是该法的不足之处在于根据经验设定α,β和d的值,没有考虑到运动序列自身的特点,不具有适应各种情况的鲁棒性,而且阈值一旦设定就不再更改,如果设定的不合适,则可能使得标定次数过少。

发明内容
本发明的目的在于针对现有技术的不足,提供一种用于机器人在线手眼标定的自适应运动选择方法,能够根据不同的应用情况,自动计算出用于运动选择的阈值,增加了在线标定的次数,提高机器人手眼标定精度。
本发明的技术方案充分利用在线标定时采样到的手眼运动数据序列所反映出来的运动特点,自适应的确定阈值。首先利用机器人手爪前五次运动得到的参数计算用于运动选择的三个阈值的初值,然后,基于运动选择来进行在线手眼标定。每次标定后计算旋转误差和平移误差,根据误差自适应的改变三个阈值。然后再利用新的阈值重新进行运动选择以及手眼标定。循环往复,可连续不断地进行机器人的在线手眼标定操作。
本发明的自适应在线手眼标定方法具体包括以下几个步骤1.利用机器人手爪前五次运动中每两次运动的旋转轴之间夹角的正弦值、每次运动的旋转角和每次运动的平移分量的模的平均值设定运动选择的三个阈值α正弦值、β和d;2.根据运动选择算法搜索选择一个满足β和d阈值条件的手眼运动对。若运动选择连续进行了5次,还是不能满足阈值,则减小β,增大d,然后利用新的阈值继续寻找。如此循环往复,直至找到符合条件的手眼运动对作为第一个手眼运动对(A′,B′);3.根据运动选择算法搜索选择一个满足α正弦值、β和d阈值条件的手眼运动对。若运动选择连续进行了5次,还是不能满足阈值,则减小α正弦值和β,增大d,然后利用新的阈值继续寻找。如此循环往复,直至找到符合条件的第二个手眼运动对(A″,B″);4.利用两个手眼运动对(A′,B′)和(A″,B″),用Andreff手眼标定线性方程计算手眼变换关系矩阵X,得到一次手眼标定结果;5.计算手眼变换关系矩阵X的旋转和平移分量的均方根误差,记录标定次数。若标定次数小于5次,则改变阈值,增大α正弦值和β,减小d,将上次用于标定的第二个手眼运动对(A″,B″)作为新的第一个手眼运动对(A′,B′),利用改变后的阈值,采用步骤3的方法从后续采样数据中继续搜索选择新的第二个手眼运动对(A″,B″),采用步骤4的方法进行新的手眼标定,直到标定次数大于等于5次;6.利用本次标定之前得到的五组手眼变换关系矩阵X的旋转和平移的均方根误差以及五组阈值,利用三次多项式回归来预测新的阈值。将上次用于标定的第二个手眼运动对(A″,B″)作为新的第一个手眼运动对(A′,B′),再利用新阈值,采用步骤3的方法从后续采样数据中继续搜索选择新的第二个手眼运动对(A″,B″),采用步骤4的方法进行新的手眼标定,重复本步骤,进行在线标定。
实际应用时,可根据自适应设定的三个阈值,由软件自动进行运动选择和手眼标定计算。本发明提出的运动选择方法,可以根据运动序列自身的运动性质来自适应的设定运动选择的三个阈值,增加了利用运动选择进行在线手眼标定的标定次数,同时提高了标定精度。
本发明提出的自适应运动选择方法,可广泛应用于机器人三维视觉测量、视觉伺服和触觉感知等方面,具有相当的实用价值。


图1为本发明的机器人手眼标定模型示意图。
图2为本发明的用于在线手眼标定的运动选择算法示意图。
具体实施例方式
为了更好地讲解本发明的技术方案,以下结合附图和实施例作进一步的详细描述。
1.利用机器人手爪前五次运动中每两次运动的旋转轴之间夹角的正弦值、每次运动的旋转角和每次运动的平移分量的模的平均值设定运动选择的三个阈值sin(α),β,d。设第i(i为自然数)次采样到的摄像机和手爪姿态的齐次矩阵分别为Pi、Qi,X为所需要求解的手眼变换关系齐次矩阵。
(sin(α),β,d)=15(Σn=15sin(α)n,Σn=15βn,Σn=15dn)]]>2.根据运动选择算法搜索选择一个满足β和d阈值条件的手眼运动对(A′,B′)。首先令start=6,从第六次和第七次的手眼姿态可以求出第一次手爪运动的齐次矩阵A1和相机运动的齐次矩阵B1,如图1所示,P1、P2分别为摄像机在第1和第2时刻相对于标定参照物的姿态齐次矩阵,Q1、Q2分别为机器人手爪在第1和第2时刻在机器人基坐标系下的姿态齐次矩阵,则有A1=Qstart-1Q7,B1=Pstart-1P7]]>设(A′,B′)=(A1,B1)。如果A′的旋转角大于等于β而且A′平移分量的模小于等于d,则当前运动对(A′,B′)满足给定阈值条件,否则再由第六次和第八次采样的手眼姿态计算手眼运动对(A′,B′)并判断A′的旋转角和A′的平移的模是否满足以上条件。若运动选择连续进行了5次,即A′=Qstart-1·Qi,]]>i-start=5,还是不能满足阈值,则减小β,增大d,令β乘以0.8,令d乘以1.2,然后令start=i。利用新的阈值继续寻找,如此循环往复,直至找到符合条件的手眼运动对作为第一个手眼运动对(A′,B′)。设此时(A′,B′)由第一次和第i+1次采样的手眼姿态(即经过了i次手眼运动)计算得到的。图2示出了搜索第一个满足条件的手眼运动对的完整过程。
3.从第i+1次采样的手眼姿态开始(即第i次运动后),根据运动选择算法搜索选择一个满足α正弦值、β和d阈值条件的手眼运动对(A″,B″),如图2所示。首先令start=i,从第i+1次和第i+2次的手眼姿态可以求出手爪运动齐次矩阵Ai+1和相机运动齐次矩阵Bi+1,即有Ai+1=Qi+1-1Qi+2,Bi+1=Pi+1-1Pi+2]]>设(A″,B″)=(Ai+1,Bi+1)。如果A″的旋转角大于等于β、A″的平移分量的模小于等于d而且A′与A″的旋转轴之间的夹角的正弦值大于等于sin(α),则当前运动对(A″,B″)满足给定阈值条件,否则再由第i+1次和第i+3次采样的手眼姿态计算手眼运动对(A″,B″)并判断A″的旋转角、A″的平移分量的模和A′与A″的旋转轴之间的夹角的正弦值是否满足以上条件。若运动选择连续进行了5次,即A′′=Qstart-1Qi,]]>i-start=5,还是不能满足阈值,则减小α正弦值和β,增大d,令sin(α)乘以1.2,β乘以0.8,令d乘以1.2。start=i。然后利用新的阈值继续寻找,如此循环往复,直至找到符合条件的第二个手眼运动对(A″,B″)。
4.利用两个手眼运动对(A′,B′)和(A″,B″),用Andreff手眼标定线性方程计算手眼变换关系矩阵X,得到一次手眼标定结果。
5.计算手眼变换关系矩阵X的旋转和平移分量的均方根误差,记录标定次数。若标定次数小于5次,则改变阈值,增大α正弦值和β,减小d,令sin(α)和β乘以1.2,令d乘以0.8。将上次用于标定的第二个手眼运动对(A″,B″)作为新的第一个手眼运动对(A′,B′),利用改变后的阈值,采用步骤3从后续采样数据中继续搜索选择新的第二个手眼运动对(A″,B″),采用步骤4进行新的手眼标定,直到标定次数大于等于5次。
6.利用本次标定之前得到的五组手眼变换关系矩阵X的旋转和平移的均方根误差以及五组阈值,利用三次多项式回归来预测新的阈值,将上次用于标定的第二个手眼运动对(A″,B″)作为新的第一个手眼运动对(A′,B′),利用新阈值,利用步骤3从后续采样数据中继续搜索选择新的第二个手眼运动对(A″,B″),利用步骤4进行新的手眼标定,重复本步骤,进行在线标定。
其中利用三次多项式回归来预测新阈值的步骤如下(1)使用前四组旋转误差数据和对应的sin(α)值,利用三次多项式回归算法,得到旋转误差与sin(α)之间的曲线关系。三次多项式回归的模型是y=b0+b1×x+b2×x2+b3×x3其中,y是阈值(sin(α)),x是旋转误差,b0,b1,b2,b3是要计算的系数。通过计算得到b0,b1,b2,b3后,令x等于第五组旋转误差,算出y,也就是新的sin(α)值。
(2)使用和计算sin(α)相似的方法,先用前四组旋转误差和对应的β值,算出一组b0,b1,b2,b3。再利用第五组旋转误差来预测新的阈值β1;然后用前四组平移误差和相应的β值,算出另一组b0′,b1′,b2′,b3′,再利用第五组平移误差来预测新的阈值β2。令β=3*β1+β2;(3)使用和计算sin(α)相似的方法,用前四组平移误差数据和对应的d值,算出一组b0,b1,b2,b3,得到平移误差与d之间的曲线关系。再利用第五组旋转误差来预测新的d值。
权利要求
1.一种用于机器人在线手眼标定的自适应运动选择方法,其特征在于包括如下具体步骤1)利用机器人手爪前五次运动中每两次运动的旋转轴之间夹角的正弦值、每次运动的旋转角和每次运动的平移分量的模的平均值设定运动选择的三个阈值α正弦值、β和d;2)根据运动选择算法搜索选择一个满足β和d阈值条件的手眼运动对,若运动选择连续进行了5次,还是不能满足阈值,则减小β,增大d,然后利用新的阈值继续寻找,如此循环往复,直至找到符合条件的手眼运动对作为第一个手眼运动对(A′,B′);3)根据运动选择算法搜索选择一个满足α正弦值、β和d阈值条件的手眼运动对,若运动选择连续进行了5次,还是不能满足阈值,则减小α正弦值和β,增大d,然后利用新的阈值继续寻找,如此循环往复,直至找到符合条件的第二个手眼运动对(A″,B″);4)利用两个手眼运动对(A′,B′)和(A″,B″),用Andreff手眼标定线性方程计算手眼变换关系矩阵X,得到一次手眼标定结果;5)计算手眼变换关系矩阵X的旋转和平移分量的均方根误差,记录标定次数,若标定次数小于5次,则改变阈值,增大α正弦值和β,减小d,将上次用于标定的第二个手眼运动对(A″,B″)作为新的第一个手眼运动对(A′,B′),利用改变后的阈值,采用步骤3)的方法从后续采样数据中继续搜索选择新的第二个手眼运动对(A″,B″),采用步骤4)的方法进行新的手眼标定,直到标定次数大于等于5次;6)利用本次标定之前得到的五组手眼变换关系矩阵X的旋转和平移的均方根误差以及五组阈值,利用三次多项式回归来预测新的阈值,将上次用于标定的第二个手眼运动对(A″,B″)作为新的第一个手眼运动对(A′,B′),利用新阈值,采用步骤3)的方法从后续采样数据中继续搜索选择新的第二个手眼运动对(A″,B″),采用步骤4)的方法进行新的手眼标定,重复本步骤,进行在线标定。
全文摘要
一种用于机器人在线手眼标定的自适应运动选择方法,充分利用在线标定时采样到的手眼运动数据序列所反映出来的运动特点,自适应的确定阈值。首先利用机器人手爪前五次运动得到的参数计算用于运动选择的三个阈值的初值,然后,基于运动选择来进行在线手眼标定。每次标定后计算旋转误差和平移误差,根据误差自适应的改变三个阈值。然后再利用新的阈值重新进行运动选择以及手眼标定。循环往复,可连续不断地进行机器人的在线手眼标定操作。本能够根据不同的应用情况,自动计算出用于运动选择的阈值,增加了在线标定的次数,提高机器人手眼标定精度。
文档编号B25J19/00GK1686682SQ200510025780
公开日2005年10月26日 申请日期2005年5月12日 优先权日2005年5月12日
发明者张婧, 石繁槐, 王建华, 刘允才 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1