Shopping cart positioning method and apparatus

By combining inertial navigation with electronic price tag signal strength weighting and scanning product identification for positioning, the problem of low positioning accuracy of shopping carts has been solved, achieving high-precision seamless positioning in supermarket scenarios.

WO2026153406A1PCT designated stage Publication Date: 2026-07-23HANSHOW TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HANSHOW TECH CO LTD
Filing Date
2026-01-15
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Existing shopping cart positioning technology suffers from low positioning accuracy, especially when the positioning is inaccurate outside the coverage area of ​​base stations.

Method used

A method combining inertial navigation positioning with electronic price tag signal strength weighting and product identification scanning is adopted. By acquiring the signal strength of surrounding electronic price tags and scanning product identification, the position is corrected, and high-precision shopping cart position is obtained by matching with the supermarket map.

Benefits of technology

It improves the accuracy of shopping cart positioning, achieving high-precision seamless positioning outside the base station coverage area, and meets the real-time monitoring needs of supermarket scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2026072763_23072026_PF_FP_ABST
    Figure CN2026072763_23072026_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses a shopping cart positioning method and apparatus. The method comprises: when it is determined that a shopping cart is not within the coverage of a current base station, positioning the shopping cart by using inertial navigation positioning; during the inertial navigation positioning process, acquiring the signal strengths of surrounding electronic price tags, and if an electronic price tag positioning condition is satisfied, positioning the shopping cart by means of signal-strength-weighted calculation; if a scanning commodity identifier positioning condition is satisfied, positioning the shopping cart by means of scanning commodity identifiers to determine commodity positions; on the basis of an electronic price tag positioning result or a scanning commodity identifier positioning result of the shopping cart, performing correction processing on an inertial navigation positioning result, and obtaining a first corrected positioning result of the shopping cart; and, on the basis of the first corrected positioning result and a set of waypoints pre-generated on the basis of a supermarket map, performing matching to obtain the position of a waypoint closest to the first corrected positioning result as a second corrected positioning result of the shopping cart. The present application can improve the positioning accuracy of shopping carts.
Need to check novelty before this filing date? Find Prior Art

Description

Shopping cart positioning methods and devices

[0001] This application claims priority to Chinese Patent Application No. 202510067378.1, filed on January 15, 2025, entitled “Method and Apparatus for Locating Shopping Cart”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the technical field of supermarket positioning, and in particular to a method and apparatus for positioning shopping carts. Background Technology

[0003] This section is intended to provide background or context for the embodiments of this application set forth in the claims. The description herein is not an admission that it is prior art simply because it is included in this section.

[0004] With the fast pace of life, consumers increasingly demand convenient shopping experiences, hoping to reduce the time spent searching for shopping carts and items in malls. Simultaneously, businesses need to improve store operational efficiency and require real-time monitoring of shopping cart location and status. Therefore, the need for shopping cart location tracking in supermarkets and hypermarkets is becoming increasingly urgent. Furthermore, the rapid development of technologies such as the Internet of Things (IoT), wireless communication, and big data analytics has made shopping cart location technology possible. Currently, smart shopping carts offer functions such as self-checkout, product recommendations and searches, indoor positioning and navigation, shopping cart tracking, and security monitoring, with accurate cart location being a crucial component. For supermarket and hypermarket shopping cart scenarios, existing main positioning technologies include UWB, Bluetooth beacons, RFID, and geomagnetic positioning, all of which suffer from low positioning accuracy. Summary of the Invention

[0005] This application provides a method for locating a shopping cart to improve the accuracy of shopping cart positioning. The method includes:

[0006] Determine if the shopping cart is within the coverage area of ​​the current base station;

[0007] When it is determined that the shopping cart is not within the coverage area of ​​the current base station, the inertial navigation positioning method is used to locate the shopping cart and obtain the inertial navigation positioning result of the shopping cart;

[0008] During the inertial navigation positioning process, the signal strength of the surrounding electronic price tags is obtained. If the electronic price tag positioning conditions are met, the electronic price tag positioning result of the shopping cart is obtained by calculating the signal strength weight.

[0009] During the inertial navigation positioning process, if the positioning conditions for scanning product tags are met, the product position is located by scanning product tags to obtain the positioning result of the product tags in the shopping cart.

[0010] The inertial navigation positioning result of the shopping cart is corrected based on the positioning result of the electronic price tag or the positioning result of the scanned product label to obtain the first corrected positioning result of the shopping cart.

[0011] Based on the first corrected positioning result and the set of each path point pre-generated based on the supermarket map, the location of the path point closest to the first corrected positioning result is matched and obtained as the second corrected positioning result of the shopping cart.

[0012] This application also provides a shopping cart positioning device to improve the accuracy of shopping cart positioning. The device includes:

[0013] The judgment unit is used to determine whether the shopping cart is within the coverage area of ​​the current base station;

[0014] The inertial navigation positioning unit is used to locate the shopping cart using inertial navigation positioning when it is determined that the shopping cart is not within the coverage area of ​​the current base station, and to obtain the inertial navigation positioning result of the shopping cart.

[0015] The electronic price tag positioning unit is used to obtain the signal strength of surrounding electronic price tags during inertial navigation positioning. If the electronic price tag positioning conditions are met, the electronic price tag positioning result of the shopping cart is obtained by calculating the signal strength weight.

[0016] The product identification scanning and positioning unit is used to obtain the product identification positioning result of the shopping cart by scanning the product identification to locate the product position when the product identification scanning and positioning conditions are met during the inertial navigation positioning process.

[0017] The first calibration and positioning unit is used to perform position correction processing on the inertial navigation positioning result of the shopping cart based on the positioning result of the electronic price tag of the shopping cart or the positioning result of scanning the product label, so as to obtain the first calibration and positioning result of the shopping cart.

[0018] The second calibration and positioning unit is used to match and obtain the location of the path point closest to the first calibration and positioning result as the second calibration and positioning result of the shopping cart based on the first calibration and positioning result and the set of each path point pre-generated based on the supermarket map.

[0019] This application also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described shopping cart positioning method.

[0020] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described shopping cart positioning method.

[0021] This application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described shopping cart positioning method.

[0022] Compared with existing shopping cart positioning technologies that suffer from low positioning accuracy, the beneficial technical effects of the shopping cart positioning scheme provided in this application are as follows: This application embodiment improves the accuracy of shopping cart positioning by: determining whether the shopping cart is within the coverage area of ​​the current base station; when the shopping cart is not within the coverage area of ​​the current base station, using inertial navigation positioning to locate the shopping cart and obtain the inertial navigation positioning result; during the inertial navigation positioning process, acquiring the signal strength of surrounding electronic price tags, and if the electronic price tag positioning conditions are met, obtaining the electronic price tag positioning result of the shopping cart through signal strength weighting calculation; during the inertial navigation positioning process, if the product label scanning positioning conditions are met, obtaining the product label scanning positioning result of the shopping cart by scanning the product label to locate the product position; performing position correction processing on the inertial navigation positioning result of the shopping cart based on the electronic price tag positioning result or the product label scanning positioning result to obtain the first corrected positioning result of the shopping cart; and matching the location of the closest path point to the first corrected positioning result as the second corrected positioning result of the shopping cart based on the first corrected positioning result and the set of each path point pre-generated based on the supermarket map. Attached Figure Description

