回程间隙测量方法及控制方法、装置、系统和存储介质与流程

文档序号:18107767发布日期:2019-07-06 11:47阅读:482来源:国知局
回程间隙测量方法及控制方法、装置、系统和存储介质与流程
本发明涉及机器人的运动控制领域,更具体地涉及一种机器人的关节的回程间隙测量方法及控制方法、装置、系统和存储介质,以及一种机器人。
背景技术
:当机器人的关节的运动方向发生变化时,例如当机器人的关节由向前运动变化为向后运动时,由于机械结构的影响,例如带动机器人的关节运动的传动齿轮在换向运行时需要多走一定的距离才能咬合上。这种由于关节运动换向导致的需要多走的距离叫做回程间隙。回程间隙的大小体现了机器人的关节的机械结构的性能。如果机器人的各关节不停换向,由于回程间隙的存在将导致末端执行器的运动精度的丢失,使得机器人的末端执行器难以运行到设定位置。此外,机器人的装配有时也存在问题,导致难以精确控制机器人的末端执行器的运动。由此,需要一种机器人的关节的回程间隙测量方法,从而帮助提高机器人的运动精度以及确保机器人的装配准确度。技术实现要素:考虑到上述问题而提出了本发明。本发明的实施例提供了一种机器人的关节的回程间隙测量方法及控制方法、装置、系统和存储介质,以及一种机器人。根据本发明一个方面,提供了一种机器人的关节的回程间隙测量方法,包括:步骤s1,驱动所述关节正向运动到达第一位置;步骤s2,在所述关节到达所述第一位置后,驱动所述关节反向运动第2i距离后正向运动第2i+1距离,其中,i等于0、1、…、n,n为正整数,反向运动第2n距离的终点位置是第二位置,并且对于i不等于n的情况,第2i距离和第2i+2距离均大于第2i+1距离;其中,在反向运动第2i距离结束的时刻确定所述关节在该反向运动中的实际运行距离,以作为所述关节在反向运动第2i距离的起始位置的反向回程运行距离;在正向运动第2i+1距离结束的时刻确定所述关节在该正向运动中的实际运行距离,以作为所述关节在正向运动第2i+1距离的起始位置的正向回程运行距离;步骤s3,根据第2i距离和所述关节在反向运动第2i距离的起始位置的反向回程运行距离,确定所述关节在反向运动第2i距离的起始位置的反向回程间隙;步骤s4,根据第2i+1距离和所述关节在正向运动第2i+1距离的起始位置的正向回程运行距离,确定所述关节在正向运动第2i+1距离的起始位置的正向回程间隙。示例性地,所述第2i距离是所述第2i+1距离的2倍。示例性地,所述方法还包括:接收用户设定的回程间隙控制精度值,以作为所述第2i+1距离。示例性地,所述确定所述关节在该反向运动中的实际运行距离包括:根据所述关节的驱动电机在该反向运动中的运行微步数确定所述关节在该反向运动中的实际运行距离;所述确定所述关节在该正向运动中的实际运行距离包括:根据所述关节的驱动电机在该正向运动中的运行微步数确定所述关节在该正向运动中的实际运行距离。示例性地,所述确定所述关节在该反向运动中的实际运行距离包括:根据所述关节的测量传感器检测的该反向运动的运动数据确定所述关节在该反向运动中的实际运行距离;所述确定所述关节在该正向运动中的实际运行距离包括:根据所述关节的测量传感器检测的该正向运动的运动数据确定所述关节在该正向运动中的实际运行距离。示例性地,所述第一位置是所述关节正向运动的极限边界位置;和/或所述第二位置是所述关节反向运动的极限边界位置。示例性地,所述方法还包括:响应于用户的触发操作,启动所述步骤s1至步骤s4。根据本发明另一方面,提供了一种机器人的关节的回程间隙测量装置,包括:驱动模块,用于驱动所述关节正向运动到达第一位置;并且在所述关节到达所述第一位置后,驱动所述关节反向运动第2i距离后正向运动第2i+1距离,其中,i等于0、1、…、n,n为正整数,反向运动第2n距离的终点位置是第二位置,并且对于i不等于n的情况,第2i距离和第2i+2距离均大于第2i+1距离;测量模块,用于在反向运动第2i距离结束的时刻确定所述关节在该反向运动中的实际运行距离,以作为所述关节在反向运动第2i距离的起始位置的反向回程运行距离;在正向运动第2i+1距离结束的时刻确定所述关节在该正向运动中的实际运行距离,以作为所述关节在正向运动第2i+1距离的起始位置的正向回程运行距离;回程间隙确定模块,用于根据第2i距离和所述关节在反向运动第2i距离的起始位置的反向回程运行距离,确定所述关节在反向运动第2i距离的起始位置的反向回程间隙;并且根据第2i+1距离和所述关节在正向运动第2i+1距离的起始位置的正向回程运行距离,确定所述关节在正向运动第2i+1距离的起始位置的正向回程间隙。根据本发明又一方面,提供了一种用于测量机器人的关节的回程间隙的系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述机器人的关节的回程间隙测量方法。根据本发明再一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述机器人的关节的回程间隙测量方法。根据本发明又一方面,还提供了一种机器人的关节的控制方法,包括:根据所述关节的运动参数确定所述关节运动中的换向位置和换向方向;获取所述换向位置和所述换向方向对应的回程间隙值;根据所述回程间隙值修正所述运动参数中的位置参数;根据经修正的位置参数控制所述关节。示例性地,所述根据所述关节的运动参数确定所述关节运动中的换向位置和换向方向包括:根据所述运动参数的时间参数确定连续3条运动参数;根据所述连续3条运动参数的位置参数确定所述关节运动中的换向位置和换向方向。示例性地,所述根据所述关节的运动参数确定所述关节运动中的换向位置和换向方向包括:根据所述运动参数的时间参数确定连续2条运动参数;根据所述连续2条运动参数的速度参数确定所述关节运动中的换向方向;根据所述连续2条运动参数的位置参数确定所述关节运动中的换向位置。示例性地,在所述根据所述关节的运动参数确定所述关节运动中的换向位置和换向方向之前,所述方法还包括:根据回程间隙控制精度值确定所述关节的运动参数。示例性地,所述根据所述回程间隙值修正所述运动参数中的位置参数包括:把所述位置参数加上所述回程间隙值的和作为修正后的位置参数。根据本发明再一方面,还提供了一种机器人的关节的控制装置,包括:换向检查模块,用于根据所述关节的运动参数确定所述关节运动中的换向位置和换向方向;回程间隙获取模块,用于获取所述换向位置和所述换向方向对应的回程间隙值;回程间隙修正模块,用于根据所述回程间隙值修正所述运动参数中的位置参数;控制模块,用于根据经修正的位置参数控制所述关节。根据本发明再一方面,还提供了一种机器人,包括关节以及用于控制所述关节的上述机器人的关节的控制装置。根据本发明再一方面,还提供了一种用于机器人的关节的控制系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述机器人的关节的控制方法。根据本发明再一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述机器人的关节的控制方法。根据本发明实施例的机器人的关节的回程间隙测量方法、装置、系统和存储介质以及相应的控制方法、装置、系统和存储介质,通过驱动关节反复递进式运动获取关节在每个换向位置的回程运行距离,进而得到相应位置的更准确的回程间隙。该技术方案可以测量关节工作范围内任意位置的正向和反向回程间隙值,易于实现。由此可以检验机器人的关节的机械结构的性能,并可利用回程间隙优化机器人的关节的运动控制方法,从而提高运动精度。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。图1示出了根据本发明一个实施例的机器人的示意性结构图;图2示出了根据本发明一个实施例的机器人的关节的回程间隙测量方法的示意性流程图;图3示出了根据本发明一个实施例的机器人的关节的回程间隙测量过程中关节运动的示意图;图4示出了根据本发明一个实施例的机器人的关节的回程间隙测量过程的示意性流程图;图5示出了根据本发明一个实施例的回程间隙一键式测量的控制界面的示意图;图6示出了根据本发明一个实施例的机器人的关节的回程间隙测量装置的示意性框图;图7示出了根据本发明一个实施例的机器人的关节的控制方法的示意性流程图;图8示出了根据本发明一个实施例的关节的运动参数的示意图;图9示出了根据本发明一个实施例的根据关节的运动参数确定关节运动中的换向位置和换向方向的示意性流程图;图10示出了根据本发明另一个实施例的根据关节的运动参数确定关节运动中的换向位置和换向方向的示意性流程图;以及图11示出了根据本发明一个实施例的机器人的关节的控制装置的示意性框图。具体实施方式为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。机器人的运行一般通过控制电机配合运动执行部件(例如丝杠或减速器等)实现。以利用电机配合减速器进行运动控制的多关节机器人(或称为多关节机械手、多轴机器人、机械臂等)为例,通过控制电机配合减速器的运行,实现机器人根据预定的路线从一个初始位置夹取目标物体到目标位置。此类多关节机器人常用于诸多工业领域的机械自动化作业。多关节机器人例如可以是四关节机器人(四轴机器人)、六关节机器人(六轴机器人)等。它们均包括有基座、手臂和末端执行器(例如物体夹持部)。手臂上关节的多少决定了机器人的“轴”的数量,每一个关节都是由一个电机的转动来驱动,以实现关节的运动。图1示出了根据本发明一个实施例的机器人100的示意性结构图。如图1所示,机器人100是一种四关节机器人,包括有底座110、大臂120、小臂130、电机140和减速器150。小臂130上还可以连接有腕(未示出),腕上可以有爪,以实现对物体的抓取等功能。在机器人100的各个关节上可以分别设置有运动部件(电机和减速器)。例如在底座110的外壳内设置有一套电机和减速器(未示出),该减速器的输出轴连接底座110的上盖。底座110的上盖安装大臂120,大臂120的底部设置有另一套电机140和减速器150,减速器150的输出轴连接大臂120的本体。在大臂120的上部设置有另一套电机和减速器(未示出),该减速器的输出轴连接小臂130的本体。在小臂130的前端还可以设置有另一套电机和减速器(未示出),该减速器的输出轴连接腕的本体。腕上可以安装各种末端执行器,例如物体夹持部。底座110内的电机旋转运动可以带动底座110的上盖沿水平方向360度旋转运动、进而带动机器人100的大臂120、小臂130等沿水平方向360度旋转。电机140的旋转运动可以带动大臂120沿s1方向前俯向下运动、或沿s2方向后仰向上运动,进而带着小臂130等沿s1或s2方向运动。大臂120上部的电机旋转运动可以带动小臂130进行旋转运动,进而带着腕等旋转运动。小臂130的另一端的电机旋转运动可以带动腕进行旋转运动,进而带着末端执行器进行旋转运动。末端执行器上的电机还可以带动末端执行器进行夹取物体等操作。用户可以通过机器人控制设备(如电脑、示教器等)实现对机器人的参数设定和控制。用户可以通过编辑每个关节的运动参数实现对机器人的运动控制,所述的运动参数实际上是控制运动部件(如电机)的运动参数。用户编辑机器人的运动参数后,发送给机器人的运动控制部件(或称为驱控器等),运动控制部件对接收到的运动参数进行解算后控制运动部件运动。运动控制部件可以单独设置在机器人的外部、通过连接线与机器人上的各个电机连接,也可以安装在机器人的本体外壳内。通过不同的运动参数控制机器人的每个电机按用户设定的运动路线运动,就可以实现对机器人的控制,使机器人完成用户设定的各种功能。如
背景技术
所述,回程间隙的存在可能导致末端执行器的运动精度的丢失。如要针对机器人的关节的回程间隙进行修正,则需要先获取机器人的关节的回程间隙大小。另一方面,回程间隙的大小也体现了机器人的关节的机械结构的性能,如果回程间隙过大,说明关节装配不合格或机械零件的制造误差过大。为此,本发明提供了一种机器人的关节的回程间隙测量方法。下面将参考图2描述根据本发明实施例的机器人的关节的回程间隙测量方法200。图2示出了根据本发明一个实施例的机器人的关节的回程间隙测量方法200的示意性流程图。如图2所示,方法200包括步骤s1、步骤s2、步骤s3以及步骤s4。步骤s1,驱动机器人的关节正向运动到达第一位置。回程间隙需要在动态换向的过程中测量。由此,首先,驱动机器人的关节正向运动到达第一位置。第一位置是需要测量回程间隙的范围的一个边界位置,需要测量回程间隙的范围的另一个边界位置可以称为第二位置。第一位置和第二位置均位于机器人的关节运动的行程路径上。图3示出了根据本发明一个实施例的机器人的关节的回程间隙测量过程中关节运动的示意图。如图3所示,为了便于表达,从第二位置到第一位置方向的运动表示为正向运动,从第一位置到第二位置方向的运动表示为反向运动。可以理解,“正向”和“反向”不表示特定的运动方向,仅为了区分两个相反的运动方向。如图3中,最上面的向右箭头表示驱动关节正向到达第一位置的过程。可以通过电机配合运动执行部件来驱动关节完成上述过程。步骤s2,在通过步骤s1驱动该关节到达第一位置后,驱动该关节反向运动第2i距离后正向运动第2i+1距离。其中,i等于0、1、…、n,n为正整数。反向运动第2n距离的终点位置是前述第二位置。对于i不等于n的情况,第2i距离和第2i+2距离均大于第2i+1距离。其中,在反向运动第2i距离结束的时刻确定该关节在该反向运动中的实际运行距离,以作为该关节在反向运动第2i距离的起始位置的反向回程运行距离。在正向运动第2i+1距离结束的时刻确定该关节在该正向运动中的实际运行距离,以作为该关节在正向运动第2i+1距离的起始位置的正向回程运行距离。如图3所示,在该关节正向运动到达第一位置后,随即换向并反向运动第0距离,接着换向并正向运动第1距离,换向并反向运动第2距离,换向并正向运动第3距离,……。如此反复换向运动,反向运动第2i距离后正向运动第2i+1距离。直至换向并正向运动第2(n-1)+1距离(即第2n-1距离),换向并反向运动第2n距离到达第二位置,最后换向并正向运动第2n+1距离,完成回程间隙测量运动。图3中除最上面的向右箭头以外的其他箭头表示了上述运动过程。可以理解,箭头之间的竖线仅为在图3中区分开各个运动距离,其并非运动的一部分。与步骤s1类似的,上述过程也可以通过电机配合运动执行部件来驱动关节完成。由于回程间隙测量过程中,第2i距离和第2i+2距离均大于第2i+1距离,也即反向运动的距离始终大于相应的正向运动的距离,因此从第一位置到第二位置的反复换向运动是递进式运动。可以理解,上述第2n+1距离可以是任意值。在每个换向的位置,可以通过测量得到该位置的回程间隙。需要注意的是,回程间隙存在方向性。由于机器人的关节的机械结构的固有误差,对于同一个位置,由正向运动变换为反向运动的反向回程间隙,与由反向运动变换为正向运动的正向回程间隙,是两个独立的值。机器人的关节运动的距离可以通过与驱动电机配合的运动执行部件的运行数据表示。例如对于运动执行部件是基于齿轮传动的减速器的情况,机器人的关节运动的距离可以表示为该关节末端运行的角度。例如对于运动执行部件是丝杠的情况,机器人的关节运动的距离可以表示为该关节末端位移的距离。在反向运动第2i距离结束的时刻,可以通过任何现有的或未来开发的技术确定该关节在该反向运动中的实际运行距离,以作为该关节在反向运动第2i距离的起始位置的反向回程运行距离。在正向运动第2i+1距离结束的时刻,可以通过任何现有的或未来开发的技术确定该关节在该正向运动中的实际运行距离,以作为该关节在正向运动第2i+1距离的起始位置的正向回程运行距离。例如,可以通过角度传感器测量关节末端运行的角度。这里只需要能够测量关节运动的实际运行距离,本发明对测量方式不做限制。本领域普通技术人员可以理解,每次往返运动的距离也即第2i距离和第2i+1距离的大小决定了回程间隙测量的精度。对于确定的第一位置和第二位置之间的行程路径,第2i距离和第2i+1距离越小,测量的点越多也越密集,反之,测量的点越少越稀疏。用户可以根据实际工程需要设置第2i距离和第2i+1距离的值。示例性地,可以设置第2i距离为第2i+1距离的2倍。驱动关节以进2退1的方式递进式前进以进行回程间隙测量。由此,可以简化回程间隙测量的驱动算法,提高回程间隙测量的效率。示例性地,可以接收用户设定的回程间隙控制精度值,以作为第2i+1距离。设置第2i距离为回程间隙控制精度值的2倍。由此,可以测量得到测量范围内以回程间隙控制精度值为测量间距的回程间隙。调整回程间隙控制精度值的大小即可调整测量间距的大小。可以理解,回程间隙控制精度值越大,测量间距越大,确定的测量范围内的测量点数越少,测量耗时越短。反之测量间距越小,确定的测量范围内的测量点数越多,测量耗时越长。例如机器人的关节可以进行360度旋转,设置测量范围为360度。如果回程间隙控制精度值为1度,即每隔1度测试1个点,就会有360个点;如果回程间隙控制精度值为0.1度,即每隔0.1度测试1个点,就会有3600个点,耗时相对会比较长。用户可以根据实际工程需要设置回程间隙控制精度值,以取得合理的测量精度与测量效率,从而提高回程间隙测量的实用性与适用性。步骤s3,根据第2i距离和该关节在反向运动第2i距离的起始位置的反向回程运行距离,确定该关节在反向运动第2i距离的起始位置的反向回程间隙。机器人的关节在没有换向时,根据运动参数驱动关节运动的实际运行距离与该运动参数表示的距离是一致的。如图3所示,如果机器人的关节没有在a点换向,驱动关节经由a点正常运动第2i距离到b点,则实际运行距离即为第2i距离。而如果机器人的关节先正向运动到a点,随即驱动关节换向并反向运动第2i距离至b点。由于机器人的关节的机械结构的固有误差,关节需要先补偿走完换向位置(a点)的反向回程间隙,再继续运行至b点。因此,此时关节实际运行的距离(即反向回程运行距离)大于第2i距离。计算该反向回程运行距离与第2i距离的差值,即为该关节在反向运动第2i距离的起始位置(a点)的反向回程间隙。步骤s4,根据第2i+1距离和该关节在正向运动第2i+1距离的起始位置的正向回程运行距离,确定该关节在正向运动第2i+1距离的起始位置的正向回程间隙。如图3所示,如果机器人的关节没有在b点换向,驱动关节经由b点正常运动第2i+1距离到c点,则实际运行距离即为第2i+1距离。而如果机器人的关节先反向运动到b点,随即驱动关节换向并反向运动第2i+1距离至c点。由于机器人的关节的机械结构的固有误差,关节需要先补偿走完换向位置(b点)的正向回程间隙,再继续运行至c点。因此,此时关节实际运行的距离(即正向回程运行距离)大于第2i+1距离。计算该正向回程运行距离与第2i+1距离的差值,即为该关节在正向运动第2i+1距离的起始位置(b点)的正向回程间隙。本领域普通技术人员可以理解,虽然上面关于回程间隙测量方法200的描述中以特定顺序描述了其中的各个步骤。例如,步骤s3先于步骤s4执行。但该特定顺序并非必须的。例如步骤s3可以在步骤s4之后执行,或者与步骤s4同步执行。下面描述机器人的关节的回程间隙测量过程,可以结合下文理解上述回程间隙测量方法200。图4示出了根据本发明一个实施例的机器人的关节的回程间隙测量过程400的示意性流程图。如图4所示,过程400包括步骤s410、步骤s420、步骤s430、步骤s440、步骤s450、步骤s431以及步骤s441。步骤s410.初始化i=0。启动测量过程,i=0,准备从第0距离开始机器人的关节的回程间隙测量。步骤s420,驱动关节正向运动到达第一位置。步骤s430,驱动关节反向运动第2i距离,并确定该反向运动的反向回程运行距离。驱动关节反向运动第2i距离,并在反向运动第2i距离结束的时刻确定关节在该反向运动中的实际运行距离,以作为关节在反向运动第2i距离的起始位置的反向回程运行距离。步骤s440,驱动关节正向运动第2i+1距离,并确定该正向运动的正向回程运行距离。驱动关节正向运动第2i+1距离,并在正向运动第2i+1距离结束的时刻确定关节在该正向运动中的实际运行距离,以作为关节在正向运动第2i+1距离的起始位置的正向回程运行距离。步骤s450,判断步骤s430驱动关节反向运动第2i距离是否到达第二位置。对于反向运动第2i距离到达第二位置的情况,测量过程结束。否则i=i+1,返回步骤s430,继续以新的第2i距离、第2i+1距离进行测量。步骤s431,确定关节在反向运动第2i距离的起始位置的反向回程间隙。通过步骤s430确定反向运动第2i距离的反向回程运行距离后,可以根据第2i距离和该反向回程运行距离确定关节在反向运动第2i距离的起始位置的反向回程间隙。可以理解,步骤s431的处理并不必须是实时的。换句话说,步骤s431可以在步骤s430之后进行,也即在反向运动第0距离、第2距离、……、第2n距离的步骤s430完成后即可进入步骤s431确定该次反向运动的起始位置的反向回程间隙。步骤s431也可以在整个测量过程结束后,再一一计算每个反向运动的起始位置的反向回程间隙。步骤s441,确定关节在正向运动第2i+1距离的起始位置的正向回程间隙。通过步骤s440确定正向运动第2i+1的正向程运行距离后,可以根据第2i+1距离和该正向回程运行距离确定关节在正向运动第2i+1的起始位置的正向回程间隙。可以理解,步骤s441的处理并不必须是实时的。换句话说,步骤s441可以在步骤s440之后进行,也即在正向运动第1距离、第3距离、……、第2n+1距离的步骤s440完成后即可进入步骤s441确定该次正向运动的起始位置的正向回程间隙。步骤s441也可以在整个测量过程结束后,再一一计算每个正向运动的起始位置的正向回程间隙。上述技术方案通过驱动关节反复递进式运动获取关节在每个换向位置的回程运行距离,进而得到相应位置的更准确的回程间隙。该技术方案可以测量关节工作范围内任意位置的正向和反向回程间隙值,易于实现。由此可以检验机器人的关节的机械结构的性能,并可利用回程间隙优化机器人的关节的运动控制方法,从而提高运动精度。上述第一位置和第二位置可以是用户期望的任何位置。示例性地,上述第一位置可以是关节正向运动的极限边界位置,第二位置可以是关节反向运动的极限边界位置。可以理解,对于能够旋转360度的关节,第一位置可以和第二位置可以重合于关节运行路径上的任一位置。由此,可以测量关节整个工作区间或部分工作区间的任一位置的两个方向(正向和反向)的回程间隙值,提高了回程间隙测量的灵活性。在一个实施例中,s2步骤中确定关节在该反向运动中的实际运行距离可以通过以下方式实现:根据关节的驱动电机在该反向运动中的运行微步数确定关节在该反向运动中的实际运行距离。正常运行过程中,关节的驱动电机的运行微步数与运行距离存在额定的比例关系,可以通过微步数表示运行距离。如图1所示,在机器人100实际运行时,例如用户设定了一组运动参数,使得电机140带动大臂120沿s1方向前俯向下运动5度,机器人100的运动控制部件(未示出)会将用户设置的运动参数计算为电机140运动的微步数。例如电机运动100000微步为减速器150旋转5度,减速器150旋转5度即会带动大臂120运动5度,因此运动控制部件将这5度换算为电机140的100000微步。例如电机140通过减速器150带动大臂120沿s1方向(反向)运动过程中经由a点至b点运动100000微步以带动大臂120旋转了5度。而如果电机140先沿s2方向(正向)运动至a点随即换向沿s1方向(反向)由a点运动至b点旋转了5度,此过程中因回程间隙影响电机实际运动了100500微步,与前述情况相比,在这种情况中多走了500微步。相同的旋转角度,回程实际运转的微步数大于理论运转(也即非回程运转/正常运转)的微步数。上述a点和b点如图3所示。类似的,s2步骤中确定关节在该正向运动中的实际运行距离可以通过以下方式实现:根据关节的驱动电机在该正向运动中的运行微步数确定关节在该正向运动中的实际运行距离。为了简洁,不再赘述。通过电机运行的微步数获取关节在回程运动中的实际运行距离,提高了回程间隙测量的便捷性和精确度。在一个实施例中,s2步骤中确定关节在该反向运动中的实际运行距离可以通过以下方式实现:根据关节的测量传感器检测的该反向运动的运动数据确定关节在该反向运动中的实际运行距离。测量传感器例如可以是编码器、角度传感器等。下面以编码器为例进行说明。编码器可以设置在关节的电机和/或减速器的输出轴上。编码器也可以设置在丝杠上。编码器跟随运动部件(如电机/减速器/丝杠)的运动来检测运动数据。具体的,编码器在跟随运动部件运动时可以实时产生脉冲数据,每个脉冲表示一个码值。编码器的分辨率通常是用户可设或可选的,例如一款单圈2000线的编码器表示旋转一周最大可以反馈2000个脉冲数据。编码器每返回一个脉冲数据通常表示为1线,每两线之间是一个完整的脉冲。因此,根据编码器的分辨率进行换算可以正确的反馈运动部件的运行距离。如图1所示,例如电机140通过减速器150带动大臂120沿s1方向(反向)运动过程中经由a点至b点旋转了5度,编码器测量为10000线。而如果电机140先沿s2方向(正向)运动至a点随即换向沿s1方向(反向)由a点运动至b点旋转了5度,此过程中因回程间隙影响编码器测量得到实际运动了10050线。与前述情况相比,在这种情况中多走了50线。相同的旋转角度,回程运转的线数大于理论运转(也即非回程运转/正常运转)的线数。上述a点和b点如图3所示。类似的,s2步骤中确定关节在该正向运动中的实际运行距离可以通过以下方式实现:根据关节的测量传感器检测的该正向运动的运动数据确定关节在该正向运动中的实际运行距离。为了简洁,不再赘述。由此,通过电机运行的微步数获取关节在回程运动中的实际运行距离,提高了回程间隙测量的便捷性和精确度。在一个实施例中,可以响应于用户的触发操作,启动上述步骤s1至步骤s4。例如通过在机器人控制设备(如电脑、示教器等)中集成回程间隙测量功能,并设置回程间隙测量启动/停止按键以供用户控制。该回程间隙测量功能的启动可以实现回程间隙测量方法的上述步骤s1至步骤s4。图5示出了根据本发明一个实施例的回程间隙一键式测量的控制界面的示意图。如图5所示,用户可以通过“启动测量”按钮启动回程间隙测量,通过“结束测量”按钮结束回程间隙测量。由此,实现了一键式回程间隙测量,提高了回程间隙测量的便捷性和友好性。根据本发明另一个方面,提供了一种机器人的关节的回程间隙测量装置。图6示出了根据本发明一个实施例的机器人的关节的回程间隙测量装置600的示意性框图。如图6所示,装置600包括驱动模块610、测量模块620以及回程间隙确定模块630。驱动模块610,用于驱动关节正向运动到达第一位置;并且在关节到达所述第一位置后,驱动关节反向运动第2i距离后正向运动第2i+1距离。其中,i等于0、1、…、n,n为正整数,反向运动第2n距离的终点位置是第二位置。并且对于i不等于n的情况,第2i距离和第2i+2距离均大于第2i+1距离。测量模块620,用于在反向运动第2i距离结束的时刻确定关节在该反向运动中的实际运行距离,以作为关节在反向运动第2i距离的起始位置的反向回程运行距离。在正向运动第2i+1距离结束的时刻确定关节在该正向运动中的实际运行距离,以作为关节在正向运动第2i+1距离的起始位置的正向回程运行距离。回程间隙确定模块630,用于根据第2i距离和关节在反向运动第2i距离的起始位置的反向回程运行距离,确定关节在反向运动第2i距离的起始位置的反向回程间隙。并且根据第2i+1距离和关节在正向运动第2i+1距离的起始位置的正向回程运行距离,确定关节在正向运动第2i+1距离的起始位置的正向回程间隙。总之,回程间隙测量装置600中的各个模块用于具体执行上述回程间隙测量方法中的相应步骤。通过阅读上述关于该方法的描述,本领域普通技术人员可以理解上述回程间隙测量装置600的具体实现和技术效果。根据本发明又一方面,还提供了一种用于回程间隙测量的系统。包括处理器和存储器,其中,所述存储器中存储用于实现根据本发明实施例的回程间隙测量方法中的各个步骤的计算机程序指令。所述处理器用于运行所述存储器中存储的计算机程序指令,以执行根据本发明实施例的回程间隙测量方法的相应步骤,并且用于实现根据本发明实施例的回程间隙测量装置中的驱动模块610、测量模块620以及回程间隙确定模块630。根据本发明再一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时使得所述计算机或处理器执行本发明实施例的回程间隙测量方法的相应步骤,并且用于实现根据本发明实施例的回程间隙测量装置中的相应模块。所述存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。根据本发明一个方面,提供了一种机器人的关节的控制方法。图7示出了根据本发明一个实施例的机器人的关节的控制方法700的示意性流程图。如图7所示,方法700包括步骤s710、步骤s720、步骤s730以及步骤s740。步骤s710,根据机器人的关节的运动参数确定该关节运动中的换向位置和换向方向。关节的运动参数是控制关节运动的参数。运动控制部件对运动参数进行解算后控制关节运动。运动参数例如可以是pvt参数,p(position)表示关节运动的目的位置,v(velocity)表示关节运动的速度,t(time)表示关节运动到达目的位置的时刻。图8示出了根据本发明一个实施例的机器人的关节的运动参数的示意图。如图8所示,通过一系列运动参数控制机器人的基座关节、大臂关节、小臂关节以及腕关节的运动,使得机器人的各关节协调运动以执行用户所需的任务。可以理解,图8中的关节角度表示的是pvt参数中的p,即关节运动的目的位置(期望达到的角度)。可以根据关节的运动参数确定该关节运动中的换向位置和换向方向。例如,从运动参数可以看出关节是否从小角度运动到大角度,继而又回到小角度,由此可以判断关节运动中的换向位置。同时,根据关节运动的角度大小的变化(小角度->大角度->小角度、或大角度->小角度->大角度)可以判断关节运动中的换向方向。步骤s720,获取步骤s710确定的换向位置和换向方向对应的回程间隙值。如前所述,在关节的工作范围中,其运行路径上的任一位置有对应的正向回程间隙值和反向回程间隙值。通过上述回程间隙测量方法,可以测量得到关节的运行路径上的任一位置的正向回程间隙值和反向回程间隙值。在一个示例中,可以通过表格存储与位置对应的回程间隙值。表1示出了根据本发明一个实施例的回程间隙表。表1回程间隙表位置正向回程间隙反向回程间隙1°0.02°0.03°2°0.01°0.03°3°0.03°0.02°………………如表1所示,根据步骤s710确定的换向位置和换向方向在回程间隙表中进行检索,可以得到对应的回程间隙值。例如s710确定的换向位置为2°,换向方向为正向,则从表1可以获得回程间隙值0.01°。步骤s730,根据步骤s720获得的回程间隙值修正发生换向的运动参数中的位置参数。由于回程间隙的影响,关节回程运动时需要额外运动换向位置对应的回程间隙值对应的距离,才能准确到达目的位置。可以通过修正发生换向的运动参数中的位置参数来实现回程间隙补偿。可选地,也可以通过增加一条运动参数来实现回程间隙补偿。示例性地,可以把发生换向的运动参数中的位置参数加上步骤s720获得的回程间隙值的和作为修正后的位置参数。继续上述示例,对于在2°位置处发生正向换向的运动参数,根据步骤s720获得的回程间隙值0.01°修正该运动参数中的位置参数为2.01°。由此,修正了回程间隙对关节运动的影响,提高了关节回程运动的准确度。步骤s740,根据经步骤s730修正的位置参数控制关节。使用经步骤s730修正了位置参数的运动参数对关节进行运动控制,直接针对换向位置处的回程间隙进行了补偿修正,从而消除了回程间隙对关节运动的准确度的影响。上述方案通过对关节的运动参数进行换向检查,并针对换向位置处的回程间隙进行补偿修正,从而消除了回程间隙对关节运动的准确度的影响,提高了关节运动控制的精确性。图9示出了根据本发明一个实施例的步骤s710根据关节的运动参数确定该关节运动中的换向位置和换向方向的示意性流程图。如图9所示,步骤s710包括步骤s711a和步骤s712b。步骤s711a,根据运动参数的时间参数确定连续3条运动参数。关节的运动参数中的时间参数表示基于该运动参数控制关节到达目的位置的时刻,也表示了用于控制关节运动的先后顺序,时间参数早的运动参数先于时间参数晚的运动参数用于控制关节运动。如图8所示,序号31的运动参数表示控制基座关节于2.193时刻到达位置35.049°,序号32的运动参数表示控制基座关节于2.242时刻到达位置36.628°,……。因此,可以根据运动参数的时间参数是否相邻来确定连续3条运动参数。例如,序号31~33的运动参数的时间参数相邻,是连续的3条运动参数。步骤s712b,根据步骤s711a确定的连续3条运动参数的位置参数确定该关节运动中的换向位置和换向方向。根据连续3条运动参数的位置参数,如果位置表现为近->远->近(以角度表示为小->大->小),表示关节在连续3条运动参数中的中间运动参数的位置参数处发生了由正向运动变为反向运动的换向(以由近及远为正向)。如果位置表现为远->近->远(以角度表示为大->小->大),表示关节在连续3条运动参数中的中间运动参数的位置参数处发生了由反向运动变为正向运动的换向(以由近及远为正向)。如果位置表现为近->远->更远(以角度表示为小->大->更大)或远->近->更近(以角度表示为大->小->更小),则说明这3条运动参数控制关节持续正向运动或反向运动,没有换向。如图8所示,序号36~38控制大臂关节的运动参数中的位置参数分别为196.610°、196.633°、196.624°,控制大臂关节近->远->近运动,在序号37的运动参数的位置参数处产生了由正向运动变为反向运动的换向。由此,通过比较连续3条运动参数中的位置参数的大小变化,检测关节的运动是否发生换向,从而可以针对换向位置处进行回程间隙补偿,提高关节运动控制的精确度,算法简单,易于实现。图10示出了根据本发明另一个实施例的步骤s710根据关节的运动参数确定该关节运动中的换向位置和换向方向的示意性流程图。如图10所示,步骤s710包括步骤s711b、步骤s712b以及步骤s713b。步骤s711b,根据运动参数的时间参数确定连续2条运动参数。时间参数相邻的运动参数即为连续2条运动参数。具体方法和过程与步骤s711a类似,为了简洁,不再赘述。步骤s712b,根据步骤s711b确定的连续2条运动参数的速度参数确定该关节运动中的换向方向。运动参数的速度参数为正数表示控制关节正向运动,为负数表示控制关节反向运动。如果连续2条运动参数的速度参数由正数变为负数,表示控制关节由正向运动变为反向运动,发生了正向运动变为反向运动的换向。如果连续2条运动参数的速度参数由负数变为正数,表示控制关节由反向运动变为正向运动,发生了反向运动变为正向运动的换向。如图8所示,序号37~38控制大臂关节的运动参数中的速度参数分别为0.134、-0.527,控制大臂关节由正向运动变为反向运动,发生了正向运动变为反向运动的换向。步骤s713b,根据步骤s711b确定的连续2条运动参数的位置参数确定该关节运动中的换向位置。如果连续2条运动参数的速度参数由正数变为负数或由负数变为正数,表示在这两条运动参数中的第一条运动参数的位置参数处发生换向。继续上述示例,在序号37的运动参数的位置参数处产生由正向运动变为反向运动的换向。由此,通过比较连续2条运动参数中的速度参数的正负变化,检测关节的运动是否发生换向,从而可以针对换向位置处进行回程间隙补偿,提高关节运动控制的精确度,算法简单,易于实现。在一个实施例中,可以根据回程间隙控制精度值确定关节的运动参数。例如,设置运动参数的位置参数为回程间隙控制精度值的整数倍。由此,根据运动参数控制关节运动,如果发生换向,换向位置处也为回程间隙控制精度值的整数倍。而在关节的工作范围内,每个回程间隙控制精度值的整数倍位置处,通过测量均获得了相应的正向回程间隙值和反向回程间隙值。因此,可以针对任一条运动参数的位置参数处获取精确的回程间隙值,以用于回程间隙补偿修正。可以理解,如果发生换向的位置没有对应的回程间隙值,可以采用该位置的邻近位置处的回程间隙值通过插值算法等方法折算该位置的回程间隙值。折算得到的回程间隙值相对直接测量得到的回程间隙值可能存在一些偏差。因此,根据回程间隙控制精度值确定关节的运动参数,可以精确补充回程间隙,进一步提高关节运动控制的精确度。根据本发明又一方面,提供了一种机器人的关节的控制装置。图11示出了根据本发明一个实施例的机器人的关节的控制装置1100的示意性框图。如图11所示,装置1100包括换向检查模块1110、回程间隙获取模块1120、回程间隙修正模块1130以及控制模块1140。换向检查模块1110,用于根据关节的运动参数确定该关节运动中的换向位置和换向方向。回程间隙获取模块1120,用于获取该换向位置和该换向方向对应的回程间隙值。回程间隙修正模块1130,用于根据获取的回程间隙值修正换向位置的运动参数中的位置参数。控制模块1040,用于根据经修正的位置参数控制关节。总之,机器人的关节的控制装置1100中的各个模块用于具体执行上述机器人的关节的控制方法中的相应步骤。通过阅读上述关于该方法的描述,本领域普通技术人员可以理解上述机器人的关节的控制装置1100的具体实现和技术效果。根据本发明又一方面,提供了一种机器人。该机器人包括关节以及用于控制该关节的上述机器人的关节的控制装置。根据本发明又一方面,还提供了一种用于机器人的关节的控制系统。包括处理器和存储器,其中,所述存储器中存储用于实现根据本发明实施例的机器人的关节的控制方法中的各个步骤的计算机程序指令。所述处理器用于运行所述存储器中存储的计算机程序指令,以执行根据本发明实施例的机器人的关节的控制方法的相应步骤,并且用于实现根据本发明实施例的机器人的关节的控制装置中的换向检查模块1110、回程间隙获取模块1120、回程间隙修正模块1130以及控制模块1140。根据本发明再一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时使得所述计算机或处理器执行本发明实施例的机器人的关节的控制方法的相应步骤,并且用于实现根据本发明实施例的机器人的关节的控制装置中的相应模块。所述存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的视觉定位地图加载装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1