A rapid optimal multi-module weighing method and system for highway vehicles
Through the multi-module structure and greedy strategy data processing algorithm, the problem of data processing in the ultra-long vehicle weighing system is solved, and the rapid and accurate weighing of the ultra-long vehicle is achieved, which improves the traffic efficiency and accuracy of the weighing system.
Patent Information
- Application Number
- CN202310159800.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-23
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2043-02-23
AI Technical Summary
The existing dynamic weighing system cannot effectively process the axle weight information of ultra-long vehicles, resulting in limited data processing algorithms and the inability to quickly calculate the approximate optimal vehicle weighing value.
Using a multi-module structure and a greedy strategy data processing algorithm, a system composed of sensor module, data acquisition module and main control module, combined with a hash table and greedy strategy, can realize the rapid storage of vehicle axle weight information and the search for approximately optimal solutions.
It realizes fast and accurate weighing of ultra-long vehicles, and can ensure one-to-one correspondence of the detection data when multiple vehicles are continuously weighed, improving the traffic efficiency and accuracy of the weighing system.
Smart Images

Figure CN116202604B_ABST
Abstract
Description
Technical Field
[0001] The present invention is applied to the field of dynamic weighing of highway vehicles, and in particular to realizing multi-module dynamic weighing for overlong vehicles (vehicle length is greater than weighing platform length). Background Art
[0002] At present, the domestic vehicle overload and overlimit management adopts dynamic weighing technology, which processes vehicle weighing data through the dynamic weighing system, especially realizes real-time tracking of the vehicle position on the scale and identification of the vehicle axle number through sensor signals.
[0003] However, in real-world scenarios, some oversized vehicles can exceed the maximum range of the scale, leaving some axles on the platform and others on the ground. When the scale can't accommodate all axles, the dynamic weighing system must address how to process the collected partial axle weight information and use it to calculate the total vehicle weight.
[0004] Because overlong vehicles pass through the weighing platform at high speeds and in a short time, they generate a large amount of axle weight information, often with duplication. How can we record and integrate important information from this complex data, quickly search and combine to obtain multiple feasible solutions, and then determine the approximate optimal solution? These problems place higher demands on the data processing algorithms of dynamic weighing systems.
[0005] In order to realize dynamic weighing of overlong vehicles, it is necessary to design a data processing algorithm that can process large amounts of data, find and integrate duplicate information, and quickly search for approximate optimal solutions to ensure that dynamic weighing technology is applicable to various scenarios. Summary of the Invention
[0006] For extra-long vehicles that exceed the range of the weighing platform, the data processing algorithm of the vehicle-type dynamic weighing system that can continuously follow the vehicle cannot be used to calculate the gross vehicle weight, resulting in limited use of dynamic weighing technology and making it unsuitable for extra-long vehicles.
[0007] The present invention proposes a fast optimal multi-module weighing method and system for road vehicles, which can achieve no restrictions on the length of the vehicle and the weighing platform, continuous vehicle following, and fast calculation of approximately optimal vehicle weighing values.
[0008] The present invention adopts the following technical solutions:
[0009] The system of the present invention primarily consists of a sensor module, a data acquisition module, and a main control module. The sensor module is used to collect vehicle weight signals. A vehicle separator, tire identifier, and N sets of weighing blocks are sequentially installed along the vehicle's travel direction, enabling continuous vehicle tracking and ensuring a one-to-one correspondence between detection data and vehicles when multiple vehicles are weighed continuously. Each set of weighing blocks includes a weighing platform and four bridge-type weighing sensors, each 3.6 meters long. The four weighing sensors are installed at the four corners of the weighing platform. The weighing blocks are independent of each other, enabling multiple measurements of vehicle axle weight information and ensuring measurement accuracy.
[0010] The weighing sensor signal is amplified, converted into analog to digital, and then sent to the algorithm system. It is supplemented by the infrared vehicle separator signal and the tire identifier signal to achieve real-time tracking of the vehicle position on the scale and identification of the number of vehicle axles, generating axle data. Each set of data contains axle information, weight information, and frequency information.
[0011] The method of the present invention uses a hash table to store and update axle data, searches for target axle weight information based on a greedy strategy, and finds an approximately optimal solution for vehicle weighing values. The method steps are as follows:
[0012] (1) Hash table implements data storage and update
[0013] For the axle data generated by the algorithm system, a hash function is designed to return the storage location information of this data set and determine the data storage location. The independence of the weighing blocks means that the same axle information may be measured multiple times. The hash function ensures that repeated data is stored in the same location.
[0014] (2) Greedy strategy to search axle weight information
[0015] To solve the vehicle's gross weight, multiple data sets must be searched to ensure that all axles are included and no axles are duplicated. A greedy strategy prioritizes the data set containing the largest number of axles during each search. If the number of axles is the same, the data set with the highest frequency of occurrence is selected. Having a large number of axles minimizes the number of data sets required to calculate the vehicle's gross weight, reducing the introduction of errors. High frequency information ensures the accuracy and reliability of the data set.
[0016] Each search determines the optimal set of data currently available. It then determines any missing axle information and recursively performs the next search until all axle information is found, resulting in a set of vehicle weights. This concludes the search. If time permits, the next search begins, ultimately resulting in multiple sets of vehicle weights.
[0017] (3) Vehicle weighing value evaluation
[0018] An evaluation function is designed. The evaluation function can generate a quantitative evaluation index evaluation for a set of axle data. Each vehicle gross weight obtained in step (2) includes multiple sets of axle data. The weighted average of the evaluation indexes of the multiple sets of data is calculated and used as the evaluation index of the vehicle gross weight. The set of vehicle weighing values with the best evaluation index is selected as the final vehicle gross weight.
[0019] The multi-module dynamic weighing method and system for highway vehicles designed in the present invention are not limited by the length of the vehicle and the weighing platform. They can weigh the entire vehicle for vehicles shorter than the weighing platform and measure a large amount of redundant data with high accuracy. The multi-module cascade structure is supplemented by multiple sensors to enable multiple vehicles to follow each other and be weighed simultaneously, thereby ensuring highway traffic efficiency.
[0020] The greedy strategy-based algorithm system solves the weighing problem of over-long vehicles (vehicle length is greater than the length of the weighing platform). It can efficiently organize duplicate axle information, quickly search for the target axle weight, and complete the calculation of the approximate optimal solution for the vehicle's gross weight. It solves the problems of slow speed and low accuracy of traditional modular dynamic weighing systems when weighing over-long vehicles, and expands the application scenarios of dynamic weighing systems for over-long vehicles. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 :Sensor module structure diagram
[0022] 1 vehicle separator
[0023] 2. Tire identification device
[0024] 3 weighing sensors
[0025] Figure 2 :System structure diagram
[0026] 1 sensor module
[0027] 2Data acquisition module
[0028] 3 Main control module
[0029] Figure 3 : Schematic diagram of hash table storage structure
[0030] Figure 4 : Greedy strategy search algorithm flow chart
[0031] Figure 5 :Flowchart of dynamic weighing method for overlong vehicles DETAILED DESCRIPTION
[0032] The hardware of the system of the present invention consists of a vehicle separator, a tire identifier and N sets of weighing blocks (each weighing block contains a scale platform and four weighing sensors). In general, 2≤N≤6, which is determined according to the actual installation environment. The connection structure of each sensor is as follows: Figure 1 The distance between the vehicle separator and the tire identifier should be 0.5 to 1 meter, and the distance between the tire identifier and the first set of weighing blocks should be 0.5 to 1 meter. Each weighing platform is 3.6 meters long. Each set of weighing blocks is independent of each other. Bridge-type weighing sensors placed at the four corners of the weighing platform collect vehicle weight signals and transmit them in parallel to the next-level system.
[0033] The overall structure of the multi-module weighing system designed by the present invention is as follows Figure 2 As shown, the system primarily consists of three modules: 1. The sensor module, which collects vehicle total volume signals; 2. The data acquisition module, which preprocesses the sensor signals through amplification, analog-to-digital conversion, temperature compensation, and other processes, and stores the data; and 3. The main control module, which receives the preprocessed signals, runs the algorithm system, generates axle data, and facilitates user interaction. Communication between the data acquisition module and the main control module is achieved via a Gigabit Ethernet connection.
[0034] The main control module receives sensor signals from the data acquisition module and processes them through an algorithm system to obtain vehicle data such as axle information, weight information, and frequency information. For overlong vehicles, the algorithm system uses a greedy strategy to search for target axle weight information and calculate the approximate optimal solution for vehicle weighing values. The user interaction system receives vehicle information from the algorithm system and performs operations such as display, storage, and command issuance.
[0035] The core of the method is the dynamic weighing of overlong vehicles. Since the data generated when an overlong vehicle passes through the weighing platform is numerous and repeated, in order to quickly and accurately solve the approximate optimal weighing value, the method is designed based on the greedy strategy. The specific implementation is as follows:
[0036] 1. Sensor signal acquisition and processing
[0037] By comprehensively processing the signals from the weighing sensor, infrared vehicle separator, and tire identification device, we can track the vehicle's position on the scale in real time and identify the number of axles. This allows us to generate data sets in real time. We design the AxleInfostruct structure to store each data set, which includes axle information, weight information, and frequency information. For an n-axle vehicle, the data members of the AxleInfostruct are as follows:
[0038] (1) Axle information amount: stores the number of axles included in this group of data, 1 <= amount <= n;
[0039] (2) Axle information number[]: stores the axle number contained in this group of data;
[0040] (3) Weight information weight[]: stores the total weight of the above axles. The weight information of repeated data is stored in order.
[0041] (4) Frequency information freq[]: The number of times the axle information of this group of data is sampled within a period of time when it remains unchanged. The sampling frequency is 512 Hz. The frequency information of repeated data is stored in sequence.
[0042] 2. Hash table realizes data storage and update
[0043] (1) Data storage:
[0044] Choose to use the AxleVec[][] variable to classify and store each group of data. Each group of data corresponds to a structure variable AxleInfo. The hash function returns the number of axles amount and the minimum axle number minnum of the variable, that is, Min(number[]), where 1<=amount<=n; 1<=minnum<=(n–amount+1). This determines the storage location subscript AxleVec[amount][minnum] of the group of information. The storage structure is as follows: Figure 3 As shown (taking a 64-axle vehicle as an example).
[0045] (2) Update of duplicate data:
[0046] Each set of duplicate data is stored in the same location, with the same axle information and no need to be updated. The weight and frequency information of each set of duplicate data are stored in sequence. When it is determined that no new information will be stored (after axle 1 leaves the scale, no new information will be stored in all AxleVec variables containing axle 1), the weighted average of all stored weight information is used to obtain the final weight information. All frequency information is added together to obtain the final frequency information.
[0047] 3. Greedy strategy to search axle weight information
[0048] (1) For an n-axle vehicle, set the flag Secflag(n,0) to stop searching. n-axle vehicle indicates that the axle numbers to be searched are 1, 2, ..., n; 0 indicates that the axle has not been found, and 1 indicates that the axle has been found. Set up a stack WeightAxle to store the data of the various axles that make up the vehicle's total weight.
[0049] (2) The axle weight information to be searched is determined to be [b, b+1, ..., e], where b is the minimum axle number to be searched, and e is the maximum axle number to be searched. In the first round of search, b = 1 and e = n.
[0050] (3) Select and sort the data after pruning optimization:
[0051] Let imax = e – b + 1, where imax represents the number of axles to be searched. Data is preferentially selected from AxleVec[imax], which contains a larger number of axles. If the number of axles is the same, the data with the highest frequency is selected. To do this, it is necessary to sort by frequency information.
[0052] Select the axle data AxleVec[imax][j] that needs to be sorted, where j needs to meet the pruning condition: b <= j <= e–imax+1; data that does not meet this condition will inevitably lead to repeated axle numbers, resulting in repeated addition of the weight of a certain axle.
[0053] The data that meets the pruning conditions are stored in the sorting container AxleSort(ul). The size of the container AxleSort is ul. When the data that meets the conditions in AxleVec[imax] is less than ul, set imax = imax – 1 (imax>=1), and continue to select AxleVec[imax][j] data that meets the pruning conditions and store them in AxleSort.
[0054] (4) Sorting + recursive search:
[0055] The axle data in the sorting container AxleSort are sorted in descending order according to the frequency information, and the data AxleSort[0] with the highest order is selected as the main part of the axle weight information to be searched, and it is pushed into the stack WeightAxle. The search flag Secflag is updated according to the axle number contained in AxleSort[0].
[0056] According to the updated search flag Secflag, determine whether there is still missing axle weight information in the range [b, b+1,…, e]. If there is still missing axle weight information, determine a new set of upper and lower limits b and e in the order of left-to-right search and perform a recursive search. If the target axle weight information has been found, go back to the previous search and continue the judgment. When all the axle weight information [1, 2,…, n] has been found, exit the search.
[0057] (5) Backtracking mechanism:
[0058] If, during a search for axle information [b, b+1, ..., e], no data can be stored in the sorting container AxleSort after filtering through the pruning conditions, this indicates that the axle information cannot be found. The search must be backtracked to the previous round, popping the data pushed into the stack WeightAxle in the previous round. The next highest-ranked data in the sorting container AxleSort[i] from the previous round is selected as the new trunk and pushed back into the stack WeightAxle. The first time backtracking, i = 1. Each additional backtracking step increases i = i + 1. The search then continues downward.
[0059] The greedy strategy search algorithm flow chart is as follows Figure 4 shown.
[0060] 4. Determine the approximate optimal solution for vehicle weight
[0061] (1) Solve the vehicle weight value
[0062] When the values in the search flag Secflag are all 1, it means that all n axles are searched successfully, and the weight information of all axle data contained in the stack WeightAxle is summed to obtain a set of vehicle weighing values.
[0063] (2) Evaluate vehicle weight
[0064] The designed evaluation function is used to generate a quantitative evaluation index for all axle data contained in the stack WeightAxle, and the weighted average of the evaluation indexes of all axle data is used as the evaluation index of the vehicle weighing value of this group.
[0065] The evaluation function mainly considers two aspects: the more axles, the better, and the higher the frequency information, the better; a large number of axles can make the number of data sets required for calculating the gross vehicle weight as small as possible to reduce the introduction of errors; high frequency information can ensure the accuracy and reliability of the data set.
[0066] (3) Obtain multiple solutions
[0067] In order to obtain multiple groups of vehicle gross weight values to select the approximate optimal solution, backtrack to the first round of search (b=1, e=n), select the data AxleSort[i] with the second highest order in the sorting container as the new trunk part, and when backtracking to the first round of search for the first time, i=1, and each additional backtracking, i=i+1; backtrack ul-1 times, a total of ul groups of vehicle weighing values and corresponding evaluation indicators are obtained, and stored in the variable Res (used to store the obtained multiple groups of vehicle weighing values and corresponding evaluation indicators).
[0068] (4) Sort and select the best
[0069] According to the evaluation index of each group of vehicle weighing values, the data contained in Res is sorted in descending order, and Res[0] with the highest order is selected as the approximate optimal solution, and its vehicle weighing values are uploaded to the user interface for display.
[0070] The flow chart of the dynamic weighing method for overlong vehicles is as follows Figure 5 shown.
Claims
1. A fast and optimal multi-module weighing method for road vehicles, characterized in that: The steps for dynamic weighing of overlong vehicles based on the greedy strategy are as follows: (1) Hash table realizes axle data storage; (2) Update duplicate axle data in real time; (3) Greedy strategy searches for target axle weight information; (4) Pruning optimization narrows the search range; (5) Solve multiple sets of vehicle weight values; (6) Evaluate vehicle weight values and find approximate optimal solutions; The hash table realizes the storage of axle data. The algorithm system generates a large amount of axle data in real time after processing the sensor signal. Each set of axle data contains the axle quantity amount, axle number number, axle weight weight and frequency freq information; the hash function returns the axle quantity amount and the minimum axle number minnum of a set of axle data to determine the storage location index of the set of axle data, and the set of data is stored in the variable In AxleVec[amount][minnum], the AxleVec[][] variable is used to classify and store each group of data, and each group of data corresponds to a structure variable; Update duplicate axle data in real time. Hash table storage ensures that duplicate axle data is stored in the same location. The number of axles in each set of duplicate data is the same as the axle number, so no update is required. However, the axle weight and frequency of occurrence are different and require updating. The update method is to store the weight information and frequency information of each set of repeated data in sequence. When it is determined that no more repeated information will be stored, all the stored weight information is weighted averaged to obtain the final weight information; All frequency information is added together to obtain the final frequency information; A greedy strategy searches for target axle weight information. To determine the gross weight of an overlong vehicle, multiple sets of data must be searched to ensure that all axles are included and that no axles are duplicated. During each search, the set containing the largest number of axles is prioritized. If the number of axles is the same, the data with the highest frequency of occurrence is selected. Each search determines the optimal set of data currently available, then determines the missing axle information and recursively searches the next level until all axle information is found, resulting in a set of vehicle weight values and the search ends. The data that meets the narrowing range of pruning optimization is stored in the sorting container AxleSort[ul], and the size of the container AxleSort is ul; Arrange the axle data in the sorting container AxleSort in descending order according to the frequency information, select the data with the highest order AxleSort[0] as the main part of the axle weight information to be searched, push it into the stack WeightAxle, and update the search flag Secflag according to the axle number contained in AxleSort[0]; If the axle information of a certain wheel cannot be found, it is necessary to go back to the previous search round, pop out the data pushed into the stack WeightAxle in the previous search round, select the data with the second highest order in the sort container of the previous search round as the new trunk part, and push it back into the stack WeightAxle; Solve multiple sets of vehicle weight values. For weighing overlong vehicles, it is necessary to combine multiple sets of axle data to calculate the gross vehicle weight. The combination method is not unique. By searching for different combinations, multiple sets of vehicle weight values can be obtained. Based on the greedy strategy, the optimal data currently available is determined as the basis data for the vehicle's gross weight during the first search, and a recursive search is then performed. When solving the second set of vehicle weight values, the suboptimal data other than the optimal data found during the first search is selected as the new basis data. This process can be repeated to obtain multiple sets of different vehicle weight values. Evaluate vehicle weighing values and find approximate optimal solutions. Each vehicle weighing value obtained by the greedy strategy contains multiple sets of axle data. A quantitative evaluation index is generated for each set of axle data. The evaluation index is positively correlated with the number and frequency information of axles contained in this set of data. Then, the weighted average of the evaluation indexes of the multiple sets of axle data contained in a vehicle weighing value is calculated and used as the evaluation index of the vehicle weighing value. The set of vehicle weighing values with the best evaluation index is selected as the final vehicle weighing value.
Citation Information
Patent Citations
Vehicle dynamic weighing system and vehicle dynamic weighing method based on multiple sensors
CN109163790A
Cross-border logistics combination parcel application system based on greedy algorithm
CN115034537A
Road vehicle dynamic weighing acquisition system and method
CN115060348A