一种引导机械手的方法、装置、系统及上位机
技术领域
本发明涉及工业自动化技术领域,特别是涉及一种引导机械手的方法、装置、系统及上位机。
背景技术
目前,机械手广泛应用于各种领域。一种相关技术的机械手,如图1所示,包括:机械手100,机械手100的端部的夹具101。机械手100可以抓取放置在工作平台102的第一工件基座板103上的第一工件104,放置到第二工件工作基板105上的第二工件106上。
目前,引导机械手100完成上述抓取和放置的方式,主要是机械手100在预设的抓取位置,用夹具101将第一工件104抓起,移动到预设的放置位置,将夹具101上的第一工件104放置到第二工件106上。这种方式比较适合对精度要求不高的情况。然而,对于第一工件104和第二工件106是精细的工件,对精度要求很高的情况,一旦第一工件104或第二工件106放置的位置有所偏差,就有可能导致第一工件104不能精确地放置到第二工件106上。
可见,相关技术将当前工件放置到目标位置的精确度不够高。
发明内容
本发明实施例的目的在于提供一种引导机械手的方法、装置、系统及上位机,以提高放置的精确度。具体技术方案如下:
第一方面,本发明提供了一种引导机械手的方法,应用于机械手引导系统中的上位机,所述机械手引导系统,还包括:安装在机械手端部的上相机和安装在被抓取工件所在平面上方的下相机,所述方法包括:
接收抓取指令;
控制机械手移动到第一预设位置并抓取第一工件;所述第一工件为待抓取工件;
控制机械手移动到第二预设位置,并控制下相机对所述第一工件进行拍照,获得下相机返回的,第一工件在下相机坐标系的第一工件位置;
控制机械手移动到第三预设位置,并控制上相机对第二工件进行拍照,获得上相机返回的,第二工件在上相机坐标系的第二工件位置;所述第二工件与所述待抓取工件位于同一平面的不同位置;
获得第一工件在机械手坐标系中的第一工件标准位置和第二工件在机械手坐标系中的第二工件标准位置;
将所述第一工件在下相机坐标系的第一工件位置和所述第二工件在上相机坐标系的第二工件位置,分别转换为机械手坐标系中的第一工件当前位置和第二工件当前位置;
获得预设的机械手从第二预设位置到第二工件标准位置之间的第一标准水平夹角;
获得预设的机械手从第一预设位置到第二工件标准位置之间的第二标准水平夹角;
记录机械手从第一预设位置到第二工件当前位置之间的当前水平夹角;
计算出当前水平夹角与第二标准夹角之差,作为第二工件的偏移角度;
基于所述第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置。
可选的,所述基于所述第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置的步骤,包括:根据所述第一工件标准位置和所述第一工件当前位置,计算获得抓取位移偏移量;
按如下公式计算获得目标位置:
xc’=cos(θ1+θ2)×delX1-sin(θ1+θ2)×delY1+xc
yc’=cos(θ1+θ2)×delY1+sin(θ1+θ2)×delX1+yc;
其中,xc’为目标位置的横坐标,yc’为目标位置的纵坐标,θ1为所述第一标准水平夹角,θ2为所述第二工件的偏移角度,delX1为所述抓取位移偏移量的横坐标,delY1为所述抓取位移偏移量的纵坐标,xc为所述第二工件当前位置的横坐标,yc为所述第二工件当前位置的纵坐标。
可选的,在所述控制机械手移动到第一预设位置并抓取第一工件的步骤之前,还包括:控制上相机对所述第一工件进行拍照,获得上相机返回的,第一工件在上相机坐标系的第一工件的初始位置;
根据预先保存的第一工件的预设初始位置,判断所述第一工件的初始位置与所述第一工件的预设初始位置是否相同;
如果相同,则执行控制机械手移动到第一预设位置并抓取第一工件的步骤;
如果不相同,则将第一工件移动至第一预设位置。
可选的,在所述接收抓取指令的步骤之前,还包括:
分别控制上相机和下相机在不同高度拍照,使上相机和下相机分别进行对焦;
基于上相机和下相机返回的对焦结果,确定控制上相机对所述第二工件拍照时,上相机相对于第二工件所在平面的高度;以及确定控制下相机对所述第一工件进行拍照时,下相机相对于第一工件所在平面的高度;
计算上相机的内部参数和下相机的内部参数;
计算上相机的外部参数和下相机的外部参数;所述上相机的外部参数包括上相机坐标系和机械手坐标系的转化关系,所述下相机的外部参数包括下相机坐标系和机械手坐标系的转化关系。
可选的,所述机械手的端部还设置有激光位移传感器;所述激光位移传感器与所述上相机平面平行;
在所述接收抓取指令的步骤之前,还包括:控制所述激光位移传感器在预设数量的不同位置向第一工件所在的平面发射激光,基于激光位移传感器返回的多个激光位移传感器与第一工件所在平面的距离值,对上相机进行调平,使机械手端部的上相机平面与第一工件所在平面平行。
第二方面,本发明提供了一种引导机械手的装置,应用于机械手引导系统中的上位机,所述机械手引导系统,还包括:安装在机械手端部的上相机和安装在被抓取工件所在平面上方的下相机,所述装置包括:
指令接收单元,用于接收抓取指令;
第一工件抓取单元,用于控制机械手移动到第一预设位置并抓取第一工件;所述第一工件为待抓取工件;
第一工件位置获得单元,用于控制机械手移动到第二预设位置,并控制下相机对所述第一工件进行拍照,获得下相机返回的,第一工件在下相机坐标系的第一工件位置;
第二工件位置获得单元,用于控制机械手移动到第三预设位置,并控制上相机对第二工件进行拍照,获得上相机返回的,第二工件在上相机坐标系的第二工件位置;所述第二工件与所述待抓取工件位于同一平面的不同位置;
标准位置获得单元,用于获得第一工件在机械手坐标系中的第一工件标准位置和第二工件在机械手坐标系中的第二工件标准位置;
当前位置转换单元,用于将所述第一工件在下相机坐标系的第一工件位置和所述第二工件在上相机坐标系的第二工件位置,分别转换为机械手坐标系中的第一工件当前位置和第二工件当前位置;
第一标准水平夹角获得单元,用于获得预设的机械手从第二预设位置到第二工件标准位置之间的第一标准水平夹角;
第二标准水平夹角获得单元,用于获得预设的机械手从第一预设位置到第二工件标准位置之间的第二标准水平夹角;
当前水平夹角记录单元,用于记录机械手从第一预设位置到第二工件当前位置之间的当前水平夹角;
第二工件的偏移角度计算单元,用于计算出当前水平夹角与第二标准夹角之差,作为第二工件的偏移角度;
目标位置获得单元,用于基于所述第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置。
第三方面,本发明提供了一种机械手引导系统中的上位机,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述引导机械手的方法任一所述的方法步骤。
第四方面,本发明提供了一种机械手引导系统,包括:上位机、机械手、安装在机械手端部的上相机和安装在被抓取工件所在平面上方的下相机;
所述上位机,用于接收抓取指令;控制机械手移动到第一预设位置并抓取第一工件;所述第一工件为待抓取工件;控制机械手移动到第二预设位置,并控制下相机对所述第一工件进行拍照,获得下相机返回的,第一工件在下相机坐标系的第一工件位置;控制机械手移动到第三预设位置,并控制上相机对第二工件进行拍照,获得上相机返回的,第二工件在上相机坐标系的第二工件位置;所述第二工件与所述待抓取工件位于同一平面的不同位置;获得第一工件在机械手坐标系中的第一工件标准位置和第二工件在机械手坐标系中的第二工件标准位置;将所述第一工件在下相机坐标系的第一工件位置和所述第二工件在上相机坐标系的第二工件位置,分别转换为机械手坐标系中的第一工件当前位置和第二工件当前位置;获得预设的机械手从第二预设位置到第二工件标准位置之间的第一标准水平夹角;获得预设的机械手从第一预设位置到第二工件标准位置之间的第二标准水平夹角;记录机械手从第一预设位置到第二工件当前位置之间的当前水平夹角;计算出当前水平夹角与第二标准夹角之差,作为第二工件的偏移角度;基于所述第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置;
所述上相机,用于在上位机的控制下,对第二工件进行拍照,并向上位机返回第二工件在上相机坐标系的第二工件位置;
所述下相机,用于在上位机的控制下,对所述第一工件进行拍照,并向上位机返回第一工件在下相机坐标系的第一工件位置。
可选的,所述装在机械手端部的上相机与机械手端部的夹具位于同一平面。
可选的,所述机械手的端部还设置有激光位移传感器;所述激光位移传感器所在平面与所述上相机平面平行;
所述激光位移传感器,用于在预设数量的不同位置向第一工件所在的平面发射激光,基于反射的激光计算出多个激光位移传感器与第一工件所在平面的距离值;
所述上位机,进一步用于在所述接收抓取指令之前,控制所述激光位移传感器在预设数量的不同位置向第一工件所在的平面发射激光,基于激光位移传感器返回的多个激光位移传感器与第一工件所在平面的距离值,对上相机进行调平,使机械手端部的上相机平面与第一工件所在平面平行。
第五方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述引导机械手的方法步骤。
本发明实施例提供的引导机械手的方法、装置、系统及上位机,可以应用于机械手引导系统中的上位机,所述机械手引导系统,还包括:安装在机械手端部的上相机和安装在被抓取工件所在平面上方的下相机,所述方法包括:接收抓取指令;控制机械手移动到第一预设位置并抓取第一工件;所述第一工件为待抓取工件;控制机械手移动到第二预设位置,并控制下相机对所述第一工件进行拍照,获得下相机返回的,第一工件在下相机坐标系的第一工件位置;控制机械手移动到第三预设位置,并控制上相机对第二工件进行拍照,获得上相机返回的,第二工件在上相机坐标系的第二工件位置;所述第二工件与所述待抓取工件位于同一平面的不同位置;获得第一工件在机械手坐标系中的第一工件标准位置和第二工件在机械手坐标系中的第二工件标准位置;将所述第一工件在下相机坐标系的第一工件位置和所述第二工件在上相机坐标系的第二工件位置,分别转换为机械手坐标系中的第一工件当前位置和第二工件当前位置;获得预设的机械手从第二预设位置到第二工件标准位置之间的第一标准水平夹角;获得预设的机械手从第一预设位置到第二工件标准位置之间的第二标准水平夹角;记录机械手从第一预设位置到第二工件当前位置之间的当前水平夹角;计算出当前水平夹角与第二标准夹角之差,作为第二工件的偏移角度;基于所述第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置。
可见,应用本发明实施例,控制下相机对第一工件进行拍照,控制上相机对第二工件进行拍照,基于第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置,可以准确的将第一工件放置到第二工件上,提高了放置的精确度。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术的机械手引导系统的结构示意图;
图2为本发明实施例提供的引导机械手的方法,应用于机械手引导系统中的上位机的一种流程图;
图3为本发明实施例提供的机械手引导系统的调试过程的一种流程图;
图4为本发明实施例提供的引导机械手的装置,应用于机械手引导系统中的上位机的结构示意图;
图5为本发明实施例中的一种机械手引导系统的结构示意图;
图6为本发明实施例提供的上位机的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高放置的精确度,本发明实施例提供了一种引导机械手的方法、装置、系统及上位机。
参见图2,为本发明实施例提供的引导机械手的方法,应用于机械手引导系统中的上位机的一种流程图,所述机械手引导系统,还包括:安装在机械手端部的上相机和安装在被抓取工件所在平面上方的下相机,该方法的具体处理流程可以包括:
步骤S201,接收抓取指令。
可实施的,当指定按钮被操作人员按下时,上位机可以接收到抓取指令。
可实施的,在接收到抓取指令之后,可以有以下两种实施方式:
第一种实施方式,直接执行步骤S202。
第二种实施方式,先控制上相机对所述第一工件进行拍照,获得上相机返回的,第一工件在上相机坐标系的第一工件的初始位置;根据预先保存的第一工件的预设初始位置,判断所述第一工件的初始位置与所述第一工件的预设初始位置是否相同;如果相同,则执行步骤S202;如果不相同,则将第一工件先移动至第一预设位置,再执行步骤S202。这种实施方式可以先将第一工件移动至第一预设位置,可以使机械手后续在第一预设位置较准确的将第一工件抓起。
步骤S202,控制机械手移动到第一预设位置并抓取第一工件;所述第一工件为待抓取工件。
步骤S203,控制机械手移动到第二预设位置,并控制下相机对所述第一工件进行拍照,获得下相机返回的,第一工件在下相机坐标系的第一工件位置。
通常,第一工件应该放置在一个预设的标准位置,但是实际应用中,第一工件不一定被准确地放置在标准位置。因此,上位机控制机械手移动到第一预设位置抓取第一工件时,不一定抓的是第一工件的标准的点。
因为机械手不一定抓的是第一工件的标准的点,所以需要控制机械手移动到第二预设位置,并控制下相机对所述第一工件进行拍照,获得下相机返回的,第一工件在下相机坐标系的第一工件位置,也就是机械手在第二预设位置,下相机对第一工件拍照时,第一工件的实际位置。
步骤S204,控制机械手移动到第三预设位置,并控制上相机对第二工件进行拍照,获得上相机返回的,第二工件在上相机坐标系的第二工件位置;所述第二工件与所述待抓取工件位于同一平面的不同位置。
同样的,第二工件应该放置在另一个预设的标准位置,但是实际应用中,第二工件不一定被准确地放置在标准位置。因此,上位机需要控制机械手移动到第三预设位置,并控制上相机对第二工件进行拍照,获得上相机返回的,第二工件在上相机坐标系的第二工件位置,也就是机械手在第三预设位置,上相机坐标系中第二工件的实际位置。
可实施的,当机械手移动到第三预设位置时,只要可以使第二工件在上相机视野范围内即可,对第三预设位置的具体位置不做具体限定。
步骤S205,获得第一工件在机械手坐标系中的第一工件标准位置和第二工件在机械手坐标系中的第二工件标准位置。
可实施的,读取预先保存的第一工件标准位置和第二工件标准位置;
该第一工件标准位置为理想状况下,机械手在第二预设位置,下相机对第一工件拍照时,第一工件的标准位置;
该第二工件标准位置为理想状况下,机械手在第三预设位置,上相机坐标系中第二工件的标准位置。
步骤S206,将所述第一工件在下相机坐标系的第一工件位置和所述第二工件在上相机坐标系的第二工件位置,分别转换为机械手坐标系中的第一工件当前位置和第二工件当前位置。
步骤S207,获得预设的机械手从第二预设位置到第二工件标准位置之间的第一标准水平夹角。
可实施的,该第一标准水平夹角为预设的固定值,上位机读取到该固定值。
步骤S208,获得预设的机械手从第一预设位置到第二工件标准位置之间的第二标准水平夹角。
可实施的,该第二标准水平夹角为预设的另一个固定值,上位机读取到该固定值。
步骤S209,记录机械手从第一预设位置到第二工件当前位置之间的当前水平夹角。
步骤S210,计算出当前水平夹角与第二标准夹角之差,作为第二工件的偏移角度。
步骤S211,基于所述第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置。
可实施的,可以先根据所述第一工件标准位置和所述第一工件当前位置,计算获得抓取位移偏移量;
再按如下公式计算获得目标位置:
xc’=cos(θ1+θ2)×delX1-sin(θ1+θ2)×delY1+xc
yc’=cos(θ1+θ2)×delY1+sin(θ1+θ2)×delX1+yc;
其中,xc’为目标位置的横坐标,yc’为目标位置的纵坐标,θ1为所述第一标准水平夹角,θ2为所述第二工件的偏移角度,delX1为所述抓取位移偏移量的横坐标,delY1为所述抓取位移偏移量的纵坐标,xc为所述第二工件当前位置的横坐标,yc为所述第二工件当前位置的纵坐标。
可见,应用本发明实施例,控制下相机对第一工件进行拍照,控制上相机对第二工件进行拍照,基于第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置,可以准确的将第一工件放置到第二工件的目标位置上,提高了放置的精确度。
本发明实施例中,为了进一步提高放置的精确度,可以在机械手正式工作之前,先对机械手引导系统进行调试。
具体的,参见图3,为本发明实施例提供的机械手引导系统的调试过程的一种流程图,可以包括:
步骤S301,控制激光位移传感器在预设数量的不同位置向第一工件所在的平面发射激光,基于激光位移传感器返回的多个激光位移传感器与第一工件所在平面的距离值,对上相机进行调平,使机械手端部的上相机平面与第一工件所在平面平行。
机械手的端部设置有激光位移传感器,所述激光位移传感器与所述上相机平面平行。可实施的,可以控制激光位移传感器在至少3个不同位置向第一工件所在的平面发射激光,基于激光位移传感器返回的多个激光位移传感器与第一工件所在平面的距离值,对上相机进行调平,使上相机平面与第一工件所在平面平行。可实施的,在至少3个不同位置向第一工件所在的平面发射激光,当激光位移传感器返回的各个激光位移传感器与第一工件所在平面的距离值相同时,激光位移传感器平面与第一工件所在平面平行,即上相机平面与第一工件所在平面平行。
步骤S302,分别控制上相机和下相机在不同高度拍照,使上相机和下相机分别进行对焦。
可实施的,对上相机进行对焦时,可以预设一个上相机的相机镜头到第二工件表面的垂直距离作为初始高度,且从该初始高度开始增加高度,控制上相机对第二工件拍摄照片时照片会越来越清晰。具体的,可以从该初始高度开始,每次都增加预设的间隔高度,控制上相机拍摄照片,获得一组照片;拍摄照片后分析照片的锐利度值;将锐利度值最大时,上相机的位置作为上相机最终完成对焦的位置。
同理,对下相机进行对焦时,可以预设一个下相机的相机镜头到第一工件表面的垂直距离作为另一个初始高度,且从该另一个初始高度开始增加高度,控制下相机对第一工件拍摄照片时照片会越来越清晰。具体的,可以从该初始高度开始,每次都增加预设的间隔高度,控制下相机拍摄照片,获得一组照片;拍摄照片后分析照片锐利度值;将锐利度值最大时,下相机的位置作为下相机最终完成对焦的位置。
步骤S303,基于上相机和下相机返回的对焦结果,确定控制上相机对所述第二工件拍照时,上相机相对于第二工件所在平面的高度;以及确定控制下相机对所述第一工件进行拍照时,下相机相对于第一工件所在平面的高度。
可实施的,控制上相机对第二工件拍照,照片锐利度值最大时,上相机拍摄的位置距离第二工件的垂直高度,作为控制上相机对所述第二工件拍照时,上相机相对于第二工件所在平面的高度;
同理,控制下相机对第一工件拍照,照片锐利度值最大时,下相机拍摄的位置距离第一工件的垂直高度,作为控制下相机对所述第一工件拍照时,下相机相对于第一工件所在平面的高度。
步骤S304,计算上相机的内部参数和下相机的内部参数。
可实施的,将黑白格子相间,每个格子尺寸大小一致且每个格子尺寸已知的板子作为标定板。将该标定板分别放置在上相机和下相机的相机视野范围内,分别控制上相机和下相机对该标定板拍摄上相机校准照片和下相机校准照片。校准照片内每个方向的格子数量不少于10个。
根据上相机返回的上相机校准照片,基于小孔成像模型计算出上相机内参矩阵,主要参数包括上相机畸变,焦距等参数;基于所述上相机内参矩阵和所述上相机校准照片,计算出上相机内部参数。
同样的,根据下相机返回的下相机校准照片,基于小孔成像模型计算出下相机内参矩阵,主要参数包括下相机畸变,焦距等参数;基于所述下相机内参矩阵和所述下相机校准照片,计算出下相机内部参数。
在实际使用中,也可以通过相关软件中的标准算法计算出相机的内部参数。
在本步骤中,计算出上、下相机的内参可以消除上、下相机的镜头畸变。
步骤S305,计算上相机的外部参数和下相机的外部参数;所述上相机的外部参数包括上相机坐标系和机械手坐标系的转化关系,所述下相机的外部参数包括下相机坐标系和机械手坐标系的转化关系。
可实施的,可以使用相关软件中自带的标准算法计算出上相机的外部参数和下相机的外部参数。
可实施的,可以使用九点标定分别计算上相机的外部参数和下相机的外部参数。
具体的,计算上相机的外部参数对上相机进行标定时,可以将带有一个目标标记的标定板放到上相机视野范围内的固定位置;控制机械手按预设的水平间隔距离,分别平移九个不同位置,在每个位置上,分别记录此时的机械手坐标和该目标标记在上相机坐标系中的坐标。其中目标标记在相机坐标系中均匀分布,且在每个位置上目标标记均在相机视野范围内。
根据该目标标记在上相机坐标系中的坐标,和对应的机械手坐标,计算出上相机的外部参数,包括将该目标标记在上相机坐标系中的坐标,和对应的机械手坐标进行一一映射,获得上相机坐标系和机械手坐标系的转化关系。
计算下相机的外部参数对下相机进行标定时,机械手抓取工件至下相机拍照位置;控制机械手按预设的另一个水平间隔距离,分别平移九个不同位置,在每个位置上,分别记录此时的机械手坐标和该工件在下相机坐标系中的坐标。其中工件在下相机坐标系中的位置均匀分布,且在每个位置上目标标记均在相机视野范围内。
同样的,根据该工件在下相机坐标系中的坐标,和对应的机械手坐标,计算出下相机的外部参数,包括将该目标标记在上相机坐标系中的坐标,和对应的机械手坐标进行一一映射,获得下相机坐标系和机械手坐标系的转化关系。
针对工作条件不变的情况下,例如:安装位置和拍照位置等条件均不发生变化的情况下,只需要对该机械手引导系统进行一次调试。
由上述技术方案可见,在本实施例中,可以控制激光位移传感器在预设数量的不同位置向第一工件所在的平面发射激光,对上相机进行自动调平,使上相机平面与第一工件所在平面平行,调平结果准确,简单方便,节省时间。
参见图4,为本发明实施例提供的引导机械手的装置,应用于机械手引导系统中的上位机的结构示意图,所述机械手引导系统,还包括:安装在机械手端部的上相机和安装在被抓取工件所在平面上方的下相机,所述装置包括:
指令接收单元401,用于接收抓取指令;
第一工件抓取单元402,用于控制机械手移动到第一预设位置并抓取第一工件;所述第一工件为待抓取工件;
第一工件位置获得单元403,用于控制机械手移动到第二预设位置,并控制下相机对所述第一工件进行拍照,获得下相机返回的,第一工件在下相机坐标系的第一工件位置;
第二工件位置获得单元404,用于控制机械手移动到第三预设位置,并控制上相机对第二工件进行拍照,获得上相机返回的,第二工件在上相机坐标系的第二工件位置;所述第二工件与所述待抓取工件位于同一平面的不同位置;
标准位置获得单元405,用于获得第一工件在机械手坐标系中的第一工件标准位置和第二工件在机械手坐标系中的第二工件标准位置;
当前位置转换单元406,用于将所述第一工件在下相机坐标系的第一工件位置和所述第二工件在上相机坐标系的第二工件位置,分别转换为机械手坐标系中的第一工件当前位置和第二工件当前位置;
第一标准水平夹角获得单元407,用于获得预设的机械手从第二预设位置到第二工件标准位置之间的第一标准水平夹角;
第二标准水平夹角获得单元408,用于获得预设的机械手从第一预设位置到第二工件标准位置之间的第二标准水平夹角;
当前水平夹角记录单元409,用于记录机械手从第一预设位置到第二工件当前位置之间的当前水平夹角;
第二工件的偏移角度计算单元410,用于计算出当前水平夹角与第二标准夹角之差,作为第二工件的偏移角度;
目标位置获得单元411,用于基于所述第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置。
可见,应用本发明实施例,控制下相机对第一工件进行拍照,控制上相机对第二工件进行拍照,基于第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置,可以准确的将第一工件放置到第二工件上,提高了放置的精确度。
与上述引导机械手的方法实施例和引导机械手的装置实施例相对应,本发明实施例中的一种机械手引导系统的结构示意图,如图5所示,可以包括:
上位机501、机械手502、安装在机械手端部的上相机503和安装在被抓取工件所在平面上方的下相机504;
所述上位机501,用于接收抓取指令;控制机械手移动到第一预设位置并抓取第一工件505;所述第一工件为待抓取工件;控制机械手移动到第二预设位置,并控制下相机对所述第一工件进行拍照,获得下相机返回的,第一工件在下相机坐标系的第一工件位置;控制机械手移动到第三预设位置,并控制上相机对第二工件506进行拍照,获得上相机返回的,第二工件在上相机坐标系的第二工件位置;所述第二工件与所述待抓取工件位于同一平面的不同位置;获得第一工件在机械手坐标系中的第一工件标准位置和第二工件在机械手坐标系中的第二工件标准位置;将所述第一工件在下相机坐标系的第一工件位置和所述第二工件在上相机坐标系的第二工件位置,分别转换为机械手坐标系中的第一工件当前位置和第二工件当前位置;获得预设的机械手从第二预设位置到第二工件标准位置之间的第一标准水平夹角;获得预设的机械手从第一预设位置到第二工件标准位置之间的第二标准水平夹角;记录机械手从第一预设位置到第二工件当前位置之间的当前水平夹角;计算出当前水平夹角与第二标准夹角之差,作为第二工件的偏移角度;基于所述第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置;
所述上相机503,用于在上位机的控制下,对第二工件进行拍照,并向上位机返回第二工件在上相机坐标系的第二工件位置;
所述下相机504,用于在上位机的控制下,对所述第一工件进行拍照,并向上位机返回第一工件在下相机坐标系的第一工件位置。
可选的,所述装在机械手端部的上相机503与机械手端部的夹具507位于同一平面。
可选的,所述机械手的端部还设置有激光位移传感器508;所述激光位移传感器所在平面与机械手端部的夹具所在平面平行;
所述激光位移传感器508,用于在预设数量的不同位置向第一工件所在的平面发射激光,基于反射的激光计算出多个机械手端部与第一工件所在平面的距离值;
所述上位机501,进一步用于在所述接收抓取指令之前,控制所述激光位移传感器在预设数量的不同位置向第一工件所在的平面发射激光,基于激光位移传感器返回的多个机械手端部与第一工件所在平面的距离值,对机械手进行调平,使机械手平面与第一工件所在平面平行。
如图5所示,所述机械手引导系统还可以包括:第一工件基座板509、第二工件基座板510、防护罩511、光源512及工作平台513;
所述第一工件基座板509和第二工件基座板510在工作平台513上;
所述第一工件基座板509,用于放置第一工件;所述第二工件基座板510,用于放置第二工件;所述防护罩511,用于保护上相机;所述光源512,安装在所述防护罩511周围,用于在光线不好的情况下,进行照明增强亮度。
可见,应用本发明实施例,控制下相机对第一工件进行拍照,控制上相机对第二工件进行拍照,基于第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置,可以准确的将第一工件放置到第二工件上,提高了放置的精确度。
发明实施例还提供了一种机械手引导系统中的上位机,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
接收抓取指令;控制机械手移动到第一预设位置并抓取第一工件;所述第一工件为待抓取工件;控制机械手移动到第二预设位置,并控制下相机对所述第一工件进行拍照,获得下相机返回的,第一工件在下相机坐标系的第一工件位置;控制机械手移动到第三预设位置,并控制上相机对第二工件进行拍照,获得上相机返回的,第二工件在上相机坐标系的第二工件位置;所述第二工件与所述待抓取工件位于同一平面的不同位置;获得第一工件在机械手坐标系中的第一工件标准位置和第二工件在机械手坐标系中的第二工件标准位置;将所述第一工件在下相机坐标系的第一工件位置和所述第二工件在上相机坐标系的第二工件位置,分别转换为机械手坐标系中的第一工件当前位置和第二工件当前位置;获得预设的机械手从第二预设位置到第二工件标准位置之间的第一标准水平夹角;获得预设的机械手从第一预设位置到第二工件标准位置之间的第二标准水平夹角;记录机械手从第一预设位置到第二工件当前位置之间的当前水平夹角;计算出当前水平夹角与第二标准夹角之差,作为第二工件的偏移角度;基于所述第一工件标准位置、第二工件标准位置、第一工件当前位置、第二工件当前位置、第一标准水平夹角和第二工件的偏移角度进行融合计算,获得机械手将第一工件准确放置到第二工件上时要运动至的目标位置。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一引导机械手的方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一引导机械手的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统、上位机、计算机可读存储介质及计算机程序产品等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。