Patent Description:
The present invention relates to weighing devices and assemblies, including weighing devices and assemblies for shelves on which non-homogeneous assortments of products can be arranged, and methods for their use in conducting transactions with respect to the products by tracking the weights, locations and identifications of products added to and removed from shelves.

Unattended or autonomous retail and inventory management are examples of areas that can benefit from the use of methods for weighing and tracking products on shelves. Technical solutions have been suggested for intelligent shelving arrangements that would track the weight of products on a shelf, including changes in the weight resulting from the addition of products or the removal of products. An example of such a suggested solution is a shelf segment assembly with load cells attached to the underside so that when the shelf segment is placed atop an existing 'regular' shelf, weights of the products on the shelf can be tracked. Such solutions are lacking in terms of being able to disambiguate unique products in diverse collections of products, instead dedicating each small shelf or shelf insert to a single product or stock-keeping unit (SKU).

Examples of shelving arrangements include connected shelving bays and standalone shelving arrangements. Connected shelving bays use a familiar type of shelving unit common in supermarkets and other retail stores. Standalone shelving arrangements are usually not connected to other shelving units and are often used in smaller retail environments such as, for example, kiosks, convenience stores, public areas of shopping malls, or shops in public venues such as train stations or airports. Either type of shelving arrangement can be suitable for practicing the embodiments disclosed herein. Document <CIT> discloses systems and techniques for generating interaction data at an inventory location, such as in a materials handling facility.

Embodiments of the present invention relate to methods and systems for conducting retail transactions by tracking the weights of non-homogeneous products on shelves, and identifying, from detected changes in weights and in weight distributions, which products are being added to or removed from shelves, or moved from place to place on a single shelf. Some of the embodiments relate to methods and systems for applying statistical analyses and/or probability distributions and other mathematical functions with relation to weights and products (including weights and products jointly), and machine learning algorithms including, without limitation, clustering algorithms, in the disambiguation of product identifications and of user actions taken with respect to those products.

According to embodiments of the invention, a method is disclosed for conducting a retail transaction, using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of products arranged thereupon. The method comprises: monitoring weight measurement data corresponding to the shelf and a plurality of non-homogeneous products arranged thereupon, said weight measurement data transmitted by the plurality of weighing assemblies as respective streams of weight measurement data-points; responsively to a change over time in the values of said weight measurement data-points and contingent upon said values reaching respective steady states according to a stability-tracking rule, determining a set of weight-event parameters of a weight event, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products; and performing at least one of: (i) recording information about the results of the determining in a non-transient, computer-readable medium, and (ii) displaying information about the results of the determining on a display device. According to the method, the weight measurement data-points comprise at least one type of data selected from the group comprising calculated weights and voltage inputs thereto.

In some embodiments, the method can additionally comprise receiving an indication of a transaction-initiation, and said monitoring can be in response to the receiving.

In some embodiments, the stability-tracking rule can include that said respective steady states for the streams of weight measurement data-points are defined by respective response-amplitude thresholds.

In some embodiments, applying the stability tracking rule can include estimating bias in the weight measurement data-points and compensating for said bias.

In some embodiments, the weight measurement data-points can either comprise voltage inputs or solely comprise voltage inputs.

In some embodiments, said determining can include estimating a joint weight-location event-based product classifier. In some embodiments, estimating the joint weight-location event-based product classifier can include estimating a joint weight-location probability density. In some embodiments, estimating the joint weight-location event-based product classifier can include applying a statistical classification mechanism trained by weight and location information to perform a statistical inference.

In some embodiments, the weight measurement data-points can be the only inputs to said determining that are generated by sensors during the transaction.

In some embodiments, the method can additionally comprise, before said determining: responsively to a change over time in the values of transmitted weight measurement data-points, analyzing each of the streams of weight measurement data-points to detect at least one of noise and drift; and in response to the detection of said at least one of noise and drift, performing at least one of (A) at least partially filtering out the noise and/or drift and (B) at least partially compensating for the noise and/or drift in the weight measurement data points, such that the performing generates revised weight measurement data.

According to embodiments of the invention, a method is disclosed for conducting a retail transaction, using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of non-homogeneous products arranged thereupon. The method comprises: monitoring weight measurement data corresponding to the weight of the shelf and of the products arranged thereupon, said weight measurement data transmitted from a plurality of weighing assemblies as respective streams of weight measurement data points; and responsively to a change over time in the values of said weight measurement data, determining a set of weight-event parameters of a weight event, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products. According to the method, the determining comprises: identifying one or more supported sets of weight-event parameters in a weight-location space, and applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

In some embodiments, applying the joint weight-location event-based classification function can include estimating a joint weight-location probability density. According to embodiments of the invention, a method is disclosed for conducting applying the joint weight-location event-based classification function can include applying a statistical classification mechanism trained by weight and location information to perform a statistical inference.

In some embodiments, the determining can be based on product weight-distribution data retrieved from a product database. In some embodiments, the determining is based on a product positioning plan.

In some embodiments, the estimating of the joint weight-location probability density can include iteratively improving initial weight and/or location estimations.

In some embodiments, the applying of the classification function can include Bayesian hierarchical modelling.

In some embodiments, the determining can be carried out responsively to an absolute value of the change over time in the values of said weight measurement data exceeding a pre-determined threshold.

According to embodiments of the invention, a method is disclosed for conducting a retail transaction, using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of products arranged thereupon. The method comprises: receiving respective time-series of weight measurement data points from a plurality of weighing assemblies; updating an estimation of bias in the weight measurement data points received from one or more weighing assemblies of the plurality of weighing assemblies, by applying a clustering algorithm to said time-series; and determining a set of weight-event parameters of a weight event, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products. According to the method the determining includes compensating for the estimated bias.

In some embodiments, the updating the estimation of bias can include accessing historical bias data.

In some embodiments, the compensating for the estimated bias can include correcting an estimation of weight and/or location.

In some embodiments, the determined set of weight-event parameters can be changed because of the compensating for the estimated bias.

In some embodiments, the determining can comprise: identifying one or more supported sets of weight-event parameters in a weight-location space, and
applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

In some embodiments, applying the joint weight-location event-based classification function can include estimating a joint weight-location probability density. In some embodiments, applying the joint weight-location event-based classification function can include applying a statistical classification mechanism trained by weight and location information to perform a statistical inference.

In some embodiments, the method can additionally comprise, before said determining: responsively to a change over time in the values of transmitted weight measurement data-points, analyzing each of the streams of weight measurement data points to detect at least one of noise and drift; and in response to the detection of said at least one of noise and drift, performing at least one of (A) at least partially filtering out the noise and/or drift and (B) at least partially compensating for the noise and/or drift in the weight measurement data points, such that the performing generates revised weight measurement data, wherein said determining is based on a change in values in said revised weight measurement data.

According to embodiments of the invention, a method is disclosed for conducting a retail transaction, using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of products arranged thereupon. The method comprises: receiving an indication of a transaction-initiation; in response to said receiving, monitoring weight measurement data corresponding to the shelf and a plurality of non-homogeneous products arranged thereupon, said weight measurement data transmitted by the plurality of weighing assemblies as respective streams of weight measurement data-points; responsively to a change over time in the values of said weight measurement data-points, determining a set of weight-event parameters of a weight event using at least one stability rule, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products; and performing at least one of: (i) recording information about the results of the determining in a non-transient, computer-readable medium, and (ii) displaying information about the results of the determining on a display device.

In some embodiments, the method can additionally comprise receiving an indication of a transaction-completion.

In some embodiments, a first stability-tracking rule can be based on tracking a dynamic response of a weighing assembly to said weight event. In some embodiments, a second stability-tracking rule can be based on a stability attribute of a product. In some embodiments, a third stability-tracking rule is based on a stability attribute of the shelf. In some embodiments, said transaction-initiation can include opening and/or closing a door, and a fourth stability-tracking rule can include tracking a shock response to said transaction-initiation.

In some embodiments, said determining can comprise: identifying one or more supported sets of weight-event parameters in a weight-location space, and applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

In some embodiments, the method can additionally comprise before said determining: responsively to a change over time in the values of transmitted weight measurement data-points, analyzing each of the streams of weight measurement data points to detect at least one of noise and drift; in response to the detection of said at least one of noise and drift, performing at least one of (A) at least partially filtering out the noise and/or drift and (B) at least partially compensating for the noise and/or drift in the weight measurement data points, such that the performing generates revised weight measurement data, wherein said determining is based on a change in values in said revised weight measurement data.

