机器人手眼标定方法、装置、机器人和存储介质与流程

文档序号:32692810发布日期:2022-12-27 19:40阅读:56来源:国知局
机器人手眼标定方法、装置、机器人和存储介质与流程

1.本技术涉及机器人技术领域,特别是涉及一种机器人手眼标定方法、装置、机器人和存储介质。


背景技术:

2.在机器人手眼系统中,获取视觉传感器坐标系与机械臂坐标系转换关系的过程一般被称为外参标定。该标定过程被广泛应用于各类机器人领域,尤其是各类需要通过视觉技术引导机械臂完成作业任务的场景,标定的结果很大程度上决定了机械臂作业过程的精度和可靠性。
3.目前,手眼系统标定过程一般为9点标定法,即通过分别获取9个空间点在机械臂坐标系和视觉坐标系下的位置进行匹配后获得转换关系,作为外参标定结果。然而,目前的标定方法存在的问题是,标定结果严重依赖于给定的9个空间点位置,如果存在个别标定点异常,如超出视觉传感器视野、识别错误等,将会严重影响标定结果的可靠性和精度。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高标定结果的可靠性和精度的机器人手眼标定方法、装置、机器人和存储介质。
5.一种机器人手眼标定方法,所述方法包括:
6.获取预设数量的待标定点位,所述待标定点位表示标记物在机械臂坐标系下的指定位置;
7.分别对各所述待标定点位进行标定,获得各所述待标定点位对应的第一位置,所述第一位置表示所述标记物通过机械臂引导至对应的待标定点位后在视觉坐标系下的位置;
8.根据各所述待标定点位及其对应的第一位置进行匹配,获得所述机械臂坐标系与所述视觉坐标系的转换关系;
9.基于所述转换关系将各所述第一位置转换到所述机械臂坐标系下,获得各所述待标定点位对应的估计位置;
10.根据各所述待标定点位与对应的估计位置之间的偏差,获得各所述待标定点位的匹配误差,当存在不符合预设精度要求的匹配误差时,对相应的待标定点位进行重新标定,直至所有待标定点位的匹配误差都符合所述预设精度要求。
11.一种机器人手眼标定装置,所述装置包括:
12.获取模块,用于获取预设数量的待标定点位,所述待标定点位表示标记物在机械臂坐标系下的指定位置;
13.标定模块,用于分别对各所述待标定点位进行标定,获得各所述待标定点位对应的第一位置,所述第一位置表示所述标记物通过机械臂引导至对应的待标定点位后在视觉坐标系下的位置;
14.匹配模块,用于根据各所述待标定点位及其对应的第一位置进行匹配,获得所述机械臂坐标系与所述视觉坐标系的转换关系;
15.转换模块,用于基于所述转换关系将各所述第一位置转换到所述机械臂坐标系下,获得各所述待标定点位对应的估计位置;
16.修正模块,用于根据各所述待标定点位与对应的估计位置之间的偏差,获得各所述待标定点位的匹配误差,当存在不符合预设精度要求的匹配误差时,对相应的待标定点位进行重新标定,直至所有待标定点位的匹配误差都符合所述预设精度要求。
17.一种机器人,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
18.获取预设数量的待标定点位,所述待标定点位表示标记物在机械臂坐标系下的指定位置;
19.分别对各所述待标定点位进行标定,获得各所述待标定点位对应的第一位置,所述第一位置表示所述标记物通过机械臂引导至对应的待标定点位后在视觉坐标系下的位置;
20.根据各所述待标定点位及其对应的第一位置进行匹配,获得所述机械臂坐标系与所述视觉坐标系的转换关系;
21.基于所述转换关系将各所述第一位置转换到所述机械臂坐标系下,获得各所述待标定点位对应的估计位置;
22.根据各所述待标定点位与对应的估计位置之间的偏差,获得各所述待标定点位的匹配误差,当存在不符合预设精度要求的匹配误差时,对相应的待标定点位进行重新标定,直至所有待标定点位的匹配误差都符合所述预设精度要求。
23.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
24.获取预设数量的待标定点位,所述待标定点位表示标记物在机械臂坐标系下的指定位置;
25.分别对各所述待标定点位进行标定,获得各所述待标定点位对应的第一位置,所述第一位置表示所述标记物通过机械臂引导至对应的待标定点位后在视觉坐标系下的位置;
26.根据各所述待标定点位及其对应的第一位置进行匹配,获得所述机械臂坐标系与所述视觉坐标系的转换关系;
27.基于所述转换关系将各所述第一位置转换到所述机械臂坐标系下,获得各所述待标定点位对应的估计位置;
28.根据各所述待标定点位与对应的估计位置之间的偏差,获得各所述待标定点位的匹配误差,当存在不符合预设精度要求的匹配误差时,对相应的待标定点位进行重新标定,直至所有待标定点位的匹配误差都符合所述预设精度要求。
29.上述机器人手眼标定方法、装置、机器人和存储介质,获取预设数量的待标定点位,待标定点位表示标记物在机械臂坐标系下的指定位置;分别对各待标定点位进行标定,获得各待标定点位对应的第一位置,第一位置表示标记物通过机械臂引导至对应的待标定点位后在视觉坐标系下的位置;根据各待标定点位及其对应的第一位置进行匹配,获得机
械臂坐标系与视觉坐标系的转换关系;基于转换关系将各第一位置转换到机械臂坐标系下,获得各待标定点位对应的估计位置;根据各待标定点位与对应的估计位置之间的偏差,获得各待标定点位的匹配误差,当存在不符合预设精度要求的匹配误差时,对相应的待标定点位进行重新标定,直至所有待标定点位的匹配误差都符合预设精度要求。据此,通过对待标定点位的匹配误差进行评估,可以找出标定过程中可能的错误点或异常点,然后通过重新标定直至匹配误差符合预设精度要求,可以对标定过程存在的问题进行修正,从而提高标定结果的可靠性和精度。
附图说明
30.图1为一个实施例中机器人手眼标定方法的流程示意图;
31.图2为一个实施例中获取预设数量的待标定点位步骤的流程示意图;
32.图3为一个实施例中各待标定点位在视觉传感器视野中对应的位置示意图;
33.图4为一个实施例中对待标定点位进行修正步骤的流程示意图;
34.图5为一个实施例中机器人手眼标定方法的流程示意图;
35.图6为一个实施例中机器人手眼标定装置的结构框图。
具体实施方式
36.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
37.本技术提供的机器人手眼标定方法,可以应用于机器人,机器人上安装有视觉传感器,在标定过程中视觉传感器与机器人的机械臂基座保持刚性连接,即相对位置不变,机器人手眼标定的目的在于获取视觉传感器与机械臂基座之间的位置转换关系。
38.在一个实施例中,如图1所示,提供了一种机器人手眼标定方法,包括以下步骤s102至步骤s110。
39.s102,获取预设数量的待标定点位,待标定点位表示标记物在机械臂坐标系下的指定位置。
40.待标定点位是指标定过程中需要标定的空间点位置,也可以理解为标记物需要经过并在此拍照的空间点位置。具体而言,标记物可以安装于被标定的机器人机械臂末端,将待标定点位依次发给机械臂,由机械臂引导标记物依次经过所有的待标定点位,当标记物到达一待标定点位时,认为标记物达到一指定位置,即认为此时标记物在机械臂坐标系下的位置为该待标定点位。
41.待标定点位的数量以及排布方式可以根据实际需求进行设置,此处不做限定,只要能够保证后续获得的点对数量足够求解机械臂坐标系与视觉坐标系的转换关系即可。较多的点对数量更容易提升标定精度,同时能够减少个别错误点对最终标定结果的干扰,但是会耗费更多的标定时间。在一个实施例中,预设数量为9,有利于平衡标定精度和标定时间成本。
42.s104,分别对各待标定点位进行标定,获得各待标定点位对应的第一位置,第一位置表示标记物通过机械臂引导至对应的待标定点位后在视觉坐标系下的位置。
43.在标定过程中,每当机械臂引导标记物移动至一待标定点位时,视觉传感器开始采集图像,具体可以是对进入到视野内的标记物进行拍照,从图像中获取标记物的位置,即标记物在视觉坐标系下的位置,也即该待标定点位对应的第一位置。记录各待标定点位与其对应的第一位置的对应关系,形成多组点对,每组点对中包括一待标定点位以及与该待标定点位对应的第一位置。
44.s106,根据各待标定点位及其对应的第一位置进行匹配,获得机械臂坐标系与视觉坐标系的转换关系。
45.转换关系可以是机械臂坐标系相对于视觉坐标系的转换矩阵,通过前述标定过程获得多组点对后,可以基于多组点对求解视觉坐标系与机械臂坐标系的相对姿态关系,得到转换矩阵。其中,求解转换矩阵的方式可以是采用目前已有以及以后可能出现的任何方式进行,此处不做限定。
46.s108,基于转换关系将各第一位置转换到机械臂坐标系下,获得各待标定点位对应的估计位置。
47.获得机械臂坐标系与视觉坐标系的转换关系之后,可以基于该转换关系和各第一位置进行逆向计算,将各第一位置转换到机械臂坐标系下,获得各第一位置在机械臂坐标系下对应的位置(用估计位置表示,以便与前文中的指定位置区分)。可以理解的是,由于每个第一位置对应一个待标定点位,因此对于任一第一位置,基于该第一位置计算得到的估计位置对应的待标定点位即该第一位置对应的待标定点位。
48.具体而言,逆向计算公式可以如下:p
ig
=mci,其中,ci表示第i个待标定点位对应的第一位置,m表示转换矩阵,p
ig
表示第i个待标定点位对应的估计位置。
49.s110,根据各待标定点位与对应的估计位置之间的偏差,获得各待标定点位的匹配误差,当存在不符合预设精度要求的匹配误差时,对相应的待标定点位进行重新标定,直至所有待标定点位的匹配误差都符合预设精度要求。
50.转换关系是基于所有待标定点位及其对应的第一位置求解得到的,反映了整体匹配情况,而各待标定点位的标定过程是相对独立的,因此基于转换关系和各第一位置逆向计算得到的估计位置与其对应的待标定点位可能存在一定的偏差,并且偏差程度可能有所不同。
51.可以根据各待标定点位与对应的估计位置之间的偏差,确定各待标定点位的匹配误差。具体而言,匹配误差计算公式可以如下:ei=p
ig

