Laser radar calibration method and device, vehicle and medium

By performing region segmentation and normal vector analysis on the current frame point cloud data of the lidar, and combining it with an inertial measurement unit and an odometer, precise pose calibration of the lidar was achieved, solving the problem of ground detection failure in existing technologies and improving calibration accuracy and robustness.

CN120876595APending Publication Date: 2025-10-31XIAOMI EV TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202410544568.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-30
Publication Date
2025-10-31

AI Technical Summary

Technical Problem

Existing LiDAR calibration methods are prone to failure, especially in ground-based detection, which makes it impossible to accurately calibrate roll angle and altitude.

Method used

By acquiring the current frame point cloud data of the lidar in real time, removing point cloud data with a height greater than a preset threshold, performing region segmentation, determining the normal vector of the ground point cloud sub-region, and combining the inertial measurement unit and lidar odometry, calibrating the lidar's longitudinal, lateral, and yaw angles.

Benefits of technology

It improves the robustness of ground detection, ensures the normal calibration of lidar, and can accurately calibrate the pose of lidar on uneven or sloping ground, thus improving calibration accuracy and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120876595A_ABST
    Figure CN120876595A_ABST
Patent Text Reader

Abstract

The invention relates to a laser radar calibration method and device, a vehicle and a medium. The method comprises the following steps: acquiring current frame point cloud data of the laser radar in real time; removing the point cloud data of which the height is greater than a preset height threshold value from the point cloud data of the current frame to obtain first candidate point cloud data; performing region segmentation on the first candidate point cloud data to obtain a plurality of point cloud sub-regions; determining a target point cloud sub-region of which the contained point cloud data belongs to the ground point from the plurality of point cloud sub-regions; determining normal vectors of the point cloud data in all the target point cloud sub-regions as normal vectors of the ground; and determining the current longitudinal pose of the laser radar according to the normal vector of the ground. According to the method, fine-grained ground point judgment is performed on each point cloud sub-region, even if the ground is uneven or has a gradient, the ground can be detected, and therefore, the problem of ground detection failure can be avoided, the robustness of ground detection can be improved, and normal calibration of the laser radar can be ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of autonomous driving technology, and in particular to a calibration method, apparatus, vehicle, and medium for lidar. Background Technology

[0002] To enhance the perception capabilities of autonomous vehicles, various sensors are employed, such as monocular cameras, binocular cameras, thermal cameras, and LiDAR. Among these sensors, LiDAR is widely used due to its ability to provide accurate and dense 3D environmental information and reflection intensity data. In situations where the LiDAR's position may be affected, such as vehicle collisions, LiDAR replacements, or LiDAR cover replacements, after-sales calibration of the LiDAR is necessary. Common LiDAR calibration methods typically employ ground detection based on a random sample-consensus algorithm to calibrate the LiDAR's roll angle and altitude. However, ground detection can sometimes fail, lacking robustness and potentially resulting in calibration failures. Summary of the Invention

[0003] To overcome the problems existing in related technologies, this disclosure provides a calibration method, device, vehicle, and medium for lidar.

[0004] According to a first aspect of the present disclosure, a calibration method for a lidar is provided, comprising:

[0005] The current frame point cloud data of the lidar is acquired in real time;

[0006] Point cloud data with heights greater than a preset height threshold are removed from the current frame point cloud data to obtain the first candidate point cloud data;

[0007] The first candidate point cloud data is segmented into multiple point cloud sub-regions.

[0008] From the plurality of point cloud sub-regions, determine the target point cloud sub-regions whose contained point cloud data belong to ground points;

[0009] Determine the normal vectors of the point cloud data in all the target point cloud sub-regions, and use them as the normal vectors of the ground;

[0010] The current longitudinal pose of the lidar is determined based on the ground normal vector, wherein the longitudinal pose includes the height, roll angle, and pitch angle of the corresponding component.

[0011] Optionally, determining the target point cloud sub-region from the plurality of point cloud sub-regions where the included point cloud data belongs to ground points includes:

[0012] For each point cloud sub-region, principal component analysis is performed on the point cloud data in that sub-region to obtain the normal vector of that sub-region.

[0013] Based on the normal vector of the point cloud sub-region, determine whether the point cloud data in the point cloud sub-region belongs to the ground point.

[0014] Optionally, determining the current longitudinal pose of the lidar based on the ground normal vector includes:

[0015] A plane fit is performed based on the normal vector of the ground to obtain the fitted ground;

[0016] The distance between the lidar and the fitted ground is determined as the current altitude of the lidar;

[0017] The current roll angle and current pitch angle of the lidar are determined based on the ground normal vector.

[0018] Optionally, the method further includes:

[0019] The first longitudinal pose of the vehicle body where the lidar is located and the second longitudinal pose of the upper vehicle body are obtained, wherein the vehicle body includes the upper vehicle body and the lower vehicle body;

[0020] Based on the first longitudinal pose and the second longitudinal pose, determine the third longitudinal pose of the lower vehicle body;

[0021] The current longitudinal pose is corrected based on the third longitudinal pose.

[0022] Optionally, the method further includes:

[0023] If the number of longitudinal poses contained in the historical longitudinal pose information of the lidar reaches a first preset number, then it is determined whether the road segment in which the vehicle where the lidar is located travels within a first preset time period before the current moment is a bumpy road segment, wherein the historical longitudinal pose information includes the longitudinal pose of the lidar within the first preset time period.

[0024] If the driving section is not a bumpy section, the target longitudinal pose of the lidar is determined based on the current longitudinal pose and the historical longitudinal pose information.

[0025] The longitudinal pose of the target is used to calibrate the longitudinal pose of the lidar.

[0026] Optionally, before the step of determining the target longitudinal pose of the lidar based on the current longitudinal pose and the historical longitudinal pose information, the method further includes:

[0027] Determine whether the vehicle exhibits any sudden acceleration or deceleration behavior on the road segment in question;

[0028] If the vehicle does not exhibit the rapid acceleration or deceleration behavior on the road segment, then the step of determining the target longitudinal pose of the lidar based on the current longitudinal pose and the historical longitudinal pose information is executed.

[0029] Optionally, the real-time acquisition of the current frame point cloud data of the lidar includes:

[0030] The initial point cloud data of the current frame of the lidar is acquired in real time;

[0031] Based on the displacement information of the inertial measurement unit during the acquisition of the initial point cloud data of the current frame, motion distortion is removed from the initial point cloud data of the current frame to obtain the point cloud data of the current frame.

[0032] Optionally, the method further includes:

[0033] Based on the current frame point cloud data, the current lateral pose of the lidar is obtained using a lidar odometry system, wherein the lateral pose includes the lateral position and the longitudinal position of the lidar.

[0034] Based on the current lateral pose and historical lateral pose information, the first trajectory of the lidar within a second preset time period before the current moment is determined, wherein the historical lateral pose information includes the lateral pose of the lidar within the second preset time period;

[0035] The current yaw angle of the lidar is determined based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period.

[0036] Optionally, obtaining the current lateral pose of the lidar using a lidar odometry based on the current frame point cloud data includes:

[0037] If the current frame point cloud data is the first frame point cloud data in the lidar calibration process, then a point cloud map is constructed based on the current frame point cloud data;

[0038] If the current frame point cloud data is not the first frame point cloud data, then at least a portion of the point cloud data in the current frame point cloud data is matched with the point cloud map to obtain multiple neighboring points for each point cloud data in the at least a portion of the point cloud data.

[0039] For each point cloud data in the at least partial point cloud data, the perpendicularity of the normal vectors of multiple neighboring points of the point cloud data is determined; if the perpendicularity is greater than a first preset perpendicularity threshold, the point cloud data is determined as a second candidate point cloud data.