[0023] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings:

[0024] Figure 1 is a flowchart illustrating the shopping cart positioning method in an embodiment of this application;

[0025] Figure 2 is a schematic diagram of the Bluetooth angle of arrival positioning principle in an embodiment of this application;

[0026] Figure 3 is a schematic diagram of the inertial navigation positioning process in an embodiment of this application;

[0027] Figure 4 is a flowchart illustrating the positioning process of the electronic price tag in an embodiment of this application;

[0028] Figure 5 is a schematic diagram of the process of scanning and locating product identification in an embodiment of this application;

[0029] Figure 6 is a schematic diagram of the map matching-path point matching process in an embodiment of this application;

[0030] Figure 7 is a schematic diagram of the shopping cart positioning principle in an embodiment of this application;

[0031] Figure 8 is a schematic diagram of the shopping cart positioning process in an embodiment of this application;

[0032] Figure 9 is a schematic diagram of switching path points in an embodiment of this application;

[0033] Figure 10 is a schematic diagram of the shopping cart positioning device in the embodiments of this application. Detailed Implementation

[0034] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings. Here, the illustrative embodiments and their descriptions are used to explain this application, but are not intended to limit this application.

[0035] The acquisition, storage, use, and processing of data in this application comply with relevant laws and regulations.

[0036] To better understand how this application is implemented, the terms used in the embodiments of this application will first be introduced.

[0037] ESL: Electronic Shelf Label

[0038] IoT: Internet of Things

[0039] UWB: Ultra Wide Bandwidth

[0040] RSSI: Received Signal Strength Indication

[0041] DF: Direction Finding

[0042] AoA: Angle of Arrival

[0043] AoD: Angel of Departure

[0044] RFID: Radio Frequency Identification technology

[0045] ID: Unique identifier or identification code for identity document

[0046] IMU: Inertial Measurement Unit

[0047] AP: Access Point (Wireless Access Point)

[0048] MQTT: Message Queuing Telemetry Transport Protocol

[0049] Elinker: Connector for ESL linker electronic shelf labels

[0050] This application proposes a smart shopping cart positioning solution that uses a small number of Bluetooth AoA base stations, combined with a nine-axis inertial navigation sensor, electronic price tag positioning, product scanning positioning, and map matching, to achieve high-precision seamless positioning of shopping carts in supermarket scenarios. Without increasing hardware deployment (supermarkets typically deploy Bluetooth AoA base stations for ESL positioning, thus eliminating the need for additional Bluetooth AoA base station construction costs), this provides a seamless positioning solution for shopping carts in supermarkets. The following is a detailed description of this shopping cart positioning solution.

[0051] Figure 1 is a flowchart illustrating the shopping cart positioning method in an embodiment of this application. As shown in Figure 1, the method includes the following steps:

[0052] Step 101: Determine if the shopping cart is within the coverage area of ​​the current base station;

[0053] Step 102: When it is determined that the shopping cart is not within the coverage area of ​​the current base station, the inertial navigation positioning method is used to locate the shopping cart and obtain the inertial navigation positioning result of the shopping cart;

[0054] Step 103: During the inertial navigation positioning process, obtain the signal strength of the surrounding electronic price tags. If the electronic price tag positioning conditions are met, obtain the electronic price tag positioning result of the shopping cart by calculating the signal strength weight.

[0055] Step 104: During the inertial navigation positioning process, if the positioning conditions for scanning product tags are met, the product position is located by scanning product tags to obtain the product tag positioning result of the shopping cart.

[0056] Step 105: Based on the positioning results of the electronic price tag of the shopping cart or the positioning results of the scanned product label, perform position correction processing on the inertial navigation positioning results of the shopping cart to obtain the first corrected positioning result of the shopping cart;

[0057] Step 106: Based on the first corrected positioning result and the set of each path point pre-generated based on the supermarket map, match and obtain the location of the path point closest to the first corrected positioning result as the second corrected positioning result of the shopping cart.

[0058] Compared with existing shopping cart positioning technologies that suffer from low positioning accuracy, the beneficial technical effects of the shopping cart positioning scheme provided in this application are as follows: This application embodiment improves the accuracy of shopping cart positioning by: determining whether the shopping cart is within the coverage area of ​​the current base station; when the shopping cart is not within the coverage area of ​​the current base station, using inertial navigation positioning to locate the shopping cart and obtain the inertial navigation positioning result; during the inertial navigation positioning process, acquiring the signal strength of surrounding electronic price tags, and if the electronic price tag positioning conditions are met, obtaining the electronic price tag positioning result of the shopping cart through signal strength weighting calculation; during the inertial navigation positioning process, if the product label scanning positioning conditions are met, obtaining the product label scanning positioning result of the shopping cart by scanning the product label to locate the product position; performing position correction processing on the inertial navigation positioning result of the shopping cart based on the electronic price tag positioning result or the product label scanning positioning result to obtain the first corrected positioning result of the shopping cart; and matching the location of the closest path point to the first corrected positioning result as the second corrected positioning result of the shopping cart based on the first corrected positioning result and the set of each path point pre-generated based on the supermarket map. The following is a detailed explanation of the method for locating the shopping cart.

[0059] Existing smart shopping carts are generally equipped with smart devices such as tablets, which allow users to scan items and check out independently. Location navigation for smart shopping carts is a strong requirement in supermarket shopping scenarios. The shopping cart positioning device proposed in this application (which executes the shopping cart positioning method provided in this application) can be installed within the tablet, or it can be installed independently in a suitable location on the shopping cart. The tablet on the shopping cart is equipped with an ESL module (which can be installed within the shopping cart positioning device proposed in this application) to locate the shopping cart. A detailed description follows.

[0060] First, we will introduce Bluetooth angle of arrival positioning, including step 101 above.

[0061] Figure 2 is a schematic diagram of the Bluetooth angle of arrival positioning principle in the embodiment of this application. As shown in Figure 2, the Bluetooth angle of arrival positioning architecture mainly includes three parts: AP (base station, such as Bluetooth AoA base station), shopping cart tablet (including the shopping cart positioning device provided in the embodiment of this application, i.e., the device that executes the shopping cart positioning method provided in the embodiment of this application), and cloud service.

[0062] An AP (base station, such as a Bluetooth AoA base station) mainly includes an electronic shelf label processing module, an angle of arrival (AQ) positioning sub-board, and an electronic shelf label sub-board. The workflow is as follows: the electronic shelf label sub-board receives the AQ signal emitted by the electronic shelf label (the "electronic shelf label" in the shopping cart tablet in Figure 2), parses the IQ data, and sends it to the AQ positioning client for azimuth and elevation angle calculation. The calculated angle information is then sent to the mobile device's message queue. When the shopping cart electronic shelf label module retrieves an angle packet, the AQ positioning sub-board retrieves the angle packet from the connector.

