U.S. patent application number 15/087076 was filed with the patent office on 2017-10-05 for system for optimizing storage location arrangement.
This patent application is currently assigned to Intel Corporation. The applicant listed for this patent is Intel Corporation. Invention is credited to ADDICAM V. SANJAY, MICHAEL WU.
Application Number | 20170286897 15/087076 |
Document ID | / |
Family ID | 59929172 |
Filed Date | 2017-10-05 |
United States Patent
Application |
20170286897 |
Kind Code |
A1 |
WU; MICHAEL ; et
al. |
October 5, 2017 |
SYSTEM FOR OPTIMIZING STORAGE LOCATION ARRANGEMENT
Abstract
This disclosure is directed to a system for optimizing storage
area arrangement. A system control device may manage location
control devices in various locations. Each location may comprise
storage areas accessible to trackable targets. At least a portion
of the storage areas may be arranged in parallel to form aisles
that may be monitored by aisle monitoring equipment. The monitoring
equipment may comprise at least two sensing devices capable of
capturing data such as, for example, a count of trackable objects
accessing an aisle or a storage area, time spent within the aisle
or proximate to a storage area, characteristics of the trackable
object (e.g., gender, age, etc.), etc. The captured data may then
be analyzed by the system control device to determine whether a
change in arrangement is necessary. A change in arrangement may
help to alleviate bottlenecks, improve the efficiency of paths
taken through the aisles/storage areas, etc.
Inventors: |
WU; MICHAEL; (San Jose,
CA) ; SANJAY; ADDICAM V.; (Gilbert, AZ) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Intel Corporation |
Santa Clara |
CA |
US |
|
|
Assignee: |
Intel Corporation
Santa Clara
CA
|
Family ID: |
59929172 |
Appl. No.: |
15/087076 |
Filed: |
March 31, 2016 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06T 7/70 20170101; G06K
9/00771 20130101; G06T 2207/10016 20130101; G06K 9/00624 20130101;
G06Q 10/087 20130101; G06Q 10/04 20130101; G06T 7/246 20170101;
G06T 2207/10028 20130101; G06T 2200/04 20130101; G06K 9/00671
20130101; H04N 7/181 20130101; G06T 2207/30241 20130101; G06K
19/07758 20130101 |
International
Class: |
G06Q 10/08 20060101
G06Q010/08; G06K 19/077 20060101 G06K019/077 |
Claims
1. A system for optimizing storage location arrangement,
comprising: at least one sensing device to generate traffic data
for a location including storage areas that are accessible to
trackable targets, wherein the at least one sensing device is to
generate said traffic data at least in part by capturing depth data
for said location, determining a contour from said depth data
corresponding to at least one trackable target within said
location, and comparing the contour to one or more reference lines;
and remote resources comprising communication circuitry, processor
circuitry, and memory circuitry, wherein: the communication
circuitry is to receive traffic data produced by said at least one
sensing device; the memory circuitry is to store arrangement data
for the location and said traffic data; and the processing
circuitry is to analyze the traffic data, determine if a change in
arrangement for the storage areas in the location is required based
on the analysis and provide a change in arrangement for the storage
areas based on the change in arrangement determination.
2. The system of claim 1, wherein: at least a portion of the
storage areas are arranged in parallel so as to form an aisle
between the storage areas; and said at least one sensing device
comprises at least first and second sensing devices that are
configured to generate said traffic data at least in part by
capturing depth data for said location, determining a contour from
said depth data corresponding to at least one trackable target
within said location, and comparing the contour to one or more
reference lines.
3. The system of claim 2, wherein: the at least one sensing device
further comprises third and fourth sensing devices; the first and
second sensing devices are arranged at ends of the aisle on
opposing sides of the aisle; the third and fourth sensing devices
are arranged at a midpoint of the aisle and on opposing sides of
the aisle; and the third and fourth sensing devices are configured
to sense with higher precision but at shorter range that then first
and second sensing devices.
4. The system of claim 2, wherein the traffic data comprises at
least one of a count of trackable targets passing through the
aisle, a rate at which the at least one trackable target passes
through the aisle, a duration that one or more of the trackable
targets pause adjacent to at least one storage area or
characteristic data corresponding to the trackable targets.
5. The system of claim 4, wherein in analyzing the traffic data the
processing circuitry is to at least one of determine how often
storage areas are being accessed by the trackable targets,
determine bottlenecks occurring proximate to storage areas or in
the aisle, or determine paths followed by the trackable targets
through the location and efficiencies associated with the target
paths.
6. The system of claim 1, wherein the arrangement data comprises
data describing at least one of an arrangement of storage areas in
the location or an arrangement of items stored within each of the
storage areas.
7. The system of claim 6, wherein: said remote resources includes a
system control device and a location device, the system control
device comprising said communication circuitry, memory circuitry,
and processing circuitry; and in providing a change in arrangement
the processing circuitry is to transmit to the at least one
location control device a signal including data instructing how to
rearrange at least one storage area within the location.
8. The system of claim 1, further comprising aisle monitoring
equipment, wherein: said aisle monitoring equipment is configured
to receive said traffic information from said at least one sensing
device and transmit said traffic data to said communication
circuitry of remote resources.
9. The system of claim 1, wherein said traffic data comprises a
velocity of at least one trackable target, and the at least one
sensing device is further to generate said traffic data at least in
part by determining whether said contour overlies said at least one
reference line in a first image frame, and then determining whether
a position of the contour has changed relative to the at least one
reference line in a subsequent image frame.
10. The system of claim 9, wherein the at least one sensing device
is further to generate said traffic data at least in part by
determining how many frames it takes for said contour to traverse
said at least one reference line.
11. (canceled)
12. A method for controlling storage location arrangement,
comprising: generating traffic data with at least one sensing
device for a location including storage areas that are accessible
to trackable targets, said generating comprising capturing depth
data for said location, determining a contour corresponding to at
least one trackable target within said location, and comparing the
contour to one or more reference lines; receiving, with remote
resources comprising communication circuitry, memory circuitry, and
processing circuitry, at least arrangement data and said traffic
data corresponding to said location; analyzing the traffic data
with the processing circuitry; determining, with the processing
circuitry, if a change in arrangement for the storage areas in the
location is required based on the analysis; and providing, with the
processing circuitry, a change in arrangement to the at least one
location control device via the communication circuitry based on
the change in arrangement determination.
13. The method of claim 12, wherein: at least a portion of the
storage areas are arranged in parallel so as to form an aisle
between the storage areas; and said at least one sensing device
comprises at least first and second sensing devices that are
configured to generate said traffic data at least in part by
capturing depth data for said location, determining a contour from
said depth data corresponding to at least one trackable target
within said location, and comparing the contour to one or more
reference lines.
14. The method of claim 13, wherein the traffic data comprises at
least one of a count of trackable targets passing through the
aisle, a rate at which the at least one trackable target passes
through the aisle, a duration that the trackable targets pause
adjacent to at least one storage area or characteristic data
corresponding to the trackable targets.
15. The method of claim 14, wherein analyzing the traffic data
comprises at least one of: determining how often storage areas are
being accessed by the trackable targets; determining bottlenecks
occurring proximate to storage areas or in the aisle; or
determining paths followed by the trackable targets through the
location and efficiencies associated with the target paths.
16. The method of claim 12, further comprising: determining if any
location comprises updated arrangement data; requesting updated
arrangement data from any location determined to comprise updated
arrangement data; and receiving updated arrangement data.
17. The method of claim 12, wherein the arrangement data comprises
data describing at least one of an arrangement of storage areas in
the location or an arrangement of items stored within each of the
storage areas.
18. The method of claim 17, wherein providing a change in
arrangement comprises causing the communication circuitry to
transmit a signal including data instructing how to rearrange at
least one storage area within the location.
19. At least one machine-readable storage medium having stored
thereon, individually or in combination, instructions for
controlling storage location arrangement that, when executed by one
or more processors, result in performance of the following
operations comprising: generating traffic data with at least one
sensing device for a location including storage areas that are
accessible to trackable targets at least in part by capturing depth
data for said location, determining a contour corresponding to at
least one trackable target within said location, and comparing the
contour to one or more reference lines; receiving, with remote
resources comprising communication circuitry, memory circuitry, and
processing circuitry, at least arrangement data and said traffic
data; analyze the traffic data with the processing circuitry;
determine, with the processing circuitry, if a change in
arrangement for the storage areas in the location is required based
on the analysis; and provide, with the processing circuitry, a
change in arrangement to the at least one location control device
via the communication circuitry based on the change in arrangement
determination.
20. The storage medium of claim 19, wherein: at least a portion of
the storage areas are arranged in parallel so as to form an aisle
between the storage areas; and said at least one sensing device
comprises at least first and second sensing devices that are
configured to generate said traffic data at least in part by
capturing depth data for said location, determining a contour from
said depth data corresponding to at least one trackable target
within said location, and comparing the contour to one or more
reference lines.
21. The storage medium of claim 20, wherein the traffic data
comprises at least one of a count of trackable targets passing
through the aisle, a rate at which the at least one trackable
target passes through the aisle, a duration that the trackable
targets pause adjacent to at least one storage area or
characteristic data corresponding to the trackable targets.
22. The storage medium of claim 21, wherein the instructions to
analyze the traffic data comprise instructions to at least one of:
determine how often storage areas are being accessed by the
trackable targets; determine bottlenecks occurring proximate to
storage areas or in the aisle; or determine paths followed by the
trackable targets through the location and efficiencies associated
with the target paths.
23. The storage medium of claim 19, further comprising instructions
that, when executed by one or more processors, cause the one or
more processors to: determine if any location comprises updated
arrangement data; request updated arrangement data from any
location determined to comprise updated arrangement data; and
receive updated arrangement data.
24. The storage medium of claim 19, wherein the arrangement data
comprises data describing at least one of an arrangement of storage
areas in the location or an arrangement of items stored within each
of the storage areas.
25. The storage medium of claim 24, wherein the instructions to
provide a change in arrangement comprise instructions to cause said
communications circuitry to transmit a signal including data
instructing how to rearrange at least one storage area within the
location.
Description
TECHNICAL FIELD
[0001] The present disclosure relates to control systems, and more
particularly, to a system that may monitor storage location traffic
and optimize access by reconfiguring location arrangement.
BACKGROUND
[0002] The increasing pressures of modern existence have placed an
emphasis on the effective utilization of time. Manufacturers must
build products faster, distributers must get the products to
retailers faster, and retailers must make it easy for consumers to
quickly receive the products. Material and product handling plays a
key role in facilitating this speed of delivery. Bottlenecks and/or
inefficiencies in handling materials and products may upset the
planned manufacturing or delivery of the products, and thus may
cause consumers to consider other available options. The importance
of this efficiency may be compounded in instances where automatic
material/product handling (e.g., automatic or robotic warehousing)
is being utilized as these resources may not be able to easily
adjust or compensate for unplanned delivery delays. In another
example scenario, products that are presented directly to a
consumer for purchase may be arranged in a manner that facilitates
easy selection and procurement. If these products are not arranged
in a manner that is beneficial to the consumer, then the consumer
may elect to consider secondary products that may be more
conveniently arranged because they facilitate a more expeditious
shopping experience.
[0003] In general, an arrangement may be "optimized" when changes
are made that improve the performance for users. For example, in an
automated handling system an arrangement of storage areas (e.g.,
bins, shelves, racks, etc.) may be optimized when the overall
amount of congestion, bottlenecks is reduced, item retrieval speed
is increased and an overall improvement in system performance is
optimized. Similarly, in a retail sales situation where products
may be presented to consumers in storage areas comprising, for
example, aisles of products displayed on shelves, endcaps, etc.,
the consumer experience may be optimized when a consumer may enter
a store, and locate various products of interest, and complete the
shopping trip in an expeditious manner. Realizing any improvement
in storage location arrangement is very difficult because of the
large number of parameters to consider based on, for example, the
situation in which the arrangement is utilized, the characteristics
of the particular storage environment, the manner which the storage
areas are accessed, the consumption of the products in certain
storage areas and how popularity may affect demand and consumption,
etc. Given that realizing improvements is very difficult,
optimization of storage location arrangement is currently
improbable due to overall complexity.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Features and advantages of various embodiments of the
claimed subject matter will become apparent as the following
Detailed Description proceeds, and upon reference to the Drawings,
wherein like numerals designate like parts, and in which:
[0005] FIG. 1 illustrates an example of a system for optimizing
storage location arrangement in accordance with at least one
embodiment of the present disclosure;
[0006] FIG. 2 illustrates an example configuration for devices
usable in accordance with at least one embodiment of the present
disclosure;
[0007] FIG. 3 illustrates an example configuration for sensing
devices in an aisle viewed from an overhead perspective in
accordance with at least one embodiment of the present
disclosure;
[0008] FIG. 4 illustrates an example configuration for sensing
devices in an aisle viewed from a sideways perspective in
accordance with at least one embodiment of the present
disclosure;
[0009] FIG. 5 illustrates examples of data collected regarding
trackable targets in accordance with at least one embodiment of the
present disclosure;
[0010] FIG. 6 illustrates example images and operations for
trackable target counting utilizing visual and depth data in
accordance with at least one embodiment of the present
disclosure;
[0011] FIG. 7 illustrates example operations to avoid duplicative
counting in accordance with at least one embodiment of the present
disclosure;
[0012] FIG. 8 illustrates example operations for system control in
accordance with at least one embodiment of the present disclosure;
and
[0013] FIG. 9 illustrates example operations for location control
in accordance with at least one embodiment of the present
disclosure.
[0014] Although the following Detailed Description will proceed
with reference being made to illustrative embodiments, many
alternatives, modifications and variations thereof will be apparent
to those skilled in the art.
DETAILED DESCRIPTION
[0015] This disclosure is directed to a system for optimizing
storage location arrangement. In general, a system control device
may manage location control devices in various locations. Each
location may comprise storage areas accessible to trackable
targets. For example, at least a portion of the storage areas may
be arranged in parallel to form aisles that may be monitored by
aisle monitoring equipment. The aisle monitoring equipment may
comprise, for example, at least two sensing devices (e.g.,
video/depth capture devices) and may be capable of capturing
various data such as, for example, a count of trackable objects
accessing an aisle or a storage area, time spent within the aisle
or proximate to a storage area, characteristics of the trackable
object (e.g., gender, age, etc.), etc. In one embodiment the
monitoring equipment may further comprise an aisle controller to
accumulate data from the at least two sensing devices. The captured
data may then be analyzed by the system control device to determine
whether a change in arrangement is necessary. A change in
arrangement may help to alleviate bottlenecks, improve the
efficiency of paths taken through the aisles/storage areas, etc.
The system control device may then transmit changes in arrangements
to the location control devices, which may automatically implement
the changes or present data to local operators prompting the
changes.
[0016] In at least one embodiment, an example device to control
storage location arrangement may comprise at least communication
circuitry, memory circuitry and processing circuitry. The
communication circuitry may be to communicate with at least one
location control device corresponding to a location including
storage areas that are accessible to trackable targets. The memory
circuitry may be to store at least arrangement data and traffic
data for the location received from the at least one location
control device via the communication circuitry. The processing
circuitry may be to analyze the traffic data, determine if a change
in arrangement for the storage areas in the location is required
based on the analysis and provide a change in arrangement to the at
least one location control device via the communication circuitry
based on the change in arrangement determination.
[0017] In at least one embodiment, at least a portion of the
storage areas may be arranged in parallel forming at least one
aisle between the storage areas, and the traffic data is
accumulated for each aisle by at least two sensing devices to
capture at least visible data and depth data. For example, first
and second sensing devices may be arranged at ends of the aisle on
opposing sides of the aisle, and third and fourth sensing devices
may be arranged at a midpoint of the aisle on opposing sides of the
aisle, the third and fourth sensing devices sensing with higher
precision but at shorter range that then first and second sensing
devices. The traffic data may comprise at least one of a count of
trackable targets passing through the at least one aisle, a rate at
which the at least one trackable target passes through the at least
one aisle, a duration that the trackable targets pause adjacent to
at least one storage area or characteristic data corresponding to
the trackable targets. In analyzing the traffic data, the
processing circuitry may be to at least one of determine how often
storage areas are being accessed by the trackable targets,
determine bottlenecks occurring proximate to storage areas or in
the at least one aisle, or determine paths followed by the
trackable targets through the location and efficiencies associated
with the target paths. The arrangement data may comprise data
describing at least one of an arrangement of storage areas in the
location or an arrangement of items stored within each of the
storage areas. In providing a change in arrangement, the processing
circuitry may be to transmit to the at least one location
controller a signal including data instructing how to rearrange at
least one storage area within the location.
[0018] Consistent with the present disclosure, an example device to
control a storage location may comprise communication circuitry to
communicate with at least one of a system control device or aisle
monitoring equipment corresponding to an aisle in a location, the
aisle being formed by a parallel arrangement of storage areas that
are accessible to trackable targets, memory circuitry to store at
least arrangement data and traffic data for the location and
processing circuitry to receive the traffic data from aisle
monitoring equipment and provide the traffic data to the system
control device via the communication circuitry. The aisle
monitoring equipment may comprise at least first and second sensing
devices are arranged at ends of the aisle on opposing sides of the
aisle, and third and fourth sensing devices are arranged at a
midpoint of the aisle on opposing sides of the aisle, the third and
fourth sensing devices sensing with higher precision but at shorter
range that then first and second sensing devices. The aisle
monitoring equipment may further comprise an aisle control device
to at least receive traffic data from the first, second, third and
fourth sensing devices and provide the traffic data to the device.
The processing circuitry may further be to receive data from the
system control device via the communication circuitry, the data
indicating a change to the arrangement of the location. An example
method for controlling storage location arrangement may comprise
receiving at least arrangement data and traffic data corresponding
to a location including storage areas that are accessible to
trackable targets, analyzing the traffic data, determining if a
change in arrangement for the storage areas in the location is
required based on the analysis and providing a change in
arrangement to the at least one location control device via the
communication circuitry based on the change in arrangement
determination.
[0019] FIG. 1 illustrates an example of a system for optimizing
storage location arrangement in accordance with at least one
embodiment of the present disclosure. The following disclosure may
make reference to, or may use terminology commonly associated with,
certain technologies for sensing comprising, but not limited to,
video data capture, depth data capture, face detection, facial
feature recognition, data processing, etc. These examples are
provided merely for the sake of explanation, and are not intended
to limit any of the various embodiments consistent with the present
disclosure to any particular manner of implementation. While the
above technologies provide a basis for understanding these
embodiments, actual implementations may utilize other technologies
existing now or developed in the future. Moreover, the inclusion of
an apostrophe after a drawing item number (e.g., 100') in the
present disclosure may indicate that an example embodiment of the
particular item is being illustrated merely for the sake of
explanation herein.
[0020] As referenced herein, a "storage location" or just
"location" may refer to any indoor or outdoor storage area,
structure, building, storage facility, etc. that may comprise
storage areas accessible to trackable targets. Example storage
locations may comprise, but are not limited to, assembly plants,
distribution centers, warehouses, retail facilities such as grocery
stores, "big box" stores, specialized stores, etc. Example "storage
areas" may comprise, but are not limited to, floor space, closets,
cabinets, racks, shelves, drawers, bins, tanks, etc. Example
"items" may comprise, but are not limited to, raw and/or processed
materials and foodstuffs, components of finished goods, finished
goods, etc. Example trackable targets may comprise anything that
may access a storage area. Example trackable targets may comprise,
but are not limited to, various people (e.g., workers, consumers,
etc.), items that may be associated with people (e.g., clothing,
bags, carts, pallet trucks, etc. that may possibly comprise
trackable identification such as radio frequency identification
(RFID) tags), automated equipment (e.g., robots and robotic devices
such as automated material handlers including order pickers,
forklifts, etc.) configured to gather components and items for
manufacturing, to fill purchase orders, etc. A first example
scenario referenced herein may comprise a grocery store (e.g.,
location) including aisles of shelves (e.g., storage areas) from
which shoppers (e.g., trackable targets) select consumer goods
(e.g., items) for purchase. A second example scenario referenced
herein may comprise an assembly plant (e.g., location) including
storage areas from which workers/robots (e.g., trackable targets)
may access materials (e.g., items) for use in assembly. These
examples have been selected merely to provide context for the
following disclosure, and are not meant to limit the various
embodiments.
[0021] Example system 100 in FIG. 1 may comprise remote resource
102. Remote resources 102 may comprise at least one device that is
capable of processing data and is accessible via a network such as,
for example, a global-area network (GAN), a wide-area network (WAN)
like the Internet, a local-area network (LAN), etc. An example
implementation may comprise one or more data processing devices
(e.g., servers) in a "cloud" computing arrangement. The servers in
remote resources 102 may operate separately or collaboratively to
perform various tasks related to optimizing storage location
arrangement. In at least one embodiment, remote resources 102 may
comprise system control device (SCD) 104 and location control
device (LCD) 106A, LCD 106B . . . LCD 106n (collectively, "LCDs
106A . . . n") that may each correspond to location 108A, location
108B . . . location 108n, respectively (collectively, "locations
108A . . . n"). While SCD 104 and LCDs 106A . . . n are illustrated
within remote resources 102, alternative configurations consistent
with the present disclosure are possible. For example, some or all
of LCD 106A . . . n may reside in locations 108A . . . n,
respectively. Moreover, while only three locations 108A . . . n are
shown in FIG. 1, less or more locations 108A . . . n may exist in
system 100 depending on, for example, the intended use for system
100, the capabilities of the equipment in system 100, etc.
[0022] SCD 104 may be configured to at least receive traffic data
from LCDs 106A . . . n, analyze the traffic data and then determine
if a change in arrangement is required based on the analysis.
"Traffic data" as referenced herein may comprise data sensed based
on trackable target activity within locations 108A . . . n.
Examples of traffic data will be described further below regarding
FIG. 5. Changes in arrangement may comprise, for example, a
reorganization of storage areas within one or all of locations 108A
. . . n, a relocation of items in the storage areas, a relocation
of aisles formed by the storage areas, etc. LCDs 106A . . . n may
manage operations in each of locations 108A . . . n. For example,
LCDs 106A . . . n may accumulate traffic data within locations 108A
. . . n, may provide the accumulated traffic data to SCD 104, may
receive data from SCD instructing a change in arrangement, etc.
Moreover, SCD 104 and/or LCDs 106A . . . n may be capable of other
control functions such as, but not limited to, inventory tracking
and statistical analysis, (e.g., item popularity analysis, waste
analysis for perishable goods, inventory holding analysis including
aged inventory, etc.), automated replenishment, purchase order
tracking, etc.
[0023] LCDs 106A . . . n may manage operations within locations
108A . . . n. Location 108B is presented as a representative
example configuration of locations 108A . . . n. Location 108B may
comprise one or more storage areas 110. As shown in location 108B,
storage areas 110 may be arranged proximate to other storage areas
110, such as in the instance of supermarket shelving wherein many
possible storage areas 110 exist in a set of shelving. The shelving
may then be arranged parallel to each other to form aisles through
which consumers may pass. An example of this arrangement is shown
in greater detail in FIG. 1 wherein at least three storage areas
110' are arranged end-to-end, and then these combined units are
arranged in parallel to form an aisle. Monitoring equipment
including at least sensing devices 112 arranged on the ends of the
aisle and sensing devices 114 at the midpoint of the aisle make
capture data regarding trackable targets 118 (e.g., consumers as
shown in FIG. 1). In at least one embodiment, sensing devices 112
and 114 may be selected to be different devices, or may at least be
differently configured, to serve different purposes in system 100.
For example, sensing devices 112 may capture less-detailed data
over longer distances as shown at 118 to at least detect trackable
targets 118 moving into and out of the aisle. Sensing devices 114
may capture more-detailed data over shorter distances as
illustrated at 122 for performing higher level detection such as
gender determination and age estimation based on, for example, face
detection, feature extraction from the detected face, etc. In this
manner, traffic data may be collected on the activity of trackable
targets 118 in the aisle. Example traffic data may include a count
of trackable targets 118 entering and exiting the aisle, the speed
at which trackable targets 118 move through the aisle, durations of
time that trackable targets 118 spend in the aisle or proximate to
storage areas 110', characteristics of trackable targets 118, etc.
In at least one embodiment, the aisle monitoring equipment may also
comprise aisle control device (ACD) 116 to locally accumulate the
data sensed by sensing devices 112 and 114. ACD 116 may accumulate
the traffic data from sensing devices 112 and 114 and may then
provide the traffic data to LCD 106B (e.g., for accumulation and
forwarding to SCD 104).
[0024] FIG. 2 illustrates an example configuration for a device
usable in accordance with at least one embodiment of the present
disclosure. Device 200 is presented as an example platform that may
be capable of performing the various activities associated with SCD
104, LCD 106A . . . n or ACD 116. Examples of device 200 may
include, but are not limited to, mobile communication devices such
as a cellular handset or a smartphone based on the Android.RTM. OS
from the Google Corporation, iOS.RTM. or Mac OS.RTM. from the Apple
Corporation, Windows.RTM. OS from the Microsoft Corporation, Tizen
OS.TM. from the Linux Foundation, Firefox.RTM. OS from the Mozilla
Project, Blackberry.RTM. OS from the Blackberry Corporation,
Palm.RTM. OS from the Hewlett-Packard Corporation, Symbian.RTM. OS
from the Symbian Foundation, etc., mobile computing devices such as
a tablet computer like an iPad.RTM. from the Apple Corporation,
Surface.RTM. from the Microsoft Corporation, Galaxy Tab.RTM. from
the Samsung Corporation, Kindle.RTM. from the Amazon Corporation,
etc., an Ultrabook.RTM. including a low-power chipset from the
Intel Corporation, a netbook, a notebook, a laptop, a palmtop,
etc., wearable devices such as a wristwatch form factor computing
device like the Galaxy Gear.RTM. from Samsung, an eyewear form
factor computing device/user interface like Google Glass.RTM. from
the Google Corporation, a virtual reality (VR) headset device like
the Gear VR.RTM. from the Samsung Corporation, the Oculus Rift.RTM.
from the Oculus VR Corporation, etc., typically stationary
computing devices such as a desktop computer, server, a group of
computing devices in a high performance computing (HPC)
architecture, a smart television or other "smart" device, small
form factor computing solutions (e.g., for space-limited
applications, TV set-top boxes, etc.) like the Next Unit of
Computing (NUC) platform from the Intel Corporation, etc. While
some or all of the above devices may be usable to fulfill various
functional roles in accordance with the present disclosure, device
200 is presented only as an example, and is not intended to limit
any of the various embodiments disclosed herein to a particular
manner of implementation. Moreover, while illustrated as only one
apparatus in FIG. 2, device 200 may also be made up of multiple
apparatuses configured to operate collaboratively.
[0025] System circuitry 202 may manage the operation of device 200.
System circuitry 202 may comprise, for example, processing
circuitry 204, memory circuitry 206, power circuitry 208, user
interface circuitry 210 and communication interface circuitry 212.
Device 200 may also include communication circuitry 214 and
optimization-related circuitry 216. While communication circuitry
214 and optimization-related circuitry 216 are shown as separate
from system circuitry 202, device 200 is provided merely for the
sake of explanation in regard to various embodiments. Possible
variations may include some or all of the functionality of
communication circuitry 214 and/or optimization-related circuitry
216 being incorporated into system circuitry 202.
[0026] In device 200, processing circuitry 204 may comprise one or
more processors situated in separate components, or alternatively
one or more processing cores in a single component (e.g., in a
System-on-a-Chip (SoC) configuration), along with processor-related
support circuitry (e.g., bridging interfaces, etc.). Example
processors may include, but are not limited to, various
.times.86-based microprocessors available from the Intel
Corporation including those in Pentium.RTM., Xeon.RTM.,
Itanium.RTM., Celeron.RTM., Atom.TM., Quark.TM., Core i-series,
Core M-series product families, Advanced RISC (e.g., Reduced
Instruction Set Computing) Machine or "ARM" processors,
microcontrollers, programmable logic controllers, etc. Examples of
support circuitry may include chipsets (e.g., Northbridge,
Southbridge, etc. available from the Intel Corporation) to provide
an interface through which processing circuitry 204 may interact
with other system components that may be operating at different
speeds, on different buses, etc. in device 200. Moreover, some or
all of the functionality commonly associated with the support
circuitry may also be included in the same package as the processor
(e.g., such as in the Sandy Bridge, Broadwell and Skylake families
of processors available from the Intel Corporation).
[0027] Processing circuitry 204 may be configured to execute
various instructions in device 200. Instructions may include
program code configured to cause processing circuitry 204 to
perform activities related to reading data, writing data,
processing data, formulating data, converting data, transforming
data, etc. Information (e.g., instructions, data, etc.) may be
stored in memory circuitry 206. Memory circuitry 206 may comprise
random access memory (RAM) and/or read-only memory (ROM) in a fixed
or removable format. RAM may include volatile memory configured to
hold information during the operation of device 200 such as, for
example, static RAM (SRAM) or Dynamic RAM (DRAM). ROM may include
non-volatile (NV) memory circuitry configured based on BIOS, UEFI,
etc. to provide instructions when device 200 is activated,
programmable memories such as electronic programmable ROMs
(EPROMS), Flash, etc. Other examples of fixed/removable memory may
include, but are not limited to, magnetic memories such as hard
disk (HD) drives, electronic memories such as solid state flash
memory (e.g., embedded multimedia card (eMMC), etc.), removable
memory cards or sticks (e.g., micro storage device (uSD), USB,
etc.), optical memories such as compact disc-based ROM (CD-ROM),
Digital Video Disks (DVD), Blu-Ray Disks, etc.
[0028] Power circuitry 208 may include, for example, internal power
sources (e.g., a battery, fuel cell, etc.) and/or external power
sources (e.g., electromechanical or solar generator, power grid,
external fuel cell, etc.), and related circuitry configured to
supply device 200 with the power needed to operate. User interface
circuitry 210 may include hardware and/or software to allow users
to interact with device 200 such as, for example, various input
mechanisms (e.g., microphones, switches, buttons, knobs, keyboards,
speakers, touch-sensitive surfaces, one or more sensors configured
to capture images, video and/or sense proximity, distance, motion,
gestures, orientation, biometric data, etc.) and various output
mechanisms (e.g., speakers, displays, lighted/flashing indicators,
electromechanical components for vibration, motion, etc.). Hardware
in user interface circuitry 210 may be included in device 200
and/or may be coupled to device 200 via a wired or wireless
communication medium.
[0029] Communication interface circuitry 212 may be configured to
manage packet routing and other control functions for communication
circuitry 214, which may include resources configured to support
wired and/or wireless communications. In some instances, device 200
may comprise more than one set of communication circuitry 214
(e.g., including separate physical interface circuitry for wired
protocols and/or wireless radios) managed by centralized
communication interface circuitry 212. Wired communications may
include serial and parallel wired mediums such as, for example,
Ethernet, USB, Firewire, Thunderbolt, Digital Video Interface
(DVI), High-Definition Multimedia Interface (HDMI), DisplayPort,
etc. Wireless communications may include, for example,
close-proximity wireless mediums (e.g., radio frequency (RF) such
as based on the RF Identification (RFID) or Near Field
Communications (NFC) standards, infrared (IR), etc.), short-range
wireless mediums (e.g., Bluetooth, WLAN, Wi-Fi, etc.), long range
wireless mediums (e.g., cellular wide-area radio communication
technology, satellite-based communications, etc.), electronic
communications via sound waves, long-range optical communications,
etc. In one embodiment, communication interface circuitry 212 may
be configured to prevent wireless communications that are active in
communication circuitry 214 from interfering with each other. In
performing this function, communication interface circuitry 212 may
schedule activities for communication circuitry 214 based on, for
example, the relative priority of messages awaiting transmission.
While FIG. 2 illustrates communication interface circuitry 212 and
communication circuitry 214 as separate, it may also be possible
for the functionality of communication interface circuitry 212 and
communication circuitry 214 to be combined in the same
circuitry.
[0030] Consistent with the present disclosure, optimization-related
circuitry 216 may comprise circuitry configured to perform
functionality related to optimizing storage location arrangement.
For example, optimization-related circuitry 216 may comprise
circuitry to initialize, configure, calibrate, etc. sensing devices
112 and 114, accumulate traffic data, analyze traffic data,
determine changes in arrangement, etc. In at least one embodiment,
Optimization-related circuitry 216 may comprise only hardware
(e.g., firmware-driven control circuitry) or a combination of
hardware and software. For example, processing circuitry 204 may
cause program files, code, data, etc. stored in NV memory in memory
circuitry 206 may be loaded into volatile memory in memory
circuitry 206 and then executed by processing circuitry 204 to
transform processing circuitry 204 from general data processing
circuitry into specialized circuitry corresponding to
optimization-related circuitry 216. During operation,
optimization-related circuitry 216 may interact with at least
processing circuitry 204, memory circuitry 206 and communication
circuitry 214. Traffic data may be transmitted and/or received via
communication circuitry 214. Memory circuitry 206 may store
arrangement data, traffic data, etc. Optimization-related circuitry
216 may then utilize processing circuitry 204 when accumulating
traffic data, analyzing traffic data, determining if a change in
arrangement is required, etc. If a change in arrangement is
required, optimization-related circuitry 216 may transmit the
change of arrangement via communication circuitry 214.
[0031] FIG. 3 illustrates an example configuration for sensing
devices in an aisle viewed from an overhead perspective in
accordance with at least one embodiment of the present disclosure.
In at least one embodiment, storage area 110A', storage area 110B'
and storage area 110C' may each comprise shelves, drawers, bins,
tanks, etc. accessible to trackable targets 118', and may also be
arranged end-to-end to form a first row of storage areas 110.
Storage area 110D', storage area 110E' and storage area 110F' may
be similarly configured and may also be arranged to form a second
row. While three storage areas 110 are shown within each row, the
number of storage areas 110 may be implementation specific, and so
each row may include more or less storage areas 110. The first and
second rows formed by the above storage areas 110 may be arranged
in parallel to form an aisle through which trackable targets 118'
access the above storage areas 110.
[0032] At least two sensing devices 112' may be arranged on either
end of the aisle. While more sensing devices 112' may be employed,
using one at each end may accomplish the goal of sensing traffic
data from all trackable targets 118' moving through the aisle while
minimizing resource consumption, cost, etc. In at least one
embodiment, sensing devices 112' may be rotated slightly inwards
(e.g., as shown by angle "A" in FIG. 3) to improve target sensing
contact. For example, sensing devices 112' may be rotated inward
approximately 65 degrees. Sensing device 112' may be utilized to
count trackable targets 118' moving through the aisle, and the
configuration shown in FIG. 3 may count with 100% accuracy
regardless of the path taken by trackable targets 118'. For
example, trackable targets 118' may move straight through the aisle
as shown at 300, may enter, reverse direction and then leave the
aisle from the same side that was entered after only a short
distance as shown at 302, or may enter, reverse direction and then
leave the aisle from the same side that was entered after a longer
distance as shown at 304. Duplicative counting (e.g., based on
counting the same trackable target 118' more than once) may be
avoided using at least one algorithm. An algorithm to avoid
duplicative counting will be discussed in regard to FIG. 6.
[0033] FIG. 4 illustrates an example configuration for sensing
devices in an aisle viewed from a sideways perspective in
accordance with at least one embodiment of the present disclosure.
For example, storage areas 110' may comprise various item storage
areas 400. An example of item storage area 400 may be a shelf in a
shelving unit (e.g., as used in a grocery, department store,
warehouse, etc. to hold various items). In at least one embodiment,
trackable targets 118' may have heights falling in a range of
dimensions. Moreover, when trackable targets 118' are people, the
level of each person's face may vary based on height. As a result,
sensing devices 112' and sensing devices 114' may be positioned in
or on storage areas 110' to ensure that traffic data may be fully
captured from 100% of the trackable targets 118' moving through the
aisle.
[0034] For example, sensing device 112' (A) is shown at a high
level position with downward focused sensing area 120'. In this
manner, at least the torso of all trackable targets 118' above a
certain height may be captured. Moreover, sensing certain trackable
targets 118' (e.g., children) may be avoided by focusing the
sensing area 120' above a certain height. In a second example,
sensing device 112' (B) is shown at a low level. A low position may
allow sensing device 112' to capture 100% of trackable targets 118'
moving through the aisle. Moreover, sensing devices 114' (A) and
114' (B) may be arranged at a level to allow for the complete
capture of traffic data from trackable target 118'. For example,
sensing devices 114' (A) and 114' (B) may be placed at a level that
may help to ensure that there will be at or near a 100% chance of
clearly capturing image and depth data from the faces of trackable
targets 118' moving through the aisle, stopping proximate to
storage areas 110', etc.
[0035] FIG. 5 illustrates examples of data collected regarding
trackable targets in accordance with at least one embodiment of the
present disclosure. In general, traffic data may pertain to
behaviors and characteristics of trackable targets 118' as they
move through the aisle, stop in front of storage areas 110, etc.
For example, sensing devices 112' may be configured to capture
traffic data such as shown at 500. The traffic data may comprise,
but is not limited to, counting the number of trackable targets
118' entering the aisle, determining a direction of movement for
trackable targets 118', determining a velocity and/or acceleration
for trackable targets 118', etc. Upon analysis, trackable data may
be used to determine, for example, whether trackable targets 118'
are actually interested in items in the aisle or are just passing
through the aisle, if a traffic flow problem (e.g., a bottleneck)
exists in the aisle or adjacent to a storage area 110 (e.g., in
which a popular item is stored), whether a safety issue exists in
the aisle (e.g., a blind spot where trackable targets 118' commonly
stop to access a storage area 110), what items interest trackable
targets 118', if items need to be moved to alternative storage
areas 110 to alleviate an issue, etc.
[0036] Sensing devices 114' may also capture traffic data. Further
traffic data, as shown at 502, may include determining whether
trackable targets 118' are "lingering" (e.g., pausing and/or
stopping) in front of certain storage areas 110, detecting faces
for trackable targets 118' and/or performing feature detection
within the faces to determine a gender for trackable targets 118',
an age for trackable targets 118', recognizing trackable targets
118' as being previously sensed, etc. This traffic data may be used
to determine interest in certain items stored in storage areas 110,
the demographics of trackable targets 118' interested in certain
items, whether trackable targets 118' are selecting certain items
upon first inspection or if the trackable targets 118' leave the
aisle and then return later for further consideration before
selecting the certain item, whether certain times need to be
relocated to alternative storage areas 110, etc.
[0037] FIG. 6 illustrates example images and operations for
trackable target counting utilizing visual and depth data in
accordance with at least one embodiment of the present disclosure.
In the examples shown at 600 and 602 in FIG. 6, sensing device 112
may capture image and depth data. In an example implementation,
sensing device 112 may be a RealSense R200 camera from the Intel
Corporation configured for red, green, blue and depth (RGBD)
sensing. The image and depth data may be captured, for example,
near access points to the aisle. Example 600 illustrates that the
captured data may first be processed to determine if any trackable
targets 118 exist in the image. In example 600 an outline has been
added to highlight that image 604 of trackable target 118 is
present. Image 604 may be determined based on the visible and/or
depth data captured by sensing device 112. Trackable target 118 may
then be counted. Example 602 demonstrates how analysis may be
employed to determine at least a relative direction of travel for
trackable target 118. In example 602, contour 606 has been
determined for image 604 detected in example 600, and relevant
points in contour 606 have been used to fit frame 608 to contour
606. Imaginary reference lines 610 and 612 may be overlaid for use
in determining relative motion for frame 608. While imaginary
reference lines 610 and 612 are illustrated visibly in example 602,
this is merely for the sake of explanation. In at least one
embodiment, a frame-by-frame analysis may then occur to determine a
position of contour 606 and/or frame line 608 with respect to
reference lines 610 and 612. For example, contour 606 overlapping
reference line 612 in a first frame and then overlapping reference
line 610 in a subsequent frame may indicate that trackable target
118 is moving to the left. In a similar manner, contour 606
overlapping reference line 610 in a first frame and then
overlapping reference line 612 in a subsequent frame may indicate
that trackable target 118 is moving to the right.
[0038] Example operations for performing the above functionality
are illustrated at 614 to 628 in FIG. 6. Visible data (e.g.,
images, video, etc.) and depth data may be captured in operation
614. The captured data may then be processed in operation 616 to
determine the target contour. The operations involved in the
processing of the data may comprise, but are not limited to,
grabbing a depth map frame for each image frame, determining
thresholds for the image frame based on the depth frame, eroding
and/or dilating the image frame based on the depth frame, finding
contours in the image frame based on the depth frame, filtering
noise in the image frame and then finding relevant contour points
in the image frame. In operation 618 imaginary reference lines 610
and 612 may be overlaid on the image frame. A change in contour
position may then be determined in operation 620. This
determination may comprise determining whether contour 606 overlays
one of imaginary reference lines 610 or 612 in a first frame, and
then determining whether the position of contour 606 has changed to
overlay the other of the reference lines 610 or 612 in a subsequent
frame. In operation 622 movement of contour 606 through the image
capture frame may be determined based on the results of operation
622. In at least one embodiment, velocity may also be determined
based on, for example, the number of frames it takes for contour
606 to traverse from first crossing reference lines 610 or 612 to
the other of reference lines 610 or 612. Operations 624 to 628
pertain to the accumulation and transmission of traffic data. For
example, in operation 624 other captured data may be accumulated.
For example, sensing devices 114 may be RealSense F200 RGBD cameras
from the Intel Corporation that may be capable of capturing image
data, performing face detection, extracting facial features, etc.
Data from sensing devices 112 and 114 may be accumulated in
operation 624. Accumulation may comprise, for example, correlating
data sensed by sensing devices 112 with data sensed by sensing
device 114 based on time, events, identification of trackable
targets 118, etc. Traffic data may then be determined based on the
accumulated data in operation 626. The determination of traffic
data may include, for example, processing the accumulated data to
determine various characteristics related to trackable targets 118
such a count numbers, direction of movement, velocity, levels of
interest, demographics, etc. The traffic data may then be
transmitted in operation 628. In one scenario ACDs 116 may transmit
traffic data to LCDs 106A . . . n corresponding to locations 108A .
. . n in which ACDs 116 reside. In an alternative scenario, LCDs
106A . . . n may get accumulate and process data from sensing
devices 112 and 114, and may then provide traffic data to SCD 104.
Operation 628 may optionally be followed by a return to operation
614 to resume the image/depth data-based sensing operations.
[0039] Consistent with the present disclosure, algorithms may be
employed to avoid duplicative counting. Duplicative counting may
occur when, for example, a determination cannot be made of the
direction of travel of trackable targets 118. This may occur when
trackable targets 118 are moving too fast to determine relative
direction (e.g., no captured image frames show contour 606
overlapping reference lines 610 or 612), when trackable targets 118
are bunched together in a blob or comprise other objects (e.g.,
strollers, shopping carts, hand trucks, dollies, forklifts, etc.)
that may confuse the determination, when more than one trackable
target 118 enters or leaves an aisle at substantially the same
time, etc. In at least one embodiment, duplicative counting may be
avoided by dividing the aisle into regions that correspond to the
visible/depth capture areas of sensing devices 112 and 114. Each
sensing device 112 and 114 may then increment a local counter when
it is determined that a trackable target 118 entered the region,
and may decrement the local counter when it is determined that a
trackable target 118 exited a region. The determination of whether
trackable targets 118 have entered or exited a region may be
performed using some or all of the directional determination
discussed above in regard to FIG. 6. Sensing devices 112 and 114 do
not have to keep track of particular trackable targets 118, just
when any trackable target enters or exits. Ideally, if every
trackable target 118 entering a region causes the local counter to
increment and every trackable target 118 leaving a region causes
the local counter to decrement, then when no trackable targets 118
are detected in the region the local counter should equal zero.
However, in view of the above issues the counters may not resolve
to zero, and these situations may be deemed unknowns. An unknown
may exist when, for example, trackable targets 118 are detected in
the region (e.g., by sensing devices 112 or 114) but the local
counter is at zero, or when no trackable targets 118 are detected
in the region but the local counter is not at zero. Unknowns may
also be determined by comparing the number of trackable targets 118
currently observed in a region vs. the current counter value.
Unknowns may be resolved by, for example, comparison with other
tracking functionality in system 100, by probabilistic measure,
etc. In an example of probabilistic measure, a theoretical
classification of unknowns may be done in view of left-to-right
movement or right-to-left movement in consideration of the ratio of
observed left-to-right and/or right-to-left movement. Theoretical
percentages may then be employed to approximate the number of
unknowns that were left-to-right movements vs. right-to-left
movement. The movement approximation may then be used to correct
for the unknowns in the traffic data.
[0040] A flowchart describing example operations associated with
the above algorithm to avoid duplicative counting is illustrated in
FIG. 7. In operation 700 a region may be monitored (e.g., by sensor
devices 112 and/or 114) until a determination is made in operation
702 that a trackable target 118 has been sensed entering or exiting
the region. A further determination may be made in operation 704 as
to whether entry has been detected. If in operation 704 it is
determined that entry into the region was detected, then in
operation 706 a local counter may be incremented. Otherwise, the
detection may correspond to an exit from the region and the local
counter may be decremented in operation 708. Following operations
706 or 708 a determination may be made in operation 710 as to
whether to reconcile the counter. A determination in operation 710
to not reconcile the counter may be followed by a return to
operation 700 to continue monitoring in the region. If in operation
710 it is determined to reconcile the counter, then in operation
712 the existence of unknowns may be determined. An unknown may
exist when, for example, the counter value does not correspond to
the activity monitored in the region. This may include no activity
being monitored in the region when the counter value is not zero,
monitoring activity in the region when the counter value is zero,
etc. Any unknowns existing in the traffic data may then be resolved
in operation 714 (e.g., using methods such as described above).
Operation 714 may optionally be followed by a return to operation
700 to continue monitoring in the region.
[0041] FIG. 8 illustrates example operations for system control in
accordance with at least one embodiment of the present disclosure.
The operations illustrated in FIG. 8 may be performed by, for
example, an SCD. In operation 800 at least the SCD may be
initiated. A determination may then be made in operation 802 as to
whether arrangement data corresponding to locations under control
of the SCD needs to be updated. If in operation 802 it is
determined that the arrangement data needs to be updated, then in
operation 804 inquiries may be transmitted to LCDs that may
correspond to the locations under control of the SCD. Arrangement
data may be received from the LCDs in operation 806. Arrangement
data may comprise, for example, a data that describes the current
arrangement of storage areas within the location, the items
currently stored in each of the storage locations, characteristics
of the items that may limit rearrangement (e.g., size, shape,
volatility, needing refrigeration or heating, etc.), etc. A
determination in operation 802 that the arrangement data does not
need to be updated, or alternatively operation 806, may be followed
by operation 808 wherein the LCDs may be monitored by the SCD.
Monitoring the LCDs may comprise listening for traffic data
transmissions. Monitoring may continue in operation 808 until
traffic data is determined to have been received in operation 810.
The SCD may then analyze the received traffic data in operation
812. Analyzing the traffic data including determining if any
hazards and/or bottlenecks exists in an aisle or proximate to a
storage area, determining interest levels in items based on traffic
through an aisle, lingering times, return trips to a storage
location, etc., determining paths of travel through the location
and efficiencies associated with the paths of travel, etc. A
determination may then be made in operation 814 as to whether a
change in the arrangement is required based on the analysis. A
determination in operation 814 that no change in arrangement is
required may be followed by a return to operation 810 to continue
monitoring the LCDs. If in operation 814 it is determined that a
change in arrangement is required, then in operation 816 a change
in arrangement may be transmitted to the LCD. Transmitting the
change in arrangement may include, for example, transmitting at
least one signal to the LCD including data instructing how the
arrangement of storage areas should be altered in the location, how
the arrangement of items stored in storage areas should be altered,
etc. Optionally, operation 816 may be followed by a return to
operation 806 to allow the SCD to receive confirmation that the new
arrangement has been implemented from the LCD.
[0042] FIG. 9 illustrates example operations for location control
in accordance with at least one embodiment of the present
disclosure. The operations illustrated in FIG. 9 may be performed
by, for example, an LCD. In operation 900 the LCD may be initiated.
A determination may then be made in operation 902 as to whether a
request for arrangement data was received from the SCD. If in
operation 902 it is determined that a request for location data was
received from the SCD, then in operation 904 updated arrangement
data may be determined. For example, the LCD may transmit a request
to all of the ACDs in the location requesting updated configuration
data for the aisles being monitored by the ACDs. The updated
arrangement data may then be transmitted to the SCD in operation
906.
[0043] Optional operation 908 may follow a determination in
operation 902 that a request for updated arrangement data has not
been received, or alternatively following operation 906. In
operation 908 aisle monitoring may be initiated. Initiating aisle
monitoring may comprise, for example, initiating the ACDs in the
location (e.g., in implementations using ACDs), initiating and/or
calibrating the sensing devices, initiating data capture in the
sensing devices, etc. Operation 908 may be optional in situations
where the ACDs may automatically initiate themselves and initiate
and/or calibrate the sensing devices prior to initiating
monitoring. Traffic data may then be received in the LCD in
operation 910, and the LCD may proceed to forward the traffic data
to the SCD in operation 912. A determination may then be made in
operation 914 as to whether a change in arrangement has been
received. A determination that a change in arrangement has not been
received may be followed by a return to operation 910 to continue
receiving traffic data.
[0044] If in operation 914 it is determined that a change in
arrangement has been received, then in operation 916 a further
determination may be made as to whether the change in arrangement
may be implemented automatically. Automatic implementation of
arrangement changes may be possible in certain locations such as,
for example, automatic warehouses wherein automation may shift
storage areas, items associated with storage areas, etc. without
human intervention. These locations may comprise modular storage,
movable shelving, conveyors, robotic pickers, etc. that may
automatically affect change. Otherwise, changes in arrangement may
be presented to humans (e.g., a location operator) for
implementation. Returning to the operational flow, if in operation
916 it is determined that automatic implementation of the change in
arrangement is possible then in operation 918 the change may be
implemented automatically. Operation 918 may optionally be followed
by a return to operation 904 to confirm the change in arrangement
to the SCD. If in operation 916 it is determined that automatic
implementation is not possible, then in operation 920 the change in
arrangement may be presented to a location operator (e.g., may be
indicated by a visible, audible or tactile alert, displayed on a
monitor, printed out on paper, etc.). Following implementation of
the change in arrangement, a change confirmation may be received
from the location operator in operation 922, which similar to
operation 918 may optionally be followed by a return to operation
904 to confirm the change in arrangement to the SCD.
[0045] While FIGS. 6 to 9 illustrate operations according to
different embodiments, it is to be understood that not all of the
operations depicted in FIGS. 6 to 9 are necessary for other
embodiments. Indeed, it is fully contemplated herein that in other
embodiments of the present disclosure, the operations depicted in
FIGS. 6 to 9, and/or other operations described herein, may be
combined in a manner not specifically shown in any of the drawings,
but still fully consistent with the present disclosure. Thus,
claims directed to features and/or operations that are not exactly
shown in one drawing are deemed within the scope and content of the
present disclosure.
[0046] As used in this application and in the claims, a list of
items joined by the term "and/or" can mean any combination of the
listed items. For example, the phrase "A, B and/or C" can mean A;
B; C; A and B; A and C; B and C; or A, B and C. As used in this
application and in the claims, a list of items joined by the term
"at least one of" can mean any combination of the listed terms. For
example, the phrases "at least one of A, B or C" can mean A; B; C;
A and B; A and C; B and C; or A, B and C.
[0047] As used in any embodiment herein, the terms "system" or
"module" may refer to, for example, software, firmware and/or
circuitry configured to perform any of the aforementioned
operations. Software may be embodied as a software package, code,
instructions, instruction sets and/or data recorded on
non-transitory computer readable storage mediums. Firmware may be
embodied as code, instructions or instruction sets and/or data that
are hard-coded (e.g., nonvolatile) in memory devices. "Circuitry",
as used in any embodiment herein, may comprise, for example, singly
or in any combination, hardwired circuitry, programmable circuitry
such as computer processors comprising one or more individual
instruction processing cores, state machine circuitry, and/or
firmware that stores instructions executed by programmable
circuitry. The circuitry may, collectively or individually, be
embodied as circuitry that forms part of a larger system, for
example, an integrated circuit (IC), system on-chip (SoC), desktop
computers, laptop computers, tablet computers, servers,
smartphones, etc.
[0048] Any of the operations described herein may be implemented in
a system that includes one or more storage mediums (e.g.,
non-transitory storage mediums) having stored thereon, individually
or in combination, instructions that when executed by one or more
processors perform the methods. Here, the processor may include,
for example, a server CPU, a mobile device CPU, and/or other
programmable circuitry. Also, it is intended that operations
described herein may be distributed across a plurality of physical
devices, such as processing structures at more than one different
physical location. The storage medium may include any type of
tangible medium, for example, any type of disk including hard
disks, floppy disks, optical disks, compact disk read-only memories
(CD-ROMs), compact disk rewritables (CD-RWs), and magneto-optical
disks, semiconductor devices such as read-only memories (ROMs),
random access memories (RAMs) such as dynamic and static RAMs,
erasable programmable read-only memories (EPROMs), electrically
erasable programmable read-only memories (EEPROMs), flash memories,
Solid State Disks (SSDs), embedded multimedia cards (eMMCs), secure
digital input/output (SDIO) cards, magnetic or optical cards, or
any type of media suitable for storing electronic instructions.
Other embodiments may be implemented as software circuitry executed
by a programmable control device.
[0049] Thus, this disclosure is directed to a system for optimizing
storage area arrangement. A system control device may manage
location control devices in various locations. Each location may
comprise storage areas accessible to trackable targets. At least a
portion of the storage areas may be arranged in parallel to form
aisles that may be monitored by aisle monitoring equipment. The
monitoring equipment may comprise at least two sensing devices
capable of capturing data such as, for example, a count of
trackable objects accessing an aisle or a storage area, time spent
within the aisle or proximate to a storage area, characteristics of
the trackable object (e.g., gender, age, etc.), etc. The captured
data may then be analyzed by the system control device to determine
whether a change in arrangement is necessary. A change in
arrangement may help to alleviate bottlenecks, improve the
efficiency of paths taken through the aisles/storage areas,
etc.
[0050] The following examples pertain to further embodiments. The
following examples of the present disclosure may comprise subject
material such as a device, a method, at least one machine-readable
medium for storing instructions that when executed cause a machine
to perform acts based on the method, means for performing acts
based on the method and/or a system for optimizing storage location
arrangement.
[0051] According to example 1 there is provided a device to control
storage location arrangement. The device may comprise communication
circuitry to communicate with at least one location control device
corresponding to a location including storage areas that are
accessible to trackable targets, memory circuitry to store at least
arrangement data and traffic data for the location received from
the at least one location control device via the communication
circuitry and processing circuitry to analyze the traffic data,
determine if a change in arrangement for the storage areas in the
location is required based on the analysis and provide a change in
arrangement to the at least one location control device via the
communication circuitry based on the change in arrangement
determination.
[0052] Example 2 may include the elements of example 1, wherein at
least a portion of the storage areas are arranged in parallel
forming at least one aisle between the storage areas, and the
traffic data is accumulated for each aisle by at least two sensing
devices to capture at least visible data and depth data.
[0053] Example 3 may include the elements of example 2, wherein
first and second sensing devices are arranged at ends of the aisle
on opposing sides of the aisle, and third and fourth sensing
devices are arranged at a midpoint of the aisle on opposing sides
of the aisle, the third and fourth sensing devices sensing with
higher precision but at shorter range that then first and second
sensing devices.
[0054] Example 4 may include the elements of any of examples 2 to
3, wherein the traffic data comprises at least one of a count of
trackable targets passing through the at least one aisle, a rate at
which the at least one trackable target passes through the at least
one aisle, a duration that the trackable targets pause adjacent to
at least one storage area or characteristic data corresponding to
the trackable targets.
[0055] Example 5 may include the elements of example 4, wherein in
analyzing the traffic data the processing circuitry is to at least
one of determine how often storage areas are being accessed by the
trackable targets, determine bottlenecks occurring proximate to
storage areas or in the at least one aisle, or determine paths
followed by the trackable targets through the location and
efficiencies associated with the target paths.
[0056] Example 6 may include the elements of any of examples 1 to
5, wherein the traffic data comprises at least one of a count of
trackable targets passing through the at least one aisle, a rate at
which the at least one trackable target passes through the at least
one aisle, a duration that the trackable targets pause adjacent to
at least one storage area or characteristic data corresponding to
the trackable targets, and in analyzing the traffic data the
processing circuitry is to at least one of determine how often
storage areas are being accessed by the trackable targets,
determine bottlenecks occurring proximate to storage areas or in
the at least one aisle, or determine paths followed by the
trackable targets through the location and efficiencies associated
with the target paths.
[0057] Example 7 may include the elements of any of examples 1 to
6, wherein the arrangement data comprises data describing at least
one of an arrangement of storage areas in the location or an
arrangement of items stored within each of the storage areas.
[0058] Example 8 may include the elements of example 7, wherein in
providing a change in arrangement the processing circuitry is to
transmit to the at least one location controller a signal including
data instructing how to rearrange at least one storage area within
the location.
[0059] Example 9 may include the elements of any of examples 1 to
8, wherein the arrangement data comprises data describing at least
one of an arrangement of storage areas in the location or an
arrangement of items stored within each of the storage areas, and
in providing a change in arrangement the processing circuitry is to
transmit to the at least one location controller a signal including
data instructing how to rearrange at least one storage area within
the location.
[0060] Example 10 may include the elements of any of examples 1 to
9, wherein the location is a retail establishment.
[0061] Example 11 may include the elements of any of examples 1 to
10, wherein the location is an automated warehouse.
[0062] Example 12 may include the elements of any of examples 1 to
11, wherein the storage area is at least one of floor space, a
closet, a cabinet, a rack, a shelf, a drawer, a bin or a tank.
[0063] Example 13 may include the elements of any of examples 1 to
12, wherein the trackable targets are at least one of people or
robotic devices.
[0064] According to example 14 there is provided a device to
control a storage location. The device may comprise communication
circuitry to communicate with at least one of a system control
device or aisle monitoring equipment corresponding to an aisle in a
location, the aisle being formed by a parallel arrangement of
storage areas that are accessible to trackable targets, memory
circuitry to store at least arrangement data and traffic data for
the location and processing circuitry to receive the traffic data
from aisle monitoring equipment and provide the traffic data to the
system control device via the communication circuitry.
[0065] Example 15 may include the elements of example 14, wherein
the aisle monitoring equipment comprises at least first and second
sensing devices are arranged at ends of the aisle on opposing sides
of the aisle, and third and fourth sensing devices are arranged at
a midpoint of the aisle on opposing sides of the aisle, the third
and fourth sensing devices sensing with higher precision but at
shorter range that then first and second sensing devices.
[0066] Example 16 may include the elements of example 15, wherein
the aisle monitoring equipment further comprises an aisle control
device to at least receive traffic data from the first, second,
third and fourth sensing devices and provide the traffic data to
the device.
[0067] Example 17 may include the elements of any of examples 14 to
16, wherein the processing circuitry is further to receive data
from the system control device via the communication circuitry, the
data indicating a change to the arrangement of the location.
[0068] Example 18 may include the elements of example 17, wherein
the processing circuitry is further to implement the change in
arrangement in the location automatically or present the change in
arrangement data to a location operator.
[0069] According to example 19 there is provided a sensing device.
The device may comprise sensing circuitry to generate sensing data
by monitoring a region and processing circuitry to at least
determine if a trackable target has entered or exited the region
based on the sensing data, increment a local counter based on an
entry determination, decrement the local counter based on an exit
determination, reconcile the local counter based on current sensing
data and generate traffic data based on the sensing data.
[0070] Example 20 may include the elements of example 19, wherein
the region is defined by a sensing range of the sensing device.
[0071] Example 21 may include the elements of any of examples 19 to
20, wherein in reconciling the local counter the processing
circuitry is to determine unknowns based on at least one of the
current sensing data indicating a trackable target is present in
the region while the local counter has a value of zero or the
current sensing data indicating that no trackable targets are
present when the local counter has a value that is not zero and
resolve the unknowns in the traffic data.
[0072] Example 22 may include the elements of example 21, wherein
in resolving the unknowns the processing circuitry is to at least
one of determine values for the unknowns by comparison with other
tracking functionality or approximate values for the unknowns using
probabilistic measure.
[0073] According to example 23 there is provided a method for
controlling storage location arrangement. The method may comprise
receiving at least arrangement data and traffic data corresponding
to a location including storage areas that are accessible to
trackable targets, analyzing the traffic data, determining if a
change in arrangement for the storage areas in the location is
required based on the analysis and providing a change in
arrangement to the at least one location control device via the
communication circuitry based on the change in arrangement
determination.
[0074] Example 24 may include the elements of example 23, wherein
at least a portion of the storage areas are arranged in parallel
forming at least one aisle between the storage areas, and the
traffic data is accumulated for each aisle by capturing at least
visible data and depth data.
[0075] Example 25 may include the elements of example 24, wherein
the traffic data comprises at least one of a count of trackable
targets passing through the at least one aisle, a rate at which the
at least one trackable target passes through the at least one
aisle, a duration that the trackable targets pause adjacent to at
least one storage area or characteristic data corresponding to the
trackable targets.
[0076] Example 26 may include the elements of example 25, wherein
analyzing the traffic data comprises at least one of determining
how often storage areas are being accessed by the trackable
targets, determining bottlenecks occurring proximate to storage
areas or in the at least one aisle or determining paths followed by
the trackable targets through the location and efficiencies
associated with the target paths.
[0077] Example 27 may include the elements of any of examples 23 to
26, and may further comprise determining if any location comprises
updated arrangement data, requesting updated arrangement data from
any location determined to comprise updated arrangement data and
receiving updated arrangement data.
[0078] Example 28 may include the elements of any of examples 23 to
27, wherein the arrangement data comprises data describing at least
one of an arrangement of storage areas in the location or an
arrangement of items stored within each of the storage areas.
[0079] Example 29 may include the elements of example 28, wherein
providing a change in arrangement comprises transmitting a signal
including data instructing how to rearrange at least one storage
area within the location.
[0080] Example 30 may include the elements of any of examples 23 to
29, wherein the arrangement data comprises data describing at least
one of an arrangement of storage areas in the location or an
arrangement of items stored within each of the storage areas, and
providing a change in arrangement comprises transmitting a signal
including data instructing how to rearrange at least one storage
area within the location.
[0081] According to example 31 there is provided a method to avoid
duplicative counting. The method may comprise generating sensing
data by monitoring a region utilizing at least one sensing device,
determining if a trackable target has entered or exited the region
based on the sensing data, incrementing a local counter based on an
entry determination, decrementing the local counter based on an
exit determination, reconciling the local counter based on current
sensing data and generating traffic data based on the sensing
data.
[0082] Example 32 may include the elements of example 31, wherein
the region is defined by a sensing range of the sensing device.
[0083] Example 33 may include the elements of any of examples 31 to
32, wherein reconciling the local counter comprises determining
unknowns based on at least one of the current sensing data
indicating a trackable target is present in the region while the
local counter has a value of zero or the current sensing data
indicating that no trackable targets are present when the local
counter has a value that is not zero and resolving the unknowns in
the traffic data.
[0084] Example 34 may include the elements of example 33, wherein
resolving the unknowns comprises at least one of determining values
for the unknowns by comparison with other tracking functionality or
approximating values for the unknowns using probabilistic
measure.
[0085] According to example 35 there is provided a system including
at least one device, the system being arranged to perform the
method of any of the above examples 23 to 34.
[0086] According to example 36 there is provided a chipset arranged
to perform the method of any of the above examples 23 to 34.
[0087] According to example 37 there is provided at least one
machine readable medium comprising a plurality of instructions
that, in response to be being executed on a computing device, cause
the computing device to carry out the method according to any of
the above examples 23 to 34.
[0088] According to example 38 there is provided at least one
device capable of controlling storage location arrangement, the at
least one device being arranged to perform the method of any of the
above examples 23 to 34.
[0089] According to example 39 there is provided a system for
controlling storage location arrangement. The system may comprise
means for receiving at least arrangement data and traffic data
corresponding to a location including storage areas that are
accessible to trackable targets, means for analyzing the traffic
data, means for determining if a change in arrangement for the
storage areas in the location is required based on the analysis and
means for providing a change in arrangement to the at least one
location control device via the communication circuitry based on
the change in arrangement determination.
[0090] Example 40 may include the elements of example 39, wherein
at least a portion of the storage areas are arranged in parallel
forming at least one aisle between the storage areas, and the
traffic data is accumulated for each aisle by capturing at least
visible data and depth data.
[0091] Example 41 may include the elements of example 40, wherein
the traffic data comprises at least one of a count of trackable
targets passing through the at least one aisle, a rate at which the
at least one trackable target passes through the at least one
aisle, a duration that the trackable targets pause adjacent to at
least one storage area or characteristic data corresponding to the
trackable targets.
[0092] Example 42 may include the elements of example 41, wherein
the means for analyzing the traffic data comprise at least one of
means for determining how often storage areas are being accessed by
the trackable targets, means for determining bottlenecks occurring
proximate to storage areas or in the at least one aisle or means
for determining paths followed by the trackable targets through the
location and efficiencies associated with the target paths.
[0093] Example 43 may include the elements of any of examples 39 to
42, and may further comprise means for determining if any location
comprises updated arrangement data, means for requesting updated
arrangement data from any location determined to comprise updated
arrangement data and means for receiving updated arrangement
data.
[0094] Example 44 may include the elements of any of examples 39 to
43, wherein the arrangement data comprises data describing at least
one of an arrangement of storage areas in the location or an
arrangement of items stored within each of the storage areas.
[0095] Example 45 may include the elements of example 44, wherein
the means for providing a change in arrangement comprise means for
transmitting a signal including data instructing how to rearrange
at least one storage area within the location.
[0096] Example 46 may include the elements of any of examples 39 to
45, wherein the arrangement data comprises data describing at least
one of an arrangement of storage areas in the location or an
arrangement of items stored within each of the storage areas, and
the means for providing a change in arrangement comprise means for
transmitting a signal including data instructing how to rearrange
at least one storage area within the location.
[0097] According to example 47 there is provided a system to avoid
duplicative counting. The system may comprise means for generating
sensing data by monitoring a region utilizing at least one sensing
device, means for determining if a trackable target has entered or
exited the region based on the sensing data, means for incrementing
a local counter based on an entry determination, means for
decrementing the local counter based on an exit determination,
means for reconciling the local counter based on current sensing
data and means for generating traffic data based on the sensing
data.
[0098] Example 48 may include the elements of example 47, wherein
the region is defined by a sensing range of the sensing device.
[0099] Example 49 may include the elements of any of examples 47 to
48, wherein the means for reconciling the local counter comprise
means for determining unknowns based on at least one of the current
sensing data indicating a trackable target is present in the region
while the local counter has a value of zero or the current sensing
data indicating that no trackable targets are present when the
local counter has a value that is not zero and means for resolving
the unknowns in the traffic data.
[0100] Example 50 may include the elements of example 49, wherein
the means for resolving the unknowns comprises at least one of
determining values for the unknowns by comparison with other
tracking functionality or approximating values for the unknowns
using probabilistic measure.
[0101] The terms and expressions which have been employed herein
are used as terms of description and not of limitation, and there
is no intention, in the use of such terms and expressions, of
excluding any equivalents of the features shown and described (or
portions thereof), and it is recognized that various modifications
are possible within the scope of the claims. Accordingly, the
claims are intended to cover all such equivalents.
* * * * *