[0040] If the number of the second candidate point cloud data reaches the second preset number, then for each second candidate point cloud data, a plane fitting is performed based on the normal vectors of multiple neighboring points of the second candidate point cloud data to obtain the fitting plane where multiple neighboring points of the second candidate point cloud data are located.

[0041] The current lateral pose of the lidar is determined based on the fitted plane containing all the second candidate point cloud data and multiple neighboring points of each second candidate point cloud data.

[0042] Optionally, determining the current lateral pose of the lidar based on the fitting plane containing all the second candidate point cloud data and multiple neighboring points of each second candidate point cloud data includes:

[0043] Determine the mapping points of all the second candidate point cloud data when the lidar is in different lateral poses, and obtain the set of mapping points when the lidar is in different lateral poses;

[0044] For each set of mapping points, the sum of distances from each mapping point in the set to the corresponding plane is determined, wherein the corresponding plane is the fitting plane containing multiple neighboring points of the second candidate point cloud data corresponding to the mapping point;

[0045] If the minimum value of the sum of distances is less than a preset distance threshold, then the lateral pose of the lidar corresponding to the set of mapping points with the minimum sum of distances is determined as the current lateral pose, and all the second candidate point cloud data are updated to the point cloud map.

[0046] Optionally, determining the current yaw angle of the lidar based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period includes:

[0047] Based on the first trajectory, determine the first lateral displacement and the first longitudinal displacement of the lidar within the second preset time period, and based on the second trajectory, determine the second lateral displacement and the second longitudinal displacement of the inertial measurement unit within the second preset time period.

[0048] The difference between the first ratio and the second ratio is determined as the current yaw angle of the lidar, wherein the first ratio is the ratio of the first lateral displacement to the first longitudinal displacement, and the second ratio is the ratio of the second lateral displacement to the second longitudinal displacement.

[0049] Optionally, the method further includes:

[0050] Determine the displacement deviation between the first trajectory and the second trajectory;

[0051] If the displacement deviation is less than a preset displacement threshold, then the current yaw angle is determined as the first candidate yaw angle;

[0052] If the number of first candidate yaw angles obtained during the lidar calibration process reaches a third preset number, then the standard deviation of the second candidate yaw angle is determined, wherein the second candidate yaw angle includes the most recently obtained third preset number of first candidate yaw angles.

[0053] If the standard deviation is less than a preset standard deviation threshold, then the target yaw angle of the lidar is determined based on the second candidate yaw angle.

[0054] The yaw angle of the lidar is calibrated using the target yaw angle.

[0055] Optionally, before the step of determining the current yaw angle of the lidar based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period, the method further includes:

[0056] Based on the first trajectory or the second trajectory, determine whether the vehicle containing the lidar is traveling in a straight line within the second preset time period;

[0057] If the vehicle travels in a straight line within the second preset time period, then the step of determining the current yaw angle of the lidar based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period is executed.

[0058] According to a second aspect of the present disclosure, a calibration apparatus for a lidar is provided, comprising:

[0059] The first acquisition module is configured to acquire the current frame point cloud data of the lidar in real time;

[0060] The elimination module is configured to eliminate point cloud data with a height greater than a preset height threshold from the current frame point cloud data to obtain the first candidate point cloud data;

[0061] The region segmentation module is configured to segment the first candidate point cloud data into multiple point cloud sub-regions.

[0062] The first determining module is configured to determine, from the plurality of point cloud sub-regions, a target point cloud sub-region in which the contained point cloud data belongs to ground points;

[0063] The second determining module is configured to determine the normal vectors of the point cloud data in all the target point cloud sub-regions as the normal vectors of the ground.

[0064] The third determining module is configured to determine the current longitudinal pose of the lidar based on the normal vector of the ground, wherein the longitudinal pose includes the height, roll angle and pitch angle of the corresponding component.

[0065] According to a third aspect of the present disclosure, a vehicle is provided, comprising:

[0066] processor;

[0067] Memory used to store processor-executable instructions;

[0068] The processor is configured to execute the executable instructions stored in the memory to implement the calibration method for the lidar provided in the first aspect of this disclosure.

[0069] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps of the calibration method for the lidar provided in the first aspect of the present disclosure.

[0070] According to a fifth aspect of the present disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps of the calibration method for the lidar provided in the first aspect of the present disclosure.

[0071] The technical solutions provided by the embodiments of this disclosure can include the following beneficial effects: During ground detection, the first candidate point cloud data is first divided into multiple point cloud sub-regions; then, target point cloud sub-regions containing point cloud data belonging to ground points are determined from the multiple point cloud sub-regions; finally, the normal vectors of the point cloud data in all target point cloud sub-regions are determined as the normal vectors of the ground (i.e., ground detection is completed). Fine-grained ground point determination is performed for each point cloud sub-region, so even uneven or sloping ground can be detected. This avoids ground detection failures, improves the robustness of ground detection, and ensures the normal calibration of the lidar.

[0072] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0073] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0074] Figure 1 This is a flowchart illustrating a calibration method for a lidar according to an exemplary embodiment.

[0075] Figure 2This is a flowchart illustrating a calibration method for a lidar according to another exemplary embodiment.

[0076] Figure 3 This is a flowchart illustrating a calibration method for a lidar according to yet another exemplary embodiment.

[0077] Figure 4 This is a flowchart illustrating a calibration method for a lidar according to yet another exemplary embodiment.

[0078] Figure 5 This is a flowchart illustrating a calibration method for a lidar according to yet another exemplary embodiment.

[0079] Figure 6 This is a flowchart illustrating a calibration method for a lidar according to yet another exemplary embodiment.

[0080] Figure 7 This is a flowchart illustrating a calibration method for a lidar according to yet another exemplary embodiment.

[0081] Figure 8 This is a block diagram illustrating a calibration device for a lidar according to an exemplary embodiment.

[0082] Figure 9 This is a block diagram illustrating a vehicle according to an exemplary embodiment. Detailed Implementation

[0083] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0084] The embodiments described in the following examples of this disclosure are not representative of all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0085] It should be noted that all actions involving the acquisition of signals, information, or data in this disclosure are carried out in compliance with the relevant data protection laws and policies of the country where the location is situated, and with authorization from the owner of the relevant device.

[0086] Figure 1This is a flowchart illustrating a calibration method for a lidar system according to an exemplary embodiment. The method can be applied to a vehicle controller, such as a vehicle controller, microcontroller unit, etc. Figure 1 As shown, the calibration method for the aforementioned lidar may include the following steps.

[0087] In S101, the current frame point cloud data of the LiDAR is acquired in real time.

[0088] In this disclosure, a lidar transmits a detection signal and receives the reflected signals from environmental objects, generating point cloud data from these reflected signals. The point cloud data formed by the lidar based on the reflected signals from a single transmission of the detection signal constitutes one frame of point cloud data.

[0089] The current frame point cloud data is the point cloud data formed by the reflected signal obtained from the current detection signal emitted by the lidar.

[0090] Furthermore, the aforementioned lidar calibration method can be applied to after-sales lidar calibration. When after-sales calibration is required, a calibration command can be sent to the vehicle via a diagnostic tool. Upon receiving the command, the vehicle can be controlled to travel at a constant speed on a relatively flat road surface, and the lidar can be calibrated during this process. During lidar calibration, the current frame point cloud data of the lidar can be acquired in real time.

[0091] In S102, point cloud data with heights greater than a preset height threshold are removed from the current frame point cloud data to obtain the first candidate point cloud data.

[0092] In this disclosure, the current frame point cloud data is used for ground point detection. Since the height of ground points is usually relatively low, point cloud data with a height greater than a preset height threshold can be removed from the current frame point cloud data.

[0093] In S103, the first candidate point cloud data is segmented into multiple point cloud sub-regions.

[0094] In this disclosure, the first candidate point cloud data can be divided into multiple fan-shaped regions or multiple cuboid regions. This disclosure does not specify the method of dividing the first candidate point cloud data.

[0095] In S104, a target point cloud sub-region is determined from multiple point cloud sub-regions, which contains point cloud data belonging to ground points.

[0096] In this disclosure, the number of target point cloud sub-regions can be one or more.

[0097] In S105, the normal vectors of the point cloud data in all target point cloud sub-regions are determined as the normal vectors of the ground.

[0098] After identifying the target point cloud sub-regions containing point cloud data belonging to ground points from multiple point cloud sub-regions, the point cloud data in these target point cloud sub-regions can be merged to obtain the target point cloud data. Then, principal component analysis is performed on the target point cloud data to obtain the normal vector of the target point cloud data, which is used as the normal vector of the ground. Here, the ground is the road surface where the vehicle is currently located.

[0099] In S106, the current longitudinal pose of the lidar is determined based on the ground normal vector.

[0100] In this disclosure, the longitudinal pose may include the height, roll angle, and pitch angle of the corresponding component. Specifically, the longitudinal pose of the lidar may include the lidar's height, roll angle, and pitch angle.

[0101] The technical solutions provided by the embodiments of this disclosure can include the following beneficial effects: During ground detection, the first candidate point cloud data is first divided into multiple point cloud sub-regions; then, target point cloud sub-regions containing point cloud data belonging to ground points are determined from the multiple point cloud sub-regions; finally, the normal vectors of the point cloud data in all target point cloud sub-regions are determined as the normal vectors of the ground (i.e., ground detection is completed). Fine-grained ground point determination is performed for each point cloud sub-region, so even uneven or sloping ground can be detected. This avoids ground detection failures, improves the robustness of ground detection, and ensures the normal calibration of the lidar.

[0102] The following is a detailed description of the specific implementation method for real-time acquisition of the current frame point cloud data of the lidar in S101 described above.

[0103] During lidar calibration, the lidar is not stationary. Therefore, the lidar coordinate system position changes between the start and end times of the same data frame. The resulting point cloud is distorted and requires distortion correction. Specifically, the initial point cloud data of the current frame can be acquired in real time. Then, based on the displacement information of the inertial measurement unit during the acquisition of the initial point cloud data of the current frame, motion distortion correction is performed on the initial point cloud data of the current frame to obtain the current frame point cloud data.

[0104] It should be noted that, since the specific implementation method for removing motion distortion from the initial point cloud data of the current frame based on the displacement information of the inertial measurement unit during the acquisition process of the initial point cloud data of the current frame is well known to those skilled in the art, this disclosure will not elaborate further.

[0105] The following is a detailed description of the specific implementation method for determining the target point cloud sub-region from multiple point cloud sub-regions that contains point cloud data belonging to ground points in S104 above. Specifically, it can be achieved through the following steps (a1) and (a2).

[0106] Step (a1): For each point cloud sub-region, perform principal component analysis on the point cloud data in that sub-region to obtain the normal vector of that sub-region.

[0107] Step (a2): Based on the normal vector of the point cloud sub-region, determine whether the point cloud data in the point cloud sub-region belongs to the ground point.

[0108] Specifically, if If the distance to the target is less than a preset flatness threshold, the distance to the target is less than a preset elevation difference threshold, and |z1| is greater than a second preset verticality threshold, then the point cloud data in this sub-region is determined to belong to a ground point. The normal vector of this sub-region is (x0, y0, z0), and the unit normal vector corresponding to (x0, y0, z0) is (x1, y1, z1). The target distance is the difference between a first distance and a second distance. The first distance is the distance between the lidar and the farthest point, and the second distance is the distance between the lidar and the nearest point. The farthest point is the point in this sub-region that is farthest from the lidar, and the nearest point is the point in this sub-region that is farthest from the lidar.

[0109] The vehicle coordinate system can be constructed with the LiDAR as the origin, the X-axis parallel to the vehicle's horizontal axis, the Y-axis from the rear to the front of the vehicle, and the Z-axis perpendicular to the horizontal plane upwards. The LiDAR's position coordinates are (0, 0, 0).

[0110] The following is a detailed description of the specific implementation method for determining the current longitudinal pose of the lidar based on the ground normal vector in S106 above. Specifically, it can be achieved through the following steps (b1) to (b3).

[0111] Step (b1): Perform plane fitting based on the ground normal vector to obtain the fitted ground.

[0112] Step (b2): Determine the distance between the lidar and the fitted ground as the current altitude of the lidar.

[0113] Step (b3): ​​Determine the current roll angle and current pitch angle of the lidar based on the ground normal vector.

[0114] In this disclosure, the angle between the projection of the ground normal vector onto the YOZ plane of the vehicle coordinate system and the Z-axis can be determined as the current roll angle of the lidar, and the angle between the projection of the ground normal vector onto the XOZ plane of the vehicle coordinate system and the Z-axis can be determined as the current pitch angle of the lidar.

[0115] Since lidar is typically mounted on the upper part of a vehicle, its current longitudinal pose may be affected by the longitudinal pose of the lower part of the vehicle. Therefore, the current longitudinal pose of the lidar can be corrected using the longitudinal pose of the lower part of the vehicle to eliminate its influence and thus ensure the accuracy of the lidar's current longitudinal pose. Specifically, as follows... Figure 2 As shown, the above method may also include S107 to S109.

[0116] In S107, the first longitudinal pose of the vehicle body where the lidar is located and the second longitudinal pose of the upper vehicle body are obtained.

[0117] In this disclosure, the vehicle body includes an upper body and a lower body, wherein the upper body is the portion above the vehicle suspension, and the lower body is the portion below the vehicle suspension. Furthermore, a first longitudinal pose of the vehicle body can be obtained using an inertial measurement unit, and a second longitudinal pose of the upper body can be obtained using sensors on the vehicle suspension. The first longitudinal pose of the vehicle body may include vehicle height, vehicle roll angle, and vehicle pitch angle, while the second longitudinal pose of the upper body may include upper body height, upper body roll angle, and upper body pitch angle.

[0118] In S108, the third longitudinal pose of the lower vehicle body is determined based on the first longitudinal pose and the second longitudinal pose.

[0119] In this disclosure, the third longitudinal pose of the lower vehicle body may include the lower vehicle body height, the lower vehicle body roll angle, and the lower vehicle body pitch angle. The third longitudinal pose of the lower vehicle body can be determined based on the pose difference between the first and second longitudinal poses. Specifically, the difference between the vehicle body roll angle and the upper vehicle body roll angle can be determined as the lower vehicle body roll angle, and the difference between the vehicle body pitch angle and the upper vehicle body pitch angle can be determined as the lower vehicle body pitch angle. The lower vehicle body height is the vehicle chassis height and is a calibration value.

[0120] In S109, the current longitudinal pose is corrected based on the third longitudinal pose.

[0121] In this disclosure, the pose difference between the current longitudinal pose and the third longitudinal pose of the lidar can be determined as the corrected current longitudinal pose. The pose difference between the current longitudinal pose and the third longitudinal pose of the lidar can be calculated using a method similar to that used to calculate the pose difference between the first and second longitudinal poses; details will not be elaborated here.

[0122] Figure 3 This is a flowchart illustrating a calibration method for a lidar according to yet another exemplary embodiment. For example... Figure 3 As shown, the above method may also include S110 to S113.

[0123] In S110, it is determined whether the number of longitudinal poses contained in the historical longitudinal pose information of the lidar reaches a first preset number.

[0124] In this disclosure, the historical longitudinal pose information may include the longitudinal pose of the lidar within a first preset time period before the current moment. These longitudinal poses are the longitudinal poses of the lidar acquired by the lidar during this calibration process.

