Patent ID: 12198512

In the accompanying figures, like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate embodiments of concepts that include the claimed invention, and explain various principles and advantages of those embodiments.

Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the invention. In general, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts.

The apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Skilled artisans will readily recognize from the following discussion that alternate embodiments of the structures and methods illustrated herein may be employed without departing from the principles set forth herein.

DETAILED DESCRIPTION

Reference will now be made in detail to non-limiting examples, some of which are illustrated in the accompanying drawings.

The examples disclosed herein relate to methods and apparatus to indicate off-platter weigh conditions for barcode reading and weighing platter apparatus, such as bioptic barcode readers, having off-platter detection assemblies to identify when an object extends off of a weigh platter of the barcode reading and weighing platter apparatus and identify such off-platter weigh conditions to a point-of-sale (POS) system of a retail store.

Referring toFIG.1, an example barcode reading and weighing apparatus100, such as the Zebra® MP7000 bioptic barcode reader, is shown. The barcode reading and weighing apparatus100can be configured to be physically supported by a workstation102, such as a checkout counter at a POS of a retail store. The barcode reading and weighing apparatus100has an example housing104that includes an example lower housing106that houses an example weigh platter assembly108, and an example upper housing110that extends generally perpendicular to the lower housing106. The upper housing110includes an example generally vertical window112to allow a first set of optical components positioned within the upper housing110to form a first field-of-view through the vertical window112. In addition, if the barcode reading and weighing apparatus100is a bioptic barcode scanner, the lower housing106will include a generally horizontal window114, which is positioned in a weigh platter116of the weigh platter assembly108to allow a second set of optical components positioned within lower housing106to form a second field of view through the horizontal window114. The first and second fields of view intersect to define a product scanning region118of the barcode reading and weighing apparatus100where a product can be scanned for sale at the POS.

Although the weigh platter assembly108can be used with a barcode scanner or bioptic barcode reader, the weigh platter assembly108can be used with any type of scanner, reader or POS device101, or can be used as a stand-alone scale or weighing device. Whether used as part of a barcode reader, scanner or POS device101, or as a stand-alone scale or weighing device, the weigh platter assembly108will generally include the weigh platter116and an example scale120configured to measure the weight of an object placed on an example surface122of the weigh platter116. The surface122extends in a first transverse plane and is generally or substantially parallel to an example top surface124of the workstation102that at least partially surrounds the weigh platter116.

To detect an off-platter weigh condition, the barcode reading and weighing apparatus100includes an example off-platter detection assembly126. The off-platter detection assembly126includes an example light emission assembly128, and an example light detection assembly130. An example processing platform132is in communication with the light emission assembly128and the light detection assembly130and/or, more generally, the off-platter detection assembly126. The processor platform132is in communication with a light source (not shown for clarity of illustration) of the light emission assembly128, and with a light sensor (not shown for clarity of illustration) of the light detection assembly130. If the light source of the light emission assembly128is configured by the processing platform132to emit one or more pulses of light, the processing platform132can process light detection information captured by the light detection assembly130to detect when a portion of an item, object, etc. is not resting on or is extending over an edge of the weigh platter116as an off-platter weigh condition. For simplicity, only a single light emission assembly128and only a single light detection assembly130are described herein, however, it will be understood that off-platter detection assembly126can also include any number and/or type(s) of light emission assemblies, and any number and/or type(s) light detection assemblies may be implemented to detect off-platter weigh condition.

Example methods and apparatus to implement the light emission assembly128, the light detection assembly130and/or, more generally, the off-platter detection assembly126to detect when a portion of an item, object, etc. is not resting on or extending over an edge of the weigh platter116are disclosed in: U.S. patent application Ser. No. 16/723,999, entitled “Method Of Detecting Item Is Off Platter During Weight Measurement Using Object Recognition Camera,” and filed on Dec. 20, 2019; U.S. patent application Ser. No. 16/724,018, entitled “Intelligent Indication in Off Platter Detection Systems,” and filed on Dec. 20, 2019; U.S. patent application Ser. No. 16/724,027, entitled “Light Based Off Platter Detection System,” and filed on Dec. 20, 2019; U.S. patent application Ser. No. 16/724,043, entitled “Joint Camera-Based Off Platter Detection & Object Recognition System,” and filed on Dec. 20, 2019; U.S. patent application Ser. No. 16/724,052, entitled “Parallax-Based Method of Off-Platter Detection,” and filed on Dec. 20, 2019; U.S. patent application Ser. No. 16/724,060, entitled “Modular Scale Accuracy Monitor,” and filed on Dec. 20, 2019; and U.S. patent application Ser. No. 16/724,082, entitled “Weigh Platter Assembly With Off-Platter Detection,” and filed on Dec. 20, 2019. U.S. patent application Ser. No. 16/723,999, U.S. patent application Ser. No. 16/724,018, U.S. patent application Ser. No. 16/724,027, U.S. patent application Ser. No. 16/724,043, U.S. patent application Ser. No. 16/724,052, U.S. patent application Ser. No. 16/724,060, and U.S. patent application Ser. No. 16/724,082 are hereby incorporated herein by reference in their entirety.

The example processing platform132includes a processor134such as programmable processor, a programmable controller, a graphics processing unit (GPU), a digital signal processor (DSP), etc. Alternatively, an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), a field programmable logic device (FPLD), a logic circuit, etc. may be structured or configured to implement the processing platform132and/or the processor134. The processor platform132includes memory136to store software, logic and/or computer-readable instructions that may be executed by the processor134. Example memory136include any number or type(s) of non-transitory computer-readable storage medium or disk, such as a hard disk drive (HDD), an optical storage drive, a solid-state storage device, a solid-state drive (SSD), a read-only memory (ROM), a random-access memory (RAM), a compact disc (CD), a compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a Blu-ray disk, a cache, a flash memory, or any other storage device or storage disk in which information may be stored for any duration (e.g., permanently, for an extended time period, for a brief instance, for temporarily buffering, for caching of the information, etc.). The processing platform600shown inFIG.6may be used to implement the processing platform132.

To read, capture, scan, etc. machine-readable codes in the form of numbers and/or a pattern of parallel lines of varying widths, printed on and identifying a product (e.g., a barcode), the barcode reading and weighing apparatus100includes a barcode reader138, a scanner, etc. Barcodes read by the barcode reader138are provided to the processing platform132.

To communicatively couple the barcode reading and weighing apparatus100to other systems such as the POS system101, the barcode reading and weighing apparatus100includes one or more communication interfaces, one of which is designated at reference numeral140. The processing platform132can communicate with other systems, such as a POS system101, via the communication interface140.

While an barcode reading and weighing apparatus100is shown inFIG.1, one or more of the elements, processes, components, devices, etc. illustrated inFIG.1may be combined, divided, re-arranged, omitted, eliminated or implemented in any other way. Further, the barcode reading and weighing apparatus100may include one or more elements, processes, components, devices, etc. in addition to, or instead of, those illustrated inFIG.1, or may include more than one of any or all of the illustrated elements, processes, components, devices, etc.

A flowchart200representative of example processes, methods, logic, software, computer- or machine-readable instructions for implementing the barcode reading and weighing apparatus100is shown inFIG.2. The program ofFIG.2begins at block202. If the processing platform132detects an item is on the weigh platter116(e.g., by registering a weight via the scale120) (block202), the processing platforms132accesses (e.g., reads, obtains, retrieves, etc.) the weight (block204). If the off-platter detection assembly126detects an off-platter weigh condition (block206), the processing platform132modifies the weight (block208). Example modifications include, but are not limited to, changing the weight value to an out-of-bounds value, to an invalid weight, to have a reversed sign, to append a message, indicator, flag, etc., to add a letter character, etc. In some examples, the weight is modified to indicate the off-platter weigh condition such that another system, such as the POS system101, can obtain the original weight from the modified weight. The processing platform132sends the modified weight to, for example, the POS system101via the communication interface140(block210). If a barcode was identified by the barcode reader138(block212), the barcode reader138reads the barcode (block214). The processing platform132sends the barcode to, for example, the POS system101via the communication interface140(block216). Control returns to block202to wait for another item to be placed on the weigh platter116or a barcode to be identified. Together and/or separately, the modified weight and/or the barcode can be used to charge for the item and/or verify the item.