According to embodiments of the invention, a method is disclosed for conducting a retail transaction, using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of products arranged thereupon. The method comprises: receiving an indication of a transaction-initiation; in response to said receiving, monitoring weight measurement data corresponding to the shelf and a plurality of non-homogeneous products arranged thereupon, said weight measurement data transmitted by the plurality of weighing assemblies as respective streams of weight measurement data-points; and responsively to a change over time in the values of said weight measurement data-points, determining a set of weight-event parameters of a weight event using at least one stability rule, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products. According to the method, said indication of the transaction-initiation includes one of (i) a mechanical shock indicating a door opening and/or closing, (ii) a lidar or radar reading of a hand reaching to the shelf, (iii) an electronic or optical reading of a payment or subscription medium, and (iv) a biometric reading of a user.

In some embodiments, said determining comprises: identifying one or more supported sets of weight-event parameters in a weight-location space, and applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

According to embodiments of the invention, a system for conducting a retail transaction comprises: a plurality of weighing assemblies in contact with a shelf and jointly operable to measure a combined weight of a shelf and of products arranged thereupon; one or more computer processors; and a non-transient computer-readable storage medium comprising program instructions, which when executed by the one or more computer processors, cause the one or more computer processors to carry out the following steps: monitoring weight measurement data corresponding to the shelf and a plurality of non-homogeneous products arranged thereupon, said weight measurement data transmitted by the plurality of weighing assemblies as respective streams of weight measurement data-points; responsively to a change over time in the values of said weight measurement data-points and contingent upon said values reaching respective steady states according to a stability-tracking rule, determining a set of weight-event parameters of a weight event, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products; and performing at least one of: (A) recording information about the results of the determining in a non-transient, computer-readable medium, and (B) displaying information about the results of the determining on a display device. According to the program instructions, the weight measurement data-points comprise at least one type of data selected from the group comprising calculated weights and voltage inputs thereto.

In some embodiments, the program instructions, when executed by the one or more computer processors, can additionally cause the one or more computer processors to carry out the following step: receiving an indication of a transaction-initiation, and the carrying out of the monitoring step can be in response to the receiving.

In some embodiments, the determining step can include estimating a joint weight-location event-based product classifier.

In some embodiments, estimating the joint weight-location event-based product classifier can include estimating a joint weight-location probability density.

In some embodiments, estimating the joint weight-location event-based product classifier can include applying a statistical classification mechanism trained by weight and location information to perform a statistical inference.

In some embodiments, the weight measurement data-points can be the only inputs to the determining step that are generated by sensors during the transaction.

In some embodiments, the program instructions, when executed by the one or more computer processors, can additionally cause the one or more computer processors to carry out the following steps before the determining step: responsively to a change over time in the values of transmitted weight measurement data-points, analyzing each of the streams of weight measurement data-points to detect at least one of noise and drift; and in response to the detection of said at least one of noise and drift, performing at least one of (A) at least partially filtering out the noise and/or drift and (B) at least partially compensating for the noise and/or drift in the weight measurement data points, such that the performing generates revised weight measurement data.

According to embodiments of the invention, a system for conducting a retail transaction comprises: a plurality of weighing assemblies in contact with a shelf and jointly operable to measure a combined weight of a shelf and of products arranged thereupon; one or more computer processors; and a non-transient computer-readable storage medium comprising program instructions, which when executed by the one or more computer processors, cause the one or more computer processors to carry out the following steps: monitoring weight measurement data corresponding to the weight of the shelf and of the products arranged thereupon, said weight measurement data transmitted from a plurality of weighing assemblies as respective streams of weight measurement data points; and responsively to a change over time in the values of said weight measurement data, determining a set of weight-event parameters of a weight event, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products, wherein the determining comprises: identifying one or more supported sets of weight-event parameters in a weight-location space, and applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

In some embodiments, applying the joint weight-location event-based classification function can include estimating a joint weight-location probability density. In some embodiments, applying the joint weight-location event-based classification function includes applying a statistical classification mechanism trained by weight and location information to perform a statistical inference.

In some embodiments, the determining can be based on product weight-distribution data retrieved from a product database. In some embodiments, the determining can be based on a product positioning plan.

In some embodiments, the determining step can be carried out responsively to an absolute value of the change over time in the values of said weight measurement data exceeding a pre-determined threshold.

According to embodiments of the invention, a system for conducting a retail transaction comprises: a plurality of weighing assemblies in contact with a shelf and jointly operable to measure a combined weight of a shelf and of products arranged thereupon; one or more computer processors; and a non-transient computer-readable storage medium comprising program instructions, which when executed by the one or more computer processors, cause the one or more computer processors to carry out the following steps: receiving respective time-series of weight measurement data points from a plurality of weighing assemblies; updating an estimation of bias in the weight measurement data points received from one or more weighing assemblies of the plurality of weighing assemblies, by applying a clustering algorithm to said time-series; and determining a set of weight-event parameters of a weight event, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products. According to the program instructions, the determining includes compensating for the estimated bias.

In some embodiments, updating the estimation of bias can include accessing historical bias data.

In some embodiments, the determining step can comprise: identifying one or more supported sets of weight-event parameters in a weight-location space, and applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets. In some embodiments, applying the joint weight-location event-based classification function can include estimating a joint weight-location probability density. In some embodiments, applying the joint weight-location event-based classification function can include applying a statistical classification mechanism trained by weight and location information to perform a statistical inference.

In some embodiments, the program instructions, when executed by the one or more computer processors, can additionally cause the one or more computer processors to carry out the following steps before the determining step: responsively to a change over time in the values of transmitted weight measurement data-points, analyzing each of the streams of weight measurement data points to detect at least one of noise and drift; and in response to the detection of said at least one of noise and drift, performing at least one of (A) at least partially filtering out the noise and/or drift and (B) at least partially compensating for the noise and/or drift in the weight measurement data points, such that the performing generates revised weight measurement data, wherein said determining is based on a change in values in said revised weight measurement data.

According to embodiments of the invention, a system for conducting a retail transaction comprises: a plurality of weighing assemblies in contact with a shelf and jointly operable to measure a combined weight of a shelf and of products arranged thereupon; one or more computer processors; and a non-transient computer-readable storage medium comprising program instructions, which when executed by the one or more computer processors, cause the one or more computer processors to carry out the following steps: receiving an indication of a transaction-initiation; in response to said receiving, monitoring weight measurement data corresponding to the shelf and a plurality of non-homogeneous products arranged thereupon, said weight measurement data transmitted by the plurality of weighing assemblies as respective streams of weight measurement data-points; responsively to a change over time in the values of said weight measurement data-points, determining a set of weight-event parameters of a weight event using at least one stability rule, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products; and performing at least one of: (i) recording information about the results of the determining in a non-transient, computer-readable medium, and (ii) displaying information about the results of the determining on a display device.

In some embodiments, the program instructions, when executed by the one or more computer processors, can additionally cause the one or more computer processors to carry out the following step: receiving an indication of a transaction-completion.

In some embodiments, a first stability-tracking rule can be based on tracking a dynamic response of a weighing assembly to said weight event. In some embodiments, a second stability-tracking rule can be based on a stability attribute of a product. In some embodiments, a third stability-tracking rule can be based on a stability attribute of the shelf. In some embodiments, said transaction-initiation can include opening and/or closing a door, and a fourth stability-tracking rule can include tracking a shock response to said transaction-initiation.

In some embodiments, the determining step can comprise: identifying one or more supported sets of weight-event parameters in a weight-location space, and applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

In some embodiments, the program instructions, when executed by the one or more computer processors, can additionally cause the one or more computer processors to carry out the following steps before the determining step: responsively to a change over time in the values of transmitted weight measurement data-points, analyzing each of the streams of weight measurement data points to detect at least one of noise and drift; and in response to the detection of said at least one of noise and drift, performing at least one of (A) at least partially filtering out the noise and/or drift and (B) at least partially compensating for the noise and/or drift in the weight measurement data points, such that the performing generates revised weight measurement data wherein said determining is based on a change in values in said revised weight measurement data.

According to embodiments of the invention, a system for conducting a retail transaction comprises: a plurality of weighing assemblies in contact with a shelf and jointly operable to measure a combined weight of a shelf and of products arranged thereupon; one or more computer processors; and a non-transient computer-readable storage medium comprising program instructions, which when executed by the one or more computer processors, cause the one or more computer processors to carry out the following steps: receiving an indication of a transaction-initiation; in response to said receiving, monitoring weight measurement data corresponding to the shelf and a plurality of non-homogeneous products arranged thereupon, said weight measurement data transmitted by the plurality of weighing assemblies as respective streams of weight measurement data-points; and responsively to a change over time in the values of said weight measurement data-points, determining a set of weight-event parameters of a weight event using at least one stability rule, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products. According to the program instructions, said indication of the transaction-initiation includes one of (i) a mechanical shock indicating a door opening and/or closing, (ii) a lidar or radar reading of a hand reaching to the shelf, (iii) an electronic or optical reading of a payment or subscription medium, and (iv) a biometric reading of a user.

In some embodiments the determining step can comprises: identifying one or more supported sets of weight-event parameters in a weight-location space, and applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