[0063] As shown in Figure 2, the shopping cart tablet mainly consists of a display, a tablet application (which can execute the shopping cart positioning method provided in this application embodiment), and positioning-related sensors. The sensors mainly include an inertial navigation system (IMU) and electronic shelf labels. The display page primarily interacts with the user through the tablet application, including shopping, positioning, navigation, and checkout. During the store initialization phase, the tablet application needs to download the server's map, base station, electronic shelf label location, and product information, and will dynamically update it as needed. The application logic for Bluetooth angle-of-arrival (AoA) positioning is as follows: the shopping cart does not transmit an AoA positioning signal if it is not within the coverage area of ​​the AP base station; it only begins transmitting the AoA positioning signal when the shopping cart moves to within 4 meters (a first preset distance threshold) of the AP coverage area. The process for triggering AoA positioning is that the tablet application sends a message via serial port to notify the ESL module (the "electronic shelf label" in the shopping cart tablet in Figure 2) to transmit an AoA positioning signal. After receiving the message from the serial port, the ESL module immediately assembles and sends the Angle of Arrival (AoA) positioning signal, with a preset delay of 90ms to 110ms, preferably 100ms (this delay is sufficient for the AP to complete the calculation of the AoA antenna array angle and other related parameters). It then retrieves the AoA angle packet information from the synchronized AP, and returns the AoA angle packet to the tablet application. The tablet application receives the angle packet information from the ESL (electronic price tag), performs AoA position calculation (as shown in "Angle of Arrival Calculation" in Figure 2), and displays the calculated position result on the app screen (as shown in "Display" in Figure 2). Simultaneously, it stores the position information locally and uploads it to the server (as shown in the cloud platform in Figure 2). For details on AoA positioning, please refer to the introduction to AoA positioning in Part 5 below.

[0064] The server-side (cloud platform as shown in Figure 2) primarily maintains location maps and information. When the tablet application is launched, it performs an initialization check. If map, base station, ESL, or product information is missing, it retrieves this information from the server. Data updates are performed at configured intervals. The tablet application needs to record historical location information, packaging and reporting historical location data via scheduled tasks while simultaneously deleting local historical data. The interval for these location tasks is configured on the server side. If the web client (accessible via a computer browser to view the real-time location of the shopping cart) requires real-time location data display, the server-side scheduler notifies the tablet application to report location information in real-time. After the real-time task completes, the server notifies the tablet application to stop reporting location information.

[0065] Second, the inertial navigation positioning in the embodiments of this application is introduced, namely step 102 above.

[0066] Figure 3 is a schematic diagram of the inertial navigation positioning process in this embodiment. The initial position of the inertial navigation system requires the Bluetooth angle of arrival positioning result. The IMU's six-axis gyroscope and accelerometer mainly update the attitude and perform proportional coordinate transformation. The velocity value is obtained by integrating the acceleration. Gravity and gravitational models are used to correct the velocity. The displacement is obtained by integrating the velocity. The previous positioning result is combined with the heading angle and displacement to obtain the position update. The attitude, velocity, and position outputs are inertial navigation parameters used for the inertial navigation calculation in the next cycle. As shown in Figure 3, the steps are as follows:

[0067] 1. Correcting the positioning results provides an initial position (as shown in Figure 3, "Bluetooth Angle of Arrival Positioning Result" and "Initialization Process"): At the start of the system, positioning technology, such as Bluetooth AoA, is used to determine the initial position. This is because the Inertial Navigation System (INS) requires an accurate starting position to begin navigation.

[0068] 2. IMU Six-Axis Update and Conversion (as shown in Figure 3, "IMU Gyroscope and Accelerometer"): Subsequently, the device's attitude and acceleration are calculated using the IMU's six-axis gyroscope and accelerometer measurements. The six-axis data includes a three-axis gyroscope (measuring angular velocity) and a three-axis accelerometer (measuring linear acceleration). The angular velocity measured by the gyroscope is used to update the device's attitude in real time. After obtaining the attitude, the accelerometer measurements are converted from the device coordinate system to the navigation coordinate system.

[0069] 3. Acceleration integration to obtain velocity (accelerometer, scale coordinates, and velocity as shown in Figure 3): By integrating the converted acceleration, the system can calculate the velocity of the device. This is the cumulative result of acceleration over a continuous time period.

[0070] 4. Velocity correction (velocity update as shown in Figure 3): The system uses gravity and gravitational models to correct the calculated velocity in order to eliminate the deviation caused by gravitational acceleration.

[0071] 5. Obtain displacement through velocity integration (as shown in Figure 3, velocity update and position update): The corrected velocity is integrated again and converted into displacement data, that is, the spatial distance moved from the previous known position to the current position.

[0072] 6. Update position by combining heading angle and displacement (position update as shown in Figure 3): The system updates the current position by combining the previous positioning result, heading angle (the direction of equipment rotation), and displacement data. The heading angle helps determine the direction of movement, while the displacement gives the distance moved.

[0073] 7. Output attitude, velocity, and position parameters (as shown in Figure 3 for inertial navigation results): Finally, the updated attitude, velocity, and position data are output as inertial navigation parameters for use in the next navigation cycle.

[0074] Because inertial navigation systems (INS) have cumulative errors and depend on the accuracy of the input position, the shopping cart positioning result needs to provide a high-precision position for initial positioning and correction during INS positioning. The relevant correction schemes are described below.

[0075] Thirdly, the electronic price tag positioning of the embodiments of this application will be introduced, namely step 103 above.

[0076] In this embodiment, the location of the shopping cart is calculated by scanning the RSSI (Signal Strength Information) of the surrounding ESL and then directly calculating the RSSI weight.

[0077] Figure 4 is a flowchart illustrating the electronic shelf label (ESL) positioning process in this embodiment. As shown in Figure 4, during the initialization phase, the shopping cart tablet needs to download the location information of the ESLs within the supermarket from the server. Since the ESLs move very infrequently, the location information only needs to be updated every half day or one day. The ESL module of the shopping cart tablet (represented as "electronic shelf label" in Figure 2) needs to be set to a long-term listening mode to monitor the heartbeat signals of the ESLs on the surrounding shelves and cache their IDs and RSSIs. The app inside the tablet is responsible for scheduling, and the IMU module inside the tablet (represented as "inertial navigation" in Figure 2) can detect the movement state of the shopping cart. If the shopping cart is in motion, the ESL module on the tablet acquires the surrounding ESLs more frequently to avoid inaccurate scanning of the surrounding ESL signals after the cart moves, which would lead to a decrease in positioning accuracy. Generally, shopping carts have low dynamic movement, so the time threshold can be set to 1 second, and the ESL module on the tablet only acquires the ESL results scanned in the most recent second. If the shopping cart is stationary, the ESL module on the tablet can acquire the results of scanning the surrounding ESLs in the most recent N seconds based on the duration of stillness.

