Robot congestion management

By using a robot monitoring server and congestion management system, the tasks and routes of robots are adjusted, which solves the congestion problem when robots and human operators navigate in the warehouse, and improves operational efficiency and safety.

CN113661506BActive Publication Date: 2026-07-10LOCUS ROBOTICS CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202080022448.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-02-01
Filing Date
2020-01-31
Publication Date
2026-07-10
Estimated Expiration
2040-01-31

AI Technical Summary

Technical Problem

In large warehouses, congestion can easily occur when multiple robots and human operators navigate in shared spaces, leading to inefficiency and increased risk of collisions.

Method used

A robot monitoring server is used to track the location of multiple robots. By identifying congestion status, the task list and routes are adjusted to avoid congested areas. LiDAR and cameras are used to build warehouse maps, reference markers are used for navigation, and the robot's tasks and routes are rearranged through a congestion management system.

Benefits of technology

It effectively reduced congestion in the warehouse, lowered the risk of collisions, improved the operational efficiency of both robots and human operators, and achieved more efficient task completion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113661506B_ABST
    Figure CN113661506B_ABST
Patent Text Reader

Abstract

Systems and methods for robot congestion management are provided, the system comprising: a robot monitoring server configured to track positions of a plurality of robots within a navigational space; and a plurality of robots. The plurality of robots are in communication with the robot monitoring server, and each of the plurality of robots comprises: a processor; and a memory storing instructions that, when executed by the processor, cause the autonomous robot to: determine, from a task list assigned to the robot, a first pose position corresponding to a first task, receive, from the robot monitoring server, congestion information associated with the first pose position, identify a congestion state of the first pose position indicated by the congestion information, in response to the identification of the congestion state, select a second task from the task list, and navigate to a second pose position corresponding to the second task.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims priority to U.S. Application No. 16 / 265,703, filed February 1, 2019, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This invention relates to robot navigation, and more particularly to robot congestion management. Background Technology

[0004] Ordering products online and having them delivered to your door is a very popular way to shop. To say the least, fulfilling such orders promptly, accurately, and efficiently is logistically challenging. Clicking the "Checkout" button in a virtual shopping cart creates an "order." This order includes a list of items that will be shipped to a specific address. The "fulfillment" process involves physically picking up or "fetching" these items from a large warehouse, packing them, and shipping them to the designated address. A key objective of the order fulfillment process is to ship as many items as possible in the shortest possible time.

[0005] Order fulfillment typically takes place in a large warehouse containing many products (including those listed in the order). Therefore, one of the tasks of order fulfillment is to traverse the warehouse to locate and collect the various items listed in the order. Furthermore, the products that will ultimately be shipped first need to be received in the warehouse and stored or “placed” in storage boxes in an orderly manner throughout the warehouse so that they can be retrieved at any time for shipment.

[0006] In large warehouses, delivered and ordered goods can be stored in warehouses far apart from each other and scattered among a large number of other goods. The order fulfillment process relies solely on manual operators to place and pick up goods, which requires a significant amount of walking and is inefficient and time-consuming. Since the efficiency of the fulfillment process is a function of the number of items transported per unit of time, increasing the time required reduces efficiency.

[0007] To improve efficiency, robots can be used to perform human functions or supplement human activities. For example, a robot can be instructed to "place" multiple items in different locations scattered throughout a warehouse, or to "pick up" items from different locations for packaging and shipping. Picking and placing can be done by the robot alone or with the assistance of an operator. For instance, in a picking operation, a human operator picks up an item from a shelf and places it on the robot, or in a placing operation, a human operator picks up an item from the robot and places it on a shelf.

[0008] When multiple robots and human operators simultaneously navigate a shared space in a warehouse, the proximity of these robots and human operators attempting to assist them to similar locations can lead to congestion. For example, during order fulfillment operations, popular consumer items may cause robots to congregate in common areas or aisles, resulting in congestion, inefficient delays, and increased collision risks. Furthermore, when many robots are clustered in discrete locations, human operators may also tend to gather in these areas to perform pickups associated with these robots, exacerbating the congestion problem. Additionally, due to the concentration of many robots and human operators, robots operating in less active parts of the warehouse may remain without human assistance for extended periods, leading to increased dwell time and further reducing efficiency. Summary of the Invention

[0009] This paper presents a system and method for using proximity beacons to avoid robot collisions.

