Intelligent shelf load distribution dynamic analysis method and system

By using flexible coding and three-dimensional spatiotemporal load matrix analysis, the problems of sensor drift and data synchronization in intelligent shelf load monitoring are solved, enabling accurate characterization of load distribution and identification of cargo transfer paths, thus supporting refined logistics management.

CN122241630APending Publication Date: 2026-06-19皇宇智能物流设备(南京)有限公司

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
皇宇智能物流设备(南京)有限公司
Filing Date
2026-03-20
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Existing intelligent shelf load monitoring technologies suffer from problems such as sensor node drift, fatigue damage, difficulty in data synchronization, high computational overhead, and insufficient analytical capabilities, making it impossible to accurately depict the dynamic changes in load spatial distribution and identify cargo transfer paths.

Method used

A flexible coding and three-dimensional spatiotemporal load matrix analysis method is adopted. The Thiessen polygon method is used to divide the dynamic partitions, generate load data frames with spatial identification, construct a three-dimensional spatiotemporal load matrix, and identify the load transfer path and transfer amount by combining differential analysis and greedy matching algorithm.

Benefits of technology

It improves the accuracy and stability of load data measurement, provides a complete snapshot of load distribution, and enables data support for cargo flow trajectory tracing, abnormal displacement identification, and layout optimization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122241630A_ABST
    Figure CN122241630A_ABST
Patent Text Reader

Abstract

This invention discloses a method and system for dynamic analysis of load distribution on intelligent shelving, relating to the technical fields of intelligent logistics and sensor monitoring. By combining displacement sensing with flexible coding, this invention significantly improves the measurement accuracy and long-term stability of load data, avoiding the drift and damage inherent in traditional pressure sensors. Simultaneously, it utilizes a three-dimensional spatiotemporal load matrix to normalize and resample discrete data, overcoming the problems of time asynchrony and data gaps in multi-source data, providing a complete and continuous snapshot of load distribution for subsequent analysis. Based on this, through differential analysis and a greedy matching algorithm, it explicitly identifies and records the transfer paths and amounts of loads between different zones, transforming abstract load data into a sequence of goods flow events with clear physical meaning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of intelligent logistics and sensor monitoring, and in particular to a method and system for dynamic analysis of load distribution on intelligent shelves. Background Technology

[0002] With the deep integration of IoT technology and the modern warehousing and logistics industry, intelligent racking systems, as core infrastructure for material storage and circulation, directly impact warehousing operational efficiency and safety management capabilities in terms of their level of intelligence. Currently, intelligent racking load monitoring technology has evolved from static total load monitoring to dynamic distributed sensing. Early racking monitoring systems primarily used single or a small number of pressure sensors placed at the bottom of the racks to determine if the load exceeded limits by measuring the total load. This monitoring method only provided overall rack load information and could not determine the spatial distribution of the load on the rack's bearing surface. To overcome this limitation, subsequent technologies developed distributed sensing solutions, which involve deploying multiple pressure sensor nodes on each layer or area of ​​the rack. By aggregating data from these nodes, the spatial distribution information of the load is obtained, and remote monitoring is achieved by combining this with wireless communication technology. In recent years, some advanced solutions have further incorporated time series analysis, enabling the plotting of load change curves at each measuring point, providing richer data support for assessing the racking's usage status.

[0003] While existing technologies have made some progress in intelligent rack load monitoring, several technical bottlenecks remain to be overcome. First, at the data acquisition level, current solutions generally employ direct pressure measurement. This places sensor nodes under constant high load, leading to significant zero-point drift and fatigue damage, resulting in decreased measurement accuracy over time and high maintenance costs. Second, at the data organization level, current technologies typically store discrete load data collected by sensors in relational database tables, with each record containing a sensor identifier, timestamp, and load value. This data organization method has inherent drawbacks: due to crystal oscillator errors, communication delays, and other factors, the reporting times of each sensor node are difficult to synchronize precisely. When performing spatiotemporal joint analysis, the central processing unit needs to perform complex timestamp matching and multi-table join queries, resulting in high computational costs and difficulty in obtaining a complete snapshot of the entire rack load distribution at the same moment. More critically, at the data analysis level, current technologies mainly focus on the independent statistical analysis of load data from each measuring point, such as calculating the load percentage of each area, plotting single-point load change curves, or setting over-limit threshold alarms. This analytical paradigm fails to reveal the intrinsic mechanisms underlying load changes. For example, when the load in one area decreases while the load in another increases, the system cannot determine whether there is a causal relationship between the two, let alone reconstruct the specific flow path and transfer amount of the load between different areas of the shelf. This lack of analytical capability makes it difficult for existing intelligent shelving systems to truly serve refined logistics management. For instance, they cannot automatically generate cargo flow trajectories, identify abnormal displacement behavior, or provide data support for optimizing product layout. Summary of the Invention

[0004] The purpose of this section is to outline some aspects of the embodiments of the present invention and to briefly introduce some preferred embodiments. Some simplifications or omissions may be made in this section, as well as in the abstract and title of the present application, to avoid obscuring the purpose of this section, the abstract and title of the invention. Such simplifications or omissions shall not be used to limit the scope of the present invention.

[0005] In view of the aforementioned existing problems, the present invention is proposed.

[0006] Therefore, the technical problem solved by this invention is: how to effectively solve the problem of accurately depicting the dynamic changes in the spatial distribution of loads and explicitly identifying the transfer path.

