具体实施方式
机器人在实际应用中,通过在其末端安装执行机构(如加工工具或夹持治具)来完成各种操作。在本实施方式中,机器人通过执行机构抓取工件进行加工,在加工前,通常需要在执行机构抓取的工件上定义一个工具坐标系,工具坐标系的精确度直接影响机器人的精确操作。本实施方式中,设工件所在的坐标系为实际工具坐标系,机器人定义有一个基础工具坐标系,以求出机器人抓取的工件的实际工具坐标系。以下将对利用本发明的机器人工具坐标系校正方法校正机器人上的工件的工具坐标系进行详细说明。
请参阅图1至图3,本实施方式中的机器人工具坐标系校正方法利用机器人100及放置于机器人100一侧的辅助测量工具200配合实现工件300上的工具坐标系的校正。机器人100包括机器人本体10及与机器人本体10相连的控制器30,本体10包括基座11、设置于基座11上的驱动机构13、以及设置于驱动机构13末端的执行机构15。驱动机构13包括末端驱动轴131,执行机构15装设于末端驱动轴131一端,末端驱动轴131能够驱动执行机构15动作。控制器30中设置有控制软件,通过控制器30可控制驱动机构13驱动执行机构15按预定轨迹移动。在本实施方式中,机器人100为六轴机器人,驱动机构13为多轴驱动机构,执行机构15为一个气动爪。
辅助测量工具200包括测量件210及数据传输模块230。测量件210固定于机器人一侧的水平面上,用于测量工件300的移动距离。数据传输模块230用于电性连通测量件210及控制器30,以将测量件210测得的数据传输至控制器30中。本实施方式中,测量件210为数显千分表,数据传输模块230为一数据传输设备。可以理解,数据传输模块230还可集成于测量件210中,从而将测量数据直接从测量件210传输至控制器30。可以理解,测量件210还可为机械千分表,当测量件210测得工件300的移动距离后,可通过人工读取数据后再将其输入机器人100的控制器30中;测量件210还可为激光位移传感器等其他测距设备。
工件300大致为矩形板状,其包括相对设置的安装面310与加工面320,以及连接安装面310与加工面320的两个相互平行的第一侧面340及两个相互平行的第二侧面360,第一侧面340连接两个第二侧面360。
本实施方式的机器人工具坐标系的校正方法包括如下步骤:
步骤S101,将工件300的安装面310与执行机构15相接,机器人100的驱动机构13驱动执行机构15带动工件300移动至测量件210的上方,且使工件300的加工面320朝向测量件210。
请一并参阅图4,步骤S102中,定义预估坐标系。机器人100的末端驱动轴131上具有一个基础工具坐标系,设该基础工具坐标系为T0,其原点位于末端驱动轴131的法兰中心,原点坐标为O(0,0,0),坐标轴分别为X轴、Y轴和Z轴,Y轴为从法兰中心朝向法兰定位槽孔的方向,Z轴为法兰平面的法线方向,X轴可依据右手定则确定。为获得工件300的实际工具坐标系,基于基础工具坐标系T0和机器人100夹持工件300的位置在工件300上设定一个预估工具坐标系Tm,其原点为Pm,其坐标轴分别为Xm轴、Ym轴及Zm轴。该原点Pm在基础工具坐标系T0中的坐标位置为Pm(Xm,Ym,Zm),且预估工具坐标系Tm相对基础坐具坐标系的旋转角度为Rx,Ry,Rz,其中Rx为预估工具坐标系Tm绕X轴旋转所产生的角度变化,Ry为预估工具坐标系Tm绕Y轴旋转所产生的角度变化,Rz为预估工具坐标系Tm绕Z轴旋转所产生的角度变化。设预估工具坐标系Tm在控制器中的参数值为(Xm,Ym,Zm,Rx,Ry,Rz),且通过调节控制软件中预估原点Pm及旋转角度Rx,Ry,Rz的参数,能够改变预估工具坐标系Tm相对基础工具坐标系Tm的位置。在本实施方式中,坐标轴Xm轴、Ym轴及Zm轴分别与基础工具坐标系Tm中的X轴、Y轴、Z轴平行。
需要说明的是,本实施方式中,为方便表示,将各个坐标系示意在机器人100的一侧。
设工件300上的实际工具坐标系Tg的原点为Pg,其坐标轴为U轴、V轴、W轴,且实际工具坐标系Tg的原点Pg位于工件300的中心,U轴与工件300的第一侧面340相平行且垂直于相邻的第一侧面340与第二侧面360之间的连线,V轴与工件300的第二侧面360相平行且垂直于相邻第二侧面360与第一侧面340之间的连线,W轴垂直于加工面320。设预估工具坐标系Tm相对实际工具坐标系Tg的位置偏差为(Δx,Δy,Δz),旋转角度偏差为(ΔRx,ΔRy,ΔRz)。其中(Δx,Δy,Δz)与(ΔRx,ΔRy,ΔRz)可如此理解:假设要将预估工具坐标系Tm的原点Pm移动到实际工具坐标系Tg的原点位置Pg,则Δx为原点Pm在Xm轴方向上的位移量,Δy为原点Pm在Ym轴方向上的位移量,Δz为原点Pm在Zm轴方向上的位移量;假设要将预估工具坐标系Tm的Xm,Ym,Zm轴与实际工具坐标系Tg的U,V,W轴对齐,则ΔRx为预估工具坐标系Tm绕Xm轴的旋转角度变化,ΔRy为预估工具坐标系Tm绕Ym轴的旋转角度变化,ΔRz为预估工具坐标系Tm绕Zm轴的旋角度变化。
请一并参阅图5,在步骤S103中,通过控制器30控制驱动机构13驱动工件300沿预估坐工具坐标系Tm的Xm轴方向移动,并利用测量件210测量加工面320上沿Xm轴方向上两点间的垂直距离,以求得ΔRy的值。控制器30控制驱动机构13驱动工件300的加工面320与测量件210相接触,设初次接触时测量件210的测量数据为c1,测量数据通过数据传输模块230传输至控制器30中。驱动机构13驱动工件300沿预估坐标系Tm的Xm轴方向运动距离L,并使工件300的加工面320第二次接触测量件210,设第二次接触时测量件210的测量数据为c2,测量数据通过数据传输模块230传输至控制器30中。可计算测量件210的距离变化量为Δc=c2-c1,由于预估工具坐标系Tm绕Ym轴的旋转角度偏差为ΔRy,所以由运动的合成与分解原理可知:L×tanΔRy=c2-c1,即根据tanΔRy=(c2-c1)/L的公式可计算出ΔRy的值。
可以理解,测量距离时还可采用非接触式方式,如利用激光位移传感器来测量距离。
在步骤S104中,依据ΔRy修正控制器中预估工具坐标系Tm中Ry的参数,并重新定义预估工具坐标系Tm。修正控制器30中的控制软件中Ry的值,使得预估工具坐标系Tm的Xm轴补偿一个旋转角度偏差ΔRy,即修正后的预估工具坐标系Tm的Xm轴与实际工具坐标系Tg的U-V面(即U轴与V轴所在的平面)大致相平行。将修正后的预估工具坐标系Tm设为新的预估工具坐标系Tm 1﹐新的预估坐标系Tm 1的原点为Pm 1,坐标轴分别为Xm 1轴,Ym 1轴和Zm 1轴,其在控制器30中的参数值为(Xm 1,Ym 1,Zm 1,Rx 1,Ry 1,Rz 1),且其相对实际工具坐标系Tg的位置偏差为(Δx1,Δy1,Δz1),旋转角度偏差为(ΔRx 1,ΔRy 1,ΔRz 1)。
步骤S105,判断测量件210所测得两点间的垂直距离差Δc是否大于最大偏差值,并通过控制器30控制驱动机构13驱动工件300恢复到初始位置。若测得Δc大于最大偏差值,则重复步骤S103~S105。在重复步骤S103~S105时,Xm轴线与测量件210的长度延伸线的夹角可能为非直角,然而由于此时的旋转角度偏差ΔRy已经很小,故tanΔRy≈(c2-c1)/L。依据ΔRy修正控制器30中预估工具坐标系Tm中Ry的参数,依然可以使Δc不断缩小。若测得Δc小于或等于最大偏差值,则进入下一步骤S106。本实施方式中,Δc允许的最大偏差值为0.02mm。
请一并参阅图6,在步骤S106中,通过控制器30控制驱动机构13驱动工件300沿预估坐工具坐标系Tm 1的Ym 1轴方向移动,并利用测量件210测量加工面320上沿Ym 1轴方向上两点间的垂直距离,以求得ΔRx 1的值。控制器30控制驱动机构13驱动工件300的加工面320与测量件210相接触,设初次接触时测量件210的测量数据为c1’,测量数据通过数据传输模块230传输至控制器30中。驱动机构13驱动工件300沿预估坐标系T1 1的Ym 1轴方向运动距离L’,并使工件300的加工面320第二次接触测量件210,设第二次接触时测量件210的测量数据为c2’,测量数据通过数据传输模块230传输至控制器30中。可计算测量件210的距离变化量为Δc’=c2’-c1’,由于预估工具坐标系Tm 1相对实际工具坐标系Tg绕Ym 1轴的旋转角度偏差为ΔRx 1,所以由运动的合成与分解原理可知:L’×tanΔRx 1=c2’-c1’,即根据公式tanΔRx 1=(c2’-c1’)/L’可计算出ΔRx 1的值。
在步骤S107中,依据ΔRx 1修正控制器中预估工具坐标系Tm 1中Rx 1的参数,并重新定义预估工具坐标系Tm 1。修正预估工具坐标系Tm 1中Rx 1的值,使得预估工具坐标系Tm 1的Ym 1轴补偿一个旋转角度偏差ΔRx 1,即使修正后的预估工具坐标系Tm 1的Ym 1轴与实际工具坐标系Tg的U-V面大致相平行。将修正后的预估工具坐标系Tm 1设为新的预估工具坐标系Tm 2﹐新的预估坐标系Tm 2的原点为Pm 2,坐标轴分别为Xm 2轴、Ym 2轴和Zm 2轴,其在控制器30中的参数值为(Xm 2,Ym 2,Zm 2,Rx 2,Ry 2,Rz 2),且其相对实际工具坐标系Tg的位置偏差为(Δx2,Δy2,Δz2),旋转角度偏差为(ΔRx 2,ΔRy 2,ΔRz 2)。
步骤S108,判断测量件210所测得两点间的距离差值Δc’是否大于最大偏差值,并通过控制器30控制驱动机构13驱动工件300恢复到初始位置。若测得Δc’大于最大偏差值,则重复步骤S106~S108。在重复步骤S106~S108时,Ym 1轴线与测量件210的长度延伸线的夹角可能为非直角,然而由于此时的旋转角度偏差ΔRx 1已经很小,故L’×tanΔRx 1≈c2’-c1’。依据ΔRx 1修正控制器30中预估工具坐标系Tm 1中Rx 1的参数,依然可以使Δc’不断缩小。若测得Δc’小于或等于最大偏差值,则进入下一步骤S109。本实施方式中,Δc’允许的最大偏差值为0.02mm。
请一并参阅图7,在步骤S109中,通过控制器30控制驱动机构13驱动工件300沿预估坐工具坐标系Tm 2的Ym 2轴方向移动,并利用测量件210测量第二侧面360上沿Ym 2轴方向上两点间的垂直距离,以求得ΔRz 2的值。控制器30控制驱动机构13带动工件转动,并驱动工件300的第二侧面360与测量件210相接触,设初次接触时测量件210的测量数据为c1”,测量数据通过数据传输模块230传输至控制器30中。驱动机构13驱动工件300沿预估坐标系Tm 2的Ym 2轴方向运动距离L”,并使工件300的第二侧面360第二次接触测量件210,设第二次接触时测量件210的测量数据为c2”,测量数据通过数据传输模块230传输至控制器30中。可计算测量件210的距离变化量为Δc”=c2”-c1”,由于预估工具坐标系Tm 2相对实际工具坐标系Tg的W轴的旋转角度偏差为ΔRz 2,所以由运动的合成与分解原理可知:L”×tanΔRz 2=c2”-c1”,即根据公式tanΔRz2=(c2”-c1”)/L”可计算出ΔRz 2的值。
可以理解,计算ΔRz 2的步骤中,还可通过控制器30控制驱动机构13驱动工件300沿预估坐工具坐标系Tm 2的Xm 2轴方向移动,再测出第一侧面340沿Xm 2轴方向上两点间的垂直距离差值,并求得ΔRz 2的值。
在步骤S110中,依据ΔRz 2修正预估工具坐标系Tm 2中Rz 2的参数,并重新定义预估工具坐标系Tm 2。修正控制器30中的Rz 2的值,使得预估工具坐标系Tm 2的Zm 2轴补偿一个旋转角度偏差ΔRz 2,即使修正后的预估工具坐标系Tm 2的Xm 2轴与实际工具坐标系Tg的U轴大致相平行,也使Ym 2轴与实际工具坐标系Tg的V轴大致相平行,同时由右手定则知Xm 2轴与实际工具坐标系Tg的U轴也大致相平行。将修正后的预估工具坐标系Tm 2设为新的预估工具坐标系Tm 3﹐新的预估坐标系Tm 3的原点为Pm 3,坐标轴分别为Xm 3轴、Ym 3轴和Zm 3轴,其在控制器30中的参数值为(Xm 3,Ym 3,Zm 3,Rx 3,Ry 3,Rz 3)。预估坐标系Tm 3相对实际工具坐标系Tg的位置偏差为(Δx3,Δy3,Δz3),旋转角度偏差为(ΔRx 3,ΔRy 3,ΔRz 3),且Xm 3轴,Ym 3轴和Zm 3轴分别与U轴、V轴和W轴相平行,原点Pm 3与原点Pm的位置相同,即Δx3=Δx,Δy3=Δy,Δz3=Δz,ΔRx 3=0,ΔRy 3=0,ΔRz 3=0。
在步骤S111中,判断测量件210所测得两点间的距离差Δc”是否大于最大偏差值,并通过控制器30控制驱动机构13驱动工件300恢复到初始位置。若测得Δc”大于最大偏差值,则重复步骤S109~S111。在重复步骤S109~S111时,Ym 2轴线与测量件210的长度延伸线的夹角可能为非直角,然而由于此时的旋转角度偏差ΔRz2已经很小,故tanΔRz2≈(c2”-c1”)/L”。依据ΔRz2修正控制器30中预估工具坐标系Tm 2中Rz 2的参数,依然可以使Δc”不断缩小。若测得Δc”小于或等于最大偏差值,则进入下一步骤S112。本实施方式中,Δc”允许的最大偏差值为0.02mm。
请一并参阅图8,在步骤S112中,通过控制器30控制驱动机构13驱动工件300到第一侧面340与测量件210相对的位置,再绕Zm 3轴转动180°,并利用测量件210依次测量两个第一侧面340上的两个点沿Ym 3轴方向的垂直的距离,以求得Δy的值。控制器30控制驱动机构13驱动工件300的一个第一侧面340与测量件210相接触,设初次接触时测量件210的测量数据为d1,测量数据通过数据传输模块230传输至控制器30中。驱动机构13驱动工件300上升距离H以远离测量件210,再绕预估工具坐标系Tm 3的Zm 3轴转动180°,最后驱动机构13驱动工件300下降并与工件300的另一个第一侧面340与测量件210相接触,且下降距离同样为H,设该次接触时测量件210的测量数据为d2,测量数据通过数据传输模块230传输至控制器30中。可计算测量件210的距离变化量为Δd=d2-d1,由于实际工具坐标系Tg的原点Pg位于工件300的中心,且与预设工具坐标系Tm 3的原点Pm 3沿Ym 3轴方向的距离相差为Δy,所以2Δy=d2-d1,即根据公式Δy=(d2-d1)/2可计算出Δy的值。
在步骤S113中,依据Δy修正预估工具坐标系Tm 3中Ym 3的参数,并重新定义预估工具坐标系Tm 3。修正控制器30中的Ym 3的值,使得预估工具坐标系Tm 3的原点Pm 3补偿一个位移偏差Δy。将修正后的预估工具坐标系Tm 3设为新的预估工具坐标系Tm 4﹐新的预估坐标系Tm 4的原点为Pm 4,坐标轴分别为Xm 4轴、Ym 4轴和Zm 4轴,其在控制器30中的参数值为(Xm 4,Ym 4,Zm 4,Rx 4,Ry 4,Rz 4)。预估坐标系Tm4相对实际工具坐标系Tg的位置偏差为(Δx4,Δy4,Δz4),旋转角度偏差为(ΔRx 4,ΔRy 4,ΔRz 4),其中Δx4=Δx,Δy4=0,Δz4=Δz,ΔRx 4=0,ΔRy 4=0,ΔRz 4=0。
可以理解,在第一侧面340的长度延伸线与测量件210的长度延伸线之间的夹角为非直角时,可重复步骤S112~S113以提高校正精度。
请一并参阅图9,在步骤S114中,通过控制器30控制驱动机构13驱动工件300到第二侧面360与测量件210相对的位置,再绕Zm 4轴转动180°,并利用测量件210依次测量两个第二侧面360上的两个点的距离,以求得Δx的值。控制器30控制驱动机构13驱动工件300的一个第二侧面360与测量件210相接触,设初次接触时测量件210的测量数据为d1’,测量数据通过数据传输模块230传输至控制器30中。驱动机构13驱动工件300上升距离H’以远离测量件210,再绕预估工具坐标系Tm 4的Zm 4轴转动180°,最后驱动机构13驱动工件300下降并与工件300的另一个第二侧面360与测量件210相接触,且下降距离同样为H’,设该次接触时测量件210的测量数据为d2’,测量数据通过数据传输模块230传输至控制器30中。可计算测量件210的距离变化量为Δd’=d2’-d1’,由于实际工具坐标系Tg的原点Pg位于工件300的中心,且与预设工具坐标系Tm 4的原点Pm 4沿Xm 4轴方向的距离相差为Δx,所以2Δx=d2’-d1’,即根据公式Δx=(d2’-d1’)/2可计算出Δx的值。
在步骤S115中,依据Δx修正预估工具坐标系Tm 4中Xm 4的参数,并重新定义预估工具坐标系Tm 4。修正控制器30中的Xm 4的值,使得预估工具坐标系Tm 4的原点Pm 4补偿一个位移偏差Δx。将修正后的预估工具坐标系Tm 4设为新的预估工具坐标系Tm 5﹐新的预估坐标系Tm 5的原点为Pm 5,坐标轴分别为Xm 5轴、Ym 5轴和Zm 5轴,其在控制器30中的参数值为(Xm 5,Ym 5,Zm 5,Rx 5,Ry 5,Rz 5)。预估坐标系Tm 5相对实际工具坐标系Tg的位置偏差为(Δx5,Δy5,Δz5),旋转角度偏差为(0,0,0),其中Δx5=0,Δy5=0,Δz5=Δz。
可以理解,在第二侧面360的长度延伸线与测量件210的长度延伸线之间的夹角为非直角时,可重复步骤S114~S115以提高校正精度。
可以理解,当测量件210为非接触式测距设备时,如激光位移传感器,测量距离变化量(d2-d1)及(d2’-d1’)时,无需使工件300上升或下降,直接在原始位置绕预估工具坐标系Tm 4的Zm 4轴转动180°即可。
通过控制器30控制驱动机构13驱动工件300恢复到初始位置。
请一并参阅图10及图11,在步骤S116中,通过控制器30控制驱动机构13驱动工件300的第一侧面340或第二侧面360与测量件210相接触,再绕预估工具坐标系Tm 5的Xm 5轴或Ym 5轴转动90°,并使工件300的加工面320与测量件210相接触,以求得Δz的值。由图10知,如绕Ym 5轴转动90°,两次测量中测量件210的测量差值为h/2-Δz(h为工件300沿U轴方向的长度)。本实施方式中,控制控制器30控制驱动机构13驱动工件300的第二侧面360与测量件210相接触,设初次接触时测量件210的测量数据为d1”,测量数据通过数据传输模块230传输至控制器30中。驱动机构13驱动工件300上升距离H”以远离测量件210,再绕预估工具坐标系Tm 5的Ym 5轴转动90°,使工件300的加工面320朝向测量件210,最后驱动机构13驱动工件300下降距离(H”+h/2),且加工面320与测量件210接触,设测量时的测量数据为d2”,测量数据通过数据传输模块230传输至控制器30中。可计算测量件210的距离变化量为Δd”=d2”-d1”,由于实际工具坐标系Tg的原点Pg位于工件300的中心,且与预设工具坐标系Tm 5的原点Pm 5沿Zm 5轴方向的距离相差为Δz,所以Δz=d2”–d1”,即根据公式Δz=d2”-d1”可计算出Δz的值。
可以理解,当测量测量件210测量第一次的测量数据后,还可将工件300绕预估工具坐标系Tm 5的Xm 5轴旋转90°,再在第一侧面340上测量获得第二个测量数量。可以理解,当测量件210为非接触式测距设备时,如激光位移传感器,无需使工件300上升或下降,直接在原始位置绕预估工具坐标系Tm 5的Xm 5或Ym 5轴旋转90°即可,此时测量件210两次测量的差值Δd”’=d2”’–d1”’,且Δd”’=h/2-Δz,即Δz=h/2-(d2”’–d1”’)。
在步骤S117中,依据Δz修正预估工具坐标系Tm 5中Zm 5的参数,并重新定义预估工具坐标系Tm 5。修正控制器30中的Zm 5的值,使得预估工具坐标系Tm 5的原点Pm 5补偿一个位移偏差Δz。将修正后的预估工具坐标系Tm 5设为新的预估工具坐标系Tm 6﹐新的预估坐标系Tm 6的原点为Pm 6,坐标轴分别为Xm 6轴、Ym 6轴和Zm 6轴,其在控制器30中的参数值为(Xm 6,Ym 6,Zm 6,Rx 6,Ry 6,Rz 6)。预估坐标系Tm 6相对实际工具坐标系Tg的位置偏差为(Δx6,Δy6,Δz6),旋转角度偏差为(0,0,0),其中Δx6=0,Δy6=0,Δz6=0。至此,获得的预估工具坐标系Tm 6是以产品300的中心为原点,以产品300的轮廓方向为坐标轴的实际工具坐标系Tg,即产品的实际工具坐标系Tg校正完成。
可以理解,预估工具坐标系Tm的坐标轴与基础工具坐标系T0的坐标轴可以不平行。
可以理解,在校正预估工具坐标系Tm的轴向时,还可先求出ΔRx;在校正预估工具坐标系Tm的原点位置时,还可先求出Δx。
上述机器人100的工具坐标系的校正方法,通过基础工具坐标系T0及机器人100夹持工件300的位置在工件300上设定一个预估工具坐标系Tm,通过控制器30控制工件300沿预估工具坐标系Tm的轴向移动,测量件210测量求出移动前后的测量数据差,从而计算出预估工具坐标系相对实际工具坐标系Tg旋转量角度偏差(ΔRx 1,ΔRy,ΔRz 2),如果测量件210的测量数据差Δc、Δc’或Δc”小于或等于允许的最大偏差值,则预估工具坐标系的坐标轴与实际工具坐标系Tg的坐标轴近似平行,完成坐标轴的准确校正;若测量件210的测量数据差Δc、Δc’或Δc”大于允许的最大偏差值,则修正控制器30的控制软件中预估工具坐标系的坐标轴后重复上述动作,直至测量数据差Δc、Δc’或Δc”小于允许的最大偏差值。另外通过控制器30控制工件300绕轴向校正后的预估工具坐标系的坐标轴转动,测量件测量转动前后的测量数据差,从而计算出预估工具坐标系相对实际工具坐标系Tg的位移偏差Δx、Δy、Δz,利用该位移偏差补偿预估工具坐标系的原点,从而完成原点的校正。利用该工具坐标系的校正方法,校正精度较高,且只需要简单的求算就能计算出偏差值,校正方法简单且容易实现。
另外,本实施方式的校正方法利用机器人100抓取工件300进行加工,通过机器人100带动工件300转动来实现多角度加工,通过机器人100带动工件300移动至不同的加工工具来实现多工序的加工。
可以理解,步骤S105、S108及S111可以省略,此时该工具坐标系的校正方法可一次性校正预估工具坐标系Tm;另外,省略步骤S105、S108及S111后,还可在依次校正预估工具坐标系Tm的坐标轴Xm轴、Ym轴、Zm轴后再增加一个判断坐标轴的轴向偏差是否大于允许的最大的偏差值的步骤,若大于最大偏差值,则重复Xm轴、Ym轴及Zm轴的校正步骤,直至偏差小于或等于允许的最大的偏差值。
可以理解,當校正完以工件加工面中心為座標系原點的Tg工具座標系后,可以獲得任何相對於Tg座標系指定偏移量和旋转量的新的工具座標系。
另外,本领域技术人员还可在本发明精神内做其它变化,当然,这些依据本发明精神所做的变化,都应包含在本发明所要求保护的范围内。