Optimized shipment box recommendation process in warehouse order fulfillment operations

文档序号:1804242 发布日期:2021-11-05 浏览:12次 中文

阅读说明:本技术 仓库订单履行操作中优化的装运箱推荐过程 (Optimized shipment box recommendation process in warehouse order fulfillment operations ) 是由 迈克尔·查尔斯·约翰逊 肖恩·约翰逊 路易斯·贾克斯 布鲁斯·韦尔蒂 于 2020-01-30 设计创作,主要内容包括:一种用于推荐供操作员选择以用于在机器人引入过程中使用的装运箱类型的方法,其中所述机器人在仓库管理系统的控制下操作以履行订单,每个订单包括一个或多个物品并且每个物品位于仓库中。所述方法包括对来自订单队列的一个或多个订单进行分组以形成至少一个订单集。所述方法还包括基于所述至少一个订单集的特性,标识要指配给所述机器人以在所述机器人上运载所述订单集的优选装运箱类型。所述方法还包括将所述优选装运箱类型传送给操作员以使得所述操作员能够从多个装运箱中选择要指配给所述机器人以便执行所述订单的所述优选装运箱类型的装运箱。(A method for recommending a type of shipping container for selection by an operator for use in a robotic introduction process, wherein the robot operates under control of a warehouse management system to fulfill orders, each order comprising one or more items and each item being located in a warehouse. The method includes grouping one or more orders from an order queue to form at least one order set. The method also includes identifying a preferred shipping box type to be assigned to the robot to carry the order set on the robot based on characteristics of the at least one order set. The method also includes communicating the preferred tote type to an operator to enable the operator to select a tote of the preferred tote type from a plurality of totes to be assigned to the robot for executing the order.)

1. A method for recommending a type of shipping box for use in an introduction process selected by a first operator of a plurality of operators for use on a first robot of a plurality of robots operating in a warehouse, wherein the plurality of robots interact with a warehouse management system to fulfill orders, each order comprising one or more items and each item being located in the warehouse, the method comprising:

grouping one or more orders from an order queue to form at least one order set;

identifying a preferred shipping box type to be assigned to the first robot to carry the order set based on characteristics of the at least one order set; and

communicating the preferred shipping case type to the first operator to enable the first operator to select a shipping case of the preferred shipping case type from a plurality of shipping cases to be assigned to the first robot to fulfill the order set.

2. The method of claim 1, wherein the step of grouping comprises:

selecting an anchor location in the warehouse; and

generating an order set for the first robot, the order set being associated with the anchor locations in the warehouse.

3. The method of claim 2, wherein the step of selecting the anchor location comprises evaluating a location of one or more of the plurality of robots, the plurality of operators, or a plurality of activity locations in the warehouse and comprises identifying one or more groups of the plurality of robots, the plurality of operators, and/or the plurality of activity locations that are proximate to one another in the warehouse.

4. The method of claim 3, wherein each of the plurality of active locations is a location associated with an item in an order that has been assigned to one of the plurality of robots for fulfillment.

5. The method of claim 3, wherein the step of identifying one or more groups of the plurality of robots, the plurality of operators, and/or the plurality of activity locations that are proximate to each other in the warehouse comprises: selecting a group and identifying one of the robots, operators or activity locations in the selected group as an anchor robot, anchor operator or anchor activity location, and using the location of the selected anchor robot, anchor operator or anchor activity location as the anchor location.

6. The method of claim 5, wherein the step of selecting the group comprises: the group is selected based on the number of robots, operators and/or activity locations.

7. The method of claim 5, wherein the step of selecting the group comprises: the group is selected based on a ratio of one of the robot, the operator, and the activity location to another of the robot, the operator, and the activity location.

8. The method of claim 2, wherein the step of generating a set of orders comprises selecting an order based in part on a proximity of the order to the anchor location.

9. The method of claim 1, wherein the step of identifying a preferred shipping container type to assign to the first robot comprises: comparing at least one characteristic of the order set to at least one characteristic of one or more shipping container types.

10. The method of claim 9, wherein the at least one characteristic of the order set includes one or more of a size, volume, and quantity of an order.

11. The method of claim 10, wherein the at least one characteristic of the one or more shipping container types includes one or more of a size, volume, and number of compartments.

12. The method of claim 1, wherein the step of communicating to the first operator comprises: displaying an image or providing a description of the preferred shipping container type.

13. A system for recommending a type of shipping box for use in an introduction process on a first robot of a plurality of robots operating in a warehouse for selection by a first operator of a plurality of operators, wherein the plurality of robots interact with a warehouse management system to fulfill orders, each order comprising one or more items and each item being located in the warehouse, the system comprising a processor configured to:

grouping one or more orders from an order queue to form at least one order set;

identifying a preferred shipping box type to be assigned to the first robot to carry the order set based on characteristics of the at least one order set; and

communicating the preferred shipping case type to the first operator to enable the first operator to select a shipping case of the preferred shipping case type from a plurality of shipping cases to be assigned to the first robot to fulfill the order set.

14. The system of claim 13, wherein in performing the step of grouping, the processor is configured to:

selecting an anchor location in the warehouse; and

generating an order set for the first robot, the order set associated with the anchor location in the warehouse.

15. The system of claim 14, wherein in performing the step of selecting the anchor location, the processor is configured to: evaluating locations of the plurality of robots, the plurality of operators, and a plurality of activity locations in the warehouse; and identifying one or more groups of the plurality of robots, the plurality of operators, and/or the plurality of activity locations that are proximate to each other in the warehouse.

16. The system of claim 15, wherein each of the plurality of activity locations is a location associated with an item in an order that has been assigned to one of the plurality of robots for fulfillment.

17. The system of claim 15, wherein in performing the step of identifying one or more groups of the plurality of robots, the plurality of operators, and/or the plurality of activity locations that are proximate to each other in the warehouse, the processor is configured to: selecting a group and identifying one of the robots, operators or activity locations in the selected group as an anchor robot, anchor operator or anchor activity location; and using the selected location of the anchor robot, anchor operator, or anchor active location as the anchor location.

18. The system of claim 17, wherein in performing the step of selecting the group, the processor is configured to select the group based on a number of robots, operators, and/or activity locations.

19. The system of claim 17, wherein in performing the step of selecting the group, the processor is configured to select the group based on a ratio of one of the robot, the operator, and the activity location to another of the robot, the operator, and the activity location.

20. The system of claim 19, wherein the at least one characteristic of the order set includes one or more of a size, a volume, a weight, a quantity of the order.

21. The system of claim 20, wherein the at least one characteristic of the one or more shipping container types includes one or more of a size, a volume, a weight, a number of compartments.

22. The system of claim 13, wherein in performing the step of communicating to the first operator, the processor is configured to display an image or provide a description of the preferred shipping container type.

Technical Field

The present invention relates to the introduction of shipping containers in warehouse order fulfillment operations, and more particularly to the introduction of shipping containers wherein the type of shipping container is selected based on the characteristics of the order set being assigned.

Background

Order fulfillment is typically performed in large warehouses filled with products to be shipped to customers who have placed their orders over the internet for shipment to the home. In some operations, robots may be used to assist humans in item retrieval in order to increase productivity and efficiency. At a minimum, it can be said that fulfilling such orders in a timely, accurate, and efficient manner is logistically challenging. Clicking the "checkout" button in the virtual shopping cart creates an "order". The order includes a list of items to be shipped to a particular address. The process of "fulfillment" involves actually taking or "picking" these items from a large warehouse, wrapping them, and shipping them to a designated address. An important goal of the order fulfillment process is therefore to ship as many items as possible in as short a time as possible.

A Warehouse Management System (WMS) is a software application that supports daily operations in an order fulfillment warehouse like the order fulfillment warehouse described above. WMS programs enable centralized management of tasks, such as tracking inventory levels and inventory locations. The warehouse management system also supports or directs all primary and many secondary warehouse tasks such as receiving, inspecting and accepting, racking, internal restocking to picking locations, picking, packing, order assembly at a shipping dock, documentation, and shipping (loading onto a carrier vehicle).

The WMS typically receives orders from an overlay host system, typically an ERP system. For order fulfillment via e-commerce orders, information is passed to the WMS via the host computer/ERP system as soon as the customer places the order online. All necessary steps to manage the order (e.g., pick the ordered item, etc.) are then processed within the WMS. Thereafter, the information is sent back to the ERP system to support financial transactions, advance shipping notifications to customers, inventory management, and the like.

As orders from the WMS accumulate, they are held in an order queue in the WMS or the order data from the WMS may be provided to a separate software system (e.g., an order server) where the order queue can be built and distributed to robots to execute the orders within the warehouse. Orders may be sequentially retrieved from the order queue in the order they arrive and assigned to the robot to execute the orders in a process called import. Orders can also be placed in order queues and assigned according to service level requirements defined in customer contracts or based on customer shipping requirements. Individual robots may carry an array of shipping containers that allow a single robot to execute multiple orders, one order being stored in each bin or bay of the array.

Since the orders are grouped and assigned to the robot being introduced, a human operator at the introduction station may be required to select a tote/tote array appropriate for the order assigned to the robot. In this process, there is therefore room for error and inefficiency, as the operator may select and place on the robot a shipping container whose compartment number or size does not fit the item in the order. Alternatively, the selected shipping box may not be optimized for the set of orders in the order queue. This will lead to problems that will need to be corrected during the picking process. Therefore, there is a need to optimize the selection of a tote/tote array based on the set of orders assigned to the robot during the import process.

Additionally, since the orders are grouped and assigned to the robot being introduced, if the items in the order are located in a location within the warehouse where there is not much robot/operator activity, the robots may sit idle for an extended period of time before they are serviced. This may also result in reduced warehouse operating efficiency.

Disclosure of Invention

The benefits and advantages of the present invention over existing systems will be readily apparent from this summary and the following detailed description. Those skilled in the art will appreciate that the present teachings can be practiced with embodiments other than those summarized or disclosed below.

In one aspect, the invention features a method for recommending a type of tote for use in an import process for a first operator of a plurality of operators to select for use on a first robot of a plurality of robots operating in a warehouse. A plurality of robots interact with the warehouse management system to fulfill orders, each order including one or more items and each item being located in a warehouse. The method comprises the following steps: grouping one or more orders from an order queue to form at least one order set; and identifying a preferred shipping box type to assign to the first robot to carry the set of orders based on the characteristics of the at least one set of orders. The method further comprises the following steps: the preferred shipping container type is communicated to the first operator to enable the first operator to select from a plurality of shipping containers a shipping container of the preferred shipping container type to be assigned to the first robot to fulfill the order set.

In other aspects of the invention, one or more of the following features may be included. The step of grouping may include selecting an anchor location in the warehouse and generating a set of orders for the first robot, the set of orders being related to the anchor location in the warehouse. The step of selecting an anchor location may include evaluating a location of one or more of a plurality of robots, a plurality of operators, or a plurality of activity locations in the warehouse, and it may include identifying one or more groups of the plurality of robots, the plurality of operators, and/or the plurality of activity locations that are proximate to each other in the warehouse. Each of the plurality of activity locations may be a location associated with an item in an order that has been assigned to one of the plurality of robots for fulfillment. The step of identifying one or more groups of multiple robots, multiple operators, and/or multiple activity locations in proximity to each other in the warehouse may comprise: selecting a group and identifying one of the robots, operators or activity locations in the selected group as an anchor robot, anchor operator or anchor activity location; and using the selected location of the anchor robot, anchor operator, or anchor active location as the anchor location. The step of selecting a group may comprise selecting a group based on the number of robots, operators and/or activity locations. The step of selecting a group may comprise selecting a group based on a ratio of one of the robot, the operator and the activity location to another of the robot, the operator and the activity location. The step of generating the set of orders may include selecting the order based in part on the proximity of the order to the anchor location. The step of identifying a preferred shipping case type to assign to the first robot may include comparing at least one characteristic of the order set with at least one characteristic of one or more shipping case types. The at least one characteristic of the order set may include one or more of a size, volume, and quantity of the order. The at least one characteristic of the one or more shipping container types may include one or more of a size, volume, and number of compartments. The step of communicating to the first operator may include one of displaying an image or providing a description of a preferred shipping container type.

In another aspect, the invention features a system for recommending a type of tote for use in an import process for a first operator of a plurality of operators to select for use on a first robot of a plurality of robots operating in a warehouse. A plurality of robots interact with the warehouse management system to fulfill orders, each order including one or more items and each item being located in a warehouse. The system includes a processor configured to: grouping one or more orders from an order queue to form at least one order set; and identifying a preferred shipping box type to assign to the first robot to carry the set of orders based on the characteristics of the at least one set of orders. The processor is further configured to communicate the preferred shipping container type to the first operator to enable the first operator to select a shipping container of the preferred shipping container type from the plurality of shipping containers to be assigned to the first robot to fulfill the order set.

In further aspects of the invention, one or more of the following features may be included. In the step of performing the grouping, the processor may be configured to: selecting an anchor location in the warehouse; and generating a set of orders for the first robot, the set of orders being associated with an anchor location in the warehouse. In performing the step of selecting an anchor location, the processor may be configured to: evaluating locations of a plurality of robots, a plurality of operators, and a plurality of activity locations in a warehouse; and identifying one or more groups of multiple robots, multiple operators, and/or multiple activity locations in proximity to each other in the warehouse. Each of the plurality of activity locations may be a location associated with an item in an order that has been assigned to one of the plurality of robots for fulfillment. In performing the step of identifying one or more groups of multiple robots, multiple operators, and/or multiple activity locations that are proximate to each other in the warehouse, the processor may be configured to: selecting one group; identifying one of the robots, operators or activity locations in the selected group as an anchor robot, anchor operator or anchor activity location; and using the selected location of the anchor robot, anchor operator, or anchor active location as the anchor location. In performing the step of selecting the group, the processor may be configured to select the group based on a number of robots, operators and/or activity locations. In performing the step of selecting the group, the processor may be configured to select the group based on a ratio of one of the robot, the operator, and the activity location to another one of the robot, the operator, and the activity location. The at least one characteristic of the order set may include one or more of a size, volume, weight, number of orders. The at least one characteristic of one or more of the shipping container types may include one or more of a size, volume, weight, number of compartments. In performing the step of communicating to the first operator, the processor may be configured to display an image or provide a description of a preferred shipping container type.

These and other features of the present invention will be apparent from the following detailed description and drawings.

Drawings

Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which:

FIG. 1 is a top plan view of an order fulfillment warehouse;

fig. 2A is a front view of a base of one of the robots used in the warehouse shown in fig. 1;

fig. 2B is a perspective view of the base of one of the robots used in the warehouse shown in fig. 1;

FIG. 3 is a perspective view of the robot of FIGS. 2A and 2B equipped with an armature and parked in front of the shelf shown in FIG. 1;

FIG. 4 is a partial map of the warehouse of FIG. 1 created on a robot using lidar;

FIG. 5 is a flow chart depicting a process for locating fiducial markers dispersed throughout a warehouse and storing fiducial marker poses;

FIG. 6 is a table of fiducial markers to pose mappings;

FIG. 7 is a table of bin position to reference identity mappings;

FIG. 8 is a flowchart depicting a product SKU to pose mapping process;

FIG. 9 is a perspective view of a robot and operator at an induction station;

FIG. 10A is a screen of a single shipping box displayed on an operator display screen;

FIG. 10B is a screen of another configuration of a single shipping container displayed on the operator display screen;

FIG. 10C is a view of a two position shipping box array displayed on an operator display screen;

FIG. 10D is a screen of a four-position shipping box array displayed on an operator display screen;

FIG. 10E is a view of the three position shipping box array displayed on the operator display screen;

FIG. 10F is a screen of a six position shipping box array displayed on an operator display screen;

FIG. 11 is a table depicting the different shipping case/shipping case array types available and information regarding the size, volume and weight of the shipping case/shipping case array types;

FIG. 12 is a flow chart depicting a method of recommending a type of shipping container to suggest to an operator for introduction to a robot in accordance with an aspect of the present invention;

FIG. 13 is a top view of a portion of an order fulfillment warehouse depicting the location of robots and operators deployed in the warehouse;

FIG. 14 is a table depicting a portion of an order queue according to an aspect of the present invention including information regarding the size, volume, and weight of items in the order;

FIG. 15 is a flowchart of a process for introducing a robot if the operator has not selected the recommended tote type according to the flowchart of FIG. 12;

FIG. 16 is a block diagram of an exemplary computing system; and

fig. 17 is a network diagram of an exemplary distributed network.

Detailed Description

The present disclosure and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments and examples that are described and/or illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale and features of one embodiment may be employed with other embodiments, as will be appreciated 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 to not unnecessarily obscure the embodiments of the disclosure. The examples used herein are intended merely to facilitate an understanding of ways in which the disclosure may be practiced and to further enable those of skill in the art to practice the embodiments of the disclosure. Accordingly, the examples and embodiments herein should not be construed as limiting the scope of the disclosure. Moreover, it should be noted that like reference numerals represent similar parts throughout the several views of the drawings.

The present disclosure relates to a shipping box introduction process that may be applied to order fulfillment operations in warehouses using autonomous mobile robots or "AMR" in order to improve efficiency and productivity. In the described application, the robot is assisted by a human operator to more efficiently perform pick and place of items, but the present disclosure is equally applicable to robots having articulated arms that perform pick and place operations. Furthermore, a specific AMR implementation is described herein, but it merely provides context for the introduction process according to the present invention. Any suitable robot design/system may be used in conjunction with the introduction process described herein.

Referring to FIG. 1, a typical order fulfillment warehouse 10 includes shelves 12 filled with various items that can be included in an order. In operation, an incoming order stream 16 from the warehouse management server 15 arrives at the order server 14. The order server 14 may, among other things, prioritize and group orders for assignment to the robots 18 during the induction process. When the robot is introduced by an operator, at a process station (e.g., station 100), the order 16 is assigned and communicated, e.g., wirelessly, to the robot 18 for execution. The introduction process according to an aspect of the present invention will be described in more detail below.

Those skilled in the art will appreciate that the order server 14 may be a separate server with a separate software system configured to interoperate with the WMS server 15 and the WMS software, or the order server functionality may be integrated into the WMS software and run on the WMS server 15.

In a preferred embodiment, the robot 18 shown in fig. 2A and 2B includes an autonomous wheeled base 20 having a lidar 22. The base 20 features a transceiver (not shown) that enables the robot 18 to receive instructions from and send data to the order server 14 and/or other robots and the pair of digital optical cameras 24a and 24 b. The robot base also includes a charging port 26 for recharging batteries that power the autonomous wheeled base 20. The base 20 is also characterized by a processor (not shown) that receives data from the lidar and cameras 24a and 24b to capture information representative of the environment of the robot. There is a memory (not shown) that operates with the processor to perform various tasks associated with navigation within the warehouse 10, as well as navigation to fiducial markers 30 placed on the racks 12, as shown in fig. 3. Fiducial markers 30 (e.g., two-dimensional barcodes) correspond to bins/locations of ordered items. The navigation method of the present invention is described in detail below with reference to fig. 4-8.

Fiducial markers are also used to identify process stations (including lead-in stations) and navigation to such process station fiducial markers may be the same as navigation to bins/locations of ordered items. It should be noted that the navigation methods described herein are merely exemplary and that any other suitable navigation method may be used.

Referring again to fig. 2B, the base 20 includes an upper surface 32 that can store shipping containers or bins to carry articles. Also shown is coupler 34 engaging any one of a plurality of interchangeable armatures 40, one of which is shown in fig. 3. The particular armature 40 in fig. 3 features a shipping case support 42 (in this case a shelf) for carrying a shipping case 44 for receiving items, and a tablet support 46 (or laptop/other user input device) for supporting a tablet 48. In some embodiments, the armature 40 supports one or more shipping containers for carrying items. In other embodiments, the base 20 supports one or more shipping containers for carrying received items. As used herein, the term "shipping container" includes, but is not limited to, cargo racks, bins, cages, shelves, rods capable of hanging articles, cans, crates, racks, stands, containers, boxes, metal cans, utensils, and storage bins.

Although the robot 18 is good at moving around the warehouse 10, with current robotics it is not sufficient to quickly and efficiently pick items from the shelves and place them in the shipping boxes 44. Currently, a more efficient way to pick items is to use a local operator 50, typically a human, to perform the task of physically removing an ordered item from a shelf 12 and placing it on a robot 18, such as in a shipping box 44. The robot 18 communicates the order (i.e., the individual item to be selected) to the local operator 50 via a tablet computer 48 (or laptop/other user input/output device) that the local operator 50 can read or by sending the order to a handheld device used by the local operator 50.

Upon receiving the order 16 from the order server 14, the robot 18 proceeds to a first warehouse location, for example, as shown in FIG. 3. It does so based on navigation software stored in memory and executed by a processor. The navigation software relies on data about the environment as collected by the lidar 22, i.e., an internal table of fiducial identifications ("IDs") in memory that identify fiducial markers 30, which fiducial markers 30 correspond to locations in the warehouse 10 where a particular item can be found and to which the cameras 24a and 24b can navigate.

Upon reaching the correct position (pose), the robot 18 parks itself in front of the shelf 12 having the item stored thereon, communicates item information to the local operator 50, and waits for the local operator 50 to retrieve the item from the shelf 12 and place it in the shipping container 44. If the robot 18 has other items to retrieve, it proceeds to those locations. The items retrieved by the robot 18 are then delivered to the processing station 100 of fig. 1 where they are packaged and shipped. Although the processing station 100 has been described with respect to this figure as being capable of introducing and unloading/packaging robots, it may be configured such that the robots are introduced or unloaded/packaged at one station, i.e. they may be limited to performing a single function.

To simplify the description of the present invention, a single robot 18 and operator 50 are depicted. However, as is evident from fig. 1, a typical fulfillment operation includes many robots and operators working with each other in a warehouse to fulfill a continuous order stream.

The navigation method of the present invention and the semantic mapping of the SKU of the item to be retrieved to the fiducial ID/pose associated with the fiducial marker in the warehouse in which the item is located is described in detail below with respect to FIGS. 4-8. It should be noted that this is an exemplary navigation method described herein and that any suitable navigation method may be used in conjunction with the introduction process described herein.

Using one or more robots 18, a map of the warehouse 10 must be created and dynamically updated to determine the locations of static and dynamic objects and the locations of various fiducial markers dispersed throughout the warehouse. One or more of the robots 18 utilize their lidar 22 and synchronized positioning maps (SLAM), fig. 4, which is a computational method of constructing or updating a virtual map of an unknown environment, to navigate the warehouse and build/update the map 10 a. Popular SLAM approximate solution methods include particle filters and extended kalman filters. The SLAM GMapping method is the preferred method, but any suitable SLAM method can be used.

The robot 18 utilizes its lidar 22 to create/update a map 10a of the warehouse 10 as the robot 18 travels through the space to identify open spaces 112, walls 114, objects 116, and other static obstacles, such as shelves 12a, in the space based on reflections it receives as the lidar scans the environment.

Simultaneously or after the map 10a is constructed, one or more robots 18 use cameras 24a and 24b to navigate through the warehouse 10 to scan the environment to locate fiducial markers (two-dimensional bar codes) dispersed throughout the warehouse on shelves proximate bins (such as 32 and 34, fig. 3) storing articles. The robot 18 uses a known reference point or origin as a reference, such as origin 110. When fiducial markers (such as fiducial marker 30, fig. 3 and 4) are positioned by robot 18 using its cameras 24a and 24b, the position in the warehouse relative to origin 110 is determined. By using two cameras, one on either side of the robot base, as shown in fig. 2A, the robot 18 can have a relatively wide field of view (e.g., 120 degrees) extending from both sides of the robot. This enables the robot to view fiducial markers on both sides of the robot as it travels up and down the rack aisle, for example.

By using wheel encoders and heading sensors, the vector 120 and the location of the robot in the warehouse 10 can be determined. Using the captured image of the fiducial marker/two-dimensional barcode and its known size, the robot 18 is able to determine the orientation of the fiducial marker/two-dimensional barcode relative to the robot and the distance of the fiducial marker/two-dimensional barcode from the robot, i.e., the vector 130. With vectors 120 and 130 known, a vector 140 between origin 110 and fiducial marker 30 can be determined. From the vector 140 and the determined orientation of the fiducial marker/two-dimensional barcode relative to the robot 18, the pose of the fiducial marker 30 can be determined, including its position in the warehouse (x, y, z coordinates) and its orientation or quaternion (x, y, z, ω). It should be noted that the coordinates may include only x and y coordinates, since the reference pose is typically located on the floor and therefore the z coordinate is zero.

A flowchart 200 describing the fiducial marker locating process of figure 5 is described. This is performed in the initial mapping mode and as the robot 18 encounters new fiducial markers in the warehouse while performing picking, placing, and/or other tasks. In step 202, the robot 18 captures an image using the cameras 24a and 24b and searches for fiducial markers within the captured image in step 204. In step 206, if a fiducial marker is found in the image (step 204), it is determined whether the fiducial marker has been stored in the fiducial table 300 of fig. 6, which may be located in the memory 34 of the robot 18 and/or in the warehouse management system 15. If the baseline information is already stored in memory, the flow chart returns to step 202 to capture another image. If it is not in memory, the pose is determined according to the process described above and in step 208, it is added to pose lookup table 300.

The pose of fiducial markers 1, 2,3, etc. and the fiducial marker/barcode associated with each fiducial marker is included for each fiducial marker in a lookup table 300 that may be stored in the memory of each robot and/or in the warehouse management system 15. As indicated above, the pose consists of x, y, z coordinates and orientation or quaternion (x, y, z, ω) in the warehouse.

In the other look-up table 400 of fig. 7, also stored in the memory of each robot and/or in the warehouse management system 15 is a list of bin locations (e.g., 402a-f) within the warehouse 10 that are associated with a particular reference ID 404, such as the number "11". In this example, the bin locations consist of seven alphanumeric characters. The first six characters (e.g., L01001) relate to shelf locations within the warehouse and the last character (e.g., a-F) identifies a particular bin at a shelf location. In this example, there are six different bin positions associated with the reference ID "11". There may be one or more bins associated with each reference ID/tag. The charging stations located in the charging area 19 and the processing station 100 (FIG. 1) may also be stored in the table 400 and associated with the reference ID. From the reference ID, the pose of the charging and processing stations can be found in table 300 of fig. 6.

The alphanumeric bin location is understandable to a human, such as operator 50 (fig. 3), as corresponding to the physical location in warehouse 10 where the articles are stored. However, they are of no significance to the robot 18. By mapping the position 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 navigate to the pose as described herein.