[0125] To ensure the accuracy of the lidar's longitudinal pose calibration, the lidar can be calibrated based on the average longitudinal pose acquired by the lidar over a period of time. Therefore, it is necessary to limit the number of longitudinal poses acquired. Specifically, if the number of longitudinal poses contained in the lidar's historical longitudinal pose information does not reach a first preset number, it indicates that longitudinal pose data needs to be accumulated. In this case, the current frame point cloud data of the lidar can be acquired to accumulate longitudinal poses, i.e., return to S101 above; if the number of longitudinal poses contained in the lidar's historical longitudinal pose information reaches the first preset number, it indicates that the lidar's longitudinal pose calibration can be performed. In this case, the following S111 can be executed.

[0126] In S111, it is determined whether the road segment traveled by the vehicle with the lidar within a first preset time period before the current moment is a bumpy road segment.

[0127] Severe vehicle vibrations may affect the accuracy of the current longitudinal pose of the LiDAR. Therefore, to ensure the accuracy of the LiDAR's longitudinal pose calibration, the LiDAR can be calibrated based on the longitudinal pose acquired by the vehicle on a relatively smooth road surface. Thus, longitudinal pose calibration can be performed on the LiDAR if the road segment traveled by the vehicle within a first preset time period before the current moment is not a bumpy section, i.e., the following S112 is executed; however, if the road segment traveled by the vehicle within the first preset time period before the current moment is a bumpy section, longitudinal pose calibration is not performed, and longitudinal pose data is accumulated. In this case, the current frame point cloud data of the LiDAR can be acquired to accumulate the longitudinal pose, i.e., the process returns to the above S101.

[0128] If the average change in the vehicle's vertical acceleration collected by the inertial measurement unit within the first preset time period is greater than the first preset acceleration threshold, then the road segment traveled by the vehicle within the first preset time period before the current moment is determined to be a bumpy road segment; if the average change in the vehicle's vertical acceleration collected by the inertial measurement unit within the first preset time period is less than or equal to the first preset acceleration threshold, then the road segment traveled by the vehicle within the first preset time period before the current moment is determined not to be a bumpy road segment.

[0129] In S112, the target longitudinal pose of the lidar is determined based on the current longitudinal pose and historical longitudinal pose information.

[0130] In S113, the longitudinal pose of the lidar is calibrated using the longitudinal pose of the target.

[0131] Specifically, the current longitudinal pose of the lidar and the average of the longitudinal poses of the lidar within a first preset time period before the current moment can be determined as the target longitudinal pose of the lidar; then, the target longitudinal pose is determined as the calibration longitudinal pose of the lidar to complete the longitudinal pose calibration of the lidar.

[0132] Sudden acceleration or deceleration of the vehicle can also affect the accuracy of the LiDAR's current longitudinal pose. Therefore, to ensure the accuracy of the LiDAR's longitudinal pose calibration, it should be performed while the vehicle is at as constant a speed as possible. Thus, longitudinal pose calibration of the LiDAR can be performed when it is confirmed that the vehicle is not experiencing sudden acceleration or deceleration on the aforementioned road segment. Specifically, as follows... Figure 4 As shown, before S112 above, the above method may also include the following S114.

[0133] In S114, it is determined whether the vehicle exhibits sudden acceleration or deceleration behavior on the road segment.

[0134] If the vehicle does not accelerate or decelerate suddenly in the above-mentioned driving section, then execute S112 above; if the vehicle accelerates or decelerates suddenly in the above-mentioned driving section, then do not perform LiDAR longitudinal pose calibration, and choose to continue accumulating longitudinal pose data. At this time, the current frame point cloud data of the LiDAR can continue to be acquired to accumulate longitudinal pose, that is, return to S101 above.

[0135] If the average change in the vehicle's acceleration in the driving direction, collected by the inertial measurement unit, within the first preset time period is greater than the second preset acceleration threshold, then it is determined that the vehicle exhibits rapid acceleration or deceleration behavior on the aforementioned driving section; if the average change in the vehicle's acceleration in the driving direction, collected by the inertial measurement unit, within the first preset time period is less than or equal to the second preset acceleration threshold, then it is determined that the vehicle does not exhibit rapid acceleration or deceleration behavior on the aforementioned driving section.

[0136] In addition to calibrating the longitudinal pose of the lidar, the yaw angle of the lidar can also be calibrated. Specifically, such as... Figure 5 As shown, the above method may also include the following steps S115 to S117.

[0137] In S115, the current lateral pose of the lidar is obtained using the lidar odometry based on the current frame point cloud data.

[0138] In this disclosure, the lateral pose may include the lateral position (i.e., X coordinate value) and longitudinal position (i.e., Y coordinate value) of the lidar in the world coordinate system.

[0139] In S116, based on the current lateral pose and historical lateral pose information, the first trajectory of the lidar within a second preset time period before the current moment is determined.

[0140] In this disclosure, the historical lateral pose information may include the lateral pose of the lidar within a second preset time period. The current lateral pose of the lidar and its lateral pose within the second preset time period can be used to perform curve fitting on the lidar's motion trajectory within that second preset time period to obtain a first trajectory.

[0141] In S117, the current yaw angle of the lidar is determined based on the first trajectory and the second trajectory of the inertial measurement unit within a second preset time period.

[0142] In this disclosure, the second trajectory of the inertial measurement unit within a second preset time period can be a deadreckoning (DR) trajectory or an inertial navigation system (INS) trajectory.

[0143] The following is a detailed description of the specific implementation method for obtaining the current lateral pose of the lidar based on the current frame point cloud data using the lidar odometry in step S115 above. Specifically, it can be achieved through the following steps (c1) to (c8).

[0144] Step (c1): Determine whether the current frame point cloud data is the first frame point cloud data in the lidar calibration process.

[0145] If the current frame point cloud data is the first frame point cloud data in the lidar calibration process, then execute the following step (c2); if the current frame point cloud data is not the first frame point cloud data in the lidar calibration process, then execute the following step (c3).

[0146] Step (c2): Construct a point cloud map based on the point cloud data of the current frame.

[0147] Step (c3): Perform nearest neighbor matching between at least a portion of the point cloud data in the current frame and the point cloud map to obtain multiple neighboring points for each point cloud data in at least a portion of the point cloud data.

[0148] In one implementation, all point cloud data in the current frame can be matched with the point cloud map using nearest neighbor matching. In this case, for each point cloud data in the current frame, nearest neighbor matching can be performed with the point cloud map to obtain multiple neighboring points of that point cloud data.

[0149] In another implementation, a portion of the point cloud data in the current frame can be matched with the point cloud map for nearest neighbor matching. In this case, the current frame point cloud data can be filtered first; then, for each point cloud data in the filtered point cloud data, it can be matched with the point cloud map for nearest neighbor matching to obtain multiple neighboring points of that point cloud data.

[0150] Step (c4): For each point cloud data in at least a portion of the point cloud data, determine the perpendicularity of the normal vectors of multiple neighboring points of that point cloud data.

[0151] In this disclosure, for each point cloud data in at least a portion of the aforementioned point cloud data, principal component analysis can be performed on multiple neighboring points of the point cloud data to obtain the normal vectors of the multiple neighboring points of the point cloud data; then, the perpendicularity of the normal vectors of the multiple neighboring points of the point cloud data is calculated.

[0152] Step (c5): If the perpendicularity of the normal vectors of multiple neighboring points of the point cloud data is greater than the first preset perpendicularity threshold, then the point cloud data is determined as the second candidate point cloud data.

[0153] In this disclosure, if the perpendicularity of the normal vectors of multiple neighboring points of the point cloud data is greater than a first preset perpendicularity threshold, it indicates that the multiple neighboring points of the point cloud data are relatively vertical points. In this case, the point cloud data can be identified as the second candidate point cloud data.

[0154] Step (c6): Determine whether the number of second candidate point cloud data has reached the second preset number.

[0155] If the number of second candidate point cloud data reaches the second preset number, it indicates that the number of feature points is sufficient. At this time, the estimation accuracy of the current lateral pose of the lidar can be guaranteed. Therefore, the following steps (c7) and (c8) can be executed. If the number of second candidate point cloud data reaches the second preset number, it indicates that the number of feature points is insufficient to guarantee the estimation accuracy of the current lateral pose of the lidar. Therefore, the process can return to the above S101.

[0156] Step (c7): For each second candidate point cloud data, perform plane fitting based on the normal vectors of multiple neighboring points of the second candidate point cloud data to obtain the fitting plane containing multiple neighboring points of the second candidate point cloud data.

[0157] Step (c8): Determine the current lateral pose of the lidar based on the fitted plane containing all second candidate point cloud data and multiple neighboring points of each second candidate point cloud data.

[0158] Specifically, we can first determine the mapping points of all second candidate point cloud data when the LiDAR is in different lateral poses, thus obtaining a set of mapping points for each lateral pose. That is, each lateral pose corresponds to a set of mapping points, which includes the mapping points of all second candidate point cloud data when the LiDAR is in that lateral pose. Then, for each set of mapping points, we determine the sum of distances from each mapping point in the set to the corresponding plane, where the corresponding plane is the fitting plane containing multiple neighboring points of the second candidate point cloud data corresponding to that mapping point. If the minimum value of the sum of distances is less than a preset distance threshold, the lateral pose of the LiDAR corresponding to the set of mapping points with the minimum sum of distances is determined as the current lateral pose, and all second candidate point cloud data are updated in the point cloud map. If the minimum value of the sum of distances is greater than or equal to the preset distance threshold, we return to the above S101.

[0159] The following is a detailed description of the specific implementation method for determining the current yaw angle of the lidar based on the first trajectory and the second trajectory of the inertial measurement unit within a second preset time period in S117 described above. Specifically, it can be achieved through the following steps (d1) and (d2).

[0160] Step (d1): Based on the first trajectory, determine the first lateral displacement and the first longitudinal displacement of the lidar within the second preset time period, and based on the second trajectory, determine the second lateral displacement and the second longitudinal displacement of the inertial measurement unit within the second preset time period.

[0161] Step (d2): Determine the difference between the first ratio and the second ratio as the current yaw angle of the lidar.

[0162] The first ratio is the ratio of the first lateral displacement to the first longitudinal displacement, and the second ratio is the ratio of the second lateral displacement to the second longitudinal displacement.

[0163] Figure 6 This is a flowchart illustrating a calibration method for a lidar according to yet another exemplary embodiment. For example... Figure 6 As shown, the above method may further include the following S118 to S124.

[0164] In S118, the displacement deviation between the first trajectory and the second trajectory is determined.

[0165] In S119, if the displacement deviation is less than the preset displacement threshold, the current yaw angle is determined as the first candidate yaw angle.

[0166] In this disclosure, if the displacement deviation between the first trajectory and the second trajectory is greater than or equal to a preset displacement threshold, it indicates that the point cloud data collected by the lidar is inaccurate or the road conditions are abnormal. In this case, in order to ensure the accuracy of the lidar yaw angle calibration, the current yaw angle cannot be used for lidar yaw angle calibration, that is, the current yaw angle is not determined as the first candidate yaw angle; if the displacement deviation between the first trajectory and the second trajectory is less than the preset displacement threshold, it indicates that the current yaw angle can be used for lidar yaw angle calibration, that is, the current yaw angle is determined as the first candidate yaw angle.

[0167] In S120, it is determined whether the number of first candidate yaw angles obtained during the lidar calibration process reaches the third preset number.

[0168] In this disclosure, to ensure the accuracy of the lidar yaw angle calibration, the lidar can be calibrated based on the average value of the first candidate yaw angles acquired by the lidar over a period of time. Therefore, it is necessary to limit the number of first candidate yaw angles acquired. Specifically, if the number of first candidate yaw angles acquired during the lidar calibration process does not reach the third preset number, it indicates that the first candidate yaw angle data needs to be accumulated. At this time, the current frame point cloud data of the lidar can be acquired to accumulate the first candidate yaw angles, i.e., return to S115 above; if the number of first candidate yaw angles acquired during the lidar calibration process reaches the third preset number, it indicates that the lidar yaw angle calibration can be performed. At this time, S121 and S122 can be executed.

[0169] In S121, the standard deviation of the second candidate yaw angle is determined.

[0170] In S122, it is determined whether the standard deviation of the second candidate yaw angle is less than the preset standard deviation threshold.

[0171] In this disclosure, the second candidate yaw angle includes the third preset number of first candidate yaw angles recently acquired. If the standard deviation of the third preset number of first candidate yaw angles recently acquired is greater than or less than a preset standard deviation threshold, then the lidar has encountered an anomaly during the recent calibration process. In this case, to ensure the accuracy of the lidar yaw angle calibration, the lidar yaw angle calibration operation can be temporarily suspended, and calibration data can continue to be accumulated, i.e., return to S115 above; if the standard deviation of the third preset number of first candidate yaw angles recently acquired is less than the preset standard deviation threshold, then the lidar has not encountered an anomaly during the recent calibration process. In this case, the lidar yaw angle calibration can be performed, i.e., execute S123 and S124 below.

[0172] In S123, the target yaw angle of the lidar is determined based on the second candidate yaw angle.

[0173] In S124, the yaw angle of the lidar is calibrated using the target yaw angle.

[0174] Specifically, the average value of the first candidate yaw angles of the third preset number recently acquired can be determined as the target yaw angle of the lidar. Then, the target yaw angle is determined as the calibration yaw angle of the lidar to complete the yaw angle calibration of the lidar.

[0175] If the vehicle is not traveling in a straight line, it may affect the accuracy of the current yaw angle of the lidar. Therefore, to ensure the accuracy of the lidar's current yaw angle, the vehicle should be kept as straight as possible. Thus, when it is determined that the vehicle carrying the lidar is traveling in a straight line within the aforementioned second preset time period, the current yaw angle of the lidar can be determined based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period. Specifically, as follows... Figure 7 As shown, before S117 above, the above method may also include the following S125.

[0176] In S125, based on the first trajectory or the second trajectory, it is determined whether the vehicle where the lidar is located is traveling in a straight line within a second preset time period.

[0177] If the vehicle travels in a straight line within the second preset time period, then S117 is executed; if the vehicle does not travel in a straight line within the second preset time period, then the current yaw information is not used for lidar yaw angle calibration, and the process returns to S115.

[0178] Figure 8 This is a block diagram illustrating a calibration device for a lidar according to an exemplary embodiment. Figure 8 As shown, the calibration device 200 for the lidar includes:

[0179] The first acquisition module 201 is configured to acquire the current frame point cloud data of the lidar in real time;

[0180] The elimination module 202 is configured to eliminate point cloud data with a height greater than a preset height threshold from the current frame point cloud data to obtain the first candidate point cloud data;

[0181] The region segmentation module 203 is configured to perform region segmentation on the first candidate point cloud data to obtain multiple point cloud sub-regions;

[0182] The first determining module 204 is configured to determine, from the plurality of point cloud sub-regions, a target point cloud sub-region in which the point cloud data contained therein belongs to a ground point;

[0183] The second determining module 205 is configured to determine the normal vector of the point cloud data in all the target point cloud sub-regions as the normal vector of the ground.

[0184] The third determining module 206 is configured to determine the current longitudinal pose of the lidar based on the normal vector of the ground, wherein the longitudinal pose includes the height, roll angle and pitch angle of the corresponding component.