[0007] To solve the above-mentioned technical problems, the present invention provides the following technical solution: a method for dynamic analysis of load distribution in intelligent shelving, characterized by comprising: dividing the shelving into dynamic partitions based on the support points, and generating a flexible code containing position coordinates and mechanical properties for each partition; collecting sensor data within each partition, calculating the instantaneous load contribution value of each partition in combination with the flexible code, and generating a load data frame with spatial identification; arranging the load data frames in a continuous time series along a time axis to construct a three-dimensional spatiotemporal load matrix, wherein each element corresponds to the load value of a specific partition at a specific time; analyzing the variation law of load values ​​with time in the spatiotemporal load matrix, determining the transfer path and transfer amount of load between each dynamic partition, and generating a dynamic evolution characteristic sequence of load distribution. As a preferred embodiment of the present invention, the step of dividing the dynamic partitions includes: obtaining the spatial coordinates of each support point of the shelf, and using each support point as a base point, dividing the shelf bearing surface using the Thiessen polygon method to obtain multiple dynamic partitions that correspond one-to-one with the support points.

[0008] In a preferred embodiment of the present invention, the generation of the flexible code includes: measuring the vertical stiffness coefficient of each support point and using the vertical stiffness coefficient as the mechanical characteristic parameter of the corresponding dynamic partition; generating the position code of the corresponding dynamic partition by splicing fixed-length coordinates according to the coordinates of the support points corresponding to each dynamic partition; quantizing the mechanical characteristic parameter to generate the mechanical code of the corresponding dynamic partition; splicing the position code and the mechanical code in a predetermined order to form the flexible code of the dynamic partition; and writing the flexible code of each dynamic partition into the storage unit of the sensor node deployed in the dynamic partition, so that the sensor node outputs the flexible code along with the load data.

[0009] As a preferred embodiment of the present invention, the calculation of the instantaneous load contribution value of each partition includes: sensor nodes in each dynamic partition acquiring raw displacement signals, performing sliding window averaging filtering on the raw displacement signals to obtain the instantaneous displacement value of the dynamic partition; reading the flexible code from the storage unit of the sensor node, extracting the mechanical characteristic parameters from the flexible code; and multiplying the instantaneous displacement value by the mechanical characteristic parameters to obtain the instantaneous load contribution value of the dynamic partition.

[0010] In a preferred embodiment of the present invention, the instantaneous load contribution value and the position code in the flexible coding are data encapsulated to generate a load data frame with spatial identification.

[0011] In a preferred embodiment of the present invention, the construction of the three-dimensional spatiotemporal load matrix includes: receiving load data frames from all partitions, and parsing the location code and the instantaneous load contribution value from each load data frame; obtaining the total number of currently divided dynamic partitions, and setting the number of rows of the three-dimensional spatiotemporal load matrix according to the total number of dynamic partitions; and setting the number of columns of the three-dimensional spatiotemporal load matrix according to a predetermined equally spaced time sampling sequence; for each load data frame, determining the corresponding row index according to the location code, determining the time sampling point according to the arrival timestamp, and filling the instantaneous load contribution value into the corresponding cell of the matrix; if there are multiple data frames in the same partition at the same time sampling point, taking the average value or the latest value.

[0012] As a preferred embodiment of the present invention, the missing cells in the matrix are filled by linear interpolation to obtain the complete three-dimensional spatiotemporal load matrix, wherein each element corresponds to the load value of a specific dynamic partition at a specific sampling time.

[0013] In a preferred embodiment of the present invention, the analysis of the variation law of load values ​​in the spatiotemporal load matrix over time includes: extracting load vectors corresponding to two adjacent sampling times from the three-dimensional spatiotemporal load matrix, subtracting the load vector of the previous time from the load vector of the later time to obtain a load change vector; positive values ​​in the load change vector indicate an increase in load in the corresponding dynamic partition, and negative values ​​indicate a decrease; scanning the load change vector, extracting the dynamic partitions corresponding to the elements with negative values ​​as load decrease partitions, and recording the decrease; extracting the dynamic partitions corresponding to the elements with positive values ​​as load increase partitions, and recording the increase.

[0014] As a preferred embodiment of the present invention, the analysis of the change law of load values ​​in the spatiotemporal load matrix over time further includes: calculating the sum of the total decreases and the sum of the total increases; if the difference between the two exceeds a preset tolerance, an anomaly is marked and matching is terminated or correction is performed; the load decrease partitions are sorted in descending order of decrease, and the load increase partitions are sorted in descending order of increase; wherein, the initial transfer list is empty; each decrease partition is traversed sequentially: for the current decrease partition, the decrease is... Iterate through the newly added partitions one by one. For each newly added partition, the amount of addition is... ;like The amount will be reduced. Allocate all resources to the newly added partition, record the transfer pairs, and update the increase amount of the newly added partition. ;like If the added partition is removed, the current partition reduction process is complete, and the inner loop is exited; if This will increase the amount. Allocate all resources to the currently reduced partition, record the transfer pairs, and update the reduction amount of the reduced partition. The process continues to iterate through the next increase partition until the reduction amount of the decrease partition is fully allocated. If there are still increase partitions remaining after all decrease partitions have been processed, the remaining increase amount is recorded as external new load. If there are remaining decrease partitions, they are recorded as load disappearance.

[0015] The beneficial effects of this invention are as follows: By combining displacement sensing with flexible coding, this invention significantly improves the measurement accuracy and long-term stability of load data, avoiding the defects of traditional pressure sensors such as easy drift and damage. At the same time, by using a three-dimensional spatiotemporal load matrix to normalize and resample discrete data, it overcomes the problems of time asynchrony and data loss of multi-source data, providing a complete and continuous snapshot of load distribution for subsequent analysis. On this basis, through differential analysis and greedy matching algorithm, the transfer path and transfer amount of load between different zones are explicitly identified and recorded, transforming abstract load data into a sequence of cargo flow events with clear physical meaning.

[0016] This invention enables a detailed depiction of the dynamic evolution of shelf load, providing in-depth data support for warehouse logistics management, including goods trajectory tracking, abnormal displacement identification, and layout optimization. Attached Figure Description

[0017] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. Wherein: Figure 1 This is a flowchart of a dynamic analysis method for load distribution of an intelligent shelf, as shown in this invention.

[0018] Figure 2 This is a structural diagram of an intelligent shelf load distribution dynamic analysis system according to the present invention. Detailed Implementation

[0019] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments.

[0020] Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without inventive effort should fall within the scope of protection of this invention.

[0021] Many specific details are set forth in the following description in order to provide a full understanding of the invention. However, the invention may also be practiced in other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of the invention. Therefore, the invention is not limited to the specific embodiments disclosed below.

[0022] According to an embodiment of the present invention, in combination Figure 1 The flowchart shown illustrates a dynamic analysis method for load distribution on intelligent shelving, including: S1: Divide the shelf into dynamic zones based on the support points and generate a flexible code for each zone that includes position coordinates and mechanical properties.

[0023] It should be noted that existing technologies typically use fixed physical grids or sensor placement locations as the basic unit for load analysis, such as dividing each shelf layer into several equally sized rectangular areas. This static division method has two shortcomings: First, the fixed grid cannot be matched with the actual mechanical support structure of the shelf, making it difficult to directly map the load data within each grid to specific support points, thus posing challenges to subsequent mechanical analysis. Second, each sensor node only outputs isolated pressure values, lacking correlation information with its own location and physical characteristics. When the system aggregates data, it must rely on an additional configuration table to find the sensor locations, which not only increases the complexity of data processing but also makes the configuration table prone to inconsistencies when sensors are replaced due to malfunction or the shelf structure is slightly adjusted, leading to data parsing errors. To solve the above problems, the operation of this invention is as follows: S1.1: Obtain the spatial coordinates of each support point of the shelf, and use the Thiessen polygon method to divide the shelf bearing surface with each support point as the base point, so as to obtain multiple dynamic partitions that correspond one-to-one with the support points.

[0024] Specifically, during the installation or calibration phase of the shelving, the three-dimensional coordinates of the contact point between the bottom of each support leg or column and the bearing surface are measured using a laser rangefinder or a 3D coordinate measuring machine. Subsequently, using each support point as a base point, the load-bearing surface of the shelf is divided into two-dimensional planes using the Thiessen polygon method.

[0025] Furthermore, the specific operation of the partitioning method is as follows: Connecting adjacent support points forms a triangular network. Then, the perpendicular bisectors of the sides of each triangle are drawn. The intersection of multiple perpendicular bisectors divides the bearing surface into several polygonal regions, each containing one and only one support point. Each polygonal region is thus defined as a dynamic partition, and this partition forms a one-to-one spatial mapping relationship with the corresponding support point.

[0026] It should be noted that the partition boundaries of this method are entirely determined by the spatial distribution of the support points, ensuring that the pressure load at any point on the bearing surface can always be attributed to the area under the jurisdiction of the nearest support point, thus guaranteeing the physical correspondence between the load data and the mechanical support structure from the source.

[0027] S1.2: Measure the vertical stiffness coefficient of each support point and use the vertical stiffness coefficient as the mechanical characteristic parameter of the corresponding dynamic partition.

[0028] The specific method for measuring the vertical stiffness coefficient is as follows: with the rack in an unloaded state, apply a known standard test load to the bearing surface directly above the support point. And measure the vertical deformation generated at the support point with high precision. The vertical stiffness coefficient of the support point was calculated based on Hooke's Law. Considering that the shelving may experience fatigue or deformation after long-term use, this measurement process can be calibrated once before the shelving is put into use, or set to a periodic automatic calibration mode.

[0029] The obtained vertical stiffness coefficient This parameter is used as the mechanical characteristic parameter of the corresponding dynamic partition. It objectively reflects the deformation response capability of the partition under a unit load, eliminating measurement errors caused by differences in the rigidity of the supporting structure.

[0030] S1.3: Based on the coordinates of the support points corresponding to each dynamic partition, a fixed-length coordinate splicing method is used to generate the position code of the corresponding dynamic partition. For example, the three-dimensional coordinates of the support points are... Format conversion and concatenation are performed according to a fixed byte length. For example, ... , , The coordinates are each converted to a 4-byte floating-point number, according to... | | The sequence of characters is concatenated into a 12-byte binary string, which serves as the unique location identifier for the dynamic partition.

[0031] The mechanical property parameters are numerically quantified to generate mechanical codes for corresponding dynamic partitions. For example, the measured vertical stiffness coefficient is used... Perform fixed-point conversion according to the preset precision, for example, convert it to 4-byte integer data, which will be used as the mechanical encoding of this partition.

[0032] Finally, the location code and the physical code are concatenated in a predetermined order, first the location code and then the physical code, to form a fixed-length composite data structure, which is the flexible code for this dynamic partition. This code deeply integrates spatial identity and physical attributes, achieving self-containment of partition information.

[0033] S1.4: Write the flexible code of each dynamic partition into the storage unit of the sensor node deployed in the dynamic partition. After the write operation is completed, the sensor node will automatically read the flexible code from the storage unit when assembling the uplink data packet after each subsequent acquisition of the raw pressure signal and completion of data preprocessing. The flexible code will be packaged as part of the data frame header and sent to the central processing unit along with the acquired load data value.

[0034] Through the above operations, each uplink load data message is accompanied by the flexible code. The central processing unit does not need to maintain any sensor position mapping table; it can determine which dynamic partition the data originates from and its corresponding mechanical properties simply by parsing the data frame itself. This not only reduces the system's communication and storage overhead, but more importantly, when a sensor is replaced due to failure, the system can seamlessly connect by simply writing the flexible code of the original partition into the storage unit of the new sensor. This achieves loose coupling and dynamic adaptation between data and physical location, laying a solid data foundation for subsequent high-precision load analysis.

[0035] S2: Collect sensor data in each partition, calculate the instantaneous load contribution value of each partition in combination with the flexible coding, and generate a load data frame with spatial identification.

[0036] S2.1: Sensor nodes in each dynamic partition collect raw displacement signals (assuming the sensor measures the vertical displacement of the support point), and perform sliding window averaging filtering on the raw displacement signals to obtain the instantaneous displacement value of the dynamic partition.

[0037] It should be noted that the sensor used in this invention is a high-precision displacement sensor, such as a laser displacement sensor, an eddy current displacement sensor, or a grating ruler displacement sensor, which is installed near the support point to measure the vertical displacement of the support point under load, rather than directly measuring the pressure.

[0038] Specifically, the sensor node continuously acquires raw displacement signals at a preset sampling frequency to obtain a raw displacement data sequence. Due to factors such as mechanical vibration and environmental noise, the raw displacement data sequence often contains high-frequency interference components. To eliminate such interference, the sensor node performs sliding window averaging filtering on the raw displacement data sequence. Specifically, a sliding window of length N (e.g., N=10) is set. Whenever a new raw displacement data is acquired, it is added to the end of the window while the old data at the beginning of the window is removed. The arithmetic mean of the N raw displacement data within the current window is calculated, and this average value is used as the instantaneous displacement value at the current moment. Output.

[0039] The above filtering process effectively suppressed the influence of random noise and high-frequency vibration, yielding instantaneous displacement values ​​that accurately reflect the static or quasi-static deformation of the support point. .

[0040] S2.2: Read the flexible code from the storage unit of the sensor node, and extract the mechanical characteristic parameter (i.e., vertical stiffness coefficient) from the flexible code.

[0041] As mentioned earlier, this flexible coding is a composite data structure composed of positional coding and mechanical coding spliced ​​together in a predetermined order.

[0042] The sensor node decomposes the read flexible code according to preset data structure parsing rules. Specifically, starting from the first byte of the flexible code, a positional code portion is truncated to a fixed length as agreed in step S13; subsequently, a mechanical code portion is truncated from the remaining bytes. This mechanical code is the vertical stiffness coefficient measured in step S12. The quantized numerical representation. The sensor node performs inverse quantization on the mechanical code, restoring it to a floating-point format vertical stiffness coefficient. Through the above operations, sensor nodes can obtain the mechanical property parameters of their own partition locally without any interaction with the central processing unit, achieving local decoupling of data and significantly reducing communication overhead and the burden on the central processing unit.

[0043] S2.3: Multiply the instantaneous displacement value by the mechanical characteristic parameter to obtain the instantaneous load contribution value of the dynamic partition (i.e., the actual vertical force borne by the partition).

[0044] Specifically, the sensor node will use the instantaneous displacement value obtained in step S2.1 Vertical stiffness coefficient obtained by reconstructing from S2.2 Perform multiplication, that is Calculation results This is the instantaneous load contribution value of the dynamic partition at the current moment.

[0045] It should be noted that for support structures within the linear elastic range, the vertical load is directly proportional to the vertical displacement, and the proportionality coefficient is the stiffness coefficient. By measuring the displacement and multiplying it by the stiffness coefficient, the actual load value shared by the support point is indirectly obtained. Compared to directly measuring pressure, in this invention, the displacement sensor does not directly contact the goods, is less prone to damage, and has good long-term stability; the stiffness coefficient... It incorporates the unique characteristics of the partition's support structure, and even if the support structures of different partitions differ, the calculated... It can also accurately reflect the load borne by the zone; by measuring displacement rather than pressure, it avoids measurement errors caused by pressure sensor drift.

[0046] S2.4: Encapsulate the instantaneous load contribution value with the position code in the flexible coding to generate a load data frame with spatial identification.

[0047] The specific encapsulation format is as follows: the position code is used as the data frame header, and the instantaneous payload contribution value is used as the header. The data is converted into fixed-byte binary data as the data frame payload, and a checksum (such as a CRC checksum) is added to the end of the frame to finally generate a complete payload data frame.