The order fulfillment process according to the present invention is depicted in the flow diagram 500 of FIG. 8. In step 502, the warehouse management system 15 of FIG. 1 obtains an order, which may consist of one or more items to be retrieved. In step 504, the SKU number for the item is determined by the warehouse management system 15, and based on the SKU number, the bin location is determined in step 506. The list of bin locations for the order is then sent to the robot 18. In step 508, the robot 18 associates the bin positions with the reference IDs and from the reference IDs, the pose of each reference ID is obtained in step 510. In step 512, the robot 18 navigates to the pose as shown in fig. 3, where the operator can pick the item to be retrieved from the appropriate bin and place it on the robot.

Item specific information obtained by the warehouse management system 15, such as SKU numbers and bin locations, can be sent to the tablet 48 on the robot 18 so that the operator 50 can be notified of the specific item to be retrieved when the robot reaches each fiducial marker location.

With the SLAM map and the pose of the reference ID known, the robot 18 can easily navigate to any of the reference IDs using various robot navigation techniques. A preferred method involves setting an initial route to a fiducial marker pose taking into account the open space 112 in the warehouse 10 and knowledge of walls 114, shelves (such as shelf 12) and other obstructions 116. When the robot begins traversing the warehouse using its lidar 22, it determines whether there are any fixed or dynamic obstacles in its path, such as other robots 18 and/or the operator 50, and iteratively updates its path to the pose of the fiducial marker. The robot re-plans its route about every 50 milliseconds, constantly searching for the most efficient and effective path while avoiding obstacles.

Typically, the positioning of the robot within the warehouse 10a is achieved by many-to-many multi-resolution scan matching (M3RSM) operating on SLAM virtual maps. Compared to brute force methods, M3RSM significantly reduces the computational time for the robot to perform SLAM closed loop and scan matching (two key steps in determining robot pose and position). Robot positioning is further improved by minimizing the M3SRM search space according to the method disclosed in related U.S. application serial No. 15/712,222 entitled Multi-Resolution Scan Matching with Exclusion Zones, filed on 22/9/2017 and incorporated herein by reference in its entirety.

Utilizing the product SKU/fiducial ID to fiducial attitude mapping technique (both described herein) in combination with the SLAM navigation technique described herein, the robot 18 is able to navigate through warehouse space very efficiently and effectively without having to use the more complex navigation methods commonly used that involve grid lines and intermediate fiducial markers to determine position within the warehouse.

Generally, navigation in the presence of other robots and moving obstacles in a warehouse is achieved by a collision avoidance method including a dynamic window method (DWA) and optimal mutual collision avoidance (ORCA). The DWA calculates an incremental movement that avoids collisions with obstacles and facilitates a desired path to the target fiducial marker among the feasible robot motion trajectories. ORCA optimally avoids collisions with other mobile robots without the need to communicate with other robots. Navigation continues as a series of incremental movements along the trajectory calculated at approximately 50ms update intervals. Collision Avoidance may be further improved by the technique described in related U.S. application serial No. 15/712,256 entitled Dynamic Window application Using optical precision Collision Cost-Critic, filed on 22.9.2017 and incorporated herein by reference in its entirety.

Referring now to fig. 9-14, a robot introduction process in accordance with an aspect of the present invention is described. The introduction station 600 of fig. 9, attended by an operator 602, is shown with a robot 604 positioned for introduction. The robot 604 has navigated to a pose (x, y coordinates) associated with the induction station 600 in the manner described above in order to be "inducted" or assigned an order or set of orders to be "picked" in the warehouse.

During the introduction, there are four process steps that may be performed by the WMS or the order server (these terms may be used interchangeably herein) in near real-time. These steps include: 1) identifying an operator to be introduced into the robot; 2) recommending a shipping case/shipping case array type for selection by an operator based on the order in the order queue; 3) associating the shipping container selected by the operator with the robot; and 4) assigning the order group/order set from the order queue to the robot. These steps will be further discussed below.

Operator identification

In the first step of introduction, a shipping container introducer (e.g., operator/employee 602) may be identified via a near field bluetooth RFID badge, such as badge 603, so that the WMS knows which operator is going to direct the next robot, robot 604. Of course, other ways of identifying the operator may be employed, including bluetooth low energy beacons, or via manual login to the WMS by way of the computer 606. In a preferred embodiment, the computer 606 has an integrated or independent proximity sensor, such as a Bluetooth RFID badge reader 612, that senses the badge 603 of the operator 602 as the operator 602 enters an area 614 at the introduction station 600 that is proximate to the computer 606 and the robot 604 being introduced. The size of the area 614 may vary depending on the particular implementation, but may typically be about one to two meters in diameter centered on the location of the computer 606 or badge reader 612. It should be noted that the operator may use any suitable handheld device in place of the computer 606, including a tablet computer or a smart phone.

When the operator 602 enters the area 614, the badge reader 612 reads the badge 603 worn by the local operator 602 and the computer 606 then transmits information about the badge 603 to the WMS. The WMS may then retrieve data about the operator associated with the badge information. The data may include operator preferences, such as language preferences, for interacting with the WMS via the computer 606 (or via a handheld device). The WMS may also track operator activity and maintain statistics regarding operator performance. When the operator 602 leaves the area 614, the WMS indicates that this operator is no longer operating as a shipping container introducer at the station 600 and can terminate the operator's introduction session. If another operator subsequently enters the area 614 (or the operator 602 re-enters the area 614), that operator is identified as the container introducer for the station 600 and a new introduction session begins.

Shipping container type recommendation

In a second step of the import process, a particular shipping container type (e.g., a single shipping container or an array of shipping containers with multiple compartments) may be recommended based on the best available order or set of orders in the order pool of the WMS. An exemplary process for grouping orders into order sets or groups and identifying the types of shipping containers to recommend to an operator is described in more detail below. For example, the shipping container type may be displayed for the operator on the display of the computer 606 or on the display of the handheld device. On the display may be a name/description of the recommended shipping container type and/or an image of the recommended shipping container type.

Shown at the induction station 600 are examples of two types of shipping container arrays, namely a shipping container array 608 comprising two compartments and capable of processing two orders of the order set and a shipping container array 610 comprising four compartments and capable of processing four orders of the order set. Examples of several shipping container types as may be displayed on the computer 606 are depicted in FIGS. 10A-10F.

In FIG. 10A, a single shipping box 620 is shown in the form of a rectangular container having a fully open top 621. The height of the shipping box 620 is less than its length and is nearly the same as its width. This shipping box may be used for a single order with one larger item or many smaller items that together require a larger volume container. The shipping container 622 of FIG. 10B is also a single shipping container that can be used for a single order. It has a smaller circular opening 623 in the top, so this container is more suitable for a single taller/longer and thinner item.

The shipping container array 624 of FIG. 10C is a two-position array formed by two containers 625a and 625b having front/side openings through which picked items may be placed. This array is suitable for a set of two orders, where items from each order are placed in one of two containers 625a and 625 b. The shipping container array 628 of FIG. 10D is a four-position array also formed by two receptacles 627a and 627b having front/side openings through which picked items may be placed. This array also includes dividers 629a and 629b which divide each of the containers 627a and 627b into two compartments, respectively. Thus, this array is suitable for a set of four orders, with items from each order placed in each of the four compartments.

The shipping box array 628 of FIG. 10E is a three-position array formed by three containers 631a, 631b, and 631c having front/side openings through which pick items may be placed. This array is suitable for a set of three orders, where items from each order are placed in one of the three containers 631a, 631b, and 631 c. The shipping box array 630 of FIG. 10F (FIG. 10F) is a six-position array also formed by three containers 633a, 633b, and 633c having front/side openings through which picked items may be placed. This array also includes dividers 635a, 635b and 635c that divide each of the containers 633a, 633b and 633c into three compartments, respectively. Thus, this array is suitable for a set of six orders, with items from each order placed in each of the six compartments.

The above described shipping containers/containers may be of any desired size and volume depending on the type of item to be carried.

Referring now to FIG. 11, a table 650 including the types of shipping containers available for selection by the operator for introduction and certain physical characteristics relating to the different shipping container types may be stored in memory. The physical characteristics may include a shipping container number or identifier (column 652), a shipping container type (column 654), the dimensions (height, width, and length) of each compartment and/or opening (column 656), and the volume of each compartment (column 658). Some or all of these characteristics may be included in table 650 and additional characteristics may be included.

Referring to FIG. 12, a flow chart 700 is shown depicting a shipping box recommendation process in accordance with an aspect of the present invention. As described above with respect to fig. 9, the robot navigates to the station 600 to be introduced. At step 702, the system evaluates the configuration of the workstation 600. The induction station may have limitations and be configured to assign orders from only one or a few designated retailers that ship products from the warehouse. Alternatively, the workstation may be unlimited and capable of assigning orders from any retailer.

In step 704, it is determined whether any of the retailers that can be assigned from the induction station have a priority ranking relative to the other retailers. In other words, some retailers may have a higher priority than others based on the warehouse operator's contract with the retailer. If there is no retailer priority to adjust, the orders from all retailers available for introducing workstations may be considered equally rather than selecting certain retailer orders over others based on priority. The shipping box recommendation process begins at step 706 and at step 708, orders from the queue of orders available from the retailer as determined in step 704 are organized based on retailer priority (if any). If there is no limit to retailers and there are no retailers with priority levels, the order queue may be organized, for example, by age of order, with the oldest order at the top of the queue.

At step 710, it is determined whether the available retailers for the induction stations have one or more of the specified shipping box types, i.e., number of shipping box types/compartments, volume of compartments, or cube, they need. If they do so, the system will only select from the preferred shipping box types for recommendation. If they do not, the system may select from any of the available tote types.

In step 712, the robot that has been deployed in the warehouse is selected as the so-called "anchor robot" around which the order set is built. The anchor robot is selected to build an order set in a particular area of the warehouse where, for example, higher levels of picking activity exist. By assigning the robot being introduced a set of orders near the location of the anchor robot, it is more likely that there will be operators in the area to quickly service the robot and increase the efficiency of the robot picking process.

Alternatively, an anchor operator may be selected and an order set may be constructed around the location of the anchor operator. The anchor operator may be selected to build an order set in a particular area of the warehouse where higher levels of picking activity also exist. Yet another alternative is to select the location where the order set is to be built based on the area in the warehouse to which the robot has been assigned the number of items to be picked. This provides an indication of the upcoming robot/operator activity. Each item to be picked is associated with a location or pose in the warehouse and such a location may be referred to as an active location. One such active site may be designated as an anchor active site. It should be noted that the pose of the active position is the position associated with the fiducial marker/two-dimensional barcode corresponding to the item assigned to be picked as described above.

Referring to FIG. 13, a portion of a typical order fulfillment warehouse 10a includes shelves, such as shelf 12a, filled with various items that can be included in an order, and a plurality of robots, such as 18a, deployed in the warehouse to execute the order (e.g., pick the order). Also shown are a number of operators, such as 50a, dispersed throughout the warehouse to service the robot in picking items from the shelves. According to one aspect of the invention, robots deployed to pick orders and/or operators within a warehouse may be grouped according to their location in the warehouse. Alternatively, the locations (poses) (so-called "active locations") of items in the warehouse that have been assigned to the robot but have not yet been picked may be identified and grouped. Using one or more of these groupings, an anchor robot, anchor operator, or anchor activity location may be selected.

An example of a grouping process is shown in fig. 13 as including five groups, namely groups 730, 732, 734, 736, and 738. The groups may be selected in various ways, including for example by finding clusters of robot/operator/activity locations and surrounding them with circles of predefined radius. Alternatively, predefined regions within the warehouse may be used to establish groups. For example, a warehouse may be divided into four equal sized regions, each of which will constitute a group. Either way, once the group is set, one may be selected as the anchor group and one of the robots, operators or active locations in the anchor group may be selected as the anchor robot/operator/active location around which the order set is constructed.

The process for selecting the anchor group may include selecting the group based on robot/operator/activity location factors within the group. These factors may be population or ratio or a combination of both. This may be done in various ways, including selecting the area with the highest robot/operator/activity location density (i.e., the number of robot/operator/activity locations throughout each grouped area if the areas of the group are different in size) or the largest number of robot/operator/activity locations when the sizes of the groups are all the same. For example, group 738 may be chosen as the anchor group because it has the highest number of robots, operators, and activity locations (eleven) compared to the other groups.

Alternatively, the anchor group may be the group with the highest number of robots, such as group 736 with five robots, or a group with the highest number of operators may be selected, which is also group 738 with four operators. The anchor groups may also be selected based on operator-to-robot ratio or based on a combination of robot/operator density and operator-to-robot ratio. Another way of selecting the anchor group may be by evaluating the number of active locations within the group. Active positions 741, 743, and 744 are shown in 738. There are two active positions in group 736, namely 745 and 746. There is only one active location in each of the groups 730, 732, and 734, namely active locations 747, 748, and 749. Thus, if the anchor group is selected based on the active location population, group 738 will be selected again.

The goal is to select groups with a high level of activity so that the chances of orders being executed by the robot being introduced quickly and efficiently will increase. For this example, assume that group 738 has been selected as the anchor group. An anchor robot, operator, or active location may be selected and its known location (anchor location) may be used to select and group orders to be assigned to the robot. Any robot/operator/activity location in the group may be used as an anchor, but it would be preferable to select a location near the center of the anchor group. In this case, the robot 740 may be selected as the anchor robot. Alternatively, an anchor operator, such as anchor operator 742, or an anchor active location, such as active location 743, may be selected.

Referring again to the flowchart 700 of fig. 12, with the order queue organized from step 708, the retailer configuration information from step 710, and the selected anchor robot/anchor order/anchor activity location, and where such anchor location is known, as determined in step 712, an order set can be established in step 714. In general, any method for grouping orders into order sets may be used, including, for example, a first-in-first-out ("FIFO") method. However, having an anchor location that has been determined to be in the active area of the warehouse, establishing an order set that is close to the anchor location is a desirable approach as it will improve overall picking efficiency. A method for Grouping orders into Order sets based on "similarity" (i.e., proximity to each other) that may be used is described in co-pending U.S. patent application No.15/807,672 entitled Order Grouping in route Order operation, filed on 9/1/2016. This application is incorporated by reference herein in its entirety.

The order grouping process described in the above-mentioned patent application provides the opportunity to cluster or group "similar" orders together to reduce the amount of travel required by the robot to execute the order set. For example, orders may be determined to be "similar" to one another if individual items or "picks" of the order are located near one another within the warehouse. When similar orders are grouped for assignment to robots, the robots will travel less distance to fulfill the orders and thus increase the picking rate and overall efficiency/productivity of warehouse operations.

Typical warehouse management systems do not contain information about the physical location in the warehouse of the items stored therein. The order grouping process according to one aspect of the present invention and as described in co-pending U.S. patent application No.15/807,672 has knowledge of the location (x, y coordinates) of all items stored within the warehouse. This order grouping process is described below.

Referring to FIG. 14, there is shown a portion of the sample order queue 750 established from step 714 of FIG. 12 ordered based on proximity to anchor locations as described below. The order queue includes a list of orders queued for assignment to the robot for execution (column 752). For each order in column 752, there is an order that includes the coordinate (x)1,y1)、(x2,y2) And (x)3,y3) Three columns 754, 756 and 758. These coordinates correspond to the midpoint of the clustered regions. The clustered regions are formed by plotting the locations of the items on the graph and grouping them into clusters of one or more items that are in close proximity to each other.

Once the order queue is filled by the midpoint of the clustering region in each order, the system may then use the order queue to group "similar" orders together and assign them for execution. In other words, the order queue may be arranged based on a similarity scoring system described in detail in co-pending U.S. patent application No.15/807,672, which assigns a score based on the calculated distance from the location. In this case, the position is an anchor position. The order at the top of the queue is order 760 in the example of queue 750, and it may be designated as the "anchor order," meaning that it is the order closest to the anchor location because it has the lowest score, i.e., "5".

Column 780 in the order queue 750 contains the similarity score for each order with respect to the anchor location. The order queue is ordered in ascending order by similarity of each order or portion thereof to be grouped with the anchor order for assignment to the robot being introduced. The order score relative to the anchor location/anchor order ranges from 11 to 226, which indicates how "similar" the other orders are to the anchor order and thus the anchor location. Similarity can be defined as how close each order is to the anchor order and anchor location (lower numbers are closer together). Once the order queue is organized according to similarity, the orders may be grouped into order sets, such as order set 782, which in this example is a set of three orders.

The number of orders to be grouped to form an order set may be determined in various ways, including setting it according to the type of shipping containers available for use. Alternatively, the system may always try to use a shipping box with the largest number of compartments (e.g., six compartments) and group the orders as such (i.e., 6 orders per order set). Alternatively, it may be grouped based on the most common type of shipping containers available, e.g., three-compartment shipping containers, as is the case in the above example where a set of three orders is established. The number of orders may be grouped based on their similarity or proximity to each other. In other words, referring to table 750, the base orders may be grouped with orders having a similarity of "20" or less, which in this example would result in a grouping of the first four orders in the order set instead of three orders. Of course, this assumes that a shipping container type having a specified number of compartments is available.

Regardless of the method used to sort the queue and select the set of orders, each order in the queue may contain information about the characteristics of the orders that may be used in the recommendation of a type of shipping container. The characteristics of the order may include the size (H, W or L) of the items in the order, such as the volume or cube of the items in each order shown in columns 784 and 786. A characteristic may be defined as the aggregate amount, i.e. the total volume/cube of all items in the order. For dimensions, a maximum value for each dimension (x, y, z) of all items in the order may be used. As will be described below, this information may help select the appropriate shipping container type for the order set to ensure that all items in the order set may fit within the selected shipping container type.

Referring again to FIG. 12, in step 716, one or both of the size or volume of each order in the order set may be determined, and in step 718 a best fit analysis is performed to determine the shipping container type of the available shipping containers that will best fit the order set (e.g., the shipping container type saved in memory as shown in FIG. 11). In the example of order set 782, one or both of the size and/or volume of the order is compared to the size/volume of the available tote types having three compartments, as order set 782 has three orders, each with its own compartment. If there is only one shipping container type with the required number of compartments, analysis will still be performed to ensure that the order will fit into the shipping container array. If there are multiple shipping container types with the required number of compartments, analysis is performed and the shipping container type can be selected based on desired criteria such as closest fit or maximum excess capacity. If there are no shipping container types with the required capacity, the order queue may be reorganized or the order set may be re-established from a different order in the existing order queue, and then the same shipping container type best fit analysis is re-performed.

Once the best fit analysis is performed and the type of shipping container is determined, an image or description of the best fit shipping container type may be displayed to the operator 602 of FIG. 9 as the recommended shipping container type in step 720. In step 722, the system loops back to step 706 to begin the process again for the next order for the next robot.

In an alternative embodiment, steps 714, 716, and 718 of the flow chart 700 of FIG. 12 may be collapsed into a single step by constructing a query that takes into account the then-current availability of the array of shipping containers as many desired parameters are to be run against the order queue. For example, the system may be configured to default to the highest density array of available totes (i.e., the tote array with the largest number of compartments) and then query based on customer priority (as determined by the service level agreement), similarity/proximity of the order to the anchor location, and matching (size and/or volume) to the compartments of the highest known density tote array.

Using the above type of query, an order set having a number of orders equal to the number of bays in the highest density available shipping box array will be retrieved based on the highest customer priority, proximity to the anchor location, and degree of match to the bay size of the shipping array. As an example, in the case of a six-compartment shipping box array where the compartments have a particular volume (i.e., a liquid cube), the query would first return a set of six orders based on customer priority and then similarity (proximity to anchor locations), each order having an aggregate volume (sum of the volume of each item in the order) that fits the volume of the compartments in the shipping box array.

Associating the selected tote to the robot

Following the shipment type recommendation, the operator will select a shipment/shipment array and scan the barcode on the shipment/shipment array. This process may be implemented in the manner described in U.S. patent application No.15/254,321, entitled article Storage Array for Mobile Base in Robot Assisted Order-functional Operations, filed on month 1 of 2016 and incorporated herein by reference in its entirety. Once scanned, the WMS associates or assigns the selected shipment/shipment array to the robot 604 for the current picking process being introduced to the robot. From the bar code, the WMS can retrieve information about the selected container/container array to determine if it matches the recommended container type. Preferably, the type of shipping container recommended to the operator is the selected type of shipping container, but this will not always be the case for various reasons. The final step of assigning the order set to the robot is performed as follows.

Assigning an order set to a robot

From the barcode, the WMS knows the type of container/container array selected that has been associated/assigned with/to the robot being introduced. The system determines whether the selected shipping container type matches the recommended shipping container type and, if so, uses and assigns to the robot the set of orders determined in step 714 of the flowchart 700 of fig. 12. The induction process is complete and the robot leaves the induction station to fulfill the assigned order set.

If the system determines that the selected container type that has been associated/assigned to the robot being introduced does not match the recommended container type, then a new order set must be generated for the selected container type using the flow chart 800 of FIG. 15, FIG. 15 being a subset of the steps of the flow chart 700 of FIG. 12.

According to the process described in flow chart 700, the system has evaluated the configuration of the workstation 600 and is aware of any restrictions, such as whether only certain retailers' induction workstations are dedicated or whether there are retailer priorities that must be considered. Based on this, in step 810 of FIG. 15, the order queue that has been organized/sorted can be accessed and reused to assign an order set based on the actual shipping box type selected by the operator. Alternatively, the same criteria may be used to reorganize/reorder the order queue, and the reordered order queue may be accessed in step 810.

In step 812, an anchor robot is selected using the robots already deployed in the warehouse, around which an order set may be constructed. Alternatively, an anchor operator or anchor activity location may be selected and an order set may be constructed around the anchor operator or anchor activity location. In step 814, using the anchor robot/operator/activity location, an order set may be constructed. These process steps are described above with respect to flowchart 700.

In step 816, one or more of the size, volume or weight, capacity of each order in the order set is determined, and in step 818, the size of the order set is compared to the size of the shipping box type selected by the operator (see the shipping box types stored in memory as shown in FIG. 11) to determine whether it can accommodate the items in the order set. If the shipping box type can accommodate the order set, the order set is assigned to the robot at step 820. If the selected shipping container type cannot accommodate the order set, the system returns to step 810 and begins the process again by reordering the queue and/or selecting a different anchor robot.

Non-limiting examples of computing devices

Fig. 16 is a block diagram of an exemplary computing device 1010 or portions thereof, such as can be used, in accordance with various embodiments as described above with reference to fig. 1-15. Computing device 1010 includes one or more non-transitory computer-readable media for storing one or more computer-executable instructions or software for implementing the exemplary embodiments. The non-transitory computer-readable medium can include, but is not limited to, one or more types of hardware memory, a non-transitory tangible medium (e.g., one or more magnetic storage disks, one or more optical disks, one or more flash drives), and the like. For example, memory 1016 included in computing device 1010 is capable of storing computer-readable and computer-executable instructions or software for performing the operations disclosed herein. For example, the memory can store a software application 1040 programmed to perform various disclosed operations as discussed with respect to fig. 1-15. Computing device 1010 can also include a configurable and/or programmable processor 1012 and an associated core 1014, and optionally one or more additional configurable and/or programmable processing devices, such as processor 1012 'and associated core 1014' (e.g., in the case of a computing device having multiple processors/cores), for executing computer-readable and computer-executable instructions or software stored in memory 1016, as well as other programs for controlling system hardware. Processor 1012 and processor 1012 'may each be a single core processor or a multi-core (1014 and 1014') processor.

Virtualization can be employed in the computing device 1010 to enable dynamic sharing of infrastructure and resources in the computing device. A virtual machine 1024 can be provided to process a process running on multiple processors such that the process exhibits that only one computing resource is being used instead of multiple computing resources. Multiple virtual machines can also be used with one processor.

Memory 1016 can include computing device memory or random access memory such as, but not limited to, DRAM, SRAM, EDO RAM, and the like. The memory 1016 also reportedly includes other types of memory or combinations thereof.

A user can interact with the computing device 1010 through a visual display device 1001, 111A-D (such as a computer monitor) capable of displaying one or more user interfaces 1002 that can be provided in accordance with an exemplary embodiment. The computing device 1010 can include other I/O devices for receiving input from a user, such as a keyboard or any suitable multi-touch interface 1018, a pointing device 1020 (e.g., a mouse). A keyboard 1018 and pointing device 1020 can be coupled to the visual display device 1001. Computing device 1010 can include other suitable conventional I/O peripheral devices.

Computing device 1010 can also include one or more storage devices 1034, such as, but not limited to, a hard drive, CD-ROM, or other computer-readable medium, for storing data and computer-readable instructions and/or software for performing the operations disclosed herein. Exemplary storage 1034 is also capable of storing one or more databases for storing any suitable information needed to implement the exemplary embodiments. The database can be updated manually or automatically at any suitable time to add, delete, and/or update one or more items in the database.

The computing device 1010 CAN include a network interface 1022 configured to interface with one or more networks, such as a Local Area Network (LAN), a Wide Area Network (WAN), or the internet, via one or more network devices 1032 over 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 Network (CAN), or some combination of any or all of the above. The network interface 1022 can 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 interfacing the computing device 1010 to any type of network capable of communicating and performing the operations described herein. Further, the computing device 1010 may be any computing device, such as a workstation, desktop computer, server, laptop, handheld computer, tablet computer, or other form of computing or telecommunication device capable of communication and having sufficient processor power and memory capacity to perform the operations described herein.

Computing device 1010 is capable of running any operating system 1026, such asAny version of the operating system (Microsoft, Redmond, Wash.), different versions of the Unix and Linux operating systems, MAC for Macintosh computers(Apple, inc., Cupertino, Calif.) any version of an operating system, 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, the operating system 1026 can be run in a native mode or an emulated mode. In an exemplary embodiment, operating system 1026 can be run on one or more cloud machine instances.

FIG. 17 is a block diagram of an example computing device of certain distributed embodiments. Although fig. 1-15 and portions of the exemplary discussion above make reference to a warehouse management system 15, an order server 14, and an area server, each running on a separate or common computing device, one will appreciate that any of the warehouse management system 15, order server 14, and/or area server may instead be distributed across the network 1105 in separate server systems 1101a-d and possibly in a user system such as a kiosk, desktop computer device 1102, or mobile computer device 1103. For example, the order server 14 and/or the area server may be distributed among the tablet computers 48 of the robots 18. In some distributed systems, modules of any one or more of the warehouse management system software, order server software, and area engine can be located on server systems 1101a-d, respectively, and can communicate with each other across network 1105.

While the foregoing description of the invention enables one of ordinary skill to make and use what is presently considered to be the best mode thereof, those of ordinary skill will understand and appreciate the existence of variations, combinations, and equivalents of the specific embodiments and examples herein. The above-described embodiments of the present invention are intended to be examples only. Alterations, modifications and variations may be effected to the particular embodiments by those of skill in the art without departing from the scope of the invention, which is defined solely by the claims appended hereto. The invention is thus not limited by the embodiments and examples described above.

Having described the invention and its preferred embodiments, the claims, which are new and are protected by letters patent, are described.

40页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:在装备上使用天气感测的实时农业建议

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!