[0078] The positioning app within the tablet (as shown in Figure 2, "Tablet Application") is responsible for positioning based on the results of scanning surrounding ESLs. The more surrounding ESLs scanned, the better the positioning effect. To ensure positioning accuracy, the number of surrounding ESLs must be greater than or equal to a preset price tag number threshold, such as 3, and the RSSI (Signal Strength Index) must be greater than or equal to -65dBm (a preset price tag signal strength threshold, which is adjusted according to the transmit power of the ESLs) to meet the conditions for electronic price tag positioning. Generally, Bluetooth RSSI positioning methods include fingerprint matching positioning and RSSI weighted positioning. However, since the frequency of ESL heartbeat transmission is not high, it cannot guarantee that the RSSI information of several surrounding ESLs will be scanned. In addition, the fingerprint matching method requires fingerprint information to be collected in advance. Therefore, this embodiment adopts the RSSI weighted positioning method.

[0079] The core of RSSI weighted positioning (i.e., the signal strength weighting method) is to assign high (greater than the preset weighting threshold) weights to ESL (electronic shelf labels) that are close to the shopping cart (less than the preset weighting distance threshold) and have large RSSI values ​​(greater than the preset weighting strength threshold), and low (less than the preset weighting threshold) weights to electronic shelf labels that are far from the shopping cart (greater than the preset weighting distance threshold) and have large errors (errors greater than the preset error threshold). The weighted sum is then used to determine the shopping cart's location. The weighted calculation formula can be: X = (X1*W1 + X2*W2 + X3*W3 + ... + Xn*Wn) * sumW, Wn = 1 / (Rn - R1 + A), where X represents the x-coordinate of the shopping cart's location, X1, X2, X3...Xn are the x-coordinates of the electronic shelf labels near the shopping cart that are participating in the location calculation, and W1, W2, W3...Wn are the x-coordinate weights assigned to the electronic shelf labels corresponding to each x-coordinate position X1, X2, X3...Xn, i.e., according to: The weighting strategy assigns higher weights to e-ticks that are closer to the shopping cart and have higher RSSI values, and lower weights to e-ticks that are farther away and have larger errors. This weighting is applied to the horizontal coordinate positions of each e-tick, where sumW represents the sum of the weights for all horizontal coordinates, A is a constant (which can be 2), and R1, R2, ..., Rn are the field strength values ​​corresponding to the e-ticks at horizontal coordinate positions X1, X2, X3, ..., Xn, respectively. Similarly, the vertical coordinate of the shopping cart's location can be calculated... Referring to the calculation method for the horizontal coordinate of the shopping cart's location, the specific calculation method is as follows: Y = (Y1*W1' + Y2*W2' + Y3*W3' + ... + Yn*Wn') * sumW', Wn' = 1 / (Rn' - R1' + A), where Y represents the vertical coordinate of the shopping cart's location, Y1, Y2, Y3...Yn are the vertical coordinates of the electronic price tags near the shopping cart that are involved in the location calculation, and W1', W2', W3'...Wn' are the corresponding electronic price tags at each vertical coordinate position. The weighting information assigned to the sub-price tags follows a weighting strategy: "Give higher weights to electronic price tags that are closer to the shopping cart and have higher RSSI values, and give lower weights to electronic price tags that are farther from the shopping cart and have larger errors." This assigns weights to the vertical coordinate positions of each electronic price tag. sumW' represents the sum of the weights corresponding to all vertical coordinates, A represents a constant, which can be 2, and R1', R2', ..., Rn' are the field strength values ​​corresponding to the electronic price tags at each vertical coordinate position Y1, Y2, Y3...Yn, respectively.

[0080] Because ESLs require low power consumption, their heartbeat cycle is typically a few minutes. Although there are many price tags, the heartbeat frequency is low. Therefore, in motion, if enough valid surrounding ESLs cannot be scanned within a short time (related to movement speed; if the movement distance exceeds a threshold (e.g., 3 meters)), positioning is not performed. In stationary mode, the scanning time can be extended. If enough surrounding ESLs are scanned, positioning is performed. The stationary time can be accumulated for even longer, improving positioning accuracy. Based on the positioning result, spatial relationships (point within a plane) determine which aisle area it is in. If the positioning is in an inaccessible area such as a shelf or wall, the system moves to the nearest aisle area.

[0081] As described above, in one embodiment, during the inertial navigation positioning process, the signal strength of surrounding electronic price tags is acquired. If the electronic price tag positioning conditions are met, the positioning result of the electronic price tag in the shopping cart is obtained through signal strength weighting calculation, including:

[0082] Determine if the shopping cart is currently in a static state;

[0083] If the shopping cart is currently stationary, obtain the heartbeat of the scanned surrounding electronic price tags;

[0084] If the number of electronic price tags with heartbeats detected is greater than or equal to a preset price tag number threshold, and the signal strength is greater than or equal to a preset price tag signal strength threshold, the surrounding electronic price tags are located using a signal strength weighting method to obtain the electronic price tag location result for the shopping cart.

[0085] In practice, the above-mentioned method of scanning the RSSI information of the surrounding ESLs and then directly calculating the location of the shopping cart by RSSI weighting can improve the accuracy of ESL positioning, thereby improving the accuracy of shopping cart positioning.

[0086] As can be seen from the above, in one embodiment, during the inertial navigation positioning process, the signal strength of surrounding electronic price tags is acquired. If the electronic price tag positioning conditions are met, the positioning result of the electronic price tag in the shopping cart is obtained through signal strength weighting calculation. This may further include:

[0087] If the shopping cart is currently in motion, determine whether the shopping cart has turned or traveled a distance greater than a third preset distance threshold.

[0088] If the collection of surrounding electronic price tags is cleared, the surrounding electronic price tags will be re-scanned using the preset electronic price tag filtering strategy;

[0089] If the number of electronic price tags with heartbeats detected is greater than a preset threshold, and the signal strength is greater than or equal to a preset price tag signal strength threshold, the surrounding electronic price tags are located using a signal strength weighting method to obtain the electronic price tag location result for the shopping cart.

[0090] In practice, the above-described method of detecting the current state of the shopping cart and then locating the shopping cart can improve the accuracy of ESL positioning, thereby improving the accuracy of shopping cart positioning.

[0091] Fourth, let me introduce the scanning product positioning of the embodiment of this application, namely step 104 above.