Returning to block206, if an off-platter weigh condition is not detected (block206), the un-modified weight is sent to another system, such as the POS system101(block218), and control proceeds to block212to determine whether a barcode was identified (block212).

Returning to block202, if an item is not on the weigh platter116(block202), control proceeds to block212to determine whether a barcode was identified (block212).

While the example flowchart ofFIG.2includes the detection and handling of barcodes, such functionality may be omitted.

A flowchart300representative of example processes, methods, logic, software, computer- or machine-readable instructions for implementing the barcode reading and weighing apparatus100is shown inFIG.3. The program ofFIG.3begins at block302. If the processing platform132detects an item is on the weigh platter116(e.g., by registering a weight via the scale120) (block302), and the processing platform132detects an off-platter weigh condition (block304), the processing platform132disables the weigh platter116and provides an alert to a user of the barcode reading and weighing apparatus100and/or the POS system101(block308). Control returns to block302to wait for another item to be placed on the weigh platter116. In some examples, a measured weight is sent to the POS system101.

Returning to block304, if an off-platter weigh condition is not detected (block304), a weight is measured by the scale120(block310) and sent to another system, such as the POS system101(block312).

A flowchart400representative of example processes, methods, logic, software, computer- or machine-readable instructions for implementing the barcode reading and weighing apparatus100is shown inFIG.4. The program ofFIG.4begins at block402. If the processing platform132detects an item is on the weigh platter116(e.g., by registering a weight via the scale120) (block402), the processing platform132identifies a weight priority for the item (block404). The weight priority can be identified by comparing an item identifier (e.g., a barcode, a PLU code, etc.) with a list of items to obtain it's assigned (e.g., associated, etc.) the weight priority. A weight priority can represent a relative importance of obtaining an accurate weight. For example, a low priority might be assigned to a less expensive item or a lower cost-per-unit-weight item, while a high priority might be assigned to a more expensive item or a higher cost-per-unit-weight item. Accordingly, it may be more important to a retailer to accurately weigh high priority items, as off-platter weigh conditions would result in the item be under weighed. In some examples, a determination of high priority versus low priority is based on a cost-per-unit-weight threshold. The threshold may be adjusted or set by a retailer.

The processing platform132accesses the measured weight of the item (block406). If there is an off-platter weigh condition (block408), and the item has a high priority (block410), then the processing platform132sends an indication to, for example, the POS system101via the communication interface140(block412) that a high priority item was incorrectly weighed. The processing platform132provides an alert to a user of the barcode reading and weighing apparatus100and/or the POS system101that a high priority item was incorrectly weighed (block414). The processing platform132sends the measured weight to the POS system (block416), and control returns to block402to wait for another item to be placed on the weigh platter116.

If there is not an off-platter weigh condition (block408) or an off-platter weigh condition for a low priority item (block410), the processing platform132sends the measured weight to the POS system (block416) and optionally logs the off-platter weigh condition event and/or sends an indication to POS system (not shown), and control returns to block402to wait for another item to be placed on the weigh platter116.

In some examples, the flowchart400ofFIG.4is modified to include barcode detection and barcode reading, as shown in the flowchart200ofFIG.2.

A flowchart500representative of example processes, methods, logic, software, computer- or machine-readable instructions for implementing the barcode reading and weighing apparatus100is shown inFIG.5. The program ofFIG.5begins at block502. If the POS system101receives a weight and/or indication of off-platter weigh condition (block502), the POS system101identifies a weight priority for the item (block504). The weight priority can be identified by comparing an item identifier (e.g., a barcode, a PLU code, etc.) with a list of items to obtain it's assigned the weight priority. In some examples, a determination of high priority versus low priority is based on a cost-per-unit-weight threshold. The threshold may be adjusted or set by a retailer. The POS system101accesses the weight (block506) and determines whether there is an off-platter weigh condition (block508). If there is an off-platter weigh condition (block508) and the item is high priority (block510), then the POS system101sends an alert to the barcode reading and weighing apparatus100to reweigh the item (block512). When a weight is received (block514), the POS system charges the customer for the item (block516), and control returns to block502to wait for another weight and/or indication. In some examples, the flowchart500ofFIG.5is modified to include barcode detection and barcode reading, as shown in the flowchart200ofFIG.2.