pi,其中,ei表示第i个待标定点位的匹配误差,p
ig
表示第i个待标定点位对应的估计位置,pi表示第i个待标定点位。
52.待标定点位的匹配误差用于表征该待标定点位的标定过程是否存在问题,预设精度要求用于对匹配误差进行评估。当匹配误差不符合预设精度要求时,认为相应的待标定点位的标定过程存在问题(例如视觉算法误识别,机械臂运动导致标记物存在抖动,机械臂未到位即开始识别等),若存在问题,则认为该待标定点位为错误点或者异常点,需要对其进行重新标定,实现局部标定内容调整。对错误点或者异常点进行重新标定后,转换关系也随之产生变化,继而重新计算所有待标定点位的匹配误差,直至所有待标定点位的匹配误差都符合预设精度要求。当所有待标定点位的匹配误差都符合预设精度要求时,输出此时的转换矩阵作为最终外参标定结果。
53.上述机器人手眼标定方法中,获取预设数量的待标定点位,待标定点位表示标记
物在机械臂坐标系下的指定位置;分别对各待标定点位进行标定,获得各待标定点位对应的第一位置,第一位置表示标记物通过机械臂引导至对应的待标定点位后在视觉坐标系下的位置;根据各待标定点位及其对应的第一位置进行匹配,获得机械臂坐标系与视觉坐标系的转换关系;基于转换关系将各第一位置转换到机械臂坐标系下,获得各待标定点位对应的估计位置;根据各待标定点位与对应的估计位置之间的偏差,获得各待标定点位的匹配误差,当存在不符合预设精度要求的匹配误差时,对相应的待标定点位进行重新标定,直至所有待标定点位的匹配误差都符合预设精度要求。据此,通过对待标定点位的匹配误差进行评估,可以找出标定过程中可能的错误点或异常点,然后通过重新标定直至匹配误差符合预设精度要求,可以对标定过程存在的问题进行修正,从而提高标定结果的可靠性和精度。
54.在一个实施例中,当各待标定点位的匹配误差中存在大于阈值的匹配误差时,判定存在不符合预设精度要求的匹配误差;当各待标定点位的匹配误差都小于或等于阈值时,判定所有待标定点位的匹配误差都符合所述预设精度要求;对相应的待标定点位进行重新标定的步骤,具体可以是:从大于阈值的匹配误差中选取最大匹配误差,对最大匹配误差对应的待标定点位进行重新标定。
55.待标定点位及其对应的估计位置都是机械臂坐标下的位置,都可以用三维坐标向量表示,相应地匹配误差也可以表示为一个三维坐标向量,匹配误差大于阈值,可以是指该三维坐标向量中的任意一个或几个维度的坐标大于阈值,也可以是该三维坐标向量的模大于阈值,此处不做限定。匹配误差小于或等于阈值,可以是指该三维坐标向量中的所有维度的坐标都小于或等于阈值,也可以是该三维坐标向量的模小于或等于阈值,此处不做限定。此外,阈值的大小可以根据实际需求进行设置,此处不做限定。需要说明的是,各待标定点位的匹配误差中可能存在多个大于阈值的匹配误差,找出多个大于阈值的匹配误差中最大的匹配误差,对该最大匹配误差对应的待标定点位进行重新标定。
56.本实施例中,考虑到转换关系是基于所有待标定点位及其对应的第一位置求解得到的,可能存在只有某一个待标定点位的标定过程异常但是同时导致多个待标定点位的匹配误差不符合预设精度要求的情况,因此每次迭代时只对最大匹配误差对应的待标定点位进行重新标定,可避免将原本标定过程没有异常的待标定点位进行重新标定而导致更大的匹配误差,从而提高标定结果的修正效率和修正精度。
57.在一个实施例中,如图2所示,获取预设数量的待标定点位的步骤,具体可以包括以下步骤s202至步骤s204。
58.s202,获取指定中心点位以及预设数量的指定相对位置,指定中心点位满足的条件包括:当标记物移动到指定中心点位时,标记物处于视觉传感器视野的中心区域。
59.机械臂引导标记物移动到不同的位置时,标记物在视觉传感器视野的出现情况也不同,可能不在视觉传感器视野内,也可能在视觉传感器视野内,标记物在视觉传感器视野内时,可能在视觉传感器视野的中心区域,也可能在视觉传感器视野的边缘区域。基于此,在观察到标记物处于视觉传感器视野的中心区域时,记录此时标记物在机械臂坐标系下的位置,作为指定中心点位。指定相对位置是指相对于指定中心点位的位置,指定相对位置的数量与需要标定的待标定点位的数量相同。
60.s204,将指定中心点位分别与各指定相对位置相加,获得预设数量的待标定点位。
61.指定中心点位以及各指定相对位置都可以用三维坐标向量表示,将指定中心点位与指定相对位置相加,具体为将各个维度的坐标分别相加,指定相对位置不同,获得的待标定点位也不同。举例来说,假设指定中心点位(p0)表示为(x0,y0,z0),指定相对位置(δpi)表示为(δxi,δyi,δzi),则待标定点位(pi=p0+δpi)表示为(x0+δxi,y0+δyi,z0+δzi)。如图3所示,提供了各待标定点位在视觉传感器视野中对应的位置示意图,其中包括9个待标定点位,分别为p1~p9,指定中心点位为p5所在位置,位于视觉传感器视野的中心区域,p5为该9个待标定点位组合中的中心点,除p5以外的其它待标定点位环绕在p5周围,实际标定时,只需要保证p5位于相视觉传感器视野的中心区域,则其它待标定点位在视觉传感器视野中的分布是均匀的。
62.本实施例中,通过指定中心点位和指定相对位置来获得待标定点位,使得基于该指定中心点位的待标定点位都可以尽可能地在视觉传感器视野范围内均匀分布,同时使得待标定点位可以在视觉传感器视野内覆盖尽可能大的范围,有利于提高标定结果的可靠性和精度,并且有利于后续对待标定点位的调整。
63.在一个实施例中,分别对各待标定点位进行标定,获得各待标定点位对应的第一位置的步骤,具体可以包括:对于每一待标定点位,执行如下标定操作:控制机械臂引导标记物朝着待标定点位移动,当检测到标记物移动到位时,控制视觉传感器采集图像,基于图像获取标记物在视觉坐标系下的位置,作为待标定点位对应的第一位置。
64.以9个待标定点位为例进行说明,预先设置9个待标定点位的标定顺序,待标定点位按先后顺序依次表示为p1~p9,依次将p1~p9发给机械臂,由机械臂引导标记物依次移动至p1~p9,每当标记物移动到一待标定点位时,控制视觉传感器采集图像,并基于图像获取标记物在视觉坐标系下的位置,从而获得p1~p9分别对应的第一位置,分别表示为c1~c9。
65.在一个实施例中,当检测到标记物移动到位时,控制视觉传感器采集图像的步骤,具体可以包括以下步骤:当检测到标记物移动到位时,判断标记物是否出现在视觉传感器视野内;当标记物出现在视觉传感器视野内时,控制视觉传感器采集图像。
66.当检测到标记物移动到位时,标记物可能并未出现在视觉传感器视野内,此时若不做调整继续进行标定,可能导致标定异常,影响最终标定结果。因此当标记物出现在视觉传感器视野内时,才控制视觉传感器采集图像,有助于保证标定结果的可靠性和精度。
67.在一个实施例中,若标记物没有出现在视觉传感器视野内,则对待标定点位进行修正,控制机械臂引导标记物朝着修正后的待标定点位移动,直至标记物出现在视觉传感器视野内。
68.当检测到标记物移动到位时,若标记物没有出现在视觉传感器视野内,则可能的原因是待标定点位与指定中心点的相对位置坐标偏大,导致标记物超出传感器视野,如图3所示,p9超出传感器视野,对p9进行修正,具体可以是将p9向中心点位p5靠近,p9经修正后得到p9′
。控制机械臂引导标记物朝着修正后的待标定点位移动,直至标记物出现在视觉传感器视野时,才控制视觉传感器采集图像,有助于保证标定结果的可靠性和精度。
69.在一个实施例中,如图4所示,对待标定点位进行修正的步骤,具体可以包括以下步骤s402至步骤s404。
70.s402,基于预设偏移比例对待标定点位对应的指定相对位置进行修正,获得待标定点位对应的修正相对位置。
71.预设偏移比例用于表征对指定相对位置的修正幅度,其取值范围为0~1(不含0和1)。可以理解的是,预设偏移比例越大,对指定相对位置的修正幅度越小,相应地对待标定点位的修正幅度也越小;预设偏移比例越小,对指定相对位置的修正幅度越大,相应地对待标定点位的修正幅度也越大。具体而言,修正相对位置的计算公式可以如下:δpi′
=μδpi,其中,δpi表示第i个待标定点位对应的指定相对位置,μ表示预设偏移比例,δpi′
表示第i个待标定点位对应的修正相对位置。
72.s404,将指定中心点位与待标定点位对应的修正相对位置相加,获得修正后的待标定点位。
73.具体而言,修正后的待标定点位的计算公式可以如下:pi′
=p0+δpi′
=p0+μδpi。需要说明的是,μ的具体取值可以结合实际需求进行设置,此处不做限定。μ的取值越大,超出视觉传感器视野的点位移动至进入视野所需的迭代次数可能越多,导致标定速度变慢;μ的取值越小,超出视觉传感器视野的点位可能会过于靠近中心点,导致标定精度下降。
74.本实施例中,对于超出视觉传感器视野范围的待标定点位,通过减小该待标定点位对应的指定相对位置,使得该待标定点位向指定中心点位靠近,从而能够准确地进入到视觉传感器视野范围内,实现在标定过程中对待标定点位实时且准确的修正。此外,本实施例对于待标定点位的修正方法可以适用于硬件结构变动场景,例如当视觉传感器与机械臂的相对位置发生改变时,通过本实施例可以在标定过程中对有问题的待标定点位进行修正,避免了结构变动导致固定的一套标定点位失效而无法被正常使用等情况,从而避免频繁的设计标定点位对于专业人员的依赖,减小维护成本。
75.在一个实施例中,标记物为二维码。标记物用于匹配视觉坐标系和机械臂坐标系上的公共点,传统标记物一般为具有特定颜色的图形、尖锐末端等,但是此类标记物需要定制视觉算法完成目标识别和定位过程,该识别过程的精度和可靠性必然依赖于算法开发人员的个人能力,增加标定过程的不可控因素,同时,此类标记物本身同样存在问题,含有固定色彩的标记物可能会受到光照和背景中相似颜色的干扰,尖锐末端可能受到视觉传感器失焦的影响。因此,本实施例使用二维码作为标记物,二维码识别算法高度标准化,环境适应能力强,稳定性、可靠性和精度较高。
76.在一个实施例中,使用apriltag二维码或aruco二维码作为标记物。此类二维码经过针对性优化,识别可靠性相比于普通二维码大幅度提高,且可以在不依赖深度相机、仅存在单台二维视觉传感器的情况下提供深度信息,从而直接获取标记物在视觉坐标系下的空间位置,增加标定过程精度、可靠性的同时,又减少了代码开发的复杂度。
77.具体而言,视觉传感器对标记物的识别过程包括以下两种方案:第一种,对于同时具有深度相机和二维相机的视觉系统,首先通过二维相机识别二维码标记物,得到标记物在像素坐标系下的坐标,之后通过匹配算法获取标记物在深度相机的视觉坐标系下的空间位置;第二种,对于仅具有二维相机的视觉系统,可以预先通过张正友标定法获取二维相机的内参,之后基于二维码标记物本身特性,直接识别出其在二维相机坐标系下的空间位置。
78.需要说明的是,标定过程所用apriltag二维码或aruco二维码,在具有深度相机或其他具有直接反馈空间坐标能力的视觉传感器的情况下,可以使用其他标记物代替,如其他二维码、标定棋盘格等特征高度规律化且识别算法成熟通用的特殊图形。
79.在一个实施例中,如图5所示,提供了一种机器人手眼标定方法,包括以下步骤
s501至步骤s506。
80.s501,获取指定中心点位以及预设数量的指定相对位置,指定中心点位满足的条件包括:当标记物移动到指定中心点位时,标记物处于视觉传感器视野的中心区域。
81.s502,将指定中心点位分别与各指定相对位置相加,获得预设数量的待标定点位。
82.s503,对于每一待标定点位,执行如下标定操作:控制机械臂引导标记物朝着待标定点位移动,当检测到标记物移动到位时,判断标记物是否出现在视觉传感器视野内,若标记物没有出现在视觉传感器视野内,则对待标定点位进行修正,控制机械臂引导标记物朝着修正后的待标定点位移动,直至标记物出现在视觉传感器视野内,控制视觉传感器采集图像,基于图像获取标记物在视觉坐标系下的位置,作为待标定点位对应的第一位置。
83.s504,根据各待标定点位及其对应的第一位置进行匹配,获得机械臂坐标系与视觉坐标系的转换关系。
84.s505,基于转换关系将各第一位置转换到机械臂坐标系下,获得各待标定点位对应的估计位置。
85.s506,根据各待标定点位与对应的估计位置之间的偏差,获得各待标定点位的匹配误差,当各待标定点位的匹配误差中存在大于阈值的匹配误差时,从大于阈值的匹配误差中选取最大匹配误差,对最大匹配误差对应的待标定点位进行重新标定,直至所有待标定点位的匹配误差都小于或等于阈值,输出最终得到的转换关系作为标定结果。
86.关于步骤s501~s506的具体描述可以参见前文实施例,在此不再赘述。本实施例中,一方面,通过对待标定点位的匹配误差进行评估,可以找出标定过程中可能的错误点或异常点,然后通过重新标定直至匹配误差符合预设精度要求,可以对标定过程存在的问题进行修正,从而提高标定结果的可靠性和精度;另一方面,通过指定中心点位和指定相对位置来获得待标定点位,使得基于该指定中心点位的待标定点位都可以尽可能地在视觉传感器视野范围内均匀分布,同时使得待标定点位可以在视觉传感器视野内覆盖尽可能大的范围,有利于提高标定结果的可靠性和精度,并且有利于后续对待标定点位的调整;再一方面,在标定过程对超出视觉传感器视野范围的待标定点位进行实时修正,避免了结构变动导致固定的一套标定点位失效而无法被正常使用等情况,从而避免频繁的设计标定点位对于专业人员的依赖,减小维护成本。
87.需要说明的是,上述实施例除了可以应用于三维空间的标定,获得两个三维坐标系的空间转换关系,还可以应用于二维平面的标定,获得两个二维平面坐标系在空间中的透视变换关系。例如,通过限制机械臂在某一固定平面运动来实现二维平面标定,具体而言,在视觉坐标系下,可以增加包含定值的第三个维度,在机械臂坐标系下,可以给三个维度的坐标增加限制条件,保证其始终位于特定平面上,继而求解相机平面与机械臂平面的透视变换关系。
88.应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的
至少一部分轮流或者交替地执行。
89.在一个实施例中,如图6所示,提供了一种机器人手眼标定装置600,包括:获取模块610、标定模块620、匹配模块630、转换模块640和修正模块650,其中:
90.获取模块610,用于获取预设数量的待标定点位,待标定点位表示标记物在机械臂坐标系下的指定位置。
91.标定模块620,用于分别对各待标定点位进行标定,获得各待标定点位对应的第一位置,第一位置表示标记物通过机械臂引导至对应的待标定点位后在视觉坐标系下的位置。
92.匹配模块630,用于根据各待标定点位及其对应的第一位置进行匹配,获得机械臂坐标系与视觉坐标系的转换关系。
93.转换模块640,用于基于转换关系将各第一位置转换到机械臂坐标系下,获得各待标定点位对应的估计位置。
94.修正模块650,用于根据各待标定点位与对应的估计位置之间的偏差,获得各待标定点位的匹配误差,当存在不符合预设精度要求的匹配误差时,对相应的待标定点位进行重新标定,直至所有待标定点位的匹配误差都符合预设精度要求。
95.在一个实施例中,该装置还包括判定模块,用于:当各待标定点位的匹配误差中存在大于阈值的匹配误差时,判定存在不符合预设精度要求的匹配误差;当各待标定点位的匹配误差都小于或等于阈值时,判定所有待标定点位的匹配误差都符合预设精度要求。修正模块650在对相应的待标定点位进行重新标定时,具体用于:从大于阈值的匹配误差中选取最大匹配误差,对最大匹配误差对应的待标定点位进行重新标定。
96.在一个实施例中,获取模块610在获取预设数量的待标定点位时,具体用于:获取指定中心点位以及预设数量的指定相对位置,指定中心点位满足的条件包括:当标记物移动到指定中心点位时,标记物处于视觉传感器视野的中心区域;将指定中心点位分别与各指定相对位置相加,获得预设数量的待标定点位。
97.在一个实施例中,标定模块620在分别对各待标定点位进行标定,获得各待标定点位对应的第一位置时,具体用于:对于每一待标定点位,执行如下标定操作:控制机械臂引导标记物朝着待标定点位移动,当检测到标记物移动到位时,控制视觉传感器采集图像,基于图像获取标记物在视觉坐标系下的位置,作为待标定点位对应的第一位置。
98.在一个实施例中,标定模块620在当检测到标记物移动到位时,控制视觉传感器采集图像时,具体用于:当检测到标记物移动到位时,判断标记物是否出现在视觉传感器视野内;当标记物出现在视觉传感器视野内时,控制视觉传感器采集图像。
99.在一个实施例中,标定模块620还用于:若标记物没有出现在视觉传感器视野内,则对待标定点位进行修正,控制机械臂引导标记物朝着修正后的待标定点位移动,直至标记物出现在视觉传感器视野内。
100.在一个实施例中,标定模块620在对待标定点位进行修正时,具体用于:基于预设偏移比例对待标定点位对应的指定相对位置进行修正,获得待标定点位对应的修正相对位置;将指定中心点位与待标定点位对应的修正相对位置相加,获得修正后的待标定点位。
101.在一个实施例中,标记物为二维码。
102.关于机器人手眼标定装置的具体限定可以参见上文中对于机器人手眼标定方法
的限定,在此不再赘述。上述机器人手眼标定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
103.在一个实施例中,提供了一种机器人,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各个方法实施例中的步骤。
104.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各个方法实施例中的步骤。
105.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
106.在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个方法实施例中的步骤。
107.需要理解的是,上述实施例中的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。此外,在本技术的描述中,除非另有说明,“多个”的含义是指至少两个。
108.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
109.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
110.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1