[0010] In one aspect, a robot congestion management system is provided. The system includes a robot monitoring server configured to track the positions of multiple robots within a navigation space. The system also includes multiple robots communicating with the robot monitoring server. Each robot includes a processor. Each robot also includes a memory. The memory stores instructions that, when executed by the processor, cause the autonomous robot to determine a first pose position corresponding to a first task from a list of tasks assigned to the robot. The memory also stores instructions that, when executed by the processor, cause the autonomous robot to receive congestion information associated with the first pose position from the robot monitoring server. The memory further stores instructions that, when executed by the processor, cause the autonomous robot to identify a congestion state at the first pose position indicated by the congestion information. The memory also stores instructions that, when executed by the processor, cause the autonomous robot to select a second task from the task list in response to the identification of the congestion state. The memory further stores instructions that, when executed by the processor, cause the autonomous robot to navigate to a second pose position corresponding to the second task.

[0011] In some embodiments, the second task is selected in response to one or more efficiency factors, including the second pose position being in a non-congested state, at least one human operator being detected near the second pose position, the second task being the next sequential task on the task list, the second task being the next highest priority task on the task list, the proximity of the second task to the first task, or a combination thereof. In some embodiments, the congestion state is identified in response to one or more congestion conditions described by congestion information associated with the pose position, including one or more of the following: a plurality of other robots, a plurality of human operators, a combination of robots and human operators, a plurality of manually disabled robots, the number and type of non-robots, non-human objects, vehicles or other obstacles, the size of the navigation space, or a combination thereof. In some embodiments, the memory also stores instructions that, when executed by the processor, cause the autonomous robot to reinsert the first task into the task list after the second task, causing the robot to navigate to the first pose position before completing the task list. In some embodiments, the robot monitoring server further includes one or more of the following: a warehouse management system, an order server, a standalone server, a distributed system including the memory of at least two of the plurality of robots, or a combination thereof. In some embodiments, the navigation space is a warehouse. In some embodiments, the second task is at least one of a pick-up operation, a drop-off operation, or a combination thereof to be performed within the warehouse.

[0012] In another aspect, a method for robot congestion management is provided. The method includes: tracking the positions of multiple autonomous robots within a navigation space by a robot monitoring server. The method further includes: determining a first pose position corresponding to a first task from a list of tasks assigned to the robot in the memory and processor of one of the multiple autonomous robots. The method further includes: receiving congestion information associated with the first pose position from the robot monitoring server by a transceiver of the autonomous robot. The method further includes: identifying a congestion state of the first pose position indicated by the congestion information. The method further includes: selecting a second task from the task list in response to the identification of the congestion state. The method further includes: navigating to a second pose position corresponding to the second task.

[0013] In some embodiments, the method further includes selecting the second task in response to one or more efficiency factors, including the second pose position being in a non-congested state, at least one human operator being detected near the second pose position, the second task being the next sequential task on the task list, the second task being the next highest priority task on the task list, the proximity of the second task to the first task, or a combination thereof. In some embodiments, the method further includes identifying a congestion state in response to one or more congestion conditions described by congestion information associated with the pose position, including one or more of the following: a plurality of other robots, a plurality of human operators, a combination of robots and human operators, a plurality of manually disabled robots, the number and type of non-robots, non-human objects, vehicles or other obstacles, the size of the navigation space, or a combination thereof. In some embodiments, the method further includes reinserting the first task into the task list after the second task, such that the robot navigates to the first pose position before completing the task list. In some embodiments, the robot monitoring server includes one or more of the following: a warehouse management system, an order server, a standalone server, a distributed system including the memory of at least two of the plurality of robots, or a combination thereof. In some embodiments, the navigation space is a warehouse. In some embodiments, the second task is at least one of a pick-up operation, a drop-off operation, or a combination thereof to be performed within the warehouse.

[0014] These and other features of the invention will become apparent from the following detailed description and accompanying drawings. Attached Figure Description

[0015] Figure 1 This is a top view of the order fulfillment warehouse;

[0016] Figure 2A It is used in Figure 1 A front view of the base of a robot in the warehouse shown;

[0017] Figure 2B It is used in Figure 1 A perspective view of the base of a robot in the warehouse shown.

[0018] Figure 3 yes Figure 2A and Figure 2B A perspective view of a robot equipped with an armature and parked in [location]. Figure 1 In front of the shelf shown;

[0019] Figure 4 It was created using LiDAR on the robot. Figure 1 A partial map of the warehouse;

[0020] Figure 5 It is a flowchart depicting the process of locating reference markers scattered throughout the warehouse and storing the poses of the reference markers;

[0021] Figure 6 It is a table mapping the reference labels to the poses;

[0022] Figure 7 This is a table mapping warehouse locations to baseline identifiers;

[0023] Figure 8 It is a flowchart depicting the process of mapping product SKUs to postures;

[0024] Figure 9 A map showing the activities of robots and humans inside the warehouse;

[0025] Figure 10 This is a block diagram of an exemplary computing system; and

[0026] Figure 11 This is a network diagram of an exemplary distributed network. Detailed Implementation

[0027] The present disclosure and its various features and advantageous details are explained more fully with reference to the non-limiting embodiments and examples described and / or illustrated in the accompanying drawings and described in detail below. It should be noted that the features shown in the drawings are not necessarily drawn to scale, and as those skilled in the art will recognize, features of one embodiment may be used with other embodiments, even if not explicitly stated herein. Descriptions of well-known components and processing techniques may be omitted to avoid unnecessarily obscuring embodiments of the present disclosure. The examples used herein are merely to facilitate understanding of how the present disclosure can be practiced and to further enable those skilled in the art to practice embodiments of the present disclosure. Therefore, the examples and embodiments herein should not be construed as limiting the scope of the present disclosure. Furthermore, it should be noted that the same reference numerals denote the same parts in several views of the drawings.

[0028] This invention relates to robot congestion management. While not limited to any particular robot application, a suitable application for which this invention can be used is order fulfillment. The use of robots in this application will be described to provide context for robot congestion management, but is not limited to this application.

[0029] refer to Figure 1A typical order fulfillment warehouse 10 includes shelves 12 filled with various items that may be included in an order. In operation, an input order flow 16 from a warehouse management server 15 arrives at an order server 14. The order server 14 can prioritize and group orders for allocation to robots 18 during the guidance process. As the robots are guided by operators, at a processing station (e.g., station 100), orders 16 are assigned and wirelessly transmitted to robots 18 for execution. Those skilled in the art will understand that the order server 14 can be a separate server with a discrete software system configured to interoperate with the warehouse management system server 15 and the warehouse management software, or the order server functionality can be integrated into the warehouse management software and run on the warehouse management server 15.

[0030] In a preferred embodiment, such as Figure 2A and Figure 2B As shown, robot 18 includes an autonomous wheeled base 20 with a LiDAR 22. Base 20 also has a transceiver (not shown) and a pair of digital optical cameras 24a and 24b. The transceiver enables robot 18 to receive instructions from order server 14 and / or other robots and to send data to order server 14 and / or other robots. The robot base also includes a charging port 26 for charging the battery powering the autonomous wheeled base 20. Base 20 also has a processor (not shown) that receives data from the LiDAR and cameras 24a and 24b to capture information representing the robot's environment. A memory (not shown) runs alongside the processor to perform various tasks related to navigation within warehouse 10, such as navigating to reference markers 30 placed on shelves 12. Figure 3 As shown. Reference mark 30 (e.g., a two-dimensional barcode) corresponds to the warehouse / location of the ordered item. See below for further details. Figures 4 to 8 The navigation method of the present invention is described in detail. According to one aspect of the invention, a reference marker is also used to identify a charging station, and navigation to such a charging station reference marker is the same as navigation to the warehouse / location of the ordered item. Once the robot has navigated to the charging station, a more precise navigation method is used to dock the robot with the charging station, which will be described below.

[0031] Refer again Figure 2B The base 20 includes an upper surface 32 where a transport box or compartment can be stored to carry items. It is also shown that any of a plurality of interchangeable armatures 40 are engaged. Figure 3 One of the connectors, 34, is shown in the figure. Figure 3A specific support 40 has a transport box retainer 42 (in this case, a shelf) for carrying a transport box 44 containing items, and a tablet computer retainer 46 (or laptop / other user input device) for supporting a tablet computer 48. In some embodiments, the armature 40 supports one or more transport boxes carrying items. In other embodiments, the base 20 supports one or more transport boxes for carrying contained items. As used herein, the term "transport box" includes, but is not limited to, racks, bins, cages, shelves, poles for hanging items, cabinets, crates, shelves, supports, bridges, containers, boxes, cans, containers, and storage areas.

[0032] While robot 18 excels at moving around warehouse 10, with current robotics technology, it is not very adept at quickly and efficiently picking up items from shelves and placing them in transport bins 44 due to the technical difficulties associated with manipulating objects. A more efficient way to pick up items is to use a local operator 50, typically a human, to perform the task of physically removing ordered items from shelves 12 and placing them on robot 18, for example, in transport bins 44. Robot 18 sends orders to local operator 50 via tablet 48 (or laptop / other user input device), which local operator 50 can read, or by sending the order to a handheld device used by local operator 50.

[0033] When order 16 is received from order server 14, robot 18 moves to the first warehouse location, for example, Figure 3 As shown. It is based on navigation software stored in memory and executed by a processor. The navigation software relies on environmental data collected by LiDAR 22, an internal table of reference identifiers (“IDs”) in memory that identify reference markers 30, and cameras 24a and 24b for navigation. The reference markers 30 correspond to the locations in warehouse 10 where specific items can be found.

[0034] Upon reaching the correct position (posture), robot 18 stops itself in front of the shelf 12 where items are stored and waits for the local operator 50 to retrieve the items from shelf 12 and place them in the transport box 44. If robot 18 has other items to retrieve, it proceeds to those locations. Items retrieved by robot 18 are then delivered to processing station 100. Figure 1 There, it is packaged and transported. Although the processing station 100 has been described in relation to the diagram as being capable of guiding and unloading / packaging robots, it can be configured such that the robots are guided or unloaded / packaged at the station, i.e., it can be limited to performing a single function.

[0035] Those skilled in the art will understand that each robot can complete one or more orders, and each order can consist of one or more items. Typically, some form of route optimization software will be included to improve efficiency, but this is beyond the scope of this invention and will not be described here.

[0036] To simplify the description of the invention, a single robot 18 and an operator 50 are described. However, from... Figure 1 As can be clearly seen, a typical fulfillment operation involves many robots and operators working together in a warehouse to fill a continuous flow of orders.

[0037] The following reference Figures 4 to 8 The baseline navigation method of the present invention is described in detail, as well as mapping the SKU semantics of the item to be retrieved to a baseline ID / pose associated with a baseline marker in the warehouse where the item is located.

[0038] Using one or more robots 18, a map of warehouse 10 must be created, and the locations of various reference markers scattered throughout the warehouse must be determined. To do this, as one or more robots 18 navigate within the warehouse, they utilize their LiDAR 22 and Simultaneous Localization and Mapping (SLAM) to build / update the map. Figure 10 a( Figure 4 This is a computational problem of building or updating a map of an unknown environment. Commonly used SLAM approximation methods include particle filtering and extended Kalman filtering. The SLAMGMapping method is the preferred approach, but any suitable SLAM method can also be used.

[0039] As robot 18 moves through the space, it uses its lidar 22 to create a map of warehouse 10. Figure 10 a. Based on the reflections it receives when scanning the environment with lidar, it identifies open spaces 112, walls 114, objects 116, and other static obstacles (such as shelves 12) in the space.

[0040] In the construction site Figure 10 When the map is updated (or subsequently updated), one or more robots 18 use cameras 26 to navigate within warehouse 10, scanning the environment to locate reference markers (two-dimensional barcodes) scattered throughout the warehouse, located on shelves near the warehouse, for example... Figure 3 Items 32 and 34 are stored in the middle. Robot 18 uses a known starting point or origin as a reference, such as origin 110. When robot 18 uses its camera 26 to locate a reference marker (e.g., Figure 3 and 4 When the reference mark 30 is used, the location in the warehouse relative to the place of origin 110 is determined.

[0041] By using wheel encoders and heading sensors, vector 120 and the robot's position within warehouse 10 can be determined. Using a captured image of the reference marker / 2D barcode and its known dimensions, robot 18 can determine the orientation and distance of the reference marker / 2D barcode relative to the robot, vector 130. Given vectors 120 and 130, vector 140 between the origin 110 and reference marker 30 can be determined. From vector 140 and the determined orientation of the reference marker / 2D barcode relative to robot 18, the pose (position and orientation) of reference marker 30, defined by quaternions (x, y, z, ω), can be determined.

[0042] Figure 5 A flowchart 200 describing the reference marker localization process is described. This is performed in the initial mapping mode, and when the robot 18 encounters a new reference marker in the warehouse, it simultaneously performs pick-up, placement, and / or other tasks. In step 202, the robot 18 captures an image using camera 26, and in step 204, it searches for a reference marker in the captured image. In step 206, if a reference marker is found in the image (step 204), it is determined whether the reference marker has already been stored in the reference table 300. Figure 6 In this process, reference table 300 is located in the memory 34 of robot 18. If the reference information is already stored in the memory, the flowchart returns to step 202 to capture another image. If it is not in the memory, the pose is determined according to the above process, and in step 208, it is added to reference-to-pose lookup table 300.

[0043] In a lookup table 300 that can be stored in the memory of each robot, each reference marker includes a reference identifier 1, 2, 3, etc., and the pose of the reference marker / barcode associated with each reference identifier. The pose consists of x, y, z coordinates in the memory and orientation or quaternions (x, y, z, ω).

[0044] In another lookup table 400, data can also be stored in the memory of each robot. Figure 7 This is a list of warehouse locations (e.g., 402a-f) within warehouse 10, each associated with a specific base ID 404 (e.g., number "11"). In this example, the warehouse location consists 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., AF) identifies the specific warehouse for that shelf location. In this example, there are six distinct warehouse locations associated with base ID "11". There may be one or more warehouses associated with each base ID / tag.

[0045] Alphabetic-numerical ciphers are understandable to humans, for example... Figure 3Operator 50 in the table corresponds to the physical location of the stored items in warehouse 10. However, this is meaningless to robot 18. By mapping the location to a base ID, robot 18 can use table 300 ( Figure 6 The information in the reference ID is used to determine the pose, and then navigation is performed to that pose, as described in this article.

[0046] According to the order fulfillment process of the present invention, Figure 8 The process is described in flowchart 500. In step 502, the order server 14 obtains an order from the warehouse management system 15, which may include one or more items to be retrieved. It should be noted that the order allocation process is quite complex and beyond the scope of this disclosure. Such an order allocation process is described in jointly owned U.S. Patent Application No. 15 / 807,672, filed September 1, 2016, entitled Order Grouping in Warehouse Order Fulfillment Operations, the entire contents of which are incorporated herein by reference. It should also be noted that the robot may have a transport bin array that allows a single robot to execute multiple orders, one order per bin or compartment. An example of such a transport bin array is described in U.S. Patent Application No. 15 / 254,321, filed September 1, 2016, entitled Item Storage Array with Moving Base in Robot-Assisted Order Fulfillment Operations, which is incorporated herein by reference in its entirety.

[0047] Continue to refer to Figure 8 In step 504, the warehouse management system 15 determines the SKU number of the item, and in step 506, the warehouse location is determined based on the SKU number. The list of warehouse locations for the order is then sent to robot 18. In step 508, robot 18 associates the warehouse location with a reference ID, and based on the reference ID, obtains the pose for each reference ID in step 510. In step 512, robot 18 navigates to... Figure 3 The pose shown allows the operator to retrieve an item from the appropriate compartment and place it on the robot.

[0048] Item-specific information, such as SKU number and warehouse location, obtained from the warehouse management system 15 / order server 14 can be sent to the tablet 48 on the robot 18, so that when the robot arrives at each reference marker location, the operator 50 can be informed of the specific item to be retrieved.

[0049] With the pose of the SLAM map and the reference ID known, robot 18 can easily navigate to any reference ID using various robot navigation techniques. A preferred method involves setting an initial route with a reference-marked pose, given knowledge of the open space 112 in warehouse 10, walls 114, shelves (e.g., shelf 12), and other obstacles 116. As the robot begins traversing the warehouse using its LiDAR 26, it determines whether there are any fixed or dynamic obstacles in its path, such as other robots 18 and / or operators 50, and iteratively updates its path to the reference-marked pose. The robot replans its route approximately every 50 milliseconds, continuously searching for the most efficient and effective path while avoiding obstacles.

[0050] Utilizing the product SKU / datum ID to datum pose mapping technology and SLAM navigation technology described herein, Robot 18 is able to navigate warehouse space very efficiently and effectively without having to use the more complex navigation methods that typically involve grid lines and intermediate datum markers to determine location within the warehouse.

[0051] Robotic congestion management

[0052] As described above, a potential problem when multiple robots 18 and human operators 50 simultaneously navigate in a shared space within the navigation space is that multiple robots and human operators attempting to assist them may approach similar locations, leading to robot and human traffic congestion. For example, during order fulfillment operations, popular consumer items may cause robots 18 to cluster in common locations or aisles, causing congestion, inefficient delays, and increased collision risks.

[0053] To alleviate congestion in robot-driven systems, this paper describes systems and methods for robot congestion management. Specifically, such as... Figure 9 As shown, the robot monitoring server 902 can track the robot 18 within the navigation space, so that any robot 18 scheduled to perform operations in a congested area can be redirected to an alternative location in response.

[0054] Figure 9 This is a map showing the current state of activity of robot 18 and human operator 50 within the navigation space 900. (Example) Figure 9 As shown, robots 18 and operators 50 are highly concentrated in a crowded area 903 within the navigation space. This congestion may occur, for example, when popular consumer items may cause robots performing order fulfillment tasks to gather in common locations or aisles.

[0055] Generally, in some situations, efficiency can be improved by clustering more than one robot 18 in a specific area, as this allows human operators 50 to perform multiple tasks efficiently while minimizing walking distances between robots 18. However, where the cluster becomes too concentrated, congestion zones 903 are formed. Congestion causes human operators 50 and robots 18 to obstruct the passage and movement speed of other human operators 50 and robots 18, resulting in inefficient delays and increased collision risk.

[0056] To manage this congestion, such as Figure 9 As shown, each robot 18 seeking entry and / or further navigation within a congested area can have its route rerouted by the congestion management system. Generally, in terms of operation within the navigation space, each robot 18 can operate to complete one or more tasks from an ordered list of tasks. Regarding the order of the task list, it typically prescribes a predetermined route, which can then be adjusted based on congestion and / or other external factors. With respect to such an ordered list of tasks, a robot 18 can, for example, operate to complete a pick-up list from a specific order assigned to the robot 18 by the warehouse management system 15 or the order server 14. Continuing with the example of popular consumer items causing congestion, the pick-up list assigned to the robot 18 may include popular consumer items, which may, for example, be associated with a first directional position.

[0057] In some embodiments, the robot may determine a first pose position associated with the next task in the task list and then receive congestion information associated with the current state of the navigation space from the robot monitoring server 902. The robot monitoring server 902 may be any server or computing device capable of tracking the activities of robots and / or human operators within a warehouse, including, for example, a warehouse management system 15, an order server 14, a standalone server, a server network, a cloud, the processor and memory of the robot tablet 48, the processor and memory of the dock 20 of the robot 18, or a distributed system including the memory and processor of at least two robot tablets 48 and / or docks 20. In some embodiments, congestion information may be automatically pushed from the robot monitoring server 902 to the robot 18. In other embodiments, congestion information may be sent in response to a request from the robot 18.

[0058] Upon receiving congestion information, robot 18 can compare the congestion / state information with a first pose position to identify whether the first pose position is in a congested state (i.e., located in congested region 903). Any metric or combination of metrics can be used to describe the congestion condition within the navigation space indicated by the congestion information. For example, according to various embodiments, such metrics may include one or more of the following: multiple other robots near a particular pose position; multiple human operators near a particular pose position; a combination of robots and human operators near a particular pose position; multiple manually disabled robots near a particular pose position; the number and type of non-robot, non-human objects, vehicles, or other obstacles near a particular pose position; the size of the navigation space near a particular pose position; or combinations thereof. More generally, the congestion state can be determined based on any congestion condition or combination of congestion conditions that tends to indicate the availability of navigable areas within the navigation space or its defined portion and / or the density of robots 18, human operators 50, obstacles, fixtures, or combinations thereof.

[0059] To the extent that congestion information indicates the first pose position is within congestion zone 903, robot 18 can use the congestion management system to adjust the order of the task list by skipping the next task indicated by the first pose position and selecting a second task from the task list. Specifically, robot 18 can determine whether the second pose position associated with the second task is within congestion zone 903 using the congestion management system. If the second pose position is in a non-congested state (i.e., outside any congestion zone 903), robot 18 can then execute the adjusted route by navigating to the second pose position to perform the second task. If the second pose position is in a congested state, robot 18 can repeat the subsequently selected task and associated pose position until a pose position in a non-congested state is detected.

[0060] In some embodiments, robot 18 may evaluate the congestion status of multiple or all tasks in the task list before selecting a second task, such that, in addition to congestion status, the second task can be selected based on one or more efficiency factors. Such efficiency factors may include, for example, detecting at least one human operator near the second pose position, the second task being the next sequential task on the pick-up list, the second task being the next highest priority task on the pick-up list, the proximity of the second task to the first task, or a combination thereof. By taking such efficiency factors into account, robot 18 can improve pick-up efficiency by, for example, minimizing travel distance, minimizing travel time, minimizing the possible dwell time of robot 18 at the second pose position, avoiding obstacles or congested areas, or a combination thereof.

[0061] After selecting the second task, in some embodiments, robot 18 may then update the task list and corresponding route to re-insert the first task associated with the first pose position, such that robot 18 will subsequently attempt to complete the re-inserted first task at a later time before completing the task list. While the first task can be inserted anywhere in the list (e.g., as the next task after the selected second task is completed, as the last task on the task list, or anywhere in between), in some embodiments, it may be advantageous to re-insert the first task in a manner that minimizes the travel time or distance associated with completing the updated task list. Additionally, it may be desirable to re-insert the first task with a buffer of one or more additional tasks between the second task and the re-inserted first task to allow time for congested area 903 to become less congested. Similarly, robot 18 may estimate the re-insertion location of the first task, which will allow the re-inserted first task to be performed when traffic in congested area 903 is likely to be less dense.

[0062] Therefore, congestion management systems can effectively reduce congestion in the navigation space, lower the risk of collisions, and prevent inefficient delays in robot task completion.

[0063] Non-restrictive example computing device

[0064] Figure 12 is based on the above references. Figures 1 to 11 The block diagrams described illustrate exemplary computing devices 1210 or portions thereof, which may be used in various embodiments. Computing device 1210 includes one or more non-transitory computer-readable media for storing one or more computer-executable instructions or software for implementing exemplary embodiments. 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, etc.). For example, memory 1216 included in computing device 1210 may store computer-readable and computer-executable instructions or software for performing the operations disclosed herein. For example, memory may store software application 1240, which is programmed to perform operations as described in reference... Figures 1 to 11The various disclosed operations discussed. The computing device 1210 may also include a configurable and / or programmable processor 1212 and an 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 cases where the computing device has multiple processors / cores), for executing computer-readable and computer-executable instructions or software stored in memory 1216 and other programs for controlling system hardware. Each of processor 1212 and processor 1212' may be a single-core processor or a multi-core (1214 and 1214') processor.

