发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种用于标定检测工具坐标系的方法、装置以及机器人控制设备。
根据本发明的一个实施例,提供一种用于标定检测工具坐标系的方法,包括:沿物品输送方向在传输带上设置多个检测位置;接收到检测工具发送的对位于第一检测位置的物品进行检测而获得的第一位置坐标;获得通过机器人分别对位于第二检测位置、第三检测位置的物品进行检测而得到的第二位置坐标和第三位置坐标;根据第二位置坐标、第三位置坐标以及传输带的运行信息计算出第二检测位置或第三检测位置与第一检测位置在机器人坐标系的X轴方向上的距离;基于所述距离、第一位置坐标以及第二位置坐标或第三位置坐标确定检测工具坐标系的原点相对于所述机器人坐标系的坐标值。
可选地,计算出第二检测位置或第三检测位置与第一检测位置在机器人坐标系的X轴方向上的距离包括:在所述物品位于所述第一检测位置、所述第二检测位置和所述第三检测位置时,分别获取用于检测所述传输带运行的编码器输出的第一脉冲值、第二脉冲值和第三脉冲值;计算单位坐标值所对应的脉冲数n=(第三脉冲值-第二脉冲值)/(第三位置坐标的X轴坐标值-第二位置坐标的X轴坐标值);确定所述第二检测位置与所述第一检测位置在机器人坐标系的X轴方向上的距离a1=(第二脉冲值-第一脉冲值)/n;或,所述第三检测位置与所述第一检测位置在机器人坐标系的X轴方向上的距离a2=(第三脉冲值-第一脉冲值)/n。
可选地,确定检测工具坐标系的原点相对于所述机器人坐标系的X轴坐标值x=第二位置坐标的X轴坐标值-第一位置坐标的X轴坐标值+所述距离a1;或,x=第三位置坐标的X轴坐标值-第一位置坐标的X轴坐标值+所述距离a2;其中,所述机器人坐标系X轴和检测工具坐标系X轴的正方向以及坐标单位相同。
可选地,确定检测工具坐标系的原点相对于所述机器人坐标系的Y轴坐标值y=第二位置坐标的Y轴坐标值-第一位置坐标的Y轴坐标值;或,y=第三位置坐标的Y轴坐标值-第一位置坐标的Y轴坐标值;其中,所述机器人坐标系Y轴和检测工具坐标系Y轴的正方向以及坐标单位相同。
可选地,确定检测工具坐标系的原点相对于所述机器人坐标系的Z轴坐标值z=第二位置坐标的Z轴坐标值-第一位置坐标的Z轴坐标值;或,z=第三位置坐标的Z轴坐标值-第一位置坐标的Z轴坐标值;其中,所述机器人坐标系Z轴和检测工具坐标系Z轴的正方向以及坐标单位相同。
可选地,当所述物品在所述输送带上运行至所述第二检测位置和/或所述第三检测位置时触发光电开关;在接收到所述光电开关发送的信号时,控制所述机器人移动至所述第二测试点和/或所述第三检测位置,用以对所述物品进行检测。
根据本发明的另一方面,提供一种用于标定检测工具坐标系的装置,包括:检测位置设定模块,用于沿物品输送方向在传输带上设置多个检测位置;坐标接收模块,用于接收检测工具发送的对位于第一检测位置的物品进行检测而获得的第一位置坐标;坐标获取模块,用于获得通过机器人分别对位于所述第二检测位置、所述第三检测位置的所述物品进行检测而得到的第二位置坐标和第三位置坐标;坐标标定模块,用于根据所述第二位置坐标、所述第三位置坐标以及所述传输带的运行信息计算出所述第二检测位置或第三检测位置与所述第一检测位置在机器人坐标系的X轴方向上的距离;基于所述距离、第一位置坐标以及第二位置坐标或第三位置坐标确定检测工具坐标系的原点相对于所述机器人坐标系的坐标值。
可选地,所述坐标标定模块,包括:脉冲值获取单元,用于在所述物品位于所述第一检测位置、所述第二检测位置和所述第三检测位置时,分别获取用于检测所述传输带运行的编码器输出的第一脉冲值、第二脉冲值和第三脉冲值;距离确定单元,用于计算单位坐标值所对应的脉冲数n=(第三脉冲值-第二脉冲值)/(第三位置坐标的X轴坐标值-第二位置坐标的X轴坐标值);确定所述第二检测位置与所述第一检测位置在机器人坐标系的X轴方向上的距离a1=(第二脉冲值-第一脉冲值)/n;或,所述第三检测位置与所述第一检测位置在机器人坐标系的X轴方向上的距离a2=(第三脉冲值-第一脉冲值)/n。
可选地,所述坐标标定模块,还包括:X坐标标定单元,用于确定检测工具坐标系的原点相对于所述机器人坐标系的X轴坐标值x=第二位置坐标的X轴坐标值-第一位置坐标的X轴坐标值+所述距离a1;或,x=第三位置坐标的X轴坐标值-第一位置坐标的X轴坐标值+所述距离a2;其中,所述机器人坐标系X轴和检测工具坐标系X轴的正方向以及坐标单位相同。
可选地,所述坐标标定模块,还包括:Y坐标标定单元,用于确定检测工具坐标系的原点相对于所述机器人坐标系的Y轴坐标值y=第二位置坐标的Y轴坐标值-第一位置坐标的Y轴坐标值;或,y=第三位置坐标的Y轴坐标值-第一位置坐标的Y轴坐标值;其中,所述机器人坐标系Y轴和检测工具坐标系Y轴的正方向以及坐标单位相同;
可选地,所述坐标标定模块,还包括:Z坐标标定单元,用于确定检测工具坐标系的原点相对于所述机器人坐标系的Z轴坐标值z=第二位置坐标的Z轴坐标值-第一位置坐标的Z轴坐标值;或,z=第三位置坐标的Z轴坐标值-第一位置坐标的Z轴坐标值;其中,所述机器人坐标系Z轴和检测工具坐标系Z轴的正方向以及坐标单位相同。
可选地,当所述物品在所述输送带上运行至所述第二检测位置和/或所述第三检测位置时触发光电开关;所述坐标获取模块,用于在接收到所述光电开关发送的信号时,控制所述机器人移动至所述第二测试点和/或所述第三检测位置,用以对所述物品进行检测。
根据本发明的又一方面,提供一种机器人控制设备,包括:如上所述的用于标定检测工具坐标系的装置。
根据本发明的再一方面,提供一种用于标定检测工具坐标系的装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的用于标定检测工具坐标系的方法。
本发明的用于标定检测工具坐标系的方法、装置以及控制设备,结合检测工具检测的位置坐标、机器人检测的位置坐标以及传输带的运行信息进行计算,得到检测工具相对于机器人坐标系的坐标值,可以自动完成检测工具相对于机器人的坐标系的标定,提高了标定的精度以及工作效率。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合各个图和实施例对本发明的技术方案进行多方面的描述。
下文中的“第一”、“第二”等仅用于描述上相区别,并没有其它特殊的含义。
图1为根据本发明的用于标定检测工具坐标系的方法的一个实施例的流程示意图,如图1所示:
步骤101,沿物品输送方向在传输带上设置多个检测位置。
步骤102,接收到检测工具发送的对位于第一检测位置的物品进行检测而获得的第一位置坐标。
步骤103,获得通过机器人分别对位于第二检测位置、第三检测位置的物品进行检测而得到的第二位置坐标和第三位置坐标。
检测工具可以为3D检测工具,机器人可以为现有的多种机器人。第一位置坐标、第二位置坐标和第三位置坐标可以都为3D位置坐标,第一位置坐标值为在检测工具坐标系中的X、Y、Z轴坐标值,第二位置坐标值、第三位置坐标值为在机器人坐标系中的X、Y、Z轴坐标值。
步骤104,根据第二位置坐标、第三位置坐标以及传输带的运行信息计算出第二检测位置或第三检测位置与第一检测位置在机器人坐标系的X轴方向上的距离。检测工具坐标系和机器人坐标系的X轴方向都为物品的传输方向。
步骤105,基于距离、第一位置坐标的X轴坐标值以及第二位置坐标或第三位置坐标的X轴坐标值确定检测工具坐标系的原点相对于机器人坐标系的X轴坐标值x。
通过计算出检测位置之间X轴方向的距离,并结合位置坐标可以得出工具坐标系的原点相对于机器人坐标系的X轴坐标值x。计算检测位置之间在机器人坐标系的X轴方向上的距离有多种方法,例如,在物品位于第一检测位置、第二检测位置和第一检测位置时,分别获取用于检测传输带运行的编码器输出的第一脉冲值、第二脉冲值和第三脉冲值。
编码器可以设置在传输带电机或辊轴等处,编码器把角位移转换成脉冲信号向外发送,通过脉冲信号数可计算传输带的线速度。计算单位坐标值所对应的脉冲数n=(第三脉冲值-第二脉冲值)/(第三位置坐标的X轴坐标值-第二位置坐标的X轴坐标值)。
机器人坐标系X轴和检测工具坐标系X轴的正方向以及坐标单位相同。确定第二检测位置与第一检测位置在机器人坐标系的X轴方向上的距离a1=(第二脉冲值-第一脉冲值)/n。确定检测工具坐标系的原点相对于机器人坐标系的X轴坐标值x=第二位置坐标的X轴坐标值-第一位置坐标的X轴坐标值+距离a1。或者,确定第三检测位置与第一检测位置在机器人坐标系的X轴方向上的距离a2=(第三脉冲值-第一脉冲值)/n,确定检测工具坐标系的原点相对于机器人坐标系的X轴坐标值x=第三位置坐标的X轴坐标值-第一位置坐标的X轴坐标值+距离a2。
如果机器人坐标系X轴和检测工具坐标系X轴的正方向或坐标单位不同,可以根据相同的原理,计算出检测位置之间在X轴方向的距离,设置相应的换算公式,通过距离结合位置坐标计算出检测工具坐标系的原点相对于机器人坐标系的X轴坐标值x。
在一个实施例中,如图2所示,Delta机器人1由3个主臂加一个旋转小臂组成,3个主臂主要实现机器人末端点在空间移动,1个旋转小臂实现机器人末端点在空间的姿态变化,Delta机器人1所处的世界坐标系X方向和检测工具5所处的世界坐标系X方向都与传输带3的前进方向一致。
将需要被Delta机器人1抓取的物品8放在检测工具5可检测范围s中的第一检测位置A,如图3所示。触发检测工具5开始检测,检测工具5通过相机对物品8进行三维拍摄,得到第一位置坐标(X1,Y1,Z1)。检测之后将第一位置坐标通过检测工具控制单元6发送给Delta机器人控制设备2,同时Delta机器人控制设备2采集此时的用于检测传输带移动的编码器4输出的脉冲值L1。
通过传输带3将物品8从第一检测位置A移动到第二检测位置A1,如图3所示,第二检测位置A1在Delta机器人1的可到达范围内,物品8到达第二检测位置A1后,手动或自动控制Delta机器人1到达物品8上方,Delta机器人1的末端可以与物品8接触,Delta机器人控制设备2获取Delta机器人1(末端)的坐标值(X2,Y2,Z2)作为第二位置坐标(X2,Y2,Z2),Delta机器人控制设备2获取此时编码器4的脉冲值L2。
传输带3向前移动,物品8从第二检测位置A1移动到第三检测位置A2,如图3所示,手动或自动控制Delta机器人1到达物品8上,Delta机器人1的末端可以与物品8接触,Delta机器人控制设备2获取Delta机器人1(末端)的坐标值(X3,Y3,Z3)作为第三位置坐标(X3,Y3,Z3),并获取编码器4此时输出的脉冲值L3。
计算编码器4对于传输带3运行的分辨率,即计算机器人坐标系在X轴方向上的单位坐标值所对应的脉冲数:
n=(L3-L2)/(X3-X2)。
通过分辨率计算出第一检测位置A到第二检测位置A1位置的距离a:
a=(L2-L1)/n。
计算出检测工具5相对Delta机器人1的坐标系在X方向上的值x:
x=X2-X1+a。
例如,机器人坐标系X轴和检测工具坐标系X轴的正方向以及坐标单位相同。检测工具5检测的(X1,Y1,Z1)为(15,20,25),Delta机器人1检测的(X2,Y2,Z2)为(20,25,30),Delta机器人1检测的(X3,Y3,Z3)为(30,25,30),编码器4的脉冲值L1=10,L2=30,L3=50。计算n=(50-30)/(30-20)=2。计算距离a=(30-10)/2=10。计算出检测工具5相对Delta机器人1的坐标系在X方向上的值x=20-15+10=15。
机器人坐标系Y轴和检测工具坐标系Y轴的正方向以及坐标单位相同。确定检测工具坐标系的原点相对于机器人坐标系的Y轴坐标值y=第二位置坐标的Y轴坐标值-第一位置坐标的Y轴坐标值,或者,y=第三位置坐标的Y轴坐标值-第一位置坐标的Y轴坐标值。
机器人坐标系Z轴和检测工具坐标系Z轴的正方向以及坐标单位相同。确定检测工具坐标系的原点相对于机器人坐标系的Z轴坐标值z=第二位置坐标的Z轴坐标值-第一位置坐标的Z轴坐标值,或者z=第三位置坐标的Z轴坐标值-第一位置坐标的Z轴坐标值。
如果机器人坐标系Y、Z轴和检测工具坐标系Y、Z轴的正方向以及坐标单位不同,可以根据相同的原理,计算出检测位置之间在Y、Z轴方向的距离,设置相应的换算公式,通过距离并结合位置坐标计算出检测工具坐标系的原点相对于机器人坐标系的Y、Z轴坐标值。
例如,计算检测工具坐标系的原点相对于机器人坐标系的Y轴坐标值y=25-20=5,计算检测工具坐标系的原点相对于机器人坐标系的Z轴坐标值z=30-25=5。最终得到检测工具相对于Delta机器人1的坐标系的值是(15,5,5)。
当物品在输送带上运行至第二检测位置A1、第三检测位置A2时触发检测物品是否到达检测位置的光电开关7,在接收到光电开关发送的信号时,Delta机器人控制设备2控制Delta机器人1移动至第二测试点A1、第三检测位置A2的物品上,获取第二位置坐标、第三位置坐标。光电开关7也可以由光栅、接近开关等替代。
上述实施例提供的用于标定检测工具坐标系的方法,结合检测工具检测的位置坐标、机器人检测的位置坐标以及传输带的运行进行计算,得到检测工具相对于机器人坐标系的坐标值,可以自动完成检测工具相对于机器人的坐标系的标定,提高了标定的精度,并且具有简便快捷的特点,自动化程度高,可以提高工作效率。
在一个实施例中,如图4所示,本发明提供一种用于标定检测工具坐标系的装置4,包括:检测位置设定模块40、坐标接收模块41、坐标获取模块42和坐标标定模块43。检测位置设定模块40沿物品输送方向在传输带上设置多个检测位置。坐标接收模块41接收检测工具发送的对位于第一检测位置的物品进行检测而获得的第一位置坐标。坐标获取模块42获得通过机器人分别对位于第二检测位置、第三检测位置的物品进行检测而得到的第二位置坐标和第三位置坐标。
坐标标定模块43根据第二位置坐标、第三位置坐标以及传输带的运行信息计算出第二检测位置或第三检测位置与第一检测位置在机器人坐标系的X轴方向上的距离。基于所述距离、第一位置坐标以及第二位置坐标或第三位置坐标确定检测工具坐标系的原点相对于所述机器人坐标系的坐标值。
当物品在输送带上运行至第二检测位置和/或第三检测位置时触发光电开关。坐标获取模块42在接收到光电开关发送的信号时,控制机器人移动至第二测试点和/或第三检测位置,用以对物品进行检测。
如图5所示,坐标标定模块43包括:脉冲值获取单元431、距离确定单元432、X坐标标定单元433、Y坐标标定单元434和Z坐标标定单元435。脉冲值获取单元431在物品位于第一检测位置、第二检测位置和第三检测位置时,分别获取用于检测传输带运行的编码器输出的第一脉冲值、第二脉冲值和第三脉冲值。
距离确定单元432计算单位坐标值所对应的脉冲数n=(第三脉冲值-第二脉冲值)/(第三位置坐标的X轴坐标值-第二位置坐标的X轴坐标值);确定第二检测位置与第一检测位置在机器人坐标系的X轴方向上的距离a1=(第二脉冲值-第一脉冲值)/n;或,第三检测位置与第一检测位置在机器人坐标系的X轴方向上的距离a2=(第三脉冲值-第一脉冲值)/n。
机器人坐标系X、Y、Z轴和检测工具坐标系X、Y、Z轴的正方向以及坐标单位相同。X坐标标定单元433确定检测工具坐标系的原点相对于机器人坐标系的X轴坐标值x=第二位置坐标的X轴坐标值-第一位置坐标的X轴坐标值+距离a1;或,x=第三位置坐标的X轴坐标值-第一位置坐标的X轴坐标值+距离a2;。
Y坐标标定单元434确定检测工具坐标系的原点相对于机器人坐标系的Y轴坐标值y=第二位置坐标的Y轴坐标值-第一位置坐标的Y轴坐标值;或,y=第三位置坐标的Y轴坐标值-第一位置坐标的Y轴坐标值。
Z坐标标定单元435确定检测工具坐标系的原点相对于机器人坐标系的Z轴坐标值z=第二位置坐标的Z轴坐标值-第一位置坐标的Z轴坐标值;或,z=第三位置坐标的Z轴坐标值-第一位置坐标的Z轴坐标值。
在一个实施例中,本发明提供一种机器人控制设备,包括:如上的用于标定检测工具坐标系的装置。
图6为根据本发明的用于标定检测工具坐标系的装置的另一个实施例的模块示意图。如图6所示,该装置可包括存储器61和处理器62,存储器61用于存储指令,处理器62耦合到存储器61,处理器62被配置为基于存储器61存储的指令执行实现上述的用于标定检测工具坐标系的方法。
存储器61可以为高速RAM存储器、非易失性存储器(non-volatile memory)等,存储器61也可以是存储器阵列。存储器61还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器62可以为中央处理器CPU,或专用集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明的用于标定检测工具坐标系的方法的一个或多个集成电路。
上述实施例提供的用于标定检测工具坐标系的方法、装置以及控制设备,结合检测工具检测的位置坐标、机器人检测的位置坐标以及传输带的运行进行计算,得到检测工具相对于机器人坐标系的坐标值,可以自动完成检测工具相对于机器人的坐标系的标定,提高了标定的精度,并且具有简便快捷的特点,自动化程度高,可以提高工作效率。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。