[0092] Figure 5 is a schematic diagram of the scanning product label positioning process in this application embodiment. As shown in Figure 5, the logic of scanning product positioning is as follows: When scanning a product through the shopping cart, the positioning status of the shopping cart is determined. If the positioning result is within the 10-second threshold (preset second threshold range) or within the coverage area of ​​the current base station, no correction is considered. If the positioning result of the electronic price tag has just been completed and is within the 10-second threshold range, no correction is performed. If neither of the above two situations applies, or if the confidence of the current output correction positioning result is low (below the preset confidence threshold), it is determined whether the shopping cart is scanning the product label for the first time. If it is the first scan, the scanning time and position are recorded. If it is not the first scan, the distance between the current scanned product position and the previous scanned product position is determined. The speed of the shopping cart is calculated based on the time interval between the two scans. If the speed is greater than the threshold (tentatively set at 2m / s), no correction is performed. If the speed is less than or equal to 2m / s, correction is performed. If the current product is bound to multiple ESLs, the total Euclidean distance between the shopping cart's previous N (e.g., 2) location results and the multiple ESLs is determined, and the one with the smallest total Euclidean distance is selected as the current location result. If only one ESL is bound, the current ESL's location is the shopping cart's location result.

[0093] As can be seen from the above, in one embodiment, during the inertial navigation positioning process, if the positioning conditions for scanning product tags are met, the method of locating the product position by scanning product tags to obtain the positioning result of the shopping cart's scanned product tags may include:

[0094] Determine the current location status of the shopping cart;

[0095] If the current location status of the shopping cart is not within the following states: within the preset threshold of arrival angle positioning or within the coverage area of ​​the current base station, within the preset threshold of electronic price tag positioning, or if the confidence level of the current location result is lower than the preset confidence level threshold, determine whether the shopping cart is scanning the product label for the first time.

[0096] If this is not the first time scanning a product tag, determine the distance between the location of the currently scanned product tag and the location of the previously scanned product tag;

[0097] The shopping cart speed is calculated based on the distance and the time interval between the current scan of a product tag and the last scan of a product tag.

[0098] If the shopping cart speed is less than or equal to a preset speed threshold, the results of scanning the product identification in the shopping cart will be obtained.

[0099] In practice, if the speed of the shopping cart is less than or equal to a preset speed threshold, the result of the location of the scanned product identifier in the shopping cart can be obtained as follows: if the speed of the shopping cart is less than or equal to the preset speed threshold, the position corresponding to the currently scanned product identifier can be used as the current location of the shopping cart.

[0100] In practice, the above-mentioned method of locating the shopping cart by scanning product labels can improve the accuracy of product label positioning, thereby improving the accuracy of shopping cart positioning.

[0101] As can be seen from the above, in one embodiment, during the inertial navigation positioning process, if the positioning conditions for scanning product tags are met, obtaining the product tag positioning result of the shopping cart by scanning product tags to locate the product position may further include:

[0102] If the current product identified by the scan is bound to multiple electronic price tags, determine the sum of the Euclidean distances between the shopping cart's previous N location results and each bound electronic price tag, where N is a positive integer greater than or equal to 2;

[0103] The electronic price tag position with the smallest sum of Euclidean distances is selected as the result of scanning the product identifier in the shopping cart.

[0104] In practice, the above-mentioned further implementation method of locating the shopping cart by scanning product labels can improve the accuracy of obtaining the product location by scanning product labels, thereby improving the accuracy of shopping cart positioning.

[0105] Fifth, let's introduce the first calibration and positioning, namely step 105 above.

[0106] Figure 7 is a schematic diagram of the positioning correction principle in this application embodiment. As shown in Figure 7, since Bluetooth angle of arrival positioning is an absolute positioning method with sub-meter accuracy, and even decimeter accuracy in areas with good Bluetooth AoA base station coverage angle, Bluetooth AoA positioning is preferred for shopping cart positioning correction scenarios. If within the Bluetooth base station coverage area, Bluetooth AoA is preferred for positioning. If outside the base station coverage area, inertial navigation positioning is mainly used. Since inertial navigation positioning has cumulative errors, seamless positioning in supermarket scenarios also requires ESL system positioning (electronic price tag positioning) and product scanning positioning (product identification scanning positioning) for auxiliary positioning in special scenarios. Before the positioning result is output, position correction and channel discrimination are performed through map matching to ensure that the positioning result appears in the shopping cart reachable area. Figure 8 is a schematic diagram of the shopping cart positioning process in this application embodiment. As shown in Figure 8, positioning correction specifically includes:

[0107] During the shopping cart initialization phase, the store map, all electronic price tag locations, product binding information, and base station information need to be downloaded and stored on the device (installed on the shopping cart, such as a tablet). The shopping cart's positioning begins when the tablet is removed from the charging wall and placed on the cart. Upon placement, the Hall sensor triggers a signal, initiating the positioning process. The ESL module within the shopping cart tablet initially monitors signals from surrounding access points (APs) and the heartbeat signals from surrounding ESLs.

[0108] As shown in Figure 8, for Bluetooth AoA (Angle of Arrival) positioning, the highest configurable frequency for the AOA base station is currently 1 time / s. The shopping cart can obtain RSSI (Signal Strength Index) information and base station AP offset (the base station location is obtained based on the base station information downloaded from BuyBoost) once per second. If the RSSI is greater than or equal to a threshold (a preset base station signal strength threshold, the RSSI signal strength within the AoA coverage radius, such as -65dBm in Figure 8), or if the distance between the shopping cart and the AOA base station is less than or equal to a first preset distance threshold (such as 3+1 meters in Figure 8), it is determined to be within the base station coverage area. That is, in one embodiment, in step 101 above, if the signal strength of the current base station corresponding to the shopping cart is greater than or equal to the preset base station signal strength threshold, or if the distance between the shopping cart and the AOA base station is less than or equal to a first preset distance threshold (such as 3+1 meters in Figure 8), it is determined to be within the base station coverage area. If the distance between the current base station locations is less than or equal to a first preset distance threshold, it is determined that the shopping cart is within the coverage area of ​​the current base station. Then, based on the current state, it is controlled whether to transmit a Bluetooth AoA signal for positioning. That is, when it is determined that the shopping cart is within the coverage area of ​​the current base station, the state of the shopping cart is determined. If it is stationary, transmission stops (as shown in "Stop transmitting AoA" in Figure 8); if it is moving, it quickly transmits the angle of arrival positioning signal (as shown in "Quickly transmit AoA (3HZ)" in Figure 8). In other words, when it is determined that the shopping cart is in motion, the electronic price tag module of the shopping cart is controlled to send the angle of arrival positioning signal to the current base station. If neither of these two conditions is met, it is determined that the shopping cart is outside the coverage area of ​​the AoA base station. That is, in one embodiment, in step 101 above, if the signal strength of the current base station corresponding to the shopping cart is less than a preset base station signal strength threshold, and the distance between the shopping cart location and the current base station location is greater than the first preset distance threshold, it is determined that the shopping cart is not within the coverage area of ​​the current base station. As shown in Figure 8, if the received base station RSSI signal is less than the threshold (-55dBm), it is directly positioned directly below the base station. For detailed logic of angle of arrival positioning, please refer to the introduction of Bluetooth angle of arrival positioning in Part 1. At this point, based on the angle of arrival packet information obtained from the angle of arrival positioning signal fed back by the base station, the angle of arrival position is calculated to obtain the angle of arrival positioning result. If the Euclidean distance between the Bluetooth AoA calculated position result (angle of arrival positioning result) and the current base station is within a threshold (a second preset distance threshold, such as 2 meters in Figure 8), the AoA positioning result is adopted. If it is not within the threshold, the Bluetooth AoA positioning result is abandoned. That is, if the Euclidean distance between the angle of arrival positioning result and the current base station is less than or equal to the second preset distance threshold, i.e., "s<=2 (threshold)" in Figure 8, the angle of arrival positioning result is used as the shopping cart positioning result.While the location app (tablet application) notifies the price tag module on the shopping cart to enable fast reporting, it needs to read the package number of the price tag module via serial port and record the package number for delay correction. Considering the delays of ESL signal transmission, base station AoA signal processing and calculation, ESL acquisition of AoA angle packet information, and network latency, after Bluetooth AoA calculates the position, it matches the position when transmitting the AoA signal according to the package number, calculates the XY of Bluetooth AoA correction, and then compensates the XY of the correction to the current positioning result. Finally, the positioning result is input to the map matching module. The map matching module (the map matching module mentioned in this embodiment is the "map matching" in Figure 8, i.e., the secondary correction positioning step in this embodiment) completes path matching and waypoint matching, outputs the positioning result to the shopping cart tablet interface, and returns the positioning result for inertial navigation correction.

