机器人取货方法、装置、计算机可读存储介质和仓储系统与流程

未命名 07-29 阅读:98 评论:0


1.本发明涉及仓储领域,具体而言,涉及一种机器人取货方法、装置、计算机可读存储介质和仓储系统。


背景技术:

2.无人仓库是现代信息技术在商业领域的一项创新,实现了货物从仓储、储存到包装、分拣等的智能化和无人化过程。目前,国内外许多电子商务巨头都建立了无人仓库,以解决货物或包装分拣的问题。计算机视觉与人工智能技术的技术在不断发展,机器视觉与点云数据也原来越多的运用在机器人领域。


技术实现要素:

3.本技术的主要目的在于提供一种机器人取货方法、装置、计算机可读存储介质和仓储系统,以至少解决现有技术中现有技术中机器人无法全自动取货的问题。
4.为了实现上述目的,根据本技术的一个方面,提供了一种机器人取货方法,包括:获取目标货架图像和目标货架的三维点云,所述目标货架图像为目标货架的图像,所述目标货架为待取货物所在的货架;根据所述目标货架的图像进行语义分割得到目标区域,所述目标区域为所述目标货架的图像中所述待取货物所在的区域;从所述三维点云中筛选出与所述目标区域对应的点云,得到目标点云,所述目标点云为所述待取货物对应的点云;对所述目标点云进行配准,得到所述待取货物的位姿,并根据所述待取货物的位姿控制机器人抓取所述待取货物。
5.可选地,从所述三维点云中筛选出与所述目标区域对应的点云,得到目标点云,包括:将所述三维点云的三维坐标转换为所述目标货架图像的二维坐标;筛选出与所述目标区域的所述二维坐标对应的所述三维坐标,并将筛选得到的二维坐标对应的所述三维坐标所对应的点云确定为所述目标点云。
6.可选地,根据所述目标货架的图像进行语义分割得到目标区域,包括:获取所述待取货物所在仓库的货物清单,所述货物清单包括所述仓库的所有的货物的货物名称;获取所述货物清单的货物的货物图像,所述货物图像与所述货物名称一一对应;根据各所述货物名称对各所述货物图像中的货物进行一一对应地标注,得到语义分割数据集,所述语义分割数据集包括多个标注所述货物名称的所述货物图像,所述语义分割数据集用于训练神经网络分割不同的货物的能力,所述货物名称与所述货物图像中的货物一一对应;采用所述语义分割数据集对bisenet v2网络进行网络训练得到货物语义分割模型,所述货物语义分割模型用于将所述货物图像中不同的货物进行分割;将所述目标货架的图像输入所述货物语义分割模型,得到至少一个待选区域,所述待选区域为所述目标货架的图像中标注所述货物名称的区域;将标注的所述货物名称与所述待取货物的名称相同的所述待选区域确定为所述目标区域。
7.可选地,对所述目标点云进行配准,得到所述待取货物的位姿,包括:采用4pcs算
法将所述目标点云和cad模板进行粗配准,得到一次配准模型,所述cad模板为所述待取货物的三维模型;采用icp算法对所述一次配准模型进行精配准,得到二次配准模型;将所述二次配准模型的位姿确定为所述待取货物的位姿。
8.可选地,在获取目标货架图像和目标货架的三维点云之前,所述方法还包括:获取所述目标货架的编号;根据所述目标货架的编号控制所述机器人移动至所述目标货架。
9.可选地,所述目标货架的编号为所述目标货架的apriltag码对应的id号,根据所述目标货架的编号控制所述机器人移动至所述目标货架,包括:移动步骤,控制所述机器人移动至待选货架,所述待选货架为任意一个所述货架;解析步骤,控制所述机器人获取所述待选货架的apriltag码,并解析待选货架的apriltag码得到所述待选货架的id号;依次重复所述移动步骤和所述解析步骤至少一次,直至所述待选货架的id号与所述目标货架的id号相同。
10.可选地,获取目标货架的三维点云,包括:获取生成点云,所述生成点云为深度相机对所述目标货架进行点云生成得到的;对所述生成点云进行体素滤波处理,得到所述三维点云。
11.可选地,对所述生成点云进行体素滤波处理,得到所述三维点云,包括:根据所述生成点云生成外切立方体,使得所述生成点云的所有点均位于所述外切立方体中,且至少一个所述生成点云的点位于所述外切立方体的表面上;将所述外切立方体分割成预定长度的立方体,得到多个基础立方体;获取所有的所述基础立方体的质心,使得所有的所述质心组成所述三维点云。
12.根据本技术的另一方面,提供了一种机器人取货装置,包括:获取单元,用于获取目标货架图像和目标货架的三维点云,所述目标货架图像为目标货架的图像,所述目标货架为待取货物所在的货架;第一处理单元,用于根据所述目标货架的图像进行语义分割得到目标区域,所述目标区域为所述目标货架的图像中所述待取货物所在的区域;第二处理单元,用于从所述三维点云中筛选出与所述目标区域对应的点云,得到目标点云,所述目标点云为所述待取货物对应的点云;第三处理单元,用于对所述目标点云进行配准,得到所述待取货物的位姿,并根据所述待取货物的位姿控制机器人抓取所述待取货物。
13.根据本技术的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的方法。
14.根据本技术的又一方面,提供了一种仓储系统,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
15.应用本技术的技术方案,上述机器人取货方法中,首先,获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;然后,根据上述目标货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述目标货架所在的区域;之后,从上述三维点云中筛选出与上述目标区域对应的点云,得到目标点云,上述目标点云为上述待取货物对应的点云;最后,对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取货物的位姿控制机器人抓取上述待取货物。该方法通过语义分割得到图像中待取货物所在的区域,即目标区域,从而根
据目标区域分割出待取货物对应的点云,并通过配准得到待取货物的准确位姿,即可根据待取货物的位姿控制机器人抓取待取货物,完成取货,实现机器人全自动取货,节省人力,解决了现有技术中机器人无法全自动取货的问题。
附图说明
16.图1示出了根据本技术的实施例中提供的一种执行机器人取货方法的移动终端的硬件结构框图;
17.图2示出了根据本技术的实施例提供的一种机器人取货方法的流程示意图;
18.图3示出了根据本技术的实施例提供的一种语义分割实现流程的流程示意图;
19.图4示出了根据本技术的实施例提供的一种点云滤波过程的流程示意图;
20.图5示出了根据本技术的实施例提供的另一种机器人取货方法的部分流程示意图;
21.图6示出了根据本技术的实施例提供的再一种机器人取货方法的部分流程示意图;
22.图7示出了根据本技术的实施例提供的一种机器人取货装置的结构框图。
具体实施方式
23.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
24.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
25.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
26.正如背景技术中所介绍的,现有技术中机器人无法全自动取货,为解决该问题,本技术的实施例提供了一种机器人取货方法、装置、计算机可读存储介质和仓储系统。
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
28.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种机器人取货方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备
106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
29.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备信息的显示方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
30.在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的机器人取货方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
31.图2是根据本技术实施例的机器人取货方法的流程图。如图2所示,该方法包括以下步骤:
32.步骤s201,获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;
33.具体地,使用kinectv3相机拍摄目标货架的rgb图像,得到目标货架图像,调用kinectv3深度相机进行货架货物的点云生成,得到目标货架的三维点云。
34.步骤s202,根据上述目标货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述待取货物所在的区域;
35.具体地,目标货架的图像一般存在多个货物,将目标货架的图像进行语义分割,得到多个货物对应的区域,其中,待取货物对应的区域即为目标区域。
36.步骤s203,从上述三维点云中筛选出与上述目标区域对应的点云,得到目标点云,上述目标点云为上述待取货物对应的点云;
37.具体地,根据相机投影关系,从三维点云中筛选出与目标区域对应的点云,即可在点云中分割出目标点云,得到待取货物对应的点云。
38.步骤s204,对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取货物的位姿控制机器人抓取上述待取货物。
39.具体地,通过配准校正目标点云的坐标,以得到待取货物的准确位姿,即可控制机器人准确抓取待取货物。
40.上述机器人取货方法中,首先,获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;然后,根据上述目标
货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述目标货架所在的区域;之后,从上述三维点云中筛选出与上述目标区域对应的点云,得到目标点云,上述目标点云为上述待取货物对应的点云;最后,对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取货物的位姿控制机器人抓取上述待取货物。该方法通过语义分割得到图像中待取货物所在的区域,即目标区域,从而根据目标区域分割出待取货物对应的点云,并通过配准得到待取货物的准确位姿,即可根据待取货物的位姿控制机器人抓取待取货物,完成取货,实现机器人全自动取货,节省人力,解决了现有技术中机器人无法全自动取货的问题。
41.为了提取待取货物的点云,一种可选的实施方式中,上述步骤s203包括:
42.步骤s2031,将上述三维点云的三维坐标转换为上述目标货架图像的二维坐标;
43.步骤s2032,筛选出与上述目标区域的上述二维坐标对应的上述三维坐标,并将筛选得到的二维坐标对应的三维坐标所对应的点云确定为上述目标点云。
44.具体地,将三维点云沿kinectv3相机的光轴投影至一个平面,即可得到目标货架图像的二维坐标,筛选出位于目标区域的二维坐标,即可将筛选得到的二维坐标对应的三维坐标所对应的点云确定为目标点云,即为待取货物的点云。
45.为了提取目标货架的图像中的待取货物的区域,一种可选的实施方式中,上述步骤s202包括:
46.步骤s2021,获取上述待取货物所在仓库的货物清单,上述货物清单包括上述仓库的所有的货物的货物名称;
47.步骤s2022,获取上述货物清单的货物的货物图像,上述货物图像与上述货物名称一一对应;
48.步骤s2023,根据各上述货物名称对各上述货物图像中的货物进行一一对应地标注,得到语义分割数据集,上述语义分割数据集包括多个标注上述货物名称的上述货物图像,上述语义分割数据集用于训练神经网络分割不同的货物的能力,上述货物名称与上述货物图像中的货物一一对应;
49.步骤s2024,采用上述语义分割数据集对bisenet v2网络进行网络训练得到货物语义分割模型,上述货物语义分割模型用于将上述货物图像中不同的货物进行分割;
50.步骤s2025,将上述目标货架的图像输入上述货物语义分割模型,得到至少一个待选区域,上述待选区域为上述目标货架的图像中标注上述货物名称的区域;
51.步骤s2026,将标注的上述货物名称与上述待取货物的名称相同的上述待选区域确定为上述目标区域。
52.具体地,如图3所示,首先使用labelme进行货物的标注,构建pascal voc格式的入库货物的语义分割数据集,在pc端使用bisenet v2网络进行网络训练得到新的网络模型,将网络模型转移到机器人的嵌入式开发板,运行模型,将使用kinectv3相机拍摄的中的rgb图像传入模型进行图像的语义分割,得到至少一个待选区域,即可待取货物的名称对应的待选区域确定为目标区域,完成待取货物的区域的提取。
53.为了获取待取货物的准确位姿,一种可选的实施方式中,上述步骤s204包括:
54.步骤s2041,采用4pcs算法将上述目标点云和cad模板进行粗配准,得到一次配准模型,上述cad模板为上述待取货物的三维模型;
55.步骤s2042,采用icp算法对上述一次配准模型进行精配准,得到二次配准模型;
56.步骤s2043,将上述二次配准模型的位姿确定为上述待取货物的位姿。
57.具体地,采用4pcs算法比较目标点云和cad模板的相似度,调整目标点云坐标直至相似度达到要求,完成粗配准得到一次配准模型,采用icp算法对一次配准模型进行精配准,调整目标点云坐标满足精配准要求得到二次配准模型,根据二次配准模型得到的位姿即为待取货物的准确位姿。
58.为了实现自动识别目标货架,一种可选的实施方式中,在步骤s201之前,上述方法还包括:
59.步骤s301,获取上述目标货架的编号;
60.步骤s302,根据上述目标货架的编号控制上述机器人移动至上述目标货架。
61.具体地,对货架进行编号,通过识别编号即可识别目标货架,实现自动识别目标货架,依次识别各货架的编号,找到目标货架的编号,即可控制机器人移动至目标货架。
62.为了快速识别目标货架,一种可选的实施方式中,上述目标货架的编号为上述目标货架的apriltag码对应的id号,上述步骤s302包括:
63.步骤s3021,移动步骤,控制上述机器人移动至待选货架,上述待选货架为任意一个上述货架;
64.步骤s3022,解析步骤,控制上述机器人获取上述待选货架的apriltag码,并解析待选货架的apriltag码得到上述待选货架的id号;
65.步骤s3023,依次重复上述移动步骤和上述解析步骤至少一次,直至上述待选货架的id号与上述目标货架的id号相同。
66.具体地,首先在货物入库时赋予其所放置货架的apriltag码的id号,并打印apriltag的tag25h9系列以及tag36h11系列并张贴到货架处,在收到取货需求后,机器人拍摄各个货架的apriltag码,找到和货物相同id号的货架,移动到货架处,识别简单便捷,可以快速识别目标货架。
67.为了减少计算量,一种可选的实施方式中,上述步骤s201包括:
68.步骤s2011,获取生成点云,上述生成点云为深度相机对上述目标货架进行点云生成得到的;
69.步骤s2012,对上述生成点云进行体素滤波处理,得到上述三维点云。
70.具体地,此时调用kinectv3深度相机进行货架货物的点云生成,并利用open3d库对点云进行体素滤波处理,即可实现对生成点云进行降采样,得到三维点云,以减少后续计算的工作量。
71.为了实现生成点云进行降采样,一种可选的实施方式中,上述步骤s2012包括:
72.步骤s20121,根据上述生成点云生成外切立方体,使得上述生成点云的所有点均位于上述外切立方体中,且至少一个上述生成点云的点位于上述外切立方体的表面上;
73.步骤s20122,将上述外切立方体分割成预定长度的立方体,得到多个基础立方体;
74.步骤s20123,获取所有的上述基础立方体的质心,使得所有的上述质心组成上述三维点云。
75.具体地,如图4所示,根据输入的点云,首先计算一个能够刚好包裹住该点云的立方体,然后根据设定的分辨率,将该大立方体分割成不同的小立方体,对于每一个小立方体
内的点,计算他们的质心,并用该质心的坐标来近似该立方体内的若干点,所有的上述质心组成上述三维点云,实现生成点云的降采样。
76.为了使得本领域技术人员能够更加清楚地了解本技术的技术方案,以下将结合具体的实施例对本技术的机器人取货方法的实现过程进行详细说明。
77.本实施例涉及一种具体的机器人取货方法,如图5和图6所示,包括如下步骤:
78.步骤s1:首先在货物入库时赋予其所放置货架的apriltag码的id号,并打印apriltag的tag25h9系列以及tag36h11系列并张贴到货架处,在收到取货需求后,机器人拍摄各个货架的apriltag码,找到和目标货物相同id号的货架,移动到目标货架处;
79.步骤s2:调用kinectv3深度相机进行货架货物的点云生成,并利用open3d库对点云进行体素滤波处理,过程如图3所示,根据输入的点云,首先计算一个能够刚好包裹住该点云的立方体,然后根据设定的分辨率,将该大立方体分割成不同的小立方体。对于每一个小立方体内的点,计算他们的质心,并用该质心的坐标来近似该立方体内的若干点,得到目标点云;
80.步骤s3:首先使用labelme进行货物的标注,构建pascal voc格式的入库货物的语义分割数据集,在pc端使用bisenet v2网络进行网络训练得到新的网络模型。将网络模型转移到机器人的嵌入式开发板;运行模型,将使用kinectv3相机拍摄的中的rgb图像传入模型进行图像的语义分割;
81.步骤s4:从rgb图像中分割出目标所在区域后;根据相机投影关系,在点云中分割出目标点云,获得目标物在相机坐标系中的坐标;采用4pcs算法和cad模板进行粗配准,icp算法用于精配准,得到目标在相机坐标系的位姿。传输给机器人的控制系统进行货物抓取。
82.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
83.本技术实施例还提供了一种机器人取货装置,需要说明的是,本技术实施例的机器人取货装置可以用于执行本技术实施例所提供的用于机器人取货方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
84.以下对本技术实施例提供的机器人取货装置进行介绍。
85.图7是根据本技术实施例的机器人取货装置的结构框图。如图7所示,该装置包括:
86.获取单元10,用于获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;
87.具体地,使用kinectv3相机拍摄目标货架的rgb图像,得到目标货架图像,调用kinectv3深度相机进行货架货物的点云生成,得到目标货架的三维点云。
88.第一处理单元20,用于根据上述目标货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述待取货物所在的区域;
89.具体地,目标货架的图像一般存在多个货物,将目标货架的图像进行语义分割,得到多个货物对应的区域,其中,待取货物对应的区域即为目标区域。
90.第二处理单元30,用于从上述三维点云中筛选出与上述目标区域对应的点云,得
到目标点云,上述目标点云为上述待取货物对应的点云;
91.具体地,根据相机投影关系,从三维点云中筛选出与目标区域对应的点云,即可在点云中分割出目标点云,得到待取货物对应的点云。
92.第三处理单元40,用于对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取货物的位姿控制机器人抓取上述待取货物。
93.具体地,通过配准校正目标点云的坐标,以得到待取货物的准确位姿,即可控制机器人准确抓取待取货物。
94.上述机器人取货装置中,首先,获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;然后,根据上述目标货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述目标货架所在的区域;之后,从上述三维点云中筛选出与上述目标区域对应的点云,得到目标点云,上述目标点云为上述待取货物对应的点云;最后,对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取货物的位姿控制机器人抓取上述待取货物。该装置通过语义分割得到图像中待取货物所在的区域,即目标区域,从而根据目标区域分割出待取货物对应的点云,并通过配准得到待取货物的准确位姿,即可根据待取货物的位姿控制机器人抓取待取货物,完成取货,实现机器人全自动取货,节省人力,解决了现有技术中机器人无法全自动取货的问题。
95.为了提取待取货物的点云,一种可选的实施方式中,上述第二处理单元包括:
96.第一处理模块,用于将上述三维点云的三维坐标转换为上述目标货架图像的二维坐标;
97.第二处理模块,用于筛选出与上述目标区域的上述二维坐标对应的上述三维坐标,并将筛选得到的二维坐标对应的三维坐标所对应的点云确定为上述目标点云。
98.具体地,将三维点云沿kinectv3相机的光轴投影至一个平面,即可得到目标货架图像的二维坐标,筛选出位于目标区域的二维坐标,即可将筛选得到的二维坐标对应的三维坐标所对应的点云确定为目标点云,即为待取货物的点云。
99.为了提取目标货架的图像中的待取货物的区域,一种可选的实施方式中,上述第一处理单元包括:
100.第一获取模块,用于获取上述待取货物所在仓库的货物清单,上述货物清单包括上述仓库的所有的货物的货物名称;
101.第二获取模块,用于获取上述货物清单的货物的货物图像,上述货物图像与上述货物名称一一对应;
102.第三处理模块,用于根据各上述货物名称对各上述货物图像中的货物进行一一对应地标注,得到语义分割数据集,上述语义分割数据集包括多个标注上述货物名称的上述货物图像,上述语义分割数据集用于训练神经网络分割不同的货物的能力,上述货物名称与上述货物图像中的货物一一对应;
103.第四处理模块,用于采用上述语义分割数据集对bisenet v2网络进行网络训练得到货物语义分割模型,上述货物语义分割模型用于将上述货物图像中不同的货物进行分割;
104.第五处理模块,用于将上述目标货架的图像输入上述货物语义分割模型,得到至
少一个待选区域,上述待选区域为上述目标货架的图像中标注上述货物名称的区域;
105.第一确定模块,用于将标注的上述货物名称与上述待取货物的名称相同的上述待选区域确定为上述目标区域。
106.具体地,如图3所示,首先使用labelme进行货物的标注,构建pascal voc格式的入库货物的语义分割数据集,在pc端使用bisenet v2网络进行网络训练得到新的网络模型,将网络模型转移到机器人的嵌入式开发板,运行模型,将使用kinectv3相机拍摄的中的rgb图像传入模型进行图像的语义分割,得到至少一个待选区域,即可待取货物的名称对应的待选区域确定为目标区域,完成待取货物的区域的提取。
107.为了获取待取货物的准确位姿,一种可选的实施方式中,上述第三处理单元包括:
108.第六处理模块,用于采用4pcs算法将上述目标点云和cad模板进行粗配准,得到一次配准模型,上述cad模板为上述待取货物的三维模型;
109.第七处理模块,用于采用icp算法对上述一次配准模型进行精配准,得到二次配准模型;
110.第二确定模块,用于将上述二次配准模型的位姿确定为上述待取货物的位姿。
111.具体地,采用4pcs算法比较目标点云和cad模板的相似度,调整目标点云坐标直至相似度达到要求,完成粗配准得到一次配准模型,采用icp算法对一次配准模型进行精配准,调整目标点云坐标满足精配准要求得到二次配准模型,根据二次配准模型得到的位姿即为待取货物的准确位姿。
112.为了实现自动识别目标货架,一种可选的实施方式中,上述装置还包括:
113.第三获取模块,用于在获取目标货架图像和目标货架的三维点云之前,获取上述目标货架的编号;
114.控制模块,用于根据上述目标货架的编号控制上述机器人移动至上述目标货架。
115.具体地,对货架进行编号,通过识别编号即可识别目标货架,实现自动识别目标货架,依次识别各货架的编号,找到目标货架的编号,即可控制机器人移动至目标货架。
116.为了快速识别目标货架,一种可选的实施方式中,上述目标货架的编号为上述目标货架的apriltag码对应的id号,上述控制模块包括:
117.第一控制子模块,用于执行移动步骤,控制上述机器人移动至待选货架,上述待选货架为任意一个上述货架;
118.第二控制子模块,用于执行解析步骤,控制上述机器人获取上述待选货架的apriltag码,并解析待选货架的apriltag码得到上述待选货架的id号;
119.重复子模块,用于执行依次重复上述移动步骤和上述解析步骤至少一次,直至上述待选货架的id号与上述目标货架的id号相同。
120.具体地,首先在货物入库时赋予其所放置货架的apriltag码的id号,并打印apriltag的tag25h9系列以及tag36h11系列并张贴到货架处,在收到取货需求后,机器人拍摄各个货架的apriltag码,找到和货物相同id号的货架,移动到货架处,识别简单便捷,可以快速识别目标货架。
121.为了减少计算量,一种可选的实施方式中,上述获取单元包括:
122.第四获取模块,用于获取生成点云,上述生成点云为深度相机对上述目标货架进行点云生成得到的;
123.第八处理模块,用于对上述生成点云进行体素滤波处理,得到上述三维点云。
124.具体地,此时调用kinectv3深度相机进行货架货物的点云生成,并利用open3d库对点云进行体素滤波处理,即可实现对生成点云进行降采样,得到三维点云,以减少后续计算的工作量。
125.为了实现生成点云进行降采样,一种可选的实施方式中,上述第八处理模块包括:
126.第一处理子模块,用于根据上述生成点云生成外切立方体,使得上述生成点云的所有点均位于上述外切立方体中,且至少一个上述生成点云的点位于上述外切立方体的表面上;
127.第二处理子模块,用于将上述外切立方体分割成预定长度的立方体,得到多个基础立方体;
128.第三处理子模块,用于获取所有的上述基础立方体的质心,使得所有的上述质心组成上述三维点云。
129.具体地,如图4所示,根据输入的点云,首先计算一个能够刚好包裹住该点云的立方体,然后根据设定的分辨率,将该大立方体分割成不同的小立方体,对于每一个小立方体内的点,计算他们的质心,并用该质心的坐标来近似该立方体内的若干点,所有的上述质心组成上述三维点云,实现生成点云的降采样。
130.上述机器人取货装置包括处理器和存储器,上述获取单元、第一处理单元、第二处理单元和第三处理单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
131.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中机器人无法全自动取货的问题。
132.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
133.本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述机器人的取货方法。
134.具体地,机器人的取货方法包括:
135.步骤s201,获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;
136.具体地,使用kinectv3相机拍摄目标货架的rgb图像,得到目标货架图像,调用kinectv3深度相机进行货架货物的点云生成,得到目标货架的三维点云。
137.步骤s202,根据上述目标货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述待取货物所在的区域;
138.具体地,目标货架的图像一般存在多个货物,将目标货架的图像进行语义分割,得到多个货物对应的区域,其中,待取货物对应的区域即为目标区域。
139.步骤s203,从上述三维点云中筛选出与上述目标区域对应的点云,得到目标点云,上述目标点云为上述待取货物对应的点云;
140.具体地,根据相机投影关系,从三维点云中筛选出与目标区域对应的点云,即可在点云中分割出目标点云,得到待取货物对应的点云。
141.步骤s204,对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取货物的位姿控制机器人抓取上述待取货物。
142.具体地,通过配准校正目标点云的坐标,以得到待取货物的准确位姿,即可控制机器人准确抓取待取货物。
143.可选地,上述步骤s203包括:步骤s2031,将上述三维点云的三维坐标转换为上述目标货架图像的二维坐标;步骤s2032,筛选出与上述目标区域的上述二维坐标对应的上述三维坐标,并将筛选得到的二维坐标对应的三维坐标所对应的点云确定为上述目标点云。
144.具体地,将三维点云沿kinectv3相机的光轴投影至一个平面,即可得到目标货架图像的二维坐标,筛选出位于目标区域的二维坐标,即可将筛选得到的二维坐标对应的三维坐标所对应的点云确定为目标点云,即为待取货物的点云。
145.可选地,上述步骤s202包括:步骤s2021,获取上述待取货物所在仓库的货物清单,上述货物清单包括上述仓库的所有的货物的货物名称;步骤s2022,获取上述货物清单的货物的货物图像,上述货物图像与上述货物名称一一对应;步骤s2023,根据各上述货物名称对各上述货物图像中的货物进行一一对应地标注,得到语义分割数据集,上述语义分割数据集包括多个标注上述货物名称的上述货物图像,上述语义分割数据集用于训练神经网络分割不同的货物的能力,上述货物名称与上述货物图像中的货物一一对应;步骤s2024,采用上述语义分割数据集对bisenet v2网络进行网络训练得到货物语义分割模型,上述货物语义分割模型用于将上述货物图像中不同的货物进行分割;步骤s2025,将上述目标货架的图像输入上述货物语义分割模型,得到至少一个待选区域,上述待选区域为上述目标货架的图像中标注上述货物名称的区域;步骤s2026,将标注的上述货物名称与上述待取货物的名称相同的上述待选区域确定为上述目标区域。
146.具体地,如图3所示,首先使用labelme进行货物的标注,构建pascal voc格式的入库货物的语义分割数据集,在pc端使用bisenet v2网络进行网络训练得到新的网络模型,将网络模型转移到机器人的嵌入式开发板,运行模型,将使用kinectv3相机拍摄的中的rgb图像传入模型进行图像的语义分割,得到至少一个待选区域,即可待取货物的名称对应的待选区域确定为目标区域,完成待取货物的区域的提取。
147.可选地,上述步骤s204包括:步骤s2041,采用4pcs算法将上述目标点云和cad模板进行粗配准,得到一次配准模型,上述cad模板为上述待取货物的三维模型;步骤s2042,采用icp算法对上述一次配准模型进行精配准,得到二次配准模型;步骤s2043,将上述二次配准模型的位姿确定为上述待取货物的位姿。
148.具体地,采用4pcs算法比较目标点云和cad模板的相似度,调整目标点云坐标直至相似度达到要求,完成粗配准得到一次配准模型,采用icp算法对一次配准模型进行精配准,调整目标点云坐标满足精配准要求得到二次配准模型,根据二次配准模型得到的位姿即为待取货物的准确位姿。
149.可选地,在步骤s201之前,上述方法还包括:步骤s301,获取上述目标货架的编号;步骤s302,根据上述目标货架的编号控制上述机器人移动至上述目标货架。
150.具体地,对货架进行编号,通过识别编号即可识别目标货架,实现自动识别目标货
架,依次识别各货架的编号,找到目标货架的编号,即可控制机器人移动至目标货架。
151.可选地,上述目标货架的编号为上述目标货架的apriltag码对应的id号,上述步骤s302包括:步骤s3021,移动步骤,控制上述机器人移动至待选货架,上述待选货架为任意一个上述货架;步骤s3022,解析步骤,控制上述机器人获取上述待选货架的apriltag码,并解析待选货架的apriltag码得到上述待选货架的id号;步骤s3023,依次重复上述移动步骤和上述解析步骤至少一次,直至上述待选货架的id号与上述目标货架的id号相同。
152.具体地,首先在货物入库时赋予其所放置货架的apriltag码的id号,并打印apriltag的tag25h9系列以及tag36h11系列并张贴到货架处,在收到取货需求后,机器人拍摄各个货架的apriltag码,找到和货物相同id号的货架,移动到货架处,识别简单便捷,可以快速识别目标货架。
153.可选地,上述步骤s201包括:步骤s2011,获取生成点云,上述生成点云为深度相机对上述目标货架进行点云生成得到的;步骤s2012,对上述生成点云进行体素滤波处理,得到上述三维点云。
154.具体地,此时调用kinectv3深度相机进行货架货物的点云生成,并利用open3d库对点云进行体素滤波处理,即可实现对生成点云进行降采样,得到三维点云,以减少后续计算的工作量。
155.可选地,上述步骤s2012包括:步骤s20121,根据上述生成点云生成外切立方体,使得上述生成点云的所有点均位于上述外切立方体中,且至少一个上述生成点云的点位于上述外切立方体的表面上;步骤s20122,将上述外切立方体分割成预定长度的立方体,得到多个基础立方体;步骤s20123,获取所有的上述基础立方体的质心,使得所有的上述质心组成上述三维点云。
156.具体地,如图4所示,根据输入的点云,首先计算一个能够刚好包裹住该点云的立方体,然后根据设定的分辨率,将该大立方体分割成不同的小立方体,对于每一个小立方体内的点,计算他们的质心,并用该质心的坐标来近似该立方体内的若干点,所有的上述质心组成上述三维点云,实现生成点云的降采样。
157.本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述机器人的取货方法。
158.具体地,机器人的取货方法包括:
159.步骤s201,获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;
160.具体地,使用kinectv3相机拍摄目标货架的rgb图像,得到目标货架图像,调用kinectv3深度相机进行货架货物的点云生成,得到目标货架的三维点云。
161.步骤s202,根据上述目标货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述待取货物所在的区域;
162.具体地,目标货架的图像一般存在多个货物,将目标货架的图像进行语义分割,得到多个货物对应的区域,其中,待取货物对应的区域即为目标区域。
163.步骤s203,从上述三维点云中筛选出与上述目标区域对应的点云,得到目标点云,上述目标点云为上述待取货物对应的点云;
164.具体地,根据相机投影关系,从三维点云中筛选出与目标区域对应的点云,即可在
点云中分割出目标点云,得到待取货物对应的点云。
165.步骤s204,对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取货物的位姿控制机器人抓取上述待取货物。
166.具体地,通过配准校正目标点云的坐标,以得到待取货物的准确位姿,即可控制机器人准确抓取待取货物。
167.可选地,上述步骤s203包括:步骤s2031,将上述三维点云的三维坐标转换为上述目标货架图像的二维坐标;步骤s2032,筛选出与上述目标区域的上述二维坐标对应的上述三维坐标,并将筛选得到的二维坐标对应的三维坐标所对应的点云确定为上述目标点云。
168.具体地,将三维点云沿kinectv3相机的光轴投影至一个平面,即可得到目标货架图像的二维坐标,筛选出位于目标区域的二维坐标,即可将筛选得到的二维坐标对应的三维坐标所对应的点云确定为目标点云,即为待取货物的点云。
169.可选地,上述步骤s202包括:步骤s2021,获取上述待取货物所在仓库的货物清单,上述货物清单包括上述仓库的所有的货物的货物名称;步骤s2022,获取上述货物清单的货物的货物图像,上述货物图像与上述货物名称一一对应;步骤s2023,根据各上述货物名称对各上述货物图像中的货物进行一一对应地标注,得到语义分割数据集,上述语义分割数据集包括多个标注上述货物名称的上述货物图像,上述语义分割数据集用于训练神经网络分割不同的货物的能力,上述货物名称与上述货物图像中的货物一一对应;步骤s2024,采用上述语义分割数据集对bisenet v2网络进行网络训练得到货物语义分割模型,上述货物语义分割模型用于将上述货物图像中不同的货物进行分割;步骤s2025,将上述目标货架的图像输入上述货物语义分割模型,得到至少一个待选区域,上述待选区域为上述目标货架的图像中标注上述货物名称的区域;步骤s2026,将标注的上述货物名称与上述待取货物的名称相同的上述待选区域确定为上述目标区域。
170.具体地,如图3所示,首先使用labelme进行货物的标注,构建pascal voc格式的入库货物的语义分割数据集,在pc端使用bisenet v2网络进行网络训练得到新的网络模型,将网络模型转移到机器人的嵌入式开发板,运行模型,将使用kinectv3相机拍摄的中的rgb图像传入模型进行图像的语义分割,得到至少一个待选区域,即可待取货物的名称对应的待选区域确定为目标区域,完成待取货物的区域的提取。
171.可选地,上述步骤s204包括:步骤s2041,采用4pcs算法将上述目标点云和cad模板进行粗配准,得到一次配准模型,上述cad模板为上述待取货物的三维模型;步骤s2042,采用icp算法对上述一次配准模型进行精配准,得到二次配准模型;步骤s2043,将上述二次配准模型的位姿确定为上述待取货物的位姿。
172.具体地,采用4pcs算法比较目标点云和cad模板的相似度,调整目标点云坐标直至相似度达到要求,完成粗配准得到一次配准模型,采用icp算法对一次配准模型进行精配准,调整目标点云坐标满足精配准要求得到二次配准模型,根据二次配准模型得到的位姿即为待取货物的准确位姿。
173.可选地,在步骤s201之前,上述方法还包括:步骤s301,获取上述目标货架的编号;步骤s302,根据上述目标货架的编号控制上述机器人移动至上述目标货架。
174.具体地,对货架进行编号,通过识别编号即可识别目标货架,实现自动识别目标货架,依次识别各货架的编号,找到目标货架的编号,即可控制机器人移动至目标货架。
175.可选地,上述目标货架的编号为上述目标货架的apriltag码对应的id号,上述步骤s302包括:步骤s3021,移动步骤,控制上述机器人移动至待选货架,上述待选货架为任意一个上述货架;步骤s3022,解析步骤,控制上述机器人获取上述待选货架的apriltag码,并解析待选货架的apriltag码得到上述待选货架的id号;步骤s3023,依次重复上述移动步骤和上述解析步骤至少一次,直至上述待选货架的id号与上述目标货架的id号相同。
176.具体地,首先在货物入库时赋予其所放置货架的apriltag码的id号,并打印apriltag的tag25h9系列以及tag36h11系列并张贴到货架处,在收到取货需求后,机器人拍摄各个货架的apriltag码,找到和货物相同id号的货架,移动到货架处,识别简单便捷,可以快速识别目标货架。
177.可选地,上述步骤s201包括:步骤s2011,获取生成点云,上述生成点云为深度相机对上述目标货架进行点云生成得到的;步骤s2012,对上述生成点云进行体素滤波处理,得到上述三维点云。
178.具体地,此时调用kinectv3深度相机进行货架货物的点云生成,并利用open3d库对点云进行体素滤波处理,即可实现对生成点云进行降采样,得到三维点云,以减少后续计算的工作量。
179.可选地,上述步骤s2012包括:步骤s20121,根据上述生成点云生成外切立方体,使得上述生成点云的所有点均位于上述外切立方体中,且至少一个上述生成点云的点位于上述外切立方体的表面上;步骤s20122,将上述外切立方体分割成预定长度的立方体,得到多个基础立方体;步骤s20123,获取所有的上述基础立方体的质心,使得所有的上述质心组成上述三维点云。
180.具体地,如图4所示,根据输入的点云,首先计算一个能够刚好包裹住该点云的立方体,然后根据设定的分辨率,将该大立方体分割成不同的小立方体,对于每一个小立方体内的点,计算他们的质心,并用该质心的坐标来近似该立方体内的若干点,所有的上述质心组成上述三维点云,实现生成点云的降采样。
181.本发明实施例提供了一种仓储系统,仓储系统包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
182.步骤s201,获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;
183.具体地,使用kinectv3相机拍摄目标货架的rgb图像,得到目标货架图像,调用kinectv3深度相机进行货架货物的点云生成,得到目标货架的三维点云。
184.步骤s202,根据上述目标货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述待取货物所在的区域;
185.具体地,目标货架的图像一般存在多个货物,将目标货架的图像进行语义分割,得到多个货物对应的区域,其中,待取货物对应的区域即为目标区域。
186.步骤s203,从上述三维点云中筛选出与上述目标区域对应的点云,得到目标点云,上述目标点云为上述待取货物对应的点云;
187.具体地,根据相机投影关系,从三维点云中筛选出与目标区域对应的点云,即可在点云中分割出目标点云,得到待取货物对应的点云。
188.步骤s204,对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取
货物的位姿控制机器人抓取上述待取货物。
189.具体地,通过配准校正目标点云的坐标,以得到待取货物的准确位姿,即可控制机器人准确抓取待取货物。
190.可选地,上述步骤s203包括:步骤s2031,将上述三维点云的三维坐标转换为上述目标货架图像的二维坐标;步骤s2032,筛选出与上述目标区域的上述二维坐标对应的上述三维坐标,并将筛选得到的二维坐标对应的三维坐标所对应的点云确定为上述目标点云。
191.具体地,将三维点云沿kinectv3相机的光轴投影至一个平面,即可得到目标货架图像的二维坐标,筛选出位于目标区域的二维坐标,即可将筛选得到的二维坐标对应的三维坐标所对应的点云确定为目标点云,即为待取货物的点云。
192.可选地,上述步骤s202包括:步骤s2021,获取上述待取货物所在仓库的货物清单,上述货物清单包括上述仓库的所有的货物的货物名称;步骤s2022,获取上述货物清单的货物的货物图像,上述货物图像与上述货物名称一一对应;步骤s2023,根据各上述货物名称对各上述货物图像中的货物进行一一对应地标注,得到语义分割数据集,上述语义分割数据集包括多个标注上述货物名称的上述货物图像,上述语义分割数据集用于训练神经网络分割不同的货物的能力,上述货物名称与上述货物图像中的货物一一对应;步骤s2024,采用上述语义分割数据集对bisenet v2网络进行网络训练得到货物语义分割模型,上述货物语义分割模型用于将上述货物图像中不同的货物进行分割;步骤s2025,将上述目标货架的图像输入上述货物语义分割模型,得到至少一个待选区域,上述待选区域为上述目标货架的图像中标注上述货物名称的区域;步骤s2026,将标注的上述货物名称与上述待取货物的名称相同的上述待选区域确定为上述目标区域。
193.具体地,如图3所示,首先使用labelme进行货物的标注,构建pascal voc格式的入库货物的语义分割数据集,在pc端使用bisenet v2网络进行网络训练得到新的网络模型,将网络模型转移到机器人的嵌入式开发板,运行模型,将使用kinectv3相机拍摄的中的rgb图像传入模型进行图像的语义分割,得到至少一个待选区域,即可待取货物的名称对应的待选区域确定为目标区域,完成待取货物的区域的提取。
194.可选地,上述步骤s204包括:步骤s2041,采用4pcs算法将上述目标点云和cad模板进行粗配准,得到一次配准模型,上述cad模板为上述待取货物的三维模型;步骤s2042,采用icp算法对上述一次配准模型进行精配准,得到二次配准模型;步骤s2043,将上述二次配准模型的位姿确定为上述待取货物的位姿。
195.具体地,采用4pcs算法比较目标点云和cad模板的相似度,调整目标点云坐标直至相似度达到要求,完成粗配准得到一次配准模型,采用icp算法对一次配准模型进行精配准,调整目标点云坐标满足精配准要求得到二次配准模型,根据二次配准模型得到的位姿即为待取货物的准确位姿。
196.可选地,在步骤s201之前,上述方法还包括:步骤s301,获取上述目标货架的编号;步骤s302,根据上述目标货架的编号控制上述机器人移动至上述目标货架。
197.具体地,对货架进行编号,通过识别编号即可识别目标货架,实现自动识别目标货架,依次识别各货架的编号,找到目标货架的编号,即可控制机器人移动至目标货架。
198.可选地,上述目标货架的编号为上述目标货架的apriltag码对应的id号,上述步骤s302包括:步骤s3021,移动步骤,控制上述机器人移动至待选货架,上述待选货架为任意
一个上述货架;步骤s3022,解析步骤,控制上述机器人获取上述待选货架的apriltag码,并解析待选货架的apriltag码得到上述待选货架的id号;步骤s3023,依次重复上述移动步骤和上述解析步骤至少一次,直至上述待选货架的id号与上述目标货架的id号相同。
199.具体地,首先在货物入库时赋予其所放置货架的apriltag码的id号,并打印apriltag的tag25h9系列以及tag36h11系列并张贴到货架处,在收到取货需求后,机器人拍摄各个货架的apriltag码,找到和货物相同id号的货架,移动到货架处,识别简单便捷,可以快速识别目标货架。
200.可选地,上述步骤s201包括:步骤s2011,获取生成点云,上述生成点云为深度相机对上述目标货架进行点云生成得到的;步骤s2012,对上述生成点云进行体素滤波处理,得到上述三维点云。
201.具体地,此时调用kinectv3深度相机进行货架货物的点云生成,并利用open3d库对点云进行体素滤波处理,即可实现对生成点云进行降采样,得到三维点云,以减少后续计算的工作量。
202.可选地,上述步骤s2012包括:步骤s20121,根据上述生成点云生成外切立方体,使得上述生成点云的所有点均位于上述外切立方体中,且至少一个上述生成点云的点位于上述外切立方体的表面上;步骤s20122,将上述外切立方体分割成预定长度的立方体,得到多个基础立方体;步骤s20123,获取所有的上述基础立方体的质心,使得所有的上述质心组成上述三维点云。
203.具体地,如图4所示,根据输入的点云,首先计算一个能够刚好包裹住该点云的立方体,然后根据设定的分辨率,将该大立方体分割成不同的小立方体,对于每一个小立方体内的点,计算他们的质心,并用该质心的坐标来近似该立方体内的若干点,所有的上述质心组成上述三维点云,实现生成点云的降采样。
204.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
205.步骤s201,获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;
206.具体地,使用kinectv3相机拍摄目标货架的rgb图像,得到目标货架图像,调用kinectv3深度相机进行货架货物的点云生成,得到目标货架的三维点云。
207.步骤s202,根据上述目标货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述待取货物所在的区域;
208.具体地,目标货架的图像一般存在多个货物,将目标货架的图像进行语义分割,得到多个货物对应的区域,其中,待取货物对应的区域即为目标区域。
209.步骤s203,从上述三维点云中筛选出与上述目标区域对应的点云,得到目标点云,上述目标点云为上述待取货物对应的点云;
210.具体地,根据相机投影关系,从三维点云中筛选出与目标区域对应的点云,即可在点云中分割出目标点云,得到待取货物对应的点云。
211.步骤s204,对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取货物的位姿控制机器人抓取上述待取货物。
212.具体地,通过配准校正目标点云的坐标,以得到待取货物的准确位姿,即可控制机
器人准确抓取待取货物。
213.可选地,上述步骤s203包括:步骤s2031,将上述三维点云的三维坐标转换为上述目标货架图像的二维坐标;步骤s2032,筛选出与上述目标区域的上述二维坐标对应的上述三维坐标,并将筛选得到的二维坐标对应的三维坐标所对应的点云确定为上述目标点云。
214.具体地,将三维点云沿kinectv3相机的光轴投影至一个平面,即可得到目标货架图像的二维坐标,筛选出位于目标区域的二维坐标,即可将筛选得到的二维坐标对应的三维坐标所对应的点云确定为目标点云,即为待取货物的点云。
215.可选地,上述步骤s202包括:步骤s2021,获取上述待取货物所在仓库的货物清单,上述货物清单包括上述仓库的所有的货物的货物名称;步骤s2022,获取上述货物清单的货物的货物图像,上述货物图像与上述货物名称一一对应;步骤s2023,根据各上述货物名称对各上述货物图像中的货物进行一一对应地标注,得到语义分割数据集,上述语义分割数据集包括多个标注上述货物名称的上述货物图像,上述语义分割数据集用于训练神经网络分割不同的货物的能力,上述货物名称与上述货物图像中的货物一一对应;步骤s2024,采用上述语义分割数据集对bisenet v2网络进行网络训练得到货物语义分割模型,上述货物语义分割模型用于将上述货物图像中不同的货物进行分割;步骤s2025,将上述目标货架的图像输入上述货物语义分割模型,得到至少一个待选区域,上述待选区域为上述目标货架的图像中标注上述货物名称的区域;步骤s2026,将标注的上述货物名称与上述待取货物的名称相同的上述待选区域确定为上述目标区域。
216.具体地,如图3所示,首先使用labelme进行货物的标注,构建pascal voc格式的入库货物的语义分割数据集,在pc端使用bisenet v2网络进行网络训练得到新的网络模型,将网络模型转移到机器人的嵌入式开发板,运行模型,将使用kinectv3相机拍摄的中的rgb图像传入模型进行图像的语义分割,得到至少一个待选区域,即可待取货物的名称对应的待选区域确定为目标区域,完成待取货物的区域的提取。
217.可选地,上述步骤s204包括:步骤s2041,采用4pcs算法将上述目标点云和cad模板进行粗配准,得到一次配准模型,上述cad模板为上述待取货物的三维模型;步骤s2042,采用icp算法对上述一次配准模型进行精配准,得到二次配准模型;步骤s2043,将上述二次配准模型的位姿确定为上述待取货物的位姿。
218.具体地,采用4pcs算法比较目标点云和cad模板的相似度,调整目标点云坐标直至相似度达到要求,完成粗配准得到一次配准模型,采用icp算法对一次配准模型进行精配准,调整目标点云坐标满足精配准要求得到二次配准模型,根据二次配准模型得到的位姿即为待取货物的准确位姿。
219.可选地,在步骤s201之前,上述方法还包括:步骤s301,获取上述目标货架的编号;步骤s302,根据上述目标货架的编号控制上述机器人移动至上述目标货架。
220.具体地,对货架进行编号,通过识别编号即可识别目标货架,实现自动识别目标货架,依次识别各货架的编号,找到目标货架的编号,即可控制机器人移动至目标货架。
221.可选地,上述目标货架的编号为上述目标货架的apriltag码对应的id号,上述步骤s302包括:步骤s3021,移动步骤,控制上述机器人移动至待选货架,上述待选货架为任意一个上述货架;步骤s3022,解析步骤,控制上述机器人获取上述待选货架的apriltag码,并解析待选货架的apriltag码得到上述待选货架的id号;步骤s3023,依次重复上述移动步骤
和上述解析步骤至少一次,直至上述待选货架的id号与上述目标货架的id号相同。
222.具体地,首先在货物入库时赋予其所放置货架的apriltag码的id号,并打印apriltag的tag25h9系列以及tag36h11系列并张贴到货架处,在收到取货需求后,机器人拍摄各个货架的apriltag码,找到和货物相同id号的货架,移动到货架处,识别简单便捷,可以快速识别目标货架。
223.可选地,上述步骤s201包括:步骤s2011,获取生成点云,上述生成点云为深度相机对上述目标货架进行点云生成得到的;步骤s2012,对上述生成点云进行体素滤波处理,得到上述三维点云。
224.具体地,此时调用kinectv3深度相机进行货架货物的点云生成,并利用open3d库对点云进行体素滤波处理,即可实现对生成点云进行降采样,得到三维点云,以减少后续计算的工作量。
225.可选地,上述步骤s2012包括:步骤s20121,根据上述生成点云生成外切立方体,使得上述生成点云的所有点均位于上述外切立方体中,且至少一个上述生成点云的点位于上述外切立方体的表面上;步骤s20122,将上述外切立方体分割成预定长度的立方体,得到多个基础立方体;步骤s20123,获取所有的上述基础立方体的质心,使得所有的上述质心组成上述三维点云。
226.具体地,如图4所示,根据输入的点云,首先计算一个能够刚好包裹住该点云的立方体,然后根据设定的分辨率,将该大立方体分割成不同的小立方体,对于每一个小立方体内的点,计算他们的质心,并用该质心的坐标来近似该立方体内的若干点,所有的上述质心组成上述三维点云,实现生成点云的降采样。
227.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
228.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
229.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
230.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
231.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
232.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
233.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
234.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
235.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
236.从以上的描述中,可以看出,本技术上述的实施例实现了如下技术效果:
237.1)、本技术的机器人取货方法中,首先,获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;然后,根据上述目标货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述目标货架所在的区域;之后,从上述三维点云中筛选出与上述目标区域对应的点云,得到目标点云,上述目标点云为上述待取货物对应的点云;最后,对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取货物的位姿控制机器人抓取上述待取货物。该方法通过语义分割得到图像中待取货物所在的区域,即目标区域,从而根据目标区域分割出待取货物对应的点云,并通过配准得到待取货物的准确位姿,即可根据待取货物的位姿控制机器人抓取待取货物,完成取货,实现机器人全自动取货,节省人力,解决了现有技术中机器人无法全自动取货的问题。
238.2)、本技术的机器人取货装置中,首先,获取目标货架图像和目标货架的三维点云,上述目标货架图像为目标货架的图像,上述目标货架为待取货物所在的货架;然后,根据上述目标货架的图像进行语义分割得到目标区域,上述目标区域为上述目标货架的图像中上述目标货架所在的区域;之后,从上述三维点云中筛选出与上述目标区域对应的点云,
得到目标点云,上述目标点云为上述待取货物对应的点云;最后,对上述目标点云进行配准,得到上述待取货物的位姿,并根据上述待取货物的位姿控制机器人抓取上述待取货物。该装置通过语义分割得到图像中待取货物所在的区域,即目标区域,从而根据目标区域分割出待取货物对应的点云,并通过配准得到待取货物的准确位姿,即可根据待取货物的位姿控制机器人抓取待取货物,完成取货,实现机器人全自动取货,节省人力,解决了现有技术中机器人无法全自动取货的问题。
239.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种机器人取货方法,其特征在于,包括:获取目标货架图像和目标货架的三维点云,所述目标货架图像为目标货架的图像,所述目标货架为待取货物所在的货架;根据所述目标货架的图像进行语义分割得到目标区域,所述目标区域为所述目标货架的图像中所述待取货物所在的区域;从所述三维点云中筛选出与所述目标区域对应的点云,得到目标点云,所述目标点云为所述待取货物对应的点云;对所述目标点云进行配准,得到所述待取货物的位姿,并根据所述待取货物的位姿控制机器人抓取所述待取货物。2.根据权利要求1所述的方法,其特征在于,从所述三维点云中筛选出与所述目标区域对应的点云,得到目标点云,包括:将所述三维点云的三维坐标转换为所述目标货架图像的二维坐标;筛选出与所述目标区域的所述二维坐标对应的所述三维坐标,并将筛选得到的二维坐标对应的所述三维坐标所对应的点云确定为所述目标点云。3.根据权利要求1所述的方法,其特征在于,根据所述目标货架的图像进行语义分割得到目标区域,包括:获取所述待取货物所在仓库的货物清单,所述货物清单包括所述仓库的所有的货物的货物名称;获取所述货物清单的货物的货物图像,所述货物图像与所述货物名称一一对应;根据各所述货物名称对各所述货物图像中的货物进行一一对应地标注,得到语义分割数据集,所述语义分割数据集包括多个标注所述货物名称的所述货物图像,所述语义分割数据集用于训练神经网络分割不同的货物的能力,所述货物名称与所述货物图像中的货物一一对应;采用所述语义分割数据集对bisenet v2网络进行网络训练得到货物语义分割模型,所述货物语义分割模型用于将所述货物图像中不同的货物进行分割;将所述目标货架的图像输入所述货物语义分割模型,得到至少一个待选区域,所述待选区域为所述目标货架的图像中标注所述货物名称的区域;将标注的所述货物名称与所述待取货物的名称相同的所述待选区域确定为所述目标区域。4.根据权利要求1所述的方法,其特征在于,对所述目标点云进行配准,得到所述待取货物的位姿,包括:采用4pcs算法将所述目标点云和cad模板进行粗配准,得到一次配准模型,所述cad模板为所述待取货物的三维模型;采用icp算法对所述一次配准模型进行精配准,得到二次配准模型;将所述二次配准模型的位姿确定为所述待取货物的位姿。5.根据权利要求1至4任一项所述的方法,其特征在于,在获取目标货架图像和目标货架的三维点云之前,所述方法还包括:获取所述目标货架的编号;根据所述目标货架的编号控制所述机器人移动至所述目标货架。
6.根据权利要求5所述的方法,其特征在于,所述目标货架的编号为所述目标货架的apriltag码对应的id号,根据所述目标货架的编号控制所述机器人移动至所述目标货架,包括:移动步骤,控制所述机器人移动至待选货架,所述待选货架为任意一个所述货架;解析步骤,控制所述机器人获取所述待选货架的apriltag码,并解析待选货架的apriltag码得到所述待选货架的id号;依次重复所述移动步骤和所述解析步骤至少一次,直至所述待选货架的id号与所述目标货架的id号相同。7.根据权利要求1至4任一项所述的方法,其特征在于,获取目标货架的三维点云,包括:获取生成点云,所述生成点云为深度相机对所述目标货架进行点云生成得到的;对所述生成点云进行体素滤波处理,得到所述三维点云。8.根据权利要求7所述的方法,其特征在于,对所述生成点云进行体素滤波处理,得到所述三维点云,包括:根据所述生成点云生成外切立方体,使得所述生成点云的所有点均位于所述外切立方体中,且至少一个所述生成点云的点位于所述外切立方体的表面上;将所述外切立方体分割成预定长度的立方体,得到多个基础立方体;获取所有的所述基础立方体的质心,使得所有的所述质心组成所述三维点云。9.一种机器人取货装置,其特征在于,包括:获取单元,用于获取目标货架图像和目标货架的三维点云,所述目标货架图像为目标货架的图像,所述目标货架为待取货物所在的货架;第一处理单元,用于根据所述目标货架的图像进行语义分割得到目标区域,所述目标区域为所述目标货架的图像中所述待取货物所在的区域;第二处理单元,用于从所述三维点云中筛选出与所述目标区域对应的点云,得到目标点云,所述目标点云为所述待取货物对应的点云;第三处理单元,用于对所述目标点云进行配准,得到所述待取货物的位姿,并根据所述待取货物的位姿控制机器人抓取所述待取货物。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的方法。11.一种仓储系统,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至8中任意一项所述的方法。

技术总结
本申请提供了一种机器人取货方法、装置、计算机可读存储介质和仓储系统,该方法包括:获取目标货架图像和目标货架的三维点云,目标货架图像为目标货架的图像,目标货架为待取货物所在的货架;根据目标货架的图像进行语义分割得到目标区域,目标区域为目标货架的图像中待取货物所在的区域;从三维点云中筛选出与目标区域对应的点云,得到目标点云,目标点云为待取货物对应的点云;对目标点云进行配准,得到待取货物的位姿,并根据待取货物的位姿控制机器人抓取待取货物,解决了现有技术中现有技术中机器人无法全自动取货的问题。术中机器人无法全自动取货的问题。术中机器人无法全自动取货的问题。


技术研发人员:王志浩 谭泽汉 杨双赫 胡道君 张志伟 高彩红
受保护的技术使用者:珠海格力电器股份有限公司
技术研发日:2023.04.14
技术公布日:2023/7/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