ROBOT SYSTEM WITH ADJUSTMENT MECHANISM AND METHOD FOR OPERATING A ROBOT SYSTEM - Patent application

The robotic system autonomously coordinates robotic units to perform complex tasks, addressing the lack of sophisticated interaction in conventional systems and enhancing operational efficiency by reducing human intervention.

JP7723921B2Active Publication Date: 2025-08-15MUJIN INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2021034594
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-01-14
Filing Date
2021-03-04
Publication Date
2025-08-15
Estimated Expiration
2040-01-10

AI Technical Summary

Technical Problem

Conventional robotic systems lack sophisticated interaction between multiple robots, requiring human intervention to coordinate tasks and manage transitions between different robot operations, limiting their ability to perform complex and integrated tasks autonomously.

Method used

A robotic system that autonomously coordinates and controls interactions between separate robotic units, utilizing algorithms and protocols to sequence tasks, consider accessibility and predicted loads, and coordinate storage operations, reducing or eliminating the need for human assistance.

Benefits of technology

Enables autonomous execution of integrated tasks by coordinating robotic units, enhancing efficiency and reducing the reliance on human intervention in complex robotic operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007723921000001
    Figure 0007723921000001
  • Figure 0007723921000002
    Figure 0007723921000002
  • Figure 0007723921000003
    Figure 0007723921000003
Patent Text Reader

Abstract

To provide a system and a method for operating a robot system that coordinate and integrate multiple tasks to perform work.SOLUTION: A robot system produces one or more access adjustment elements that adjust the timing of operating a set of object transport units to transport task objects to or from task stations, storage locations, or combinations thereof. The robot system derives a motion plan that operates an operating unit to perform one or more tasks associated with the task stations, storage locations, or combinations thereof and implements the motion plan according to an order for performing the work to achieve a target condition.SELECTED DRAWING: Figure 10
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Patent Application No. 62 / 792,348, filed January 14, 2019, which is incorporated herein by reference in its entirety.

[0002] The present technology is directed generally to robotic systems, and more particularly to systems, processes, and techniques for coordinating the operation of multiple units. [Background technology]

[0003] Due to ever-increasing performance and decreasing costs, many robots (e.g., machines configured to automatically / autonomously perform physical actions) are now widely used in many fields. For example, robots may be used to perform various tasks (e.g., manipulating or moving objects through space) for manufacturing and / or assembly, crating and / or packaging, transporting and / or shipping, etc. When performing a task, the robot can replicate human behavior, thereby replacing or reducing human involvement required to perform dangerous or repetitive tasks.

[0004] However, despite technological advances, robots often lack the sophistication necessary to replicate the human interaction required to perform larger and / or more complex tasks. For example, robot-to-robot interactions often require human intervention to fully coordinate and orchestrate a series of tasks. Thus, improvements in techniques and systems for managing behavior and / or interactions between robots remain necessary. [Brief explanation of the drawings]

[0005] [Figure 1] FIG. 1 illustrates an example of an environment in which a robotic system with an adjustment mechanism can operate. [Figure 2]FIG. 1 is a block diagram illustrating a robotic system in accordance with one or more embodiments of the present technology. [Figure 3] FIG. 2 illustrates an example of a task unit associated with the robotic system of FIG. 1 in accordance with one or more embodiments of the present technology. [Figure 4] 2 is an example control diagram for the robotic system of FIG. 1 in accordance with one or more embodiments of the present technology. [Figure 5A] FIG. 1 is a diagram of a first example task station in accordance with one or more embodiments of the present technology. [Figure 5B] FIG. 2 is a flow diagram of a method of operating the robotic system of FIG. 1 in accordance with one or more embodiments of the present technology. [Figure 6A] FIG. 10 is a diagram of a second example task station in accordance with one or more embodiments of the present technology. [Figure 6B] FIG. 2 is a flow diagram of a method of operating the robotic system of FIG. 1 in accordance with one or more embodiments of the present technology. [Figure 7A] FIG. 10 is a diagram of a third example task station in accordance with one or more embodiments of the present technology. [Figure 7B] FIG. 2 is a flow diagram of a method of operating the robotic system of FIG. 1 in accordance with one or more embodiments of the present technology. [Figure 8A] FIG. 10 is a diagram of a fourth example task station in accordance with one or more embodiments of the present technology. [Figure 8B] FIG. 2 is a flow diagram of a method of operating the robotic system of FIG. 1 in accordance with one or more embodiments of the present technology. [Figure 9A] FIG. 1 illustrates an example of task migration, in accordance with one or more embodiments of the present technology. [Figure 9B] FIG. 1 illustrates an example of task migration, in accordance with one or more embodiments of the present technology. [Figure 9C] 10A-10C illustrate examples of transport units in accordance with one or more embodiments of the present technology; [Figure 10] FIG. 2 is a flow diagram of a method of operating the robotic system of FIG. 1 in accordance with one or more embodiments of the present technology. DETAILED DESCRIPTION OF THE INVENTION

[0006] Described herein are systems and methods for robotic systems with automated object detection and registration. A robotic system (e.g., a system integrating devices that perform one or more designated tasks) configured according to certain embodiments autonomously performs a set of integrated tasks (e.g., tasks that achieve corresponding goals) by coordinating the actions of multiple units (e.g., robots).

[0007] The integrated tasks or operations may include receiving operations, storage operations, shipping operations, and / or other operations. A receiving operation may include a series of tasks for receiving an arrival of objects (e.g., packages and / or boxes containing items). A storage operation may include a series of tasks for placing the received objects and / or items in a storage location. A storage operation may further include a series of tasks for reorganizing or regrouping the objects and / or items for storage. A shipping operation may include a series of tasks for grouping items / objects for external shipping. As described in more detail below, the sequenced tasks may include de-bunking tasks, sorting tasks, storage grouping tasks, group manipulation tasks, unpacking tasks, racking tasks, picking tasks, packing tasks, and / or shipping grouping tasks. Also, as described below, the robotic system may coordinate interactions between multiple corresponding units, systems, and / or stations to perform operations.

[0008] Conventional operations typically require input or assistance from a human operator to perform integrated tasks. Conventional systems lack sophisticated interaction between multiple robots and require operator assistance when connecting the end of one robot's task to the beginning of a different robot's task. For example, a conventional system may have access to a bin corresponding to an order, but a human operator may be required to group / sequence the ordered items for that order. Also, for example, a conventional system may include a picking robot that operates according to certain inputs / outputs (e.g., conveyor inputs / outputs), but lack the sophistication to interact with other units and modify the inputs / outputs.

[0009] In contrast, the robotic systems disclosed herein coordinate and control interactions between separate robotic units and / or stations to perform tasks, thereby reducing or eliminating human assistance in execution. For example, the robotic system can identify each unit's work zone, work path, transition location, movement plan, corresponding timing, or a combination thereof. The robotic system can also include one or more algorithms that sequence the tasks of different units and / or one or more protocols that control the interactions between units. The robotic system can further consider interactions between multiple units and coordinate the storage of items according to accessibility, predicted loads / orders, estimated throughput, or a combination thereof. Details of coordination and control are described below.

[0010] In the following description, numerous specific details are set forth to provide a thorough understanding of the technology of the present disclosure. In other embodiments, the technology introduced herein may be practiced without these specific details. In other instances, well-known features, such as particular functions or routines, are not described in detail so as not to unnecessarily obscure the present disclosure. In this specification, references to "an embodiment," "one embodiment," or the like mean that the particular feature, structure, material, or characteristic being described is included in at least one embodiment of the present disclosure. Thus, appearances of such phrases in the specification do not necessarily all refer to the same embodiment. On the other hand, such references are not necessarily mutually exclusive. Furthermore, particular features, structures, materials, or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that the various embodiments shown in the figures are for illustrative purposes only and are not necessarily drawn to scale.

[0011] For clarity, some well-known details describing structures or processes often associated with robotic systems and subsystems, but which may unnecessarily obscure some important aspects of the disclosed technology, are not described below. Furthermore, although the following disclosure describes some embodiments of different aspects of the technology, some other embodiments may have different configurations or components than those described in this section. Thus, the disclosed technology may have other embodiments that have additional elements or that do not include some of the elements described below.

[0012] Many embodiments or aspects of the present disclosure described below may take the form of computer- or processor-executable instructions, including routines executed by a programmable computer or processor. Those skilled in the art will recognize that the disclosed technology can be practiced on computer or processor systems other than those shown and described below. The technology described herein can be implemented on a special-purpose computer or data processor that is specifically programmed, configured, or constructed to execute one or more of the computer-executable instructions described below. Accordingly, the terms "computer" and "processor," as used generally herein, refer to any data processor, including Internet appliances and handheld devices (including palmtop computers, wearable computers, cellular or mobile phones, multiprocessor systems, processor-based or programmable consumer electronics, network computers, minicomputers, etc.). Information handled by these computers and processors can be presented on any suitable display medium, including a liquid crystal display (LCD). Instructions for performing computer- or processor-executable tasks can be stored on any suitable computer-readable medium, including hardware, firmware, or a combination of hardware and firmware. The instructions may be contained in any suitable memory device, including, for example, a flash drive and / or other suitable medium.

[0013] The terms "coupled" and "connected," as well as derivatives thereof, may be used herein to describe a structural relationship between components. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, "connected" may be used to indicate that two or more elements are in direct contact with each other. Unless the context clearly indicates otherwise, the term "coupled" may be used to indicate that two or more elements are in direct or indirect contact with each other (with other intervening elements between the elements), that two or more elements cooperate or interact with each other (e.g., as in a causal relationship, such as signal transmission / reception or function call), or both.

[0014] favorable environment 1 is an example of an environment in which a robotic system 100 with a coordination mechanism may operate. The robotic system 100 may include and / or communicate with one or more units (e.g., robots) configured to perform one or more tasks. Aspects of the coordination mechanism may be practiced or performed by various units.

[0015] For the example shown in FIG. 1 , the robotic system 100 may include an unloading unit 102, a mobile unit 104 (e.g., a palletizing robot and / or a piece-picking robot), a transport unit 106, a loading unit 108, or a combination thereof, in a warehouse or distribution / shipping location. Each unit of the robotic system 100 may be configured to perform one or more tasks. For another example, a task may include placing an object at a target location (e.g., on a pallet and / or in a bin / cage / box / case). The robotic system may derive a plan (e.g., placement location / or orientation, order in which to move the object, and / or corresponding motion plan) for placing and / or stacking the object. Each unit may be configured to perform a series of actions (e.g., by operating one or more components of the unit) according to one or more of the derived plans to perform the task.

[0016] In some embodiments, a task may involve manipulating (e.g., moving and / or reorienting) a target object 112 (e.g., one of a package, box, case, cage, pallet, etc., corresponding to the task to be performed) from a start location 114 to a task location 116. For example, an unloading unit 102 (e.g., a de-bunking robot) may be configured to move a target object 112 from a location in a transporter (e.g., a truck) to a location on a conveyor belt. Also, a transfer unit 104 may be configured to move a target object 112 from one location (e.g., a conveyor belt, a pallet, or a bin) to another location (e.g., a pallet, a bin, etc.). For another example, a transfer unit 104 (e.g., a palletizing robot) may be configured to move a target object 112 from a source location (e.g., a pallet, a pickup area, and / or a conveyor) to a destination pallet. Upon completion of the operation, the transport unit 106 can move the target object 112 from the area associated with the mobile unit 104 to the area associated with the loading unit 108, and the loading unit 108 can move the target object 112 (e.g., by moving a pallet carrying the target object 112) from the mobile unit 104 to a storage location (e.g., a location on a shelf).

[0017] The robotic system 100 can link and / or sequence tasks to perform operations to achieve a goal, such as unloading objects from a truck or van and storing them in a warehouse, or retrieving objects from a storage location and preparing them for shipment. More details regarding the operations and associated actions are provided below.

[0018] For illustrative purposes, robotic system 100 is described in the context of a shipping center; however, it should be understood that robotic system 100 may be configured to perform tasks / operations in other environments / for other purposes, such as manufacturing, assembly, packaging, healthcare, and / or other types of automation. It should also be understood that robotic system 100 may include other units not shown in FIG. 1 , such as manipulators, service robots, modular robots, etc. For example, in some embodiments, robotic system 100 may include a depalletizing unit that moves objects from a cage cart or pallet to a conveyor or other pallet, a container switching unit that moves objects from one container to another, a packaging unit that packages objects, a sorting unit that groups objects according to one or more characteristics of the objects, a piece-picking unit that manipulates (e.g., sorts, group, and / or moves) objects differently according to one or more characteristics of the objects, or a combination thereof.

[0019] The robotic system 100 and / or units of the robotic system 100 may include physical or structural members (e.g., robotic manipulator arms) connected by joints for movement (e.g., rotational and / or translational displacement). The structural members and joints can form kinematic chains configured to manipulate end effectors (e.g., grippers) configured to perform one or more tasks (e.g., grasping, rotating, welding, etc.) depending on the use / task of the robotic system 100. The robotic system 100 may include drives (e.g., motors, actuators, wires, artificial muscles, electroactive polymers, etc.) configured to drive or manipulate (e.g., displace and / or reorient) the structural members about or at the corresponding joints. In some embodiments, the robotic system 100 may include transport motors configured to transport the corresponding units / chassis from location to location.

[0020] The robotic system 100 may include sensors configured to acquire information used to perform a task, such as to manipulate a structural member and / or transport a robotic unit. The sensors may include devices configured to detect or measure one or more physical characteristics of the robotic system 100 (e.g., the state, condition, and / or position of one or more structural members / joints of the robotic system) and / or one or more physical characteristics of the surrounding environment. Some examples of sensors may include accelerometers, gyroscopes, force sensors, strain gauges, tactile sensors, torque sensors, position encoders, etc.

[0021] In some embodiments, for example, the sensors may include one or more imaging devices (e.g., visual and / or infrared cameras, 2D and / or 3D imaging cameras, distance measurement devices such as lidar or radar, etc.) configured to detect the surrounding environment. The imaging devices may generate a representation of the detected environment, such as a digital image and / or a point cloud, that may be processed via machine / computer vision (e.g., for automated inspection, robotic guidance, or other robotic applications). As described in further detail below, the robotic system 100 may process the digital image and / or point cloud to identify the target object 112, the start position 114, the task position 116, the pose of the target object 112, a confidence metric for the start position 114 and / or pose, or a combination thereof.