[0065] Virtualization can be employed in computing device 1210, allowing for dynamic sharing of infrastructure and resources within the computing device. Virtual machines 1224 can be provided to handle processes running on multiple processors, making the process appear to use only one computing resource, rather than multiple computing resources. Multiple virtual machines can also be used with a single processor.

[0066] Memory 1216 may include computing device memory or random access memory, such as, but not limited to, DRAM, SRAM, EDO RAM, etc. Memory 1216 may also include other types of memory or combinations thereof.

[0067] Users can interact with computing device 1210 through visual display devices 1201, 111A-D (e.g., computer monitors), which can display one or more user interfaces 1202 as provided in exemplary embodiments. Computing device 1210 may include other I / O devices for receiving input from the user, such as a keyboard or any suitable multi-touch interface 1218, or a pointing device 1220 (e.g., a mouse). The keyboard 1218 and pointing device 1220 may be coupled to visual display device 1201. Computing device 1210 may include other suitable conventional I / O peripherals.

[0068] The computing device 1210 may also include one or more storage devices 1234, such as, but not limited to, hard disk drives, CD-ROMs, 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 for storing any suitable information required to implement 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 database.

[0069] Computing device 1210 may include a network interface 1222 configured to interface with one or more networks (e.g., local area network (LAN), wide area network (WAN), or the Internet) via one or more network devices 1232 through 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 thereof. Network interface 1222 may include a built-in 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 connecting computing device 1210 to any type of network capable of communicating and performing the operations described herein. Furthermore, computing device 1210 may be any computing device, such as a workstation, desktop computer, server, laptop computer, handheld computer, tablet computer, or other form of computing or telecommunications equipment capable of communicating and having sufficient processor power and storage capacity to perform the operations described herein.

