Dynamic storage management using mobile robots
Patent Information
- Application Number
- JP2023516241
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-09-11
- Filing Date
- 2021-09-09
- Publication Date
- 2025-02-21
- Estimated Expiration
- 2041-09-09
AI Technical Summary
【0011】 別の態様では、複数のトートのトート·アレイを備える移動式ロボットを利用する、ロボットの動的な収納選択プロセスが提供される。最初に、受取りスタッフは、トート·アレイのトートごとに、保管すべき複数の物品から1つの物品をスキャンでき、スキャンした各物品はトート·アレイのトートに関連付けられ、トート·アレイのトートに入れられる。ロボットは、次いで、倉庫管理サーバ(WMS:warehouse management server)及び注文サーバからのデータに応じて、トート·アレイのトート内のスキャンした物品を収納するための、最適なルートを判断する。ロボットは、ルート上の第1の保管場所で、収納すべき第1の物品を識別し、作業者は、収納すべき第1の物品を取り出し、物品をスキャンし、物品を棚に配置し、物品が収納されたことを確認する。次いで、ロボット上のタブレットが、作業者を促して、追加のトート又は他の場所からの置換え物品をスキャンさせ、トート·アレイの空になったばかりのトートに入れさせる。置換え物品がスキャンされ、トート·アレイに入れられると、作業者は、タスクの完了を確認し、ロボットは、トート·アレイ内の物品の新しい組用の、最も効率的なルートを再計算する。ロボットは、次いで、再計算したルートに基づいて、次の場所に移動する。このようにして、物品が動的に仕分けされ、ロボットは、事前仕分けなしで可能な限り効率的に、人間の作業者の効率を遅滞させることも悪影響を与えることもなく、経路選定する。
Smart Images