[0109] If the shopping cart is not within the coverage area of ​​the base station or the result of the angle of arrival positioning does not meet the conditions for correcting the shopping cart's position, inertial navigation is used for continuous positioning. The sensor output data mode of the inertial navigation is set to Game mode, and the time interval for outputting nine-axis data is 16-19ms. The inertial navigation module completes a position calculation every 340ms. The calculated positioning result is input to the map matching module. After the map matching module completes path matching and waypoint matching, it outputs the positioning result to the shopping cart tablet interface and returns the positioning result for inertial navigation correction.

[0110] The system scans the surrounding ESL (electronic price tag) for positioning (i.e., "electronic price tag positioning" in Figure 8). The ESL module scans the heartbeats of surrounding price tags in real time to determine if the shopping cart is currently stationary. If it is stationary, it collects the heartbeats of the scanned surrounding price tags and applies a price tag filtering strategy (preset electronic price tag filtering strategy) at intervals of 5 seconds, 10 seconds, 15 seconds, etc. If the scanned ESL is greater than a threshold (preset price tag number threshold, e.g., 3 tags) and the signal strength is greater than or equal to a preset price tag signal strength threshold, e.g., RSSI>=-65 (threshold), the number of scanned ESLs can also be equal to the preset price tag number threshold, e.g., "number of surrounding price tags ≥ 3 && RSSI ≥ -65dBm" as shown in Figure 4. The system uses RSSI weighting or other algorithms to scan the surrounding ESL for positioning. If the threshold is not met, positioning is not performed. If the device is in motion, it needs to determine whether it is turning or has traveled a long distance (greater than a third preset distance threshold, e.g., s > 6 meters). In this case, the set of surrounding ESLs needs to be cleared and the system rescanned. Then, a price tag filtering strategy is applied at intervals of 5 seconds, 10 seconds, 15 seconds, etc. If the number of scanned ESLs exceeds the preset price tag number threshold (e.g., 3) and the signal strength is greater than or equal to the preset price tag signal strength threshold (e.g., RSSI >= -65, the preset price tag signal strength threshold), then RSSI weighting or other algorithms are used to scan the surrounding ESL for positioning. If the threshold is not met, positioning is not performed. Finally, the positioning results from scanning the surrounding ESLs are input into the map matching module. After completing path matching and waypoint matching, the map matching module outputs the positioning results to the shopping cart tablet interface and returns the positioning results for inertial navigation correction.

[0111] The product scanning assisted positioning (i.e., product label scanning positioning) involves scanning product labels (e.g., QR codes) using a shopping cart scanner. It determines if this is the first time the product is being scanned. If it is, the scan time and position are recorded. If not, the distance between the currently scanned product position and the previously scanned position is calculated. The shopping cart's speed is calculated based on the time interval between the two scans. If the speed is greater than a preset speed threshold (e.g., 2 m / s), positioning is not performed. If the speed is less than or equal to the preset speed threshold (e.g., 2 m / s), positioning is performed. Next, it checks if the product is bound to multiple price tags. If only one price tag is bound, the positioning result is output. If multiple price tags are bound, the positioning results from the previous N scans (e.g., 2 scans) are used to calculate Euclidean distances between the product and the price tags. The position with the shortest Euclidean distance is selected as the current electronic price tag position, i.e., the product's position result, and used as the shopping cart's product label scanning positioning result. Finally, the positioning results of scanning the surrounding ESL are input into the map matching module (the function of the map matching module mentioned in this embodiment is accomplished by the second correction positioning unit). After completing path matching and waypoint matching, the map matching module outputs the positioning results to the shopping cart tablet interface and returns the positioning results for inertial navigation correction.

[0112] The map matching module obtains the positioning results according to the priority order, which can be Bluetooth angle of arrival positioning results, scanning surrounding ESL positioning results, scanning product positioning results, and inertial navigation positioning results. Finally, it outputs the corrected positioning results to the shopping cart tablet for positioning and navigation display.

[0113] Sixth, the map matching secondary correction positioning in this application embodiment is introduced, namely step 106 above.

[0114] Map matching - waypoint matching strategy

[0115] Figure 6 is a schematic diagram of the map matching-pathpoint matching process in this embodiment. As the shopping cart moves within the mall, some positioning scenarios require map matching to address positioning errors. Map matching primarily considers scenarios where the positioning result points to inaccessible areas such as shelves, displays, or walls, requiring correction to a locatable area. In the pre-processing stage, pathpoints are automatically generated based on the road network (the set of all aisles the shopping cart can traverse within the mall) and set line segment thresholds. The pathpoints are then adjusted to coincide with turning points and intersections. In the initialization stage, the map matching module generates pathpoints, along with a set of each pathpoint and its neighbors. In the secondary correction stage, after the corrected positioning result is calculated, the map matching stage merges the corrected positioning results based on their frequency (average of n points). During the matching phase, the nearest pathpoint is found based on the corrected positioning result. It is then determined whether the pathpoint needs to be switched. The final positioning result for the shopping cart is to be aggregated onto the pathpoint. For example, switching could mean that the previous positioning was at pathpoint 1, and the next positioning is at pathpoint 2. If there is no switch, the map matching result is returned directly. If the current pathpoint needs to be switched, it is first determined whether the pathpoint to be switched to is a neighboring pathpoint of the previous pathpoint. If so, the result of the previous pathpoint is returned; otherwise, the nearest neighboring pathpoint to the previous pathpoint is found, and the positioning result is returned. For example, Figure 9 is a schematic diagram of switching pathpoints in an embodiment of this application. As shown in Figure 9, pathpoint 3 is the previous positioning result. If the next positioning result is at pathpoint 1, the nearest pathpoint is still pathpoint 3, so no switch is made. If the next positioning result is pathpoint 2, and the nearest neighboring point (pathpoint) of the previous positioning result is pathpoint 4, then the switch is made to pathpoint 4. This method can prevent positioning jumps and optimize the positioning effect. As can be seen from the above, further solutions to prevent positioning jumps and further optimize the positioning effect include:

