Dynamic article storage management using a mobile robot
The dynamic storage selection system for mobile robots optimizes warehouse storage by using tote arrays and real-time route recalculations, addressing inefficiencies in unsorted item handling and enhancing order fulfillment efficiency.
Patent Information
- Application Number
- JP2024096715
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-09-11
- Filing Date
- 2024-06-14
- Publication Date
- 2025-07-23
- Estimated Expiration
- 2041-09-09
AI Technical Summary
Existing order fulfillment processes in large warehouses are inefficient due to labor-intensive storage operations and inefficient route selection, particularly when dealing with unsorted items, leading to reduced efficiency and increased time consumption.
A dynamic storage selection system for mobile robots that utilizes a tote array and collaborative interaction with operators, allowing items to be stored without pre-sorting, with the robot dynamically recalculating optimal routes based on warehouse management data.
Enhances storage efficiency by optimizing route selection and minimizing pre-sorting efforts, maintaining efficiency without delaying human operators, and improving overall order fulfillment speed.
Smart Images

Figure 0007712430000001 
Figure 0007712430000002 
Figure 0007712430000003
Abstract
Description
Technical Field
[0001] This application claims the benefit of priority of U.S. Patent Application No. 17 / 017,766, filed on September 11, 2020, which is incorporated herein by reference.
[0002] This invention relates to storage or warehousing operations in a warehouse using mobile robots, and more particularly to dynamic article storage management by optimizing the path selection of mobile robots.
Background Art
[0003] Ordering products over the Internet and having them delivered is a very popular shopping method. Fulfilling such orders in a timely, accurate, and efficient manner is, to say the least, logistically difficult. When the "checkout" button on a virtual shopping cart is clicked, an "order" is created. The order includes a list of articles to be shipped to a specific address. The "fulfillment" process includes physically retrieving such articles from a large warehouse, i.e., "picking", packing the articles, and shipping the articles to the designated address. Thus, an important goal of the order fulfillment process is to ship as many articles as possible in as short a time as possible.
[0004] The order fulfillment process is typically carried out in a large warehouse that stores many products, including those listed in the order. Thus, among the tasks of order fulfillment, there is the task of moving through the warehouse to find and collect the various articles listed in the order. In addition, the products that will ultimately be shipped must first be received in the warehouse and stored or "placed" in storage bins in an organized manner throughout the warehouse so that the products can be easily retrieved for shipping.
[0005] In large warehouses, the goods to be delivered and ordered may be stored in the warehouse very far apart from each other and dispersed among many other goods. In the case of an order fulfillment process that uses only human workers for product placement and picking, the workers need to walk for a long 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 time, an increase in time reduces efficiency.
[0006] To increase efficiency, robots can be used to perform human functions or to supplement human activities. For example, robots can be assigned to "pick" items from various locations dispersed throughout the warehouse for packing and shipping. Picking can be done by robots alone or with the help of human workers. For example, in the case of picking operations, a human worker picks an item from a shelf and places it on a robot, or in the case of placement operations, a human worker picks an item from a robot and places the item on a shelf.
[0007] Before an order can be fulfilled, the items that may be ordered must be stored in the warehouse. Generally, storage or "stowing" operations in a warehouse are very labor-intensive and inefficient, especially when the items are mixed in a single shipment or a group of returned items. For example, an employee may be given a pile of un-sorted items on a cart and may be required to store each item separately. This results in extensive movement and inefficient route selection / labor utilization. As an alternative, at the time of delivery, a dedicated group of workers sorts the items, scans each individual item, and then places the items on a cart for the employees to store later for picking and delivery. This is still inefficient as the items are not necessarily assigned to optimize the route selection or the efficiency of the pickers and necessarily takes the employees away from the picking task.
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 No. 16 / 265,703 [Patent Document 4] U.S. Patent Application No. 16 / 262,209 [Patent Document 5] U.S. Patent Application No. 17 / 017,758 [Summary of the Invention] [Means for Solving the Problems]
[0009] A system and process for dynamic storage selection of a robot are provided.
[0010] In one aspect, a dynamic storage selection system for a robot is provided. The dynamic storage selection system can utilize the collaborative interaction between the robot and the operator to improve route selection and operator efficiency and minimize prior effort. This is achieved by providing a plurality of tote arrays on the mobile robot. The tote array can include a predetermined number of totes, such as 8 totes, for example, but can include any number. In some embodiments, the mobile robot can also include an additional tote for holding a large quantity of un-sorted and un-scanned items that are larger than each tote of the tote array. The receiving staff can store a plurality of items to be stored in any suitable location, such as within the additional tote, without first sorting the items in advance.
[0011] In another aspect, a dynamic storage selection process for a robot is provided that utilizes a mobile robot having a tote array of multiple totes. First, a receiving staff can scan one item from a plurality of items to be stored for each tote of the tote array, and each scanned item is associated with a tote of the tote array and placed in the tote of the tote array. The robot then determines an optimal route for storing the scanned items within the totes of 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 an operator removes the first item to be stored, scans the item, places the item on a shelf, and confirms that the item has been stored. Next, a tablet on the robot prompts the operator to scan a replacement item from an additional tote or another location and place it in the just emptied tote of the tote array. When the replacement item is scanned and placed in the tote array, the operator confirms completion of the task, and the robot recalculates the most efficient route for the new set of items within the tote array. The robot then moves to the next location based on the recalculated route. In this way, the items are dynamically sorted, and the robot selects a route as efficiently as possible without pre-sorting, without delaying or adversely affecting the efficiency of human operators.
[0012] In another aspect, a robot is provided that can move to a predetermined location within an environment, 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 that enables communication between the robot and a management system. The robot is configured to determine a route for delivering each of the articles within the tote array to a related storage location in response to communication with the management system, move to a first storage location for placing a first article of the articles within the tote array, receive confirmation of placement of the first article at the first storage location, receive an identification indication of a further article to be placed in the tote of the tote array that was previously occupied by the first article, and determine an updated route for delivering each of the articles within the tote array to a related storage location, and comprises a processor and a memory.
[0013] In some embodiments, the robot further comprises an additional tote supported on the mobile base and configured to hold a plurality of articles that are later placed in the tote array. The robot can further comprise a scanner operable to scan articles to be placed in the tote array. The robot can further comprise a display device for communicating with an operator. The robot can further be configured to move along the updated route. The processor can be configured to communicate an identification indication of the first article to be placed at the first storage location to the operator.
[0014] These and other features of the invention will become apparent from the following detailed description and the accompanying drawings.
Brief Description of the Drawings
[0015]
Figure 1
Figure 2A
Figure 2B
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9A
Figure 9B
Figure 9C
Figure 10
Figure 11
Figure 12
DETAILED DESCRIPTION OF THE INVENTION
[0016] The present disclosure, along with its various features and advantages, will be more fully described with reference to the non-limiting examples and illustrations 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 the features of one example may be used with other examples 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 examples 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 examples of the present disclosure. Accordingly, the examples and illustrations herein should not be construed as limiting the scope of the present disclosure. Further, note that like reference numerals represent like parts throughout several views of the drawings.
[0017] The present invention relates to dynamic article storage management by optimized path selection of a mobile robot. While not limited to any particular robotic application, one suitable application in which the present invention may be used is order fulfillment. To present a situation related to dynamic article storage management according to one aspect of the present invention, the use of robots in an order fulfillment warehouse will be described. However, note that the present invention is not limited to this application.
[0018] Referring to FIG. 1, a typical order fulfillment warehouse 10 includes shelves 12 filled with various items that may be included in an order. In operation, an order 16 flows from a warehouse management server 15 and arrives at an order server 14. The order server 14 can, among other things, prioritize and group orders for assignment to robots 18 during the induction process. When a robot is induced by an operator at a processing station (e.g., station 100), the order 16 is assigned to the robot 18 and transmitted wirelessly for execution. The order server 14 may be a separate server with an individual software system configured to interoperate with the warehouse management system server 15 and warehouse management software, or it will be understood by those skilled in the art that the functions of the order server may be integrated into the warehouse management software and operate on the warehouse management server 15.
[0019] In a preferred embodiment, the robot 18 shown in FIGS. 2A and 2B comprises a base 20 with autonomous wheels equipped with a laser radar 22. The base 20 is also characterized by a transceiver (not shown) that enables the robot 18 to receive commands from the order server 14 and / or other robots and transmit data, and a pair of digital optical cameras 24a and 24b. The base of the robot also includes a charging port 26 for recharging the battery that powers the base 20 with autonomous wheels. The base 20 further features a processor (not shown) that receives data from the laser radar and cameras 24a and 24b to capture information representing the robot's environment. As shown in FIG. 3, there is a memory (not shown) that operates with the processor not only to perform various tasks related to navigation within the warehouse 10, but also to move to a reference marker 30 placed on the shelf 12. The reference marker 30 (e.g., a two-dimensional barcode) corresponds to the large box / location of the ordered item. The navigation method of the present invention will be described in detail below in connection with FIGS. 4 to 8. The reference marker is also used to identify the charging station according to an aspect of this invention, and the navigation of the robot to the reference marker of such a charging station is the same as the navigation to the large box / location of the ordered item. When the robot moves to the charging station, a more accurate navigation method is used to dock the robot to the charging station. Such a navigation method will be described below.
[0020] Referring again to FIG. 2B, the base 20 includes an upper surface 32 where a tote or large box can be stored for carrying an item. Also shown is a connection portion 34 that engages any one of a plurality of replaceable 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 that houses an item, and a tablet holder 46 (or laptop / other user input device) for supporting a tablet 48. 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 the contained items. As used herein, the term "tote" includes, but is not limited to, cargo holders, large boxes, cages, shelves, poles from which items can be suspended, cans, wooden frames, storage shelves, tables, pedestals, containers, boxes, canisters, vessels, and storage bins. It is also possible to use a tote array comprising two or more totes or containers fixed to each other, or a single unit with multiple compartments. Each tote / container or compartment may be associated with a separate order, or multiple totes / containers / compartments may be used and associated for a single larger order. The description of the operation of the robot 18 with a single tote, described in FIGS. 1 - 8, also applies to robots with a tote array.
[0021] The first description presented herein focuses on picking items from the location of large boxes in a warehouse to fulfill an order and ship to a customer, but the system equally applies to the storage or placement of received items at the location of large boxes in the warehouse throughout the warehouse for later retrieval and shipment to the customer. The present invention also applies to inventory management tasks related to such warehouse systems, such as product integration, counting, verification, inspection, and sorting.
[0022] Robot 18 is excellent at moving around inside warehouse 10 with current robot technology, but due to the technical difficulties associated with the robot manipulating an object, it is not very good at quickly and efficiently picking an item from a shelf and placing the item into tote 44. A more efficient way to pick an item is to use in-house operator 50, who is usually human, to physically remove the ordered item from shelf 12 and perform the task of placing the item on top of robot 18, e.g., inside tote 44. Robot 18 communicates the order to in-house operator 50 via a tablet 48 (or laptop / other user input device) that the in-house operator 50 can read, or by sending the order to a portable device used by the in-house operator 50.
[0023] When robot 18 receives order 16 from order server 14, it proceeds to the first location in the warehouse, e.g., as shown in FIG. 3. The robot proceeds based on navigation software stored in memory and executed by a processor. The navigation software depends on data about the environment collected by laser radar 22, an internal table in memory that identifies the reference identification (“ID”) of reference markers 30 corresponding to locations inside warehouse 10 where specific items can be found, and cameras 24a and 24b for navigation.
[0024] Upon arriving at the correct location (pose), robot 18 stops itself in front of shelf 12 where the item is stored and waits for in-house operator 50 to remove the item from shelf 12 and place it into tote 44. If robot 18 has other items to retrieve, it proceeds to that location. The item then removed by robot 18 is sent to processing station 100 in FIG. 1, where it is packed and shipped. Processing station 100 has been described with respect to this figure as being able to guide the robot and unload / pack, but the robot may be configured such that either guidance or unloading / packing is performed at the station. That is, the robot may be restricted to performing a single function.
[0025] Those skilled in the art will understand that each robot may be fulfilling one or more orders, and each order may be composed of one or more articles. Usually, some form of route optimization software will be included to increase efficiency, but this is beyond the scope of this invention and will not be described herein.
[0026] For the sake of simplicity in the description of the present invention, a single robot 18 and an operator 50 will be described. However, as is apparent from FIG. 1, a typical fulfillment operation includes many robots and operators working together in the warehouse to fulfill a continuous stream of orders.
[0027] Not only the basic guiding method of this invention, but also the semantic mapping of the SKU of the article to be retrieved to the reference ID / pose associated with the reference markers in the warehouse where the article is located will be described in detail below in connection with FIGS. 4-8.
[0028] It is necessary to create a map of the warehouse 10 using one or more robots 18 and also to determine the locations of various reference markers distributed throughout the warehouse. To do this, one or more of the robots 18 move through the warehouse and utilize simultaneous localization and mapping (SLAM), which is an arithmetic problem of constructing or updating a map of the unknown environment while estimating its own position, using the robot's laser radar 22 to construct / update the map 10a in FIG. 4. General approximate solutions for 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 uses the robot's laser radar 22 to move throughout the space and identify other static obstacles such as open spaces 112, walls 114, objects 116, and shelves 12 in the space based on the reflections received when the laser radar scans the environment, and creates a map 10a of the warehouse 10.
[0030] While constructing the map 10a (or while updating the map 10a thereafter), one or more robots 18 move throughout the warehouse 10 using the camera 26, scan the environment, and search for the locations of reference markers (2D barcodes) on shelves proximal to large bins such as 32 and 34 in FIG. 3 where articles are stored, which are distributed throughout the warehouse. The robot 18 uses a known starting point or origin, such as the origin 110, as a reference. When the robot 18 locates the location of a reference marker, such as the reference marker 30 in FIGS. 3 and 4, using the robot's camera 26, the location relative to the origin 110 within the warehouse is determined.
[0031] By using the wheel encoder and the orientation sensor, the vector 120 and the position of the robot within the warehouse 10 can be determined. The robot 18 can determine the orientation of the reference marker / 2D barcode relative to the robot and the distance from the robot, i.e., the vector 130, using the captured image of the reference marker / 2D barcode and its known size. If the vectors 120 and 130 are known, the vector 140 between the origin 110 and the reference marker 30 can be determined. From the vector 140 and the determined orientation of the reference marker / 2D barcode relative to the robot 18, the pose (position and orientation) defined by the quaternion (x, y, z, ω) of the reference marker 30 can be determined.
[0032] Describe the reference marker position identification process with reference to flowchart 200 of FIG. 5. This is executed when the robot 18 encounters a new reference marker in the warehouse during the initial mapping mode while performing picking, placement, and / or other tasks. At step 202, the robot 18 using the camera 26 captures an image. At step 204, it searches for the reference marker in the captured image. If the reference marker is found in the image (step 204), at step 206, it determines whether the reference marker is already stored in the reference table 300 of FIG. 6 in the memory 34 of the robot 18. If the reference information is already stored in the memory, the flowchart returns to step 202 to capture another image. If the reference information is not in the memory, the pose is determined according to the above process and added to the lookup table 300 of the reference pair pose at step 208.
[0033] The lookup table 300 that can be stored in the memory of each robot includes reference identification displays 1, 2, 3, etc. for each reference marker and the pose of the reference marker / barcode associated with each reference identification display. The pose is composed of x, y, z coordinates in the warehouse including orientation, or a quaternion (x, y, z, ω).
[0034] Another lookup table 400 of FIG. 7 that can also be stored in the memory of each robot lists the locations of the large boxes (e.g., 402a - f) in the warehouse 10, and the locations of the large boxes are associated with a specific reference ID 404, such as the number "11". In this example, the location of the large box is composed of seven alphanumeric characters. The first six characters (e.g., L01001) are related to the location of the shelf in the warehouse, and the last character (e.g., A - F) identifies the individual large box at the shelf location. In this example, there are six different locations of large boxes associated with the reference ID "11". There can be one or more large boxes associated with each reference ID / marker.
[0035] Since the location of the large box of alphanumeric characters corresponds to the physical location within the warehouse 10 where the items are stored, it is understandable to a human, such as the operator 50 in FIG. 3. However, it is meaningless to the robot 18. By mapping the location to the reference ID, the robot 18 can use the information in the table 300 of FIG. 6 to determine the pose of the reference ID and then move to the pose as described in this specification.
[0036] The order fulfillment process according to this invention is shown in the flowchart 500 of FIG. 8. In step 502, the order server 14 obtains an order from the warehouse management system 15, which may consist of one or more items to be retrieved. Note that the order assignment process is quite complex and is beyond the scope of this disclosure. One such order assignment process is described in the commonly owned U.S. Patent Application No. 15 / 807,672, filed on September 1, 2016, entitled "Order Grouping in Warehouse Order Fulfillment Operations", the entire disclosure of which is incorporated herein by reference. It should also be noted that the robot can have a tote array group, one for each box or compartment, so that a single robot can execute multiple orders. An example of such a tote array group is described in the U.S. Patent Application No. 15 / 254,321, filed on September 1, 2016, entitled "Item Storage Array for Mobile Base in Robot Assisted Order-Fulfillment Operations", the entire disclosure of which is incorporated herein by reference.
[0037] Continuing with reference to FIG. 8, in step 504, the SKU number of the article is determined by the warehouse management system 15, and in step 506, the location of the large box is determined from the SKU number. Next, a list of the locations of the large boxes for the order is sent to the robot 18. In step 508, the robot 18 associates the location of the large box with a reference ID, and in step 510, obtains the pose of each reference ID from the reference ID. In step 512, the robot 18 moves to the pose as shown in FIG. 3, where the operator can pick the article to be taken out from the appropriate large box and place it on the robot.
[0038] Article-specific information such as the SKU number and the location of the large box obtained by the warehouse management system 15 / order server 14 may be sent to the tablet 48 of the robot 18, whereby the operator 50 can know about the specific article to be taken out when the robot arrives at the location of each reference marker.
[0039] Using the SLAM map and the poses of the known reference IDs, the robot 18 can easily move to any one of the reference IDs using various robot guidance techniques. A preferred approach involves setting an initial route to the pose of the reference marker on the premise of the open space 112 in the warehouse 10, as well as the knowledge of the wall 114, shelves (such as shelf 12), and other obstacles 116. When the robot starts moving through 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 repeatedly updates the robot's path to the pose of the reference marker. The robot replans the robot's route once every approximately 50 milliseconds, constantly searching for the most efficient and effective route while avoiding obstacles.
[0040] Using the mapping technique from the SKU / reference ID of the product combined with the SLAM guidance technique, both of which are described in this specification, to the reference pose, the robot 18 can move through the warehouse space very efficiently and effectively without the need to use more complex guidance methods that typically require grid lines and intermediate reference markers for determining locations within the warehouse.
[0041] Dynamic Storage Selection Management for Robots To fulfill an order, before picking an item from the location of a large bin in the warehouse, the item needs to be first stored in the appropriate location of a large bin on the shelf so that it can be retrieved later. Often, various items are delivered to the warehouse in a single shipment without being pre-sorted. Similarly, various returned items may be mixed without being pre-sorted. By dynamically sorting the items, a process and system are provided that facilitate storage on the shelves in the warehouse, eliminating the need to pre-sort the items and without adversely affecting or delaying the efficiency of human operators.
[0042] For this purpose, FIG. 9A shows an embodiment of a mobile robot 18a that can be used to store items on the shelf in cooperation with an operator. In some embodiments, the robot can be equipped with two or more tote / large bin tote arrays 910, generally on top of the robot. In the embodiment shown 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 large bins 920, generally larger than the totes of the tote array, can be placed at the base 20a or lower part of the robot below the tote array. The additional tote is not essential but can be preferable for the operator to conveniently utilize when replacing items within the tote array 910 during the storage process, as further described below.
[0043] The tote / large bins of tote array 910 can generally be smaller than additional larger totes, and can be easily configured as an array, and can be separate totes or large bins respectively, or can be preconfigured as an integrated tote / large bin array. The totes can be in any form, such as slots, large bins, compartments, containers, or any other configuration. The totes can have openings facing upward, or forward, backward, or sideways. The tote array of totes can 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. Tote array 910 is shown and described herein as a vertically oriented "cube" style array having an opening in its vertical plane for loading from the front / back / side, but in view of this disclosure, it will be apparent that any style or configuration of tote array, or combination thereof, can be used according to various embodiments. The tote array can be provided with removable or adjustable partitions to change the configuration of the totes within the tote array. FIG. 9B shows a further example of robot 18b comprising a tote array 914 with a plurality of totes or large bins 916a - 916i accessible from above through a horizontally oriented opening. Although nine totes or large bins are shown, it will be understood that any number of totes or large bins can be provided. Further, in view of this disclosure, it will be apparent that the tote array can be disposed, suspended, or otherwise removably attached to robot 18a. For example, in some embodiments, horizontally oriented totes (such as tote 920 shown in FIG. 9A), stacked totes, and / or stacked and partitioned totes configured for loading from above can be used.
[0044] FIG. 9C shows 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 disposed on top of the upper surface of the wheeled base 20c of the robot 18c. In some embodiments, the shelf can be marked to designate a plurality of areas, such as areas 926a - 926f shown in FIG. 9C. Although six areas are illustrated, it will be understood that any number of divided areas can be provided, or it is also possible to have no divided areas. In some embodiments, the shelf 924 can be used to support one or more totes, large boxes, tote arrays, or any other configuration for holding articles. 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. Further, the tote array as a whole can be identified using an array identifier. A shelf can be identified using a tote identifier, and / or each discrete section of a shelf can be identified using a tote identifier. Similarly, any item to be stored (also referred to as "placed") can be identified by an item identifier, such as a barcode or other form of marking, and / or the tote array can be provided with a barcode / marking for the entire tote array. This is described in co-owned U.S. Patent No. 10,001,768, titled "Item Storage Array for a Mobile Base in Robot Assisted Order-Fulfillment Operations", which is hereby incorporated by reference in its entirety. An identifier, regardless of whether it is an "item identifier", "tote identifier", or "array identifier" as used herein, refers to any scannable (in the same sense "readable") marking, label, or device associated with identification information corresponding to an item, tote, or array. An identifier can take the form of, for example, a one-dimensional or two-dimensional barcode marking printed, etched, engraved, etc. on an item (or item packaging), tote, or array. Such an identifier can take the form of a label, including a one-dimensional or two-dimensional barcode or RFID chip, attached to an item (or item packaging), tote, or array. Such an identifier can further or alternatively include an RFID chip embedded within the item (or item packaging), tote, or array itself.
[0046] In some embodiments, the identifier can be associated with simple identification information, such as a UPC code or SKU. However, the identifier may include more complex identification information in a warehouse environment. In some embodiments, for example, the identifier may be a "license plate" that stores unique information corresponding to an individual item, container, or array scanned / read by a scanner. As will be apparent to those skilled in the art in view of this disclosure, the license plate may include, for example, part numbers, UPC or SKU numbers, names, quantities, revisions, serial numbers, manufacturing dates, expiration dates, lot numbers, geographical locations and location histories, the location within the current warehouse or facility where this product is stored, inventory status, storage location, the history of the organization / company's relationship with the item, tote, or array, the history of each organization's employees handling the item, tote, or array, their combinations, and any other desired product information, etc., and can be a serialized identifier related to such information.
[0047] If the identifier used is a license plate, the mapping process for determining the pose in the warehouse for placing the item can be simplified by mapping from the storage location of the warehouse (not the SKU) included in the license plate information to the pose. In relation to processes such as the picking process, when mapping from the SKU as described above with respect to FIG. 8, at step 504, the SKU number of the item is determined by the warehouse management system 15, and at step 506, the location of the large box is determined from the SKU number. This process can start directly from the location of the large box instead of mapping from the SKU to the location of the large box. The robot 18 can determine the reference ID from the location of the large box and obtain the pose of each reference ID from the reference ID.
[0048] As described above, an example of a mobile robot used in connection with the present invention can include a mobile base, a lidar, and an optical camera. The robot can include a transceiver so that the robot can receive commands from a warehouse management server or other server and transmit data to the warehouse management server or other server. The robot can include a processor and a memory for performing various tasks and operations related to navigation within a warehouse, such as moving to reference markers disposed on shelves for storing articles, as described above in connection with picking articles from the shelves to fulfill an order. The robot can include a tablet or other display device for communicating with an operator, or other input / output devices. For example, a display device 930 that communicates with the processor can be configured to display information corresponding to an article and assist an operator in storing the article in an associated storage location.
[0049] Information related to an article can include, but is not limited to, one or more of, for example, a barcode identification display, a description of the article, the size of the article, the color of the article, a storage location, or the location of a tote. The display device can also display operator prompts or messages, such as a message identifying the next article to be stored during the storage process, or a prompt for confirming the storage of an article and selecting another article to store, which is further described below. The display device can similarly present other information, such as information related to the navigation of robots around the warehouse. Such information can include, for example, areas within the warehouse, status indicators or icons of other robots. A suitable display device is described in co-owned U.S. Patent No. 10,196,210, titled "Display for Improved Efficiency in Robot Assisted Order-Fulfillment Operations", which is hereby incorporated by reference in its entirety.
[0050] When the delivered goods arrive at the warehouse, one or more workers unload the goods at a suitable receiving location. The worker can then place the multiple items in a temporary location for later placement into totes of the tote array of the mobile robot. The items can be placed, for example, into the additional larger totes / bins of the robot until full or nearly full. In other embodiments, the items can be placed into a bin of an additional mobile robot or a mobile cart that can accompany the mobile robot, or the items can be placed into bins at one or more other locations throughout the warehouse where the mobile robot can later return for replenishment. In some embodiments, the delivered items can be placed directly into the totes of the tote array without first being placed in another temporary location. The items do not need to be scanned or sorted before being placed into the large totes / bins of the mobile robot or any other temporary location.
[0051] When the large tote / large box or other temporary location is full, the operator subsequently fills each tote in the tote array with items. The operator can randomly select items from the large tote for later placement in the totes of the tote array. The operator can scan the barcode of the tote array that identifies the number of totes in the tote array, or the operator can manually enter the number of totes in the tote array. The operator then selects items from the large tote / large box for placement in the individual totes of the robot's tote array. For example, if the robot has 8 totes or slots in the tote array, the operator selects 8 items from the large tote. The items are identified by a barcode or other form of identification display. The identification data includes at least the SKU of the item. As described above, each item can be associated with a storage location in the warehouse, for example, using a lookup table from the SKU to the large box address that can be stored in the robot's memory. The operator uses the robot's scanner or a handheld scanner to scan the barcode of each item and place the scanned item in one of the individual totes of the robot's tote array. The operator can place the items in the numbered totes in order, the robot can instruct the operator which tote to place the item in, or the operator can place the items in the totes randomly. The steps of placing the items in the large tote and processing the items within the individual totes of the tote array can be done in the same location, or the robot can move from the receiving location where the large tote is filled to the processing location where the items are processed within the individual totes.
[0052] When all individual totes are full, the robot can determine the optimal route for delivering each of the items to their respective storage locations. The optimized route can be determined using data from the WMS and order server as described above and further discussed below.
[0053] Referring to FIG. 10, when the robot determines a route, it then moves to the first pose associated with the first location on the route by mapping, for example, based on the location of the large box as described above. At the first location, the first article to be stored is communicated to the operator, for example, by displaying the identification number of each tote on the robot's tablet so that the operator can see it. The operator selects the article from the correct tote, scans the article using the robot's scanner or a handheld scanner, places the article in a desired storage location such as a large box on the shelf, and confirms, for example, using the robot's tablet, that the article has been stored.
[0054] The tablet on the robot then prompts the operator to select a replacement article from the large tote, scan the barcode of the article, and place the article in an individual tote that has just become empty in the tote array. The operator can select any article from the large tote. When the operator scans and places the replacement article in the tote, the operator confirms the completion of the task on the robot's tablet. The robot then recalculates an updated route for the new orientation of the articles in the tote array. It will be appreciated that when the updated route is calculated, the order in which the articles in the individual totes should be stored may change.
[0055] The robot then moves to the next location on the updated route. At the next location, the next article is stored as described above. The operator then takes out and scans yet another article from the large tote at the next location and places it in the individual tote that has just become empty. The robot calculates the route again based on the new set of articles in the totes of the tote array and moves to the next location based on the updated route.
[0056] This process is repeated until all the articles from the large tote are placed into individual totes. The robot then moves to all the locations on the last updated route. The last article in the tote array is placed in the article storage location and when the tote array is empty, the robot can return to the receiving station to receive a new load of articles and repeat this process. The operator can input this information to the robot using a tablet so that when there are no articles remaining in the large tote, the robot knows that it should return to the induction station to receive, for example, another assignment once it has stored the last article. In this way, articles can be sorted dynamically and the robot routes in the most efficient possible way without the need to pre-sort articles and without negatively impacting or delaying the efficiency of human operators.
[0057] The mobile robot is equipped with or can communicate with a system that supports route planning and / or guidance within a warehouse. In connection with the present invention described herein, any suitable route planning and / or guidance system can be used. However, it is desirable to optimize route planning and guidance. In one example, the robot can communicate with a robot monitoring server that tracks congestion based on the presence of other robots or workers in the guidance space in order to increase guidance efficiency. Depending on the situation, by concentrating multiple robots in a specific area, workers can efficiently perform multiple tasks while minimizing the walking distance between the robots, thus increasing efficiency. In other situations, if the group is too concentrated, a congested area may be formed, which may impede the passing and movement speeds of workers and robots with respect to other workers and robots, causing inefficient delays and increasing the risk of collisions. For example, one or more other robots in proximity to a specific location, the number of workers in proximity to a specific location, the total number of robots and workers in proximity to a specific location, the number of robots rendered inoperable manually in proximity to a specific location, the number and type of non-robot, non-human objects, vehicles, or other obstacles in proximity to a specific location, the dimensions of the guidance space in proximity to a specific location, or a combination thereof, any evaluation criterion or combination of evaluation criteria can be used to represent the congestion situation within the guidance space. In some embodiments, the robot can determine a route based on one or more efficiency factors in addition to or instead of the congestion situation. Such efficiency factors can include, for example, the detection of at least one worker in proximity to a storage location, the ratio of workers to robots in an area of the warehouse, the proximity of an item to a previously stored item, or a combination thereof. The efficiency factors can also include an extension of the residence time at a storage location while waiting for the arrival of a worker who stores the item. By considering such efficiency factors, the robot can increase storage efficiency, for example, by minimizing the travel distance, minimizing the travel time, minimizing the residence time of the robot at a location, avoiding obstacles or congested areas, or a combination thereof.
[0058] The robot can adjust the order in which items are stored along a route by skipping previously scheduled items in a tote array and then selecting the subsequently scheduled items. The robot can iterate on items and associated locations scheduled later in the tote array until a more suitable location is detected if the next location is congested. The robot can update the route to fold in the storage of the skipped items again later 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 hereby incorporated by reference in its entirety: U.S. Patent Application No. 16 / 265,703, filed on February 1, 2019, entitled "ROBOT CONGESTION MANAGEMENT"; U.S. Patent Application No. 16 / 262,209, filed on January 30, 2019, entitled "ROBOT DWELL TIME MINIMIZATION IN WAREHOUSE ORDER FULFILLMENT OPERATIONS"; and U.S. Patent Application No. 17 / 017,758, filed on September 11, 2020, entitled "SEQUENCE ADJUSTMENT FOR EXECUTING FUNCTIONS ON ITEMS IN AN ORDER".
[0060] Non-limiting and exemplary computer processing devices FIG. 11 is a block diagram of an exemplary computer processing device 1210, or a portion of a computer processing device, that may be used in accordance with the various embodiments described above with reference to FIGS. 1-10. The computer processing device 1210 includes one or more non-transitory computer-readable media that store one or more computer-executable instructions or software for implementing the exemplary embodiments. The non-transitory computer-readable media may include, but is 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). The memory 1216 included in the computer processing device 1210 can store computer-readable and computer-executable instructions or software for performing, for example, the operations disclosed herein. The memory can store, for example, a software application 1240 programmed to perform the various disclosed operations discussed in connection with FIGS. 1-10. The computer processing device 1210 also includes a configurable and / or programmable processor 1212 and associated core 1214, and optionally, one or more additional configurable and / or programmable processing devices, such as processor 1212' and associated core 1214' (e.g., in the case of a computing device having multiple processors / cores), to execute the computer-readable and computer-executable instructions or software stored in the memory 1216 and other programs that control the system hardware. Processors 1212 and 1212' can each be a single-core processor or a multi-core (1214 and 1214') processor, respectively.
[0061] In computer processing device 1210, virtualization can be used so that the underlying infrastructure and resources within the computer processing device can be dynamically shared. Virtual machine 1224 can be provided to handle processes running on multiple processors so that a process appears to be using only one computer processing resource rather than multiple computer processing resources. It is also possible to use multiple virtual machines on one processor.
[0062] Memory 1216 can include, but is not limited to, computing device memories or random access memories such as DRAM, SRAM, EDO RAM, etc. Memory 1216 can further include other types of memory, or combinations thereof.
[0063] A user can interact with computer processing device 1210 via a visual display device 1201, such as a computer monitor, that can display one or more user interfaces 1202, which can be implemented according to an exemplary embodiment, via 111A - D. Computer processing device 1210 can include other I / O devices for receiving input from a user, such as a keyboard or any suitable multi-touch interface 1218, a pointing device 1220 (e.g., a mouse). Keyboard 1218 and pointing device 1220 can be coupled to visual display device 1201. Computer processing device 1210 can include other suitable conventional I / O peripheral devices.
[0064] The computer processing device 1210 may also include one or more storage devices 1234, such as, but not limited to, a hard drive, a CD-ROM, or other computer-readable media, for storing data and computer-readable instructions and / or software for performing the operations disclosed herein. The exemplary storage device 1234 may also store one or more databases storing any suitable information necessary to implement the exemplary embodiments. The database may be updated manually or automatically at any suitable time to add, delete, and / or update one or more items within the database.
[0065] The computer processing device 1210 may include a network interface 1222 configured to interface with the Internet via one or more network devices 1232 and various connections to one or more networks, such as a local area network (LAN), a wide area network (WAN), or a standard telephone line, LAN or WAN link (e.g., 802.11, T1, T3, 56 kb, X.25), broadband connection (e.g., ISDN, frame relay, ATM), wireless connection, controller area network (CAN), or any combination of any or all of the foregoing, but not limited thereto. The network interface 1222 may include an embedded network adapter, network interface card, PCMCIA network card, card bus network adapter, wireless network adapter, USB network adapter, modem, or any other device suitable for interfacing with any type of network such that the computer processing device 1210 can communicate and perform the operations described herein. Further, the computer processing device 1210 can be any computing device, such as a workstation, desktop computer, server, laptop, handheld computer, tablet computer, or other form of computer processing or telecommunications device that is capable of communication and has sufficient processor capabilities and memory capacity to perform the operations described herein.
[0066] The computer processing device 1210 can operate any version of the Microsoft® Windows® operating system (Microsoft, Redmond, Washington), various releases of Unix and Linux® operating systems, any version of the MAC OS® (Apple, Inc., Cupertino, California) operating system for Macintosh computers, any embedded operating system, any real-time operating system, any open-source operating system, any proprietary operating system, or any other operating system 1226 that runs on the computer processing device and can perform the operations described herein. In an exemplary embodiment, the operating system 1226 can operate in native mode or emulation mode. In an exemplary embodiment, the operating system 1226 can operate on one or more cloud machine instances.
[0067] FIG. 12 is a block diagram of an exemplary computing device of a distributed embodiment. FIGS. 1 - 10, and parts of the above exemplary discussion, refer to a warehouse management system 15, an order server 14, or a robot tracking server 902, each operating on an individual or common computer processing device. Instead, any of the warehouse management system 15, the order server 14, or the robot tracking server 902 may be distributed over a network 1305 to separate server systems 1301a - d, and optionally to user systems such as kiosks, desktop computer devices 1302, or portable computer devices 1303. For example, the order server 14 may be distributed among the tablets 48 of the robots 18. In some distributed systems, one or both modules of the software of the warehouse management system and / or the software of the order server may be located separately on the server systems 1301a - d and communicate with each other over the network 1305.
[0068] From the foregoing description of the present invention, those skilled in the art can make and use what is currently considered to be its best mode. However, those skilled in the art will understand and recognize the existence of specific embodiments and variations, combinations, and equivalents herein. The above embodiments of the present invention are intended to be illustrative only. Those skilled in the art can make changes, modifications, and variations to specific embodiments without departing from the scope of the present invention, which is defined only by the claims appended hereto. Accordingly, the present invention is not limited by the embodiments and examples described above.
[0069] Having described the present invention and its preferred embodiments, what is claimed as new and protected by letters patent is as follows.
Claims
1. A robot capable of moving to a predetermined location within an environment, the robot comprising: A mobile base on which a tote array of a plurality of totes is supported, the tote array including a first set of articles, each article of the first set of articles being associated with a storage location within the environment; a mobile base; A communication device enabling communication between the robot and a management system; and In response to communication with the management system, Determine a route for delivering each article within the first set of articles within the tote array to the associated storage location; Move to a first storage location for placing a first article among the articles within the first set of articles within the tote array; Transmit an identification indication of the first article to be placed at the first storage location to an operator; Receive confirmation from the operator of the placement of the first article at the first storage location; Receive an identification indication of a further article to be placed in the tote of the tote array previously occupied by the first article, the further article not being included in the first set of articles and Determine an updated route for delivering each article within the tote array to an associated storage location, the articles within the tote array including the further article; A processor and memory configured to: A robot comprising.
2. The robot according to claim 1, further comprising an additional tote supported on the mobile base and configured to hold a plurality of articles to be subsequently placed within the tote array, the plurality of articles including the further article but not including the first set of articles.
3. The robot according to claim 1, further comprising a scanner operable to scan the articles to be placed in the tote array.
4. The robot according to claim 1, further comprising a display device for communicating with an operator.
5. The robot according to claim 1, wherein the robot is further configured to move along the updated route.
Citation Information
Patent Citations
Carrier system loading id reader and restoring method when id information differ from each other
JP2002182743A
Item storage array for a mobile base in robot-assisted order fulfillment operations
JP2019529279A
US10,001,768
US10,196,210
Robot dwell time minimization in warehouse order fulfillment operations
US10793357B2