Method, apparatus, movable platform and storage medium for processing radar point cloud data
By acquiring point cloud data of the radar in different postures, and using the estimated angle range and sampling range to calculate the matching degree, the complexity of lidar posture calculation is solved, and more efficient and accurate posture adjustment is achieved to ensure that the radar can accurately build maps in unknown environments.
Patent Information
- Application Number
- CN202210844747.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-18
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2042-07-18
AI Technical Summary
The existing lidar position calculation is relatively complex, with low processing efficiency and accuracy, making it difficult to accurately build maps in unknown environments.
By acquiring point cloud data of the radar in different postures, determining the initial evaluation value using the estimated angle range and sampling range, calculating the matching degree to obtain the final angle and displacement vector, and then adjusting the radar posture.
It improves the accuracy and efficiency of radar attitude calculation to ensure that the radar can accurately build maps in unknown environments.
Smart Images

Figure CN115421133B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of electronic technologies, and more particularly, to a method for processing radar point cloud data, a data processing device, a mobile platform, and a non-volatile computer-readable storage medium. Background Art
[0002] In recent years, lidar technology has played an important role in positioning in unknown environments, especially in scenarios where technologies such as GPS that rely on external environments to provide positioning assistance cannot be used. A lidar can move in an environment without positioning and build a map. Generally, for a lidar to build a map, it is necessary to determine the pose of the lidar based on point cloud maps obtained at different poses of the lidar. Currently, the pose calculation of lidars is relatively complex, and the processing efficiency and accuracy are low. Summary of the Invention
[0003] Embodiments of the present application provide a method for processing radar point cloud data, a data processing device, a mobile platform, and a non-volatile computer-readable storage medium.
[0004] The data processing method according to the embodiments of the present application includes: acquiring a first point cloud and a second point cloud collected by the radar at different poses; acquiring an estimated angle range and a first sampling range, and determining a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range, where the estimated angle range is an estimated range of the angle change between the first point cloud and the second point cloud, and the first sampling range is the angular distribution range of the point clouds in the first point cloud and the second point cloud; obtaining a plurality of matching degrees according to the plurality of initial evaluation values, where the matching degree represents the angular matching relationship between the first point cloud and the second point cloud; obtaining a final angle according to the plurality of matching degrees; and obtaining a final evaluation value of the final angle, and obtaining a displacement vector according to the final evaluation value, where the final evaluation value represents the distance relationship between the points in the first point cloud corresponding to the final angle and the points in the second point cloud; and positioning the radar according to the final angle and the displacement vector and / or controlling the radar to adjust its pose.
[0005] The data processing device according to the embodiment of the present application includes: a first acquisition module, configured to acquire a first point cloud and a second point cloud, where the first point cloud and the second point cloud respectively correspond to different poses of the radar; a second acquisition module, configured to acquire an estimated angle range and a first sampling range, and determine a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range, where the estimated angle range is an estimated range of the angle change between the first point cloud and the second point cloud, and the first sampling range is the angle range of the coordinate points in the first point cloud and the second point cloud, and the initial evaluation value characterizes the distance relationship and the angle relationship between the coordinate points in the first point cloud and the second point cloud; a matching module, configured to obtain a plurality of matching degrees according to the plurality of initial evaluation values, where the matching degree characterizes the angle matching relationship between the first point cloud and the second point cloud; a calculation module, configured to obtain a final angle according to the plurality of matching degrees; and obtain a final evaluation value of the final angle, and obtain a displacement vector according to the final evaluation value, where the final evaluation value characterizes the distance relationship between the point in the first point cloud corresponding to the final angle and the point in the second point cloud; and a processing module, configured to perform positioning on the radar according to the final angle and the displacement vector and / or control the radar to adjust its pose.
[0006] The movable platform according to the embodiment of the present application includes: a radar, one or more processors, a memory, and one or more programs. The one or more programs are stored in the memory and executed by the one or more processors, and the programs include instructions for performing: acquiring a first point cloud and a second point cloud, where the first point cloud and the second point cloud respectively correspond to different poses of the radar; acquiring an estimated angle range and a first sampling range, and determining a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range, where the estimated angle range is an estimated range of the angle change between the first point cloud and the second point cloud, and the first sampling range is the angle distribution range of the point cloud in the first point cloud and the second point cloud; obtaining a plurality of matching degrees according to the plurality of initial evaluation values, where the matching degree characterizes the angle matching relationship between the first point cloud and the second point cloud; obtaining a final angle according to the plurality of matching degrees; and obtaining a final evaluation value of the final angle, and obtaining a displacement vector according to the final evaluation value; instructions for any one of the data processing methods described above.
[0007] The non - volatile computer - readable storage medium of the embodiment of the present application contains a computer program. When the computer program is executed by one or more processors, one or more of the processors implement the following data method: obtaining a first point cloud and a second point cloud, where the first point cloud and the second point cloud respectively correspond to different poses of the radar; obtaining an estimated angle range and a first sampling range, and determining a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range, where the estimated angle range is the estimated range of the angle change between the first point cloud and the second point cloud, and the first sampling range is the angular distribution range of the point clouds in the first point cloud and the second point cloud; obtaining a plurality of matching degrees according to the plurality of initial evaluation values, where the matching degree characterizes the angular matching relationship between the first point cloud and the second point cloud; obtaining a final angle according to the plurality of matching degrees; and obtaining a final evaluation value of the final angle, and obtaining a displacement vector according to the final evaluation value.
[0008] The data - processing method, data - processing device, movable platform, and non - volatile computer - readable storage medium of the embodiment of the present application can more accurately obtain the final angle and the displacement vector to accurately determine the pose of the radar.
[0009] Additional aspects and advantages of the embodiments of the present application will be given in part in the following description, become apparent in part from the following description, or be learned through the practice of the embodiments of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The above - mentioned and / or additional aspects and advantages of the present application will become apparent and be readily understood from the description of the embodiments in conjunction with the following drawings, in which:
[0011] Figure 1 is a schematic flowchart of the data - processing method of some embodiments of the present application;
[0012] Figure 2 is a schematic structural diagram of a movable platform of some embodiments of the present application;
[0013] Figure 3 is a schematic structural diagram of a data - processing device of some embodiments of the present application;
[0014] Figure 4 is a schematic diagram of an application scenario of the data - processing method of some embodiments of the present application;
[0015] Figure 5 is a schematic flowchart of the data - processing method of some embodiments of the present application;
[0016] Figure 6 is a schematic flowchart of the data - processing method of some embodiments of the present application;
[0017] Figure 7 It is a schematic flowchart of the data processing method in some embodiments of the present application;
[0018] Figure 8 It is a schematic flowchart of the data processing method in some embodiments of the present application;
[0019] Figure 9 It is a schematic diagram of the application scenario of the data processing method in some embodiments of the present application;
[0020] Figure 10 It is a schematic diagram of the application scenario of the data processing method in some embodiments of the present application;
[0021] Figure 11 It is a schematic flowchart of the data processing method in some embodiments of the present application;
[0022] Figure 12 It is a schematic flowchart of the data processing method in some embodiments of the present application;
[0023] Figure 13 It is a schematic flowchart of the data processing method in some embodiments of the present application;
[0024] Figure 14 It is a schematic flowchart of the data processing method in some embodiments of the present application;
[0025] Figure 15 It is a schematic diagram of the application scenario of the data processing method in some embodiments of the present application;
[0026] Figure 16 It is a schematic flowchart of the data processing method in some embodiments of the present application;
[0027] Figure 17 It is a schematic flowchart of the data processing method in some embodiments of the present application;
[0028] Figure 18 It is a schematic flowchart of the data processing method in some embodiments of the present application;
[0029] Figure 19 It is a schematic diagram of the connection state of the computer-readable storage medium and the processor in some embodiments of the present application. Detailed Embodiments
[0030] The following details the embodiments of the present application. Examples of the embodiments are shown in the accompanying drawings, where the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary only for explaining the embodiments of the present application and should not be construed as limiting the embodiments of the present application.
[0031] Visual Simultaneous Localization and Mapping (SLAM) technology is a technology that enables a movable platform 100 (such as a camera, a robot, the movable platform 100, etc.) to perceive the environment (take images or videos of the environment) and locate itself during movement. Especially in an unknown environment or an environment where navigation devices such as GPS cannot be used, applying visual SLAM technology can establish a map of the current environment based on the environmental information collected by the movable platform 100 and accurately determine the position of the movable platform 100 in the current environment (the map of the current environment).
[0032] In related technologies, a lidar 40 is applied to visual SLAM technology, and the lidar 40 is positioned and a map is established based on the point cloud maps generated by scanning the lidar 40 in different poses in the environment. An embodiment of the present application provides a method for processing lidar 40 point cloud data, which can accurately determine the pose of the lidar 40 and make the map established by the lidar 40 accurate.
[0033] Please refer to Figures 1 to 3 , an embodiment of the present application provides a method for processing lidar 40 point cloud data. The data processing method includes:
[0034] 01: Obtain a first point cloud and a second point cloud collected by the lidar 40 corresponding to two different poses.
[0035] For example, please combine Figure 4 , the lidar 40 moves in the environment, and the lidar 40 scans the environment when it is in the first pose G1 and the second pose G2, respectively generating a first point cloud map A1 and a second point cloud map A2. The first point cloud is a set of data points in the first point cloud map A1, the second point cloud is a set of data points in the second point cloud map A2, and each data point in the point cloud map is a pair of numbers representing the distance and angle measured by the lidar 40.
[0036] 02: Obtain an estimated angle range and a first sampling range, and determine a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range.
[0037] Among them, the estimated angle range is the estimated angle range of the angle change between the first point cloud and the second point cloud. For example, please combine Figure 4, the lidar 40 transforms from the first pose to the second pose, and the angle changed from the first pose to the second pose is Rr. Then, the angle change between the points of a certain stationary object scanned by the laser in the first point cloud map and its points in the second point cloud is also Rr. The estimated angle range is the estimated angle range of the angle Rr. In one embodiment, the estimated angle range can be a preset empirical value. In another embodiment, the estimated angle range can be determined according to the rotation angle of the radar 40 measured by the sensor. For example, a rough angle Rc is measured by sensors such as a compass and a gyroscope, and the estimated angle range is obtained based on the angle Rc. For example, if the error of the gyroscope is ±3° and the measured rotation angle is 30°, then the estimated angle range can be determined as [27°, 33°].
[0038] The first sampling range is the angular distribution range of the point clouds in the first point cloud and the second point cloud. For example, in the polar coordinate system, there are point cloud distributions in the range of [0°, 360°] in the first point cloud map and in the range of [0°, 360°] in the second point cloud map. Then, the range of the sampled point clouds is [0°, 360°], that is, the first sampling range is [0°, 360°]. For another example, in the polar coordinate system, there are point cloud distributions in the range of [0°, 180°] in the first point cloud map and in the range of [90°, 270°] in the second point cloud map. Then, the range of the sampled point clouds is the union of the distribution range of the first point cloud and the distribution range of the second point cloud, that is, the first sampling range is [0°, 270°].
[0039] 03: Obtain multiple matching degrees according to multiple initial evaluation values, and the matching degree characterizes the angular matching relationship between the first point cloud and the second point cloud.
[0040] Each initial evaluation value corresponds to a matching degree. Each initial evaluation value corresponds to a point in the first point cloud and a point in the second point cloud, and characterizes the distance relationship and angular relationship between the coordinate points in the first point cloud and the second point cloud. The larger the value of the matching degree, the greater the probability that the points in the first point cloud and the second point cloud corresponding to the initial evaluation value corresponding to the matching degree are the same position points in different poses. For example, the point in the first point cloud corresponding to a certain initial evaluation value C1 is a point on a stationary object, and the point in the second point cloud corresponding to it is a point on a moving object; the points in the first point cloud and the second point cloud corresponding to another initial evaluation value C2 are both points on the same stationary object. Then, the value of the matching degree S2 corresponding to the initial evaluation value C2 is greater than the value of the matching degree S1 corresponding to the initial evaluation value C1. In this way, according to the magnitude of the value of the matching degree, a pair of points in the first point cloud and the second point cloud that are likely to be the same position points in different poses can be screened out.
[0041] 04: Obtain the final angle according to multiple matching degrees.
[0042] The final angle is an angle determined based on the matching degree between the points in the first point cloud and the points in the second point cloud. For example, the rotation angle between the first point cloud and the second point cloud corresponding to the case where the matching degree between the points in the first point cloud and the points in the second point cloud is the highest can be used as the final angle. Compared with the estimated angle range, the final angle can more accurately reflect the rotation relationship between the first point cloud and the second point cloud, that is, the rotation relationship of the radar 40 from the first pose to the second pose.
[0043] 05: Obtain the final evaluation value of the final angle, and obtain the displacement vector according to the final evaluation value.
[0044] In one embodiment, each matching degree corresponds to an initial evaluation value. If the final angle is an angle obtained according to the matching degree, the initial evaluation value corresponding to the final angle is the final evaluation value. The final evaluation value characterizes the distance relationship between the points in the first point cloud and the points in the second point cloud corresponding to the final angle. If the final angle can accurately reflect the rotation relationship of the radar 40 from the first pose to the second pose, then correspondingly, the final evaluation value can accurately reflect the displacement vector of the radar 40 from the first pose to the second pose.
[0045] 09: Locate the radar according to the final angle and the displacement vector and / or control the radar to adjust its pose.
[0046] The final angle and the displacement vector can describe the pose of the radar 40. The pose of the radar 40 can characterize the relative position of the radar 40 in the current environment (the map of the current environment). Thus, the position of the radar 40 in the current environment (the map of the current environment) can be determined according to the pose of the radar 40, realizing the positioning of the radar 40.
[0047] After determining the pose of the radar 40 according to the final angle and the displacement vector, the pose of the radar 40 can be controlled according to the calculated pose to adjust the pose of the radar 40 to continue collecting environmental information.
[0048] For example, please refer to Figure 2 , the radar 40 is arranged on the movable platform 100. The movable platform 100 includes a processor 30, and the processor 30 is used to execute the data processing methods in the above 01, 02, 03, 04, 05 and 09. After the processor 30 obtains the final angle and the displacement vector, the current pose of the radar 40 can be calculated according to the final angle and the displacement vector to control the movable platform 100 to perform translational or rotational motion, so that the pose of the radar 40 changes, thereby realizing the control of the radar 40 to adjust its pose.
[0049] Please refer to Figure 2 , the embodiment of the present application further provides a movable platform 100. The movable platform 100 includes a radar 40, one or more processors 30, a memory 20 and one or more programs.
[0050] Among them, the movable platform 100 can be devices such as an unmanned aerial vehicle, an unmanned vehicle, an unmanned ship, an intelligent robot, etc. The movable platform 100 can move and rotate in the scene.
[0051] In one embodiment, the movable platform 100 includes a movable platform body 60, and the radar 40 is disposed on the movable platform body 60, including being detachably mounted on the movable platform body 60 or fixedly mounted on the movable platform body 60, without limitation here.
[0052] In one embodiment, the radar 40 is a lidar, which is used to project laser light towards an object in the scene and receive the laser light reflected by the object to obtain the distance between the radar 40 and the object. For example, the distance between the radar 40 and the object is obtained according to the principle of triangulation ranging or the principle of TOF ranging, without limitation here.
[0053] In one embodiment, a light receiver 50 is provided on the radar 40 or the movable platform body 60, which is used to receive the laser light reflected by the object and generate a corresponding electrical signal. The processor 30 generates a point cloud map according to the electrical signal, and each laser pulse hitting the object corresponds to a point in the point cloud map.
[0054] One or more programs are stored in the memory 20 and are executed by one or more processors 30. The programs include instructions for executing the above data processing methods 01, 02, 03, 04, and 05. The processor 30 can be used to execute the methods in the above 01, 02, 03, 04, 05, and 09.
[0055] Please refer to Figure 3 , the embodiment of the present application further provides a data processing device 10, and the data processing device 10 can be applied to the movable platform 100. The data processing device 10 includes a first acquisition module 11, a second acquisition module 12, a matching module 13, a calculation module 14, and a processing module 15. The first acquisition module 11 can be used to execute the method in 01. The second acquisition module 12 can be used to execute the method in 02. The matching module 13 can be used to execute the method in 03. The calculation module 14 can be used to execute the methods in 04 and 05. The processing module 15 can be used to execute the method in 09.
[0056] That is, the first acquisition module 11 can be used to acquire a first point cloud and a second point cloud collected by the radar 40 at two different poses. The second acquisition module 12 can be used to acquire an estimated angle range and a first sampling range, and determine a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range. The estimated angle range is the estimated angle range of the angle change between the first point cloud and the second point cloud, and the first sampling range is the angle range of the coordinate points in the first point cloud and the second point cloud. The initial evaluation value characterizes the distance relationship and the angle relationship of the coordinate points in the first point cloud and the second point cloud. The matching module 13 can be used to obtain a plurality of matching degrees according to the plurality of initial evaluation values, and the matching degree characterizes the angle matching relationship between the first point cloud and the second point cloud. The calculation module 14 can be used to obtain a final angle according to the plurality of matching degrees; and obtain a final evaluation value of the final angle, and obtain a displacement vector according to the final evaluation value. The processing module 15 can be used to position the radar according to the final angle and the displacement vector and / or control the radar to adjust its pose.
[0057] In summary, the data processing method, the data processing device, and the movable platform 100 according to the embodiments of the present application can determine the first sampling range by using the first point cloud and the second point cloud collected by the radar 40, and obtain the initial evaluation value in combination with the preset estimated angle range. The initial evaluation value is used to evaluate the matching degree between the points in the first point cloud and the points in the second point cloud, so as to obtain the final angle according to the matching degree between the points in the first point cloud and the points in the second point cloud, and determine the displacement vector according to the final angle. In this way, the final angle can be obtained based on the matching degree between the points in the first point cloud and the points in the second point cloud, so as to more accurately obtain the final angle and the displacement vector, and accurately determine the pose of the radar 40. Furthermore, by obtaining the initial evaluation value through the preset estimated angle range, the matching range between the first point cloud and the second point cloud can be reduced, so as to improve the efficiency of calculating the final angle, and thus improve the efficiency of calculating the pose of the radar 40.
[0058] The following is a further description with reference to the drawings.
[0059] Please refer to Figure 5 , in some embodiments, 01: Obtaining the first point cloud and the second point cloud includes:
[0060] 011: Obtain the coordinate points of the first point cloud and the second point cloud in the polar coordinate system.
[0061] Please refer to Figure 2 , in some embodiments, the program further includes instructions for executing 011 of the above data processing method. The processor 30 can also be used to execute the method in 011.
[0062] Please refer to Figure 3, in some embodiments, the first acquisition module 11 can also be used to execute the method in 011. That is, the first acquisition module 11 can also be used to: acquire the coordinate points of the first point cloud and the second point cloud in the polar coordinate system.
[0063] Each point in the point cloud can be represented in the form of a coordinate point, describing a position in the environment. The points in the point cloud are represented as pairs of numbers composed of an angle and a distance in the polar coordinate system, that is, the point cloud is a set of pairs of numbers composed of an angle and a distance. Among them, the center of the polar coordinate system is the center of the radar 40, the distance is the distance measured by the radar 40, and the angle is the angle at which the radar 40 projects the laser, so that the original data of the radar 40 can be directly used for point cloud data processing without a large number of trigonometric function calculation processes, the angle and the distance are decoupled, and even floating-point numbers can be not used in the specific implementation process, greatly improving the computer processing speed.
[0064] Please refer to Figure 6 , in some embodiments, 02: acquire the estimated angle range and the first sampling range, and determine a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range, including:
[0065] 021: determine the initial evaluation value corresponding to the first sampling angle according to the first point cloud, the second point cloud, the estimated angle range, and a first sampling angle within the first sampling range; and
[0066] 022: determine the initial evaluation value corresponding to each first sampling angle in the first sampling range to obtain a plurality of initial evaluation values.
[0067] Please refer to Figure 2 , in some embodiments, the program further includes instructions for executing the above data processing methods 021 and 022. The processor 30 can also be used to execute the methods in 021 and 022.
[0068] Please refer to Figure 3 , in some embodiments, the second acquisition module 12 can also be used to execute the methods in 021 and 022. That is, the second acquisition module 12 can also be used to: determine the initial evaluation value corresponding to the first sampling angle according to the first point cloud, the second point cloud, the estimated angle range, and a first sampling angle within the first sampling range; and determine the initial evaluation value corresponding to each first sampling angle in the first sampling range to obtain a plurality of initial evaluation values.
[0069] In some embodiments, a plurality of first sampling angles are obtained by dividing the first sampling range according to a preset precision. The preset precision can be determined according to the resolution of the optical receiver 50. For example, if the minimum resolution of the optical receiver 50 is 1°, and the first sampling range is [0°, 360°], then 360 first sampling angles can be determined within the first sampling range, and the angular difference between adjacent first sampling angles is 1°.
[0070] In some embodiments, the initial evaluation value is related to the points in the first point cloud and the second point cloud, and can evaluate the matching degree of the points in the first point cloud and the points in the second point cloud. In the polar coordinate system, the rotation relationship of the point cloud is only related to the angle of the coordinate point and has nothing to do with the distance of the coordinate point. Therefore, the matching degree of the points in the first point cloud and the second point cloud can be described by the angle parameter between the coordinate points in the first point cloud and the coordinate points in the second point cloud. If the actual rotation angle from the first point cloud to the second point cloud is Rs, then the angle of the coordinate point with an angle of x in the first point cloud corresponding to the coordinate point in the second point cloud is x + RS. In the data processing method of the embodiment of the present application, in the case where the actual rotation angle Rs is not determined, the initial evaluation value is obtained by using the estimated angle range, so as to determine the angle closest to the actual rotation angle Rs in the estimated angle range according to the initial evaluation value, thereby obtaining a more accurate rotation angle based on the rotation angle of the radar 40 measured by the sensor or estimated by the empirical value.
[0071] For example, the radar 40 changes from the first pose to the second pose, the sensor collects the angle changed when the radar 40 changes from the first pose to the second pose, and the processor obtains the estimated angle range Rg according to this angle. The angle within the estimated angle range is r, and the first sampling angle is x. If the angle r within the estimated angle range is accurate, then the angle of the coordinate point with an angle of x in the first point cloud corresponding to the coordinate point in the second point cloud is x + r, and the initial evaluation value corresponding to this set of matching coordinate points is M(x, r). Among them, the value of x can be any value within the first sampling range, and the value of r can be any value within the estimated angle range Rg.
[0072] In methods 021 and 022, when the value of a first sampling angle x is determined, multiple initial evaluation values are determined according to different angles r, and then the value of the first sampling angle x is changed to determine the multiple initial evaluation values corresponding to each first sampling angle x within the first sampling range, so as to obtain the initial evaluation values corresponding to the combination of each first sampling angle x and each angle r within the estimated angle range. In another embodiment, it may also be to first fix the value of the angle r within the estimated angle range, determine multiple initial evaluation values according to different first sampling angles x when the value of an angle r is determined, and then change the value of the angle r to determine the multiple initial evaluation values corresponding to each angle r within the estimated angle range, which is not limited here.
[0073] Please refer to Figure 7 , in some embodiments, 021: determining the initial evaluation value corresponding to the first sampling angle according to the first point cloud, the second point cloud, the estimated angle range, and a first sampling angle within the first sampling range includes:
[0074] 0211: Select an estimated angle within the estimated angle range;
[0075] 0212: Determine a first coordinate point corresponding to the first sampling angle in the first point cloud according to the estimated angle and the first sampling angle, and determine a second coordinate point corresponding to the first coordinate point in the second point cloud. The angle value of the first coordinate point is the sum of the first sampling angle and the estimated angle, and the angle value of the second coordinate point is the first sampling angle; and
[0076] 0213: Obtain an initial evaluation value corresponding to the first sampling angle according to the first coordinate point and the second coordinate point.
[0077] Please refer to Figure 2 , in some embodiments, the program further includes instructions for executing the above data processing methods 0211, 0212, and 0213. The processor 30 can also be used to execute the methods in 0211, 0212, and 0213.
[0078] Please refer to Figure 3 , in some embodiments, the second acquisition module 12 can also be used to execute the methods in 0211, 0212, and 0213. That is, the second acquisition module 12 can also be used to: select an estimated angle within the estimated angle range; determine a first coordinate point corresponding to the first sampling angle in the first point cloud according to the estimated angle and the first sampling angle, and determine a second coordinate point corresponding to the first coordinate point in the second point cloud. The angle value of the first coordinate point is the sum of the first sampling angle and the estimated angle, and the angle value of the second coordinate point is the first sampling angle; and obtain an initial evaluation value corresponding to the first sampling angle according to the first coordinate point and the second coordinate point.
[0079] In some embodiments, a plurality of estimated angles can be determined within the estimated angle range according to a preset step size. For example, if the estimated angle range Rg is [-30°, 30°] and the preset step size is 10°, then 7 estimated angles can be determined within the estimated angle range Rg according to the preset step size, Rg = {-30°, -20°, -10°, 0°, 10°, 20°, 30°}. The smaller the preset step size, the finer the division of the estimated angle range, and the more accurate the final angle obtained in subsequent processing. The larger the preset step size, the smaller the data processing amount and the faster the data processing rate. The step size can be adjusted accordingly according to the requirements of the application scenario. For example, a larger preset step size is used in the scenario of rough measurement, and a smaller preset step size is used in the application scenario of fine measurement.
[0080] The larger the estimated angle range, the easier it is to include the actual rotation angle within the estimated angle range; the smaller the estimated angle range, the fewer the number of estimated angles that can be determined within the estimated angle range according to the preset step size, the smaller the data processing amount, and the faster the processing rate. The estimated angle range can also be adjusted according to the requirements of the application scenario.
[0081] Let the estimated angle range be \(R_g\), the first sampling range be \(R_{c1}\), the estimated angle be \(r\), \(r\in R_g\), the first sampling angle be \(x\), \(x\in R_{c1}\), the first coordinate point be \(P_1(d,\theta)\), and the second coordinate point be \(P_2(d,\theta)\), where \(d\) is the distance component in the polar coordinate system and \(\theta\) is the angle component in the polar coordinate system. Then, based on the estimated angle \(r\) and the first sampling angle \(x\), the first coordinate point \(P_1(d,x + r)\) is determined in the first point cloud, and the second coordinate point \(P_2(d,x)\) corresponding to the first coordinate point \(P_1(d,x + r)\) is determined in the second point cloud, indicating that the first coordinate point \(P_1(d,x + r)\) is rotated by the angle \(r\) to be converted into the second coordinate point \(P_2(d,x)\). The initial evaluation value \(M(x,r)\) obtained from the first coordinate point \(P_1(d,x + r)\) and the second coordinate point \(P_2(d,x)\) is the initial evaluation value corresponding to the first sampling angle \(x\). For example, when \(R_g=\{-30^{\circ},-20^{\circ},-10^{\circ},0^{\circ},10^{\circ},20^{\circ},30^{\circ}\}\), the first sampling angle \(x\) corresponds to 7 initial evaluation values, namely \(M(x,-30^{\circ})\), \(M(x,-20^{\circ})\), \(M(x,-10^{\circ})\), \(M(x,0^{\circ})\), \(M(x,10^{\circ})\), \(M(x,20^{\circ})\), \(M(x,30^{\circ})\).
[0082] Similarly, the initial evaluation value \(M(x,r)\) is also the initial evaluation value corresponding to the estimated angle \(r\). For example, when \(R_{c1}=[0^{\circ},360^{\circ}]\) and is divided into 360 first sampling angles \(x\) with a preset precision of \(1^{\circ}\), the estimated angle \(r\) corresponds to 360 initial evaluation values, including \(M(0^{\circ},r)\), \(M(1^{\circ},r)\), \(\cdots\), \(M(360^{\circ},r)\), which are not listed one by one here.
[0083] Please refer to Figure 8 , in some embodiments, 0213: obtaining the initial evaluation value corresponding to the first sampling angle according to the first coordinate point and the second coordinate point includes:
[0084] 02131: obtaining the first distance according to the first coordinate point and the second coordinate point;
[0085] 02132: obtaining the first symmetric point corresponding to the first coordinate point and the second symmetric point corresponding to the second coordinate point, where the angle value of the first symmetric point differs from the angle value of the first coordinate point by \(180^{\circ}\), and the angle value of the second symmetric point differs from the angle value of the second coordinate point by \(180^{\circ}\);
[0086] 02133: obtaining the second distance according to the first symmetric point and the second symmetric point; and
[0087] 02134: obtaining the initial evaluation value corresponding to the first sampling angle according to the first distance and the second distance.
[0088] Please refer to Figure 2, in some embodiments, the program further includes instructions for executing the above data processing methods 021 and 022. The processor 30 can also be used to execute the methods in 02131, 02132, 02133, and 02134.
[0089] Please refer to Figure 3 , in some embodiments, the second acquisition module 12 can also be used to execute the methods in 02131, 02132, 02133, and 02134. That is, the second acquisition module 12 can also be used to: obtain a first distance according to a first coordinate point and a second coordinate point; obtain a first symmetric point corresponding to the first coordinate point and a second symmetric point corresponding to the second coordinate point, the angle value of the first symmetric point differs from the angle value of the first coordinate point by 180°, and the angle value of the second symmetric point differs from the angle value of the second coordinate point by 180°; obtain a second distance according to the first symmetric point and the second symmetric point; and obtain an initial evaluation value corresponding to the first sampling angle according to the first distance and the second distance.
[0090] For example, let the first symmetric point corresponding to the first coordinate point P1(d, x + r) be P1'(d, x' + r), x' = x + 180°, that is, the first symmetric point corresponding to the first coordinate point P1(d, x + r) is P1'(d, x + 180° + r). Similarly, the first symmetric point corresponding to the second coordinate point P2(d, x) is P2'(d, x + 180°). Among them, the symmetry relationship between the coordinate point and the corresponding symmetric point is only manifested in the 180° symmetry relationship of the angle component θ and has nothing to do with the distance component d.
[0091] Let the first distance be D1(x, r), D1(x, r) = P2(d, x) - P1(d, x + r). Let the second distance be D2(x', r), D2(x', r) = P2'(d, x + 180°) - P2(d, x), then the corresponding initial estimate value M(x, r) = D2(x', r) - D1(x, r).
[0092] Please combine with Figure 9 , in one embodiment, when the straight line l1 where the first coordinate point P1 and the first symmetric point P1' are located is parallel to the moving direction of the radar 40, the first coordinate point and the second coordinate point are points of a stationary object corresponding to the first point cloud and the second point cloud respectively, and the estimated angle r is equal to the actual rotation angle of the radar 40. If the first coordinate point P1 corresponds to a point Pv1 in the forward direction of the radar 40 in the environment, and the first symmetric point P1' corresponds to a point Pv1' in the backward direction of the radar 40 in the environment, then after the radar 40 advances and changes its pose, the displacement D1 that the radar 40 changes when approaching Pv1 and the displacement D2 that the radar 40 changes when moving away from Pv1' are equal in magnitude and opposite in direction, and the absolute value of the corresponding initial estimate value M is the largest, which is twice the displacement change amount.
[0093] Please combine withFigure 10 , in yet another embodiment, when the straight line l1 where the first coordinate point P1 and the first symmetric point P1' are located is perpendicular to the moving direction of the radar 40, the first coordinate point and the second coordinate point are points of a stationary object corresponding to the coordinate points in the first point cloud and the second point cloud respectively, and the estimated angle r is equal to the actual rotation angle of the radar 40. If the first coordinate point P1 corresponds to a point Pv1 on the left side of the radar 40 in the environment, and the first symmetric point P1' corresponds to a point Pv1' on the right side of the radar 40 in the environment, then after the radar 40 moves forward and changes its pose, the displacement D1 that the radar 40 changes relative to Pv1 is equal in magnitude and in the same direction as the displacement D2 that the radar 40 changes relative to Pv1'. The absolute value of the corresponding initial estimate M is the smallest, which is 0.
[0094] Please refer to Figure 9 and Figure 10 , when the straight line l1 where the first coordinate point P1 and the first symmetric point P1' are located is neither parallel nor perpendicular to the moving direction of the radar 40, the first coordinate point and the second coordinate point are points of a stationary object corresponding to the coordinate points in the first point cloud and the second point cloud respectively, and the estimated angle r is equal to the actual rotation angle of the radar 40. The absolute value of the corresponding initial estimate M is between the maximum and the minimum.
[0095] When there is a certain deviation between the estimated angle r and the actual rotation angle of the radar 40, among the multiple initial estimates M corresponding to a fixed estimated angle r, it still satisfies that the initial estimate M with the largest absolute value corresponds to the first sampling angle x parallel to the moving direction of the radar 40, and the initial estimate M with the largest absolute value corresponds to the first sampling angle x perpendicular to the moving direction of the radar 40. It's just that the largest absolute value is not exactly twice the displacement changed by the radar 40, but near twice the displacement, and the smallest absolute value is not exactly 0, but near 0.
[0096] Therefore, by using the characteristics that the initial estimate M is the largest or the smallest when the first sampling angle x corresponding to the first coordinate point P1 and the second coordinate point P2 is parallel or perpendicular to the moving direction of the radar 40, multiple corresponding initial estimates M(x, r) can be obtained by using different estimated angles r and the first sampling angle x respectively, so as to find the estimate M with the largest or smallest absolute value from the multiple initial estimates M(x, r). The estimated angle r corresponding to the estimate M with the largest or smallest absolute value is the estimated angle r closest to the actual rotation angle of the radar 40.
[0097] Please refer to Figure 4, in some embodiments, the radar 40 can project laser light in two opposite directions respectively to ensure that within the first sampling range Rc1, for each first sampling angle x, there is an angle x + 180° that is symmetric to it. The first distance D1(x, r) = P2(d, x) - P1(d, x + r), and the second distance is D2(x’, r), where D2(x’, r) = P2’(d, x + 180°) - P2(d, x). Then the first distance D1 and the second distance D2 respectively describe the distances measured by the laser light projected in two opposite directions. When the objects measured by the laser light projected in two opposite directions are all stationary objects, the first distance D1 and the second distance D2 should be equal in magnitude and opposite in direction. Conversely, if the first distance D1 and the second distance D2 are not equal in magnitude and opposite in direction, it means that the laser light projected in at least one direction has scanned a moving object, and the corresponding initial estimate value M of the first distance D1 and the second distance D2 needs to be removed to avoid interference with data processing.
[0098] That is, 02134: obtaining the initial evaluation value corresponding to the first sampling angle according to the first distance and the second distance includes:
[0099] In the case where the first distance and the second distance are equal in magnitude and opposite in direction, obtaining the initial evaluation value corresponding to the first sampling angle according to the first distance and the second distance.
[0100] Thereby avoiding interference caused by the moving object scanned by the radar 40 to the point cloud data processing.
[0101] Please refer to Figure 11 , in some embodiments, 0213: obtaining the initial evaluation value corresponding to the first sampling angle according to the first coordinate point and the second coordinate point further includes:
[0102] 02135: obtaining a distance threshold according to the ranging range of the radar 40;
[0103] 02136: screening the first distance according to the distance threshold; and
[0104] 02137: obtaining the initial evaluation value corresponding to the first sampling angle according to the screened first distance.
[0105] Please refer to Figure 2 , in some embodiments, the program further includes instructions for executing the above data processing methods 02135, 02136, and 02137. The processor 30 can also be used to execute the methods in 02135, 02136, and 02137.
[0106] Please refer to Figure 3, in some embodiments, the second acquisition module 12 may also be used to execute the methods in 02135, 02136, and 02137. That is, the second acquisition module 12 may also be used to: obtain a distance threshold according to the ranging range of the radar 40; screen the first distance according to the distance threshold; and obtain an initial evaluation value corresponding to the first sampling angle according to the screened first distance.
[0107] In some embodiments, the distance threshold is the maximum value of the ranging range of the radar 40. If the first distance D1 is within the distance threshold, it is considered that the first distance D1 is credible and is retained after screening. If the first distance D1 is outside the distance threshold, it is considered that the first distance D1 is not credible and is excluded after screening. Obtaining the initial evaluation value corresponding to the first sampling angle according to the screened first distance can ensure that the initial evaluation value is credible.
[0108] Please refer to Figure 12 , in some embodiments, 03: obtaining multiple matching degrees according to multiple initial evaluation values, including:
[0109] 031: obtaining the integral of the angle of each initial evaluation value within the first sampling range and using it as the matching degree of each initial evaluation value to obtain multiple matching degrees.
[0110] Please refer to Figure 2 , in some embodiments, the program further includes instructions for executing the above data processing method 031. The processor 30 may also be used to execute the method in 031.
[0111] Please refer to Figure 3 , in some embodiments, the matching module 13 may also be used to execute the method in 031. That is, the matching module 13 may also be used to: obtain the integral of the angle of each initial evaluation value within the first sampling range and use it as the matching degree of each initial evaluation value to obtain multiple matching degrees.
[0112] Let the matching degree be S, S = ∫M(x, r)dx, x ∈ Rc1, where Rc1 is the first sampling range. Combining the foregoing, the initial estimate value M can evaluate the matching situation between the first coordinate point P1 and the second coordinate point P2 corresponding to a certain first sampling angle x. The initial estimate value M with the largest or smallest absolute value is one of the best matching situations. The matching degree S obtains the integral of the angle of the initial evaluation value M within the first sampling range, which can evaluate the point cloud matching situation of the entire sampling range. If the matching degree S0 corresponding to an estimated angle r0 is the largest or smallest compared to the matching degrees S corresponding to other estimated angles r, it indicates that the global point cloud matching situation corresponding to the estimated angle r0 is the best, and the estimated angle r0 is the one closest to the actual rotation angle of the radar 40 among the multiple estimated angles r determined according to the estimated angle range Rg.
[0113] In some embodiments, the initial evaluation value M has angular symmetry, which is manifested as the initial evaluation value M(x, r) corresponding to the first sampling angle x being equal in magnitude and opposite in direction to the initial evaluation value M(x + 180°, r) corresponding to the symmetric angle x + 180° of the first sampling angle x. This indicates that the laser beams emitted by the radar 40 towards the first side have the same weight as the laser beams emitted by the radar 40 towards the second side opposite to the first side. Therefore, in one embodiment, the integration range of the first sampling angle x corresponding to the matching degree S can be half of the first sampling range, and the matching degree of the other half of the first sampling range is consistent with the matching degree S. For example, when Rc1 = [0, 360°], S = ∫M(x, r)dx, x ∈ [0, 180°].
[0114] Please refer to Figure 13 , in some embodiments, 04: obtaining a final angle according to multiple matching degrees, including:
[0115] 041: obtaining multiple matching degrees corresponding to each estimated angle within an estimated angle range; and
[0116] 042: obtaining a final angle according to the estimated angle corresponding to the maximum value among the multiple matching degrees.
[0117] Please refer to Figure 2 , in some embodiments, the program further includes instructions for executing the above data processing methods 041 and 042. The processor 30 can also be used to execute the methods in 041 and 042.
[0118] Please refer to Figure 3 , in some embodiments, the calculation module 14 can also be used to execute the methods in 041 and 042. That is, the calculation module 14 can also be used to obtain multiple matching degrees corresponding to each estimated angle within an estimated angle range; and obtain a final angle according to the estimated angle corresponding to the maximum value among the multiple matching degrees.
[0119] That is, the matching degree S is a function S(r) related to the estimated angle r, and when the estimated angle r changes, the corresponding matching degree S(r) changes. The matching degree S(r) corresponding to each estimated angle r within the estimated angle range Rg is obtained respectively, and the estimated angle r corresponding to the maximum value among the multiple matching degrees S(r) is the one closest to the actual rotation angle of the radar 40 among the multiple estimated angles r.
[0120] For example, the angle range Rg = {r1, r2, r3}, and the estimated angles r1, r2, and r3 correspond to the matching degrees S(r1), S(r2), and S(r3) respectively. If the maximum value among the matching degrees S(r1), S(r2), and S(r3) is the matching degree S(r3), then the estimated angle r3 is used as the final angle, which represents the angle of rotation of the radar 40 from the pose corresponding to the first point cloud to the pose corresponding to the second point cloud obtained by data processing.
[0121] Please refer to Figure 14 ,In some embodiments, 05: Obtain the final evaluation value of the final angle, and obtain the displacement vector according to the final evaluation value, including:
[0122] 051: Obtain the second sampling range;
[0123] 052: Obtain multiple sampling evaluation values according to the first point cloud, the second point cloud, the final angle, and the second sampling range; and
[0124] 053: Determine the final evaluation value according to the multiple sampling evaluation values.
[0125] Please refer to Figure 2 ,In some embodiments, the program further includes instructions for performing the above data processing methods 051, 052, and 053. The processor 30 can also be used to execute the methods in 051, 052, and 053.
[0126] Please refer to Figure 3 ,In some embodiments, the calculation module 14 can also be used to execute the methods in 051, 052, and 053. That is, the calculation module 14 can also be used to: determine the second sampling range according to the final angle; obtain multiple sampling evaluation values according to the first point cloud, the second point cloud, the second sampling range, and the second sampling range; and determine the final evaluation value according to the multiple sampling evaluation values.
[0127] The final evaluation value is used to evaluate whether the angle of the point in the point cloud is perpendicular or parallel to the moving direction of the radar 40. In the polar coordinate system, if the angles of the points in the first point cloud and their corresponding points in the second point cloud are both perpendicular or parallel to the moving direction of the radar 40, then the coordinate transformation of the points in the first point cloud and their corresponding points in the second point cloud is only related to the translation of the radar 40 and has nothing to do with the rotation of the radar 40. Thus, the angle perpendicular or parallel to the moving direction of the radar 40 can be determined according to the final evaluation value, so as to obtain a more accurate displacement vector according to this angle.
[0128] Please refer to Figure 15 ,Thus, the second sampling range can select the point cloud angles within a certain range in the horizontal and orthogonal four directions in the polar coordinate system. The multiple sampling evaluation values obtained according to the first point cloud, the second point cloud, the final angle, and the second sampling range characterize the relationship between the point cloud angles near the horizontal and orthogonal directions and the moving direction of the radar 40. According to the maximum value among the multiple sampling evaluation values, the point cloud angle parallel to the moving direction of the radar 40 can be determined; according to the minimum value among the multiple sampling evaluation values, the point cloud angle perpendicular to the moving direction of the radar 40 can be determined.
[0129] As described above, the laser beams emitted by the radar 40 towards the first side and the laser beams emitted by the radar 40 towards the second side opposite to the first side have the same weight. Therefore, the second sampling range can be further reduced. The second sampling range can select the point cloud angles within a certain range in the horizontal and vertical directions in the polar coordinate system. For example, in one embodiment, the second sampling range is [-20°, 20°] ∪ [70°, 110°].
[0130] In some embodiments, the maximum value among the multiple sampling evaluation values is determined as the final evaluation value. Thus, the point cloud angle corresponding to the final evaluation value is the point cloud angle closest to the point cloud angle parallel to the moving direction of the radar 40, and the displacement vector is obtained based on the distance between the coordinate points corresponding to the point cloud angle in the first point cloud and the coordinate points corresponding to the point cloud angle in the second point cloud at this point cloud angle.
[0131] Please refer to Figure 16 , in some embodiments, 052: Obtain multiple sampling evaluation values according to the first point cloud, the second point cloud, the final angle, and the second sampling range, including:
[0132] 0521: Select a second sampling angle within the second sampling range;
[0133] 0522: According to the final angle and the second sampling angle, determine the third coordinate point corresponding to the first sampling angle in the first point cloud and the fourth coordinate point corresponding to the third coordinate point in the second point cloud. The angle value of the third coordinate point is the sum of the second sampling angle and the final angle, and the coordinate value of the fourth coordinate point is the second sampling angle;
[0134] 0523: Obtain the third distance according to the third coordinate point and the fourth coordinate point;
[0135] 0524: Obtain the third symmetric point corresponding to the third coordinate point and the fourth symmetric point corresponding to the fourth coordinate point. The angle value between the third symmetric point and the third coordinate point differs by 180°, and the angle value between the fourth symmetric point and the fourth coordinate point differs by 180°;
[0136] 0525: Obtain the fourth distance according to the third symmetric point and the fourth symmetric point;
[0137] 0526: Obtain the sampling evaluation value corresponding to the second sampling angle according to the third distance and the fourth distance; and
[0138] 0527: Determine the sampling evaluation values corresponding to each second sampling angle in the second sampling range to obtain multiple sampling evaluation values.
[0139] Please refer to Figure 2, in some embodiments, the program further includes instructions for performing the above data processing methods 0521, 0522, 0523, 0524, 0525, 0526, and 0527. The processor 30 can also be used to execute the methods in 0521, 0522, 0523, 0524, 0525, 0526, and 0527.
[0140] Please refer to Figure 3 , in some embodiments, the calculation module 14 can also be used to execute the methods in 0521, 0522, 0523, 0524, 0525, 0526, and 0527. That is, the calculation module 14 can also be used to: select a second sampling angle within the second sampling range; determine a third coordinate point corresponding to the first sampling angle in the first point cloud and a fourth coordinate point corresponding to the third coordinate point in the second point cloud according to the final angle and the second sampling angle, the angle value of the third coordinate point is the sum of the second sampling angle and the final angle, and the coordinate value of the fourth coordinate point is the second sampling angle; obtain a third distance according to the third coordinate point and the fourth coordinate point; obtain a third symmetric point corresponding to the third coordinate point and a fourth symmetric point corresponding to the fourth coordinate point, the angle value between the third symmetric point and the third coordinate point is 180°, and the angle value between the fourth symmetric point and the fourth coordinate point is 180°; obtain a fourth distance according to the third symmetric point and the fourth symmetric point; obtain a sampling evaluation value corresponding to the second sampling angle according to the third distance and the fourth distance; determine the sampling evaluation values corresponding to each second sampling angle in the second sampling range to obtain a plurality of sampling evaluation values.
[0141] Please refer to in combination with Figures 1 to 14 , let the estimated angle be r, the final angle be rz, the first sampling angle be x1, the second sampling angle be x2, the initial evaluation value be M1(x1, r), and the sampling evaluation value be M2(x2, rz).
[0142] The method for obtaining a plurality of sampling evaluation values according to the first point cloud, the second point cloud, the final angle, and the second sampling range is similar to the method for determining a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range, the difference being that: the parameters of the initial evaluation value M1(x1, r), the first sampling angle x1 and the estimated angle r, are both variable values, while in the parameters of the sampling evaluation value M2(x2, rz), the final angle rz is a fixed value and the second sampling angle x2 is a variable value.
[0143] In one embodiment, let the third coordinate point be P3(t3, x2 + rz), and the third symmetric point corresponding to the third coordinate point P3 be P3’(t3’, x2’ + rz), where x2’ = x2 + 180°, that is, the third symmetric point corresponding to the third coordinate point P3 is P3’(t3’, x2 + 180° + rz). Here, t3 is the distance of the third coordinate point P3 measured by the radar 40, and t3’ is the distance of the third symmetric point P3’ measured by the radar 40.
[0144] Similarly, the fourth symmetric point corresponding to the fourth coordinate point P4(t4, x2) is P4’(t4’, x2 + 180°). Here, t4 is the distance of the fourth coordinate point P4 measured by the radar 40, and t4’ is the distance of the fourth symmetric point P4’ measured by the radar 40.
[0145] Let the third distance be D3(x2, rz), D3(x2, rz) = P4(t4, x2) - P3(t3, x2 + rz). Let the fourth distance be D4(x2’, rz), D4(x2’, rz) = P4’(t4’, x2 + 180°) - P3’(t3’, x2’ + rz), and the corresponding second estimated value M2(x2, rz) = D4(x2’, rz) - D3(x2, rz).
[0146] Please combine Figure 14 , in some embodiments, according to different x2, multiple corresponding second estimated values M2(x2, rz) can be determined. The maximum value among the absolute values of multiple sampled evaluation values M2(x2, rz) is determined as the final evaluation value. Combining the foregoing, when the direction of a certain second sampling angle x2 is closest to the direction of the translation of the radar 40, the straight-line direction where the third coordinate point P3(t3, x2 + rz) and the third symmetric point P3’(t3’, x2’ + rz) corresponding to the second sampling angle x2 are located is closest to being parallel to the moving direction of the radar 40. The third distance D3(x2, rz) and the fourth distance D4(x2’, rz) corresponding to the second sampling angle x2 are closest to the displacement of the translation of the radar 40, and the final evaluation value corresponding to the second sampling angle x2 is approximately twice the displacement of the translation of the radar 40. If the second sampling angle x2 closest to the direction of the translation of the radar 40 has the same direction as the direction of the translation of the radar 40, and the deviation between the final angle rz and the actual rotation angle of the radar 40 is 0, then the final evaluation value corresponding to the second sampling angle x2 is twice the displacement of the translation of the radar 40.
[0147] Thus, a displacement vector can be obtained according to the final evaluation value. The absolute value of the displacement vector is one-half of the absolute value of the final evaluation value, and the direction of the displacement vector is the direction of the second sampling angle x2 corresponding to the final evaluation value. The more accurate the final angle rz is, the more accurate the obtained displacement vector is.
[0148] Please refer toFigure 17 , in some embodiments, 05: obtaining a final evaluation value of a final angle, and obtaining a displacement vector according to the final evaluation value, including:
[0149] 054: determining whether a third distance and a fourth distance corresponding to the final evaluation value are opposite numbers; and
[0150] 055: when the third distance and the fourth distance are opposite numbers, obtaining a displacement vector according to the third distance and the fourth distance corresponding to the final evaluation value.
[0151] Please refer to Figure 2 , in some embodiments, the program further includes instructions for executing the above data processing methods 054 and 055. The processor 30 can also be used to execute the methods in 054 and 055.
[0152] Please refer to Figure 3 , in some embodiments, the calculation module 14 can also be used to execute the methods in 054 and 055. That is, the calculation module 14 can also be used to: determine whether a third distance and a fourth distance corresponding to the final evaluation value are opposite numbers; and when the third distance and the fourth distance are opposite numbers, obtaining a displacement vector according to the third distance and the fourth distance corresponding to the final evaluation value.
[0153] Combined with the foregoing, when the objects measured by the lasers projected in two opposite directions are both stationary objects, the third distance D3 and the fourth distance D4 should be equal in magnitude and opposite in direction, that is, the third distance D3 and the fourth distance D4 are opposite numbers to each other. Conversely, if the third distance D3 and the fourth distance D4 are not opposite numbers to each other, it means that at least one of the lasers projected in one direction scans a moving object, and it is necessary to remove the second estimated value M2 corresponding to this set of the third distance D3 and the fourth distance D4 to avoid interfering with data processing.
[0154] Please refer to Figure 18 , in some embodiments, the data processing method further includes:
[0155] 06: obtaining a plurality of displacement vectors according to a plurality of sampling evaluation values;
[0156] 07: performing weighted processing on the plurality of displacement vectors to obtain a translation vector; and
[0157] 08: determining the pose of the radar 40 according to the final angle and the translation vector.
[0158] Please refer to Figure 2 , in some embodiments, the program further includes instructions for executing the above data processing methods 06, 07, and 08. The processor 30 can also be used to execute the methods in 06, 07, and 08.
[0159] Please refer toFigure 3 , in some embodiments, the computing module 14 may also be used to execute the methods in 06, 07, and 08. That is, the computing module 14 may also be used to: obtain a translation vector based on the final evaluation value and the displacement vector; and determine the pose of the radar 40 based on the final angle and the translation vector.
[0160] The translation vector characterizes the translation that occurs during the pose change process of the radar 40. The displacement vectors are weighted to obtain the translation vector, making the obtained translation vector have higher reliability.
[0161] Let the translation vector be Tz, the sampled evaluation value be M2(x2), the displacement vector corresponding to the sampled evaluation value M2(x2) be Tn(x2), and the minimum and maximum values of the second sampling range be x2min and x2max respectively. In one embodiment, the weighting process is as follows:
[0162]
[0163] That is, within the second sampling range, the displacement vector Tn(x2) is weighted according to the sampled evaluation value M2(x2) to obtain the translation vector Tz. Among them, when the value of the second sampling angle x2 makes the absolute value of the sampled evaluation value M2(x2) the largest, that is, the displacement vector Tn(x2) corresponding to the sampled evaluation value M2(x2) has the greatest contribution to the calculation of the translation vector. Combining the foregoing, when the value of the second sampling angle x2 makes the absolute value of the sampled evaluation value M2(x2) the largest, the sampled evaluation value M2(x2) is the final evaluation value. That is, during the process of weighted calculation of the translation vector, the final evaluation value has the greatest contribution to the calculation of the translation vector, that is: the change in the distance measurement of the point cloud parallel to the moving direction of the radar 40 has the greatest contribution to the calculation of the translation vector.
[0164] Combining the foregoing, the final angle characterizes the rotation that occurs during the pose change process of the radar 40, and the translation vector characterizes the translation that occurs during the pose change process of the radar 40. Therefore, the pose of the radar 40 can be determined based on the final angle and the translation vector. The data processing method of the embodiments of the present application can obtain a relatively accurate final angle and translation vector to more accurately determine the pose of the radar 40.
[0165] Please refer to Figure 19 , the embodiments of the present application also provide a non-volatile computer-readable storage medium 400 including a computer program 401. When the computer program 401 is executed by one or more processors 30, one or more processors 30 are caused to execute the data processing method of any of the above embodiments. The non-volatile computer-readable storage medium 400 may be disposed within the movable platform 100, or may be disposed in a cloud server or other devices. At this time, the movable platform 100 can communicate with the cloud server or other devices to obtain the corresponding computer program 410.
[0166] Please combine with Figure 2 For example, when the computer program 401 is executed by one or more processors 30, it causes the one or more processors 30 to execute the method in any of the above embodiments. For example, execute the following data processing method:
[0167] 01: Obtain a first point cloud and a second point cloud, where the first point cloud and the second point cloud respectively correspond to different poses of the radar 40;
[0168] 02: Obtain an estimated angle range and a first sampling range, and determine a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range. The estimated angle range is the estimated range of the angle change between the first point cloud and the second point cloud, and the first sampling range is the angular distribution range of the point cloud in the first point cloud and the second point cloud;
[0169] 03: Obtain a plurality of matching degrees according to the plurality of initial evaluation values, where the matching degree represents the angular matching relationship between the first point cloud and the second point cloud;
[0170] 04: Obtain a final angle according to the plurality of matching degrees; and
[0171] 05: Obtain a final evaluation value of the final angle, and obtain a displacement vector according to the final evaluation value.
[0172] In the description of this specification, the descriptions referring to terms such as "certain embodiments", "in an example", "exemplarily", etc. mean that the specific features, structures, materials, or characteristics described in connection with the embodiments or examples are included in at least one embodiment or example of the present application. In this specification, the schematic expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples. In addition, without contradiction, those skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples.
[0173] Any process or method description shown in the flowchart or described in other ways herein can be understood as representing a module, segment, or part of code including one or more executable instructions for implementing a specific logical function or process. The scope of the preferred embodiments of the present application includes additional implementations, where the functions can be executed in a manner that is not shown or discussed in sequence, including in a substantially simultaneous manner or in a reverse order according to the involved functions, which should be understood by those skilled in the art to which the embodiments of the present application belong.
[0174] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and should not be construed as limitations on the present application. Those of ordinary skill in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present application.
Claims
1. A method for processing radar point cloud data, characterized in that The described data processing method includes: Obtaining a first point cloud and a second point cloud collected by the radar corresponding to two different poses; Obtaining an estimated angle range and a first sampling range, and determining a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range, where the estimated angle range is an estimated range of the angle change between the first point cloud and the second point cloud, and the first sampling range is the angular distribution range of the point clouds in the first point cloud and the second point cloud; Obtaining a plurality of matching degrees according to the plurality of initial evaluation values, where the matching degree characterizes the angular matching relationship between the first point cloud and the second point cloud; Obtaining a final angle according to the plurality of matching degrees; Obtaining a final evaluation value of the final angle, and obtaining a displacement vector according to the final evaluation value, where the final evaluation value characterizes the distance relationship between the points in the first point cloud corresponding to the final angle and the points in the second point cloud; and Positioning the radar according to the final angle and the displacement vector and / or controlling the radar to adjust its pose; The determining a plurality of initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and a plurality of angles within the estimated angle range includes: Determining the initial evaluation value corresponding to the first sampling angle according to the first point cloud, the second point cloud, the estimated angle range, and a first sampling angle within the first sampling range; and Determining the initial evaluation values corresponding to each first sampling angle in the first sampling range to obtain a plurality of the initial evaluation values; The determining the initial evaluation value corresponding to the first sampling angle according to the first point cloud, the second point cloud, the first sampling range, and a first sampling angle within the estimated angle range includes: Selecting an estimated angle within the estimated angle range; Determining a first coordinate point corresponding to the first sampling angle in the first point cloud and a second coordinate point corresponding to the first coordinate point in the second point cloud according to the estimated angle and the first sampling angle, where the angular value of the first coordinate point is the sum of the first sampling angle and the estimated angle, and the angular value of the second coordinate point is the first sampling angle; and Obtaining the initial evaluation value corresponding to the first sampling angle according to the first coordinate point and the second coordinate point.
2. The data processing method according to claim 1, wherein The obtaining the first point cloud and the second point cloud collected by the radar corresponding to two different poses includes: Obtaining the coordinate points of the first point cloud and the second point cloud in the polar coordinate system.
3. The data processing method according to claim 1, wherein The obtaining the initial evaluation value corresponding to the first sampling angle according to the first coordinate point and the second coordinate point includes: Obtaining a first distance according to the first coordinate point and the second coordinate point; Obtaining a first symmetric point corresponding to the first coordinate point and a second symmetric point corresponding to the second coordinate point, where the angular value between the angular value of the first symmetric point and the angular value of the first coordinate point differs by 180°, and the angular value between the angular value of the second symmetric point and the angular value of the second coordinate point differs by 180°; Obtaining a second distance according to the first symmetric point and the second symmetric point; and Obtain the initial evaluation value corresponding to the first sampling angle according to the first distance and the second distance.
4. The data processing method according to claim 3, wherein The obtaining of the initial evaluation value corresponding to the first sampling angle according to the first coordinate point and the second coordinate point further includes: Obtain a distance threshold according to the ranging range of the radar; Screen the first distance according to the distance threshold; and Obtain the initial evaluation value corresponding to the first sampling angle according to the screened first distance.
5. The data processing method according to claim 1, wherein Obtaining multiple matching degrees according to multiple initial evaluation values includes: Obtain the integral of each initial evaluation value with respect to the angle within the first sampling range and use it as the matching degree of each initial evaluation value to obtain multiple matching degrees.
6. The data processing method according to claim 1, wherein, The obtaining of the final angle according to multiple matching degrees includes: Obtain multiple matching degrees corresponding to each estimated angle within the estimated angle range; and Obtain the final angle according to the estimated angle corresponding to the maximum value among multiple matching degrees.
7. The data processing method according to claim 6, wherein The obtaining of the final evaluation value of the final angle includes: Obtain a second sampling range; Obtain multiple sampling evaluation values according to the first point cloud, the second point cloud, the final angle, and the second sampling range; and Determine the final evaluation value according to multiple sampling evaluation values.
8. The data processing method according to claim 7, wherein The obtaining of the displacement vector according to the final evaluation value includes: Judge whether the third distance and the fourth distance corresponding to the final evaluation value are opposite numbers; and In the case where the third distance and the fourth distance are opposite numbers, obtain the displacement vector according to the third distance and the fourth distance corresponding to the final evaluation value.
9. The data processing method according to claim 7, characterized in that, The data processing method further includes: Obtain multiple displacement vectors according to multiple sampling evaluation values; Perform weighted processing on multiple displacement vectors to obtain a translation vector; and Determine the pose of the radar according to the final angle and the translation vector.
10. A radar point cloud data processing device, characterized in that, Includes: A first acquisition module for acquiring a first point cloud and a second point cloud collected by the radar in different poses; A second acquisition module for acquiring an estimated angle range and a first sampling range, and determining multiple initial evaluation values according to the first point cloud, the second point cloud, the first sampling range, and multiple angles within the estimated angle range, where the estimated angle range is the estimated range of the angle change between the first point cloud and the second point cloud, the first sampling range is the angle range of the coordinate points in the first point cloud and the second point cloud, and the initial evaluation value characterizes the distance relationship and angle relationship of the coordinate points in the first point cloud and the second point cloud; A matching module for obtaining multiple matching degrees according to multiple initial evaluation values, where the matching degree characterizes the angle matching relationship between the first point cloud and the second point cloud; A calculation module for obtaining a final angle according to multiple matching degrees; and obtaining the final evaluation value of the final angle, and obtaining a displacement vector according to the final evaluation value, where the final evaluation value characterizes the distance relationship between the points in the first point cloud corresponding to the final angle and the points in the second point cloud; And A processing module for positioning the radar according to the final angle and the displacement vector and / or controlling the radar to adjust its pose; The second acquisition module is configured to determine the initial evaluation value corresponding to the first sampling angle according to the first point cloud, the second point cloud, the estimated angle range, and a first sampling angle within the first sampling range; and determine the initial evaluation values corresponding to each of the first sampling angles within the first sampling range to obtain a plurality of the initial evaluation values; The second acquisition module is further configured to select an estimated angle within the estimated angle range; determine a first coordinate point corresponding to the first sampling angle in the first point cloud according to the estimated angle and the first sampling angle, and determine a second coordinate point corresponding to the first coordinate point in the second point cloud, where the angle value of the first coordinate point is the sum of the first sampling angle and the estimated angle, and the angle value of the second coordinate point is the first sampling angle; and obtain the initial evaluation value corresponding to the first sampling angle according to the first coordinate point and the second coordinate point.
11. A movable platform, characterized in that, Comprising: A radar; One or more processors, a memory; And One or more programs, wherein the one or more programs are stored in the memory and executed by the one or more processors, and the programs include instructions for performing the data processing method according to any one of claims 1 to 9.
12. A non-volatile computer-readable storage medium containing a computer program, which implements the data processing method according to any one of claims 1 to 9 when the computer program is executed by one or more processors.
Citation Information
Patent Citations
Radar point cloud data processing method and device, movable platform and storage medium
CN115421133A