A method is disclosed for tracking non-homogeneous products on a shelf by using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of the products arranged thereupon, wherein the method comprises: monitoring weight measurement data corresponding to the weight of the shelf and the products arranged thereupon, said weight measurement data measured by the plurality of weighing assemblies and transmitted therefrom as respective streams of weight measurement data points, responsively to a change over time in the values of said weight measurement data, determining a set of weight-event parameters of a weight event, the set of weight-event parameters comprising a product identification and an action taken with respect to the product; and performing at least one of: recording information about the results of the determining in a non-transient, computer-readable medium, and displaying information about the results of the determining on a display device.

According to the method the determining includes compensating for the estimated bias.

In some embodiments, the determining can comprise: identifying one or more supported sets of weight-event parameters in a weight-location space, and applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

The invention will now be described further, by way of example, with reference to the accompanying drawings, in which the dimensions of components and features shown in the figures are chosen for convenience and clarity of presentation and not necessarily to scale. In the drawings:.

The invention is herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice. Throughout the drawings, like-referenced characters are generally used to designate like elements. Subscripted reference numbers (e.g., <NUM><NUM> or <NUM>L) and number-letter combinations (e.g. 130a) are used to designate multiple separate appearances of elements in a single drawing, e.g. <NUM><NUM> is a single appearance (out of a plurality of appearances) of element <NUM>, <NUM>L is a left-side appearance (out of a plurality of appearances) of element <NUM>, and 130a is a single appearance (out of a plurality of appearances) of element <NUM>.

In accordance with embodiments of the invention, methods and systems are disclosed for conducting transactions, including autonomous retail transactions. The transactions are conducted using weighing systems capable of identifying products added to, removed from, or moved within a shelf, using historical and derived data such as weight distributions for specific products, product placement plans and signal bias, by analyzing signals containing streams of weight measurement data points to detect changes in values over time as well as noise, drift (including periodic drift) and bias, and by building joint weight-location classifying functions for mapping product weight-events to products, events and locations.

We now refer to <FIG>. In embodiments, a shelf <NUM> is provided for storing or displaying non-homogeneous products <NUM>. Products can be diverse, e.g., <NUM><NUM> and <NUM><NUM> are different products, and any number of each type of different products can be placed on a shelf <NUM>. While shown as differing in size and shape, they can also differ in weight or contents, and can be distinguished by having different SKUs, i.e., stock-keeping unit identification numbers, or by other unique identifiers. While shown as differing in size and shape, they can also differ in weight, dimensions, contents or weight history (e.g., a histogram of past weight values for each respective product), and can be distinguished by having different SKUs, i.e., stock-keeping unit identification numbers, or by other unique identifiers. As used herein, the term "SKU" means stock-keeping unit. The use of SKU-identifiers is a standard means of identifying unique products across industries. Unique products can be, for example, products defined by unique combinations of physical characteristics, e.g., weight (whether nominal or average), volume, dimensions, etc. and/or non-physical characteristics, e.g., brand or packaging design. It can be that two products can be similar in physical characteristics but have different SKU-identifiers; in some embodiments they can be considered as 'non-homogeneous' and in other embodiments they may not. However, any use of the term 'products' in this disclosure or in the claims attached thereto includes the concept of 'non-homogeneous products. ' In an example, a particular brand of cookies may offer products with a number of different SKU-identifiers: a first SKU for the brand's large package of large chocolate cookies, a second SKU for the brand's small package of the same large chocolate cookies, and a third SKU for the brand's large package of small chocolate cookies, and so on. The term "non-homogeneous", as applied herein to a group of products, means that the products in the group do not all share the same SKU-identifier, but should not be understood to imply that each product in a group has a unique SKU-identifier. For example, a group of non-homogeneous products might include: (a) <NUM> large packages of large chocolate cookies bearing a first brand and having a first SKU-identifier, and (b) <NUM> large packages of small chocolate cookies from a second brand and having a second SKU-identifier, or, without limitation any combination of products having, in combination, two or more SKU-identifiers. A group of products having, in combination, two or more SKU-identifiers can be considered 'non-homogeneous' with respect to one another. Thus, within any group of non-homogeneous products, products can differ from other members of the group in terms of, and not exhaustively: product packaging design and/or materials, weight, size, one or more external dimensions, brand, contents, list of ingredients, size and number of sub-divisions within a product packaging, and product-weight history such as can be represented by a database of past weight data, where the past weight data can encompass not only total weight but also the distribution of weight over the footprint of the product.

As shown in <FIG>, the shelf <NUM> can be in contact, at least indirectly, with weighing assemblies <NUM>, so that the weighing assemblies <NUM> can measure the weight of the shelf <NUM> and of products <NUM> on the shelf <NUM>. In the non-limiting example of <FIG>, the weighing assemblies <NUM> are provided as part of a shelf base <NUM> which supports the shelf <NUM> when installed. In another non-limiting example illustrated in <FIG>, weighing assemblies <NUM> are provided in a bracket assembly <NUM> attached to an upright <NUM> of a shelving unit <NUM> of a connected retail-type shelving bay, and a shelf <NUM> can be supported by two such bracket assemblies <NUM> provided at opposite ends of the shelf <NUM>. The weighing assemblies <NUM> are illustrated as planar load cell assemblies, but any suitable weight sensor can be used, although preferably one with fast response time and high levels of precision.

Weighing assemblies <NUM> can include internal processors (not shown), which can be configured, for example, to sample continuous or discrete weight measurements and transmit streams of weight measurement data points to an external processor, using internal communications arrangements (not shown). The sampling rate is preferably at least <NUM>, or at least <NUM>, or at least <NUM>, or higher. A high sampling rate can be helpful, for example, if it is desired to filter out noise. An electronic signal transmitting a stream of weight measurement data points can be analyzed to detect noise, for example by decomposing the signal into component frequencies using a Fourier transform, as is known in the art. Noise in the signal can come from mechanical and/or environmental sources, for example from vibrations due to mechanical equipment in the area. As is known in the art, strain gauge load cells output voltages that correspond to forces acting upon the load cell, or, equivalently to reaction forces of the load cell. In some embodiments, the weight measurement data points solely comprise voltage measurements. In some embodiments, the weight measurement data points additionally or alternatively comprise weight data calculated from the voltages which are inputs thereto.

Any planar load cell assembly can be suitable for use herein. A planar load cell assembly suitable for use with the present invention is disclosed in co-pending PCT application <CIT>. It can be desirable to employ a load cell with a 'high' ratio of width to thickness, where 'width' is the dimension across a plan view of the planar load cell assembly, and thickness is the dimension across a side view. Exemplary suitable load cell assemblies can have a width-to-thickness ratio of more than <NUM>. In some embodiments, the 'high' width-to-thickness ratio can be more than <NUM>, more than <NUM>, more than <NUM>, or more than <NUM>.

With reference to <FIG>, <FIG>, <FIG>, <FIG>, and <FIG>, several non-limiting illustrative examples of retailing units suitable for use in connection with the present invention are now described.

A concatenated assembly of three shelving units <NUM> is shown schematically in <FIG> as a non-limiting example of a plurality of weighing assemblies mounted in shelving units. A variety of products <NUM> are displayed in shelving unit <NUM><NUM>, including, on shelf <NUM><NUM>-<NUM> (the double subscript <NUM>-<NUM> indicating the first shelf of the first shelving unit <NUM><NUM>) supported by shelf bracket <NUM><NUM>-<NUM>, a first plurality of products <NUM><NUM> with a first SKU-identifier and a second plurality of products <NUM><NUM> with a second SKU-identifier.

Reference is now made to <FIG>, which respectively, show an assembled weighing assembly <NUM> comprising two shelf brackets <NUM>L and <NUM>R according to embodiments of the present invention, and an exploded view of the weighing assembly. The weighing assembly <NUM> of <FIG> is self-stabilizing, i.e., does not require the use of an additional stabilizing element or connection to a back wall of a shelving unit, and can be installed in a shelving unit (e.g., shelving unit <NUM>) without any tools and by a single employee.

Substantially as shown, each of the two shelf brackets <NUM>L and <NUM>R may comprise a vertical member <NUM> which includes industry-standard bracket hooks <NUM> for engaging with uprights <NUM>, and a horizontal member <NUM>. Planar load cells are fixed to the shelf bracket <NUM> by anchoring them on a 'base' which, according to embodiments, can include the shelf bracket <NUM> and a shim (adapter plate) <NUM>. Thus, load cell assemblies 101a, 101b can be attached (by screw or rivet or any other appropriate attaching method) to a respective shim 130a, 130b and, in this way, complete the installation of the load cell assemblies on the 'base'.

