Method for measuring overall dimension of running vehicle based on single laser radar
Through a single 3D lidar and motion estimation technology, efficient and accurate measurement of vehicle profile size is achieved, solving the problems of complex, high cost and low efficiency of existing methods, and is suitable for a variety of vehicle models and scenarios.
Patent Information
- Application Number
- CN202510381000.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-28
- Publication Date
- 2025-06-27
AI Technical Summary
The existing vehicle profile measurement methods are complex, costly, low efficiency, and difficult to measure with high accuracy in multiple scenarios.
A single 3D lidar is used to measure the vehicle profile dimensions, and multi-frame point cloud registration is achieved through motion estimation, and the vehicle's complete point cloud is obtained and measurement is performed.
It realizes low-complexity, low-cost, high-efficiency and high-precision vehicle profile dimension measurement, suitable for a variety of vehicle models and scenarios.
Smart Images

Figure CN120214823A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of automatic detection of vehicle outlines, and specifically relates to a method for measuring the outline dimensions of a moving vehicle based on a single lidar. Background Art
[0002] In an environment where motor vehicles are increasing day by day, the accurate measurement of vehicle outline dimensions is one of the key links to ensure road traffic safety and ensure the legal driving of vehicles. Over-limit vehicles will increase the risk of traffic accidents, disrupt traffic order, and endanger life safety. The regulations on vehicle outline dimensions in China mainly include three aspects: length, width, and height. According to the standard of "Limits for Dimensions, Axle Loads and Masses of Motor Vehicles, Trailers and Semi-trailer Trains" (GB1589-2016), different types of vehicles have different size limits. Therefore, it is particularly important to accurately and efficiently measure vehicle outline dimensions.
[0003] With the improvement of modern measurement technologies, there are currently various methods for measuring vehicle outline dimensions. The solutions closest to the present invention include: Patent Application No.: CN112991369A, Title: Method for Detecting Outline Dimensions of a Moving Vehicle Based on Binocular Vision, which uses binocular vision three-dimensional contour measurement and requires binocular calibration, image processing, and spatial coordinate conversion. The steps are cumbersome, and the final measurement accuracy is affected by environmental visibility; Patent Application No.: CN115291239A, Title: Method for Measuring Outline Dimensions of a Freight Truck Based on UAV Lidar, Patent Application No.: CN114812401A, Title: Vehicle Outline Dimension Measuring Device and Measuring Method; the methods used need to measure the vehicle when it is in a stationary state, which increases the detection time and the efficiency is low. At the same time, there may be a situation where large vehicles cannot be scanned completely. In addition, the use environment of this type of method is basically limited to the inspection station and is not suitable for use on roads with heavy traffic; Patent Application No.: CN109828282A, Title: Automatic Vehicle Outline Dimension Detection System and Method Based on Lidar, Patent Application No.: CN114812401A, Title: Vehicle Outline Dimension Measuring Device and Measuring Method, Patent Application No.: CN119334256A, Title: Vehicle Outline Detection Method and System Based on Lidar, Patent Application No.: CN119146849A, Title: Vehicle Outline Dimension Measuring Method; use multiple lidars, cameras or other sensors, and need to perform operations such as calibration and data fusion, which increases the system complexity. At the same time, multiple devices increase the system cost and are not conducive to large-scale deployment and use.
[0004] In summary, the current measurement methods have not been able to measure the outline dimensions of different types of moving vehicles in a low-complexity, low-cost, high-efficiency, high-precision, and multi-scenario manner. Summary of the Invention
[0005] To overcome the deficiencies of the prior art, the present invention uses a single 3D lidar as a measurement sensor, realizes multi-frame point cloud registration through motion estimation, and then measures the external dimensions of various vehicle models.
[0006] The technical solution of the present invention is as follows:
[0007] A method for measuring the external dimensions of a moving vehicle based on a single lidar, comprising the following steps:
[0008] Step 1: Install a 3D lidar and obtain the point cloud data generated by it. The specific steps are as follows:
[0009] Step 1.1: Stably install the 3D lidar with a scanning frequency of f in the height range of 4.5 meters to 5.5 meters directly above the lane. During installation, adjust the tilt angle α of the lidar to between 35° and 55°, fix it in a downward-slanting posture, and ensure that the detection direction of the lidar is directly facing the path where the vehicle approaches;
[0010] Step 1.2: Obtain and save each frame of point cloud;
[0011] Step 2: Extract the point cloud set Cloud = {F i |i = start, start + 1,..., end} during the period when the vehicle to be measured enters and exits the lidar scanning area, where F i represents the i-th frame of point cloud, start represents the frame number of the point cloud corresponding to when the vehicle enters the lidar scanning area, and end represents the frame number of the point cloud corresponding to when the vehicle exits the lidar scanning area. The specific steps are as follows:
[0012] Step 2.1: Perform coordinate transformation on each frame of point cloud obtained in Step 1.2 according to formulas (1)-(4), specifically:
[0013]
[0014] where (x0, y0, z0) is the original point cloud coordinate, (x, y, z) is the transformed point cloud coordinate, R X is the rotation matrix for transformation around the X-axis, R Y is the rotation matrix for transformation around the Y-axis, R Z is the rotation matrix for transformation around the Z-axis, and α is the tilt angle of the lidar;
[0015] Step 2.2: Perform a pass-through filter on each frame of point cloud after coordinate transformation in Step 2.1 according to formula (5), filter out the irrelevant point clouds, and only leave the point clouds within the lane range:
[0016] P′ = {pj ∈P|x min ≤x j ≤x max ,y min ≤y j ≤y max ,z min ≤z j ≤z max} (5)
[0017] Among them, P is the original point cloud before filtering, (x j ,y j ,z j ) represents the jth point p in the point cloud P j The coordinates of P' are the filtered point clouds, x min and x max is the preset minimum and maximum value of the X-axis coordinate, y min and max is the preset minimum and maximum value of the Y-axis coordinate, z min and z max The minimum and maximum values of the Z-axis coordinates are preset;
[0018] Step 2.3: Fit the plane aX+bY+cZ+d=0 for each frame of point cloud after the straight-through filtering in step 2.2, where a, b, c, and d are the parameters in the plane equation. Take this plane as the ground, traverse each frame of point cloud in chronological order, and determine whether there is a point in the point cloud that satisfies the conditions shown in equation (6). If there is a point, record the frame of point cloud as F start ;
[0019]
[0020] Step 2.4: For each frame of point cloud after the direct filtering in step 2.2, traverse each frame of point cloud in reverse chronological order to determine whether there is a point in the point cloud that satisfies the conditions shown in equation (6). If there is a point, record the frame of point cloud as F end ;
[0021] Step 2.5: F start To F end Perform SOR statistical filtering on all point clouds between the two points to remove outliers;
[0022] Step 3: For the Cloud obtained in step 2, i |i=start,start+1,…,end} to further accurately fit the ground and obtain the vehicle point cloud. The specific steps are as follows:
[0023] Step 3.1: F iExtract the points that satisfy the condition shown in Equation (7) and denote them as EstimatedPlane i , for EstimatedPlane i Perform further fitting to obtain plane γ i As the ground used for subsequent calculations, extract the points belonging to plane γ i and denote them as point cloud PlaneCloud i ;
[0024]
[0025] Step 3.2: Use the spatial data structure octree to represent F i and PlaneCloud i respectively, compare the differences between the two point clouds, and the difference is the vehicle point cloud extracted from F i Denote it as CarCloud i ;
[0026] Step 3.3: Calculate the angle δ i between plane γ xi and the X-axis and the angle δ yi between plane γ
[0027]
[0028] where a i , b i , c i , d i are the parameters of plane γ i . If the two angles are not 0, rotate the coordinates of all points in the vehicle point cloud CarCloud i by δ yi degrees around the X-axis according to the right-hand rule and rotate by -δ xi degrees around the Y-axis;
[0029] Step 4: Perform multi-frame point cloud stitching on the vehicle point cloud data obtained in Step 3 to obtain the complete point cloud of the vehicle. The specific steps are as follows:
[0030] Step 4.1: Access CarCloud i in chronological order. In each CarCloud i , find the point with the maximum Y-axis coordinate and denote it as the front of the vehicle. Find the CarCloud max closest to y i at the front of the vehicle and denote it as CarCloud B . Denote the point cloud CarCloud B of the previous frame of CarCloud i-1 as CarCloudA ;
[0031] Step 4.2: Locate CarCloud A and the points with the minimum X-axis coordinates and any point on the Z-axis corresponding to the minimum points in the 3 frames of point cloud before and after it. Fit all the points using the RANSAC algorithm to obtain a plane β, and calculate the angle θ between the plane β and the YOZ plane according to Equation (10) as the offset angle of the vehicle's motion trajectory:
[0032]
[0033] where a β , b β , c β are the parameters of the plane β;
[0034] Step 4.3: Rotate CarCloud A and CarCloud B by θ degrees around the Z-axis according to the right-hand rule, and respectively find the maximum values y A and y B corresponding to the Y-axis of CarCloud Amax and y Bmax , and calculate the velocity between the corresponding moments of the initial two frames according to Equation (11):
[0035]
[0036] where f is the lidar scanning frequency and v AB is the initial velocity;
[0037] Step 4.4: Rotate CarCloud end-1 and CarCloud end by θ degrees around the Z-axis according to the right-hand rule respectively, and respectively find the minimum values y end-1 and y end corresponding to the Y-axis of CarCloud Xmin and y Ymin , and calculate the velocity between the corresponding moments of the last two frames according to Equation (12):
[0038]
[0039] Step 4.5: Calculate the acceleration acc from CarCloud A to CarCloud end according to Equation (13):
[0040]
[0041] where Y is CarCloudend The corresponding number of frames, where B is CarCloud B The corresponding number of frames;
[0042] Step 4.6: Define and initialize an output point cloud Output = CarCloud B , define and initialize a current point cloud CarCloud n = CarCloud B , define and initialize the vehicle speed v corresponding to the current point cloud as v = v AB ;
[0043] Step 4.7: Calculate the time t taken for the vehicle to move a distance s from the current point cloud according to Equation (14);
[0044]
[0045] Step 4.8: Set the number of frames of the next point cloud to be registered as The time interval between two frames CarCloud n' The corresponding vehicle speed is v' = v + acc·t', and the actual moving distance between two frames Add dis to the y value of all points in Output and merge it with CarCloud rotated θ degrees around the Z axis according to the right - hand rule n' and record the merged point cloud as the new Output, update v = v', n = n';
[0046] Step 4.9: Calculate F n The number of points points within the range of y min < y < y min + h in the point cloud. If points << p max , then execute Step 4.7; if points ≈ p max , then the current Output is the complete vehicle point cloud, where p max is a pre - set threshold for the absence of vehicle point cloud; Step 5: Traverse all points in Output to find the maximum value x right 、minimum value x left in the X - axis direction, the maximum value y front 、minimum value y rear in the Y - axis direction, and the maximum value z top in the Z - axis direction; Traverse the points in any ground point cloud PlaneCloud i to obtain the average value of its Z - axis coordinates as the average ground height z ground , and calculate the vehicle outline dimensions according to Equation (15):
[0047]
[0048] Where length is the length of the vehicle, width is the width of the vehicle, and height is the height of the vehicle.
[0049] The design ideas of the present invention are as follows:
[0050] The present invention first uses a single 3D laser radar to collect all point cloud data during the vehicle's driving process, and extracts the point cloud set of the vehicle to be measured, then calculates the acceleration of the driving vehicle through the initial velocity, final velocity and time of the vehicle in the radar scanning area, and calculates the displacement of the vehicle point cloud based on this, thereby splicing multiple frames of vehicle point clouds to obtain a complete point cloud of the vehicle, and measuring it to obtain the outer dimensions of the driving vehicle.
[0051] Compared with the existing vehicle outline dimension measurement technology, the above method has the following beneficial effects:
[0052] 1) Low complexity. The present invention uses only a single laser radar, does not use additional sensors, does not require data fusion, calibration and other operations, reduces system complexity, improves performance, and is easy to maintain;
[0053] 2) Low cost. The hardware cost of the present invention is mainly the cost of a single laser radar. Compared with the technical solution of multiple laser radars, it is more suitable for large-scale investment and use;
[0054] 3) High efficiency: The measurement method adopted by the present invention does not require the vehicle to be stationary and does not require manual intervention during the measurement process, thereby saving the time of the vehicle decelerating from a driving state to a stationary state and then resuming the driving state, and the efficiency is improved;
[0055] 4) High precision: The present invention automatically corrects the angle error caused by manual installation of the radar, the error caused by vibration when the vehicle passes by, and the track deviation caused during driving, and adds a step of eliminating outliers to reduce errors and improve precision;
[0056] 5) Multiple scenarios: The present invention uses a cyclic point cloud registration method to stitch vehicle point clouds, which is suitable for a variety of vehicle models of different sizes, such as sedans, commercial vehicles, buses, trucks, etc., and has less restriction on vehicle speed. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 A schematic diagram of the installation of a laser radar according to an embodiment of the invention;
[0058] Figure 2 The point cloud image after the coordinate transformation in step 2.1 and the through filtering in step 2.2 of the present invention;
[0059] Figure 3This is the point cloud image after the ground fitting, vehicle point cloud segmentation, and error reduction in step 3 of the present invention;
[0060] Figure 4 This is the algorithm flowchart for multi-frame point cloud stitching in step 4 of the present invention;
[0061] Figure 5 This is the schematic diagram for calculating the trajectory deviation angle in step 4.2 of the present invention;
[0062] Figure 6 This is the schematic diagram for calculating multi-frame point cloud stitching in step 4.8 of the present invention;
[0063] Figure 7 This is the schematic diagram for the judgment method of whether to continue stitching in step 4.9 of the present invention;
[0064] Figure 8 This is the complete point cloud result diagram of the invention embodiment. Specific Embodiment
[0065] The following combines with embodiments to elaborate in detail the specific implementation manner of the vehicle outline dimension measurement method based on a single lidar of the present invention. In this embodiment, the outline dimensions of a commercial vehicle are measured, and the length unit in the embodiment is meters (m). The specific steps are as follows:
[0066] Step 1: Install a 3D lidar and obtain the point cloud data generated by it. The specific steps are as follows:
[0067] Step 1.1: Stably install a 3D lidar with a scanning frequency of f in the height range of 4.5 meters to 5.5 meters directly above the lane. In this embodiment, the lidar scanning frequency f = 20Hz, and the height is selected as 5.0 meters. During installation, the tilt angle α of the lidar needs to be adjusted to between 35° and 55°. In this embodiment, α = 45° is selected, and it is fixed in a downward-slanting posture, and it is ensured that the detection direction of the lidar is directly facing the path where the vehicle approaches. The lidar installation schematic diagram of this embodiment is as Figure 1 shown;
[0068] Step 1.2: Obtain each frame of point cloud and save it;
[0069] Step 2: Extract the point cloud set Cloud = {F i |i = start, start + 1,..., end} during the period when the vehicle to be measured enters and exits the lidar scanning area, where F i represents the i-th frame of point cloud, start represents the frame number of the point cloud corresponding to when the vehicle enters the lidar scanning area, and end represents the frame number of the point cloud corresponding to when the vehicle exits the lidar scanning area. The specific steps are as follows:
[0070] Step 2.1: Perform coordinate transformation on each frame of point cloud obtained in step 1.2 according to equations (1)-(4), specifically:
[0071]
[0072] Among them, (x0, y0, z0) is the original point cloud coordinates, (x, y, z) is the transformed point cloud coordinates, R X is the rotation matrix around the X axis, R Y is the rotation matrix around the Y axis, R Z is the rotation matrix transformed around the Z axis, α is the tilt angle of the laser radar. In this embodiment, according to the right-hand rule, it rotates around the X axis by α=45° and then rotates around the Z axis by 180°.
[0073] Step 2.2: Perform straight-through filtering on each frame of point cloud after coordinate transformation in step 2.1 according to formula (5), filter out irrelevant point clouds, and only keep the point clouds within the lane range:
[0074] P′={p j ∈P|x min ≤x j ≤x max ,y min ≤y j ≤y max ,z min ≤z j ≤z max} (5)
[0075] Among them, P is the original point cloud before filtering, (x j ,y j ,z j ) represents the jth point p in the point cloud P j The coordinates of P' are the filtered point clouds, x min and x max is the preset minimum and maximum value of the X-axis coordinate, y min and max is the preset minimum and maximum value of the Y-axis coordinate, z min and z max is the preset minimum and maximum value of the Z-axis coordinate. In this embodiment, x min =-2.400, x max =3.100,y min =-8.780,y max =1.562, z min =-5.160, z max =4.498, the point cloud image after coordinate transformation and straight-through filtering is as follows Figure 2 As shown;
[0076] Step 2.3: Fit the plane aX+bY+cZ+d=0 for each frame of point cloud after the straight-through filtering in step 2.2, where a, b, c, and d are parameters in the plane equation. In this embodiment, a=-0.009, b=0.007, c=1.000, and d=5.100. Take this plane as the ground, traverse each frame of point cloud in chronological order, and determine whether there is a point in the point cloud that satisfies the conditions shown in equation (6). If there is a point, record the frame of point cloud as F start , in this embodiment, start = 0;
[0077]
[0078] Step 2.4: For each frame of point cloud after the direct filtering in step 2.2, traverse each frame of point cloud in reverse chronological order to determine whether there is a point in the point cloud that satisfies the conditions shown in equation (6). If there is a point, record the frame of point cloud as F end , in this embodiment, end=22;
[0079] Step 2.5: F start To F end Perform SOR statistical filtering on all point clouds between the two points to remove outliers;
[0080] Step 3: For the Cloud obtained in step 2, i |i=start,start+1,…,end} to further accurately fit the ground and obtain the vehicle point cloud. The specific steps are as follows:
[0081] Step 3.1: F i The points that satisfy the conditions shown in formula (7) are extracted and recorded as EstimatedPlane i , for EstimatedPlane i Further fitting is performed to obtain the plane γ i The ground used in subsequent calculations will belong to plane γ i The points are extracted and recorded as point cloud PlaneCloud i ;
[0082]
[0083] Step 3.2: Use the spatial data structure octree to represent F i and PlaneCloud i , compare the difference between the two point clouds, the difference is the value from F i The vehicle point cloud extracted from i ;
[0084] Step 3.3: Calculate the plane γ according to equations (8) and (9) respectivelyi The included angle δ with the X-axis xi and the included angle δ with the Y-axis yi :
[0085]
[0086] where a i , b i , c i , d i are the parameters of the plane γ i . If the two included angles are not 0, then rotate the coordinates of all points in the vehicle point cloud CarCloud i around the X-axis by δ yi degrees and around the Y-axis by -δ xi degrees according to the right-hand rule. In this embodiment, after fitting, segmentation and error reduction, the obtained point cloud is as Figure 3 shown;
[0087] Step 4: Perform multi-frame point cloud stitching on the vehicle point cloud data obtained in Step 3 to obtain the complete point cloud of the vehicle. The algorithm flowchart of multi-frame point cloud stitching is as Figure 4 shown. Perform the following steps according to this flowchart:
[0088] Step 4.1: Access CarCloud i in chronological order. In each CarCloud i , mark the position with the maximum Y-axis coordinate as the vehicle head. Find the CarCloud max closest to the vehicle head in the y i direction, denoted as CarCloud B . And denote the point cloud of the previous frame of CarCloud B as CarCloud i-1 , denoted as CarCloud A . In this embodiment, A = 10, B = 11;
[0089] Step 4.2: Find the point with the minimum X-axis coordinate and any point on the Z-axis corresponding to the minimum point among CarCloud A and its three frames of point clouds before and after. Fit all these points using the RANSAC algorithm to obtain a plane β. Calculate the included angle θ between the plane β and the YOZ plane according to Equation (10) as the offset angle of the vehicle motion trajectory:
[0090]
[0091] where a β , b β , c β are the parameters of the plane β, and its calculation method is asFigure 5 As shown, in this embodiment, θ = 0.045°;
[0092] Step 4.3: Rotate CarCloud A and CarCloud B by θ degrees around the Z-axis according to the right-hand rule, and respectively find the maximum value y A and y B of the corresponding Y-axis of CarCloud Amax and y Bmax , and calculate the velocity between the corresponding moments of the initial two frames according to Equation (11):
[0093]
[0094] where f is the lidar scanning frequency, v AB is the initial velocity. In this embodiment, y Amax = -2.126m, y Bmax = -1.628m, v AB = 9.976m / s;
[0095] Step 4.4: Rotate CarCloud end-1 and CarCloud end by θ degrees around the Z-axis according to the right-hand rule respectively, and respectively find the minimum value y end-1 and y end of the corresponding Y-axis of CarCloud Xmin and y Ymin , and calculate the velocity between the corresponding moments of the last two frames according to Equation (12):
[0096]
[0097] In this embodiment, y Xmin = -3.357m / s, y Ymin = -2.867m / s, v XY = 9.800m / s;
[0098] Step 4.5: Calculate the acceleration acc from CarCloud A to CarCloud end according to Equation (13):
[0099]
[0100] where Y is the corresponding frame number of CarCloud end , B is the corresponding frame number of CarCloud B , and in this embodiment, acc = -0.440m / s2 ;
[0101] Step 4.6: Define and initialize an output point cloud Output = CarCloud B , define and initialize a current point cloud CarCloud n = CarCloud B , define and initialize the vehicle speed v corresponding to the current point cloud = v AB , in this embodiment, v = 9.976 m / s;
[0102] Step 4.7: Calculate the time t taken for the vehicle to move a distance s from the current point cloud according to Equation (14);
[0103]
[0104] In this embodiment, let s = 2.5 m, then t = 0.252 s;
[0105] Step 4.8: Set the number of frames of the next point cloud to be registered as the time interval between two frames CarCloud n' The corresponding vehicle speed is v' = v + acc·t', and the actual moving distance between two frames Add dis to the y value of all points in Output and merge it with CarCloud rotated by θ degrees around the Z axis according to the right - hand rule n' and record the merged point cloud as the new Output, update v = v', n = n', and the calculation schematic diagram of multi - frame point cloud stitching is as Figure 6 shown. In this embodiment, n' = 16, t' = 0.25 s, v' = 9.866 m / s, dis = 2.480 m;
[0106] Step 4.9: Calculate F n the number of points points within the range of y min < y < y min + h in the point cloud. If points << p max , then execute Step 4.7; if points ≈ p max , then the current Output is the stitched - complete vehicle point cloud, where p max is a pre - set threshold for the absence of vehicle point cloud. In this embodiment, h = - 7.0 m, points = 1489, p max = 1507, and the judgment method for whether to stitch the next frame is as Figure 7 shown. In this embodiment, points ≈ p max , after stitching one frame, the scanning is complete, and the complete vehicle point cloud is as Figure 8 shown;
[0107] Step 5: Traverse all points in Output and find the maximum value x in the X-axis direction right , minimum value x left , the maximum value y in the Y-axis direction front , minimum value y rear , maximum value z in the Z-axis direction top ; Traverse any ground point cloud PlaneCloud i The point in the middle obtains its Z-axis coordinate mean as the average ground height z ground , the vehicle outer dimensions are calculated according to formula (15):
[0108]
[0109] Where length is the length of the vehicle, width is the width of the vehicle, and height is the height of the vehicle. In this embodiment, x right =1.843,x left =-0.292,y front =0.853,y rear =-4.453, z top =-3.320, z ground =-5.100, based on which the length is calculated to be 5.306m, with an error of 0.76%; the width is 2.135m; and the height is 1.78m, with an error of 0.45%.
[0110] The contents described in the embodiments of this specification are merely an enumeration of implementation forms of the inventive concept. The protection scope of the present invention should not be regarded as limited to the specific forms described in the embodiments. The protection scope of the present invention also extends to equivalent technical means that can be conceived by those skilled in the art based on the inventive concept.
Claims
1. A method for measuring the outer dimensions of a moving vehicle based on a single laser radar, characterized in that: The steps include: Step 1: Install the 3D laser radar and obtain the point cloud data it generates; Step 2: Extract the point cloud set Cloud = {F i |i=start,start+1,…,end}, where F i represents the i-th frame of point cloud, start represents the point cloud frame number corresponding to when the vehicle enters the laser radar scanning area, and end represents the point cloud frame number corresponding to when the vehicle exits the laser radar scanning area; Step 3: For the Cloud obtained in step 2, i |i=start,start+1,…,end} further fit the ground and obtain vehicle point cloud data; Step 4: Perform multi-frame point cloud stitching on the vehicle point cloud data obtained in step 3 to obtain the complete point cloud Output of the vehicle; Step 5: Traverse all points in Output and find the maximum value x in the X-axis direction right , minimum value x left , the maximum value y in the Y-axis direction front , minimum value y rear , maximum value z in the Z-axis direction top ; Traverse any ground point cloud PlaneCloud i Get the mean Z-axis coordinate of the points in the ground , the vehicle's outer dimensions are calculated according to the following formula: Where length is the length of the vehicle, width is the width of the vehicle, and height is the height of the vehicle.
2. The method for measuring the outer dimensions of a moving vehicle based on a single laser radar according to claim 1, characterized in that: The specific steps of step 1 are as follows: Step 1.1: Install the 3D laser radar with a scanning frequency of f firmly at a height of 4.5 to 5.5 meters above the lane. During installation, adjust the laser radar's tilt angle α to between 35 and 55 degrees, fix it in a downward tilted posture, and ensure that the laser radar's detection direction faces the path of the approaching vehicle; Step 1.2: Get the point cloud of each frame and save it.
3. The method for measuring the outer dimensions of a moving vehicle based on a single laser radar according to claim 1, characterized in that: The specific steps of step 2 are as follows: Step 2.1: Perform coordinate transformation on each frame of point cloud obtained in step 1.2 according to equations (1)-(4), specifically: Among them, (x0, y0, z0) is the original point cloud coordinates, (x, y, z) is the transformed point cloud coordinates, R X is the rotation matrix around the X axis, R Y is the rotation matrix around the Y axis, R Z is the rotation matrix transformed around the Z axis, α is the tilt angle of the laser radar; Step 2.2: Perform straight-through filtering on each frame of point cloud after coordinate transformation in step 2.1 according to formula (5), filter out irrelevant point clouds, and retain point clouds within the lane range: P′={p j ∈P|x min ≤x j ≤x max ,y min ≤y j ≤y max ,z min ≤z j ≤z max } (5) Among them, P is the original point cloud before filtering, (x j ,y j ,z j ) represents the jth point p in the point cloud P j The coordinates of P' are the filtered point clouds, x min and x max is the preset minimum and maximum value of the X-axis coordinate, y min and max is the preset minimum and maximum value of the Y-axis coordinate, z min and z max The minimum and maximum values of the Z-axis coordinates are preset; Step 2.3: Fit the plane aX+bY+cZ+d=0 for each frame of point cloud after the straight-through filtering in step 2.2, where a, b, c, and d are the parameters in the plane equation. Take this plane as the ground, traverse each frame of point cloud in chronological order, and determine whether there is a point in the point cloud that satisfies the conditions shown in equation (6). If there is a point, record the frame of point cloud as F start ; Step 2.4: For each frame of point cloud after the direct filtering in step 2.2, traverse each frame of point cloud in reverse chronological order to determine whether there is a point in the point cloud that satisfies the conditions shown in equation (6). If there is a point, record the frame of point cloud as F end ; Step 2.5: F start To F end All point clouds between the two points are subjected to SOR statistical filtering to remove outliers.
4. The method for measuring the outer dimensions of a moving vehicle based on a single laser radar according to claim 1, characterized in that: The specific steps of step 3 are as follows: Step 3.1: F i The points that satisfy the conditions shown in formula (7) are extracted and recorded as EstimatedPlane i , for EstimatedPlane i Further fitting is performed to obtain the plane γ i The ground used in subsequent calculations will belong to plane γ i The points are extracted and recorded as point cloud PlaneCloud i ; Step 3.2: Use the spatial data structure octree to represent F i and PlaneCloud i , compare the difference between the two point clouds, the difference is the value from F i The vehicle point cloud extracted from i ; Step 3.3: Calculate the plane γ according to equations (8) and (9) respectively i Angle δ with the X axis xi The angle δ between the sum and the Y axis yi : Among them, a i ,b i ,c i ,d i For plane γ i If the two angles are not 0, the vehicle point cloud CarCloud i The coordinates of all points in the equation are rotated by δ around the X axis according to the right-hand rule. yi Degrees, rotate -δ around the Y axis xi Spend.
5. The method for measuring the outer dimensions of a moving vehicle based on a single laser radar according to claim 1, characterized in that: The specific steps of step 4 are as follows: Step 4.1: Access CarCloud in chronological order i , each CarCloud i Find the maximum value of the Y-axis coordinate in the max The closest CarCloud i , denoted as CarCloud B , and CarCloud B Point cloud CarCloud of the previous frame i-1 CarCloud A ; Step 4.2: Find CarCloud A The minimum coordinate point in the X-axis direction of the point cloud of the three frames before and after and any point in the Z-axis direction corresponding to the minimum point are fitted to all points using the RANSAC algorithm to obtain a plane β. The angle θ between the plane β and the YOZ plane is calculated according to formula (10) as the offset angle of the vehicle motion trajectory: Among them, a β ,b β ,c β is the parameter of plane β; Step 4.3: CarCloud A and CarCloud B According to the right-hand rule, rotate θ degrees around the Z axis and find CarCloud A and CarCloud B The corresponding Y-axis maximum value y Amax and Bmax , according to formula (11), the speed between the corresponding moments of the initial two frames is obtained: Where f is the laser radar scanning frequency, v AB is the initial velocity; Step 4.4: Install CarCloud end-1 and CarCloud end Rotate the Z axis by θ degrees according to the right-hand rule and find CarCloud end-1 and CarCloud end The corresponding Y-axis minimum value y Xmin and Ymin , according to formula (12), the speed between the corresponding moments of the last two frames is obtained: Step 4.5: Calculate from CarCloud according to formula (13) A To CarCloud end The acceleration acc between: Among them, Y is CarCloud end The corresponding frame number of B is CarCloud B The corresponding frame number; Step 4.6: Define and initialize an output point cloud Output = CarCloud B , define and initialize a current point cloud CarCloud n =CarCloud B , define and initialize the vehicle speed v=v corresponding to the current point cloud AB ; Step 4.7: Calculate the time t taken by the vehicle to move a distance s from the current point cloud according to equation (14); Step 4.8: Set the number of next point cloud frames to be registered to Interval between two frames CarCloud n' The corresponding vehicle speed is v′=v+acc·t′, and the actual moving distance between the two frames is Add dis to the y value of all points in Output and rotate CarCloud by θ degrees around the Z axis according to the right-hand rule. n' Merge and record the merged point cloud as the new Output, update v = v', n = n'; Step 4.9: Calculate F n Point cloud min <y<y min +h points in the range points, if points<<p max , then execute step 4.7; if points≈p max , then the current Output is the complete vehicle point cloud, where p max is a pre-set threshold for the absence of vehicle point clouds.
Citation Information
Patent Citations
Laser radar type vehicle width measuring method based on multi-frame matching
CN109738906A
Method for measuring external contour parameters of head integrated semitrailer based on laser radar
CN110412601A
Truck outer contour dimension measurement method based on unmanned aerial vehicle laser radar
CN115291239A
Vehicle size measurement method of multi-wire-harness laser radar
CN115876098A
Vehicle contour detection method and system based on laser radar
CN119334256A