[0048] Through the above encapsulation, each uplink data frame contains complete information on location encoding and instantaneous load contribution value. Upon receiving the load data frame, the central processing unit (CPU) can determine the origin of the data from a dynamic partition simply by parsing the frame header, without needing to query any configuration table or database. Parsing the frame load yields the load value for that partition. This self-describing data mechanism not only simplifies the CPU's processing logic and eliminates the risk of configuration inconsistencies, but also enables the system to have excellent dynamic scalability: when adding a partition or replacing a sensor, only the correct flexible encoding needs to be configured, and the system can automatically identify and include it in the monitoring range.

[0049] S3: Arrange the load data frames of the continuous time series according to the time axis to construct a three-dimensional spatiotemporal load matrix, where each element corresponds to the load value of a specific partition at a specific time.

[0050] S3.1: Receive the payload data frames from all partitions, and parse the location code and the instantaneous payload contribution value from each payload data frame.

[0051] Each of the payload data frames follows the encapsulation format defined in step S2.4, including the position code of the frame header, the instantaneous payload contribution value of the frame payload, and the check code of the frame tail.

[0052] The central processing unit first performs a CRC check on each received payload data frame, discarding frames that fail the check to ensure data integrity. Then, it parses the frames that pass the check: extracting the position code from the frame header and the instantaneous payload contribution value from the frame payload. It also records the system timestamp of the data frame arriving at the central processing unit.

[0053] Through the above analysis, the central processing unit obtains the triplet information (location code, instantaneous payload contribution value, arrival timestamp).

[0054] S3.2: Obtain the total number of currently divided dynamic partitions, set the number of rows of the three-dimensional spatiotemporal load matrix according to the total number of dynamic partitions, and set the number of columns of the three-dimensional spatiotemporal load matrix according to the predetermined equal-interval time sampling sequence (e.g., one sampling point every 1 second).

[0055] The total number of dynamic partitions, M, can be obtained by reading the configuration file during system initialization, or dynamically determined by counting the number of registered sensor nodes. Based on the total number of dynamic partitions, M is set as the row dimension of the three-dimensional spatiotemporal load matrix, meaning that each row of the matrix corresponds to a specific dynamic partition.

[0056] Meanwhile, the central processing unit defines the column dimensions of the matrix based on the preset analysis period and sampling frequency. Specifically, a fixed time window length (e.g., the past 5 minutes) and a uniform sampling interval Δt (e.g., 1 second) are set.

[0057] The total number of sampling points Q within the time window is calculated by dividing the time window length by the sampling interval. This total number of sampling points Q is used as the column dimension of the three-dimensional spatiotemporal payload matrix, meaning each column of the matrix corresponds to a specific, equally spaced sampling time. Through the above operations, an empty matrix A[M][Q] of size M rows × Q columns is constructed to store the load values ​​of all partitions at all sampling times within a specific time period.

[0058] S3.3: For each load data frame, determine the corresponding row index according to the position code, determine the time sampling point according to the arrival timestamp (for example, assign the arrival time to the most recent sampling time), and fill the instantaneous load contribution value into the corresponding cell of the matrix; if there are multiple data frames in the same partition at the same time sampling point, take the average value or the latest value.

[0059] For example, the central processing unit traverses each parsed triplet data (location code, instantaneous load contribution value, arrival timestamp). For each triplet, it first queries the mapping table between dynamic partitions and row indices based on the location code to determine the row index i (1≤i≤Q) corresponding to the data.

[0060] Subsequently, the column index j is determined based on the arrival timestamp. Specifically, the determination method involves comparing the arrival timestamp with a preset sampling time sequence. Compare the samples to find the sampling time with the smallest time difference from the arrival timestamp. The index j of the sampling time is used as the column index.

[0061] After determining the row index i and the column index j, the central processing unit fills the instantaneous load contribution value into the cell A[i][j] of the matrix A. If it is found during the traversal that the same cell A[i][j] is filled multiple times (i.e., multiple data frames arrive near the same sampling time for the same partition), then the arithmetic mean of these instantaneous load contribution values is taken as the final value of this cell to reduce random measurement errors.

[0062] S3.4: Perform linear interpolation filling on the still-existing empty cells in the matrix to obtain the complete three-dimensional spatio-temporal load matrix, where each element corresponds to the load value of a specific dynamic partition at a specific sampling time.

[0063] It should be noted that after completing the data filling, there may be some empty cells in matrix A. These empty cells are usually caused by two reasons: First, at a certain sampling time, a partition fails to report data due to a communication interruption or sensor dormancy; Second, the load of a partition does not change within a certain period of time, and the sensor actively reduces the reporting frequency to reduce power consumption, resulting in no data at some sampling times.

[0064] To obtain a complete and non-empty spatio-temporal load matrix, the central processing unit performs linear interpolation filling on the empty cells in each row (i.e., each dynamic partition) of the matrix. The specific operation is as follows: For the i-th row, scan from left to right to find the first non-empty cell A[i][p] and the next non-empty cell A[i][q] (p < q). For the empty cells A[i][j] (p < j < q) between p and q, the filling value is calculated through the linear interpolation formula: If there are empty cells at the beginning or end of the row, they are filled with the nearest non-empty value (i.e., forward filling or backward filling).

[0065] Through the above interpolation processing, a complete and non-empty three-dimensional spatio-temporal load matrix of M rows × Q columns is obtained. Each element A[i][j] in the matrix exactly corresponds to the load value of the i-th dynamic partition at the j-th sampling time.

