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