CN117622897A - 用于在机器人卸垛中执行部分卸垛操作的方法、系统和计算机程序产品 - Google Patents
用于在机器人卸垛中执行部分卸垛操作的方法、系统和计算机程序产品 Download PDFInfo
- Publication number
- CN117622897A CN117622897A CN202311003633.3A CN202311003633A CN117622897A CN 117622897 A CN117622897 A CN 117622897A CN 202311003633 A CN202311003633 A CN 202311003633A CN 117622897 A CN117622897 A CN 117622897A
- Authority
- CN
- China
- Prior art keywords
- destacking
- tray
- layer
- objects
- height
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004590 computer program Methods 0.000 title claims description 16
- 230000036961 partial effect Effects 0.000 title claims description 14
- 230000000977 initiatory effect Effects 0.000 claims description 10
- 238000004513 sizing Methods 0.000 claims description 10
- 230000000052 comparative effect Effects 0.000 claims description 8
- 238000003860 storage Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 24
- 239000012636 effector Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 14
- 238000003384 imaging method Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000008447 perception Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100498823 Caenorhabditis elegans ddr-2 gene Proteins 0.000 description 1
- 241001477931 Mythimna unipuncta Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000012800 visualization 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
- B65G59/00—De-stacking of articles
-
- 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
- B65G59/00—De-stacking of articles
- B65G59/02—De-stacking from the top of the stack
- B65G59/04—De-stacking from the top of the stack by suction or magnetic devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- 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
-
- 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
- B65G59/00—De-stacking of articles
- B65G59/02—De-stacking from the top of the stack
-
- 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
-
- 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/60—Analysis of geometric attributes
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40006—Placing, palletize, un palletize, paper roll placing, box stacking
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40564—Recognize shape, contour of object, extract position and orientation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40607—Fixed camera to observe workspace, object, workpiece, global
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Manipulator (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
各种实施方案涉及用于机器人式卸垛物体的方法、设备、系统、计算装置、计算实体等。在各种实施方案中,用于机器人卸垛的控制器实现的方法可包括检测布置在多个托盘层中的多个堆垛物体中的第一物体,该第一物体限定顶部托盘层的至少一部分;识别由该第一物体限定的初始托盘高度;识别由该多个堆垛物体中的第二物体限定的第二托盘高度;至少部分地基于该第二托盘高度检测托盘高度差;以及至少部分地基于该托盘高度差与阈值托盘层高度的比较来确定该顶部托盘层已经被卸垛。
Description
技术领域
本公开整体涉及自动化工业系统,并且更具体地涉及与卸垛相关的机器人。
背景技术
堆垛是指将物体(例如,纸箱、包裹、箱子、袋子、物品等)装载或传送到垛中或垛上的操作,诸如将物体装载或传送到托盘、表面、区域、位置或类似空间上。卸垛是指将物体(例如,纸箱、包裹、箱子、袋子、物品等)从垛(诸如远离托盘、表面、区域、位置或类似空间)卸载或移动的操作。在一些情况下,堆垛和卸垛可借助于被配置用于堆垛和/或卸垛的机器人系统来辅助。
许多堆垛和/或卸垛解决方案都面临技术挑战和困难。例如,在其中用户期望和/或请求对垛中的多个物体进行部分卸垛的情况下,当卸垛系统与限定垛的多个物体交互并表征该多个物体时,具有不同的大小、形状和/或配置的一个或多个物体的该多个物体会生成系统不准确和/或故障。通过所施加的努力、智慧和创新,申请人已通过开发体现在本公开中的解决方案解决了与机器人堆垛和卸垛相关的问题,下文详细描述这些解决方案。
发明内容
一般来讲,本公开提供了用于机器人式卸垛物体的方法、设备、系统、计算装置、计算实体等。在各种实施方案中,用于机器人式卸垛物体的控制器实现的方法可包括用于机器人卸垛的控制器实现的方法,该方法包括检测布置在多个托盘层中的多个堆垛物体中的第一物体,该第一物体限定顶部托盘层的至少一部分;识别由该第一物体限定的初始托盘高度;识别由该多个堆垛物体中的第二物体限定的第二托盘高度;至少部分地基于该第二托盘高度检测托盘高度差;以及至少部分地基于该托盘高度差与阈值托盘层高度的比较来确定该顶部托盘层已经被卸垛。
在各种实施方案中,该控制器实现的方法还可包括在确定该顶部托盘层已经被卸垛时,更新与该多个堆垛物体相关联的层索引数据,以反映该顶部托盘层的卸垛。在某些实施方案中,该控制器实现的方法还可包括将所更新的层索引数据与总托盘层卸垛值进行比较。在某些实施方案中,该控制器实现的方法还可包括,至少部分地基于与基于层的卸垛操作相关联的卸垛层值不满足该总托盘层卸垛值的确定,启动该多个托盘层中的第二托盘层的卸垛,该第二托盘层至少部分地由该第二物体限定。在各种实施方案中,更新该层索引数据可包括增加与基于层的卸垛操作相关联的卸垛层值。在某些实施方案中,该控制器实现的方法还可包括,至少部分基于与该基于层的卸垛操作相关联的该卸垛层值满足该总托盘层卸垛值的确定,结束该基于层的卸垛操作。在某些实施方案中,该总托盘层卸垛值可由卸垛系统接收的用户输入来限定。
在各种实施方案中,确定该顶部托盘层已经被卸垛可包括确定该托盘高度差大于或等于该阈值托盘层高度。在某些实施方案中,托盘高度差可由初始托盘高度和第二托盘高度之间的差来限定。在各种实施方案中,该控制器实现的方法还可包括接收用户输入,该用户输入限定了基于托盘层的卸垛模式的用户选择;以及基于该基于托盘层的卸垛模式的该用户选择,启动基于层的卸垛操作,该基于层的卸垛操作体现该多个堆垛物体的部分卸垛。在某些实施方案中,用户输入还可由对应于用户选择的待经由基于层的卸垛操作进行卸垛的托盘层数的总托盘层卸垛值来限定。
在各种实施方案中,可至少部分基于由卸垛系统捕获的成像数据来检测第二托盘高度。在各种实施方案中,该控制器实现的方法还可包括使卸垛系统从顶部托盘层移除多个物体中的第一物体,并将该第一物体重新定位到第二位置。
各种实施方案涉及一种用于机器人卸垛的控制器实现的方法,该方法包括在卸垛系统处接收限定基于SKU的卸垛模式的用户选择的用户输入,其中该用户输入还限定总SKU卸垛值;至少部分地基于由该卸垛系统捕获的并且与布置在托盘处的多个堆垛物体相关联的成像数据,计算与该多个堆垛物体的至少一部分相关联的一个或多个比较尺寸度量,该多个堆垛物体由多个物体SKU限定;至少部分地基于与多个物体的第一部分相关联的一个或多个比较尺寸度量满足比较尺寸阈值范围的确定,识别由多个物体的第一部分限定的第一物体SKU;在检测到限定该第一物体SKU的该多个物体的该第一部分已经被卸垛时,更新与该多个堆垛物体相关联的SKU索引数据,以反映该第一物体SKU的卸垛;以及确定与该基于SKU的卸垛操作相关联的卸垛SKU值满足该总SKU卸垛值。
在各种实施方案中,该控制器实现的方法还可包括基于该基于SKU的卸垛模式的该用户选择,启动基于SKU的卸垛操作,该基于SKU的卸垛操作体现该多个堆垛物体的部分卸垛;以及至少部分地基于与该基于SKU的卸垛操作相关联的卸垛SKU值满足该总SKU卸垛值的确定,结束该基于SKU的卸垛操作。在各种实施方案中,更新与多个堆垛物体相关联的该SKU索引数据,以反映第一物体SKU的卸垛可包括增加与该基于SKU的卸垛操作相关联的该卸垛SKU值。
在各种实施方案中,该控制器实现的方法还可包括,至少部分地基于与该基于SKU的卸垛操作相关联的该卸垛SKU值不满足该总SKU卸垛值的确定,启动由该多个物体的第一部分限定的第二物体SKU的第二卸垛。在某些实施方案中,该控制器实现的方法还可包括,至少部分地基于与多个物体的第二部分相关联的一个或多个比较尺寸度量满足比较尺寸阈值范围的第二确定,识别由该多个物体的该第二部分限定的第二物体SKU;以及在检测到限定该第二物体SKU的该多个物体的该第二部分已经被卸垛时,更新与该多个堆垛物体相关联的该SKU索引数据,以反映该第二物体SKU的卸垛。在某些实施方案中,该控制器实现的方法还可包括使卸垛系统从托盘处的布置中移除限定第一物体SKU的多个物体的第一部分中的一个或多个物体,并将该一个或多个物体重新定位到第二位置。
各种实施方案涉及一种设备,该设备包括至少一个处理器和包括计算机程序代码的至少一个非暂态存储器,该至少一个非暂态存储器和该计算机程序代码被配置为利用该至少一个处理器,使该设备检测布置在多个托盘层中的多个堆垛物体中的第一物体,该第一物体限定顶部托盘层的至少一部分;识别由该第一物体限定的初始托盘高度;识别由该多个堆垛物体中的第二物体限定的第二托盘高度;至少部分地基于该第二托盘高度检测托盘高度差;以及至少部分地基于该托盘高度差与阈值托盘层高度的比较来确定该顶部托盘层已经被卸垛。
附图说明
可结合附图阅读例示性实施方案的描述。将了解,为了说明的简单和清晰起见,附图中所示的元件不一定是按比例绘制的,而是旨在与以下详细描述中的解释结合使用。
图1A是根据本公开的各种实施方案的可使用的示例性卸垛系统的示例性透视图;
图1B是示出了根据本公开的各种实施方案的可使用的示例性卸垛系统的示例图;
图2是根据本公开的各种实施方案的示例性卸垛系统中的示例性部件的示例性示意图;
图3是根据本公开的各种实施方案的示例性控制子系统中的示例性部件的示意图;
图4示出了示出根据本公开的各种实施方案的示例性托盘上的示例性托盘层的图;
图5示出了示出根据本公开的各种实施方案的示例性托盘上的示例性托盘层的图;
图6A至图6C是示出根据本公开的各种实施方案的基于层的卸垛的示例性计算机实现的方法的示例性流程图;
图7A至图7C是示出根据本公开的各种实施方案的基于SKU的卸垛的示例性计算机实现的方法的示例性流程图;并且
图8示出了根据本公开的各种方实施方案的示例性卸垛系统和示例性周围环境的电子数据点的示例性三维表示。
具体实施方式
在下文中将参考附图更详细地描述本发明的一些实施方案,附图中示出了本发明的一些实施方案。贯穿附图,附图标记指代元件。本发明的多个实施方案可以不同的形式体现,并且不应限于本文阐述的实施方案。相反,提供这些实施方案是为了使本公开满足适用的法律要求。
如本文所用,除非另外指明,术语“约”、“一般地”和“基本上”是指在对应材料和/或元件的制造和/或工程设计公差范围内。此类术语的使用包含并旨在允许所列举的具体值的独立权利要求。因此,任何此类前述术语或类似的可互换术语的使用不应被理解为限制本发明的实施方案的实质和范围。如在说明书和所附权利要求中所使用的,除非另有说明,否则单数形式的“一种(a)”、“一个(an)”和“该(the)”包括复数指代物。当在说明书中使用时,术语“包括(includes和/或including)”指定所陈述的特征、元件和/或部件的存在;其不排除一个或多个其他特征、步骤、操作、元件、部件和/或它们的组合的存在或添加。
本公开的方面可实现为包括制品的计算机程序产品。此类计算机程序产品可包括一个或多个软件部件,包括例如应用、软件对象、方法、数据结构等。软件部件可以多种编程语言中的任一种进行编码。示例性编程语言可以是低级编程语言,诸如与特定硬件架构和/或操作系统平台/系统相关联的汇编语言。
编程语言的其他示例包括但不限于宏语言、shell或命令语言、作业控制语言、脚本语言、数据库查询或搜索语言和/或报告编写语言。在一个或多个示例性实施方案中,包括编程语言的前述示例中的一种示例中的指令的软件部件可由操作系统或其他软件部件直接执行,而不必首先转换成另一种形式。软件部件可存储为文件或其他数据存储方法。类似类型或功能相关的软件部件可一起诸如例如存储在特定目录、文件夹或库中。软件部件可以是静态的(例如,预先建立的或固定的)或动态的(例如,在执行时创建或修改的)。
另外或另选地,本公开的方面可实现为非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储应用、程序、程序模块、脚本、源代码、程序代码、目标代码、字节代码、编译代码、解译代码、机器代码、可执行指令等(在本文中也称为可执行指令、用于执行的指令、计算机程序产品、程序代码和/或在本文中可互换使用的类似术语)。此类非暂态计算机可读存储介质包括所有计算机可读介质(包括易失性介质和非易失性介质)。
在一个方面中,非易失性可读存储装置可包括软盘、软磁盘、硬盘、固态存储器(SSS)(例如固态驱动器(SSD)、固态卡(SSC)、固态模块(SSM)、企业闪存驱动器、磁带等。非易失性计算机可读存储介质还可包括光盘只读存储器(CD-ROM)、可重写光盘(CD-RW)、数字通用盘(DVD)、蓝光光盘(BD)、任何其他非暂态光学介质等。此类非易失性计算机可读存储介质还可包括只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存存储器(例如,串行、NAND、NOR等)、多媒体存储卡(MMC)、安全数字(SD)存储卡、智能媒体卡、紧凑闪存(CF)卡、记忆棒等。此外,非易失性计算机可读存储介质还可包括导电桥接随机访问存储器(CBRAM)、相变随机访问存储器(PRAM)、铁电随机访问存储器(FeRAM)、非易失性随机访问存储器(NVRAM)、磁阻随机访问存储器(MRAM)、电阻式随机访问存储器(RRAM)、硅-氧化物-氮化物-氧化物-硅存储器(SONOS)、浮动结栅极随机访问存储器(FJG RAM)、千足虫存储器、跑道存储器等。
在一个方面中,易失性计算机可读存储介质可包括随机访问存储器(RAM)、动态随机访问存储器(DRAM)、静态随机访问存储器(SRAM)、快速页面模式动态随机访问存储器(FPM DRAM)、扩展数据输出动态随机访问存储器(EDO DRAM)、同步动态随机访问存储器(SDRAM)、双倍数据速率同步动态随机访问存储器(DDR SDRAM)、双倍数据速率类型二同步动态随机访问存储器(DDR2 SDRAM)、双倍数据速率类型三同步动态随机访问存储器(DDR3SDRAM)、Rambus动态随机访问存储器(RDRAM)、双晶体管RAM(TTRAM)、闸流管RAM(T-RAM)、零电容器(Z-RAM)、Rambus内嵌式存储器模块(RIMM)、双列直插式存储器模块(DIMM)、单列直插式存储器模块(SIMM)、视频随机访问存储器(VRAM)、高速缓存存储器(包括各种级别)、闪存存储器、寄存器存储器等。将了解,在方面被描述成使用计算机可读存储介质的情况下,其他类型的计算机可读存储介质可替代上述计算机可读存储介质,或除上述计算机可读存储介质以外予以使用。
应了解,本公开的各种方面还可实现为方法、设备、系统、计算装置、计算实体等。由此,本公开的方面可采取执行存储在计算机可读存储介质上的类似执行指令以执行某些步骤或操作的数据结构、设备、系统、计算装置、计算实体等的形式。因此,本公开的方面也可采取完全硬件方面、完全计算机程序产品方面和/或包括执行某些步骤或操作的计算机程序产品和硬件的组合的方面的形式。
下文参考框图和流程图图示来描述本公开的方面。因此,应理解,框图和流程图图示的每个框可实现为以下形式:计算机程序产品、完全硬件方面、硬件与计算机程序产品的组合和/或实现计算机可读存储介质上用于执行的指令、操作、步骤和可互换使用的类似字词(例如可执行指令、用于执行的指令、程序代码等)的设备、系统、计算装置、计算实体等。例如,可依序执行代码的检索、加载和执行,以使得一次检索、加载和执行一个指令。在一些实施方案中,可并行地执行检索、加载和/或执行,以使得一起检索、加载和/或执行多个指令。因此,此类方面可产生执行框图和流程图图示中指定的步骤或操作的特定配置的机器。因此,框图和流程图图示支持用于执行指定指令、操作或步骤的方面的各种组合。
如本文所用,短语“在实施方案中”、“在一个实施方案中”、“根据一个实施方案”等一般意指跟在该短语后的特定特征、结构或特性可被包括在本公开的至少一个实施方案中,并且可被包括在本公开的不止一个实施方案中。
附图不限制本发明的实施方案或所附权利要求的范围。下面参考用于说明的示例性应用来描述示例性实施方案的方面。应理解,阐述了具体细节、关系和方法以提供对示例性实施方案的完全理解。本领域的普通技术人员认识到该示例性实施方案可在没有一个或多个具体细节的情况下和/或用其他方法来实践。
在诸如配送中心、仓库等环境中,物体可在托盘上传送,并且可利用一个或多个机器人卸垛装置从托盘上的垛中卸垛物体(例如,盒子、物品、产品)。在一些实施方案中,垛中的至少一些物体具有混合的、不同的SKU,该SKU指示垛中的物体具有不同类型(例如,具有不同的大小和/或形状)。在此类示例中,示例性卸垛系统可依赖于视觉系统(诸如感知子系统)来确定物体的大小和/或形状,使得卸垛装置可将物体从托盘卸垛(例如,至少部分地基于物体的大小和/或形状计算卸垛装置的姿态)。在本文所述的各种实施方案中,示例性卸垛系统可被配置为通过在基于层的卸垛模式和基于SKU的卸垛模式中的一者中操作来执行与该垛物体相关联的部分卸垛操作,诸如例如,响应于用户驱动的指令输入,以卸垛布置在该垛中的多个物体的选定部分。本发明包括执行基于层和基于SKU的卸垛操作两者的方法,该操作有利于在混合SKU环境中以至少基本上最小化的操作错误率根据用户专用命令进行部分卸垛。
图1A是根据本公开的各种方面的可使用的示例性卸垛系统的示例性透视图。应当理解,系统100A也可以用作堆垛系统。在这种实施方案中,拾取次序与本文所讨论的卸垛实施方案相反,系统根据本文关于卸垛所描述的定序的相反定序来规划并将物体堆到具有最小容积的托盘中。
在图1A所示的示例中,示例性卸垛系统100A包括卸垛装置103。在一些方面中,卸垛装置103是卸垛系统100A的执行子系统的一部分。
在图1A所示的示例中,卸垛装置103可采用机器人卸垛的形式。例如,卸垛装置103可包括末端执行器113和连接到末端执行器113的机器人臂115。在一些方面中,卸垛装置103可包括一个或多个控制器、传感器和/或驱动器,以引起和控制末端执行器113和/或机器人臂115的操作。
在一些方面中,卸垛装置103位于托盘101附近。在一些方面中,为了从托盘101卸垛物体,为卸垛装置103计算一个或多个抓取姿态和抓取点。例如,机械臂115可以移动和/或旋转,使得末端执行器113可位于托盘101的物体上。在一些方面中,末端执行器113可以取回和/或抓取物体(例如,通过抽吸机构等),并且机器人臂115可以移动,以便将物体提升到提升高度(并且末端执行器113的高度被称为抓取姿态高度)。在提升物体之后,机械臂115可以移动和/或旋转,使得由末端执行器113抓取的物体位于传送机111上方。随后,末端执行器113将物体释放到一个或多个存放位置(该一个或多个存放位置在一些方面中是传送机111)上,从而完成将物体从托盘101卸垛到传送机111上的操作。应当理解,一个或多个存放位置可以包括被认为适于存放物体的任何数量的位置,包括但不限于仓库地板、卡车或拖车床、货物或装运容器,或铁路货运运输。还应理解,根据一些方面,一个或多个存放位置(例如,传送机111)可包括另一托盘或装载区域,诸如(但不限于)当系统100A被用作堆垛系统时。
如上文所描述,卸垛系统可依赖于感知子系统202以捕获与物体相关的数据,使得可确定卸垛装置的抓取姿态和抓取点。例如,在各种实施方案中,如本文进一步详细描述的,示例性卸垛系统的感知子系统可用于确定阈值托盘高度值,诸如例如,至少部分地基于由布置在托盘处的堆垛物体中的一个堆垛物体限定的检测到的最大高度。现在参考图1A中所示的示例,示例卸垛系统100A包括视觉结构105。在一些方面中,视觉结构105是卸垛系统100A的感知子系统的一部分。
在一些方面中,视觉结构105位于托盘101附近。例如,视觉结构105包括连接到水平梁107的垂直梁109。在一些方面中,一个或多个图像捕获装置可设置在水平梁107和/或垂直梁109上。
例如,2-D图像捕获装置可设置在水平梁107的端部附近并面向托盘101,以便捕获2-D图像,该图像是托盘101的俯视图(例如,示出顶部托盘层上的物体)。2-D图像捕获装置的示例可包括但不限于相机、2-D图像传感器等。在一些方面中,2-D图像可用于确定物体的宽度和/或长度。
另外或另选地,3-D图像捕获装置可设置在水平梁107上并面向托盘101,以便捕获托盘101的3-D图像。在一些方面中,3-D图像捕获装置可沿着垂直梁109和/或水平梁107可移动地设置。3-D图像捕获装置的示例可包括但不限于飞行时间图像传感器、立体成像传感器等。在一些方面中,2-D图像可用于确定物体的宽度和/或高度。
在一些方面中,高度感测装置可设置在托盘101附近的传送机111的端部处。在一些方面中,高度感测装置可以是卸垛系统100A的一部分,并且被配置为感测高度数据,本文进行了详细描述。高度感测装置的示例包括但不限于LiDAR传感器等。该系统还可以使用水平位置感测装置,或者单个装置可以使用本文描述的硬件和/或软件来执行水平和高度感测设计两者的功能。
图1B是示出了根据本公开的各种方面的可使用的示例性卸垛系统100B的示例图。
在图1B所示的示例中,示例性卸垛系统100B包括卸垛装置131,该卸垛装置包括连接到机器人臂135的末端执行器133。在一些方面中,末端执行器133可将物体从托盘137卸垛到传送机139上,类似于上文结合图1A所描述。
图1B是示出了根据本公开的各种方面的可使用的示例性卸垛系统的示例图。
在图1B所示的示例中,示例性卸垛系统100B包括卸垛装置131,该卸垛装置包括连接到机器人臂135的末端执行器133。在一些方面中,末端执行器133可将物体从托盘137卸垛到传送机139上,类似于上文结合图1A所描述。
图2是根据本公开的各种方面的示例性卸垛系统中的示例性部件的示例性示意图。
具体地,图2示出了示例卸垛系统200的各种部件之间的示例数据通信。
在图2所示的示例中,示例性卸垛系统200包括可经由系统总线216交换数据和/或信息的感知子系统202、执行子系统210和控制子系统218。
在一些方面中,感知子系统可生成成像数据并且经由系统总线216将成像数据发送到控制子系统218。具体地,感知子系统202可包括2-D图像捕获装置204(类似于上文至少结合图1A所描述的2-D图像捕获装置)。在一些方面中,2-D图像捕获装置204可生成2-D图像数据并经由系统总线216将2-D图像数据发送到控制子系统218。另外或另选地,感知子系统202可包括3-D图像捕获装置206(类似于上文至少结合图1A所描述的3-D图像捕获装置)。在一些方面中,3-D图像捕获装置206可生成3-D图像数据并经由系统总线216将3-D图像数据发送到控制子系统218。
在一些方面中,控制子系统218可经由系统总线216向执行子系统210发送控制指令,以便控制与执行子系统210的装置相关联的操作。
在一些方面中,执行子系统210可包括高度感测装置208。在一些方面中,高度感测装置208可生成高度数据并将高度数据发送到控制子系统218。
例如,执行子系统210可包括卸垛装置212。在这样的示例中,控制子系统218可将控制指令发送到卸垛装置212,以便控制卸垛装置212的运行和/或使卸垛装置212以某种方式运行,本文进行了详细描述。
另外或另选地,执行子系统210可包括传送机214。在这样的示例中,控制子系统218可向传送机214发送控制指令,以便控制传送机214的运行和/或使传送机214以某种方式运行。
在一些方面中,系统总线216可能有多种形式。例如,系统总线216可使用有线数据传输协议来执行,诸如光纤分布式数据接口(FDDI)、数字用户线路(DSL)、以太网、异步传输模式(ATM)、帧中继器、有线服务接口数据规范(DOCSIS)或任何其他有线传输协议。类似地,系统总线216可被配置为使用多种协议中的任一种经由无线外部通信网络进行通信,该多种协议诸如通用分组无线电服务(GPRS)、通用移动电信系统(UMTS)、码分多址1900(CDMA1900)、CDMA1900 1X(1xRTT)、宽带码分多址(WCDMA)、全球移动通信系统(GSM)、增强型数据速率GSM演进技术(EDGE)、时分同步码分多址(TD-SCDMA)、网络制式(LTE)、演进型通用陆地无线接入网络(E-UTRAN)、演进型数据最优化(EVDO)、高速分组接入(HSPA)、高速下行分组接入(HSDPA)、电气与电子工程师协会(IEEE)802.11(Wi-Fi)、Wi-Fi Direct、802.16(WiMAX)、超宽带(UWB)、红外(IR)协议、近场通信(NFC)协议、Wibree、蓝牙协议、通用串行总线(USB)协议和/或任何其他无线协议。控制子系统218可使用此类协议和标准以使用以下项进行通信:边界网关协议(BGP)、动态主机配置协议(DHCP)、域名系统(DNS)、文件传输协议(FTP)、超文本传输协议(HTTP)、TLS/SSL/安全的HTTP、交互邮件访问协议(IMAP)、网络时间协议(NTP)、简单邮件传输协议(SMTP)、远程登录、传输层安全(TLS)、安全套接层(SSL)、网际互联协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、数据报拥塞控制协议(DCCP)、流控制传输协议(SCTP)、超文本标记语言(HTML)等。
图3是根据本公开的各种方面的示例性控制子系统中的示例性部件的示意图。
如图3所示,在一个方面中,控制子系统218可包括一个或多个处理元件(例如,处理元件305)(也称为处理器、处理电路和/或在本文中可互换使用的类似术语)或与该一个或多个处理元件通信,该一个或多个处理元件经由例如总线或网络连接与控制子系统218内的其他元件通信。应当理解,处理元件305能够以多种不同的方式体现。例如,处理元件305可体现为一个或多个复杂可编程逻辑装置(CPLD)、微处理器、多核处理器、协同处理实体、专用指令集处理器(ASIP)和/或控制器。此外,处理元件305可体现为一个或多个其他处理装置或电路。术语电路可指完全硬件方面或硬件和计算机程序产品的组合。因此,处理元件305可体现为集成电路、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、硬件加速器、其他电路等。因此应当理解,处理元件305可被配置用于特定用途或被配置为执行存储在易失性或非易失性介质中或可由处理元件305以其他方式访问的指令。因此,无论是由硬件还是由计算机程序产品配置,还是由它们的组合配置,当相应地配置时,处理元件305可以能够执行根据本公开的方面的步骤或操作。
在一个方面中,控制子系统218还可包括易失性介质(也称为易失性存储装置、存储器、存储器存储装置、存储器电路和/或在本文中可互换使用的类似术语)或与该易失性介质通信。在一个方面中,易失性存储装置或存储器还可以包括如上所述的一个或多个存储器元件306,诸如RAM、DRAM、SRAM、FPM DRAM、EDO DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、RDRAM、RIMM、DIMM、SIMM、VRAM、高速缓存存储器、寄存器存储器等。如将认识到的,易失性存储装置或存储器元件306可用于存储由例如如图3所示的处理元件305执行的数据库、数据库示例、数据库管理系统实体、数据、应用、程序、程序模块、脚本、源代码、目标代码、字节代码、编译代码、解译代码、机器代码、可执行指令等的至少部分。因此,数据库、数据库示例、数据库管理系统实体、数据、应用、程序、程序模块、脚本、源代码、目标代码、字节代码、编译代码、解译代码、机器代码、可执行指令等可用于在处理元件305和操作系统的帮助下控制该控制子系统218的操作的某些方面。
在一个方面中,控制子系统218还可包括非易失性介质(也称为非易失性存储装置、存储器、存储器存储装置、存储器电路和/或在本文中可互换使用的类似术语)或与该非易失性介质通信。在一个方面中,非易失性存储装置或存储器可包括如上所述的一个或多个非易失性存储装置或存储介质307,诸如硬盘、ROM、PROM、EPROM、EEPROM、闪存存储器、MMC、SD存储卡、记忆棒、CBRAM、PRAM、FeRAM、RRAM、SONOS、跑道存储器等。如将认识到,非易失性存储装置或存储介质307可以存储数据库、数据库实例、数据库管理系统实体、数据、应用程序、程序、程序模块、脚本、源代码、目标代码、字节代码、编译代码、解译代码、机器代码、可执行指令等。术语数据库、数据库示例、数据库管理系统实体和/或类似术语在本文中可互换使用并且在一般意义上可以是指存储在计算机可读存储介质中的信息/数据的结构化或非结构化集合。
存储介质307还可体现为一个或多个数据存储装置、一个或多个单独数据库服务器或数据存储装置与单独数据库服务器的组合。此外,在一些方面中,存储介质307可以体现为分布式储存库,使得所存储的信息/数据中的一些信息/数据集中存储在系统内的一个位置中,并且其他信息/数据存储在一个或多个远程位置中。另选地,在一些方面中,分布式储存库可仅分布在多个远程存储位置上。本文设想的方面的示例将包括由第三方提供方维护的云数据存储系统,并且恢复系统运行所需的部分或全部信息/数据可存储在该系统中。此外,恢复系统运行所需的信息/数据也可能部分存储在云数据存储系统中,部分存储在本地维护的数据存储系统中。更具体地,存储介质307可以包含一个或多个数据存储区,该一个或多个数据存储区被配置为存储在某些方面中可用的信息/数据。
根据一些方面,并且如至少图2和图3所示,卸垛系统200可以是计算机程序产品218,该计算机程序产品包括至少一个非暂态计算机可读存储介质307,该非暂态计算机可读存储介质存储有计算机可读程序代码部分。计算机可读程序代码部分可包括可执行部分。可执行部分可被配置为检测布置在多个托盘层(例如,图4中的托盘层422、424等)中的多个堆垛物体(例如,图4中垛400中的物体402、404、406、410、412、414等)中的第一物体(例如,图4中的垛400中的物体402),第一物体(例如,物体402)限定顶部托盘层(例如,顶部托盘层422)的至少一部分。(参照图4和图5以及在其中所示的示例性实施方案,但是应当理解,卸垛系统200可与任何适当数量的堆垛物体相关)。在各种实施方案中,可执行部分还可被配置为识别由第一物体(例如,物体402)限定的初始托盘高度,并且还识别由限定垛的多个物体中的第二物体限定的第二托盘高度。在各种实施方案中,可执行部分还可被配置为至少部分地基于第二托盘高度来检测托盘高度差。此外,在各种实施方案中,可执行部分还可被配置为至少部分地基于托盘高度差与阈值托盘层高度的比较来确定顶部托盘层(例如,顶部托盘层422)已经被卸垛。在各种实施方案中,可执行部分还可被配置为使卸垛系统从顶部托盘层移除多个物体中的第一物体,并将该第一物体重新定位到第二位置。
此外,在各种实施方案中,可执行部分可被配置为在卸垛系统(例如,参照图1A至图3描述的示例性卸垛系统100A)处接收限定基于SKU的卸垛模式的用户选择的用户输入。在各种实施方案中,如本文所述,用户输入还可限定总SKU卸垛值。可执行部分可被配置为在一个或多个存储介质处存储卸垛数据,诸如例如总SKU卸垛值和/或总托盘层卸垛值。此外,在各种实施方案中,可执行部分可被配置为至少部分地基于由卸垛系统捕获的并且与布置在托盘(例如,图4的托盘408)处的多个堆垛物体(例如,垛400中的物体402、404、406、410、412、414等)相关联的成像数据,来计算与多个堆垛物体的至少一部分相关联的一个或多个比较尺寸度量。例如,如本文所述,多个堆垛物体可由多个物体SKU来限定。在各种实施方案中,可执行部分可被配置为至少部分地基于与多个物体的第一部分相关联的一个或多个比较尺寸度量满足比较尺寸阈值范围的确定,识别由多个物体的第一部分限定的第一物体SKU。在各种实施方案中,可执行部分还可被配置为在检测到限定第一物体SKU的多个物体的第一部分已经被卸垛时,更新与多个堆垛物体相关联的SKU索引数据,以反映第一物体SKU的卸垛。此外,在各种实施方案中,可执行部分还可被配置为确定与基于SKU的卸垛操作相关联的卸垛SKU值满足总SKU卸垛值。
在一个或多个实施方案中,计算机可读程序代码部分的可执行部分还被配置为将多个堆垛物体(例如,物体402、404、406、410、412、414等)表示为物体电子数据点集,该物体电子数据点集包括与第一组中的第一物体相关联的第一物体电子数据点集,并且将末端执行器(例如,系统100A的末端执行器113)表示为末端执行器电子数据点集。可执行部分还可被配置为借助于末端执行器电子数据点集通过模拟从物体电子数据点集中移除与第一物体相关联的第一物体电子数据点集,来模拟从布置在垛中的多个物体中移除第一物体。在各种实施方案中,计算机可读程序代码部分的可执行部分还被配置为基于与多个物体中的每个物体相关联的相应物体电子数据点集来确定与多个堆垛物体中的每个堆垛物体相关联的托盘高度。此外,在各种实施方案中,计算机可读程序代码部分的可执行部分被配置为基于物体电子数据点集来表示、表征、限定和/或以其他方式识别由多个物体限定的每个托盘层。例如,在各种实施方案中,计算机可读程序代码部分的可执行部分被配置为识别多个物体中的每个物体,该多个物体具有在初始托盘高度的预定阈值层高度范围内的托盘高度,该初始托盘高度被关联为垛内相同托盘层的一部分。
如所指出的那样,在一个方面中,控制子系统218还可包括用于诸如通过输送可被传输、接收、操作、处理、显示、存储等的数据、内容、信息和/或在本文中可互换使用的类似术语与各种计算实体通信的一个或多个网络和/或通信接口308。此类通信可使用有线数据传输协议来执行,诸如光纤分布式数据接口(FDDI)、数字用户线路(DSL)、以太网、异步传输模式(ATM)、帧中继器、有线服务接口数据规范(DOCSIS)或任何其他有线传输协议。类似地,控制子系统218可被配置为使用多种协议中的任一种经由无线外部通信网络进行通信,该多种协议诸如通用分组无线电服务(GPRS)、通用移动电信系统(UMTS)、码分多址1900(CDMA1900)、CDMA1900 1X(1xRTT)、宽带码分多址(WCDMA)、全球移动通信系统(GSM)、增强型数据速率GSM演进技术(EDGE)、时分同步码分多址(TD-SCDMA)、网络制式(LTE)、演进型通用陆地无线接入网络(E-UTRAN)、演进型数据最优化(EVDO)、高速分组接入(HSPA)、高速下行分组接入(HSDPA)、电气与电子工程师协会(IEEE)802.11(Wi-Fi)、Wi-Fi Direct、802.16(WiMAX)、超宽带(UWB)、红外(IR)协议、近场通信(NFC)协议、Wibree、蓝牙协议、通用串行总线(USB)协议和/或任何其他无线协议。控制子系统218可使用此类协议和标准以使用以下项进行通信:边界网关协议(BGP)、动态主机配置协议(DHCP)、域名系统(DNS)、文件传输协议(FTP)、超文本传输协议(HTTP)、TLS/SSL/安全的HTTP、交互邮件访问协议(IMAP)、网络时间协议(NTP)、简单邮件传输协议(SMTP)、远程登录、传输层安全(TLS)、安全套接层(SSL)、网际互联协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、数据报拥塞控制协议(DCCP)、流控制传输协议(SCTP)、超文本标记语言(HTML)等。
图4和图5是示出了根据本公开的各种方面的示例性托盘上的物体的示例性卸垛的示例图。在本文所公开的各种实施方案中,本文所述的机器人系统、运动规划系统、视觉系统以及其他硬件和/或软件系统可用于根据图4和/或图5所示的过程来卸垛各种物体。
如图4所示,存在被配置为经由由被配置为执行一个或多个算法的卸垛系统执行的基于层的卸垛操作而被部分卸垛的堆垛物体(例如,包裹)的垛400。在一些方面,可执行一个或多个卸垛操作(例如,经由卸垛系统),以便卸垛垛400的多个物体的一部分(例如,少于整个多个物体)。例如,在托盘408上可能存在多个待移除的堆垛物体402、404、406。如图4所示,垛400可由布置在多个托盘层(例如,顶部托盘层422、第二托盘层424)中的多个堆垛物体来限定。例如,如图所示,多个层可包括顶部托盘层422和设置在其下方的一个或多个附加托盘层,这些一个或多个附加托盘层中的每个附加托盘层可由以相对于彼此至少部分地水平布置设置的多个物体中相应的一个或多个物体限定。在一个或多个实施方案中,“前侧”可被限定为堆垛的垛的第一侧,该第一侧最靠近距面向用于存放物体的指定位置最近的方向和/或该第一侧在该方向上定向。“后侧”可被限定为与前侧相对的堆垛的垛的第二侧。在一些方面中,托盘408可被限定为包含用于卸垛的物体垛(诸如垛400)的任何位置,而不考虑托盘408的结构或组成。图4示出了基于层的卸垛操作的各种步骤的示例性表示,其中经由从垛400中移除限定顶部托盘层的物体(例如,移除到一个或多个指定位置)来卸垛由多个堆垛物体的一部分限定的顶部托盘层,如本文所述。
在各种实施方案中,由垛400的多个物体限定的多个托盘层中的一个或多个托盘层可经由执行基于层的卸垛操作来卸垛。例如,在各种实施方案中,如本文所述,垛400可通过从垛400中移除由多个物体限定的多个托盘层中的少于全部的托盘层而被部分卸垛。在所描绘的实施方案中,执行基于层的卸垛操作的机器人系统在水平层中卸垛物体(例如,从前到后工作)。在一些方面中,水平层可被标记为例如“顶部托盘层”422(例如,在其中放置第一物体402、第二物体404和第三物体406的层)。
在各种实施方案中,如图4所示,可检测限定顶部托盘层422的一部分的第一物体402(例如,通过卸垛系统200)。例如,如本文所述,示例性卸垛系统的一个或多个子系统(例如,感知子系统和/或执行子系统)可基于由卸垛系统捕获的成像数据来识别由第一物体402限定的初始托盘高度。例如,卸垛系统可将第一物体402识别为由垛400限定的多个物体中已经被检测到的第一(例如,唯一)物体,并且可将初始托盘高度与顶部托盘层422相关联。在各种实施方案中,示例性卸垛系统可被配置为通过首先操纵末端执行器来执行卸垛操作(例如,基于层的卸垛操作),如本文所述,以移除垛400的顶部托盘层422的第一物体402。此外,卸垛系统可检测布置在托盘408处的垛400的多个物体中的第二物体404,并且可识别由第二物体404限定的第二托盘高度。在各种实施方案中,示例性卸垛系统可至少部分地基于由第二物体404限定的第二物体高度与由第一物体402限定的初始物体高度的比较来检测托盘高度差。在各种实施方案中,如本文所述,示例性卸垛系统还可被配置为基于检测到的托盘高度差(例如,如由第一物体402和第二物体404限定的)和阈值托盘层高度的比较来确定第二物体404是否限定了顶部托盘层422的一部分(或另选地,限定了设置在顶部托盘层422下方的第二托盘层424的一部分)。在一些方面,可通过确定物体(例如,第一物体402)的顶表面的坐标和正被卸垛(或根据一些方面被堆垛)的每个物体的最大高度来确定水平托盘层。在各种实施方案中,为了识别由各种物体限定的托盘高度差是高于还是低于阈值托盘层高度,示例性系统可对物体的垛进行成像并计算与物体的至少一部分相关联的高度。在一些方面中,系统操作员可借助于测量装置(例如,具有测量功能性的激光器)来估计箱子的高度。例如,视觉子系统可以基于本文所讨论的分层和选择算法来识别要拾取的一个或多个候选物体。然后,系统可使用箱子的底部的高度的测量值(例如,利用上述激光测量装置),诸如出于阈值确定目的来检测物体的托盘高度。所计算的高度可以是基于与物体相关联的一个或多个特征点(landmark)的单个托盘高度值。例如,在各种实施方案中,针对给定物体所计算的高度可被计算为顶部、底部、中心、抓取位置或与物体相关联的其他位置,如由系统执行的一个或多个图像处理算法(例如,机器学习图像识别模型)和/或运动规划算法所确定的。例如,具有在最高测量物体的一个最大高度内的顶表面坐标高度的任何物体可被识别为单个托盘层,算法可从该单个托盘层进行,如本文所述。最大高度可以诸如通过记录堆垛系统中使用的最大包裹来预定。
例如,为了识别顶部托盘层422是否已经被完全卸垛,示例性卸垛系统可将由第二物体404限定的第二托盘高度与由第一物体402限定并与顶部托盘层相关联的初始托盘高度进行比较。例如,此类比较可包括检测由第二物体404限定的第二托盘高度和第一物体402限定的初始托盘高度之间的差所限定的托盘高度差。此外,示例性卸垛系统可将检测到的托盘高度差与阈值托盘层高度进行比较,该阈值托盘层高度可以是预定值,如本文所述。在各种实施方案中,如本文进一步详细描述的,由第二托盘高度和初始托盘高度限定的托盘高度差大于或等于阈值托盘层高度的确定可指示第二物体限定了不同于顶部托盘层422的第二托盘层424的一部分。此外,在各种实施方案中,诸如例如图4所示的示例性实施方案,由第二托盘高度(例如,与第二物体404相关联)和初始托盘高度(与第一物体相关联)限定的托盘高度差小于阈值托盘层高度的确定可指示第二物体404与第一物体402布置在相同的顶部托盘层422内。如图所示,对于一个或多个附加物体,可重复检测由垛400内的其他物体限定的托盘高度,以及比较由相应托盘高度和初始托盘高度(例如,与第一物体402相关联)相对于阈值托盘层高度限定的托盘高度差,直到多个物体中的一个物体和初始托盘高度之间限定的检测到的托盘高度差被确定为大于阈值托盘层高度。例如,图4示出了包括第三物体406的顶部托盘层422,诸如例如,基于由与第三物体406相关联的第三托盘高度和小于阈值托盘层高度的初始托盘高度(与第一物体402相关联)限定的检测到的托盘高度差。根据一些方面,在各种实施方案中,示例性机器人系统可被配置为通过在确定是否移动到下一个托盘层(例如,“第二托盘层”424)进行卸垛之前,清除(例如卸垛)托盘层内限定的物体中的每个物体(例如,顶部托盘层422内的物体402、404和406中的每一者),来执行基于层的卸垛操作。
在各种实施方案中,为了识别由各种物体限定的托盘高度差是高于还是低于阈值托盘层高度,示例性系统可对物体的垛进行成像并计算与物体的至少一部分相关联的高度。在一些方面中,系统操作员可借助于测量装置(例如,具有测量功能性的激光器)来估计箱子的高度。例如,视觉子系统可以基于本文所讨论的分层和选择算法来识别要拾取的一个或多个候选物体。然后,系统可使用箱子的底部的高度的测量值(例如,利用上述激光测量装置),诸如出于阈值确定目的来检测物体的托盘高度。所计算的高度可以是基于与物体相关联的一个或多个特征点(landmark)的单个托盘高度值。例如,在各种实施方案中,针对给定物体所计算的高度可被计算为顶部、底部、中心、抓取位置或与物体相关联的其他位置,如由系统执行的一个或多个图像处理算法(例如,机器学习图像识别模型)和/或运动规划算法所确定的。
如所描述的,在确定由与附加物体相关联的检测到的托盘高度和与顶部托盘层422相关联的初始托盘高度所限定的托盘高度差满足(例如,大于或等于)阈值托盘层高度时,可确定顶部托盘层已经被完全卸垛。在各种实施方案中,在确定顶部托盘层422已经被完全卸垛(例如,被清除)时,与垛400的多个堆垛物体相关联的层索引数据可被卸垛系统更新,以反映顶部托盘层422的卸垛。在各种实施方案中,层索引数据可包括由示例性卸垛系统存储的数据,该数据对应于垛400的配置和在其中限定的多个物体和/或多个托盘层的布置。例如,与垛400相关联的层索引数据可体现对应于与垛400相关联的一个或多个配置、重新布置、卸垛操作等的数据,该数据能够被卸垛系统检索、处理、更新和/或存储,以至少部分地表征垛400和/或与其相关联的卸垛操作的状态。例如,在各种实施方案中,更新层索引数据可包括基于顶部托盘层422已经被清除的确定,增加与基于层的卸垛操作相关联的卸垛托盘层值。与基于层的卸垛操作相关联的卸垛托盘层值可对应于在基于层的卸垛操作期间已经卸垛的托盘层的数量。卸垛托盘层值可增加值1,作为垛400的托盘层,诸如例如顶部托盘层422,已经被完全卸垛的指示。
此外,如所描述的,在确定由与附加物体相关联的检测到的托盘高度和与顶部托盘层422相关联的初始托盘高度限定的托盘高度差满足(例如,大于或等于)阈值托盘层高度时,附加物体可被识别为设置在顶部托盘层422下方的第二托盘层424的一部分,并且还可确定顶部托盘层已经被完全卸垛。例如,如图4所示,在确定与第四物体410相关联的第四托盘高度和与顶部托盘层422相关联的初始托盘高度之间的托盘高度差满足大于阈值托盘层高度时,第四物体410可被识别为第二托盘层424的一部分。在此类示例性情况下,示例性卸垛系统可确定第四物体410是被限定为第二托盘层424的一部分的多个物体中的第一物体,并且还可将检测到的第四托盘高度限定为与第二托盘层424相关联的初始托盘高度。如上文关于顶部托盘层422和由第一物体402限定的初始托盘高度所述,多个物体中的附加物体是否位于第二托盘层424内的确定可基于检测到的附加物体的托盘高度和由与第二托盘层424相关联的第四物体410限定的初始托盘高度的比较(例如,并且进一步,由此限定的托盘高度差相对于阈值托盘层高度的比较)。
在各种实施方案中,示例性卸垛系统还可被配置为通过确定与基于层的卸垛操作相关联的卸垛层值是否满足总托盘层卸垛值,来确定是否继续卸垛由垛400限定的一个或多个附加托盘层,诸如例如第二托盘层424。如本文所述,与基于层的卸垛操作相关联的总托盘层卸垛值可以是待经由对应于用户选择的基于层的卸垛操作(例如,如由卸垛装置作为用户输入接收的用户选择的值)卸垛的托盘层的总数量。在各种实施方案中,在确定在基于层的卸垛操作的执行期间托盘层(例如,顶部托盘层433)已经被清除时,可将由层索引数据限定的所更新的卸垛托盘层值和与基于层的卸垛操作相关联的总托盘层卸垛值进行比较。例如,在各种实施方案中,其中与基于层的卸垛操作相关联的卸垛层值被确定为满足总托盘层卸垛值(例如,卸垛层值等于总托盘层卸垛值),如本文所述,基于层的卸垛操作可结束。此外,在各种实施方案中,其中与基于层的卸垛操作相关联的卸垛层值被确定为不满足总托盘层卸垛值(例如,卸垛层值小于总托盘层卸垛值),如本文所述,示例性卸垛系统可启动垛400的第二托盘层424的卸垛。
例如,图5示出了基于层的卸垛操作的各种步骤的示例性表示,其中经由将限定相应托盘层的堆垛物体中的每个堆垛物体从垛500中移除(例如,移除到一个或多个指定位置),将垛500内限定的多个托盘层卸垛。如图所示,基于下文所述的多个托盘层的卸垛,移除和/或卸垛的物体可被表示为从例示的垛500中迭代地消失。
如图5所示,基于层的卸垛操作可包括在垛500内限定的多个托盘层的卸垛,其中在基于层的卸垛操作期间从垛500移除的多个托盘层由存储在卸垛系统中的总托盘层卸垛值限定。例如,如图所示,示例性卸垛系统可通过完全卸垛限定顶部托盘层522的多个物体的第一部分512,并且进一步,在确定与基于层的卸垛操作相关联的所更新的卸垛层值不满足与基于层的卸垛操作相关联的总托盘层卸垛值时,完全卸垛限定垛500的第二托盘层524的多个物体的第二部分514来执行基于层的卸垛操作。作为出于说明目的而提供的非限制性示例,在其中卸垛系统接收限定基于层的卸垛模式的第一用户选择和限定总托盘层卸垛值为二(2)的第二用户选择的用户输入的示例性情况下,在确定对限定垛500的顶部托盘层522的多个物体的第一部分512进行卸垛已经被完全卸垛并且通过将与基于层的卸垛操作相关联的卸垛层值增加到值一(1)来更新层索引数据时,示例性卸垛系统可将所更新的卸垛层值一(1)与总托盘层卸垛值二(2)进行比较,并且确定不满足与基于层的卸垛操作相关联的总托盘层卸垛值。因此,如图所示,示例性卸垛系统可继续完全卸垛限定垛500的第二托盘层524的多个物体的第二部分514。在此类示例性情况下,在确定对限定垛500的第二托盘层524的多个物体的第二部分514进行卸垛已经被完全卸垛时,示例性卸垛系统可通过将卸垛层值从一(1)增加到二(2)的更新值来更新与基于层的卸垛操作相关联的层索引数据。示例性卸垛系统可将所更新的卸垛层值二(2)与总托盘层卸垛值二(2)进行比较,并确定已经满足了与基于层的卸垛操作相关联的总托盘层卸垛值。如本文所描述的,此类确定可导致卸垛系统结束基于层的卸垛操作。此类示例性的基于层的卸垛操作可体现垛500的部分卸垛,其中在其执行时,第三托盘层526实现由垛500的多个物体限定的顶部托盘层。
图6A至图6C是示出了根据本公开的各种实施方案的用于机器人卸垛的示例性控制器实现的方法的示例性流程图。在各种实施方案中,参照至少图4和图5的各种实施方案中示出的堆垛物体来执行图6A至图6C中示出的用于机器人卸垛600的这些示例性流程图。在各种实施方案中,图6A至图6C中的示例性流程图中的步骤(例如,601、602、603、604、605)可循序执行(例如,步骤602在步骤603之前),而在其他实施方案中,这些步骤可同时发生(例如,步骤602与步骤603同时发生),或以实现所要结果所必需的任何次序执行。在一些方面中,步骤可由例示性系统的个别子系统执行(例如,一个步骤将由执行子系统210执行且另一步骤将由感知子系统202执行)。在其他方面中,步骤可由单个子系统执行,或由联合作用的多个子系统执行。
在至少一个实施方案中,图6A至图6C的流程图可参照图4和图5来查看,并且申请人将出于示例目的在以下公开中参照图4和图5。然而,可以理解,图6A至图6C的流程图可参照任何合适的堆垛图来查看。此外,根据一些方面,图6A至图6C的流程图可参照图1A至图3中公开的系统来查看,并且申请人可在下面的公开中参考此类系统。然而,还应当理解,图6A至图6C的流程图可参照任何合适的堆垛系统来查看。
一般来讲,如关于图6A至图6C更详细描述的,提供了一种示例性卸垛方法,用于移除(例如卸垛)布置在由多个托盘层限定的垛中的多个物体的一部分。例如,示例性卸垛方法可有利于对布置在垛中的多个堆垛物体进行部分卸垛,使得在由卸垛方法限定的卸垛操作期间,仅从垛中移除多个物体的一部分。具体地,关于图6A至6C所示的流程图,提供了一种示例性卸垛方法,该方法有利于根据基于层的卸垛操作来卸垛布置在垛中的多个堆垛物体的一部分。
至少图6A所示,根据本公开的各种方面,提供了一种用于机器人卸垛的控制器实现的方法600。在各种实施方案中,执行检测布置在多个托盘层中的多个堆垛物体的第一物体,该第一物体限定顶部托盘层的至少一部分的步骤601。在各种实施方案中,执行识别由第一物体限定的初始托盘高度的步骤602。在各种实施方案中,执行识别由多个堆垛物体中的第二物体限定的第二托盘高度的步骤603。在各种实施方案中,执行至少部分地基于第二托盘高度检测托盘高度差的步骤604。此外,在各种实施方案中,执行至少部分地基于托盘高度差与阈值托盘层高度的比较来确定顶部托盘层已经被卸垛的步骤605。
在各种实施方案中,确定顶部托盘层已经被卸垛可包括确定由第一物体限定的初始物体高度和由第二物体限定的第二物体高度之间的托盘高度差大于或等于阈值托盘层高度。例如,在各种实施方案中,阈值托盘层高度可限定对应于平均的、公共的或以其他方式适用的且预定的托盘层高度值的存储数据值,该存储数据值用作比较基准来确定第一物体和第二物体之间的托盘高度差是否足够大,以假设和/或确定第一物体和第二物体布置在不同的托盘层中。在各种实施方案中,确定由第一物体限定的初始物体高度和由第二物体限定的第二物体高度之间的托盘高度差小于阈值托盘层高度可指示第二物体和第一物体被限定在相同的托盘层内。如本文关于图4所述,在确定由第一物体限定的初始物体高度和由第二物体限定的第二物体高度之间的托盘高度差小于阈值托盘层高度时,可至少部分地重复上文所提及的步骤601-604,直到确定限定顶部托盘的物体中的每个物体稍后已经被卸垛。
根据一些方面,并且如至少图6A所示,图6A的流程图可终止于点“A”,或者点“A”可表示待执行的附加步骤的转变点。根据一些方面,点“A”可引起图6B和图6C所示的步骤。然而,应当理解,在一些方面中,点“A”可指示用于卸垛的计算机实现的方法600的结束。应当理解,如图6B和图6C所示,点“B”表示本公开的至少一些实施方案中的类似的功能。本文所述的各个步骤可以以它们在逻辑上或物理上能够被执行的任何次序来执行。
如图6B所示,在各种实施方案中,计算机实现的方法600可包括执行在确定顶部托盘层已经被卸垛时,更新与多个堆垛物体相关联的层索引数据,以反映顶部托盘层的卸垛的步骤606。在各种实施方案中,更新层索引数据可包括增加与基于层的卸垛操作相关联的卸垛层值。例如,与基于层的卸垛操作相关联的卸垛托盘层值可对应于在基于层的卸垛操作期间已经卸垛的托盘层的数量。卸垛托盘层值可增加值1,作为垛的托盘层已经从垛中卸垛的指示。此外,在各种实施方案中,计算机实现的方法600可包括执行将所更新的层索引数据与总托盘层卸垛值进行比较的步骤607。在各种实施方案中,总托盘层卸垛值可由卸垛系统接收的用户输入来限定,诸如例如在限定与示例性卸垛系统的控制子系统通信(例如,无线或有线)的用户接口的显示器处。
在各种实施方案中,计算机实现的方法600还可包括执行至少部分地基于与基于层的卸垛操作相关联的卸垛层值不满足总托盘层卸垛值的确定,启动多个托盘层中的第二托盘层的卸垛,第二托盘层至少部分地由第二物体限定的步骤608。例如,与基于层的卸垛操作相关联的卸垛托盘层值在其中卸垛托盘层值小于总托盘层卸垛值的示例性情况下可能不满足总托盘层卸垛值。
在各种实施方案中,计算机实现的方法600可包括执行其中更新层索引数据包括增加与基于层的卸垛操作相关联的卸垛层值的步骤609。例如,基于层的卸垛操作可基于与基于层的卸垛操作相关联的卸垛托盘层值等于总托盘层卸垛值的确定而结束。
如图6C所示,在各种实施方案中,计算机实现的方法600可包括执行接收用户输入,该用户输入限定了基于层的卸垛模式的用户选择的步骤610。例如,由卸垛系统接收的用户输入可由用户与显示器和/或其他接口的用户交互来限定,该显示器和/或其他接口与卸垛系统通信,并且被配置为接收对基于层的卸垛模式的第一用户选择和对作为由用户发起的基于层的卸垛操作的一部分的待卸垛的多个托盘层的第二用户选择(例如,总托盘层卸垛值)。
在各种实施方案中,计算机实现的方法600还可包括执行基于该基于托盘层的卸垛模式的用户选择,启动基于层的卸垛操作,该基于层的卸垛操作体现多个堆垛物体的部分卸垛的步骤611。在各种实施方案中,用户输入还可由对应于用户选择的待经由基于层的卸垛操作进行卸垛的托盘层数的总托盘层卸垛值来限定。
图7A至图7C是示出了根据本公开的各种实施方案的用于机器人卸垛的示例性控制器实现的方法的示例性流程图。在各种实施方案中,参照至少图4的各种实施方案中示出的堆垛物体来执行图7A至图7C中示出的用于机器人卸垛700的这些示例性流程图。在各种实施方案中,图7A至图7C中的示例性流程图中的步骤(例如,701、702、703、704、705)可循序执行(例如,步骤702在步骤703之前),而在其他实施方案中,这些步骤可同时发生(例如,步骤702与步骤703同时发生),或以实现所要结果所必需的任何次序执行。在一些方面中,步骤可由例示性系统的个别子系统执行(例如,一个步骤将由执行子系统210执行且另一步骤将由感知子系统202执行)。在其他方面中,步骤可由单个子系统执行,或由联合作用的多个子系统执行。
在至少一个实施方案中,图7A至图7C的流程图可参照图4和图5来查看,并且申请人将出于示例目的在以下公开中参照图4和图5。然而,可以理解,图7A至图7C的流程图可参照任何合适的堆垛图来查看。此外,根据一些方面,图7A至图7C的流程图可参照图1A至图3中公开的系统来查看,并且申请人可在下面的公开中参考此类系统。然而,还应当理解,图7A至图7C的流程图可参照任何合适的堆垛系统来查看。
一般来讲,如参照图7A至图7C更详细描述的,提供了一种示例性卸垛方法,用于基于限定一个或多个物体SKU的多个物体的一部分,从垛中移除(例如,卸垛)多个物体的一部分。例如,示例性卸垛方法可有利于对布置在垛中的多个堆垛物体进行部分卸垛,使得在由卸垛方法限定的卸垛操作期间,仅从垛中移除多个物体的一部分。具体地,关于图7A至7C所示的流程图,提供了一种示例性卸垛方法,该方法有利于根据基于SKU的卸垛操作来卸垛布置在垛中的多个堆垛物体的一部分。在一些实施方案中,垛中的多个物体是混合的不同库存单位(SKU),使得多个物体由多个物体SKU限定。限定多个不同SKU的垛中的多个物体可指示垛中的物体是不同类型的(例如,具有不同的大小和/或形状)。如本文所述,示例性卸垛系统可依赖于视觉系统(诸如感知子系统)来确定物体的大小和/或形状,使得卸垛系统可将物体从托盘卸垛(例如,至少部分地基于物体的大小和/或形状计算卸垛系统的姿态)。在各种实施方案中,垛中的多个物体的部分卸垛可作为基于SKU的卸垛操作来执行(例如,通过卸垛系统),其中由一个或多个不同的物体SKU限定的多个物体的一部分从垛中被移除并被重新定位到第二位置,而多个物体的第二部分保持在托盘处被堆垛。
至少图7A所示,根据本公开的各种方面,提供了一种用于机器人卸垛700的控制器实现的方法。在各种实施方案中,执行在卸垛系统处接收限定基于SKU的卸垛模式的用户选择的用户输入,其中用户输入还限定总SKU卸垛值的步骤701。例如,由卸垛系统接收的用户输入可由与显示器和/或其他接口的用户交互来限定,该显示器和/或其他接口与卸垛系统通信,并且被配置为接收对基于SKU的卸垛模式的第一用户选择和对作为由用户发起的基于SKU的卸垛操作的一部分的待卸垛的多个物体SKU的第二用户选择(例如,总SKU卸垛值)。
在各种实施方案中,执行至少部分地基于由卸垛系统捕获的并且与布置在托盘处的多个堆垛物体相关联的成像数据,计算与多个堆垛物体的至少一部分相关联的一个或多个比较尺寸度量,该多个堆垛物体由多个物体SKU限定的步骤702。在各种实施方案中,通过处理元件(诸如,但不限于,以上结合至少图1A至图3描述的示例性卸垛系统的控制子系统218的处理元件305)(例如,通过卸垛系统的处理元件)可接收由卸垛系统(例如,感知子系统)捕获的并且与设置在托盘上的多个物体相关联的成像数据。例如,成像数据可以是由感知子系统的2-D图像捕获装置捕获的2-D图像数据(类似于上文至少结合图1A所描述的那些)。另外或另选地,成像数据可以是由感知子系统的3-D图像捕获装置捕获的3-D图像数据(类似于上文至少结合图1A所描述的那些)。在一些实施方案中,2-D图像捕获装置和/或3-D图像捕获装置可位于托盘的顶部上,并且第一成像数据可提供包括待卸垛的物体的托盘的顶部可见托盘层的视图。在各种实施方案中,成像数据可限定与多个物体中的一个或多个物体相关联的基于点云的数据。
在一些实施方案中,基于成像数据,卸垛系统的处理元件可计算每个物体的长度、宽度和/或高度的像素数目(例如,在2-D图像和/或3-D图像中)。为了计算两个物体之间的比较尺寸度量,卸垛系统(例如,处理元件)可计算一个物体的长度的像素数目和另一物体的长度的像素数目之间的差,计算一个物体的宽度的像素数目和另一物体的宽度的像素数目之间的差,和/或计算一个物体的高度的像素数目和另一物体的高度的像素数目之间的差。在一些实施方案中,处理元件可计算布置在相同托盘层的各种物体之间的比较尺寸度量。
在各种实施方案中,执行至少部分地基于与多个物体的第一部分相关联的一个或多个比较尺寸度量满足比较尺寸阈值范围的确定,识别由多个物体的第一部分限定的第一物体SKU的步骤703。例如,多个物体的第一部分可至少部分地基于确定第一部分中的物体中的每个物体具有至少基本上类似的大小、形状和/或配置,使得与物体的第一部分中的每个第一部分相关联的一个或多个比较尺寸度量在比较尺寸阈值范围内,而被识别为第一物体SKU。
在各种实施方案中,执行在检测到限定第一物体SKU的多个物体的第一部分已经被卸垛时,更新与多个堆垛物体相关联的SKU索引数据,以反映第一物体SKU的卸垛的步骤704。在各种实施方案中,更新与多个堆垛物体相关联的该SKU索引数据,以反映第一物体SKU的卸垛可包括增加与该基于SKU的卸垛操作相关联的该卸垛SKU值。例如,与基于SKU的卸垛操作相关联的卸垛SKU值可对应于在基于SKU的卸垛操作期间已经卸垛的物体SKU的数量。与基于SKU的卸垛操作相关联的卸垛SKU值可增加值1,作为限定一个物体SKU的多个物体的一部分已经从垛中被卸垛的指示。此外,在各种实施方案中,执行确定与基于SKU的卸垛操作相关联的卸垛SKU值满足总SKU卸垛值的步骤705。在各种实施方案中,与基于SKU的卸垛操作相关联的总卸垛SKU值可被限定为在基于SKU的卸垛操作期间待卸垛的物体SKU的数量。如本文所述,可基于由卸垛装置接收的用户输入来建立总卸垛SKU值。
根据一些方面,并且如至少图7A所示,图7A的流程图可终止于点“A”,或点“A”可表示待执行的附加步骤的转变点。根据一些方面,点“A”可引起图7B和图7C所示的步骤。然而,应当理解,在一些方面中,点“A”可指示用于卸垛的计算机实现的方法600的结束。应当理解,如图7B和图7C所示,点“B”表示本公开的至少一些实施方案中的类似的功能。本文所述的各个步骤可以以它们在逻辑上或物理上能够被执行的任何次序来执行。
如图7B所示,在各种实施方案中,计算机实现的方法700可包括执行基于该基于SKU的卸垛模式的用户选择,启动基于SKU的卸垛操作,该基于SKU的卸垛操作体现多个堆垛物体的部分卸垛的步骤706。在各种实施方案中,示例性卸垛系统的处理元件(诸如,但不限于,上文至少结合图1A至图3描述的示例性卸垛系统的控制子系统218的处理元件305)可响应于由卸垛系统接收的体现基于SKU的卸垛模式的用户选择的用户输入,使与卸垛系统相关联的执行子系统在SKU-卸垛模式下操作。此外,在各种实施方案中,计算机实现的方法700可包括执行至少部分地基于与基于SKU的卸垛操作相关联的卸垛SKU值满足总SKU卸垛值的确定,结束基于SKU的卸垛操作的步骤707。例如,基于SKU的卸垛操作可基于与基于SKU的卸垛操作相关联的卸垛SKU值等于总SKU卸垛值的确定而结束。
如图7C所示,在各种实施方案中,计算机实现的方法700还可包括执行至少部分地基于与基于SKU的卸垛操作相关联的卸垛SKU值不满足总SKU卸垛值的确定,启动由多个物体的第一部分限定的第二物体SKU的第二卸垛的步骤708。例如,在其中卸垛SKU值小于总SKU卸垛值的示例性情况下,与基于SKU的卸垛操作相关联的卸垛SKU值可能不满足总SKU卸垛值。在各种实施方案中,计算机实现的方法700可包括执行至少部分地基于与多个物体的第二部分相关联的一个或多个比较尺寸度量满足比较尺寸阈值范围的第二确定,识别由多个物体的第二部分限定的第二物体SKU的步骤709。在各种实施方案中,计算机实现的方法700可包括执行在检测到限定第二物体SKU的多个物体的第二部分已经被卸垛时,更新与多个堆垛物体相关联的SKU索引数据,以反映第二物体SKU的卸垛的步骤710。在各种实施方案中,计算机实现的方法700还可包括执行使卸垛系统从托盘处的布置中移除限定第一物体SKU的多个物体的第一部分中的一个或多个物体,并将该一个或多个物体重新定位到第二位置的步骤711。
图8是示出了根据本公开的各种方面的作为电子数据点集800的示例性卸垛系统和示例性周围环境的电子数据点的示例性三维表示。如图8所示,根据一些方面,多个堆垛物体可被表示为物体电子数据点集802。根据一些方面,这个集可包括第一物体电子数据点804中的至少一个第一物体电子数据点,以及作为末端执行器电子数据点集806的末端执行器(例如,机器人臂115的末端执行器113)。根据一些方面,至少一个第一物体电子数据点804的竖直移除可借助于末端执行器电子数据点集806从物体电子数据点集802移除。在各种实施方案中,本文描述的物体电子数据点集可以是体素。应当理解,体素表示三维空间中的值,类似于像素如何表示二维空间中的值。应当理解,在各种实施方案中,本文描述的电子数据点集可以是像素。根据一些方面,体素可有效地表示用于卸垛的物体,并且可帮助在示例性卸垛操作的执行期间的视觉化。
此外,在各种实施方案中,机器人系统(例如,系统100A)可表示为机器人数据点集808。根据一些方面,并且如图8所示,可存在多个末端执行器电子数据点集806。根据一些方面,机器人臂(例如,系统100A的机器人臂115)可被表示为机器人臂电子数据点集810,该机器人臂电子数据点集可包括末端执行器电子数据点集806。根据一些方面,可存在用于机器人电子数据点808的多个机器人臂电子数据点集810。
本公开所属领域的技术人员将想到许多修改和其他实施方案,其具有前述描述和相关附图中呈现的教导的益处。因此,应当理解,本公开不限于所公开的特定实施方案,并且修改和其他实施方案旨在包括在所附权利要求书的范围内。尽管本文采用了特定术语,但它们仅以一般性和描述性意义使用,而不是出于限制的目的。
Claims (10)
1.一种用于机器人卸垛的控制器实现的方法,所述方法包括:
检测布置在多个托盘层中的多个堆垛物体中的第一物体,所述第一物体限定顶部托盘层的至少一部分;
识别由所述第一物体限定的初始托盘高度;
识别由所述多个堆垛物体中的第二物体限定的第二托盘高度;
至少部分地基于所述第二托盘高度检测托盘高度差;以及
至少部分地基于所述托盘高度差与阈值托盘层高度的比较来确定所述顶部托盘层已经被卸垛。
2.根据权利要求1所述的控制器实现的方法,所述方法还包括,在确定所述顶部托盘层已经被卸垛时,更新与所述多个堆垛物体相关联的层索引数据,以反映所述顶部托盘层的卸垛。
3.根据权利要求2所述的控制器实现的方法,所述方法还包括将所更新的层索引数据与总托盘层卸垛值进行比较。
4.根据权利要求3所述的控制器实现的方法,所述方法还包括,至少部分地基于与基于层的卸垛操作相关联的卸垛层值不满足所述总托盘层卸垛值的确定,启动所述多个托盘层中的第二托盘层的卸垛,所述第二托盘层至少部分地由所述第二物体限定。
5.根据权利要求3所述的控制器实现的方法,其中更新所述层索引数据包括增加与基于层的卸垛操作相关联的卸垛层值。
6.根据权利要求3所述的控制器实现的方法,所述方法还包括,至少部分地基于与所述基于层的卸垛操作相关联的所述卸垛层值满足所述总托盘层卸垛值的确定,结束所述基于层的卸垛操作。
7.根据权利要求1所述的控制器实现的方法,其中确定所述顶部托盘层已经被卸垛包括确定所述托盘高度差大于或等于所述阈值托盘层高度。
8.根据权利要求1所述的控制器实现的方法,所述方法还包括:
接收用户输入,所述用户输入限定了基于托盘层的卸垛模式的用户选择;以及
基于所述基于托盘层的卸垛模式的所述用户选择,启动基于层的卸垛操作,所述基于层的卸垛操作体现所述多个堆垛物体的部分卸垛。
9.一种用于机器人卸垛的控制器实现的方法,所述方法包括:
在卸垛系统处接收限定基于SKU的卸垛模式的用户选择的用户输入,其中所述用户输入还限定总SKU卸垛值;
至少部分地基于由所述卸垛系统捕获的并且与布置在托盘处的多个堆垛物体相关联的成像数据,计算与所述多个堆垛物体的至少一部分相关联的一个或多个比较尺寸度量,所述多个堆垛物体由多个物体SKU限定;
至少部分地基于与多个物体的第一部分相关联的所述一个或多个比较尺寸度量满足比较尺寸阈值范围的确定,识别由所述多个物体的所述第一部分限定的第一物体SKU;
在检测到限定所述第一物体SKU的所述多个物体的所述第一部分已经被卸垛时,更新与所述多个堆垛物体相关联的SKU索引数据,以反映所述第一物体SKU的卸垛;以及
确定与所述基于SKU的卸垛操作相关联的卸垛SKU值满足所述总SKU卸垛值。
10.一种设备,所述设备包括至少一个处理器和包括计算机程序代码的至少一个非暂态存储器,所述至少一个非暂态存储器和所述计算机程序代码被配置为利用所述至少一个处理器,使所述设备:
检测布置在多个托盘层中的多个堆垛物体中的第一物体,所述第一物体限定顶部托盘层的至少一部分;
识别由所述第一物体限定的初始托盘高度;
识别由所述多个堆垛物体中的第二物体限定的第二托盘高度;
至少部分地基于所述第二托盘高度检测托盘高度差;以及
至少部分地基于所述托盘高度差与阈值托盘层高度的比较来确定所述顶部托盘层已经被卸垛。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/823,440 US20240066706A1 (en) | 2022-08-30 | 2022-08-30 | Methods, systems, and computer program products for executing partial depalletization operations in robotic depalletization |
US17/823,440 | 2022-08-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117622897A true CN117622897A (zh) | 2024-03-01 |
Family
ID=87520054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311003633.3A Pending CN117622897A (zh) | 2022-08-30 | 2023-08-10 | 用于在机器人卸垛中执行部分卸垛操作的方法、系统和计算机程序产品 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240066706A1 (zh) |
EP (1) | EP4349745A1 (zh) |
CN (1) | CN117622897A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764437B2 (ja) * | 1991-06-04 | 1995-07-12 | 村田機械株式会社 | 積層荷物のピッキング方法 |
JPH11322271A (ja) * | 1998-05-12 | 1999-11-24 | Ishikawajima Harima Heavy Ind Co Ltd | トランスファークレーンのスプレッダ位置制御方法及び制御装置 |
JP6407927B2 (ja) * | 2015-11-12 | 2018-10-17 | 株式会社東芝 | 搬送装置、搬送システム、搬送方法、制御装置、およびプログラム |
US10370201B2 (en) * | 2015-11-13 | 2019-08-06 | Kabushiki Kaisha Toshiba | Transporting apparatus and transporting method |
-
2022
- 2022-08-30 US US17/823,440 patent/US20240066706A1/en active Pending
-
2023
- 2023-07-28 EP EP23188425.5A patent/EP4349745A1/en active Pending
- 2023-08-10 CN CN202311003633.3A patent/CN117622897A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240066706A1 (en) | 2024-02-29 |
EP4349745A1 (en) | 2024-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6729953B1 (ja) | エラー検出および動的パッキング機構を有するロボットシステム | |
KR102616626B1 (ko) | 실시간 배치 시뮬레이션을 사용하여 패키지를 팔레트화하기 위한 로봇 시스템 | |
US11062457B2 (en) | Robotic system with automated package registration mechanism and minimum viable region detection | |
JP6710400B1 (ja) | パッキング機構を有するロボットシステム | |
KR102400028B1 (ko) | 비순서적으로 도착하는 패키지를 처리하기 위한 로봇 시스템 | |
CN112775960A (zh) | 具有基于壁的打包机制的机器人系统及其操作方法 | |
JP2019509559A (ja) | センサ誘導式ロボットを用いたボックスの位置特定、分離、およびピッキング | |
US20220203547A1 (en) | System and method for improving automated robotic picking via pick planning and interventional assistance | |
JP2020064335A (ja) | 形状情報生成装置、制御装置、積み降ろし装置、物流システム、プログラム、及び、制御方法 | |
CN111605938B (zh) | 用于使用实时放置模拟来码垛包裹的机器人系统 | |
CN115703232A (zh) | 具有基于图像的尺寸确定机制的机器人系统及其操作方法 | |
CN116050722A (zh) | 用于将混合物体卸垛的方法、设备和计算机程序产品 | |
EP4177016A1 (en) | Methods, apparatuses and computer program products for providing a dynamic clearance system for depalletizing objects | |
EP4349745A1 (en) | Methods, systems, and computer program products for executing partial depalletization operations in robotic depalletization | |
EP4309858A1 (en) | Methods, systems, and computer program products for reachability constraint manipulation for height thresholded scenarios in robotic depalletization | |
CN115674151A (zh) | 具有基于深度的处理机制的机器人系统及其操作方法 | |
EP4173772A1 (en) | Methods, apparatuses and computer program products for depalletizing mixed objects | |
EP4410497A1 (en) | Robotic packing of unknown objects | |
TWI770726B (zh) | 搬運機控制方法、系統及非揮發性電腦可讀記錄媒體 | |
CN111559544B (zh) | 具有错误检测和动态打包机制的机器人系统 | |
US20240165828A1 (en) | Apparatus and method for horizontal unloading with automated articulated arm, multi-array gripping, and computer vision based control | |
KR20230174126A (ko) | 디팔레타이징 방법 | |
CN118528247A (zh) | 用于规划对象放置的方法、装置和计算机可读存储介质 | |
CN118613353A (zh) | 用于物体检测和拾取顺序确定的系统和方法 | |
CN115609569A (zh) | 具有基于图像的尺寸确定机制的机器人系统及其操作方法 |
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 |