CN115258509A - 物品拣选方法及装置、计算机可读存储介质 - Google Patents
物品拣选方法及装置、计算机可读存储介质 Download PDFInfo
- Publication number
- CN115258509A CN115258509A CN202210872886.3A CN202210872886A CN115258509A CN 115258509 A CN115258509 A CN 115258509A CN 202210872886 A CN202210872886 A CN 202210872886A CN 115258509 A CN115258509 A CN 115258509A
- Authority
- CN
- China
- Prior art keywords
- picking
- items
- item
- article
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G1/00—Storing articles, individually or in orderly arrangement, in warehouses or magazines
- B65G1/02—Storage devices
- B65G1/04—Storage devices mechanical
- B65G1/137—Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
- B65G1/1371—Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed with data records
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G1/00—Storing articles, individually or in orderly arrangement, in warehouses or magazines
- B65G1/02—Storage devices
- B65G1/04—Storage devices mechanical
- B65G1/137—Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
- B65G1/1373—Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/02—Control or detection
- B65G2203/0208—Control or detection relating to the transported articles
- B65G2203/0233—Position of the article
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2203/00—Indexing code relating to control or detection of the articles or the load carriers during conveying
- B65G2203/04—Detection means
- B65G2203/041—Camera
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Mechanical Engineering (AREA)
- Economics (AREA)
- Mathematical Physics (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
Abstract
本公开涉及物品拣选方法及装置、计算机可存储介质,涉及仓储物流领域。物品拣选方法包括:获取货箱内多个物品的拣选信息;根据拣选信息,生成第一排序结果,其中,第一排序结果表示物品拣选的难易程度;根据拣选信息,计算物品之间的约束关系;根据第一排序结果和物品之间的约束关系,生成第二排序结果,其中,第二排序结果表示物品的拣选优先级;按照第二排序结果的顺序,确定待拣选物品的拣选顺序。根据本公开,提高了物品拣选的效率。
Description
技术领域
本公开涉及仓储物流领域,特别涉及物品拣选方法及装置、计算机可读存储介质。
背景技术
随着网购的普及,物品流通趋向于准时制和多品种化,在仓储中心和物流中心,待分拣的物品的种类和数量急剧增加,分拣作业物流仓储中的工作量占比越来越高。单凭人工分拣已经无法满足大规模的分拣要求,自动化分拣已经成为提高分拣的效率关键。
在自动化分拣中,在命令机械臂拣选货箱内多件物品时,需要向机械臂的操作***提供物品的拣选顺序。相关技术中,按照拣选***识别到物品的顺序,拣选物品。
发明内容
根据本公开的第一方面,提供了一种物品拣选方法,包括:
获取货箱内多个物品的拣选信息;
根据拣选信息,生成第一排序结果,其中,第一排序结果表示物品拣选的难易程度;
根据拣选信息,计算物品之间的约束关系;
根据第一排序结果和物品之间的约束关系,生成第二排序结果,其中,第二排序结果表示物品的拣选优先级;
按照第二排序结果的顺序,确定待拣选物品的拣选顺序。
在一些实施例中,所述根据第一排序结果和物品之间的约束关系,生成第二排序结果,包括:
根据第一排序结果和物品之间的约束关系,生成结构树,其中,结构树中的每个节点对应一个物品,同一层内的所有物品的优先级排序符合第一排序结果,物品与其上一层的至少一个物品之间存在约束关系;
在保留同一层内的物品的排序的前提下,根据物品之间的约束关系和预设的合并规则,将结构树的多层合并为一层,得到第二排序结果。
在一些实施例中,其中,所述根据第一排序结果和物品之间的约束关系,生成结构树,包括:
将没有父节点的物品作为结构树的第一层,从第一层开始,对当前层的物品按照第一排序结果排序,其中,父节点为约束该物品的物品;
将当前层的物品的子节点确定为当前层的下一层中的物品,其中,子节点为被该物品约束的物品;
循环对当前层的物品按照第一排序结果排序和确定下一层中的物品的步骤,直至当前层的物品没有子节点。
在一些实施例中,其中,所述在保留同一层内的物品的排序的前提下,根据物品之间的约束关系和预设的合并规则,将结构树的多层合并为一层,得到第二排序结果,包括:
从结构树的最后一层的物品开始,在保留上一层的物品的排序不变、且当前层的物品的优先级小于其父节点的优先级的前提下,根据第一排序结果,确定将当前层的物品合并到上一层后的位置;
循环确定物品位置的步骤,直至结构树合并为一层。
在一些实施例中,所述在保留同一层内的物品的排序的前提下,根据物品之间的约束关系和预设的合并规则,将结构树的多层合并为一层,得到第二排序结果,包括:
从结构树的第一层的物品开始,在保留当前层的物品的排序不变、且当前层的物品的优先级大于其子节点的优先级的前提下,根据第一排序结果,确定将下一层的物品合并到当前层后的位置;
循环确定物品位置的步骤,直至结构树合并为一层。
在一些实施例中,所述拣选信息包括:
物品所在货箱的图像、物品的拣选点和拣选面。
在一些实施例中,所述根据拣选信息,生成第一排序结果包括:
根据拣选信息,计算反映物品拣选难易程度的影响因子;
根据影响因子,生成第一排序结果。
在一些实施例中,所述根据影响因子,生成第一排序结果包括:
根据影响因子排序在前的N个物品,生成第一排序结果,其中,N为正整数。
在一些实施例中,所述影响因子包括拣选面的面积、以拣选点为圆心的拣选面的最大内切圆的面积、拣选点的法向量与货箱的底面的法向量的夹角、拣选点到货箱的各个面的距离、拣选点到货箱的中心的距离的至少一种。
在一些实施例中,所述影响因子包括物品为待拣选物品的概率,所述根据拣选信息,计算物品拣选的影响因子包括:
根据物品所在货箱的图像,利用机器学习模型,计算物品为待拣选物品的概率。
在一些实施例中,所述的物品拣选方法,还包括:
在生成第一排序结果之前,根据拣选信息和预设的过滤条件,筛选出参与排序的物品。
在一些实施例中,所述物品之间的约束关系反映物品之间的堆叠关系。
根据本公开的第二方面,提供了一种物品拣选装置,包括
获取模块,被配置为获取货箱内多个物品的拣选信息;
第一生成模块,被配置为根据拣选信息,生成第一排序结果,其中,第一排序结果表示物品拣选的难易程度;
计算模块,被配置为根据拣选信息,计算物品之间的约束关系;
第二生成模块,被配置为根据第一排序结果和物品之间的约束关系,生成第二排序结果,其中,第二排序结果表示物品的拣选优先级;
确定模块,被配置为按照第二排序结果的顺序,确定待拣选物品的拣选顺序。
根据本公开的第三方面,提供了一种物品拣选装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行根据本公开任一实施例所述的物品拣选方法。
根据本公开的第四方面,提供了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时,实现根据本公开任一实施例所述的物品拣选方法。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出了根据本公开一些实施例的物品拣选方法的流程图;
图2(a)示出了根据本公开一些实施例的物品间约束关系的示意图;
图2(b)示出了根据本公开另一些实施例的物品间约束关系的示意图;
图3示出了根据本公开的一些实施例的结构树的示意图;
图4示出了根据本公开的一些实施例的确定父节点的流程图;
图5示出了根据本公开一些实施例的生成结构树的流程图;
图6示出了根据本公开一些实施例的结构树合并的流程图;
图7示出了根据本公开一些实施例的物品拣选装置的框图;
图8示出了根据本公开另一些实施例的物品拣选装置的框图
图9示出了用于实现本公开一些实施例的计算机***的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
相关技术中,按照物品被识别到的顺序来拣选物品,例如,通过人工智能模型,识别在货箱内的物品的图像,识别出一个物品,就拣选这个物品。然而,这种拣选方式存在下列问题。
(1)由于姿态、摆放位置等因素的影响,不同物品被拣选的难易程度是不同的,如果先拣选难抓起的物品,可能会影响整个拣选过程的效率;
(2)没有考虑物品之间的相互约束的关系,例如,一个物品压住了另一个物品,就应当先拣选在上面的物品,而不是先拣选被压在下面的物品。
另外,如果采用单一指标作为拣选点排序的评估标准,难以兼顾到更全面的情况。例如,如果仅利用物品到机械臂的距离作为排序依据,一些虽然距离机械臂较近但拣选平面较小、拣选面倾斜角较大的物品依然难以拣选,会被优先拣选;而一些距离机械臂稍远,但平整拣选面较大、拣选面倾斜角较小的物品更利于拣选,却无法优先被拣选。也可能会出现某个物品虽然更容易拣选,但是被其他物品压在下面的情况,如果仅按照拣选的难易程度排序,就可能导致拣选失败。
图1示出根据本公开一些实施例的物品拣选方法的流程图。
如图1所示,物品拣选方法包括步骤S1-步骤S5。
在步骤S1中,获取货箱内多个物品的拣选信息。
在一些实施例中,拣选信息包括:物品所在货箱的图像、物品的拣选点和拣选面。
例如,用相机从货箱的上方,向下拍摄堆叠在货箱内的物品的图像,即,拍摄物品的俯视图,并计算物品的拣选点和拣选面,其中,拣选点是机械臂抓取物品或吸取物品时接触的物品上的点,拣选面是拣选点所在的面。
在一些实施例中,拣选信息还包括相机参数。
可以对拣选信息进一步处理,根据拣选信息中的图像和相机参数,确定货箱的坐标。
在步骤S2中,根据拣选信息,生成第一排序结果,其中,第一排序结果表示物品拣选的难易程度。
例如,按照物品的拣选难易程度,对物品进行初排,生成第一排序结果。
在一些实施例中,根据拣选信息,生成第一排序结果包括:根据拣选信息,计算反映物品拣选难易程度的影响因子;根据影响因子,生成第一排序结果。
在一些实施例中,影响因子包括拣选面的面积、以拣选点为圆心的拣选面的最大内切圆的面积、拣选点的法向量与货箱的底面的法向量的夹角、拣选点到货箱的各个面的距离、拣选点到货箱的中心的距离的至少一种。
其中,根据货箱的坐标、拣选点、拣选面确定,拣选点的法向量与货箱的底面的法向量的夹角、拣选点到货箱的各个面的距离、拣选点到货箱的中心的距离。
在一些实施例中,影响因子包括物品为待拣选物品的概率,所述根据拣选信息,计算物品拣选的影响因子包括:根据物品所在货箱的图像,利用机器学习模型,计算物品为待拣选物品的概率。
例如,不是货箱内的所有物品都要被拣选,因此要确定物品为待拣选物品的概率。另外,在***识别过程中,有时也会将不是商品的物品当成商品,并计算了拣选信息,因此,需要进一步过滤这些不应被拣选的物品,最终确定需要参与生成第一排序结果和第二排序结果的过程的物品。
上述影响因子和物品拣选的难易程度的关系如下。
1)拣选面的面积:拣选面面积越大,越容易拣选,其中,拣选面面积在像素坐标系中计算得到;
2)拣选点为圆心的拣选面的最大内切圆面积:该内切圆面积越大,越容易拣选,其中,拣选面的内切圆面积在像素坐标系中计算得到;
3)拣选点的法向量与货箱底面的法向量的夹角:该夹角越小,倾斜程度越小,越容易拣选,其中,拣选点的法向量与货箱底面的法向量的夹角在世界坐标系中计算得到;
4)拣选点到货箱底部距离:该距离越大,拣选点距离机械臂越近,物品越不容易被其他物品压住,也越容易拣选,其中,拣选点到货箱底部距离在世界坐标系中计算得到;
5)拣选点到货箱四壁的最短距离:该最短距离越小,表明机械臂在拣选过程越容易与货箱四壁发生碰撞,也越不容易拣选,其中,拣选点到货箱四壁的最短距离在像素坐标系中计算得到;
6)拣选点到货箱中心的距离:该距离越小,表面的物品越靠近货箱中心,机械臂越不容易与货箱发生碰撞,也越容易被拣选,其中,拣选点到货箱中心的距离在像素坐标系中计算得到;
7)物品为待拣选物品的概率(即,拣选物品对应的识别模型得分):该得分的高低是机器学习模型对物品的识别度,得分越高,说明该物体是需要拣选的商品的可能性越高,应该被拣选的概率就越高。
为了保持各影响因子量纲的统一,在计算每个物品的初次排序的得分前,需对上述各影响因子得分进行归一化,例如,采用softmax的方式进行归一化。
在一些实施例中,根据影响因子,生成第一排序结果,包括:根据影响因子的加权和,生成第一排序结果。
例如,计算多个影响因子,对每种影响因子,设定一个权重值w。假设一个影响因子的数值v,那么w*v,即为该影响因子的加权得分,将所有影响因子的加权得分求和即可得到总的排序得分,进而得到第一排序结果。通过综合考虑多个影响因子,确定物品拣选的难易程度,能够兼顾更多情况,提高拣选成功率。
也可以利用机器学习模型,生成第一排序结果。
例如,利用Xgboost、Lightgbm、RankNe LambdaMART、ES-Rank、DirectRanker、PiRank等机器学习模型。在训练阶段,将影响因子数据和部分人工标注好的排序数据,作为机器学习的模型的输入,进行训练,得到排序模型。在模型推理阶段,利用训练得到的排序模型权重,对新的待排序数据进行排序,进而得到初排结果。利用机器学习模型,能够得到更准确的第一排序结果。
在一些实施例中,根据影响因子,生成第一排序结果包括:根据影响因子排序在前的N个物品,生成第一排序结果。其中,N为正整数。
例如,机械臂本次只需要拣10个物品,因此只关心影响因子在前的N个结果,那么排名在10以后的物品就不作为待拣选物品列入到第一排序结果中,也不会参与后续的步骤,从而可以灵活适应拣选需求。
在一些实施例中,物品拣选方法还包括,在生成第一排序结果之前,根据拣选信息和预设的过滤条件,筛选出参与排序的物品。
例如,预先设置一些过滤条件来判断物品是否可被拣选、物品识别是否有效,过滤条件可以是倾斜角、机器学习模型的检测得分等,如果这些条件不满足,则物品不会参与初排,也就不作为待拣选物品列入第一排序结果中,从而可以将不适合拣选的物品先排除出去,避免这些物品影响机械臂拣选的效率,并提高计算第一排序结果和第二排序结果的计算效率。
在步骤S3中,根据拣选信息,计算物品之间的约束关系。
在一些实施例中,所述物品之间的约束关系反映物品之间的堆叠关系。
图2(a)示出了根据本公开一些实施例的物品间约束关系的示意图。
图2(a)是上下叠放的物品a、b的侧视图。如图2(a)所示,如果想要拣选物品b,应先拣选起物品a。否则,如果先拣选物品b,可能在机械臂抓起物品b的时候,物品a也被带起,物品a可能在空中掉落,从而造成物品a的损坏。因此,设定物品a对物品b具有约束。
在一些实施例中,根据拣选信息,计算物品之间的约束关系,包括:在物品的高度大于其相邻物品的高度的情况下,确定物品对该相邻物品有约束。其中,相邻物品是与物品有接触的物品。
例如,在图2(a)中,物品a的高度大于物品b,且物品a和物品b相邻,因此物品a对物品b有约束。
在一些实施例中,根据拣选信息,计算物品之间的约束关系,包括:在物品的倾斜角度与其相邻物品的倾斜角度的夹角小于约束阈值的情况下,根据物品的倾斜角度,确定物品与该相邻物品之间的约束关系。
例如,在物品与其相邻物品的倾斜角度的方向与从物品指向其相邻物品的方向小于预设阈值的情况下,确定物品与该相邻物品有约束。
图2(b)示出了根据本公开另一些实施例的物品间约束关系的示意图。
图2(b)是横向叠放的物品a、b的侧视图。如图2(b)所示,物品a压住了物品b的一部分。在计算约束关系时,物品a以及与其相邻的物品b的倾斜趋势一致,都是向右侧倾斜,而物品A在物品B的左侧,即物品A指向物品B的方向也是从左向右,和倾斜角度相近,所以物品A对物品B有约束。
在步骤S4中,根据第一排序结果和物品之间的约束关系,生成第二排序结果,其中,第二排序结果表示物品的拣选优先级。
例如,在保证被约束的物品的拣选顺序晚于约束其的物品的前提下,按照物品拣选的难易程度,调整物品的拣选顺序,从而确定最终的物品拣选顺序。通过计算物品之间的约束关系并计算第二排序结果,可以避免在最后的排序结果中,将有压叠现象的底部物品排在顶部物品之前进行拣选的风险。
在一些实施例中,根据第一排序结果和物品之间的约束关系,生成结构树,其中,结构树中的每个节点对应一个物品,同一层内的所有物品的优先级排序符合第一排序结果,物品与其上一层的至少一个物品之间存在约束关系;在保留同一层内的物品的排序的前提下,根据物品之间的约束关系和预设的合并规则,将结构树的多层合并为一层,得到第二排序结果。
图3示出了根据本公开的一些实施例的结构树的示意图。
假设物品1对物品4、3、2有约束,物品4对物品6有约束,第一排序结果中,物品拣选的难易程度从易到难依次为:物品6>物品5>物品4>物品3>物品2>物品1。如图3所示,物品1和5没有被其他物品约束,放在第一层,并按照第一排序结果排序。被物品1约束的物品4、3、2在第二层,且第2层的各节点间按照第一排序结果排序,例如,依次为物品4、物品3、物品2。
在结构树所有层中,上层的物品比它下层的子节点的优先级高,这与物品的实际堆叠顺序是相近的,例如货箱中靠上面的物品更可能在结构树的上层。在树的每一层内,也按照第一排序结果的高低进行排序。树状结构的第一层是没有被约束关系抑制的第一排序结果中的候选项,也就是货箱中最上层的物品。
根据约束关系构建结构树,能够模拟货箱中物品的真实堆叠情况,同时也考虑了物品拣选的难易程度,从而优化最终得到的第二排序结果。
在一些实施例中,根据第一排序结果和物品之间的约束关系,生成结构树,包括:
将没有父节点的物品作为结构树的第一层,从第一层开始,对当前层的物品按照第一排序结果排序,其中,父节点为约束该物品的物品;将当前层的物品的子节点确定为当前层的下一层中的物品,其中,子节点为被该物品约束的物品;循环对当前层的物品按照第一排序结果排序和确定下一层中的物品的步骤,直至当前层的物品没有子节点。
在一些实施例中,在存在多个约束该物品i的物品情况下,在多个约束该物品i的物品(例如k,h,j)中,选择在第一排序结果中排序最末的物品j(即,最难拣选的物品j),作为该物品i的父节点。
图4示出了根据本公开的一些实施例的确定父节点的示意图。
(1)将第一排序结果中的物品,作为候选项。遍历每个候选项i,判断是已遍历全部候选项,如果否,进入步骤(2),否则,结束算法;
(2)判断是否有与该候选项i之间存在约束关系的物品,如果是,则转到步骤(3),否则,转到步骤(5);
(3)判断与该候选项i之间存在约束关系的物品是否在第一排序结果中,如果是,则转到步骤(4),否则,转到步骤(5);
(4)在与该候选项i之间存在约束关系、且包括在第一排序结果里的物品中,选择在第一排序结果中排序最靠后的物品j,作为该候选项i的父节点,候选项i作为物品j的子节点;
(5)保持该候选项的原始信息,不建立该候选项的父子节点关系,进入下一个候选项。
在一些实施例中,根据第一排序结果和物品之间的约束关系,生成结构树,包括:将没有父节点的物品作为结构树的第一层,从第一层开始,对当前层的物品按照第一排序结果排序,其中,父节点为约束该物品的物品;将当前层的物品的子节点确定为当前层的下一层中的物品,其中,子节点为被该物品约束的物品;循环对当前层的物品按照第一排序结果排序和确定下一层中的物品的步骤,直至当前层的物品没有子节点。
如图3所示,从第一层开始向上建立结构树。假设物品1是物品4、3、2的父节点,物品4对物品6有约束,第一排序结果为物品6>物品5>物品4>物品3>物品2>物品1。则其中没有父节点的是物品1、5,放在第一层。然后将物品1的子节点物品4、3、2放在第2层,并对第2层的节点按照第一排序结果的顺序进行排序,然后将4的子节点6放在第三层。
图5示出了根据本公开一些实施例的生成结构树的流程图。
如图5所示,从树的首层开始,按照之前得到的“父子”关系,向下逐层构建树状结构,得到一棵完整的结构树。
首先,遍历第一排序结果中的候选项,判断该候选项是否有父节点,如果没有,将候选项加入到结构树的首层节点,如果有,则对当前候选项不做额外处理,进入下一个候选项。
在找出所有首层节点之后,从结构树的首层开始,自上而下逐层遍历,判断结构树的当前层所有物品是否还有子节点,如果是,将当前层物品的子节点加入到结构树的下一层,并保持子节点的相对位置关系,直到找出当前层的全部子节点。如果否,说明已经建立完结构树的叶子节点,那么结束结构树的建立。
在一些实施例中,保留同一层内的物品的排序,根据物品之间的约束关系,将结构树的多层合并,得到第二排序结果,包括:从结构树的最后一层的物品开始,在保留上一层的物品的优先级排序不变、且当前层的物品的优先级小于其父节点的优先级的前提下,根据第一排序结果,确定将当前层的物品合并到上一层后的位置;循环确定物品位置的步骤,直至结构树合并为一层。
例如,从最后一层开始向上合并结构树。参照图3,先将物品6合并到第2层,首先要保证物品6的排序在物品4后,然后对物品6、3、2按照第一排序结果排序,则,合并后第二层的顺序为物品4、6、3、2。然后将第二层合并到第一层,因为物品1是第一层的最后一个,要保证物品4、6、3、2在物品1后的条件,直接将物品4、6、3、2放在物品1后,第一层其他物品不变。最终,第二排序结果,也就是结构树合并的结果为物品5、1、4、6、3、2。
图6示出了根据本公开一些实施例的结构树合并的流程图。
如图6所示,从结构树的最底层开始,自底向上对每一层进行合并。
首先,判断是否到达结构树的最顶层,如果是,则结束合并,如果否,则判断当前层的所有节点是否都合并到上一层,即,当前层的物品处理完毕。
在判断当前层的所有节点是否处理完毕时,如果判断结果为是,则转到上一层作为当前层。如果判断结果为否,则对该层的每一候选项,在上一层节点中查找其父节点,并判断该父节点在上层是否处于队尾,如果下层节点的父节点在上层的位置是上层的尾部,则在尾处之后***;如果下层节点的父节点在上层的位置为上层的中间,则上层父节点与其他节点间的相对位置不变,***后的子节点按第一排序结果,找到合适的位置排列。
在一些实施例中,保留同一层内的物品的排序,根据物品之间的约束关系,将结构树的多层合并,得到第二排序结果,包括:从结构树的第一层的物品开始,在保留当前层的物品的优先级排序不变、且当前层的物品的优先级大于其子节点的优先级的前提下,根据第一排序结果,确定将下一层的物品合并到当前层后的位置;循环确定物品位置的步骤,直至结构树合并为一层。
自上而下的合并方法与自下而上的合并方法类似。例如,从第一层开始向下合并结构树。在保证物品5和物品1的排序不变的前提下、将物品4、3、2合并到第一层的物品1后,则第一层的排序变为物品5、1、4、3、2,然后将物品4的子节点(即物品6)合并到第一层,物品6应在物品4的后面,且物品6、3、2的排序与第一排序结果一致。最终,与从下往上合并结构树相同,第二排序结果,也就是结构树合并的结果仍是物品5、1、4、6、3、2。
在步骤S5中,按照第二排序结果的顺序,确定待拣选物品的拣选顺序。
例如,将第二排序结果作为最后的拣选顺序,发送给机械臂控制***,使得机械臂按照第二排序结果进行拣选。
本公开根据物品拣选的难易程度,先初次排序物品,得到第一排序结果。然后,构建结构树,根据物品之间相互约束的关系,对初次排序结果进行重排,得到第二排序结果。在满足物品之间的约束关系对拣选顺序的要求的前提下,又考虑了物品拣选的难易程度,既解决了物品相互压叠影响抓取效果、造成物品损坏的问题,又实现了让好拣选的物品先被拣选上来,提高了拣选效率和成功率,减少物品损耗。
图7示出根据本公开一些实施例的物品拣选装置的框图。
如图7所示,物品拣选装置7包括获取模块71、第一生成模块72、计算模块73、第二生成模块74、确定模块75。
获取模块71,被配置为获取货箱内多个物品的拣选信息,例如执行如图1所示的步骤S1;
第一生成模块72,被配置为根据拣选信息,生成第一排序结果,其中,第一排序结果表示物品拣选的难易程度,例如执行如图1所示的步骤S2;
计算模块73,被配置为根据拣选信息,计算物品之间的约束关系,例如执行如图1所示的步骤S3;
第二生成模块74,被配置为根据第一排序结果和物品之间的约束关系,生成第二排序结果,其中,第二排序结果表示物品的拣选优先级,例如执行如图1所示的步骤S4;
确定模块75,被配置为按照第二排序结果的顺序,确定待拣选物品的拣选顺序,例如执行如图1所示的步骤S5。
图8示出根据本公开另一些实施例的物品拣选装置的框图。
如图8所示,物品拣选装置8包括存储器81;以及耦接至该存储器81的处理器82,存储器81用于存储执行物品拣选方法。处理器82被配置为基于存储在存储器81中的指令,执行本公开中任意一些实施例中的物品拣选方法。
图9示出用于实现本公开一些实施例的计算机***的框图。
如图9所示,计算机***90可以通用计算设备的形式表现。计算机***90包括存储器910、处理器920和连接不同***组件的总线900。
存储器910例如可以包括***存储器、非易失性存储介质等。***存储器例如存储有操作***、应用程序、引导装载程序(Boot Loader)以及其他程序等。***存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行本公开中任意一些实施例中的物品拣选方法的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器920可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线900可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、***组件互连(PCI)总线。
计算机***90还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930、940、950以及存储器910和处理器920之间可以通过总线900连接。输入输出接口930可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为软盘、U盘、SD卡等外部存储设备提供连接接口。
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
这些计算机可读程序指令也可读存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
通过上述实施例中的物品拣选方法及装置、计算机可读存储介质,提高了物品拣选的效率。
至此,已经详细描述了根据本公开的物品拣选方法及装置、计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
Claims (15)
1.一种物品拣选方法,包括:
获取货箱内多个物品的拣选信息;
根据拣选信息,生成第一排序结果,其中,第一排序结果表示物品拣选的难易程度;
根据拣选信息,计算物品之间的约束关系;
根据第一排序结果和物品之间的约束关系,生成第二排序结果,其中,第二排序结果表示物品的拣选优先级;
按照第二排序结果的顺序,确定待拣选物品的拣选顺序。
2.根据权利要求1所述的物品拣选方法,其中,所述根据第一排序结果和物品之间的约束关系,生成第二排序结果,包括:
根据第一排序结果和物品之间的约束关系,生成结构树,其中,结构树中的每个节点对应一个物品,同一层内的所有物品的优先级排序符合第一排序结果,物品与其上一层的至少一个物品之间存在约束关系;
在保留同一层内的物品的排序的前提下,根据物品之间的约束关系和预设的合并规则,将结构树的多层合并为一层,得到第二排序结果。
3.根据权利要求2所述的物品拣选方法,其中,所述根据第一排序结果和物品之间的约束关系,生成结构树,包括:
将没有父节点的物品作为结构树的第一层,从第一层开始,对当前层的物品按照第一排序结果排序,其中,父节点为约束该物品的物品;
将当前层的物品的子节点确定为当前层的下一层中的物品,其中,子节点为被该物品约束的物品;
循环对当前层的物品按照第一排序结果排序和确定下一层中的物品的步骤,直至当前层的物品没有子节点。
4.根据权利要求2所述的物品拣选方法,其中,所述在保留同一层内的物品的排序的前提下,根据物品之间的约束关系和预设的合并规则,将结构树的多层合并为一层,得到第二排序结果,包括:
从结构树的最后一层的物品开始,在保留上一层的物品的排序不变、且当前层的物品的优先级小于其父节点的优先级的前提下,根据第一排序结果,确定将当前层的物品合并到上一层后的位置;
循环确定物品位置的步骤,直至结构树合并为一层。
5.根据权利要求2所述的物品拣选方法,其中,所述在保留同一层内的物品的排序的前提下,根据物品之间的约束关系和预设的合并规则,将结构树的多层合并为一层,得到第二排序结果,包括:
从结构树的第一层的物品开始,在保留当前层的物品的排序不变、且当前层的物品的优先级大于其子节点的优先级的前提下,根据第一排序结果,确定将下一层的物品合并到当前层后的位置;
循环确定物品位置的步骤,直至结构树合并为一层。
6.根据权利要求1所述的物品拣选方法,其中,所述拣选信息包括:
物品所在货箱的图像、物品的拣选点和拣选面。
7.根据权利要求6所述的物品拣选方法,其中,所述根据拣选信息,生成第一排序结果包括:
根据拣选信息,计算反映物品拣选难易程度的影响因子;
根据影响因子,生成第一排序结果。
8.根据权利要求7所述的物品拣选方法,其中,所述根据影响因子,生成第一排序结果包括:
根据影响因子排序在前的N个物品,生成第一排序结果,其中,N为正整数。
9.根据权利要求7所述的物品拣选方法,其中,所述影响因子包括拣选面的面积、以拣选点为圆心的拣选面的最大内切圆的面积、拣选点的法向量与货箱的底面的法向量的夹角、拣选点到货箱的各个面的距离、拣选点到货箱的中心的距离的至少一种。
10.根据权利要求7所述的物品拣选方法,其中,所述影响因子包括物品为待拣选物品的概率,所述根据拣选信息,计算物品拣选的影响因子包括:
根据物品所在货箱的图像,利用机器学习模型,计算物品为待拣选物品的概率。
11.根据权利要求1所述的物品拣选方法,还包括:
在生成第一排序结果之前,根据拣选信息和预设的过滤条件,筛选出参与排序的物品。
12.根据权利要求1所述的物品拣选方法,其中,所述物品之间的约束关系反映物品之间的堆叠关系。
13.一种物品拣选装置,包括:
获取模块,被配置为获取货箱内多个物品的拣选信息;
第一生成模块,被配置为根据拣选信息,生成第一排序结果,其中,第一排序结果表示物品拣选的难易程度;
计算模块,被配置为根据拣选信息,计算物品之间的约束关系;
第二生成模块,被配置为根据第一排序结果和物品之间的约束关系,生成第二排序结果,其中,第二排序结果表示物品的拣选优先级;
确定模块,被配置为按照第二排序结果的顺序,确定待拣选物品的拣选顺序。
14.一种物品拣选装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行根据权利要求1至12任一项所述的物品拣选方法。
15.一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时,实现根据权利要求1至12任一项所述的物品拣选方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210872886.3A CN115258509A (zh) | 2022-07-21 | 2022-07-21 | 物品拣选方法及装置、计算机可读存储介质 |
PCT/CN2023/074978 WO2024016635A1 (zh) | 2022-07-21 | 2023-02-08 | 物品拣选方法及装置、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210872886.3A CN115258509A (zh) | 2022-07-21 | 2022-07-21 | 物品拣选方法及装置、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115258509A true CN115258509A (zh) | 2022-11-01 |
Family
ID=83768123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210872886.3A Pending CN115258509A (zh) | 2022-07-21 | 2022-07-21 | 物品拣选方法及装置、计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115258509A (zh) |
WO (1) | WO2024016635A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024016635A1 (zh) * | 2022-07-21 | 2024-01-25 | 京东科技控股股份有限公司 | 物品拣选方法及装置、计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10216865B1 (en) * | 2012-03-06 | 2019-02-26 | Vecna Robotics, Inc. | Monitoring one or more articles on a support surface |
US10549928B1 (en) * | 2019-02-22 | 2020-02-04 | Dexterity, Inc. | Robotic multi-item type palletizing and depalletizing |
CN111126705B (zh) * | 2019-12-25 | 2022-09-27 | 北京旷视机器人技术有限公司 | 密集仓储的搬运路径生成方法、装置及电子设备 |
CN115258509A (zh) * | 2022-07-21 | 2022-11-01 | 京东科技控股股份有限公司 | 物品拣选方法及装置、计算机可读存储介质 |
-
2022
- 2022-07-21 CN CN202210872886.3A patent/CN115258509A/zh active Pending
-
2023
- 2023-02-08 WO PCT/CN2023/074978 patent/WO2024016635A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024016635A1 (zh) * | 2022-07-21 | 2024-01-25 | 京东科技控股股份有限公司 | 物品拣选方法及装置、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024016635A1 (zh) | 2024-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107408209B (zh) | 用于在半导体工艺中进行缺陷分类的***和方法 | |
CN108010078B (zh) | 一种基于三级卷积神经网络的物体抓取检测方法 | |
CN112802105A (zh) | 对象抓取方法及装置 | |
CN114937179B (zh) | 垃圾图像分类方法、装置、电子设备及存储介质 | |
US12036678B2 (en) | Transparent object bin picking | |
CN115321090B (zh) | 机场行李自动接取方法、装置、设备、***及介质 | |
CN111400572A (zh) | 一种基于卷积神经网络实现图像特征识别的内容安全监测***及其方法 | |
Moosmann et al. | Increasing the robustness of random bin picking by avoiding grasps of entangled workpieces | |
CN115258509A (zh) | 物品拣选方法及装置、计算机可读存储介质 | |
CN113282215A (zh) | 一种rpa***中基于目标检测技术的ui元素拾取方法和*** | |
CN116912238A (zh) | 基于多维识别网络级联融合的焊缝管道识别方法及*** | |
JP2021119475A (ja) | 絞込処理システム | |
CN114800533B (zh) | 一种用于工业机器人的分拣控制方法及*** | |
CN113221929A (zh) | 一种图像处理方法以及相关设备 | |
CN115258508A (zh) | 物品拣选方法及装置、计算机可读存储介质 | |
CN116803631A (zh) | 自主***和由自主***执行的方法 | |
CN110148133A (zh) | 基于特征点及其结构关系的电路板残片图像识别方法 | |
CN116091784A (zh) | 一种目标跟踪方法、设备及存储介质 | |
CN114548868A (zh) | 基于机器视觉的仓库堆垛物品盘库计数方法及装置 | |
CN113837049A (zh) | 基于卷积神经网络和遗传算法的智能路面清洁方法 | |
Mercier et al. | Deep object ranking for template matching | |
Guo et al. | Real-time detection and classification of machine parts with embedded system for industrial robot grasping | |
KR102550869B1 (ko) | 유전 알고리즘 및 cnn을 이용한 물체 분류 및 집계 방법 | |
US20240246239A1 (en) | Multi-object picking | |
Fromm et al. | Robust multi-algorithm object recognition using machine learning methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |