Robot control system for minimizing a number of racks used for order picking
First Claim
Patent Images
1. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed, are configured to cause at least one computing device to:
- identify an order set of ordered products from among a plurality of products stocked using a plurality of movable racks, the ordered products including a plurality of product types, wherein each movable rack is retrievable by a rack-transporting robot, and at least some of the ordered products, of the same product type, are stocked on different ones of the movable racks;
construct a robot control instruction directing the rack-transporting robot among the plurality of movable racks to thereby retrieve the order set for delivery, includingidentifying a primary movable rack of the plurality of movable racks that includes a threshold number of ordered products of corresponding product types,iteratively identifying subsequent movable racks of the plurality of movable racks, wherein each iteration identifies a subsequent movable rack that includes ordered products adding to a number of ordered products of remaining product types of the plurality of product types,determining that a current iteration provides a rackset candidate when the identified movable racks include all of the ordered products of the plurality of product types,identifying an updated primary movable rack of the plurality of movable racks that is different from the primary movable rack,iteratively identifying subsequent, updated movable racks of the plurality of movable racks, wherein each iteration identifies a subsequent, updated movable rack that includes ordered products adding to an updated number of ordered products of remaining product types of the plurality of product types,determining that an updated current iteration provides an updated rackset candidate when the identified updated movable racks include all of the ordered products of the plurality of product types,constructing the robot control instruction using a selected rackset candidate from the rackset candidate and the updated rackset candidate, the selected rackset candidate having a minimized number of movable racks included therein; and
provide the robot control instruction to the rack-transporting robot for retrieval of the identified movable racks and transportation thereof to at least one location for the delivery of the ordered products.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for controlling an order-picking, rack-transporting robot. More specifically, the robot is controlled to select a minimized number of movable racks storing ordered products identified in one or more orders for product deliveries, while still ensuring that all ordered products are included.
12 Citations
20 Claims
-
1. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed, are configured to cause at least one computing device to:
-
identify an order set of ordered products from among a plurality of products stocked using a plurality of movable racks, the ordered products including a plurality of product types, wherein each movable rack is retrievable by a rack-transporting robot, and at least some of the ordered products, of the same product type, are stocked on different ones of the movable racks; construct a robot control instruction directing the rack-transporting robot among the plurality of movable racks to thereby retrieve the order set for delivery, including identifying a primary movable rack of the plurality of movable racks that includes a threshold number of ordered products of corresponding product types, iteratively identifying subsequent movable racks of the plurality of movable racks, wherein each iteration identifies a subsequent movable rack that includes ordered products adding to a number of ordered products of remaining product types of the plurality of product types, determining that a current iteration provides a rackset candidate when the identified movable racks include all of the ordered products of the plurality of product types, identifying an updated primary movable rack of the plurality of movable racks that is different from the primary movable rack, iteratively identifying subsequent, updated movable racks of the plurality of movable racks, wherein each iteration identifies a subsequent, updated movable rack that includes ordered products adding to an updated number of ordered products of remaining product types of the plurality of product types, determining that an updated current iteration provides an updated rackset candidate when the identified updated movable racks include all of the ordered products of the plurality of product types, constructing the robot control instruction using a selected rackset candidate from the rackset candidate and the updated rackset candidate, the selected rackset candidate having a minimized number of movable racks included therein; and provide the robot control instruction to the rack-transporting robot for retrieval of the identified movable racks and transportation thereof to at least one location for the delivery of the ordered products. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method, comprising:
-
identifying an order set of ordered products from among a plurality of products stocked using a plurality of movable racks, the ordered products including a plurality of product types, wherein each movable rack is retrievable by a rack-transporting robot, and at least some of the ordered products, of the same product type, are stocked on different ones of the movable racks; constructing a robot control instruction directing the rack-transporting robot among the plurality of movable racks to thereby retrieve the order set for delivery, including identifying a primary movable rack of the plurality of movable racks that includes a threshold number of ordered products of corresponding product types, iteratively identifying subsequent movable racks of the plurality of movable racks, wherein each iteration identifies a subsequent movable rack that includes ordered products adding to a number of ordered products of remaining product types of the plurality of product types, determining that a current iteration provides a rackset candidate when the identified movable racks include all of the ordered products of the plurality of product types, identifying an updated primary movable rack of the plurality of movable racks that is different from the primary movable rack, iteratively identifying subsequent, updated movable racks of the plurality of movable racks, wherein each iteration identifies a subsequent, updated movable rack that includes ordered products adding to an updated number of ordered products of remaining product types of the plurality of product types, determining that an updated current iteration provides an updated rackset candidate when the identified updated movable racks include all of the ordered products of the plurality of product types, constructing the robot control instruction using a selected rackset candidate from the rackset candidate and the updated rackset candidate, the selected rackset candidate having a minimized number of movable racks included therein; and providing the robot control instruction to the rack-transporting robot for retrieval of the identified movable racks and transportation thereof to at least one location for the delivery of the ordered products. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed, are configured to cause at least one computing device to:
-
receive at least one order for ordered products; access an inventory database to determine storage locations of each of the ordered products on corresponding movable racks of a plurality of movable racks within a warehouse, wherein the corresponding movable racks store mixed product types and at least some of the ordered products are stored using multiple racks of the corresponding movable racks; construct a bitmap model as a matrix including the corresponding movable racks and the ordered products on perpendicular axes; represent ordered products stored using each rack of the corresponding movable racks by constructing a bit representation including, for each rack of the corresponding movable racks, a bit value of one when a corresponding ordered product is included, and a bit value of zero when a corresponding ordered product is not included; storing product counts of ordered products in each corresponding movable rack, the product counts being set equal to a number of ones in the bit representations of the corresponding movable racks; selecting a maximum matching rack of the corresponding movable racks, the maximum matching rack having a highest-available number of ones included in its corresponding bit representation; reducing the product counts to reflect removal, for each corresponding movable rack, of each ordered product already included in the preceding maximum matching rack; iteratively selecting a current maximum matching rack and reducing the product counts, until a rackset of all of the maximum matching racks includes all of the ordered products; and providing a robot control instruction to a rack-transporting robot to retrieve the movable racks within the rackset, for packaging and delivery of the ordered products retrieved therefrom. - View Dependent Claims (20)
-
Specification