Sensor calibration method, device and storage medium for transport vehicle
By optimizing the calibration matrix, the point cloud data of the lidar is converted to the coordinate system of the positioning system, which solves the problem of unified data between the lidar and the positioning system, and improves the positioning accuracy and computing efficiency of the transport vehicle.
Patent Information
- Application Number
- CN202111552804.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-17
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2041-12-17
AI Technical Summary
During the combined use of lidar and positioning systems, the detection data of both need to be unified under the same coordinate system to meet the computing needs, but the existing technology has not effectively solved this problem.
By acquiring the reference mileage data of the positioning system and the point cloud data of the lidar, the first starting calibration matrix is optimized using a preset iterative algorithm, and the first calibration matrix is fitted according to the distance of the laser point in the nearest neighborhood to realize the coordinate system conversion of the data.
The positioning accuracy and calculation efficiency of the transport vehicle are improved, ensuring accurate positioning when the lidar is affected by obstacles or the accuracy of the positioning system decreases.
Smart Images

Figure CN114252872B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of sensors for transport vehicles, and more specifically, to a sensor calibration method, device, and storage medium for transport vehicles. Background Art
[0002] When using the lidar and positioning system in combination, the control console of the transport vehicle needs to comprehensively consider the detection data of the lidar and positioning system.
[0003] However, the detection data acquired by the LiDAR and positioning system is based on its own coordinate system. For example, the point cloud data acquired by the LiDAR corresponds to the coordinates of the LiDAR itself. The transport vehicle's control console needs to unify the detection data acquired by the LiDAR and positioning system into the same coordinate system to meet subsequent calculation requirements. Summary of the Invention
[0004] Embodiments of the present application provide a sensor calibration method, device, and storage medium for a transportation vehicle.
[0005] In a first aspect, some embodiments of the present application provide a sensor calibration method for a transport vehicle, wherein the transport vehicle is equipped with a positioning system and a laser radar. The method comprises: obtaining baseline mileage data based on positioning data output by the positioning system, the baseline mileage data including a timestamp and mileage data corresponding to the timestamp, the mileage data being described using a first coordinate system. A first point cloud sequence is obtained based on the data output by the laser radar, the first point cloud sequence including multiple point cloud data packets, the point cloud data packets including a point cloud timestamp and multiple laser point data, the laser point data including coordinates and point time offsets. Mileage information for each laser point in the point cloud data packet is obtained based on the point cloud timestamp, the point time offset, and the baseline mileage data. The coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using a preset first starting calibration matrix to obtain a second point cloud sequence, and the error of the first starting calibration matrix is characterized using the distance between points in the nearest neighborhood of the laser points in the second point cloud sequence as a parameter. The first starting calibration matrix is iteratively optimized using a preset iterative algorithm to obtain the first calibration matrix.
[0006] In a second aspect, some embodiments of the present application further provide a sensor calibration device for a transport vehicle, the transport vehicle being equipped with a positioning system and a laser radar. The device comprises: a first mileage information acquisition module, a first point cloud sequence acquisition module, a second mileage information acquisition module, a second point cloud sequence acquisition module, and an iterative optimization module. The first mileage information acquisition module is configured to acquire baseline mileage data based on positioning data output by the positioning system. The baseline mileage data includes a timestamp and mileage data corresponding to the timestamp, and the mileage data is described in a first coordinate system. The first point cloud sequence acquisition module is configured to acquire a first point cloud sequence based on data output by the laser radar. The first point cloud sequence includes multiple point cloud data packets, each of which includes a point cloud timestamp and multiple laser point data. The laser point data includes coordinates and point time offsets. The second mileage information acquisition module is configured to acquire mileage information for each laser point in the point cloud data packet based on the point cloud timestamp, point time offset, and baseline mileage data. The second point cloud sequence acquisition module is configured to convert the coordinates of the laser points in the first point cloud sequence to the first coordinate system using a preset first starting calibration matrix to obtain a second point cloud sequence. The iterative optimization module is used to characterize the error of the first initial calibration matrix using the distance between the points in the nearest neighborhood of the laser point in the second point cloud sequence as a parameter, and iteratively optimize the first initial calibration matrix using a preset iterative algorithm to obtain the first calibration matrix.
[0007] In a third aspect, some embodiments of the present application also provide a transport vehicle, comprising: one or more processors, a memory, and one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by one or more processors, and the one or more programs are configured to execute the above-mentioned sensor calibration method for the transport vehicle.
[0008] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a program code, wherein when the program code is executed by a processor, the above-mentioned sensor calibration method for a transport vehicle is executed.
[0009] In a fifth aspect, an embodiment of the present application further provides a computer program product, which, when executed, implements the above-mentioned sensor calibration method for a transport vehicle.
[0010] The present application provides a sensor calibration method, device and storage medium for a transport vehicle, which is equipped with a positioning system and a laser radar. The method fits a first calibration matrix by using the distance between points in the nearest neighborhood of a laser point in a second point cloud sequence as an error, so that the point cloud data output by the laser radar can be quickly converted into the same coordinate system as the benchmark mileage data obtained based on the positioning system through the first calibration matrix. When the transport vehicle is subsequently controlled based on the above-mentioned point cloud data and benchmark mileage data, the calculation process can be made more convenient, the calculation efficiency can be improved, and the control efficiency of the transport vehicle can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0012] Figure 1 A schematic diagram of an application environment of a sensor calibration method for a transport vehicle provided in an embodiment of the present application is shown.
[0013] Figure 2 A module block diagram of a console provided in an embodiment of the present application is shown.
[0014] Figure 3 A schematic flow chart of a sensor calibration method for a transport vehicle provided in the first embodiment of the present application is shown.
[0015] Figure 4 A flow chart of a sensor calibration method for a transport vehicle provided in the second embodiment of the present application is shown.
[0016] Figure 5 A flow chart of a sensor calibration method for a transport vehicle provided in the third embodiment of the present application is shown.
[0017] Figure 6 A module block diagram of a sensor calibration device for a transport vehicle provided in an embodiment of the present application is shown.
[0018] Figure 7 A module block diagram of a transport vehicle provided in an embodiment of the present application is shown.
[0019] Figure 8 A module block diagram of a computer-readable storage medium provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0020] The embodiments of the present application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present application and are not to be construed as limiting the present application.
[0021] In order to enable those skilled in the art to better understand the solutions of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without making creative efforts are within the scope of protection of this application.
[0022] The present application provides a sensor calibration method, device and storage medium for a transport vehicle, which is equipped with a positioning system and a laser radar. The method fits a first calibration matrix by using the distance between points in the nearest neighborhood of a laser point in a second point cloud sequence as an error, so that the point cloud data output by the laser radar can be quickly converted into the same coordinate system as the benchmark mileage data obtained based on the positioning system through the first calibration matrix. When the transport vehicle is subsequently controlled based on the above-mentioned point cloud data and benchmark mileage data, the calculation process can be made more convenient, the calculation efficiency can be improved, and the control efficiency of the transport vehicle can be improved.
[0023] In order to facilitate the detailed description of the present application, the application environment of the present application embodiment is first introduced in conjunction with the accompanying drawings. Figure 1 , Figure 1 The sensor calibration method for a transport vehicle provided in an embodiment of the present application can be applied to a transport vehicle 100 , which may include a positioning system 110 , a laser radar (LiDAR) 120 , and a console 130 .
[0024] The transport vehicle 100 is a vehicle for transporting passengers and goods. In this application, the transport vehicle 100 includes airplanes and flying cars.
[0025] The positioning system 110 is installed on the transport vehicle 100 and is a system that provides real-time location information for the transport vehicle 100. In some embodiments, the positioning system 110 includes a global navigation satellite system 1101. The global navigation satellite system 1101 is a high-precision radio navigation positioning system based on artificial earth satellites, which can provide the transport vehicle 100 with accurate geographic location, driving speed and precise time information anywhere in the world and in near-Earth space. In other embodiments, the positioning system 100 also includes an inertial measurement unit (IMU) 1103. The inertial measurement unit 1103 is a sensor based on the law of inertia for measuring acceleration information and rotational motion information of the transport vehicle 100. In this embodiment, the global navigation satellite system 1101 and the inertial measurement unit 1103 are used to measure the positioning data of the transport vehicle 100. The positioning data of the transport vehicle 100 may include the latitude and longitude data of the current position of the transport vehicle 100, mileage timestamp, altitude data and track mileage calculation data. Specifically, the latitude and longitude data, mileage timestamp, and altitude data of the current position of the transport vehicle 100 are measured by the global navigation satellite system 1101, and the track mileage estimation data is measured by the inertial measurement unit 1103, wherein the track mileage estimation data includes acceleration data and rotation data of the transport vehicle 100 at the current position.
[0026] The laser radar 120, mounted on the transport vehicle 100, is a device that detects target objects by emitting, reflecting, and receiving infrared beams. The laser radar 120 measures the time difference between the emission and reception of the infrared beam's echo by rotating a mechanical mirror within the radar 120, thereby determining the target's position and distance. In this embodiment, the laser radar 120 is used to obtain laser point data and a point cloud timestamp for the transport vehicle 100's current position. The laser point data includes the coordinates of the laser point and a point time offset.
[0027] The console 130 is the data processing center of the transport vehicle 100, and the console 130 is connected to the positioning system 110 and the laser radar 120 respectively. In some embodiments of the present application, the console 130 is used to fit the first calibration matrix so that the point cloud data output by the laser radar can be quickly converted to the same coordinate system as the reference mileage data through the first calibration matrix, and the above-mentioned reference mileage data is obtained by the positioning system. In this way, the data output by the laser radar can be quickly mapped to the coordinate system used by the reference mileage data. When the laser radar is affected by an obstacle, the data output by the laser radar can be obtained by transforming the reference mileage data and the first calibration matrix. Alternatively, when the accuracy of the positioning system decreases, the reference mileage data can be obtained by using the data output by the laser radar and the first calibration matrix, so that the positioning of the transport vehicle is more accurate.
[0028] like Figure 2 As shown, Figure 2 The module block diagram of a console provided by an embodiment of the present application is schematically shown. In some embodiments, the console 130 includes a fusion positioning module 131, a point cloud processing module 133 and an optimization module 135. Among them, the fusion positioning module 131 includes a latitude and longitude analysis module and a track calculation module. The latitude and longitude analysis module and the track calculation module process the combined inertial navigation data of the transport vehicle 100 acquired by the positioning system 110 to obtain an odometer sequence. Among them, the odometer sequence includes a mileage timestamp, attitude information (rotation data) and offset information (acceleration data). The point cloud processing module 133 includes a point cloud preprocessing module. The point cloud preprocessing module processes the point cloud data acquired by the laser radar 120 to obtain a point cloud sequence. Among them, the point cloud sequence includes a point cloud timestamp, a point time offset and a point cloud position (coordinate data). Further, based on the odometer sequence and the point cloud sequence, point cloud mileage information is obtained to obtain a point cloud sequence with mileage, and the point cloud sequence with mileage is used as input data for the optimization module 135. Among them, the mileage point cloud sequence includes point cloud timestamp, point time offset, point cloud position (coordinate data) and point mileage information (posture information and offset information).
[0029] In optimization module 135, the optimization process includes global optimization and local optimization. The specific implementation of global optimization and local optimization is described in the following examples. Through global optimization and local optimization, a calibration matrix is obtained. The optimized data in the calibration matrix includes calibration pose information and calibration offset information. Furthermore, optimization module 135 determines whether the optimization is complete. If so, the final calibration matrix is obtained. If not, global optimization and local optimization continue.
[0030] like Figure 3 As shown, Figure 3A sensor calibration method for a transport vehicle, provided in the first embodiment of the present application, is schematically illustrated. In this method, a first point cloud sequence containing mileage data is obtained using baseline mileage data and data output by a laser radar. The first point cloud sequence is then subjected to coordinate transformation to obtain a second point cloud sequence. The distance between the second point cloud sequence and its nearest neighboring points is used as the error to iteratively optimize the first initial calibration matrix to obtain a first calibration matrix. The first calibration matrix is then used to transform the baseline mileage data and the data output by the laser radar, thereby improving the positioning accuracy of the transport vehicle. This method is applied to a transport vehicle equipped with a positioning system and a laser radar. Specifically, the method may include steps S310 to S350.
[0031] Step S310: Obtaining benchmark mileage data based on the positioning data output by the positioning system.
[0032] The positioning system includes a global navigation satellite system (GNSS) and / or an inertial measurement unit (IMU). The GNSS is a high-precision radio navigation positioning system based on artificial Earth satellites. An IMU is a sensor that uses the laws of inertia to measure the acceleration and rotational motion of a vehicle.
[0033] When the positioning system includes a global navigation satellite system (GNSS), the positioning data includes the mileage timestamp, latitude, longitude, and altitude data output by the GNSS. The latitude, longitude, and altitude data represent the location information of the transport vehicle, while the mileage timestamp is the time information corresponding to the latitude, longitude, and altitude data collected at different locations of the transport vehicle.
[0034] When the positioning system includes an inertial measurement unit (IMU), the positioning data includes dead reckoning data output by the IMU. The dead reckoning data includes acceleration data and rotation data. The acceleration data includes acceleration data of the transport vehicle along three independent axes, and the rotation data includes angular velocity data of the transport vehicle relative to a navigation coordinate system. For example, the navigation coordinate system may be a "northeast celestial" coordinate system or a "northeast terrestrial" coordinate system.
[0035] When the positioning system includes a global navigation satellite system and an inertial measurement unit, the positioning data includes at least one of the following: the mileage timestamp, latitude and longitude data, and altitude data output by the global navigation satellite system, and the track mileage estimation data output by the inertial measurement unit. In some embodiments, when the accuracy of the global navigation satellite system is less than a preset accuracy threshold, the console will obtain the track mileage estimation data output by the inertial measurement unit. At this time, the positioning data includes the track mileage estimation data output by the inertial measurement unit when the accuracy of the global navigation satellite system is less than the preset accuracy threshold, and the data output by the global navigation satellite system when the accuracy of the global navigation satellite system is greater than the preset accuracy threshold. In the above manner, the flying car can obtain basic mileage information in different signal environments.
[0036] The control console processes the positioning data to obtain the baseline mileage data corresponding to the transport vehicle. The baseline mileage data includes a mileage timestamp and the mileage data corresponding to the mileage timestamp. The mileage data is described in a first coordinate system. The first coordinate system can be the UTM coordinate system, the WGS84 coordinate system, or other systems.
[0037] When the positioning data includes latitude, longitude, and altitude data output by a global navigation satellite system, the latitude and longitude data are converted to coordinates in the first coordinate system. The mileage conversion between each measurement is then calculated and accumulated to obtain the baseline mileage information based on the initial position. Compared to directly using longitude and latitude data, or directly using longitude and latitude data in the first coordinate system, this method is less likely to cause data overflow or loss of precision during the calculation process because the mileage conversion between each measurement is smaller. Furthermore, it can eliminate the impact of direct measurement accuracy.
[0038] When the positioning system includes a global navigation satellite system and an inertial measurement unit, when it is detected at the first moment that the accuracy of the global navigation satellite system is less than a preset accuracy threshold, step 310 may include steps S311 to S313.
[0039] Step S311: Obtaining track odometer data output by the inertial measurement unit.
[0040] The accuracy of the GNSS represents the difference between the vehicle's actual positioning data and the measured positioning data. The smaller the difference, the greater the GNSS accuracy; the larger the difference, the lower the GNSS accuracy. The control console acquires the dead reckoning data output by the inertial measurement unit (IMU) the first time it detects that the GNSS accuracy falls below a preset accuracy threshold.
[0041] Step S313: Calculate the baseline mileage data based on the track mileage calculation data and the positioning data output by the global navigation satellite system when the accuracy is greater than or equal to the preset accuracy threshold.
[0042] Specifically, when the accuracy of the GNSS is greater than or equal to a preset accuracy threshold, baseline mileage data is calculated using positioning data output by the GNSS. Based on this baseline mileage data, when the accuracy of the GNSS is less than the preset accuracy threshold, the baseline mileage data is obtained using dead reckoning data. This prevents jumps and discontinuities in the trajectory caused by direct switching, allowing the control console to accurately obtain the baseline mileage data and provide reliable data support for the subsequent optimization of the first calibration matrix.
[0043] Step S320: Acquire a first point cloud sequence based on data output by the laser radar.
[0044] The first point cloud sequence includes multiple point cloud data packets, each of which represents the laser point data obtained by the LiDAR during a single scan. Specifically, the LiDAR will sequentially emit multiple laser beams from a given location to scan a specified area, generating corresponding laser point data. These laser point data packets comprise a single point cloud data packet.
[0045] A point cloud data packet includes a point cloud timestamp and multiple laser point data. The laser point data includes coordinates and point time offsets. In each point cloud data packet, the point cloud timestamp is the time information of the earliest laser point emitted during the scanning process. Because each laser point has a certain temporal sequence when it is emitted, the point time offset corresponding to each laser point represents the time difference between the actual emission time of the laser point and the point cloud timestamp.
[0046] In some embodiments, the console can calculate the coordinates corresponding to the laser point based on the angle of the laser emitter in the laser radar, the height of the transport vehicle, the direction of travel of the transport vehicle, and the time points when the laser emitter emits and receives the laser. The coordinates are the three-dimensional coordinate data corresponding to the terrain environment scanned by the laser point. In other embodiments, the laser radar is equipped with a coordinate calculation unit, which can directly calculate the coordinates corresponding to the laser point, and the console can directly read the coordinates corresponding to the laser point in the laser radar. In this embodiment, the console filters the data read above, removes data with large errors due to point cloud motion distortion, and uses the filtered data as the first point cloud sequence. In this way, the coordinates of laser points with large errors can be eliminated, providing reliable data support for the subsequent optimization of the first calibration matrix.
[0047] Step S330: Obtain the mileage information of each laser point in the point cloud data packet according to the point cloud timestamp, point time offset and benchmark mileage data.
[0048] Since the positioning system outputs positioning data at a higher frequency than the lidar outputs data, the amount of benchmark mileage data acquired by the console is greater than the amount of laser point data in the first point cloud sequence within the same time period. Therefore, it is possible to determine whether there is a corresponding mileage timestamp based on the point timestamp.
[0049] As an implementation method, for each laser point, the console calculates its corresponding point timestamp, and then determines whether there is a mileage timestamp that is the same as the point timestamp. If so, the mileage information corresponding to the mileage timestamp is determined as the mileage information of the laser point; if not, it means that there is no mileage information for the current laser point. The point timestamp is calculated based on the point cloud timestamp corresponding to the point cloud data packet and the point time offset corresponding to each laser point. For example, if the point cloud timestamp corresponding to the point cloud data packet is 10:30:20 Beijing time, and the point time offset corresponding to a laser point in the point cloud data packet is 15 seconds, then the point timestamp corresponding to the laser point is 10:30:35 Beijing time.
[0050] If the number of laser points with confirmed mileage information in a point cloud data packet exceeds a preset number but is less than the total number of laser points included in the point cloud data packet, mileage information is interpolated for the laser points for which mileage information is not determined using an interpolation algorithm. Interpolation algorithms include, but are not limited to, nearest neighbor interpolation, bilinear interpolation, and bicubic interpolation. If the number of laser points with confirmed mileage information in a point cloud data packet is less than the preset number, the point cloud data packet is discarded.
[0051] Step S340: The coordinates of the laser points in the first point cloud sequence are converted into the first coordinate system using a preset first initial calibration matrix to obtain a second point cloud sequence.
[0052] The first starting calibration matrix represents the first calibration matrix that has not been optimized. The initial value of the first starting calibration matrix is set by default by the algorithm. For example, the initial value of each element in the first starting calibration matrix is the same default value, for example, the default value is 1. The console can transform the coordinates of the laser points in the first point cloud sequence into the first coordinate system to obtain the second point cloud sequence through the first starting calibration matrix. In the embodiment of the present application, the transformation of the first point cloud sequence into the second point cloud sequence can be achieved by the following formula through the first starting calibration matrix:
[0053] P t ′ =T t T L P t .
[0054] Among them, t is the time information in the point cloud timestamp corresponding to the first point cloud sequence, P t is the coordinate data of the laser point in the first point cloud sequence, Tt is the mileage information under the same time information, T L is the first starting calibration matrix to be optimized.
[0055] In some embodiments, the console stores the first point cloud sequence and the second point cloud sequence in a k-dimensional tree according to coordinates.
[0056] Step S350: using the distance between the laser points in the second point cloud sequence and the points in their nearest neighborhood as a parameter to characterize the error of the first initial calibration matrix, and iteratively optimizing the first initial calibration matrix using a preset iterative algorithm to obtain a first calibration matrix.
[0057] The nearest neighbor refers to finding the neighborhood with the smallest radius for each laser point in the entire point cloud data (including the first point cloud sequence and the second point cloud sequence), and the neighborhood contains at least one laser point other than itself.
[0058] For any laser point in the second point cloud sequence (hereinafter referred to as the transformed laser point), since it is obtained by coordinate transformation of the laser point in the first point cloud sequence (hereinafter referred to as the original laser point), the two are actually the same point. When the first starting calibration matrix is relatively accurate, the point in the nearest neighborhood of the transformed laser point should be its corresponding original laser point. Based on the above principle, the distance between the points in the nearest neighborhood of the laser point in the second point cloud sequence can be used as a parameter to characterize the error of the first starting calibration matrix, and the first starting calibration matrix is iteratively optimized to obtain the first calibration matrix. The console determines the point in the nearest neighborhood of the laser point in the second point cloud sequence by searching the k-dimensional tree, and calculates the distance between the two. Then, the distance between all the laser points in the second point cloud sequence and their nearest neighborhood points is accumulated to obtain the error of the first starting calibration matrix.
[0059] Preset iterative algorithms include a gradient descent optimization algorithm, a Gauss-Newton algorithm, a LM gradient descent algorithm, a graph optimization algorithm, and the like. After optimizing the parameters of the first starting calibration matrix, the console repeats steps 340 and 350 until an end-iteration condition is satisfied. The calibration matrix obtained after the end-iteration condition is satisfied is the first calibration matrix.
[0060] In some embodiments, the control console terminates the iterative optimization to obtain the first calibration matrix when the error is less than a preset threshold. In this embodiment, the terminating condition is when the error is less than the preset threshold. The preset threshold is determined based on the actual accuracy requirements of the first calibration matrix. The higher the accuracy requirements of the first calibration matrix, the smaller the preset threshold; the lower the accuracy requirements of the first calibration matrix, the larger the preset threshold. By terminating the iterative optimization when the error is less than the preset threshold, computing resources of the control console in the transport vehicle can be conserved.
[0061] In other embodiments, the iterative algorithm includes an iteration count. When the iteration count exceeds a preset value, the console terminates the iterative optimization to obtain the first calibration matrix. The iteration count represents the number of times the first starting calibration matrix is iteratively optimized. In this embodiment, the condition for terminating the iteration is that the iteration count exceeds the preset value. The preset value is determined based on the actual accuracy requirements of the first calibration matrix. The higher the accuracy requirements of the first calibration matrix, the smaller the preset value, and the lower the accuracy requirements of the first calibration matrix, the larger the preset value. When the iteration count is less than or equal to the preset value, the iterative optimization of the first starting calibration matrix continues. By terminating the iterative optimization when the iteration count exceeds the preset value, computing resources of the console in the transport vehicle can be conserved.
[0062] The embodiment of the present application provides a sensor calibration method for a transport vehicle, which uses the distance between points in the nearest neighborhood of a laser point in a second point cloud sequence as an error to fit a first calibration matrix, so that the point cloud data output by the laser radar can be quickly converted to the same coordinate system as the reference mileage data obtained based on the positioning system through the first calibration matrix. When the transport vehicle is subsequently controlled based on the above point cloud data and the reference mileage data, the calculation process can be made more convenient, the calculation efficiency can be improved, and the control efficiency of the transport vehicle can be improved. In some scenarios, when the laser radar is affected by obstacles or is limited by the viewing angle, the data output by the laser radar can be obtained by transforming the reference mileage data and the first calibration matrix, or, when the accuracy of the positioning system decreases, the reference mileage data can be obtained by using the data output by the laser radar and the first calibration matrix, so that the positioning of the transport vehicle is more accurate.
[0063] like Figure 4 As shown, Figure 4 A sensor calibration method for a transport vehicle provided by the second embodiment of the present application is schematically illustrated. In this method, the first starting calibration matrix includes a rotation calibration matrix and a translation calibration matrix, the rotation calibration matrix represents the rotation component in the first starting calibration matrix, and the translation calibration matrix represents the translation component in the first starting calibration matrix. This method optimizes the rotation calibration matrix first, and then optimizes the translation calibration matrix and the optimized rotation calibration matrix after the rotation calibration matrix is optimized. This can speed up the optimization of the first calibration matrix and improve the accuracy of the first calibration matrix. This method is applied to a transport vehicle equipped with a positioning system and a lidar. Specifically, the method can include steps S410 to S470.
[0064] Step S410: Obtaining benchmark mileage data based on the positioning data output by the positioning system.
[0065] Step S420: Acquire a first point cloud sequence based on data output by the laser radar.
[0066] Step S430: Obtain the mileage information of each laser point in the point cloud data packet according to the point cloud timestamp, point time offset and benchmark mileage data.
[0067] The specific implementation of steps S410 to S430 can refer to the specific introduction of steps S310 to S330, and will not be elaborated here one by one.
[0068] Step S440: Under the condition that the translation calibration matrix is set to be empty, the coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using the first initial calibration matrix to obtain a second point cloud sequence.
[0069] When the translation calibration matrix is set to null, the first calibration matrix is a rotation calibration matrix. As an embodiment, when the translation calibration matrix is set to null, the rotation calibration matrix is set to the identity matrix, thereby obtaining a first starting calibration matrix. The specific implementation of converting the coordinates of the laser points in the first point cloud sequence to the first coordinate system using the first starting calibration matrix to obtain the second point cloud sequence can be found in the detailed description of step S340 and will not be elaborated here.
[0070] Step S450: using the distance between the laser points in the second point cloud sequence and the points in their nearest neighborhood as a parameter to characterize the error of the first initial calibration matrix, and iteratively optimizing the first initial calibration matrix using a preset iterative algorithm to obtain a preset second initial calibration matrix.
[0071] The iterative optimization process of the preset second starting calibration matrix can be referred to the detailed description of step S350 and will not be elaborated here. The process of iteratively optimizing the rotation calibration matrix to obtain the preset second starting calibration matrix while leaving the translation calibration matrix empty is the global optimization process.
[0072] Step S460: The coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using a preset second initial calibration matrix to obtain a third point cloud sequence.
[0073] The preset second starting calibration matrix is obtained by iteratively optimizing the first starting calibration matrix using a preset iterative algorithm, with the distance between the points in the nearest neighborhood of the laser points in the second point cloud sequence as a parameter to characterize the error of the first starting calibration matrix when the translation calibration matrix is left blank.
[0074] The specific implementation of converting the coordinates of the laser points in the first point cloud sequence into the first coordinate system using the preset second starting calibration matrix to obtain the third point cloud sequence can be referred to the specific introduction in step S340 and will not be elaborated here.
[0075] Step S470: using the distance between the laser points in the third point cloud sequence and the points in their nearest neighborhood as a parameter to characterize the error of the second initial calibration matrix, and iteratively optimizing the second initial calibration matrix using a preset iterative algorithm to obtain a first calibration matrix.
[0076] The error calculation method and iterative optimization method corresponding to the error of the second starting calibration matrix can be referred to the detailed description of step S350. Among them, the process of iteratively optimizing the translation calibration matrix and the globally optimized rotation calibration matrix to obtain the first calibration matrix is the local optimization process.
[0077] In some embodiments, the console terminates the iterative optimization to obtain the first calibration matrix when the error of the second starting calibration matrix is less than a first set threshold. In this embodiment, the condition for terminating the iteration is that the error is less than the first set threshold. The first set threshold is determined based on the accuracy requirements of the first calibration matrix. The higher the accuracy requirements of the first calibration matrix, the smaller the first set threshold, and the lower the accuracy requirements of the first calibration matrix, the larger the first set threshold.
[0078] In other embodiments, the console performs iterative optimization to obtain the first calibration matrix when the number of iterations exceeds a first set value. The number of iterations represents the number of times the iterative optimization of the second starting calibration matrix is repeated. In this embodiment, the condition for terminating the iterations is that the number of iterations exceeds the first set value. The first set value is determined based on the accuracy requirements of the first calibration matrix. The higher the accuracy requirements of the first calibration matrix, the smaller the first set value, and the lower the accuracy requirements of the first calibration matrix, the larger the first set value. When the number of iterations is less than or equal to the first set value, the iterative optimization of the second starting calibration matrix continues.
[0079] An embodiment of the present application provides a sensor calibration method for a transport vehicle. By first optimizing a rotation calibration matrix, and then optimizing the translation calibration matrix and the optimized rotation calibration matrix after the rotation calibration matrix is optimized, the speed of iterative optimization of the first calibration matrix can be accelerated.
[0080] like Figure 5 As shown, Figure 5A sensor calibration method for a transport vehicle provided in the third embodiment of the present application is schematically shown. In this method, the first starting calibration matrix includes a rotation calibration matrix and a translation calibration matrix. The rotation calibration matrix represents the rotation component in the first starting calibration matrix, and the translation calibration matrix represents the translation component in the first starting calibration matrix. This method optimizes the translation calibration matrix first, and then optimizes the rotation calibration matrix and the optimized translation calibration matrix after the translation calibration matrix is optimized. This can speed up the optimization of the first calibration matrix and improve the accuracy of the first calibration matrix. This method is applied to a transport vehicle equipped with a positioning system and a laser radar. Specifically, the method can include steps S510 to S570.
[0081] Step S510: Obtaining benchmark mileage data based on the positioning data output by the positioning system.
[0082] Step S520: Acquire a first point cloud sequence based on data output by the laser radar.
[0083] Step S530: Obtain the mileage information of each laser point in the point cloud data packet according to the point cloud timestamp, point time offset and benchmark mileage data.
[0084] The specific implementation of steps S510 to S530 can refer to the specific introduction of steps S310 to S330, and will not be elaborated here one by one.
[0085] Step S540: Under the condition that the rotation calibration matrix is set to be empty, the coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using the first initial calibration matrix to obtain a second point cloud sequence.
[0086] When the rotation calibration matrix is set to null, the first calibration matrix is the translation calibration matrix. As an embodiment, when the rotation calibration matrix is set to null, the translation calibration matrix is set to the identity matrix, thereby obtaining the first starting calibration matrix. The specific implementation of converting the coordinates of the laser points in the first point cloud sequence to the first coordinate system using the first starting calibration matrix to obtain the second point cloud sequence can be found in the detailed description of step S340 and will not be elaborated here.
[0087] Step S550: using the distance between the laser points in the second point cloud sequence and the points in their nearest neighborhood as a parameter to characterize the error of the first initial calibration matrix, and iteratively optimizing the first initial calibration matrix using a preset iterative algorithm to obtain a preset third initial calibration matrix.
[0088] The iterative optimization process of the preset third starting calibration matrix can be referred to the detailed description of step S350 and will not be elaborated here. The process of iteratively optimizing the translation calibration matrix to obtain the preset third starting calibration matrix while leaving the rotation calibration matrix empty is the global optimization process.
[0089] Step S560: The coordinates of the laser points in the first point cloud sequence are converted into the first coordinate system using a preset third initial calibration matrix to obtain a fourth point cloud sequence.
[0090] The preset third starting calibration matrix is obtained by iteratively optimizing the first starting calibration matrix using a preset iterative algorithm, with the distance between the points in the nearest neighborhood of the laser point in the second point cloud sequence as a parameter to characterize the error of the first starting calibration matrix when the rotation calibration matrix is left blank.
[0091] The specific implementation of converting the coordinates of the laser points in the first point cloud sequence into the first coordinate system using the preset third starting calibration matrix to obtain the fourth point cloud sequence can be referred to the specific introduction in step S340 and will not be elaborated here.
[0092] Step S570: using the distance between the laser points in the fourth point cloud sequence and the points in their nearest neighborhood as a parameter to characterize the error of the second initial calibration matrix, and iteratively optimizing the third initial calibration matrix using a preset iterative algorithm to obtain a first calibration matrix.
[0093] The error calculation method and iterative optimization method corresponding to the error of the third starting calibration matrix can be referred to the detailed description of step S350. Among them, the process of iteratively optimizing the rotation calibration matrix and the globally optimized translation calibration matrix to obtain the first calibration matrix is the local optimization process.
[0094] In some embodiments, the console terminates the iterative optimization to obtain the first calibration matrix when the error of the third starting calibration matrix is less than a second set threshold. In this embodiment, the terminating condition for the iteration is that the error of the third starting calibration matrix is less than the second set threshold. The second set threshold is determined based on the accuracy requirements of the first calibration matrix. The higher the accuracy requirements of the first calibration matrix, the smaller the second set threshold, and the lower the accuracy requirements of the first calibration matrix, the larger the second set threshold.
[0095] In other embodiments, the console performs iterative optimization to obtain the first calibration matrix when the number of iterations exceeds a second set value. The number of iterations represents the number of times the iterative optimization of the third starting calibration matrix is repeated. In this embodiment, the condition for terminating the iterations is that the number of iterations exceeds the second set value. The second set value is determined based on the accuracy requirements of the first calibration matrix. The higher the accuracy requirements of the first calibration matrix, the smaller the second set value, and the lower the accuracy requirements of the first calibration matrix, the larger the second set value. When the number of iterations is less than or equal to the second set value, the iterative optimization of the third starting calibration matrix continues.
[0096] An embodiment of the present application provides a sensor calibration method for a transport vehicle. By first optimizing the translation calibration matrix, and then optimizing the rotation calibration matrix and the optimized translation calibration matrix after the translation calibration matrix is optimized, the speed of iterative optimization of the first calibration matrix can be accelerated.
[0097] See also Figure 6 , which shows a structural block diagram of a sensor calibration device 600 for a transport vehicle provided in an embodiment of the present application. The transport vehicle is equipped with a positioning system and a laser radar. The device 600 includes: a first mileage information acquisition module 610, a first point cloud sequence acquisition module 620, a second mileage information acquisition module 630, a second point cloud sequence acquisition module 640, and an iterative optimization module 650. The first mileage information acquisition module 610 is used to obtain baseline mileage data based on the positioning data output by the positioning system. The baseline mileage data includes a timestamp and mileage data corresponding to the timestamp. The mileage data is described in a first coordinate system. The first point cloud sequence acquisition module 620 is used to obtain a first point cloud sequence based on the data output by the laser radar. The first point cloud sequence includes multiple point cloud data packets. The point cloud data packets include a point cloud timestamp and multiple laser point data. The laser point data includes coordinates and point time offsets. The second mileage information acquisition module 630 is used to obtain mileage information for each laser point in the point cloud data packet based on the point cloud timestamp, point time offset, and baseline mileage data. The second point cloud sequence acquisition module 640 is configured to convert the coordinates of the laser points in the first point cloud sequence into the first coordinate system using a preset first initial calibration matrix to obtain a second point cloud sequence. The iterative optimization module 650 is configured to use the distance between the laser points in the second point cloud sequence and their nearest neighbor points as a parameter to characterize the error of the first initial calibration matrix, and to iteratively optimize the first initial calibration matrix using a preset iterative algorithm to obtain a first calibration matrix.
[0098] The embodiment of the present application provides a sensor calibration device for a transport vehicle, which uses the distance between points in the nearest neighborhood of a laser point in a second point cloud sequence as an error to fit a first calibration matrix, so that the point cloud data output by the laser radar can be quickly converted to the same coordinate system as the reference mileage data through the first calibration matrix, and the above-mentioned reference mileage data is obtained by the positioning system. In this way, the data output by the laser radar can be quickly mapped to the coordinate system used by the reference mileage data. When the laser radar is affected by an obstacle or is limited by the viewing angle, the data output by the laser radar can be obtained by transforming the reference mileage data and the first calibration matrix. Or, when the accuracy of the positioning system decreases, the reference mileage data can be obtained by using the data output by the laser radar and the first calibration matrix, so that the positioning of the transport vehicle is more accurate.
[0099] In some embodiments, the iterative optimization module 650 is configured to terminate the iterative optimization and obtain the first calibration matrix when the error is less than a preset threshold.
[0100] In some embodiments, the iterative optimization module 650 is configured to terminate the iterative optimization and obtain the first calibration matrix when the number of iterations is greater than a preset value.
[0101] In some embodiments, the iterative optimization module 650 is configured to calculate the sum of distances between all laser points in the second point cloud sequence and their nearest neighbors, and use the sum as a parameter to characterize the error of the first initial calibration matrix.
[0102] In some embodiments, the first calibration matrix includes a rotation calibration matrix and a translation calibration matrix. The second point cloud sequence acquisition module 640 is configured to convert the coordinates of the laser points in the first point cloud sequence into the first coordinate system using the first starting calibration matrix, with the translation calibration matrix being left blank, to obtain a second point cloud sequence.
[0103] In some embodiments, the device 600 further includes: a third point cloud sequence acquisition module (not shown in the figure). The third point cloud sequence acquisition module (not shown in the figure) is used to convert the coordinates of the laser points in the first point cloud sequence to the first coordinate system using a preset second starting calibration matrix to obtain a third point cloud sequence. The preset second starting calibration matrix is obtained by iteratively optimizing the first starting calibration matrix using a preset iterative algorithm when the translation calibration matrix is left blank. The iterative optimization module 650 is used to iteratively optimize the second starting calibration matrix using a preset iterative algorithm to characterize the error of the second starting calibration matrix using the distance between the points in the nearest neighborhood of the laser points in the third point cloud sequence as a parameter to obtain the first calibration matrix.
[0104] In some embodiments, the first calibration matrix includes a rotation calibration matrix and a translation calibration matrix. The second point cloud sequence acquisition module 640 is configured to convert the coordinates of the laser points in the first point cloud sequence into the first coordinate system using the first starting calibration matrix, with the rotation calibration matrix being left blank, to obtain a second point cloud sequence.
[0105] In some embodiments, the device 600 further includes: a fourth point cloud sequence acquisition module (not shown in the figure). The fourth point cloud sequence acquisition module (not shown in the figure) is used to convert the coordinates of the laser points in the first point cloud sequence to the first coordinate system using a preset third starting calibration matrix to obtain a fourth point cloud sequence. The preset third starting calibration matrix is obtained by iteratively optimizing the first starting calibration matrix using the distance between the points in the nearest neighborhood of the laser points in the second point cloud sequence as a parameter when the rotation calibration matrix is left blank. The iterative optimization module 650 is used to iteratively optimize the third starting calibration matrix using the distance between the points in the nearest neighborhood of the laser points in the fourth point cloud sequence as a parameter to obtain the first calibration matrix.
[0106] In some embodiments, the positioning system includes a global navigation satellite system and an inertial measurement unit. When it is detected at the first moment that the accuracy of the global navigation satellite system is less than a preset threshold, the benchmark mileage data is obtained based on the positioning data output by the positioning system. The device 600 also includes: a track mileage estimation data acquisition module (not shown in the figure) and a benchmark mileage data calculation module (not shown in the figure). Among them, the track mileage estimation data acquisition module (not shown in the figure) is used to obtain the track mileage estimation data output by the inertial measurement unit. The benchmark mileage data calculation module (not shown in the figure) is used to calculate the benchmark mileage data based on the track mileage estimation data and the positioning data output by the global navigation satellite system when the accuracy is greater than or equal to the preset threshold.
[0107] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0108] In several embodiments provided in this application, the coupling between modules may be electrical, mechanical or other forms of coupling.
[0109] In addition, the functional modules in the various embodiments of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into a single module. The above-mentioned integrated modules may be implemented in the form of hardware or software functional modules.
[0110] The present application provides a sensor calibration device for a transport vehicle, which fits a first calibration matrix by using the distance between points in the nearest neighborhood of a laser point in a second point cloud sequence as an error, so that the point cloud data output by the lidar can be quickly converted into the same coordinate system as the benchmark mileage data obtained based on the positioning system through the first calibration matrix. When the transport vehicle is subsequently controlled based on the above-mentioned point cloud data and benchmark mileage data, the calculation process can be made more convenient, the calculation efficiency can be improved, and the control efficiency of the transport vehicle can be improved.
[0111] See also Figure 7 The present invention also provides a transport vehicle 700, which includes one or more processors 710, a memory 720, and one or more application programs. The one or more application programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to execute the above-mentioned sensor calibration method for the transport vehicle.
[0112] The processor 710 may include one or more processing cores. The processor 710 utilizes various interfaces and circuits to connect various components within the battery management system. It executes instructions, programs, code sets, or instruction sets stored in the memory 720, as well as accesses data stored in the memory 720, to perform various functions of the battery management system and process data. Optionally, the processor 710 may be implemented using at least one of the following hardware forms: a digital signal processing (DSP), a field-programmable gate array (FPGA), or a programmable logic array (PLA). The processor 710 may integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), and a modem. The CPU primarily handles the operating system, user interface, and application programs; the GPU is responsible for rendering and drawing display content; and the modem handles wireless communications. It is understood that the modem may not be integrated into the processor 710 and may be implemented separately via a communication chip.
[0113] The memory 720 may include a random access memory 720 (RAM) or a read-only memory 720 (Read-Only Memory). The memory 720 may be used to store instructions, programs, codes, code sets, or instruction sets. The memory 720 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the various method embodiments described below, etc. The data storage area may also store data created by the electronic device during use (such as a phone book, audio and video data, chat history data), etc.
[0114] See also Figure 8 , which shows that an embodiment of the present application also provides a computer-readable storage medium 800, in which computer program instructions 810 are stored. The computer program instructions 810 can be called by a processor to execute the method described in the above embodiment.
[0115] The computer-readable storage medium can be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read-Only Memory), an EPROM, a hard disk, or a ROM. Alternatively, the computer-readable storage medium includes a non-transitory computer-readable storage medium. The computer-readable storage medium 800 has storage space for program codes for executing any of the method steps described above. These program codes can be read from or written to one or more computer program products. The program codes can be compressed, for example, in an appropriate form.
[0116] The above is only a preferred embodiment of the present application and does not constitute any form of limitation to the present application. Although the present application has been disclosed as above with preferred embodiments, it is not intended to limit the present application. Any person skilled in the art can make some changes or modifications to equivalent embodiments using the technical contents disclosed above without departing from the scope of the technical solution of the present application. However, any brief modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present application without departing from the content of the technical solution of the present application are still within the scope of the technical solution of the present application.
Claims
1. A sensor calibration method for a transport vehicle, wherein the transport vehicle is equipped with a positioning system and a laser radar, characterized in that: The method comprises: Acquire reference mileage data based on the positioning data output by the positioning system, the reference mileage data including a mileage timestamp and mileage data corresponding to the mileage timestamp, the mileage data being described in a first coordinate system; Acquire a first point cloud sequence according to data output by the laser radar, wherein the first point cloud sequence includes a plurality of point cloud data packets, the point cloud data packets include a point cloud timestamp and a plurality of laser point data, and the laser point data include coordinates and point time offsets; Obtaining mileage information of each laser point in the point cloud data packet according to the point cloud timestamp, the point time offset and the benchmark mileage data; The coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using a preset first starting calibration matrix to obtain a second point cloud sequence; the error of the first starting calibration matrix is characterized by the distance between the laser points in the second point cloud sequence and the points in their nearest neighborhood as a parameter, and the first starting calibration matrix is iteratively optimized using a preset iterative algorithm to obtain a first calibration matrix; The first starting calibration matrix includes a rotation calibration matrix and a translation calibration matrix; the coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using the preset first starting calibration matrix to obtain the second point cloud sequence; the distance between the laser points in the second point cloud sequence and the points in their nearest neighborhood is used as a parameter to characterize the error of the first starting calibration matrix, and the first starting calibration matrix is iteratively optimized using a preset iterative algorithm to obtain the first calibration matrix, specifically including: Under the condition that one of the target calibration matrices of the rotation calibration matrix and the translation calibration matrix is set to be empty, the coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using the first starting calibration matrix to obtain the second point cloud sequence; The coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using a preset starting calibration matrix to obtain a point cloud sequence, wherein the preset starting calibration matrix is obtained by iteratively optimizing the first starting calibration matrix using a preset iterative algorithm with the distance between the laser points in the second point cloud sequence and their nearest neighbors as a parameter to characterize the error of the first starting calibration matrix when the target calibration matrix is left blank; The error of the initial calibration matrix is characterized by the distance between the points in the nearest neighborhood of the laser points in the point cloud sequence as a parameter, and the initial calibration matrix is iteratively optimized using a preset iterative algorithm to obtain the first calibration matrix.
2. The method according to claim 1, wherein The iterative optimization of the first starting calibration matrix using a preset iterative algorithm to obtain a first calibration matrix includes: Iteratively optimizing the first starting matrix using a preset iterative algorithm; When the error is less than a preset threshold, the iterative optimization is terminated to obtain the first calibration matrix.
3. The method according to claim 1, wherein The iterative algorithm includes an iteration number, and the iterative optimization of the initial calibration matrix using a preset iterative algorithm to obtain a first calibration matrix includes: Iteratively optimizing the first starting matrix using a preset iterative algorithm; When the number of iterations is greater than a preset value, the iterative optimization is terminated to obtain the first calibration matrix.
4. The method according to claim 1, wherein The characterizing the error of the first initial calibration matrix by using the distance between the laser points in the second point cloud sequence and the points in their nearest neighborhood as a parameter includes: The sum of distances between all laser points in the second point cloud sequence and points in their nearest neighborhood is calculated, and the sum is used as a parameter to characterize the error of the first initial calibration matrix.
5. The method according to any one of claims 1 to 4, characterized in that The step of converting the coordinates of the laser points in the first point cloud sequence into the first coordinate system using a preset first starting calibration matrix to obtain a second point cloud sequence includes: Under the condition that the translation calibration matrix is empty, the coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using the first starting calibration matrix to obtain the second point cloud sequence.
6. The method according to claim 5, wherein The method further comprises: The coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using a preset second starting calibration matrix to obtain a third point cloud sequence, wherein the preset second starting calibration matrix is obtained by iteratively optimizing the first starting calibration matrix using a preset iterative algorithm with the distance between the laser points in the second point cloud sequence and their nearest neighbors as a parameter to characterize the error of the first starting calibration matrix when the translation calibration matrix is left blank; The error of the second initial calibration matrix is characterized by the distance between points in the nearest neighborhood of the laser point in the third point cloud sequence as a parameter, and the first calibration matrix is obtained by iteratively optimizing the second initial calibration matrix using a preset iterative algorithm.
7. The method according to any one of claims 1 to 4, characterized in that The step of converting the coordinates of the laser points in the first point cloud sequence into the first coordinate system using a preset first starting calibration matrix to obtain a second point cloud sequence includes: Under the condition that the rotation calibration matrix is empty, the coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using the first starting calibration matrix to obtain the second point cloud sequence.
8. The method according to claim 7, wherein The method further comprises: The coordinates of the laser points in the first point cloud sequence are converted to the first coordinate system using a preset third starting calibration matrix to obtain a fourth point cloud sequence, wherein the preset third starting calibration matrix is obtained by iteratively optimizing the first starting calibration matrix using a preset iterative algorithm with the distance between the laser points in the second point cloud sequence and their nearest neighbors as a parameter to characterize the error of the first starting calibration matrix when the rotation calibration matrix is left blank; The error of the third initial calibration matrix is characterized by the distance between points in the nearest neighborhood of the laser point in the fourth point cloud sequence as a parameter, and the first calibration matrix is obtained by iteratively optimizing the third initial calibration matrix using a preset iterative algorithm.
9. The method according to any one of claims 1 to 4, wherein: The positioning system includes a global navigation satellite system and an inertial measurement unit; when it is detected at a first moment that the accuracy of the global navigation satellite system is less than a preset threshold, obtaining the benchmark mileage data based on the positioning data output by the positioning system further includes: Obtaining dead reckoning data output by the inertial measurement unit; and The benchmark mileage data is calculated based on the track mileage calculation data and the positioning data output by the global navigation satellite system when the accuracy is greater than or equal to the preset threshold.
10. A sensor calibration device for a transport vehicle, wherein the transport vehicle is provided with a positioning system and a laser radar, characterized in that: The device comprises: a first mileage information acquisition module, configured to acquire reference mileage data based on the positioning data output by the positioning system, the reference mileage data including a mileage timestamp and mileage data corresponding to the mileage timestamp, the mileage data being described in a first coordinate system; A first point cloud sequence acquisition module is configured to acquire a first point cloud sequence based on the data output by the laser radar, wherein the first point cloud sequence includes a plurality of point cloud data packets, each of which includes a point cloud timestamp and a plurality of laser point data, each of which includes coordinates and a point time offset; A second mileage information acquisition module is used to acquire the mileage information of each laser point in the point cloud data packet according to the point cloud timestamp, the point time offset and the reference mileage data; a second point cloud sequence acquisition module, configured to convert the coordinates of the laser points in the first point cloud sequence into the first coordinate system using a preset first starting calibration matrix to obtain a second point cloud sequence; wherein the first starting calibration matrix includes a rotation calibration matrix and a translation calibration matrix; and an iterative optimization module, configured to characterize the error of the first initial calibration matrix by using the distance between the laser points in the second point cloud sequence and the points in their nearest neighborhood as a parameter, and to iteratively optimize the first initial calibration matrix using a preset iterative algorithm to obtain a first calibration matrix; The second point cloud sequence acquisition module is specifically configured to convert the coordinates of the laser points in the first point cloud sequence into the first coordinate system using the first starting calibration matrix, under the condition that one of the target calibration matrices of the rotation calibration matrix and the translation calibration matrix is left blank, to obtain the second point cloud sequence; The iterative optimization module is specifically used to convert the coordinates of the laser points in the first point cloud sequence into the first coordinate system using a preset starting calibration matrix to obtain a point cloud sequence. The preset starting calibration matrix is obtained by iteratively optimizing the first starting calibration matrix using a preset iterative algorithm when the target calibration matrix is left blank, using the distance between the points in the nearest neighborhood of the laser points in the second point cloud sequence as a parameter to characterize the error of the first starting calibration matrix; and by iteratively optimizing the starting calibration matrix using a preset iterative algorithm to characterize the error of the starting calibration matrix using the distance between the points in the nearest neighborhood of the laser points in the point cloud sequence as a parameter to obtain the first calibration matrix.
11. A transport vehicle, characterized in that: include: one or more processors; Memory; One or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to execute the method according to any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program code, which can be called by a processor to execute the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Radar calibration method and device, electronic equipment and storage medium
CN112034438A