The present disclosure is generally directed to vending machines. More specifically, the present disclosure is directed to a system and method for vending machine product identification and calibration.
Vending machines include many complex mechanisms. Today, many vending machines include electronic systems to select, pay, and dispense a product. Also, many vending machines include complex electro-mechanical systems for delivery of the product from a storage location to a customer accessible product retrieval location. These delivery systems in some of the vending machines may not provide a smooth transition of the product from a column to an access port. In particular, the transition of the product from a column to a cup may be rough. Additionally, due to product proliferation in terms of size and shape, the ability to reliably retrieve and deliver a product in a vending machine has become difficult. As such, current vending machines are limited with respect to the types of products that can be vended.
Currently in automated vending machines the shelves that store the product can be installed in various locations. Product types can be loaded into the machine by the route person in various locations. Manufacturing variations can create differences in product location with reference to a “home” position from machine to machine. Additionally, because of manufacturing variations the interface with the delivery location will have variation with reference to a “home” position from machine to machine. Additionally, because of variations in the terrain where a machine is placed and how it is leveled, and other factors such has insulating foam swelling, the delivery location interface can change with reference to a “home” position within an individual machine from the factory to the placement location, and even over time in a single machine at a single placement location. These variations can cause a product delivery mechanism in the vending machine to incorrectly dispense products, such as either failing to move to the correct location to retrieve a product from a shelf, or fail to move to the correct position to dispense the product to a delivery location for customer retrieval.
The present disclosure provides a system and method for vending machine product identification and calibration.
In one aspect thereof, a vending machine comprises a chassis, at least one shelf including a plurality of product rows, a plurality of product gates each coupled to an associated one of the plurality of product rows, a movable stage, a retrieval platform coupled to the movable stage, wherein the retrieval platform is operable to move to accept a product from one of the plurality of product rows, and a vending machine controller coupled to at least one memory. The vending machine controller is configured to determine a product code and a storage location of a selected product for vending, retrieve, from the at least one memory, timing parameters associated with at least one of the product code or the storage location of the selected product, and control one or more timings of one of the plurality of product gates associated with the determined storage location of the selected product, based on the retrieved timing parameters, to release the selected product from the at least one shelf to the retrieval platform.
In another aspect thereof, a vending machine comprises a chassis, at least one shelf system including a plurality of product rows, a plurality of product gates each coupled to an associated one of the plurality of product rows, a movable stage, a retrieval platform coupled to the movable stage, wherein the retrieval platform is operable to move to accept a product from one of the plurality of product rows, and a vending machine controller coupled to at least one memory. The vending machine controller is configured to determine a product code and a storage location of a selected product for vending, retrieve, from the at least one memory, timing parameters associated with at least one of the product code or the storage location of the selected product, and control one or more timings of one of the plurality of product gates associated with the determined storage location of the selected product, based on the retrieved timing parameters, to release the selected product from the at least one shelf system to the retrieval platform.
In some embodiments, the timing parameters include parameters for a gate opening speed, a gate open duration, and a gate closing speed.
In some embodiments, to control the one or more timings of the one of the plurality of product gates, the vending machine controller is further configured to modulate one or more pulse width modulation (PWM) signals, wherein each of the one or more PWM signals are associated with one of the gate opening speed, the gate open duration, and the gate closing speed.
In some embodiments, the timing parameters associated with the storage location of the selected product are based on dimensions of the at least one shelf system and an angle of one of the plurality of product rows associated with the storage location of the selected product.
In some embodiments, the timing parameters associated with the product code are based on at least one of shape or weight of a product type associated with the product code.
In some embodiments, the vending machine further comprises a pusher plate mounted on a sidewall of at least one product row of the plurality of product rows, wherein the pusher plate is operable to push products in the at least one product row towards an end of the at least one product row.
In some embodiments, the end of the at least one product row is associated with a retrieval location of the retrieval platform.
In some embodiments, the retrieval platform includes a surface disposed at a base of the retrieval platform, and wherein the retrieval platform is operable to rotate in a direction of the at least one shelf system when the movable stage positions the retrieval platform in relation to one of the plurality of product rows.
In some embodiments, each of the plurality of product gates includes a release mechanism operable to release a product from the associated one of the plurality of product rows when, due to the rotation of the retrieval platform, the surface of the retrieval platform depresses the release mechanism.
In some embodiments, an angle of the retrieval platform, when the retrieval platform rotates in the direction of the at least one shelf system, matches an angle of at least one of the plurality of product rows.
In another aspect thereof, a method of dispensing a product from a vending machine comprises receiving data on a selected product for vending, determining a product code and a storage location of a selected product for vending, retrieving timing parameters associated with at least one of the product code or the storage location of the selected product, moving a retrieval platform coupled to a moveable stage to a position to accept the selected product from one of a plurality of product rows of at least one shelf system of the vending machine, and controlling one or more timings of one of a plurality of product gates associated with the determined storage location of the selected product, based on the retrieved timing parameters, to release the selected product from the at least one shelf system to the retrieval platform, wherein each of the plurality of product gates are coupled to an associated one of the plurality of product rows.
In some embodiments, the timing parameters include parameters for a gate opening speed, a gate open duration, and a gate closing speed.
In some embodiments, controlling the one or more timings of the one of the plurality of product gates includes modulating one or more pulse width modulation (PWM) signals, wherein each of the one or more PWM signals are associated with one of the gate opening speed, the gate open duration, and the gate closing speed.
In some embodiments, the timing parameters associated with the storage location of the selected product are based on dimensions of the at least one shelf system and an angle of one of the plurality of product rows associated with the storage location of the selected product.
In some embodiments, the timing parameters associated with the product code are based on at least one of shape or weight of a product type associated with the product code.
In some embodiments, the method further comprises pushing, with a pusher plate mounted on a sidewall of at least one product row of the plurality of product rows, products in the at least one product row towards an end of the at least one product row.
In some embodiments, the end of the at least one product row is associated with a retrieval location of the retrieval platform.
In some embodiments, the retrieval platform includes a surface disposed at a base of the retrieval platform, and further comprising rotating the retrieval platform in a direction of the at least one shelf system when the movable stage positions the retrieval platform in the position to accept the selected product.
In some embodiments, the method further comprises depressing, by the surface of the retrieval platform when the retrieval platform rotates, a release mechanism of one of the plurality of product gates to release a product from the associated one of the plurality of product rows.
In some embodiments, an angle of the retrieval platform, when the retrieval platform rotates in the direction of the at least one shelf system, matches an angle of at least one of the plurality of product rows.
In another aspect thereof, an operator can take picture of a vending machine product placement after arranging products in product locations using a camera. The camera sends picture or pictures to a remote computer. The remote computer identifies products with location. The remote computer fetches at least one timing parameter such as a gate opening speed, a gate open duration, and a gate closing speed associated with that particular product and sends those timing parameters to the vending machine.
In some embodiments, the camera sends a picture or pictures to the vending machine. The vending machine carries out image processing and identifies product in pictures. The vending machine associates identified product with a particular location. The vending machine queries the remote computer for dispensing parameters. The remote computer sends dispensing parameters to the vending machine. The vending machine updates dispensing parameters for the identified product.
In some embodiments, the vending machine carries out image processing and identifies product in pictures. The vending machine associates identified product with a particular location. The vending machine fetches dispensing parameters for identified product. The vending machine updates dispensing parameters for the identified product.
In some embodiments, a processor enclosed in same enclosure as the camera carries out image processing and identifies product in pictures. The processor enclosed in the same envelope as the camera also associates identified product with a particular location. The processor enclosed in the same envelope as the camera fetches dispensing parameters for the identified product. The processor enclosed in the same envelope as the camera transmits dispensing parameters to the vending machine.
In some embodiments, the operator inserts new dispensing parameters for identified product in the pictures.
In some embodiments, the operator modifies dispensing parameters for identified product in the pictures.
In some embodiments, the remote computer also sends the product location to the vending machine.
In some embodiments, the remote computer can also send timing parameters for all product locations.
In some embodiments, a camera mounted on X-Y platform can take pictures of vending machine product placement after products the vending machine have been arranged in designated product locations. The vending machine carries out image processing and identifies product in pictures. The vending machine associates identified product with a particular location. The vending machine queries the remote computer for dispensing parameters. The remote computer sends dispensing parameters to the vending machine. The vending machine updates dispensing parameters for the identified product.
In some embodiments, the vending machine sends images to a remote computer for image processing and product identification. The remote computer identifies products with location. The remote computer fetches at least one timing parameter such as a gate opening speed, a gate open duration, and a gate closing speed associated with that particular product and sends those timing parameters to the vending machine.
Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or,” is inclusive, meaning and/or; the phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term “controller” means any device, system or part thereof that controls at least one operation, such a device may be implemented in hardware, firmware or software, or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. Definitions for certain words and phrases are provided throughout this patent document, those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior, as well as future uses of such defined words and phrases.
The terms “transmit,” “receive,” and “communicate,” as well as derivatives thereof, encompasses both direct and indirect communication. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrase “associated with,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.
Definitions for other certain words and phrases are provided throughout this patent document. Those of ordinary skill in the art should understand that in many if not most instances, such definitions apply to prior as well as future uses of such defined words and phrases.
For a more complete understanding of the present disclosure, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or,” is inclusive, meaning and/or; the phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term “controller” means any device, system or part thereof that controls at least one operation, such a device may be implemented in hardware, firmware or software, or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. Definitions for certain words and phrases are provided throughout this patent document, those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior, as well as future uses of such defined words and phrases.
Vending machine 100 includes a chassis or cabinet 101 and a service door 102 that, together, define an enclosure. In the embodiment illustrated in
In the embodiment illustrated in
The vending machine cabinet 101 houses a plurality of product trays 206a . . . 206n, each including a plurality of product columns 208a, 208b . . . 208n. For every product column 208a, there is at least one gate 204a. The plurality of gates 204a . . . 204n may be, but not limited to, double gates (as shown in
In certain embodiments, for each gate 204a, there may be a release mechanism 202a. The release mechanism 202a can be manual or automatic. For example, release mechanism 202a can be motor with a gearbox, a knob, a lever, a solenoid, or some other suitable device. During a purchase of a product 201, the release mechanism 202a may interact with gate 204a that is restraining the product 201 located in column 208a. The release mechanism may interact with one or more gates that restrain products in a column. The interaction may allow the product 201 to move past gate 204a. The release mechanism 202a can be activated by a platform 220.
In certain embodiments, for each tray 206a, there is a release mechanism 202a. At each column, release mechanism 202a can release a product by interacting with a gate. As shown in this example embodiment, platform 220 is coupled to a movable stage 219 and is configured to move to a product via the movable stage 219 for vending of the product. In response to a user selection and a vend command, the movable stage 219 moves horizontally to a location associated with a product column 208a, 208b . . . 208n, and platform 220 moves vertically along the movable stage 219 to a product to collect the product by activating the release mechanism 202a and capturing the product once released from the column. The platform 220 then moves to and dispenses the product into access port 105 for customer retrieval. In some embodiments, as shown in
As illustrated in
In some vending machine systems, when receiving a product, such as a canned drink, as shown for example in
The angle of the base 304 in the tilted position 308 can be similar to that of the angle of the column, or the portion of the column located nearest to the base. This angle of the platform 302 when in the tilted position 308 can cause the base 304 of the platform to be in line with the product tray 314 such that the product 310 can slide straight into the platform 302 without any tilting or bridging of the product 310. When the platform 302 receives the product 310, a base of the product 310 sits atop base 304 of the platform 302, and sides of the product 310 can rest against one or side walls of the platform 302. The platform 302 then returns to the initial position 306 for delivery of the product 310. In some embodiments, the platform 302 travels to or near an access port, such as access port 105, to deposit the product 310 into the access port to allow a user to retrieve the product 310 from the access port 105.
As illustrated in
In some vending machine systems, when receiving a product, such as a less rigid product such as a food item packaged in a bag or plastic wrapping, such as shown for example in
The angle of the base 324 in the tilted position 328 can be similar to that of the angle of the column, or the portion of the column located nearest to the base. This angle of the platform 322 when in the tilted position 328 can cause the base 324 of the platform to be in line with the product tray 334 such that the product 330 can slide straight into the platform 322 without any tilting or bridging of the product 330. When the platform 322 receives the product 330, a base of the product 330 sits atop base 324 of the platform 322, and sides of the product 330 can rest against one or side walls of the platform 322. The platform 322 then returns to the initial position 326 for delivery of the product 330. In some embodiments, the platform 322 travels to or near an access port, such as access port 105, to deposit the product 330 into the access port to allow a user to retrieve the product 330 from the access port 105.
As illustrated in
In some vending machine systems, when receiving a product, such as product with non-uniform weight distribution, such as a bottle having a heavier bottom portion than the top elongated bottle neck portion, such as shown for example in
The angle of the base 344 in the tilted position 348 can be similar to that of the angle of the column, or the portion of the column located nearest to the base. This angle of the platform 342 when in the tilted position 348 can cause the base 344 of the platform to be in line with the product tray 354 such that the product 350 can slide straight into the platform 342 without any tilting or bridging of the product 350. When the platform 342 receives the product 350, a base of the product 350 sits atop base 344 of the platform 342, and sides of the product 350 can rest against one or side walls of the platform 342. The platform 342 then returns to the initial position 346 for delivery of the product 350. In some embodiments, the platform 342 travels to or near an access port, such as access port 105, to deposit the product 350 into the access port to allow a user to retrieve the product 350 from the access port 105.
In some vending machine systems, when receiving a product, such as product with non-uniform weight distribution, such as a box having a heavier side portion than rest of the box, such as a salad dressing on a side of a box or a meal box with salad and say a sandwich on separate side of a box, from a column or a product tray into a non-platform or dispenser having a horizontal base, the product may tilt, bridge, or otherwise fall over. Tilting and bridging lead to failed product exchanges from the tray to the dispenser. Tilting and bridging in a non-tilted platform can happen due to the product transitioning from an angled product tray into a horizontal platform base. Although bottled items can have different weights, dimensions, and characteristics, the various embodiments of the present disclosure provide for gates that, in a closed position, hold products and then suddenly release and drop the products into a dispensing mechanism such as the tilted platform 342, allowing products to slide straight into the dispensing mechanism. A tilted platform, such as platform 342, allows the product to follow the path of motion of a falling product (e.g., a box), eliminating the tilting and bridging.
The platform 402 has a shelf or “L” bracket that can be referred to as a base 404 of the platform 402. The platform 402 can tilt out from an initial position (not shown) to a tilted position 408 to accept a product 410 from a plurality of products 412 included on a product tray 414. The initial position can be, for example, a vertical position (such as shown in
The angle of the base 404 in the tilted position 408 in some embodiments can be lower than that of the angle of the column and product tray 414, or the portion of the column located nearest to the base. For example, the angle of the base 404 can be near 45 degrees from the product tray 414, as shown in
The platform apparatus 500 includes a frame 502 on which a plate 504 is rotatably coupled at a pivot point 505. A product catch 506 resides next to the plate 504 with a bottom of the product catch 506 disposed on top of a surface 508. In some embodiments, the frame 502 may be coupled to a movable stage, such as movable stage 219. In some embodiments, the product catch 506 may be directly or indirectly coupled to the movable stage. The connection to the plate 504 can constrain the motion of the surface 508. This allows the product catch 506 to travel with the plate 504 and the surface 508. The product catch 506 can be rectangular in shape with three sides closed and one open side for receiving a product from a tray in a vending machine. The product catch 506 can be transparent in some embodiments to allow a user of the vending machine to see the drink being delivered through the product catch 506. However, in other embodiments, the product catch 506 could be opaque.
The plate 504 includes a hinge 510 near a top of the plate 504. Tabs 512 of the product catch 506 are installed on the hinge 510. A ledge 511 at the top of the product catch 506 opposite the hinge 510 can come into contact with a wall or other component within the vending machine as the platform apparatus travels down towards an access port, such as access port 105. When the ledge 511 comes into contact with a wall or other component in the vending machine the tabs 512 of the product catch 506 rotate around the hinge 510, rotating the product catch 506 out and away from the surface 508 to a product ejection position 514. The product ejection position 514 causes a product to be swept off the surface 508, where a bottom of the product is resting, by the product catch 506 and into an access port, such as access port 105, for retrieval by a user of the vending machine. In other embodiments, the product catch 506 extends out from the frame 502 without rotating, in order to deliver the product to the access port. For example, the product catch 506 can have an extendable arm coupled between the product catch 506 and the frame 502, or another component of the platform apparatus 500. The extendable arm may, by operation of the motor or another mechanism, extend horizontally from the platform apparatus 500 such that the product catch 506 slides sideways, without rotating, off the surface 508 and out over the access port, causing the product to be swept off the surface 508 and into the access port.
The platform apparatus 500 further includes a rotation motor 516 that can be enclosed within a housing 518 in a bottom portion of the platform apparatus 500 that is below the surface 508. The rotation motor 516 rotates a gear 520 that meshes with teeth 522 of a hinged plate 524, as illustrated in
As the rotation motor 516 rotates the gear 520 meshed with the teeth 522, the hinged plate 524 rotates around the pivot point 526, while the fixation device 530 moves within both the curved slot 528 and the frame slot 532, pushing the plate 504 forward and causing the plate 504 to rotate around the pivot point 505. In other embodiments, the platform apparatus 500 may slide forward instead of rotating. For example, the motor may instead push the surface 508 or the plate 504 forward at or near pivot point 505 or at or near the frame slot 532. For instance, the frame slot 532 may be a horizontal slot rather than a curved slot, with the fixation device 530 sliding forward through the horizontal slot such that the platform moves forward rather than rotating.
The product retrieval mechanism 600 includes gates 602. The gates 602 serve to restrict products stored on a product column or a tray 604 from falling off the tray 604. The products can stand in a row between brackets 606, as the products move towards the end of the tray 604. Each of the gates 602 is installed on one of the brackets 606. Each of the gates 602 includes a first panel 608 and a second panel 610 connected by a hinge 612. The first panel 608 can be fixed to the front of one of the brackets 606 and the second panel can be slidably fixed to a top of the bracket through one or more slots 614. A release mechanism 616 (e.g., a button) is disposed in an open space in the tray 604 and below the gates 602 and the brackets 606.
A tilted platform base, such as surface 508 of
As illustrated in
The discharge frame 800 is disposed at a location in a vending machine near an access port 802. The discharge frame 800 includes a discharge ledge 804 secured to a wall of the vending machine. As the platform apparatus 500 moves down towards the discharge frame 800, the ledge 511 of the product catch 506 comes into contact with the discharge ledge 804, causing the product catch 506 to rotate via the tabs 512 secured around the hinge 510. The rotation of the product catch 506 causes the product catch 506 to rotate up and away from the surface 508, where a product can be resting, into the product ejection position. The rotation thus causes the side of the product catch 506 that is near the plate 504 to come into contact with a product and push the product off the surface 508 and into the access port 802. The platform apparatus 500 can then move back up, causing the ledge 511 to cease contacting the discharge ledge 804. Once the ledge 511 ceases contact with the discharge ledge 804, the product catch 506 can then rotate back to the initial position.
The damper assembly 900 includes a pusher plate 902 installed on a bracket or sidewall 904 of a product tray 906. The pusher plate 902 can have a spring installed thereon to provide a movement force to the pusher plate 902. The sidewall 904 can also include a recessed lane 908 having a rack geometry 910 that includes teeth oriented into the recessed lane 908. Sides of a gear damper within the pusher plate 902 can be disposed within the recessed lane 908 such that teeth of the gear damper face, and mesh with, the teeth of the rack geometry 910. The pusher plate 902 extends sideways from the sidewall 904 such that the pusher plate 902 is disposed above the product tray 906. As the pusher plate 902 travels along the sidewall 904, the pusher plate 902 contacts products on the product tray 906 to push the products towards a front of the product tray 906 for dispensing within a vending machine. The damper assembly 900 provides constant force via the spring to push products along the product tray 906. In some embodiments, the product tray 906 can be disposed at a particular angle, such as three degrees, while the force of the pusher plate 902 can be increased by using a rotary damper, to help alleviate tipping of products on the product tray 906.
The shelf system 1000 includes a plurality of product gates 1001 and pusher plates 1002 as described herein, such as with respect to
In some embodiments, the product can slide by the force of gravity into the product retrieval platform when the product gates 1001 open. In some embodiments, the shelf system 1000 can be disposed at an angle matching the angle of the retrieval platform so that the products smoothly slide from the shelf system 1000 into the product retrieval platform. In some embodiments, the pusher plate 1002 can operate when the gates 1001 open to push the products down the product row 1006 towards the retrieval platform at a rate such that the frontmost product is deposited into the retrieval platform, and the gates 1001 close due to the retrieval platform releasing the button 1005 before a second product passes through the gates 1001. In some embodiments, the shelf system 1000 or the product can be disposed at a small angle, such as three degrees, while the force of the pusher plate 1002 can be increased by using a rotary damper that pushes the product into the retrieval platform, which helps alleviate tipping of products on the product tray 1006.
At block 1102, the processor loads data indicating timing parameters for various combinations of products and shelves provided to the vending machine in memory. The timing parameters can include different timings for opening gates, duration that gates remain open, and closing gates. The timing parameters can be stored in association with certain products, certain vending machine shelf types, or both. For example, the timing parameters provided to the vending machine and stored in memory can be customized for a particular product or product type, such as defining how quickly to open a gate, how long to keep a gate open, and how quickly to close a gate, for the specific product. For instance, products can have different sizes and weights that can affect how quickly the products slide down a product row once a gate is opened. Heavier products that slide more quickly, for example, can have associated therewith timings for a smaller opening duration and a faster closing speed of the gate. In some cases, it may be that products slide quickly, but there is found to be a delay in which the product begins sliding. In such cases, the gate may be open for a longer duration to allow the products to begin sliding, but the gate closes quickly to prevent other fast sliding products from passing through the gate.
In a similar manner, gate timing can be controlled based on the type of product shelf or product rows, such as if a shelf or a product row includes certain dimensions, or if the shelf or product row is disposed at a particular angle within the vending machine. For example, if the shelf is disposed at a forty-five degree angle, products may slide down the product row faster than if the shelf is disposed at a three degree angle. Therefore, the timings for that shelf having that particular angle can be adjusted such that, for instance, the gate is open for a short duration and closes quickly to prevent subsequent products from also sliding through the gate. The timings can further be adjusted to account for both product type and shelf type. It will be understood that the above examples are merely for illustrating the types of gate timings that can be implemented, and do not limit this disclosure to any particular timings. A plurality of different timings can be used based on the products and the shelf or product row configuration.
At block 1104, the processor loads data indicating the locations of stocked products, and product codes associated with the stocked products. Thus, at block 1102, the timing parameters on various types of products and product locations can be stored ahead of time, but the timing parameters for these products and product locations are not necessarily specific to any currently stocked products. The timing parameters are stored such that they are available, and then, once the data indicating locations and product codes of stocked products is provided at block 1104, the timing parameters for those stocked products and their associated locations can be retrieved based on the previously stored timing parameters. In some embodiments, the timing parameters can be loaded at the same time as the data is loaded indicating the locations of stocked products and their product codes.
At block 1106, the processor receives a selection of a product to vend, such as column and row numbers, and/or letters, associated with locations in the vending machine. At block 1108, the processor determines a product code and location for the selected product based on the data loaded at block 1104 and based on the product selected at block 1106. In some embodiments, instead of receiving numeric or alpha-numeric indicators, the vending machine can include buttons or other user input components that each include an image or picture of a product, or otherwise identifies a product by name, flavor, or other identifier. Each of the buttons or other user input components is associated with a product stored in the memory of the vending machine in association with one or more product locations in the vending machine. Upon selection of a button or other user input component, at block 1108, the processor determines the product or product code associated with the button or other user input component, and determines a location for the selected product based on the selected product and based on the data loaded at block 1104. At decision block 1110, the processor determines whether timing parameters are stored for the selected product and/or the associated storage location of the product. If not, the process 1100 moves to block 1112, in which the processor retrieves default gate timing parameters to use. The process 1100 then moves to block 1116.
If, at decision block 1110, the processor determines that timing parameters are stored for the product and/or the product's location, the process 1100 moves to block 1114. At block 1114, the processor retrieves timing parameters for the product and/or the product location. At block 1116, the processor modulates one or more pulse width modulation (“PWM”) signals to control the timing of a product gate associated with the product and the product's location. In some embodiments, other control methods can be used, such as variable voltage or current methods. For example, the processor can modulate the PWM signals to control any or all of a gate open speed, a gate open duration, and a gate close speed. As described herein, altering gate open and close speeds, and gate open duration, allows for products of various types to be dispensed effectively and can account for various configurations of vending machine shelves. At block 1118, the processor, via the PWM signals to the product dispensers or gates, dispenses the selected product according to the modulated PWM signals and the timing parameters. The processor ends at block 1120.
Controlling of the speed and timing of product dispensing as described herein allows for the use of one product gate, such as shown in
The single gate design and adjustable timing disclosed herein allows for a greater range of package types. The timing parameters depend on numerous characteristics including the material, shape, weight, and contents of each product as well as the dimensions and other characteristics of the shelf holding the product. The transition speed between closed to open position of the gate, how long it should remain open, and how quickly the gate should transition from open to closed can all be controlled. In some embodiments, additional sensors can be installed within the vending machine that provide feedback on the timing parameters, which can be used to further optimize the timing parameters.
It will be understood that the system 1200 may be differently configured and that each of the listed components may actually represent several different components. For example, the VMC 1202 may actually represent a multi-processor or a distributed processing system; the memory 1204 may include different levels of cache memory, and main memory; the user interface 1206 may include monitors, keyboards, touchscreens, keypads, and the like, that can be used for products selection; the at least one network interface 1208 may include one or more network cards providing one or more wired and/or wireless connections to the network 1220. Therefore, a wide range of flexibility is anticipated in the configuration of the system 1200, which may range from a single physical platform configured primarily for a single user or autonomous operation to a distributed multi-user platform such as a cloud computing system. The network 1220 may be a single network or may represent multiple networks, including networks of different types, whether wireless or wired. For example, the system 1200 may be coupled to external devices via a network that includes a cellular link coupled to a data packet network, or may be coupled via a data packet link such as a wide local area network (WLAN) coupled to a data packet network or a Public Switched Telephone Network (PSTN). Accordingly, many different network types and configurations may be used to couple the system 1200 with external devices.
The memory 1204, in various embodiments, can include instructions, utilized by the VMC 1202, for performing some or all of the steps, processes, and methods described herein. For example, the memory 1204 can store one or more applications 1212 that provide instructions for performing storing and retrieving timing parameters and currently stocked product data, and for adjusting the timing of the product dispensers 1210 based on the retrieved timing parameters and currently stocked product data. For example, the memory 1204 can store timing parameter data 1222, which, as illustrated in
The timing parameter data 1222 can further include product dispenser timings specific to combinations of vending machine storage locations and product types. For example, as illustrated in
The timing parameter data 1222, in some embodiments, can be pre-loaded before data concerning stocked products and associated locations is loaded. As such, data on a specific product and location can be stored ahead of time in the event that such a product and location combination are used in the vending machine. As such, it will be understood that the timing parameter data 1222 can include any number of timings for products, vending machine storage locations, or combinations thereof, and the examples shown in
The various embodiments described herein can also be used in a micromarket environment. In a micromarket, customers can walk in, open a door and pick up a product. They can pay after taking products from a shelf. Some cashless stores employ multiple sensors to observe products on shelves and use data from those shelves to determine if a product is picked up. In some cases, products are behind a gate. If a product is behind a gate that permits variable times in closing, variable gate closing times as described in the various embodiments herein could reduce or eliminate using a sensor to monitor if a product is picked, especially if shelves are at an angle and when a customer is pulling out a product the gate opens to allow customer to pull the product and closes afterwards, ensuring that only one product is pulled at a time. In one aspect thereof, a vending machine comprises a chassis, at least one shelf including a plurality of product rows, a plurality of product gates each coupled to an associated one of the plurality of product rows, a movable stage, a retrieval platform coupled to the movable stage, wherein the retrieval platform is operable to move to accept a product from one of the plurality of product rows, and a vending machine controller coupled to at least one memory. The vending machine controller is configured to determine a product code and a storage location of a selected product for vending, retrieve, from the at least one memory, timing parameters associated with at least one of the product code or the storage location of the selected product, and control one or more timings of one of the plurality of product gates associated with the determined storage location of the selected product, based on the retrieved timing parameters, to release the selected product from the at least one shelf to the retrieval platform.
In some vending machine systems, when receiving a product from a column or a product tray into a non-tilting platform or dispenser having a horizontal base, the product may tilt or bridge. Bridging occurs when the top of a product tilts during the vending process and is unable to move from the tray into the dispenser. Tilting and bridging lead to failed product exchanges from the tray to the dispenser. Additionally, products on a product tray can slide into the product retrieval platform from the product tray when a product gate is opened. The product gate then closes to retain other products on the product tray. However, different product types can slide or move down the product tray at different rates depending on various aspects of the product such as the size or weight of the product. If the product gates were to all open and close at the same rates, this could lead to failed product exchanges in which a product is not released from the tray or is caught in the gate due to the gate closing too soon, for example. In some cases, it may be that products slide quickly, but there is found to be a delay in which the product begins sliding. In addition, different product trays, such as product trays of different angles, can cause products to slide at different rates.
To address the technical problems above, this disclosure provides a vending machine comprising a chassis, at least one shelf system including a plurality of product rows, a plurality of product gates each coupled to an associated one of the plurality of product rows, a movable stage, a retrieval platform coupled to the movable stage, wherein the retrieval platform is operable to move to accept a product from one of the plurality of product rows, and a vending machine controller coupled to at least one memory. The vending machine controller is configured to determine a product code and a storage location of a selected product for vending, retrieve, from the at least one memory, timing parameters associated with at least one of the product code or the storage location of the selected product, and control one or more timings of one of the plurality of product gates associated with the determined storage location of the selected product, based on the retrieved timing parameters, to release the selected product from the at least one shelf system to the retrieval platform.
To address the technical problems above, this disclosure also provides a method of dispensing a product from a vending machine comprising receiving data on a selected product for vending, determining a product code and a storage location of a selected product for vending, retrieving timing parameters associated with at least one of the product code or the storage location of the selected product, moving a retrieval platform coupled to a moveable stage to a position to accept the selected product from one of a plurality of product rows of at least one shelf system of the vending machine, and controlling one or more timings of one of a plurality of product gates associated with the determined storage location of the selected product, based on the retrieved timing parameters, to release the selected product from the at least one shelf system to the retrieval platform, wherein each of the plurality of product gates are coupled to an associated one of the plurality of product rows.
Manufacturing variations in vending machines can create differences in product location with reference to a “home” position from machine to machine, and variations in the interface with the delivery location with reference to a “home” position. Additionally, because of variations in the terrain where a machine is placed and how it is leveled, and other factors such has insulating foam swelling, the delivery location interface can change with reference to a “home” position within an individual machine from the factory to the placement location, and even over time in a single machine at a single placement location. These variations can cause a product delivery mechanism in the vending machine to incorrectly dispense products, such as either failing to move to the correct location to retrieve a product from a shelf, or fail to move to the correct position to dispense the product to a delivery location for customer retrieval.
In current systems, the storage shelf locations are selected by a factory operator from a menu of preset selections before a machine is shipped. This assumes that the shelf location is fixed and is not configurable by the machine owner to accommodate different sized products over the life of the machine. Compensation for the manufacturing variation in the location of the shelves with respect to a “home” position is programmed into the vending machine controller by a factory operator. This is prone to human error and requires time in the manufacturing process. Compensation for variations in the location of the shelves with respect to the “home” position of a product delivery mechanism, such as the product cup or platform 220, can be referred to as “vertical calibration.” Vertical calibration involves programming a shelf offset, which defines the variation of the home position of the product delivery mechanism and the bottom of the shelf and the location of a product release mechanism, such as the button 616.
For example, as shown in
When the shelf offset is incorrect, the product delivery mechanism can become misaligned such that the product delivery mechanism either contacts the product release mechanism 1304 of the shelf at an angle, or completely misses the product release mechanism, as shown in
Additionally, compensation for the manufacturing variation in the location of the delivery interface can be either programmed into the vending machine by a factory operator, which is prone to human error and takes time in the manufacturing process, or automatically detected by the vending machine controller using a model that detects the interface by means of stalling a motor that controls the delivery device against the delivery interface. This is prone to other errors and variation in manufacturing that would create a motor stall prior to finding the product delivery interface. Compensation for variations in the location of the delivery interface, such as the access port 105, with respect to the “home” position of a product delivery mechanism, such as the product cup or platform 220, can be referred to as “horizontal calibration.” Horizontal calibration involves programming a hook offset, that is, how far the product delivery mechanism has to travel to the access port to dispense a product.
For example, a hook or ledge of the product delivery mechanism, such as the ledge 511 of the product cup or platform 500 illustrated in
Compensation for the variation in the location of the delivery interface that is introduced by the environment and leveling of a machine once it is placed on location, and the variation that can happen over time with the insulating foam swelling or shrinking, cannot be accounted for at the factory and must be dynamically detected, with the vending machine stalling the delivery system against the delivery interface at intervals over the life of the machine. This is also prone to the same errors identified above. The location of each product is programmed into the vending machine controller by the machine owner or his agent such as a service technician or a product delivery person. This also is prone to human error by either forgetting to program product location, forgetting to change the program when locations change, or accidentally loading a product into the wrong location. It also requires time from the machine owner or his agent to properly program each product location and to keep up with changes. Additionally, the price of each product is programmed into the vending machine controller by the machine owner or his agent, which is prone to the same errors and time requirements as detailed above. There is therefore a need for a system to reduce or eliminate human error and the time required to resolve the above problems.
In order to reduce or eliminate the human error and the time required to resolve problems with shelf and hook offsets and problems with the updating of product information in the system, a static image of the machine storage area, captured using the image capture device 1902, can be used, with image processing models, to determine what product is stored in each location, the shelf location with reference to the “home” position, and the location of the delivery interface with reference to the “home” position in an x-y coordinate system. The image processing model can be programmed, and/or trained, to recognize the machine's physical features to identify the product locations, shelf locations, and delivery interface and determine their position in an x-y coordinate system relative to a “home” location. In some embodiments, to aid the image processing model to recognize these locations, a visual marker that can be recognized by the image processing model can be placed in fixed proximity to these key features. The visual marker can be a geometric pattern or other visual marker. The image of the vending machine can be analyzed by the image capture device 1902, or transmitted over a network, such as network 1220 of
For example, as shown in
The image of the vending machine can also be used to determine the location of the product delivery mechanism, such as an X-Y position 1906 of the product delivery mechanism 220. The image can be taken while the product delivery mechanism is at various positions, such as at the starting position, e.g., situated in a bottom corner of the vending machine opposite the access port 105, or at other positions such as in a product retrieval position in front of a product shelf, or in a product dispensing position in proximity to the access port. From the X-Y position detected in the image by either the vending machine, image capture device 1902, or the server, the current shelf offset and/or hook offset is determined, and, if the offset indicates the product retrieval mechanism needs vertical and/or horizontal calibration to better align the product retrieval mechanism with either the shelves or the access port, the vending machine, image capture device 1902, or the server provides an instruction to update the position of the product retrieval mechanism with respect to the “home” position.
By using the static image to resolve the location of the product storage shelves, the product delivery interface, and the type of product at each location, the time for an operator to program these parameters, as well as the human error, is eliminated. Using a static image each time the vending machine is loaded with new product will eliminate the problem of making sure product location is reprogrammed and also will provide a convenient time interval for catching variations in the product delivery location interface.
The image processing model(s) disclosed herein can be a machine learning model that is trained to recognize objects such as products or the product delivery mechanism within the vending machine. Such machine learning models can include convolutional neural networks (CNNs), such as a deep and/or a region based CNNs, single shot detector (SSD) models, You Only Look Once (YOLO) models, or other image recognition models. For example, in some embodiments, the image processing model(s) is trained to detect a product in a captured image based on recognition of the product packaging, create a bounding pox around the product such as shown in
The process 2000 starts at block 2002, and, at block 2004, an image of a vending machine is captured, such as by the image capture device 1902. At block 2006, the processor analyzes the image, such as a processor of one of the image capture device, the vending machine, or the server as described with respect to
At decision block 2008, the processor determines if a change is detected. For example, the processor can determine whether the product delivery mechanism is positioned with correct shelf or hook offsets and relative to the “home” position, as well as X-Y coordinates of other objects in the image such as the shelves or access port, or if the position of the product delivery mechanism has changed relative to these objects within the vending machine. If so, the process 2000 moves to block 2010, in which the processor updates a database and/or the memory 1204 with new values or parameters. For example, the processor may update the vertical and/or horizontal offset of the product delivery mechanism relative to a “home” position, to correct one or more of the shelf or hook offset. The process 2000 then moves to block 2012. If, at decision block 2008, the processor does not detect a change, or otherwise does not determine corrective action is needed with respect to the determined X-Y coordinates, the process 2000 moves to block 2012.
At block 2012, the processor analyzes the captured image to identify products in the image and stored on shelves of the vending machine. At decision block 2014, the processor determines if a change is detected. For example, the processor can determine whether a product stored at a location on a shelf within the vending machine is the product that is expected to be there as compared to product information and product location information in a database or in the memory 1204, or if a different product is present at the X-Y location. If a different product than expected is present at the location, the process 2000 moves to block 2016, in which the processor updates a database and/or the memory 1204 with new values or parameters. For example, the processor may update the database or memory with the detected product's product ID and other information related to the product such as the product price or gate open and close timings. The process 2000 then moves to decision block 2018. If, at decision block 2014, the processor does not detect a change, or otherwise does not determine corrective action is needed with respect to the products identified in the image, the process 2000 moves to decision block 2018.
At decision block 2018, the processor determines if feedback is received. For example, if the image captured in block 2004 does not meet a quality threshold, is taken at an angle that inhibits object detection, etc., the device in receipt of the image, such as the server, can provide a feedback loop in which an instruction is provided to attempt image re-capture, and the process 2000 moves back to block 2004. This feedback loop can continue, with the process 2000 looping from decision block 2018 back to block 2004, until no feedback, or positive feedback, is provided, at which point, the process 2000 ends at block 2020.
Although
At step 2102, products are arranged in the vending machine. At step 2104, the operator captures one or more images of products in the vending machine using the handheld device. At step 2106, images are sent from the handheld device to the vending machine. At step 2108, the vending machine identifies products from the images, such as described with respect to
Although
At step 2202, products are arranged in the vending machine. At step 2204, the operator captures one or more images of products in the vending machine using the handheld device. At step 2206, the handheld device identifies products from the images, such as described with respect to
Although
At step 2302, products are arranged in the vending machine. At step 2304, the operator captures one or more images of products in the vending machine using the handheld device. At step 2306, images are sent from the handheld device to the remote computer. At step 2308, the remote computer identifies products from the images, such as described with respect to
Although
At step 2402, products are arranged in the vending machine. At step 2404, the mounted camera captures one or more images of products in the vending machine. At step 2406, the mounted camera provides the images to the vending machine and the vending machine identifies products from the images, such as described with respect to
Although
At step 2502, products are arranged in the vending machine. At step 2504, the mounted camera captures one or more images of products in the vending machine. At step 2506, images are sent from the mounted camera to the remote computer. At step 2508, the remote computer identifies products from the images, such as described with respect to
Although
It is understood that the system 2600 may be differently configured and that each of the listed components may actually represent several different components. For example, the CPU 2602 may actually represent a multi-processor or a distributed processing system; the memory unit 2604 may include different levels of cache memory, and main memory; the I/O device 2606 may include monitors, keyboards, touchscreens, and the like; the at least one network interface 2608 may include one or more network cards providing one or more wired and/or wireless connections to a network 2620; and the storage drive 2612 may include hard disks and remote storage locations. Therefore, a wide range of flexibility is anticipated in the configuration of the system 2600, which may range from a single physical platform configured primarily for a single user or autonomous operation to a distributed multi-user platform such as a cloud computing system.
The system 2600 may use any operating system (or multiple operating systems), including various versions of operating systems provided by Microsoft (such as WINDOWS), Apple (such as Mac OS X), UNIX, RTOS, and LINUX, and may include operating systems specifically developed for handheld devices (e.g., iOS, Android, RTOS, Blackberry, and/or Windows Phone), personal computers, servers, and other computing platforms depending on the use of the system 2600. In some embodiments, the system 2600 can be a compact system such as a Raspberry Pi running a Linux-based operating system such as Debian. The operating system, as well as other instructions (e.g., for telecommunications and/or other functions provided by the device 2600), may be stored in the memory unit 2604 and executed by the processor 2602. For example, if the system 2600 is, or is part of, the device 2600, the memory unit 2604 may include instructions for performing some or all of the steps, process, and methods described herein.
The network 2620 may be a single network or may represent multiple networks, including networks of different types, whether wireless or wired. For example, the device 2600 may be coupled to external devices via a network that includes a cellular link coupled to a data packet network, or may be coupled via a data packet link such as a wide local area network (WLAN) coupled to a data packet network or a Public Switched Telephone Network (PSTN). Accordingly, many different network types and configurations may be used to couple the device 2600 with external devices.
Although
In one example embodiment, a vending machine comprises a chassis, at least one shelf system including a plurality of product rows, a plurality of product gates each coupled to an associated one of the plurality of product rows, a movable stage, a retrieval platform coupled to the movable stage, wherein the retrieval platform is operable to move to accept a product from one of the plurality of product rows, and a vending machine controller coupled to at least one memory. The vending machine controller is configured to determine a product code and a storage location of a selected product for vending, retrieve, from the at least one memory, timing parameters associated with at least one of the product code or the storage location of the selected product, and control one or more timings of one of the plurality of product gates associated with the determined storage location of the selected product, based on the retrieved timing parameters, to release the selected product from the at least one shelf system to the retrieval platform.
In one or more of the above examples, the timing parameters include parameters for a gate opening speed, a gate open duration, and a gate closing speed.
In one or more of the above examples, to control the one or more timings of the one of the plurality of product gates, the vending machine controller is further configured to modulate one or more pulse width modulation (PWM) signals, wherein each of the one or more PWM signals are associated with one of the gate opening speed, the gate open duration, and the gate closing speed.
In one or more of the above examples, the timing parameters associated with the storage location of the selected product are based on dimensions of the at least one shelf system and an angle of one of the plurality of product rows associated with the storage location of the selected product.
In one or more of the above examples, the timing parameters associated with the product code are based on at least one of shape or weight of a product type associated with the product code.
In one or more of the above examples, the vending machine further comprises a pusher plate mounted on a sidewall of at least one product row of the plurality of product rows, wherein the pusher plate is operable to push products in the at least one product row towards an end of the at least one product row.
In one or more of the above examples, the end of the at least one product row is associated with a retrieval location of the retrieval platform.
In one or more of the above examples, the retrieval platform includes a surface disposed at a base of the retrieval platform, and wherein the retrieval platform is operable to rotate in a direction of the at least one shelf system when the movable stage positions the retrieval platform in relation to one of the plurality of product rows.
In one or more of the above examples, each of the plurality of product gates includes a release mechanism operable to release a product from the associated one of the plurality of product rows when, due to the rotation of the retrieval platform, the surface of the retrieval platform depresses the release mechanism.
In one or more of the above examples, an angle of the retrieval platform, when the retrieval platform rotates in the direction of the at least one shelf system, matches an angle of at least one of the plurality of product rows.
In another example embodiment, a method of dispensing a product from a vending machine comprises receiving data on a selected product for vending, determining a product code and a storage location of a selected product for vending, retrieving timing parameters associated with at least one of the product code or the storage location of the selected product, moving a retrieval platform coupled to a moveable stage to a position to accept the selected product from one of a plurality of product rows of at least one shelf system of the vending machine, and controlling one or more timings of one of a plurality of product gates associated with the determined storage location of the selected product, based on the retrieved timing parameters, to release the selected product from the at least one shelf system to the retrieval platform, wherein each of the plurality of product gates are coupled to an associated one of the plurality of product rows.
In one or more of the above examples, the timing parameters include parameters for a gate opening speed, a gate open duration, and a gate closing speed.
In one or more of the above examples, controlling the one or more timings of the one of the plurality of product gates includes modulating one or more pulse width modulation (PWM) signals, wherein each of the one or more PWM signals are associated with one of the gate opening speed, the gate open duration, and the gate closing speed.
In one or more of the above examples, the timing parameters associated with the storage location of the selected product are based on dimensions of the at least one shelf system and an angle of one of the plurality of product rows associated with the storage location of the selected product.
In one or more of the above examples, the timing parameters associated with the product code are based on at least one of shape or weight of a product type associated with the product code.
In one or more of the above examples, the method further comprises pushing, with a pusher plate mounted on a sidewall of at least one product row of the plurality of product rows, products in the at least one product row towards an end of the at least one product row.
In one or more of the above examples, the end of the at least one product row is associated with a retrieval location of the retrieval platform.
In one or more of the above examples, the retrieval platform includes a surface disposed at a base of the retrieval platform, and further comprising rotating the retrieval platform in a direction of the at least one shelf system when the movable stage positions the retrieval platform in the position to accept the selected product.
In one or more of the above examples, the method further comprises depressing, by the surface of the retrieval platform when the retrieval platform rotates, a release mechanism of one of the plurality of product gates to release a product from the associated one of the plurality of product rows.
In one or more of the above examples, an angle of the retrieval platform, when the retrieval platform rotates in the direction of the at least one shelf system, matches an angle of at least one of the plurality of product rows.
In another example embodiment, an operator can take picture of a vending machine product placement after arranging products in product locations using a camera. The camera sends a picture or pictures to a remote computer. The remote computer identifies products with location. The remote computer fetches at least one timing parameter such as a gate opening speed, a gate open duration, and a gate closing speed associated with that particular product and sends those timing parameters to the vending machine.
In one or more of the above examples, the camera sends picture or pictures to the vending machine. The vending machine carries out image processing and identifies product in pictures. The vending machine associates identified product with a particular location. The vending machine queries the remote computer for dispensing parameters. The remote computer sends dispensing parameters to the vending machine. The vending machine updates dispensing parameters for the identified product.
In one or more of the above examples, the vending machine carries out image processing and identifies product in pictures. The vending machine associates identified product with a particular location. The vending machine fetches dispensing parameters for identified product. The vending machine updates dispensing parameters for the identified product.
In one or more of the above examples, a processor enclosed in same enclosure as the camera carries out image processing and identifies product in pictures. The processor enclosed in the same envelope as the camera also associates identified product with a particular location. The processor enclosed in the same envelope as the camera fetches dispensing parameters for the identified product. The processor enclosed in the same envelope as the camera transmits dispensing parameters to the vending machine.
In one or more of the above examples, the operator inserts new dispensing parameters for identified product in the pictures.
In one or more of the above examples, the operator modifies dispensing parameters for identified product in the pictures.
In one or more of the above examples, the remote computer also sends the product location to the vending machine.
In one or more of the above examples, the remote computer can also send timing parameters for all product locations.
In another example embodiment, a camera mounted on X-Y platform can take pictures of vending machine product placement after products the vending machine have been arranged in designated product locations. The vending machine carries out image processing and identifies product in pictures. The vending machine associates identified product with a particular location. The vending machine queries the remote computer for dispensing parameters. The remote computer sends dispensing parameters to the vending machine. The vending machine updates dispensing parameters for the identified product.
In one or more of the above examples, the vending machine sends images to a remote computer for image processing and product identification. The remote computer identifies products with location. The remote computer fetches at least one timing parameter such as a gate opening speed, a gate open duration, and a gate closing speed associated with that particular product and sends those timing parameters to the vending machine.
In another example embodiment, a system comprises a vending machine having a product delivery mechanism operable to retrieve products from a shelf and deposit products into an access port for retrieval, an image capture device operable to capture at least one image of an interior compartment of the vending machine, and a vending machine controller coupled to at least one memory, wherein the vending machine controller is configured to receive, based on an analysis of the at least one image, one or more instructions to update a memory coupled to the vending machine controller, wherein the one or more instructions include at least one of an instruction to update a vertical or horizontal calibration of the product delivery mechanism and an instruction to update product information of one or more products stored in the vending machine.
In another example embodiment, a system comprises a vending machine having a product delivery mechanism operable to retrieve products from a shelf and deposit products into an access port for retrieval, an image capture device operable to capture at least one image of an interior compartment of the vending machine, said image capture device mounted on the product delivery mechanism, a vending machine controller coupled to at least one memory, wherein the vending machine controller is configured to receive, based on an analysis of the at least one image, one or more instructions to update a memory coupled to the vending machine controller, the image capture device to send captured images to a processor, the processor to identify at least a product from the images, the processor to associate the product with at least a location, the processor to retrieve from the at least one memory, timing parameters associated with the product for the associated location, and the processor to provide timing parameters associated with the product to the vending machine controller.
In another example embodiment, a system comprises a vending machine having a product delivery mechanism operable to retrieve products from a shelf and deposit products into an access port for retrieval, an image capture device operable to capture at least one image of an interior compartment of the vending machine, a vending machine controller coupled to at least one memory, wherein the vending machine controller is configured to receive, based on an analysis of the at least one image, one or more instructions to update a memory coupled to the vending machine controller, the image capture device to send captured images to a processor, the processor to identify at least a product from the images, the processor to associate the product with at least a location, the processor to retrieve from the at least one memory, timing parameters associated with the product for the associated location, and the processor to provide timing parameters associated with the product to the vending machine controller.
In another example embodiment, a method of retrieving dispense parameters of products in a vending machine to the vending machine comprises an operator taking an image of at least a product in one of the shelves of the vending machine, associating the product with a location, sending the image of the product and location to the vending machine, a processor identifying at least a product from the images, and retrieving, from the at least one memory, timing parameters associated with the product for the location.
In another example embodiment, a method of providing dispense parameters of products in a vending machine to the vending machine comprises an operator taking an image of at least a product in one of the shelves of the vending machine, a processor identifying at least a product from the images, the processor associating the product with a location, retrieving, from the at least one memory, timing parameters associated with the product for the associated location, and providing timing parameters associated with the product to the vending machine.
In another example embodiment, a system comprises a vending machine including a product delivery platform operable to retrieve products from a shelf and deposit products into an access port for retrieval, an image capture device operable to capture at least one image of an interior compartment of the vending machine, and a vending machine controller coupled to at least one memory, wherein the vending machine controller is configured to receive, based on an image analysis of the at least one image, one or more instructions to update the at least one memory.
In one or more of the above examples, the image capture device is mounted on the product delivery platform.
In one or more of the above examples, the one or more instructions include at least one of an instruction to update a vertical calibration or a horizontal calibration of the product delivery platform and an instruction to update product information of one or more products stored in the vending machine.
In one or more of the above examples, the instruction to update the product information of the one or more products is received in response to the image analysis of the at least one image indicating a change in product placement in the vending machine for at least one product of the one or more products.
In one or more of the above examples, the vending machine further includes a plurality of product gates disposed on the shelf of the vending machine, and wherein the product information includes dispensing parameters for at least one of the plurality of product gates associated with the at least one product.
In one or more of the above examples, the dispensing parameters include a gate opening speed, a gate open duration, and a gate closing speed.
In one or more of the above examples, the instruction to update the vertical calibration or the horizontal calibration of the product delivery platform is received in response to the image analysis of the at least one image indicating an offset of the product delivery platform from a home position of the product delivery platform.
In one or more of the above examples, the instruction to update the vertical calibration or the horizontal calibration of the product delivery platform is provided to correct the offset from the home position.
In one or more of the above examples, the home position of the product delivery platform is determined based on the image analysis of the at least one image indicating a change in position of the product delivery platform in relation to other objects in the vending machine.
In one or more of the above examples, the image capture device is configured to transmit the at least one image to a remote device configured to perform the image analysis, and the vending machine controller is configured to receive the one or more instructions to update the at least one memory from the remote device.
In another example embodiment, a method comprises capturing, by an image capture device, at least one image of an interior compartment of a vending machine, the vending machine including a product delivery platform that retrieves products from a shelf and deposits products into an access port for retrieval, and receiving, by a vending machine controller coupled to at least one memory, one or more instructions to update the at least one memory based on an image analysis of the at least one image.
In one or more of the above examples, the image capture device is mounted on the product delivery platform.
In one or more of the above examples, the one or more instructions include at least one of an instruction to update a vertical calibration or a horizontal calibration of the product delivery platform, and an instruction to update product information of one or more products stored in the vending machine.
In one or more of the above examples, the method further comprises receiving the instruction to update the product information of the one or more products in response to the image analysis of the at least one image indicating a change in product placement in the vending machine for at least one product of the one or more products.
In one or more of the above examples, the vending machine further includes a plurality of product gates disposed on the shelf of the vending machine, and wherein the product information includes dispensing parameters for at least one of the plurality of product gates associated with the at least one product.
In one or more of the above examples, the dispensing parameters include a gate opening speed, a gate open duration, and a gate closing speed.
In one or more of the above examples, the method further comprises receiving the instruction to update the vertical calibration or the horizontal calibration of the product delivery platform in response to the image analysis of the at least one image indicating an offset of the product delivery platform from a home position of the product delivery platform.
In one or more of the above examples, the method further comprises providing the instruction to update the vertical calibration or the horizontal calibration of the product delivery platform to correct the offset from the home position.
In one or more of the above examples, the method further comprises determining the home position of the product delivery platform based on the image analysis of the at least one image indicating a change in position of the product delivery platform in relation to other objects in the vending machine.
In one or more of the above examples, the method further comprises transmitting, by the image capture device, the at least one image to a remote device to perform the image analysis and receiving, by the vending machine controller, the one or more instructions to update the at least one memory from the remote device.
While the present disclosure has described certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not define or constrain the present disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of the present disclosure, as defined by the following claims.
This application is a 371 National Stage of International Application No. PCT/US2022/078471, filed Oct. 20, 2022, which claims priority to U.S. Provisional Patent Application No. 63/263,073, filed Oct. 26, 2021, the disclosures of which are incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/078471 | 10/20/2022 | WO |
Number | Date | Country | |
---|---|---|---|
63263073 | Oct 2021 | US |