Note: Descriptions are shown in the official language in which they were submitted.
AUTOMATED PRODUCT CABINET FOR INVENTORY CONTROL
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent
application No. 16/409,903
filed on May 13, 2019, and entitled "AUTOMATED PRODUCT LOCKER FOR INVENTORY
CONTROL," the
disclosure of which is expressly incorporated herein by reference in its
entirety.
BACKGROUND
[0002] The present disclosure relates to automated product lockers and
cabinets for
ophthalmic lenses, and more particularly to systems to dispense ophthalmic
objects, record and track
patient information, determine different lenses for patients, and to track and
control inventory of
ophthalmic lenses in the offices of eye care professionals.
[0003] In a typical office of an eye care professional, or ECP, many
different ophthalmic lenses
are kept in inventory in order to dispense to a patient that enters the
office. Typically, a patient will have
his or her eyes examined to determine if corrective lenses are necessary and,
if so and if the patient desires
contact lenses, for example. In order to dispense such lenses, the ECP will
keep many lenses in stock in
the office in order to first test whether a specific lens is appropriate and
to give the patient a sufficient
quantity until a complete order can be sent. Additionally, in a surgical
setting, many different intraocular
lenses are kept in inventory in order to dispense to a patient undergoing
surgery.
[0004] Manual and automated dispensing machines are known and utilized
for dispensing a
wide variety of items ranging from snacks and hot meals to health-related
items such as certain over- the-
counter medications. The vast majority of these dispensing machines are
vending machines that are
utilized as point of sale devices. While dispensing and vending machines are
utilized in many areas, they
are not widely used in the health care market. In the field of eye care, for
example, eye care professionals
Page 1 of 55
Date Recue/Date Received 2020-11-26
still dispense trial contact lenses from drawers manually stocked by
themselves and sales representatives
of the lens manufacturers. These drawers require manual inventory control and
simply hold the contact
lenses. Further, there is a need to develop a system for stocking the lenses
manually. Different stock
keeping units,or SKUs, need to be segregated by attributes such as refractive
power; wear regimen such
as daily, weekly, bi-weekly or monthly wear; lens manufacturer; and lens
material. This necessarily
requires the use of many drawers that are not completely full in order to keep
track of what is in inventory
and to more easily locate a lens of choice when a physician selects for a
patient. Similarly, in the surgical
setting, intraocular lenses are dispensed from manually stocked and
inventoried storage locations.
[0005] There exists a need, however, for systems that may be utilized by
eye health care
professionals as a tool to assist such professionals with a means and method
for providing the patient
with real time access to a wide variety of contact lenses (or intraocular
lenses) in a timely manner. Such
machines could also be used to better manage the large number of lenses and
growing number of SKUs
that need to be kept in stock with automated inventory control. Such machines
and systemswould also
be used by manufacturers of such lenses to provide immediate access to those
lenses which fit the needs
of each particular, individual patient. In addition, the system can deliver
product information to conduct
data analytics to better provide new products that better meet such patients'
needs.
[0006] Embodiments of the present disclosure provide devices and methods
that address the
above clinical needs.
SUMMARY
[0007] An example automated product cabinet is described herein. The
automated product
cabinet can include a housing defining a storage area and a face, where the
storage area is configured to
receive a product. The automated product cabinet can also include a plurality
of slots arranged within the
housing, where each of the slots is configured to receive a respective unit of
the product, and a plurality
Page 2 of 55
Date Recue/Date Received 2020-11-26
of visual indicators configured to indicate respective positions of the
respective units of the product within
the housing. Additionally, the automated product cabinet can include a
scanning bar configured to be
slidably repositioned along the face of the housing, and a data capture device
attached to the scanning
bar and configured to capture information about the product. The automated
product cabinet can further
include a controller operably coupled to the data capture device. The
controller can be configured to
inventory the product based, at least in part, on the information about the
product, and actuate one or
more of the visual indicators that are associated with a desired unit of the
product.
[0008] Another example automated product cabinet is described herein.
The automated
product cabinet can include a housing defining a storage area configured to
receive a product and a
plurality of slots arranged within the housing, where each of the slots is
configured to receive a respective
unit of the product. Each respective unit of the product can include a
respective smart tag, where the
respective smart tag stores information about each respective unit of the
product. The automated product
cabinet can also include a plurality of visual indicators configured to
indicate respective positions of the
respective units of the product within the housing and a controller. The
controller can be configured to
receive information about the respective units of the product from the
respective smart tags, inventory
the product based, at least in part, on the information about the respective
units of the product, and
actuate one or more of the visual indicators that are associated with a
desired unit of the product.
[0009] An example automated product system is also described herein. The
system can
include a housing defining a storage area configured to receive a product and
a plurality of slots arranged
within the housing, where each of the slots is configured to receive a
respective unit of the product.
Additionally, the system can include an imaging device and a projector, each
of which is arranged in a
spaced apart relationship with respect to the housing, and a controller. The
imaging device can be
configured to capture information about the product. The controller can be
configured to receive
information about the product from the imaging device, inventory the product
based, at least in part, on
Page 3 of 55
Date Recue/Date Received 2020-11-26
the information about the product, and cause the projector to illuminate a
respective location of a desired
product within the housing.
[0010] It should be understood that the above-described subject matter
may also be
implemented as a computer-controlled apparatus, a computer process, a
computing system, or an article
of manufacture, such as a computer-readable storage medium.
[0011] Other systems, methods, features and/or advantages will be or
may become apparent
to one with skill in the art upon examination of the following drawings and
detailed description. It is
intended that all such additional systems, methods, features and/or advantages
be included within this
description and be protected by the accompanying claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The components in the drawings are not necessarily to scale
relative to each other.
Like reference numerals designate corresponding parts throughout the several
views.
[0013] FIGURE 1 is an example operating environment for the
implementations described
herein.
[0014] FIGURE 2 is a block diagram of the automated product locker
according to
implementations described herein.
[0015] FIGURES 3A-3C are a front view (Fig. 3A), side view (Fig. 3B),
and isometric view (Fig.
3C) of the automated product locker according to an implementation described
herein
[0016] FIGURE 4 is an isometric view of the automated product locker
according to an
implementation described herein.
[0017] FIGURES 5A-5B illustrate the automated product locker according to an
implementation described herein. Fig. 5A is an isometric view illustrating the
automated product locker
Page 4 of 55
Date Recue/Date Received 2020-11-26
with an enlargement window illustrating the storage area of a drawer. Fig. 5B
illustrates an isometric view
illustrating a portion of one of the drawers shown in Fig. 5A.
[0018] FIGURES 6A-6B are a top view (Fig. 6A) and side view (Fig. 6B) of
a set of visual
indicators 105 according to implementations described herein.
[0019] FIGURE 7 illustrates an isometric view of the automated product
locker according to
an implementation described herein.
[0020] FIGURES 8A-8C are front views of the automated product locker
according to
implementations described herein. Figs. 8A-8C illustrate different drawer
configurations, respectively.
[0021] FIGURES 9A-9C illustrates example labeling included on product
packages.
[0022] FIGURE 10 illustrates a plurality of product packages, each
having a label according to
an implementation described herein.
[0023] FIGURES 11A-11B are isometric views of a portion the automated
product locker
according to an implementation described herein. Fig. 11A illustrates a view
from the front of the
automated product locker without the side panel. Fig. 11B illustrates a view
from the side of the
automated product locker without the side panel.
[0024] FIGURE 12 is an isometric view of the automated product locker
according to an
implementation described herein.
[0025] FIGURES 13A-13D illustrate an example process using the automated
product locker
according to an implementation described herein.
[0026] FIGURE 14 is a block diagram of an example computing device.
[0027] FIGURE 15 is another example operating environment for the
implementations
described herein.
[0028] FIGURE 16 is a block diagram of the automated product cabinet
according to
implementations described herein.
Page 5 of 55
Date Recue/Date Received 2020-11-26
[0029] FIGURES 17A-17C illustrate the automated product cabinet
according to an
implementation described herein. Fig. 17A illustrates an isometric view of the
automated product cabinet.
Fig. 17B illustrates the automated product cabinet of Fig. 17A including a
door. Fig. 17C illustrates a front
view of the automated product cabinet of Fig. 17A with product stored therein.
[0030] FIGURES 18A-18D illustrate the automated product cabinet
according to another
implementation described herein. Fig. 18A illustrates an isometric view of the
automated product cabinet.
Fig. 18B illustrates the automated product cabinet of Fig. 18A with the
scanning bars displacing in a vertical
direction. Fig. 18C illustrates a side view of the automated product cabinet
of Fig. 18A. Fig. 18D illustrates
a front view of the automated product cabinet of Fig. 18A.
[0031] FIGURES 19A-19D illustrate the automated product cabinet
according to another
implementation described herein. Fig. 19A illustrates an isometric view of the
automated product cabinet.
Fig. 19B illustrates the automated product cabinet of Fig. 19A with the
scanning bar displacing in a
horizontal direction. Fig. 19C illustrates a side view of the automated
product cabinet of Fig. 19A. Fig. 19D
illustrates a front view of the automated product cabinet of Fig. 19A.
[0032] FIGURES 20A-20C illustrate the automated product cabinet having
different sizes
according to implementations described herein. The automated product cabinets
of Figs. 20A, 20B, and
20C accommodate 300, 304, and 507 products or product packages, respectively.
[0033] FIGURES 21A and 21B illustrate a module of slots for use with the
automated product
cabinets described herein. Fig. 21A shows units of product loaded into the
slots, while Fig. 21B shows the
empty slots.
[0034] FIGURE 22 illustrates an example slot for use with the automated
product cabinets
described herein.
[0035] FIGURE 23 illustrates the automated product cabinet according to
another
implementation described herein.
Page 6 of 55
Date Recue/Date Received 2020-11-26
[0036] FIGURE 24 illustrates an automated product system according to
yet another
implementation described herein.
DETAILED DESCRIPTION
[0037] In the discussion and claims herein, the term "about" indicates
that the value listed
may be somewhat altered, as long as the alteration does not result in
nonconformance of the process or
device. For example, for some elements the term "about" can refer to a
variation of 0.1%, for other
elements, the term "about" can refer to a variation of 1% or 10%, or any
point therein.
[0038] As used herein, the term "substantially", or "substantial", is
equally applicable when
used in a negative connotation to refer to the complete or near complete lack
of an action, characteristic,
property, state, structure, item, or result. For example, a surface that is
"substantially" flat would either
completely flat, or so nearly flat that the effect would be the same as if it
were completely flat.
[0039] As used herein terms such as "a", "an" and "the" are not
intended to refer to only a
singular entity, but include the general class of which a specific example may
be used for illustration.
[0040] As used herein, terms defined in the singular are intended to
include those terms
defined in the plural and vice versa.
[0041] References in the specification to "one embodiment", "certain
embodiments", some
embodiments" or "an embodiment", indicate that the embodiment(s) described may
include a particular
feature or characteristic, but every embodiment may not necessarily include
the particular feature,
structure, or characteristic. Moreover, such phrases are not necessarily
referring to the same
embodiment. Further, when a particular feature, structure, or characteristic
is described in connection
with an embodiment, it is submitted that it is within the knowledge of one
skilled in the art to affect such
feature, structure, or characteristic in connection with other embodiments
whether or not explicitly
described. For purposes of the description hereinafter, the terms "upper",
"lower", "right", "left",
Page 7 of 55
Date Recue/Date Received 2020-11-26
"vertical", "horizontal", "top", "bottom", and derivatives thereof shall
relate to the invention, as it is
oriented in the drawing figures. The terms "overlying", "atop", "positioned
on" or "positioned atop"
means that a first element, is present on a second element, wherein
intervening elements interface
between the first element and the second element. The term "direct contact" or
"attached to" means
that a first element, and a second element, are connected without any
intermediary element at the
interface of the two elements.
[0042] Reference herein to any numerical range expressly includes each
numerical value
(including fractional numbers and whole numbers) encompassed by that range. To
illustrate, reference
herein to a range of "at least 50" or "at least about 50" includes whole
numbers of 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, etc., and fractional numbers 50.1, 50.2 50.3, 50.4, 50.5,
50.6, 50.7, 50.8, 50.9, etc. In a
further illustration, reference herein to a range of "less than 50" or "less
than about 50" includes whole
numbers 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, etc., and fractional numbers
49.9, 49.8, 49.7, 49.6, 49.5,
49.4, 49.3, 49.2, 49.1, 49.0, etc.
[0043] Unless defined otherwise, all technical and scientific terms
used herein have the same
meaning as commonly understood by one of ordinary skill in the art. Methods
and materials similar or
equivalent to those described herein can be used in the practice or testing of
the present disclosure. As
used in the specification, and in the appended claims, the term "comprising"
and variations thereof as
used herein is used synonymously with the term "including" and variations
thereof and are open, non-
limiting terms. The terms "optional" or "optionally" used herein mean that the
subsequently described
feature, event or circumstance may or may not occur, and that the description
includes instances where
said feature, event or circumstance occurs and instances where it does not.
While implementations will
be described for an automated product locker for storing contact lenses, it
will become evident to those
skilled in the art that the implementations are not limited thereto, but are
applicable for automated
product lockers for storing other types of products.
Page 8 of 55
Date Recue/Date Received 2020-11-26
[0044] Automated product storage lockers are described herein. Such
automated product
lockers can be used to track/inventory product such as contact lenses. For
example, the automated
product lockers described herein are capable of: (i) keeping track of units of
product removed from
storage, (ii) informing the user of stocking needs, (iii) automatically
placing orders for product, (iv)
including storage space for all regularly prescribed lenses, and/or (v)
working during power outages.
[0045] Referring now to Fig. 1, an example operating environment for the
implementations
described herein is shown. As shown in Fig. 1, an automated product locker
100, a client device 102, and
a remote system 104 can be operably coupled by one or more networks 200. The
automated product
locker 100 is described in detail below. Additionally, the client device 102
can be a computing device (e.g.,
computing device 700 of Fig. 14) such as a laptop computer, desktop computer,
tablet computer, or
mobile phone, and the remote system 104 can be a computing device (e.g.,
computing device 700 of Fig.
14) such as a server. Optionally, in some implementations, the remote system
104 is a cloud-based system,
e.g., one or more computer system resources such as processors and data
storage devices that are
allocated to serve the needs of the client device 102 on demand. Cloud-based
systems are known in the
art and not described in further detail below. In some implementations, the
remote system 104 can
include or access a database 104A. Alternatively or additionally, the remote
system 104 can include or
access electronic medical records (EMRs) 104B.
[0046] As discussed above, the automated product locker 100, client
device 102, and remote
system 104 discussed above can be connected by one or more networks 200. This
disclosure
contemplates that the networks 200 are any suitable communication network. The
networks can be
similar to each other in one or more respects. Alternatively or additionally,
the networks can be different
from each other in one or more respects. The networks 200 can include a local
area network (LAN), a
wireless local area network (WLAN), a wide area network (WAN), a metropolitan
area network (MAN), a
virtual private network (VPN), etc., including portions or combinations of any
of the above networks. The
Page 9 of 55
Date Recue/Date Received 2020-11-26
automated product locker 100, client device 102, and remote system 104 can be
coupled to the networks
200 through one or more communication links. This disclosure contemplates the
communication links
are any suitable communication link. For example, a communication link may be
implemented by any
medium that facilitates data exchange including, but not limited to, wired,
wireless and optical links.
Example communication links include, but are not limited to, a LAN, a WAN, a
MAN, Ethernet, the Internet,
or any other wired or wireless link such as WiFi, WiMax, 3G, 4G, or 5G.
[0047]
This disclosure contemplates that the automated product locker 100, client
device
102, and remote system 104 can interact to carryout the inventory and
shipment/distribution
functionalities as described in U.S. Ser. No. 16/222,819 filed December 17,
2018, and titled "DISTRIBUTION
AND INVENTORY SYSTEM AND METHODS OF USING THE SAME," the disclosure of which
is expressly
incorporated herein by reference in its entirety. For example, as described
below, the remote system 104
can manage/maintain a database 104A reflecting the inventory of product (e.g.,
contact lenses) stored in
the automated product locker 100. By exchanging messages over the networks
200, the remote system
104 can receive messages with product inventory updates from the automated
product locker 100. The
remote system 104 can also query the database 104A in response to requests
from the automated
product locker 100 and/or the client device 102. This disclosure contemplates
that a user (e.g., a
healthcare professional such as an eye care professional (ECP)) can interact
with the automated product
locker 100 and/or the remote system 104 using the client device 102. For
example, the client device 102
can run an application and/or interface with the automated product locker 100
and/or the remote system
104 using a web browser.
[0048]
Referring now to Fig. 2, a block diagram of the automated product locker 100
according
to implementations described herein is shown. The automated product locker 100
can include a housing
101 and one or more drawers 103. Each of the drawers 103 can define a storage
area (e.g., storage area
104 of Figs. 5A-5B) configured to configured to receive a product. As
described herein, each of the drawers
Page 10 of 55
Date Recue/Date Received 2020-11-26
103 is slidably stowable within the housing 101. In other words, a drawer 103
can be withdrawn from the
housing 101 (e.g., as shown by Figs. 7, 13B, 13C), for example, to provide
access to the product. On the
other hand, a drawer 103 can be stowed in the housing 101 (e.g., as shown by
Figs. 4, 5A, 13A).
[0049] The automated product locker 100 can also include a plurality of
visual indicators 105
configured to indicate respective positions of respective units of the product
within the storage area.
Additionally, the automated product locker 100 can include a machine vision
system 107 arranged within
the housing 101 and configured to capture information about the product. The
machine vision system 107
can include a data capture device. As described below, the data capture device
can optionally be a barcode
scanner or an imaging device. Additionally, the automated product locker 100
can include a controller 109
arranged within the housing 101. The controller 109 can be a computing device
(e.g., computing device
700 of Fig. 14). One example controller for use the automated product locker
100 is RASPBERRY PI of the
Raspberry Pi Foundation, United Kingdom.
[0050] This disclosure contemplates that the machine vision system 107
and the controller
109 can be operably coupled, for example, through one or more communication
links. This disclosure
contemplates the communication links are any suitable communication link.
Additionally, the visual
indicators 105 and the controller 109 can be operably coupled, for example,
thorough one or more
communication links. For example, a communication link may be implemented by
any medium that
facilitates data exchange including, but not limited to, wired, wireless and
optical links. This allows the
controller 109 to exchange data with the machine vision system 107 and/or the
visual indicators 105.
[0051] Optionally, in some implementations, the automated product locker
100 can include a
power supply 111 arranged in the housing 101. For example, the automated
product locker 100 can be
configured to connect to grid power (e.g., standard alternating current (A/C)
power delivered to
homes/businesses) during normal operation. This disclosure contemplates that
the power supply 111 can
Page 11 of 55
Date Recue/Date Received 2020-11-26
deliver electrical power to the automated product locker 100 in response to
disruption (e.g., power
outages). The power supply 111 can optionally be a battery.
[0052] Optionally, in some implementations, the automated product locker
100 can include a
locking device 113 arranged in the housing 101 and configured to secure the
drawer 103. For example,
the locking device 113 can be an electronic lock, which secures the drawer 103
with a release mechanism
operable with a passcode, keycard, radio-frequency identification (RFID), or
biometrics (e.g.,
authentication). It should be understood that the client device 102 can send
the authentication
information to the automated product locker 100 via the networks.
Authentication can be performed
locally at the automated product locker 100 and/or remotely at a remote
system. Alternatively, the
locking device 113 can be a mechanical lock, which secures the drawer 103 with
a release mechanism
operable with a physical key.
[0053] Optionally, in some implementations, the automated product locker
100 can be
configured to detect movement of the drawer 103. As described below, the
machine vision system 107
can be initiated in response to movement of the drawer 103. In some
implementations, the controller 109
can be configured to detect movement of the drawer 103 using the machine
vision system 107. For
example, the automated product locker 100 can include a position strip
including machine readable code
arranged within the drawer 103. The position strip can be arranged along or
adjacent to one or more of
the partitions (e.g., partitions 400 in Figs. 5A-56). It should be understood
that a machine readable
position code can be provided corresponding to each slot in the drawer that
receives a unit of product. In
this implementation, the machine vision system 107 (e.g., an imaging device or
barcode scanner) can be
configured to read/decode the position strip. This information can be
transmitted to and received by the
controller 109, which can be configured to detect the movement of the drawer
103 based on the same.
Alternatively or additionally, the automated product locker 100 can further
include a position detector
115 configured to sense a position of the drawer 103 relative to the housing
101. For example, the position
Page 12 of 55
Date Recue/Date Received 2020-11-26
detector 115 can be a through-beam photoelectric sensor. In this
implementation, a plate with through-
holes can be provided in the automated product locker 100. As a drawer 103
moves relative to the housing
101, the light beam translates over the plate, and the photoelectric sensor
detects when the light beam
passes through each of the through-holes. This information can be transmitted
to and received by the
controller 109, which can be configured to track the relative position drawer
103. Optionally, the
automated product locker 100 can include drawer dampeners to stabilize the
speed at which the drawers
slide into/out of the housing.
[0054] Referring now to Figs. 3A-3C, a front view (Fig. 3A), side view
(Fig. 3B), and isometric
view (Fig. 3C) of the automated product locker 100 according to an
implementation described herein are
shown. The housing 101 and a plurality of drawers 103 are shown in Figs. 3A-
3C. The drawers 103 include
four relatively small drawers (e.g., top four drawers) and four relatively
larger drawers (e.g., bottom four
drawers). Different sized drawers 103 can be provided to accommodate different
sized product. For
example, the top four drawers may be sized to accommodate one pair (1p)
contact lens packages, while
the bottom four drawers may be sized to accommodate three pair (3p) or five
pair (5p) contact lens
packages. It should be understood that the number, sizes, and/or arrangement
of the drawers 103 is
provided only as an example and that other configurations are possible.
[0055] Referring now to Fig. 4, an isometric view of the automated
product locker 100
according to an implementation described herein is shown. The housing 101 and
a plurality of drawers
103 are shown in Fig. 4. The drawers 103 include three relatively small
drawers (e.g., top three drawers)
and three relatively larger drawers (e.g., bottom three drawers). As discussed
above, different sized
drawers 103 can be provided to accommodate different sized product. For
example, the top three drawers
may be sized to accommodate one pair (1p) contact lens packages, while the
bottom three drawers may
be sized to accommodate three pair (3p) or five pair (5p) contact lens
packages. It should be understood
Page 13 of 55
Date Recue/Date Received 2020-11-26
that the number, sizes, and/or arrangement of the drawers 103 is provided only
as an example and that
other configurations are possible.
[0056]
The automated product locker 100 can also include visual indicators (e.g.,
visual
indicators 105 in Fig. 2). Each of the visual indicators can be a light
emitter such as a light emitting diode
(LED). It should be understood that light emitters are provided only as an
example. This disclosure
contemplates that the visual indicators can be other elements including, but
not limited to, a graphical
display. As discussed above, the visual indicators (e.g., visual indicators
105 in Fig. 2) can be operably
coupled to the controller (e.g., controller 109 in Fig. 2). The visual
indicators are provided to notify a user
(e.g., a health professional such as an eye care professional (ECP)) of the
location of a desired product
within the automated product locker 100. As described herein, visual
indicators can be provided on
external surfaces of the automated product locker 100 (e.g., on and/or
adjacent to the drawers) and/or
inside the storage area of the automated product locker 100 (e.g., adjacent to
the product packages). The
controller can transmit actuation signals to one or more of the visual
indicators to notify the user where
a desired product is located (e.g., which drawer and/or the position within
the drawer itself). As described
herein, the controller can cause one or more visual indicators on the exterior
of the automated product
locker 100 to actuate and/or one or more visual indicators within the drawer
to actuate. In some
embodiments, visual indicators may indicate errors, such as by changing
colors, blinking, or otherwise
changing state to alert the user of a change in status. Visual indicators may
also guide the user (e.g., ECP,
staff members, employees, third parties, or other users) to an available
location within the locker when
loading product into the locker. In certain embodiments, visual indicators may
display different images,
colors, or other indication to specify to whom guidance is directed. For
example, each user of the device
could be associated with a particular icon, graphic, or text in the case of a
graphical display. Or, in the
case of an LED or other light emitting visual indicator, particular users
could be associated with a given
color or blink sequence in the software application operatively associated
with the locker so that multiple
Page 14 of 55
Date Recue/Date Received 2020-11-26
users could be directed to their desired product simultaneously by following
their assigned color on the
visual indicators to the correct location within the locker.
[0057] Referring now to Figs. 5A-5B, the automated product locker 100
according to an
implementation described herein are shown. Fig. 5A is an isometric view
illustrating the automated
product locker 100 with an enlargement window illustrating the storage area
104 of a drawer 103. The
housing 101 and a plurality of drawers 103 are shown in Fig. 5A. The drawers
103 include two relatively
small drawers (e.g., top two drawers) and three relatively larger drawers
(e.g., bottom three drawers). As
discussed above, different sized drawers 103 can be provided to accommodate
different sized product.
For example, the top two drawers may be sized to accommodate one pair (1p)
contact lens packages,
while the bottom three drawers may be sized to accommodate three pair (3p) or
five pair (5p) contact
lens packages. It should be understood that the number, sizes, and/or
arrangement of the drawers 103 is
provided only as an example and that other configurations are possible.
[0058] Additionally, each of the drawers 103 shown in Fig. 5A includes
a visual indicator 105
arranged on its external face 103A. In Fig. 5A, the visual indicators 105 are
arranged on external faces
103A of the drawers 103 (e.g., on or near the handles of the drawers). It
should be understood that the
arrangement of the visual indicators 105 shown in Fig. 5A is provided only as
an example. As described
herein, the visual indicators 105 notify a user of the location of a desired
product, so the visual indicators
105 can be placed anywhere on and/or near the drawer in order to highlight
(e.g., when actuated) a
particular drawer 103 for the benefit of the user. Thus, this disclosure
contemplates that the visual
indicators 105 can optionally be provided adjacent to the external face 103A
of the drawer 103 as opposed
to on the external face 103A of the drawer 103. In Fig. 5A, one of the visual
indicators 105 is actuated (e.g.
illuminated), i.e. the second visual indicator 105 from the top of the
automated product locker 100. This
informs the user that the desired product is located in this particular drawer
103.
Page 15 of 55
Date Recue/Date Received 2020-11-26
[0059] The enlargement window in Fig. 5A illustrates the storage area
104 within the drawer
103. It should be understood that the storage area 104 receives the product.
In the examples described
herein, the product is contact lenses. The product can optionally be contained
in one or more product
packages 300 (e.g., a container such as a box, carton, wrapper, etc.). For
example, a product package 300
can include one or more contact lenses. The automated product locker 100 can
receive a plurality of
product packages 300, i.e., a plurality of units of the product. In Fig. 5A,
the product packages 300 are
arranged in rows side-by-side within the storage area 104. In other words, the
product packages 300
(sometimes referred to herein as "units of product") are arranged in a single
row between partitions.
Additionally, a set of visual indicators 105 can be provided in the storage
area 104. A respective visual
indicator 105 is provided adjacent to each one of the product packages 300. As
shown in the enlargement
window, the respective visual indicators 105 adjacent to two product packages
300 (i.e., the product
packages being removed from the storage area 104) are actuated (e.g.
illuminated). This informs the user
that the desired product is located in these particular positions within the
storage area 104.
[0060] Fig. 5B illustrates an isometric view illustrating a portion of
one of the drawers 103
shown in Fig. 5A. As shown in Fig. 5B, the drawer 103 can further include a
plurality of partitions 400
arranged within the storage area 104. Additionally, the drawer 103 can further
include a plurality of trays
420 configured to receive the product, where each of the trays 420 is arranged
between adjacent
partitions 400. Each of the trays 420 can include a plurality of slots 440 for
receiving units of the product
(e.g., the product packages 300). As shown in Fig. 5B, a respective set of the
visual indicators 105 can be
arranged along each of the partitions 400. The visual indicators 105 can be
arranged linearly along the
partitions 400 such that one visual indicator 105 is arranged adjacent to each
slot 440. In Fig. 5B, a set of
visual indicators 105 is shown by the dotted box. Accordingly, a visual
indicator 105 is arranged adjacent
to each side of one of the product packages 300, which highlights for the
benefit of the user the specific
position of the desired unit of the product when actuated (e.g., illuminated).
Page 16 of 55
Date Recue/Date Received 2020-11-26
[0061] Referring now to Figs. 6A-6B, a top view (Fig. 6A) and side view
(Fig. 6B) of a set of
visual indicators 105 according to implementations described herein are shown.
As described herein, the
set of visual indicators 105 can be arranged along a partition (e.g.,
partition 400 in Fig. 5B). In some
implementations, the visual indicators 105 are arranged linearly along the
partition. In Figs. 6A-6B, the
visual indicators 105 are arranged with equal spacing. This is because the
slot sizes are the same. This
disclosure contemplates that the visual indicators 105 can be arranged with
unequal spacing, for example,
when the slot sizes are different. In other words, the visual indictors 105
can be sized and/or spaced such
that one visual indicator 105 is provided adjacent to each slot. It should be
understood that the number,
sizes, and/or spacing between the visual indicators 105 is provided only as an
example and that other
configurations are possible.
[0062] Referring now to Fig. 7, an isometric view of the automated
product locker 100
according to an implementation described herein is shown. The housing 101 and
a plurality of drawers
103 are shown. In Fig. 7, one of the drawers 103 is withdrawn from the housing
101, which exposes the
product to the user.
[0063] Referring now to Figs. 8A-8C, front views of the automated
product locker 100
according to implementations described herein are shown. Figs. 8A-8C
illustrate different drawer
configurations. Fig. 8A illustrates a configuration with two drawers sized for
one pair (1p) contact lens
packages, one drawer sized for three pair (3p) contact lens packages, and one
drawer sized for five pair
(5p) contact lens packages. Fig. 8B illustrates a configuration with six
drawers sized for five pair (5p)
contact lens packages. Fig. 8C illustrates a configuration with four drawers
sized for one pair (1p) contact
lens packages, one drawer sized for three pair (3p) contact lens packages, and
three drawers sized for five
pair (5p) contact lens packages. It should be understood that the number,
sizes, and/or arrangement of
the drawers is provided only as an example and that other configurations are
possible.
Page 17 of 55
Date Recue/Date Received 2020-11-26
[0064] As described herein, the machine vision system (e.g., machine
vision system 107 of Fig.
2) can capture information about the product. This disclosure contemplates
that such information can be
associated with the product package and/or the product itself. For example,
the product package can
include a label such as a barcode (1D, 2D, or 3D), universal product code
(UPC), and/or stock keeping unit
(SKU). Referring now to Figs. 9A-9C, example labeling included on the product
package is shown. In some
implementations, a label 500 is affixed to the product package 300 (see Figs.
9A-9C). In Figs. 9A-9C, the
label 500 includes a 2D barcode (e.g., OR code). In some implementations, a
label 600 is printed directly
on the product package 300 (see Fig. 9C). In Fig. 9C, the label 600 is a UPC.
In other implementations, the
label can be included on and/or affixed to the product itself (not shown).
Additionally, this disclosure
contemplates that the information about the product can be text (e.g., brand
name, product name,
product description, etc.) and/or graphics (e.g., brand logo, product logo)
included on and/or affixed to
the product package or the product itself (see Figs. 9B, 9C). Information
associated with the product may
be recognized by the computer vision system by way of a machine learning
algorithm, by optical character
recognition (OCR), or other means as discussed in more detail herein. This
disclosure contemplates that
each of the product packages stored in the automated product locker 100 can
include a label. Fig. 10
illustrates a plurality of product packages 300, each having a label 500. The
product packages 300 can be
stored inside the automated product lockers described herein, and the machine
vision system can capture
information about the product by reading/decoding the labels 300.
[0065] Referring now to Figs. 11A-11B, isometric views of a portion the
automated product
locker 100 according to an implementation described herein are shown. The
housing 101 and a plurality
of drawers 103 are shown in Figs. 11A-11B. Fig. 11A illustrates a view from
the front of the automated
product locker 100 without the side panel. One of the external drawer faces is
transparent in Fig. 11A for
visibility. Fig. 11B illustrates a view from the side of the automated product
locker 100 without the side
panel. Figs. 11A-11B show the machine vision system arranged in the housing
101. The machine vision
Page 18 of 55
Date Recue/Date Received 2020-11-26
system of Figs. 11A-11B includes a data capture device 107A and a light
reflecting device 107B (collectively
referred to as the "machine vision system" of Figs. 11A-11B). The data capture
device 107A may be an
optical device, such as a barcode reader or an imaging device such as a
digital camera. One of many
suitable cameras includes the E-Consystems model 3CAM_CU135_TC. A digital
camera includes a lens,
sensor, and image processor. Digital cameras are known in the art and are
therefore not described in
further detail below. The data capture device may also take the form of radio-
frequency devices, such as
an RFID scanner or the like. In the example described with regard to Figs. 11A-
11B, the data capture
device 107A is an imaging device. It should be understood that an imaging
device is provided only as an
example and that this disclosure contemplates using other types of data
capture devices. Additionally,
the light reflecting device 107B can be configured to direct light reflected
from at least a portion of the
storage area to the data capture device 107A. For example, light reflecting
devices include, but are not
limited to, mirrors, prisms, lenses, etc. As shown in Figs. 11A-11B, the data
capture device 107A and the
light reflecting device 107B are arranged at opposite sides of the drawer 103.
The light reflecting device
107B is arranged at an angle such that the light reflecting surface is
directed downward relative to an axis
of the data capture device 107A. In this way, the light reflecting surface
107B directs light reflected from
a portion of the storage area of the drawer toward the data capture device
107A, which allows the data
capture device 107A to capture images of the units of product within the
storage area. It should be
understood that the characteristics, size, and/or arrangement of the data
capture device 107A and light
reflecting device 107B depend on the desired image field. This disclosure
contemplates that one or more
data capture devices 107A and/or one or more light reflecting surfaces 107B
can form the machine vision
system. As discussed above, this is determined by the desired image field.
Additionally, this disclosure
contemplates that the machine vision system can include only one or more data
capture devices 107A
(i.e., without light reflecting surfaces 107B). This depends, for example, on
the size of the storage area,
data capture device characteristics, number of data capture devices, etc.
Page 19 of 55
Date Recue/Date Received 2020-11-26
[0066] Referring now to Fig. 12, an isometric view of the automated
product locker 100
according to an implementation described herein is shown. The housing 101 and
a plurality of drawers
103 are shown in Fig. 12. Fig. 12 illustrates a view from the front of the
automated product locker 100
without the external faces of the drawers 103. The machine vision system of
Fig. 12 includes an data
capture device 107C. The data capture device 107C can be a barcode scanner.
Barcode scanners are
capable of reading and outputting printed machine readable codes (e.g.,
barcodes) to a computing device.
Barcode scanners include, but are not limited to, laser scanners, charged
coupled device (CCD) scanners,
and omnidirectional scanners. Barcode scanners are known in the art and are
therefore not described in
further detail below.
[0067] As described herein, the automated storage locker 100 can
include a plurality of
drawers and a plurality of machine vision systems. In some implementations, a
respective machine vision
system (e.g., the data capture device 107A/light reflecting device 107B of
Figs. 11A-11B or the data
capture device 107C of Fig. 12) can be provided for each respective drawer. In
other words, each drawer
can have its own machine vision system. Optionally, in some implementations,
the machine vision system
107 can include a single data capture device (e.g., one camera per drawer as
shown in Figs. 11A-11B).
[0068] Referring again to Fig. 2, the controller 109 can be configured
to inventory the product
based, at least in part, on the information about the product, and cause one
or more of the visual
indicators 105 that are associated with a desired unit of the product to
actuate. An example process is
now described with regard to Figs. 13A-13D. In Fig. 13A, a user (e.g., ECP)
enters a request for a desired
unit of product using the client device 102. The client device 102 can
transmit the request for the desired
unit of the product to the automated product locker 100 via a network (not
shown in Figs. 13A-13D). A
controller (not shown in Figs. 13A-13D) of the automated product locker 100
can be configured to receive
a request for the desired unit of the product. Additionally, the controller
can be further configured to
transmit the request for the desired unit of the product over the network to a
remote system (not shown
Page 20 of 55
Date Recue/Date Received 2020-11-26
in Figs. 13A-13D). As described herein, the remote system (e.g., remote system
104 in Fig. 1) can include
and/or access an inventory database. The remote system can query the database
to determine the
position(s) of the desired unit(s) of product within the automated product
locker 100. The remote system
can transmit a response to the controller over the network, and the controller
can receive the response,
which includes position(s) of the desired unit(s) of product within the
storage area. It should be
understood that such position(s) can include specific drawer(s) and/or
particular position(s) within the
drawer(s). As described herein, the controller can be configured to transmit
signals to actuate visual
indicators (not shown in Figs. 13A-13D) to assist the user in identifying the
position(s) of the desired unit(s)
of product within the drawer 103. Optionally, as described herein, the
controller can unlock the drawer
103. The open drawer 103 is shown in Figs. 13B and 13C, which also illustrates
the visual indicators 105
that have been actuated (e.g., illuminated) by the controller. These visual
indicators highlight the locations
of the desired units of the product for the benefit of the user. In Fig. 13D,
the drawer 103 is returned to
the housing. As described herein, this movement (e.g., withdrawal of the
drawer 103 from the housing
101 and/or return of the drawer 103 into the housing 101) can be detected by
the automated product
locker 100, e.g., using the machine vision system and/or a position detector.
This causes the controller to
initiate the machine vision system. By initiating the machine vision system,
the automated product locker
100 can read/decode the machine-readable labels (e.g., barcodes, UPC, SKU,
text, graphics) associated
with the units of the product. The respective units of the product can then be
associated with respective
positions within the storage area. The respective positions for each of the
units of product can then be
transmitted by the controller to the remote system. In other words, the
controller can be configured to
transmit the updated inventory of the product over the network to the remote
system, and the database
can be updated accordingly. Optionally, as described herein, the controller
can lock the drawer 103.
[0069]
Alternatively or additionally, the automated product locker 100 can be
restocked
effortlessly. For example, the user (e.g., ECP) can open one or more drawers
and restock product by
Page 21 of 55
Date Recue/Date Received 2020-11-26
placing the product packages in any empty slots in the storage area. Unlike
conventional storage system,
there is no need to organize the storage in any manner, for example, by
prescription, power, type, etc.
The product packages can instead be placed at random in the storage area. Upon
closing a drawer, the
controller can initiate the machine vision system. By initiating the machine
vision system, the automated
product locker 100 can read/decode the machine-readable labels (e.g.,
barcodes, UPC, SKU, text, graphics)
associated with the units of the product. The respective units of the product
can then be associated with
respective positions within the storage area. The respective positions for
each of the units of product can
then be transmitted by the controller to the remote system. In other words,
the controller can be
configured to transmit the updated inventory of the product over the network
to the remote system, and
the database can be updated accordingly.
[0070] Referring again to Fig. 2, in some implementations, the
controller 109 can be
configured to provide an alarm in response to a condition of the drawer 103. A
host of conditions could
serve to trigger an alarm, including product being inserted incorrectly, such
as upside down (as recognized
by the computer vision system). As another possible alarm condition, the
controller 109 may provide an
alarm in response to the drawer 103 being left open (e.g., ajar) for longer
than a preset period of time,
e.g., to inform the user. Additionally, the controller 109 can provide an
alarm in response to
environmental conditions (e.g., temperature, humidity, etc.) within the
storage area. This disclosure
contemplates that the drawer 103 can include various sensors for detecting the
environmental conditions.
[0071] As described herein, the data capture device 107C of the machine
vision system 107
can be a barcode scanner (see Fig. 12), which is capable of reading and
decoding machine readable
product identifiers such as a 1D barcode, a UPC, or an SKU. The machine
readable product identifiers can
be affixed to and/or printed directly on the product packages and/or the
product itself as described
herein. Accordingly, the step of inventorying the product based, at least in
part, on the information about
the product can include reading respective product identifiers associated with
respective units of the
Page 22 of 55
Date Recue/Date Received 2020-11-26
product using the barcode scanner, and also decoding the respective product
identifiers associated with
the respective units of the product. After reading/decoding the respective
product identifiers, it is possible
to associate the respective units of the product with the respective positions
within the storage area. This
disclosure contemplates performing this association with either the controller
109 and/or the remote
system (e.g., remote system 104 of Fig. 1).
[0072] As described herein, the data capture device 107A of the machine
vision system 107
can be an imaging device such as a digital camera (see Figs. 11A-11B), which
is capable of capturing images
of machine readable product identifiers such as a 1D barcode, a 2D barcode, a
3D barcode, a UPC, or an
SKU. An imaging device is also capable of capturing images of text and/or a
graphics, which can serve as
machine readable product identifiers. For example, text and/or graphics can
include, but are not limited
to, brand name, product name, product description, logo, etc. In these
implementations, image
processing techniques can be used to decode the machine readable product
identifiers. Accordingly, the
step of inventorying the product based, at least in part, on the information
about the product can include
receiving images of the product captured by the imaging device, analyzing the
images of the product to
identify respective product identifiers associated with respective units of
the product, decoding the
respective product identifiers associated with the respective units of the
product. After
analyzing/decoding the respective product identifiers, it is possible to
associate the respective units of the
product with the respective positions within the storage area. This disclosure
contemplates performing
this association with either the controller 109 and/or the remote system
(e.g., remote system 104 of Fig.
1).
[0073] Optionally, in some implementations using an imaging device, the
step of inventorying
the product based, at least in part, on the information about the product
further includes cropping a
portion of the images of the product. By cropping the images, it is possible
to focus on the portion of the
image expected to contain the product identifiers. Thus, the cropped portion
of the images is analyzed to
Page 23 of 55
Date Recue/Date Received 2020-11-26
identify the respective product identifiers associated with the respective
units of the product.
Additionally, the controller 109 can be configured to transmit the images of
the product over a network
to a remote system (e.g. remote system 104 in Fig. 1). In these
implementations, the images can be stored
by the remote system for back up purposes, or image processing (some or all)
can be offloaded from the
controller 109 to the remote system. Alternatively or additionally, the
controller 109 can be configured to
store the images of the product in the memory. In some implementations, the
images can be stored only
temporarily (e.g., to allow for image processing) and then written over to
minimize the storage
requirements at the automated product locker 100.
[0074]
Optionally, in some implementations using an imaging device, the step of
inventorying
the product based, at least in part, on the information about the product
further includes analyzing the
images of the product to identify one or more of the respective positions
within the storage area
associated with a missing, unrecognized, or unreadable product identifier.
Optionally, the controller 109
can be configured to distinguish between missing units of product and units of
product having
unrecognized/unreadable product identifiers. It should be understood that the
former may be restocked,
while the latter may be repositioned (e.g., flipped over, turned over,
relabeled) to correctly orient the
product identifier for reading by the machine vision system. For example, a
machine learning algorithm
can be used to determine whether one or more of the respective positions
within the storage area
associated with the missing, unrecognized, or unreadable product identifier
contain a unit of the product.
This disclosure contemplates that the machine learning algorithm can be
executed by the controller 109
in some implementations using traditional vision systems (e.g., pattern
recognition), while in other
implementations the machine learning algorithm can be executed by the remote
system (i.e., offloaded
from the automated product locker 100). Machine learning algorithms can be
trained using an existing
dataset to perform a specific task such as identify missing, unrecognized, or
unreadable product
identifiers. Machine learning algorithms are known in the art and therefore
not described in further detail
Page 24 of 55
Date Recue/Date Received 2020-11-26
below. An example machine learning algorithm is TensorFlow, which is an open
source machine learning
algorithm known in the art. TensorFlow is only one example machine learning
algorithm. This disclosure
contemplates using other machine learning algorithms including, but not
limited to, neural networks,
support vector machines, nearest neighbor algorithms, supervised learning
algorithms, unsupervised
learning algorithms.
[0075]
Optionally, in some implementations using an imaging device, the step of
inventorying
the product based, at least in part, on the information about the product
further includes analyzing the
images of the product to determine, using a machine learning algorithm, a
source of each of the respective
units of the product. This is particularly useful when, for example, the
product is sourced from multiple
vendors or manufacturers. In other words, the automated product locker 100 can
be used to store product
from different sources (e.g., contact lenses from different manufacturers). As
described above, the
machine vision system 107 including an imaging device such as a camera can be
used to capture images
of both machine readable codes (barcodes, UPC, SKU) and text and graphics, and
then imaging processing
techniques can be used to decode the product identifiers. This disclosure
contemplates that a machine
learning algorithm can be used to identify machine readable codes associated
with different vendors or
manufacturers. This allows the automated product locker 100 to select the
appropriate decoding rules.
Alternatively or additionally, a machine learning algorithm can be used to
identify the source of a unit of
product based on text and/or graphics (even in the absence of machine readable
codes). This disclosure
contemplates that the machine learning algorithm can be executed by the
controller 109 in some
implementations, while in other implementations the machine learning algorithm
can be executed by the
remote system (i.e., offloaded from the automated product locker). Machine
learning algorithms can be
trained using an existing dataset to perform a specific task such as identify
the source of units of the
product. Machine learning algorithms are known in the art and therefore not
described in further detail
below. Example machine learning algorithms are provided above.
Page 25 of 55
Date Recue/Date Received 2020-11-26
[0076] It should be appreciated that the logical operations described
herein with respect to
the various figures may be implemented (1) as a sequence of computer
implemented acts or program
modules (i.e., software) running on a computing device (e.g., the computing
device described in Fig. 14),
(2) as interconnected machine logic circuits or circuit modules (i.e.,
hardware) within the computing
device and/or (3) a combination of software and hardware of the computing
device. Thus, the logical
operations discussed herein are not limited to any specific combination of
hardware and software. The
implementation is a matter of choice dependent on the performance and other
requirements of the
computing device. Accordingly, the logical operations described herein are
referred to variously as
operations, structural devices, acts, or modules. These operations, structural
devices, acts and modules
may be implemented in software, in firmware, in special purpose digital logic,
and any combination
thereof. It should also be appreciated that more or fewer operations may be
performed than shown in
the figures and described herein. These operations may also be performed in a
different order than those
described herein.
[0077] Referring to Fig. 14, an example computing device 700 upon which
the methods
described herein may be implemented is illustrated. It should be understood
that the example computing
device 700 is only one example of a suitable computing environment upon which
the methods described
herein may be implemented. Optionally, the computing device 700 can be a well-
known computing
system including, but not limited to, personal computers, servers, handheld or
laptop devices,
multiprocessor systems, microprocessor-based systems, network personal
computers (PCs),
minicomputers, mainframe computers, embedded systems, and/or distributed
computing environments
including a plurality of any of the above systems or devices. Distributed
computing environments enable
remote computing devices, which are connected to a communication network or
other data transmission
medium, to perform various tasks. In the distributed computing environment,
the program modules,
applications, and other data may be stored on local and/or remote computer
storage media.
Page 26 of 55
Date Recue/Date Received 2020-11-26
[0078] In its most basic configuration, computing device 700 typically
includes at least one
processing unit 706 and system memory 704. Depending on the exact
configuration and type of
computing device, system memory 704 may be volatile (such as random access
memory (RAM)), non-
volatile (such as read-only memory (ROM), flash memory, etc.), or some
combination of the two. This
most basic configuration is illustrated in Fig. 14 by dashed line 702. The
processing unit 706 may be a
standard programmable processor that performs arithmetic and logic operations
necessary for operation
of the computing device 700. The computing device 700 may also include a bus
or other communication
mechanism for communicating information among various components of the
computing device 700.
[0079] Computing device 700 may have additional features/functionality.
For example,
computing device 700 may include additional storage such as removable storage
708 and non-removable
storage 710 including, but not limited to, magnetic or optical disks or tapes.
Computing device 700 may
also contain network connection(s) 716 that allow the device to communicate
with other devices.
Computing device 700 may also have input device(s) 714 such as a keyboard,
mouse, touch screen, etc.
Output device(s) 712 such as a display, speakers, printer, etc. may also be
included. The additional devices
may be connected to the bus in order to facilitate communication of data among
the components of the
computing device 700. All these devices are well known in the art and need not
be discussed at length
here.
[0080] The processing unit 706 may be configured to execute program
code encoded in
tangible, computer-readable media. Tangible, computer-readable media refers to
any media that is
capable of providing data that causes the computing device 700 (i.e., a
machine) to operate in a particular
fashion. Various computer-readable media may be utilized to provide
instructions to the processing unit
706 for execution. Example tangible, computer-readable media may include, but
is not limited to, volatile
media, non-volatile media, removable media and non-removable media implemented
in any method or
technology for storage of information such as computer readable instructions,
data structures, program
Page 27 of 55
Date Recue/Date Received 2020-11-26
modules or other data. System memory 704, removable storage 708, and non-
removable storage 710 are
all examples of tangible, computer storage media. Example tangible, computer-
readable recording media
include, but are not limited to, an integrated circuit (e.g., field-
programmable gate array or application-
specific IC), a hard disk, an optical disk, a magneto-optical disk, a floppy
disk, a magnetic tape, a
holographic storage medium, a solid-state device, RAM, ROM, electrically
erasable program read-only
memory ([[PROM), flash memory or other memory technology, CD-ROM, digital
versatile disks (DVD) or
other optical storage, magnetic cassettes, magnetic tape, magnetic disk
storage or other magnetic storage
devices.
[0081] In an example implementation, the processing unit 706 may
execute program code
stored in the system memory 704. For example, the bus may carry data to the
system memory 704, from
which the processing unit 706 receives and executes instructions. The data
received by the system
memory 704 may optionally be stored on the removable storage 708 or the non-
removable storage 710
before or after execution by the processing unit 706.
[0082] It should be understood that the various techniques described
herein may be
implemented in connection with hardware or software or, where appropriate,
with a combination
thereof. Thus, the methods and apparatuses of the presently disclosed subject
matter, or certain aspects
or portions thereof, may take the form of program code (i.e., instructions)
embodied in tangible media,
such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable
storage medium wherein,
when the program code is loaded into and executed by a machine, such as a
computing device, the
machine becomes an apparatus for practicing the presently disclosed subject
matter. In the case of
program code execution on programmable computers, the computing device
generally includes a
processor, a storage medium readable by the processor (including volatile and
non-volatile memory
and/or storage elements), at least one input device, and at least one output
device. One or more
programs may implement or utilize the processes described in connection with
the presently disclosed
Page 28 of 55
Date Recue/Date Received 2020-11-26
subject matter, e.g., through the use of an application programming interface
(API), reusable controls, or
the like. Such programs may be implemented in a high level procedural or
object-oriented programming
language to communicate with a computer system. However, the program(s) can be
implemented in
assembly or machine language, if desired. In any case, the language may be a
compiled or interpreted
language and it may be combined with hardware implementations.
[0083] Automated product cabinets are also described herein. Such
automated product
cabinets can be used to track/inventory product such as intraocular lenses.
Referring now to Fig. 15, an
example operating environment is shown. An automated product cabinet 1000, a
client device 102, and
a remote system 104 can be operably coupled by one or more networks 200. The
automated product
cabinet 1000, client device 102, and remote system 104 can be coupled to the
networks 200 through one
or more communication links (e.g., any suitable communication links). The
client device 102, remote
system 104, and network 200 are described above with regard to Fig. 1. For
example, the client device
102 and/or remote system 104 can be a computing device (e.g., computing device
700 of Fig. 14). In some
implementations, the remote system 104 can include or access a database 104A
or EMRs 104B.
Additionally, the networks 200 are any suitable communication network. The
automated product cabinet
1000 is described in detail below. This disclosure contemplates that a
plurality of automated product
cabinet 1000 can be included in the operating environment. For example, a user
such as surgeon or ECP
can have multiple automated product cabinets 1000 in the office for storing
inventory.
[0084] This disclosure contemplates that the automated product cabinet
1000, client device
102, and remote system 104 can interact to carryout the inventory and
shipment/distribution
functionalities as described in U.S. Ser. No. 16/222,819 filed December 17,
2018, and titled "DISTRIBUTION
AND INVENTORY SYSTEM AND METHODS OF USING THE SAME," the disclosure of which
is expressly
incorporated herein by reference in its entirety. For example, as described
herein, the remote system 104
can manage/maintain a database 104A reflecting the inventory of product (e.g.,
intraocular lenses) stored
Page 29 of 55
Date Recue/Date Received 2020-11-26
in the automated product cabinet 1000. By exchanging messages over the
networks 200, the remote
system 104 can receive messages with product inventory updates from the
automated product cabinet
1000. The remote system 104 can also query the database 104A in response to
requests from the
automated product cabinet 1000 and/or the client device 102. This disclosure
contemplates that a user
(e.g., a healthcare professional such as surgeon or ECP) can interact with the
automated product cabinet
1000 and/or the remote system 104 using the client device 102. For example,
the client device 102 can
run an application and/or interface with the automated product cabinet 1000
and/or the remote system
104 using a web browser.
[0085]
Referring now to Fig. 16, a block diagram of the automated product cabinet
1000
according to implementations described herein is shown. Example automated
product cabinets 1000 are
also illustrated, for example, by Figs. 17A-19D. The automated product cabinet
1000 can include a housing
1001 that defines a storage area for receiving a product. In the examples
described below, the product
stored in the automated product cabinet 1000 is intraocular lenses. The
product can optionally be
contained in one or more product packages (e.g., a container such as a box,
carton, wrapper, etc.). For
example, a product package can include one or more intraocular lenses. The
automated product cabinet
1000 can receive a plurality of product packages, i.e., a plurality of units
of the product, in its storage area.
For example, the automated product cabinet 1000 can include a plurality of
slots 1003 arranged within
the housing 1001, where each of the slots 1003 is configured to receive a
respective unit of product. A
user can access the storage area and slots 1003 via a face of the housing
1001. In this embodiment, the
face of the housing 1001 is open to the environment for easy access to the
product by the user. However,
the housing 1001 may alternatively be fully or partially closed via a door,
drawer, or other covering and
may be transparent or opaque as desired. Optionally, the slots 1003 (and thus
the units of product stored
therein) can be arranged in rows and/or columns within the storage area (e.g.,
see Figs. Figs. 17A-19D). It
should be understood that the automated product cabinet 1000 can receive
products other than
Page 30 of 55
Date Recue/Date Received 2020-11-26
intraocular lenses, for example, products including but not limited to other
types of ophthalmic lenses
and/or surgical tools.
[0086] The automated product cabinet 1000 can also include a plurality
of visual indicators
1005 configured to indicate respective positions of respective units of the
product within the housing
1001. Additionally, the automated product cabinet 1000 can include a scanning
bar 1007 configured to be
slidably repositioned along a face of the housing 1001. The automated product
cabinet 1000 can also
include an data capture device 1009 attached to the scanning bar 1007 and
configured to capture
information about the product. As described herein, the data capture device
1009 can be a barcode
scanner, which is capable of reading and decoding machine-readable product
identifiers such as a 1D
barcode, a UPC, or an SKU. The machine readable product identifiers can be
affixed to and/or printed
directly on the product packages and/or the product itself as described
herein. Alternatively, as described
herein, the data capture device 1009 can be an imaging device such as a
digital camera, which is capable
of capturing images of machine-readable product identifiers such as a 1D
barcode, a 2D barcode, a 3D
barcode, a UPC, or an SKU. An imaging device is also capable of capturing
images of text and/or a graphics,
which can serve as machine readable product identifiers. For example, text
and/or graphics can include,
but are not limited to, brand name, product name, product description, logo,
etc. In imaging device
implementations, image processing techniques can be used to decode the machine
readable product
identifiers.
[0087] Additionally, the automated product cabinet 1000 can include a
controller 1111. In
some implementations, the controller 1111 may optionally be arranged within
the housing 1001. The
controller 1111 can be a computing device (e.g., computing device 700 of Fig.
14). One example controller
for use the automated product cabinet 1000 is RASPBERRY PI of the Raspberry Pi
Foundation, United
Kingdom. This disclosure contemplates that the data capture device 1009 and
the controller 1111 can be
operably coupled, for example, through one or more communication links.
Additionally, the visual
Page 31 of 55
Date Recue/Date Received 2020-11-26
indicators 1005 and the controller 1111 can be operably coupled, for example,
thorough one or more
communication links. This disclosure contemplates the communication links are
any suitable
communication link. For example, a communication link may be implemented by
any medium that
facilitates data exchange including, but not limited to, wired, wireless and
optical links. This allows the
controller 1111 to exchange data with the data capture device 1009 and/or the
visual indicators 1005.
[0088] Optionally, in some implementations, the automated product
cabinet 1000 can
include a power supply 1113 arranged in the housing 1001. For example, the
automated product cabinet
1000 can be configured to connect to grid power (e.g., standard alternating
current (A/C) power delivered
to homes/businesses) during normal operation. This disclosure contemplates
that the power supply 1113
can deliver electrical power to the automated product cabinet 1000 in response
to disruption (e.g., power
outages). The power supply 1113 can optionally be a battery.
[0089] Optionally, in some implementations, the automated product
cabinet 1000 can further
include a position detector 1115 configured to sense a position of the
scanning bar 1007 relative to the
face of the housing 1001. For example, the position detector 1115 can be a
through-beam photoelectric
sensor. In this implementation, a plate with through-holes can be provided in
the automated product
cabinet 1000. As the scanning bar 1007 moves relative to the open face of the
housing 1001, the light
beam translates over the plate, and the photoelectric sensor detects when the
light beam passes through
each of the through-holes. This information can be transmitted to and received
by the controller 1009,
which can be configured to track the relative position of the scanning bar
1007. It should be understood
that a through-beam photoelectric sensor is provided only as an example. This
disclosure contemplates
that the position detector 1115 can be another type of sensor including, but
not limited to, a magnetic
sensor.
[0090] Referring now to Figs. 17A-19D, example automated product
cabinets 1000 are shown.
As described above, the automated product cabinet 1000 can include a housing
1001, a plurality of slots
Page 32 of 55
Date Recue/Date Received 2020-11-26
1003, a plurality of visual indicators 1005, and a scanning bar 1007. The
housing 1001 defines a face 1002
and a storage area 1004. The user can access the product via the face 1002. As
described above, the
storage area 1004 is configured to receive a product such as intraocular
lenses. In Figs. 17A-17C, a first
portion of the storage area is labeled with reference number 1004A and also
heighted with a dashed box,
and a second portion of the storage area is labeled with reference number
1004B and also highlighted
with a dashed box. The storage area is collectively referred to herein as
"storage area 1004."It should be
understood that the storage area 1004 can include more portions (e.g., three,
four, etc. portions) or less
portions (e.g., one portion) than shown in Figs. 17A-17C. Additionally, each
of the slots 1003 is configured
to receive a respective unit of the product, each of which can be contained in
a product package (e.g., a
container such as a box, carton, wrapper, etc.). Figs. 17A and 17B illustrate
a perspective view of the
automated product cabinet 1000 without product inventory (i.e., without
product loaded into the slots
1003). Fig. 17C illustrates a front view of the automated product cabinet with
product inventory (i.e.,
product loaded into the slots 1003). Optionally, a client device 102 can be
stored with and/or attached to
the automated product cabinet 1000. The automated product cabinet 1000 can
optionally include a door
1006 configured to cover the face 1002 of the housing 1001. This is shown by
Fig. 17B. This disclosure
contemplates that the door 1006 can be a hinged, pivot, or sliding door.
Optionally, the door 1006 can be
transparent to allow the user to view the product stored within the automated
storage cabinet 1000 when
the door 1006 is closed.
[0091]
The automated product cabinet 1000 can also include an data capture device
such as
barcode scanner or imaging device and a controller (not shown in Figs. 17A-
19D). The data capture device
can be attached to the scanning bar 1007 such that the data capture device can
capture information about
the product. For example, as described herein, the units of product stored
within the automated storage
cabinet 1000 can be contained within product packages having machine-readable
labels (e.g., barcodes,
UPC, SKU, text, graphics). Alternatively, the units of product can have
machine-readable labels affixed
Page 33 of 55
Date Recue/Date Received 2020-11-26
directly thereon, i.e., as opposed to being contained in product packages
having machine-readable labels.
The data capture device can therefore be attached to the scanning bar 1007
such that the machine-
readable labels are within a field of view of the data capture device.
Additionally, as shown in Figs. 17A-
19D, the slots 1003 can be arranged in rows and/or columns within the storage
area 1004. Optionally, the
automated product cabinet 1000 can include a plurality of data capture devices
attached to the scanning
bar 1007, for example, where a respective data capture device corresponds to a
single row or single
column of the slots 1003 arranged within the housing 1001. Accordingly, as
described below, a row or
column of slots 1003 can be within the field of view of a respective data
capture device as the scanning
bar 1007 is slidably repositioned along the face 1002. It should be understood
that the size of the
automated product cabinet 1000 (e.g., number of rows and/or columns of slots
1003 in the storage area
1004) is provided only as an example. This disclosure contemplates that the
size of the automated product
cabinet 1000 (e.g., number of rows and/or columns of slots 1003 in the storage
area 1004) can be different
than that shown in in Figs. 17A-19D. For example, Figs. 20A-20C illustrate
different sized automated
product cabinets.
[0092]
The scanning bar 1007 can be configured to be slidably repositioned along the
face
1002 of the housing 1001 in a first direction and a second direction. This
disclosure contemplates that a
user can manually reposition the scanning bar 1007 in the first and second
directions. Optionally, the first
and second directions are opposing relative directions. For example, the first
and second directions can
be vertical directions such as up and down, respectively. This is shown by
Fig. 18B. For example, in some
implementations, the scanning bar 1007 can be secured within a vertical track
of the housing 1001 such
that the user can manually slide the scanning bar 1007 in the vertical
directions. Optionally, in other
implementations, the scanning bar 1007 can be balanced by counterweight that
is connected to the
scanning bar 1007 using a pulley system. The counterweight and pulley system
can be concealed within
the housing 1001. Alternatively, the first and second directions can be
vertical directions such as left and
Page 34 of 55
Date Recue/Date Received 2020-11-26
right, respectively. This is shown by Fig. 19B. For example, in some
implementations, the scanning bar
1007 can be secured within a horizontal track of the housing 1001 such that
the user can manually slide
the scanning bar 1007 in the horizontal directions. In some implementations,
the automated product
locker can optionally include a plurality of scanning bars 1007A and 1007B
(collectively referred to herein
as "scanning bars 1007"), where each scanning bar 1007A and 1007B is
configured to be slidably
repositioned along the face 1002 of the housing 1001. This disclosure
contemplates that each of the
scanning bars 1007A and 1007B can include one or more data capture devices.
The scanning bars 1007
can be fixed in a spaced apart relationship. For example, as shown in Figs.
17A-17C, a first scanning bar
1007A can be configured to be slidably repositioned along the face 1002 of the
housing 1001 relative to a
first portion of the storage area 1004A (e.g., the upper half of the storage
area), and a second scanning
bar 1007B can be configured to be slidably repositioned along the face 1002 of
the housing 1001 relative
to a second portion of the storage area 1004B (e.g., the lower half of the
storage area). In this way, each
of the scanning bars 1007 need only traverse half of the face 1002 of the
housing 1001. It should be
understood that the number of scanning bars 1007 in Figs. 17A-17C (e.g., two)
are provided only as an
example. This disclosure contemplates that the automated storage cabinet 1000
can include more
scanning bars (e.g., three, four, etc. scanning bars) or less scanning bars
(e.g., one scanning bar) than
shown in Figs. 17A-17C. Additionally, it should be understood that the
arrangement and/or direction of
movement (e.g., up/down) of the scanning bars 1007 in Figs. 17A-17C are
provided only as an example.
As shown in Figs. 19A-19D, the scanning bars 1007 can be arranged such that
the scanning bars move in
the left/right directions.
[0093]
As described above, the automated product cabinet 1000 includes visual
indicators
1005. The visual indicators 1005 are provided to notify a user (e.g., a health
professional such as surgeon
or ECP) of the location of a desired product within the automated product
cabinet 1000. Visual indicators
1005 can be provided on external surfaces of the automated product cabinet
1000 and/or within the
Page 35 of 55
Date Recue/Date Received 2020-11-26
storage area 1004 (e.g., adjacent to the slots 1003). The controller can
transmit actuation signals to one
or more of the visual indicators 1005 to notify the user where a desired
product is located (e.g., which
cabinet and/or the position within the cabinet itself). For example, as shown
in Fig. 17C, the housing 1001
can include an external frame 1001A, and a visual indicator 1005A can be
arranged on or adjacent to the
external frame 1001A. Visual indicator 1005A is illuminated in Fig. 17C and
can be used to indicate that
the desired product is stored within the automated product cabinet 1000. This
allows the user to identify
the cabinet where the desired product is stored, which can be particularly
helpful when product is stored
in multiple cabinets. Additionally, a respective visual indicator 1005B can be
arranged on, within, or
adjacent to each one of the respective slots 1003. As shown in Fig. 17C, six
of the slots 1003 are illuminated
by visual indicators 1005B, which can be used to indicate the slots where the
desired product is located
within the automated product cabinet 1000. This allows a user to identify the
exact location of the desired
product within the storage area of the automated storage cabinet 1000. It
should be understood that the
arrangement of the visual indicators 1005 in Fig. 17C is provided only as an
example. The visual indicators
1005 notify a user of the location of a desired product, so the visual
indicators 1005 can be placed
anywhere on and/or near the housing 1001 and/or slots 1003 for the benefit of
the user.
[0094]
Each of the visual indicators 1005 can be a light emitter such as a light
emitting diode
(LED). It should be understood that light emitters are provided only as an
example. This disclosure
contemplates that the visual indicators can be other elements including, but
not limited to, a graphical
display. As discussed above, the visual indicators (e.g., visual indicators
1005 in Fig. 16) can be operably
coupled to the controller (e.g., controller 1111 in Fig. 16). The controller
can transmit actuation signals to
one or more of the visual indicators to notify the user where a desired
product is located. As described
herein, the controller can cause one or more visual indicators 1005 on the
exterior of the automated
product cabinet 1000 to actuate and/or one or more visual indicators 1005
within the storage area 1004
to actuate. In some embodiments, visual indicators may indicate errors, such
as by changing colors,
Page 36 of 55
Date Recue/Date Received 2020-11-26
blinking, or otherwise changing state to alert the user of a change in status.
Visual indicators may also
guide the user (e.g., ECP, staff members, employees, third parties, or other
users) to an available location
within the cabinet when loading product into the cabinet. In certain
embodiments, visual indicators may
display different images, colors, or other indication to specify to whom
guidance is directed. For example,
each user of the cabinet could be associated with a particular icon, graphic,
or text in the case of a
graphical display. Or, in the case of an LED or other light emitting visual
indicator, particular users could
be associated with a given color or blink sequence in the software application
operatively associated with
the cabinet so that multiple users could be directed to their desired product
simultaneously by following
their assigned color on the visual indicators to the correct location within
the automated storage cabinet
1000.
[0095] Referring now to Figs. 21A-22, slots for accommodating units of
product are shown.
Figs. 21A and 218 illustrates a plurality of slots 2005 arranged in rows and
columns, where each of the
slots 2005 accommodates respective unit of product 2010. Fig. 21A shows the
units of product 2010
loaded into the slots, while Fig. 218 shows the empty slots 2005. Figs. 21A
and 218 illustrate a module
with 8 columns and 10 rows (8 x 10 module). It should be understood that the
size of the module (e.g.,
number of rows and/or columns of slots) is provided only as an example. This
disclosure contemplates
that the size of the module (e.g., number of rows and/or columns of slots) can
be different than that
shown in in Figs. 21A and 218. The module shown in Figs. 21A and 218 can be
provide in the automated
storage cabinets described above with regard to Figs. 17A-19D.
[0096] Alternatively or additionally, one or more of the slots 2005
shown in Figs. 21A and 218
can be configured to accommodate different sized units of the product 2010. In
other words, different
sized slots can accommodate different sized products and/or product packages.
For example, as shown in
Fig. 22, a slot 2005 can include an ejection mechanism 2020 and a protruding
member 2022. The ejection
mechanism 2020 and the protruding member 2022 can be configured to secure a
unit of product 2010
Page 37 of 55
Date Recue/Date Received 2020-11-26
located in the slot 2005. The ejection mechanism 2020 can optionally be spring
loaded (i.e., including a
spring) such that the unit of product 2010 is secured against the protruding
member 2022. The unit of
product 2010 can be released by disengaging the edge of the unit of product
2010 and the protruding
member 2022. This allows the slot 2005 to accommodate units of product having
different first linear
dimensions such as length. Alternatively or additionally, the slot 2005 can
include a plurality of opposing
elastic members 2024. The opposing elastic members 2024 can be configured to
contact opposite sides
of a unit of product 2010 located in the slot 2005. The opposing elastic
members 2024 can stretch and
maintain contact with units of product having different second linear
dimensions such as width.
Alternatively or additionally, the automated product cabinet 1000 can
optionally include a slot sensor
arranged in one or more of the slots. The slot sensor can be configured to
sense the presence of a unit of
product. For example, the slot sensor can include a light emitter and a
photodetector (e.g., a light curtain).
A light curtain includes a transmitter (e.g., light emitter such as infrared
light emitter) and receiver (e.g.,
photoelectric cell(s)). When an object such as a unit of product breaks an
emitted light beam, the
photodetector sends a signal to the controller, which indicates the position
of the object. A plurality of
light curtains (e.g., spaced apart within the slot) can be used to detect the
relative position of the unit of
product within the slot. It should be understood that a light emitter and
photodetector are only provided
as an example slot sensor. This disclosure contemplates using other types of
slot sensors to detect the
presence of units of product within the slots of the automated product cabinet
including, but not limited
to, mechanical switches, pressure sensors, or other product present sensors.
It should be understood that
the number, size, and arrangement of slots 2005 in Figs. 21A-22 are provided
only as examples.
[0097]
Referring again to Fig. 16, the controller 1111 can be configured to inventory
the
product based, at least in part, on the information about the product, and
cause one or more of the visual
indicators 1005 that are associated with a desired unit of the product to
actuate. For example, the
controller 1111 can send a signal to one or more of the visual indicators
1005, which actuates the one or
Page 38 of 55
Date Recue/Date Received 2020-11-26
more visual indicators 1005. An example process is now described. A user
(e.g., surgeon or ECP) enters a
request for a desired unit of product using a client device (e.g., the client
device 102 in Fig. 15). The client
device can transmit the request for the desired unit of the product to the
automated product cabinet
1000 via a network (e.g., the network 200 in Fig. 15). The controller 1111 can
be configured to receive a
request for the desired unit of the product. Additionally, the controller 1111
can be further configured to
transmit the request for the desired unit of the product over the network to a
remote system (e.g., the
remote system 104 in Fig. 15). As described herein, the remote system can
include and/or access an
inventory database. The remote system can query the database to determine the
position(s) of the
desired unit(s) of product within the automated product cabinet 1000. The
remote system can transmit a
response to the controller over the network, and the controller 1111 can
receive the response, which
includes position(s) of the desired unit(s) of product within the storage
area. It should be understood that
such position(s) can include specific slot(s) 1003 where the desired unit(s)
of product are located. As
described herein, the controller 1111 can be configured to transmit signals to
actuate visual indicators
1005 to assist the user in identifying the position(s) of the desired unit(s)
of product within the automated
storage cabinet 1000. This can include actuating visual indicators 1005A and
1005B as shown in Fig. 17C.
These visual indicators highlight the locations of the desired units of the
product for the benefit of the
user. In some implementations, the controller 1111 can be further configured
to initiate the data capture
device 1009 in response to a movement of the scanning bar 1007. By initiating
the data capture device
1009 based on movement, the automated product cabinet 1000 can read/decode the
machine-readable
labels (e.g., barcodes, UPC, SKU, text, graphics) associated with the units of
the product. The respective
units of the product can then be associated with respective positions within
the storage area. The
respective positions for each of the units of product can then be transmitted
by the controller 1111 to the
remote system. In other words, the controller can be configured to transmit
the updated inventory of the
product over the network to the remote system, and the database can be updated
accordingly.
Page 39 of 55
Date Recue/Date Received 2020-11-26
[0098] The automated product cabinet 1000 can be restocked effortlessly.
For example, the
user (e.g., surgeon or ECP) can restock product by placing the product
packages in any empty slots 1003
in the storage area. Unlike conventional storage system, there is no need to
organize the storage in any
manner, for example, by prescription, power, type, etc. The product packages
can instead be placed at
random in the storage area. Upon completion of restocking, the scanning bar
1007 can be moved, and the
automated product cabinet 1000 can read/decode the machine-readable labels
(e.g., barcodes, UPC, SKU,
text, graphics) associated with the units of the product. The respective units
of the product can then be
associated with respective positions within the storage area. The respective
positions for each of the units
of product can then be transmitted by the controller 1111 to the remote
system. In other words, the
controller 1111 can be configured to transmit the updated inventory of the
product over the network to
the remote system, and the database can be updated accordingly.
[0099] As described herein, the data capture device 1009 can be a
barcode scanner, which is
capable of reading and decoding machine-readable product identifiers such as a
1D barcode, a UPC, or an
SKU. The machine readable product identifiers can be affixed to and/or printed
directly on the product
packages and/or the product itself as described herein. Accordingly, the step
of inventorying the product
based, at least in part, on the information about the product can include
reading respective product
identifiers associated with respective units of the product using the barcode
scanner, and also decoding
the respective product identifiers associated with the respective units of the
product. After
reading/decoding the respective product identifiers, it is possible to
associate the respective units of the
product with the respective positions within the storage area. This disclosure
contemplates performing
this association with either the controller 1111 and/or the remote system.
[00100] As described herein, the data capture device 1009 can be an imaging
device such as a
digital camera, which is capable of capturing images of machine-readable
product identifiers such as a 1D
barcode, a 2D barcode, a 3D barcode, a UPC, or an SKU. An imaging device is
also capable of capturing
Page 40 of 55
Date Recue/Date Received 2020-11-26
images of text and/or a graphics, which can serve as machine readable product
identifiers. In these
implementations, image processing techniques can be used to decode the machine
readable product
identifiers. Accordingly, the step of inventorying the product based, at least
in part, on the information
about the product can include receiving images of the product captured by the
imaging device, analyzing
the images of the product to identify respective product identifiers
associated with respective units of the
product, decoding the respective product identifiers associated with the
respective units of the product.
After analyzing/decoding the respective product identifiers, it is possible to
associate the respective units
of the product with the respective positions within the storage area. This
disclosure contemplates
performing this association with either the controller 1111 and/or the remote
system.
[00101] Optionally, in some implementations using an imaging device, the step
of inventorying
the product based, at least in part, on the information about the product
further includes cropping a
portion of the images of the product. By cropping the images, it is possible
to focus on the portion of the
image expected to contain the product identifiers. Thus, the cropped portion
of the images is analyzed to
identify the respective product identifiers associated with the respective
units of the product.
Additionally, the controller 1111 can be configured to transmit the images of
the product over a network
to a remote system. In these implementations, the images can be stored by the
remote system for back
up purposes, or image processing (some or all) can be offloaded from the
controller 1111 to the remote
system. Alternatively or additionally, the controller 1111 can be configured
to store the images of the
product in the memory. In some implementations, the images can be stored only
temporarily (e.g., to
allow for image processing) and then written over to minimize the storage
requirements at the automated
product cabinet 1000.
[00102] Optionally, in some implementations using an imaging device, the step
of inventorying
the product based, at least in part, on the information about the product
further includes analyzing the
images of the product to identify one or more of the respective positions
within the storage area
Page 41 of 55
Date Recue/Date Received 2020-11-26
associated with a missing, unrecognized, or unreadable product identifier.
Optionally, the controller 1111
can be configured to distinguish between missing units of product and units of
product having
unrecognized/unreadable product identifiers. It should be understood that the
former may be restocked,
while the latter may be repositioned (e.g., flipped over, turned over,
relabeled) to correctly orient the
product identifier for reading by the data capture device 1009. For example, a
machine learning algorithm
can be used to determine whether one or more of the respective positions
within the storage area
associated with the missing, unrecognized, or unreadable product identifier
contain a unit of the product.
This disclosure contemplates that the machine learning algorithm can be
executed by the controller 1111
in some implementations using traditional vision systems (e.g., pattern
recognition), while in other
implementations the machine learning algorithm can be executed by the remote
system (i.e., offloaded
from the automated product cabinet 1000). Machine learning algorithms can be
trained using an existing
dataset to perform a specific task such as identify missing, unrecognized, or
unreadable product
identifiers. Machine learning algorithms are known in the art and therefore
not described in further detail
below. An example machine learning algorithm is TensorFlow, which is an open
source machine learning
algorithm known in the art. TensorFlow is only one example machine learning
algorithm. This disclosure
contemplates using other machine learning algorithms including, but not
limited to, neural networks,
support vector machines, nearest neighbor algorithms, supervised learning
algorithms, unsupervised
learning algorithms.
[00103] Optionally, in some implementations using an imaging device, the step
of inventorying
the product based, at least in part, on the information about the product
further includes analyzing the
images of the product to determine, using a machine learning algorithm, a
source of each of the respective
units of the product. This is particularly useful when, for example, the
product is sourced from multiple
vendors or manufacturers. In other words, the automated product cabinet 1000
can be used to store
product from different sources (e.g., intraocular lenses from different
manufacturers). As described
Page 42 of 55
Date Recue/Date Received 2020-11-26
above, a camera can be used to capture images of both machine readable codes
(barcodes, UPC, SKU)
and text and graphics, and then imaging processing techniques can be used to
decode the product
identifiers. This disclosure contemplates that a machine learning algorithm
can be used to identify
machine readable codes associated with different vendors or manufacturers.
This allows the automated
product cabinet 1000 to select the appropriate decoding rules. Alternatively
or additionally, a machine
learning algorithm can be used to identify the source of a unit of product
based on text and/or graphics
(even in the absence of machine readable codes). This disclosure contemplates
that the machine learning
algorithm can be executed by the controller 1111 in some implementations,
while in other
implementations the machine learning algorithm can be executed by the remote
system (i.e., offloaded
from the automated product locker). Machine learning algorithms can be trained
using an existing dataset
to perform a specific task such as identify the source of units of the
product. Machine learning algorithms
are known in the art and therefore not described in further detail below.
Example machine learning
algorithms are provided above.
[00104] Referring now to Fig. 23, an automated product cabinet 1500 according
to another
implementation described herein is shown. The automated product cabinet 1500
can include a housing
1501 defining a storage area 1504 configured to receive a product and a
plurality of slots 1503 arranged
within the housing 1501. As described herein, a plurality of units of the
product can be arranged in the
slots 1503. The product can optionally be contained in one or more product
packages (e.g., a container
such as a box, carton, wrapper, etc.). Each respective unit of the product can
include a respective smart
tag. Each smart tag stores information about a respective unit of the product.
This disclosure
contemplates that the smart tags can be applied to the products and/or the
product packages. For
example, the respective smart tags can be radiofrequency identification (RFID)
tags, ultra high frequency
(UHF) tags, or near field communication (NFC) tags. It should be understood
that RFID, UHF, or NFC tags
are provided only as example smart tags. This disclosure contemplates that the
smart tags can be any type
Page 43 of 55
Date Recue/Date Received 2020-11-26
of tag with memory for storing information, an antenna, and ability to
transmit data to the controller. In
the implementation shown in Fig. 23, the smart tags are used in lieu of
providing an data capture device
configured to read machine-readable labels affixed the products and/or product
packages.
[00105] The automated product cabinet 1500 can also include a plurality of
visual indicators
1505 configured to indicate respective positions of the respective units of
the product within the housing
1501. The visual indicators 1505 can be arranged on or adjacent to the
external frame of the housing 1501
and/or on, within, or adjacent to each one of the slots 1503. As described
herein ,the visual indicators
1505 can be used to indicate where the desired product is stored within the
automated product cabinet
1500. In Fig. 23, the external frame of the housing 1501 and six of the slots
1503 are illuminated by visual
indicators 1505.
[00106] The automated product cabinet 1500 can also include a controller
(e.g., controller
1111 in Fig. 15). In some implementations, the controller may optionally be
arranged within the housing
1501. This disclosure contemplates that the controller 1111 can be operably
coupled to the smart tags
and/or visual indicators 1505, for example, through one or more communication
links. This disclosure
contemplates the communication links are any suitable communication link. The
controller can be
configured to receive information about the respective units of the product
from the respective smart
tags, inventory the product based, at least in part, on the information about
the respective units of the
product, and cause one or more of the visual indicators 1505 that are
associated with a desired unit of
the product to actuate. Alternatively or additionally, the controller can be
further configured to transmit
an inventory of the product over a network to a remote system. Optionally, as
described herein, the
remote system can be a database. Alternatively or additionally, the controller
can be further configured
to receive a request for the desired unit of the product. Additionally, the
controller can be further
configured to transmit the request for the desired unit of the product over a
network to a remote system,
Page 44 of 55
Date Recue/Date Received 2020-11-26
and receive a response from the remote system, the response including a slot
where the desired unit of
product is located.
[00107] Referring now to Fig. 24, an automated product system 1700 according
to another
implementation described herein is shown. The automated product system 1700
can include a housing
1701 defining a storage area configured to receive a product and a plurality
of slots arranged within the
housing. As described herein, a plurality of units of the product can be
arranged in the slots. This disclosure
contemplates that the housing 1701, slots, and units of product can be similar
to those described above
with regard to Figs. 15-23. Additionally, as described herein, the product can
optionally be contained in
one or more product packages (e.g., a container such as a box, carton,
wrapper, etc.). The automated
product system 1700 can also include an imaging and projector unit 1703
arranged in a spaced apart
relationship with respect to the housing 1701. The imaging and projector unit
1703 can include an imaging
device and a projector. In some implementations, the imaging device and the
projector are provided in a
single housing. In other implementations, the imaging device and the projector
are provided in separate
housings.
[00108] The imaging device can be a digital camera, which is capable of
capturing images of
machine readable product identifiers such as a 1D barcode, a 2D barcode, a 3D
barcode, a UPC, or an SKU.
An imaging device is also capable of capturing images of text and/or a
graphics, which can serve as
machine readable product identifiers. In these implementations, image
processing techniques can be used
to decode the machine readable product identifiers. The projector can be a
device with a light source
and/or one or more lenses and configured to project light rays (e.g., image)
onto a surface (e.g., a
projection surface). In Fig. 24, the housing 1701 (e.g., a face of the housing
1701) is the projection surface.
Optionally, the projector can be a short-throw or ultra-short-throw projector.
Short-throw projectors have
a throw ratio less than 1, where the throw ratio is calculated as the distance
from projector to surface to
the screen size. Short-throw projectors have a throw ratio between about 0.6
and 0.8. Ultra-short-throw
Page 45 of 55
Date Recue/Date Received 2020-11-26
projectors have a throw ratio less than about 0.4. Projectors, including short
throw projectors, are known
in the art. Example projectors are EPSON POWERLITE projectors from Seiko Epson
Corporation of Suwa,
Nagano Prefecture, Japan. In Fig. 24, ultra-short-throw, short-throw, and long-
throw projector positioning
is shown by reference numbers 1705, 1707, and 1709, respectively. Optionally,
the automated product
system 1700 can include optics 1711 to further reduce the throw ratio. This
disclosure contemplates that
the optics 1711 can include lenses, mirrors, or combinations thereof.
[00109] The automated product system 1700 can also include a controller (e.g.,
controller 1111
in Fig. 15). In some implementations, the controller may optionally be
arranged within the housing 1701
or within the imaging and projector unit 1703. This disclosure contemplates
that the controller 1111 can
be operably coupled to the imaging and projector unit 1703, for example,
through one or more
communication links. This disclosure contemplates the communication links are
any suitable
communication link. The controller can be configured to receive information
about the product from the
imaging device, inventory the product based, at least in part, on the
information about the product, and
cause the projector to illuminate a respective location of a desired product
within the housing. In other
words, the projector is used to illuminate (e.g., with light) the locations of
desired products and/or product
packages stored within the housing 1701. Alternatively or additionally, the
controller can be further
configured to transmit an inventory of the product over a network to a remote
system. Optionally, as
described herein, the remote system can be a database. Alternatively or
additionally, the controller can
be further configured to receive a request for the desired unit of the
product. Additionally, the controller
can be further configured to transmit the request for the desired unit of the
product over a network to a
remote system, and receive a response from the remote system, the response
including a slot where the
desired unit of product is located. In the implementation shown in Fig. 24,
the projector is used in lieu of
providing visual indicators for illuminating the locations of the desired
products and/or product packages
within the system.
Page 46 of 55
Date Recue/Date Received 2020-11-26
[00110] Although the subject matter has been described in language specific to
structural
features and/or methodological acts, it is to be understood that the subject
matter defined in the
appended claims is not necessarily limited to the specific features or acts
described above. Rather, the
specific features and acts described above are disclosed as example forms of
implementing the claims.
For example, while embodiments herein
related to uses cases involves ophthalmic devices such as
intraocular lenses and contract lenses, it should be appreciated that the
automated product cabinets and
their methods of use within the scope of the claims apply equally to any type
of product or other object
that may benefit from improved storage, inventorying, and/or retrieval.
Page 47 of 55
Date Recue/Date Received 2020-11-26