本发明属于工业机器人的铣削加工相关技术领域,更具体地,涉及一种机器人铣削系统中刀具端实时位置误差的获取方法。
背景技术:
工业机器人应用于铣削加工领域,有许多不可代替的优点,灵活性好、加工范围广、性价比高等,但工业机器人由于自身结构原因,整体系统刚度很差,使得机器人末端定位精度较低。在铣削加工时,末端会产生变形,使得机器人末端实际位置相对于指令位置发生偏移,要对机器人末端加工误差进行计算,需要测量机器人末端刀尖点相对于工件坐标系的实际位移。
针对求解机器人主轴靶标坐标系与工具坐标系之间转换关系的这一技术问题,由于问题的特殊性,目前还没有看到一种完整、有效的机器人铣削中靶标与工具坐标系的标定方法,同时,现有技术中,在使用双目相机求解测出机器人末端刀具相对于工件的位置的计算方法繁杂;目前测量机器人末端位移的方法主要是使用激光跟踪仪,仪器昂贵且安装仪器占地面积大,其测量过程较为繁琐,单次只能测量一个靶标位置处的三向位移。故,急需寻求一种操作简单、测试便捷的应用于铣削系统的实时位置误差的方法。
技术实现要素:
针对现有技术的以上缺陷或改进需求,本发明提供了一种机器人铣削系统中刀具端实时位置误差的获取方法,根据标定的机器人主轴固定靶标与末端刀具坐标系的关系,结合双目相机测得的主轴靶标与工件靶标之间的转换矩阵,得到机器人末端刀具坐标系相对于工件坐标系的转换矩阵,从而计算出机器人加工时末端刀尖点在工件坐标系下的实时位置,并根据相同加工路径下从机器人控制器读出的数据计算得到的理论位置,计算出加工误差,该方法简单便捷,计算精度高。
为实现上述目的,按照本发明,提供了一种机器人铣削系统中刀具端实时位置误差的获取方法,该方法包括下列步骤:
(a)在机器人铣削系统中,在机器人主轴和工件上贴附靶标,以此分别建立主轴靶标坐标系和工件靶标坐标系,构建该工件靶坐标系与机器人基坐标系的转换关系,以此获得工件靶坐标系与机器人基坐标系的转换矩阵
(b)对于空间任意的两个位置,标定其各自对应的工件靶标坐标系和主轴靶标坐标系的转换矩阵
(c)对于刀具的刀尖点,获取该刀尖点在刀具坐标系中的坐标pt,利用该坐标pt和所述转换矩阵
(d)在机器人的基坐标系中,获取刀具的刀尖点在该基坐标系中的坐标jpt,利用所述工件靶坐标系与机器人基坐标系的转换矩阵
进一步优选地,在步骤(b)中,所述构建转换矩阵
(b1)机器人主轴协同刀具在从一个位置运动至另一个位置时,主轴坐标系和刀具坐标系亦从一个位置运动至另一个位置,其中,主轴坐标系对应的位置变换矩阵对应a,刀具坐标系对应的位置变换矩阵为b;构建主轴坐标系的位置变换矩阵a、刀具坐标系的位置变换矩阵b与主轴靶标坐标系与刀具坐标系的转换矩阵
(b2)根据主轴和刀具的位置关系,获得位置变换矩阵a与位置变换矩阵b之间的关系式(ⅱ),如下:
a=b(ⅱ)
(b3)根据工件靶标坐标系和主轴靶标坐标系的转换矩阵
其中,
(b4)结合关系式(ⅰ),(ⅱ)和(ⅲ),计算求解获得主轴靶标坐标系与刀具坐标系的转换矩阵
进一步优选地,在步骤(b4)中,所述计算求解获得主轴靶标坐标系与刀具坐标系的转换矩阵
进一步优选地,在步骤(b)中,所根据转换矩阵
进一步优选地,在步骤(c)中,所述利用该坐标pt和所述转换矩阵
进一步优选地,在步骤(d)中,所述利用所述工件靶坐标系与机器人基坐标系的转换矩阵
进一步优选地,在步骤(d)中,所述根据所述实时坐标objpt和理论坐标objpt*计算获得位置误差,优选按照下列表达式进行:
e=objpt-objpt*
其中,e是实时位置误差。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具备下列有益效果:
1、本发明提出使用双目相机对铣削机器人刀具端位移进行实时测量,利用标定的机器人末端刀具坐标系相对于主轴靶标坐标系的结果,结合双目相机测得的主轴靶标与工件靶标之间的转换关系,计算出机器人末端刀具坐标系相对于工件坐标系的转换关系,从而可计算出机器人加工时末端刀尖点在工件靶标坐标系下的实时位移;
2、本发明可以使用不同的刀具,或将靶标粘贴到主轴上任意位置,坐标系的标定不受刀具类型及主轴上靶标粘贴位置的限制,使用双目相机来测量两靶标坐标系之间的变换关系,进而得到机器人末端刀尖点相对于工件的位移,并计算出加工误差,该方法操作简单,且双目相机成本低、体积小,其可测量视野范围内的多个靶标坐标系的位姿,易于与工业机器人安装成整体铣削系统;
3、本发明利用罗德里格斯公式与旋转变换通式相结合的方法,根据旋转矩阵求解旋转向量,并将其应用于机器人铣削加工领域的任意主轴固定靶标与末端刀具坐标系的标定。
附图说明
图1是本发明实施例涉及的一种铣削机器人刀具端位移的实时测量及误差计算方法的流程图;
图2是机器人主轴移动至任意两个位置时各坐标系之间的关系的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
请参阅图1,在本发明的铣削系统中,首先在机器人主轴和工件上分别贴附靶标,并以此形成主轴靶标坐标系和工件靶标坐标系,采用双目视觉测量装置标定主轴靶标坐标系和工件靶标坐标系的转换关系,即转换矩阵,标定的方法采用现有的方法,本发明中不予累述,一种机器人铣削系统中刀具端实时位置误差的获取方法,具体包括下列步骤:
(a)在机器人铣削系统中,在机器人主轴和工件上贴附靶标,以此分别建立主轴靶标坐标系和工件靶标坐标系,使机器人从初始位置,运动到两个不同的位置,在每个位置处,使用双目相机拍摄标定两个靶标坐标系之间的转换关系。并推导出求解主轴靶标坐标系与机器人末端刀具坐标系之间转换矩阵的方程组;
(b)利用拍摄标定结果,结合所给出的旋转向量求解方法,标定出主轴靶标坐标系与机器人末端刀具坐标系之间的固定变换矩阵;
(c)使用双目相机实时测量,计算出机器人末端刀具坐标系相对于工件靶标的转换关系,求解出机器人加工时末端刀具刀尖点在工件靶标坐标系下的实时位移;
(d)根据从机器人控制器读取的刀具刀尖点在机器人基坐标系下的坐标,结合机器人基坐标系与工件靶标坐标系之间的固定关系,求出刀尖点相对于工件靶标坐标系的理论坐标,进而计算出加工误差。
进一步优选地,步骤(a)中,首先定义工件靶标所在的坐标系为cobj,主轴靶标和机器人末端刀具所在的坐标系分别为:cz与ct。
机器人在任意两个不同的位置时的各坐标系之间的关系如图2所示,图2中仅仅是画出两个位置的示意图,但是机器人的运动位置不仅仅只是限于两个位置的运动,还可以是从第二个位置运动到第三个位置等等。如图2所示,令cz1、cz2分别表示机器人在两个不同位置时的主轴靶标坐标系,ct1、ct2分别表示机器人在两个不同位置时的刀具坐标系。齐次变换矩阵
在任意两个位置处,两个主轴靶标坐标系之间的转换关系用齐次变换矩阵a表示,两个刀具坐标系之间的转换关系记为齐次变换矩阵b,由于主轴靶标坐标系与刀具坐标系之间的关系是固定的,故矩阵a与b相同,下文都用a表示。用齐次变换矩阵
矩阵a同样以齐次变换矩阵的形式给出:
即
其中,r为齐次变换矩阵
设空间某点p在四个坐标系cz1、cz2、ct1、ct2中的坐标分别为pz1、pz2、pt1、pt2,根据图2得出:pz1=apz2、
联立上式求得:
将上述矩阵形式展开得:
优选地,步骤(b)中,计算主轴靶标与机器人末端刀具坐标系之间的固定转换关系,即旋转矩阵和平移向量的具体过程如下:
在机器人运动到的每个位置处,根据通过双目相机获得的坐标系cobj与cz之间的转换关系
其中,i表示机器人运动到的第个i位置。
(1)机器人从第一个位置运动到第二个位置,再从第二个位置运动到第三个位置后,根据求得的两个齐次变换矩阵a,得出关于求解主轴靶标与工具坐标系之间转换关系的两对方程组:
其中,ra1、ta1分别为机器人从第一个位置运动到第二个位置后,求得的齐次变换矩阵a对应的旋转矩阵与平移向量、ra2、ta2分别为机器人从第二个位置运动到第三个位置后,求得的齐次变换矩阵a对应的旋转矩阵与平移向量;
(2)根据步骤(1)中得出的方程组解出主轴靶标坐标系与刀具坐标系之间的旋转矩阵r。
任意旋转矩阵都可以表示成绕过原点的向量旋转θ角的变换矩阵。
由步骤(1)中的式(一)、(三)可得出:
ka1=rka1
ka2=rka2
从而可求得:
r=[ka1ka2ka1×ka2][ka1ka2ka1×ka2]-1
其中,ka1、ka2分别为旋转矩阵ra1、ra2对应的旋转向量。
(3)将步骤(2)中求得的矩阵r代入步骤(1)中的(二)、(四)式,得到关于求解向量t的线性方程。
令
t=(xtx)-1xty
优选地,步骤(2)中通过旋转矩阵求解旋转向量的具体步骤如下:
2.1)任意旋转矩阵r与其对应的旋转向量k可通过罗德里格斯变换进行转换。
变换公式为:
r=cos(θ)i+(1-cos(θ))kkt+sin(θ)skew(k)(五)
式中,k为旋转矩阵r对应的单位旋转向量,θ为绕旋转向量逆时针转动的角度(弧度)。skew(k)为旋转向量k=[kxkykz]t的反对称矩阵。而kx、ky、kz为旋转向量k中的元素。
2.2)求旋转角θ:
将步骤2.1)中的公式(五)两边同时取矩阵的迹tr得:
tr(r)=cos(θ)tr(i)+(1-cos(θ))tr(kkt)+sin(θ)tr(skew(k))
解得:
2.3)给出旋转变换通式:
旋转变换通式表示了绕过原点的任意向量k旋转角θ的变换矩阵。式中sθ=sinθ,cθ=cosθ,versθ=1-cosθ。
2.4)求解旋转向量k:
设给定的任意旋转矩阵为:
其对应的旋转向量为k=[kxkykz]t。
其中nx、ny、nz、ox、oy、oz、ax、ay、az为旋转矩阵r中的元素。
令式(七)与式(六)相等得:
把方程两边矩阵的对应元素做如下处理:
oz-ay=2kxsinθ
ax-nz=2kysinθ
ny-ox=2kzsinθ
于是求得:
优选地,步骤(c)中,当得到机器人末端刀具坐标系相对于主轴靶标坐标系之间的转换矩阵
优选地,在步骤(c)中,在机器人铣削加工过程中,双目相机能够测得每个时刻下的主轴靶标坐标系与工件靶标坐标系之间的转换关系矩阵
优选地,在步骤(c)中,设机器人末端刀具刀尖点(刀具坐标系的原点)pt在工件靶标坐标系cobj与机器人末端刀具坐标系ct中的坐标分别为objpt与pt。
根据计算出的机器人末端刀具坐标系与工件坐标系之间的转换关系
优选地,步骤(d)中,在机器人加工过程中,从机器人控制器能够读取到机器人末端刀具刀尖点坐标jpt,读取到的坐标jpt为刀具刀尖点在机器人基坐标系下的坐标。
当工件放置后,工件靶标坐标系的位姿就确定了,故机器人基坐标系与工件靶标坐标系的关系是确定的。此时机器人基坐标系与工件靶标坐标系的关系
进而计算出机器人进行铣削加工时,末端刀具刀尖点的实时运动误差:
e=objpt-objpt*
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。