[0066] It should be noted that this matrix unifies the asynchronously arriving discrete data frames into a synchronous time-space coordinate system, providing a regular, continuous and complete data basis for the accurate identification of subsequent load transfer paths. At the same time, the data organization method in matrix form greatly simplifies the implementation complexity of subsequent analysis algorithms, and the central processor can directly use linear algebra operations for fast processing, significantly improving the real-time analysis ability of the system.

[0067] S4: Analyze the variation law of load values ​​in the spatiotemporal load matrix over time, determine the transfer path and transfer amount of load between each dynamic partition, and generate a dynamic evolution characteristic sequence of load distribution.

[0068] S4.1: Extract the load vectors corresponding to two adjacent sampling times from the three-dimensional spatiotemporal load matrix, and subtract the load vector of the previous time from the load vector of the later time to obtain the load change vector.

[0069] Specifically, the central processing unit accesses the complete three-dimensional spatiotemporal payload matrix A[M][Q] generated in step S3.4, where M is the total number of dynamic partitions and Q is the total number of sampling points within the time window. The payload column vectors corresponding to two adjacent sampling times are extracted from the matrix, i.e., the payload vector at time j: The load vector at time j+1: .

[0070] Subsequently, the load change vector from time j to time j+1 is calculated. Each element in the vector This represents the load change of the i-th dynamic partition within a unit time interval Δt. Positive values ​​in the load change vector indicate an increase in the load of the corresponding dynamic partition, while negative values ​​indicate a decrease. That is, when... When > 0, it indicates that the load on that partition has increased; when When < 0, it indicates a reduced load; when When = 0, it means that the load remains unchanged.

[0071] S4.2: Scan the load change vector, extract the dynamic partitions corresponding to the elements with negative values ​​as load reduction partitions, and record the reduction amount (absolute value); extract the dynamic partitions corresponding to the elements with positive values ​​as load increase partitions, and record the increase amount.

[0072] First, create two empty lists: reduce the number of partition lists. and adding partition list .

[0073] Traversal Each element in : like If < 0, then partition index i and its reduction amount will be... Record to reduce partition list middle; like If the value is greater than 0, then the partition index i and its increment will be... Record to the list of added partitions middle; like = 0, then ignore.

[0074] After completing the traversal, calculate the total reduction. and increase the total amount . judge Is it less than the preset balance tolerance ε (e.g., ε is 1% of the maximum range or set according to the sensor accuracy)? If it exceeds the tolerance, it is determined that there is an external load intervention within that time interval (such as goods being moved into or out of the shelf area), this situation is marked as an abnormal event and recorded, but subsequent matching continues; if it is within the tolerance range, it indicates that the load change is only caused by the movement of goods inside the shelf, and matching can be performed directly.

[0075] S4.3: Sort the load reduction partitions in descending order of reduction amount, and sort the load increase partitions in descending order of increase amount. For example, the central processing unit... and Load transfer path matching is performed on the partitions within the system. To ensure the determinism and repeatability of the matching results, the first step is to perform load transfer path matching on the partitions within the system. The partitions in the middle are reduced by amount Sort the partitions in descending order from largest to smallest to obtain the sorted list of partitions with reduced size. At the same time, The partitions in the middle are increased by amount Sort the partitions in descending order from largest to smallest to obtain the sorted list of partitions. .

[0076] Initialize an empty list of transfer records. Then execute the following greedy matching algorithm: Traversal For each partition (starting partition) d in the data, the current remaining reduction amount is... (The initial value is the partition's) ): Traversal For each newly added partition (target partition) g, the current remaining increment is... (The initial value is the partition's) ): like Then record a transfer record: starting partition is d, target partition is g, and transfer amount is... Add this record to the transfer record list.

[0077] Update the remaining amount of partition g. .

[0078] Will Set to 0 to indicate that the current reduction of partition d has been completed.

[0079] like If it becomes 0, then partition g will be added from... Removed from the middle.

[0080] Break out of the inner loop and proceed to the next reduction partition.

[0081] like : Record a transfer record: starting partition is d, target partition is g, transfer amount is... .

[0082] Add the record to the empty transfer record list.

[0083] Update the remaining reduction amount for partition d. .

[0084] Add partition g from Removed from the list (because the increase has already been allocated).

[0085] Continue iterating through the next added partition, which is the remaining partition d from the current removed partition. Search for a new target partition.

[0086] The above matching process continues until all reduced partitions are... All are 0, or all added partitions The result is 0 for all values, or until no further matching is possible.

[0087] If the matching is complete If there is still a remaining increase, these remaining amounts will be recorded as external new load events, and the corresponding starting partition will be marked as external; if If there is still a remaining reduction, these remaining amounts are recorded as load disappearance events, and the corresponding target partition is marked as external.

[0088] S4.4: Record the starting partition code, target partition code, transfer amount value and occurrence time corresponding to each load transfer pair, arrange them in chronological order, and generate a dynamic evolution feature sequence of load distribution.

[0089] Each transfer record contains the following five elements: the starting partition code (i.e., the position code part in the flexible code of the partition where the load is located before the transfer occurs), the target partition code (i.e., the position code part in the flexible code of the partition where the load is located after the transfer occurs), the transfer amount value, the occurrence time (using the midpoint between time j and time j+1), and the transfer type identifier (internal transfer, external addition, or external disappearance).