[0022] To manipulate a target object 112, the robotic system 100 can capture and analyze images of a designated area (e.g., a pick-up location, such as in a truck or on a conveyor belt) to identify the target object 112 and a start location 114 for the target object 112. Similarly, the robotic system 100 can capture and analyze images of another designated area (e.g., a drop location for placing an object on a conveyor, a location for placing an object in a container, or a location on a pallet for stacking) to identify a task location 116. For example, the imaging device can include one or more cameras configured to generate images of the pick-up area and / or one or more cameras configured to generate images of the task area (e.g., a drop area). Based on the captured images, the robotic system 100 can determine the start location 114, the task location 116, associated poses, a motion plan, and / or other processing results.

[0023] In some embodiments, for example, the sensors may include position sensors (e.g., position encoders, potentiometers, etc.) configured to detect the position of structural members (e.g., robotic arms and / or end effectors) and / or corresponding joints of the robotic system 100. The robotic system 100 can use the position sensors to track the position and / or orientation of the structural members and / or joints during task execution.

[0024] Suitable system 2 is a block diagram illustrating a robotic system 100 in accordance with one or more embodiments of the present technology. In an embodiment, for example, the robotic system 100 (e.g., in one or more of the units and / or robots described above) may include electronic / electrical devices such as one or more processors 202, one or more memory devices 204, one or more communication devices 206, one or more input / output devices 208, one or more drive devices 212, one or more transport motors 214, one or more sensors 216, or combinations thereof. The various devices may be coupled to each other via wired and / or wireless connections. For example, the robotic system 100 may include buses such as a system bus, a Peripheral Component Interconnect (PCI) bus or PCI Express bus, a HyperTransport or industry standard architecture (ISA) bus, a Small Computer System Interface (SCSI) bus, a Universal Serial Bus (USB), an IIC (I2C) bus, or an Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus (also known as "Firewire"), etc. Also, for example, the robotic system 100 may include bridges, adapters, processors, or other signal-related devices to provide wired connections between devices. The wireless connection may be based on, for example, a cellular communication protocol (e.g., 3G, 4G, LTE, 5G, etc.), a wireless local area network (LAN) protocol (e.g., Wireless Fidelity (WIFI)), a peer-to-peer or device-to-device communication protocol (e.g., Bluetooth, Near Field Communication (NFC), etc.), an Internet of Things (IoT) protocol (e.g., NB-IoT, LTE-M, etc.), and / or other wireless communication protocols.

[0025] The processor 202 may include a data processor (e.g., a central processing unit (CPU), a special-purpose computer, and / or an on-board server) configured to execute instructions (e.g., software instructions) stored in a storage device 204 (e.g., computer memory). In some embodiments, the processor 202 may be included in other electronic / electrical devices shown in FIG. 2 and / or in a separate / standalone controller operably coupled to the robotic unit shown in FIG. 1. The processor 202 executes program instructions to control / interface with other devices, thereby causing the robotic system 100 to perform actions, tasks, and / or operations.

[0026] Storage device 204 may include a non-transitory computer-readable medium that stores program instructions (e.g., software). Some examples of storage device 204 may include volatile memory (e.g., cache and / or random access memory (RAM)) and / or non-volatile memory (e.g., flash memory and / or magnetic disk drive). Other examples of storage device 204 may include a portable memory drive and / or a cloud storage device.

[0027] In some embodiments, storage device 204 may be used to further store and access processing results and / or predetermined data / thresholds. For example, storage device 204 may store master data 252, which includes descriptions of objects (e.g., boxes, cases, and / or products) that may be manipulated by robotic system 100. In one or more embodiments, master data 252 may include registration data 254 for each such object. Registration data 254 may include dimensions, shape (e.g., templates of possible poses and / or computer-generated models for recognizing the object in different poses), color scheme, image, identification information (e.g., barcodes, Quick Response (QR) codes, logos, etc., and / or their predicted locations), predicted weight, other physical / visual characteristics, or combinations thereof, of objects predicted to be manipulated by robotic system 100. In one embodiment, master data 252 may include information related to the manipulation of objects, such as the location of the center of mass (CoM) or an estimate of the CoM location for each object, predicted sensor measurements (e.g., force, torque, pressure, and / or contact measurements) corresponding to one or more actions / manipulations, or a combination thereof.

[0028] The communications device 206 may include circuitry configured to communicate with external or remote devices over a network. For example, the communications device 206 may include a receiver, a transmitter, a modulator / demodulator (modem), a signal detector, a signal encoder / decoder, a connector port, a network card, etc. The communications device 206 may be configured to send, receive, and / or process electrical signals according to one or more communications protocols (e.g., Internet Protocol (IP), wireless communication protocols, etc.). In some embodiments, the robotic system 100 can use the communications device 206 to exchange information between units of the robotic system 100 and / or to exchange information with systems or devices external to the robotic system 100 (e.g., for purposes of reporting, data collection, analysis, and / or troubleshooting).

[0029] The input / output devices 208 may include user interface devices configured to communicate information to and / or receive information from a human operator. For example, the input / output devices 208 may include a display 210 and / or other output devices (e.g., speakers, haptic circuitry, or haptic feedback devices) for communicating information to a human operator. The input / output devices 208 may also include control or receiving devices such as a keyboard, mouse, touchscreen, microphone, user interface (UI) sensors (e.g., a camera for receiving motion commands), wearable input devices, etc. In some embodiments, the robotic system 100 can interact with a human operator when performing actions, tasks, operations, or combinations thereof using the input / output devices 208.

[0030] The robotic system 100 may include physical or structural members (e.g., robotic manipulator arms) connected at joints for movement (e.g., rotational and / or translational displacement). The structural members and joints can form kinematic chains configured to manipulate end effectors (e.g., grippers) configured to perform one or more tasks (e.g., grasping, rotating, welding, etc.) depending on the use / task of the robotic system 100. The robotic system 100 may include drives 212 (e.g., motors, actuators, wires, artificial muscles, electroactive polymers, etc.) configured to drive or manipulate (e.g., displace and / or reorient) the structural members about or at the corresponding joints. In some embodiments, the robotic system 100 may include transport motors 214 configured to transport the corresponding units / chassis from location to location.

[0031] The robotic system 100 may include sensors 216 configured to acquire information used to perform a task, such as to manipulate a structural member and / or transport a robotic unit. The sensors 216 may include devices configured to detect or measure one or more physical characteristics of the robotic system 100 (e.g., the state, condition, and / or position of one or more structural members / joints of the robotic system) and / or one or more physical characteristics of the surrounding environment. Some examples of the sensors 216 may include accelerometers, gyroscopes, force sensors, strain gauges, tactile sensors, torque sensors, position encoders, etc.

[0032] In one embodiment, for example, sensors 216 may include one or more imagers 222 configured to detect the surrounding environment (e.g., visual and / or infrared cameras, 2D and / or 3D imaging cameras, distance measuring devices such as lidar or radar, etc.) The imagers 222 may generate representations of the detected environment, such as digital images and / or point clouds, that may be processed via machine / computer vision (e.g., for automated inspection, robotic guidance, or other robotic applications).

[0033] When performing / executing a task and / or operation, the robotic system 100 (e.g., via the various circuits / devices described above) can capture and analyze images of a designated area (e.g., a pick-up location, such as in a truck or on a conveyor belt) to determine the target object 112 in FIG. 1 and the start location 114 in FIG. 1 for the target object 112. Similarly, the robotic system 100 can capture and analyze images of another designated area (e.g., a drop location for placing the object on a conveyor, a location for placing the object in a container, or a location on a pallet for stacking) to determine the task location 116 in FIG. 1. For example, the imaging device 222 can include one or more cameras configured to generate images of the pick-up area and / or one or more cameras configured to generate images of the task area (e.g., a drop area). Based on the captured images, the robotic system 100 can determine the start location 114, the task location 116, the associated pose, the packing / placement plan, the transport / packing sequence, and / or other processing results. Thus, the robotic system 100 can perform tasks and / or unit / task interactions to derive a motion plan to perform a task.

[0034] In some embodiments, for example, the sensors 216 may include position sensors 224 (e.g., position encoders, potentiometers, etc.) configured to detect the position of structural members (e.g., robotic arms and / or end effectors) and / or corresponding joints of the robotic system 100. The robotic system 100 can use the position sensors 224 to track the position and / or orientation of the structural members and / or joints during task execution.

[0035] Robot unit example 3 is a diagram illustrating example task units associated with the robotic system 100 of FIG. 1 in accordance with one or more embodiments of the present technology. The robotic system 100 may include and / or be operatively coupled to a set of robotic units configured to perform / execute one or more tasks. In some embodiments, the robotic units may include a debunking unit 302, a sorting unit 304, an object transport unit 305, a grouping unit 306, a group transport unit 307, a picking unit 308, an unpacking unit 310, a rack transport unit 312, a shelving unit 313, a picking unit 314, a packing unit 316, or a combination thereof.

[0036] The devanning unit 302 may be a robotic unit configured to perform or execute a devanning task 322 by removing a target object from a transport vehicle (e.g., a truck, an airplane, a ship, etc.). In some embodiments, the devanning unit 302 may include a package-level or pallet-level robotic arm and / or lift for lifting the target object and / or its container (e.g., a pallet and / or other shipping container). The devanning unit 302 may also include a transport system, such as wheels, tracks, rails, etc., configured to move the robotic arm and / or lift relative to the transport vehicle.

[0037] The sorting unit 304 may be a robotic unit configured to perform sorting tasks 324 by placing or sending each arriving object to a designated location / task associated with the object and / or according to a sequence. In some embodiments, the sorting unit 304 may include a moving mechanism (e.g., a conveyor) that moves debanned target objects along a path, such as from the debanning unit 302 through / across a handling mechanism. The handling mechanism may include robotic units and / or sensors configured to recognize individual objects along the path and manipulate them according to the recognition results. For example, the handling mechanism (e.g., a package-level robotic arm) may move and place objects at different locations or outside the conveyor to form target object groups and / or target object sequences. The handling mechanism may also move the object from its path to one of the object transport units 305 associated with or assigned to the recognized object.

[0038] The object transport unit 305 may be a robotic unit operably coupled to the sorting unit 304 and configured to move objects between stations / tasks. With respect to the example shown in Figure 3, the object transport unit 305 can move ordered / grouped objects resulting from the sorting task 324 to other tasks and associated units / stations (e.g., locations or areas associated with the tasks and associated units) described below for further processing. The object transport unit 305 may include a set of conveyors, tracks, and / or self-propelled mobile units.

[0039] The grouping unit 306 may be a robotic unit configured to perform the storage grouping task 326 by grouping at least a subset of objects according to category, type, order, and / or manifest, etc., to form grouped sets of objects. For example, the robotic system 100 may control the grouping unit 306 to palletize arriving objects according to brand, manufacturer, identifier, size, weight, and / or other categories. In other words, a warehouse may receive many different types of packages. Also, a group of shipped / received packages may have a quantity or packaging configuration that deviates from a target storage quantity or configuration. Accordingly, the robotic system 100 may redistribute the received packages into new groups that match the target storage group, quantity, and / or packaging configuration. Each resulting group may include corresponding objects placed on or within a container (e.g., a pallet or bin). Accordingly, containers may be categorized for storage according to the groups of associated objects. In some embodiments, the robotic system 100 may categorize containers as having one homogenous group of objects (e.g., same brand, same identifier, etc.) and / or as having multiple or mixed groups of objects.

[0040] In some embodiments, the storage grouping task 326 may include a group of two or more subtasks. The subtasks may include (1) moving or loading an empty grouping mechanism (e.g., a pallet or bin) to a designated area, (2) moving arriving objects from the object handling unit 305 to a grouping area / mechanism (e.g., a pallet or bin) corresponding to the object type or instance, and / or (3) moving a loaded grouping mechanism to a designated location. Accordingly, the grouping unit 306 may include a palletizing robot, such as a package-level robotic arm configured to manipulate boxes or packages. The palletizing robot may grasp and lift objects on the object handling unit 305 and place / stack the objects on a pallet in the designated area. Additionally, the group handling unit 307 may be a robotic unit configured to move grouped objects, such as between a palletizing location and other processing locations (e.g., a depalletizing location and / or a storage location). For example, the grouping unit 307 may include a grouping mechanism and / or a self-propelled robotic unit, such as an automated guided vehicle (AGV), configured to pick and transport objects on the grouping mechanism.

[0041] The retrieval unit 308 may be a robotic unit configured to perform a group manipulation task 328 by rearranging groups of objects, such as to adjust storage groups and / or to form groups of objects for shipping. The group manipulation task 328 may be a task of accessing a group of objects from an initial storage location and placing the group of objects at a task station. For example, the retrieval unit 308 may include a depalletizing unit, such as a package-level robotic arm, configured to manipulate a box or package, remove the box or package from an initial group (e.g., by removing it from a first pallet), and place the box or package in one or more different locations (e.g., on a second pallet or other conveyor) for storage.

[0042] As an illustrative example of group manipulation task 328, a group transport unit 307 (e.g., an AGV) can bring a pallet and objects stored on the pallet from a storage location to a depalletizing location. The depalletizing unit can move the objects from the pallet to another location for restorage or other processing as described below.

[0043] In some embodiments, the devanning task 322, the sorting task 324, and / or the grouping for storage task 328 can be sequenced to form a receiving operation 320. The receiving operation 320 may be an operation that receives objects from an external supplier or source for further processing (e.g., grouping and / or storage). For example, the receiving operation 320 may be an operation that receives, unloads, and / or stores objects arriving from a manufacturer, warehouse, shipping hub, distributor, etc.

[0044] In one or more embodiments, the group manipulation task 328 can be further utilized for different operations. For example, the robotic system 100 can perform a storage operation 330 that includes the group manipulation task 326. The storage operation 330 can include a series of tasks that manipulate, store, and / or access the contents of an object and reposition the task subject for further storage or a subsequent task. In other words, the receiving operation 320 can manipulate boxes and / or packages for storage and access, and the storage operation 330 can manipulate the contents within the boxes and / or packages for storage and access.

