U.S. patent application number 13/903361 was filed with the patent office on 2013-11-28 for order processing systems using picking robots.
The applicant listed for this patent is Well.ca Inc.. Invention is credited to Ali Asaria, Jeffery Woods.
Application Number | 20130317642 13/903361 |
Document ID | / |
Family ID | 49622221 |
Filed Date | 2013-11-28 |
United States Patent
Application |
20130317642 |
Kind Code |
A1 |
Asaria; Ali ; et
al. |
November 28, 2013 |
ORDER PROCESSING SYSTEMS USING PICKING ROBOTS
Abstract
According to one aspect, a system for transporting products that
includes at least one picking robot including at least one robot
processor, and at least one order-processing device including at
least one order-processing processor in data communication with the
at least one robot processor. At least one of the order-processing
processor and the robot processor is configured to receive at least
one order including at least one product to be picked, generate at
least one picking itinerary based upon the at least one order and
warehouse information, generate at least one travel path for the at
least one robot based upon the picking itinerary, and direct the
robot along the travel path.
Inventors: |
Asaria; Ali; (Guelph,
CA) ; Woods; Jeffery; (Kitchener, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Well.ca Inc. |
Kitchener |
|
CA |
|
|
Family ID: |
49622221 |
Appl. No.: |
13/903361 |
Filed: |
May 28, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61652261 |
May 28, 2012 |
|
|
|
Current U.S.
Class: |
700/216 |
Current CPC
Class: |
G06Q 10/08 20130101;
G06Q 50/28 20130101 |
Class at
Publication: |
700/216 |
International
Class: |
G06Q 50/28 20060101
G06Q050/28 |
Claims
1. A system for transporting products comprising: (a) at least one
picking robot including a drive unit for moving the picking robot,
at least one product container, and at least one robot processor;
and (b) at least one order-processing device including at least one
order-processing processor in data communication with the at least
one robot processor; wherein at least one of the order-processing
processor and the robot processor is configured to: (i) receive at
least one order including at least one product to be picked, (ii)
generate at least one picking itinerary based upon the at least one
order and warehouse information, the at least one picking itinerary
including the at least one product to be picked, at least one
product location indicative of where the product is stored, and a
sequence of picking the at least one product; (iii) generate at
least one travel path for the at least one robot based upon the
picking itinerary; and (iv)direct the drive unit to move the robot
along the travel path to the at least one product location such
that the at least one product may be received in the at least one
product container.
2. The system of claim 1, wherein the warehouse information is
indicative of a current travel condition for the robot within a
product warehouse.
3. The system of claim 1, wherein the warehouse information
includes congestion information indicative of one or more congested
areas within the warehouse.
4. The system of claim 1, wherein the warehouse information
includes utilization information indicative of at least one of
under-utilization and over-utilization of some areas within the
warehouse.
5. The system of claim 1, wherein the at least one picking
itinerary is generated to account for changes in the warehouse
information.
6. The system of claim 5, wherein the at least one picking
itinerary is generated periodically.
7. The system of claim 5, wherein the at least one picking
itinerary is generated when one of the at least one product is
received at the picking robot.
8. The system of claim 5, wherein the robot processor is configured
to avoid one or more obstacles including at least one of mobile
obstacles and stationary obstacles.
9. The system of claim 1, wherein the travel path is generated
based upon the picking itinerary and a map.
10. The system of claim 1, wherein the travel path is generated
dynamically as the robot moves to the at least one product
location.
11. The system of claim 1, wherein the robot processor is
configured to direct the robot to wait at a designated wait area
associated with the at least one product location until the at
least one product located at the location is received in the at
least one product container.
12. The system of claim 1, wherein the travel path is generated
based upon markers in at least one of a floor of the warehouse, a
ceiling of the warehouse, and one or more storage units.
13. The system of claim 1, wherein the robot comprises a
positioning device for determining a current position of the
robot.
14. The system of claim 1, wherein the robot comprises a display
device, and the robot processor is configured to provide
information via the display device.
15. The system of claim 1, wherein the robot comprises a product
sensor for determining when the at least one product is received in
the container.
16. The system of claim 1, wherein the robot processor is
configured to identify one or more storage units proximate to the
robot to determine a location of the robot.
17. The system of claim 1, wherein the robot further comprises at
least one product indicator configured to optically indicate the
location of the product.
18. The system of claim 1, wherein the robot further comprises at
least one destination indicator configured to optically indicate a
destination for placing the product.
19. The system of claim 18, further comprising storage units for
storing the at least one product, the storage units having
associated at least one location indicators adapted to indicate a
location of the at least one product.
20. The system of claim 19, wherein the location indicator and the
destination indicator cooperate to visually indicate to a picker
the location of the product and the destination for the
product.
21. The system of claim 1, further comprising automated feeder
mechanism provided at least one storage unit configured to place
the at least one product in the at least one container of the
product.
22. A method for transporting products comprising: (a) receiving at
least one order including at least one product to be picked, (b)
generating at least one picking itinerary based upon the at least
one order and warehouse information, the at least one picking
itinerary including the at least one product to be picked, at least
one product location indicative of where the product is stored, and
a sequence of picking the at least one product; (c) generating at
least one travel path for at least one robot based upon the picking
itinerary; and (d) directing the at least one robot to move along
the travel path to the at least one product location such that the
at least one product may be received in the at least one product
container.
23. A robot for transporting products comprising: (a) at least one
drive unit for moving the robot; (b) at least one product container
for receiving one or more products; (c) at least one robot
processor configured to: (i) receive at least one travel path to at
least one product location indicative of where at least one product
is stored; and (ii) direct the at least one drive unit to move the
robot along the travel path to the at least one product location
such that the at least one product may be received in the at least
one product container.
Description
RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional
Patent Application Ser. No. 61/652,261 filed on May 28, 2012, by
the present inventor(s), and entitled "ORDER PROCESSING SYSTEMS
USING PICKING ROBOTS", the entire contents of which are hereby
incorporated by reference herein for all purposes.
TECHNICAL FIELD
[0002] The embodiments described herein relate generally to
inventory systems, and more particularly to systems, methods, and
apparatuses for transporting products to or from storage units (or
both) in a warehouse or other storage location using robots.
Introduction
[0003] A warehouse that stores products may store hundreds if not
thousands of different types of products. A number of these
different products may be grouped together and stored in one or
more storage units (e.g., on shelves), which may be placed at
various locations throughout the warehouse.
[0004] In some cases, these locations are grouped together such
that related items are found in proximity. However, in many cases,
items are grouped into different shelves at various different
locations. The location of particular shelves may change over time,
for example as the number of products or their popularity
changes.
[0005] An order for products (e.g. a purchase order) may include a
request for a number of different products that are located at
various locations within the warehouse. It can be challenging to
fulfil the order in an efficient manner because of the distribution
of products within the warehouse.
SUMMARY
[0006] According to some aspects, there is provided a system for
transporting products within a warehouse, the system includes a
plurality of picking robots, each of the picking robots having a
drive unit coupled to at least one product container and at least
one robot processor for controlling the drive unit, and each of the
picking robots having robot information associated therewith
indicative of current status of the robot. The system also includes
at least one order-processing device including at least one
order-processing processor in data communication with the at least
one robot processor. At least one of the order-processing processor
and the robot processor is configured for: receiving at least one
order identifying at least one product to be transported; obtaining
warehouse information indicative of a location of the at least one
product within the warehouse; generating at least one picking
itinerary based upon the at least one order and warehouse
information, the at least one picking itinerary includes
information indicative of the location of the at least one product
and if there are multiple products to be transported, then a
sequence for transporting the products; selecting one of the
picking robots to execute the picking itinerary based upon the
robot information associated with the robots; generating at least
one travel path for the selected robot based upon the picking
itinerary; and directing the drive unit of the selected robot to
move the robot along the travel path to the location of the at
least one product for transporting the at least one product in the
at least one container.
[0007] In some aspects, the order-processing processor is
configured for: receiving at least one order identifying at least
one product to be transported; obtaining warehouse information
indicative of a location of the at least one product within the
warehouse; generating at least one picking itinerary based upon the
at least one order and warehouse information, the at least one
picking itinerary includes information indicative of the location
of the at least one product and if there are multiple products to
be transported, then a sequence for transporting the products;
selecting one of the robots to execute the picking itinerary based
upon the robot information associated with the robots; and
providing the picking itinerary to the robot processor of the
selected robot.
[0008] In some aspects, the robot processor of the selected robot
is configured for: receiving the picking itinerary from the
order-processing processor; generating at least one travel path for
the selected robot based upon the picking itinerary; and directing
the drive unit of the selected robot to move the robot along the
travel path to the location of the at least one product for
transporting the at least one product in the at least one
container.
[0009] In some aspects, the warehouse information includes
utilization information associated with the location of the at
least one product, the utilization information being indicative of
whether the location is under-utilized or over-utilized, and
wherein the at least one of the order-processing processor and the
robot processor is configured for determining the sequence for
transporting the products based upon the utilization
information.
[0010] In some aspects, the warehouse information includes
congestion information indicative of one or more congested areas
within the warehouse, and wherein the at least one of the
order-processing processor and the robot processor is configured
for determining the sequence for transporting the products based
upon the congestion information.
[0011] In some aspects, the warehouse information is updated
dynamically.
[0012] In some aspects, the warehouse information is updated,
generating a new picking itinerary based upon the updated warehouse
information to replace an existing picking itinerary.
[0013] In some aspects, the new picking itinerary is generated when
at least one product is received at the picking robot.
[0014] In some aspects, the travel path is generated based upon
markers in at least one of a floor of the warehouse, a ceiling of
the warehouse, and one or more storage units.
[0015] In some aspects, at least one storage unit at the location
includes a visual indicator and the at least one of the robots
further comprises a visual indicator, and the indicators at the
storage unit and the robot cooperates to visually indicate to a
picker the storage unit where the product is stored and the robot
where the product should be placed.
[0016] In some aspects, the system further includes automated
feeder mechanism provided at least one storage unit configured to
place the at least one product in the at least one container of the
product.
[0017] According to some other aspects, there is provided a picking
robot including at least one product container, a drive unit
coupled to the at least one product container, a communication
device for communicating with at least one order-processing
processor, and at least one robot processor for controlling the
drive unit. The at least one robot processor configured for
receiving a picking itinerary from the order-processing processor,
generating at least one travel path for the selected robot based
upon the picking itinerary, and directing the drive unit of the
selected robot to move the robot along the travel path to the
location of the at least one product for transporting the at least
one product in the at least one container.
[0018] In some aspects, the at least one robot processor is
configured for avoiding at least one of mobile obstacles and
stationary obstacles along the travel path.
[0019] In some aspects, the travel path is generated dynamically as
the robot moves to the at least one product location.
[0020] In some aspects, the robot further includes a display, and
the at least one robot processor is further configured for
outputting on the display at least one of product information
indicative of the product to be picked and storage unit information
indicative of storage unit where the product is stored.
[0021] In some aspects, the robot further includes an input device,
and the at least one robot processor is further configured for
using the input device to confirm that the product is received
within the at least one container of the robot.
[0022] In some aspects, the robot further includes a positioning
device for determining a current position of the robot, and the at
least one robot processor is further configured to generate the
travel path based upon the current position of the robot.
[0023] In some aspects, the robot processor is configured for
determining a current position of the robot by identifying one or
more storage units proximate to the robot.
[0024] In some aspect, the at least one robot processor is a
processor of a tablet-form computer.
[0025] In some aspects, the drive unit of the robot is obtained
from a household vacuum robot.
[0026] In some aspects, the robot further comprise a visual
indicator, the visual indicator being configured to cooperate with
a visual indicator associated with a storage unit to visually
indicate to a picker the storage unit where the product to be
transported is stored and the robot where the product should be
placed.
[0027] According to some other aspects, there is provided an order
processing device including at least one order-processing
processor, the at least one order-processing processor configured
for: receiving at least one order identifying at least one product
to be transported; obtaining warehouse information indicative of a
location of the at least one product within the warehouse;
generating at least one picking itinerary based upon the at least
one order and warehouse information, the at least one picking
itinerary includes information indicative of the location of the at
least one product and if there are multiple products to be
transported, then a sequence for transporting the products;
selecting at least one of the robots to execute the picking
itinerary based upon the robot information associated therewith;
and providing the picking itinerary to the robot processor of the
selected robot.
[0028] In some aspects, the robot information includes information
indicative of a payload of the robot.
[0029] In some aspects, the at least one order-processing processor
is configured to generate more than one picking itinerary for the
at least one order and to select as many of the robots to execute
the picking itineraries.
[0030] According to some other aspects, there is provided a method
for transporting products. The method includes receiving at least
one order identifying at least one product to be transported,
obtaining warehouse information indicative of a location of the at
least one product within the warehouse, generating at least one
picking itinerary based upon the at least one order and warehouse
information, the at least one picking itinerary includes
information indicative of the location of the at least one product
and if there are multiple products to be transported, then a
sequence for transporting the products, selecting one of the
picking robots to execute the picking itinerary based upon the
robot information associated with the robots, generating at least
one travel path for the selected robot based upon the picking
itinerary, and directing the drive unit of the selected robot to
move the robot along the travel path to the location of the at
least one product for transporting the at least one product in the
at least one container.
BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Embodiments will now be described, by way of example only,
with reference to the following drawings, in which:
[0032] FIG. 1 is a schematic diagram illustrating a system for
transporting products according to some embodiments;
[0033] FIG. 2 is a schematic diagram illustrating exemplary
components of the order processing device of FIG. 1;
[0034] FIG. 3 is a schematic diagram illustrating an exemplary
robot of the system of FIG. 1;
[0035] FIG. 4 is a schematic diagram illustrating exemplary
components of the robot shown in FIG. 3;
[0036] FIG. 5 is a schematic diagram illustrating an exemplary
itinerary generation module that may be provided by at least one of
the order processing device and the robots;
[0037] FIG. 6 is a schematic diagram illustrating an exemplary path
generation module that may be provided by at least one of the order
processing device and the robots;
[0038] FIG. 7 is a schematic diagram depicting, by example, how
some of the robots may operate in an exemplary warehouse
environment to collect products to fulfil orders;
[0039] FIG. 8 is a flow chart illustrating a method for
transporting products according to some embodiments;
[0040] FIG. 9 is a flow chart illustrating a method for
transporting products according to some embodiments, which may be
executed by the order-processing processor shown in FIG. 2; and
[0041] FIG. 10 is a flow chart illustrating a method for
transporting products according to some embodiments, which may be
executed by the robot-processor shown in FIG. 4.
DESCRIPTION OF SOME EMBODIMENTS
[0042] For simplicity and clarity of illustration, where considered
appropriate, reference numerals may be repeated among the figures
to indicate corresponding or analogous elements or steps. In
addition, numerous specific details are set forth in order to
provide a thorough understanding of the exemplary embodiments
described herein. However, it will be understood by those of
ordinary skill in the art that the embodiments described herein may
be practiced without these specific details. In other instances,
well-known methods, procedures and components have not been
described in detail so as not to obscure the embodiments generally
described herein.
[0043] Furthermore, this description is not to be considered as
limiting the scope of the embodiments described, but rather as
merely describing the implementation of various embodiments.
[0044] In some cases, the embodiments of the systems and methods
described herein may be implemented in hardware or software, or a
combination thereof. In some cases, embodiments may be implemented
in one or more computer programs executing on one or more
programmable computing devices comprising at least one processor, a
data storage device (including in some cases volatile and
non-volatile memory and/or data storage elements), at least one
input device, and at least one output device.
[0045] In some embodiments, each program may be implemented in a
high level procedural or object oriented programming and/or
scripting language to communicate with a computer system. However,
the programs can be implemented in assembly or machine language, if
desired. In any case, the language may be a compiled or interpreted
language.
[0046] In some embodiments, the systems and methods as described
herein may also be implemented as a non-transitory
computer-readable storage medium configured with a computer
program, wherein the storage medium so configured causes a computer
to operate in a specific and predefined manner to perform at least
some of the functions as described herein.
[0047] In order to reduce cost and improve efficiency, inventory
picking systems in a warehouse often strive to improve the
efficiency of individual staff members at picking orders, and
increasing the speed and throughput of orders being processed in
the warehouse. Generally, individual human staff pickers walking
from one location to another can make up more than half of a human
order picker's time. That is, a human picker may spend half of his
time in transit.
[0048] As introduced above, a warehouse may store many different
products at many locations throughout the warehouse. When orders
for one or more products are received, the ordered products are
normally picked from various locations in the warehouse such that
these products can be further processed (e.g., packaged and then
shipped). To facilitate processing of the orders, many warehouses
employ inventory systems to assist with fulfilling orders.
[0049] In some cases, the orders received by a warehouse may be
fulfilled according to a "single pick" method. In a "single pick"
method, the products for each individual orders are independently
picked by a human warehouse worker. That is, a single human picker
wanders around the warehouse picking the products for a single
order. In a "single pick", the products from multiple orders are
not combined for the purposes of picking the products. Generally,
individual human pickers are evaluated on their ability to pick as
many orders per hour, or the number of products picked per hour (as
some orders may contain more than one product).
[0050] However, since the products for each order are picked
independently, the single pick system is inefficient in that it
requires individual pickers to travel back and forth between the
various storage units in the warehouse. In a large warehouse, this
can lead to a lot of wasted travel that is a source of
inefficiency.
[0051] In some cases, to improve on one or more limitations of the
single pick method, a "multi-pick" method of picking products may
be used. In a multi-pick system, batches of orders are picked
together. That is, the products from multiple orders are combined
to generate a combined pick list including products from multiple
orders. The products from the combined pick list are then picked by
a human picker and gathered in a packing location where they are
sorted for packing and shipping.
[0052] In some cases, as the products are picked, the products may
be placed in one container or separated into multiple containers,
with each container being indicative of one or more orders. For
example, a warehouse employee may walk through the warehouse to
pick various products in the combined pick list. By the time they
have picked all the products on the combined pick list, they will
have the products necessary to fulfil the orders that were used to
generate the combined pick list. The "multi-pick" approach may be
advantageous over the single pick approach in that it may reduce
the amount of travel necessary per order. However, it is more
complicated than the "single-pick" approach.
[0053] In some cases, "zone picking" methods may also be employed
at a warehouse. Zone picking methods tend to reduce travel between
various locations in the warehouse and may reduce collisions
between the pickers. A zone picking method divides the products in
an order into multiple groups. Each group includes the products
that are to be picked from one of distinct physical locations in
the warehouse, which are often referred to as "zones".
[0054] For example, in a warehouse with three major distinct
physical zones, namely zones "A", "B" and "C", a "zone picking"
system can separate each inbound order into one to three groups of
products. Each group of products include the products that are
located in each of the zones A, B, and C.
[0055] In some cases, each particular order may only include items
from one group (e.g. if all of the products in the order are
located only in one zone), two groups (e.g. if all of the products
in the order are located only in two zones), and so on.
[0056] The "zone picking" method may generate multiple pick lists
for each order based upon the grouping. The zone pick method may be
advantageous over the "single pick" and "multi-pick" methods in
that it can further reduce travel between different areas in the
warehouse for the human pickers. Furthermore, individual order
pickers may become more efficient at picking products within each
particular zone as they become more familiar with the products in
their zones.
[0057] One disadvantage of the zone pick method is that the
multiple products from the multiple orders must be collated
downstream in the picking process. For example, in a system that
separates an order into three groups of products, after each group
of products is picked, the system must then find a way to combine
or collate each of the three groups of products to fulfil the
original order.
[0058] Collation of products from multiple zones could be
challenging in a large warehouse, where there may be thousands or
tens of thousands of orders are being processed each day, with many
different zones. One challenge could stem from the orders being
fulfilled in a non-synchronous manner. For example, when the orders
are divided into multiple groups of products, and each group of
product is picked independently, (i.e. the picking of the groups
are non-synchronous), it is unpredictable as to when all the groups
of a particular single order will have been picked.
[0059] In some cases, collation of zone picked orders in large
warehouses may be implemented using complex tilt-tray sorters or
complex conveyance systems (e.g. belt conveyors, etc.). However,
such systems are generally complex and expensive and they may not
be suitable for smaller warehouses. It may also be difficult to
reconfigure such systems.
[0060] Referring now to FIG. 1, illustrated therein is a system 10
for transporting products to and from storage units in a warehouse
according to some embodiments. The storage units may include
various combinations of shelves, bins, and other suitable
structures for storing various types of products.
[0061] The system 10 in this embodiment includes an order
processing device 12, which includes an order-processing processor
14 and a first communication device 16 as shown in FIG. 2. In some
embodiments, the order processing device 12 may be implemented
using one or more of a server, personal computer, data storage
devices, etc.
[0062] The order-processing processor 14 is configured to receive a
plurality of orders as generally indicated by reference numeral 20.
In this particular example, the orders 20 include orders "O.sub.1",
"O.sub.2" and "O.sub.3". Each of the orders 20 includes one or more
products to be picked. In the example as shown, the order O.sub.1
includes a request for products X.sub.1, X.sub.2, and X.sub.3, the
order O.sub.2 includes a request for products Y.sub.1 and Y.sub.2,
and the order O.sub.3 includes a request for product Z.sub.3.
[0063] The order-processing processor 14 is configured to select
one or more picking robots 30 to execute the orders 20 based upon
robot information associated with the robots. The robot information
may include various capabilities of each of the robots. For
example, robot information may include load capacity information
indicative of the weight of the products it could transport. If the
order 20 includes a heavy product, a robot 30 with a sufficiently
large load bearing capacity may be assigned to execute the
itinerary associated with that order 20. On the other hand, if the
order 20 includes only relatively lighter products, then a robot 30
with a smaller carrying capacity may be assigned.
[0064] The robot information may include information about the
structure of the container for a particular robot, such as whether
the robot has more than one container or compartment so as to
determine whether the robot can execute multiple orders.
[0065] In some cases, the robots 30 may periodically poll the
order-processing processor 14 to determine whether an order 20 has
been assigned to the robots 30. In some cases, the order 20 may be
"pushed" to a given robot 30 when the order 20 is assigned to that
robot 30.
[0066] In some cases, more than one order 20 (i.e. multiple orders
20) may be assigned to a single robot 30. A robot 30 with the
plurality of orders assigned thereto may execute the orders 20
simultaneously or sequentially.
[0067] In some cases, a single order 20 may be split between
multiple robots 30 and picked products may be recombined at a later
time. This may be implemented by generating multiple picking
itineraries based upon the single order 20 and assigning those
picking itineraries to different robots 30, for example as
generally described below.
[0068] The exemplary robots 30 in the system 10 include robots
R.sub.1, R.sub.2, R.sub.3, R.sub.4, R.sub.5 and R.sub.6, although
greater or fewer numbers of robots can be used. In the example as
shown, the order O.sub.1 is assigned to the first robot R.sub.1,
order O.sub.2 to the second robot R.sub.3, and order O.sub.3 to the
third robot R.sub.2. In some embodiments, the number of robots 30
may differ. For example, in large warehouses, there may be dozens,
hundreds or even thousands of robots in use.
[0069] In some embodiments, each robot 30 may include one or more
components of an exemplary robot 32 as shown in FIGS. 3 and 4.
[0070] The exemplary robot 32 includes a drive unit 34 for moving
the robot 32 to various locations within the warehouse. The drive
unit 34 is operable to move the robot from one location to another
location. For example, the drive unit 34 may include wheels and a
motor to drive the wheels. In some cases, the drive unit 34 may
include one or more sensors and/or suitable hardware to assist with
navigation and to avoid obstacles. The drive unit 34, for example,
may include devices designed by iRobot Corporation or other
suitable robot manufacturers.
[0071] The robot 32 includes at least one container 36 for carrying
one or more products. In some cases, the container 36 may be
compartmentalized or there may be more than one container 36 for
keeping the products carried therein separate to fulfil several
orders simultaneously. For example, if there is more than one order
to be filed (e.g. two or more orders), the products for these
orders may be picked simultaneously by a single robot by placing
the orders in separate compartments of a single container and/or in
separate containers.
[0072] In some cases, the order-processing processor 14 may be
configured to determine the size of the products (e.g. by weight,
by volume, etc.) in each particular order to determine whether to
combine a plurality of orders and to determine which of the robots
(e.g. the robots with compartments/multiple containers) to assign
for particular orders.
[0073] In some cases, characteristic information associated with
each of the robots 30 may be stored. The characteristic information
for each of the robots 30 may include information about various
capabilities and/or limitations about the robot 30, such as its
maximum load capacity, maximum number of orders that can be served,
and so on. The characteristic information associated with each of
the robots 30 may assist the order-processing processor 14 to
select a suitable robot 30 to fulfil one or more orders 20.
[0074] As shown in FIG. 3, the robot 32 may include a display
device 38. The display device 38 may be configured to display
various information such as information about the robot 32, the
order, the product(s) currently being picked, an identification of
which particular compartment (if there are multiple compartments)
in which to place the product that is being picked, and so on. This
may allow the robot 32 to communicate information to a human
operator such as a human picker stationed at one or more shelves or
storage areas.
[0075] In some cases, the display device 38 may allow the robot to
communicate with a non-human picker (e.g. a robotic picking arm) at
a shelf (e.g. by displaying a barcode or QR code for scanning by
the robotic arm, for example). In some examples, the display device
38 may be implemented using a LCD screen or any other suitable
display hardware.
[0076] The display device 38 may be a flat screen display such as a
display of a commercially available tablet-form computer running
iOS or AndroidTM operating system developed by Apple Inc. and
Google Inc. respectively. In some embodiments, the robot processor
46 may be the processor available in the tablet-form computers.
Using a commercially available tablet-form computer may allow
cost-effective implementation of the robot 32.
[0077] The display device 38 may be coupled to the robot 32 using a
coupling device 40. The coupling device 40 may be an arm, a
bracket, a mount or any other suitable hardware for coupling the
display device 38 to the robot 32. In some cases, the coupling
device 40 may be adapted for orienting the display device 38 in a
manner suitable for observation of the information displayed
thereon.
[0078] In some embodiments, the display device 38 may be located at
a location other than the robot 32. That is, the display device 38
may not be physically coupled to the robot 32. For example, the
display devices 38 may be provided at product locations (e.g.
mounted on shelves where products are stored) to inform the product
pickers assigned to those shelves. In some cases, the display
devices 38 may be move along with the product pickers to different
product locations.
[0079] Each display device 38 that is detached from the robot 32
and provided at a location may have a wireless communication device
for communicating with the order processing device 12 or the robots
32 that are travelling to or are waiting the location associated
with the display device 38 (or both) such that the display devices
38 may display information about the products to be picked.
[0080] In some cases, the display device 38 that detached from the
robot 32 may also have an input device such as the input device 42
described herein below or a product sensor such as the product
sensor 44 also as described herein below (or both an input device
and a product sensor).
[0081] In some embodiments, the robot 32 may include an input
device 42. The input device 42, as in the illustrated example, may
be combined with the display device 38 in the form of a touch
sensitive layer (e.g. a capacitive or pressure sensitive layer) on
the display device 38. In some embodiments, the input device 42 may
include other types of input devices, such as physical switches,
buttons, keyboards, a mouse, optical sensors, and so on. The input
device 42 may generally allow a human operator to interface with
the robot 32.
[0082] The robot 32 may include a product sensor 44 for recognizing
the products that are being placed into or removed from of the
container 36. The product sensor 44 may operable to confirm that a
product being placed into the container 36 and/or identify the
product that is being placed to confirm that the correct product is
being picked.
[0083] The product sensor 44 may include, for example, near-field
wireless readers such as RFID scanners, optical sensors such as
barcode sensors, camera or other vision systems, laser scanners, or
any other suitable device operable to obtain information about the
product that is being placed into or removed from the container 36.
In the exemplary robot 32, the product scanner 44 is a wireless
sensor.
[0084] The product sensor 44, in other examples, may include a
weighing scale and the weight of the product may be used to confirm
that a product has been placed in the container 36, and furthermore
that the product is the correct product.
[0085] In some embodiments, the product sensor 44 may be an input
device such as a button. The button may be a hardware button or a
software button provided through the combination of the display
device 38 and the input device 42.
[0086] The robot 32 also includes a robot processor 46, which may
be operatively coupled to a location sensor 48 and a communication
device 50, in addition to the drive unit 34, the display device 38,
the input device 42 and the product sensor 44 described above. The
robot processor 46 may be configured to execute one or more methods
or modules as generally shown and described herein. The robot
processor may be a hardware processor manufactured by Intel Corp.
or AMD Corp., or any other suitable hardware processor. In some
embodiments, the robot processor 46 and the order-processing
processor 14 may be the same processor.
[0087] The communication device 50 is generally configured to
communicate with the order processing device 12. The communication
device 50, for example, may be a wireless communication device
compliant with IEEE 802.11 standards (i.e. "WI-FI") or any other
suitable wireless communication device. In some cases, the
communication device 50 may be suitable hardware for receiving data
through conductive wires or plates (or both). In some cases, where
there are a large number of robots being deployed, a wireless
communication device and a suitable wireless communication
network(s) may be implemented to facilitate communication between
the robots 30 and the server 12.
[0088] In some embodiments, the location sensor 48 is a sensor
suitable for determining a current position of the robot 32 in the
warehouse. The location sensor 48 may include a hardware location
sensor such as an indoor GPS.
[0089] In some cases, the location sensor 48 may be implemented
using a software module. For example, the location sensor 48 may
determine the location of the robot 32 based upon from information
about the surroundings of the robot, such as which storage units
are nearby, which storage units the robot 32 has previously passed
near to, and so on. In another example, the location sensor 48 may
include one or more optical sensors for obtaining visual
information, and which can be processed by the robot processor 46
to determine the location of the robot 32.
[0090] In some cases, the warehouse may have positioning beacons
(e.g. RFID tags, visual markers, QR codes, bar codes, and so on)
placed within the warehouse that can be detected by the location
sensor 48 to help assist the robot 32 in determining the location
of the robot 32 within the warehouse.
[0091] Referring now to FIG. 5, illustrated therein a schematic
diagram of an itinerary generation module 50 which may be executed
by the order-processing processor 14 or the robot processor 46 (or
both). That is, the order-processing processor 14, the robot
processor 46, or a combination thereof may provide the itinerary
generation module 50 or otherwise provide the functionality
provided by the itinerary generation module 50. As such, the
picking itinerary could be determined autonomously by each of the
robots 32 alone, the order processing device 12 alone, or by a
combination of the robot 32 and the device 12.
[0092] The itinerary generation module 50 generates a picking
itinerary 62 that includes the products to be picked and a sequence
(i.e. an order) of picking products. The picking itinerary 62 is
generated based upon the received order 52 and warehouse
information 54. The warehouse information 54 includes information
about the warehouse that could be used to generate the picking
itinerary 62. The picking itinerary 62 is provided to one of the
robots 30 for execution. That is, the robot 32 may determine where
to go in the warehouse based upon the picking itinerary 62 as
described below.
[0093] The order 50 may be an order comprising products to be
picked, such as one of the orders O.sub.1, O.sub.2 and O.sub.3 as
shown in FIG. 1.Generally when an order is received, a list of
products to be picked is generated. For example, the order O.sub.1
would indicate that the products X.sub.1, X.sub.2, and X.sub.3
should be picked. The itinerary generation module 50 will then
determine a sequence for picking the products on the list based
upon the warehouse information 54.
[0094] In some embodiments, multiple itineraries may be generated
for a single order. For example, if two robots may more efficiently
fulfil a single order (e.g. in a shorter amount of time or travel
distance because the products are located in opposite ends of the
warehouse), two picking itineraries may be generated. The
itineraries may then be provided to two different robots for
execution, in some cases simultaneously (e.g. the robots may pick
"in parallel").
[0095] The warehouse information 54 in some embodiments may include
one or more different types of information such as location
information 56, congestion information 58, and
utilization-information 60.
[0096] The location information 56 may include information
indicative of the location of the products to be picked in the
warehouse and distances between the start point and the products.
The location information 56, for example may include a map or plan
of the warehouse (e.g. layout of the storage units such as shelving
units within the warehouse) and distances between various locations
in the warehouse.
[0097] The congestion information 56 may include information
indicative of the congested areas within the warehouse where it
might be difficult or slow for the robot 32 to travel to, or
through, or both. This information may be considered when
determining which product to pick next. For example, if an area of
the warehouse becomes congested, a product located in another area
may be picked first. In some cases, the congestion information 56
may be generated by a centralized system that receives information
about location of various robots that are currently operational. In
some embodiments, congestion information 56 may be generated by the
robots based on their observations (e.g. if they notice that a
particular pathway seems congested, the robot may decide to modify
the itinerary).
[0098] In some cases, the congestion information 56 and the
location information 56 may be combined to generate an estimated
travel time for the robot 32. In such cases, the picking itinerary
62 may be generated based upon reducing the overall estimated
travel time, for example, for individual robots, for a group of
robots, and so on.
[0099] The utilization information 60 may include information about
the utilization of human or non-human product pickers located at
various storage units. In some embodiments, the product pickers
include be human operators. In some embodiments, the product
pickers may include one or more automated feeder mechanisms that
are configured to transfer one or more products from one or more
storage units to the container on the robot.
[0100] The utilization information 60 may identify pickers who are
not busy or who have relatively lower wait times for the robots.
For example, the system 10 may identify shelves, or areas of the
warehouse that are less congested or busy. In such cases, the
itineraries may be generated or updated such that the products that
can be picked by the under-utilized pickers or areas are picked
first, or at least sooner in the picking order.
[0101] In some embodiments, the warehouse information 54 may
include other information that may be useful for generating picking
itineraries.
[0102] After one or more picking itineraries 62 are generated, the
generated picking itineraries are provided to one or more robots
for execution.
[0103] In some embodiments, picking itineraries 62 may be updated
as the robots pick products, for example in response to changing
conditions within the warehouse (e.g. updated congestion
information 56, utilization information 60, and so on).
[0104] In some embodiments, picking itineraries 62 as new orders
are received and processed. For instance, a robot 32 may receive an
updated list of products to pick in response to the system 10
receiving a new order while the robot 32 was picking. This dynamic
update could include changing a quantity of items to be picked at a
specific location (e.g. picking three tubes of toothpaste instead
of two), or adding another product (e.g. adding mouthwash to the
picklist).
[0105] Referring now to FIG. 6, illustrated therein is a schematic
diagram of a path generation module 70 for generating a travel path
72 that may be executed by at least one of the robot processor 46
and the order processing processor 14 according to some
embodiments. That is, the robot processor 46 or the order
processing processor 14 (or both) may be configured to provide the
path generation module 70 or otherwise provide the functionality
provided by the path generation module 70. As such, the path 72
could be determined autonomously by each of the robots 32 alone,
the order processing device 12 alone, or by a combination of the
robot 32 and the order processing device 12.
[0106] The path generation module 70 generates the travel path 72
based upon the picking itinerary 62, and, in some cases, a current
location of the robot 32, or a map 74 of the warehouse (or both).
The path 72, for example, could be the path that should be taken to
move the robot 32 from its current location to the product location
where the next product in the picking itinerary to be picked is
located.
[0107] The path 72 may include information to direct the robot to
the product location. In some cases, the path 72 may include
coordinates or positional markers indicative of the product
location. In some cases, the path 72 may include a series of
coordinates or position markers that the robot may follow to get to
the product location. In some cases, the product location may refer
to a general area within the warehouse (e.g. a zone) or a more
specific location within the warehouse (e.g. a specific shelf, or a
specific location).
[0108] The robot processor 46 is configured to direct the drive
unit 34 to move the robot 32 to the product location generally
along the travel path 72. That is, the robot 32 may general follow
the travel path 72, although they may veer off the travel path 72,
at least temporarily, to avoid obstacles (e.g. mobile or stationary
obstacles). For example, the robot 32 may avoid human workers
walking throughout the warehouse or other robots, existing shelving
and storage units, boxes, pallets or equipment left on the
warehouse floor, and other features that may be present in the
warehouse that may inhibit the robot 32 from travelling along the
travel path 72.
[0109] In some cases, the robot processor 46 may be configured to
generate a new travel path if certain conditions are met. For
example, if the robot is not able to continue on the current path
due to obstacles and attempts at avoiding the obstacles have not
been successful (e.g. within a particular period of time), then the
robot processor 46 may be configured to generate a new travel
path.
[0110] In another example, if the path involves transit through a
congested area, the robot processor 46 may be configured to
generate a new travel path to avoid areas of high congestion.
[0111] In some examples, generating a new travel path may be done
dynamically, at various different time intervals (e.g. depending on
operating characteristics or other variables) and in some cases
with or without any communication thereof between the robot
processor 46 and the order processing processor 14.
[0112] The robot processor 46 may also be configured to execute one
or more combinations of the activities described herein as follows.
The execution of these activities may be triggered by one or more
events. For example, one or more of the activities may be executed
when the robot 32 arrives at the product location, when the robot
32 receives the product it is collecting, or when the robot 32 is
enroute to a product location.
[0113] In some embodiments, the robot 32 may be configured to wait
at one or more wait areas associated with each product location
until the products to be picked are received by the robot 32. This
may be helpful, for example, in a situation where a human picker is
assigned to multiple product locations. The robots 32 can travel to
the product locations and wait at the associated wait areas until
the products that it requires are received. This may provide more
efficient use of the human picker's time.
[0114] In some embodiments, one or more of the robots 32 may wait
at the designated wait area associated with the product location
until they receive a command from the human picker to move to the
next location. The instructions to move to the next location may be
provided to the robots 32 individually or as a batch.
[0115] In some embodiments, the robots 32 may decide to move on to
the next location based on some other criteria (e.g. a particular
amount of time has passed).
[0116] In some embodiments, there may be a human picker at the
product location for picking a product from the storage unit and
placing that product in the container of the robot 32. In some
embodiments, there may be an automatic feeder at the storage unity
that is configured to pick the product from the storage unit and
place it in the container of the robot 32 (e.g. a robotic picking
arm, a conveyor, etc.). The robot processor 46 may be configured to
assist the human picker or the automatic feeder (or both) by
executing one or more of the following functions.
[0117] In some cases, the robot processor 46 may be configured to
display the product that should be picked on the display device 38.
For example, the robot processor 46 may be configured to display an
image of, or text about, the product on the display device 38 (or
both), and/or information about the storage location where the
product is located when the robot 32 arrives at the product
location. This can help the human operator to recognize the product
that the robot wants from the storage unit(s) to fulfil its
order.
[0118] In some cases, the robot may have one or more optical
location indicators operable to indicate where the product is
located. For example, the robot may have a laser pointer,
mechanical pointer, or other suitable device operable to point to
the storage unit where the product is located.
[0119] In some cases, the storage units may have one or more
optical location indicators (e.g. lights such as LED lights) that
are configured to indicate the location of the storage units where
the product that the robot 32 wants is located. For example, there
may be multiple storage units (e.g. storage bins) in a given
location. In such cases, when a given robot is detected in the
area, the optical indicators associated with the storage bins
storing products that the robot is seeking could be activated. For
example, storage bins may have lights associated therewith and the
lights of the storage bins may be flashed to visually indicate to
the picker that a desired product is located in a particular
storage bins.
[0120] In some cases, a destination of the product to be picked may
also have an optical destination indicator associated therewith.
For example, the robot 32, various compartments of the container
36, and/or various containers 36 may have an optical destination
indicator (e.g. flashing lights) to indicate to the picker that the
product is to be placed in a particular container or a compartment
of that robot 32.
[0121] In some cases, the optical indicators between a source of a
product (e.g. a light at a storage unit) may be coordinated with a
destination for the product (e.g. a light at a robot) to help a
picker determine the location of the product and the destination of
the product. For example, the optical indicator on the shelves and
the optical destination indicator on the robots/containers may
light up a same (or similar) colour such that the source and the
destination are colour-coordinated. This may be helpful if there
are multiple robots waiting in an area, as the colours can help the
picker see which robot or which compartment of the robot to place
the picked product in.
[0122] In some cases, the robot processor 46 may be configured to
indicate the current payload of the robot 32 on the display device
38 (e.g. the total weight or volumetric dimensions of the products
being carried).
[0123] In some cases, the robot processor 46 may be configured to
indicate product location information on the display device 38. The
product location information may be indicative of the location(s)
of the product(s) for the current product location. For example,
the product location information may include storage unit number
(e.g. bin number), level (e.g. if there are multi-level shelves),
and other information that may be helpful for the picker to locate
the product to be picked.
[0124] In some cases, the robot processor 46 may be configured to
indicate other products on the picking itinerary on the display
device 38. In some cases, the robot 46 may be configured to
indicate the next product on the picking itinerary, the last
product picked, and so on. In some cases, the robot 46 may be
configured to display the location of one or more products on the
picking itinerary.
[0125] In some cases, the robot processor 46 may be configured to
indicate one or more paths to the next location on the display
device 38.
[0126] In some cases, the robot processor 46 may be configured to
indicate the location of one or more other robots 32 and/or human
pickers on the display device 38.
[0127] As noted above, the robot 32 may have the product sensor 44
for recognizing the products that are being placed into the
container 36 or removed out of the container 36. The product sensor
44 may also be used to verify that the correct product has been
received in the container 36 of the robot 32.
[0128] Once it is determined that all desired products at the given
product location have been collected, a path to the next product on
the product itinerary is generated, and the robot processor 46
directs the robot 32 to the next product location.
[0129] After all products are collected, in some embodiments the
robot 32 moves to a designated area where the orders may be further
processed. For example, products from multiple product itineraries
may be collated to fill a single order or multiple orders, and
products may be packed for shipping.
[0130] Referring now to FIG. 7, illustrated there in is a schematic
diagram depicting, by example, how the robots 30 shown in FIG. 1
may operate in an exemplary warehouse environment 70 to collect
products to fulfil the orders 20.
[0131] As shown, the warehouse 70 may have a start area 74 or
"holding area" where robots 30 that are not currently being used
may idle. The warehouse 70 also has an end area 76 or "finishing
area" where the robots 30 that have collected all (or at least some
of) the products on the product itinerary can move to so that their
containers may be unloaded (in some embodiments the start area 74
and end area 76 may be the same or a similar location).
[0132] The warehouse 70 has various storage units 72a, 72b, 72c,
72d, 72e and 72f. These storage units, for example could be shelves
where products are stored. The warehouse 70 in this embodiment has
three human pickers 74, indicated by reference numerals 74a, 74b,
and 74c. The human pickers 74 may be assigned to various storage
units. For example, the picker 74a may be trained to move between
the storage units 72a and 72c to obtain the products stored
therein. Similarly, the picker 74b may be trained to move between
the shelf 72b and 72d and the picker 74c between shelves 72e and
72f.
[0133] In this example, the robots are initially parked at the
start area 71 until orders 20 are assigned to them. As noted above,
robot R.sub.1 is assigned order O.sub.1, robot R.sub.2 is assigned
order O.sub.2, and robot R.sub.3 is assigned order O.sub.3. A
picking itinerary is generated for each of the robots as described
above. After the picking itineraries are generated, a travel path
to a next product location on the picking itinerary is generated
for each robot.
[0134] In this example, a travel path 78a may be generated by the
robot processor in robot R.sub.1 to collect products for the order
O.sub.1.
[0135] The robot R.sub.1 will travel along the path 78a to storage
unit 72a where product X.sub.1 is located. The robot R.sub.1 will
wait (at location 73a) for the picker 74a to place the product
X.sub.1 in its container. After the robot R.sub.1 detects that the
product X.sub.1 has been placed in its container (e.g. by using its
product sensor 44), the robot R.sub.1 generates a travel path to
the next product on the picking itinerary, which is product
X.sub.2. The robot R.sub.1 then moves along the travel path to the
storage unit 72b where it waits (at location 73b) to receive the
product X.sub.2. After the product X.sub.2 is received, the robot
R.sub.1 travels to the storage unit 72f where it waits (at location
73f) for product X.sub.3 to be loaded. After the product X.sub.3 is
loaded, the robot R.sub.1 moves to area 76 where the products are
unloaded. The robot R.sub.1 then returns to area 74 to wait for
further instructions from the order processing device 12. In some
cases, the robot R.sub.1 may be configured to wait in an area other
than the starting area 71 to wait for further instructions from the
order processing device 12.
[0136] Similarly, the robot R.sub.2 will travel along the path 78b
to storage unit 72d where product Y.sub.1 is located. When the
robot R.sub.2 reaches the storage unit 72d, the robot will wait
there (at location 73d) until the product Y.sub.1 is placed in the
container. The robot R.sub.2 may display an image of the product
Y.sub.1 on its display device so as to communicate to the picker
the product it is seeking.
[0137] After the robot R.sub.2 detects that the product Y.sub.1 has
been placed in its container (e.g. by using its product sensor 44),
the robot R.sub.2 generates a travel path to the next product on
the picking itinerary, which is product Y.sub.2. The robot R.sub.2
then moves along the travel path to the storage unit 72e associated
with product Y.sub.2 where it waits (at location 73e) to receive
the product Y.sub.2. After the product Y.sub.2 is received, the
robot R.sub.2 travels to area 76 where the products are unloaded.
The robot then returns to area 71 to wait for further instructions
from the device 12.
[0138] Robot R.sub.3 is assigned order O.sub.2 which has only one
product, namely, product Z.sub.1. The robot R.sub.3 generates a
travel path 78c to the storage unit 72e where product Z.sub.1 is
located. The robot R.sub.3 then waits (at location 73e) for the
product Z.sub.1 to be loaded to its container by picker 74c. After
it is detected that the product Z.sub.1 has been placed in the
container, the robot R.sub.3 moves to area 76 for unloading and
then once unloaded back to area 74 to await further
instructions.
[0139] Referring now to FIG. 8, illustrated therein is a method 100
for transporting products according to some embodiments. The steps
of the method 100 may be executed by the order-processing processor
14, robot processor 46 or a combination thereof as described
herein.
[0140] The method 100 begins at step 102 wherein at least one order
including at least one product to be picked is received.
[0141] At step 104, at least one picking itinerary is generated
based upon the at least one order and warehouse information. The at
least one picking itinerary includes the at least one product to be
picked, at least one product location indicative of where the
product is stored, and a sequence of picking the at least one
product.
[0142] At step 106, at least one travel path for the at least one
robot is generated based upon the picking itinerary.
[0143] At step 108, the robot is directed along the travel path to
the at least one product location.
[0144] At step 110, the at least one product may be received in at
least one product container of the robot.
[0145] At step 112, it is determined whether there are additional
products to be retrieved. If there are additional products, the
method 100 returns to step 106 where a travel path to a product
location of the next product to retrieve on the picking itinerary
is generated.
[0146] In some embodiments, the method 100 may return to step 104
wherein a picking itinerary is regenerated. Regenerating the
picking itinerary may allow more current warehouse information to
affect the picking itinerary. For example, if a particular product
location has become congested since the previous picking itinerary
was generated, then regenerating the picking itinerary may consider
this information and avoid the product location for the time
being.
[0147] In some embodiments, if the travel path to the next product
location has been generated, the method 100 may return to step
108.
[0148] Once there are no more products to transport, the method
continues to step 114, wherein the robot is directed to an end area
where the robot may be unloaded.
[0149] Referring now to FIG. 9, illustrated therein is a method 120
for transporting products according to some embodiments. The method
120 generates picking itineraries that may be executed by picking
robots to transport the products. In some cases, the method 120 may
be executed by the order-processing processor, or a combination of
the order-processing processor and the robot processor described
herein above with reference to system 10.
[0150] The method 120 begins at step 122 wherein an order is
received. The order includes one or more products to be
transported.
[0151] At step 124, warehouse information is obtained. The
warehouse information, for example, may be the same as or similar
to the warehouse information 54 described hereinabove with
reference to system 10.
[0152] At step 126 a picking itinerary is generated based upon the
order and the warehouse information. The picking itinerary includes
information indicative of the location of the at least one product
and if there are multiple products to be transported, then a
sequence for transporting the products. The sequence for
transporting the products describes the order in which the products
should be transported. In some cases, more than one itineraries may
be generated (for example for a large order, if the order has
products that are located in distinct areas of the warehouse,
etc.).
[0153] At step 128, one of the robots is selected to execute the
picking itinerary based upon the robot information associated with
the robots. For example, capabilities and availability of the
robots may help select the robot as described herein above with
reference to system 10. If multiple itineraries are generated, then
multiple robots are selected.
[0154] At step 130, the picking itinerary is provided to the
selected robot.
[0155] At step 132, the method 120 may update the itinerary that
had been provided to the selected robot in some cases. For example,
if the warehouse information indicates that some locations within
the warehouse are under-utilized or over-utilized, the itinerary
may be updated to reflect this change. In another example, the
robot may be assigned another itinerary to execute simultaneously
with the first itinerary.
[0156] Referring now to FIG. 10, illustrated therein is a method
140 for transporting products within a warehouse according to some
embodiments. The method 140 may be executed by the robot processor,
or a combination of the robot processor and the order-processing
processor described hereinabove with reference to FIG. 1.
[0157] Method 140 starts at step 142, wherein picking itinerary is
received. The picking itinerary may be a picking itinerary
generated by the method 120 described herein above.
[0158] At step 144, a travel path is generated based upon the
picking itinerary. For example, the picking itinerary may include
location information indicative of a location where the product to
be transported is located, and a travel path to the location is
generated based upon the location information and current location
of the robot.
[0159] If there are a plurality of products to be transported, the
picking itinerary may include a sequence by which the products
should be picked. In such a case, the travel path to the first
product in the sequence is generated.
[0160] At step 146, the robot is directed along the generated
travel path. In some cases, the method may involve directing the
robot to avoid stationary and/or mobile obstacles.
[0161] If there are additional products to be transported, then the
method returns to step 144 where the travel path to the next
destination is generated.
[0162] If there are no additional products to be transported, then
the method directs the robot to a defined area where the products
may be loaded or unloaded.
[0163] In some cases, the warehouse information is updated
periodically so that the warehouse information remains indicative
of a current status of the warehouse.
[0164] The above described embodiments illustrate how various
products may be retrieved from various storage units. In other
embodiments, the systems, apparatuses, and methods may be
implemented to transport products to their location throughout the
warehouse. For example, products may be loaded at the robots to
deliver to various storage units whereby the products may be
transferred to the storage units.
[0165] While the above description provides examples of one or more
apparatus, systems and methods, it will be appreciated that other
apparatus, systems and methods may be within the scope of the
present description as interpreted by one of skill in the art.
* * * * *