Method, system, and computer program product for performing partial de-palletizing operations in robotic de-palletizing
Patent Information
- Application Number
- CN202311003633.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-08-30
- Filing Date
- 2023-08-10
- Publication Date
- 2026-09-04
- Estimated Expiration
- 2043-08-10
AI Technical Summary
[0003]许多堆垛和/或卸垛解决方案都面临技术挑战和困难
Smart Images

Figure CN117622897B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates generally to automated industrial systems, and more specifically to robots related to depalletizing. Background Technology
[0002] Stacking refers to the operation of loading or transferring objects (e.g., cartons, parcels, boxes, bags, items, etc.) into or onto a stack, such as loading or transferring objects onto pallets, surfaces, areas, locations, or similar spaces. Destacking refers to the operation of unloading or moving objects (e.g., cartons, parcels, boxes, bags, items, etc.) from a stack (such as away from pallets, surfaces, areas, locations, or similar spaces). In some cases, stacking and destacking can be assisted by robotic systems configured for stacking and / or destacking.
[0003] Many stacking and / or depalletizing solutions face technical challenges and difficulties. For example, in cases where users expect and / or request partial depalletizing of multiple objects in a stack, the multiple objects, having different sizes, shapes, and / or configurations, can generate system inaccuracies and / or malfunctions when the depalletizing system interacts with and characterizes the multiple objects defining the stack. Through effort, ingenuity, and innovation, the applicant has addressed problems related to robotic stacking and depalletizing by developing solutions embodied in this disclosure, which are described in detail below. Summary of the Invention
[0004] Generally, this disclosure provides methods, apparatus, systems, computing devices, computing entities, etc., for robotically depalletizing objects. In various embodiments, a controller implementation for robotically depalletizing objects may include a controller implementation for robotic depalletizing, the method comprising detecting a first object among a plurality of stacked objects arranged in a plurality of pallet layers, the first object defining at least a portion of a top pallet layer; identifying an initial pallet height defined by the first object; identifying a second pallet height defined by a second object among the plurality of stacked objects; detecting a pallet height difference at least partially based on the second pallet height; and determining, at least partially based on a comparison of the pallet height difference with a threshold pallet layer height, that the top pallet layer has been depalletized.
[0005] In various embodiments, the method implemented by the controller may further include updating layer index data associated with the plurality of stacked objects to reflect the destabilization of the top pallet layer when it is determined that the top pallet layer has been destabilized. In some embodiments, the method implemented by the controller may further include comparing the updated layer index data with a total pallet layer destabilization value. In some embodiments, the method implemented by the controller may further include initiating the destabilization of a second pallet layer among the plurality of pallet layers, the second pallet layer being at least partially defined by the second object, based at least in part on the fact that the destabilization layer value associated with the layer-based destabilization operation does not satisfy the determination of the total pallet layer destabilization value. In various embodiments, updating the layer index data may include increasing the destabilization layer value associated with the layer-based destabilization operation. In some embodiments, the method implemented by the controller may further include terminating the layer-based destabilization operation based at least in part on the fact that the destabilization layer value associated with the layer-based destabilization operation satisfies the determination of the total pallet layer destabilization value. In some embodiments, the total pallet layer destabilization value may be defined by user input received by the destabilization system.
[0006] In various embodiments, determining that the top pallet layer has been destacking may include determining that the pallet height difference is greater than or equal to a threshold pallet layer height. In some embodiments, the pallet height difference may be defined by the difference between an initial pallet height and a second pallet height. In various embodiments, the method implemented by the controller may further include receiving user input that defines a user selection of a pallet layer-based destacking mode; and, based on the user selection of the pallet layer-based destacking mode, initiating a layer-based destacking operation that represents the partial destacking of the plurality of stacked objects. In some embodiments, the user input may also be defined by a total pallet layer destacking value corresponding to the number of pallet layers to be destacking via the layer-based destacking operation selected by the user.
[0007] In various embodiments, the height of the second pallet can be detected at least in part based on imaging data captured by the depalletizing system. In various embodiments, the method implemented by the controller may also include causing the depalletizing system to remove a first object from the top pallet layer of objects and reposition the first object to a second location.
[0008] Various implementations relate to a method for implementing a controller for robotic depalletizing, the method comprising: receiving user input at a depalletizing system defining a user selection of a SKU-based depalletizing mode, wherein the user input also defines a total SKU depalletizing value; calculating one or more comparative size metrics associated with at least a portion of the plurality of stacked objects, defined by a plurality of object SKUs, based at least in part on imaging data captured by the depalletizing system and associated with a plurality of stacked objects arranged on a pallet; identifying a first object SKU defined by the first portion of the plurality of objects, based at least in part on a determination that the one or more comparative size metrics associated with the first portion of the plurality of objects satisfy a comparative size threshold range; updating SKU index data associated with the plurality of stacked objects to reflect the depalletizing of the first object SKU when it is detected that the first portion of the plurality of objects defining the first object SKU has been depalletized; and determining that a depalletizing SKU value associated with the SKU-based depalletizing operation satisfies the total SKU depalletizing value.
[0009] In various embodiments, the method implemented by the controller may further include initiating an SKU-based depalletizing operation based on the user's selection of the SKU-based depalletizing mode, the SKU-based depalletizing operation representing partial depalletizing of the plurality of stacked objects; and terminating the SKU-based depalletizing operation at least in part based on the determination that the depalletizing SKU value associated with the SKU-based depalletizing operation satisfies the total SKU depalletizing value. In various embodiments, updating the SKU index data associated with the plurality of stacked objects to reflect the depalletizing of the first object SKU may include increasing the depalletizing SKU value associated with the SKU-based depalletizing operation.
[0010] In various embodiments, the method implemented by the controller may further include initiating a second destabilization of a second object SKU defined by a first portion of the plurality of objects, based at least in part on a determination that the destabilization SKU value associated with the SKU-based destabilization operation does not meet the total SKU destabilization value. In some embodiments, the method implemented by the controller may further include identifying a second object SKU defined by the second portion of the plurality of objects, based at least in part on a second determination that one or more comparative size metrics associated with the second portion of the plurality of objects meet a comparative size threshold range; and updating the SKU index data associated with the plurality of stacked objects to reflect the destabilization of the second object SKU when it is detected that the second portion of the plurality of objects defining the second object SKU has been destabilized. In some embodiments, the method implemented by the controller may further include causing the destabilization system to remove one or more of the first portions of the plurality of objects defining the first object SKU from the arrangement at the pallet and repositioning the one or more objects to a second location.
[0011] Various embodiments relate to an apparatus including at least one processor and at least one non-transitory memory including computer program code, the at least one non-transitory memory and the computer program code being configured to utilize the at least one processor to cause the apparatus to detect a first object among a plurality of stacked objects arranged in a plurality of pallet layers, the first object defining at least a portion of a top pallet layer; identify an initial pallet height defined by the first object; identify a second pallet height defined by a second object among the plurality of stacked objects; detect a pallet height difference at least in part based on the second pallet height; and determine, at least in part based on a comparison of the pallet height difference with a threshold pallet layer height, that the top pallet layer has been destacking. Attached Figure Description
[0012] The description of the exemplary embodiments can be read in conjunction with the accompanying drawings. It will be understood that, for the sake of simplicity and clarity, the elements shown in the drawings are not necessarily drawn to scale, but are intended to be used in conjunction with the explanations in the following detailed description.
[0013] Figure 1A This is an exemplary perspective view of an exemplary depalletizing system that can be used according to various embodiments of this disclosure;
[0014] Figure 1B This is an example diagram illustrating an exemplary depalletizing system that can be used according to various embodiments of the present disclosure;
[0015] Figure 2 This is an exemplary schematic diagram of exemplary components in an exemplary depalletizing system according to various embodiments of the present disclosure;
[0016] Figure 3 This is a schematic diagram of exemplary components in an exemplary control subsystem according to various embodiments of the present disclosure;
[0017] Figure 4 A diagram is shown illustrating exemplary tray layers on an exemplary tray according to various embodiments of the present disclosure;
[0018] Figure 5 A diagram is shown illustrating exemplary tray layers on an exemplary tray according to various embodiments of the present disclosure;
[0019] Figures 6A to 6C This is an exemplary flowchart illustrating an exemplary computer implementation of a layer-based depalletizing method according to various embodiments of the present disclosure;
[0020] Figures 7A to 7C This is an exemplary flowchart illustrating an exemplary computer implementation of a method for SKU-based depalletizing according to various embodiments of the present disclosure; and
[0021] Figure 8An exemplary three-dimensional representation of electronic data points of an exemplary depalletizing system and an exemplary surrounding environment according to various embodiments of the present disclosure is shown. Detailed Implementation
[0022] Some embodiments of the invention will be described in more detail below with reference to the accompanying drawings, which illustrate some embodiments of the invention. Reference numerals denote elements throughout the drawings. Various embodiments of the invention may be embodied in different forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure may satisfy applicable legal requirements.
[0023] As used herein, unless otherwise specified, the terms “about,” “generally,” and “substantially” mean within the manufacturing and / or engineering tolerances of the corresponding materials and / or components. The use of such terms encompasses and is intended to allow for the specific values listed in the independent claims. Therefore, the use of any such foregoing terms or similar interchangeable terms should not be construed as limiting the substance and scope of embodiments of the invention. As used in the specification and appended claims, unless otherwise stated, the singular forms “a,” “an,” and “the” include plural referents. When used in the specification, the terms “includes and / or including” specify the presence of the stated features, elements, and / or components; they do not exclude the presence or addition of one or more other features, steps, operations, elements, components, and / or combinations thereof.
[0024] The aspects of this disclosure can be implemented as computer program products including articles of manufacture. Such computer program products may include one or more software components, including, for example, applications, software objects, methods, data structures, etc. The software components may be encoded in any of a variety of programming languages. Exemplary programming languages may be low-level programming languages, such as assembly languages associated with a specific hardware architecture and / or operating system platform / system.
[0025] Other examples of programming languages include, but are not limited to, macro languages, shell or command languages, job control languages, scripting languages, database query or search languages, and / or report writing languages. In one or more exemplary embodiments, a software component including instructions from one of the foregoing examples of a programming language may be directly executed by an operating system or other software component without first being converted to another form. The software component may be stored as a file or other data storage method. Software components of similar type or related functionality may be stored together, for example, in a specific directory, folder, or library. The software component may be static (e.g., pre-built or fixed) or dynamic (e.g., created or modified at runtime).
[0026] Alternatively or concurrently, aspects of this disclosure may be implemented as a non-transitory computer-readable storage medium storing applications, programs, program modules, scripts, source code, program code, object code, bytecode, compiled code, interpreted code, machine code, executable instructions, etc. (also referred to herein as executable instructions, instructions for execution, computer program product, program code, and / or similar terms used interchangeably herein). Such non-transitory computer-readable storage media include all computer-readable media (including volatile and non-volatile media).
[0027] In one aspect, non-volatile computer-readable storage devices may include floppy disks, floppy hard disks, hard disks, solid-state storage (SSS) (e.g., solid-state drives (SSDs), solid-state cards (SSCs), solid-state modules (SSMs), enterprise flash drives, magnetic tapes, etc.). Non-volatile computer-readable storage media may also include optical disc read-only memories (CD-ROMs), rewritable optical discs (CD-RWs), digital versatile discs (DVDs), Blu-ray discs (BDs), and any other non-transitory optical media. Such non-volatile computer-readable storage media may also include read-only memories (ROMs), programmable read-only memories (PROMs), erasable programmable read-only memories (EPROMs), and electrically erasable programmable read-only memories (EEPROMs). EEPROM, flash memory (e.g., serial, NAND, NOR, etc.), multimedia memory cards (MMC), secure digital storage (SD) cards, smart media cards, compact flash (CF) cards, Memory Stick, etc. In addition, non-volatile computer-readable storage media may also include conductive bridged random access memory (CBRAM), phase-change random access memory (PRAM), ferroelectric random access memory (FeRAM), non-volatile random access memory (NVRAM), magnetoresistive random access memory (MRAM), resistive random access memory (RRAM), silicon-oxide-nitride-oxide-silicon memory (SONOS), floating junction gate random access memory (FJG RAM), millipede memory, racetrack memory, etc.
[0028] In one aspect, volatile computer-readable storage media may include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), fast page-mode dynamic random access memory (FPM DRAM), extended data output dynamic random access memory (EDO DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), double data rate type 2 synchronous dynamic random access memory (DDR2 SDRAM), double data rate type 3 synchronous dynamic random access memory (DDR3 SDRAM), Rambus dynamic random access memory (RDRAM), dual transistor RAM (TTRAM), thyristor RAM (T-RAM), zero capacitor (Z-RAM), Rambus embedded memory module (RIMM), dual in-line memory module (DIMM), single in-line memory module (SIMM), video random access memory (VRAM), cache memory (including various levels), flash memory, register memory, etc. It will be understood that, where an aspect is described as using a computer-readable storage medium, other types of computer-readable storage media may be used in place of the aforementioned computer-readable storage media, or other than the aforementioned computer-readable storage media.
[0029] It should be understood that various aspects of this disclosure can also be implemented as methods, apparatus, systems, computing devices, computing entities, etc. Therefore, aspects of this disclosure can take the form of data structures, apparatus, systems, computing devices, computing entities, etc., that execute similar execution instructions stored on a computer-readable storage medium to perform certain steps or operations. Consequently, aspects of this disclosure can also take the form of entirely hardware aspects, entirely computer program product aspects, and / or aspects including combinations of computer program products and hardware that perform certain steps or operations.
[0030] The aspects of this disclosure are described below with reference to block diagrams and flowcharts. Therefore, it should be understood that each block in the block diagrams and flowcharts can be implemented as a computer program product, a complete hardware aspect, a combination of hardware and computer program products, and / or a device, system, computing device, computing entity, etc., implementing instructions, operations, steps, and interchangeable similar terms (e.g., executable instructions, instructions for execution, program code, etc.) for execution on a computer-readable storage medium. For example, code retrieval, loading, and execution can be performed sequentially such that one instruction is retrieved, loaded, and executed at a time. In some embodiments, retrieval, loading, and / or execution can be performed in parallel such that multiple instructions are retrieved, loaded, and / or executed together. Thus, such aspects can produce machines with specific configurations for performing the steps or operations specified in the block diagrams and flowcharts. Therefore, the block diagrams and flowcharts support various combinations of aspects for performing specified instructions, operations, or steps.
[0031] As used herein, the phrases “in an embodiment,” “in one embodiment,” “according to one embodiment,” etc., generally mean that the specific feature, structure, or characteristic following the phrase may be included in at least one embodiment of this disclosure, and may be included in more than one embodiment of this disclosure.
[0032] The accompanying drawings do not limit the scope of embodiments of the invention or the appended claims. Aspects of exemplary embodiments are described below with reference to exemplary applications used for illustration. It should be understood that specific details, relationships, and methods are set forth to provide a complete understanding of the exemplary embodiments. Those skilled in the art will recognize that these exemplary embodiments can be practiced without one or more specific details and / or in other ways.
[0033] In environments such as distribution centers and warehouses, objects can be transported on pallets, and one or more robotic depalletizing devices can be used to depalletize objects (e.g., boxes, items, products) from pallets. In some embodiments, at least some objects in a pallet have mixed, different SKUs, which indicate that the objects in the pallet have different types (e.g., different sizes and / or shapes). In such examples, exemplary depalletizing systems may rely on vision systems (such as perception subsystems) to determine the size and / or shape of objects, such that the depalletizing device can depalletize objects from pallets (e.g., calculating the orientation of the depalletizing device based at least in part on the size and / or shape of the objects). In the various embodiments described herein, exemplary depalletizing systems may be configured to perform partial depalletizing operations associated with objects in the pallet by operating in either a layer-based depalletizing mode or an SKU-based depalletizing mode, such as, for example, depalletizing selected portions of a plurality of objects arranged in the pallet in response to user-driven instruction input. The present invention includes methods for performing both layer-based and SKU-based depalletizing operations, which facilitate partial depalletizing in a mixed SKU environment with at least substantially minimized operational error rates according to user-specific commands.
[0034] Figure 1A This is an exemplary perspective view of an exemplary depalletizing system that can be used according to various aspects of this disclosure. It should be understood that system 100A can also be used as a stacking system. In this embodiment, the picking order is the reverse of the depalletizing embodiment discussed herein, and the system plans and stacks objects into pallets with minimum volume according to the reverse order of the order described herein with respect to depalletizing.
[0035] exist Figure 1A In the example shown, the exemplary depalletizing system 100A includes a depalletizing device 103. In some aspects, the depalletizing device 103 is part of an execution subsystem of the depalletizing system 100A.
[0036] exist Figure 1A In the example shown, the depalletizing device 103 may take the form of robotic depalletizing. For example, the depalletizing device 103 may include an end effector 113 and a robotic arm 115 connected to the end effector 113. In some aspects, the depalletizing device 103 may include one or more controllers, sensors, and / or actuators to arouse and control the operation of the end effector 113 and / or the robotic arm 115.
[0037] In some aspects, the depalletizing device 103 is located near the pallet 101. In some aspects, one or more gripping postures and gripping points are calculated for the depalletizing device 103 in order to depalletize objects from the pallet 101. For example, the robotic arm 115 can move and / or rotate such that the end effector 113 can be positioned on the objects on the pallet 101. In some aspects, the end effector 113 can retrieve and / or grip the objects (e.g., by a suction mechanism, etc.), and the robotic arm 115 can move to lift the objects to a lifting height (and the height of the end effector 113 is referred to as the gripping posture height). After lifting the objects, the robotic arm 115 can move and / or rotate such that the objects gripped by the end effector 113 are positioned above the conveyor 111. Subsequently, the end effector 113 releases the objects onto one or more storage locations (which in some aspects is the conveyor 111), thereby completing the operation of depalletizing objects from the pallet 101 onto the conveyor 111. It should be understood that one or more storage locations may include any number of locations deemed suitable for storing objects, including but not limited to warehouse floors, truck or trailer beds, cargo or shipping containers, or rail freight transport. It should also be understood that, depending on some aspects, one or more storage locations (e.g., conveyor 111) may include another pallet or loading area, such as (but not limited to) when system 100A is used as a stacking system.
[0038] As described above, the depalletizing system may rely on the sensing subsystem 202 to capture object-related data, enabling the determination of the depalletizing device's gripping posture and gripping point. For example, in various embodiments, as further described herein, the sensing subsystem of an exemplary depalletizing system can be used to determine a threshold pallet height value, such as, for example, based at least in part on a detected maximum height defined by one of the stacked objects arranged on the pallet. Referring now to... Figure 1A As shown in the example, the example depalletizing system 100A includes a vision structure 105. In some aspects, the vision structure 105 is part of the sensing subsystem of the depalletizing system 100A.
[0039] In some aspects, the visual structure 105 is located near the tray 101. For example, the visual structure 105 includes a vertical beam 109 connected to the horizontal beam 107. In some aspects, one or more image capturing devices may be disposed on the horizontal beam 107 and / or the vertical beam 109.
[0040] For example, a 2-D image capturing device may be positioned near the end of the horizontal beam 107 and facing the tray 101 to capture a 2-D image, which is a top view of the tray 101 (e.g., showing an object on the top tray layer). Examples of 2-D image capturing devices may include, but are not limited to, cameras, 2-D image sensors, etc. In some aspects, the 2-D image can be used to determine the width and / or length of an object.
[0041] Alternatively or additionally, a 3D image capture device may be positioned on the horizontal beam 107 and facing the tray 101 to capture a 3D image of the tray 101. In some aspects, the 3D image capture device may be movably positioned along the vertical beam 109 and / or the horizontal beam 107. Examples of the 3D image capture device may include, but are not limited to, time-of-flight image sensors, stereoscopic imaging sensors, etc. In some aspects, 2D images may be used to determine the width and / or height of an object.
[0042] In some aspects, the height sensing device may be located at the end of the conveyor 111 near the pallet 101. In some aspects, the height sensing device may be part of the depalletizing system 100A and configured to sense height data, as described in detail herein. Examples of height sensing devices include, but are not limited to, LiDAR sensors. The system may also use a horizontal position sensing device, or a single device may perform both horizontal and height sensing functions using the hardware and / or software described herein.
[0043] Figure 1B This is an example diagram illustrating an exemplary depalletizing system 100B that can be used according to various aspects of this disclosure.
[0044] exist Figure 1B In the example shown, the exemplary depalletizing system 100B includes a depalletizing device 131, which includes an end effector 133 connected to a robotic arm 135. In some aspects, the end effector 133 can depalletize objects from a pallet 137 onto a conveyor 139, similar to the above-described combination. Figure 1A As described.
[0045] Figure 1B This is an example diagram illustrating an exemplary depalletizing system that can be used according to various aspects of this disclosure.
[0046] exist Figure 1B In the example shown, the exemplary depalletizing system 100B includes a depalletizing device 131, which includes an end effector 133 connected to a robotic arm 135. In some aspects, the end effector 133 can depalletize objects from a pallet 137 onto a conveyor 139, similar to the above-described combination. Figure 1A As described.
[0047] Figure 2 This is an exemplary schematic diagram of an exemplary component in an exemplary depalletizing system according to various aspects of this disclosure.
[0048] Specifically, Figure 2 Example data communication between various components of the example depalletizing system 200 is shown.
[0049] exist Figure 2 In the example shown, the exemplary depalletizing system 200 includes a sensing subsystem 202, an execution subsystem 210, and a control subsystem 218 that can exchange data and / or information via a system bus 216.
[0050] In some aspects, the sensing subsystem may generate imaging data and transmit the imaging data to the control subsystem 218 via system bus 216. Specifically, the sensing subsystem 202 may include a 2-D image capture device 204 (similar to at least combined with the above description). Figure 1A The described 2D image capture device. In some aspects, the 2D image capture device 204 may generate 2D image data and transmit the 2D image data to the control subsystem 218 via system bus 216. Alternatively, the sensing subsystem 202 may include a 3D image capture device 206 (similar to at least combined with the above description). Figure 1A (The described 3-D image capture device). In some aspects, the 3-D image capture device 206 can generate 3-D image data and transmit the 3-D image data to the control subsystem 218 via the system bus 216.
[0051] In some respects, the control subsystem 218 may send control commands to the execution subsystem 210 via the system bus 216 in order to control the operation of the devices associated with the execution subsystem 210.
[0052] In some aspects, the execution subsystem 210 may include a height sensing device 208. In some aspects, the height sensing device 208 may generate height data and send the height data to the control subsystem 218.
[0053] For example, the execution subsystem 210 may include a depalletizing device 212. In such an example, the control subsystem 218 may send control commands to the depalletizing device 212 to control the operation of the depalletizing device 212 and / or to cause the depalletizing device 212 to operate in a certain manner, as described in detail herein.
[0054] Alternatively or concurrently, the execution subsystem 210 may include a conveyor 214. In such an example, the control subsystem 218 may send control commands to the conveyor 214 to control the operation of the conveyor 214 and / or to make the conveyor 214 operate in a certain manner.
[0055] In some respects, system bus 216 may take many forms. For example, system bus 216 may be implemented using wired data transmission protocols such as Fiber Distributed Data Interface (FDDI), Digital Subscriber Line (DSL), Ethernet, Asynchronous Transfer Mode (ATM), Frame Repeater, Cable Service Interface Data Specification (DOCSIS), or any other wired transmission protocol. Similarly, system bus 216 can be configured to communicate via a wireless external communication network using any of a variety of protocols, such as General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 1900 (CDMA1900), CDMA1900 1X (1xRTT), Wideband Code Division Multiple Access (WCDMA), Global System for Mobile Communications (GSM), Enhanced Data Rate Evolution of GSM (EDGE), Time Division Synchronous Code Division Multiple Access (TD-SCDMA), Network Standard (LTE), Evolved Universal Terrestrial Radio Access Network (E-UTRAN), Evolved Data Optimization (EVDO), High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), Wi-Fi Direct, 802.16 (WiMAX), Ultra Wideband (UWB), Infrared (IR) protocol, Near Field Communication (NFC) protocol, Wibree, Bluetooth protocol, Universal Serial Bus (USB) protocol, and / or any other wireless protocol. Control subsystem 218 may use such protocols and standards to communicate using the following: Border Gateway Protocol (BGP), Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS), File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), TLS / SSL / secure HTTP, Interactive Mail Access Protocol (IMAP), Network Time Protocol (NTP), Simple Mail Transfer Protocol (SMTP), Remote Login, Transport Layer Security (TLS), Secure Sockets Layer (SSL), Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Datagram Congestion Control Protocol (DCCP), Stream Control Transmission Protocol (SCTP), Hypertext Markup Language (HTML), etc.
[0056] Figure 3 This is a schematic diagram of exemplary components in an exemplary control subsystem according to various aspects of this disclosure.
[0057] like Figure 3As shown, in one aspect, the control subsystem 218 may include or communicate with one or more processing elements (e.g., processing element 305) (also referred to as processor, processing circuitry, and / or similar terms used interchangeably herein) that communicate with other elements within the control subsystem 218 via, for example, a bus or network connection. It should be understood that the processing element 305 can be embodied in a variety of different ways. For example, the processing element 305 may be embodied as one or more complex programmable logic devices (CPLDs), microprocessors, multi-core processors, coprocessor entities, application-specific instruction set processors (ASIPs), and / or controllers. Furthermore, the processing element 305 may be embodied as one or more other processing devices or circuits. The term "circuit" can refer to a purely hardware aspect or a combination of hardware and computer program products. Thus, the processing element 305 may be embodied as an integrated circuit, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable logic array (PLA), a hardware accelerator, other circuitry, etc. Therefore, it should be understood that the processing element 305 may be configured for a particular purpose or configured to execute instructions stored in volatile or non-volatile media or otherwise accessible by the processing element 305. Thus, whether configured by hardware, a computer program product, or a combination thereof, when configured accordingly, the processing element 305 may be able to perform steps or operations according to aspects of this disclosure.
[0058] In one aspect, the control subsystem 218 may also include or communicate with a volatile medium (also referred to as a volatile storage device, memory, memory storage device, memory circuitry, and / or similar terms used interchangeably herein). In one aspect, the volatile storage device or memory may also include one or more memory elements 306 as described above, such as RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, RIMM, DIMM, SIMM, VRAM, cache memory, register memory, etc. As will be appreciated, the volatile storage device or memory element 306 can be used to store, for example, memory... Figure 3The processing element 305 shown executes at least a portion of a database, database example, database management system entity, data, application, program, program module, script, source code, object code, bytecode, compiled code, interpreted code, machine code, executable instructions, etc. Therefore, the database, database example, database management system entity, data, application, program, program module, script, source code, object code, bytecode, compiled code, interpreted code, machine code, executable instructions, etc., can be used to control certain aspects of the operation of the control subsystem 218 with the help of the processing element 305 and the operating system.
[0059] In one aspect, the control subsystem 218 may also include or communicate with a nonvolatile medium (also referred to as a nonvolatile storage device, memory, memory storage device, memory circuit, and / or similar terms used interchangeably herein). In one aspect, the nonvolatile storage device or memory may include one or more nonvolatile storage devices or storage media 307 as described above, such as hard disks, ROMs, PROMs, EPROMs, EEPROMs, flash memory, MMC, SD memory cards, memory sticks, CBRAMs, PRAMs, FeRAMs, RRAMs, SONOS, racetrack memory, etc. As will be appreciated, the nonvolatile storage device or storage media 307 may store databases, database instances, database management system entities, data, applications, programs, program modules, scripts, source code, object code, bytecode, compiled code, interpreted code, machine code, executable instructions, etc. The terms database, database instance, database management system entity, and / or similar terms are used interchangeably herein and may generally refer to a structured or unstructured collection of information / data stored in a computer-readable storage medium.
[0060] Storage medium 307 may also be embodied as one or more data storage devices, one or more individual database servers, or a combination of data storage devices and individual database servers. Furthermore, in some aspects, storage medium 307 may be embodied as a distributed repository, such that some of the stored information / data is centrally stored in one location within the system, while other information / data is stored in one or more remote locations. Alternatively, in some aspects, the distributed repository may be distributed across only multiple remote storage locations. Examples of aspects envisioned herein would include a cloud data storage system maintained by a third-party provider, where some or all of the information / data required to restore system operation may be stored. Furthermore, the information / data required to restore system operation may also be partially stored in the cloud data storage system and partially stored in a locally maintained data storage system. More specifically, storage medium 307 may include one or more data storage areas configured to store information / data available in some aspects.
[0061] According to some aspects, and such as at least Figure 2 and Figure 3 As shown, the depalletizing system 200 may be a computer program product 218, which includes at least one non-transitory computer-readable storage medium 307 storing a computer-readable program code portion. The computer-readable program code portion may include an executable portion. The executable portion may be configured to detect items arranged in multiple pallet layers (e.g., Figure 4 Multiple stacked objects (e.g., in pallet layers 422, 424, etc.) in the pallet layer Figure 4 The first object in the stack 400 (e.g., objects 402, 404, 406, 410, 412, 414, etc.) Figure 4 In the stack 400, object 402), the first object (e.g., object 402) defines at least a portion of the top tray layer (e.g., top tray layer 422). (Ref.) Figure 4 and Figure 5And the exemplary embodiments shown therein, but it should be understood that the depalletizing system 200 can be associated with any suitable number of stacked objects. In various embodiments, the executable portion may also be configured to identify an initial pallet height defined by a first object (e.g., object 402), and also to identify a second pallet height defined by a second object among the plurality of objects defining the stack. In various embodiments, the executable portion may also be configured to detect a pallet height difference at least in part based on the second pallet height. Furthermore, in various embodiments, the executable portion may also be configured to determine, at least in part based on a comparison of the pallet height difference with a threshold pallet layer height, that the top pallet layer (e.g., top pallet layer 422) has been depalletized. In various embodiments, the executable portion may also be configured to cause the depalletizing system to remove the first object among the plurality of objects from the top pallet layer and reposition the first object to a second location.
[0062] Furthermore, in various implementations, the executable portion can be configured to operate within the depalletizing system (e.g., refer to...). Figures 1A to 3 The exemplary depalletizing system 100A described herein receives user input that defines a user selection of a depalletizing mode based on SKUs. In various embodiments, as described herein, the user input may also define a total SKU depalletizing value. An executable portion may be configured to store depalletizing data, such as, for example, the total SKU depalletizing value and / or the total pallet layer depalletizing value, on one or more storage media. Furthermore, in various embodiments, the executable portion may be configured to be at least partially based on data captured by the depalletizing system and arranged on pallets (e.g., Figure 4 Imaging data associated with multiple stacked objects (e.g., objects 402, 404, 406, 410, 412, 414, etc. in stack 400) at pallet 408 is used to calculate one or more comparative size metrics associated with at least a portion of the multiple stacked objects. For example, as described herein, the multiple stacked objects may be defined by multiple object SKUs. In various embodiments, the executable portion may be configured to identify a first object SKU defined by the first portion of the multiple objects, at least in part, based on the determination that one or more comparative size metrics associated with the first portion of the multiple objects satisfy a comparative size threshold range. In various embodiments, the executable portion may also be configured to update SKU index data associated with the multiple stacked objects to reflect the destabilization of the first object SKU when it is detected that the first portion of the multiple objects defining the first object SKU has been destabilized. Furthermore, in various embodiments, the executable portion may also be configured to determine that the destabilized SKU value associated with the SKU-based destabilization operation satisfies the total SKU destabilization value.
[0063] In one or more embodiments, the executable portion of the computer-readable program code is further configured to represent a plurality of stacked objects (e.g., objects 402, 404, 406, 410, 412, 414, etc.) as an object electronic data point set, the object electronic data point set including a first object electronic data point set associated with a first object in the first group, and to represent an end effector (e.g., end effector 113 of system 100A) as an end effector electronic data point set. The executable portion may also be configured to simulate the removal of a first object from a plurality of objects arranged in a stack by means of the end effector electronic data point set, by simulating the removal of a first object electronic data point set associated with the first object from the object electronic data point set. In various embodiments, the executable portion of the computer-readable program code is further configured to determine a pallet height associated with each of the plurality of stacked objects based on a corresponding object electronic data point set associated with each of the plurality of objects. Furthermore, in various embodiments, the executable portion of the computer-readable program code is configured to represent, characterize, define, and / or otherwise identify each pallet layer defined by a plurality of objects based on a set of object electronic data points. For example, in various embodiments, the executable portion of the computer-readable program code is configured to identify each of a plurality of objects having a pallet height within a predetermined threshold layer height range of an initial pallet height associated with a portion of the same pallet layer within the stack.
[0064] As noted, in one aspect, the control subsystem 218 may also include one or more network and / or communication interfaces 308 for communicating with various computing entities, such as by delivering data, content, information, and / or similar terms used interchangeably herein, that can be transmitted, received, operated, processed, displayed, stored, etc. Such communication may be performed using wired data transmission protocols, such as Fiber Distributed Data Interface (FDDI), Digital Subscriber Line (DSL), Ethernet, Asynchronous Transfer Mode (ATM), Frame Repeater, Cable Service Interface Data Specification (DOCSIS), or any other wired transmission protocol. Similarly, the control subsystem 218 can be configured to communicate via a wireless external communication network using any of a variety of protocols, such as General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 1900 (CDMA1900), CDMA1900 1X (1xRTT), Wideband Code Division Multiple Access (WCDMA), Global System for Mobile Communications (GSM), Enhanced Data Rate Evolution of GSM (EDGE), Time Division Synchronous Code Division Multiple Access (TD-SCDMA), Network Standard (LTE), Evolved Universal Terrestrial Radio Access Network (E-UTRAN), Evolved Data Optimization (EVDO), High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), Wi-Fi Direct, 802.16 (WiMAX), Ultra Wideband (UWB), Infrared (IR) protocol, Near Field Communication (NFC) protocol, Wibree, Bluetooth protocol, Universal Serial Bus (USB) protocol, and / or any other wireless protocol. Control subsystem 218 may use such protocols and standards to communicate using the following: Border Gateway Protocol (BGP), Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS), File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), TLS / SSL / secure HTTP, Interactive Mail Access Protocol (IMAP), Network Time Protocol (NTP), Simple Mail Transfer Protocol (SMTP), Remote Login, Transport Layer Security (TLS), Secure Sockets Layer (SSL), Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Datagram Congestion Control Protocol (DCCP), Stream Control Transmission Protocol (SCTP), Hypertext Markup Language (HTML), etc.
[0065] Figure 4 and Figure 5 This is an example diagram illustrating exemplary depalletizing of objects on an exemplary pallet according to various aspects of this disclosure. In the various embodiments disclosed herein, the robotic systems, motion planning systems, vision systems, and other hardware and / or software systems described herein can be used according to… Figure 4 and / or Figure 5 The process shown is used to unload various objects.
[0066] like Figure 4 As shown, there is a stack 400 containing stacked objects (e.g., packages) configured to be partially destabilized via a layer-based destabilization operation performed by a destabilization system configured to execute one or more algorithms. In some aspects, one or more destabilization operations (e.g., via a destabilization system) may be performed to destabilize a portion (e.g., less than all of the objects) of a stack 400. For example, there may be multiple stacked objects 402, 404, 406 to be removed on pallet 408. Figure 4 As shown, stack 400 may be defined by multiple stacked objects arranged in multiple pallet layers (e.g., top pallet layer 422, second pallet layer 424). For example, as shown, the multiple layers may include a top pallet layer 422 and one or more additional pallet layers disposed below it, each of these additional pallet layers being defined by one or more corresponding objects of a plurality of objects arranged at least partially horizontally relative to each other. In one or more embodiments, "front side" may be defined as a first side of the stacked object closest to the direction nearest to the designated location for storing the object and / or the first side being oriented in that direction. "Rear side" may be defined as a second side of the stacked object opposite the front side. In some aspects, pallet 408 may be defined as any location containing a stack of objects (such as stack 400) for unstacking, regardless of the structure or composition of pallet 408. Figure 4 Exemplary representations of various steps in a layer-based destacking operation are shown, wherein a top pallet layer defined by a portion of a plurality of stacked objects is destacking, as described herein, by removing the object defining the top pallet layer from the stack 400 (e.g., removing it to one or more designated locations).
[0067] In various embodiments, one or more pallet layers of a plurality of pallet layers defined by a plurality of objects of stack 400 may be destabilized by performing a layer-based destabilization operation. For example, in various embodiments, as described herein, stack 400 may be partially destabilized by removing less than all of the pallet layers of a plurality of objects defined by stack 400. In the depicted embodiments, the robotic system performing the layer-based destabilization operation destabilizes objects in a horizontal layer (e.g., working from front to back). In some aspects, the horizontal layer may be labeled, for example, “top pallet layer” 422 (e.g., the layer in which the first object 402, the second object 404, and the third object 406 are placed).
[0068] In various implementation schemes, such as Figure 4As shown, a first object 402 defining a portion of the top pallet layer 422 can be detected (e.g., by the depalletizing system 200). For example, as described herein, one or more subsystems of the exemplary depalletizing system (e.g., a sensing subsystem and / or an execution subsystem) can identify the initial pallet height defined by the first object 402 based on imaging data captured by the depalletizing system. For example, the depalletizing system can identify the first object 402 as the first (e.g., unique) object detected among a plurality of objects defined by the stack 400, and can associate the initial pallet height with the top pallet layer 422. In various embodiments, the exemplary depalletizing system can be configured to perform a depalletizing operation (e.g., a layer-based depalletizing operation) by first manipulating an end effector, as described herein, to remove the first object 402 from the top pallet layer 422 of the stack 400. Furthermore, the depalletizing system can detect a second object 404 among a plurality of objects of the stack 400 arranged at pallet 408, and can identify a second pallet height defined by the second object 404. In various embodiments, the exemplary depalletizing system may detect pallet height differences at least in part based on a comparison of the height of a second object defined by a second object 404 with the initial height of an object defined by a first object 402. In various embodiments, as described herein, the exemplary depalletizing system may also be configured to determine whether the second object 404 defines a portion of the top pallet layer 422 (or alternatively, a portion of a second pallet layer 424 disposed below the top pallet layer 422) based on a comparison of the detected pallet height difference (e.g., defined by the first object 402 and the second object 404) and a threshold pallet layer height. In some aspects, the horizontal pallet layer can be determined by determining the coordinates of the top surface of the object (e.g., the first object 402) and the maximum height of each object being depalletized (or stacked according to some aspects). In various embodiments, to identify whether the pallet height difference defined by the various objects is above or below the threshold pallet layer height, the exemplary system may image the stack of objects and calculate the height associated with at least a portion of the objects. In some aspects, the system operator may estimate the height of the boxes by means of a measuring device (e.g., a laser with measuring capabilities). For example, the vision subsystem can identify one or more candidate objects to be picked up based on the hierarchical and selection algorithms discussed herein. The system can then use a measurement of the height of the bottom of the box (e.g., using the laser measurement device described above), such as for threshold determination purposes, to detect the tray height of the object. The calculated height can be a single tray height value based on one or more landmarks associated with the object. For example, in various embodiments, the height calculated for a given object can be calculated as top, bottom, center, gripping position, or other location associated with the object, as determined by one or more image processing algorithms (e.g., machine learning image recognition models) and / or motion planning algorithms performed by the system.For example, any object with top surface coordinates within a maximum height of the highest measured object can be identified as a single pallet layer, from which the algorithm can proceed, as described herein. The maximum height can be predetermined, for example, by recording the largest package used in the stacking system.
[0069] For example, to identify whether the top pallet layer 422 has been fully destacking, an exemplary destacking system may compare a second pallet height defined by a second object 404 with an initial pallet height defined by a first object 402 and associated with the top pallet layer. For example, such a comparison may include detecting a pallet height difference defined by the difference between the second pallet height defined by the second object 404 and the initial pallet height defined by the first object 402. Furthermore, the exemplary destacking system may compare the detected pallet height difference with a threshold pallet layer height, which may be a predetermined value, as described herein. In various embodiments, as further described herein, the determination that the pallet height difference defined by the second pallet height and the initial pallet height is greater than or equal to the threshold pallet layer height may indicate that the second object defines a portion of a second pallet layer 424 that is different from the top pallet layer 422. Furthermore, in various embodiments, such as... Figure 4 In the exemplary embodiment shown, the determination that the pallet height difference defined by a second pallet height (e.g., associated with the second object 404) and an initial pallet height (associated with the first object) is less than a threshold pallet layer height indicates that the second object 404 and the first object 402 are arranged within the same top pallet layer 422. As shown, for one or more additional objects, the pallet height defined by other objects within the stack 400 can be repeatedly detected, and the pallet height difference defined by the respective pallet height and the initial pallet height (e.g., associated with the first object 402) relative to the threshold pallet layer height can be compared until the detected pallet height difference defined between one of the multiple objects and the initial pallet height is determined to be greater than the threshold pallet layer height. For example, Figure 4 A top pallet layer 422 including a third object 406 is shown, such as based on, for example, a detected pallet height difference defined by a third pallet height associated with the third object 406 and an initial pallet height (associated with the first object 402) that is less than a threshold pallet layer height. According to some aspects, in various embodiments, an exemplary robotic system may be configured to perform layer-based destabilization by removing (e.g., destabilizing) each of the objects defined within a pallet layer (e.g., each of objects 402, 404, and 406 within the top pallet layer 422) before determining whether to move to the next pallet layer (e.g., a “second pallet layer” 424) for destabilization.
[0070] In various implementations, to identify whether a pallet height difference defined by various objects is above or below a threshold pallet layer height, exemplary systems may image the stack of objects and calculate the height associated with at least a portion of the objects. In some aspects, a system operator may estimate the height of the box using a measuring device (e.g., a laser with measuring capabilities). For example, a vision subsystem may identify one or more candidate objects to be picked up based on the layering and selection algorithms discussed herein. The system can then use a measurement of the height of the bottom of the box (e.g., using the laser measuring device described above), such as for threshold determination purposes, to detect the pallet height of the object. The calculated height may be a single pallet height value based on one or more landmarks associated with the object. For example, in various implementations, the height calculated for a given object may be calculated as top, bottom, center, grab position, or other position associated with the object, as determined by one or more image processing algorithms (e.g., machine learning image recognition models) and / or motion planning algorithms performed by the system.
[0071] As described, when the difference in pallet height defined by the detected pallet height associated with the attached object and the initial pallet height associated with the top pallet layer 422 satisfies (e.g., greater than or equal to) a threshold pallet layer height, it can be determined that the top pallet layer has been completely destacking. In various embodiments, when it is determined that the top pallet layer 422 has been completely destacking (e.g., cleared), layer index data associated with the plurality of stacked objects of stack 400 can be updated by the destacking system to reflect the destacking of the top pallet layer 422. In various embodiments, the layer index data may include data stored by an exemplary destacking system corresponding to the configuration of stack 400 and the arrangement of the plurality of objects and / or the plurality of pallet layers defined therein. For example, the layer index data associated with stack 400 may reflect data corresponding to one or more configurations, rearrangements, destacking operations, etc. associated with stack 400, which can be retrieved, processed, updated, and / or stored by the destacking system to at least partially characterize the state of stack 400 and / or the destacking operations associated therewith. For example, in various embodiments, updating the layer index data may include incrementing the destacking pallet layer value associated with the layer-based destacking operation based on the determination that the top pallet layer 422 has been cleared. The destacking pallet layer value associated with the layer-based destacking operation may correspond to the number of pallet layers that have been destacking during the layer-based destacking operation. The destacking pallet layer value may be incremented by 1 as an indication that a pallet layer of stack 400, such as, for example, the top pallet layer 422, has been completely destacking.
[0072] Furthermore, as described, when it is determined that the difference in pallet height defined by the detected pallet height associated with the attached object and the initial pallet height associated with the top pallet layer 422 satisfies (e.g., greater than or equal to) a threshold pallet layer height, the attached object can be identified as part of a second pallet layer 424 disposed below the top pallet layer 422, and it can also be determined that the top pallet layer has been completely destacking. For example, as Figure 4 As shown, a fourth object 410 can be identified as part of a second pallet layer 424 when the pallet height difference between the fourth pallet height associated with the fourth object 410 and the initial pallet height associated with the top pallet layer 422 is greater than a threshold pallet layer height. In such exemplary cases, an exemplary depalletizing system can determine that the fourth object 410 is the first of a plurality of objects defined as part of the second pallet layer 424, and can also define the detected fourth pallet height as the initial pallet height associated with the second pallet layer 424. As described above with respect to the top pallet layer 422 and the initial pallet height defined by the first object 402, the determination of whether an additional object among the plurality of objects is located within the second pallet layer 424 can be based on a comparison of the pallet height of the detected additional object and the initial pallet height defined by the fourth object 410 associated with the second pallet layer 424 (e.g., and further, a comparison of the pallet height difference thus defined relative to the threshold pallet layer height).
[0073] In various embodiments, the exemplary depalletizing system may also be configured to determine whether to continue depalletizing one or more additional pallet layers defined by pallet 400, such as, for example, a second pallet layer 424, by determining whether the depalletizing layer value associated with the layer-based depalletizing operation satisfies the total pallet layer depalletizing value. As described herein, the total pallet layer depalletizing value associated with the layer-based depalletizing operation may be the total number of pallet layers to be depalletized via a layer-based depalletizing operation corresponding to a user-selected value (e.g., a user-selected value received as user input by the depalletizing device). In various embodiments, when it is determined that a pallet layer (e.g., top pallet layer 433) has been cleared during the execution of the layer-based depalletizing operation, the updated depalletizing pallet layer value defined by layer index data and the total pallet layer depalletizing value associated with the layer-based depalletizing operation may be compared. For example, in various embodiments where the depalletizing layer value associated with the layer-based depalletizing operation is determined to satisfy the total pallet layer depalletizing value (e.g., the depalletizing layer value equals the total pallet layer depalletizing value), the layer-based depalletizing operation may terminate as described herein. Furthermore, in various implementations, where the depalletizing layer value associated with the layer-based depalletizing operation is determined to not meet the total pallet layer depalletizing value (e.g., the depalletizing layer value is less than the total pallet layer depalletizing value), as described herein, an exemplary depalletizing system may initiate the depalletizing of the second pallet layer 424 of the stack 400.
[0074] For example, Figure 5Exemplary representations of various steps in a layer-based destacking operation are shown, wherein multiple pallet layers defined within stack 500 are destacking by removing each stack object in the stack objects defining the respective pallet layers from stack 500 (e.g., removing it to one or more designated locations). As shown, based on the destacking of multiple pallet layers described below, the removed and / or destacking objects can be represented as iteratively disappearing from the illustrated stack 500.
[0075] like Figure 5 As shown, a layer-based depalletizing operation may include depalletizing multiple pallet layers defined within a stack 500, wherein the multiple pallet layers removed from the stack 500 during the layer-based depalletizing operation are defined by a total pallet layer depalletizing value stored in the depalletizing system. For example, as shown, an exemplary depalletizing system may fully depalletize a first portion 512 of multiple objects of a top pallet layer 522, and further, when it is determined that the updated depalletizing layer value associated with the layer-based depalletizing operation does not satisfy the total pallet layer depalletizing value associated with the layer-based depalletizing operation, fully depalletize a second portion 514 of multiple objects of a second pallet layer 524 of the stack 500 to perform the layer-based depalletizing operation. As a non-limiting example provided for illustrative purposes, in an exemplary case where the depalletizing system receives user input defining a first user selection of a layer-based depalletizing mode and a second user selection defining a total pallet layer depalletizing value of two (2), upon determining that the depalletizing of the first portion 512 of the plurality of objects in the top pallet layer 522 of the defined stack 500 has been fully depalletized and updating the layer index data by increasing the depalletizing layer value associated with the layer-based depalletizing operation to value one (1), the exemplary depalletizing system may compare the updated depalletizing layer value one (1) with the total pallet layer depalletizing value two (2) and determine that the total pallet layer depalletizing value associated with the layer-based depalletizing operation is not satisfied. Therefore, as shown, the exemplary depalletizing system may continue to fully depalletize the second portion 514 of the plurality of objects in the second pallet layer 524 of the defined stack 500. In such an exemplary scenario, upon determining that the second portion 514 of the plurality of objects in the second pallet layer 524 of the defined stack 500 has been fully destabilized, the exemplary destabilization system may update the layer index data associated with the layer-based destabilization operation by increasing the destabilization layer value from one (1) to two (2). The exemplary destabilization system may compare the updated destabilization layer value two (2) with the total pallet layer destabilization value two (2) and determine that the total pallet layer destabilization value associated with the layer-based destabilization operation has been satisfied. As described herein, such determination may cause the destabilization system to terminate the layer-based destabilization operation. Such an exemplary layer-based destabilization operation may embody the partial destabilization of the stack 500, wherein, during its execution, the third pallet layer 526 realizes the top pallet layer defined by the plurality of objects in the stack 500.
[0076] Figures 6A to 6CThis is an exemplary flowchart illustrating a method for implementing an exemplary controller for robotic depalletizing according to various embodiments of the present disclosure. In various embodiments, reference is made to at least... Figure 4 and Figure 5 The various implementation schemes illustrate stacked objects to perform Figures 6A to 6C These are exemplary flowcharts for robotic depalletizing 600. In various embodiments, Figures 6A to 6C The steps in the exemplary flowchart (e.g., 601, 602, 603, 604, 605) may be executed sequentially (e.g., step 602 before step 603), while in other embodiments, these steps may occur simultaneously (e.g., step 602 and step 603 occur simultaneously), or in any order necessary to achieve the desired result. In some aspects, the steps may be executed by individual subsystems of the exemplary system (e.g., one step will be executed by execution subsystem 210 and another step will be executed by sensing subsystem 202). In other aspects, the steps may be executed by a single subsystem or by multiple subsystems acting in concert.
[0077] In at least one implementation, Figures 6A to 6C The flowchart can be referred to Figure 4 and Figure 5 Please refer to the following disclosure for illustrative purposes. Figure 4 and Figure 5 However, it is understandable that... Figures 6A to 6C The flowchart can be viewed with reference to any suitable stacking diagram. Furthermore, according to several aspects, Figures 6A to 6C The flowchart can be referred to Figures 1A to 3 The applicant may refer to the publicly available systems disclosed below. However, it should also be understood that... Figures 6A to 6C The flowchart can be viewed with reference to any suitable stacking system.
[0078] Generally speaking, such as regarding Figures 6A to 6C In more detail, an exemplary destacking method is provided for removing (e.g., destacking) a portion of multiple objects arranged in a stack defined by multiple pallet layers. For example, the exemplary destacking method can facilitate partial destacking of multiple stacked objects arranged in a stack, such that only a portion of the multiple objects is removed from the stack during the destacking operation defined by the destacking method. Specifically, regarding... Figures 6A to 6C The flowchart shown provides an exemplary destacking method that facilitates the destacking of a portion of multiple stacked objects arranged in a stack based on layer-based destacking operations.
[0079] At least Figure 6AAs shown, according to various aspects of this disclosure, a method 600 for implementing a controller for robotic depalletizing is provided. In various embodiments, step 601 is performed to detect a first object of a plurality of stacked objects arranged in a plurality of pallet layers, the first object defining at least a portion of the top pallet layer. In various embodiments, step 602 is performed to identify an initial pallet height defined by the first object. In various embodiments, step 603 is performed to identify a second pallet height defined by a second object among the plurality of stacked objects. In various embodiments, step 604 is performed to detect a pallet height difference based at least partially on the second pallet height. Furthermore, in various embodiments, step 605 is performed to determine that the top pallet layer has been depalletized based at least partially on a comparison of the pallet height difference with a threshold pallet layer height.
[0080] In various embodiments, determining that the top pallet layer has been destacking may include determining that the pallet height difference between an initial object height defined by a first object and a second object height defined by a second object is greater than or equal to a threshold pallet layer height. For example, in various embodiments, the threshold pallet layer height may define a stored data value corresponding to an average, common, or otherwise applicable and predetermined pallet layer height value, which is used as a comparison benchmark to determine whether the pallet height difference between the first and second objects is sufficiently large to assume and / or determine that the first and second objects are arranged in different pallet layers. In various embodiments, determining that the pallet height difference between the initial object height defined by the first object and the second object height defined by the second object is less than the threshold pallet layer height may indicate that the second and first objects are defined within the same pallet layer. (See the attached document regarding...) Figure 4 When it is determined that the difference in pallet height between the initial object height defined by the first object and the second object height defined by the second object is less than a threshold pallet layer height, steps 601-604 mentioned above may be repeated at least partially until it is determined that each of the objects defining the top pallet has been destashed later.
[0081] According to some aspects, and such as at least Figure 6A As shown, Figure 6A The flowchart may terminate at point "A", or point "A" may represent a transition point for additional steps to be performed. Depending on some aspects, point "A" may cause... Figure 6B and Figure 6C The steps are shown. However, it should be understood that in some respects, point "A" may indicate the end of the computer-implemented method 600 for depalletizing. It should be understood that, as Figure 6B and Figure 6C As shown, point "B" indicates similar functionality in at least some embodiments of this disclosure. The various steps described herein can be performed in any order that they are logically or physically capable of performing.
[0082] like Figure 6B As shown, in various embodiments, the computer-implemented method 600 may include performing a step 606 of updating layer index data associated with a plurality of stacked objects to reflect the destabilization of the top pallet layer when it is determined that the top pallet layer has been destabilized. In various embodiments, updating the layer index data may include incrementing the destabilized layer value associated with the layer-based destabilization operation. For example, the destabilized pallet layer value associated with the layer-based destabilization operation may correspond to the number of pallet layers that have been destabilized during the layer-based destabilization operation. The destabilized pallet layer value may be incremented by a value of 1 as an indication that a pallet layer of the stack has been destabilized from the stack. Furthermore, in various embodiments, the computer-implemented method 600 may include performing a step 607 of comparing the updated layer index data with the total pallet layer destabilization value. In various embodiments, the total pallet layer destabilization value may be defined by user input received by the destabilization system, such as at a display on a user interface that defines communication with a control subsystem of the exemplary destabilization system (e.g., wireless or wired).
[0083] In various embodiments, the computer-implemented method 600 may further include step 608 of initiating the destabilization of a second pallet layer among a plurality of pallet layers, the second pallet layer being at least partially defined by a second object, based at least in part on the determination that the destabilization pallet layer value associated with the layer-based destabilization operation does not meet the total pallet layer destabilization value. For example, the destabilization pallet layer value associated with the layer-based destabilization operation may not meet the total pallet layer destabilization value in an exemplary case where the destabilization pallet layer value is less than the total pallet layer destabilization value.
[0084] In various implementations, the computer-implemented method 600 may include performing a step 609 in which updating the layer index data includes increasing the depallet layer value associated with the layer-based depalletizing operation. For example, the layer-based depalletizing operation may terminate based on the determination that the depalletized pallet layer value associated with the layer-based depalletizing operation equals the total pallet layer depalletizing value.
[0085] like Figure 6C As shown, in various embodiments, the computer-implemented method 600 may include a step 610 of receiving user input that defines a user selection of a layer-based depalletizing mode. For example, the user input received by the depalletizing system may be defined by user interaction with a display and / or other interface that communicates with the depalletizing system and is configured to receive a first user selection of a layer-based depalletizing mode and a second user selection (e.g., total pallet layer depalletizing value) of multiple pallet layers to be depalletized as part of a user-initiated layer-based depalletizing operation.
[0086] In various embodiments, the computer-implemented method 600 may further include step 611 of executing a user selection based on the pallet-layer-based depalletizing pattern and initiating a layer-based depalletizing operation that embodies the partial depalletizing of multiple stacked objects. In various embodiments, the user input may also be limited by a total pallet-layer depalletizing value corresponding to the number of pallet layers to be depalletized via the layer-based depalletizing operation selected by the user.
[0087] Figures 7A to 7C This is an exemplary flowchart illustrating a method for implementing an exemplary controller for robotic depalletizing according to various embodiments of the present disclosure. In various embodiments, reference is made to at least... Figure 4 The various implementation schemes illustrate stacked objects to perform Figures 7A to 7C These are exemplary flowcharts for robotic depalletizing 700. In various embodiments, Figures 7A to 7C The steps in the exemplary flowchart (e.g., 701, 702, 703, 704, 705) may be executed sequentially (e.g., step 702 before step 703), while in other embodiments, these steps may occur simultaneously (e.g., step 702 and step 703 occur simultaneously), or in any order necessary to achieve the desired result. In some aspects, the steps may be executed by individual subsystems of the exemplary system (e.g., one step will be executed by execution subsystem 210 and another step will be executed by sensing subsystem 202). In other aspects, the steps may be executed by a single subsystem or by multiple subsystems acting in concert.
[0088] In at least one implementation, Figures 7A to 7C The flowchart can be referred to Figure 4 and Figure 5 Please refer to the following disclosure for illustrative purposes. Figure 4 and Figure 5 However, it is understandable that... Figures 7A to 7C The flowchart can be viewed with reference to any suitable stacking diagram. Furthermore, according to several aspects, Figures 7A to 7C The flowchart can be referred to Figures 1A to 3 The applicant may refer to the publicly available systems disclosed below. However, it should also be understood that... Figures 7A to 7C The flowchart can be viewed with reference to any suitable stacking system.
[0089] Generally speaking, as referenced Figures 7A to 7CMore specifically, an exemplary depalletizing method is provided for removing (e.g., depalletizing) a portion of multiple objects from a stack based on a portion of multiple objects defining one or more object SKUs. For example, the exemplary depalletizing method can facilitate partial depalletizing of multiple stacked objects arranged in a stack, such that only a portion of the multiple objects is removed from the stack during the depalletizing operation defined by the depalletizing method. Specifically, regarding... Figures 7A to 7C The flowchart shown provides an exemplary depalletizing method that facilitates the depalletizing of a portion of multiple stacked objects arranged in a stack according to an SKU-based depalletizing operation. In some embodiments, the multiple objects in the stack are a mixture of different stock units (SKUs), such that the multiple objects are defined by multiple object SKUs. The multiple objects in the stack defining multiple different SKUs may indicate that the objects in the stack are of different types (e.g., having different sizes and / or shapes). As described herein, an exemplary depalletizing system may rely on a vision system (such as a perception subsystem) to determine the size and / or shape of the objects, such that the depalletizing system can depalletize the objects from the pallet (e.g., calculating the orientation of the depalletizing system based at least in part on the size and / or shape of the objects). In various embodiments, partial depalletizing of the multiple objects in the stack may be performed as an SKU-based depalletizing operation (e.g., by the depalletizing system), wherein a portion of the multiple objects defined by one or more different object SKUs is removed from the stack and repositioned to a second location, while the second portion of the multiple objects remains stacked at the pallet.
[0090] At least Figure 7A As shown, according to various aspects of this disclosure, a method for implementing a controller for a robot depalletizing 700 is provided. In various embodiments, step 701 is performed whereby user input is received at the depalletizing system, defining a user selection of a SKU-based depalletizing mode, wherein the user input also defines a total SKU depalletizing value. For example, the user input received by the depalletizing system may be defined by user interaction with a display and / or other interface that communicates with the depalletizing system and is configured to receive a first user selection of a SKU-based depalletizing mode and a second user selection (e.g., total SKU depalletizing value) of multiple object SKUs to be depalletized as part of a user-initiated SKU-based depalletizing operation.
[0091] In various embodiments, step 702 is performed, at least in part, based on imaging data captured by the depalletizing system and associated with multiple stacked objects arranged on a pallet, to calculate one or more comparative dimensional measures associated with at least a portion of the multiple stacked objects, which are defined by multiple object SKUs. In various embodiments, this is achieved by processing elements (such as, but not limited to, those combined above at least...) Figures 1A to 3The processing element 305 of the control subsystem 218 of the described exemplary depalletizing system (e.g., via the processing element of the depalletizing system) can receive imaging data captured by the depalletizing system (e.g., the sensing subsystem) and associated with multiple objects disposed on the pallet. For example, the imaging data could be 2-D image data captured by the 2-D image capture device of the sensing subsystem (similar to at least those described above). Figure 1A (Those described above). Alternatively or concurrently, the imaging data may be 3D image data captured by the 3D image capture device of the sensing subsystem (similar to at least those described above). Figure 1A (Those described). In some embodiments, the 2-D image capture device and / or the 3-D image capture device may be located on top of the pallet, and the first imaging data provides a view of the top visible pallet layer, including the objects to be unloaded. In various embodiments, the imaging data may define point cloud-based data associated with one or more of the plurality of objects.
[0092] In some embodiments, based on imaging data, the processing element of the depalletizing system can calculate the number of pixels for the length, width, and / or height of each object (e.g., in 2-D and / or 3-D images). To calculate comparative dimensional metrics between two objects, the depalletizing system (e.g., the processing element) can calculate the difference between the number of pixels for the length of one object and the number of pixels for the length of another object, the difference between the number of pixels for the width of one object and the number of pixels for the width of another object, and / or the difference between the number of pixels for the height of one object and the number of pixels for the height of another object. In some embodiments, the processing element can calculate comparative dimensional metrics between various objects arranged in the same pallet layer.
[0093] In various implementations, step 703 involves identifying a first object SKU defined by the first portions of the plurality of objects, based at least in part on determining that one or more comparative size measures associated with the first portions of the plurality of objects satisfy a comparative size threshold range. For example, the first portions of the plurality of objects may be identified as the first object SKU based at least in part on determining that each of the objects in the first portion has at least substantially similar size, shape, and / or configuration such that one or more comparative size measures associated with each of the first portions of the objects are within a comparative size threshold range.
[0094] In various embodiments, step 704 involves updating the SKU index data associated with the multiple stacked objects to reflect the destacking of the first object SKU when a first portion of the plurality of objects defining a first object SKU is detected to have been destacking. In various embodiments, updating the SKU index data associated with the multiple stacked objects to reflect the destacking of the first object SKU may include incrementing the destacking SKU value associated with the SKU-based destacking operation. For example, the destacking SKU value associated with the SKU-based destacking operation may correspond to the number of object SKUs that have been destacking during the SKU-based destacking operation. The destacking SKU value associated with the SKU-based destacking operation may be incremented by 1 as an indication that a portion of the plurality of objects defining an object SKU has been destacking from the stack. Furthermore, in various embodiments, step 705 involves determining that the destacking SKU value associated with the SKU-based destacking operation satisfies the total SKU destacking value. In various implementations, the total depalletized SKU value associated with a SKU-based depalletizing operation can be defined as the number of object SKUs to be depalletized during the SKU-based depalletizing operation. As described herein, the total depalletized SKU value can be established based on user input received by the depalletizing device.
[0095] According to some aspects, and such as at least Figure 7A As shown, Figure 7A The flowchart may terminate at point "A", or point "A" may represent a transition point for additional steps to be performed. Depending on some aspects, point "A" may cause... Figure 7B and Figure 7C The steps are shown. However, it should be understood that in some respects, point "A" may indicate the end of the computer-implemented method 600 for depalletizing. It should be understood that, as Figure 7B and Figure 7C As shown, point "B" indicates similar functionality in at least some embodiments of this disclosure. The various steps described herein can be performed in any order that they are logically or physically capable of performing.
[0096] like Figure 7B As shown, in various embodiments, the computer-implemented method 700 may include step 706 of performing a user selection based on the SKU-based depalletizing pattern and initiating an SKU-based depalletizing operation that embodies the partial depalletizing of multiple stacked objects. In various embodiments, the processing elements of the exemplary depalletizing system (such as, but not limited to, those described above at least in conjunction with...) Figures 1A to 3The processing element 305 of the control subsystem 218 of the described exemplary depalletizing system can, in response to user input received by the depalletizing system reflecting a user selection of a SKU-based depalletizing mode, cause the execution subsystem associated with the depalletizing system to operate in the SKU-depalletizing mode. Furthermore, in various embodiments, the computer-implemented method 700 may include the step 707 of terminating the SKU-based depalletizing operation based at least in part on the determination that the depalletized SKU value associated with the SKU-based depalletizing operation satisfies the total SKU depalletizing value. For example, the SKU-based depalletizing operation may terminate based on the determination that the depalletized SKU value associated with the SKU-based depalletizing operation equals the total SKU depalletizing value.
[0097] like Figure 7C As shown, in various embodiments, the computer-implemented method 700 may further include performing a step 708 of initiating a second destabilization of a second object SKU defined by a first portion of a plurality of objects, based at least in part on a determination that the destabilized SKU value associated with the SKU-based destabilization operation does not meet the total SKU destabilization value. For example, in an exemplary case where the destabilized SKU value is less than the total SKU destabilization value, the destabilized SKU value associated with the SKU-based destabilization operation may not meet the total SKU destabilization value. In various embodiments, the computer-implemented method 700 may include a step 709 of identifying a second object SKU defined by a second portion of a plurality of objects, based at least in part on a second determination that one or more comparative size metrics associated with a second portion of a plurality of objects meet a comparative size threshold range. In various embodiments, the computer-implemented method 700 may include a step 710 of updating SKU index data associated with a plurality of stacked objects to reflect the destabilization of the second object SKU when it is detected that a second portion of the plurality of objects defining the second object SKU has been destabilized. In various implementations, the computer-implemented method 700 may further include step 711 of performing a step of removing one or more objects from a first portion of a plurality of objects defining a first object SKU from an arrangement at a pallet, and repositioning the one or more objects to a second position.
[0098] Figure 8 This is an exemplary three-dimensional representation of electronic data points as an exemplary depalletizing system and an exemplary surrounding environment, according to various aspects of this disclosure. Figure 8As shown, according to some aspects, a plurality of stacked objects may be represented as an object electronic data point set 802. According to some aspects, this set may include at least one first object electronic data point 804, and an end effector (e.g., the end effector 113 of a robotic arm 115) as an end effector electronic data point set 806. According to some aspects, vertical removal of at least one first object electronic data point 804 may be achieved by means of the end effector electronic data point set 806 from the object electronic data point set 802. In various embodiments, the object electronic data point set described herein may be a voxel. It should be understood that a voxel represents a value in three-dimensional space, similar to how a pixel represents a value in two-dimensional space. It should be understood that in various embodiments, the electronic data point set described herein may be a pixel. According to some aspects, voxels can effectively represent objects used for destabilization and can aid in visualization during the execution of an exemplary destabilization operation.
[0099] Furthermore, in various implementations, the robot system (e.g., system 100A) may be represented as a robot data point set 808. According to some aspects, and as... Figure 8 As shown, multiple end effector electronic data point sets 806 may exist. According to some aspects, a robot arm (e.g., robot arm 115 of system 100A) may be represented as a robot arm electronic data point set 810, which may include the end effector electronic data point set 806. According to some aspects, multiple robot arm electronic data point sets 810 for robot electronic data points 808 may exist.
[0100] Many modifications and other embodiments will occur to those skilled in the art to which this disclosure pertains, which have the benefits of the teachings presented in the foregoing description and associated drawings. Therefore, it should be understood that this disclosure is not limited to the specific embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terminology is used herein, it is used only in a general and descriptive sense and not for purposes of limitation.
Claims
1. A method for implementing a controller for robot depalletizing, the method comprising: Detect a first object among a plurality of stacked objects arranged in a plurality of pallet layers, the first object defining at least a portion of the top pallet layer; Identify the initial tray height defined by the first object; Identify the second pallet height defined by the second object among the plurality of stacked objects; The pallet height difference is detected at least in part based on the second pallet height; and Whether the top pallet layer has been destacking is determined at least in part based on a comparison of the pallet height difference with a threshold pallet layer height. Determining whether the top pallet layer has been destacking includes: determining that the top pallet layer has been destacking when the difference between the initial pallet height defined by the first object and the second pallet height defined by the second object is greater than or equal to the threshold pallet layer height. The determination that the difference between the initial tray height defined by the first object and the height of the second object defined by the second object is less than the threshold tray layer height indicates that the second object and the first object are confined within the same tray layer, and The method implemented by the controller further includes, when it is not determined that the top pallet layer has been unstacking, repeating the comparison of the pallet height difference and the threshold pallet layer height for one or more additional second objects until the detected pallet height difference is greater than the threshold pallet layer height.
2. The method implemented by the controller according to claim 1, the method further comprising, upon determining that the top pallet layer has been destacking, updating the layer index data associated with the plurality of stacked objects to reflect the destacking of the top pallet layer.
3. The method implemented by the controller according to claim 2, the method further comprising comparing the updated layer index data with the total pallet layer unloading value.
4. The method implemented by the controller according to claim 3, the method further comprising, at least in part based on the determination that a destacking layer value associated with a layer-based destacking operation does not satisfy the total pallet layer destacking value, initiating destacking of a second pallet layer among the plurality of pallet layers, the second pallet layer being at least partially defined by the second object.
5. The method implemented by the controller according to claim 3, wherein updating the layer index data includes adding a destabilization layer value associated with the layer-based destabilization operation.
6. The method implemented by the controller according to claim 4, the method further comprising terminating the layer-based depalletizing operation at least in part based on the determination that the depalletizing layer value associated with the layer-based depalletizing operation satisfies the total pallet layer depalletizing value.
7. The method implemented by the controller according to claim 1, the method further comprising: Receive user input, which limits the user selection of the depalletizing mode based on the pallet layer; as well as Based on the user's selection of the pallet-based depalletizing mode, a layer-based depalletizing operation is initiated, which represents the partial depalletizing of the multiple stacked objects.
8. The method implemented by the controller according to claim 2, wherein the total pallet layer depalletizing value is limited by user input received by the depalletizing system.
9. The method implemented by the controller according to claim 1, wherein the pallet height difference is defined by the difference between the initial pallet height and the second pallet height.
10. The method implemented by the controller according to claim 7, wherein the user input is further defined by a total pallet layer depalletizing value corresponding to the number of pallet layers to be depalletized via a layer-based depalletizing operation selected by the user.
11. The method implemented by the controller of claim 1, wherein the height of the second pallet is detected based at least in part on imaging data captured by the depalletizing system.
12. The method for implementing the controller according to claim 11, further comprising: This causes the depalletizing system to remove the first object from the top pallet layer of multiple objects and reposition the first object to the second position.
13. A method for implementing a controller for robot depalletizing, the method comprising: The system receives user input at the depalletizing system that defines a user selection of a depalletizing mode based on SKU, wherein the user input also defines a total SKU depalletizing value. Based at least in part on imaging data captured by the depalletizing system and associated with multiple stacked objects arranged on a pallet, one or more comparative dimensional metrics associated with at least a portion of the multiple stacked objects, which are defined by multiple object SKUs; A first object SKU defined by the first portion of the plurality of objects is identified, based at least in part on the determination that one or more comparative size metrics associated with the first portion of the plurality of objects satisfy a comparative size threshold range; When it is detected that the first portion of the plurality of objects defining the first object SKU has been destacking, update the SKU index data associated with the plurality of stacked objects to reflect the destacking of the first object SKU. as well as Determine the depalletized SKU value associated with the SKU-based depalletizing operation to satisfy the total SKU depalletizing value.
14. The method for implementing the controller according to claim 13, further comprising: Based on the user's selection of the SKU-based depalletizing mode, an SKU-based depalletizing operation is initiated, which represents the partial depalletizing of the multiple stacked objects. as well as The SKU-based depalletizing operation is terminated, at least in part, based on the determination that the total SKU depalletizing value is satisfied by the depalletizing SKU value associated with the SKU-based depalletizing operation.
15. The method implemented by the controller of claim 13, wherein updating the SKU index data associated with the plurality of stacked objects to reflect the destacking of the first object SKU includes increasing the destacking SKU value associated with the SKU-based destacking operation.
16. The method for implementing the controller according to claim 13, further comprising: A second destacking of a second object SKU, defined by a first portion of the plurality of objects, is initiated, based at least in part on the fact that the destacking SKU value associated with the SKU-based destacking operation does not meet the determination of the total SKU destacking value.
17. The method for implementing the controller according to claim 16, further comprising: A second object SKU defined by the second portion of the plurality of objects is identified, based at least in part on a second determination that one or more comparative size metrics associated with the second portion of the plurality of objects satisfy a comparative size threshold range; and When it is detected that the second portion of the plurality of objects defining the second object SKU has been destacking, the SKU index data associated with the plurality of stacked objects is updated to reflect the destacking of the second object SKU.
18. The method for implementing the controller according to claim 17, further comprising: The depalletizing system removes one or more of the first portion of the plurality of objects defining the first object SKU from the arrangement at the pallet and repositions the one or more objects to a second position.
19. An apparatus comprising at least one processor and at least one non-transitory memory including computer program code, wherein the at least one processor, the at least one non-transitory memory, and the computer program code are configured to control the apparatus to: Detect a first object among a plurality of stacked objects arranged in a plurality of pallet layers, the first object defining at least a portion of the top pallet layer; Identify the initial tray height defined by the first object; Identify the second pallet height defined by the second object among the plurality of stacked objects; The pallet height difference is detected at least in part based on the second pallet height; and Whether the top pallet layer has been destacking is determined at least in part based on a comparison of the pallet height difference with a threshold pallet layer height. Determining whether the top pallet layer has been destacking includes: determining that the top pallet layer has been destacking when the difference between the initial pallet height defined by the first object and the second pallet height defined by the second object is greater than or equal to the threshold pallet layer height. The determination that the difference between the initial tray height defined by the first object and the height of the second object defined by the second object is less than the threshold tray layer height indicates that the second object and the first object are confined within the same tray layer, and The at least one processor, the at least one non-transitory memory, and the computer code are further configured to control the device to repeat the comparison of the pallet height difference and the threshold pallet layer height for one or more additional second objects when it is not determined that the top pallet layer has been destabilized, until the detected pallet height difference is greater than the threshold pallet layer height.
20. The device of claim 19, wherein, utilizing the at least one processor, the at least one non-transitory memory and the computer program code are further configured to control the device to: When it is determined that the top pallet layer has been destacking, the layer index data associated with the plurality of stacked objects is updated to reflect the destacking of the top pallet layer.
21. The device of claim 20, wherein, utilizing the at least one processor, the at least one non-transitory memory and the computer program code are further configured to control the device to: Compare the updated layer index data with the total pallet layer unloading value.
22. The device of claim 21, wherein, utilizing the at least one processor, the at least one non-transitory memory and the computer program code are further configured to control the device to: At least in part based on the determination that the destacking layer value associated with the layer-based destacking operation does not meet the total pallet layer destacking value, destacking of a second pallet layer among the plurality of pallet layers is initiated, the second pallet layer being at least partially defined by the second object.
23. The apparatus of claim 21, wherein updating the layer index data includes adding a destabilization layer value associated with a layer-based destabilization operation.
24. The device of claim 21, wherein, utilizing the at least one processor, the at least one non-transitory memory and the computer program code are further configured to control the device to: The layer-based depalletizing operation is terminated, at least in part, based on the determination that the depalletizing layer value associated with the layer-based depalletizing operation satisfies the total pallet layer depalletizing value.
25. The device of claim 19, wherein determining that the top pallet layer has been unstacking includes determining that the pallet height difference is greater than or equal to the threshold pallet layer height.
26. The device of claim 19, wherein, utilizing the at least one processor, the at least one non-transitory memory and the computer program code are further configured to control the device to: Receive user input, wherein the user input limits the user selection of the depalletizing mode based on the pallet layer; and Based on the user's selection of the pallet-based depalletizing mode, a layer-based depalletizing operation is initiated, which represents the partial depalletizing of the multiple stacked objects.
27. An apparatus comprising at least one processor and at least one non-transitory memory, the at least one non-transitory memory including computer program code, wherein, using the at least one processor, the at least one non-transitory memory and the computer program code are configured to control the apparatus to: Receive user input that defines a user selection of a depalletizing mode based on SKU, wherein the user input further defines the total SKU depalletizing value; Based at least in part on imaging data associated with multiple stacked objects arranged on a pallet, one or more comparative dimensional measures associated with at least a portion of the multiple stacked objects, which are defined by multiple object SKUs; A first object SKU defined by the first portion of the plurality of objects is identified, at least in part, based on the determination that one or more comparative size metrics associated with a first portion of the plurality of objects satisfy a comparative size threshold range. When it is detected that the first portion of the plurality of objects defining the first object SKU has been destacking, update the SKU index data associated with the plurality of stacked objects to reflect the destacking of the first object SKU. as well as Determine the depalletized SKU value associated with the SKU-based depalletizing operation to satisfy the total SKU depalletizing value.
Citation Information
Patent Citations
Spreader position controlling method for transfer crane and controller thereof
JP1999322271A