[0185] The technical solutions provided by the embodiments of this disclosure can include the following beneficial effects: During ground detection, the first candidate point cloud data is first divided into multiple point cloud sub-regions; then, target point cloud sub-regions containing point cloud data belonging to ground points are determined from the multiple point cloud sub-regions; finally, the normal vectors of the point cloud data in all target point cloud sub-regions are determined as the normal vectors of the ground (i.e., ground detection is completed). Fine-grained ground point determination is performed for each point cloud sub-region, so even uneven or sloping ground can be detected. This avoids ground detection failures, improves the robustness of ground detection, and ensures the normal calibration of the lidar.

[0186] Optionally, the first determining module 204 includes:

[0187] The analysis submodule is configured to perform principal component analysis on the point cloud data in each point cloud subregion to obtain the normal vector of the point cloud subregion.

[0188] The first determining submodule is configured to determine whether the point cloud data in the point cloud subregion belongs to the ground point based on the normal vector of the point cloud subregion.

[0189] Optionally, the third determining module 206 includes:

[0190] The plane fitting submodule is configured to perform plane fitting based on the normal vector of the ground to obtain a fitted ground;

[0191] The second determining submodule is configured to determine the distance between the lidar and the fitted ground as the current height of the lidar;

[0192] The third determining submodule is configured to determine the current roll angle and current pitch angle of the lidar based on the ground normal vector.

[0193] Optionally, the device 200 further includes:

[0194] The second acquisition module is configured to acquire the first longitudinal pose of the vehicle body where the lidar is located and the second longitudinal pose of the upper vehicle body, wherein the vehicle body includes the upper vehicle body and the lower vehicle body;

[0195] The fourth determining module is configured to determine the third longitudinal pose of the vehicle body based on the first longitudinal pose and the second longitudinal pose.

[0196] The correction module is configured to correct the current longitudinal pose based on the third longitudinal pose.

[0197] Optionally, the device 200 further includes:

[0198] The fifth determining module is configured to determine whether the road segment in which the vehicle where the lidar is located travels within a first preset time period before the current moment is a bumpy road segment if the number of longitudinal poses contained in the historical longitudinal pose information of the lidar reaches a first preset number. The historical longitudinal pose information includes the longitudinal pose of the lidar within the first preset time period.

[0199] The sixth determining module is configured to determine the target longitudinal pose of the lidar based on the current longitudinal pose and the historical longitudinal pose information if the driving section is not a bumpy section.

[0200] The longitudinal pose calibration module is configured to perform longitudinal pose calibration on the lidar using the longitudinal pose of the target.

[0201] Optionally, the device 200 further includes:

[0202] The seventh determining module is configured to determine whether the vehicle has sudden acceleration or deceleration behavior on the driving section before the sixth determining module determines the target longitudinal pose of the lidar based on the current longitudinal pose and the historical longitudinal pose information;

[0203] The sixth determining module is configured to determine the target longitudinal pose of the lidar based on the current longitudinal pose and the historical longitudinal pose information if the vehicle does not exhibit the rapid acceleration or deceleration behavior on the driving section.

[0204] Optionally, the first acquisition module 201 includes:

[0205] The acquisition submodule is configured to acquire the initial point cloud data of the current frame of the lidar in real time;

[0206] The motion distortion removal submodule is configured to perform motion distortion removal on the initial point cloud data of the current frame based on the displacement information of the inertial measurement unit during the acquisition process of the initial point cloud data of the current frame, so as to obtain the point cloud data of the current frame.

[0207] Optionally, the device 200 further includes:

[0208] The third acquisition module is configured to acquire the current lateral pose of the lidar based on the current frame point cloud data using a lidar odometry, wherein the lateral pose includes the lateral position and the longitudinal position of the lidar.

[0209] The eighth determining module is configured to determine the first trajectory of the lidar within a second preset time period before the current moment based on the current lateral pose and historical lateral pose information, wherein the historical lateral pose information includes the lateral pose of the lidar within the second preset time period;

[0210] The ninth determining module is configured to determine the current yaw angle of the lidar based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period.

[0211] Optionally, the third acquisition module includes:

[0212] The map building submodule is configured to build a point cloud map based on the current frame point cloud data if the current frame point cloud data is the first frame point cloud data in the lidar calibration process.

[0213] The matching module is configured to perform nearest neighbor matching between at least a portion of the point cloud data in the current frame and the point cloud map if the current frame point cloud data is not the first frame point cloud data, thereby obtaining multiple neighboring points for each point cloud data in the at least a portion of the point cloud data.

[0214] The tenth determining module is configured to determine the perpendicularity of the normal vectors of multiple neighboring points of each point cloud data in the at least part of the point cloud data; the eleventh determining module is configured to determine the point cloud data as the second candidate point cloud data if the perpendicularity is greater than a first preset perpendicularity threshold.

[0215] The plane fitting module is configured to, if the number of the second candidate point cloud data reaches a second preset number, perform plane fitting for each second candidate point cloud data based on the normal vectors of multiple neighboring points of the second candidate point cloud data to obtain the fitting plane where multiple neighboring points of the second candidate point cloud data are located.

[0216] The twelfth determining module is configured to determine the current lateral pose of the lidar based on the fitting plane containing all the second candidate point cloud data and multiple neighboring points of each second candidate point cloud data.

[0217] Optionally, the twelfth determining module includes:

[0218] The fourth determining submodule is configured to determine the mapping points of all the second candidate point cloud data when the lidar is in different lateral poses, so as to obtain the set of mapping points when the lidar is in different lateral poses.

[0219] The fifth determining submodule is configured to determine the sum of distances from each mapping point in the mapping point set to a corresponding plane for each mapping point set, wherein the corresponding plane is a fitting plane containing multiple neighboring points of the second candidate point cloud data corresponding to the mapping point;

[0220] The sixth determining submodule is configured to determine the lateral pose of the lidar corresponding to the set of mapping points with the smallest distance sum as the current lateral pose if the minimum value in the sum of distances is less than a preset distance threshold, and update all the second candidate point cloud data to the point cloud map.

[0221] Optionally, the ninth determining module includes:

[0222] The seventh determining submodule is configured to determine the first lateral displacement and the first longitudinal displacement of the lidar within the second preset time period based on the first trajectory, and to determine the second lateral displacement and the second longitudinal displacement of the inertial measurement unit within the second preset time period based on the second trajectory.

[0223] The eighth determining submodule is configured to determine the difference between the first ratio and the second ratio as the current yaw angle of the lidar, wherein the first ratio is the ratio of the first lateral displacement to the first longitudinal displacement, and the second ratio is the ratio of the second lateral displacement to the second longitudinal displacement.

[0224] Optionally, the device 200 further includes:

[0225] The thirteenth determining module is configured to determine the displacement deviation between the first trajectory and the second trajectory;

[0226] The fourteenth determining module is configured to determine the current yaw angle as the first candidate yaw angle if the displacement deviation is less than a preset displacement threshold.

[0227] The fifteenth determining module is configured to determine the standard deviation of the second candidate yaw angle if the number of the first candidate yaw angles obtained during the lidar calibration process reaches a third preset number, wherein the second candidate yaw angle includes the most recently obtained third preset number of first candidate yaw angles.

[0228] The sixteenth determining module is configured to determine the target yaw angle of the lidar based on the second candidate yaw angle if the standard deviation is less than a preset standard deviation threshold.

[0229] The yaw angle calibration module is configured to calibrate the lidar using the target yaw angle.

[0230] Optionally, the device 200 further includes:

[0231] The seventeenth determining module is configured to determine, before the ninth determining module determines the current yaw angle of the lidar based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period, whether the vehicle where the lidar is located is traveling in a straight line within the second preset time period based on the first trajectory or the second trajectory.

[0232] The ninth determining module is configured to determine the current yaw angle of the lidar based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period if the vehicle is traveling in a straight line within the second preset time period.

[0233] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0234] This disclosure also provides a computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor, implement the steps of the calibration method for the lidar provided in this disclosure.

[0235] This disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the calibration method for lidar provided in this disclosure.

