CN116729877B - 一种拆垛方法、装置、设备以及存储介质 - Google Patents
一种拆垛方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN116729877B CN116729877B CN202311008824.9A CN202311008824A CN116729877B CN 116729877 B CN116729877 B CN 116729877B CN 202311008824 A CN202311008824 A CN 202311008824A CN 116729877 B CN116729877 B CN 116729877B
- Authority
- CN
- China
- Prior art keywords
- groups
- group
- area
- unstacking
- arrangement sequence
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000007246 mechanism Effects 0.000 claims abstract description 108
- 238000012163 sequencing technique Methods 0.000 claims abstract description 17
- 238000011451 sequencing strategy Methods 0.000 claims abstract description 8
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 235000020004 porter Nutrition 0.000 description 1
- 102000012498 secondary active transmembrane transporter activity proteins Human genes 0.000 description 1
- 108040003878 secondary active transmembrane transporter activity proteins Proteins 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
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/0407—Storage devices mechanical using stacker cranes
-
- 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
-
- 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
- B65G43/00—Control devices, e.g. for safety, warning or fault-correcting
- B65G43/08—Control devices operated by article or material being fed, conveyed or discharged
-
- 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
- B65G61/00—Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
-
- 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)
- Mechanical Engineering (AREA)
Abstract
本发明实施例提供了一种拆垛方法、装置、设备以及存储介质,涉及机器人技术领域。具体实现方案为:获取关于货垛的目标图像;对目标图像进行针对物品对象的对象区域识别,得到所述垛面中各个物品对象的对象区域;基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组;按照预设排序策略,对多个区域组进行排序,得到各个区域组的排列顺序;其中,预设排序策略为使得任一区域组所表征的物品对象组独立拆卸的排序策略;按照各个区域组的排列顺序,控制所述拆垛执行机构对各个区域组所表征的物品对象组进行拆卸。本方案提供的方法可以提高拆垛效率。
Description
技术领域
本发明涉及机器人技术领域,特别是涉及一种拆垛方法、装置、设备以及存储介质。
背景技术
在仓储、物流等领域,随着装卸搬运工人的短缺和用工成本升高,用机器人代替人工进行自动化的拆垛已成为趋势。其中,拆垛为将规则放置好的货箱或者包裹等物品对象一个个抓取下来,并运送至其他工序位置的流程。
现有技术中,拆垛系统的拆垛执行机构(例如吸盘或者抓手)在拆卸物品对象时,通常每次只拆卸一个物品对象,导致拆垛效率低下。因此,如何提高拆垛效率,成为亟需解决的技术问题。
发明内容
本发明实若相交,将所述待拆组的排列顺序调整到所述其他区域组之后,得到新的排列顺序并作为当前的排列顺序,施例的目的在于提供一种拆垛方法、装置、设备以及存储介质,以提高拆垛效率。具体技术方案如下:
第一方面,本发明实施例提供了一种拆垛方法,所述方法包括:
获取关于货垛的目标图像;其中,所述目标图像为当前待进行拆垛处理的垛面的图像;
对所述目标图像进行针对物品对象的对象区域识别,得到所述垛面中各个物品对象的对象区域;
基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组;其中,所述区域组中的对象区域的数量不大于所述最大拆卸数量,且所述区域组中任意两个对象区域之间的位置关系满足预定约束条件,所述预定约束条件用于保证所述拆垛执行机构一次可拆卸同一区域组所表征的物品对象组;
按照预设排序策略,对所述多个区域组进行排序,得到各个区域组的排列顺序;其中,所述预设排序策略为使得任一区域组所表征的物品对象组独立拆卸的排序策略;
按照各个区域组的排列顺序,控制所述拆垛执行机构对各个区域组所表征的物品对象组进行拆卸。
可选地,所述预设排序策略为:若任一区域组对应的拆卸区域与其他区域组对应的物品位置区域相交,将所述任一区域组排在所述其他区域组之后;
其中,所述任一区域组对应的拆卸区域为:所述拆垛执行机构在拆卸所述任一区域组所表征的物品对象组时,所位于的位置区域,所述其他区域组对应的物品位置区域为所述其他区域组所表征物品对象组的位置区域。
可选地,所述按照预设排序策略,对所述多个区域组进行排序,得到各个区域组的排列顺序,包括:
确定所述多个区域组的初始排列顺序,作为当前的排列顺序;
按照当前的排列顺序,依次从所述多个区域组中取出一区域组作为待拆组;
判断所述待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交;
若相交,将所述待拆组的排列顺序调整到所述其他区域组之后,得到新的排列顺序并作为当前的排列顺序,并返回所述按照当前的排列顺序,依次从所述多个区域组中取出一区域组作为待拆组的步骤,直至遍历完当前的排列顺序,得到各个区域组的排列顺序。
可选地,所述多个区域组的初始排列顺序的确定方式,包括:
针对每一区域组,计算该区域组与预设放置点之间的距离;
按照所述距离由小到大对的顺序所述多个区域组进行排序,得到初始排列顺序。
可选地,判断所述待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交的方式,包括:
判断所述拆垛执行机构的尺寸是否不大于所述待拆组对应的物品位置区域的尺寸;
若判断结果为是,则不相交;
若判断结果为否,构建表征所述待拆组对应的拆卸区域的第一旋转矩形,以及表征所述其他区域组对应的物品位置区域的第二旋转矩形,并判断所述第一旋转矩形和所述第二旋转矩形的交集是否为空;
若是,则不相交,若否,则相交。
可选地,所述预定约束条件包括:
用于约束任意两个对象区域的第一位置关系的第一约束条件,以及用于约束任意两个对象区域的第二位置关系的第二约束条件;其中,第一位置关系为表征中心点之间的距离的位置关系,第二位置关系为表征旋转角度之间的差值的位置关系。
可选地,所述基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组,包括:
确定所得到的对象区域的中心点坐标和旋转角度;
基于拆垛执行机构一次可拆卸的最大拆卸数量,以及所得到的对象区域的中心点坐标和旋转角度,按照所述第一约束条件和第二约束条件,对所得到的对象区域进行分组,得到多个区域组。
可选地,所述第一约束条件包括:
;
所述第二约束条件包括:
;
其中,为任意两个对象区域的中心点之间的欧式距离,为目标坐标系的轴方向上任意两个对象区域的中心点之间的距离,为所述目标坐标系的y轴方向上任意两个对象区域的中心点之间的距离;为所述物品对象的长度,w为所述物品对象的宽度;为第i个对象区域的旋转角度,为第j个对象区域的旋转角度,,N为不超过所述最大拆卸数量的正整数;和为经验参数。
可选地,所述最大拆卸数量的确定方式,包括:
获取所述货垛中的物品对象的尺寸和质量;
基于所述拆垛执行机构的尺寸和负载,以及所述物品对象的尺寸和质量,计算最大拆卸数量。
可选地,所述基于所述拆垛执行机构的尺寸和负载,以及所述物品对象的尺寸和质量,计算最大拆卸数量,包括:
对所述拆垛执行机构的长度与所述物品对象的宽度的比值向下取整,得到第一值;
对所述拆垛执行机构的负载与所述物品对象的质量的比值向下取整,得到第二值;
将所述第一值和所述第二值中的最小值,作为最大拆卸数量。
第二方面,本发明实施例提供了一种拆垛装置,所述装置包括:
获取模块,用于获取关于货垛的目标图像;其中,所述目标图像为当前待进行拆垛处理的垛面的图像;
识别模块,用于对所述目标图像进行针对物品对象的对象区域识别,得到所述垛面中各个物品对象的对象区域;
分组模块,用于基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组;其中,所述区域组中的对象区域的数量不大于所述最大拆卸数量,且所述区域组中任意两个对象区域之间的位置关系满足预定约束条件,所述预定约束条件用于保证所述拆垛执行机构一次可拆卸同一区域组所表征的物品对象组;
排序模块,用于按照预设排序策略,对所述多个区域组进行排序,得到各个区域组的排列顺序;其中,所述预设排序策略为使得任一区域组所表征的物品对象组独立拆卸的排序策略;
拆卸模块,用于按照各个区域组的排列顺序,控制所述拆垛执行机构对各个区域组所表征的物品对象组进行拆卸。
可选地,所述预设排序策略为:若任一区域组对应的拆卸区域与其他区域组对应的物品位置区域相交,将所述任一区域组排在所述其他区域组之后;
其中,所述任一区域组对应的拆卸区域为:所述拆垛执行机构在拆卸所述任一区域组所表征的物品对象组时,所位于的位置区域,所述其他区域组对应的物品位置区域为所述其他区域组所表征物品对象组的位置区域。
可选地,所述排序模块,包括:
顺序确定子模块,用于确定所述多个区域组的初始排列顺序,作为当前的排列顺序;
选取子模块,用于按照当前的排列顺序,依次从所述多个区域组中取出一区域组作为待拆组;
判断子模块,用于判断所述待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交;
调整子模块,用于若相交,将所述待拆组的排列顺序调整到所述其他区域组之后,得到新的排列顺序并作为当前的排列顺序,并返回所述按照当前的排列顺序,依次从所述多个区域组中取出一区域组作为待拆组的步骤,直至遍历完当前的排列顺序,得到各个区域组的排列顺序。
可选地,所述多个区域组的初始排列顺序的确定方式,包括:
针对每一区域组,计算该区域组与预设放置点之间的距离;
按照所述距离由小到大对的顺序所述多个区域组进行排序,得到初始排列顺序。
可选地,判断所述待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交的方式,包括:
判断所述拆垛执行机构的尺寸是否不大于所述待拆组对应的物品位置区域的尺寸;
若判断结果为是,则不相交;
若判断结果为否,构建表征所述待拆组对应的拆卸区域的第一旋转矩形,以及表征所述其他区域组对应的物品位置区域的第二旋转矩形,并判断所述第一旋转矩形和所述第二旋转矩形的交集是否为空;
若是,则不相交,若否,则相交。
可选地,所述预定约束条件包括:
用于约束任意两个对象区域的第一位置关系的第一约束条件,以及用于约束任意两个对象区域的第二位置关系的第二约束条件;其中,第一位置关系为表征中心点之间的距离的位置关系,第二位置关系为表征旋转角度之间的差值的位置关系。
可选地,分组模块,包括:
确定子模块,用于确定所得到的对象区域的中心点坐标和旋转角度;
分组子模块,用于基于拆垛执行机构一次可拆卸的最大拆卸数量,以及所得到的对象区域的中心点坐标和旋转角度,按照所述第一约束条件和第二约束条件,对所得到的对象区域进行分组,得到多个区域组。
可选地,所述第一约束条件包括:
;
所述第二约束条件包括:
;
其中,为任意两个对象区域的中心点之间的欧式距离,为目标坐标系的轴方向上任意两个对象区域的中心点之间的距离,为所述目标坐标系的y轴方向上任意两个对象区域的中心点之间的距离;为所述物品对象的长度,w为所述物品对象的宽度;为第i个对象区域的旋转角度,为第j个对象区域的旋转角度,,N为不超过所述最大拆卸数量的正整数;和为经验参数。
可选地,所述最大拆卸数量的确定方式,包括:
获取所述货垛中的物品对象的尺寸和质量;
基于所述拆垛执行机构的尺寸和负载,以及所述物品对象的尺寸和质量,计算最大拆卸数量。
可选地,所述基于所述拆垛执行机构的尺寸和负载,以及所述物品对象的尺寸和质量,计算最大拆卸数量,包括:
对所述拆垛执行机构的长度与所述物品对象的宽度的比值向下取整,得到第一值;
对所述拆垛执行机构的负载与所述物品对象的质量的比值向下取整,得到第二值;
将所述第一值和所述第二值中的最小值,作为最大拆卸数量。
第三方面,本发明实施例例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的拆垛方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的拆垛方法的步骤。
本发明实施例有益效果:
本发明实施例提供的方案,由于分组时将满足预定约束条件的对象区域分为一组,该预定约束条件用于保证拆垛执行机构一次可拆卸同一区域组所表征的物品对象组,因此,该各个区域组所表征的物品对象组中包含的各个物品对象可以同时拆卸。并且,利用使得任一区域组所表征的物品对象组独立拆卸的排序策略,对多个区域组进行排序,可以使得任一区域组所表征的物品对象组按照该排列顺序进行拆卸时,不干涉到其他区域组所表征的物品对象组。从而,使得各个区域组所表征的物品对象组可以按照该排列顺序,顺利拆卸。可见,通过本方案,可以提高拆垛效率。另外,本方案可以适用于各种垛型的货垛和各种物品规格的拆卸,解决了现有技术中,需要针对不同的垛型和物品规格设置不同的拆垛算法、设计不同的拆垛执行机构的问题。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例所提供的一种拆垛方法的流程图;
图2为实现本发明实施例中步骤S103的流程图;
图3为实现本发明实施例中步骤S104的流程图;
图4A为一种拆卸方式的示意图;
图4B为另一种拆卸方式的示意图;
图5为本发明实施例所提供的拆垛方法的一个具体示例的流程图;
图6为本发明实施例所提供的一种拆垛装置的结构示意图;
图7为实现本发明实施例所提供的拆垛方法的电子设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,拆垛系统的拆垛执行机构在拆卸物品对象时,通常每次只拆卸一个物品对象,导致拆垛效率低下。为了解决效率低的问题,一些开发人员设计了一次拆卸多个物品对象的拆垛算法,或者设计不同的拆垛执行机构,但其只适用于某些特定的垛型(货垛的码放类型)和物品规格,通用性低。当垛型或物品规格发生改变时,拆垛系统将无法正常拆垛。
基于上述内容,本发明实施例提供了一种拆垛方法、装置、设备以及存储介质。
下面,首先对本发明实施例所提供的一种拆垛方法进行介绍。
本申请实施例所提供的一种拆垛方法,可以应用于各类电子设备,例如,个人电脑、服务器、以及其他具有数据处理能力的设备。另外,可以理解的是,本申请实施例提供的拆垛方法可以通过软件、硬件或软硬件结合的方式实现。
其中,本发明实施例所提供的一种拆垛方法,可以包括如下步骤:
获取关于货垛的目标图像;其中,所述目标图像为当前待进行拆垛处理的垛面的图像;
对所述目标图像进行针对物品对象的对象区域识别,得到所述垛面中各个物品对象的对象区域;
基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组;其中,所述区域组中的对象区域的数量不大于所述最大拆卸数量,且所述区域组中任意两个对象区域之间的位置关系满足预定约束条件,所述预定约束条件用于保证所述拆垛执行机构一次可拆卸同一区域组所表征的物品对象组;
按照预设排序策略,对所述多个区域组进行排序,得到各个区域组的排列顺序;其中,所述预设排序策略为使得任一区域组所表征的物品对象组独立拆卸的排序策略;
按照各个区域组的排列顺序,控制所述拆垛执行机构对各个区域组所表征的物品对象组进行拆卸。
本发明实施例提供的方案,由于分组时将满足预定约束条件的对象区域分为一组,该预定约束条件用于保证拆垛执行机构一次可拆卸同一区域组所表征的物品对象组,因此,该各个区域组所表征的物品对象组中包含的各个物品对象可以同时拆卸。并且,利用使得任一区域组所表征的物品对象组独立拆卸的排序策略,对多个区域组进行排序,可以使得任一区域组所表征的物品对象组按照该排列顺序进行拆卸时,不干涉到其他区域组所表征的物品对象组。从而,使得各个区域组所表征的物品对象组可以按照该排列顺序,顺利拆卸。可见,通过本方案,可以提高拆垛效率。另外,本方案可以适用于各种垛型的货垛和各种物品规格的拆卸,解决了现有技术中,需要针对不同的垛型和物品规格设置不同的拆垛算法、设计不同的拆垛执行机构的问题。
下面结合附图,对本发明实施例所提供的拆垛方法进行介绍。
如图1所示,本发明实施例所提供的拆垛方法,可以包括步骤S101-S105:
S101,获取关于货垛的目标图像;其中,该目标图像为当前待进行拆垛处理的垛面的图像;
本实施例中,当需要对货垛中的各个物品对象进行拆卸时,可以首先获取该货垛中待进行拆垛处理的垛面的图像,即该货垛的最上层的物品对象的图像。在实际应用中,可以利用拆垛执行机构上的相机采集待进行拆垛处理的垛面的图像。
S102,对该目标图像进行针对物品对象的对象区域识别,得到该垛面中各个物品对象的对象区域;
可以理解的是,由于垛面中的各个物品对象之间的位置关系,会影响拆垛过程中拆垛执行机构是否可以同时拆卸该各个物品对象,例如,若两个物品对象之间的距离使得拆卸该两个物品对象时,拆垛执行机构所需覆盖的最小范围超过该拆垛执行机构的可覆盖范围,则无法同时对该两个物品对象进行拆卸;因此,在获取到目标图像之后,还可以对目标图像进行针对物品对象的对象区域的识别。
示例性的,可以利用“AI+3D视觉”技术对目标图像进行识别,以识别出各个物品对象的对象区域。需要说明的是,在实际应用中,还可以利用其他对象检测算法对目标图像进行物品对象的对象区域识别,本发明实施例对识别该物品对象的对象区域的方法并不限定。
S103,基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组;其中,所述区域组中的对象区域的数量不大于所述最大拆卸数量,且所述区域组中任意两个对象区域之间的位置关系满足预定约束条件,所述预定约束条件用于保证所述拆垛执行机构一次可拆卸同一区域组所表征的物品对象组;
可以理解的是,为了使得拆卸结构一次可拆卸多个物品对象从而提高拆垛效率,可以基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组。
可选地,在一种实现方式中,最大拆卸数量的确定方式,可以包括步骤A1-A2:
A1,获取该货垛中的物品对象的尺寸和质量;
本实现方式中,物品对象的尺寸和质量可以预先存储在指定数据库中,在确定最大拆卸数量时,可以从该指定数据库中获取该货垛中的物品对象的尺寸和质量。需要说明的是,本发明实施例并不对该物品对象的尺寸和质量的来源进行限定,例如,该货垛中的物品对象的尺寸和质量还可以是人工输入的。
A2,基于该拆垛执行机构的尺寸和负载,以及该物品对象的尺寸和质量,计算最大拆卸数量。
可以理解的是,拆垛执行机构一次可拆卸物品对象的最大拆卸数量,与该拆垛结构的尺寸和负载,以及物品对象的尺寸和质量相关,即拆垛执行机构所拆卸的物品对象的总质量应该在该拆垛执行机构的负载范围内,且一次拆卸的所有物品对象的总尺寸,应该在该拆垛执行机构的可覆盖的尺寸范围内;因此,可以基于该拆垛执行机构的尺寸和负载,以及该物品对象的尺寸和质量,计算最大拆卸数量。
示例性的,在实际应用中,可以计算该拆垛执行机构的尺寸与该物品对象的尺寸的比值,以及拆垛执行机构的负载与该物品对象的质量的比值,并取两者比值中的最小值,作为最大拆卸数量。若该最小值不为整数,可以对该最小值向下取整,作为该最大拆卸数量。示例性的,若拆垛执行机构的尺寸为100cm*40 cm,负载为50kg;物品对象的尺寸为50cm *20 cm,质量为10kg,则该尺寸的比值为4,负载和质量的比值为5;此时该最大拆卸数量为4,该拆垛执行机构的拆卸物品对象的方式可以如图4A所示。其中,虚线框所表征的区域为拆垛执行机构的覆盖范围。
示例性的,在一种具体的实现方式中,基于该拆垛执行机构的尺寸和负载,以及该物品对象的尺寸和质量,计算最大拆卸数量,可以包括A21-A23:
A21,对该拆垛执行机构的长度与该物品对象的宽度的比值向下取整,得到第一值;
A22,对该拆垛执行机构的负载与该物品对象的质量的比值向下取整,得到第二值;
A23,将该第一值和该第二值中的最小值,作为最大拆卸数量。
可以理解的是,由于对物品对象进行拆卸时,以拆垛执行机构的长度方向与物品对象的宽度方向对齐进行拆卸时,可以拆卸的数量更多;因此,本实现方式中,还可以计算该拆垛执行机构的长度与该物品对象的宽度的比值,并对该比值向下取整,得到第一值。且由于第一值可以表征该拆垛执行机构的可覆盖的尺寸范围内,物品对象的最大数量,第二值可以表征该拆垛执行机构的负载范围内,该拆垛执行机构所能承受的物品对象的最大数量,而在拆卸时,两者都需满足,因此,可以将该第一值和第二值中的最小值,确定为最大拆卸数量。示例性的,若拆垛执行机构的尺寸为100cm*40 cm,负载为50kg;物品对象的尺寸为50 cm *20 cm,质量为10kg,则该第一值为5,第二值为5;此时该最大拆卸数量为5,该拆垛执行机构的拆卸物品对象的方式可以如图4B所示。其中,虚线框所表征的区域为拆垛执行机构的覆盖范围。
示例性的,可以通过如下公式计算最大拆卸数量:
;
其中,L为该拆垛执行机构的长度,M为该拆垛执行机构的负载 ;w为该物品对象的宽度,m为该物品对象的质量,为该最大拆卸数量。
另外,由于在分组时,若任意两个对象区域不处于拆垛执行机构一次可拆卸的范围内,则针对该两个对象区域所表征的物品对象不能分为一组进行拆卸;因此,在分组时,同一组内的各对象区域之间的位置关系还需要满足预定约束条件,该预定约束条件用于保证拆垛执行机构一次可拆卸同一区域组所表征的物品对象组。其中,每一区域组所表征的物品对象组由该区域组中各个对象区域所表征的物品对象构成。
示例性的,该预定约束条件的确定方式可以是通过多次拆垛实验,不断调整预设区域组内的各个对象区域之间的位置关系所得到的、使得拆垛执行机构可以一次拆卸该分组所表征的物品对象组的边界条件;或者,通过对历史拆垛数据进行统计分析,得到拆垛执行机构可以一次拆卸的任一区域组内的对象区域之间的位置关系,从而分析出各个位置关系所满足的约束条件,这都是合理的。示例性的,该对象区域之间的位置关系可以包括距离关系、旋转角度关系,等等。需要说明的是,为了方案布局清晰,在下述实施例中对该预定约束条件的具体内容进行介绍,本实施例对此不再赘述。
S104,按照预设排序策略,对该多个区域组进行排序,得到各个区域组的排列顺序;其中,该预设排序策略为使得任一区域组所表征的物品对象组独立拆卸的排序策略;
可以理解的是,在分组得到多个区域组之后,通过利用使得任一区域组所表征的物品对象组独立拆卸的排序策略,对多个区域组进行排序,可以使得任一区域组所表征的物品对象组按照该排列顺序进行拆卸时,不干涉到其他区域组所表征的物品对象组。即任一物品对象组的拆卸过程不影响其他物品对象组,从而,使得各个区域组所表征的物品对象组可以按照该排列顺序,顺利拆卸。
可选地,在一种实现方式中,预设排序策略为:若任一区域组对应的拆卸区域与其他区域组对应的物品位置区域相交,将该任一区域组排在该其他区域组之后;
其中,该任一区域组对应的拆卸区域为:该拆垛执行机构在拆卸该任一区域组所表征的物品对象组时,所位于的位置区域,该其他区域组对应的物品位置区域为该其他区域组所表征的物品对象组的位置区域。
本实现方式中,任一区域组对应的拆卸区域,为该区域组所表征的物品对象组进行拆卸时,拆垛执行机构所覆盖的区域。可以理解的是,若任一区域组对应的拆卸区域与其他区域组对应的物品位置区域相交,则进行拆卸时,该拆垛执行机构会抓取到该其他区域组中的对象区域所表征的物品对象,该物品对象可能只有部分区域被拆垛执行机构覆盖,可能在拆卸过程中出现物品对象掉落等异常情况,导致拆垛系统的稳定性下降。因此,为了使得各个区域组所表征的物品对象组可以顺利拆卸,该预设排序策略可以是:若任一区域组对应的拆卸区域与其他区域组对应的物品位置区域相交,将该任一区域组排在该其他区域组之后。
另外,拆垛执行机构在拆卸该任一区域组所表征的物品对象组时,所位于的位置区域,可以根据该拆垛执行机构拆卸该物品对象组的拆卸点位置所计算得到。其中,拆卸点位置为拆垛执行机构的中心点位置。示例性的,该拆卸点位置可以是该区域组的中心点位置,也可以是该拆垛执行机构的宽边的一侧与该区域组所表征的物品对象组的长边的一侧对齐时,拆垛执行机构的中心点位置,这都是合理的。
需要说明的是,为了方案布局清晰,在下述实施例中对预设排序策略的具体内容进行介绍,这里不再赘述。
S105,按照各个区域组的排列顺序,控制该拆垛执行机构对各个区域组所表征的物品对象组进行拆卸。
本实施例中,在得到各个区域组的排列顺序后,即可按照该排列顺序,控制拆垛执行机构对各个区域组所表征的物品对象组进行拆卸,从而减少拆垛执行机构的拆卸次数,提高拆垛效率。另外,可以理解的是,在该目标图像所对应的垛面中的各个物品对象拆卸完成后,还可以继续获取该货垛的垛面的图像,作为新的目标图像,继续按照上述步骤进行拆卸,直至整个货垛拆卸完成。
本发明实施例提供的方案,由于分组时将满足预定约束条件的对象区域分为一组,该预定约束条件用于保证拆垛执行机构一次可拆卸同一区域组所表征的物品对象组,因此,该各个区域组所表征的物品对象组中包含的各个物品对象可以同时拆卸。并且,利用使得任一区域组所表征的物品对象组独立拆卸的排序策略,对多个区域组进行排序,可以使得任一区域组所表征的物品对象组按照该排列顺序进行拆卸时,不干涉到其他区域组所表征的物品对象组。从而,使得各个区域组所表征的物品对象组可以按照该排列顺序,顺利拆卸。可见,通过本方案,可以提高拆垛效率。另外,本方案可以适用于各种垛型的货垛和各种物品规格的拆卸,解决了现有技术中,需要针对不同的垛型和物品规格设置不同的拆垛算法、设计不同的拆垛执行机构的问题。
可选地,在本发明的另一实施例中,该预定约束条件可以包括:
用于约束任意两个对象区域的第一位置关系的第一约束条件,以及用于约束任意两个对象区域的第二位置关系的第二约束条件;其中,第一位置关系为表征中心点之间的距离的位置关系,第二位置关系为表征旋转角度之间的差值的位置关系。
可以理解的是,由于各个对象区域之间的距离和旋转角度之间的关系,影响拆垛执行机构同时拆卸该各个对象区域所表征的物品对象时,所需覆盖的最小范围,因此,同一区域组中任意两个对象区域之间满足的预定约束条件,可以包括用于约束中心点之间的距离的第一约束条件,以及旋转角度之间的差值第二约束条件。
可选地,在一种实现方式中,该第一约束条件可以包括:
;
该第二约束条件可以包括:;
其中,为任意两个对象区域的中心点之间的欧式距离,为目标坐标系的轴方向上任意两个对象区域的中心点之间的距离,为该目标坐标系的y轴方向上任意两个对象区域的中心点之间的距离;为该物品对象的长度,w为该物品对象的宽度;为第i个对象区域的旋转角度,为第j个对象区域的旋转角度,,N为不超过该最大拆卸数量的正整数;和为经验参数。
本实现方式中,该第一约束条件中包括中心点之间的x轴方向上的距离、y轴方向上的距离以及欧式距离这三个方面的约束条件。其中,该x轴方向上和y轴方向上的距离为以目标坐标系为基准所计算出的距离,该目标坐标系可以是任一空间坐标系。示例性的,在实际应用中,该目标坐标系可以是以任一物品对象的中心点为原点,该物品对象的长度方向为x轴方向,宽度方向为y轴方向,所构建的坐标系;或者,还可以是目标图像的图像坐标系,这都是合理的。该旋转角度可以是与x轴或y轴之间的夹角。
其中,任意两个对象区域的中心点之间的欧式距离的计算公式如下:
;
轴方向上任意两个对象区域的中心点之间的距离的计算公式如下:
;
轴方向上任意两个对象区域的中心点之间的距离的计算公式如下:
;
其中,、分别表示第i个对象区域的中心点的横、纵坐标;、分别表示第j个对象区域的中心点的横、纵坐标。另外,在实际应用中,和这四个经验参数,可以是相关工作人员进行大量的拆垛数据分析所得到的经验参数。示例性的,该四个经验参数的取值范围可以为:,,,;在实际应用中,任一经验参数可以根据具体拆垛场景进行从该经验参数所对应的取值范围中进行选取。
相应地,在本实施例中,如图2所示,上述步骤S103中,基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组,可以包括步骤S1031-S1032:
S1031,确定所得到的对象区域的中心点坐标和旋转角度;
可以理解的是,在识别得到对象区域后,可以计算得到中心点坐标,以及旋转角度。该旋转角度可以是目标图像的图像坐标系下、与该图像坐标系的任一坐标轴之间的旋转角度。在实际应用中,利用“AI+3D视觉”技术对目标图像进行识别,得到各个物品对象的对象区域时,可以直接识别得到各个对象区域的中心点坐标以及旋转角度。
S1032,基于拆垛执行机构一次可拆卸的最大拆卸数量,以及所得到的对象区域的中心点坐标和旋转角度,按照该第一约束条件和第二约束条件,对所得到的对象区域进行分组,得到多个区域组。
示例性的,在实际应用中,可以从所得到的对象区域中选择一目标对象区域,添加到目标区域组中,该目标区域组的初始内容为空。然后,遍历其他对象区域,从中找到与该目标对象区域之间满足第一约束条件和第二约束条件的对象区域,添加到该目标区域组中,并判断该目标区域组中的对象区域的数量是否超过最大拆卸数量。若未超过,则继续遍历,否则,结束遍历,得到一区域组。然后,从所剩下的未被分组的对象区域中继续选择一目标对象区域,重复上述操作,直至所有对象区域均分组完成,得到各个区域组。
可见,通过本方案,可以将可一次拆卸的各个物品对象的对象区域分为一组,从而便于后续拆垛执行机构一次拆卸同一个区域组所表征的物品对象组,进而提高拆垛效率。
可选地,在本发明的另一实施例中,如图3所示,上述步骤S104中按照预设排序策略,对该多个区域组进行排序,得到各个区域组的排列顺序,可以包括步骤S1041-S1044:
S1041,确定该多个区域组的初始排列顺序,作为当前的排列顺序;
本实施例中,该多个区域组的初始排列顺序可以随机设置,也可以按照与货垛拆卸后的放置点之间的距离大小进行设置,这都是合理的。
可选地,在一种实现方式中,多个区域组的初始排列顺序的确定方式,可以包括步骤B1-B2:
B1,针对每一区域组,计算该区域组与预设放置点之间的距离;
B2,按照该距离由小到大的顺序对该多个区域组进行排序,得到初始排列顺序。
本实现方式中,预设放置点为该货垛中的物品对象拆卸后的放置点。可以理解的是,按照该距离由小到大的顺序对该多个区域组进行排序,作为初始的排列顺序,可以在拆卸时,减少阻碍,提高拆垛效率。
示例性的,可以通过如下公式计算任一区域组与预设放置点之间的距离:
;
;
;
其中,为预设放置点的横坐标,为预设放置点的纵坐标;为第i个区域组的中心点的横坐标,为第i个区域组的中心点的纵坐标;为第i个区域组与预设放置点之间的距离;表示第i个区域组中所包含的对象区域的数量;、分别表示第个对象区域的中心点的横、纵坐标。
S1042,按照当前的排列顺序,依次从该多个区域组中取出一区域组作为待拆组;
S1043,判断该待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交;
S1044,若相交,将该待拆组的排列顺序调整到该其他区域组之后,得到新的排列顺序并作为当前的排列顺序,并返回该按照当前的排列顺序,依次从该多个区域组中取出一区域组作为待拆组的步骤,直至遍历完当前的排列顺序,得到各个区域组的排列顺序。
可以理解的是,通过按照初始的排列顺序,对各个区域组进行遍历,并在任一待拆组与其他区域组对应的物品位置区域相交时,将该待拆组的排列顺序调整到该其他区域组之后,可以使得遍历完成后得到的排列顺序,为使得各个区域组所表征的物品对象组进行拆卸时,互不干涉的排列顺序。另外,需要说明的是,在其他实现方式中,若待拆组对应的拆卸区域与其他区域组对应的物品位置区域相交,还可以将该待拆组的顺序移到该待拆组的后一排列顺序,这都是合理的。
可选地,在一种实现方式中,上述步骤S1043中判断该待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交的方式,可以包括步骤C1-C4:
C1,判断该拆垛执行机构的尺寸是否不大于该待拆组对应的物品位置区域的尺寸;
C2,若判断结果为是,则不相交;
可以理解的是,若拆垛执行机构的尺寸不大于该待拆组对应的物品位置区域的尺寸,则该拆垛执行机构拆卸该待拆组时,拆卸区域可以位于该待拆组对应的物品位置区域内,从而不影响其他区域组,因此,若判断结果为是,则不相交。
示例性的,判断该拆垛执行机构的尺寸是否不大于该待拆组对应的物品位置区域的尺寸的方式,可以是判断该拆垛执行机构的长度是否不大于该待拆组对应的物品位置区域的宽度,判断公式可以如下式所示:
;
其中,L为拆垛执行机构的长度,w为物品对象的宽度,表示第i个区域组中所包含的对象区域的数量。
C3,若判断结果为否,构建表征该待拆组对应的拆卸区域的第一旋转矩形,以及表征该其他区域组对应的物品位置区域的第二旋转矩形,并判断该第一旋转矩形和该第二旋转矩形的交集是否为空;
C4,若是,则不相交,若否,则相交。
可以理解的是,若拆垛执行机构的尺寸,大于待拆组对应的物品位置区域的尺寸,则该拆垛执行机构拆卸时,拆垛执行机构的部分区域会超出该待拆组对应的物品位置区域,从而可能覆盖到其他区域组中的某一对象区域所表征的物品对象,从而无法按照各个分组进行拆卸。因此,可以通过构建表征待拆组对应的拆卸区域的第一旋转矩形,以及表征该其他区域组对应的物品位置区域的第二旋转矩形,通过判断该第一旋转矩形和该第二旋转矩形的交集是否为空,确定该待拆组拆卸时是否会干涉其他区域组所表征的物品对象组。
示例性的,拆垛执行机构对待拆组进行拆卸时,可以居中拆卸,此时该拆卸点位置为待拆组的中心点位置。定义是中心点坐标为(,长是l,宽是w,旋转角度是的旋转矩形。此时,表征该待拆组对应的拆卸区域的第一旋转矩形可以是:
;
表征该其他区域组对应的物品位置区域的第二旋转矩形可以是:
;
其中,为拆卸点坐标,为其他区域组中的对象区域的中心点坐标;L为拆垛执行机构的长度,W为拆垛执行机构的宽度,l为物品对象的长度,w为物品对象的宽度;为旋转角度。第一旋转矩形和第二旋转矩形的角度差为90度,表征拆垛执行机构的长边沿着物品对象的宽度方向进行拆卸。
此时,可以通过如下等式是否成立,判断该第一旋转矩形和该第二旋转矩形的交集是否为空:
;
若等式成立,则交集为空。
示例性的,拆垛执行机构对待拆组进行拆卸时,还可以靠待拆组的右边进行拆卸,即将拆垛执行机构的右侧与该待拆组的的物品位置区域右侧对齐进行拆卸。此时,表征该待拆组对应的拆卸区域的第一旋转矩形可以是:
;
此时,拆卸点位置为:
;
其中,表示该待拆组中所包含的对象区域的数量。
示例性的,拆垛执行机构对待拆组进行拆卸时,还可以靠待拆组的左边进行拆卸,即将拆垛执行机构的左侧与该待拆组的的物品位置区域左侧对齐进行拆卸。此时,表征该待拆组对应的拆卸区域的第一旋转矩形可以是:
;
此时,拆卸点位置为:
;
可见,通过本方案,可以得到使得各个区域组所表征的物品对象组进行拆卸时,互不干涉的排列顺序。
为了更好的理解本发明实施例所提供的拆垛方法,下面结合一个具体示例对本发明内容进行介绍。
在现有技术中,拆垛系统的拆垛执行机构,在拆卸货物时,通常每次只拆卸一个货箱导致拆垛效率低下。或者,为了解决效率低的问题,一些开发人员设计了一次拆卸多箱的拆垛算法,但其只适用于某些特定的垛型和箱规(货箱规格尺寸),通用性低。当垛型或货箱规格尺寸发生改变时,拆垛系统将无法正常拆垛。
为了解决上述问题,本示例提供了一种智能拆垛方法,可为拆垛系统提供最优拆垛流程,即辅助拆垛执行机构以最少的次数和最优的顺序拆卸货垛上的货箱,且适用于所有垛型、箱规。
如图5所示,本示例性的具体实现过程如下:
S501,获取货箱(对应于上文中的物品对象)的基本信息;包括长、宽、高和质量。获取方式包括读取数据库中已存储的货箱信息,或拆垛系统的上位系统信息输入,或人工输入等。
S502,利用3D视觉和AI技术识别出货垛上每个货箱的位置信息;包括中心点坐标、旋转角度。
S503,根据拆垛执行机构的尺寸、负载和货箱的基本信息,计算拆垛执行机构一次最多可拆卸货箱的数量,即最大拆卸数量。计算公式如下:
;
其中,L为该拆垛执行机构的长度,M为该拆垛执行机构的负载;w为该货箱的宽度,m为该货箱的质量,为该最大拆卸数量。
S504,根据货箱的位置信息对垛面上的货箱进行分组,得到各个货箱组。
若满足以下公式,则可将第i个货箱和第j个货箱分成一组:
;
其中,为任意两个货箱的中心点之间的欧式距离,为轴方向上任意两个货箱的中心点之间的距离,为y轴方向上任意两个货箱的中心点之间的距离;为货箱的长度,w为货箱的宽度;为第i个货箱的旋转角度,为第j个货箱的旋转角度,,N为不超过最大拆卸数量的正整数;和为经验参数。
其中:
;
;
;
其中,、分别表示第i个货箱的中心点的横、纵坐标;、分别表示第i个货箱的中心点的横、纵坐标。
S505,对所得到的各个货箱组进行排序,生成按顺序排列的待拆组。
首先,计算每一个货箱组的中心点距离放置点(对应于上文中的预设放置点)的欧氏距离,然后,将距离按从小到大的顺序对货箱组进行排序,生成按顺序(对应于上文中的初始排列顺序)排列的各个待拆组;其中,货箱组的中心点与放置点的计算公式如下:
;
;
;
其中,为放置点的横坐标,为放置点的纵坐标 ;为第i个货箱组的中心点的横坐标,为第i个货箱组的中心点的纵坐标;表示第i个货箱组中所包含的货箱的数量。
S506,从按顺序排列的待拆组中取出第一个待拆组作为当前的拆垛组。
S507,判断拆卸当前拆垛组时拆垛执行机构是否会与其他待拆组干涉;若是,执行步骤S508,若否,执行步骤S509。
S508,将当前拆垛组暂存,生成暂存组。
S509,计算拆垛执行机构拆卸时的位置,控制拆垛执行机构进行拆卸。
①通过判断拆垛执行机构的长度是否小于等于拆垛组货箱的总宽度,判断拆卸当前拆垛组时拆垛执行机构是否会与其他待拆组干涉。判断公式如下:
;
其中,L表示拆垛执行机构的长度,w表示货箱的宽度,表示当前拆垛组包含货箱的数量。若等式成立,则拆垛过程不发生干涉。此时拆卸点位置为,即当前拆垛组的中心点坐标。若等式不成立,则需要进一步做出判断。
②定义是中心点坐标为(,长是l,宽是w,旋转角度是的旋转矩形。
判断如下等式是否成立:
;
若成立,则拆垛过程不发生干涉,此时拆卸点的位置为,若不成立,则判断如下等式是否成立:
;
若成立,则拆垛过程不发生干涉,此时拆卸点位置为:
;
若不成立,则判断如下等式是否成立:
;
若成立,则拆垛过程不发生干涉,此时拆卸点的位置为:
;
若不成立,则拆垛过程发生干涉,将当前拆垛组暂存,生成暂存组。
S510,判断暂存组是否为空;若否,执行步骤S511,若是,执行步骤S512。
S511,取出暂存组,放在最后一个待拆组的后面,并清空暂存组,返回步骤S506;
S512,判断待拆组是否为空,若是,则拆垛完成。若否,则返回步骤S506。
可见,通过本方案,可根据拆垛任务、拆垛执行机构和货箱的信息和参数,给出最优的拆垛流程,使拆卸货箱变得简单高效,不需要针对特定箱规和垛型设计特定的算法,也不需要设计特定的拆垛执行机构。该拆卸货箱的分组规划和拆垛流程复用性高,且简单高效。
相应上述方法实施例,本发明实施例提供了一种拆垛装置,如图6所示,包括:
获取模块610,用于获取关于货垛的目标图像;其中,所述目标图像为当前待进行拆垛处理的垛面的图像;
识别模块620,用于对所述目标图像进行针对物品对象的对象区域识别,得到所述垛面中各个物品对象的对象区域;
分组模块630,用于基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组;其中,所述区域组中的对象区域的数量不大于所述最大拆卸数量,且所述区域组中任意两个对象区域之间的位置关系满足预定约束条件,所述预定约束条件用于保证所述拆垛执行机构一次可拆卸同一区域组所表征的物品对象组;
排序模块640,用于按照预设排序策略,对所述多个区域组进行排序,得到各个区域组的排列顺序;其中,所述预设排序策略为使得任一区域组所表征的物品对象组独立拆卸的排序策略;
拆卸模块650,用于按照各个区域组的排列顺序,控制所述拆垛执行机构对各个区域组所表征的物品对象组进行拆卸。
可选地,所述预设排序策略为:若任一区域组对应的拆卸区域与其他区域组对应的物品位置区域相交,将所述任一区域组排在所述其他区域组之后;
其中,所述任一区域组对应的拆卸区域为:所述拆垛执行机构在拆卸所述任一区域组所表征的物品对象组时,所位于的位置区域,所述其他区域组对应的物品位置区域为所述其他区域组所表征物品对象组的位置区域。
可选地,所述排序模块,包括:
顺序确定子模块,用于确定所述多个区域组的初始排列顺序,作为当前的排列顺序;
选取子模块,用于按照当前的排列顺序,依次从所述多个区域组中取出一区域组作为待拆组;
判断子模块,用于判断所述待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交;
调整子模块,用于若相交,将所述待拆组的排列顺序调整到所述其他区域组之后,得到新的排列顺序并作为当前的排列顺序,并返回所述按照当前的排列顺序,依次从所述多个区域组中取出一区域组作为待拆组的步骤,直至遍历完当前的排列顺序,得到各个区域组的排列顺序。
可选地,所述多个区域组的初始排列顺序的确定方式,包括:
针对每一区域组,计算该区域组与预设放置点之间的距离;
按照所述距离由小到大对的顺序所述多个区域组进行排序,得到初始排列顺序。
可选地,判断所述待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交的方式,包括:
判断所述拆垛执行机构的尺寸是否不大于所述待拆组对应的物品位置区域的尺寸;
若判断结果为是,则不相交;
若判断结果为否,构建表征所述待拆组对应的拆卸区域的第一旋转矩形,以及表征所述其他区域组对应的物品位置区域的第二旋转矩形,并判断所述第一旋转矩形和所述第二旋转矩形的交集是否为空;
若是,则不相交,若否,则相交。
可选地,所述预定约束条件包括:
用于约束任意两个对象区域的第一位置关系的第一约束条件,以及用于约束任意两个对象区域的第二位置关系的第二约束条件;其中,第一位置关系为表征中心点之间的距离的位置关系,第二位置关系为表征旋转角度之间的差值的位置关系。
可选地,分组模块,包括:
确定子模块,用于确定所得到的对象区域的中心点坐标和旋转角度;
分组子模块,用于基于拆垛执行机构一次可拆卸的最大拆卸数量,以及所得到的对象区域的中心点坐标和旋转角度,按照所述第一约束条件和第二约束条件,对所得到的对象区域进行分组,得到多个区域组。
可选地,所述第一约束条件包括:
;
所述第二约束条件包括:
;
其中,为任意两个对象区域的中心点之间的欧式距离,为目标坐标系的轴方向上任意两个对象区域的中心点之间的距离,为所述目标坐标系的y轴方向上任意两个对象区域的中心点之间的距离;为所述物品对象的长度,w为所述物品对象的宽度;为第i个对象区域的旋转角度,为第j个对象区域的旋转角度,,N为不超过所述最大拆卸数量的正整数;和为经验参数。
可选地,所述最大拆卸数量的确定方式,包括:
获取所述货垛中的物品对象的尺寸和质量;
基于所述拆垛执行机构的尺寸和负载,以及所述物品对象的尺寸和质量,计算最大拆卸数量。
可选地,所述基于所述拆垛执行机构的尺寸和负载,以及所述物品对象的尺寸和质量,计算最大拆卸数量,包括:
对所述拆垛执行机构的长度与所述物品对象的宽度的比值向下取整,得到第一值;
对所述拆垛执行机构的负载与所述物品对象的质量的比值向下取整,得到第二值;
将所述第一值和所述第二值中的最小值,作为最大拆卸数量。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述任一拆垛方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一拆垛方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一拆垛方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种拆垛方法,其特征在于,所述方法包括:
获取关于货垛的目标图像;其中,所述目标图像为当前待进行拆垛处理的垛面的图像;
对所述目标图像进行针对物品对象的对象区域识别,得到所述垛面中各个物品对象的对象区域;
基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组;其中,所述区域组中的对象区域的数量不大于所述最大拆卸数量,且所述区域组中任意两个对象区域之间的位置关系满足预定约束条件,所述预定约束条件用于保证所述拆垛执行机构一次可拆卸同一区域组所表征的物品对象组;
按照预设排序策略,对所述多个区域组进行排序,得到各个区域组的排列顺序;其中,所述预设排序策略为使得任一区域组所表征的物品对象组独立拆卸的排序策略;
按照各个区域组的排列顺序,控制所述拆垛执行机构对各个区域组所表征的物品对象组进行拆卸;
其中,所述预设排序策略为:若任一区域组对应的拆卸区域与其他区域组对应的物品位置区域相交,将所述任一区域组排在所述其他区域组之后;
其中,所述任一区域组对应的拆卸区域为:所述拆垛执行机构在拆卸所述任一区域组所表征的物品对象组时,所位于的位置区域,所述其他区域组对应的物品位置区域为所述其他区域组所表征物品对象组的位置区域;
所述按照预设排序策略,对所述多个区域组进行排序,得到各个区域组的排列顺序,包括:
确定所述多个区域组的初始排列顺序,作为当前的排列顺序;
按照当前的排列顺序,依次从所述多个区域组中取出一区域组作为待拆组;
判断所述待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交;
若相交,将所述待拆组的排列顺序调整到所述其他区域组之后,得到新的排列顺序并作为当前的排列顺序,并返回所述按照当前的排列顺序,依次从所述多个区域组中取出一区域组作为待拆组的步骤,直至遍历完当前的排列顺序,得到各个区域组的排列顺序。
2.根据权利要求1所述的方法,其特征在于,所述多个区域组的初始排列顺序的确定方式,包括:
针对每一区域组,计算该区域组与预设放置点之间的距离;
按照所述距离由小到大对的顺序所述多个区域组进行排序,得到初始排列顺序。
3.根据权利要求1所述的方法,其特征在于,判断所述待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交的方式,包括:
判断所述拆垛执行机构的尺寸是否不大于所述待拆组对应的物品位置区域的尺寸;
若判断结果为是,则不相交;
若判断结果为否,构建表征所述待拆组对应的拆卸区域的第一旋转矩形,以及表征所述其他区域组对应的物品位置区域的第二旋转矩形,并判断所述第一旋转矩形和所述第二旋转矩形的交集是否为空;
若是,则不相交,若否,则相交。
4.根据权利要求1所述的方法,其特征在于,所述预定约束条件包括:
用于约束任意两个对象区域的第一位置关系的第一约束条件,以及用于约束任意两个对象区域的第二位置关系的第二约束条件;其中,第一位置关系为表征中心点之间的距离的位置关系,第二位置关系为表征旋转角度之间的差值的位置关系。
5.根据权利要求4所述的方法,其特征在于,所述基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组,包括:
确定所得到的对象区域的中心点坐标和旋转角度;
基于拆垛执行机构一次可拆卸的最大拆卸数量,以及所得到的对象区域的中心点坐标和旋转角度,按照所述第一约束条件和第二约束条件,对所得到的对象区域进行分组,得到多个区域组。
6.根据权利要求4所述的方法,其特征在于,所述第一约束条件包括:
;
所述第二约束条件包括:
;
其中,为任意两个对象区域的中心点之间的欧式距离,为目标坐标系的轴方向上任意两个对象区域的中心点之间的距离,为所述目标坐标系的y轴方向上任意两个对象区域的中心点之间的距离;为所述物品对象的长度,w为所述物品对象的宽度;为第i个对象区域的旋转角度,为第j个对象区域的旋转角度,,N为不超过所述最大拆卸数量的正整数;和为经验参数。
7.根据权利要求1所述的方法,其特征在于,所述最大拆卸数量的确定方式,包括:
获取所述货垛中的物品对象的尺寸和质量;
基于所述拆垛执行机构的尺寸和负载,以及所述物品对象的尺寸和质量,计算最大拆卸数量。
8.根据权利要求7所述的方法,其特征在于,所述基于所述拆垛执行机构的尺寸和负载,以及所述物品对象的尺寸和质量,计算最大拆卸数量,包括:
对所述拆垛执行机构的长度与所述物品对象的宽度的比值向下取整,得到第一值;
对所述拆垛执行机构的负载与所述物品对象的质量的比值向下取整,得到第二值;
将所述第一值和所述第二值中的最小值,作为最大拆卸数量。
9.一种拆垛装置,其特征在于,所述装置包括:
获取模块,用于获取关于货垛的目标图像;其中,所述目标图像为当前待进行拆垛处理的垛面的图像;
识别模块,用于对所述目标图像进行针对物品对象的对象区域识别,得到所述垛面中各个物品对象的对象区域;
分组模块,用于基于拆垛执行机构一次可拆卸的最大拆卸数量和各个对象区域之间的位置关系,对所得到的对象区域进行分组,得到多个区域组;其中,所述区域组中的对象区域的数量不大于所述最大拆卸数量,且所述区域组中任意两个对象区域之间的位置关系满足预定约束条件,所述预定约束条件用于保证所述拆垛执行机构一次可拆卸同一区域组所表征的物品对象组;
排序模块,用于按照预设排序策略,对所述多个区域组进行排序,得到各个区域组的排列顺序;其中,所述预设排序策略为使得任一区域组所表征的物品对象组独立拆卸的排序策略;
拆卸模块,用于按照各个区域组的排列顺序,控制所述拆垛执行机构对各个区域组所表征的物品对象组进行拆卸;
其中,所述预设排序策略为:若任一区域组对应的拆卸区域与其他区域组对应的物品位置区域相交,将所述任一区域组排在所述其他区域组之后;
其中,所述任一区域组对应的拆卸区域为:所述拆垛执行机构在拆卸所述任一区域组所表征的物品对象组时,所位于的位置区域,所述其他区域组对应的物品位置区域为所述其他区域组所表征物品对象组的位置区域;
所述排序模块,包括:
顺序确定子模块,用于确定所述多个区域组的初始排列顺序,作为当前的排列顺序;
选取子模块,用于按照当前的排列顺序,依次从所述多个区域组中取出一区域组作为待拆组;
判断子模块,用于判断所述待拆组对应的拆卸区域是否与其他区域组对应的物品位置区域相交;
调整子模块,用于若相交,将所述待拆组的排列顺序调整到所述其他区域组之后,得到新的排列顺序并作为当前的排列顺序,并返回所述按照当前的排列顺序,依次从所述多个区域组中取出一区域组作为待拆组的步骤,直至遍历完当前的排列顺序,得到各个区域组的排列顺序。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311008824.9A CN116729877B (zh) | 2023-08-11 | 2023-08-11 | 一种拆垛方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311008824.9A CN116729877B (zh) | 2023-08-11 | 2023-08-11 | 一种拆垛方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116729877A CN116729877A (zh) | 2023-09-12 |
CN116729877B true CN116729877B (zh) | 2023-11-07 |
Family
ID=87902920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311008824.9A Active CN116729877B (zh) | 2023-08-11 | 2023-08-11 | 一种拆垛方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116729877B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009056639A1 (de) * | 2009-12-02 | 2011-06-09 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur automatisierten Kommissionierung von Gebinden |
CN109455527A (zh) * | 2018-11-29 | 2019-03-12 | 合肥泰禾光电科技股份有限公司 | 一种货物拆垛方法及装置 |
CN109592433A (zh) * | 2018-11-29 | 2019-04-09 | 合肥泰禾光电科技股份有限公司 | 一种货物拆垛方法、装置及拆垛系统 |
CN111832980A (zh) * | 2019-04-15 | 2020-10-27 | 北京京东尚科信息技术有限公司 | 一种多层仓库储位分配的方法和装置 |
CN214692182U (zh) * | 2021-04-23 | 2021-11-12 | 合肥泰禾智能科技集团股份有限公司 | 一种拆垛结构及拆垛系统 |
CN216996698U (zh) * | 2022-03-04 | 2022-07-19 | 格力电器(洛阳)有限公司 | 一种空调冷凝器拆垛机构及自动拆垛码垛设备 |
CN114955568A (zh) * | 2022-06-29 | 2022-08-30 | 广东电网有限责任公司广州供电局 | 基于视觉识别的自动堆垛方法、系统及存储介质 |
CN115249324A (zh) * | 2021-10-21 | 2022-10-28 | 梅卡曼德(北京)机器人科技有限公司 | 垛型中待码放位置的确定方法、装置及计算设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7963384B2 (en) * | 2008-12-19 | 2011-06-21 | 3584925 Canada Inc. | Automated order sequencing method and system |
US11305430B2 (en) * | 2019-11-11 | 2022-04-19 | Symbotic Llc | Pallet building system with flexible sequencing |
US20230174258A1 (en) * | 2021-12-06 | 2023-06-08 | Intrinsic Innovation Llc | Dynamic target identification for automated item placement |
-
2023
- 2023-08-11 CN CN202311008824.9A patent/CN116729877B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009056639A1 (de) * | 2009-12-02 | 2011-06-09 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur automatisierten Kommissionierung von Gebinden |
CN109455527A (zh) * | 2018-11-29 | 2019-03-12 | 合肥泰禾光电科技股份有限公司 | 一种货物拆垛方法及装置 |
CN109592433A (zh) * | 2018-11-29 | 2019-04-09 | 合肥泰禾光电科技股份有限公司 | 一种货物拆垛方法、装置及拆垛系统 |
CN111832980A (zh) * | 2019-04-15 | 2020-10-27 | 北京京东尚科信息技术有限公司 | 一种多层仓库储位分配的方法和装置 |
CN214692182U (zh) * | 2021-04-23 | 2021-11-12 | 合肥泰禾智能科技集团股份有限公司 | 一种拆垛结构及拆垛系统 |
CN115249324A (zh) * | 2021-10-21 | 2022-10-28 | 梅卡曼德(北京)机器人科技有限公司 | 垛型中待码放位置的确定方法、装置及计算设备 |
CN216996698U (zh) * | 2022-03-04 | 2022-07-19 | 格力电器(洛阳)有限公司 | 一种空调冷凝器拆垛机构及自动拆垛码垛设备 |
CN114955568A (zh) * | 2022-06-29 | 2022-08-30 | 广东电网有限责任公司广州供电局 | 基于视觉识别的自动堆垛方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116729877A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102019009189B4 (de) | Robotersytem mit Fehlererkennung und dynamischem Packmechanismus | |
CN109264275B (zh) | 基于机器人的智能仓库管理方法、装置和存储介质 | |
JP4827731B2 (ja) | システム、コンピュータプログラム、データ信号、及びguiを含むマシンの制御方法 | |
CN111861306A (zh) | 具有自动化包裹登记机构和自动检测流水线的机器人系统 | |
CN108238451B (zh) | 码垛方法和码垛装置 | |
JP6088563B2 (ja) | 位置及び姿勢の変換演算機能を備えたワーク取出しロボットシステム、及びワーク取出し方法 | |
CN110826883A (zh) | 一种订单处理方法及装置 | |
JP2014161965A (ja) | 物品取り出し装置 | |
CN109592433B (zh) | 一种货物拆垛方法、装置及拆垛系统 | |
CN113822637B (zh) | 一种基于互联网的集装箱物流云管理系统 | |
CN116729877B (zh) | 一种拆垛方法、装置、设备以及存储介质 | |
CN109455527B (zh) | 一种货物拆垛方法及装置 | |
CN115636261A (zh) | 抓取方法、装置、执行机构、存储介质及计算机产品 | |
CN113752260B (zh) | 一种取料定位修正方法及装置 | |
CN113800270B (zh) | 一种用于物流拆垛的机器人控制方法及系统 | |
WO2021062619A1 (zh) | 集装箱锁销分拣方法、装置、设备及存储介质 | |
CN111605938A (zh) | 用于使用实时放置模拟来码垛包裹的机器人系统 | |
CN110490887B (zh) | 一种基于3d视觉的对矩形包裹边缘快速识别定位方法 | |
US11820607B2 (en) | Systems and methods for die transfer | |
US20200269422A1 (en) | System for eliminating interference of randomly stacked workpieces | |
Eto et al. | Development of automated high-speed depalletizing system for complex stacking on roll box pallets | |
JP6749775B2 (ja) | クラス判定装置、クラス判定方法、および、クラス判定プログラム | |
CN118343510A (zh) | 一种拆垛方法、系统、装置、设备以及存储介质 | |
CN115003613A (zh) | 用于分离计件货物的设备和方法 | |
US20210356946A1 (en) | Method and system for analyzing and/or configuring an industrial installation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |