Patentable/Patents/US-12639691-B2
US-12639691-B2

Weight-based location tracking

PublishedMay 26, 2026
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Techniques are provided for weight-based location tracking. In one embodiment, the techniques involve retrieving, via an item tracker, item data of each item in a transaction at a self-checkout system, wherein the item data includes incremental weight measurements, location data, and a total weight of the items in the transaction, generating, via the item tracker, a grouping of items based on the location data, identifying, via the item tracker, a decrease in the total weight of the items in the transaction, and matching, via the item tracker, the decrease in the total weight to a weight of the grouping of items, wherein the weight of the grouping of items is determined based on the incremental weight measurements.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

. A method comprising:

2

. The method of, wherein identifying the match in the location data comprises:

3

. The method of, wherein the decrease is identified by an item tracker device configured to, upon determining that the decrease in the total weight cannot be matched with the weight of the grouping of items, generate a notification to request assistance.

4

. The method of, wherein the grouping of items comprises a software representation of at least one item in the transaction that is located in a shopping bag or on a surface of the bagging station.

5

. The method of, wherein the item data is generated via the item data generator component of the computer configured to:

6

. A system, comprising:

7

. The system of, wherein identifying the match in the location data comprises:

8

. The system of, wherein the decrease is identified by an item tracker configured to, upon determining that the decrease in the total weight cannot be matched with the weight of the grouping of items, generate a notification to request assistance.

9

. The system of, wherein the grouping of items comprises a software representation of at least one item in the transaction that is located in a shopping bag or on a surface of the bagging station.

10

. The system of, wherein the item data is generated via an item data generator configured to:

11

. The method of, wherein the movement of the grouping of items is performed absent a notification to move the grouping of items, wherein the grouping of items being moved to the second bag rack on the bagging station causes the two-dimensional coordinates in the location data to be updated.

Detailed Description

Complete technical specification and implementation details from the patent document.

Traditional self-checkout systems are often used in retail settings to facilitate purchases without the aid of an employee. In a typical transaction using a self-checkout system, a customer scans an item for purchase, and places the item in a shopping bag supported by a bag rack of a bagging station. This process is repeated until all items have been scanned and placed in shopping bags. Afterwards, the customer uses the self-checkout system to pay for the transaction. However, if the customer deviates from the typical transaction (e.g., by replacing or removing items already in the shopping bag), traditional self-checkout systems may not identify the deviation, or may pause the transaction and call for employee assistance.

Embodiments of the present disclosure improve upon self-checkout systems by enabling weight-based location tracking of individual items in a bagging station. In one embodiment, a user of a self-checkout system enters items into a transaction, and places the items on a bagging station of the self-checkout system. The weights and locations of the items are determined from load cell measurements such that any grouping of the items can be readily identified if removed from the bagging station before completion of the transaction.

In one embodiment, a grouping of the items is identified using the locations of the items in the grouping. When the grouping is removed from the bagging station, the resultant decrease in the total weight of the items on the bagging station is compared to a recorded weight of the grouping. If a match cannot be made between the decrease in total weight of the items and the weight of the grouping, a notification is generated to request assistance at the self-checkout system. Otherwise, the transaction can proceed without interference.

One benefit of the disclosed embodiments is to improve the speed of transactions by preventing self-checkout systems from interfering with allowed deviations from typical transactions. For example, during a transaction, the user may attempt to remove a shopping bag that contains items from a bagging station of the self-checkout system to make room for more items to be placed onto the bagging station. Traditional self-checkout systems interpret this bag removal as an event that requires intervention by an employee (e.g., a nefarious action), while the disclosed embodiments can provide the flexibility for the transaction to continue without such intervention.

illustrates a self-checkout system, according to one embodiment. In one embodiment, the self-checkout systemis a kiosk or point of sale (POS) device that is used to purchase items (e.g., clothes, food, home improvement items, and the like) in a retail environment.

In the illustrated embodiment, the self-checkout systemincludes scanner, display, bagging station, bag rack, and bag rack. Not all components of the self-checkout system are shown.

The scannercan be used to scan bar codes, or other item identifiers, to input corresponding items into a transaction. The displaycan present a graphical user interface (GUI) that facilitates the transaction. In one embodiment, the displayincludes a touchscreen that can be used to show transaction details, and to select payment methods.

The transaction details can include a list of quantities, descriptions, and prices of the items entered into the transaction via the scanner. The transaction details can also include a sub-total, taxes due, and a total amount of the transaction calculated by the self-checkout system. The payment options shown on the displaycan include options for payment via cash, credit card, debit card, gift card, and the like.

After scanning an item, a user may place the item into a shopping bag (not shown) supported by bag rackor bag rackof the bagging station. A structure and operation of the bagging stationis described in further detail in. In one embodiment, the self-checkout systemdetermines the location of the center of gravity of the item, and the weight that the item exerts on the bagging stationat the location. This process is described in further detail in.

During the transaction, the self-checkout systemcan continue to monitor the bagging stationfor changes in item weight and location. If there are changes that the self-checkout systemcannot account for, the self-checkout systemcan generate an alert for an employee, or a notification for the shopper. This process is described in further detail in. After all items have been scanned, the user can complete the transaction by payment via payment terminalor payment terminal.

illustrates an item location tracking environment, according to one embodiment.illustrates a flowchart of a methodfor generating item data, according to one embodiment.is explained in conjunction with.

In the embodiment illustrated in, the item location tracking environmentincludes a computerwirelessly coupled to the self-checkout systemvia a network. In another embodiment, however, the computeris integrated into the self-checkout system.

In one embodiment, the computerincludes a processorthat obtains instructions and data via a busfrom memoryor storage. Not all components of the computerare shown. The computeris generally under the control of an operating system (OS) suitable to perform or support the functions or processes disclosed herein. For example, the computercan run the firmware and software that enables operation of the scannerand display, calculates the transaction details, facilitates payment, enables functions of the bagging station, and the like.

The processoris a programmable logic device that performs instruction, logic, and mathematical processing, and may be representative of one or more CPUs. The processormay execute one or more algorithms, instruction sets, or software applications in the memory or storage to perform the functions or processes described herein.

The computeralso includes a network interfaceconnected to the bus. The network interfacemay be any type of network communications device allowing the computer to communicate with other computers via the network. The network interfacemay exchange data with another network interface of another computer coupled to the self-checkout systemvia the network. In one embodiment, the exchanged data includes at least one weight measurement of the bagging station.

The memoryand storagecan be representative of hard-disk drives, solid state drives, flash memory devices, optical media, and the like. The storagemay also include structured storage (e.g., a database). In addition, the memoryand the storagemay be considered to include memory physically located elsewhere. For instance, the included memory may be located on another computer communicatively coupled to the computervia the bus or network.

As shown in, the memoryincludes item data generatorand item tracker. In one embodiment, the item data generatorand item trackerare each sets of computer instructions or algorithms executed by the processorto perform the functions described herein.

A methodperformed by the item data generatorbegins at block. As discussed above, during a transaction conducted via the self-checkout system, a user can scan an item, and place the item on the bagging station, or in a shopping bag supported by a bag rack of the bagging station.

In the embodiment illustrated in, the bagging stationincludes load cells. A load cell is a transducer that measures the weight of an object by converting an input force exerted on the load cell to a proportional output electrical signal. Examples of load cells include strain gauges, hydraulic load cells, pneumatic load cells, and capacitive load cells. In one embodiment, the load cellsused in the bagging stationare strain gauges.

The load cellscan be disposed on, arranged within, or disposed beneath any surface of the bagging station. In one embodiment, load cells are arranged on boundaries near the edges or corners of the bagging stationto maximize the surface area that is measured by the load cells.

As illustrated in, the load cellsare arranged near the corners of a surface of the bagging station. Although four load cells are shown in this embodiment, the item data generatorcan also perform the functions described herein when the bagging stationincludes at least three load cells, which enables use of a two-dimensional coordinate system as described below.

At block, the item data generatorestablishes an origin of an x-y coordinate system. In one embodiment, the item data generatorsets the origin using predetermined data that is entered into the item data generator(and the item tracker) prior to installation or operation of the self-checkout system. The predetermined data can include the dimensions of a surface of the bagging station, the coordinates of bag rackand bag rack, the coordinates of each of the load cells, the location of one load cell (e.g.,) along with the distance (e.g., Land L) to other load cells, and the like.

The origin can be set at any point on a surface of the bagging station. For instance, the origin is set at the center of a surface of the bagging station, or at a position equidistant from each of the load cells.

At block, the item data generatorreceives measurements of an item from multiple load cells. In the embodiment illustrated in, the measurements represent individual forces exerted on each of the load cellsby the item placed on the bagging station.

At block, the item data generatordetermines an x-coordinate between a first set of the load cells of the multiple load cells. The x-coordinate can represent the center of gravity of the item on the x-axis. In one embodiment, the x-coordinate is determined by dividing the difference in the outputs from a right-most set of load cells and a left-most set of load cells by the outputs of all the load cells. In the illustrated embodiment, the x-coordinate is calculated as follows:

X=(B+D−A−C)/(A+B+C+D), where A is the output of load cell, B is the output of load cell, C is the output of load cell, and D is the output of load cell.

At block, the item data generatordetermines a y-coordinate between a second set of load cells of the multiple load cells. The y-coordinate can represent the center of gravity of the item on the y-axis. In one embodiment, the y-coordinate is determined by dividing the difference in the outputs from an upper-most set of load cells and a bottom-most set of load cells by the outputs of all the load cells. In the illustrated embodiment, the y-coordinate is calculated as follows:

Y=(A+B−C−D)/(A+B+C+D), where A is the output of load cell, B is the output of load cell, C is the output of load cell, and D is the output of load cell.

At block, the item data generatorcan, optionally, normalize the x-y coordinates based on a distance between the first set of load cells and a distance between the second set of load cells. In the embodiment illustrated in, the item data generatorcan normalize the x-coordinate applying a scaling factor as follows: X=X*L/2, where Lis the distance between load celland load cell, or load celland load cell. The item data generatorcan normalize the y-coordinate applying a scaling factor as follows: Y=Y*L/2, where Lis the distance between load celland load cell, or load celland load cell.

At block, the item data generatordetermines a weight measurement at the location of the x-y coordinates. In one embodiment, the item data generatordetermines the weight measurement by averaging and scaling the outputs of the load cells. In another embodiment, the item data generatordetermines the weight measurement from the outputs of a subset of the load cells.

At block, the item data generatorstores item data, wherein the item data comprises the weight measurement and the x-y coordinates. In the embodiment illustrated in, the item data generatorstores the item identification and the weight measurement in item weights, and stores the item identification and the x-y coordinates in item locations, in the storage. The load cell measurements used to determine the weight measurement can also be stored in the item weights. In one embodiment, the item data is stored as a lookup table that maps an identification of the item to a respective item weight and item location. The item data can be used to determine groupings of items and grouping data, as described in.

The item data generatorcan also determine the total weight of all items in the transaction, and store the total weight (as well as the individual weights of each item) in the item weights. The total weight can be updated in real-time whenever an item is added to, or removed from, a shopping bag or the bagging station.

At block, upon determining that the transaction has not ended, the methodproceeds to block, where the item data generatoroperates as discussed above. Returning to block, if the item data generatordetermines that the transaction has ended, the methodproceeds to blockwhere the methodends.

illustrates a flowchart of a methodfor tracking the location of an item, according to one embodiment. The methodbegins at block.

At block, the item trackerretrieves the item data from the storage. As discussed above, the item data can include an incremental weight measurement, location data, and a total weight of at least one item in a transaction of the self-checkout system. The location data can include the x-y coordinates of a center of gravity of each item in the transaction. In one embodiment, the item trackerretrieves the item data from the item weightsand item locationsin storage.

At block, the item trackergenerates a grouping of items, and grouping data, based on the item data. In one embodiment, a grouping of items is a software representation of any individual item of the transaction, or any combination of items in close physical proximity, on the bagging station.

In one embodiment, a first grouping of items represents all of the items that are placed into the same shopping bag. In this embodiment, the item trackeridentifies an overlap of the location data of items in the transaction with the predetermined location of the bag rack that supports the shopping bag. That is, as discussed above, predetermined data that includes the coordinates of each bag rack can be entered into the item trackerprior to installation or operation of the self-checkout system. The item trackercan compare the x-y coordinates of each item of the transaction with the coordinates of the bag racks to determine which bag racks support the shopping bags that contain the items. In this manner, each shopping bag that contains items is considered to contain a separate grouping of items.

In one embodiment, a second grouping of items represents a subset of the items that are placed into a shopping bag. In this embodiment, the item trackergenerates multiple groupings for each possible combination of items in the shopping bag. For instance, if the shopping bag contains 4 items, then a grouping may include any 1-3 of the items. The item trackercan identify the shopping bag that contains the items using the same process as performed for the first grouping.

In one embodiment, a third grouping of items represents one item, or multiple items placed next to each other, directly on the surface of the bagging station. In this embodiment, the item trackerdetermines the distances between each item using the x-y coordinates of the items, and then compares the distances between the items to a threshold to determine whether the multiple items are in close physical proximity. The item trackercan generate a grouping for any items that are in close physical proximity. This process may also be used by the item trackerto determine the second grouping of items.

In addition to generating the groupings, the item trackercan generate the grouping data. In one embodiment, the grouping dataincludes grouping identifications, and corresponding weights of each grouping. The item trackercan determine the grouping datausing the item data. When the grouping includes only one item, the weight and location of the grouping is the same as the weight and location of the item as stored in the item weightsand item locations. In one embodiment, when a grouping includes multiple items, the item data generatorcalculates the weight of a given grouping by summing the incremental weights of each item of the grouping.

The grouping datacan also include a grouping location (e.g., x-y coordinates, or a given bag rack) that identifies where the grouping of items is located on the bagging station. If in the form of x-y coordinates, the grouping location can indicate the center of gravity of a grouping. In one embodiment, the item trackercan generate a grouping location using the load cell measurements corresponding to each item in the group. The grouping locations can be determined in the same manner as the item locations, as discussed above.

The grouping locations can also be determined using the weight measurements and the x-y coordinates of each item of the grouping. For instance, for each item in the grouping, the item trackercan determine the distance between the origin of the x-y coordinate system and the x-y coordinates of the item. The item trackercan then calculate moment of the item from the distance and the item weight. When the moments of all items in the grouping have been calculated, the item trackercan determine the center of gravity of the grouping by dividing the sum of the moments by the sum of the weights of the items in the grouping.

In one embodiment, the item trackerstores the groupings and grouping datain the storage. The grouping datacan also be stored as a lookup table that maps an identification of the groupings to respective grouping weights. When a grouping includes only one item, the grouping datamay include the same information for the item as is stored in the item weightsand item locations. However, in such cases, the grouping datacan also link to the item weightsto avoid replicating data.

At block, the item trackeridentifies a decrease in the total weight of all the items in the transaction. The decrease in total weight can occur, for example, when a user removes an item, or a shopping bag containing items, from the bagging station. In one embodiment, the item trackeridentifies the decrease in total weight by monitoring the real-time total weight from the item data. In another embodiment, the item trackercan identify the decrease in total weight from a signal received from the item data generatorwhen the total weight changes. In yet another embodiment, the item trackercan identify the decrease in total weight by comparing a sum of the individual weights of all items in the item weightsto a present measured weight from all the load cells.

At block, the item trackerdetermines whether the decrease in total weight can be matched with a grouping of items. In one embodiment, the item trackerperforms the matching process by comparing the magnitude of the decrease in total weight to the weight of the groupings in the grouping data.

The item trackercan further match the decrease in total weight to a grouping of items by comparing a location of removed items to the location of a grouping stored in the grouping data, or to item locations stored in the item locations. For instance, when the items are removed from the bagging station, the item trackercan calculate the incremental weight of the removed items as the difference between present load cell measurements (which do not include the weight of the removed grouping of items) and the load cell measurements stored in the item weightsor grouping data. The item trackercan then use these incremental weights to determine the x-y coordinates for each of the removed items in a manner similar to determining the x-y coordinates for individual items, as discussed above.

In one embodiment, the item trackermatches the decrease in total weight to the grouping of items when the x-y coordinates of the removed items overlap with the x-y coordinates of a grouping of items, or overlap with the location of a given bag rack holding the shopping bag that contains the items, as indicated in the grouping dataor the item locations.

In another embodiment, the item trackercan perform the matching process while accounting for removed items that are relocated to another position on the bagging station. For example, a user may take one or more items out of a shopping bag at bag rack, and place the items into a shopping bag at bag rack. In this instance, in a manner similar to the processes discussed above, the item trackercan track the weight and location of the removed items, and generate new weight and location data for the items when they are returned to the bagging station. The item trackercan then match the weight of the removed items to the weight of the returned items, and update the location of the returned items in the item weights, item locations, and grouping data.

Upon determining that the decrease in total weight cannot be matched to the grouping of items, the methodproceeds to block. At block, the item trackergenerates a notification for the self-checkout system. In one embodiment, the notification is a signal, or an alarm, that requests assistance from an employee at the self-checkout system. In another embodiment, the notification triggers the display of a message that requests assistance from the user. The message can be presented on the displayto inform the user that at least one item, or a shopping bag containing the items, has been improperly removed from the bagging station. The displaycan also present the user the option to return the items to the bagging station, or to remove the items from the transaction.

Returning to block, upon determining that the decrease in total weight can be matched to the grouping of items, the methodproceeds to block, where the methodends.

Patent Metadata

Filing Date

Unknown

Publication Date

May 26, 2026

Inventors

Unknown

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Weight-based location tracking” (US-12639691-B2). https://patentable.app/patents/US-12639691-B2

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

Weight-based location tracking | Patentable