[0090] All transfer records generated within the current time interval (times j to j+1) are sorted according to their occurrence time to generate a load transfer event list for that time interval. Subsequently, the transfer event lists for all time intervals within the entire time window (j=1 to N-1) are concatenated in chronological order to form a complete dynamic evolution characteristic sequence of load distribution.

[0091] This feature sequence records the microscopic changes in shelf load distribution in a structured form: each goods movement corresponds to one or more transfer records, clearly revealing which partition the goods moved from to which partition, how much weight was moved, and when it occurred. The central processing unit can store this feature sequence in a historical database for subsequent advanced applications such as logistics route optimization, abnormal behavior detection (e.g., abnormal goods relocation), and inventory tracking. Through the above sub-steps, this invention transforms the abstract spatiotemporal load matrix into a sequence of goods flow events with clear physical meaning, achieving a substantial leap from data to information.

[0092] The present invention also provides an intelligent shelf load distribution dynamic analysis system, including: a dynamic partition coding module, which divides the shelf into dynamic partitions according to the shelf support points and generates a flexible code containing position coordinates and mechanical properties for each partition; The load data frame module collects sensor data in each partition, calculates the instantaneous load contribution value of each partition in combination with the flexible coding, and generates a load data frame with spatial identification. The spatiotemporal load matrix module arranges the load data frames of the continuous time series according to the time axis to construct a three-dimensional spatiotemporal load matrix, where each element corresponds to the load value of a specific partition at a specific time. The load evolution feature module analyzes the variation law of load values ​​with time in the spatiotemporal load matrix, determines the transfer path and transfer amount of load between each dynamic partition, and generates a dynamic evolution feature sequence of load distribution.

[0093] The system also includes one or more processors and memory.

[0094] The memory is used to store operable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, including the flow of a dynamic analysis method for intelligent shelf load distribution according to the foregoing embodiments, particularly... Figure 1 The flowchart of the method is shown.

[0095] Other aspects disclosed in the embodiments of the present invention also propose a computer-readable medium for storing software including instructions executable by one or more computers, which, upon execution, cause the one or more computers to perform operations including the flow of a dynamic analysis method for load distribution of an intelligent shelving unit as described in the foregoing embodiments, particularly... Figure 1 The flowchart of the method is shown.

[0096] It should be recognized that embodiments of the present invention may be implemented or carried out by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer-readable storage medium.

[0097] The method can be implemented using standard programming techniques, including a non-transitory computer-readable storage medium configured with a computer program in the computer program, wherein the storage medium is configured such that the computer operates in a specific and predefined manner.

[0098] Each program can be implemented in a high-level procedural or object-oriented programming language to communicate with the computer system; however, if required, the program can be implemented in assembly or machine language.

[0099] In any case, the language can be either compiled or interpreted.

[0100] Furthermore, for this purpose, the program can run on programmed application-specific integrated circuits.

[0101] The processes described herein (or variations and / or combinations thereof) can be executed under the control of one or more computer systems configured with executable instructions, and can be implemented by hardware or a combination thereof as code (e.g., executable instructions, one or more computer programs, or one or more applications) that commonly executes on one or more processors. The computer program includes a plurality of instructions executable by one or more processors.

[0102] Furthermore, the method can be implemented in any suitable computing platform, including but not limited to personal computers, minicomputers, mainframes, workstations, networked or distributed computing environments, standalone or integrated computer platforms, or in communication with charged particle tools or other imaging devices.

[0103] Various aspects of the present invention can be implemented in machine-readable code stored on a non-transitory storage medium or device, whether portable or integrated into a computing platform, such as a hard disk, optical read and / or write storage medium, RAM, ROM, etc., such that it can be read by a programmable computer, and when the storage medium or device is read by the computer, it can be used to configure and operate the computer to perform the processes described herein.

[0104] Furthermore, machine-readable code, or parts thereof, can be transmitted via wired or wireless networks.

[0105] When such media includes instructions or programs that combine with a microprocessor or other data processor to implement the steps described above, the invention described herein includes these and other different types of non-transitory computer-readable storage media.

[0106] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.

Claims

1. A method for dynamic analysis of load distribution in intelligent shelving, characterized in that: include: Dynamic partitions are created based on the support points of the shelving, and a flexible code containing position coordinates and mechanical properties is generated for each partition. Sensor data within each partition is collected, and the instantaneous load contribution value of each partition is calculated by combining the flexible coding, generating a load data frame with spatial identification. The load data frames of the continuous time series are arranged along the time axis to construct a three-dimensional spatiotemporal load matrix, where each element corresponds to the load value of a specific partition at a specific time. By analyzing the variation of load values ​​over time in the spatiotemporal load matrix, the transfer paths and amounts of loads between dynamic partitions are determined, and a dynamic evolution characteristic sequence of load distribution is generated.

2. The method for dynamic analysis of load distribution of intelligent shelving as described in claim 1, characterized in that: The dynamic partitioning includes: The spatial coordinates of each support point of the shelf are obtained, and the Thiessen polygon method is used to divide the shelf bearing surface with each support point as the base point, resulting in multiple dynamic partitions that correspond one-to-one with the support points.