[0045] Storage operation 330 may also include other tasks, such as unpacking task 332 and / or racking task 334. Unpacking unit 310 (e.g., a robotic unit) may be configured to perform unpacking task 332 by opening a container, such as a box or packaging material, that forms or encloses an object. In some embodiments, unpacking unit 310 may be configured to remove or cut package fasteners (e.g., tape, tie-downs, etc.) and / or open covers (e.g., box flaps, plastic wrap, lids, etc.). In other embodiments, unpacking unit 310 may be configured to remove the top of a package, such as by cutting and removing the top / top surface of the package, to form an open bin and reveal the items inside. Similarly, racking unit 312 (e.g., a robotic unit such as an AGV) and / or shelving unit 313 (e.g., a package-level robotic arm and / or a dedicated AGV) may be configured to perform racking task 334. The racking tasks 334 may be tasks that place objects / bins onto storage racks and / or access and remove objects / bins from storage racks. The racking tasks 334 may include rack picking tasks that remove and transport objects / bins to different locations. The rack transport unit 312 may be configured to transport storage racks between storage locations and loading / unloading locations. The shelving unit 313 may be configured to place objects (e.g., received and / or opened objects) onto storage racks and / or remove objects from storage racks.

[0046] Like the group manipulation task 328, the racking task 334 can be further utilized for different operations. For example, the robotic system 100 can perform a shipping operation 340 that includes the racking task 334. The shipping operation 340 can include a series of tasks that group objects and / or individual items that are initially stored or at different locations for outbound transport or shipping. In other words, the receiving operation 320 can manipulate and group boxes, packages, and / or content items according to an order or manifest. The grouped objects / items can then be loaded onto a transport vehicle and / or shipped to a remote location / facility separate from the storage location.

[0047] Shipping operation 340 may also include other tasks, such as picking task 342, packing task 344, and / or grouping for shipping task 346. A set of robotic units, including retrieval unit 308, shelving unit 313, and / or picking unit 314 (e.g., an item-level robotic arm), may be configured to perform picking task 342 by accessing and manipulating contents stored / received within an object, such as a box or package. For example, shelving unit 313 and / or retrieval unit 308 may be configured to perform a subtask by placing a storage container (e.g., an opened box) at a processing location. Picking unit 314 (e.g., a robotic arm with a picking end effector) may grab contents from a storage container and move them to a container for shipping (e.g., another box or package), such as according to an order and / or manifest.

[0048] The packaging unit 316 may be configured to perform packaging tasks 344 by enclosing the contents and / or objects for transport to the exterior. For example, the packaging unit 316 may include a robotic unit configured to close flaps or lids on shipping containers, fasten flaps / lids (e.g., via tape, fasteners, and / or adhesive), wrap individual shipping containers, or any combination thereof.

[0049] Packaging unit 316 (e.g., a package-level robotic arm) may be configured to perform grouping task 346 by placing packaged / enclosed shipping containers at designated locations. For example, packaging unit 316 may palletize a group of shipping containers destined for the same vehicle and / or destination location. In some embodiments, grouping task 346 may include an additional subtask of securing the grouped containers, such as by wrapping the set of objects in plastic wrap. A robotic unit (not shown) and / or AGV similar to packaging unit 316 may be configured to apply plastic wrap to the stacked / palletized shipping containers.

[0050] For purposes of explanation, the operations have been described using the example task sequence shown in FIG. 3 . However, it should be understood that the operations and / or tasks may vary. For example, receiving operation 320 may include unpacking task 332 and / or racking task 334. Additionally or alternatively, receiving operation 320 may exclude the subtask performed by group transport unit 307, and instead, the object may be placed on object transport unit 305 for further processing. Thus, receiving operation 320 may transition from package-level operations to item-level operations, and may store the unpacked container in a rack.

[0051] Also, as an illustrative example, shipping operation 340 may include an unpacking task 332 after racking task 334. In other words, arriving objects may be stored without opening the objects, as described above with respect to package-level receiving operation 320. Individual content items may be handled and packaged as part of shipping operation 340. Thus, robotic system 100 may bring stored packages to a picking area by performing racking task 334, and may open the packages by performing unpacking task 332 prior to picking task 342.

[0052] As a further illustrative example, shipping operation 340 may include package-level processing. In other words, arriving objects may be stored without unpacking the objects as described above. Stored objects may be regrouped on shipping pallets according to order, vehicle, and / or destination location without item-level manipulation. Thus, the package-level grouping for shipping task may be group manipulation task 328 followed by grouping for shipping task 346.

[0053] Task / Work Organization Example FIG. 4 is an example control diagram for the robotic system 100 of FIG. 1 in accordance with one or more embodiments of the present technology. The control diagram may show the overall architecture of the robotic system 100 and / or corresponding components. In some embodiments, for example, the robotic system 100 may be implemented via a management system 402, a storage access system 404, a master controller 408, one or more robotic units, and / or other control systems. In other words, the robotic system 100 may be implemented based on operating one or more processors 202 of FIG. 2 included in the management system 402, the storage access system 404, the master controller 408, one or more robotic units, and / or other control systems. As described above, the one or more processors 202 may execute computer-executable instructions stored in the memory device 204 of FIG. 2. The memory device 204 may be included in the management system 402, the storage access system 404, the master controller 408, one or more robotic units, and / or other control systems.

[0054] In other embodiments, for example, the robotic system 100 may be implemented via a management system 402 and / or a master controller 408 and may interface with the storage access system 404, one or more robotic units, and / or other control systems. For example, the one or more processors 202 may execute computer-executable instructions and communicate (e.g., via a communication bus and / or communication device 206 of FIG. 2 ) commands, settings, plans, etc. to the storage access system 404, one or more robotic units, and / or other control systems to perform tasks and / or operations.

[0055] The management system 402 may include a set of computing devices (e.g., one or more processors 202, storage devices 204, and / or portions thereof) configured to manage the overall state / conditions of a corresponding location / site. For example, the management system 402 may include a server, a dedicated controller, a desktop computer or portal, and / or other personal or commercial computing device configured to function as a control / management system for a warehouse, shipping hub, distribution center, etc. The management system 402 may be located at the corresponding location or at a remote location.

[0056] The robotic system 100 can control the transport of objects between task stations such that a task associated with the station is performed on the transported object. When controlling the transport, for example, the management system 402 and / or the master controller 408 can generate timing elements (e.g., flags) and / or communicate the timing elements to the storage access system 404. The storage access system 404 can execute one or more motion plans, or portions thereof, for operating the transport units according to the timing elements from the management system 402 and / or the master controller 408. The storage access system 404 can include a set of computing devices (e.g., one or more processors 202, storage devices 204, and / or portions thereof) configured to control a transport unit, such as the AGV 422. For example, the storage access system 404 can include a server, a dedicated controller, a desktop computer or portal, and / or other personal or commercial computing device configured to control the movement or function of the group transport unit 307 of FIG. 3 and / or the rack transport unit 312 of FIG. 3.

[0057] The master controller 408 may include a set of computing devices (e.g., one or more processors 202, memory devices 204, and / or portions thereof) configured to control the local operation of a particular robotic unit and / or the tasks performed by a particular robotic unit. The master controller 408 may include a server, dedicated controller, desktop computer or portal, and / or other personal or commercial computing device configured to analyze sensor data, determine current or real-time conditions, and / or derive and implement motion plans to perform tasks.

[0058] As an illustrative example, the master controller 408 may receive sensor data representing an object at the task start location 114 of FIG. 1 and may identify the arriving object and / or its physical characteristics (e.g., dimensions, appearance, and / or corner / edge location). The master controller 408 may use the identification result to determine the task location 116 of FIG. 1 and a corresponding motion plan (e.g., a set of commands and / or settings corresponding to a planned movement path) for moving the object from the start location 114 to the task location 116. The master controller 408 may implement the motion plan based on communicating the motion plan or the corresponding commands / settings to corresponding robotic units. The robotic units may execute the commands / settings to perform a task or subtask. In one embodiment, the master controller 408 may control the conveyor 424 (e.g., an instance of the object transport unit 305 of FIG. 3) and / or the sorting unit 304 of FIG. 3. The master controller 408 may also control one or more robotic units shown in FIG. 3, such as the debunking unit 302, the grouping unit 306, the removal unit 308, the unpacking unit 310, the shelving unit 313, the picking unit 314, and / or the packaging unit 316.

[0059] The management system 402, the storage access system 404, and / or the master controller 408 may be configured to control the corresponding tasks / operations based on the work description 406. In some embodiments, the management system 402 may be configured to generate the work description 406 based on information about arriving objects, currently stored objects, and / or shipping orders or manifests. The work description 406 may include details, rules, objectives, timing, and / or interfaces related to the performance of the task / operation. For example, the work description 406 may include the current quantity and / or storage location of objects and / or items within the managed premises. The work description 406 may also include identification of grouping or processing locations (e.g., for the sortation unit 304), storage locations, and / or storage containers / pallets for arriving / received objects and / or reorganized objects / items. Additionally, the work description 406 may include information for grouping objects / items for storage and / or external shipping.

[0060] In some embodiments, the management system 402 may use the work description 406 to coordinate the timing of tasks and / or interactions between tasks to perform the work. The management system 402 can derive and / or implement commands, settings, and / or plans for the tasks according to the timing and / or interactions. In other embodiments, the management system 402 may communicate the work description 406 to the master controller 408, the storage access system 404, and / or other controllers / systems. The master controller 408, the storage access system 404, and / or other controllers / systems can use the work description 406 to derive and / or implement commands, settings, and / or plans for the tasks.

[0061] In some embodiments, tasks and / or operations may be performed at different locations within a managed premises. Each task and / or operation may correspond to a production cycle performed at a corresponding station. For example, the robotic system 100 may control tasks / operations corresponding to a first production cycle 412, a second production cycle 414, a third production cycle 416, and / or a fourth production cycle 418. In some embodiments, the first production cycle 412 may correspond to a task, operation, and / or a portion thereof performed at a palletizing station 432 by one or more associated robotic units. Similarly, the second production cycle 414 may correspond to a depalletizing station 434, and the third production cycle 416 may correspond to a rack supply station 436. The fourth production cycle 418 may similarly correspond to a rack picking station 438, a piece picking station 440, and / or a destination station. Details of the production cycles and stations are described below.

[0062] 5A illustrates a first example production cycle (e.g., first production cycle 412) in accordance with one or more embodiments of the present technology. Accordingly, FIG. 5A illustrates an example layout and / or functionality of a palletizing station 432. In some embodiments, the palletizing station 432 may be configured to perform the group for storage task 326 of FIG. 3. Accordingly, the palletizing station 432 may include a grouping unit 306 (e.g., a palletizing unit including a robotic arm with a corresponding end effector).

[0063] The palletizing station 432 may include a source location 502 and one or more destination locations 504 (e.g., pallet locations). The source location 502 may include a location where the grouping unit 306 receives and / or picks up arriving objects. For the example shown in FIG. 5A , the source location 502 may correspond to the end of the entrance instance of the conveyor 424 (e.g., the instance of the object transport unit 305 in FIG. 3 ) closest to the grouping unit 306. The destination locations 504 may each be a placement location for a group of objects. Object containers, such as bins and / or pallets, may be placed at the destination locations 504 to receive the group of objects. The destination locations 504 and / or the source locations 502 may be predetermined or spatially fixed relative to the grouping unit 306. In some embodiments, the destination location 504 and / or the source location 502 may be positioned around (e.g., at least partially surrounding) the grouping unit 306 and / or within a lateral working distance associated with the grouping unit 306.

[0064] In some embodiments, the palletizing station 432 may include different types of destination locations 504, such as single load locations 506 and / or mixed load locations 508. Each single load location 506 may be designated for loading / grouping one type of object. In other words, the robotic system 100 may place one type of object onto a pallet placed at each of the single load locations 506. Each mixed load location 508 may be designated for loading / grouping multiple different types of objects. In other words, the robotic system 100 may place multiple types of objects onto a pallet placed at each of the mixed load locations 508.

[0065] In some embodiments, the mixed load locations 508 and the individual load locations 506 may be predetermined and / or fixed. In other embodiments, the robotic system 100 can dynamically assign a type to each of the destination locations 504 (e.g., during run time and / or according to real-time conditions or processing results). For example, the robotic system 100 can adjust the quantity and / or location of the individual load locations 506 and / or the mixed load locations 508 according to real-time conditions (e.g., via the management system 402 of FIG. 4 and / or the master controller 408 of FIG. 4). In one or more embodiments, the robotic system 100 can assign an identifier to the container and / or the corresponding destination location 504 that identifies the assigned type.

[0066] The palletizing station 432 may include a predictive queue 510 that is used to determine the order of arriving objects. The predictive queue 510 may include one or more sensors (e.g., two-dimensional (2D) and / or three-dimensional (3D) sensors) configured to image one or more objects as they move toward the source location 502. The predictive queue 510 may also include a holding area in front of the source location 502 that is configured to hold or store a predetermined number of objects. Thus, the robotic system 100 can use the predictive queue 510 to determine the identities of a predetermined number of objects that sequentially arrive at the source location 502.

[0067] As an illustrative example of the first production cycle 412 (e.g., the grouping for storage task 326), the robotic system 100 may obtain the order of arriving boxes. The robotic system 100 (e.g., the management system 402 and / or the master controller 408) may obtain the order from a received package manifest, processing results, or status information from the debunking unit 302 of FIG. 3 and / or the sorting unit 304 of FIG. 3. The robotic system 100 may obtain the information by determining the order of arrival using a predictive queue 510. The robotic system 100 (e.g., the management system 402, the storage access system 404, and / or the master controller 408) can assign each arriving object to one of the destination locations 504 according to grouping criteria (e.g., type, brand, object identification, etc.).

[0068] Continuing with the illustrative example, the master controller 408 and / or management system 402 can request the storage access system 404 to assign a container (e.g., pallet) and destination location for each of the grouping criteria corresponding to the arriving object. Accordingly, the storage access system 404 can provide the arriving object with a container identifier (e.g., pallet identifier) and / or a destination location.

[0069] When a container is not currently at its assigned location, the master controller 408 and / or management system 402 can provide a move-in trigger (MoveIn) to the storage access system 404 to bring the container to one of the destination locations 504. Based on the move-in trigger, the storage access system 404 can control the AGV 422 of FIG. 4 to take the container to the assigned destination location 504. After the AGV 422 places the container at its assigned location, it can provide the storage access system 404 with its current location and / or placement status (e.g., task completion status). The storage access system 404 can notify the master controller 408 and / or management system 402 accordingly.

[0070] Once the containers are in place, the master controller 408 and / or management system 402 can control the grouping unit 306 to pick up the objects from the source location 502 and move the objects to their assigned destinations. For example, the master controller 408 and / or management system 402 can derive and / or communicate a motion plan and / or corresponding commands / settings to the grouping unit 306. The grouping unit 306 can execute the received information to grasp, lift, move horizontally, lower, and release the objects to place them at their assigned destinations. The grouping unit 306 may communicate a placement status or task completion status to the master controller 408 and / or management system 402 after moving one or more objects. The master controller 408 and / or management system 402 can also communicate the placement status or task completion status to the storage access system 404. The storage access system 404 can track the amount of objects placed in each container based on the status updates.

[0071] During the first production cycle 412, once the targeted amount of objects has been placed in a container, the master controller 408 and / or management system 402 can provide a move-out trigger (MoveOut) to remove the container from the corresponding destination location. Based on the move-out trigger, the storage access system 404 can control the AGV 422 to take the container from the destination location to the next processing location, such as a depalletizing station or storage location, provided by the master controller 408 and / or management system 402. The robotic system 100 can repeat the above process until all of the arriving objects have been grouped and no more arriving objects are expected.

[0072] 5B is a flow diagram of a method 550 of operating the robotic system 100 of FIG. 1 in accordance with one or more embodiments of the present technology. The method 550 may be a method of implementing the first production cycle 412 of FIG. 4 (e.g., the grouping for storage task 326 of FIG. 3). The method 550 may be implemented based on executing instructions stored in one or more of the memory devices 204 of FIG. 2 using one or more of the processors 202 of FIG. 2. Accordingly, the one or more processors 202 may perform operations (e.g., by generating / sending commands, settings, and / or plans) to control one or more units (e.g., the grouping unit 306 of FIG. 3, the group transport unit 307 of FIG. 3, such as the AGV 422 of FIG. 4, the sensor 216 of FIG. 2, etc.) and / or components thereof.

[0073] As an illustrative example, the processes set forth on the left side of Figure 5B may be performed by one or more supervisory devices (e.g., management system 402 and / or master controller 408) that coordinate the operations / tasks of systems, subsystems, and / or groups of devices. The processes shown on the right side of Figure 5B may be performed by storage access system 404. Thus, method 550 may illustrate interactions between various devices / subsystems of robotic system 100.

[0074] In block 552, one or more monitoring devices can identify arriving objects. As an illustrative example, the master controller 408 and / or the management system 402 can identify arriving objects associated with the palletizing tasks of the corresponding operation. The master controller 408 can receive sensor output data (e.g., 2D / 3D images) from one or more sensors associated with the predictive queue 510 of FIG. 5A. The master controller 408 and / or the management system 402 can compare the sensor output data with the master data 252 of FIG. 2, which includes dimensions, surface images, identifier information, and / or other distinguishing physical characteristics of known / registered objects. The master controller 408 and / or the management system 402 can identify or recognize the objects in the predictive queue 510 accordingly. In some embodiments, the master controller 408 and / or the management system 402 can estimate the identity of an object and / or measure the dimensions of the object in real time when the compared aspect of the object is not found in the master data 252.

[0075] In block 554, the one or more monitoring devices can calculate a packing simulation for the arriving objects. For example, the master controller 408 and / or the management system 402 can calculate a packing simulation that groups the objects according to one or more grouping criteria. The master controller 408 and / or the management system 402 may obtain physical dimensions (e.g., length, width, and / or height), weight, CoM, and / or other information about the identified objects. The master controller 408 and / or the management system 402 can calculate the packing simulation by deriving placement locations within a container and / or a motion plan to place the objects in the container.

[0076] To derive the placement locations, the master controller 408 and / or management system 402 can determine a target group of objects according to a set of predetermined rules / processes. For example, the master controller 408 and / or management system 402 may determine test placement locations as predetermined locations on the container (e.g., peripheral and / or central locations). The master controller 408 and / or management system 402 can derive a motion plan and / or movement path to move the object from the source location 502 to the test placement location of the container placed at one or more of the destination locations 504. The master controller 408 and / or management system 402 can evaluate the resulting motion plan according to factors such as path length, number of maneuvers or direction changes, obstacles, collision probability, and / or other operational criteria. The master controller 408 and / or management system 402 can also evaluate the stacking / packing arrangement of the containers to determine a target capacity that meets stability and / or stacking requirements. For example, the master controller 408 and / or management system 402 can simulate various packaging / stacking configurations of objects to be placed according to maximum quantity, target placement, and / or maximum stack height.

[0077] In block 556, one or more monitoring devices can update the grouping elements. The grouping elements can include flags, data, commands, and / or status information that represent the requirements of the container for packing / storing the arriving object. Some examples of grouping elements can include a flag to initiate container preparation (e.g., by picking up an empty or designated / partially full container), an object category associated with the arriving object and / or container, a single / consolidated designation of the container, and / or a packing limit / capacity of the container. The master controller 408 and / or management system 402 can communicate information to the storage access system 404. For example, the master controller 408 and / or management system 402 can notify the storage access system 404 to prepare a target storage container (e.g., a pallet) to receive the arriving object.

[0078] At block 582, the storage access system 404 can identify a container to receive the object based on the received grouping element. In some embodiments, the storage access system 404 can set a flag indicating that a preparation action is being performed by the storage access system 404 and / or the AGV 422. The storage access system 404 can determine the current location of the container and / or the identifier and / or type (e.g., single load / consolidated) of the container required for the packing plan. The storage access system 404 may determine the location / identifier by considering the identifier / type of the container currently in storage and / or at the destination location 504 of FIG. 5A.

[0079] As an illustrative example, the storage access system 404 can determine the container identifier as the container already at the single load location 506 of FIG. 5A when the container corresponds to the identified arriving object and is available to accept additional objects. The storage access system 404 may also determine the container identifier as the container already at the consolidation location 508 of FIG. 5A when the container is designated to accept a consolidation of objects that includes currently inventory objects. When multiple corresponding containers are at the destination location, the storage access system 404 can determine the container identifier of the container with the fewer amount of objects. When a container (e.g., single and / or consolidation) at the destination location 504 does not correspond to the identified arriving object, the storage access system 404 can assign the stored container containing the fewest amount of objects and / or closest to the grouping unit 306 to receive the arriving object.

[0080] In block 584, the storage access system 404 can prepare a container to receive the object. The storage access system 404 can control the AGV 422 to access the assigned / identified container and move the container to one of the destination locations 504 or to a waiting station for temporary storage. For example, the storage access system 404 can identify an unused AGV that is closest to the identified container's storage location. The storage access system 404 can command the identified AGV to pick up the identified container and can provide the container's current storage location and desired target location (e.g., a waiting area or one of the destination locations 504). The storage access system 404 can track the status of the AGV and, once the AGV arrives at the target location, can update a flag to indicate that the work / task associated with the preparation action is complete.

[0081] In block 558, one or more monitoring devices can track the placement status of the container. For example, the master controller 408 and / or the management system 402 can receive container information (e.g., a pallet identifier) representing a container that the storage access system 404 has prepared to receive an arriving object. Once the storage access system 404 updates a flag to indicate that the work / task associated with the preparation action is complete, the master controller 408 and / or the management system 402 can determine the location of the container according to the packing simulation. The master controller 408 and / or the management system 402 can accordingly communicate the container identifier, the determined destination location, and / or a MoveIn trigger to the storage access system 404. In response, as shown in block 584, the storage access system 404 can control the AGV to move the container to the determined destination location. The storage access system 404 can update the resulting control status (e.g., location occupancy status, container placement status and details, and / or other relevant information for placing the container at the determined location).

[0082] At decision block 560, one or more monitoring devices may determine whether the container is ready to receive the object. For example, the master controller 408 and / or management system 402 may monitor the control states of the storage access system 404 to determine whether the container is ready. The master controller 408 and / or management system 402 may continue monitoring until the control states indicate that the container is at the designated destination location.

[0083] Once the container is ready, the one or more monitoring devices can perform the object placement, as shown in block 562. The master controller 408 and / or the management system 402 can derive a motion plan as described above. In some embodiments, the master controller 408 and / or the management system 402 can derive or update the placement location and corresponding motion plan in real time. As an illustrative example, the master controller 408 can receive one or more 2D / 3D images depicting a container placed at a specified destination location. The master controller 408 can process the received images to derive the object placement location, such as by determining height / depth values assigned to a grid system or pixelated model of the container placement surface. In some embodiments, the master controller 408 can adjust the motion plan resulting from the packing simulation according to the placement location. In other embodiments, the master controller 408 can derive the object path and corresponding motion plan according to the placement location, as described above. The master controller 408 can implement the motion plan by communicating the motion plan and / or corresponding commands and / or settings to the grouping unit 306. The grouping unit 306 can execute the received information to move an end effector (e.g., a gripper) towards an object, grasp the object with the end effector, lift the object, move laterally, place the object, and / or release the object according to the motion plan.

[0084] In block 564, one or more monitoring devices can update the object placement status. For example, the master controller 408 and / or management system 402 can maintain a placement flag indicating whether a particular object has been placed in a container. The master controller 408 and / or management system 402 can also maintain a placement execution flag indicating whether the grouping unit 306 is executing an action plan to place an object in a container. After each placement, the master controller 408 and / or management system 402 can determine the identifier of the newly placed object, the placement location of the newly placed object, the overall shape of the packaged set of objects, and / or other information about the placed object and / or the contents of the container, such as the amount of objects in the container.

[0085] At block 586, the storage access system 404 can update the container profile based on the placement status. The storage access system 404 can monitor the placement flag and / or execution flag to identify when an object has been placed in a container. Once an object has been placed in a container, the storage access system 404 can update the container profile with details about the contents of the corresponding container. For example, the storage access system 404 can receive content information from the master controller 408 and / or management system 402 and store it in the container profile. Additionally, the storage access system 404 can incrementally increase the quantity of the object based on the monitored status(es).

[0086] At decision block 566, the robotic system 100 can determine whether the subtask or sub-operation associated with the container at the destination location is complete. For example, after placing an object, the storage access system 404, the master controller 408, and / or the management system 402 can determine whether the container is full, such as by comparing the updated object quantity with a quantity limit determined by a packing simulation and / or a predetermined storage packing threshold. The master controller 408 and / or the management system 402 can also determine whether a container is needed or targeted for placing the next arriving object. When the container is not full and / or when the container is targeted for the next placement, the master controller 408 and / or the management system 402 can continue placing the next arriving object (e.g., the next object in the prediction queue 510). The master controller 408 and / or the management system 402 can continue with the next placement by repeating the process described above, such as from block 552 and / or block 562.

[0087] When a container is full and / or does not correspond to the arriving object, the master controller 408 and / or management system 402 can instruct the storage access system 404 to remove the container from the destination location, such as by setting a MoveOut flag, as shown in block 568. In other words, the robotic system 100 can determine that the next arriving object will not likely be placed in the container. In response to such a determination, the master controller 408 and / or management system 402 can instruct the storage access system 404 to remove the container from the destination location, such as by setting a MoveOut flag. In response, the storage access system 404 can control the AGV 422 to remove the container from the destination location, as shown in block 588. The storage access system 404 can control the AGV 422 to move to a different destination location, a different station, a waiting area, or a storage area according to other work factors or real-time conditions.

[0088] In some situations, such as when the removed container is full and other instances of the same type of object remain in the predictive queue 510, control flow proceeds to block 582. Accordingly, the storage access system 404 may then identify another container to place in the newly vacated destination location. Method 550 may proceed as described above to place the remaining objects in the updated container. In other situations, control flow may proceed to block 552 and repeat the above process to place the next arriving object in the corresponding container.

[0089] 6A is a diagram of a second example production cycle (e.g., second production cycle 414), in accordance with one or more embodiments of the present technology. Accordingly, FIG. 6A illustrates an example layout and / or functionality of a depalletizing station 434. In some embodiments, the depalletizing station 434 may be configured to perform the group operation task 328 of FIG. 3. Accordingly, the depalletizing station 434 may include the removal unit 308 (e.g., a depalletizing unit including a robotic arm with a corresponding end effector).

[0090] The depalletizing station 434 may be configured similarly to the palletizing station 432 of FIG. 4, but for removing objects from containers instead of placing objects in them. For example, the depalletizing station 434 may include a set of source locations 602 where the removal unit 308 receives and / or picks from containers (e.g., pallets) containing previously packaged / stored objects. For the example shown in FIG. 6A, the source locations 602 may correspond to the placement areas of containers and / or AGVs. The depalletizing station 434 may also include one or more destination locations 604 configured to move the objects removed (e.g., depalletized) from the containers to different locations. In some embodiments, each destination location 604 may include the end of an exit instance of the conveyor 424 (e.g., an instance of the object transport unit 305 of FIG. 3) closest to the removal unit 308. The source location 602 and / or the destination location 604 may be predetermined or may be spatially fixed relative to the retrieval unit 308. In some embodiments, the destination location 604 and / or the source location 602 may be disposed around (e.g., at least partially surrounding) the retrieval unit 308 and / or within a lateral working distance associated with the retrieval unit 308.

[0091] The depalletizing station 434 may include a predictive queue 610 used to determine the set of arriving containers and / or corresponding objects. The predictive queue 610 may include one or more sensors (e.g., two-dimensional (2D) sensors and / or three-dimensional (3D) sensors) configured to image the containers / objects as they move toward the source location 602. The predictive queue 610 may also include a holding area in front of the source location 602 configured to hold or store a predetermined number of containers in a designated location. Thus, the robotic system 100 can use the predictive queue 610 to determine the identity, quantity, and / or location of objects sequentially arriving at the source location 602.

[0092] As an illustrative example of second production cycle 414 (e.g., group operation task 328), management system 402 of FIG. 4 and / or storage access system 404 of FIG. 4 can determine a trigger to reorganize containers, such as to consolidate the contents of a partially filled container and / or to fulfill an outbound shipment. Accordingly, management system 402 and / or storage access system 404 can identify a container that is the subject of group operation task 328. Storage access system 404 can notify management system 402 of FIG. 4 and / or master controller 408 of the identified container and / or control AGV 422 of FIG. 4 to place the identified container in predictive queue 610. Management system 402 and / or master controller 408 can receive and / or acquire information regarding the identified container and / or objects within the container (e.g., via sensors in predictive queue 610). The management system 402 and / or master controller 408 can derive and implement a motion plan to move target instances or quantities of objects from a set of source locations 602 to a destination location 604. The management system 402 and / or master controller 408 can generate and exchange coordination signals (e.g., MoveIn signals, MoveOut signals, and / or other signals) with the storage access system 404 to coordinate the placement of containers at the source locations 602.

[0093] 6B is a flow diagram of a method 650 of operating the robotic system 100 of FIG. 1 in accordance with one or more embodiments of the present technology. Method 650 may be a method of implementing the second production cycle 414 of FIG. 4 (e.g., group operation task 328 of FIG. 3). Method 650 may be implemented based on executing instructions stored in one or more of the memory devices 204 of FIG. 2 using one or more of the processors 202 of FIG. 2. Accordingly, the one or more processors 202 may perform operations (e.g., by generating / sending commands, settings, and / or plans) to control one or more units (e.g., pick unit 308 of FIG. 3, group transport unit 307 of FIG. 3, such as AGV 422 of FIG. 4, sensor 216 of FIG. 2, etc.) and / or components thereof.

[0094] As an illustrative example, the process shown on the left side of Figure 6B may be performed by one or more supervisory devices (e.g., management system 402 and / or master controller 408) that coordinate the operations / tasks of systems, subsystems, and / or groups of devices. The process shown on the right side of Figure 6B may be performed by storage access system 404. Thus, method 650 may show interactions between various devices / subsystems of robotic system 100.

[0095] In block 682, the storage access system 404 can identify target containers for the group operation task (e.g., containers in storage and / or at other task locations). As an illustrative example, one or more monitoring devices (e.g., master controller 408 and / or management system 402) can receive an outbound shipping order and provide a list of objects or object types to the storage access system 404. The storage access system 404 can identify containers in storage that contain the specified objects (e.g., objects included in the outbound shipping order). When multiple containers contain the specified objects, the storage access system 404 can select the container closest to the depalletizing station 434 and / or that has the least / highest amount of the target objects.

[0096] Additionally, the storage access system 404 can periodically (e.g., according to a predetermined timing and / or after a task is completed) analyze the contents of the stored containers. When the number of containers with partially filled amounts (e.g., less than the maximum threshold capacity of the containers) exceeds a predetermined reorganization threshold, the storage access system 404 can initiate object reorganization. The storage access system 404 can select partially filled containers for the group operation task 328.

[0097] In block 684, the storage access system 404 can control the placement of the target container at the source location 602. The storage access system 404 can control the group transport unit 307 (e.g., AGV 422) to bring the identified container from its current location (e.g., a storage location and / or another task station) to the depalletizing station 434. For example, the storage access system 404 can identify the closest available AGV to the identified container. The storage access system 404 can send information (e.g., container identifier / location and / or container destination) to the identified AGV to pick up the container and bring it to the predictive queue 610 of FIG. 6A.

[0098] While controlling the placement of a container, the storage access system 404 can update various status and / or information. For example, the storage access system 404 can set a status flag(s) indicating whether the container has been placed in the predictive queue 610. The storage access system 404 can also provide the container identifier, the container's placement position within the predictive queue 610, the type / identifier of the object within the container, the amount of tracked objects within the container, and / or the placement position of the object within the container.

[0099] At block 652, the one or more monitoring devices can identify the arriving object. As an illustrative example, the master controller 408 and / or management system 402 can receive container information (e.g., pallet identifiers) and / or corresponding arriving objects by the storage access system 404. The master controller 408 and / or management system 402 can further receive sensor output data (e.g., 2D / 3D images) from one or more sensors associated with the predictive queue 610. The master controller 408 and / or management system 402 can identify or recognize objects in the predictive queue 610 based on comparing the received sensor data to the master data 252 of FIG. 2 .

[0100] The master controller 408 and / or management system 402 can interact with the storage access system 404 to place a container at one of the source locations 602 in FIG. 6A . For example, the master controller 408 and / or management system 402 can identify an object needed at a downstream station / task. The master controller 408 and / or management system 402 can identify a container in the forecast queue 610 that contains the identified object. The master controller 408 and / or management system 402 can further select a source location to receive the identified container. The master controller 408 and / or management system 402 can provide the identified container, the identified container's location in the forecast queue 610, and / or the selected source location of the identified container to the storage access system 404. In response, the storage access system 404 can control a corresponding AGV 422 to move the identified container to the selected source location. As noted above, the storage access system 404 can adjust the flag to reflect whether the container placement is ongoing or has completed.

[0101] At decision block 660, one or more monitoring devices can determine whether the container is at the selected source location. For example, the master controller 408 and / or management system 402 can monitor the control state of the storage access system 404 to determine whether the container is ready. The master controller 408 and / or management system 402 can continue monitoring until the control state indicates that the container is at the selected source location.

[0102] Once the container is ready, one or more monitoring devices can perform object retrieval, as shown in block 662. The master controller 408 and / or management system 402 can derive a motion plan to pick up the target object from the source location 602 and place the target object at the destination location 604, as described above. In some embodiments, the master controller 408 and / or management system 402 can derive and update the placement locations and corresponding motion plans in real time.

[0103] As an illustrative example, the master controller 408 can receive one or more 2D / 3D images depicting a container placed at a selected source location. The master controller 408 can process the received images to select an object and / or derive an approach position for approaching / grasping the object, such as by determining height / depth values assigned to a grid system or pixelated model of the container's resting surface. In some embodiments, the master controller 408 can adjust the motion plan resulting from the packing simulation according to the location of the identified / selected object within the container. In other embodiments, the master controller 408 can derive an object path and corresponding motion plan according to the object location, as described above. The master controller 408 can implement the motion plan by communicating the motion plan and / or corresponding commands and / or settings to the unloading unit 308. The removal unit 308 can execute the received information to move an end effector (e.g., a gripper) toward an object, grasp the object with the end effector, lift the object, move laterally, place the object, and / or release the object according to a motion plan.

[0104] In block 664, one or more monitoring devices can update the placement status of the object. For example, the master controller 408 and / or management system 402 can maintain a placement flag that indicates whether a particular object has been placed at the destination location 604. The master controller 408 and / or management system 402 can also maintain a placement execution flag that indicates whether the retrieval unit 308 is executing a motion plan to place the object at the destination location 604. After each placement, the master controller 408 and / or management system 402 can determine other information about the placed object and / or the contents of the source container, such as the identifier of the object moved, the overall shape of the set of objects remaining in the container, and / or the amount of objects remaining in the container.

[0105] At block 686, the storage access system 404 can update the container profile based on the placement status. The storage access system 404 can monitor the placement flag and / or execution flag to identify when an object has been removed from a container. Once the object is placed at the destination location 604, the storage access system 404 can update the container profile for the corresponding container by retrieving details about the retrieved object. Additionally, the storage access system 404 can incrementally reduce the quantity of the object based on the monitored status(es).

[0106] At decision block 666, the robotic system 100 can determine whether the operation / task associated with retrieving the object(s) from the source location is complete. For example, the storage access system 404, the master controller 408, and / or the management system 402 can determine whether the container is empty after placing / removing the object. Additionally, the master controller 408 and / or the management system 402 can determine whether the container is needed or targeted for processing the next object.

[0107] When the container is not empty and / or is eligible for further processing, the master controller 408 and / or management system 402 can continue with picking the next object from the container at the source location 602. The master controller 408 and / or management system 402 can continue with the next placement by repeating the process described above, such as from block 662. In one embodiment, the master controller 408 and / or management system 402 can determine a desired removal count. The master controller 408 and / or management system 402 can repeat the process described above at block 662 to remove the desired number of objects from the source location. The master controller 408 and / or management system 402 can determine that the operation / task associated with removing the object(s) from the source location is complete once the desired number of objects have been moved from the container to the destination location 604.

[0108] When the container is empty and / or does not correspond to the next target object, the master controller 408 and / or management system 402 can instruct the storage access system 404 to remove the container from the source location, such as by setting a MoveOut flag. In other words, the robotic system 100 can determine that the source location 602 does not have a next target object. In response to such a determination, the master controller 408 and / or management system 402 can instruct the storage access system 404 to remove the container from the source location, such as by setting a MoveOut flag. In response, as shown in block 688, the storage access system 404 can generate and / or control instructions to control the AGV 422 to remove the container from the source location. The storage access system 404 can generate and / or control instructions to control the AGV 422 to move to a different source location, a different station, a waiting area, or a storage area depending on other work factors or real-time conditions. After vacating the source location by removing a container, control flow can proceed to block 682 and / or 684 to bring a new container into the vacated source location.

[0109] 7A is a diagram of a third example production cycle (e.g., third production cycle 416) in accordance with one or more embodiments of the present technology. Accordingly, FIG. 7A illustrates an example layout and / or functionality of a rack supply station 436. In some embodiments, the rack supply station 436 may be configured to perform the group manipulation task 328 of FIG. 3 and / or the rack placement task 334 of FIG. 3. The rack supply station 436 may include a shelving unit 313 (e.g., a rack shelving unit including a robotic arm with a corresponding end effector). In some embodiments, the rack supply station 436 may be configured to move and place objects into storage racks.

[0110] The rack supply station 436 may be configured similarly to the palletizing station 432 of FIG. 4, but may be for placing objects and / or object contents into storage racks rather than placing objects into containers. For example, the rack supply station 436 may include a set of source locations 702 at which the shelving unit 313 receives objects (e.g., packages and / or boxes) to be moved / placed into storage racks. For the example shown in FIG. 7A , the source locations 702 may correspond to the end of the entrance instance of the conveyor 424 of FIG. 4 (e.g., an instance of the object handling unit 305 of FIG. 3) that is closest to the shelving unit 313. The rack supply station 436 may also include one or more destination locations 704 configured to receive objects removed from the source objects. In some embodiments, the destination locations 704 may correspond to placement locations for racks and / or containers of items (e.g., bins and / or objects) on the racks. The source location 702 and / or destination location 704 may be predetermined or may be spatially fixed relative to the shelving unit 313 .

[0111] The rack supply station 436 may include one or more order queues 710. The order queues 710 may precede the source location 702. In some embodiments, the order queues 710 may include corresponding conveyors and / or other transport mechanisms that move objects to the source location 702. Each order queue 710 may be configured to hold a predetermined number of objects and / or include predetermined holding locations. Each order queue 710 may also include one or more cameras (e.g., 2D / 3D imagers) configured to identify / recognize objects placed in the order queue 710.

[0112] In some embodiments, each rack supply station 436 may be operably coupled to a cross-station transport unit 712. The cross-station transport unit 712 (e.g., a self-propelled robotic unit and / or a conveyor) may be configured to transport objects between stations. For the example shown in FIG. 7A , the cross-station transport unit 712 may be configured to transport objects from the depalletizing station 434 (station B) in FIG. 4 and / or the piece picking station 440 (station E) in FIG. 4. In other words, the rack supply station 436 may be configured to process objects depalletized at the depalletizing station 434 and / or objects filled with objects specified at the piece picking station 440. In some embodiments, the rack supply station 436 may be configured to receive and process objects unpacked from the unpacking unit 310 in FIG. 3 and / or a station corresponding to the unpacking task 332 in FIG. 3 via the cross-station transport unit 712.

[0113] The rack supply station 436 may further include one or more receiving queues 714 configured to temporarily hold receiving / storage racks ("PODs" shown in FIG. 7 ) for receiving objects before depositing them at the destination location 704. For example, the robotic system 100 can coordinate the placement of a series of objects in an order queue 710. The robotic system 100 can control a transport unit (e.g., AGV 422 in FIG. 4 ) to prepare and deposit a series of storage racks in the receiving queue 714. The receiving queue 714 may correspond to the order queue 710. Thus, the robotic system 100 can improve efficiency when depositing arriving objects in storage racks (e.g., by reducing the time required to deposit / access the storage racks).

[0114] As an illustrative example of third production cycle 416 (e.g., rack placement task 334), management system 402 of FIG. 4 and / or master controller 408 of FIG. 4 can identify / recognize the order of arriving objects based on sensor data from order queue 710. Management system 402 and / or master controller 408 can interact with storage access system 404 of FIG. 4 for available storage racks to place the arriving objects and calculate the possible order of storage racks to receive the arriving objects. In one embodiment, management system 402 and / or master controller 408 can communicate the order of arriving objects and / or the corresponding racks to storage access system 404. Storage access system 404 can prepare and control transport units (e.g., AGVs 422) to bring the racks to receiving queue 714 and destination location 704. The management system 402 and / or master controller 408 can track the progress / status of the storage access system 404 and can coordinate (e.g., via a MoveIn flag and / or a MoveOut flag) the timing of the movement of the AGVs 422 and corresponding racks to / from the receiving queue 714 and destination location 704.

[0115] 7B is a flow diagram of a method 750 of operating the robotic system 100 of FIG. 1 in accordance with one or more embodiments of the present technology. The method 750 may be a method of implementing the third production cycle 416 of FIG. 4 (e.g., the group manipulation task 328 and / or the racking task 334 of FIG. 3). The method 750 may be implemented based on executing instructions stored in one or more of the memory devices 204 of FIG. 2 using one or more of the processors 202 of FIG. 2. Accordingly, the one or more processors 202 may perform operations (e.g., by generating / sending commands, settings, and / or plans) to control one or more units (e.g., the shelving unit 313 of FIG. 3, the group transport unit 307 of FIG. 3, such as the AGV 422 of FIG. 4, the sensor 216 of FIG. 2, etc.) and / or components thereof.

[0116] As an illustrative example, the process shown on the left side of Figure 7B may be performed by one or more supervisory devices (e.g., management system 402 and / or master controller 408) that coordinate the operations / tasks of systems, subsystems, and / or groups of devices. The process shown on the right side of Figure 7B may be performed by storage access system 404. Thus, method 750 may show interactions between various devices / subsystems of robotic system 100.

[0117] At block 752, one or more monitoring devices can identify arriving objects. As an illustrative example, the master controller 408 and / or management system 402 can identify arriving objects associated with the racking task of the corresponding operation (e.g., depalletized objects or bins resulting from a picking task). The master controller 408 can receive sensor output data (e.g., 2D / 3D images) from one or more sensors associated with the order queue 710 of FIG. 7A and / or sensor data from one or more sensors associated with the cross-station transport unit 712 of FIG. 7A. The master controller 408 and / or management system 402 can compare the sensor output data with master data 252 of FIG. 2, which may include dimensions, surface images, identifier information, and / or other distinguishing physical characteristics of known / registered objects. The master controller 408 and / or management system 402 can identify or recognize the objects in the order queue 710 accordingly. Also, as an illustrative example, the master controller 408 and / or management system 402 can identify arriving objects based on output status / information from other tasks and / or stations (e.g., the depalletizing station 434 in FIG. 4 and / or the piece picking station 440 in FIG. 4). Additionally, the master controller 408 and / or management system 402 can identify arriving objects based on the arriving shipment's manifest, packing / storage plan, and / or shipping order.