The two shelf brackets <NUM>L and <NUM>R are joined mechanically by a shelf frame <NUM> which, although illustrated as a simple frame, can include any member(s) that, when joined with the shelf brackets <NUM>L and <NUM>R, provide rigidity. The shelf frame <NUM> can be an 'open structural member' as shown in non-limiting example shown in <FIG>, as the 'openness' serves to reduce the weight and cost of the illustrated structural member, but this only is for purposes of illustration and the shelf frame need not be open if it is deemed desirable by a designer to use a solid, non-open member or assembly of members that provides structural rigidity at an acceptable weight and cost. Shelf frame <NUM> can be fabricated from any material such as a metal or a plastic deemed suitable in terms of rigidity, weight and cost.

As discussed earlier, protruding elements 51a, 51b, together with the joining elements 52a, 52b, can function to transfer the load (weight) of a shelf <NUM> and any products displayed thereupon to the load cell assemblies 101a, 101b. In embodiments, the protruding elements <NUM> can transfer the load directly by having a lower end positioned in a receptacle in the load cell assembly <NUM> and in other embodiments the protruding elements function to ensure the positioning of the joining elements <NUM> on the load cell assemblies <NUM> so as to transfer the load to the load cell assemblies <NUM> via the joining elements <NUM>. In some embodiments, protruding elements <NUM> and joining elements <NUM> can be threaded (e.g., a threaded bolt and respective nut) and in other embodiments they can be unthreaded (e.g., a simple bolt and respective washer). In some embodiments both a threaded nut and a washer may be provided. One of ordinary skill in the art will appreciate that various conventional arrangements can be employed for coupling the load (shelf <NUM>) to the load cell assemblies 101a, 101b.

In the non-limiting example of <FIG>, a processor <NUM> is provided on-board the weighing assembly <NUM> in order to simplify communication with load cell assemblies. In the illustrated example, processor <NUM> is affixed to the shelf frame <NUM> with upper fasteners <NUM> and lower fasteners <NUM>. A processor cover <NUM> can be provided, e.g., to protect the processor from dust, moisture or detritus, and spacers <NUM> may be used to isolate the processor from a metallic shelf frame <NUM>.

In embodiments, a weighing-enabled shelving arrangement can be a standalone unit adapted for retail sales transactions. In a non-limiting example shown in <FIG>, a weighing-enabled standalone shelving unit <NUM> includes a shelving volume <NUM> defined by shelving housing <NUM>, the shelving volume <NUM> enclosed by left and right walls <NUM>L and <NUM>R, and back wall <NUM>. In some embodiments any one or more of left and right walls <NUM>L and <NUM>R, and back wall <NUM> can be a partial wall. The weighing capabilities and weighing-relevant components of shelf assemblies <NUM> are discussed hereinbelow in connection with <FIG>. A door <NUM> can be provided on or near the front boundary of the shelving unit <NUM> (front being the direction open for access to a shelving volume <NUM> enclosed on three sides), the door being operative in some embodiments to preserve the interior temperature of the shelving unit <NUM> in the case that it is a refrigerated unit, and in some embodiments being operative for any one or more of improving hygiene, limiting entry of dust and dirt, limiting customer interaction with the products while choosing, and having a locking mechanism so as to control access to the products within the shelving unit for commercial reasons: As is known in the art, a locking mechanism can be adapted to allow opening of the door upon receipt of an electronic signal, for example from a computer system with a retail module, where the signal is part of the retail sales transaction process, e.g., allowing opening upon swiping of a card or a screen input from a user or cashier. Together with the door <NUM>, a shelving volume <NUM> can be enclosed on all four sides.

A shelving unit <NUM> includes at least one shelf assembly <NUM> of Fig. s 5A and 5B, or shelf assembly <NUM> of <FIG>, both of which are further described hereinbelow. In <FIG>, five shelf assemblies <NUM> are shown. The number of shelf assemblies <NUM> in a shelving unit <NUM> can be as few as one and as many as practicably can fit in the shelving unit while allowing access for shelf-stockers and customers to the products <NUM> stocked and displayed thereupon. Products can be stocked and displayed homogeneously, i.e., in groups of identical products taking up part or all of a shelf assembly <NUM>, or mixed with non-identical products, as illustrated in <FIG> by the display on the two lower shelf assemblies <NUM> of products <NUM><NUM>, <NUM><NUM>, <NUM><NUM> and <NUM><NUM>.

Shelf assemblies <NUM> are attached to one or two or three of left and right walls <NUM>L, <NUM>R and back wall <NUM>. The shelf assembly <NUM> can be attached directly to any of the walls and preferably is by employing one or more attachment elements <NUM> such as, for example, the attachment elements <NUM>L1, <NUM>L2, <NUM>L3 in <FIG>. In some embodiments attachment elements <NUM> share similarities with uprights <NUM> used in open shelving bays, in that each comprises a plurality of attachment elements (e.g., recesses or holes) designed for the easy insertion and removal of shelf bracket hooks along a continuous strip, and are different from uprights <NUM> in that they are fixedly attached to a side wall <NUM> or back wall <NUM> of an enclosed shelving unit <NUM>. In other embodiments (not shown) attachment elements <NUM> can be only as large as necessary for having a single attachment arrangement (e.g., recess, hole, peg, hook, etc.) for use by a single shelf, or can have several such attachment arrangements so as to allow flexibility in the height-placement of shelf assemblies <NUM>, but without having the continuous strip configuration of the attachment arrangements shown in <FIG>. The detail inset of <FIG> shows a close-up of attachment element <NUM>L1 which includes attachment-element-points <NUM>. Attachment-element-points <NUM> are shown as holes, but in other embodiments they can be, for example, protruding members, recesses, or slots, which mate with corresponding attachments points <NUM>. An attachment element <NUM> can also include fastening arrangements <NUM> for fastening the attachment element <NUM> to a wall <NUM> of the shelving unit <NUM>.

<FIG> shows three attachment elements <NUM>L1, <NUM>L2, <NUM>L3 on the left wall <NUM>L of the shelving unit <NUM>, and a skilled artisan can easily understand that in such an example there can be three corresponding and similar attachment elements <NUM>R1, <NUM>R2, <NUM>R3 on the right wall <NUM>R. However, this presentation of <NUM> (or, as can be reasonably extrapolated: <NUM>) attachment elements <NUM> is by way of illustrative example only, and the actual number of attachment elements <NUM> and their respective placement is merely a design choice where the design goal is providing sufficient support in the right places for each shelf assembly <NUM> so that shelf assemblies <NUM> are substantially immobilized in a horizontal position and maximally resistant to rolling or pitching from forces reasonably applied to any of the parts of the shelf assembly <NUM>. Such forces can be generated by, for example, uneven distribution of products, employees or customers leaning on or against a shelf assembly <NUM> or a child pulling himself up by grasping the front edge of a shelf assembly <NUM>.

In some embodiments, left and right walls <NUM>L, <NUM>R can be partial walls or not be present at all, in which case the lack of a front-edge attachment element on the side wall (e.g., <NUM>L1 on the front edge of left wall <NUM>L), or even no side wall attachment elements, in which the designer can put in additional structural elements for stabilizing and immobilizing the shelf assemblies <NUM>.

As shown in <FIG>, shelving unit <NUM> can include a refrigeration unit <NUM> for chilling products <NUM> and keeping them at a desired temperature.

A shelving unit can also include a retail transaction apparatus <NUM>. A retail transaction apparatus <NUM> can include any combination of credit card reader, cash and coin slots, and a user interface including, for example, a display screen, and be provided for the purpose of enacting payment for products <NUM> selected and removed from the shelving unit <NUM>. The retail transaction apparatus need not be installed on the shelving unit <NUM> itself and instead can be a distance away, for example, at a cashier's position. In another example, there can be one retail transaction apparatus for a plurality of shelving units <NUM>.

According to embodiments, a shelf assembly includes a plurality of planar load cell assemblies <NUM> (not shown in <FIG>; shown, e.g., in <FIG>) which track the weight of products on the shelf assemblies <NUM>, as well as changes in the weight, e.g., from the addition of products <NUM> on the shelf assembly <NUM> or the removal of products on the shelf assembly <NUM>.

<FIG> shows an example of a shelving unit <NUM> similar in function to that of <FIG> but definitively configured as a display refrigerator. To ensure adequate internal airflow, shelf assemblies <NUM> can be provided with open spaces horizontal surfaces so as to be at least partly open for a vertical airflow.

Referring now to <FIG>, an example of a shelf assembly <NUM> according to an embodiment is shown in both assembled and exploded views. A shelf assembly <NUM> is a type of weighing assembly that comprises a weighing base <NUM> and a shelf or shelf tray <NUM>. The weighing base <NUM> can comprise a shelf base <NUM> and a plurality of load cell installation assemblies <NUM>. In this example four load cell installation assemblies <NUM>L1, <NUM>L2 (not shown, blocked by shelf tray <NUM>), <NUM>R1, <NUM>R2 are provided, but a higher or lower number of load cell installation assemblies can be provided while meeting the design goal of providing accurate weight indications of products <NUM> on a shelf assembly <NUM> or added thereto or removed therefrom. Thus, load cell assemblies <NUM> can be attached (by screw or rivet or any other appropriate attaching method) and, in this way, complete the installation of the load cell installation assemblies on the weighing base <NUM>.

The shelf tray <NUM> can include a receiving bracket (not shown) for securing and stabilizing a shelf tray <NUM> on a weighing base <NUM>. In some embodiments a shelf tray <NUM> can be attached in other ways to a weighing bracket <NUM>. A plurality of prior-art protruding elements <NUM> and a plurality of joining elements <NUM> (shown in <FIG>) vertically aligned with respective protruding elements <NUM> for receiving the respective protruding elements <NUM> can be provided for transferring load to the load cell assemblies <NUM>. It should be noted that the number of respective protruding elements <NUM> and joining elements <NUM> will be the same as the number of load cell assemblies <NUM> for any given shelf assembly <NUM>. For, example, in the non-limiting example shown in <FIG>, the number of load cell assemblies <NUM> is four, and thus four respective protruding elements <NUM> and four joining elements <NUM> are used.

As mentioned in the preceding paragraph, the protruding elements <NUM> together with the joining elements <NUM>, can function to transfer load (the weight of the shelf tray <NUM> and of products <NUM> displayed thereupon) to the load cell assemblies <NUM>. In some embodiments the protruding elements <NUM> can transfer the load directly by having a lower end positioned in a receptacle in the load cell assembly <NUM>, and in other embodiments the protruding elements function to ensure the positioning of the joining elements <NUM> around the holes <NUM> (in <FIG>) on the load cell assemblies <NUM> so as to transfer the load to the load cell assemblies <NUM> via the joining elements <NUM>. They can also function to inhibit movement of the aforementioned receiving bracket (not shown) or of the shelf tray <NUM> in the horizontal plane, for example by being installed in or through the holes <NUM> in respective load cell assemblies <NUM>. In some embodiments, protruding elements <NUM> and joining elements <NUM> can be threaded (e.g., a threaded bolt and respective nut) and in other embodiments they can be unthreaded (e.g., a simple bolt and respective washer). In some embodiments both a threaded nut and a washer may be provided. A protruding element <NUM> can be deployed in any one of a number of approaches. For example, a protruding element <NUM> can be disposed on a receiving bracket. As another example, a protruding element <NUM> can be disposed on joining element <NUM>. As yet another example, a protruding element <NUM> can be disposed on the shelf tray <NUM> (preferably flush with the upper surface of the shelf tray <NUM>), the respective joining element <NUM> holding it in its place on the shelf tray <NUM>. In another example, not shown, a weight distributor in the form of a button or disk can be provided to transfer load to joining element <NUM>.

It should be noted that use of the term 'shelf tray' should not be taken to literally mean a tray, e.g., as illustrated in the non-limiting example of <FIG> wherein shelf tray <NUM> includes tray rim <NUM>. Front flange <NUM> of shelf tray <NUM> is optional and has both aesthetic and functional purposes, e.g., obscuring the shelf base <NUM>, the load cell installation assemblies <NUM> and the miscellaneous elements that might be provided for attachments. In other embodiments, shelf tray <NUM> can be flat without a tray rim <NUM>, and if additional structural support is necessary for the shelf tray <NUM>, e.g., to resist twisting or bending, it is possible to apply other engineering solutions for strengthening the structure.

Still referring to <FIG>, a shelf assembly <NUM> can comprise attachment arrangements or points <NUM> which mate with attachment elements <NUM> of side walls <NUM> and/or back wall <NUM> of shelving unit <NUM>. If attachment elements <NUM> comprise holes or recesses, then attachment points <NUM> can comprise protruding members such as hooks or knobs or similar, and vice versa - if attachment elements <NUM> comprise protruding members such as hooks or knobs, then attachment points <NUM> can comprise corresponding recesses or holes. Shelf assembly <NUM> preferably extends from left wall <NUM>L to right wall <NUM>R such that attachment points on the two sides can mate with attachment elements <NUM> or attachment components <NUM> that are joined to the attachment elements <NUM>. In some embodiments, shelf assembly <NUM> has a width that is at least <NUM>% or at least <NUM>% or at least <NUM>% of the distance between left wall <NUM>L and right wall <NUM>R. According to embodiments, there is only a single shelf assembly <NUM> at any given height in shelving unit <NUM>.

A shelf assembly <NUM> for a refrigerator includes a weighing base <NUM> and a shelf <NUM>. The shelf <NUM> can include a peripheral rim <NUM> to reduce the likelihood that a product leans against the internal wall of the refrigerator <NUM>, which would reduce the force measurable on the shelf <NUM>. Weighing base <NUM> includes opposing load-cell bases <NUM>L, <NUM>R detachedly attachable to respective left and right internal walls of the refrigerator. As shown in <FIG>, the bottom of the weighing base <NUM> (and therefore the bottom of the shelf assembly <NUM>) includes attachment arrangements <NUM>. Each of the load-cell bases <NUM> includes a plurality of load cells <NUM> (of any type, not necessarily planar load cells). Thus, there are at least two load cells <NUM> on each side, or at least <NUM> load cells for each weighing base <NUM>. The two load-cell bases <NUM> are joined to form a rigid, e.g., stable, resistant to twisting, and/or not flexible, frame. A single-member beam <NUM> is shown as joining the two load-cell bases <NUM> but any appropriate design and number of left-to-right beams can be used. The beam can be used to support electronic communication arrangements <NUM>, for example transmitted via a communications channel <NUM>, as shown in <FIG>. In some embodiments, the load-cell bases <NUM> and/or the beam are covered with covers <NUM>. It can be desirable for the weighing base <NUM> to allow at least a minimum amount of vertical airflow to flow freely within the interior of the refrigerator/shelving unit <NUM>, and for this purpose a portion of the horizontal surface of the weighing base <NUM> can be 'open' to a vertical airflow, the term 'vertical' meaning any airflow within the refrigerator, which in many implementations is vertical or predominantly vertical, e.g., within ±<NUM>° of vertical, or within ±<NUM>° of vertical, or within ±<NUM>° of vertical, or within ±<NUM>° of vertical, or within ±<NUM>° of vertical. Preferably, at least <NUM>% of the horizontal surface area of the weighing base <NUM> to vertical airflow, or at least <NUM>%, or at least <NUM>%, or at least <NUM>%, or at least <NUM>%, or at least <NUM>%. In some embodiments, as much as <NUM>% or as much as <NUM>% or as much as <NUM>% of the horizontal surface area of the weighing base <NUM> can be open to vertical airflow.

The horizontal area of the shelf <NUM> is also at least partly open to vertical airflow. In embodiments, the horizontal surface area of the shelf <NUM> can be at least <NUM>% open or at least <NUM>% open or at least <NUM>% open or at least <NUM>% open or at least <NUM>% open or at least <NUM>% open. In embodiments, the shelf <NUM> can utilize a wire grid design. A wire grid design is mostly open, and airflow passing through the open horizontal areas of the weighing base <NUM> is not be substantially blocked by the wires of the grid, which generally create minor turbulence as the air passes therethrough without a substantial pressure drop. In some embodiments, a wire-grid shelf can include both thinner wires, e.g., front-to-back wires deployed across the shelf <NUM> for supporting products, and thicker wires, e.g., left-to-right wires for structural support. As shown in <FIG>, left-to-right wires <NUM> are spaced so as to transmit force, e.g., the weight of the shelf and of products displayed thereupon, to the load cells assemblies <NUM> in the load-cell bases <NUM>. Thus, the load cell assemblies <NUM> mediate between the weighing base <NUM> and the shelf <NUM>, and the shelf <NUM> does not sit directly on the weighing base <NUM> or on the cover <NUM>. The left-to-right wires <NUM> are illustrated in <FIG> as being thicker than the front-to-back wires, but in other examples they can all be the same thickness and weight. The skilled artisan will understand that a selection criterion for the left-to-right wires is sufficient rigidity, e.g., resistance to twisting, sagging, etc..

Reference is now made to <FIG>, in which another embodiment of a shelf assembly <NUM> is shown. Respective left and right weighing bars <NUM>L, <NUM>R are provided as fixed attachments to left and right side-walls <NUM>L, <NUM>R of shelving unit <NUM>. Obviously, there can be multiple pairs of weighing bars provided in a single shelving unit <NUM> - one for each shelf assembly <NUM> desired to be installed in the shelving unit <NUM>. Each weighing bar comprises a pair of load cell installation assemblies <NUM>. The shelf assembly <NUM> further comprises a shelf tray <NUM>, which can be attached to the respective left and right weighing bars <NUM>L, <NUM>R by a receiving bracket (now shown) or by other fastening methods known in the art. Protruding elements <NUM> and receiving elements <NUM> can be used here in the same manner as in the embodiment illustrated in <FIG>.