[0116] As can be seen from the above, in one embodiment, the shopping cart positioning method may further include: when it is determined that the current path point needs to be switched, determining whether the path point to be switched is a neighboring path point of the previous path point;

[0117] When it is determined that the switching path point is not a neighboring path point of the previous path point, the nearest neighboring path point to the previous path point is found as the location result for shopping cart optimization.

[0118] As can be seen from the above, in one embodiment, the shopping cart positioning method may further include: when it is determined that the current path point does not need to be switched, using the map matching result as the optimized positioning result.

[0119] As can be seen from the above, in one embodiment, the shopping cart positioning method may further include: when it is determined that the switched path point is a neighboring path point of the previous path point, the result of the neighboring path point is used as the optimized correction positioning result.

[0120] In practice, further measures to prevent location jumps and optimize location performance can improve user experience and ensure the continuity of shopping cart navigation.

[0121] This application also provides a shopping cart positioning device, as shown in the following embodiment. Since the principle behind this device is similar to that of the shopping cart positioning method, the implementation of this device can be found in the implementation of the shopping cart positioning method; repeated details will not be elaborated further.

[0122] Figure 10 is a schematic diagram of the shopping cart positioning device in an embodiment of this application. As shown in Figure 10, the device includes:

[0123] Judgment unit 01 is used to determine whether the shopping cart is within the coverage area of ​​the current base station;

[0124] Inertial navigation positioning unit 02 is used to locate the shopping cart using inertial navigation positioning when it is determined that the shopping cart is not within the coverage area of ​​the current base station, and to obtain the inertial navigation positioning result of the shopping cart.

[0125] The electronic price tag positioning unit 03 is used to obtain the signal strength of surrounding electronic price tags during the inertial navigation positioning process. If the electronic price tag positioning conditions are met, the electronic price tag positioning result of the shopping cart is obtained by calculating the signal strength weight.

[0126] The product identification scanning and positioning unit 04 is used to obtain the product identification scanning and positioning result of the shopping cart by scanning the product identification to locate the product position when the product identification scanning and positioning conditions are met during the inertial navigation positioning process.

[0127] The first calibration and positioning unit 05 is used to perform position calibration processing on the inertial navigation positioning result of the shopping cart based on the positioning result of the electronic price tag of the shopping cart or the positioning result of the scanned product label, so as to obtain the first calibration and positioning result of the shopping cart.

[0128] The second calibration and positioning unit 06 is used to match and obtain the location of the path point closest to the first calibration and positioning result as the second calibration and positioning result of the shopping cart based on the first calibration and positioning result and the set of each path point pre-generated based on the supermarket map.

[0129] In one embodiment, the above-mentioned determining unit is specifically used for:

[0130] If the signal strength of the current base station corresponding to the shopping cart is greater than or equal to the preset base station signal strength threshold, or the distance between the shopping cart location and the current base station location is less than or equal to the first preset distance threshold, it is determined that the shopping cart is within the coverage area of ​​the current base station.

[0131] In one embodiment, the above-described shopping cart positioning device may further include an angle-of-arrival positioning unit, used for:

[0132] When it is determined that the shopping cart is within the coverage area of ​​the current base station, the status of the shopping cart is determined;

[0133] When the shopping cart is determined to be in motion, the electronic price tag module controlling the shopping cart sends the angle of arrival positioning signal to the current base station;

[0134] Based on the angle of arrival packet information obtained from the angle of arrival positioning signal fed back by the base station, the angle of arrival position is calculated to obtain the angle of arrival positioning result;

[0135] If the Euclidean distance between the angle of arrival positioning result and the current base station is less than or equal to the second distance threshold, the angle of arrival positioning result will be used as the shopping cart positioning result.

[0136] In one embodiment, the above-mentioned electronic price tag positioning unit is specifically used for:

[0137] Determine if the shopping cart is currently in a static state;

[0138] If the shopping cart is currently stationary, obtain the heartbeat of the scanned surrounding electronic price tags;

[0139] If the number of electronic price tags with heartbeats detected is greater than or equal to a preset price tag number threshold, and the signal strength is greater than or equal to a preset price tag signal strength threshold, the surrounding electronic price tags are located using a signal strength weighting method to obtain the electronic price tag location result for the shopping cart.

[0140] In one embodiment, the above-mentioned electronic price tag positioning unit is further used for:

[0141] If the shopping cart is currently in motion, determine whether the shopping cart has turned or traveled a distance greater than a third preset distance threshold.

[0142] If the collection of surrounding electronic price tags is cleared, the surrounding electronic price tags will be re-scanned using the preset electronic price tag filtering strategy;

[0143] If the number of electronic price tags with heartbeats detected is greater than a preset threshold, and the signal strength is greater than or equal to a preset price tag signal strength threshold, the surrounding electronic price tags are located using a signal strength weighting method to obtain the electronic price tag location result for the shopping cart.

[0144] In one embodiment, the above-mentioned product identification positioning unit is specifically used for:

[0145] Determine the current location status of the shopping cart;

[0146] If the current location status of the shopping cart is not within the following states: within the preset threshold of arrival angle positioning or within the coverage area of ​​the current base station, within the preset threshold of electronic price tag positioning, or if the confidence level of the current location result is lower than the preset confidence level threshold, determine whether the shopping cart is scanning the product label for the first time.

[0147] If this is not the first time scanning a product tag, determine the distance between the location of the currently scanned product tag and the location of the previously scanned product tag;

[0148] The shopping cart speed is calculated based on the distance and the time interval between the current scan of a product tag and the last scan of a product tag.

[0149] If the shopping cart speed is less than or equal to a preset speed threshold, the results of scanning the product identification in the shopping cart will be obtained.

[0150] In one embodiment, the above-mentioned product identification positioning unit is further configured to:

[0151] If the current product identified by the scan is bound to multiple electronic price tags, determine the sum of the Euclidean distances between the shopping cart's previous N location results and each bound electronic price tag, where N is a positive integer greater than or equal to 2;

[0152] The electronic price tag position with the smallest sum of Euclidean distances is selected as the result of scanning the product identifier in the shopping cart.

[0153] This application also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described method for locating a shopping cart.

[0154] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described shopping cart positioning method.

[0155] This application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described shopping cart positioning method.