The processes, methods, logic, software and instructions ofFIGS.2-5may be an executable program or portion of an executable program for execution by a processor such as the processor602ofFIG.6. The program may be embodied in software or instructions stored on a non-transitory computer- or machine-readable storage device, storage medium and/or storage disk such as a memory, a CD, a compact disc read-only memory CD-ROM, a hard drive, an SSD, a DVD, a Blu-ray disk, a cache, a flash memory, a ROM, a RAM, or any other storage device, medium or storage disk associated with the processor402in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). Further, although the example program is described with reference to the flowchart200illustrated inFIG.2, the flowchart300illustrated inFIG.3, the flowchart400illustrated inFIG.4and the flowchart500illustrated inFIG.5many other methods of implementing the barcode reading and weighing apparatus100may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Additionally, or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, an ASIC, a PLD, an FPGA, an FPLD, a logic circuit, hardware logic, hardware implemented state machines, etc.) structured to perform the corresponding operation without executing software or instructions.

FIG.6is a block diagram representative of an example logic circuit capable of implementing, for example, one or more components of the off-platter detection assembly126, the light emission assembly128, the light detection assembly130, the barcode reader138, the communication interface140or, more generally, the barcode reading and weighing apparatus100, and the POS system101. The logic circuit ofFIG.6is a processing platform600capable of executing instructions to, for example, implement operations of the example methods described herein, as may be represented by the flowcharts of the drawings that accompany this description. Other example logic circuits capable of, for example, implementing operations of the example methods described herein include FPGAs and ASICs.

The example processing platform600ofFIG.6includes an example processor602such as, for example, one or more microprocessors, controllers, and/or any suitable type of processor. The processing platform600ofFIG.6includes memory (e.g., volatile memory, non-volatile memory)604accessible by the processor602(e.g., via a memory controller). The processor602interacts with the memory604to obtain, for example, machine-readable instructions stored in the memory604corresponding to, for example, the operations represented by the flowcharts and/or examples of this disclosure. Additionally or alternatively, machine-readable instructions corresponding to the example operations described herein may be stored on one or more removable media (e.g., a CD, a DVD, removable flash memory, etc.) that may be coupled to the processing platform600to provide access to the machine-readable instructions stored thereon. The machine-readable instructions may be executed by the processor602to implement the off-platter detection assembly126, the light emission assembly128, the light detection assembly130, the barcode reader138, the communication interface140or, more generally, the barcode reading and weighing apparatus100and the POS system101.

The example processing platform600ofFIG.6also includes a network interface606to enable communication with other machines via, for example, one or more networks. The network interface606includes any suitable type of communication interface(s) (e.g., wired and/or wireless interfaces) configured to operate in accordance with any suitable protocol(s). The network interface606may be used to implement the communication interface140.

The processing platform600ofFIG.6also includes input/output (I/O) interfaces608to obtain weights from the scale120, obtain off-platter weigh condition indications, interact (e.g., control and receive data from) with barcode reader138, interact the off-platter detection assembly, interact with the light emission assembly128, interact the light detection assembly130.

AlthoughFIG.6depicts the I/O interfaces608as a single block, the I/O interfaces608may include a number of different types of I/O circuits or components that enable the processor602to communicate with peripheral I/O devices. Example interfaces608include an Ethernet interface, a universal serial bus (USB), a Bluetooth® interface, a near field communication (NFC) interface, and/or a PCI Express interface. The peripheral I/O devices may be any desired type of I/O device such as a keyboard, a display (a liquid crystal display (LCD), a cathode ray tube (CRT) display, a light emitting diode (LED) display, an organic light emitting diode (OLED) display, an in-place switching (IPS) display, a touch screen, etc.), a navigation device (a mouse, a trackball, a capacitive touch pad, a joystick, etc.), a speaker, a microphone, a printer, a button, a communication interface, an antenna, etc.

