发明内容
本申请实施例解决的技术问题之一在于提供一种机器人空间注册的方法和装置,在降低了机器人空间注册过程复杂度的同时,实现了机器人的自动空间注册,提高了机器人空间注册的精度。
一方面,本发明实施例提供了一种机器人空间注册的方法,包括:
根据传感器识别到的机械臂末端上的至少三个非共线的标记点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的初始转换关系;
根据机械臂坐标系和传感器坐标系之间的初始转换关系,以及物体坐标系和传感器坐标系之间的转换关系,建立机械臂坐标系和物体坐标系之间的初始转换关系;
根据机械臂坐标系和传感器坐标系之间的初始转换关系及机械臂坐标系和物体坐标系之间的初始转换关系,得到机械臂末端上的一个标记点能够被传感器识别到的可移动识别范围;
根据所述机械臂末端上的一个标记点在可移动识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的至少三个非共线的空间参考点;
根据所述至少三个非共线的空间参考点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的最终转换关系;
根据机械臂坐标系和传感器坐标系之间的最终转换关系,以及物体坐标系和传感器坐标系之间的转换关系,建立机械臂坐标系和物体坐标系之间的最终转换关系。
可选地,根据所述机械臂末端上的一个标记点在可移动识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的至少三个非共线的空间参考点的步骤具体为:在可移动识别范围内选择四个非共面的点,并控制所述机械臂末端上的一个标记点分别移动到所述四个非共面的点的位置,得到四个非共面的空间参考点。
可选地,所述四个非共面的空间参考点之间的连线组成的图形为四面体。
可选地,目标对象位于所述四面体中。
可选地,所述根据所述至少三个非共线的空间参考点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系的最终转换关系的步骤为:以所述四个非共面的空间参考点中的一个点为原点,并以所述原点与其他三个空间参考点的连线为坐标轴,建立仿射坐标系;根据所述空间参考点在传感器坐标系中的坐标和仿射坐标系,建立传感器坐标系与仿射坐标系之间的第一空间关系;根据所述空间参考点在机械臂坐标系中的坐标和仿射坐标系,建立机械臂坐标系与仿射坐标系之间的第二空间关系;根据所述第一空间关系和所述第二空间关系,建立机械臂坐标系和传感器坐标系之间的最终转换关系。
可选地,所述得到机械臂末端上的一个标记点能够被传感器识别到的可移动识别范围中还包括:设置机械臂末端上的至少三个非共线的标记点中,每个标记点与其他标记点之间的距离之和最大的标记点为所述机械臂末端上的一个标记点。
另一方面,本申请实施例还提供了一种机器人空间注册的装置,包括:
机械臂初始转换关系建立模块,用于根据传感器识别到的机械臂末端上的至少三个非共线的标记点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的初始转换关系;
物体初始转换关系建立模块,用于根据机械臂坐标系和传感器坐标系之间的初始转换关系,以及物体坐标系和传感器坐标系之间的转换关系,建立机械臂坐标系和物体坐标系之间的初始转换关系;
可移动识别范围获取模块,用于根据机械臂坐标系和传感器坐标系之间的初始转换关系及机械臂坐标系和物体坐标系之间的初始转换关系,得到机械臂末端上的一个标记点能够被传感器识别到的可移动识别范围;
空间参考点获取模块,用于根据所述机械臂末端上的一个标记点在可移动识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的至少三个非共线的空间参考点;
机械臂最终转换关系建立模块,用于根据所述至少三个非共线的空间参考点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的最终转换关系;
物体最终转换关系建立模块,用于根据机械臂坐标系和传感器坐标系之间的最终转换关系,以及物体坐标系和传感器坐标系之间的转换关系,建立机械臂坐标系和物体坐标系之间的最终转换关系。
可选地,所述空间参考点获取模块具体用于:在可移动识别范围内选择四个非共面的点,并控制所述机械臂末端上的一个标记点分别移动到所述四个非共面的点的位置,得到四个非共面的空间参考点。
可选地,所述空间参考点获取模块得到的四个非共面的空间参考点之间的连线组成的图形为四面体。
可选地,目标对象位于所述四面体中。
由以上技术方案可见,本申请实施例提供的机器人空间注册方法和装置,根据传感器识别到物体上的标记点,建立物体坐标系和传感器坐标系之间的转换关系,根据传感器识别到机械臂末端上的至少三个非共线的标记点,建立机械臂坐标系和传感器坐标系之间的初始转换关系,根据这两个转换关系建立物体坐标系和机械臂坐标系之间的初始转换关系,以完成机器人和物体之间的初始空间注册。通过机器人和物体之间的初始空间注册,机器人不仅获得了机械臂末端上的一个标记点能够被传感器识别到的可移动识别范围,还获取到了传感器的识别范围以及和物体之间的相对位置关系,因此,通过机器人的自动移动,就能在不发生碰撞的情况下,使机械臂末端的一个标记点到达可移动识别范围内的至少三个非共线的位置,从而根据位于至少三个非共线的位置上的点(即空间参考点)在机械臂坐标系中和在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系之间的最终转换关系,进而根据机械臂坐标系和传感器坐标系之间的最终转换关系,以及物体坐标系和传感器坐标系之间的转换关系,建立机械臂坐标系和物体坐标系之间的最终转换关系,完成机器人和物体之间的最终空间注册。
本申请实施例相比于已有技术中的机器人空间注册方法,一方面通过机械臂末端上的一个定位点在可移动识别范围的移动,建立机械臂坐标系和传感器坐标系之间的高精度的转换关系,进而可以根据该高精度的转换关系,在物体坐标系和机械臂坐标系之间建立高精度的转换关系,提高了机器人空间注册的精度;另一方面,由于本申请实施例的空间注册方法和装置在机械臂坐标系和物体坐标系之间建立了初始转换关系,因此获得了机器人和物体之间的相对位置关系,结合机器人自身安全程序中设定的与物体之间的安全距离,机器人就可以在传感器的识别范围内不发生碰触的情况下,自动移动到非共线或者非共面的点的位置,避免了已有技术中需要人工控制多次移动机器人的机械臂的情况,降低了机器人的整个空间注册过程的复杂度。
具体实施方式
当然,实施本发明实施例的任一技术方案不一定需要同时达到以上的所有优点。
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
如图1所示,本申请实施例提供了一种机器人空间注册的方法,包括步骤S100-S600。具体地:
步骤S100:根据传感器识别到的机械臂末端上的至少三个非共线的标记点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的初始转换关系。
实际操作过程中,由于机械臂末端位于传感器的识别范围内,因此传感器能够识别到机械臂末端上的至少三个非共线的标记点,通过传感器识别所述至少三个非共线的标记点后,能够得到所述至少三个非共线的标记点在传感器坐标系中的坐标,及所述至少三个非共线的标记点在机械臂坐标系中的坐标,之后就可以利用三角测距原理建立机械臂坐标系和传感器坐标系之间的初始转换关系。需要说明的是,建立机械臂坐标系与传感器坐标系之间的初始转换关系之后,机器人就获得了传感器的识别范围。
可选地,当机械臂末端上设置三个非共线的标记点时,所述三个非共线的标记点之间的连线组成的图形为非等腰直角三角形。
步骤S200:根据机械臂坐标系和传感器坐标系之间的初始转换关系,以及物体坐标系和传感器坐标系之间的转换关系,建立机械臂坐标系和物体坐标系之间的初始转换关系。
实现机器人空间注册的目的是建立机器人和待加工物体之间的位置关系,即建立机械臂坐标系和物体坐标系之间的转换关系,在以传感器作为中间转换介质建立机械臂坐标系和物体坐标系之间的转换关系时,得到机械臂坐标系和传感器坐标系的初始转换关系之后,还需要建立物体坐标系和传感器坐标系之间的转换关系,在实际操作过程中,建立物体坐标系和传感器坐标系之间的转换关系过程利用现有方式即可,其可以为:从物体上的标记点中选择三个非共线的且能够被传感器识别的标记点,根据所选择的三个非共线的标记点在物体坐标系中的坐标,和在传感器坐标系中的坐标,得到物体坐标系和传感器坐标系之间的转换关系;需要说明的是该过程是实现方式中的一种,本申请实施例不对该过程进行限定,只要能够建立物体坐标系和传感器坐标系之间的转换关系即可。由于得到了机械臂坐标系和传感器坐标系之间的初始转换关系,以及物体坐标系和传感器坐标系之间的转换关系,因此利用传感器坐标系就能够建立出机械臂坐标系和物体坐标系之间的初始转换关系。
通过步骤S200建立了机械臂坐标系和物体坐标系之间的初始转换关系后,就得到了机械臂与物体之间的相对位置关系,进而得到物体上每个点的位置在机械臂坐标系下的坐标。
需要说明的是,一方面,由于考虑到机械臂负载重量有限以及机械臂自身运动干涉等因素的影响,现有的机械臂末端的体积较小,因此,建立机械臂坐标系和传感器坐标系之间的初始转换关系时所用到的标记点之间的距离也在较小的范围内,即机械臂末端上的标记点之间的位置比较紧凑,不利于传感器对各个标记点之间的相对位置关系进行高精度的识别;另一方面,标记点在机械臂末端上的位置是通过设计图纸获取的,但是实际操作过程中的加工误差、形变误差或者装配误差等因素都可能会在建立机械臂坐标系和传感器坐标系之间转换关系的过程中带来误差,从而影响物体和机械臂之间的空间注册结果的精度。
考虑到上述两个方面的原因,本申请实施例在建立机械臂坐标系和传感器坐标系之间初始转换关系的基础上,通过机械臂末端上的一个标记点在传感器范围内的移动,得到至少三个非共线的空间参考点,根据所述至少三个非共线的空间参考点,得到机械臂坐标系和传感器坐标系之间的高精度的最终转换关系。具体实现步骤分别为:
S300:根据机械臂坐标系和传感器坐标系之间的初始转换关系及机械臂坐标系和物体坐标系之间的初始转换关系,得到机械臂末端上的一个标记点能够被传感器识别到的可移动识别范围。
具体地,机器人根据机械臂坐标系和传感器坐标系之间的初始转换关系得到传感器的识别范围,以及根据机械臂坐标系和物体坐标系之间的初始转换关系得到所述机械臂末端上的一个标记点的可移动范围,根据所述识别范围和所述可移动范围得到所述机械臂末端上的一个标记点能够被传感器识别到的可移动识别范围。
由于传感器的识别范围在传感器坐标系下能够以具体坐标值集合来表示,结合已经得到的机械臂坐标系和传感器坐标系之间的初始转换关系,机器人就获得了传感器的识别范围,即也可以将传感器的识别范围在机械臂坐标系下以具体坐标值集合来表示;另外,机器人可获得自身机械臂上任意一点的理论移动范围,这个范围可以在机械臂坐标系下以具体坐标值集合来表示,因此针对机械臂末端上的某一个标记点,机器人也可得到这个标记点的理论移动范围,同时物体上每个点的位置在物体坐标系下的坐标均是已知的,加之已经得到了机械臂坐标系和物体坐标系之间的初始转换关系,因此机器人也就得到了物体上每个点的位置在机械臂坐标系下的坐标,这样物体的尺寸和位置就可以在机械臂坐标系下以具体坐标值集合来表示,机器人通过这个标记点的理论移动范围和物体的尺寸和位置,就可以得到机器人在安全运行的情况下(或者说机械臂不产生任何碰撞的情况下),这个标记点实际的可移动范围,此过程依靠机器人现有的防碰撞技术或安全技术就能够实现;将机械臂末端上的这个标记点实际的可移动范围与传感器的识别范围相结合(或者说求取可移动范围与识别范围的交集),就能得到这个标记点能够被传感器识别到的可移动识别范围,这个可移动识别范围同样可以在机械臂坐标系下以具体坐标值集合来表示。
在本步骤中得到的是机械臂末端上的一个标记点能够被传感器识别到的可移动识别范围,而机械臂上存在多个标记点,因此在实际操作中可以从中随机选取一个标记点,亦或其他方式,这里提供一种优选的方法,所述一个标记点的选取步骤可以为:设置机械臂末端上的至少三个非共线的标记点中,每个标记点与其他标记点之间的距离之和最大的标记点为所述机械臂末端上的一个标记点。具体操作过程可以为:
计算机械臂末端上的至少三个非共线的标记点中每个标记点与其他标记点之间的距离之和;
选择其中与其他标记点的距离之和最大的标记点为所述机械臂末端上的一个标记点。
步骤S400:根据所述机械臂末端上的一个标记点在可移动识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的至少三个非共线的空间参考点。
具体地,通过此前的步骤,机器人已经得到了机械臂末端上的这个标记点的可移动识别范围,这里就可以由机器人自行控制机械臂末端在可移动识别范围内带动这个标记点随机移动,也可以由机器人自行控制机械臂末端在可移动识别范围内带动这个标记点按照一定的规律进行移动,还可以从可移动识别范围内随机选取至少三个非共线的点,然后控制机械臂末端上这个标记点移动到所述至少三个非共线的点的位置,亦或是其他的方式。
由于机械臂末端上的这个标记点处于可移动识别范围内的任何位置都可以被传感器识别到,进而得到这个标记点处于可移动识别范围的某个位置时在传感器坐标系下的坐标,加之机器人自身也能够得到这个标记点在机械臂坐标系下的坐标,因此可以选择移动过程中的至少三个非共线的点,作为用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的至少三个非共线的空间参考点。
由此可见,只要所述机械臂末端上的一个标记点在可移动识别范围内移动,其得到用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的至少三个非共线的空间参考点的方式有很多,这里对得到至少三个非共线的空间参考点的方式不作具体限定。
步骤S500:根据所述至少三个非共线的空间参考点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的最终转换关系。这里建立机械臂坐标系和传感器坐标系之间的最终转换关系的基本原理与建立机械臂坐标系和传感器坐标系之间的初始转换关系的基本原理是一样的,都是利用多个实际空间中的点在机械臂坐标系下的坐标和传感器坐标系下的坐标来建立两个坐标系之间的转换关系,不同的是,步骤S100中是以多个标记点的位置作为多个实际空间中的点,而步骤S500中是以一个标记点在移动过程中的多个位置作为多个实际空间中的点,因此步骤S500的具体实现过程这里不再赘述。
需要说明的是,根据所述机械臂末端上的一个标记点在可移动识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的至少三个非共线的空间参考点的步骤中,当得到用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的三个非共线的空间参考点时,可以利用三角测距原理建立机械臂坐标系和传感器坐标系之间的最终转换关系。
可选地,根据所述机械臂末端上的一个标记点在可移动识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的至少三个非共线的空间参考点的步骤还可以为:在可移动识别范围内选择四个非共面的点,并控制所述机械臂末端上的一个标记点分别移动到所述四个非共面的点的位置,得到四个非共面的空间参考点。
得到四个非共面的空间参考点后,除了可以在所述四个非共面的空间坐标点中选择三个非共线的空间参考点,以利用三角测距原理建立机械臂坐标系和传感器坐标系之间的最终转换关系之外,还可以以所述四个非共面的空间参考点中的一个点为原点,并以所述原点与其他三个空间参考点的连线为坐标轴,建立仿射坐标系;根据所述空间参考点在传感器坐标系中的坐标和仿射坐标系,建立传感器坐标系和仿射坐标系之间的第一空间关系;根据所述空间参考点在机械臂坐标系中的坐标和仿射坐标系,建立机械臂坐标系和仿射坐标系之间的第二空间关系;根据所述第一空间关系和所述第二空间关系,建立机械臂坐标系和传感器坐标系之间的最终转换关系。其中,在建立第一空间关系、第二空间关系及机械臂坐标系和传感器坐标系之间的转换关系时,可利用仿射变换或矩阵奇异值分解等算法。
需要说明的是,建立所述第一空间关系和建立所述第二空间关系的步骤之间没有严格的先后顺序关系。
步骤S600:根据机械臂坐标系和传感器坐标系之间的最终转换关系,以及物体坐标系和传感器坐标系之间的转换关系,建立机械臂坐标系和物体坐标系之间的最终转换关系。
通过步骤S600建立了机械臂坐标系和物体坐标系之间的最终转换关系后,也就完成了机器人和物体之间的最终空间注册。
可选地,上述四个非共面的空间参考点之间的连线组成的图形为四面体。
进一步地,目标对象位于所述四面体中。
由于目标对象在机械臂坐标系下的具体坐标可以通过机械臂坐标系和物体坐标系之间的初始转换关系得到,所以在可移动识别范围内选择四个非共面的点的时候,可以围绕目标对象进行选取,从而使目标对象位于所述四面体中。
需要说明的是,这里的目标对象是指机器人完成工作任务所针对的操作对象,该操作对象为物体上的待加工点或待加工区域等需要机器人进行处理的对象。
还需要说明的是,在实际操作过程中,可以控制机械臂末端上的一个标记点在可移动识别范围内移动到数量大于三个的多个位置,比如移动到四个位置,五个位置,六个位置,七个位置等等,然后从这些位置中选择三个非共线的空间参考点或者四个非共面的空间参考点。
本申请实施例提供的机器人空间注册的方法,通过传感器识别物体上的标记点建立物体坐标系和传感器坐标系之间的转换关系,并通过传感器识别机械臂末端上至少三个非共线的标记点建立机械臂坐标系和传感器坐标系之间的初始转换关系,完成物体和机器人之间的初始空间注册,从而得到了机器人和物体之间的相对位置关系,使得机器人可以在不发生碰触的情况下,通过自动移动得到用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的空间参考点,根据空间参考点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,得到机械臂坐标系和传感器坐标系的最终转换关系,从而结合物体坐标系和传感器坐标系之间的转换关系,得到物体坐标系和机械臂坐标系之间的最终转换关系。
本申请实施例提供的机器人空间注册的方法避免了现有的空间注册过程中需要人工控制多次移动机器人的机械臂的步骤,进而避免了人工控制多次移动机器人带来的空间注册过程中的误差问题,在降低了机器人空间注册过程的复杂度的同时,提高了空间注册的效率和精度;且在整个空间注册过程中,机器人的机械臂不发生任何碰触,避免了安全事故的发生。
如图2所示,基于相同的发明构思,本申请实施例还提供了一种机器人空间注册的装置,包括:
机械臂初始转换关系建立模块201,用于根据传感器识别到的机械臂末端上的至少三个非共线的标记点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的初始转换关系;
物体初始转换关系建立模块202,用于根据机械臂坐标系和传感器坐标系之间的初始转换关系,以及物体坐标系和传感器坐标系之间的转换关系,建立机械臂坐标系和物体坐标系之间的初始转换关系;
可移动识别范围获取模块203,用于根据机械臂坐标系和传感器坐标系之间的初始转换关系及机械臂坐标系和物体坐标系之间的初始转换关系,得到机械臂末端上的一个标记点能够被传感器识别到的可移动识别范围;
空间参考点获取模块204,用于根据所述机械臂末端上的一个标记点在可移动识别范围内的移动,得到用于建立机械臂坐标系和传感器坐标系之间的最终转换关系的至少三个非共线的空间参考点;
机械臂最终转换关系建立模块205,用于根据所述至少三个非共线的空间参考点在机械臂坐标系中的坐标和在传感器坐标系中的坐标,建立机械臂坐标系和传感器坐标系之间的最终转换关系;
物体最终转换关系建立模块206,用于根据机械臂坐标系和传感器坐标系之间的最终转换关系,以及物体坐标系和传感器坐标系之间的转换关系,建立机械臂坐标系和物体坐标系之间的最终转换关系。
可选地,空间参考点获取模块204具体用于在可移动识别范围内选择四个非共面的点,并控制所述机械臂末端上的一个标记点分别移动到所述四个非共面的点的位置,得到四个非共面的空间参考点。
可选地,空间参考点获取模块204得到的四个非共面的空间参考点之间的连线组成的图形为四面体。
可选地,目标对象位于空间参考点获取模块204得到的四个非共面的空间参考点之间的连线所组成的四面体中。
本申请实施例中,机械臂初始转换关系建立模块201,物体初始转换关系建立模块202,可移动识别范围获取模块203,空间参考点获取模块204,机械臂最终转换关系建立模块205,物体最终转换关系建立模块206可以执行上述方法实施例中对应的优选步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独处理,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。