[0118] One or more monitoring devices may query for available racks at block 754. In one embodiment, for example, the master controller 408 and / or management system 402 may communicate a predetermined command / message to the storage access system 404 requesting a list of available racks. The master controller 408 and / or management system 402 may communicate identified arriving objects to the storage access system 404 along with and / or in lieu of the command.

[0119] At block 782, the management system 402 may identify an available storage rack. In response to a command from the monitoring device, the management system 402 may identify a storage rack with an empty / available location(s) or slot(s) for receiving the arriving object. For example, the management system 402 may identify a storage rack with an empty / available location(s) assigned or predetermined to receive the arriving object. In one embodiment, the management system 402 may identify an available storage rack based on the current state (e.g., fill percentage) of the storage rack. As an illustrative example, when multiple storage racks are assigned to receive the arriving object, the management system 402 may identify an available storage rack as the storage rack with a current state reflecting the least amount of stored objects and / or corresponding items. The management system 402 may communicate the identified storage rack and / or other relevant information (e.g., the rack's current state, current location, and / or assigned storage location) to the master controller 408 and / or the management system 402.

[0120] In block 756, the one or more monitoring devices can calculate one or more rack sequences (e.g., a sequential combination of the identified racks or a subset thereof) based on the available storage racks. The master controller 408 and / or management system 402 can obtain available rack information (e.g., bins with items therein or storage racks configured to store objects) representing target storage containers identified by the storage access system as candidates to receive arriving objects for storage. The master controller 408 and / or management system 402 can calculate a sequence of available racks for the source location(s) 702 of FIG. 7A. For example, the master controller 408 may use a set of predetermined rules / processes to calculate the sequence in which to place available racks in the source location(s) 702 and receiving queue 714 of FIG. 7. The master controller 408 can calculate the rack sequence based on the positions and / or relative sequences of arriving objects and / or available racks. The master controller 408 can calculate the rack order based on reducing / minimizing one or more metrics or factors associated with the placement of objects.

[0121] As an illustrative example, the master controller 408 can calculate rack orders by deriving different test rack orders and corresponding placement orders of the arriving objects. For each test placement order, the master controller 408 can derive a motion plan to place the arriving objects accordingly. For each motion plan, the master controller 408 can calculate placement evaluation factors, such as object travel distance / time, number of operations, type or number of input operations, prediction failure rate, confidence criteria, and / or other criteria related to placing the object at the source location 702 and / or moving the object from the source location 702 to the destination location 704. For each test placement order motion plan, the master controller 408 can calculate rack order criteria by combining one or more of the evaluation factors. The master controller 408 can finalize a set of rack orders based on the calculated ordering criteria. For example, the master controller 408 can finalize the set of rack orders as a predetermined number of orders with the highest ordering criteria. Additionally, the master controller 408 can finalize a set of rack orders as orders having order criteria greater than a predetermined order threshold, and the one or more monitoring devices can communicate the finalized set of rack orders to the storage access system 404.

[0122] In block 784, the storage access system 404 can select one or more orders based on the given set of orders. The storage access system 404 can evaluate the finalized set of rack orders according to predetermined rules and / or processes. For example, the storage access system 404 can evaluate the finalized set of rack orders based on delays, operations, travel distances, and / or other factors associated with accessing and transporting racks according to the rack orders. The storage access system 404 can select one or more of the orders according to its evaluation of the finalized set of rack orders.

[0123] In block 786, the storage access system 404 can prepare the racks according to the selected order(s). The storage access system 404 can assign the rack transport units 312 to the available racks in the selected order(s). For example, the storage access system 404 can assign the AGVs 422 to the identified racks in the selected order(s) according to the distance between the AGVs 422 and the racks. The storage access system 404 can further determine the location, timing, sequence, and / or operation to control the AGVs 422 to access the racks and transport the racks to the receiving queue 714 and the destination location 704 according to the selected order(s). The storage access system 404 can control the AGVs 422 accordingly to place the racks in the receiving queue 714 and the destination location 704 as identified by the selected order(s). The storage and access system 404 can maintain one or more flags / status information associated with the preparation and can communicate the one or more flags / status information to one or more monitoring devices.

[0124] In block 758, one or more monitoring devices can prepare an order queue (e.g., order queue 710) according to the selected order(s) and / or preparation progress flag / status information. For example, the master controller 408 and / or management system 402 can identify the order selected by the storage access system 404. The master controller 408 and / or management system 402 can control the cross-station transport unit 712, the order queue 710, and / or one or more robots at other preceding stations to prepare the order queue. The master controller 408 and / or management system 402 can prepare the order queue by placing arriving objects according to an order that matches the selected rack order(s). The master controller 408 and / or management system 402 can also provide timing information and / or flags to coordinate the placement of racks. As an illustrative example, the master controller 408 can generate or set a MoveIn flag, and the storage access system 404 can use the MoveIn flag to control the AGV 422 to place the rack in the receiving queue 714 and / or the destination location 704.

[0125] Returning to block 786, the storage access system 404 can use information from one or more monitoring devices to control the rack transport unit 312. For example, the storage access system 404 can use the MoveIn flag as a trigger to control the corresponding AGV 422 to move the rack from the receiving queue 714 to the destination location 704. As described above, the storage access system 404 can update and / or maintain status information regarding rack placement.

[0126] At decision block 760, one or more monitoring devices can determine whether the storage rack is ready to receive the object. For example, the master controller 408 and / or management system 402 can monitor the control state of the storage access system 404 to determine whether the storage rack is ready. The master controller 408 and / or management system 402 can continue monitoring until the control state indicates that the storage rack is at the specified destination location 704.

[0127] Once the storage rack is ready, the one or more monitoring devices can execute the object transfer, as shown in block 762. The master controller 408 and / or management system 402 can derive a motion plan as described above to pick up the object from the source location 702 and place the object at the destination location 704. In some embodiments, the master controller 408 and / or management system 402 can derive or update the placement location and corresponding motion plan based on real-time conditions of the rack at the destination location 704.

[0128] The master controller 408 can implement the motion plan by communicating the motion plan and / or corresponding commands and / or settings to the shelving unit 313. The shelving unit 313 can execute the received information to move an end effector (e.g., a gripper) toward an object, grasp the object with the end effector, lift the object, move laterally, place the object, and / or release the object according to the motion plan. Thus, the master controller 408 can control the shelving unit 313 to place the object in a storage rack.

[0129] In block 764, one or more monitoring devices can update the object placement status. For example, the master controller 408 and / or management system 402 can maintain a placement flag that indicates whether a particular object has been placed in a storage rack. The master controller 408 and / or management system 402 can also maintain a placement execution flag that indicates whether the grouping unit 306 is executing an action plan to place the object in a storage rack. After each placement, the master controller 408 and / or management system 402 can determine an identifier for the newly placed object, a placement location for the newly placed object, and / or other information about the placed object and / or the contents of the storage rack, such as the amount of objects on the storage rack.

[0130] At block 788, the storage access system 404 can update the rack profile based on the placement status. The storage access system 404 can monitor the placement flag and / or execution flag to identify when an object has been placed in a storage rack. Once an object has been placed in a storage rack, the storage access system 404 can update the rack profile with details about the contents of the corresponding storage rack. For example, the storage access system 404 can receive content information from the master controller 408 and / or management system 402 and store it in the rack profile. Additionally, the storage access system 404 can incrementally increase the object quantity based on the monitored condition(s).

[0131] At decision block 766, the robotic system 100 can determine whether the subtask associated with the storage rack at the destination location is complete. For example, the storage access system 404, the master controller 408, and / or the management system 402 can determine whether the storage rack is full after placing an object, such as by comparing the updated object quantity to a predetermined limit for the rack. The master controller 408 and / or the management system 402 can also determine whether the storage rack is needed or is targeted for placement of the next arriving object. When the storage rack is not full and / or is targeted for placement, the master controller 408 and / or the management system 402 can continue with the placement of the next arriving object (e.g., the next object in the order queue 710). The master controller 408 and / or the management system 402 can continue with the next placement by repeating the process described above, such as from block 762.

[0132] When a container is full and / or does not correspond to the arriving object, the master controller 408 and / or management system 402 can instruct the storage access system 404 to remove the storage rack from the destination location, such as by setting a MoveOut flag, as shown in block 768. In other words, the robotic system 100 can determine that the next arriving object will not likely be placed in that storage rack. In response to such a determination, the master controller 408 and / or management system 402 can instruct the storage access system 404 to remove the storage rack from the destination location, such as by setting a MoveOut flag. In response, the storage access system 404 can control the AGV 422 to remove the container from the destination location, as shown in block 790. The storage access system 404 can control the AGV 422 to move to a different destination location, a different station, a waiting area, or a storage area according to other work factors or real-time conditions.

[0133] In some situations, such as if the rack sequence is not complete, control flow may proceed to block 786. Thus, the storage access system 404 may identify the next rack to place at the destination location 704 and / or in the receiving queue 714. Method 750 may proceed as described above to place the remaining objects in the updated container. In other situations, control flow may proceed to block 752, where the above process may be repeated to place the next arriving object in the corresponding storage rack.

[0134] FIG. 8A is a diagram of a fourth example production cycle (e.g., fourth production cycle 418) in accordance with one or more embodiments of the present technology. Accordingly, FIG. 8A shows an example layout and / or functionality of rack picking station 438 and / or piece picking station 440. As an illustrative example, fourth production cycle 418 may be a cycle for accessing items that may be contained and stored in multiple different bins (e.g., storage bins or packages) / storage racks and for grouping the accessed items into a single bin. After accessing or picking an item, the corresponding bin may be moved to a different station (e.g., rack supply station 436), where the bin may be placed back onto the storage rack. The bin containing the grouped items may be moved to a different station for outbound shipping (e.g., packing task 344 of FIG. 3 and / or group for shipping task 346 of FIG. 3) and / or for storage (e.g., racking task 334 of FIG. 3).

[0135] Rack picking station 438 may be configured to perform group operation task 328 of Figure 3 and / or rack placement task 334 of Figure 3. In other words, rack picking station 438 may be configured to remove objects or bins from storage racks. Rack picking station 438 may be configured similarly to depalletizing station 434 of Figure 4, but for removing bins from storage racks rather than other containers (e.g., pallets).

[0136] The rack picking station 438 may include a shelving unit 313 (e.g., a rack shelving unit including a robotic arm with a corresponding end effector). The shelving unit 313 can access bins from one or more bin source locations 802 and move the bins to one or more bin destination locations 804. For the example shown in FIG. 8A , the bin source locations 802 may include the placement locations of the target bins and / or storage racks having the target bins. The bin destination locations 804 may correspond to the end of the cross-station transport unit 808 (e.g., the instance of object transport unit 305 in FIG. 3 ) that is closest to the shelving unit 313. For example, the bin destination location 804 may include the end of the exit instance of conveyor 424 in FIG. 4 configured to transport bins from the rack picking station 438 to other stations. The bin source location 802 and / or bin destination location 804 may be predetermined or may be spatially fixed relative to the shelving unit 313.

[0137] The rack picking station 438 may include one or more rack queues 806. The rack queue 806 may include a holding area for racks, and the rack queue 806 may be located in front of the bin source location 802. For example, the rack queue 806 may include a temporary rack storage area between the bin source location 802 and a rack storage area. In some embodiments, the rack queue 806 may include one or more sensors (e.g., imaging sensors, such as 2D / 3D cameras and / or scanners) configured to identify racks and / or bins on the racks. The robotic system 100 may use the rack queues 806 to sequence racks and / or buffer rack storage to improve the efficiency of the group operation task 328, such as by reducing access times associated with the shelving units 313 accessing the target bins.

[0138] Piece picking station 440 may be configured to perform picking task 342 of Figure 3 by picking / removing items from within a bin and moving the picked items to a destination location or destination bin. Piece picking station 440 may be configured similar to palletizing station 432 of Figure 4, but for removing and moving items contained within an object / bin rather than moving the object / bin itself.

[0139] The piece picking station 440 may include a picking unit 314 (e.g., a piece picking unit including a robotic arm with a corresponding end effector) to perform the picking task 342. The picking unit 314 can access target items from bins at one or more item source locations 812 and move the accessed items to shipping bins at one or more item destination locations 814. For the example shown in FIG. 8A , the item source locations 812 may include the end of the cross-station transport unit 808 opposite the bin destination location 804. In other words, the cross-station transport unit 808 can transport bins accessed by the shelving unit 313 to the piece picking station 440, and the picking unit 314 can pick the items from the bins on the cross-station transport unit 808. The destination location 814 may be a location for an item receiving bin designated to receive the picked items. Some examples of destination location 814 may include a designated location on the floor and / or a designated location on another instance of object transport unit 305. The item source location 812 and / or item destination location 814 may be predetermined or may be spatially fixed relative to the picking unit 314.

[0140] The piece picking station 440 may include other instances of the object transport unit 305 configured to transport the accessed bin to other stations for further processing. As an illustrative example, the piece picking station 440 may include a cross-station transport unit 712 configured to transport the bin to the rack supply station 436 of FIG. 4. Once the picking unit 314 completes the picking task 342 for the bin, the cross-station transport unit 712 can transport the bin to the rack supply station 436. The transported bin may be placed in a storage rack at the rack supply station 436, as described above.

[0141] Similarly, the bin receiving the items may be transported to other stations for further processing via other instances of object handling unit 305. For example, the bin receiving the items may be transported from item destination location 814 to rack supply station 436 for placement in a storage rack, such as to complete storage operation 330 of Figure 3 (e.g., to reorganize or redistribute the items). The bin receiving the items may also be transported to packing task 344 of Figure 3 and / or group for shipping task 346 of Figure 3, such as to complete shipping operation 340 of Figure 3.

[0142] In one embodiment, as shown in FIG. 8A , one control device (e.g., one instance of master controller 408) may control both shelving unit 313 and picking unit 314 (e.g., two robotic arms) and corresponding transport units for fourth production cycle 418. Storage access system 404 may have access (e.g., via management system 402) to picking targets (e.g., shipping orders) of interest for picking unit 314. In one embodiment, storage access system 404 and / or master controller 408 may generate production queues (e.g., via rack queue 806) and / or order queues (e.g., via picking queue 816). Based on the order queues, master controller 408 can derive a rack schedule / sequence and share the results with storage access system 404. Storage access system 404 can select and / or finalize the rack schedule / sequence and control the placement of racks in rack queue 806 and / or bin source location 802 accordingly. The master controller 408 may provide triggers (e.g., MoveIn and / or MoveOut) to the storage access system 404 to control the placement of racks. The master controller 408 can control the shelving unit 313 based on the placement of racks, and in turn can control the picking unit 314 based on the tasks performed by the shelving unit 313 and / or the cross station transport unit 808. The master controller 408 can update the storage access system 404 with the number of items removed from the accessed bins. Accordingly, the storage access system 404 can update the profile / content information of the accessed bins.

[0143] 8B is a flow diagram of a method 850 of operating the robotic system of FIG. 1 in accordance with one or more embodiments of the present technology. Method 850 may be a method of implementing the fourth production cycle 418 of FIG. 4 (e.g., picking task 342 of FIG. 3 and / or group operation task 328 of FIG. 3). Method 850 may be implemented based on executing instructions stored in one or more of the memory devices 204 of FIG. 2 using one or more of the processors 202 of FIG. 2. Accordingly, the one or more processors 202 may implement operations (e.g., by generating / sending commands, settings, and / or plans) to control one or more units (e.g., the shelving unit 313 of FIG. 3, the picking unit 314 of FIG. 3, the transport unit, the sensors 216 of FIG. 2, etc.) and / or components thereof.

[0144] As an illustrative example, the process shown on the left side of Figure 8B may be performed by one or more supervisory devices (e.g., management system 402 and / or master controller 408) that coordinate the operations / tasks of systems, subsystems, and / or groups of devices. The process shown on the right side of Figure 8B may be performed by storage access system 404. Thus, method 850 may show interactions between various devices / subsystems of robotic system 100.

[0145] At block 882, the storage access system 404 may identify piece orders intended to be fulfilled by the fourth production cycle 418. For example, the storage access system 404 may receive shipping / customer orders, reorganization plans, or other item grouping plans from the management system 402. The storage access system 404 may identify details about the received orders, such as item identifiers, item types or categories, item quantities, grouped items, and / or the grouping order for each container and / or set of containers.

[0146] At block 884, the storage access system 404 can generate queue and / or storage data associated with the identified item. For example, the storage access system 404 can identify the storage location and / or current location of a bin containing the identified item. Upon location identification, the storage access system 404 can use the identified details to search a maintained profile of the bin / container / object / rack and its contents. The storage access system 404 can identify the corresponding storage unit containing the identified item and its tracked and / or designated location.

[0147] In some embodiments, the storage access system 404 can communicate the identified store units to one or more monitoring devices. The one or more monitoring devices may use the identified store units and / or their locations to generate a queue sequence (e.g., rack queue 806 of FIG. 8A and / or picking queue 816 of FIG. 8A). In other embodiments, the storage access system 404 can generate a queue sequence and communicate the generated information to one or more monitoring devices. The robotic system 100 can generate the queue sequence, each including an ordered combination of store units and / or corresponding placement timings.

[0148] The robotic system 100 may generate one or more queue orders for the rack queue 806 as an ordered combination of racks with bins containing the target items. The robotic system 100 may further generate one or more queue orders for the picking queue based on the queue orders for the rack queue 806.

[0149] As an illustrative example, the robotic system 100 can generate a queue sequence based on the current / storage location of the corresponding store units according to a predetermined rule / process. The robotic system 100 can derive a test sequence for placing store units in the rack queue 806 and / or the bin destination location 804. Based on the test sequence, the robotic system 100 can derive an associated sequence for the picking queue 816 as an ordered combination of bins removed from the placed storage rack. The robotic system 100 can further derive corresponding robotic unit actions, robotic unit operations, travel paths, travel times, and / or other costs associated with placing the store units according to the test sequence and / or placing the bins according to the associated sequence. The robotic system 100 can select / finalize a set of test sequences as a queue sequence according to the derived costs. For example, the finalized queue sequence can be a predetermined number of test sequences with the lowest cost and / or test sequences with costs below a predetermined placement threshold.

[0150] At block 852, one or more monitoring devices can identify queue order and / or storage information. As described above, the master controller 408 and / or management system 402 can generate the information or receive the information from the storage access system 404. The queue order can include rack queue information representing the order of storage racks with bins containing the ordered items. The queue order can also include picking queue information representing the order of bins.

[0151] The master controller 408, management system 402, and / or storage access system 404 can interact with each other to perform racking and / or placement according to queue order. In block 854, the master controller 408, management system 402, and / or storage access system 404 can move and place bins for piece picking. The master controller 408, management system 402, and / or storage access system 404 can move and place bins (e.g., unracking tasks) based on one or more processes similar to those described above with respect to method 650 of FIG. 6B. For example, the storage access system 404 can place target racks in the rack queue 806 and / or bin source location 802 according to timing control provided by the master controller 408 and / or management system 402. Based on the rack loading status, the master controller 408 and / or management system 402 can control the shelving unit 313 (e.g., via a derived motion plan) to move the target bin from the rack at the bin source location 802 to the bin destination location 804. For example, the master controller 408 may operate the shelving unit 313 to remove the target bin from the storage rack and place it at the destination location according to picking queue information.

[0152] In block 856, one or more monitoring devices can coordinate the movement of bins for a picking task. For example, the master controller 408 and / or management system 402 can track the movement of the shelving unit 313, such as a cross-station transport unit 808, to determine when to place the bin at a bin destination location 804. Accordingly, the master controller 408 and / or management system 402 can control the cross-station transport unit 808 to move the placed bin from a rack picking station 438 (e.g., the bin destination location 804 of the rack picking station 438) to a piece picking station 440 (e.g., the item source location 812 of the piece picking station 440).

[0153] At decision block 860, one or more monitoring devices can determine whether the bin is ready for a piece picking task. For example, the master controller 408 and / or management system 402 can track the cross station transport unit 808 and / or the movement of the bin on the cross station transport unit 808. The master controller 408 and / or management system 402 can continue the movement of the target bin to the piece picking station 440 and / or the item source location 812 within the piece picking station 440.

[0154] Once the target bin is ready, the one or more monitoring devices can execute the movement of the item, as shown in block 862, etc. For example, the master controller 408 and / or management system 402 can execute a transport plan to operate the object transport unit 305 to transport the bin placed in the item source location 812 from the rack picking station 438 to the piece picking station 440. The master controller 408 and / or management system 402 can acquire the current condition (e.g., item posture) within the bin at the item source location 812 via a 2D / 3D sensor at the item source location 812. The master controller 408 and / or management system 402 can recognize the item based on the sensor data and derive a motion plan and / or movement path to move the item from the bin at the item source location 812 to the bin at the item destination location 814. The motion plan may correspond to commands, settings, and / or sequences thereof for grasping an item, lifting an item, moving it laterally, and / or dropping off an item at an item destination location 814. The master controller 408 and / or management system 402 may use the motion plan to control the picking unit 314 to move the item.

[0155] In block 864, the one or more monitoring devices can update the placement status based on tracking the progress of the motion plan. For example, the master controller 408 and / or the management system 402 can interact with the picking unit 314 to track the progress of the motion plan. The master controller 408 and / or the management system 402 can update the placement status as items are placed in bins at corresponding item destination locations 814. The master controller 408 and / or the management system 402 can further interact with the storage access system 404 according to the placement status. In block 888, the storage access system 404 can update a profile of the bin at the item source location 812 and / or the bin at the item destination location 814. For example, the storage access system 404 can update the profile by decrementing the item count in the bin at the item source location 812 and / or updating the location of the item. The storage access system 404 can also update the profile by incrementing the item count in the bin at the item destination location 814 and / or updating the item location.

[0156] At decision block 866, one or more monitoring devices can determine whether the operation / task associated with the bin at the item source location 812 is complete. In other words, the master controller 408 and / or management system 402 can determine whether all planned items have been removed from the source bin. In one embodiment, the master controller 408 can determine the number of items designated to be picked from each arriving bin. The master controller 408 can track the placement status to determine the number of items removed from the bin at the item source location 812. When the number of items removed is less than the number of targeted items, the master controller 408 can continue to perform the item movement, as indicated by the feedback loop to block 862.

[0157] Once the target task for the bin is completed, one or more monitoring devices can coordinate the removal of the bin from item source location 812, as shown in block 868, etc. For example, master controller 408 and / or management system 402 can control object transport unit 305 of FIG. 3 (e.g., cross-station transport unit 712 and / or cross-station transport unit 808 of FIG. 7A) to remove the bin and / or move the bin to the next station (e.g., rack supply station 436 of FIG. 7A, which returns the bin to a storage rack and / or storage location).

[0158] As a bin is removed and / or in conjunction with the removal of the bin, one or more monitoring devices can move the next bin for the next picking task. As the feedback loop to block 856 indicates, the master controller 408 and / or management system 402 can coordinate the removal of the completed bin while also moving the next bin for picking. For example, the master controller 408 and / or management system 402 can operate the cross-station transport unit 808 to move the next bin to the item source location 812 while removing the existing bin. The master controller 408 and / or management system 402 can use the placement / removal status to operate the shelving unit 313 and / or corresponding tasks. The master controller 408 and / or management system 402 can further communicate the bin status to the storage access system 404. Accordingly, the storage access system 404 can coordinate the removal / placement of racks to the rack queue 806 and / or bin destination location 804. Once the last bin in the queue for a piece order has been removed from the rack, flow returns to block 882 so the next order can be processed.

[0159] Example of transition between tasks 9A and 9B are diagrams of example task transitions, according to one or more embodiments of the present technology. FIG. 9A shows an example layout 900 of an environment in which the robotic system 100 of FIG. 1 may operate. The environment may include one or more storage areas 902, one or more transition queues 904, and / or one or more task stations 906. Each storage area 902 may be configured to store a target object / item. In some embodiments, the storage area 902 may be configured to store multiple individual storage units 914 (e.g., objects such as packages, boxes, bins, and / or other containers) and / or group storage units 912 (e.g., storage racks and / or pallets) that hold the items therein. For example, the robotic system 100 may control / perform the receiving operation 320 of FIG. 3 and / or the storage operation 330 of FIG. 3 to place a target object / item in the storage area 902.

[0160] The transition queue 904 may include a temporary holding area configured to provide access to target racks, objects / bins, and / or items according to a determined order. The transition queue 904 may be used as an access buffer between the storage area 902 and the task stations 906. Some examples of the transition queue 904 may include the picking queue 816 of FIG. 8A, the rack queue 806 of FIG. 8A, the order queue 710 of FIG. 7A, and / or other queues described above. Each task station 906 may include an area configured to perform a task, subtask, operation, or combination thereof. Some examples of the task stations 906 may include the palletizing station 432 of FIG. 4, the depalletizing station 434 of FIG. 4, the rack supply station 436 of FIG. 4, the rack picking station 438 of FIG. 4, the piece picking station 440 of FIG. 4, the destination station 442 of FIG. 4, and / or other stations for the tasks / operations described above.

[0161] 9A , task station 906 and / or transition queue 904 may correspond to rack picking station 438, piece picking station 440, and / or rack supply station 436. Task station 906 and / or transition queue 904 may correspond to alternative embodiments of rack picking station 438 and / or piece picking station 440. For example, robotic system 100 can control different types of AGVs to transport racks between storage area 902 and transition queue 904 and to transport objects between racks in transition queue 904 and task station 906. The AGVs can follow storage access path 922 between storage area 902 and transition queue 904 and / or task access path 924 between transition queue 904 and task station 906. The robotic system 100 (eg, the AGV 422 and / or the storage access system 404) can determine or access a predetermined location of the access path 922 and / or the access path 924.

[0162] 9B shows an example of a task station 906. The illustrated example may be piece picking station 440, rack supply station 436, and / or alternative embodiments thereof. Task station 906 may include a mobile unit 934, such as grouping unit 306 of FIG. 3, picking unit 314 of FIG. 3, removal unit 308, and / or other robotic units described above configured to perform corresponding tasks.

[0163] The task station 906 may include one or more access locations 930 that represent predetermined stopping positions for the AGV 422. For example, the access locations 930 may be positions at the ends of the task access path 924. Thus, by placing the AGV 422 at the access locations 930, the robotic system 100 can place a target container 932 (e.g., a pallet and / or bin) at a predetermined task location (e.g., the source / destination locations described above). The robotic system 100 can operate a mobile unit 934 to access the access locations 930 or to place the target container 932 at / from the access locations. The mobile unit 934 can perform a task according to a corresponding task location 936.

[0164] As an illustrative example of a picking task 342, an AGV 422 can bring a target bin to an access location 930. A picking unit 314 (e.g., an instance of a transfer unit 934) of FIG. 3 can pick an item from the target bin and move the item to a corresponding task location 936 (e.g., a target bin at item destination location 814 of FIG. 8A ). As an illustrative example of a grouping for storage task 326 of FIG. 3 , the corresponding task location 936 can be an object pickup location (e.g., source location 502 of FIG. 5A ) and the access location 930 can be an object placement location (e.g., destination location 504 of FIG. 5A ). Alternatively, the corresponding task location 936 can be an object placement location (e.g., destination location 604 of FIG. 6A ) and the access location 930 can be an object pickup location for a portion of a depalletizing task (e.g., source location 602 of FIG. 6A ).

[0165] 9C is a diagram of an example transport unit in accordance with one or more embodiments of the present technology. In an embodiment, AGV 422 of FIG. 4 may include a rack transport unit 942 and / or a shelf access unit 944. Rack transport unit 942 may be configured to transport storage racks between designated locations, such as between storage area 902 of FIG. 9A and transition queue 904 of FIG. 9A. In one or more embodiments, rack transport unit 942 may include a self-propelled robot configured to contact and lift racks to be transported.

[0166] The shelf access unit 944 may be configured to transport objects or bins to / from racks and other corresponding locations. The shelf access unit 944 may include an access mechanism, such as an arm and / or forklift, configured to place objects / bins on a shelf and / or remove objects / bins from a shelf. For example, the access mechanism of the shelf access unit 944 may include a height-adjustable platform with an extendable arm attached. The height-adjustable platform can be raised or lowered along vertically oriented rails of the shelf access unit 944 to a corresponding height of the rack shelf containing the target object (e.g., bin / container). When the height-adjustable platform is at the corresponding height, the extendable arm can be extended and a locking flap attached to the distal end of the extendable arm can be engaged (e.g., folded or rotated) to lock the rear side of the target object (e.g., the side of the bin / container facing away from the shelf access unit 944). The telescoping arm and securing flap may engage the target object and place the target object on the height-adjustable platform when the telescoping arm is retracted towards the shelf access unit 944. In some embodiments, the shelf access unit 944 can transport objects or bins to / from racks and / or transition queues 904 in the storage area 902. The shelf access unit 944 may transport objects to / from the task station 906. In some embodiments, the robotic system 100 can control the shelf access unit 944 to retrieve one or more bins directly from storage racks in the storage area (e.g., via the storage access system 404) and transport the retrieved bins to a picking station.

[0167] Operation flow example 10 is a flow diagram of a method 1000 of operating the robotic system 100 of FIG. 1 in accordance with one or more embodiments of the present technology. The method 1000 may be a method of performing and coordinating a task and, for each task, multiple tasks. The method 1000 may be implemented based on executing instructions stored in one or more of the memory devices 204 of FIG. 2 using one or more of the processors 202 of FIG. 2. Accordingly, the one or more processors 202 may perform operations (e.g., by generating / transmitting commands, settings, and / or plans) to control one or more units (e.g., robotic units, sensors 216 of FIG. 2, etc.) and / or components thereof.

[0168] In block 1002, the robotic system 100 can identify an operation trigger for performing an operation. In some embodiments, the management system 402 of FIG. 4 and / or the master controller 408 of FIG. 4 can identify the operation trigger based on one or more external inputs and / or operator inputs. Each available operation (e.g., receiving operation 320, storage operation 330, etc., shown in FIG. 3) may have one or more predetermined conditions assigned as triggers. For example, the arrival of a shipping vehicle may be an operation trigger for receiving operation 320. A count of objects / items in one or more containers (e.g., pallets, bins, storage racks) falling below a maintenance count may trigger storage operation 330. Receipt of an order may trigger shipping operation 340.

[0169] In block 1004, the robotic system 100 can determine target conditions for the operation. The target conditions can represent goals or objectives associated with each operation (e.g., the end state for completing the operation). For example, the target conditions for the receiving operation 320 can include the grouping of arriving objects and / or the storage location of the arriving objects. The target conditions for the storage operation 330 can include an updated grouping, a count of target items / objects per container, and / or an updated storage location for items already in storage. The target conditions for the shipping operation 340 can include an ordered group of objects / items. The management system 402, master controller 408, and / or storage access system 404 of FIG. 4 can determine the target conditions according to one or more predetermined rules / processes.

[0170] In block 1006, the robotic system 100 can identify a task sequence and / or corresponding stations for the identified operation. For example, the management system 402 and / or master controller 408 can identify a predetermined set / sequence of tasks associated with the triggered operation. Accordingly, the management system 402 and / or master controller 408 can identify the robotic units, subsystems, and / or task stations associated with the task.

[0171] In block 1008, the robotic system 100 can perform the tasks according to the identified order. In some embodiments, the management system 402 can communicate information to the master controller 408, the storage access system 404, and / or the robotic units to trigger and perform the tasks. At each task station, the robotic system 100 can perform the corresponding task.

[0172] In block 1010, the robotic system 100 can obtain an access order for each task. For example, the management system 402 and / or master controller 408 can obtain the access order based on calculating a packing simulation, tracking container placement, coordinating arriving objects, calculating racking orders, preparing order queues, and / or identifying queue / storage information as described above.

[0173] In block 1012, the robotic system 100 can perform access of the target object / bin / rack at the corresponding start position of the corresponding task position. For example, the management system 402 and / or the master controller 408 can perform the access based on generating one or more access coordination factors as described above (e.g., via activating a MoveIn flag). The storage access system 404 and / or the master controller 408 can control the object transport unit 305 (e.g., the AGV 422 in FIG. 4 and / or the conveyor 424 in FIG. 4) to place the target object / bin / rack at the start position based on the one or more access coordination factors.

[0174] In block 1014, the robotic system 100 can control the primary actions of a task. For example, the master controller 408 can perform the task by communicating a corresponding motion plan and / or corresponding commands / settings to the robotic units of the task stations. The master controller 408 can communicate information to one or more units shown in FIG. 3 , such as the debunking unit 302, the sorting unit, the object transport unit 305, the grouping unit 306, the group transport unit 307, the picking unit 308, the unpacking unit 310, the rack transport unit 312, the shelving unit, the picking unit 314, and / or the packing unit 316. The robotic units can execute the motion plan or corresponding commands / settings to perform the task.

[0175] In block 1016, the robotic system 100 can move the manipulated object / item to the next task station. For example, the management system 402 and / or master controller 408 can perform the move based on generating one or more coordination factors as described above (e.g., via activating a MoveOut flag). The storage access system 404 and / or master controller 408 can control the object transport unit 305 (e.g., AGV 422 and / or conveyor 424) to retrieve the target object / bin / item manipulated by the primary action based on the one or more access coordination factors.

[0176] The robotic system 100 can repeat the above process to perform the next task(s). The robotic system 100 can transport various objects, racks, and / or items between task stations to perform the above tasks and perform the triggered work.

[0177] The robotic system 100 can coordinate a series of tasks to perform different operations. As described above, the robotic system 100 can coordinate various actions to perform tasks sequentially with minimal or no input from an operator. Thus, the robotic system 100 can provide autonomous or near-autonomous management of operations in a warehouse and / or shipping center.

[0178] conclusion The above detailed description of embodiments of the disclosed technology is not exhaustive and is not intended to limit the disclosed technology to the particular forms described above. While specific examples of the disclosed technology have been described above for illustrative purposes, those skilled in the art will recognize that various equivalent modifications are possible within the scope of the disclosed technology. For example, while processes or blocks are presented in a given order, alternative embodiments may perform routines having steps or use systems having blocks in a different order, and some processes or blocks may be deleted, moved, added, further divided, combined, and / or modified to provide alternatives or subcombinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks may be shown as occurring sequentially, these processes or blocks may instead be executed or performed in parallel, or may occur at different times. Furthermore, any specific numbers set forth herein are merely examples, and alternative embodiments may use different values or ranges.

[0179] These and other modifications may be made to the disclosed technology in light of the above detailed description. While the detailed description describes certain examples of the disclosed technology and its contemplated best mode, the disclosed technology, no matter how detailed the text appears in the above description, can be practiced in many ways. The details of the system may vary widely in particular implementations and still be included in the technology disclosed herein. As noted above, the use of specific terms when describing certain features or aspects of the disclosed technology should not be construed as suggesting that the terms are redefined herein to be limited to any particular characteristic, feature, or aspect of the disclosed technology with which they are associated. Accordingly, the invention is not limited except by the appended claims. In general, terms used in the following claims should not be construed as limiting the disclosed technology to the specific examples disclosed in the specification, unless the detailed description section above explicitly defines such terms.

[0180] While certain aspects of the invention are set forth below in certain claim forms, Applicant contemplates various aspects of the invention in any number of claim forms, and accordingly, Applicant reserves the right to pursue additional claims after filing this application, whether in this application or in a continuing application, to pursue such additional claim forms.

Claims

1. A tangible, non-transitory computer-readable medium storing processor instructions that, when executed by one or more processors, cause the one or more processors to perform a method, comprising: The method comprises: obtaining a target condition that represents a final state for completing the task; identifying a task sequence including at least a first task and a second task for performing the work; obtaining an access order based on the first task, the access order representing an order in which target storage containers are placed at a first task station; performing the first task to access a task object from one of the target storage containers; generating, based on performing the first task, one or more coordination elements for moving the task object from the first task station to a second task station; performing a second task to access the task object and complete the work; and 1. A tangible, non-transitory computer-readable medium, comprising:

2. 10. The tangible, non-transitory computer-readable medium of claim 1, wherein the operation includes a receiving operation of unloading a set of arriving objects at a storage area and moving the unloaded objects to one or more storage locations.

3. The receiving operation is a devanning task of unloading the arriving objects from a transporter; generating one or more access adjustment elements for placing the arriving objects at grouping positions according to the access order; a storage grouping task that groups at least a subset of the arriving objects placed at the grouping location; a group operation task for placing the set of arriving objects into the one or more storage locations; 3. The tangible, non-transitory computer-readable medium of claim 2, comprising:

4. The tangible, non-transitory computer-readable medium of claim 1 , wherein the operation includes an archiving operation that relocates the task object from an initial storage location to an updated location for further archiving or a next task.

5. The storage operation is a group operation task for accessing the task object from the first storage location and placing the task object in a rack supply station; a rack placement task for placing the task object in a storage rack and placing the storage rack containing the task object according to the updated position; 5. The tangible, non-transitory computer-readable medium of claim 4, comprising:

6. The tangible, non-transitory computer-readable medium of claim 4 , wherein the storage operation further comprises an unpacking task that exposes the task target item for movement into one or more different packages.

7. The operations include a shipping operation for grouping task objects for external shipping; The tangible, non-transitory computer-readable medium of claim 1 , wherein the target conditions correspond to a shipping order representing the group of task targets.

8. The work is a rack picking task that accesses the task object and transports the task object to a picking station, wherein accessing the task object includes removing one or more bins from one or more storage racks in a storage area or from the storage area; a piece-picking task for moving the task object from its corresponding bin or bins to an outbound container; 10. The tangible, non-transitory computer-readable medium of claim 1, comprising:

9. 10. The tangible, non-transitory computer-readable medium of claim 8, wherein the rack picking task includes transmitting information to a storage access system to control one or more automated guided vehicles (AGVs) to retrieve the one or more bins directly from the storage area and move the one or more bins to the picking station.

10. The work is a rack placement task of accessing the one or more storage racks from the storage area and placing the one or more storage racks at a rack picking station; a target transport task for transporting the one or more bins from the rack picking station to the picking station; 9. The tangible, non-transitory computer-readable medium of claim 8, comprising:

11. the rack placement task transmitting information to a storage access system for controlling one or more automated guided vehicles (AGVs) to transport the one or more storage racks to the rack picking station; the rack picking task includes sending a command to a shelving unit to retrieve the one or more bins from the one or more storage racks and placing the one or more bins at one end of a conveyor; 11. The tangible, non-transitory computer-readable medium of claim 10, wherein the object transport task sends a command to the conveyor to move the one or more bins from the one end of the conveyor corresponding to the rack picking station to the other end of the conveyor corresponding to the picking station.

12. The work is a bin transport task for transporting the one or more bins from the picking station to a rack supply station; and a racking task of placing the one or more bins onto one or more storage racks and returning the one or more bins and their corresponding storage racks to the storage area.

13. at least one processor; at least one memory device coupled to said at least one processor and configured to store instructions executable by said processor; The instruction: obtaining an access order representing an order in which the set of object transport units will access the task station; generating one or more access coordination elements that coordinate the timing of the operation of the set of object transport units to transport task objects; deriving a motion plan for operating the robot unit to perform one or more tasks on the task object; Implementing the operation plan in accordance with an order of performing tasks that achieve a target condition; A robot system comprising:

14. the at least one processor and the at least one memory device include a master controller; The robot system includes: a management system operably coupled to the master controller; a storage access system operably coupled to the master controller; The management system includes: identifying an operation trigger that initiates the operation; determining the target condition that represents a final state for completing the task; configured to: The storage access system includes: The robotic system of claim 13 , configured to control the set of object handling units to place the one or more objects at one or more task stations and / or retrieve the one or more task objects from the task stations according to the timing.

15. 14. The robotic system of claim 13, further comprising the robotic unit configured to perform a debunking task, a sorting task, a storage grouping task, a group manipulation task, a racking task, an unpacking task, a rack picking task, a piece picking task, an object transport task, a bin transport task, or a combination thereof.

16. 1. A method of operating a robotic system, comprising: obtaining an access order for the task, which indicates the order in which the target storage containers are to be placed in the task station; performing a task to move a task object from one of the target storage containers to a destination location; updating one or more access adjustment elements based on performing the task; The method, wherein the updated access coordination element is for notifying a storage access system to place another one of the target storage containers at the task station. generating one or more access adjustment elements based on setting a carry-in trigger to notify the storage access system of a first timing for placing one of the target storage containers at the destination location; updating the one or more access coordination factors based on setting a removal trigger to notify the storage access system of a second timing for removing the one of the target storage containers from the destination location; 17. The method of claim 16, further comprising:

18. obtaining the access order includes receiving container information representing the target storage container prepared by the storage access system for a depalletizing task of a corresponding operation, the target storage container being a pallet having stored objects; The method comprises: generating one or more access coordination elements based on setting a drop-off trigger to notify the storage access system of a first timing to place a pallet at a source location of the task station; updating the one or more access coordination factors based on setting a removal trigger to notify the storage access system of a second timing for removing the pallet from the source location; 17. The method of claim 16, further comprising:

19. obtaining the access order includes calculating a rack order, each rack order representing a sequential combination of the target storage containers or a subset thereof; The method comprises: identifying a selected sequence representing one of the sequential combinations selected by the storage access system; generating one or more access adjustment elements based on setting a drop-off trigger to notify the storage access system of a first timing to place the rack at the destination location; updating the one or more access coordination elements based on setting a removal trigger that notifies the storage access system of a second timing to remove the rack from the destination location; 17. The method of claim 16, further comprising:

20. Obtaining the access order includes: receiving rack queue information representing an order of storage racks having bins containing the ordered items; receiving picking queue information representing the order of the bins; the rack queue information and the picking queue information represent an order derived by the storage access system based on an order, and the storage rack represents the target storage container; performing the task includes executing a motion plan to operate a shelving unit to remove a target bin from a storage rack and place the target bin at the destination location according to the picking queue information, the destination location representing a portion of a transport unit configured to transport the target bin from the task station to a next station; The method comprises: implementing a transport plan for operating the transport unit to transport the target bin from the task station to an item source location of the next station; performing a next task to pick one of the ordered items from the target bin at the source item location and place the one of the ordered items at a destination item location; 17. The method of claim 16, further comprising:

Citation Information

Patent Citations

  • Automatic cargo loading system

    JP1986033426A

  • Unloading system

    JP1986155125A

  • Robot sorting system, robot device and method of manufacturing sorted article

    JP2013086914A

  • System and method for executing order

    JP2013230942A

  • Automatic truck unloading device for unloading / unpacking products from trailers and containers

    JP2016504983A