一种包裹抓取方法、装置及设备与流程
未命名
08-27
阅读:117
评论:0
1.本技术涉及物流技术领域,尤其涉及一种包裹抓取方法、装置及设备。
背景技术:
2.随着物流分拣中心的人力成本急剧上升、物流运输效率的不断提升,包裹分拣的自动化需求也逐步提高,因此,可以利用视觉引导机器人执行包裹的自动抓取,从而实现包裹分拣的自动化需求。其中,利用视觉引导机器人执行包裹的自动抓取是指:利用相机采集供包台对应的rgb图像,基于rgb图像分析抓取点,然后,控制机器人基于该抓取点对包裹执行抓取操作。
3.但是,由于供包台上的包裹比较多,大量包裹会密集分布,在基于rgb图像分析抓取点时,包裹之间的干扰会很大,可能无法基于rgb图像找到合适的抓取点,从而导致机器人无法基于合适的抓取点对包裹执行抓取操作。
技术实现要素:
4.有鉴于此,本技术提供一种包裹抓取方法、装置及设备,能够控制机器人基于合适的抓取点对包裹执行抓取操作,提升抓取成功率。
5.本技术提供一种包裹抓取方法,所述方法包括:
6.获取供包台对应的目标rgb图像,并获取供包台对应的目标三维点云;
7.基于所述目标rgb图像确定k个包裹图像区域,k为正整数;
8.从所述目标三维点云中确定所述k个包裹图像区域对应的k个初始包裹点云,根据所述k个初始包裹点云对应的目标特征对所述k个初始包裹点云进行分割,得到m个目标包裹点云,m大于或者等于k;
9.确定每个目标包裹点云对应的三维抓取点,基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序,基于排序结果从所有三维抓取点中选取一个三维抓取点作为目标抓取点;其中,所述目标抓取点用于使机器人基于所述目标抓取点对所述供包台上的包裹执行抓取操作。
10.本技术提供一种包裹抓取装置,所述装置包括:
11.获取模块,用于获取供包台对应的目标rgb图像,并获取供包台对应的目标三维点云;
12.确定模块,用于基于所述目标rgb图像确定k个包裹图像区域,从所述目标三维点云中确定所述k个包裹图像区域对应的k个初始包裹点云;
13.分割模块,用于根据所述k个初始包裹点云对应的目标特征对所述k个初始包裹点云进行分割,得到m个目标包裹点云,m大于或者等于k;
14.处理模块,用于确定每个目标包裹点云对应的三维抓取点,基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序,基于排序结果从所有三维抓取点中选取一个三维抓取点作为目标抓取点;其中,所述目标抓取点用于使机器人基于所述目标抓取点对
所述供包台上的包裹执行抓取操作。
15.本技术提供一种电子设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;其中,所述处理器用于执行机器可执行指令,以实现本技术上述的包裹抓取方法。
16.由以上技术方案可见,本技术实施例中,在基于供包台对应的目标rgb图像确定出k个包裹图像区域之后,还可以从供包台对应的目标三维点云中确定k个包裹图像区域对应的k个初始包裹点云,并对k个初始包裹点云进行分割,得到m个目标包裹点云,即基于m个目标包裹点云确定目标抓取点,而不是基于k个包裹图像区域确定目标抓取点,从而能够找到合适的抓取点(即最佳抓取点),从而控制机器人基于合适的抓取点对包裹执行抓取操作。在密集包裹场景下,能够得到高鲁棒性与高成功率的抓取效果,提升抓取成功率。
附图说明
17.为了更加清楚地说明本技术实施例或者现有技术中的技术方案,下面将对本技术实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本技术实施例的这些附图获得其他的附图。
18.图1是本技术一种实施方式中的包裹抓取方法的流程示意图;
19.图2是本技术一种实施方式中的包裹抓取方法的流程示意图;
20.图3是本技术一种实施方式中的供包台的应用场景示意图;
21.图4是本技术一种实施方式中的供包台包围盒的示意图;
22.图5是本技术一种实施方式中的包裹抓取方法的流程示意图;
23.图6是本技术一种实施方式中的包裹抓取装置的结构示意图;
24.图7是本技术一种实施方式中的电子设备的硬件结构图。
具体实施方式
25.在本技术实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本技术。本技术和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
26.应当理解,尽管在本技术实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
27.本技术实施例中提出一种包裹抓取方法,参见图1所示,该方法可以包括:
28.步骤101、获取供包台对应的目标rgb图像,并获取供包台对应的目标三维点云。
29.示例性的,获取供包台对应的目标rgb图像,可以包括但不限于:通过rgb相机采集供包台对应的初始rgb图像,初始rgb图像包括供包台和供包台上的多个包裹。从初始rgb图像中选取供包台区域的rgb图像,例如,可以预先配置供包台包围框,通过供包台包围框从
初始rgb图像中选取供包台区域的rgb图像,也可以采用图像识别算法从初始rgb图像中选取供包台区域的rgb图像,还可以采用机器学习模型从初始rgb图像中选取供包台区域的rgb图像,对此不做限制,只要能够得到供包台区域的rgb图像即可,供包台区域的rgb图像是初始rgb图像中与供包台区域匹配的图像。在得到供包台区域的rgb图像之后,可以基于供包台区域的rgb图像确定目标rgb图像。
30.示例性的,获取供包台对应的目标三维点云,可以包括但不限于:通过深度相机采集供包台对应的初始三维点云,初始三维点云包括供包台和供包台上的多个包裹。基于初始三维点云确定供包台区域的三维点云。在得到供包台区域的三维点云之后,可以基于供包台区域的三维点云确定目标三维点云。
31.基于初始三维点云确定供包台区域的三维点云,可以包括:可以预先配置供包台包围盒,通过供包台包围盒从初始三维点云中选取供包台区域的三维点云,也可以采用图像识别算法从初始三维点云中选取供包台区域的三维点云,还可以采用机器学习模型从初始三维点云中选取供包台区域的三维点云,对此不做限制,只要能够得到供包台区域的三维点云即可。
32.或者,可以先将初始三维点云(即深度相机坐标系下的三维点云)转换为供包台坐标系下的三维点云,可以预先配置供包台包围盒,通过供包台包围盒从供包台坐标系下的三维点云中选取供包台区域的三维点云,也可以采用图像识别算法从供包台坐标系下的三维点云中选取供包台区域的三维点云,还可以采用机器学习模型从供包台坐标系下的三维点云中选取供包台区域的三维点云,对此不做限制,只要能够得到供包台区域的三维点云即可。
33.或者,可以先将初始三维点云转换为第三坐标系(如深度相机坐标系和供包台坐标系之外的坐标系,如世界坐标系)下的三维点云,可以预先配置供包台包围盒,通过供包台包围盒从第三坐标系下的三维点云中选取供包台区域的三维点云,也可以采用图像识别算法从第三坐标系下的三维点云中选取供包台区域的三维点云,还可以采用机器学习模型从第三坐标系下的三维点云中选取供包台区域的三维点云,对此不做限制,能够得到供包台区域的三维点云即可。
34.示例性的,基于供包台区域的三维点云确定目标三维点云,可以包括但不限于:将供包台区域的三维点云确定为目标三维点云;或者,供包台区域的三维点云包括多个初始三维点,可以从多个初始三维点中选取目标三维点,目标三维点的高度大于预设高度阈值;基于所有目标三维点生成目标三维点云。
35.基于供包台区域的rgb图像确定目标rgb图像,可以包括但不限于:将供包台区域的rgb图像确定为目标rgb图像;或者,从供包台区域的rgb图像中确定目标三维点对应的目标像素点,基于目标像素点生成目标rgb图像。
36.步骤102、基于目标rgb图像确定k个包裹图像区域,k为正整数。
37.示例性的,可以将目标rgb图像输入给已训练的实例分割模型,由实例分割模型对目标rgb图像进行实例分割,得到k个包裹图像区域。或者,可以采用图像识别算法对目标rgb图像进行识别,得到k个包裹图像区域。当然,也可以采用其它方式,只能能够从目标rgb图像中找到包裹图像区域即可。
38.步骤103、从目标三维点云中确定出k个包裹图像区域对应的k个初始包裹点云,并
根据k个初始包裹点云对应的目标特征对k个初始包裹点云进行分割,得到m个目标包裹点云,m可以大于或者等于k。
39.示例性的,根据k个初始包裹点云对应的目标特征对k个初始包裹点云进行分割,得到m个目标包裹点云,可以包括但不限于:针对每个初始包裹点云,将该初始包裹点云中的所有三维点映射到体素三维网格,得到该初始包裹点云对应的多个超体素。可以基于每个超体素对应的目标特征对所有超体素进行聚类,得到n个聚类组,n为正整数,聚类组可以包括至少一个超体素;其中,针对每个超体素,若该超体素对应的目标特征与该超体素的相邻超体素对应的目标特征相同,则该超体素与该超体素的相邻超体素属于同一聚类组,若该超体素对应的目标特征与该超体素的相邻超体素对应的目标特征不同,则该超体素与该超体素的相邻超体素属于不同聚类组;其中,目标特征为凹性特征或凸性特征。基于n个聚类组生成初始包裹点云对应的n个目标包裹点云。
40.示例性的,初始包裹点云对应的目标特征可以包括但不限于:邻域特征(即凹凸性特征)、颜色特征、纹理特征、法向特征等,对此不做限制。在后续实施例中,以初始包裹点云对应的邻域特征为例进行说明。
41.当然,上述只是示例,只要能够将k个初始包裹点云分割成k个初始包裹点云即可,对此不做限制。比如说,针对每个初始包裹点云,若识别出该初始包裹点云对应至少两个包裹点云(超体素聚类算法只是识别算法的示例,还可以采用其它算法识别初始包裹点云是否对应至少两个包裹点云,如基于密度的聚类算法、基于划分的聚类算法(k-means)、基于层次的聚类算法等,对此不做限制),若对应至少两个包裹点云,则将该初始包裹点云分割成至少两个目标包裹点云,若只对应一个包裹点云,则保持该初始包裹点云。
42.步骤104、确定每个目标包裹点云对应的三维抓取点,基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序,并基于排序结果从所有三维抓取点中选取一个三维抓取点作为目标抓取点。示例性的,该目标抓取点用于使机器人基于该目标抓取点对供包台上的包裹执行抓取操作。
43.示例性的,确定每个目标包裹点云对应的三维抓取点,可以包括但不限于:针对每个目标包裹点云,将该目标包裹点云中的三维点映射为二维点,并从映射后的二维点中选取一个二维点(如最大内切圆的聚类中心点)作为目标二维点,并从该目标包裹点云的所有三维点中确定该目标二维点对应的候选三维点。基于此,可以将候选三维点确定为目标包裹点云对应的三维抓取点;或者,可以对候选三维点进行角度扰动和/或平移扰动,得到多个扰动三维点,将候选三维点和多个扰动三维点确定为目标包裹点云对应的三维抓取点。
44.当然,上述只是确定三维抓取点的示例,对此不做限制,比如说,可以从目标包裹点云中的三维点中直接选取符合第一预设特征(第一预设特征可以根据经验配置)的三维点,将选取的三维点作为候选三维点。或者,将目标包裹点云中的三维点映射为二维点,并从映射后的二维点中选取符合第二预设特征(第二预设特征可以根据经验配置)的二维点作为目标二维点,并从该目标包裹点云的所有三维点中确定该目标二维点对应的候选三维点。
45.示例性的,基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序,可以包括但不限于:针对每个三维抓取点,该三维抓取点可以对应多个抓取参数,基于该三维抓取点对应的每个抓取参数对应的抓取分数确定该三维抓取点对应的目标分数;基于每个
三维抓取点对应的目标分数,按照目标分数从高到低的顺序或者按照目标分数从低到高的顺序,对所有三维抓取点进行排序。
46.示例性的,在按照目标分数从高到低的顺序对所有三维抓取点进行排序时,选取第一个三维抓取点作为目标抓取点。或者,在按照目标分数从低到高的顺序对所有三维抓取点进行排序时,选取最后一个三维抓取点作为目标抓取点。
47.当然,也可以采用其它方式对所有三维抓取点进行排序,如基于每个三维抓取点与机器人之间的距离对所有三维抓取点进行排序等,对此不做限制。
48.示例性的,该三维抓取点对应的多个抓取参数包括但不限于以下至少一种:该三维抓取点对应包裹的高度(即高度参数)、该三维抓取点对应包裹的面积(即面积参数)、该三维抓取点与供包台平面的法向之间的角度(即角度参数)、该三维抓取点对应包裹的类型(即包裹类型参数)、该三维抓取点对应的目标特征(即目标特征参数)、该三维抓取点与机器人之间的距离(即距离参数)。当然,上述只是抓取参数的几个示例,本实施例中对此抓取参数不作限制。
49.示例性的,针对该三维抓取点对应的每个抓取参数对应的抓取分数,在该三维抓取点对应包裹的高度越大时,高度参数对应的抓取分数越大;在该三维抓取点对应包裹的面积越大时,面积参数对应的抓取分数越大;在该三维抓取点与供包台平面的法向之间的角度越小时,角度参数对应的抓取分数越大;在该三维抓取点与机器人之间的距离越小时,距离参数对应的抓取分数越大;该三维抓取点对应包裹的类型可以是硬包类型或软包类型,且硬包类型对应的抓取分数大于软包类型对应的抓取分数;该三维抓取点对应的目标特征可以是凸性特征或凹性特征,且凸性特征对应的抓取分数大于凹性特征对应的抓取分数。
50.由以上技术方案可见,本技术实施例中,在基于供包台对应的目标rgb图像确定出k个包裹图像区域之后,还可以从供包台对应的目标三维点云中确定k个包裹图像区域对应的k个初始包裹点云,并对k个初始包裹点云进行分割,得到m个目标包裹点云,即基于m个目标包裹点云确定目标抓取点,而不是基于k个包裹图像区域确定目标抓取点,从而能够找到合适的抓取点(即最佳抓取点),从而控制机器人基于合适的抓取点对包裹执行抓取操作。在密集包裹场景下,能够得到高鲁棒性与高成功率的抓取效果,提升抓取成功率。
51.以下结合具体应用场景,对本技术实施例的上述技术方案进行说明。
52.为了实现包裹分拣的自动化需求,可以利用视觉引导机器人执行包裹的自动抓取,比如说,利用相机采集供包台对应的rgb图像,并基于该rgb图像分析抓取点,然后,控制机器人基于该抓取点对包裹执行抓取操作。
53.但是,由于供包台上的包裹比较多,大量包裹会密集分布,在基于rgb图像分析抓取点时,包裹之间的干扰会很大,可能无法基于rgb图像找到合适的抓取点,从而导致机器人无法基于合适的抓取点对包裹执行抓取操作。
54.针对上述发现,本技术实施例中提出一种基于rgbd视觉引导的包裹分割与抓取点确定方法,rgbd视觉引导是指基于rgb图像和三维点云引导机器人执行包裹的自动抓取,能够在密集包裹场景下,得到高鲁棒性与高成功率的抓取效果,提升抓取成功率。能够找到合适的抓取点(即最佳抓取点),从而能够控制机器人基于合适的抓取点对包裹执行抓取操作,提升抓取成功率。
55.本技术实施例中,参见图2所示,为包裹抓取方法的流程示意图,该包裹抓取方法可以包括但不限于:供包台工作区域的标定、自适应窗口的深度学习粗分割、三维点云的二次分割、包裹分类、包裹点云的抓取点计算、抓取点的扰动、抓取点排序等过程,以下针对这些过程进行详细说明。
56.第一、供包台工作区域的标定。
57.参见图3所示,供包台用于放置乱序堆叠的包裹,在供包台的上侧部署rgbd相机,rgbd相机包括rgb相机和深度相机(深度相机由left相机和right相机组成),rgb相机用于采集针对供包台的rgb图像,深度相机用于采集针对供包台的三维点云。将rgb相机的坐标系记为(xc,yc,zc),将深度相机的坐标系记为(xd,yd,zd),将供包台坐标系记为(xw,yw,zw)。
58.示例性的,可以预先标定深度相机的坐标系与供包台坐标系之间的转换参数rw、tw,rw表示深度相机的坐标系与供包台坐标系之间的旋转矩阵,tw表示深度相机的坐标系与供包台坐标系之间的平移矩阵。可以预先标定深度相机的坐标系与rgb相机的坐标系之间的转换参数rc、tc,rc表示深度相机的坐标系与rgb相机之间的旋转矩阵,tc表示深度相机的坐标系与rgb相机之间的平移矩阵。其中,关于上述参数的标定过程,本实施例中不作限制。
59.参见图4所示,在供包台工作区域的标定过程中,可以预先标定出供包台的工作区域,比如说,针对rgb图像标定出供包台包围框(即二维包围框),针对三维点云标定出供包台包围盒(即三维包围盒),也称为3dbox。
60.在一种可能的实施方式中,可以清空供包台上的包裹,并通过rgb相机采集针对供包台的rgb图像。在得到rgb图像之后,可以在该rgb图像中绘制工作区域的包围框,例如,可以由用户手工在该rgb图像中绘制工作区域的包围框,即供包台包围框,该供包台包围框可以理解为供包台的二维有效区域。
61.在得到供包台包围框之后,可以基于供包台包围框生成针对三维点云的供包台包围盒,该供包台包围盒可以理解为供包台的三维有效区域。比如说,可以在供包台包围框的基础上添加高度信息,从而可以得到供包台包围盒。
62.在另一种可能的实施方式中,可以清空供包台上的包裹,并通过rgb相机采集针对供包台的rgb图像,通过深度相机采集针对供包台的三维点云。将三维点云转换为供包台坐标系下的三维点云,如基于深度相机的坐标系与供包台坐标系之间的转换参数,将三维点云转换为供包台坐标系下的三维点云。
63.在得到rgb图像之后,可以在该rgb图像中绘制工作区域的包围框,例如,可以由用户手工在该rgb图像中绘制工作区域的包围框,即供包台包围框,该供包台包围框可以理解为供包台的二维有效区域。
64.在得到供包台坐标系下的三维点云之后,可以在该三维点云中绘制工作区域的包围盒,例如,可以由用户手工在该三维点云中绘制工作区域的包围盒,即供包台包围盒,该供包台包围盒可以理解为供包台的三维有效区域。
65.当然,上述只是标定供包台包围框和供包台包围盒的示例,对此不作限制,比如说,还可以将rgb图像输入给机器学习模型,由机器学习模型从rgb图像中识别出供包台所在区域,并给出供包台所在区域的包围框,即供包台包围框。还可以将三维点云输入给机器
学习模型,由机器学习模型从三维点云中识别出供包台所在区域,并给出供包台所在区域的包围盒,即供包台包围盒。
66.第二、自适应窗口的深度学习粗分割。
67.在自适应窗口的深度学习粗分割过程中,可以通过rgb相机采集针对供包台的rgb图像,通过深度相机采集针对供包台的三维点云,将三维点云转换到工作台坐标系下,使用供包台包围盒(3dbox)对三维点云进行背景过滤,使用供包台包围框对rgb图像进行背景过滤,对去除背景的rgb图像进行深度学习得到包裹的2d图像掩模。在自适应窗口的深度学习粗分割过程中中,还可以通过三维点云去除rgb图像的干扰背景,只保留包裹部分的rgb图像进行实例分割,可以在训练实例分割模型的过程中无需采集大量样本图像,提升实例分割模型的泛化性,并且能够有效降低实例分割模型的误检比例。
68.示例性的,针对自适应窗口的深度学习粗分割过程,可以包括以下步骤:
69.步骤s11、通过rgb相机采集供包台对应的初始rgb图像(即初始rgb图像包括供包台和供包台上的多个包裹),并通过深度相机采集供包台对应的初始三维点云(即初始三维点云包括供包台和供包台上的多个包裹)。
70.示例性的,在供包台的正常工作过程中,供包台上可以放置乱序堆叠的多个包裹,在供包台的上侧部署有rgbd相机(rgbd相机是一种可获取物体三维信息和颜色信息的相机,分别以三维点云和rgb图像进行数据采集),rgbd相机包括rgb相机和深度相机,可以通过rgb相机采集供包台对应的rgb图像,为了区分方便,将该rgb图像记为初始rgb图像,可以通过深度相机采集供包台对应的三维点云,为了区分方便,将该三维点云记为初始三维点云。
71.步骤s12、将初始三维点云转换为供包台坐标系下的三维点云。
72.比如说,基于深度相机的坐标系与供包台坐标系之间的转换参数,将初始三维点云转换为供包台坐标系下的三维点云。
73.步骤s13、通过供包台包围盒(即供包台的三维有效区域)从供包台坐标系下的三维点云中选取供包台区域的三维点云,通过供包台包围框(即供包台的二维有效区域)从初始rgb图像中选取供包台区域的rgb图像。
74.比如说,可以从供包台坐标系下的所有三维点云中选取处于供包台包围盒范围内的三维点云,供包台包围盒范围内的三维点云就是供包台区域的三维点云,供包台区域的三维点云是所有三维点云中的部分三维点云。
75.可以从初始rgb图像中选取处于供包台包围框范围内的子图像,供包台包围框范围内的子图像就是供包台区域的rgb图像。
76.步骤s14、对供包台区域的三维点云和供包台区域的rgb图像进行对齐,即将同一物理位置的三维点信息和像素值信息映射在同一像素点,比如说,针对供包台上的任一物理位置,三维点云包括该物理位置对应的三维点信息,rgb图像包括该物理位置对应的像素值信息,通过对三维点云和rgb图像进行对齐,能够将该物理位置的三维点信息和像素值信息映射在同一像素点。
77.比如说,可以基于深度相机的坐标系与rgb相机的坐标系之间的转换参数(即旋转矩阵和平移矩阵,该转换参数也可以称为深度相机与rgb相机之间的外参)、深度相机的内参、rgb相机的内参,对供包台区域的三维点云和供包台区域的rgb图像进行对齐,本实施例
中对此对齐方式不作限制。
78.步骤s15、供包台区域的三维点云(即对齐后的三维点云)包括多个初始三维点,可以从多个初始三维点中选取目标三维点,目标三维点的高度大于预设高度阈值,并基于所有目标三维点生成目标三维点云,即,通过对多个初始三维点进行过滤,将过滤剩余的所有目标三维点组成目标三维点云。
79.比如说,针对每个初始三维点,该初始三维点对应有高度信息,判断该初始三维点对应的高度是否大于预设高度阈值(可以根据经验配置)。若是,则将该初始三维点作为目标三维点,若否,则不将该初始三维点作为目标三维点,过滤掉该初始三维点。在对所有初始三维点进行上述操作之后,就可以得到过滤剩余的目标三维点,且这些目标三维点可以组成目标三维点云。
80.步骤s16、从供包台区域的rgb图像(即对齐后的rgb图像)中确定目标三维点对应的目标像素点,并基于目标像素点生成目标rgb图像。
81.比如说,由于三维点云和rgb图像已经对齐,可以得到三维点云中的三维点与rgb图像中的像素点之间的一一对应关系,因此,在得到目标三维点云之后,针对目标三维点云中的每个目标三维点,可以从rgb图像中确定该目标三维点对应的目标像素点,即从rgb图像中确定出多个目标像素点。
82.针对rgb图像中的每个目标像素点,可以保持这些目标像素点的像素值不变,而除所有目标像素点之外的剩余像素点,可以将这些像素点作为rgb图像中的干扰背景,即,可以将这些像素点的像素值置为0,从而去除rgb图像中的干扰背景,将去除干扰背景之后的rgb图像称为目标rgb图像。
83.步骤s17、基于目标rgb图像确定k个包裹图像区域,k为正整数。
84.示例性的,可以将目标rgb图像输入给已训练的网络模型,由网络模型输出目标rgb图像对应的k个包裹图像区域,即,基于目标rgb图像实现包裹粗分割,得到k个包裹图像区域。比如说,网络模型可以为深度学习模型或者神经网络模型,对此网络模型的类型不作限制,能够实现包裹粗分割即可。
85.在一种可能的实施方式中,网络模型可以是实例分割模型,实例分割模型是一种深度学习模型,用于在二维图像中提取出目标物体的位置和掩模。比如说,可以将目标rgb图像输入给已训练的实例分割模型,由实例分割模型对目标rgb图像进行实例分割,得到目标rgb图像中的k个包裹图像区域。
86.由于目标rgb图像包括多个包裹,因此,实例分割模型在对目标rgb图像进行实例分割时,可以得到每个包裹对应的图像区域,并输出每个包裹对应的图像区域,将这些图像区域称为包裹图像区域,对此实例分割过程不作限制。
87.综上所述,可以基于目标rgb图像实现包裹粗分割,得到目标rgb图像中的k个包裹图像区域,本实施例中对此包裹粗分割过程不作限制。
88.第三、三维点云的二次分割。
89.由于多个包裹密集堆叠时,从目标rgb图像中很难分辨出单色或同色包裹之间的边界,在基于目标rgb图像实现包裹粗分割时,可能将多个包裹分割成一个包裹(即错误的分割结果),也难以将单个纯色包裹的顶面和侧面分割开,因此,本实施例中,还可以执行三维点云的二次分割。在三维点云的二次分割过程中,基于目标rgb图像中的k个包裹图像区
域,可以从目标三维点云中确定出k个包裹图像区域对应的k个初始包裹点云,即得到每个包裹对应的初始包裹点云,然后,根据初始包裹点云对应的邻域特征(即凹凸性特征)进行二次分割,二次分割在提高分割精度的同时,也能够将包裹按照平面分割开,更加符合机器人末端吸盘对包裹的抓取。其中,提高分割精度是指:若基于目标rgb图像将多个包裹分割成一个包裹,那么,通过二次分割将多个包裹分割成多个包裹,避免错误的分割结果。将包裹按照平面分割开是指:由于从三维点云中可以明显看出顶面和侧面之间的分界线,因此,通过二次分割将单个包裹的顶面和侧面分割开,即每个面作为一个包裹。比如说,假设目标rgb图像中的包裹存在3个面,那么,目标rgb图像中的3个面被分割为同一个包裹,而经过二次分割之后,将这3个面分割为3个包裹,可以理解为不同包裹。
90.示例性的,针对三维点云的二次分割过程,可以包括以下步骤:
91.步骤s21、从目标三维点云中确定出k个包裹图像区域对应的k个初始包裹点云,即k个包裹图像区域与k个初始包裹点云一一对应。
92.示例性的,在自适应窗口的深度学习粗分割过程中,可以得到目标rgb图像中的k个包裹图像区域和目标三维点云,由于三维点云和rgb图像已经对齐,可以得到三维点云中的三维点与rgb图像中的像素点之间的一一对应关系,因此,针对包裹图像区域中的每个像素点,可以从目标三维点云中确定该像素点对应的三维点,而包裹图像区域中的所有像素点对应的三维点,就可以组成该包裹图像区域对应的初始包裹点云。显然,针对目标rgb图像中的k个包裹图像区域,可以得到k个包裹图像区域对应的k个初始包裹点云。
93.步骤s22、根据k个初始包裹点云对应的邻域特征对k个初始包裹点云进行分割,得到m个目标包裹点云,m可以大于或者等于k。
94.比如说,针对每个初始包裹点云,可以基于该初始包裹点云对应的邻域特征对该初始包裹点云进行分割,得到该初始包裹点云对应的目标包裹点云,而k个初始包裹点云对应的所有目标包裹点云就对应m个目标包裹点云。
95.在一种可能的实施方式中,针对每个初始包裹点云,基于该初始包裹点云对应的邻域特征(即凹凸性特征),可以采用超体素分割并聚类的方法对该初始包裹点云进行分割,得到该初始包裹点云对应的目标包裹点云。
96.比如说,将该初始包裹点云中的所有三维点映射到体素三维网格,得到该初始包裹点云对应的多个超体素。其中,点云是三维空间点的集合,体素是三维空间的像素,超体素是一种集合,集合的元素是“体”,本质是小方块。
97.在得到多个超体素之后,可以基于每个超体素对应的邻域特征对所有超体素进行聚类,得到n个聚类组,n为正整数,每个聚类组可以包括至少一个超体素。其中,在基于每个超体素对应的邻域特征对所有超体素进行聚类时,针对每个超体素,若该超体素对应的邻域特征与该超体素的相邻超体素对应的邻域特征相同,则该超体素与该超体素的相邻超体素属于同一聚类组,若该超体素对应的邻域特征与该超体素的相邻超体素对应的邻域特征不同,则该超体素与该超体素的相邻超体素属于不同聚类组。其中,邻域特征可以为凹性特征或凸性特征。比如说,在得到超体素a1、超体素a2、超体素a3和超体素a4之后,假设超体素a1与超体素a2相邻,超体素a2与超体素a3相邻,超体素a3与超体素a4相邻,且超体素a1对应的邻域特征为凹性特征、超体素a2对应的邻域特征为凹性特征、超体素a3对应的邻域特征为凸性特征、超体素a4对应的邻域特征为凸性特征,那么:超体素a1对应的邻域特征与超体
素a2对应的邻域特征相同,超体素a1和超体素a2属于同一聚类组。超体素a2对应的邻域特征与超体素a3对应的邻域特征不同,超体素a2和超体素a3属于不同聚类组。超体素a3对应的邻域特征与超体素a4对应的邻域特征相同,超体素a3和超体素a4属于同一聚类组。综上所述,可以得到两个聚类组,第一个聚类组可以包括超体素a1和超体素a2,第二个聚类组可以包括超体素a3和超体素a4。
98.在得到n个聚类组之后,可以基于n个聚类组生成初始包裹点云对应的n个目标包裹点云。比如说,第一个聚类组包括超体素a1和超体素a2,第二个聚类组包括超体素a3和超体素a4,从该初始包裹点云中确定超体素a1对应的三维点、超体素a2对应的三维点、超体素a3对应的三维点和超体素a4对应的三维点,基于此:超体素a1对应的三维点和超体素a2对应的三维点就组成第一个聚类组对应的目标包裹点云,超体素a3对应的三维点和超体素a4对应的三维点就组成第二个聚类组对应的目标包裹点云,从而得到两个目标包裹点云。
99.综上可以看出,针对每个初始包裹点云,通过对该初始包裹点云进行二次分割,可以得到该初始包裹点云对应的目标包裹点云。
100.第四、包裹分类。
101.在三维点云的二次分割过程中,可以得到m个目标包裹点云,在包裹分类过程中,可以从目标rgb图像中确定出m个目标包裹点云对应的m个图像区域,即m个目标包裹点云与m个图像区域一一对应。在得到m个图像区域之后,针对每个图像区域,将该图像区域输入给已训练的分类网络模型(分类网络模型可以是深度学习的分类网络模型或者神经网络模型,对此分类网络模型不作限制),由分类网络模型基于该图像区域进行分类,得到包裹的类型,包裹的类型可以是硬包类型或者软包类型。其中,包裹的类型可以作为该图像区域对应的目标包裹点云的属性,即得到目标包裹点云对应的包裹的类型。
102.综上所述,在包裹分类过程中,可以得到每个目标包裹点云对应的包裹的类型,包裹的类型可以是硬包类型或者软包类型,对此包裹类型不作限制。
103.示例性的,可以确定出每个目标包裹点云对应的图像区域,将每个图像区域单独输入给分类网络模型,由分类网络模型基于每个图像区域进行分类,而不是将目标rgb图像整体输入给分类网络模型,这样,既可以避免不同包裹之间的相互影响,也可以避免环境的影响,又可以将所有图像区域缩放到同一尺寸,避免相机类别与架设方案的影响,从而能够提高分类的准确率。
104.第五、包裹点云的抓取点计算。
105.在三维点云的二次分割过程中,可以得到m个目标包裹点云,在包裹点云的抓取点计算过程中,针对每个目标包裹点云,可以进行点云平面拟合。为了能够得到较高包裹的抓取成功率,可以将最大内切圆的聚类中心点作为抓取点,目的是使得抓取点到平面轮廓的每个边界点都具备最大且均衡的距离,能够保证抓取时机器人的吸盘与包裹平面有最大的接触面,保证抓取成功率。
106.示例性的,针对包裹点云的抓取点计算过程,可以包括:针对每个目标包裹点云,将该目标包裹点云中的所有三维点映射为二维点(即进行点云平面拟合),并从所有二维点中选取一个二维点(如最大内切圆的聚类中心点)作为目标二维点。在得到目标二维点之后,可以从该目标包裹点云的所有三维点中确定该目标二维点对应的三维点,将该三维点称为候选三维点。在得到候选三维点之后,可以将该候选三维点确定为该目标包裹点云对
应的三维抓取点。
107.其中,在将该目标包裹点云中的所有三维点映射为二维点之后,可以基于这些二维点构建最大内切圆,并找到最大内切圆的聚类中心点,即目标二维点。
108.其中,在包裹点云的抓取点计算过程中,针对每个目标包裹点云,可以将该目标包裹点云对应的候选三维点作为该目标包裹点云对应的三维抓取点。
109.第六、抓取点的扰动。
110.在三维点云的二次分割过程中,由于通过二次分割将单个包裹的顶面和侧面分割开,即每个面作为一个包裹,因此,每个包裹可以被分割成多个抓取面,即m个目标包裹点云包括每个包裹的多个抓取面的目标包裹点云,且每个抓取面可以有一个候选三维点(即三维抓取点)。但是,在机器人抓取该候选三维点时,有可能发生碰撞风险或者抓双风险,为了进一步提高抓取成功率,在抓取点的扰动过程中,可以对候选三维点进行抓取点的扰动,在候选三维点附近生成多个扰动三维点,如进行角度扰动和/或平移扰动,并模拟机器人的吸盘按照不同的位姿去尝试抓取,从而得到候选三维点对应的多个扰动三维点。
111.示例性的,针对抓取点的扰动过程,可以包括:针对每个目标包裹点云,在得到该目标包裹点云对应的候选三维点之后,还可以对该候选三维点进行角度扰动和/或平移扰动,得到该候选三维点对应的多个扰动三维点,然后,将该候选三维点和多个扰动三维点确定为该目标包裹点云对应的三维抓取点。
112.比如说,在得到该目标包裹点云对应的候选三维点后,可以对该候选三维点进行角度扰动,即对该候选三维点偏移某个角度,得到扰动三维点。其中,由于候选三维点具有坐标和方向,因此,在对候选三维点偏移某个角度时,相当于对候选三维点的方向偏移某个角度,从而得到新的三维点,即扰动三维点。
113.在得到该目标包裹点云对应的候选三维点后,可以对该候选三维点进行平移扰动,即对该候选三维点偏移某个距离,得到扰动三维点。其中,由于候选三维点具有坐标和方向,因此,在对候选三维点偏移某个距离时,相当于对候选三维点的坐标偏移某个距离时,从而得到新的三维点,即扰动三维点。
114.在得到该目标包裹点云对应的候选三维点后,可以对该候选三维点进行角度扰动和平移扰动,即对该候选三维点偏移某个角度和距离,得到扰动三维点。
115.综上所述,通过对该候选三维点进行多次扰动(如角度扰动和/或平移扰动),就可以得到该候选三维点对应的多个扰动三维点,这样,就可以将该候选三维点和多个扰动三维点确定为该目标包裹点云对应的三维抓取点。
116.由于候选三维点和多个扰动三维点的位置和/或角度不同,因此,机器人的吸盘按照位姿a抓取候选三维点,机器人的吸盘按照位姿b抓取第一个扰动三维点,机器人的吸盘按照位姿c抓取第二个扰动三维点,以此类推,显然,候选三维点和多个扰动三维点会对应机器人的不同位姿,即机器人的吸盘按照不同的位姿去抓取候选三维点和多个扰动三维点,从而引入吸盘的结构信息。
117.第七、抓取点排序。
118.在抓取点的扰动过程中,针对每个目标包裹点云,可以得到该目标包裹点云对应的多个三维抓取点(候选三维点和多个扰动三维点),这样,m个目标包裹点云会对应多个三维抓取点。在抓取点排序过程中,可以遍历所有三维抓取点,并基于每个三维抓取点对应的
目标分数对所有三维抓取点进行排序,基于排序结果选取出吸盘与平面重叠率最高、不与其它包裹发生碰撞、不抓取到其它包裹的三维抓取点,通过确定每个三维抓取点对应的目标分数,能够根据吸盘结构、抓取成功率、抓双概率等指标计算出最佳抓取点。
119.示例性的,针对抓取点排序过程,可以包括以下步骤:
120.步骤s31、针对每个三维抓取点,该三维抓取点可以对应多个抓取参数,确定该三维抓取点对应的每个抓取参数对应的抓取分数。
121.示例性的,该三维抓取点对应的多个抓取参数包括但不限于以下至少一种:
122.该三维抓取点对应包裹的高度(即抓取参数为高度参数)。比如说,由于三维抓取点是目标包裹点云对应的三维抓取点,而该目标包裹点云对应供包台上的包裹,且可以获知供包台上的每个包裹的高度,因此,可以将该目标包裹点云对应的包裹的高度作为该三维抓取点对应包裹的高度。
123.该三维抓取点对应包裹的面积(即抓取参数为面积参数)。比如说,由于三维抓取点是目标包裹点云对应的三维抓取点,而该目标包裹点云对应供包台上的包裹,且可以获知供包台上的每个包裹的面积,因此,可以将该目标包裹点云对应的包裹的面积作为该三维抓取点对应包裹的面积。
124.该三维抓取点与供包台平面的法向之间的角度(即抓取参数为角度参数)。比如说,由于该三维抓取点具有坐标和方向,因此,该三维抓取点的方向指向的角度,就是该三维抓取点与供包台平面的法向之间的角度。
125.该三维抓取点与机器人之间的距离(即抓取参数为距离参数)。比如说,由于该三维抓取点具有坐标和方向,即该三维抓取点对应物理空间中的某个位置点,因此,可以获知该三维抓取点与机器人之间的距离。
126.该三维抓取点对应包裹的类型(即抓取参数为包裹类型参数)。比如说,在包裹分类过程中,可以得到每个目标包裹点云对应的包裹的类型,包裹的类型可以是硬包类型或者软包类型,又由于三维抓取点是目标包裹点云对应的三维抓取点,因此,可以将该目标包裹点云对应的包裹的类型作为该三维抓取点对应包裹的类型,该三维抓取点对应包裹的类型是硬包类型或者软包类型。
127.该三维抓取点对应的邻域特征(即抓取参数为邻域特征参数)。比如说,在三维点云的二次分割过程中,每个聚类组可以对应一个目标包裹点云,而聚类组内可以包括对应相同邻域特征的多个超体素,可以将聚类组内的超体素对应的邻域特征作为该目标包裹点云对应的邻域特征,该邻域特征可以是凸性特征或者凹性特征,又由于三维抓取点是目标包裹点云对应的三维抓取点,因此,可以将该目标包裹点云对应的邻域特征作为该三维抓取点对应的邻域特征,该三维抓取点对应的邻域特征可以是凸性特征或者凹性特征。
128.当然,上述只是抓取参数的几个示例,本实施例中对此抓取参数不作限制。
129.示例性的,针对该三维抓取点对应的每个抓取参数,可以确定该抓取参数对应的抓取分数。比如说,可以确定高度参数对应的抓取分数,在该三维抓取点对应包裹的高度越大时,则高度参数对应的抓取分数越大,在该三维抓取点对应包裹的高度越小时,则高度参数对应的抓取分数越小。综上所述,抓取分数与该三维抓取点对应包裹的高度成正比,对此抓取分数不作限制。
130.比如说,可以确定面积参数对应的抓取分数,在该三维抓取点对应包裹的面积越
大时,则面积参数对应的抓取分数越大,在该三维抓取点对应包裹的面积越小时,则面积参数对应的抓取分数越小。综上所述,面积参数对应的抓取分数与该三维抓取点对应包裹的面积成正比,对此抓取分数不作限制。
131.比如说,可以确定角度参数对应的抓取分数,在该三维抓取点与供包台平面的法向之间的角度越小时,则角度参数对应的抓取分数越大,在该三维抓取点与供包台平面的法向之间的角度越大时,则角度参数对应的抓取分数越小。综上所述,角度参数对应的抓取分数与该该三维抓取点与供包台平面的法向之间的角度成反比,对此角度参数对应的抓取分数的确定方式不作限制。
132.比如说,可以确定距离参数对应的抓取分数,在该三维抓取点与机器人之间的距离越小时,则距离参数对应的抓取分数越大,在该三维抓取点与机器人之间的距离越大时,则距离参数对应的抓取分数越小。综上所述,距离参数对应的抓取分数与距离成反比,对此抓取分数的确定方式不作限制。
133.比如说,可以确定包裹类型参数对应的抓取分数,在该三维抓取点对应包裹的类型是硬包类型时,确定包裹类型参数对应的抓取分数为第一分数(根据经验配置),在该三维抓取点对应包裹的类型是软包类型时,确定包裹类型参数对应的抓取分数为第二分数(根据经验配置),且第一分数大于第二分数。综上所述,硬包类型对应的抓取分数大于软包类型对应的抓取分数。
134.比如说,可以确定邻域特征参数对应的抓取分数,在该三维抓取点对应的邻域特征是凸性特征时,确定邻域特征参数对应的抓取分数为第三分数(根据经验配置),在该三维抓取点对应的邻域特征是凹性特征时,确定邻域特征参数对应的抓取分数为第四分数(根据经验配置),且第三分数大于第四分数。综上所述,凸性特征对应的抓取分数大于凹性特征对应的抓取分数。
135.综上所述,针对每个三维抓取点,可以确定该三维抓取点对应的每个抓取参数对应的抓取分数,比如说,可以确定高度参数对应的抓取分数、面积参数对应的抓取分数、角度参数对应的抓取分数、距离参数对应的抓取分数、包裹类型参数对应的抓取分数、邻域特征参数对应的抓取分数。
136.步骤s32、针对每个三维抓取点,基于该三维抓取点对应的每个抓取参数对应的抓取分数,确定该三维抓取点对应的目标分数,比如说,对每个抓取参数对应的抓取分数进行加权运算,得到该三维抓取点对应的目标分数。
137.在一种可能的实施方式中,以该三维抓取点对应高度参数、面积参数、角度参数、距离参数、包裹类型参数和邻域特征参数为例,那么,可以采用如下公式确定目标分数:s=s1*w1+s2*w2+s3*w3+s4*w4+s5*w5+s6*w6。在上述公式中,s表示该三维抓取点对应的目标分数,s1表示高度参数对应的抓取分数,s2表示面积参数对应的抓取分数,s3表示角度参数对应的抓取分数,s4表示距离参数对应的抓取分数,s5表示包裹类型参数对应的抓取分数,s6表示邻域特征参数对应的抓取分数。w1表示高度参数对应的权重系数,w2表示面积参数对应的权重系数,w3表示角度参数对应的权重系数,w4表示距离参数对应的权重系数,w5表示包裹类型参数对应的权重系数,w6表示邻域特征参数对应的权重系数。w1、w2、w3、w4、w5和w6可以根据经验配置。
138.步骤s33、基于每个三维抓取点对应的目标分数,按照目标分数从高到低的顺序或
者按照目标分数从低到高的顺序,对所有三维抓取点进行排序。
139.步骤s34、在按照目标分数从高到低的顺序对所有三维抓取点进行排序时,选取第一个三维抓取点作为目标抓取点。或者,在按照目标分数从低到高的顺序对所有三维抓取点进行排序时,选取最后一个三维抓取点作为目标抓取点。
140.步骤s35、控制机器人基于该目标抓取点对供包台上的包裹执行抓取操作,即引导机器人通过机械手对供包台上的包裹进行抓取操作,即机械手通过吸盘对供包台上的包裹执行抓取操作,本实施例中对此包裹抓取过程不作限制。
141.在机器人基于该目标抓取点对供包台上的包裹执行抓取操作之后,需要重新执行自适应窗口的深度学习粗分割、三维点云的二次分割、包裹分类、包裹点云的抓取点计算、抓取点的扰动、抓取点排序等过程,得到另一个目标抓取点,基于这个目标抓取点重新对供包台上的包裹执行抓取操作,以此类推。
142.在一种可能的实施方式中,参见图5所示,该包裹抓取方法可以包括:
143.步骤501、根据应用需求,在供包台上架设rgbd相机。
144.步骤502、清空供包台上的包裹,获取rgbd图像。
145.步骤503、人工绘制供包台区域。
146.步骤504、进行系统标定。
147.步骤505、通过系统标定,得到工作台坐标系和三维包围盒。
148.步骤506、获取正常工作时的rgbd图像。
149.步骤507、基于系统标定结果(即三维包围盒)进行背景过滤。
150.步骤508、对过滤后的rgb图像进行包裹粗分割。
151.步骤509、获取到每个粗分割包裹的三维点云,基于凹凸性进行二次分割。
152.步骤510、根据二次分割的结果提取每个包裹的rgbd信息,基于rgbd信息使用分类网络对包裹进行材质分类,得到包裹的类型。
153.步骤511、提取包裹的平面点云的最大内切圆聚类中心作为候选抓取点。
154.步骤512、对候选抓取点进行角度扰动和/或平移扰动,引入吸盘的结构信息,生成候选抓取点对应的多个扰动三维点,将候选三维点和所有扰动三维点确定为三维抓取点,即可以得到多个三维抓取点。
155.步骤513、对每个三维抓取点进行得分计算并排序,综合抓取成功概率、碰撞、抓双概率等,得到最佳的抓取点与抓取位姿。
156.由以上技术方案可见,本技术实施例中,在基于供包台对应的目标rgb图像确定出k个包裹图像区域之后,还可以从供包台对应的目标三维点云中确定k个包裹图像区域对应的k个初始包裹点云,并对k个初始包裹点云进行分割,得到m个目标包裹点云,即基于m个目标包裹点云确定目标抓取点,而不是基于k个包裹图像区域确定目标抓取点,从而能够找到合适的抓取点(即最佳抓取点),从而控制机器人基于合适的抓取点对包裹执行抓取操作。在密集包裹场景下,能够得到高鲁棒性与高成功率的抓取效果,提升抓取成功率。提出一种基于rgbd视觉引导的包裹分割与抓取点确定方法,通过系统标定的三维包围盒有效过滤掉干扰背景信息,提高实例分割对新场景的泛化能力、分割结果的准确率与鲁棒性。通过三维点云对实例分割结果进行二次分割,能够降低同色包裹分割失败的概率;通过对包裹单独rgbd信息的分类,能够不受场景与架设方案的影响,提升分类准确率;通过对包裹进行点云
平面分割,并选择点云平面内的最大内切圆聚类中心作为抓取点,提升了抓取点的精度;通过对抓取点进行扰动,并引入吸盘结构信息生成候选位姿,在抓取成功概率、碰撞、抓双概率等指标的引导下遍历查找最佳抓取点与抓取位姿,有效提升抓取效果。
157.基于与上述方法同样的申请构思,本技术实施例中提出一种包裹抓取装置,参见图6所示,为所述包裹抓取装置的结构示意图,所述装置可以包括:
158.获取模块61,用于获取供包台对应的目标rgb图像,并获取供包台对应的目标三维点云;
159.确定模块62,用于基于所述目标rgb图像确定k个包裹图像区域,从所述目标三维点云中确定所述k个包裹图像区域对应的k个初始包裹点云;
160.分割模块63,用于根据所述k个初始包裹点云对应的目标特征对所述k个初始包裹点云进行分割,得到m个目标包裹点云,m大于或者等于k;
161.处理模块64,用于确定每个目标包裹点云对应的三维抓取点,基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序,基于排序结果从所有三维抓取点中选取一个三维抓取点作为目标抓取点;其中,所述目标抓取点用于使机器人基于所述目标抓取点对所述供包台上的包裹执行抓取操作。
162.示例性的,所述获取模块61获取供包台对应的目标rgb图像时具体用于:通过rgb相机采集所述供包台对应的初始rgb图像;从所述初始rgb图像中选取供包台区域的rgb图像,基于所述供包台区域的rgb图像确定目标rgb图像;所述获取模块61获取供包台对应的目标三维点云时具体用于:通过深度相机采集所述供包台对应的初始三维点云,基于所述初始三维点云确定供包台区域的三维点云,基于所述供包台区域的三维点云确定目标三维点云。
163.示例性的,所述获取模块61基于供包台区域的三维点云确定目标三维点云时具体用于:将供包台区域的三维点云确定为目标三维点云;或,供包台区域的三维点云包括多个初始三维点,从所述多个初始三维点中选取目标三维点,目标三维点的高度大于预设高度阈值;基于所有目标三维点生成目标三维点云;所述获取模块61基于所述供包台区域的rgb图像确定目标rgb图像时具体用于:将供包台区域的rgb图像确定为目标rgb图像;或,从供包台区域的rgb图像中确定目标三维点对应的目标像素点,基于目标像素点生成目标rgb图像。
164.示例性的,所述分割模块63根据k个初始包裹点云对应的目标特征对所述k个初始包裹点云进行分割,得到m个目标包裹点云时具体用于:针对每个初始包裹点云,将所述初始包裹点云中的所有三维点映射到体素三维网格,得到所述初始包裹点云对应的多个超体素;基于每个超体素对应的目标特征对所有超体素进行聚类,得到n个聚类组,所述聚类组包括至少一个超体素;针对每个超体素,若该超体素对应的目标特征与该超体素的相邻超体素对应的目标特征相同,则该超体素与该超体素的相邻超体素属于同一聚类组,若该超体素对应的目标特征与该超体素的相邻超体素对应的目标特征不同,则该超体素与该超体素的相邻超体素属于不同聚类组;其中,所述目标特征为凹性特征或者凸性特征;基于所述n个聚类组生成所述初始包裹点云对应的n个目标包裹点云。
165.示例性的,所述处理模块64确定每个目标包裹点云对应的三维抓取点时具体用于:针对每个目标包裹点云,将所述目标包裹点云中的三维点映射为二维点,从映射后的二
维点中选取一个二维点作为目标二维点,并从所述目标包裹点云的所有三维点中确定所述目标二维点对应的候选三维点;将所述候选三维点确定为所述目标包裹点云对应的三维抓取点;或者,对所述候选三维点进行角度扰动和/或平移扰动,得到多个扰动三维点,并将所述候选三维点和所述多个扰动三维点确定为所述目标包裹点云对应的三维抓取点。
166.示例性的,所述处理模块64基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序时具体用于:针对每个三维抓取点,该三维抓取点对应多个抓取参数,基于该三维抓取点对应的每个抓取参数对应的抓取分数确定该三维抓取点对应的目标分数;基于每个三维抓取点对应的目标分数,按照目标分数从高到低的顺序对所有三维抓取点进行排序,或者,按照目标分数从低到高的顺序对所有三维抓取点进行排序;其中,该三维抓取点对应的多个抓取参数包括以下至少一种:该三维抓取点对应包裹的高度、该三维抓取点对应包裹的面积、该三维抓取点与供包台平面的法向之间的角度、该三维抓取点对应包裹的类型、该三维抓取点对应的目标特征、该三维抓取点与机器人之间的距离。
167.示例性的,该三维抓取点对应包裹的高度越大时,高度参数对应的抓取分数越大;该三维抓取点对应包裹的面积越大时,面积参数对应的抓取分数越大;该三维抓取点与供包台平面的法向之间的角度越小时,角度参数对应的抓取分数越大;该三维抓取点与机器人之间的距离越小时,距离参数对应的抓取分数越大;该三维抓取点对应包裹的类型是硬包类型或者软包类型,且所述硬包类型对应的抓取分数大于所述软包类型对应的抓取分数;该三维抓取点对应的目标特征是凸性特征或者凹性特征,且所述凸性特征对应的抓取分数大于所述凹性特征对应的抓取分数。
168.基于与上述方法同样的申请构思,本技术实施例中提出一种电子设备,参见图7所示,电子设备可以包括:处理器71和机器可读存储介质72,机器可读存储介质72存储有能够被处理器71执行的机器可执行指令;处理器71用于执行机器可执行指令,以实现本技术上述示例公开的包裹抓取方法。
169.基于与上述方法同样的申请构思,本技术实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本技术上述示例公开的包裹抓取方法。
170.其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
171.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
172.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
173.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序
产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
174.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
175.而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
176.这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
177.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:
1.一种包裹抓取方法,其特征在于,所述方法包括:获取供包台对应的目标rgb图像,并获取供包台对应的目标三维点云;基于所述目标rgb图像确定k个包裹图像区域,k为正整数;从所述目标三维点云中确定所述k个包裹图像区域对应的k个初始包裹点云,根据所述k个初始包裹点云对应的目标特征对所述k个初始包裹点云进行分割,得到m个目标包裹点云,m大于或者等于k;确定每个目标包裹点云对应的三维抓取点,基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序,基于排序结果从所有三维抓取点中选取一个三维抓取点作为目标抓取点;其中,所述目标抓取点用于使机器人基于所述目标抓取点对所述供包台上的包裹执行抓取操作。2.根据权利要求1所述的方法,其特征在于,所述获取供包台对应的目标rgb图像,包括:通过rgb相机采集所述供包台对应的初始rgb图像;从所述初始rgb图像中选取供包台区域的rgb图像,基于所述供包台区域的rgb图像确定目标rgb图像;所述获取供包台对应的目标三维点云,包括:通过深度相机采集所述供包台对应的初始三维点云,基于所述初始三维点云确定供包台区域的三维点云,基于所述供包台区域的三维点云确定目标三维点云。3.根据权利要求2所述的方法,其特征在于,所述基于所述供包台区域的三维点云确定目标三维点云,包括:将所述供包台区域的三维点云确定为目标三维点云;或者,所述供包台区域的三维点云包括多个初始三维点,从所述多个初始三维点中选取目标三维点,所述目标三维点的高度大于预设高度阈值;基于所有目标三维点生成目标三维点云;所述基于所述供包台区域的rgb图像确定目标rgb图像,包括:将所述供包台区域的rgb图像确定为目标rgb图像;或,从所述供包台区域的rgb图像中确定目标三维点对应的目标像素点,基于目标像素点生成目标rgb图像。4.根据权利要求1所述的方法,其特征在于,所述根据所述k个初始包裹点云对应的目标特征对所述k个初始包裹点云进行分割,得到m个目标包裹点云,包括:针对每个初始包裹点云,将所述初始包裹点云中的所有三维点映射到体素三维网格,得到所述初始包裹点云对应的多个超体素;基于每个超体素对应的目标特征对所有超体素进行聚类,得到n个聚类组,n为正整数,所述聚类组包括至少一个超体素;其中,针对每个超体素,若该超体素对应的目标特征与该超体素的相邻超体素对应的目标特征相同,则该超体素与该超体素的相邻超体素属于同一聚类组,若该超体素对应的目标特征与该超体素的相邻超体素对应的目标特征不同,则该超体素与该超体素的相邻超体素属于不同聚类组;其中,所述目标特征为凹性特征或凸性特征;基于所述n个聚类组生成所述初始包裹点云对应的n个目标包裹点云。5.根据权利要求1所述的方法,其特征在于,所述确定每个目标包裹点云对应的三维抓取点,包括:
针对每个目标包裹点云,将所述目标包裹点云中的三维点映射为二维点,从映射后的二维点中选取一个二维点作为目标二维点,并从所述目标包裹点云的所有三维点中确定所述目标二维点对应的候选三维点;将所述候选三维点确定为所述目标包裹点云对应的三维抓取点;或,对所述候选三维点进行角度扰动和/或平移扰动,得到多个扰动三维点,将所述候选三维点和所述多个扰动三维点确定为所述目标包裹点云对应的三维抓取点。6.根据权利要求1所述的方法,其特征在于,所述基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序,包括:针对每个三维抓取点,该三维抓取点对应多个抓取参数,基于该三维抓取点对应的每个抓取参数对应的抓取分数确定该三维抓取点对应的目标分数;基于每个三维抓取点对应的目标分数,按照目标分数从高到低的顺序或者按照目标分数从低到高的顺序,对所有三维抓取点进行排序;其中,该三维抓取点对应的多个抓取参数包括以下至少一种:该三维抓取点对应包裹的高度、该三维抓取点对应包裹的面积、该三维抓取点与供包台平面的法向之间的角度、该三维抓取点对应包裹的类型、该三维抓取点对应的目标特征、该三维抓取点与机器人之间的距离。7.根据权利要求6所述的方法,其特征在于,该三维抓取点对应包裹的高度越大时,高度参数对应的抓取分数越大;该三维抓取点对应包裹的面积越大时,面积参数对应的抓取分数越大;该三维抓取点与供包台平面的法向之间的角度越小时,角度参数对应的抓取分数越大;该三维抓取点与机器人之间的距离越小时,距离参数对应的抓取分数越大;该三维抓取点对应包裹的类型是硬包类型或者软包类型,且所述硬包类型对应的抓取分数大于所述软包类型对应的抓取分数;该三维抓取点对应的目标特征是凸性特征或者凹性特征,且所述凸性特征对应的抓取分数大于所述凹性特征对应的抓取分数。8.一种包裹抓取装置,其特征在于,所述装置包括:获取模块,用于获取供包台对应的目标rgb图像,并获取供包台对应的目标三维点云;确定模块,用于基于所述目标rgb图像确定k个包裹图像区域,从所述目标三维点云中确定所述k个包裹图像区域对应的k个初始包裹点云;分割模块,用于根据所述k个初始包裹点云对应的目标特征对所述k个初始包裹点云进行分割,得到m个目标包裹点云,m大于或者等于k;处理模块,用于确定每个目标包裹点云对应的三维抓取点,基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序,基于排序结果从所有三维抓取点中选取一个三维抓取点作为目标抓取点;其中,所述目标抓取点用于使机器人基于所述目标抓取点对所述供包台上的包裹执行抓取操作。9.根据权利要求8所述的装置,其特征在于,其中,所述获取模块获取供包台对应的目标rgb图像时具体用于:通过rgb相机采集所述供包台对应的初始rgb图像;从所述初始rgb图像中选取供包台区域的rgb图像,基于所述
供包台区域的rgb图像确定目标rgb图像;所述获取模块获取供包台对应的目标三维点云时具体用于:通过深度相机采集所述供包台对应的初始三维点云,基于所述初始三维点云确定供包台区域的三维点云,基于所述供包台区域的三维点云确定目标三维点云;其中,所述获取模块基于所述供包台区域的三维点云确定目标三维点云时具体用于:将供包台区域的三维点云确定为目标三维点云;或,供包台区域的三维点云包括多个初始三维点,从所述多个初始三维点中选取目标三维点,目标三维点的高度大于预设高度阈值;基于所有目标三维点生成目标三维点云;所述获取模块基于所述供包台区域的rgb图像确定目标rgb图像时具体用于:将供包台区域的rgb图像确定为目标rgb图像;或,从供包台区域的rgb图像中确定目标三维点对应的目标像素点,基于目标像素点生成目标rgb图像;其中,所述分割模块根据所述k个初始包裹点云对应的目标特征对所述k个初始包裹点云进行分割,得到m个目标包裹点云时具体用于:针对每个初始包裹点云,将所述初始包裹点云中的所有三维点映射到体素三维网格,得到所述初始包裹点云对应的多个超体素;基于每个超体素对应的目标特征对所有超体素进行聚类,得到n个聚类组,所述聚类组包括至少一个超体素;针对每个超体素,若该超体素对应的目标特征与该超体素的相邻超体素对应的目标特征相同,则该超体素与该超体素的相邻超体素属于同一聚类组,若该超体素对应的目标特征与该超体素的相邻超体素对应的目标特征不同,则该超体素与该超体素的相邻超体素属于不同聚类组;其中,所述目标特征为凹性特征或者凸性特征;基于所述n个聚类组生成所述初始包裹点云对应的n个目标包裹点云;其中,所述处理模块确定每个目标包裹点云对应的三维抓取点时具体用于:针对每个目标包裹点云,将所述目标包裹点云中的三维点映射为二维点,从映射后的二维点中选取一个二维点作为目标二维点,并从所述目标包裹点云的所有三维点中确定所述目标二维点对应的候选三维点;将所述候选三维点确定为所述目标包裹点云对应的三维抓取点;或者,对所述候选三维点进行角度扰动和/或平移扰动,得到多个扰动三维点,并将所述候选三维点和所述多个扰动三维点确定为所述目标包裹点云对应的三维抓取点;其中,所述处理模块基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序时具体用于:针对每个三维抓取点,该三维抓取点对应多个抓取参数,基于该三维抓取点对应的每个抓取参数对应的抓取分数确定该三维抓取点对应的目标分数;基于每个三维抓取点对应的目标分数,按照目标分数从高到低的顺序对所有三维抓取点进行排序,或者,按照目标分数从低到高的顺序对所有三维抓取点进行排序;其中,该三维抓取点对应的多个抓取参数包括以下至少一种:该三维抓取点对应包裹的高度、该三维抓取点对应包裹的面积、该三维抓取点与供包台平面的法向之间的角度、该三维抓取点对应包裹的类型、该三维抓取点对应的目标特征、该三维抓取点与机器人之间的距离;其中,该三维抓取点对应包裹的高度越大时,高度参数对应的抓取分数越大;该三维抓取点对应包裹的面积越大时,面积参数对应的抓取分数越大;该三维抓取点与供包台平面的法向之间的角度越小时,角度参数对应的抓取分数越大;该三维抓取点与机器人之间的距离越小时,距离参数对应的抓取分数越大;该三维抓取点对应包裹的类型是硬包类型或者软包类型,且所述硬包类型对应的抓取分数大于所述软包类型对应的抓取分数;该三维抓取点对应的目标特征是凸性特征或者凹性特征,且所述凸性特征对应的抓取分数大于所述凹性特征对应的抓取分数。
10.一种电子设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;其中,所述处理器用于执行机器可执行指令,以实现权利要求1-7任一项所述的方法。
技术总结
本申请提供一种包裹抓取方法、装置及设备,该方法包括:获取供包台对应的目标RGB图像和目标三维点云;基于目标RGB图像确定K个包裹图像区域,K为正整数;从目标三维点云中确定K个包裹图像区域对应的K个初始包裹点云,根据K个初始包裹点云对应的目标特征对K个初始包裹点云进行分割,得到M个目标包裹点云;确定每个目标包裹点云对应的三维抓取点,基于每个三维抓取点对应的抓取参数对所有三维抓取点进行排序,基于排序结果从所有三维抓取点中选取一个三维抓取点作为目标抓取点;其中,目标抓取点用于使机器人基于目标抓取点对供包台上的包裹执行抓取操作。通过本申请的技术方案,能够找到合适的抓取点(即最佳抓取点),提升抓取成功率。成功率。成功率。
技术研发人员:陈波 周杨
受保护的技术使用者:杭州海康机器人股份有限公司
技术研发日:2023.03.07
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