Figure 0007634656000001 
Figure 0007634656000002 
Figure 0007634656000003
Abstract
Description
[Technical field]
[0001] This application claims the benefit of priority to U.S. Patent Application No. 17 / 017,766, filed September 11, 2020, and is incorporated herein by reference.
[0002] The present invention relates to warehouse storage or putaway operations using mobile robots, and more particularly to dynamic item storage management through optimized routing of mobile robots. [Background technology]
[0003] Ordering products over the Internet and having them delivered to your home is a very popular shopping technique. Fulfilling such orders in a timely, accurate, and efficient manner is logistically challenging, to say the least. When a user clicks the "checkout" button on a virtual shopping cart, an "order" is created. The order contains a list of items to be shipped to a specific address. The "fulfillment" process involves physically retrieving, or "picking," these items from large warehouses, packing the items, and shipping the items to the specified address. Thus, a key goal of the order fulfillment process is to ship as many items as possible in the shortest time possible.
[0004] The order fulfillment process typically takes place in large warehouses that house many products, including those listed in the order. Thus, among the tasks of order fulfillment is traveling through the warehouse to locate and collect the various items listed in the order. In addition, the products that will ultimately be shipped must first be received at the warehouse and stored or "placed" in bins in an orderly manner throughout the warehouse so that the products can be easily retrieved for shipping.
[0005] In large warehouses, items being delivered and ordered may be stored in warehouses far away from one another and spread among many other items. An order fulfillment process that uses only human workers to place and pick items may require the workers to walk for long periods of time, which can be inefficient and time consuming. Since the efficiency of the fulfillment process is a function of the number of items shipped per unit of time, increasing time reduces efficiency.
[0006] To increase efficiency, robots can be used to perform human functions or to supplement human activities. Robots can be assigned to "pick" items from various locations distributed throughout a warehouse, for example, for packing and shipping. Picking can be done by the robot alone or with the assistance of a human worker. For example, for a picking task, a human worker would pick the item from a shelf and place it on the robot, or for a placing task, a human worker would pick the item from the robot and place it on the shelf.
[0007] Before an order can be fulfilled, potentially ordered items must be stored in a warehouse. Generally, warehouse storage or "putaway" activities are very labor intensive and inefficient, especially when the items are mixed into a single group of shipped or returned items. For example, an employee may be given a pile of unsorted items on a cart and asked to store the items, item by item. This results in extensive travel and inefficient routing / labor usage. An alternative is to have a dedicated group of workers sort the items at the time of delivery, scan each individual item, and then place the items on a cart for an employee to store the items for later picking and delivery. This is still inefficient, as items are not necessarily assigned to optimize routing or picker efficiency, and it necessarily takes employees away from picking tasks. [Prior art documents] [Patent documents]
[0008] [Patent Document 1] U.S. Patent No. 10,001,768 [Patent Document 2] U.S. Patent No. 10,196,210 [Patent Document 3] U.S. Patent Application Serial No. 16 / 265,703 [Patent Document 4] U.S. Patent Application Serial No. 16 / 262,209 [Patent Document 5] U.S. Patent Application Serial No. 17 / 017,758 Summary of the Invention [Means for solving the problem]
[0009] A system and process for robotic, dynamic storage selection is provided.
[0010] In one aspect, a robotic dynamic storage selection system is provided. The dynamic storage selection system can utilize collaborative interaction between the robot and a worker to improve routing and worker efficiency and minimize up-front effort. This is accomplished by providing a tote array of multiple totes on the mobile robot. The tote array can include a predetermined number of totes, such as, for example, eight totes, but can include any number. In some embodiments, the mobile robot can also include additional totes for holding large amounts of unsorted, unscanned items that are larger than each tote in the tote array. Receiving staff can store multiple items to be stored in any suitable location, such as in the additional totes, without first pre-sorting the items.
[0011] In another aspect, a dynamic robotic storage selection process is provided that utilizes a mobile robot with a tote array of multiple totes. First, a receiving staff member can scan one item from a plurality of items to be stored for each tote in the tote array, and each scanned item is associated with and placed in a tote in the tote array. The robot then determines an optimal route for storing the scanned items in the totes in the tote array in response to data from a warehouse management server (WMS) and an order server. The robot identifies a first item to be stored at a first storage location on the route, and a worker retrieves the first item to be stored, scans the item, places the item on a shelf, and confirms that the item has been stored. A tablet on the robot then prompts the worker to scan an additional tote or a replacement item from another location and place it in the just-emptied tote in the tote array. Once the replacement items are scanned and placed in the tote array, the worker confirms task completion and the robot recalculates the most efficient route for the new set of items in the tote array. The robot then moves to its next location based on the recalculated route. In this way, items are dynamically sorted and the robot routes as efficiently as possible without pre-sorting, without slowing down or negatively impacting the efficiency of the human worker.
[0012] In another aspect, a robot capable of moving to predetermined locations within an environment is provided, the robot comprising a mobile base and a tote array of a plurality of totes supported on the mobile base. The robot comprises a communication device enabling communication between the robot and a management system. The robot comprises a processor and memory configured to: responsive to communication with the management system, determine a route for delivering each of the items in the tote array to an associated storage location, travel to the first storage location for placing a first one of the items in the tote array, receive confirmation of placement of the first item at the first storage location, receive an identification of an additional item to be placed in a tote of the tote array previously occupied by the first item, and determine an updated route for delivering each of the items in the tote array to an associated storage location.
[0013] In some embodiments, the robot further comprises an additional tote supported on the mobile base and configured to hold a plurality of items for subsequent placement in the tote array. The robot may further comprise a scanner operable to scan the items for placement in the tote array. The robot may further comprise a display device in communication with the worker. The robot may further be configured to move to the update route. The processor may be configured to communicate to the worker an identification of the first item to be placed in the first storage location.
[0014] These and other features of the present invention will become apparent from the following detailed description and the accompanying drawings. [Brief description of the drawings]
[0015] [Figure 1] FIG. 1 is a top view of an order fulfillment warehouse. [Figure 2A] FIG. 2 is a front view of the base of one of the robots used in the warehouse shown in FIG. 1. [Figure 2B] FIG. 2 is a perspective view of the base of one of the robots used in the warehouse shown in FIG. [Diagram 3]FIG. 2C is a perspective view of the robot of FIGS. 2A and 2B equipped with an armature and parked in front of the shelf shown in FIG. 1. [Figure 4] FIG. 2 is a partial map of the warehouse of Figure 1, created using the robot's laser radar. [Diagram 5] 1 is a flow diagram illustrating a process for locating fiducial markers distributed throughout a warehouse and storing the poses of the fiducial markers. [Figure 6] 1 is a table mapping reference identities to poses. [Figure 7] 1 is a table mapping box locations to reference identifiers. [Figure 8] 1 is a flow diagram illustrating a process for mapping product SKUs to poses. [Figure 9A] FIG. 1 is a schematic diagram of a robot equipped with a storage container, according to one aspect of the present invention. [Figure 9B] FIG. 13 is a schematic diagram of a further embodiment of a robot equipped with a storage container according to an aspect of the present invention. [Figure 9C] FIG. 13 is a schematic diagram of yet another embodiment of a robot equipped with a storage container, according to an aspect of the present invention. [Figure 10] 1 is a flow diagram illustrating a process for placing an item in storage. [Figure 11] FIG. 1 is a block diagram of an exemplary computer processing system. [Figure 12] FIG. 1 is a network diagram of an example distributed network. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] The details of the present disclosure and its various features and advantages will be more fully described with reference to the non-limiting examples and examples described and / or illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features shown in the drawings are not necessarily drawn to scale, and that features of one embodiment may be used with other embodiments that would be recognized by those skilled in the art even if not explicitly stated herein. Descriptions of well-known components and processing techniques may be omitted so as not to unnecessarily obscure the embodiments of the present disclosure. The examples used herein are merely intended to facilitate an understanding of how the present disclosure may be implemented and to further enable those skilled in the art to implement the embodiments of the present disclosure. Thus, the examples and examples herein should not be construed as limiting the scope of the present disclosure. Furthermore, it should be noted that like reference numerals represent like parts throughout the several views of the drawings.
[0017] The present invention relates to dynamic inventory management through optimized mobile robot routing. While not limited to any particular robot application, one preferred application in which the present invention may be used is order fulfillment. To provide a context for dynamic inventory management according to one aspect of the present invention, the use of robots in an order fulfillment warehouse will be described. However, it should be noted that the present invention is not limited to this application.
[0018] With reference to FIG. 1, a typical order fulfillment warehouse 10 includes shelves 12 filled with various items that may be included in an order. During operation, an incoming stream of orders 16 arrive at the order server 14 from a warehouse management server 15. The order server 14 may, among other things, prioritize and group the orders for assignment to a robot 18 during the induction process. As the robot is induced by an operator at a processing station (e.g., station 100), the orders 16 are assigned to the robot 18 and wirelessly communicated for execution. Those skilled in the art will appreciate that the order server 14 may be a separate server with a separate software system configured to interoperate with the warehouse management system server 15 and warehouse management software, or the functionality of the order server may be integrated into the warehouse management software and run on the warehouse management server 15.
[0019] In a preferred embodiment, the robot 18 shown in Figures 2A and 2B comprises an autonomous wheeled base 20 equipped with a laser radar 22. The base 20 also features a transceiver (not shown) that allows the robot 18 to receive commands and transmit data from the order server 14 and / or other robots, and a pair of digital optical cameras 24a and 24b. The robot base also includes a charging port 26 for recharging the batteries that power the autonomous wheeled base 20. The base 20 further features a processor (not shown) that receives data from the laser radar and cameras 24a and 24b to capture information representative of the robot's environment. As shown in Figure 3, there is a memory (not shown) that operates with the processor to perform various tasks related to navigation within the warehouse 10 as well as to navigate to fiducial markers 30 located on the shelves 12. The fiducial markers 30 (e.g., two-dimensional bar codes) correspond to bins / locations of ordered items. The navigation techniques of the present invention are described in more detail below in conjunction with Figures 4-8. The fiducial markers are also used to identify the charging station in accordance with an aspect of the invention, and navigation to such a charging station is the same as navigation to the bin / location of the ordered item. Once the robot moves to the charging station, a more accurate navigation technique is used to dock the robot to the charging station, as described below.
[0020] Referring again to FIG. 2B, the base 20 includes a top surface 32 on which a tote or bin may be stored for carrying items. Also shown is a coupling 34 that engages any one of a number of interchangeable armatures 40, one of which is shown in FIG. 3. The particular armature 40 of FIG. 3 features a tote holder 42 (in this case a shelf) for carrying a tote 44 containing items, and a tablet holder 46 for supporting a tablet 48 (or laptop / other user input device). In some embodiments, the armature 40 supports one or more totes for carrying items. In other embodiments, the base 20 supports one or more totes for carrying stored items. As used herein, the term "tote" includes, but is not limited to, cargo holders, bins, baskets, shelves, poles from which items may be hung, cans, crates, shelves, pedestals, racks, containers, boxes, canisters, receptacles, and storage. A tote array comprising an array of two or more totes or containers secured together, or a single unit with multiple compartments may also be used. Each tote / container or compartment may be associated with a separate order, or multiple totes / containers / compartments may be used and associated with a single larger order. The description of the operation of robot 18 with a single tote described in Figures 1-8 also applies to a robot with a tote array.
[0021] While the initial description presented herein focuses on picking items from bin locations within a warehouse for order fulfillment and shipping to customers, the system equally applies to storing or placing items received in warehouse bin locations throughout a warehouse for later retrieval and shipping to customers. The present invention is also applicable to inventory control tasks associated with such warehouse systems, such as consolidating, counting, verifying, inspecting, and sorting products.
[0022] While the robot 18 is good at moving around the warehouse 10 with current robotics technology, it is not so good at quickly and efficiently picking items from shelves and placing the items in totes 44 due to the technical difficulties associated with having a robot manipulate objects. A more efficient way of picking items is to use an on-site operator 50, typically a human, who performs the task of physically removing the ordered items from the shelves 12 and placing the items on the robot 18, e.g., in a tote 44. The robot 18 communicates the order to the on-site operator 50 via a tablet 48 (or laptop / other user input device) that can be read by the on-site operator 50, or by sending the order to a handheld device used by the on-site operator 50.
[0023] When the robot 18 receives an order 16 from the order server 14, it navigates to an initial location in the warehouse, for example as shown in Figure 3. The robot navigates based on guidance software stored in memory and executed by a processor. The guidance software relies on data about the environment collected by the laser radar 22, internal tables in memory that identify fiducial identifications ("IDs") of fiducial markers 30 that correspond to locations in the warehouse 10 where a particular item can be found, and cameras 24a and 24b for guidance.
[0024] Upon arriving at the correct location (pose), the robot 18 parks itself in front of the shelf 12 where the item is stored and waits for a yard operator 50 to remove the item from the shelf 12 and place it in a tote 44. If the robot 18 has other items to remove, it proceeds to that location. The items removed by the robot 18 are then sent to the processing station 100 of FIG. 1 where they are packaged and shipped. Although the processing station 100 has been described with respect to this figure as being capable of guiding and unloading / packing the robot, the robot may be configured to either guide or unload / pack at the station; that is, the robot may be limited to performing a single function.
[0025] Those skilled in the art will appreciate that each robot may be fulfilling one or more orders, and each order may consist of one or more items. Typically some form of route optimization software will be included to increase efficiency, but this is beyond the scope of this invention and therefore will not be described herein.
[0026] To simplify the description of the invention, a single robot 18 and operator 50 will be described. However, as is evident from Figure 1, a typical fulfillment operation will include many robots and operators working together in a warehouse to fulfill a continuous stream of orders.
[0027] The basic guidance technique of the present invention as well as the semantic mapping of the SKU of the item to be retrieved to a reference ID / pose associated with a reference marker in the warehouse where the item is located are described in detail below with reference to Figures 4-8.
[0028] A map of the warehouse 10 needs to be created using one or more robots 18, and the locations of various fiducial markers distributed throughout the warehouse need to be determined. To do this, one or more of the robots 18 move through the warehouse and build / update a map 10a, FIG. 4, using the robot's laser radar 22 and simultaneous localization and mapping (SLAM), which is a computational problem of building or updating a map of an unknown environment. Common approximation methods for solving SLAM include particle filters and extended Kalman filters. The SLAM GMapping method is a preferred method, but any suitable SLAM method can be used.
[0029] The robot 18 utilizes the robot's laser radar 22 to move throughout the space and create a map 10a of the warehouse 10 based on reflections received as the laser radar scans the environment, identifying open spaces 112, walls 114, objects 116, and other static obstacles within the space, such as shelves 12.
[0030] While building the map 10a (or subsequently updating the map 10a), one or more robots 18 move throughout the warehouse 10 using their cameras 26 to scan the environment and locate fiducial markers (2D barcodes) distributed throughout the warehouse and on shelves proximate to bins, such as 32 and 34 in FIG. 3, where items are stored. The robots 18 use a known starting point or origin, such as origin 110, as a reference. Once the robots 18 locate the fiducial markers, such as fiducial marker 30 in FIG. 3 and FIG. 4, using their cameras 26, their location within the warehouse relative to origin 110 is determined.
[0031] Using the wheel encoders and the orientation sensors, the vector 120 and the position of the robot within the warehouse 10 can be determined. Using the captured image of the fiducial marker / 2D barcode and its known size, the robot 18 can determine the orientation and distance of the fiducial marker / 2D barcode relative to the robot, i.e., vector 130. With the vectors 120 and 130 known, the vector 140 between the origin 110 and the fiducial marker 30 can be determined. From the vector 140 and the determined orientation of the fiducial marker / 2D barcode relative to the robot 18, the pose (position and orientation) of the fiducial marker 30, defined by its quaternion (x, y, z, ω), can be determined.
[0032] 5 illustrates a flow chart 200 of FIG. 5 that describes the fiducial marker location process. This is performed when the robot 18 encounters a new fiducial marker in the warehouse while in an initial mapping mode and performing picking, placing, and / or other tasks. In step 202, the robot 18 using the camera 26 captures an image and searches for the fiducial marker in the captured image in step 204. If the fiducial marker is found in the image (step 204), then in step 206 it is determined whether the fiducial marker is already stored in the fiducial table 300 of FIG. 6 in the memory 34 of the robot 18. If the fiducial information is already stored in memory, then the flow chart returns to step 202 to capture another image. If the fiducial information is not in memory, then the pose is determined according to the process described above and added to the fiducial-to-pose lookup table 300 in step 208.
[0033] A lookup table 300, which may be stored in the memory of each robot, includes a fiducial identification 1, 2, 3, etc. for each fiducial marker and the pose of the fiducial marker / barcode associated with each fiducial identification. The pose consists of x, y, z coordinates in the warehouse, including orientation, or a quaternion (x, y, z, ω).
[0034] Another lookup table 400 in FIG. 7, which may also be stored in each robot's memory, lists bin locations (e.g., 402a-f) within the warehouse 10 that are associated with a particular reference ID 404, e.g., the number "11." In this example, the bin location is made up of seven alphanumeric characters. The first six characters (e.g., L01001) relate to a shelf location within the warehouse, and the last character (e.g., A-F) identifies an individual bin at a shelf location. In this example, there are six distinct bin locations associated with the reference ID "11." There may be one or more bins associated with each reference ID / marker.
[0035] The location of the alphanumeric bin corresponds to a physical location within the warehouse 10 where the items are stored and is therefore understandable to a human, such as the operator 50 of FIG. 3, but is meaningless to the robot 18. By mapping the location to a reference ID, the robot 18 can use the information in table 300 of FIG. 6 to determine a pose for the reference ID and then navigate to the pose as described herein.
[0036] An order fulfillment process according to the present invention is shown in flow diagram 500 of FIG. 8. In step 502, the order server 14 retrieves an order from the warehouse management system 15, which may consist of one or more items to be picked. It is noted that the order allocation process is fairly complex and beyond the scope of this disclosure. One such order allocation process is described in commonly owned U.S. patent application Ser. No. 15 / 807,672, entitled "Order Grouping in Warehouse Order Fulfillment Operations," filed Sep. 1, 2016, which is incorporated herein by reference in its entirety. It is also noted that a robot may have tote arrays, one per bin or compartment, such that a single robot may fulfill multiple orders. An example of such a tote array is described in U.S. patent application Ser. No. 15 / 254,321, entitled "Item Storage Array for Mobile Base in Robot Assisted Order-Fulfillment Operations," filed Sep. 1, 2016, which is incorporated herein by reference in its entirety.
[0037] 8, in step 504, the SKU numbers of the items are determined by the warehouse management system 15, and in step 506, the bin locations are determined from the SKU numbers. The list of bin locations for the order is then sent to the robot 18. In step 508, the robot 18 associates the bin locations with reference IDs and, in step 510, obtains a pose for each reference ID from the reference IDs. In step 512, the robot 18 moves to a pose as shown in FIG. 3 where an operator can pick the item to be removed from the appropriate bin and place it on the robot.
[0038] Item specific information, such as SKU number and bin location obtained by the warehouse management system 15 / order server 14, may be sent to the tablet 48 of the robot 18 so that the operator 50 knows the specific item to be picked when the robot arrives at each reference marker location.
[0039] With the SLAM map and known poses of the fiducial IDs, the robot 18 can easily navigate to any one of the fiducial IDs using a variety of robot navigation techniques. A preferred approach involves setting an initial route to the fiducial marker pose given knowledge of the open space 112 within the warehouse 10, as well as walls 114, shelves (such as shelves 12), and other obstacles 116. As the robot begins to navigate the warehouse using the robot's laser radar 26, it determines whether any fixed or dynamic obstacles, such as other robots 18 and / or operators 50, are in the robot's path and iteratively updates the robot's path to the fiducial marker pose. The robot re-plans its route approximately once every 50 milliseconds, constantly searching for the most efficient and effective path while still avoiding obstacles.
[0040] Using product SKU / reference ID to reference pose mapping techniques combined with SLAM guidance techniques, both of which are described herein, the robot 18 can navigate the warehouse space very efficiently and effectively without having to use the more complex guidance techniques typically used that require grid lines and intermediate reference markers to determine location within the warehouse.
[0041] Dynamic storage selection management for robots Before an item can be picked from a bin location in a warehouse to fill an order, the item must first be stored in the appropriate bin location on the shelf so that it can be located later. Often, various items are delivered to the warehouse commingled in a single shipment without being pre-sorted. Similarly, various returned items may be commingled without being pre-sorted. Dynamically sorting items provides a process and system that eliminates the need to pre-sort items and facilitates stocking on shelves in a warehouse without slowing or negatively impacting the efficiency of human workers.
[0042] To this end, FIG. 9A illustrates an embodiment of a mobile robot 18a that can be used to cooperate with an operator to stock items on shelves. In some embodiments, the robot can be equipped with a tote array 910 of two or more totes / bins, generally on the top of the robot. In the embodiment illustrated in FIG. 9A, eight totes 912a-912h are shown, but it will be understood that any number of totes can be provided. In some embodiments, one or more additional totes or bins 920, generally larger than the totes in the tote array, can be located on the base 20a or on the bottom of the robot below the tote array. Additional totes are not required, but may be preferred for operator convenience when replacing items in the tote array 910 during the putaway process, as described further below.
[0043] The totes / bins of the tote array 910 may be generally separate totes or bins that may be smaller than additional larger totes and may be easily configured into an array, or may be pre-configured as an array of integrated totes / bins. The totes may be in any form, such as slots, bins, compartments, containers, or any other configuration. The totes may have openings facing upward, or facing forward, rearward, or to the side. The tote array of totes may be arranged in any configuration, such as a single row of individual totes, two rows of individual totes, or any number of rows, columns, or layers of totes. Although the tote array 910 is shown and described herein as being a vertically oriented "cube" style array with openings in its vertical faces for front / rear / side loading, it will be apparent in light of this disclosure that any style or configuration of tote array, or combinations thereof, may be used in accordance with various embodiments. The tote array may be provided with removable or adjustable dividers to change the configuration of totes within the tote array. FIG. 9B illustrates a further example of a robot 18b with a tote array 914 with a plurality of totes or bins 916a-i accessible from above through horizontally oriented openings. Although nine totes or bins are shown, it will be understood that any number of totes or bins may be provided. Additionally, it will be apparent in light of this disclosure that the tote array may be disposed, suspended, or otherwise removably attached to the robot 18a. For example, in some embodiments, horizontally oriented totes (e.g., tote 920 shown in FIG. 9A), stacked totes, and / or stacked, compartmentalized totes configured for top loading may be used.
[0044] FIG. 9C illustrates a robot 18c with a shelf 924 or other horizontal surface that can be a component of a tote array. The shelf or surface can be located on the top surface of the wheeled base 20c of the robot 18c. In some embodiments, the shelf can be marked to designate multiple zones, such as zones 926a-926f shown in FIG. 9C. Although six zones are shown, it will be understood that any number of separate zones or no separate zones can be provided. In some embodiments, the shelf 924 can be used to support one or more totes, bins, tote arrays, or any other configuration for holding items. For example, a tote array, such as tote array 910 of FIG. 9A or tote array 914 of FIG. 9B, can be supported on the shelf. The tote array can be removably supported or fixedly supported on the shelf.
[0045] Each individual tote, including those within a tote array, can be identified using a tote identifier. Additionally, the tote array as a whole can be identified using an array identifier. The shelves can be identified using a tote identifier, and / or each partitioned section of the shelves can be identified using a tote identifier. Similarly, every item to be stored (also referred to as "disposed") can be identified by an item identifier, e.g., a bar code or other form of indicia, and / or the tote array can include a bar code / indicia for the entire tote array. This is described in commonly owned U.S. Patent No. 10,001,768, entitled "Item Storage Array for a Mobile Base in Robot Assisted Order-Fulfillment Operations," which is incorporated herein by reference in its entirety. Identifier, whether an "item identifier," "tote identifier," or "array identifier" as used herein, refers to any scannable (interchangeably "readable") marking, label, or device associated with identifying information corresponding to an item, tote, or array. The identifier may take the form of, for example, a one- or two-dimensional bar code marking printed, etched, engraved, etc. on the article (or the article's packaging), tote, or array. Such an identifier may take the form of a label, including a one- or two-dimensional bar code or an RFID chip, attached to the article (or the article's packaging), tote, or array. Such an identifier may also or alternatively include an RFID chip embedded in the article (or the article's packaging), tote, or array itself.
[0046] The identifier may be associated with identifying information, in some embodiments as simple as a UPC code or SKU, although the identifier may include more complex identifying information in a warehouse environment. The identifier may be, for example, in some embodiments, a "license plate" that stores unique information corresponding to the individual item, container, or array scanned / read by the scanner. The license plate may be a serialized identifier that is associated with information such as, for example, part number, UPC or SKU number, name, quantity, revision, serial number, manufacturing date, expiration date, lot number, geographic location and location history, where this product is stored within the current warehouse or facility, inventory status, storage location, organization / company history of involvement with the item, tote, or array, history of employees of each organization handling the item, tote, or array, combinations thereof, and any other desired product information, as will be apparent to one of ordinary skill in the art in view of this disclosure.
[0047] If the identifier used is a number tag, the mapping process of determining a pose in the warehouse to place the item may be simplified by mapping from the warehouse storage location (rather than the SKU) contained in the number tag information to the pose. In the case of mapping from the SKU, as described above with respect to FIG. 8 in connection with a picking process or the like, the SKU number of the item is determined by the warehouse management system 15 in step 504, and from the SKU number a bin location is determined in step 506. This process can start directly from the bin location, rather than mapping from the SKU to the bin location. The robot 18 can determine the reference ID from the bin location, and from the reference ID, obtain a pose for each reference ID.
[0048] An embodiment of a mobile robot used in connection with the present invention may include a mobile base, laser radar, and optical camera, as described above. The robot may include a transceiver to enable the robot to receive instructions from and transmit data to a warehouse management server or other server. The robot may include a processor and memory for performing various tasks and operations associated with navigation through a warehouse, moving to fiducial markers located on shelves to store items, as described above in connection with picking items from shelves to fulfill orders. The robot may include a tablet or other display device for communicating with a worker, or other input / output devices. For example, a display device 930 in communication with the processor may be configured to display information corresponding to the items and assist the worker in storing the items in the associated storage location.
[0049] Information relating to the item may include, for example, but is not limited to, one or more of the following: bar code identification, item description, item size, item color, storage location or bin location. The display device may also display operator prompts or messages during the putaway process, such as a message identifying the next item to be put away, or a prompt to confirm the putting away of the item and select another item to put away, as described further below. The display device may present other information as well, such as information regarding the guidance of the robot around the warehouse. Such information may include areas within the warehouse, status indicators or icons of other robots, and the like. A suitable display device is described in commonly owned U.S. Patent No. 10,196,210, entitled "Display for Improved Efficiency in Robot Assisted Order-Fulfillment Operations," which is incorporated herein by reference in its entirety.
[0050] When the delivered items arrive at the warehouse, one or more workers unload the goods at a suitable receiving location. The workers can then place the items in a temporary location for later placement in a tote in the tote array of the mobile robot. The items can be placed, for example, in additional larger totes / bins of the robot until they are full or nearly full. In other examples, the items can be placed in additional mobile robots or in bins on a mobile cart that can accompany the mobile robot, or the items can be placed in bins at one or more other locations throughout the warehouse to which the mobile robot can later return for replenishment. In some examples, the delivered items can be placed directly into a tote in the tote array without first being placed in a separate temporary location. The items do not need to be scanned or sorted before being placed in the large totes / bins of the mobile robot, or any other temporary location.
[0051] The worker continues to fill each tote in the tote array with items as the large tote / bin or other temporary location becomes full. The worker can randomly select items from the large tote for later placement in a tote in the tote array. The worker can scan a barcode on the tote array, which identifies the number of totes in the tote array, or the worker can manually enter the number of totes in the tote array. The worker then selects items from the large tote / bin for placement in individual totes in the robot's tote array. For example, if the robot has eight totes or slots in the tote array, the worker selects eight items from the large tote. The items are identified by a barcode or other form of identification. The identification data includes at least the item's SKU. As described above, each item can be associated with a storage location in the warehouse using, for example, a lookup table from SKU to bin address, which can be stored in the robot's memory. A worker scans the barcode of each item using the robot's scanner or a handheld scanner and places the scanned item into one of the individual totes in the robot's tote array. The worker can sequentially place the items into the numbered totes and the robot can instruct the worker which tote the item should be placed in, or the worker can randomly place the items into the totes. The steps of placing the items into the large tote and processing the items into the individual totes in the tote array can occur in the same location, or the robot can move from a receiving location where the large tote is filled to a processing location where the items are processed into the individual totes.
[0052] Once all the individual totes are filled, the robot can determine the optimal route to deliver each of the items to their respective storage locations. The optimized route can be determined using data from the WMS and the order server, as described above and discussed further below.
[0053] 10, once the robot has determined the route, it then moves to a first pose associated with a first location on the route, for example, by mapping to the bin locations as described above. At the first location, the first item to be stored is communicated to the worker, for example, by displaying the individual tote's identification number on the robot's tablet for the worker to see. The worker selects the item from the correct tote, scans the item using the robot's scanner or a handheld scanner, places the item in the desired storage location, such as a bin on a shelf, and verifies, for example, using the robot's tablet, that the item has been put away.
[0054] The tablet on the robot then prompts the worker to select a replacement item from the large tote, scan the item's barcode, and place the item in the just-emptied individual tote in the tote array. The worker can select any item from the large tote. Once the worker has scanned the replacement item into the tote, the worker confirms task completion on the robot's tablet. The robot then recalculates an updated route for the new set of items in the tote array. It will be appreciated that once an updated route is calculated, the order in which the items in the individual totes should be put away may change.
[0055] The robot then moves to the next location on the updated route, where the next item is put away as described above. The worker then removes and scans yet another item from the large tote at the next location and places it in the now-empty individual tote. The robot again calculates a route based on the new set of items in the totes in the tote array and moves to the next location based on the updated route.
[0056] This process is repeated until all the items from the large tote have been placed into individual totes. The robot then travels to all locations on the last updated route. Once the last item in the tote array has been placed in the item storage location and the tote array is empty, the robot can return to the receiving station to receive a new load of items and the process can be repeated. If there are no items left in the large tote, the worker can input this information into the robot using a tablet so that the robot knows that once it has stored the last item, it should return to the induction station to receive another allocation, for example. In this way, items can be dynamically sorted and the robot routes as efficiently as possible without having to pre-sort items and without slowing down or negatively impacting the efficiency of the human worker.
[0057] The mobile robot may include or communicate with a system that assists in route planning and / or guidance within the warehouse. Any suitable route planning and / or guidance system may be used in connection with the inventions described herein. However, it may be desirable to optimize the route planning and guidance. In one example, the robot may communicate with a robot monitoring server that tracks congestion based on the presence of other robots or workers in the guidance space to increase guidance efficiency. In some situations, clustering multiple robots in a particular area may increase efficiency by allowing workers to efficiently perform multiple tasks while minimizing walking distance between robots. In other situations, too much clustering may create congested areas, which may cause workers and robots to impede the passage and movement speed of other workers and robots, causing inefficient delays and increasing collision risks. Any criterion or combination of criteria can be used to represent the congestion in the guided space, such as, for example, one or more other robots in the vicinity of a particular location, the number of workers in the vicinity of a particular location, the total number of robots and workers in the vicinity of a particular location, the number of manually disabled robots in the vicinity of a particular location, the number and type of non-robot, non-human objects, vehicles, or other obstacles in the vicinity of a particular location, the dimensions of the guided space in the vicinity of a particular location, or a combination thereof. In some examples, the robot can determine the route according to one or more efficiency factors in addition to or in place of the congestion. Such efficiency factors can include, for example, detection of at least one worker in the vicinity of a storage location, the ratio of workers to robots in an area of the warehouse, the proximity of the item to previously stored items, or a combination thereof. The efficiency factors can also include an extended dwell time in a storage location while waiting for the arrival of a worker to store the item. By taking such efficiency factors into account, the robot can increase storage efficiency by, for example, minimizing travel distance, minimizing travel time, minimizing the robot's dwell time in a location, avoiding obstacles or congested areas, or a combination thereof.
[0058] The robot can adjust the order in which it puts items away mid-route by skipping a previously scheduled item in the tote array and selecting a subsequently scheduled item. If the next location is congested, the robot can iterate through items and associated locations scheduled later in the tote array until a location is found that is more suitable. The robot can update its route to later re-fold in the storage of skipped items before completing the storage of all items in the tote array.
[0059] Examples of potentially applicable route planning / guidance techniques are described in the following co-owned patent applications, each of which is incorporated herein in its entirety: U.S. Patent Application No. 16 / 265,703, filed February 1, 2019, entitled "ROBOT CONGESTION MANAGEMENT," U.S. Patent Application No. 16 / 262,209, filed January 30, 2019, entitled "ROBOT DWELL TIME MINIMIZATION IN WAREHOUSE ORDER FULFILLMENT OPERATIONS," and U.S. Patent Application No. 17 / 017,758, filed September 11, 2020, entitled "SEQUENCE ADJUSTMENT FOR EXECUTING FUNCTIONS ON ITEMS IN AN ORDER."
[0060] Non-Limiting Exemplary Computer Processing Devices FIG. 11 is a block diagram of an example computing device 1210, or a portion of a computing device, that may be used in accordance with various embodiments described above with reference to FIGS. 1-10. The computing device 1210 includes one or more non-transitory computer-readable media that store one or more computer-executable instructions or software for performing the example embodiments. The non-transitory computer-readable media may include, but are not limited to, one or more types of hardware memory, non-transitory tangible media (e.g., one or more magnetic storage disks, one or more optical disks, one or more flash drives), and the like. The memory 1216 included in the computing device 1210 may store, for example, computer-readable and computer-executable instructions or software for performing the operations disclosed herein. The memory may store, for example, a software application 1240 that is programmed to perform the various disclosed operations discussed in connection with FIGS. 1-10. Computing device 1210 may also include a configurable and / or programmable processor 1212 and associated cores 1214, and optionally one or more additional configurable and / or programmable processing devices, such as processor 1212' and associated cores 1214' (e.g., in the case of a computing device having multiple processors / cores), to execute computer-readable and computer-executable instructions or software stored in memory 1216 and other programs to control the system hardware. Processor 1212 and processor 1212' may each be a single-core processor or a multi-core (1214 and 1214') processor.
[0061] Virtualization can be used in computing device 1210 to allow dynamic sharing of infrastructure and resources within the computing device. Virtual machines 1224 can be provided to handle processes running on multiple processors so that the processes appear to be using only one computing resource rather than multiple computing resources. Multiple virtual machines can also be used on a single processor.
[0062] The memory 1216 may include computational device memory or random access memory, such as, but not limited to, DRAM, SRAM, EDO RAM, etc. The memory 1216 may also include other types of memory or combinations thereof.
[0063] A user may interact with the computer processing device 1210 via a visual display device 1201, 111A-D, such as a computer monitor, capable of displaying one or more user interfaces 1202, which may be implemented according to an exemplary embodiment. The computer processing device 1210 may include other I / O devices for receiving input from a user, such as a keyboard or any suitable multi-point touch interface 1218, a pointing device 1220 (e.g., a mouse). The keyboard 1218 and the pointing device 1220 may be coupled to the visual display device 1201. The computer processing device 1210 may include other suitable conventional I / O peripheral devices.
[0064] The computing device 1210 may also include one or more storage devices 1234, such as, but not limited to, a hard drive, CD-ROM, or other computer readable medium for storing data, as well as computer readable instructions and / or software for performing the operations disclosed herein. The exemplary storage device 1234 may also store one or more databases that store any suitable information needed to perform the exemplary embodiments. The databases may be updated manually or automatically at any suitable time to add, delete, and / or update one or more items in the databases.
[0065] The computing device 1210 may include a network interface 1222 configured to interface with one or more networks, such as a local area network (LAN), a wide area network (WAN), or the Internet via various connections, including, but not limited to, standard telephone lines, LAN or WAN links (e.g., 802.11, T1, T3, 56kb, X.25), broadband connections (e.g., ISDN, frame relay, ATM), wireless connections, controller area networks (CAN), or any combination of any or all of the above, via one or more network devices 1232. The network interface 1222 may include an embedded network adapter, a network interface card, a PCMCIA network card, a card bus network adapter, a wireless network adapter, a USB network adapter, a modem, or any other device suitable for interfacing with any type of network with which the computing device 1210 can communicate and perform the operations described herein. Furthermore, the computing device 1210 may be any computing device, such as a workstation, desktop computer, server, laptop, handheld computer, tablet computer, or other form of computing or telecommunications device capable of communications and having sufficient processor power and memory capacity to perform the operations described herein.
[0066] The computing device 1210 may run any operating system 1226, such as any version of the Microsoft® Windows® operating system (Microsoft, Redmond, Wash.), various releases of the Unix and Linux® operating systems, any version of the MAC OS® operating system for Macintosh computers (Apple, Inc., Cupertino, Calif.), any embedded operating system, any real-time operating system, any open source operating system, any proprietary operating system, or any other operating system capable of running on the computing device and performing the operations described herein. In an exemplary embodiment, the operating system 1226 may run in native mode or in emulation mode. In an exemplary embodiment, the operating system 1226 may run on one or more cloud machine instances.
[0067] FIG. 12 is a block diagram of an exemplary computing device of one distributed embodiment. Although FIGS. 1-10 and some of the exemplary discussion above refer to the warehouse management system 15, the order server 14, or the robot tracking server 902 each running on a separate or common computing device, it will be appreciated that any of the warehouse management system 15, the order server 14, or the robot tracking server 902 may instead be distributed across separate server systems 1301a-d and possibly across user systems such as kiosks, desktop computing devices 1302, or handheld computing devices 1303 via a network 1305. For example, the order server 14 may be distributed among the tablets 48 of the robots 18. In some distributed systems, either or both modules of the warehouse management system software and / or the order server software may be located separately on the server systems 1301a-d and may communicate with each other via the network 1305.
[0068] While the foregoing description of the invention will enable one of ordinary skill in the art to make and use what is presently believed to be the best mode thereof, one of ordinary skill in the art will understand and recognize the existence of variations, combinations, and equivalents of the specific embodiments and examples herein. The embodiments of the invention described above are intended to be illustrative only. Those of ordinary skill in the art may make changes, modifications, and variations to the particular embodiments without departing from the scope of the invention, which is defined solely by the claims appended hereto. Thus, the invention is not limited by the embodiments and examples described above.
[0069] Having described the invention and its preferred embodiments, what is claimed as new and protected by Letters Patent is the following.
Claims
1. 1. A process performed by an autonomous robot to assist in placing an item in a storage location within an environment, the autonomous robot comprising: a processor; a memory; a communication device enabling communication between the autonomous robot and a management system; a mobile base; and a tote array comprising a plurality of totes disposed on the mobile base, each tote in the tote array holding an item to be stored in a storage location; The process comprises: determining a route for delivering each of the items in the tote array to an associated storage location; directing a first one of the items in the tote array to a first storage location for placement of the first item; confirming placement of the first item in the first storage location; prompting a worker to acquire an additional item and scan the additional item, and confirming that the additional item will be placed in the tote from which the first item was removed; determining an updated route for delivering each of the scanned items in the tote array, including the additional scanned item, to the associated storage location; The process includes:
2. confirming that a plurality of items are to be acquired for storage; confirming that a portion of the plurality of items to be stored is to be scanned; verifying that each scanned article is to be placed into one of the plurality of totes in the tote array; The process of claim 1 further comprising:
3. the autonomous robot further comprising an additional tote disposed on the mobile base and configured to hold a plurality of items to be subsequently placed into the tote array; The process of claim 1 , further comprising the step of prompting a worker to obtain the additional item from the additional tote.
4. 4. The process of claim 3, wherein the plurality of articles carried by the additional totes and subsequently placed into the tote array are unsorted.
5. directing a second one of the scanned items to a next storage location on the updated route for placement of the second item; confirming that the second item is to be placed in the next storage location; prompting the worker to acquire another item and scan the other item, and confirming that the second item will be placed in the tote from which the second item was removed; determining an updated route for delivering each of the scanned items in the tote array, including the additional scanned items, to the associated storage location; The process of claim 1 further comprising:
6. The process of claim 1 , wherein the step of directing to the first storage location further comprises the step of directing to a pose associated with the first storage location.
7. 2. The process of claim 1, further comprising displaying an identification of a tote in the tote array holding the first item to be placed by the robot in a storage location for the first item.
8. The process of claim 1 further comprising the step of verifying placement of the first item at the first storage location.
9. The process of claim 1 , wherein the environment is a warehouse space for storing items for fulfilling customer orders.
Citation Information
Patent Citations
Item storage array for a mobile base in robot-assisted order fulfillment operations
JP2019529279A
Relay-type article sorting system and sorting method
JP2020073407A
US10,001,768
US10,196,210
Robot dwell time minimization in warehouse order fulfillment operations
US10793357B2