[0156] Compared with existing shopping cart positioning technologies that suffer from low positioning accuracy, the beneficial technical effects of the shopping cart positioning scheme provided in this application are as follows: This application determines whether the shopping cart is within the coverage area of ​​the current base station; when it is determined that the shopping cart is not within the coverage area of ​​the current base station, inertial navigation positioning is used to locate the shopping cart, obtaining the inertial navigation positioning result of the shopping cart; during the inertial navigation positioning process, the signal strength of surrounding electronic price tags is acquired; if the electronic price tag positioning conditions are met, the electronic price tag positioning result of the shopping cart is obtained through signal strength weighting calculation; during the inertial navigation positioning process, if the product label scanning positioning conditions are met, the product label scanning positioning result of the shopping cart is obtained by scanning the product label to locate the product position; based on the electronic price tag positioning result or the product label scanning positioning result of the shopping cart, the inertial navigation positioning result of the shopping cart is corrected to obtain the first corrected positioning result of the shopping cart; based on the first corrected positioning result and the set of each path point pre-generated based on the supermarket map, the position of the path point closest to the first corrected positioning result is matched as the second corrected positioning result of the shopping cart, which can improve the positioning accuracy of the shopping cart.

[0157] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0158] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more flowchart illustrations and / or one or more block diagrams.

[0159] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.

[0160] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

[0161] The above specific embodiments further illustrate the purpose, technical solution and beneficial effects of this application. It should be understood that the above are only specific embodiments of this application and are not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A method for locating a shopping cart, characterized in that, include: Determine if the shopping cart is within the coverage area of ​​the current base station; When it is determined that the shopping cart is not within the coverage area of ​​the current base station, the inertial navigation positioning method is used to locate the shopping cart and obtain the inertial navigation positioning result of the shopping cart; During the inertial navigation positioning process, the signal strength of the surrounding electronic price tags is obtained. If the electronic price tag positioning conditions are met, the electronic price tag positioning result of the shopping cart is obtained by calculating the signal strength weight. During the inertial navigation positioning process, if the positioning conditions for scanning product tags are met, the product position is located by scanning product tags to obtain the positioning result of the product tags in the shopping cart. The inertial navigation positioning result of the shopping cart is corrected based on the positioning result of the electronic price tag or the positioning result of the scanned product label to obtain the first corrected positioning result of the shopping cart. Based on the first corrected positioning result and the set of each path point pre-generated based on the supermarket map, the location of the path point closest to the first corrected positioning result is matched and obtained as the second corrected positioning result of the shopping cart.

2. The method as described in claim 1, characterized in that, Determining whether the shopping cart is within the coverage area of ​​the current base station includes: If the signal strength of the current base station corresponding to the shopping cart is greater than or equal to the preset base station signal strength threshold, or the distance between the shopping cart location and the current base station location is less than or equal to the first preset distance threshold, it is determined that the shopping cart is within the coverage area of ​​the current base station.

3. The method as described in claim 2, characterized in that, Also includes: When it is determined that the shopping cart is within the coverage area of ​​the current base station, the status of the shopping cart is determined; When the shopping cart is determined to be in motion, the electronic price tag module controlling the shopping cart sends the angle of arrival positioning signal to the current base station; Based on the angle of arrival packet information obtained from the angle of arrival positioning signal fed back by the base station, the angle of arrival position is calculated to obtain the angle of arrival positioning result; If the Euclidean distance between the angle of arrival positioning result and the current base station is less than or equal to the second preset distance threshold, the angle of arrival positioning result will be used as the shopping cart positioning result.

4. The method as described in claim 1, characterized in that, During inertial navigation positioning, the signal strength of surrounding electronic price tags is acquired. If the electronic price tag positioning conditions are met, the positioning result of the shopping cart's electronic price tag is obtained through signal strength weighting calculation, including: Determine if the shopping cart is currently in a static state; If the shopping cart is currently stationary, obtain the heartbeat of the scanned surrounding electronic price tags; If the number of electronic price tags that detect a heartbeat is greater than or equal to a preset price tag number threshold, and the signal strength is greater than or equal to a preset price tag signal strength threshold, the surrounding electronic price tags are located using a signal strength weighting method to obtain the electronic price tag location result for the shopping cart.

5. The method as described in claim 4, characterized in that, Also includes: If the shopping cart is currently in motion, determine whether the shopping cart has turned or traveled a distance greater than a third preset distance threshold. If the collection of surrounding electronic price tags is cleared, the surrounding electronic price tags will be re-scanned using the preset electronic price tag filtering strategy; If the number of electronic price tags with heartbeats detected is greater than a preset threshold, and the signal strength is greater than or equal to a preset price tag signal strength threshold, the surrounding electronic price tags are located using a signal strength weighting method to obtain the electronic price tag location result for the shopping cart.

6. The method as described in claim 1, characterized in that, During inertial navigation positioning, if the positioning conditions for scanning product tags are met, the product location in the shopping cart is obtained by scanning the product tags to locate the product position, including: Determine the current location status of the shopping cart; If the current location status of the shopping cart is not within the following states: within the preset threshold of arrival angle positioning or within the coverage area of ​​the current base station, within the preset threshold of electronic price tag positioning, or if the confidence level of the current location result is lower than the preset confidence level threshold, determine whether the shopping cart is scanning the product label for the first time. If this is not the first time scanning a product tag, determine the distance between the location of the currently scanned product tag and the location of the previously scanned product tag; The shopping cart speed is calculated based on the distance and the time interval between the current scan of the product label and the last scan of the product label; If the shopping cart speed is less than or equal to a preset speed threshold, the results of scanning the product identification in the shopping cart will be obtained.

7. The method as described in claim 6, characterized in that, Also includes: If the current product identified by the scan is bound to multiple electronic price tags, determine the sum of the Euclidean distances between the shopping cart's previous N location results and each bound electronic price tag, where N is a positive integer greater than or equal to 2; The electronic price tag position with the smallest sum of Euclidean distances is selected as the result of scanning the product identifier in the shopping cart.

8. A shopping cart positioning device, characterized in that, include: The judgment unit is used to determine whether the shopping cart is within the coverage area of ​​the current base station; The inertial navigation positioning unit is used to locate the shopping cart using inertial navigation positioning when it is determined that the shopping cart is not within the coverage area of ​​the current base station, and to obtain the inertial navigation positioning result of the shopping cart. The electronic price tag positioning unit is used to obtain the signal strength of surrounding electronic price tags during inertial navigation positioning. If the electronic price tag positioning conditions are met, the electronic price tag positioning result of the shopping cart is obtained by calculating the signal strength weight. The product identification scanning and positioning unit is used to obtain the product identification positioning result of the shopping cart by scanning the product identification to locate the product position when the product identification scanning and positioning conditions are met during the inertial navigation positioning process. The first calibration and positioning unit is used to perform position correction processing on the inertial navigation positioning result of the shopping cart based on the positioning result of the electronic price tag of the shopping cart or the positioning result of scanning the product label, so as to obtain the first calibration and positioning result of the shopping cart. The second calibration and positioning unit is used to match and obtain the location of the path point closest to the first calibration and positioning result as the second calibration and positioning result of the shopping cart based on the first calibration and positioning result and the set of each path point pre-generated based on the supermarket map.

9. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method of any one of claims 1 to 7.

11. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 7.