The embodiments illustrated in <FIG>, <FIG> and in <FIG> are diverse, non-limiting examples of weighing-enabled shelving units and shelf assemblies and do not exhaust the possibilities of a retail display and sales system suitable for use with the present invention. For example, in other embodiments (not illustrated), weighing bars can be deployed in a direction that is orthogonal to the direction of the weighing bars <NUM> in <FIG>, such that they each extend from the left wall of a shelving unit to the right wall, one such 'transverse' weighing bar proximate to the back wall and secured either to the back wall or to the two side walls, and the other 'transverse' weighing bar proximate to the front of the shelf assembly <NUM> and secured at both ends to the two side walls.

<FIG> includes a block diagram showing details of a system for executing unattended retail sales transactions and/or tracking inventory of products, using, for example, embodiments of weighing assemblies and shelving arrangements disclosed with respect to <FIG>, <FIG>. Such a system includes one or more shelving units <NUM><NUM>. <NUM>N, each of which can include any of the weighing assembly features shown. Each shelving unit include a number of shelves <NUM>, each supported by a left-and-right pair of weighing assemblies <NUM> including shelf brackets <NUM>. Each pair of weighing assemblies <NUM> includes a weighing assembly <NUM> for supporting a different end of the shelf <NUM>. As an example, weighing assemblies <NUM>L1-<NUM> and <NUM>R1-<NUM> are respective the left and right assemblies for support a first shelf <NUM><NUM>-<NUM> in first shelving unit <NUM><NUM>. Each of the load cell assemblies <NUM> installed in the system can communicate weight information with computing device <NUM>. Once computing device <NUM> determines that a product has been added to or removed from a shelf, and further determines which specific product has been added to or removed from a shelf (as discussed earlier in connection with <FIG>), then the information can be forwarded to a retail sales transaction system <NUM> and or an inventory tracking system <NUM>. Not all of the elements in the block diagram in <FIG> need be present in order to practice the invention.

<FIG>, <FIG> and <FIG> include block diagrams showing details of exemplary systems for executing unattended retail sales transactions and/or tracking inventory of products, using, for example, embodiments of shelving units and shelf assemblies disclosed with respect to <FIG>, <FIG>, <FIG> and <FIG>. Such a system includes a shelving unit <NUM>, which can include any of the shelving unit features shown. Each shelving unit includes a number of shelf assemblies <NUM>, or alternatively, shelf assemblies <NUM> as discussed above with respect to <FIG>.

Each shelf assembly <NUM> includes shelf tray <NUM>, weighing base <NUM>, load cell installation assemblies <NUM>, communications arrangements <NUM> by which the processors of load cell assemblies can communicate weight information with other system elements, and miscellaneous mechanical elements.

Each shelf assembly <NUM> includes shelf tray <NUM>, weighing bars <NUM>L and <NUM>R, load cell installation assemblies <NUM>, communications arrangements <NUM> by which the processors of load cell assemblies can communicate with other system elements, and miscellaneous mechanical elements.

Each shelf assembly <NUM> includes shelf <NUM>, weighing base <NUM>, load cell installation assemblies <NUM>, communications arrangements <NUM> by which the processors of load cell assemblies can communicate with other system elements, and miscellaneous mechanical elements. In some embodiments (not shown in <FIG>) the shelf assembly <NUM> can include a weighing-base cover.

Each of the load cell assemblies <NUM> of load cell installation assemblies <NUM> can communicate weight information with computing device <NUM>. Once computing device <NUM> determines that a product has been added to or removed from a shelf, and further determines which specific product has been added to or removed from a shelf, then the information can be forwarded to a retail sales transaction system <NUM> and or an inventory tracking system <NUM>. It will be appreciated by those of skill in the art that not all of the elements in the block diagram in <FIG> need be present in order to practice the invention.

Methods for practicing embodiments of the present invention are disclosed in the following sections.

A first method for conducting a retail transaction using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of products arranged thereupon according to embodiments, is now disclosed. The method is suitable for use with any of the embodiments of weighing assemblies and shelving arrangements disclosed herein. As shown in the flowchart in <FIG>, the method comprises:
Step S01, monitoring weight measurement data transmitted by weighing assemblies as streams of weight measurement data-points. The weight measurement data correspond to the shelf <NUM> (or, equivalently, shelf <NUM> or shelf <NUM>) and to a plurality of non-homogeneous products <NUM> arranged thereupon. The weight measurement can include voltage measurements generated by load cells of the weighing assemblies <NUM>; as is known in the art, as the spring element of a load cell deforms, the cell's strain gauges also change shape. The resulting alteration to the resistance in the strain gauges can be measured as voltage. In some embodiments, a change in voltage is transmitted. In some embodiments, an estimated voltage-to-gram conversion factor is applied at each of the load cell assemblies <NUM>, producing a first-order estimation of the reaction force of each load cell, i.e., the force in reaction to the force applied by the weight of the shelf and products. Thus, it is possible to transmit the reaction force, or an estimated/calculated weight, from each weighing assembly - instead of the voltage data points or in addition thereto. In embodiments, the weight measurement data-points (whether weights and/or voltage inputs thereto) are the only sensor-generated data received during the conduct of the transaction, i.e., the eventual identification of the product(s) and respective product-event(s) of a weight-event is made on the basis of the transmitted weight measurement data but no other sensor data, whether from optical sensors (imaging devices), piezoelectric sensors, radar or lidar sensors, etc..

Step S02, determining a set of weight-event parameters of a weight event, responsively to a change in values and contingent upon reaching steady states according to a stability-tracking rule. In some embodiments, a steady state is a state in which, following a transient period, weight measurement data are constant or 'nearly' constant according to a threshold defining 'nearly'. Depending on load cell design, shelf design and other factors, the transient period can be up to a second in length, or up to <NUM> seconds in length, or up to <NUM> seconds in length, or even longer. In some embodiments, it can be desirable to define the steady state in accordance with one or more stability-tracking rules. A stability-tracking rule according to embodiments is a rule that governs when the weight measurement data points have adequately reached a 'steady state' condition under which a determination of weight-event parameters of a weight event can take place. For example, it can be desirable to define a stability-tracking rule that includes: 'steady state is reached N seconds after the peak response to a weight-event. ' As another example, it can be desirable to define a stability-tracking rule that includes the following: 'respective steady states for the streams of weight measurement data-points are defined by respective response-amplitude thresholds. ' As is known in the art, the dynamic response to a weight-event, after an initial 'shock,' can have a long dying 'tail' of ever-decreasing minimal oscillation about a mean, e.g., if visualized, as in the schematic and illustrative example in <FIG>, on cartesian axes where the x-axis represents time and the y-axis represents response amplitude. The mean (of a reaction force/weight or of a voltage input thereto) can be easily discernible as the oscillation continues to decrease, and at some point in time there is little additional precision to be gained by waiting for the dynamic response to stop oscillating completely. Thus the stability-tracking rule can be based on a height of the oscillation, i.e., above the mean, reaching a threshold. Examples of suitable thresholds include absolute thresholds (e.g., in grams) and relative thresholds (e.g., as a percentage of the mean).

In some embodiments, applying a stability tracking rule includes estimating bias in the weight measurement data-points and compensating for the estimated bias. The compensation can include cancellation of the bias. As an example, a time-series clustering algorithm can be applied to the received streams of weight measurement data-points in order to identify and quantify bias in the data-points. The results can be compared with historical, i.e., learned and/or stored bias data, and the historical bias data can be updated accordingly so as to create an updated bias estimation.

The purpose of the determining in Step S02 is to produce a deterministically identified set of weight-event parameters that can most reliably be associated with a weight-event and subsequently used for a retail transaction in respect of the weight event. In other words, the 'determining' functionality, which receives no real-time sensor-generated information other than weight measurement data-points, is tasked to retroactively identify 'what happened' when a non-transient change in weight on the shelf is detected. A set of weight-event parameters includes a pairing of a product and a product-action respective of the product, i.e., one of: a removal of a product from a shelf, addition of a product to a shelf, or a displacement of a product from one location on a shelf to another location on the shelf. If the product is moved from one shelf to another, it would be modeled as a removal from the first shelf and an addition to the second shelf. The determining includes identifying one or more supported sets of weight-event parameters in a weight-location space. This typically involves using a regression model to preliminarily estimate the location of the removed/added/moved product based on the estimated reaction forces which emanate from embodied by the weight measurement data-points (and/or changes therein). For example, the regression model can be a linear regression model; in other non-limiting examples other regression models can be used, e.g., a binomial regression model. The preliminary location estimation can be refined using statistical inference.

In an example illustrated in <FIG>, a shelf <NUM> defines an x-y plane having an origin at (<NUM>,<NUM>) and the diagonally opposite corner at (<NUM>,<NUM>). A product with weight of W and weight-center coordinates of (X,Y) is removed from the shelf. Theoretically, given a perfect, uniform and balanced shelf <NUM>, no bias, drift or noise, and fully calibrated voltage-to-weight factors, then weighing assemblies (not shown) at (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>) could transmit respective weight measurement data points showing respective decreases in reaction forces/weight of (<NUM>-X)*(<NUM>-Y)*W, (<NUM>-X)*Y*W,X*Y* W, X*(<NUM>-Y)*W. In other words, the weight would be linearly distributed to the respective weighing assemblies and the total sum of the calculated reaction forces would be W. However, because of the myriad factors affecting reaction forces at the weighing assemblies affecting the predictability of weight measurements, it is more realistic to see weight-location as a probability density function, as shown schematically in <FIG> solely for visualization purposes, where the weight decrease from the product removal at (X,Y) is represented as a mapped weight distribution at multiple (x,y) points. The bivariate probability density function shown in <FIG> is shown solely as an illustrative example; other suitable probability density functions are discussed hereinbelow.

The weight of the product removed/added/moved, according to embodiments, is estimated by aggregating the estimated reaction forces, where each reaction force at a specific weighing assembly is a product of a voltage input and an estimated voltage-to-weight conversion factor. Weight and location estimations can be iteratively improved, i.e., improved weight information can be used to improve location data, and improved location data can be used to improve weight information. The estimation/improvement iterations can be continued until a 'stop' criterion is met, e.g., iteration-over-iteration change reaches a threshold. At that point, a probability density estimation using historical weight data for products, and/or product positioning plan data and/or other external product data as available, can be used to posit a joint weight-location probability density function, and to create an ad hoc group of 'supported' event sets in the weight-location space of the post-weight-event shelf. The inventors have found, non-exhaustively, that Gaussian Mixture models, Multinomial Models, Piecewise-Uniform distribution models, Multivariate Beta distribution models and Multivariate Gamma distribution models are suitable for use in modeling joint weight-location probability density functions according to the disclosed embodiments; other probability models as known in the art can also be suitable. 'Supported' event sets are those which meet a minimum likelihood criterion for product weight and location. A joint weight-location event-based classification function can be used to select a single set of weight-event parameters from the identified one or more supported sets, and this single set is the 'determined' set of weight-event parameters.

In light of the operating requirement in Step S02 that the determining is contingent upon the system reaching a steady state in accordance with a stability-tracking rule, it can become necessary to 'disambiguate' or 'discretize' multiple discrete weight-events which can make up what appears to be a single weight-event, and this is handled by the joint weight-location event-based classification function. In a first example, a user/customer removes two products that are two items with the same SKU identifier - simultaneously, e.g. two cans of soda with one hand, or sequentially, where the second product is removed before the system reaches steady-state following the first removal. Although the two products share the same SKU identifier, the weights can be different to the extent that the learned/stored history of weight distribution for that SKU indicates a historical range of product weight. In a second example, the two simultaneously or sequentially removed products have different SKU-identifiers - and may be known to have the same nominal weights, or alternatively may be known to have different nominal weights. Even if they are known to have the same nominal weights, the history of weight distribution can be different for each product. In a third example, a kilogram of product is removed from the shelf, and the classification function determines whether a single one-kg product was removed, or two (or more) products with total weight of <NUM> were removed. In some examples, the estimation, regression and/or iteration of location information, in combination with the weight estimations as described above can be used for assigning different probabilities to different sets of weight-event parameters.

Step S03, recording and/or displaying information about the results of the determining of Step S02. The recording is typically required for conducting/completing the retail transaction. The displaying can be used, for example, in indicating to a user/customer a sub-total or total price for a transaction, along with an identification of a product taken from a shelf (while removing products taken from a shelf and returned to a shelf, even if returned to a different shelf.

In some embodiments, as shown in the flowchart of <FIG>, the first method additionally comprises:
Step S04, receiving an indication of a transaction-initiation. The indication can include, for example, a physical shock such as from opening and/or closing a door of a retail unit (e.g., retail unit <NUM> of <FIG> or <FIG>). The indication can include a sensed movement, such as a hand approaching a shelf, which can be sensed, for example, by an optical sensor or radar or lidar sensor. In some embodiments, the weight-event itself can be the transaction-initiation.

In such embodiments, Step S01 is replaced by Step S01' in which the monitoring of weight measurement data transmitted by weighing assemblies as streams of weight measurement data-points is in response to the receiving of Step S04.

In some embodiments, as shown in the flowchart of <FIG>, the first method additionally comprises, in addition to Steps S01. S03:
Step S05, responsively to a change in the values of weight measurement data-points, analyzing the streams of weight measurement data-points to detect noise and drift. The weight measurement data-points and the changes in their value over time are analyzed for the presence either or both of the two anomalous phenomena of noise and drift. Noise for the purposes of this disclosure comprises high-frequency, i.e., short-lived, changes in values of weight measurement data points in a stream of such data points transmitted by the weighing assemblies. For example, noise can include spikes in value, which can be either 'plus' or 'minus' with respect to the baseline values, and which are substantially reversed (meaning at least <NUM>% reversed, at least <NUM>% reversed, at least <NUM>% reversed, or at least <NUM>% reversed) within less than <NUM> seconds after the spike begins, or within less than <NUM> seconds or within <NUM> second after the spike begins. In some embodiments, the source of noise can be mechanical and/or environmental. For example, noise can be caused by the vibration of an air conditioning condenser. Noise can be caused by simple mechanical events, such as a customer or employee touching a shelf or a product on the shelf. Opening and closing a door of a retail unit can be consider noise in some embodiments. Drift for the purposes of this disclosure is a low-frequency, i.e., long-lived, change in weight measurement values, usually changes that are relatively minor in magnitude. Examples of causes of drift are daily cycles of indoor temperatures, environmental conditions such as humidity and atmospheric pressure, and artifacts of a power supply. Unlike what is termed herein noise, drift is not quickly reversed, because it is generally caused by a persistent and/or repeating condition. In some embodiments, drift is periodic; for example, the same pattern or trend can repeat itself every day at a certain time, or at the start of every work shift, or even in on an annual cycle in line with seasonal changes in the environment.

Step S06, in response to detection of noise and/or drift in Step S05, at least partially filtering out or compensating for the noise and/or drift, and thus generating revised weight measurement data. Noise and/or drift can mask true changes in weight embodied in the values of the weight measurement data points. Noise and/or drift can also affect the resolution and disambiguation of products and actions (weight-event parameters) by adding uncertainty and skewing probabilities. Therefore, it can be advantageous to filter out, or compensate for, noise and/or drift, at least partially. As is known in the art, a signal can commonly be decomposed into its component frequencies using a Fourier transform. Carrying out this step results in revised weight measurement data that can be generated as a result of the filtering out and/or compensating for noise and drift.

In embodiments, Step S04 and S01' can be combined with steps S02, S03, S05 and S06.

A second method for conducting a retail transaction using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of products arranged thereupon according to embodiments, is now disclosed. The method is suitable for use with any of the embodiments of weighing assemblies and shelving arrangements disclosed herein. As shown in the flowchart in <FIG>, the second method comprises:
Step S11, monitoring weight measurement data transmitted by weighing assemblies as streams of weight measurement data-points. Step S11 is identical to Step S01, and the discussion of Step S01 applies as well to Step S11.

Step S12, determining a set of weight-event parameters of a weight event, responsively to a change in values in one or more streams of weight measurement data-points, the determining comprising (i) identifying one or more supported sets of weight-event parameters in a weight-location space, and (ii) applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

The weight of the product removed/added/moved, according to embodiments, is estimated by aggregating the estimated reaction forces, where each reaction force at a specific weighing assembly is a product of a voltage input and an estimated voltage-to-weight conversion factor. Weight and location estimations can be iteratively improved, i.e., improved weight information can be used to improve location data, and improved location data can be used to improve weight information. The estimation/improvement iterations can be continued until a 'stop' criterion is met, e.g., iteration-over-iteration change reaches a threshold. At that point, a probability density estimation using historical weight data for products, and/or product positioning plan data and/or other external product data as available, can be used to posit a joint weight-location probability density function, and to create an ad hoc group of 'supported' event sets in the weight-location space of the post-weight-event shelf. The inventors have found that Gaussian Mixture models, Multinomial Models, Piecewise-Uniform distribution models, Multivariate Beta distribution models and Multivariate Gamma distribution models are suitable for use in modeling joint weight-location probability density functions; other probability models as known in the art can also be suitable. 'Supported' event sets are those which meet a minimum likelihood criterion for product weight and location. A joint weight-location event-based classification function can be used to select a single set of weight-event parameters from the identified one or more supported sets, and this single set is the 'determined' set of weight-event parameters. In some embodiments, applying the joint weight-location event-based classification function includes estimating a joint weight-location probability density.

In some embodiments, wherein applying the joint weight-location event-based classification function applying the joint weight-location event-based classification function includes applying a statistical classification mechanism trained by weight and location information to perform a statistical inference. In some embodiments, applying the classification function includes Bayesian hierarchical modelling, including a Bayesian merge of the joint weight-location probability density function with the group of sets of supported events in the weight-location space.

A third method for conducting a retail transaction using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of products arranged thereupon according to embodiments, is now disclosed. The method is suitable for use with any of the embodiments of weighing assemblies and shelving arrangements disclosed herein. As shown in the flowchart in <FIG>, the third method comprises:
Step S21, receiving respective time-series of weight measurement data points from a plurality of weighing assemblies. As discussed hereinabove, weight measurement data points can include calculated weight measurements and/or voltage inputs thereto. The data points are received simultaneously as separate time-series from each load cell assembly.

Step S22, updating an estimation of bias in the weight measurement data points by applying a clustering algorithm to each of the time-series of weight measurement data-points. A 'bias history' can be maintained by the retail transaction system, and the bias history can be updated when encountering identified bias in ongoing transactions. The bias history is available to be updated on the basis of bias identified in Step S22. The updating includes identifying bias in the time streams. A preferred method of identifying bias is by using a clustering algorithm. The inventors have found, non-exhaustively, that Gaussian Mixture algorithm, K-means clustering, Hard clustering and a mixture of Beta distributions are suitable clustering algorithms according to the disclosed embodiments.

Step S23, determining a set of weight-event parameters of a weight event, wherein the determining includes compensating for the estimated bias. In some embodiments, compensating for the estimated bias includes correcting an estimation of weight and/or location. In some cases, they go together: correcting an estimation of weight can lead to correcting an estimation of location because of the iterative nature of the joint weight-location modeling.

In some embodiments, Step S23 can include features from Step S12 in that the determining can comprise (i) identifying one or more supported sets of weight-event parameters in a weight-location space, and (ii) applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

The third method can additionally include Steps S05 and S06, which were discussed hereinabove in respect of <FIG>.

A fourth method for conducting a retail transaction using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of products arranged thereupon according to embodiments, is now disclosed. The method is suitable for use with any of the embodiments of weighing assemblies and shelving arrangements disclosed herein. As shown in the flowchart in <FIG>, the fourth method comprises:
Step S31 (identical to Step S04), receiving an indication of a transaction-initiation. The indication can include, for example, a physical shock such as from opening and/or closing a door of a retail unit (e.g., retail unit <NUM> of <FIG> or <FIG>). The indication can include a sensed movement, such as a hand approaching a shelf, which can be sensed, for example, by an optical sensor or radar or lidar sensor. In some embodiments, the weight-event itself can be the transaction-initiation.

Step S32 (identical to Step S01'), in response to the receiving of Step S31, monitoring weight measurement data corresponding to the shelf and a plurality of non-homogeneous products arranged thereupon, said weight measurement data transmitted by the plurality of weighing assemblies as respective streams of weight measurement data-points. The weight measurement data correspond to the shelf <NUM> (or, equivalently, shelf <NUM> or shelf <NUM>) and to a plurality of non-homogeneous products <NUM> arranged thereupon.

Step S33, determining a set of weight-event parameters of a weight event, responsively to a change in values and using at least one stability-tracking rule. In some embodiments, Step S33 can include features from Step S12 in that the determining can comprise (i) identifying one or more supported sets of weight-event parameters in a weight-location space, and (ii) applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets. According to embodiments, the at least one stability-tracking rule is/are can be selected from the following non-exhaustive list of stability-tracking rules:.

Step S34, recording and/or displaying information about the results of the determining of Step S33. The recording is typically required for conducting/completing the retail transaction. The displaying can be used, for example, in indicating to a user/customer a sub-total or total price for a transaction, along with an identification of a product taken from a shelf (while removing products taken from a shelf and returned to a shelf, even if returned to a different shelf.

In some embodiments, as illustrated by the flowchart in <FIG>, the method can comprise, in addition to Steps S31. S34:
Step S35, receiving an indication of a transaction-completion. In some embodiments a transaction-completion can be inferred from context and circumstances, such as a door closing after a product is removed from a shelf and a predetermined amount of time has passed. In other embodiments, there may be a specific and deliberate transaction-completion, such as receiving payment, scanning a user (biometrically) or a user's transaction card or telephone screen, or simply leaving a store or a specific portion of the store where the shelving unit is located at which the instant transaction is being conducted.

In some embodiments, as shown in the flowchart of <FIG>, the first method additionally comprises, in addition to Steps S31. S34:
Step S36 (identical to Step S05), responsively to a change in the values of weight measurement data-points, analyzing the streams of weight measurement data-points to detect noise and drift, as further discussed hereinabove in respect of Step S05.

Step S37 (identical to Step S06), in response to detection of noise and/or drift in Step S36, at least partially filtering out or compensating for the noise and/or drift, and thus generating revised weight measurement data.

In embodiments, Steps S36 and S37 can be combined with steps S31.

A fifth method for conducting a retail transaction using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of products arranged thereupon according to embodiments, is now disclosed. The method is suitable for use with any of the embodiments of weighing assemblies and shelving arrangements disclosed herein. As shown in the flowchart in <FIG>, the fifth method comprises:.

Step S41 (identical to Step S04), receiving an indication of a transaction-initiation. The indication can include, for example, a physical shock such as from opening and/or closing a door of a retail unit (e.g., retail unit <NUM> of <FIG> or <FIG>). The indication can include a sensed movement, such as a hand approaching a shelf, which can be sensed, for example, by an optical sensor or radar or lidar sensor. In some embodiments, the weight-event itself can be the transaction-initiation.

Step S42 determining a set of weight-event parameters of a weight event, responsively to a change in values. In some embodiments, Step S42 can include features from Step S12 in that the determining can comprise (i) identifying one or more supported sets of weight-event parameters in a weight-location space, and (ii) applying a joint weight-location event-based classification function to select a set of weight-event parameters from the identified one or more supported sets.

Step S43 (identical to Step S03), recording and/or displaying information about the results of the determining of Step S42.

Referring now to <FIG>, a block diagram is shown of a system for conducting a retail transaction based on weight-events in respect of a non-homogeneous assortment of products <NUM> on a shelf <NUM> (or, equivalently, shelf <NUM> or shelf <NUM>). The system <NUM> can include a plurality of weighing assemblies <NUM> that are in contact with a shelf <NUM>, which as explained above can support a variety of products <NUM>. The system can also include one or more computer processors <NUM> and at least one non-transient computer-readable storage medium <NUM>, e.g., a mechanical, optical and/or solid-state storage device or a storage device using whatever data storage technology is suitable for the purpose. The one or more computer processors <NUM> can optionally be included in a computing device <NUM> that can be a component of the system <NUM> and which can optionally include other computer hardware such as communications gear <NUM>, a display device <NUM>, and user input accessories (not shown), such as a keyboard and a mouse. The storage medium <NUM> can include program instructions <NUM>, as well as weight distribution mappings repository <NUM>, a product database <NUM> and product positioning plan <NUM>, all of which are discussed elsewhere in this disclosure.

Program instructions <NUM>, which when executed by computer processor(s) <NUM>, are effective to cause the computer processor(s) to carry out any of the methods described hereinabove for conducting a retail transaction using a plurality of weighing assemblies that are jointly operable to measure the combined weight of the shelf and of products arranged thereupon.

Claim 1:
A system for conducting a retail transaction, comprising:
a. a plurality of weighing assemblies (<NUM>) in contact with a shelf (<NUM>) and jointly operable to measure a combined weight of a shelf and of products arranged thereupon;
b. one or more computer processors (<NUM>); and
c. a non-transient computer-readable storage medium (<NUM>) comprising program instructions, which when executed by the one or more computer processors, cause the one or more computer processors to carry out the following steps:
i. monitoring weight measurement data corresponding to the shelf and a plurality of non-homogeneous products arranged thereupon, said weight measurement data transmitted by the plurality of weighing assemblies as respective streams of weight measurement data-points;
ii. responsively to a change over time in the values of said weight measurement data-points and contingent upon said values reaching respective steady states according to a stability-tracking rule, determining a set of weight-event parameters of a weight event, the determined set of weight-event parameters comprising one or more products and a product-action respective of each one of the one or more products; and
iii. performing at least one of: (A) recording information about the results of the determining in a non-transient, computer-readable medium, and (B) displaying information about the results of the determining on a display device,
wherein the weight measurement data-points comprise at least one type of data selected from the group comprising calculated weights and voltage inputs thereto.