[0070] Computing device 1210 can run any operating system 1226, such as any version of the Microsoft® Windows® operating system (Microsoft, Redmond, and Wash.), different versions of Unix and Linux operating systems, any version of the MAC OS (Apple, Inc., Cupertino, and 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 capable of running on a computing device and performing the operations described herein. In an exemplary embodiment, operating system 1226 can run in local mode or emulation mode. In an exemplary embodiment, operating system 1226 can run on one or more cloud machine instances.

[0071] Figure 13 is a block diagram of an example computing device in some distributed embodiments. Although Figures 1 to 11The foregoing exemplary discussion has referenced each of the warehouse management system 15, order server 14, or robot tracking server 902 operating on separate or shared computing devices. However, it will be recognized that any of the warehouse management system 15, order server 14, or robot tracking server 902 may alternatively be distributed across separate server systems 1301a-d on network 1305, and possibly across user systems such as kiosks, desktop computer devices 1302, or mobile computer devices 1303. For example, order server 14 may be distributed within the tablet 48 of robot 18. In some distributed systems, any one or more modules of the warehouse management system software and / or order server software may reside separately on server systems 1301a-d and communicate with each other via network 1305.

[0072] While the foregoing description of the invention enables those skilled in the art to make and use what is currently considered to be its best mode, those skilled in the art will understand and recognize the existence of variations, combinations, and equivalents of the specific embodiments and examples herein. The above embodiments of the invention are merely examples. Changes, modifications, and variations can be made to particular embodiments by those skilled in the art without departing from the scope of the invention, which is defined only by the appended claims. Therefore, the invention is not limited to the above embodiments and examples.

Claims

1. A robot congestion management system, comprising: A robot monitoring server, configured to track the positions of multiple robots within a navigation space; as well as The plurality of robots communicating with the robot monitoring server, each robot being configured to perform multiple tasks with the assistance of a human operator among a plurality of human operators, wherein each task includes at least one of a pick-up operation and a drop-off operation, and each robot comprising: Processor; and The memory stores instructions that, when executed by the processor, cause each robot to perform the following operations: Determine the first pose position corresponding to the first task from the list of tasks assigned to the robot. Receive congestion information from the robot monitoring server in the region associated with the first pose position. The congestion state of the first pose position indicated by the congestion information is identified, wherein the congestion state is identified in response to one or more congestion conditions described by the congestion information regarding the first pose position, the one or more congestion conditions including the number of human operators or a combination of robot and human operators in the area associated with the first pose position, and wherein the congestion state indicates that the first pose position is in a congested area of ​​the navigation space. In response to the identification of congestion at the first posture position, a second task corresponding to the second posture position is selected from the task list, wherein the selection of the second task is based on one or more efficiency factors, said one or more efficiency factors including detecting at least one human operator near the second posture position, and Navigate to the second pose position corresponding to the second task.

2. The system according to claim 1, wherein, The one or more congestion conditions also include the number of manually disabled robots, the number and type of non-robots, non-human objects, vehicles or other obstacles, the size of the navigation space, or a combination thereof.

3. The system of claim 1, wherein the memory further stores instructions that, when executed by the processor, cause each robot to reinsert the first task into the task list after the second task, such that each robot navigates to the first pose position before completing the task list.

4. The system according to claim 1, wherein, The robot monitoring server also includes one or more of a warehouse management system, an order server, a standalone server, a distributed system including the memory of at least two of the plurality of robots, or a combination thereof.

5. The system according to claim 1, wherein, The navigation space is a warehouse.

6. The system according to claim 1, wherein, One of the one or more efficiency factors includes minimizing the dwell time of the robot at the second posture position.

7. The system according to claim 1, wherein, The one or more efficiency factors also include the second task being the next sequential task on the task list, the second task being the next highest priority task on the task list, the proximity of the second task to the first task, or a combination thereof.

8. A method for robot congestion management, comprising: The robot monitoring server tracks the positions of multiple robots and multiple human operators within the navigation space. Each robot is configured to perform multiple tasks with the assistance of one of the multiple human operators, wherein each task includes at least one of a pick-up operation and a drop-off operation. In the memory and processor of one of the plurality of robots, a first pose position corresponding to a first task is determined from a list of tasks assigned to the robot; The transceivers of the plurality of robots receive congestion information in the region associated with the first pose position from the robot monitoring server. Identify a congestion state of the first pose position indicated by the congestion information, wherein the congestion state is identified in response to one or more congestion conditions described by the congestion information regarding the first pose position, the one or more congestion conditions including the number of human operators or the number of combinations of robot and human operators in the area associated with the first pose position, and wherein the congestion state indicates the first pose position in a congested area of ​​the navigation space. In response to the identification of the congestion state, a second task corresponding to the second pose position is selected from the task list, wherein the selection of the second task is in response to one or more efficiency factors, said one or more efficiency factors including detecting at least one human operator near the second pose position; and Navigate to the second pose position corresponding to the second task.

9. The method according to claim 8, wherein, The one or more congestion conditions also include the number of manually disabled robots, the number and type of non-robots, non-human objects, vehicles or other obstacles, the size of the navigation space, or a combination thereof.

10. The method of claim 8, further comprising: The first task is reinserted after the second task in the task list, so that the robot navigates to the first pose position before completing the task list.

11. The method according to claim 8, wherein, The robot monitoring server includes one or more of a warehouse management system, an order server, a standalone server, a distributed system including the memory of at least two of the plurality of robots, or a combination thereof.

12. The method according to claim 8, wherein, The navigation space is a warehouse.

13. The method according to claim 8, wherein, One of the one or more efficiency factors includes minimizing the dwell time of the robot at the second posture position.

14. The method according to claim 8, wherein, The one or more efficiency factors also include the second task being the next sequential task on the task list, the second task being the next highest priority task on the task list, the proximity of the second task to the first task, or a combination thereof.

Citation Information

Patent Citations

  • Item storage array for mobile base in robot assisted order-fulfillment operations

    US10001768B2

  • Order grouping in warehouse order fulfillment operations

    US20190138978A1

  • One-way path scheduling method and system

    CN109108973A

  • Robotic traffic density based guidance

    US9829333B1