一种获取机器人TCP坐标的方法和装置
技术领域
本发明实施例涉及人工智能领域,尤其涉及一种获取机器人TCP坐标的方法和装置。
背景技术
随着科技的发展,机器人的应用领域越来越广泛。对于高精度加工领域和手术领域这两个应用领域中的机器人来说,其需要完成的工作任务对精度有很高的要求。
一般来说,高精度加工机器人和手术机器人在执行工作任务时,均需要在其自身机械臂上加装工具才能完成相关工作。由于机械臂末端坐标系与机械臂坐标系之间的坐标转换关系可以通过DH参数计算得出,其中的误差很小,那么,如何准确得到工具自身坐标系原点(Tool Center Point,TCP)在机械臂末端坐标系中的坐标是影响其工作精度的关键因素。目前,TCP在机械臂末端坐标系中的坐标可以通过机械臂末端坐标系结合工具自身的理论尺寸计算或测量得到,其称作TCP的理论坐标。也就是说,当工具装配到机械臂末端后,只能利用TCP的理论坐标来执行工作任务。
但是在根据设计图纸对工具进行加工的过程中一般会产生尺寸误差,将工具装配到机械臂末端的过程中可能会产生装配误差,工具受环境的影响也可能产生形变误差,测量过程中也可能产生测量误差等,这些误差均会使TCP在机械臂末端坐标系中的实际坐标与TCP的理论坐标产生偏差,若以TCP的理论坐标对TCP进行标定,那么必然造成所标定的TCP的位置和实际的TCP位置之间产生误差,从而影响机器人的工作精度。
发明内容
本申请实施例解决的技术问题之一在于提供一种获取机器人TCP坐标的方法和装置,在测量或计算TCP在机械臂末端坐标系中的坐标时,对TCP的理论坐标进行多次调整,并将产生最小转换误差或者产生的误差波动最稳定的调整坐标作为TCP的实际坐标,缩小了机器人在执行工作任务过程中产生误差的范围,进而提高了机器人的工作精度。
第一方面,本申请实施例提供了一种获取机器人TCP坐标的方法,包括:
标记机械臂末端的工具上能够被传感器识别的一个点为TCP,并由TCP的理论坐标得到k个调整坐标TCPk;其中k为整数且k≧1;
根据k个调整坐标TCP
k和机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,以及所标记的点在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的k个坐标转换关系
根据所标记的点在传感器识别范围内的m个位置,得到每个坐标转换关系
在所述m个位置的转换误差中的最大转换误差和/或每个坐标转换关系
在所述m个位置的转换误差的平均误差;其中m为整数且m≧1;
将k个最大转换误差中的最小值和/或k个平均误差中的最小值对应的调整坐标TCPk设置为TCP的实际坐标。
可选地,根据k个调整坐标TCP
k和机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,以及所标记的点在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的k个坐标转换关系
的步骤包括:
根据所标记的点在传感器识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的至少三个非共线的空间参考点;将每个所述空间参考点所在位置对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与k个调整坐标TCPk相结合,得到每个所述空间参考点在机械臂坐标系中的k个坐标;
根据每个所述空间参考点在机械臂坐标系中的k个坐标,以及每个所述空间参考点在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的k个坐标转换关系
可选地,根据所标记的点在传感器识别范围内的m个位置,得到每个坐标转换关系
在所述m个位置的转换误差中的最大转换误差的步骤包括:
根据m个位置中每个位置m
j下所标记的点在机械臂坐标系中的坐标Rm
j和在传感器坐标系中的坐标Sm
j,得到坐标转换关系
在每个位置m
j下的转换误差err
j;
根据坐标转换关系
在每个位置m
j下的转换误差err
j,得到每个坐标转换关系
在所述m个位置的转换误差中的最大转换误差;
其中,转换误差errj为将所标记的点在机械臂坐标系中的坐标Rmj和在传感器坐标系中的坐标Smj转换到同一坐标系后的欧氏距离,m为整数且m≧1,1≦j≦m。
可选地,所述由TCP的理论坐标得到k个调整坐标TCPk的步骤为:将以TCP的理论坐标为首项,一调整常量为公差的等差数列设置为k个调整坐标TCPk,或者,
将以TCP的理论坐标为中心的坐标范围内的点设置为k个调整坐标TCPk。
第二方面,本申请实施例还提供了一种获取机器人TCP坐标的装置,所述装置包括:
标记和调整坐标模块,用于标记机械臂末端的工具上能够被传感器识别的一个点为TCP,并由TCP的理论坐标得到k个调整坐标TCPk;其中k为整数且k≧1;
坐标转换关系建立模块,用于根据k个调整坐标TCP
k和机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,以及所标记的点在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的k个坐标转换关系
偏差获取模块,用于根据所标记的点在传感器识别范围内的m个位置,得到每个坐标转换关系
在所述m个位置的转换误差中的最大转换误差和/或每个坐标转换关系
在所述m个位置的转换误差的平均误差;其中m为整数且m≧1;
TCP的实际坐标确定模块,用于将k个最大转换误差中的最小值和/或k个平均误差中的最小值对应的调整坐标TCPk设置为TCP的实际坐标。
可选地,所述坐标转换关系建立模块具体用于:
根据所标记的点在传感器识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的至少三个非共线的空间参考点;将每个所述空间参考点所在位置对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与k个调整坐标TCPk相结合,得到每个所述空间参考点在机械臂坐标系中的k个坐标;
根据每个所述空间参考点在机械臂坐标系中的k个坐标,以及每个所述空间参考点在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的k个坐标转换关系
可选地,所述偏差获取模块具体用于:
根据m个位置中每个位置m
j下所标记的点在机械臂坐标系中的坐标Rm
j和在传感器坐标系中的坐标Sm
j,得到坐标转换关系
在每个位置m
j下的转换误差err
j;
根据坐标转换关系
在每个位置m
j下的转换误差err
j,得到每个坐标转换关系
在所述m个位置的转换误差中的最大转换误差;其中,转换误差err
j为将所标记的点在机械臂坐标系中的坐标Rm
j和在传感器坐标系中的坐标Sm
j转换到同一坐标系后的欧氏距离,m为整数且m≧1,1≦j≦m。
可选地,所述标记和调整坐标模块具体用于:
将以TCP的理论坐标为首项,一调整常量为公差的等差数列设置为k个调整坐标TCPk,或者,
将以TCP的理论坐标为中心的坐标范围内的点设置为k个调整坐标TCPk。
第三方面,本申请实施例还提供了一种获取机器人TCP坐标的系统,包括存储器,处理器,外部通信接口,总线以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述存储器,所述处理器和所述外部通信接口通过所述总线连接,所述处理器运行所述计算机程序时执行实现权利要求1至4任一项所述获取机器人TCP坐标的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述获取机器人TCP坐标的方法的步骤。
由以上技术方案可见,本申请实施例提供的一种获取机器人TCP坐标的方法和装置,系统以及计算机可读存储介质,首先将机械臂末端的工具上能够被传感器识别到的一个点标记为TCP,通过对计算得到的TCP的理论坐标进行调整得到k个调整坐标,并利用k个调整坐标和机械臂末端坐标系与机械臂坐标系之间的坐标转换关系得到所标记的点在机械臂坐标系中的坐标,结合所标记的点在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的k个坐标转换关系,进一步通过在传感器识别范围内移动所标记的点到m个位置,得到每个坐标转换关系在m个位置的转换误差的最大转换误差和/或平均误差,最后将得到的k个最大转换误差中的最小值和/或k个平均误差中的最小值对应的调整坐标设置为TCP的实际坐标,缩小了机器人在执行任务时产生误差的范围,提高了机器人的工作精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的获取机器人TCP坐标的方法步骤流程图;
图2为本申请实施例提供的获取机器人TCP坐标的装置结构示意图;
图3为本申请实施例提供的机械臂和传感器的示意图。
具体实施方式
当然,实施本发明实施例的任一技术方案不一定需要同时达到以上的所有优点。
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
针对已有技术中,利用机械臂末端坐标系结合工具自身的理论尺寸计算或者测量得到的工具自身坐标系原点(Tool Center Point,TCP)在机械臂末端坐标系中的坐标与TCP的实际坐标之间可能存在较大误差的问题,本申请实施例提供了一种获取机器人TCP坐标的方法,如图1所示,包括步骤S100-S400,具体地:
S100:标记机械臂末端的工具上能够被传感器识别的一个点为TCP,并由TCP的理论坐标得到k个调整坐标TCPk;其中k为整数且k≧1。
在实际操作过程中,在机器人末端的工具上找到一个可被传感器识别到的点,或者从机械臂末端的工具上很多可被传感器识别到的点中选择一个点,并将找到或者选择的这个点标记为TCP。需要说明的是,当传感器为摄像头时,可以将所标记的点设置为光学标记点;当传感器为电磁传感器时,可设置所标记的点为电磁标记点;当传感器为超声探头时,可设置所标记的点为超声标记点;当传感器为红外传感器时,可设置所标记的点为红外标记点,亦或是其他传感器及相应的标记点。且这里TCP在机械臂末端坐标系中的实际坐标在步骤S100中并没有确定,本申请实施例根据该所标记的点来确定TCP的实际坐标。
根据工具自身的理论尺寸和机械臂末端坐标系,利用测量工具或者根据粗标定算法计算出TCP的理论坐标,并对计算出的理论坐标进行调整,得到k个调整坐标,其中k为整数且k≧1。需要说明的是,调整坐标TCPk可以等于TCP的理论坐标。
在实际操作过程中,由TCP的理论坐标调整得到k个调整坐标的方式可以有多种,这里具体说明两种调整方式。
一方面,可以设置一个调整数值,然后以TCP的理论坐标为基础,逐次按照该调整数值对TCP的坐标进行调整得到TCPk。具体地,将以TCP的理论坐标为首项,一调整常量为公差的等差数列设置为k个调整坐标TCPk,在实际操作过程中,可以设置TCP的理论坐标为(x,y,z),公差为调整常量d,则调整坐标TCPk为:TCPk(x+(k-1)d,y+(k-1)d,z+(k-1)d)。
若要使得调整坐标TCPk等于TCP的理论坐标,可以将k的值取1,若要使得调整坐标TCPk不等于TCP的理论坐标,可以将k取大于等于2的数值。
另一方面,也可以限定一个坐标值的调整范围,将这个调整范围内的点的坐标作为调整坐标TCPk,具体地,可以将以TCP的理论坐标为中心的调整范围内的部分点的坐标或者所有点的坐标设置为k个调整坐标TCPk。在实际操作过程中,可以将以TCP的理论坐标为圆心,以r(r>0)为半径的圆形范围内的部分点的坐标或者所有点的坐标作为调整坐标TCPk,也可以将以TCP的理论坐标为中心,以D(D>0)为边长的正方形范围内的部分点的坐标或者所有点的坐标作为调整坐标TCPk,也可以将以TCP的理论坐标为中心,某一不规则图形范围内的部分点的坐标或者所有点的坐标作为调整坐标TCPk,也可以不以TCP的理论坐标为中心,而是将以TCP的理论坐标为边界,以机械臂末端的工具上其他的点为中心的图形范围内的部分点的坐标或者所有点的坐标作为调整坐标TCPk,此处不作具体限定,只要能够通过TCP的理论坐标得到k个调整坐标TCPk即可,需要说明的是,在该调整方式下,调整坐标TCPk同样可以等于TCP的理论坐标。
除了上述两种调整方式,还可以通过随机调整得到调整坐标TCPk。总而言之,得到调整坐标TCPk的方式多种多样,本申请在此不再做详细介绍。
S200:根据k个调整坐标TCP
k和机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,以及所标记的点在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的k个坐标转换关系
利用同一点在两个坐标系中的坐标来建立两个坐标系之间的坐标转换关系的方式很多,下面介绍一种优选的方案。
在实际操作中,执行步骤S200时,可以首先根据所标记的点(即S100中的TCP)在传感器识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的至少三个非共线的空间参考点;然后根据每个所述空间参考点所在位置对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与k个调整坐标TCP
k相结合,得到每个所述空间参考点在机械臂坐标系中的k个坐标;最后根据每个所述空间参考点在机械臂坐标系中的k个坐标,以及每个空间参考点在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的k个坐标转换关系
具体地,可以通过移动机械臂来带动机械臂末端的工具上所标记的点移动到至少三个非共线的位置,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的至少三个非共线的空间参考点。
机械臂末端坐标系与机械臂坐标系之间的坐标转换关系可以通过DH参数计算得出,按照图3所示的机械臂和传感器的示意图,将机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与k个调整坐标TCPk结合,就可以得到所标记的点在机械臂坐标系中的k个坐标;本申请实施例中将所标记的点记为TCP,并通过所标记的点在实际空间中的位置来得到空间参考点,因此可将所标记的点在机械臂坐标系中的坐标作为空间参考点在机械臂坐标系中的坐标,而由于所标记的点移动到了至少三个非共线的位置,也就得到了至少三个非共线空间参考点,利用得到的所标记的点在机械臂坐标系中的k个坐标的方法,就可以得到至少三个非共线的空间参考点中每个所述空间参考点在机械臂坐标系中的k个坐标。
由于所标记的点能够被传感器识别到,因此可以得到上述至少三个非共线的空间参考点中,每个空间参考点在传感器坐标系中的坐标,进而根据每个空间参考点在在机械臂坐标系中的k个坐标,以及每个空间参考点在传感器坐标系中的坐标,便可以得到机械臂坐标系和传感器坐标系之间的k个坐标转换关系
以根据所标记的点在传感器识别范围内移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的三个非共线的空间参考点为例,对建立机械臂坐标系和传感器坐标系之间的k个坐标转换关系
进行说明。
移动机械臂得到三个非共线的空间参考点时,机械臂处于位姿1,位姿2,位姿3这三个位姿。
当机械臂移动到位姿1下时,通过DH参数能够得到当前机械臂位于位姿1时,机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,及机械臂末端坐标系原点在机械臂坐标系下的坐标p1,通过工具的加工图纸可以得到TCP在机械臂末端坐标系中的坐标t1,因此这里以p1+t1来表示当前TCP在机械臂坐标系下的坐标(需要说明的是,当前TCP在机械臂坐标系下的坐标,并不是将p1的坐标与t1的坐标进行相加,此处仅仅是利用“p1+t1”这个表现形式来对机械臂位于位姿1时当前TCP在机械臂坐标系下的坐标进行解释说明,下面类似描述中同样如此),即可以得到机械臂位于位姿1时所标记的点在机械臂坐标系下的坐标p1+t1。通过传感器识别所标记的点,还能够得到机械臂位于位姿1时所标记的点在传感器坐标系下的坐标s1。
当机械臂移动到位姿2下时,通过DH参数能够得到当前机械臂位于位姿2时,机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,及机械臂末端坐标系原点在机械臂坐标系下的坐标p2,由于已经得到的TCP在机械臂末端坐标系中的坐标t1,因此这里以p2+t1来表示当前TCP在机械臂坐标系下的坐标,即得到机械臂位于位姿2时所标记的点在机械臂坐标系下的坐标p2+t1。通过传感器识别所标记的点,还能够得到机械臂位于位姿2时所标记的点在传感器坐标系下的坐标s2。
当机械臂移动到位姿3下时,通过DH参数能够得到当前机械臂位于位姿3时,机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,及机械臂末端坐标系原点在机械臂坐标系下的坐标p3,加之已经得到的TCP在机械臂末端坐标系中的坐标t1,因此这里以p3+t1来表示当前TCP在机械臂坐标系下的坐标p3+t1,即得到机械臂位于位姿3时所标记的点在机械臂坐标系下的坐标p3+t1。通过传感器识别所标记的点,还能够得到机械臂位于位姿3时所标记的点在传感器坐标系下的坐标s3。
本申请实施例中可利用p1+t1与s1,p2+t1与s2,p3+t1与s3,即这三个非共线的空间参考点分别在机械臂坐标系下的坐标与在传感器坐标系下的坐标建立机械臂坐标系和传感器坐标系之间的坐标转换关系
同样地,当对TCP在机械臂末端坐标系中的坐标t1进行调整得到TCP在机械臂末端坐标系中的坐标t2后,建立机械臂坐标系和传感器坐标系之间的坐标转换关系
的过程为:
当机械臂移动到位姿1下,得到所标记的点在机械臂坐标系下的坐标p1+t2,以及所标记的点在传感器坐标系下的坐标s1。
当机械臂移动到位姿2下,得到所标记的点在机械臂坐标系下的坐标p2+t2,以及所标记的点在传感器坐标系下的坐标s2。
当机械臂移动到位姿3下,得到所标记的点在机械臂坐标系下的坐标p3+t2,以及所标记的点在传感器坐标系下的坐标s3。
本申请实施例中可利用p1+t2与s1,p2+t2与s2,p3+t2与s3,即这三个非共线的空间参考点分别在机械臂坐标系下的坐标与在传感器坐标系下的坐标建立机械臂坐标系和传感器坐标系之间的坐标转换关系
依此类推,可得到机械臂坐标系和传感器坐标系之间的k个坐标转换关系。需要说明的是,当TCP的调整坐标不等于TCP的理论坐标时,可以不利用TCP的理论坐标计算机械臂坐标系和传感器坐标系之间的坐标转换关系;当TCP的调整坐标可以等于TCP的理论坐标时,可利用TCP的理论坐标计算机械臂坐标系和传感器坐标系之间的坐标转换关系。
S300:根据所标记的点在传感器识别范围内的m个位置,得到每个坐标转换关系
在所述m个位置的转换误差中的最大转换误差和/或每个坐标转换关系
在所述m个位置的转换误差的平均误差;其中m为整数且m≧1。
具体地,得到每个坐标转换关系
在所述m个位置的转换误差中的最大转换误差的步骤为:
根据m个位置中每个位置m
j下所标记的点在机械臂坐标系中的坐标Rm
j和在传感器坐标系中的坐标Sm
j,得到坐标转换关系
在每个位置m
j下的转换误差err
j;
根据坐标转换关系
在每个位置m
j下的转换误差err
j,得到每个坐标转换关系
在所述m个位置的转换误差中的最大转换误差;
其中,转换误差errj为将所标记的点在机械臂坐标系中的坐标Rmj和在传感器坐标系中的坐标Smj转换到同一坐标系后的欧氏距离,m为整数且m≧1,1≦j≦m。
得到每个坐标转换关系
在所述m个位置的转换误差的平均误差的步骤为:
根据m个位置中每个位置m
j下所标记的点在机械臂坐标系中的坐标Rm
j和在传感器坐标系中的坐标Sm
j,得到坐标转换关系
在每个位置m
j下的转换误差err
j;
根据坐标转换关系
在每个位置m
j下的转换误差err
j,根据平均误差的计算公式得到坐标转换关系
在所述m个位置的转换误差的平均误差。
举例来说,假设所标记的点在传感器的识别范围内移动到了10个位置,即m等于10。当TCP的调整坐标为TCP
1,对应坐标转换关系为
时,能够通过机械臂各个关节的转换关系得到所标记的点在这10个位置上的机械臂坐标Rm
j,且能够通过传感器识别所标记的点以及所标记的点的移动,得到所标记的点在这10个位置上的传感器坐标Sm
j,其中1≦j≦10。进而通过之前建立的坐标转换关系
可以求得这10个位置上的转换误差
或者
从这10个转换误差err
1、err
2、err
3…err
10中可以选出最大的转换误差记作err
Max_1,且可以算出这10个位置上的转换误差的平均误差记作err
aver_1。
同样地,通过之前建立的坐标转换关系
及TCP的调整坐标为TCP
2可以求得这10个相同位置上的转换误差
或者
从这10个转换误差中可以选出最大的转换误差记作err
Max_2,且可以算出这10个位置上的转换误差的平均误差记作err
aver_2。
如果共有3个调整坐标TCP
1、TCP
2及TCP
3,及对应的坐标转换关系
那么,依据上述求取最大转换误差和平均误差的方法,可以得到三个最大转换误差err
Max_1,err
Max_2,err
Max_3和三个平均误差err
aver_1,err
aver_2,err
aver_3。
需要说明的是,在本申请实施例中,还可以为机械臂设定移动程序,让机械臂自动在传感器识别范围内移动到m个位置,移动次数,移动路径以及每次的移动距离均可以采用已有方法实现,并且在求取每个坐标转换关系
在m个位置上的转换误差时,所利用的是相同的m个位置。
还需要说明的是,在本申请实施例中,除了根据所标记的点在传感器识别范围内的m个位置,得到每个坐标转换关系
在所述m个位置的转换误差的平均误差作为设置TCP的实际坐标的参考之外,还可以将根据所标记的点在传感器识别范围内的m个位置,得到的每个坐标转换关系
在所述m个位置的转换误差的标准差作为设置TCP的实际坐标的参考,或者将得到的平均误差和标准差都作为设置TCP的实际坐标的参考。
S400:将k个最大转换误差中的最小值和/或k个平均误差中的最小值对应的调整坐标TCPk设置为TCP的实际坐标。
依然以共有3个调整坐标TCP1、TCP2及TCP3为例,具体地,因为已经得到了三个最大转换误差errMax_1,errMax_2,errMax_3,从这三个最大转换误差中选出一个最小值,若errMax_1为最小值,则将errMax_1对应的TCP的调整坐标TCP1设置为TCP的实际坐标;若errMax_2为最小值,则将errMax_2对应的TCP的调整坐标TCP2设置为TCP的实际坐标;若errMax_3为最小值,则将errMax_3对应的TCP的调整坐标TCP3设置为TCP的实际坐标。
或者,从已经得到的三个平均误差erraver_1,erraver_2,erraver_3中选择一个最小值,将平均误差的最小值对应的TCP的调整坐标TCPk设置为TCP的实际坐标。
亦或者当errMax_1为最小的最大转换误差时,对应的平均误差erraver_1也为最小的平均误差,则将errMax_1和erraver_1对应的TCP的调整坐标TCP1作为TCP的实际坐标。
当将根据所标记的点在传感器识别范围内的m个位置,得到的每个坐标转换关系
在所述m个位置的转换误差的标准差作为设置TCP实际坐标的参考时,可以将k个标准差的最小值对应的调整坐标TCP
k设置为TCP的实际坐标;将得到的平均误差和标准差都作为设置TCP的实际坐标的参考时,可以将得到的平均误差的最小值和/或标准差的最小值对应的调整坐标TCP
k设置为TCP的实际坐标,或者是当多个调整坐标TCP
k的平均误差的相同时,取其中标准差的最小值对应的调整坐标作为TCP的实际坐标,举例来说,如果根据TCP的理论坐标得到了TCP
1,TCP
2,TCP
3……TCP
10共10个调整坐标,且这10个调整坐标的平均误差都相同,而TCP
3对应的转换误差的标准差最小,那么就设置TCP
3为TCP的实际坐标。
在本申请实施例中,首先将机械臂末端的工具上能够被传感器识别到的一个点标记为TCP,此时可通过工具的设计图纸结合机械臂末端坐标系得到TCP的理论坐标,但是TCP的实际坐标并没有确定,在确定TCP的实际坐标的过程中,通过对TCP的理论坐标进行调整得到k个调整坐标,并利用k个调整坐标和机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,得到所标记的点在机械臂坐标系下的坐标,结合所标记的点在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的k个坐标转换关系,进一步通过在传感器识别范围内移动所标记的点到m个位置,得到每个坐标转换关系在m个位置的转换误差的最大转换误差和/或平均误差,即得到了每个调整坐标经由坐标转换关系转换后的机械臂坐标和对应的传感器坐标之间产生误差的最大范围和/或产生误差的平均水平,最后将k个最大转换误差中的最小值和/或k个平均误差中的最小值对应的调整坐标设置为TCP的实际坐标,进而缩小了机器人在执行任务时产生误差的范围,提高了机器人的工作精度。
基于相同的发明构思,如图2所示,本申请实施例还提供了一种获取机器人TCP坐标的装置,包括:
标记和调整坐标模块201,用于标记机械臂末端的工具上能够被传感器识别的一个点为TCP,并由TCP的理论坐标得到k个调整坐标TCPk;其中k为整数且k≧1;
坐标转换关系建立模块202,用于根据k个调整坐标TCP
k和机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,以及所标记的点在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的k个坐标转换关系
偏差获取模块203,用于根据所标记的点在传感器识别范围内的m个位置,得到每个坐标转换关系
在所述m个位置的转换误差中的最大转换误差和/或每个坐标转换关系
在所述m个位置的转换误差的平均误差;其中m为整数且m≧1;
TCP的实际坐标确定模块204,用于将k个最大转换误差中的最小值和/或k个平均误差中的最小值对应的调整坐标TCPk设置为TCP的实际坐标。
本申请实施例中,标记和调整坐标模块201,坐标转换关系建立模块202,偏差获取模块203,TCP的实际坐标确定模块204,可以执行上述方法实施例中对应的优选步骤。
可选地,坐标转换关系建立模块202具体用于:
根据所标记的点在传感器识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间坐标转换关系的至少三个非共线的空间参考点;
根据每个所述空间参考点所在位置对应的机械臂末端坐标系与机械臂坐标系之间的坐标转换关系,与k个调整坐标TCPk相结合,得到每个所述空间参考点在机械臂坐标系中的k个坐标;
根据每个所述空间参考点在机械臂坐标系中的k个坐标,以及每个所述空间参考点在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的k个坐标转换关系
可选地,偏差获取模块203具体用于:
根据m个位置中每个位置m
j下所标记的点在机械臂坐标系中的坐标Rm
j和在传感器坐标系中的坐标Sm
j,得到坐标转换关系
在每个位置m
j下的转换误差err
j;
根据坐标转换关系
在每个位置m
j下的转换误差err
j,得到每个坐标转换关系
在所述m个位置的转换误差中的最大转换误差;
其中,转换误差errj为将所标记的点在机械臂坐标系中的坐标Rmj和在传感器坐标系中的坐标Smj转换到同一坐标系后的欧氏距离,m为整数且m≧1,1≦j≦m。
可选地,标记和调整坐标模块201具体用于:
将以TCP的理论坐标为首项,一调整常量为公差的等差数列设置为k个调整坐标TCPk,或者,
将以TCP的理论坐标为中心的坐标范围内的点设置为k个调整坐标TCPk。
基于相同的发明构思,本申请实施例还提供了一种获取机器人TCP坐标的系统,包括存储器,处理器,外部通信接口,总线以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述存储器,所述处理器和所述外部通信接口通过所述总线连接,所述处理器运行所述计算机程序时执行实现上述方法实施例中获取机器人TCP坐标的方法的步骤。
同样基于相同的发明构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法实施例中获取机器人TCP坐标的方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独处理,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。