托盘堆叠方法、装置、计算机设备和计算机可读存储介质与流程

文档序号:31073786发布日期:2022-08-09 21:26阅读:95来源:国知局
托盘堆叠方法、装置、计算机设备和计算机可读存储介质与流程

1.本技术涉及机器视觉技术领域,特别是涉及一种托盘堆叠方法、装置、计算机设备和计算机可读存储介质。


背景技术:

2.随着工业技术的发展,对托盘进行自动堆叠的技术已经逐步取代手动堆叠的传统技术。目前,主要是通过待堆叠托盘来计算被堆叠托盘的预设堆叠位置,并由搬运设备根据计算好的预设堆叠位置进行托盘堆叠。但是,在堆叠过程中,待堆叠托盘的实际堆叠位置和预设堆叠位置可能存在偏差,因此会导致托盘堆叠的准确率低。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种能够提高托盘堆叠的准确率的托盘堆叠方法、装置、计算机设备和计算机可读存储介质。
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.托盘堆叠模块,用于根据所述位姿差控制搬运设备对所述待堆叠托盘进行托盘堆叠处理。
31.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述托盘堆叠方法中的步骤。
32.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述托盘堆叠方法中的步骤。
33.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述托盘堆叠方法中的步骤。
34.上述托盘堆叠方法、装置、计算机设备和计算机可读存储介质,当搬运设备对待堆叠托盘进行堆叠处理时,通过图像采集设备采集目标图像;其中,目标图像中包括待堆叠托盘上的第一定位参照对象的第一图像内容和被堆叠托盘上的第二定位参照对象的第二图像内容;根据第一图像内容,确定第一定位参照对象与图像采集设备之间的第一相对位置信息;根据第二图像内容,确定第二定位参照对象与图像采集设备之间的第二相对位置信息;根据第一相对位置信息和第二相对位置信息,确定待堆叠托盘和被堆叠托盘之间的位姿差。通过在托盘上设置定位参照对象,采集待堆叠托盘上第一定位参照对象和被堆叠托盘上第二定位参照对象的图像内容进行分析,就能够得出第一定位参照对象第二定位参照对象分别与图像采集设备的相对姿态,并根据相对姿态来反推待堆叠托盘和被堆叠托盘相对位姿的偏差,从而能够根据位姿差进一步控制搬运设备准确地完成托盘堆叠工作。
附图说明
35.图1为一些实施例中托盘堆叠方法的应用环境示意图;
36.图2为一些实施例中托盘堆叠方法的流程示意图;
37.图3为一些实施例中计算第一定位参照对象和第二定位对象分别相较于图像采集设备的相对位置信息步骤的流程示意图;
38.图4为一些实施例中对第一图像内容和第二图像内容进行特征检测步骤的流程示意图;
39.图5为一些实施例中计算待堆叠托盘和被堆叠托盘之间的位姿差步骤的流程示意图;
40.图6为一些实施例中根据位姿差控制搬运设备对待堆叠托盘进行托盘堆叠处理步骤的流程示意图;
41.图7为一些实施例中被堆叠托盘的结构示意图;
42.图8为另一些实施例中托盘堆叠方法的流程示意图;
43.图9为一些实施例中托盘堆叠装置的结构框图;
44.图10为一些实施例中计算机设备的内部结构图。
具体实施方式
45.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
46.本技术实施例提供的托盘堆叠方法,可以应用于如图1所示的应用环境中。本技术各实施例中,搬运设备102上放置有待堆叠托盘(图中未示出),搬运设备102负责将待堆叠托盘运输至被堆叠托盘104处,并将待堆叠托盘进行托盘堆叠处理,其中,待堆叠托盘表面设置有用于定位的第一定位参照对象,被堆叠托盘104表面设置有用于定位的第二定位参照对象106。
47.当搬运设备102需要将待堆叠托盘堆叠至被堆叠托盘104上时,可以通过图像采集设备对待堆叠托盘和被堆叠托盘104进行拍摄,以形成目标图像,目标图像包括待堆叠托盘上的第一定位参照对象的第一图像内容和被堆叠托盘104上的第二定位参照对象106的第二图像内容。
48.在图像采集设备采集到目标图像之后,可以根据第一图像内容确定第一定位参照对象相较于图像采集设备的相对位置信息,以及根据第二图像内容确定第二定位参照对象106相较于图像采集设备的相对位置信息;根据第一定位参照对象和第二定位参照对象106分别相较于图像采集设备的相对位置信息,确定待堆叠托盘和被堆叠托盘104之间的位姿差;根据位姿差控制搬运设备102对待堆叠托盘进行托盘堆叠处理。
49.在一些实施例中,如图2所示,该方法可运用于搬运设备中,也可运用于与搬运设备进行通信连接的其他计算机设备中,本技术实施例不做具体限定。
50.以该方法应用于图1中的搬运设备为例进行说明,包括以下步骤:
51.步骤202,当搬运设备对待堆叠托盘进行堆叠处理时,通过图像采集设备采集目标图像。
52.其中,本技术指的搬运设备是用于搬运待堆叠托盘的运输设备,其中,搬运设备可以但不限于自动引导车(automated guided vehicle,agv小车)和叉车。需要说明的是,搬运设备可以仅负责搬运待堆叠托盘,即,在搬运设备将待堆叠托盘搬运至被堆叠托盘附近等指定位置之后,由人工将待堆叠托盘进行堆叠处理。除此之外,搬运设备不仅可以负责搬运待堆叠托盘,还可以负责对待堆叠托盘进行托盘堆叠处理,即搬运设备将待堆叠托盘搬运至待堆叠托盘附近时,能够自动地对待堆叠托盘进行托盘堆叠处理。
53.托盘,也称集装盒,是一种成组运输货物的载货工具。其中,待堆叠托盘指的是即将要进行堆叠处理的托盘。对应的,被堆叠托盘用于指示待堆叠托盘所需要堆叠的位置,例如,被堆叠托盘用于指示待堆叠托盘堆叠在该被堆叠托盘的上方等。在本技术实施例中,在每个托盘(包括待堆叠托盘和被堆叠托盘)上都设置有用于进行定位的定位参照对象,该定位参照对象具体可设置为某个用于对托盘进行定位的图案。以待堆叠托盘和被堆叠托盘为例,本技术在待堆叠托盘上设置有第一定位参照对象,在被堆叠托盘上设置有第二定位参照对象,其中,第一定位参照对象的图案和第二定位参照对象的图案可以相同,也可以不同,本技术不做具体限制。
54.图像采集设备,指的是具备拍照功能的设备,可以但不限于是各种相机、移动设备、摄像头、摄像机和扫描仪。在本技术实施例中,图像采集设备可以与搬运设备分体设置,
图像采集设备也可以是搬运设备的组成部分,即,可以将图像采集设备固定在搬运设备上,这里对图像采集设备与搬运设备之间的位置关系不做限定。
55.具体地,当搬运设备需要对待堆叠托盘进行堆叠处理的时候,通过调整图像采集设备的角度,使其视野范围能够完全覆盖第一定位参照对象和第二定位参照对象,接着进行目标图像的采集,确保采集到的目标图像包括待堆叠托盘上的第一定位参照对象的第一图像内容和被堆叠托盘上的第二定位参照对象的第二图像内容,能够直接根据一张目标图像,就可以同时计算出第一定位参照对象和第二定位参照对象相较于图像采集设备的相对位置信息。
56.步骤204,根据第一图像内容确定第一定位参照对象相较于图像采集设备的相对位置信息,以及根据第二图像内容确定第二定位参照对象相较于图像采集设备的相对位置信息。
57.其中,相对位置信息包括第一定位参照对象相较于图像采集设备的相对位置信息,即第一定位参照对象所处的位置和图像采集设备所处的位置之间的相对关系。相对位置信息还包括第二定位参照对象相较于图像采集设备的相对位置信息,即第二定位参照对象所处的位置和图像采集设备所处的位置之间的相对关系。
58.步骤206,根据第一定位参照对象和第二定位参照对象分别相较于图像采集设备的相对位置信息,确定待堆叠托盘和被堆叠托盘之间的位姿差。
59.可以理解,在堆叠确认的过程中,待堆叠托盘上的第一定位参照对象、被堆叠托盘上的第二定位参照对象和图像采集设备可以是固定的,因此,通过图像采集设备分别相较于第一定位参照对象和第二定位参照对象的相对位置信息,就能够得出第一定位参照对象与图像采集设备的相对姿态,以及第二定位参照对象分别与图像采集设备的相对姿态,根据第一定位参照对象与图像采集设备的相对姿态和第二定位参照对象与图像采集设备的相对姿态来反推待堆叠托盘和被堆叠托盘相对位姿的偏差,即待堆叠托盘和被堆叠托盘之间的位姿差。
60.步骤208,根据位姿差控制搬运设备对待堆叠托盘进行托盘堆叠处理。
61.具体地,根据位姿差,就可以计算出图像采集设备与被堆叠托盘的相对位姿,计算出相对位姿之后,需要判断相对位姿是否处于预设位姿范围,若相对位姿不处于预设的位姿范围,则根据相对位姿确定搬运设备需要摆正的姿态,并在调整搬运设备的姿态后,返回执行通过图像采集设备采集目标图像的步骤。若相对位姿处于预设位姿范围,则直接控制搬运设备将待堆叠托盘堆叠至被堆叠托盘上。
62.上述托盘堆叠方法中,当搬运设备对待堆叠托盘进行堆叠处理时,通过图像采集设备采集目标图像;其中,目标图像中包括待堆叠托盘上的第一定位参照对象的第一图像内容和被堆叠托盘上的第二定位参照对象的第二图像内容;根据第一图像内容,确定第一定位参照对象与图像采集设备之间的第一相对位置信息;根据第二图像内容,确定第二定位参照对象与图像采集设备之间的第二相对位置信息;根据第一相对位置信息和第二相对位置信息,确定待堆叠托盘和被堆叠托盘之间的位姿差。通过在托盘上设置定位参照对象,采集待堆叠托盘上第一定位参照对象和被堆叠托盘上第二定位参照对象的图像内容进行分析,就能够得出第一定位参照对象、第二定位参照对象分别与图像采集设备的相对姿态,并根据相对姿态来反推待堆叠托盘和被堆叠托盘相对位姿的偏差,从而能够根据位姿差进
一步控制搬运设备准确地完成托盘堆叠工作。
63.在一些实施例中,如图3所示,步骤204具体包括但不限于包括:
64.步骤302,分别对第一图像内容和第二图像内容进行特征检测,得到第一定位参照对象和第二定位参照对象各自对应的特征集。
65.其中,第一定位参照对象对应的特征集指的是第一定位参照对象上的多个特征点在像素坐标系下的特征点。第二定位参照对象对应的特征集,是指第二定位参照对象上的多个特征点在像素坐标系下的特征点。
66.具体地,需要确定第一定位参照对象的多个特征点在第一图像内容中的位置信息,且确定第二定位参照对象的多个特征点在第二图像内容中的位置信息,根据以上的位置信息形成第一定位参照对象和第二定位参照对象各自对应的特征集。其中,第一定位参照对象和第二定位参照对象的多个特征点是用户根据第一定位参照对象和第二定位参照对象的轮廓和实际需求,在第一定位参照对象或第二定位参照对象上设定的用于进行定位的多个定位点。
67.在实际应用中,定位点包括但不限于第一定位参照对象的中心点和边界角点中的至少一种。同样的,定位点还包括但不限于第二定位参照对象的中心点和边界角点中的至少一种。
68.步骤304,针对第一定位参照对象和第二定位参照对象中的每一个定位参照对象,根据图像采集设备的图像采集设备内参和定位参照对象对应的特征集,得到定位参照对象相较于图像采集设备的相对位置信息。
69.其中,定位参照对象指的是第一定位参照对象和第二定位参照对象,图像采集设备内参是图像采集设备进行图像采集时所使用的设备参数,“根据图像采集设备内参和定位参照对象对应的特征集,得到定位参照对象相较于图像采集设备的相对位置信息”指的是根据图像采集设备内参和第一定位参照对象对应的特征集,得到第一定位参照对象相较于图像采集设备的相对位置信息,以及根据图像采集设备内参和第二定位参照对象对应的特征集,得到第二定位参照对象相较于图像采集设备的相对位置信息。
70.具体地,通过第一定位参照对象对应的特征集、图像采集设备的图像采集设备内参,就可以确定第一定位参照对象所处的位置和图像采集设备所处的位置之间的相对关系,通过第二定位参照对象对应的特征集、图像采集设备的图像采集设备内参,就可以确定第二定位参照对象所处的位置和图像采集设备所处的位置之间的相对关系。
71.在一些实施例中,图像采集设备为相机,图像采集设备内参即为与图像采集相关的相机参数。比如,相机的焦距等相机参数。
72.在一些实施例中,如图4所示,步骤302具体包括但不限于包括:
73.步骤402,分别对第一图像内容和第二图像内容进行轮廓提取,得到第一定位参照对象对应的第一图像轮廓和第二定位参照对象对应的第二图像轮廓。
74.具体地,提取第一定位参照对象显示在第一图像内容的轮廓,得到第一图像轮廓,并提取第二定位参照对象显示在第二图像内容的轮廓,得到第二图像轮廓。
75.步骤404,分别对第一图像轮廓和第二图像轮廓进行特征提取,得到第一定位参照对象和第二定位参照对象各自对应的特征集。
76.具体地,从第一图像轮廓中提取第一定位参照对象上的多个特征点在像素坐标系
下的位置信息,并从第二图像轮廓中提取第二定位参照对象上的多个特征点在像素坐标系下的位置信息,根据以上的位置信息形成第一定位参照对象和第二定位参照对象各自对应的特征集。
77.在一些实施例中,在步骤402之前,还包括步骤:对目标图像进行预处理,具体包括:
78.将目标图像转换成灰度图像,利用图像形态学的开运算,依次对灰度图像进行腐蚀运算和膨胀运算,得到处理后的灰度图像,对处理后的灰度图像进行二值化处理,得到预处理后的目标图像。其中,对灰度图像进行腐蚀运算可去掉图像上的毛刺,对灰度图像进行膨胀运算可以填补第一图像内容和第二图像内容的缺失部分。对图像进行预处理,能够提高后续对目标图像进行特征检测的准确率,进而使计算出的位姿差更为准确,提高托盘堆叠的准确率。
79.在一些实施例中,相对位置信息包括定位参照对象相对于图像采集设备的外参矩阵,定位参照对象对应的特征集包括定位参照对象的多个特征点。
80.其中,定位参照对象指的是第一定位参照对象和第二定位参照对象,相对位置信息包括第一定位参照对象相对于图像采集设备的外参矩阵和第二定位参照对象相对于图像采集设备的外参矩阵,第一定位参照对象对应的特征集包括第一定位参照对象在像素坐标系下的多个特征点,以及第二定位参照对象对应的特征集包括第二定位参照对象在像素坐标系下的多个特征点,步骤304具体包括但不限于包括以下步骤:
81.针对第一定位参照对象和第二定位参照对象中的每一个定位参照对象,根据定位参照对象对应的每一特征点在像素坐标系下的像素坐标、每一特征点在基于定位参照对象构建的三维坐标系下的坐标、以及图像采集设备内参,计算得到定位参照对象相对于图像采集设备的外参矩阵。
82.其中,定位参照对象相对于图像采集设备的外参矩阵描述的是,将基于第一定位参照对象构建的三维坐标系转换成基于图像采集设备自身构建的坐标系的过程,以及基于第二定位参照对象构建的三维坐标系转换成基于图像采集设备自身构建的坐标系的过程。为了便于表述,本技术将基于图像采集设备自身构建的坐标系称为参考坐标系。
83.具体地,根据第一定位参照对象对应的每一特征点在像素坐标系下的像素坐标、每一特征点在基于第一定位参照对象构建的三维坐标系下的坐标、以及图像采集设备内参,计算得到第一定位参照对象相较于图像采集设备的外参矩阵。以及根据第二定位参照对象对应的每一特征点在像素坐标系下的像素坐标、每一特征点在基于第二定位参照对象构建的三维坐标系下的坐标、以及图像采集设备内参,计算得到第二定位参照对象相较于图像采集设备的外参矩阵。
84.具体地,外参矩阵包括旋转矩阵和平移矩阵,旋转矩阵和平移矩阵共同描述了如何把每一特征点从三维坐标系转换到参考坐标系,旋转矩阵描述了三维坐标系的坐标轴相对于参考坐标系对应的坐标轴的方向,平移矩阵描述了在三维坐标系下空间原点的位置。
85.基于定位参照对象构建的三维坐标系,是以定位参照对象所在平面为坐标平面,以定位参照对象的多个特征点中的其中一个为坐标原点构建的三维坐标系。以第一定位参照对象为例,第一定位参照对象上有4个特征点,分别包括特征点a、特征点b、特征点c和特征点d,则基于第一定位参照对象构建三维坐标系的过程为:以第一定位参照对象所在的平
面为坐标平面,以第一定位参照对象的其中一个特征点a为坐标原点,构建基于第一定位参照对象的三维坐标系,其中,若第一定位对象所在平面为垂直平面,则第一定位对象所在平面为坐标平面可以理解为zy平面,该特征点a可为第一参照对象(例如二维码)左顶点的特征点,具体可参照图1。需要说明的是,基于第二定位参照对象构建三维坐标系的过程与上述基于第一定位参照对象构建三维坐标系的过程相同,此处不再一一赘述。
86.在一些实施例中,图像采集设备内参,包括图像采集设备的焦距和像素坐标等中的至少一种。其中,像素坐标指的是在图像采集设备在自身所处的参考坐标系中的某一个坐标点相对于目标图像所在的像素坐标系的转换,该坐标点在本技术实施例中指的是第一图像内容中的某个特征点,或第二图像内容中的某个特征点。
87.需要说明的是,在计算第一定位参照对象和第二定位参照对象分别对应的外参矩阵时,除了使用到图像采集设备内参,还可以获取畸变参数,结合畸变参数来计算相应的外参矩阵。可以理解,受镜头制造精度的影响,图像采集设备拍摄的图像可能会出现不同程度的畸变,根据畸变情况可形成畸变参数,因此,可以考虑运用畸变参数来计算外参矩阵,提高准确性。
88.在实际应用中,可根据定位参照对象对应的每一特征点在像素坐标系下的像素坐标、每一特征点在基于定位参照对象构建的三维坐标系下的坐标、以及图像采集设备内参,并调用位姿求解算法来自动求解出定位参照对象相对于图像采集设备的外参矩阵。
89.其中,具体的位姿求解算法可以选择opencv的solvepnp算法,也可选择opencv的solvepnpransac算法。其中,opencv是一个跨平台计算机视觉和机器学习软件库,solvepnp算法是一种单目相对位姿估计算法,solvepnpransac算法是一种一致性采样算法。
90.以solvepnp算法为例,计算定位参照对象相对于图像采集设备的外参矩阵的具体过程如公式(1)至公式(3)所示:
[0091][0092]
其中,zc指的是第一图像内容中的某个特征点,或第二图像内容中的某个特征点在图像采集设备所在的参考坐标系下的一个未知坐标,具体地,zc还可以理解为某个目标点在参考坐标系的齐次坐标,一般称为比例因子(系数),比例因子默认为1,这与小孔成像原理有关,一般zc越小,表示离图像采集设备越近且成像越大,f
x
、fy、u0和v0均为图像采集设备内参,具体地,f
x
和fy表示图像采集设备的焦距,u0和v0指的是在图像采集设备自身所处的参考坐标系中的某一个坐标点(第一图像内容中的某个特征点,或第二图像内容中的某个特征点)相对于目标图像所在的像素坐标系的转换而得到的像素坐标,xw、yw和zw为基于定位参照对象建立的三维坐标系下的3d坐标(三维坐标),可以理解,w是世界坐标系的缩写,可以理解,基于定位参照对象建立的三维坐标系属于世界坐标系,所以该三维坐标系下的坐标用w角标来区分示意。
[0093]
由于本技术实施例中的第一定位参照对象是平面的对象,所以zw=0,x和y是定位参照对象对应的特征点在像素坐标系下的2d坐标(二维坐标),需要说明的是,xw、yw、x和y可
形成一组3d转2d的坐标,r
11
、r
12
、r
13
、r
21
、r
22
、r
23
、r
31
、r
32
和r
33
都是用于构建旋转矩阵的未知数,t1、t2和t3也是用于构建平移矩阵的未知数,旋转矩阵和平移矩阵结合形成外参矩阵。
[0094]
对公式(1)进行转换,可得到以下公式(2)至公式(4):
[0095]
zc*x=xw*(f
x
*r
11
+u0*r
31
)+yw*(f
x
*r
12
+u0*r
32
)+zw*(f
x
*r
13
+u0*r
33
)+f
x
*t1+u0*t3(2)
[0096]
zc*y=xw*(fy*r
21
+v0*r
31
)+yw*(fy*r
22
+v0*r
32
)+zw*(fy*r
23
+v0*r
33
)+fy*t2+v0*t3ꢀꢀ
(3)
[0097]
zc=xw*r
31
+yw*r
32
+zw*r
33
+t3ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0098]
其中,通过公式(2)至公式(4)求出上述用于构建旋转矩阵和平移矩阵的未知数。由于旋转矩阵是正交矩阵,故加上用于构建平移矩阵的3个未知数,一共6个未知数,而由每一组3d转2d的坐标xw、yw、x和y可以确定两个方程,所以在本技术实施例中需要至少三组坐标才能解出六个未知数,因此至少需要获取至少三组特征点对应的3d转2d的坐标。
[0099]
在求解出用于构建旋转矩阵和平移矩阵的未知数之后,就能得到其中一个定位参照对象相对于图像采集设备的外参矩阵(r,t),也即基于其中一个定位参照对象建立的三维坐标系相当于参考坐标系的旋转平移矩阵,其中r为旋转矩阵,t为平移矩阵。
[0100]
在一些实施例中,第一定位参照对象相较于图像采集设备的相对位置信息包括第一外参矩阵;第二定位参照对象相较于图像采集设备的相对位置信息包括第二外参矩阵,如图5所示,步骤206具体包括但不限于包括:
[0101]
步骤502,第二外参矩阵的逆矩阵乘以第一外参矩阵,得到第一定位参照对象相对于第二定位参照对象的第三外参矩阵。
[0102]
具体地,设第一外参矩阵为m1,第二外参矩阵为m2,由m2的逆矩阵乘以m1,就得到第一定位对象所在的三维坐标系相对于第二定位参照对象所在的三维坐标系的外参矩阵,也即旋转偏移矩阵m3。
[0103]
步骤504,根据第三外参矩阵,得到位姿差。
[0104]
具体地,根据第三外参矩阵m3中的矩阵参数,即包括旋转量和平移量,就得到第一定位对象和第二定位对象之间的位姿差。
[0105]
在一些实施例中,如图6所示,步骤208具体包括但不限于包括:
[0106]
步骤602,根据位姿差,得到图像采集设备与被堆叠托盘的相对位姿。
[0107]
具体地,图像采集设备与被堆叠托盘的相对位姿包括图像采集设备相对于被堆叠托盘的俯仰角和平移量,其中,通过上述位姿求解算法能够得到旋转向量和平移向量,得到旋转向量之后,需要通过罗德里格斯变换将旋转向量转换成旋转矩阵,再转换成欧拉角,即本技术实施例提到的图像采集设备相对于被堆叠托盘的俯仰角;需要说明的是,通过位姿求解算法求解得到的平移向量即平移量。
[0108]
步骤604,若相对位姿不处于预设位姿范围,则根据相对位姿调整搬运设备当前的姿态,并在调整搬运设备的姿态后,返回执行通过图像采集设备采集目标图像的步骤。
[0109]
具体地,计算出图像采集设备与被堆叠托盘的相对位姿之后,需要判断相对位姿是否处于预设位姿范围,若相对位姿处于预设的位姿范围,则根据相对位姿,确定搬运设备需要摆正的姿态,并在调整搬运设备的姿态后,返回执行通过图像采集设备采集目标图像的步骤。
[0110]
若通过步骤602计算出的相对位姿处于预设位姿范围,则执行步骤606,即直接控
制搬运设备将待堆叠托盘堆叠至被堆叠托盘上。
[0111]
在一些实施例中,图像采集设备与被堆叠托盘的相对位姿包括图像采集设备相对于被堆叠托盘的俯仰角和平移量,预设位姿范围包括俯仰角范围和平移量范围。在计算出图像采集设备相对于被堆叠托盘的俯仰角和平移量之后,还要判断俯仰角和平移量是否同时满足预设位姿范围中的俯仰角范围和平移量范围,若不同时满足,则需要根据图像采集设备与被堆叠托盘的相对位姿包括图像采集设备相对于被堆叠托盘的俯仰角和平移量,确定搬运设备需要摆正的角度和距离并调整搬运设备当前的姿态,在调整搬运设备的姿态后,返回执行通过图像采集设备采集目标图像的步骤。
[0112]
若俯仰角和平移量同时满足预设位姿范围中的俯仰角范围和平移量范围,则直接根据搬运设备当前的姿态,将待堆叠托盘直接堆叠至被堆叠托盘上,不需要进行位姿调整的操作,本技术实施例通过对搬运设备进行位姿确认,能够对搬运设备当前的位姿进行矫正,并使其准确无误地完成托盘堆叠工作。
[0113]
在一些实施例中,平移量包括x轴方向的平移量和y轴方向的平移量。在实际应用中,本领域技术人员可根据实际需求将x轴方向的平移量范围设置为-1.5厘米至+1.5厘米,将y轴方向的平移量范围设置为-1.5厘米至+1.5厘米,将俯仰角范围设置为-1.5度至+1.5度。
[0114]
在一些实施例中,图像采集设备固定于搬运设备上;第一定位参照对象为待堆叠托盘上设置的第一二维码;第二定位参照对象为被堆叠托盘上设置的第二二维码;第一二维码的多个特征点包括第一二维码的至少三个边界角点;第二二维码的多个特征点包括第二二维码的至少三个边界角点。
[0115]
在一些实施例中,可从第一二维码的多个特征点中选取4个边界角点,从第二二维码的多个特征点中选取4个边界角点。在基于第一二维码构建三维坐标系时,就选取4个边界角点中的其中一个(例如第一二维码左上方的边界角点,即第一二维码的左顶点)作为坐标原点,以第一二维码所在的平面(例如zy平面)作为坐标平面,构建基于第一二维码的三维坐标系。需要说明的是,基于第二二维码构建三维坐标系的过程与上述基于第一二维码构建三维坐标系的过程相同,此处不再一一赘述。
[0116]
需要说明的是,待堆叠托盘的上盖和底托处均设置有二维码,被堆叠托盘的上盖和底托处也均设置有二维码,第一定位参照对象表示在待堆叠托盘底托上设置的二维码,即第一二维码,第二定位参照对象表示在被堆叠托盘上盖设置的二维码,即第二二维码。
[0117]
需要说明的是,将图像采集设备固定于搬运设备上的目的是,由于图像采集设备和搬运设备位置关系固定,所以可以直接将二者看做一个整体,因此可以将图像采集设备分别与第一定位参照对象和第二定位参照对象之间的位姿差,看作搬运设备分别与第一定位参照对象和第二定位参照对象之间的位姿差,从而简化了计算过程。
[0118]
可以理解,将第一定位参照对象和第二定位参照对象设置成二维码的形式进行定位,原因是二维码具有的数据单位相同,对于获取的数据信息不需要进行复杂的处理,就能够快速进行定位。
[0119]
在一些实施例中,每一个托盘(包括待堆叠托盘和被堆叠托盘)的其中一个表面,例如前表面都固定有两张二维码,参照图7,以被堆叠托盘为例,被堆叠托盘包括上盖702和底托704,其中,第一二维码706设置在底托704的前表面,第二二维码708设置在上盖702的
前表面,且第二二维码708位于第一二维码706同轴的正上方处。
[0120]
此外,第一二维码706的宽度与底托704的厚度一致,第二二维码708的宽度与上盖702的厚度一致,利用二维码的信息能够进行定位。将第一二维码706的宽度和第二二维码708的宽度设置成与底托704厚度一致,就能够保证第一二维码706的全部内容均位于底托704的前表面,且保证第二二维码708的全部内容均位于上盖702的前表面,从而保证图像采集设备能够采集到第一二维码706的全部内容和第二二维码708的全部内容,并且能够基于完整的二维码内容定位到准确的特征点,使计算出的位姿差更为准确,从而提高托盘堆叠的准确率。
[0121]
需要说明的是,若第一定位参照对象和第二定位参照对象都为二维码,则在对第一图像内容和第二图像内容进行特征检测时,就可以考虑采用二维码的边界角点,即二维码的四个顶点。在实际应用中,如果取其他位置作为二维码的特征点,就很难与图像采集设备自身所处的参考坐标系下的坐标对应,因为图像采集设备所处的平面可能是倾斜的,因此采用二维码的边界角点作为特征点,能提高位姿求解的效率。
[0122]
若需要图像采集设备固定在搬运设备上,则可以考虑将图像采集设备安装在搬运设备侧边,具体可以考虑将图像采集设备安装在搬运设备的左侧或者右侧。初步安装完成后,还需要调整图像采集设备的角度,保证待堆叠托盘的二维码a和被堆叠托盘的二维码b同时出现在图像采集设备的视角范围内。
[0123]
在一些实施例中,如图8所示,本技术的托盘堆叠方法的过程还可以为:
[0124]
在每一个托盘的底托和上盖处固定两张二维码,在agv侧边安装一台2d相机,调整相机视角范围至覆盖待堆叠托盘底托的二维码a和被堆叠托盘上盖的二维码b,当agv叉取待堆叠托盘到达被堆叠托盘上方时,则通过2d相机采集包括二维码a和二维码b的目标图像,接着通过二维码检测程序分别检测二维码a和二维码b的四个特征点,通过solvepnp分别求解二维码a、二维码b之间的外参矩阵,计算二维码a建立的三维坐标系下的参考坐标系的旋转平移矩阵m1,计算二维码b建立的三维坐标系下的参考坐标系的旋转平移矩阵m2,由m2逆矩阵乘以m1得到二维码a在二维码b的旋转平移矩阵m3,由m3可知agv相对于被堆叠托盘的位姿,从而进行堆叠确认,使agv准确完成托盘堆叠工作。
[0125]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0126]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的托盘堆叠方法的托盘堆叠装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个托盘堆叠装置实施例中的具体限定可以参见上文中对于托盘堆叠方法的限定,在此不再赘述。
[0127]
在一个实施例中,如图9所示,提供了一种托盘堆叠装置,包括:图像采集模块902、信息获取模块904、位姿计算模块906和托盘堆叠模块908,其中:
[0128]
图像采集模块902,用于通过图像采集设备采集目标图像;目标图像中包括待堆叠托盘上的第一定位参照对象的第一图像内容和被堆叠托盘上的第二定位参照对象的第二图像内容。
[0129]
信息获取模块904,用于根据第一图像内容确定第一定位参照对象相较于图像采集设备的相对位置信息,以及根据第二图像内容确定第二定位参照对象相较于图像采集设备的相对位置信息。
[0130]
位姿计算模块906,用于根据第一定位参照对象和第二定位参照对象分别相较于图像采集设备的相对位置信息,确定待堆叠托盘和被堆叠托盘之间的位姿差。
[0131]
托盘堆叠模块908,用于根据位姿差控制搬运设备对待堆叠托盘进行托盘堆叠处理。
[0132]
本技术通过上述托盘堆叠装置,在托盘上设置定位参照对象,采集待堆叠托盘上第一定位参照对象和被堆叠托盘上第二定位参照对象的图像内容进行分析,就能够得出第一定位参照对象第二定位参照对象分别与图像采集设备的相对姿态,并根据相对姿态来反推待堆叠托盘和被堆叠托盘相对位姿的偏差,从而能够根据位姿差进一步控制搬运设备准确地完成托盘堆叠工作。
[0133]
在一些实施例中,信息获取模块包括特征检测单元和位置获取单元,特征检测单元用于分别对第一图像内容和第二图像内容进行特征检测,得到第一定位参照对象和第二定位参照对象各自对应的特征集;位置获取单元用于针对第一定位参照对象和第二定位参照对象中的每一个定位参照对象,根据图像采集设备的图像采集设备内参和定位参照对象对应的特征集,得到定位参照对象相较于图像采集设备的相对位置信息。
[0134]
在一些实施例中,特征检测单元还用于分别对第一图像内容和第二图像内容进行轮廓提取,得到第一定位参照对象对应的第一图像轮廓和第二定位参照对象对应的第二图像轮廓;分别对第一图像轮廓和第二图像轮廓进行特征提取,得到第一定位参照对象和第二定位参照对象各自对应的特征集。
[0135]
在一些实施例中,位置获取单元还用于针对第一定位参照对象和第二定位参照对象中的每一个定位参照对象,根据定位参照对象对应的每一特征点在像素坐标系下的像素坐标、每一特征点在基于定位参照对象构建的三维坐标系下的坐标、以及图像采集设备内参,计算得到定位参照对象相对于图像采集设备的外参矩阵;其中,基于定位参照对象构建的三维坐标系,是以定位参照对象所在平面为坐标平面,以定位参照对象的多个特征点中的其中一个为坐标原点构建的三维坐标系。
[0136]
在一些实施例中,位姿计算模块还用于将第二外参矩阵的逆矩阵乘以第一外参矩阵,得到第一定位参照对象相对于第二定位参照对象的第三外参矩阵;根据第三外参矩阵,得到位姿差。
[0137]
在一些实施例中,托盘堆叠模块还用于根据位姿差,得到图像采集设备与被堆叠托盘的相对位姿;若相对位姿不处于预设位姿范围,则根据相对位姿调整搬运设备当前的姿态,并在调整搬运设备的姿态后,返回执行通过图像采集设备采集目标图像的步骤。
[0138]
上述托盘堆叠装置中各个模块的划分仅用于举例说明,在其他实施例中,可将检测装置按照需要划分为不同的模块,以完成上述检测装置的全部或部分功能。
[0139]
上述托盘堆叠装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。
上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0140]
在一些实施例中,提供了一种计算机设备,该计算机设备可以是图1中的搬运设备,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图像信息以及托盘数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种托盘堆叠方法。
[0141]
本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0142]
在一些实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0143]
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0144]
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0145]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0146]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0147]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保
护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1