The above description refers to a block diagram of the accompanying drawings. Alternative implementations of the example represented by the block diagram includes one or more additional or alternative elements, processes and/or devices. Additionally or alternatively, one or more of the example blocks of the diagram may be combined, divided, re-arranged or omitted. Components represented by the blocks of the diagram are implemented by hardware, software, firmware, and/or any combination of hardware, software and/or firmware. In some examples, at least one of the components represented by the blocks is implemented by a logic circuit. As used herein, the term “logic circuit” is expressly defined as a physical device including at least one hardware component configured (e.g., via operation in accordance with a predetermined configuration and/or via execution of stored machine-readable instructions) to control one or more machines and/or perform operations of one or more machines. Examples of a logic circuit include one or more processors, one or more coprocessors, one or more microprocessors, one or more controllers, one or more DSPs, one or more ASICs, one or more FPGAs, one or more MCUs, one or more hardware accelerators, one or more special-purpose computer chips, and one or more SoC devices. Some example logic circuits, such as ASICs or FPGAs, are specifically configured hardware for performing operations (e.g., one or more of the operations described herein and represented by the flowcharts of this disclosure, if such are present). Some example logic circuits are hardware that executes machine-readable instructions to perform operations (e.g., one or more of the operations described herein and represented by the flowcharts of this disclosure, if such are present). Some example logic circuits include a combination of specifically configured hardware and hardware that executes machine-readable instructions. The above description refers to various operations described herein and flowcharts that may be appended hereto to illustrate the flow of those operations. Any such flowcharts are representative of example methods disclosed herein. In some examples, the methods represented by the flowcharts implement the apparatus represented by the block diagrams. Alternative implementations of example methods disclosed herein may include additional or alternative operations. Further, operations of alternative implementations of the methods disclosed herein may combined, divided, re-arranged or omitted. In some examples, the operations described herein are implemented by machine-readable instructions (e.g., software and/or firmware) stored on a medium (e.g., a tangible machine-readable medium) for execution by one or more logic circuits (e.g., processor(s)). In some examples, the operations described herein are implemented by one or more configurations of one or more specifically designed logic circuits (e.g., ASIC(s)). In some examples the operations described herein are implemented by a combination of specifically designed logic circuit(s) and machine-readable instructions stored on a medium (e.g., a tangible machine-readable medium) for execution by logic circuit(s).

As used herein, each of the terms “tangible machine-readable medium,” “non-transitory machine-readable medium” and “machine-readable storage device” is expressly defined as a storage medium (e.g., a platter of a hard disk drive, a digital versatile disc, a compact disc, flash memory, read-only memory, random-access memory, etc.) on which machine-readable instructions (e.g., program code in the form of, for example, software and/or firmware) are stored for any suitable duration of time (e.g., permanently, for an extended period of time (e.g., while a program associated with the machine-readable instructions is executing), and/or a short period of time (e.g., while the machine-readable instructions are cached and/or during a buffering process)).

In the foregoing specification, specific embodiments have been described. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present teachings. Additionally, the described embodiments/examples/implementations should not be interpreted as mutually exclusive, and should instead be understood as potentially combinable if such combinations are permissive in any way. In other words, any feature disclosed in any of the aforementioned embodiments/examples/implementations may be included in any of the other aforementioned embodiments/examples/implementations.

The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential features or elements of any or all the claims. The claimed invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims as issued.

Moreover in this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” “has”, “having,” “includes”, “including,” “contains”, “containing” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises, has, includes, contains a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “comprises . . . a”, “has . . . a”, “includes . . . a”, “contains . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises, has, includes, contains the element. The terms “a” and “an” are defined as one or more unless explicitly stated otherwise herein. The terms “substantially”, “essentially”, “approximately”, “about” or any other version thereof, are defined as being close to as understood by one of ordinary skill in the art, and in one non-limiting embodiment the term is defined to be within 10%, in another embodiment within 5%, in another embodiment within 1% and in another embodiment within 0.5%. The term “coupled” as used herein is defined as connected, although not necessarily directly and not necessarily mechanically. A device or structure that is “configured” in a certain way is configured in at least that way, but may also be configured in ways that are not listed.

Further still, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, “A, B or C” refers to any combination or subset of A, B, C such as (1) A alone, (2) B alone, (3) C alone, (4) A with B, (5) A with C, (6) B with C, and (7) A with B and with C. As used herein, the phrase “at least one of A and B” is intended to refer to any combination or subset of A and B such as (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, the phrase “at least one of A or B” is intended to refer to any combination or subset of A and B such as (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.

The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may lie in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.