[0236] Figure 9This is a block diagram illustrating a vehicle 600 according to an exemplary embodiment. For example, vehicle 600 can be a hybrid vehicle, a non-hybrid vehicle, an electric vehicle, a fuel cell vehicle, or other types of vehicle. Vehicle 600 can be an autonomous vehicle, a semi-autonomous vehicle, or a non-autonomous vehicle.

[0237] Reference Figure 9 The vehicle 600 may include various subsystems, such as an infotainment system 610, a perception system 620, a decision control system 630, a drive system 640, and a computing platform 650. The vehicle 600 may also include more or fewer subsystems, and each subsystem may include multiple components. Furthermore, each subsystem and each component of the vehicle 600 can be interconnected via wired or wireless means.

[0238] In some embodiments, the infotainment system 610 may include a communication system, an entertainment system, and a navigation system, etc.

[0239] The perception system 620 may include several sensors for sensing information about the environment surrounding the vehicle 600. For example, the perception system 620 may include a global positioning system (which may be GPS, BeiDou, or other positioning systems), an inertial measurement unit (IMU), lidar, millimeter-wave radar, ultrasonic radar, and a camera device.

[0240] The decision control system 630 may include a computing system, a vehicle controller, a steering system, a throttle, and a braking system.

[0241] The drive system 640 may include components that provide powered motion to the vehicle 600. In one embodiment, the drive system 640 may include an engine, an energy source, a transmission system, and wheels. The engine may be one or a combination of internal combustion engines, electric motors, and compressed air engines. The engine is capable of converting energy provided by the energy source into mechanical energy.

[0242] Some or all of the functions of vehicle 600 are controlled by computing platform 650. Computing platform 650 may include at least one processor 651 and memory 652, and processor 651 may execute instructions 653 stored in memory 652.

[0243] Processor 651 can be any conventional processor, such as a commercially available CPU. The processor may also include, for example, a Graphics Processing Unit (GPU), a Field Programmable Gate Array (FPGA), a System on Chip (SOC), an Application Specific Integrated Circuit (ASIC), or a combination thereof.

[0244] The memory 652 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.

[0245] In addition to instruction 653, memory 652 can also store data, such as road maps, route information, vehicle position, direction, speed, and other data. The data stored in memory 652 can be used by computing platform 650.

[0246] In this embodiment of the disclosure, the processor 651 may execute instructions 653 to complete all or part of the steps of the above-described lidar calibration method.

[0247] Those skilled in the art will also understand that the various illustrative logical blocks and steps listed in the embodiments of this application can be implemented by electronic hardware, computer software, or a combination of both. Whether such functionality is implemented through hardware or software depends on the specific application and the overall system design requirements. Those skilled in the art can implement the described functionality using various methods for each specific application, but such implementation should not be construed as exceeding the scope of protection of the embodiments of this application.

[0248] Furthermore, the term “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as advantageous compared to other aspects or designs. Rather, the use of the term “exemplary” is intended to present the concept in a concrete manner. As used herein, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless otherwise specified or clear from the context, “X applies A or B” is intended to mean any of the natural inclusive arrangements. That is, “X applies A or B” satisfies any of the foregoing instances if X applies A; X applies B; or both X applies A and B. Additionally, unless otherwise specified or clear from the context to refer to the singular form, the articles “a” and “an” as used in this application and the appended claims are generally understood to mean “one or more.”

[0249] Similarly, although this disclosure has been shown and described with respect to one or more implementations, equivalent variations and modifications will occur to those skilled in the art upon reading and understanding the specification and drawings. This disclosure includes all such modifications and variations and is limited only by the scope of the claims. In particular, with respect to the various functions performed by the components described above (e.g., elements, resources, etc.), unless otherwise indicated, the terminology used to describe such components is intended to correspond to any component (functionally equivalent) that performs the specific function of the described component, even if structurally not equivalent to the disclosed structure. Furthermore, although specific features of this disclosure may have been disclosed with respect to only one of several implementations, such features may be combined with one or more other features of other implementations, as may be desired and advantageous to any given or particular application. Moreover, with regard to the terms “comprising,” “owning,” “having,” “having,” or variations thereof as used in the detailed description or claims, such terms are intended to be inclusive in a manner similar to the term “including.”

[0250] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the appended claims.

[0251] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

[0252] In the above detailed description, reference has been made to the accompanying drawings, which illustrate specific aspects of this disclosure by way of illustration. In this regard, terms indicating direction or positional relationship, such as “center,” “longitudinal,” “lateral,” “length,” “width,” “thickness,” “upper,” “lower,” “front,” “rear,” “left,” “right,” “vertical,” “horizontal,” “top,” “bottom,” “inner,” “outer,” “clockwise,” “counterclockwise,” “axial,” “radial,” and “circumferential,” are used with reference to the orientation of the described figures. Since components of the described device can be positioned in multiple different orientations, directional terms are used for illustrative purposes and not for limitation. It should be understood that other aspects can be utilized and structural or logical changes can be made without departing from the concept of this disclosure. Therefore, the following detailed description should not be considered limiting.

[0253] It should be understood that, unless otherwise specifically indicated, features of various embodiments of this disclosure described herein can be combined with each other. As used herein, the term “and / or” includes any one of the relevant listed items and any combination of any two or more; similarly, “at least one of…” includes any one of the relevant listed items and any combination of any two or more.

[0254] It should be understood that, unless otherwise expressly specified and limited, the terms "joining," "attaching," "installing," "connecting," "linking," "fixing," etc., used in the embodiments of this disclosure should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection, an electrical connection, or a connection that allows communication between them; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components, unless otherwise expressly limited. Those skilled in the art can understand the specific meaning of the above terms herein based on the specific circumstances.

[0255] Furthermore, the term "above" as used herein with respect to components, elements, or material layers formed or located "above" a surface may be used to indicate that the component, element, or material layer is "indirectly" positioned (e.g., placed, formed, deposited, etc.) on the surface such that one or more additional components, elements, or layers are arranged between the surface and the component, element, or material layer. However, the term "above" as used with respect to components, elements, or material layers formed or located "above" a surface may also optionally have a specific meaning: that the component, element, or material layer is "directly" positioned (e.g., placed, formed, deposited, etc.) on the surface, for example, in direct contact with the surface.

[0256] Although terms such as “first,” “second,” and “third” may be used herein to describe various components, parts, regions, layers, or sections, these components, parts, regions, layers, or sections are not limited to these terms. Rather, these terms are used only to distinguish one component, part, region, layer, or section from another. Therefore, without departing from the teachings of the examples described herein, the first component, part, region, layer, or section mentioned in the examples may also be referred to as the second component, part, region, layer, or section. Furthermore, the terms “first” and “second” are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as “first” or “second” may explicitly or implicitly include at least one of that feature. In the description herein, “a plurality” means at least two, such as two, three, etc., unless otherwise explicitly specified.

Claims

1. A calibration method for a lidar, characterized in that, include: The current frame point cloud data of the lidar is acquired in real time; Point cloud data with heights greater than a preset height threshold are removed from the current frame point cloud data to obtain the first candidate point cloud data; The first candidate point cloud data is segmented into multiple point cloud sub-regions. From the plurality of point cloud sub-regions, determine the target point cloud sub-regions whose contained point cloud data belong to ground points; Determine the normal vectors of the point cloud data in all the target point cloud sub-regions, and use them as the normal vectors of the ground; The current longitudinal pose of the lidar is determined based on the ground normal vector, wherein the longitudinal pose includes the height, roll angle, and pitch angle of the corresponding component.

2. The method according to claim 1, characterized in that, The step of determining the target point cloud sub-region from the plurality of point cloud sub-regions, which contains point cloud data belonging to ground points, includes: For each point cloud sub-region, principal component analysis is performed on the point cloud data in that sub-region to obtain the normal vector of that sub-region. Based on the normal vector of the point cloud sub-region, determine whether the point cloud data in the point cloud sub-region belongs to the ground point.