3. The method for dynamic analysis of load distribution of intelligent shelving as described in claim 2, characterized in that: The generation of the flexible coding includes: Measure the vertical stiffness coefficient of each support point and use the vertical stiffness coefficient as the mechanical property parameter of the corresponding dynamic partition; Based on the coordinates of the support points corresponding to each dynamic partition, a fixed-length coordinate splicing method is used to generate the position code of the corresponding dynamic partition. The mechanical property parameters are numerically quantized to generate mechanical codes for the corresponding dynamic partitions; The position code and the mechanical code are concatenated in a predetermined order to form the flexible code of the dynamic partition; The flexible code for each dynamic partition is written into the storage unit of the sensor node deployed within the dynamic partition, so that the sensor node outputs the flexible code along with the data when acquiring the payload.

4. The method for dynamic analysis of load distribution of intelligent shelving as described in claim 3, characterized in that: The calculation of the instantaneous load contribution value of each partition includes: Sensor nodes in each dynamic partition collect raw displacement signals, and the raw displacement signals are subjected to sliding window averaging filtering to obtain the instantaneous displacement value of the dynamic partition. Read the flexible code from the storage unit of the sensor node, and extract the mechanical property parameters from the flexible code; Multiplying the instantaneous displacement value by the mechanical characteristic parameter yields the instantaneous load contribution value of the dynamic partition.

5. The method for dynamic analysis of load distribution of intelligent shelving as described in claim 4, characterized in that: The instantaneous load contribution value and the position code in the flexible coding are encapsulated to generate a load data frame with spatial identification.

6. The method for dynamic analysis of load distribution of intelligent shelving as described in claim 5, characterized in that: The construction of the three-dimensional spatiotemporal load matrix includes: Receive the payload data frames from all partitions, and parse the location code and the instantaneous payload contribution value from each payload data frame; Obtain the total number of currently divided dynamic partitions, set the number of rows of the three-dimensional spatiotemporal load matrix according to the total number of dynamic partitions, and set the number of columns of the three-dimensional spatiotemporal load matrix according to the predetermined equally spaced time sampling sequence; For each load data frame, the corresponding row index is determined according to the position code, the time sampling point is determined according to the arrival timestamp, and the instantaneous load contribution value is filled into the corresponding cell of the matrix; If there are multiple data frames in the same partition at the same sampling point at the same time, take the average value or the latest value.

7. The method for dynamic analysis of load distribution of intelligent shelving as described in claim 6, characterized in that: Linear interpolation is performed to fill the remaining empty cells in the matrix to obtain the complete three-dimensional spatiotemporal load matrix, where each element corresponds to the load value of a specific dynamic partition at a specific sampling time.

8. The method for dynamic analysis of load distribution of intelligent shelves as described in claim 7, characterized in that: The analysis of the variation of load values ​​with time in the spatiotemporal load matrix includes: The load vectors corresponding to two adjacent sampling times are extracted from the three-dimensional spatiotemporal load matrix, and the load vector of the previous time is subtracted from the load vector of the later time to obtain the load change vector. In the load change vector, positive values ​​indicate an increase in the load of the corresponding dynamic zone, while negative values ​​indicate a decrease. Scan the load change vector, extract the dynamic partitions corresponding to the elements with negative values ​​as load reduction partitions, and record the reduction amount; extract the dynamic partitions corresponding to the elements with positive values ​​as load increase partitions, and record the increase amount.

9. The method for dynamic analysis of load distribution of intelligent shelving as described in claim 8, characterized in that: The analysis of the variation of load values ​​with time in the spatiotemporal load matrix also includes: Calculate the sum of the total decreases and the sum of the total increases. If the difference between the two exceeds the preset tolerance, mark it as abnormal and terminate the matching or make corrections. Sort the load reduction zones by the amount of reduction from largest to smallest, and sort the load increase zones by the amount of increase from largest to smallest; The initial transfer list is empty. Iterate through each reduced partition in turn: For the current reduction in partitions, the reduction amount is... Iterate through the newly added partitions one by one. For each newly added partition, the amount of addition is... ; like The amount will be reduced. Allocate all resources to the newly added partition, record the transfer pairs, and update the increase amount of the newly added partition. ;like If the added partition is removed, the current partition reduction process is complete, and the inner loop is exited. like This will increase the amount. Allocate all resources to the currently reduced partition, record the transfer pairs, and update the reduction amount of the reduced partition. And continue to traverse the next added partition until the reduction amount of the reduced partition has been allocated; If there are still additional partitions remaining after all partition reductions have been processed, the remaining increase is recorded as newly added external load; if there are remaining partitions after reductions, it is recorded as load disappearance.

10. A dynamic analysis system for load distribution of intelligent shelving, based on the dynamic analysis method for load distribution of intelligent shelving as described in any one of claims 1 to 9, characterized in that: Also includes: The dynamic partitioning coding module divides the shelf into dynamic partitions based on the support points and generates a flexible code for each partition that includes position coordinates and mechanical properties. The load data frame module collects sensor data in each partition, calculates the instantaneous load contribution value of each partition in combination with the flexible coding, and generates a load data frame with spatial identification. The spatiotemporal load matrix module arranges the load data frames of the continuous time series according to the time axis to construct a three-dimensional spatiotemporal load matrix, where each element corresponds to the load value of a specific partition at a specific time. The load evolution feature module analyzes the variation law of load values ​​with time in the spatiotemporal load matrix, determines the transfer path and transfer amount of load between each dynamic partition, and generates a dynamic evolution feature sequence of load distribution.