发明内容
有鉴于此,本发明实施例提供一种堆叠物品的顺序抓取方法和装置,能够准确地进行物品识别和确定物品位置,使得物品抓取更准确、方便、高效,从而大大降低了抓取物品时箱内碰撞的几率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种堆叠物品的顺序抓取方法。
一种堆叠物品的顺序抓取方法,包括:从堆叠物品的点云数据中分割出最上面一层物品的点云,并获取分割出的点云的三维坐标;对所述分割出的点云,利用二维相机和三维相机的标定关系,将所述分割出的点云的三维坐标映射成物品的二维图像上的二维坐标;根据所述二维坐标从所述物品的二维图像中抠出对应区域,并在所述区域内进行物品识别;根据识别到的物品的二维坐标获取对应的点云的三维坐标,并根据获取的点云的三维坐标计算所述识别到的物品的中心位置和端拾器的抓取姿态,以进行物品抓取。
可选地,从堆叠物品的点云数据中分割出最上面一层物品的点云包括:通过计算堆叠物品的点云数据中每个点云到拣选工位平面的距离,并根据设定的点云数阈值与层的厚度阈值,分割出最上面一层物品的点云。
可选地,根据所述二维坐标从所述物品的二维图像中抠出对应区域包括:获取由所述二维坐标组成的图形的最小外接矩形的坐标范围;根据所述坐标范围从所述物品的二维图像中抠出所述最小外接矩形所对应的区域。
可选地,在将所述分割出的点云的三维坐标映射成物品的二维图像上的二维坐标之后,还包括:生成与所述物品的二维图像大小相同的点云矩阵;并且,根据识别到的物品的二维坐标获取对应的点云的三维坐标包括:根据识别到的物品的二维坐标从所述点云矩阵中获取对应的点云的三维坐标。
可选地,生成与所述物品的二维图像大小相同的点云矩阵包括:通过使用指定数据对所述分割出的点云的三维坐标进行扩充,以生成与所述物品的二维图像大小相同的点云矩阵;并且,根据识别到的物品的二维坐标获取对应的点云的三维坐标包括:根据识别到的物品的二维坐标从所述点云矩阵中取出所述二维坐标对应的位置存放的三维坐标;对取出的三维坐标进行处理,从中删除所述指定数据以得到有效的三维坐标;根据所述有效的三维坐标得到对应的点云的三维坐标。
根据本发明实施例的另一方面,提供了一种堆叠物品的顺序抓取装置。
一种堆叠物品的顺序抓取装置,包括:点云分割模块,用于从堆叠物品的点云数据中分割出最上面一层物品的点云,并获取分割出的点云的三维坐标;坐标映射模块,用于对所述分割出的点云,利用二维相机和三维相机的标定关系,将所述分割出的点云的三维坐标映射成物品的二维图像上的二维坐标;物品识别模块,用于根据所述二维坐标从所述物品的二维图像中抠出对应区域,并在所述区域内进行物品识别;点云计算模块,用于根据识别到的物品的二维坐标获取对应的点云的三维坐标,并根据获取的点云的三维坐标计算所述识别到的物品的中心位置和端拾器的抓取姿态,以进行物品抓取。
可选地,所述点云分割模块还用于:通过计算堆叠物品的点云数据中每个点云到拣选工位平面的距离,并根据设定的点云数阈值与层的厚度阈值,分割出最上面一层物品的点云。
可选地,所述物品识别模块还用于:获取由所述二维坐标组成的图形的最小外接矩形的坐标范围;根据所述坐标范围从所述物品的二维图像中抠出所述最小外接矩形所对应的区域。
可选地,还包括矩阵生成模块,用于:在将所述分割出的点云的三维坐标映射成物品的二维图像上的二维坐标之后,生成与所述物品的二维图像大小相同的点云矩阵;并且,所述点云计算模块还用于:根据识别到的物品的二维坐标从所述点云矩阵中获取对应的点云的三维坐标。
可选地,所述矩阵生成模块还用于:通过使用指定数据对所述分割出的点云的三维坐标进行扩充,以生成与所述物品的二维图像大小相同的点云矩阵;并且,所述点云计算模块还用于:根据识别到的物品的二维坐标从所述点云矩阵中取出所述二维坐标对应的位置存放的三维坐标;对取出的三维坐标进行处理,从中删除所述指定数据以得到有效的三维坐标;根据所述有效的三维坐标得到对应的点云的三维坐标。
根据本发明实施例的又一方面,提供了一种顺序抓取堆叠物品的电子设备。
一种顺序抓取堆叠物品的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的堆叠物品的顺序抓取方法。
根据本发明实施例的再一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的堆叠物品的顺序抓取方法。
上述发明中的一个实施例具有如下优点或有益效果:通过从堆叠物品的点云数据中分割出最上面一层物品的点云,并获取分割出的点云的三维坐标;然后将分割出的点云的三维坐标映射成所述物品的二维图像上的二维坐标;再根据所述二维坐标从所述物品的二维图像中抠出对应区域,并在所述区域内进行物品识别;最后,根据识别到的物品的二维坐标获取对应的点云的三维坐标,并根据获取的点云的三维坐标计算所述识别到的物品的中心位置和端拾器的抓取姿态,以进行物品抓取,实现了利用3D相机点云数据实现商品分层,然后根据标定关系提取2D图像上对应区域并进行物品识别,从而实现了对物品的分层识别,既可以准确地进行物品识别,又可以准确地确定物品位置,使得物品抓取更准确、方便、高效,从而大大降低了抓取物品时箱内碰撞的几率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是本发明实施例的机器人箱内拣选作业场景示意图。如图1所示,在本发明的实施例中,相机预先安装于待抓取物品的周转箱上方,且包括2D(二维)相机和3D(三维)相机,2D相机的分辨率高,有利于物品识别,3D相机拍摄的点云用于分层识别和目标物品的中心位置与端拾器的姿态计算。并且,在相机安装好后即进行了两个相机的标定。机器人被固定在拣选工位附近,且通过上方的端拾器从位于拣选工位上的周转箱内进行物品抓取。
图2是本发明实施例的周转箱内方形物品摆放示意图。如图2所示,周转箱内的方形物品挨个摆放,且物品位置固定不会摆动。
当物品分拣系统下发拣选任务后,会把放置待抓取物品的周转箱安放至机器人拣选系统的拣选工位,机器人根据本发明的物品抓取系统计算的目标物品的中心位置和端拾器的位姿来抓取物品。
图3是根据本发明实施例的堆叠物品的顺序抓取方法的主要步骤示意图。如图3所示,本发明实施例的堆叠物品的顺序抓取方法主要包括如下的步骤S301至步骤S304。
步骤S301:从堆叠物品的点云数据中分割出最上面一层物品的点云,并获取分割出的点云的三维坐标。
根据本发明的一个实施例,步骤S301在从堆叠物品的点云数据中分割出最上面一层物品的点云时,具体可以是:
通过计算堆叠物品的点云数据中每个点云到拣选工位平面的距离,并根据设定的点云数阈值与层的厚度阈值,分割出最上面一层物品的点云。
具体地,例如是:将周转箱内的物品的点云投影到拣选工位对应的平面上,然后计算物品的点云数据中每个点云到拣选工位平面的距离。其中,拣选工位的平面方程为预先算好的预置数据。在得到每个点云到拣选工位平面的距离后,还可以统计距离直方图,并根据距离直方图来进行后续的点云分割。
在进行点云分割时,可以根据设定的点云数阈值与层的厚度阈值,分割出最上面一层物品的点云。一般情况下,由于点云数据的精度不够高,因此,在根据点云进行层次确认时,可设定每一层的点云数阈值,当点云数不少于该阈值时即可认为这些点云可以构成一层。同时,还可以设定每一层的厚度阈值,根据待抓取的物品的厚度即可确定每一层的厚度阈值,当点云块的深度满足该厚度阈值时,即可认为这些点云可以构成一层。具体实现过程中,为了精确进行点云分割,可以根据设定的点云数阈值和层的厚度阈值,来确定最上面一层物品对应的点云,并将其分割出来,进行后续处理。应当注意的是,最上面一层物品的点云可能是一整块数据,也可能包括多块数据,由物品的摆放位置来决定。
在进行点云分割时,还需要获取这些被分割出的点云的三维坐标,并保存到一个二维矩阵中,其中,矩阵中每个位置即为一个点云的(x,y,z)三维坐标。然后将根据这些点云的三维坐标得到分割出的点云的轮廓,以得到此次待处理的有效区域。当点云有多块时,每一块点云的三维坐标集合对应保存到一个二维矩阵中。相应地,后续在进行进一步处理时,也是每一块点云分别进行处理。
由于2D相机的分辨率高,有利于物品识别,因此本发明在得到最上面一层物品的点云之后,将其映射到二维图像上来进行最上面一层物品的识别,从而可以提高识别精度。
步骤S302:对分割出的点云,利用二维相机和三维相机的标定关系,将分割出的点云的三维坐标映射成物品的二维图像上的二维坐标。
其中,2D相机和3D相机的标定关系P34,可由2D相机的内参矩阵M33和通过标定获得的2D相机和3D相机之间的外参矩阵T34相乘得到。即:
P34=M33*T34=M33*[R33t31];
其中,M33为2D相机的内参矩阵,为3×3矩阵,是固有参数;T34是通过标定获得的2D相机与3D相机之间的外参矩阵,为3×4矩阵,包含旋转分量R33(为3×3矩阵)与平移分量t31(为3×1矩阵),外参标定可采用现有技术来实现。
在进行点云坐标映射时,可以逐一把分割出的点云的三维坐标(x,y,z)映射到二维图像坐标系下的二维坐标(U,V)。其中,二维图像坐标系一般以图像的左上角顶点为原点,以水平向右的方向为X轴正方向,以竖直向下的方向为Y轴正方向来建立。(U,V)可通过如下公式计算:
根据上述的方法即可将分割出的点云的三维坐标映射到二维图像坐标系下的二维坐标。
步骤S303:根据二维坐标从物品的二维图像中抠出对应区域,并在区域内进行物品识别。
根据本发明的一个实施例,根据二维坐标从物品的二维图像中抠出对应区域时,具体可以是:
获取由二维坐标组成的图形的最小外接矩形的坐标范围;
根据坐标范围从物品的二维图像中抠出最小外接矩形所对应的区域。
在获取由二维坐标组成的图形的最小外接矩形的坐标范围时,具体可以是根据二维坐标值中的最小值(Umin,Vmin)和最大值(Umax,Vmax)来得到。之后,即可从物品的二维图像中抠出最小外接矩形对应的区域,其中,在抠图时,具体指的是从二维图像中取出最小外接矩形区域内的数据。
由于最上面一层物品可能有一个或多个,因此在进行物品识别时,识别得到的目标物品也会对应的有一个或多个。
步骤S304:根据识别到的物品的二维坐标获取对应的点云的三维坐标,并根据获取的点云的三维坐标计算识别到的物品的中心位置和端拾器的抓取姿态,以进行物品抓取。
根据本发明的技术方案,由于识别到的物品可能是一个或多个,那么,在进行物品抓取时,即需要分别针对每个物品,根据其对应的点云数据计算其中心位置和端拾器的抓取状态。物品的中心位置是指物品的中心点在机器人世界坐标系中的坐标;端拾器的抓取姿态是指机器人抓取物品时,机器人末端工具(端拾器)坐标系与机器人世界坐标系的关系。识别到物品之后,由物品最小外接矩形的中心点可以计算出物品的中心位置,端拾器的抓取姿态的计算是以物品外接矩形的两个边以及平面法线建立局部坐标系,机器人抓取物品的正确姿态就是使机器人末端的端拾器的工具坐标系与物品上建立的局部坐标系重合。
根据本发明实施例的技术方案,为了实现根据识别到的物品的二维坐标来获取对应的点云,可以在将分割出的点云的三维坐标映射成物品的二维图像上的二维坐标之后,生成与物品的二维图像大小相同的点云矩阵;并且,根据识别到的物品的二维坐标从点云矩阵中获取对应的点云的三维坐标。该点云矩阵与二维图像的大小相同,且点云矩阵的某一个二维坐标(U,V)这个位置存储的即为对应点云的三维坐标数据(x,y,z),因此,可通过生成该点云矩阵,并从该点云矩阵中获取物品的二维坐标对应的点云的三维坐标。由于二维图像是由一个个像素点构成的,因此,每个二维图像可以由一个二维矩阵来表示,二维矩阵中第V行第U列(通过二维坐标(U,V)来标识)的元素即为对应点云的三维坐标数据(x,y,z)。
由于2D相机的像素远比3D相机的像素高,那么在将点云的三维坐标映射到二维图像坐标系下时,得到的结果就很稀疏。为了后面可以根据识别到的物品的二维坐标获取到对应的点云,即需要进行数据扩充,以得到与物品的二维图像大小相同的点云矩阵。
根据本发明的实施例,在生成与物品的二维图像大小相同的点云矩阵时,具体可以是:通过使用指定数据对分割出的点云的三维坐标进行扩充,以生成与物品的二维图像大小相同的点云矩阵。并且,在根据识别到的物品的二维坐标获取对应的点云的三维坐标时,可通过以下步骤实现:
根据识别到的物品的二维坐标从点云矩阵中取出二维坐标对应的位置存放的三维坐标;
对取出的三维坐标进行处理,从中删除指定数据以得到有效的三维坐标;
根据有效的三维坐标得到对应的点云的三维坐标。
在进行数据扩充时,所使用的数据并非是真实的点云数据,即为无效数据。在具体实现时,可使用指定数据作为无效数据,以便于后续在根据二维坐标从点云矩阵中获取到三维坐标后,删除该部分无效数据,保证处理结果的准确性。
图4是本发明实施例的实现流程示意图。如图4所示,其示出了本发明一个实施例的具体实现流程,主要包括以下步骤:
(1)统计周转箱中物品的点云分布。此步骤在实现时,可首先统计图1所示场景的点云分布,然后从中抽取周转箱中物品的点云分布;
(2)计算物品的点云中每一个点云到拣选工位平面的距离,并统计距离直方图。其中,拣选工位的平面方程为事先算好的预置数据;
(3)分割出最上面一层的点云。根据统计的距离直方图,以及设定的每层包括的点数阈值和层的厚度阈值,分割出最上面一层的点云;
(4)提取分割出的点云的轮廓,获得有效区域;
(5)对分割出的每个点云,将其三维坐标(x,y,z)映射成二维图像坐标(U,V)。具体地,根据2D相机与3D相机的标定关系来实现坐标映射;
(6)生成与2D图像大小相同的点云矩阵。其中,该点云矩阵中的(U,V)位置存放对应点云的三维坐标(x,y,z);
(7)计算得到的(U,V)坐标组成的最小外接矩形的坐标范围;
(8)从2D图像上抠出最小外接矩形对应的区域;
(9)在所抠出的区域内进行目标物品的识别;
(10)根据识别结果,从点云矩阵中取出每个目标物品所对应位置的点云的三维坐标(x,y,z);
(11)计算目标物品的中心位置和端拾器的抓取姿态,并发送给机械臂进行物品抓取。
图5是根据本发明实施例的堆叠物品的顺序抓取装置的主要模块示意图。如图5所示,本发明实施例的堆叠物品的顺序抓取装置500主要包括点云分割模块501、坐标映射模块502、物品识别模块503和点云计算模块504。
点云分割模块501,用于从堆叠物品的点云数据中分割出最上面一层物品的点云,并获取分割出的点云的三维坐标;
坐标映射模块502,用于对所述分割出的点云,利用二维相机和三维相机的标定关系,将所述分割出的点云的三维坐标映射成物品的二维图像上的二维坐标;
物品识别模块503,用于根据所述二维坐标从所述物品的二维图像中抠出对应区域,并在所述区域内进行物品识别;
点云计算模块504,用于根据识别到的物品的二维坐标获取对应的点云的三维坐标,并根据获取的点云的三维坐标计算所述识别到的物品的中心位置和端拾器的抓取姿态,以进行物品抓取。
根据本发明的一个实施例,点云分割模块501还可以用于:
通过计算堆叠物品的点云数据中每个点云到拣选工位平面的距离,并根据设定的点云数阈值与层的厚度阈值,分割出最上面一层物品的点云。
根据本发明的另一个实施例,物品识别模块503还可以用于:
获取由所述二维坐标组成的图形的最小外接矩形的坐标范围;
根据所述坐标范围从所述物品的二维图像中抠出所述最小外接矩形所对应的区域。
根据本发明的又一个实施例,堆叠物品的顺序抓取装置500还可以包括矩阵生成模块(图中未示出),用于:
在将所述分割出的点云的三维坐标映射成物品的二维图像上的二维坐标之后,生成与所述物品的二维图像大小相同的点云矩阵;
并且,点云计算模块504还可以用于:
根据识别到的物品的二维坐标从所述点云矩阵中获取对应的点云的三维坐标。
根据本发明的再一个实施例,矩阵生成模块还可以用于:
通过使用指定数据对所述分割出的点云的三维坐标进行扩充,以生成与所述物品的二维图像大小相同的点云矩阵;
并且,点云计算模块504还可以用于:
根据识别到的物品的二维坐标从所述点云矩阵中取出所述二维坐标对应的位置存放的三维坐标;
对取出的三维坐标进行处理,从中删除所述指定数据以得到有效的三维坐标;
根据所述有效的三维坐标得到对应的点云的三维坐标。
根据本发明实施例的技术方案,通过从堆叠物品的点云数据中分割出最上面一层物品的点云,并获取分割出的点云的三维坐标;然后将分割出的点云的三维坐标映射成所述物品的二维图像上的二维坐标;再根据所述二维坐标从所述物品的二维图像中抠出对应区域,并在所述区域内进行物品识别;最后,根据识别到的物品的二维坐标获取对应的点云的三维坐标,并根据获取的点云的三维坐标计算所述识别到的物品的中心位置和端拾器的抓取姿态,以进行物品抓取,实现了利用3D相机点云数据实现商品分层,然后根据标定关系提取2D图像上对应区域并进行物品识别,从而实现了对物品的分层识别,既可以准确地进行物品识别,又可以准确地确定物品位置,使得物品抓取更准确、方便、高效,从而大大降低了抓取物品时箱内碰撞的几率。
图6示出了可以应用本发明实施例的堆叠物品的顺序抓取方法或堆叠物品的顺序抓取装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的堆叠物品的顺序抓取方法一般由服务器605执行,相应地,堆叠物品的顺序抓取装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统700的结构示意图。图7示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括点云分割模块、坐标映射模块、物品识别模块和点云计算模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,点云分割模块还可以被描述为“用于从堆叠物品的点云数据中分割出最上面一层物品的点云,并获取分割出的点云的三维坐标的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:从堆叠物品的点云数据中分割出最上面一层物品的点云,并获取分割出的点云的三维坐标;对所述分割出的点云,利用二维相机和三维相机的标定关系,将所述分割出的点云的三维坐标映射成物品的二维图像上的二维坐标;根据所述二维坐标从所述物品的二维图像中抠出对应区域,并在所述区域内进行物品识别;根据识别到的物品的二维坐标获取对应的点云的三维坐标,并根据获取的点云的三维坐标计算所述识别到的物品的中心位置和端拾器的抓取姿态,以进行物品抓取。
根据本发明实施例的技术方案,通过从堆叠物品的点云数据中分割出最上面一层物品的点云,并获取分割出的点云的三维坐标;然后将分割出的点云的三维坐标映射成所述物品的二维图像上的二维坐标;再根据所述二维坐标从所述物品的二维图像中抠出对应区域,并在所述区域内进行物品识别;最后,根据识别到的物品的二维坐标获取对应的点云的三维坐标,并根据获取的点云的三维坐标计算所述识别到的物品的中心位置和端拾器的抓取姿态,以进行物品抓取,实现了利用3D相机点云数据实现商品分层,然后根据标定关系提取2D图像上对应区域并进行物品识别,从而实现了对物品的分层识别,既可以准确地进行物品识别,又可以准确地确定物品位置,使得物品抓取更准确、方便、高效,从而大大降低了抓取物品时箱内碰撞的几率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。