3. The method according to claim 1, characterized in that, Determining the current longitudinal pose of the lidar based on the ground normal vector includes: A plane fit is performed based on the normal vector of the ground to obtain the fitted ground; The distance between the lidar and the fitted ground is determined as the current altitude of the lidar; The current roll angle and current pitch angle of the lidar are determined based on the ground normal vector.

4. The method according to claim 1, characterized in that, The method further includes: The first longitudinal pose of the vehicle body where the lidar is located and the second longitudinal pose of the upper vehicle body are obtained, wherein the vehicle body includes the upper vehicle body and the lower vehicle body; Based on the first longitudinal pose and the second longitudinal pose, determine the third longitudinal pose of the lower vehicle body; The current longitudinal pose is corrected based on the third longitudinal pose.

5. The method according to claim 1, characterized in that, The method further includes: If the number of longitudinal poses contained in the historical longitudinal pose information of the lidar reaches a first preset number, then it is determined whether the road segment in which the vehicle where the lidar is located travels within a first preset time period before the current moment is a bumpy road segment, wherein the historical longitudinal pose information includes the longitudinal pose of the lidar within the first preset time period. If the driving section is not a bumpy section, the target longitudinal pose of the lidar is determined based on the current longitudinal pose and the historical longitudinal pose information. The longitudinal pose of the target is used to calibrate the longitudinal pose of the lidar.

6. The method according to claim 5, characterized in that, Before the step of determining the target longitudinal pose of the lidar based on the current longitudinal pose and the historical longitudinal pose information, the method further includes: Determine whether the vehicle exhibits any sudden acceleration or deceleration behavior on the road segment in question; If the vehicle does not exhibit the rapid acceleration or deceleration behavior on the road segment, then the step of determining the target longitudinal pose of the lidar based on the current longitudinal pose and the historical longitudinal pose information is executed.

7. The method according to claim 1, characterized in that, The real-time acquisition of the current frame point cloud data of the lidar includes: The initial point cloud data of the current frame of the lidar is acquired in real time; Based on the displacement information of the inertial measurement unit during the acquisition of the initial point cloud data of the current frame, motion distortion is removed from the initial point cloud data of the current frame to obtain the point cloud data of the current frame.

8. The method according to any one of claims 1-7, characterized in that, The method further includes: Based on the current frame point cloud data, the current lateral pose of the lidar is obtained using a lidar odometry system, wherein the lateral pose includes the lateral position and the longitudinal position of the lidar. Based on the current lateral pose and historical lateral pose information, the first trajectory of the lidar within a second preset time period before the current moment is determined, wherein the historical lateral pose information includes the lateral pose of the lidar within the second preset time period; The current yaw angle of the lidar is determined based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period.

9. The method according to claim 8, characterized in that, The step of obtaining the current lateral pose of the lidar using a lidar odometry based on the current frame point cloud data includes: If the current frame point cloud data is the first frame point cloud data in the lidar calibration process, then a point cloud map is constructed based on the current frame point cloud data; If the current frame point cloud data is not the first frame point cloud data, then at least a portion of the point cloud data in the current frame point cloud data is matched with the point cloud map to obtain multiple neighboring points for each point cloud data in the at least a portion of the point cloud data. For each point cloud data in the at least partial point cloud data, the perpendicularity of the normal vectors of multiple neighboring points of the point cloud data is determined; if the perpendicularity is greater than a first preset perpendicularity threshold, the point cloud data is determined as a second candidate point cloud data. If the number of the second candidate point cloud data reaches the second preset number, then for each second candidate point cloud data, a plane fitting is performed based on the normal vectors of multiple neighboring points of the second candidate point cloud data to obtain the fitting plane where multiple neighboring points of the second candidate point cloud data are located. The current lateral pose of the lidar is determined based on the fitted plane containing all the second candidate point cloud data and multiple neighboring points of each second candidate point cloud data.

10. The method according to claim 9, characterized in that, The step of determining the current lateral pose of the lidar based on the fitting plane containing all the second candidate point cloud data and multiple neighboring points of each second candidate point cloud data includes: Determine the mapping points of all the second candidate point cloud data when the lidar is in different lateral poses, and obtain the set of mapping points when the lidar is in different lateral poses; For each set of mapping points, the sum of distances from each mapping point in the set to the corresponding plane is determined, wherein the corresponding plane is the fitting plane containing multiple neighboring points of the second candidate point cloud data corresponding to the mapping point; If the minimum value of the sum of distances is less than a preset distance threshold, then the lateral pose of the lidar corresponding to the set of mapping points with the minimum sum of distances is determined as the current lateral pose, and all the second candidate point cloud data are updated to the point cloud map.

11. The method according to claim 8, characterized in that, Determining the current yaw angle of the lidar based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period includes: Based on the first trajectory, determine the first lateral displacement and the first longitudinal displacement of the lidar within the second preset time period, and based on the second trajectory, determine the second lateral displacement and the second longitudinal displacement of the inertial measurement unit within the second preset time period. The difference between the first ratio and the second ratio is determined as the current yaw angle of the lidar, wherein the first ratio is the ratio of the first lateral displacement to the first longitudinal displacement, and the second ratio is the ratio of the second lateral displacement to the second longitudinal displacement.

12. The method according to claim 8, characterized in that, The method further includes: Determine the displacement deviation between the first trajectory and the second trajectory; If the displacement deviation is less than a preset displacement threshold, then the current yaw angle is determined as the first candidate yaw angle; If the number of first candidate yaw angles obtained during the lidar calibration process reaches a third preset number, then the standard deviation of the second candidate yaw angle is determined, wherein the second candidate yaw angle includes the most recently obtained third preset number of first candidate yaw angles. If the standard deviation is less than a preset standard deviation threshold, then the target yaw angle of the lidar is determined based on the second candidate yaw angle. The yaw angle of the lidar is calibrated using the target yaw angle.

13. The method according to claim 8, characterized in that, Before the step of determining the current yaw angle of the lidar based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period, the method further includes: Based on the first trajectory or the second trajectory, determine whether the vehicle containing the lidar is traveling in a straight line within the second preset time period; If the vehicle travels in a straight line within the second preset time period, then the step of determining the current yaw angle of the lidar based on the first trajectory and the second trajectory of the inertial measurement unit within the second preset time period is executed.

14. A calibration device for a lidar, characterized in that, include: The first acquisition module is configured to acquire the current frame point cloud data of the lidar in real time; The elimination module is configured to eliminate point cloud data with a height greater than a preset height threshold from the current frame point cloud data to obtain the first candidate point cloud data; The region segmentation module is configured to segment the first candidate point cloud data into multiple point cloud sub-regions. The first determining module is configured to determine, from the plurality of point cloud sub-regions, a target point cloud sub-region in which the contained point cloud data belongs to ground points; The second determining module is configured to determine the normal vectors of the point cloud data in all the target point cloud sub-regions as the normal vectors of the ground. The third determining module is configured to determine the current longitudinal pose of the lidar based on the normal vector of the ground, wherein the longitudinal pose includes the height, roll angle and pitch angle of the corresponding component.

15. A vehicle, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to execute the executable instructions stored in the memory to implement the method of any one of claims 1-13.

16. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program performs the steps of the method described in any one of claims 1-13.

Citation Information

Patent Citations

  • Laser radar ground extraction method and device

    CN115327569A

  • Laser radar self-calibration method, system and device and storage medium

    CN116559845A

  • Improved LeGO-LOAM algorithm considering bumpy road conditions

    CN116740092A

  • EXTRINSIC CALIBRATION METHOD OF MULTIPLE 3D LiDAR SENSORS FOR AUTONOMOUS NAVIGATION SYSTEM

    US20210103040A1