External parameter calibration method, device, computing device, storage medium, and vehicle
By constructing a system of super-determined equations and performing singular value decomposition, screening degradation motion, determining the initial value of the rotating external parameters and optimizing the calibration value, the problem of insufficient data fusion accuracy caused by the position changes of the odometer sensor is solved, and higher data fusion accuracy and robustness are achieved.
Patent Information
- Application Number
- CN202211112283.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-13
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2042-09-13
AI Technical Summary
In the prior art, the real-time change of the position of the odometer sensor leads to mismatch of the real-time position of the off-line calibration external participants, resulting in insufficient accuracy of odometer data fusion, and the initial value of the online external parameter calibration, especially the rotating external parameter setting, affecting the accuracy of the data fusion.
By obtaining the data of the first and second odometer sensors, calculating the rotation increment, constructing a system of over-determined equations and performing singular value decomposition, filtering the degradation motion using the singular value ratio, determining the initial value of the rotation external parameter, and determining the calibration value by minimizing residual optimization.
It improves the calibration accuracy of rotating external parameters, enhances the robustness of data fusion, and ensures the accuracy and reliability of odometer data.
Smart Images

Figure CN115655305B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of sensors, and particularly to an external parameter calibration method, apparatus, computing device, storage medium, and vehicle. Background Art
[0002] In mainstream autonomous driving solutions, at least two types of odometer sensors are configured. By fusing the odometer data detected by the foregoing odometer sensors, more accurate environmental feature perception and vehicle motion characteristic perception are achieved. The prerequisite for correctly fusing the odometer data of at least two odometer sensors is to determine the spatial coordinate transformation relationship between different sensors, that is, to determine the external parameters between each odometer sensor. The foregoing external parameters include rotational external parameters and translational external parameters.
[0003] In practical applications, due to the aging deformation of the supporting member's material and the vibration deformation during movement, the pose of the odometer sensor changes in real time. The offline calibration external parameters determined based on the traditional offline calibration method do not match the real-time pose of the sensor. The accuracy of the fusion data obtained based on the foregoing offline calibration external parameters and the odometer data of the odometer sensor cannot meet the application requirements, that is, the offline calibration external parameters are no longer available.
[0004] To avoid the unavailability of the offline calibration external parameters, existing odometer data fusion solutions adopt an online external parameter calibration method to determine the online calibration external parameters in real time during the odometer data fusion process. Since the online external parameter calibration method realizes the calibration of the external parameters during the odometer data fusion process, in order to achieve the rapid and accurate convergence of the calibrated external parameters, it is necessary to relatively accurately determine the initial value for calibrating the external parameters during the odometer data fusion. However, due to the unreliability of the measurement method, the initial value of the online external parameter calibration, especially the initial value of the rotational external parameter, is not set accurately. Summary of the Invention
[0005] To solve the above technical problems, embodiments of the present disclosure provide an external parameter calibration method, apparatus, computing device, storage medium, and vehicle.
[0006] In a first aspect, embodiments of the present disclosure provide an external parameter calibration method for realizing the external parameter calibration between a first odometer sensor and a second odometer sensor; the method includes:
[0007] Obtain first odometer data generated by the first odometer sensor within a first detection time window, and second odometer data generated by the second odometer sensor within the first detection time window;
[0008] Calculate a plurality of first rotation increments based on the first odometer data, and calculate second rotation increments with the same time stamps as the respective first rotation increments based on the second odometer data;
[0009] Based on the hand-eye calibration model, construct an overdetermined system of equations according to the first rotation increment and the second rotation increment with the same timestamp, and perform singular value decomposition on the overdetermined system of equations to obtain a singular value matrix;
[0010] When the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, determine the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value.
[0011] Optionally, before determining the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value, the method further includes:
[0012] Determine whether the third largest singular value is greater than a preset threshold;
[0013] The determining the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value includes:
[0014] When the third largest singular value is greater than the preset threshold, determine the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value.
[0015] Optionally, before constructing the overdetermined system of equations according to the first rotation increment and the second rotation increment with the same timestamp, the method further includes:
[0016] Determine whether at least one of the first rotation increment and the second rotation increment is less than the rotation increment threshold;
[0017] If so, delete the first rotation increment and the second rotation increment that are less than the rotation increment threshold.
[0018] Optionally, the method further includes:
[0019] Calculate the rotation increment difference between the first rotation increment and the second rotation increment with the same timestamp;
[0020] When the rotation increment difference is less than the difference threshold, delete the corresponding first rotation increment and second rotation increment.
[0021] Optionally, after determining the initial value of the external rotation parameter, the method further includes:
[0022] Obtain the third odometer data generated by the first odometer sensor within the second detection time window;
[0023] Perform coordinate transformation on the third odometer data according to the external rotation parameter to be calibrated to obtain the fourth odometer data;
[0024] Calculate the target residual based on the fourth odometer data;
[0025] Minimize and optimize the target residual based on the initial value to determine the calibration value of the external rotation parameters.
[0026] Optionally, the calculating the target residual based on the fourth odometer data includes:
[0027] Determine the detected feature point data based on the fourth odometer data corresponding to the first timestamp within the second detection time window, and determine the detected feature line-plane data based on the fourth odometer data corresponding to the second timestamp within the second detection time window, where the second timestamp is earlier than the first timestamp;
[0028] Calculate the distance residual according to the detected feature points and the detected feature line-plane;
[0029] Determine the target residual based on the distance residual.
[0030] Optionally, the method further includes: obtaining the fifth odometer data generated by the second odometer sensor within the second detection time window;
[0031] Calculate the marginalization prior residual according to the fourth odometer data and the fifth odometer data;
[0032] The determining the target residual based on the distance residual includes: determining the target residual based on the marginalization prior residual and the distance residual.
[0033] Optionally, the method further includes: determining the actual integration increment and the pre-integration increment according to the fifth odometer data;
[0034] Calculate the pre-integration residual according to the actual integration increment and the pre-integration increment;
[0035] The determining the target residual based on the marginalization prior residual and the distance residual includes:
[0036] Determine the target residual based on the marginalization prior residual, the distance residual and the pre-integration residual.
[0037] Optionally, before minimizing and optimizing the target residual based on the initial value of the external rotation parameters, the method further includes:
[0038] Calculate the sum of the distance residual and the pre-integration residual;
[0039] Determine whether the ratio of the marginalization prior residual to the sum value is less than a second ratio threshold;
[0040] If so, perform minimizing and optimizing the target residual based on the initial value of the external rotation parameters.
[0041] Optionally, before minimizing and optimizing the target residual based on the initial value of the rotation extrinsic parameter, the method further includes:
[0042] Determine whether the carrying rigid body is in a target degenerate motion state, where the carrying rigid body is the rigid body carrying the first odometer sensor and the second odometer sensor;
[0043] If not, minimize and optimize the target residual based on the initial value of the rotation extrinsic parameter.
[0044] In a second aspect, an embodiment of the present disclosure provides an extrinsic parameter calibration device for calibrating the extrinsic parameter between a first odometer sensor and a second odometer sensor; the device includes:
[0045] A first data acquisition unit for acquiring first odometer data generated by the first odometer sensor within a first detection time window and second odometer data generated by the second odometer sensor within the first detection time window;
[0046] A rotation increment calculation unit for calculating a plurality of first rotation increments based on the first odometer data and calculating second rotation increments with the same timestamps as the respective first rotation increments based on the second odometer data;
[0047] A solution calculation unit for constructing an overdetermined system of equations based on the hand-eye calibration model according to the first rotation increments and the second rotation increments with the same timestamps and performing singular value decomposition on the overdetermined system of equations to obtain a singular value matrix;
[0048] A first judgment unit for judging whether the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than a first ratio threshold;
[0049] An initial value determination unit for determining the initial value of the rotation extrinsic parameter according to the eigenvector corresponding to the fourth largest singular value when the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold.
[0050] Optionally, the first judgment unit is further configured to judge whether the third largest singular value is greater than a preset threshold;
[0051] The initial value determination unit determines the initial value of the rotation extrinsic parameter according to the eigenvector corresponding to the fourth largest singular value when the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold and the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold.
[0052] Optionally, the device further includes: a second determination unit, configured to determine whether at least one of the first rotation increment and the second rotation increment is less than a rotation increment threshold;
[0053] a deletion unit, configured to delete the first rotation increment and the second rotation increment that are less than the rotation increment threshold.
[0054] Optionally, the device further includes: a difference calculation unit, configured to calculate a rotation increment difference between the first rotation increment and the second rotation increment with the same timestamp;
[0055] The deletion unit is further configured to delete the corresponding first rotation increment and second rotation increment when the rotation increment difference is less than a difference threshold.
[0056] Optionally, the second odometer sensor is an inertial measurement unit or a differential positioning sensor; after determining an initial value of the rotation extrinsic parameter, the device further includes:
[0057] a second data acquisition unit, configured to acquire third odometer data generated by the first odometer sensor within a second detection time window;
[0058] an odometer data conversion unit, configured to perform coordinate conversion on the third odometer data according to the rotation extrinsic parameter to be calibrated, to obtain fourth odometer data;
[0059] a target residual determination unit, configured to calculate a target residual based on the fourth odometer data;
[0060] an extrinsic parameter calibration value determination unit, configured to perform minimization optimization on the target residual based on the initial value of the rotation extrinsic parameter, to determine a calibration value of the rotation extrinsic parameter.
[0061] Optionally, the target residual determination unit includes:
[0062] a feature determination subunit, configured to determine detection feature point data based on the fourth odometer data corresponding to a first timestamp within the second detection time window, and determine detection feature line and plane data based on the fourth odometer data corresponding to a second timestamp within the second detection time window, where the second timestamp is earlier than the first timestamp;
[0063] a distance residual calculation subunit, configured to calculate a distance residual according to the detection feature points and the detection feature line and plane;
[0064] a target residual determination subunit, configured to determine the target residual based on the distance residual.
[0065] Optionally, the second data acquisition unit is further configured to acquire fifth odometer data generated by the second odometer sensor within the second detection time window;
[0066] The target residual determination unit further includes: a prior residual determination subunit, configured to calculate a marginalized prior residual according to the fourth odometer data;
[0067] The target residual determination subunit determines the target residual based on the marginalized prior residual and the distance residual.
[0068] Optionally, the target residual determination unit further includes:
[0069] an integral increment calculation subunit, configured to determine an actual integral increment and a pre-integral increment according to the fifth odometer data;
[0070] a pre-integral residual calculation subunit, configured to calculate a pre-integral residual according to the actual integral increment and the pre-integral increment;
[0071] The target residual determination subunit determines the target residual based on the marginalized prior residual, the distance residual, and the pre-integral residual.
[0072] Optionally, a sum value calculation unit, configured to calculate a sum value of the distance residual and the pre-integral residual;
[0073] a ratio judgment unit, configured to judge whether a ratio of the marginalized prior residual to the sum value is less than a second ratio threshold;
[0074] In a case where the ratio judgment unit determines that the ratio of the marginalized prior residual to the sum value is less than the second ratio threshold, the external parameter calibration value determination unit performs minimization optimization on the target residual based on an initial value of the rotational external parameter.
[0075] Optionally, the device further includes: a degradation state determination unit, configured to determine whether a load-bearing rigid body is in a target degradation motion state, where the load-bearing rigid body is a rigid body that bears the first odometer sensor and the second odometer sensor;
[0076] In a case where the degradation state determination unit determines that the load-bearing rigid body is not in the target degradation motion state, the external parameter calibration value determination unit performs minimization optimization on the target residual based on an initial value of the rotational external parameter.
[0077] In a third aspect, an embodiment of the present disclosure provides a computing device, including a processor and a memory, where the memory is configured to store a computer program; when the computer program is loaded by the processor, the processor is caused to execute the external parameter calibration method as described above.
[0078] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, where the storage medium stores a computer program, and when the computer program is executed by a processor, the processor is caused to implement the external parameter calibration method as described above.
[0079] In a fifth aspect, an embodiment of the present disclosure provides a vehicle, including an in-vehicle control chip, a first odometer sensor, and a second odometer sensor. The in-vehicle control chip is configured to execute the external parameter calibration method as described above.
[0080] The technical solution provided by the embodiment of the present disclosure has the following advantages compared with the prior art:
[0081] By adopting the solution provided by the embodiment of the present disclosure, after calculating a plurality of first rotation increments based on the first odometer data, calculating a plurality of second rotation increments based on the second odometer data, constructing an overdetermined equation set based on the hand-eye calibration model, the first rotation increment, and the second rotation increment, and performing singular value decomposition on the overdetermined equation set to obtain a singular value matrix, a singular value ratio is obtained by comparing the third largest singular value and the fourth largest singular value. When the singular value ratio is greater than the first ratio, the eigenvector corresponding to the fourth largest singular value is used as the initial value of the rotation external parameter. The foregoing solution utilizes the difference in the motion excitation scales of the singular value excitation in the third dimension and the fourth dimension to screen out the degenerate motion, making it more robust to the data including the degenerate motion characteristics, that is, making the finally obtained initial value of the rotation external parameter more accurate. BRIEF DESCRIPTION OF THE DRAWINGS
[0082] The accompanying drawings herein are incorporated into the specification and form a part of the specification, showing embodiments consistent with the present disclosure and used together with the specification to explain the principles of the present disclosure.
[0083] To more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings, where:
[0084] Figure 1 is a flowchart of an external parameter calibration method provided by some embodiments of the present disclosure;
[0085] Figure 2 is a schematic diagram of the principle implemented by the hand-eye calibration model;
[0086] Figure 3 is a flowchart of an external parameter calibration method provided by some embodiments of the present disclosure;
[0087] Figure 4 is a flowchart of an external parameter calibration method provided by some embodiments of the present disclosure;
[0088] Figure 5 is a flowchart of a method for determining the calibration value based on the initial value of the rotation external parameter in the embodiment of the present disclosure;
[0089] Figure 6 It is a schematic structural diagram of the external parameter calibration device provided by an embodiment of the present disclosure;
[0090] Figure 7 It is a schematic structural diagram of the computing device provided by an embodiment of the present disclosure. Detailed implementation manners
[0091] Embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not used to limit the protection scope of the present disclosure.
[0092] The term "including" and its variants used herein are open-ended, that is, "including but not limited to". The term "based on" is "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description. It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence relationship of the functions performed by these devices, modules or units.
[0093] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly stated in the context, it should be understood as "one or more".
[0094] An embodiment of the present disclosure provides an external parameter calibration method for calibrating the external parameters between two odometer sensors. In some embodiments, calibrating the external parameters between two odometer sensors includes determining an initial value of the rotation external parameter. In some specific embodiments, when the initial value of the rotation external parameter is determined, the calibration value of the rotation external parameter can also be determined in real time.
[0095] An odometer sensor is a sensor that measures the motion state of a rigid body carrying an object over time. The aforementioned rigid body carrying an object is the rigid body carrying the odometer sensor. The aforementioned motion state may include the acceleration, velocity or moving distance of the rigid body carrying an object. In specific implementation, the odometer sensor may be a sensor that measures the motion characteristics of the rigid body carrying an object to determine the motion state of the rigid body carrying an object, or a sensor that measures the environmental characteristics where the rigid body carrying an object is located and indirectly determines the motion state of the rigid body carrying an object according to the environmental characteristics.
[0096] In actual implementation, each of the foregoing two odometer sensors may be any one of an inertial measurement unit, a camera, a lidar, a millimeter-wave radar, a differential positioning sensor (such as a satellite navigation positioning sensor, a field-end navigation positioning sensor, etc.), and the embodiments of the present disclosure do not make special limitations.
[0097] The external parameter calibration method provided by the embodiments of the present disclosure can be applied to various scenarios where data fusion processing is performed using the output data of two odometer sensors. The foregoing scenarios may be vehicle driving scenarios, robot control scenarios, or other scenarios, and the embodiments of the present disclosure do not make special limitations either. Among them, in the case where the scenario is a vehicle driving scenario, the rigid body carried is the vehicle body (specifically, mostly the vehicle body); in the case where the scenario is a robot control scenario, the rigid body carried is the moving arm at the free end of the robot.
[0098] It should also be noted that the external parameter calibration method provided by the embodiments of the present disclosure is executed by a computing device. The computing device may be the in-vehicle system of a vehicle or the control system of a robot. In some scenario applications, the computing device may also be a remote server, an edge server, or a field-end server communicatively connected to the foregoing vehicle or robot.
[0099] Figure 1 It is a flowchart of the external parameter calibration method provided by some embodiments of the present disclosure. As Figure 1 shown, the external parameter calibration method provided by the embodiments of the present disclosure includes S110 - S140.
[0100] S110: Obtain the first odometer data generated by the first odometer sensor within the first detection time window, and the second odometer data generated by the second odometer sensor within the first detection time window.
[0101] The first detection time window is preset and is used to delimit the time window of the original odometer data required for the initial value of the external parameters of the odometer sensor. The time window length of the first detection time window is determined according to the sampling frequencies of the first odometer sensor and the second odometer sensor. It should be noted that the data volumes of the first odometer data and the second odometer data obtained within the first detection time window should meet the execution requirements of subsequent steps to ensure that the initial value of the rotation external parameter can be determined.
[0102] The computing device can obtain the first odometer data and the second odometer data in real time online from the first odometer sensor and the second odometer sensor, or offline from the memory, and the embodiments of the present disclosure do not make special limitations. That is, the external parameter calibration method provided by the embodiments of the present disclosure can be performed in real time online or offline.
[0103] S120: Calculate multiple first rotation increments based on the first odometer data, and calculate second rotation increments with the same timestamps as the respective first rotation increments based on the second odometer data.
[0104] After obtaining the first odometer data within the first detection time window, the computing device can determine multiple first rotation increments based on the first odometer data.
[0105] The first rotation increment is an angular increment representing the rotation angle of the rigid body during a specific time period (the specific time period is a shorter time period within the first detection time window) determined by the first odometer data. The aforementioned specific time period can be represented by a timestamp. After obtaining the second odometer data within the second detection time window, the computing device can determine multiple second rotation increments based on the second odometer data.
[0106] The second rotation increment is an angular increment representing the rotation angle of the rigid body during a specific time period determined by the second odometer data. In the embodiments of the present disclosure, when calculating the second rotation increment based on the second odometer data, the second rotation increments with the same timestamps as the respective first rotation increments should be calculated, that is, the second rotation increments reflecting the rotation degree of the rigid body within the same time period need to be calculated.
[0107] It should be noted that the aforementioned first rotation increment is the rotation increment in the first odometer sensor coordinate system, the second rotation increment is the rotation increment in the second odometer sensor coordinate system, and both the first rotation increment and the second rotation increment are rotation increments of three degrees of freedom.
[0108] In specific implementations, how to calculate multiple first rotation increments based on the first odometer data and how to calculate multiple second rotation increments based on the second odometer data need to be determined according to the types of the first odometer sensor and the second odometer sensor. For specific calculation methods, please refer to relevant technical literature and will not be elaborated here.
[0109] In a specific embodiment, the data generation frequencies of the first odometer sensor and the second odometer sensor may be different. In this case, the second odometer data with the same timestamp as the first odometer data can be obtained based on the method of time interpolation, and then the second rotation increments with the same timestamps as the first rotation increments can be calculated based on the calculated second odometer data.
[0110] S130: Based on the hand-eye calibration model, construct an overdetermined system of equations according to the first rotation increments and the second rotation increments with the same timestamps, and perform singular value decomposition on the overdetermined system of equations to obtain a singular value matrix.
[0111] The hand-eye calibration model is a model for calibrating the external parameter relationship between different coordinate systems. Since the first odometer sensor and the second odometer sensor are fixed on the carrying rigid body and their poses relative to the carrying rigid body do not change, the external parameters between them remain unchanged. Therefore, the corresponding hand-eye calibration model should be the Eye-In-Hand model.
[0112] It should be noted that the poses of the aforementioned first odometer sensor and second odometer sensor on the carrying rigid body do not change only theoretically. In practical applications, the poses of the first odometer sensor and the second odometer sensor relative to the carrying rigid body may change due to the aging of the material of the carrying rigid body and elastic deformation under force, thereby changing the rotational external parameters between the first odometer sensor and the second odometer sensor.
[0113] Figure 2 It is a schematic diagram of the principle implemented by the hand-eye calibration model. As Figure 2 shown, the hand-eye calibration model can be represented by , where represents the first rotation increment at timestamps k and k + 1 (that is, the first rotation increment from the k-th moment to the (k + 1)-th moment), represents the rotational external parameter, represents the second rotation increment at timestamps k and k + 1 (that is, the second rotation increment from the k-th moment to the (k + 1)-th moment).
[0114] According to the aforementioned hand-eye calibration model, an equation including the external parameter to be solved can be constructed using the first rotation increment and the second rotation increment with the same timestamp. In the case of having multiple first rotation increments and second rotation increments with the same timestamp, multiple equations including the external parameter to be solved can be constructed using multiple first rotation increments and second rotation increments with the same timestamp, and an overdetermined system of equations can be constructed using the multiple equations. In practical applications, since the rotational external parameter includes three parameters to be solved (that is, three degrees of freedom), and the number of equations in the overdetermined system of equations is more than the number of parameters to be solved, the number of equations to be solved included in the overdetermined system of equations is at least four.
[0115] In an embodiment of the present disclosure, each equation to be solved can be represented by a quaternion to facilitate the solution of the overdetermined system of equations.
[0116] For example can be represented by where represents the corresponding quaternion, q l b represents the corresponding quaternion, represents the corresponding quaternion, Represents the multiplication operation between two quaternions.
[0117] After obtaining the aforementioned quaternion equation, perform a transposition transformation on it to obtain where Q l (q) and Q r (q) represent the left-multiplication and right-multiplication forms of the quaternion respectively. In the aforementioned formula, the quaternion q is represented as [q x q y q z q w T , and the imaginary part q v of the quaternion q is represented as [q x q y q z T , [q v × is the skew-symmetric matrix of the imaginary part vector.
[0118] Processing each equation to be solved in the overdetermined system of equations according to the aforementioned method, the overdetermined system of equations The aforementioned overdetermined system of equations is a linear system of equations.
[0119] After obtaining the aforementioned overdetermined system of equations, then perform a singular value decomposition on the overdetermined system of equations to obtain the least squares solution Q N = UΣV T , where V = [v1 v2 v3 v4].
[0120] The σ i in the singular value matrix (i.e., the diagonal matrix) Σ is called the singular value of the matrix Q N , and through determinant transformation, the singular values can be made to satisfy σ1 ≥ σ2 ≥ σ3 ≥ σ4.
[0121] S140: In the case where the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, determine the initial value of the external rotation parameters according to the eigenvector corresponding to the fourth largest singular value.
[0122] After obtaining the singular value matrix and the corresponding right singular vectors, the computing device then compares the third largest singular value and the fourth largest singular value in the singular value matrix to determine the singular value ratio.
[0123] After obtaining the singular value ratio, the computing device compares the singular value ratio with a first ratio threshold to determine whether the singular value ratio is greater than the first ratio threshold. If the singular value ratio is greater than the first ratio threshold, an initial value of the external rotation parameters is determined according to the eigenvector corresponding to the fourth largest singular value, that is, the right singular vector v4 corresponding to the fourth largest singular value σ4 is used as the external rotation parameters of the initial value. It should be noted that is the quaternion representation of the external rotation parameters .
[0124] According to the hand-eye calibration model and the foregoing mathematical analysis method, it can be known that when the rotation increment of the carrying rigid body in each degree of freedom is large enough, the external rotation parameters can be well estimated through singular value decomposition based on the least squares At this time, Q N corresponds to an exact solution, and the rank of its null space is 1.
[0125] However, during the actual external parameter calibration, the carrying rigid body may have a degenerate motion in a certain axial direction (for example, it may be stationary or moving at a constant speed). At this time, the rank of the null space of Q N will be greater than 1, so that the right singular vector v4 corresponding to the fourth largest singular value σ4 is not the best least squares solution of the external rotation parameters .
[0126] In S140, the singular value ratio is obtained by comparing the third largest singular value and the fourth largest singular value. When the singular value ratio is greater than the first ratio, the right singular vector v4 corresponding to the fourth largest singular value σ4 is used as the initial value of the external rotation parameters . By using the difference in the motion excitation scales of the singular value excitation in the third and fourth dimensions to screen the degenerate motion, the data including the degenerate motion characteristics is made more robust, that is, the finally obtained initial value of the external rotation parameters is more accurate.
[0127] On the premise that the initial value of the external rotation parameters is set more accurately, the amount of data calculation for determining the calibrated value of the external rotation parameters based on the initial value of the external rotation parameters is smaller, and the finally determined calibrated value of the external rotation parameters is more accurate.
[0128] Optionally, in some disclosed embodiments, determining the initial value of the external rotation parameters according to the eigenvector corresponding to the fourth largest singular value in S140 may specifically include S141-S142.
[0129] S141: Determine whether the third largest singular value is greater than a preset threshold. If so, execute S142.
[0130] S142: Determine the initial value of the external rotation parameters according to the eigenvector corresponding to the fourth largest singular value.
[0131] If the third largest singular value is greater than a preset threshold, it indicates that the motion excitation size of the carrying rigid body in the degree of freedom with the smallest rotational increment is already large. Therefore, it is determined that the possibility of the carrying rigid body being in a degenerate motion is smaller, and then the eigenvector corresponding to the fourth largest singular value is determined as the initial value of the external rotation parameters.
[0132] On the basis of performing the foregoing S141 and S142, when the ratio of singular values is greater than the first ratio, it is further determined whether the third largest singular value is greater than the preset threshold, so that the initial value of the external rotation parameters obtained by the solution is more in line with the actual situation. That is to say, by using the method provided in the embodiments of the present disclosure, the initial value of the external rotation parameters obtained by the solution can be made more accurate.
[0133] Figure 3 is a flowchart of an external parameter calibration method provided by some embodiments of the present disclosure. As Figure 3 shown, in some embodiments of the present disclosure, the external parameter calibration method includes S210-S260.
[0134] S210: Obtain first odometer data generated by a first odometer sensor within a first detection time window, and second odometer data generated by a second odometer sensor within the first detection time window;
[0135] S220: Calculate a plurality of first rotational increments based on the first odometer data, and calculate second rotational increments with the same timestamps as the respective first rotational increments based on the second odometer data;
[0136] S230: Determine whether at least one of the first rotational increment and the second rotational increment is less than a rotational increment threshold; if so, execute S240.
[0137] S240: Delete the first rotational increment and the second rotational increment that are less than the rotational increment threshold.
[0138] S250: Based on the hand-eye calibration model, construct an overdetermined system of equations according to the first rotational increment and the second rotational increment with the same timestamps, and perform singular value decomposition on the overdetermined system of equations to obtain a singular value matrix;
[0139] S260: When the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, determine the initial value of the external rotation parameters according to the eigenvector corresponding to the fourth largest singular value.
[0140] For the external parameter calibration method provided by the embodiments of the present disclosure, S210-S220 are the same as S110-S120 in the foregoing embodiments, and S250-S260 are the same as S130-S140 in the foregoing embodiments, and will not be repeated here. For details, please refer to the foregoing description.
[0141] In contrast to the previous embodiments, in the embodiments of the present disclosure, the computing device further determines whether at least one of the first rotation increment and the second rotation increment is less than a rotation increment threshold. The rotation increment threshold is a numerical threshold for excluding unavailable first and second rotation increments, and is determined based on a large amount of data testing.
[0142] In practical applications, the motion state of the rigid body carrier may be in a linear motion state. In this case, the first rotation increment determined based on the first odometer data is 0, and the second rotation increment determined based on the second odometer data is 0. The hand-eye calibration model constructed in this case in and tends to the identity matrix I, that is, the hand-eye calibration model degenerates into
[0143] According to the properties of the identity matrix, any rotation matrix R can satisfy That is to say, when the motion state of the rigid body carrier degenerates into a linear motion state or an approximately linear motion state, it is not conducive to solving the initial value of the rotation increment. To avoid the foregoing problems, by executing S230 to determine whether at least one of the first rotation increment and the second rotation increment is less than the rotation increment threshold, it can be determined whether the corresponding first odometer data and second odometer data are obtained in a linear motion or approximately linear motion state.
[0144] If the first odometer data and the second odometer data are obtained when the rigid body carrier is in a linear motion or an approximately linear motion state, then execute S240 to delete the corresponding first rotation increment and second rotation increment, so as to avoid constructing the equation to be solved using the aforementioned relatively small first rotation increment and second rotation increment, thereby avoiding the problem of a large difference between the rotational external parameter and the true value.
[0145] Figure 4 is a flowchart of an external parameter calibration method provided by some embodiments of the present disclosure. As Figure 4 shown, in some embodiments of the present disclosure, the external parameter calibration method includes S310-S360.
[0146] S310: Obtain first odometer data generated by a first odometer sensor within a first detection time window, and second odometer data generated by a second odometer sensor within the first detection time window;
[0147] S320: Calculate a plurality of first rotation increments based on the first odometer data, and calculate second rotation increments with the same timestamps as the respective first rotation increments based on the second odometer data;
[0148] S330: Calculate the rotation increment difference between the first rotation increment and the second rotation increment with the same timestamp.
[0149] S340: Delete the corresponding first rotational increment and second rotational increment when the rotational increment difference is less than the difference threshold.
[0150] S350: Based on the hand-eye calibration model, construct an overdetermined system of equations according to the first rotational increment and second rotational increment with the same timestamp, and perform singular value decomposition on the overdetermined system of equations to obtain a singular value matrix;
[0151] S360: When the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, determine the initial value of the external rotation parameters according to the eigenvector corresponding to the fourth largest singular value.
[0152] For the external parameter calibration method provided in the embodiments of the present disclosure, S310 - S320 is the same as S110 - S120 in the previous embodiments, and S350 - S360 is the same as S130 - S140 in the previous embodiments, which will not be repeated here. For details, please refer to the previous description.
[0153] Different from the previous embodiments, in the embodiments of the present disclosure, the computing device will also calculate the rotational increment difference between the first rotational increment and the second rotational increment with the same timestamp, and determine whether the rotational increment difference is less than the difference threshold. The difference threshold is a numerical threshold for excluding unavailable first rotational increments and second rotational increments, and the value of the difference threshold is determined according to a large number of data tests.
[0154] If the rotational increment difference is less than the difference threshold, it indicates that the change characteristics in the first odometer data output by the first odometer sensor and the second odometer data output by the second odometer sensor are the same (both are small rotational amounts relative to the carrying rigid body as the carrying rigid body rotates), there is no large attitude change in the first odometer sensor and the second odometer sensor, or the random noise detected by the first odometer sensor and the second odometer sensor is small.
[0155] If the calculated rotational increment difference is greater than the difference threshold, the following situations may occur: (1) There is a large attitude change in at least one of the first odometer sensor and the second odometer sensor, and this attitude change may be a temporary attitude change; (2) One of the first odometer sensor or the second odometer sensor is affected by random noise, and the first odometer data or the second odometer data output cannot represent the true situation of the rotational motion of the carrying rigid body.
[0156] To avoid the influence of the foregoing abnormal first odometer data and second odometer data, in the embodiments of the present disclosure, if the rotational increment difference is greater than the difference threshold, the corresponding first rotational axis increment and second rotational increment are deleted, so as to avoid the problem that the rotational extrinsic parameter solution error caused by calculating the rotational extrinsic parameter based on the abnormal first rotational increment and second rotational increment is greatly different from the actual value.
[0157] The foregoing S210-S260 and S310-S360 respectively provide a method for determining the rotational extrinsic parameter. In some embodiments, the foregoing S210-S260 and S310-S360 can also be combined to obtain a new method for determining the rotational extrinsic parameter. Specifically, S330-S340 is added to S210-S260 to form a new method for determining the rotational extrinsic parameter. In actual embodiments, S330-S340 can be executed before S230-S240, or can be executed after S230-S240, but should be executed before S250.
[0158] To more intuitively understand the foregoing method, the following analyzes the method for determining the rotational extrinsic parameter provided by the embodiments of the present invention using two different types of odometer sensors. The two different types of odometer sensors are respectively a Light Detection And Ranging (LiDAR) and an Inertial Measurement Unit (IMU).
[0159] After the computing device obtains the current frame point cloud data output by the lidar (that is, the first odometer data), the point cloud data is de-distorted according to the motion state of the rigid body carried, and the de-distorted point cloud data is obtained. In specific implementation, pre-integration operations can be performed according to the inertial measurement data measured by the inertial measurement unit (that is, the second odometer data) to determine the pose transformation matrix of the lidar. Subsequently, the pose transformation matrix is used. To de-distort the point cloud data to obtain the de-distorted current frame point cloud data.
[0160] After obtaining the de-distorted current frame point cloud data, the computing device performs feature extraction on the de-distorted current frame point cloud data to obtain feature points. The feature points can be the points with the highest or lowest curvature change in the current frame point cloud data, that is, the smoothest points or the most edge points in the point cloud data.
[0161] After obtaining the feature points in the current frame point cloud data, the feature points are then matched with the feature lines and planes in the local map constructed based on the historical frame point cloud data, so that the de-distorted current point cloud data can be fused into the local map.
[0162] After fusing the current point cloud data into the local map, the radar rotation increment (i.e., the first rotation increment) can be determined based on the current frame point cloud data and the previous frame point cloud data in the local map.
[0163] In addition, the computing device also obtains inertial measurement data output by the inertial measurement unit (including angular velocity data output by the gyroscope and linear velocity data output by the accelerometer, etc.), and performs pre-integration calculations based on the inertial measurement data to obtain the inertial measurement rotation increment (i.e., the second rotation increment).
[0164] As mentioned above, when calculating the inertial measurement rotation increment, in order to make its timestamp the same as that of the radar rotation increment, interpolation calculations can also be performed on the inertial measurement data to determine the inertial measurement data with the same timestamp as the current frame point cloud data, and then the second rotation increment is calculated based on this inertial measurement data.
[0165] After obtaining the first rotation increment and the second rotation increment, the aforementioned S230-S240 and S330-S340 can be used to filter the first rotation increment and the second rotation increment, and filter out the rotation increments that do not meet the conditions. Subsequently, the remaining first rotation increment and second rotation increment can be used to construct an overdetermined system of equations, perform singular value decomposition based on the overdetermined system of equations, and determine whether the initial value of the rotation external parameter is obtained according to the singular value decomposition result using S160.
[0166] As mentioned above, the initial value of the rotation external parameter can be obtained by using the aforementioned method. However, obtaining the initial value of the rotation external parameter is not the goal. It is also necessary to determine the calibration value of the rotation external parameter based on the initial value of the rotation external parameter, that is, to determine a more accurate rotation external parameter. To achieve the aforementioned goal, in the embodiments of the present disclosure, after determining the initial value of the rotation external parameter, the calibration value of the rotation external parameter is also determined based on the initial value.
[0167] Figure 5 It is a flowchart of the method for determining the calibration value based on the initial value of the rotation external parameter in the embodiments of the present disclosure. As Figure 5 shown, in the embodiments of the present disclosure, the method for determining the calibration value based on the initial value of the rotation external parameter includes S410-S440.
[0168] It should be noted that in the embodiments of the present disclosure, when determining the calibration value based on the initial value of the external parameter, the first odometer data obtained by the first odometer sensor is coordinate-transformed to the coordinate system of the second odometer sensor, and calculations are performed based on the data in the coordinate system of the second odometer sensor. In practical applications, the second odometer data is preferably a sensor that can directly measure the motion state of the carrying rigid body. For example, it can be an inertial measurement unit or a differential positioning sensor.
[0169] S410: Obtain the third odometer data generated by the first odometer sensor within the second detection window.
[0170] The implementation method in step S410 is the same as the method for obtaining the first odometer data in S110 in the previous text, which will not be repeated here. For details, please refer to the previous description. It should be noted that the second detection time window is a sliding time window.
[0171] S420: Perform coordinate transformation on the third odometer data according to the rotation external parameter to be calibrated to obtain the fourth odometer data.
[0172] The computing device performs coordinate transformation on the third odometer data according to the rotation external parameter to be calibrated, which is to determine the rotation matrix based on the rotation external parameter to be calibrated and perform coordinate transformation on the third odometer data based on the rotation matrix. Of course, in practical applications, the quaternion method can also be used to perform coordinate transformation on the third odometer coordinates based on the rotation external parameter to be calibrated to obtain the fourth odometer data.
[0173] In the previous text, the fourth odometer data is obtained by performing coordinate transformation on the third odometer data according to the rotation external parameter to be calibrated, that is, the inaccurate rotation external parameter value is used to perform coordinate transformation on the third odometer data to obtain some inaccurate fourth odometer data.
[0174] It should be noted that when performing coordinate transformation, the translation external parameter is also required. Considering that the translation external parameter is not the focus of attention in the embodiments of the present invention, it will not be elaborated here. In specific implementation, the translation external parameter can be used as the data to be optimized, and when performing the calibration of the rotation external parameter using the target residual in the following text, the calibration of the translation external parameter can be realized simultaneously.
[0175] S430: Calculate the target residual based on the fourth odometer data.
[0176] After obtaining the fourth odometer data, the computing device can calculate the target residual according to the fourth odometer data.
[0177] How to specifically calculate the target residual will be analyzed later. It should be noted that for different values of the rotation external parameter, the values of the target residual obtained by performing the foregoing S420 - S430 are different.
[0178] S440: Minimize and optimize the target residual based on the initial value of the rotation external parameter to determine the calibration value of the rotation external parameter.
[0179] Minimize and optimize the target residual based on the initial value. The initial value is used as the initially used but not necessarily accurate external rotation parameter. Execute the aforementioned S420 - S440 to obtain the target residual. Subsequently, use methods such as the Gauss - Newton algorithm to correct the external rotation parameter to be calibrated based on the target residual, and repeatedly execute S420 - S440 until the target residual can be minimized. After determining the minimization of the target residual, the value of the external rotation parameter used to obtain the minimized target residual is the calibrated value of the external rotation parameter.
[0180] By using the aforementioned S410 - S440, the embodiments of the present disclosure adopt a method of residual optimization (which can also be called a method of non - linear optimization), and based on the initial value of the external rotation parameter determined above, calculate the calibrated value of the external rotation parameter.
[0181] As mentioned above, it is necessary to calculate the target residual based on the fourth odometer data. The following describes how to calculate the target residual based on the fourth odometer data.
[0182] In some embodiments of the present disclosure, S430 calculating the target residual based on the fourth odometer data may include S431 - S434.
[0183] S431: Determine the detection feature points based on the fourth odometer data corresponding to the first timestamp within the second detection time window, and determine the detection feature line - surface based on the fourth odometer data corresponding to the second timestamp within the second detection time window.
[0184] The aforementioned second timestamp is earlier than the first timestamp. It should be noted that the aforementioned first timestamp is the timestamp of a time point, and the second timestamp can be the timestamp of a time point or the timestamps of multiple time points. Moreover, the first timestamp and the second timestamp can be adjacent timestamps or non - adjacent timestamps, and the embodiments of the present disclosure do not make special limitations.
[0185] In a specific implementation, the second timestamp is a continuous plurality of timestamps. Determining the detection feature line - surface based on the fourth odometer data corresponding to the second timestamp is to determine the detection feature line - surface based on the fourth odometer data corresponding to multiple timestamps.
[0186] In the embodiments of the present disclosure, the computing device can perform feature extraction on the odometer data with the timestamp of the first timestamp in the fourth odometer data, and determine the data used to represent the detection feature points in the odometer data obtained at the first timestamp within the second time window. The aforementioned detection feature points are preferably points on a certain detection plane.
[0187] In the embodiments of the present disclosure, the computing device may extract features from the odometry data with the timestamp of the second timestamp in the fourth odometry data, and determine the data representing the feature line and surface in the odometry data obtained at the second timestamp within the second time window.
[0188] S432: Calculate the distance residual according to the detected feature points and the detected feature line and surface.
[0189] Calculating the distance residual according to the detected feature points and the detected feature line and surface is to first determine the perpendicular distance from the detected feature points to the matched detected feature line and surface, and take the average value of the multiple perpendicular distances as the distance residual.
[0190] S433: Determine the target residual based on the distance residual.
[0191] In the embodiments of the present disclosure, determining the target residual based on the distance residual may be taking the distance residual as the target residual.
[0192] Optionally, in some embodiments of the present disclosure, the calculation method of the target residual may further include S434 - S435.
[0193] S434: Obtain the fifth odometry data generated by the second odometry sensor within the second detection time window;
[0194] S435: Calculate the marginalization prior residual according to the fourth odometry data and the fifth odometry data.
[0195] In the embodiments of the present disclosure, the marginalization prior residual is used to delete the data with the earliest timestamp in the fourth odometry data and the related fifth odometry data, but retain the constraint relationship of the foregoing data on other data within the first detection time window to obtain the residual. The marginalization prior residual converts the foregoing constraint relationship into a constraint term and puts it into the target residual to facilitate the optimization of the rotation external parameter and some state variables.
[0196] On the premise of executing S434 - S435, the foregoing S433 includes: determining the target residual based on the marginalization prior residual and the distance residual.
[0197] S4311: Determining the target residual based on the marginalization prior residual and the distance residual is to obtain the sum of the marginalization prior residual and the distance residual, and take the sum as the target residual.
[0198] By introducing the marginalized prior residual into the calculation process of the target residual, marginalize the third odometer data of the previous frame obtained within the second detection time window, convert all the marginalized measurement values calculated from the third odometer data into a new prior constraint, and add the prior constraint to the subsequent optimization constraint, so that in the solution process, the variables to be marginalized can be ignored, thereby reducing the computational amount, that is, simplifying the computational amount of subsequently determining the calibration value of the external rotation parameter using the target residual. In addition, by introducing the marginalized prior residual, the problem of drift in the calibrated value of the external rotation parameter can be avoided.
[0199] Optionally, in some embodiments of the present disclosure, calculating the target residual based on the fourth odometer data in S430 may further include S436-S437.
[0200] S436: Calculate the actual integration increment and the pre-integration increment according to the fifth odometer data.
[0201] S437: Calculate the pre-integration residual according to the actual integration increment and the pre-integration increment.
[0202] In the embodiments of the present disclosure, calculate the actual integration increment according to the fifth odometer data.
[0203] In practical applications, some detection devices in the second odometer sensor may have biases. For example, in the case where the second odometer sensor is an inertial measurement unit, the biases of the accelerometer and gyroscope therein will randomly walk. And the aforementioned biases need to be considered in the process of calibrating the external rotation parameter. And the aforementioned biases can be represented by the pre-integration residual.
[0204] On the basis of executing S436-S437, S4311 is specifically S43111.
[0205] S43111: Determine the target residual based on the marginalized prior residual, the distance residual, and the pre-integration residual.
[0206] Determining the target residual based on the marginalized prior residual, the distance residual, and the pre-integration residual is to use the sum of the marginalized prior residual, the distance residual, and the pre-integration residual as the target residual.
[0207] In the embodiments of the present disclosure, by introducing the predicted integration residual to consider the bias situation of the second odometer sensor, the state quantity of the second odometer sensor itself can be considered in the residual calculation process, thereby making the calculated calibration value of the external rotation parameter more accurate.
[0208] The following further describes how to calculate the calibration value of the external rotation parameter using the initial value of the external rotation parameter between the lidar and the inertial measurement unit determined above.
[0209] When calculating the calibration value of the external rotation parameters of the lidar and the inertial measurement unit, the constructed target residual function is where r p (X) represents the marginalized prior residual, and r l (m, X) represents the distance residual from the lidar scan points to the feature line or surface. represents the pre-integration residual of the inertial measurement unit.
[0210] After the third odometry data obtained by the lidar in the second detection window is transformed using the external rotation parameters and the external translation parameters, the resulting fourth odometry data is represented by X, where X = [X p , …, X j , T l b , 0 < p < j < n. where p and j are the timestamps of a certain frame of the third odometry data in the middle of the second detection window; n is the total number of the third odometry data in the second detection window; X k is the fourth odometry data corresponding to the k-th frame of the third odometry data, which is composed of velocity direction the accelerometer bias b a of the IMU and the gyroscope bias b g ; T l b represents the six-degree-of-freedom external parameters between the lidar and the inertial measurement unit, including the translation and the rotation
[0211] represents the unit quaternion of the rotation which can be converted into the rotation matrix through Then, the translation and rotation are written in an external parameter transformation matrix T l b to obtain
[0212] After obtaining the aforementioned target residuals, the Gauss-Newton method can be used to solve in the form of Hδx = -b to obtain the calibration value of the external rotation parameters. When obtaining the calibration value of the external rotation parameters, the calibration value of the external translation parameters, the state data of the third odometry data collected by the lidar in the inertial measurement unit coordinate system, and the accelerometer bias and gyroscope bias of the inertial measurement unit can also be calculated simultaneously.
[0213] In practical applications, after obtaining the calibration value of the aforementioned external rotation parameters, the calibration value of the aforementioned external rotation parameters can be used as the initial value of the new external rotation parameters, and the aforementioned method can be re-executed in the next second detection window to obtain the initial value of the new external rotation parameters.
[0214] In some embodiments of the present disclosure, before the computing device executes the foregoing S440, the computing device may also execute S450 - S460.
[0215] S450: Calculate the sum of the distance residual and the pre-integration residual.
[0216] S460: Determine whether the ratio of the marginalization prior residual to the sum value is less than a second ratio threshold; if so, execute S440.
[0217] In some specific implementations, the first odometer sensor is a sensor such as a lidar. Within a period of time after its initialization is completed, the point cloud map determined based on the obtained third odometer data has not converged, and the matching effect of the point cloud is poor, resulting in an overly large marginalization prior residual. At this time, using the initial value to iteratively optimize the rotational extrinsic parameter will cause the analytical solution to deviate from the actual rotational extrinsic parameter. At this time, it should be ensured that the system is stable before executing the foregoing S440.
[0218] According to the meanings of each residual, the marginalization prior residual can be used as a basis for determining whether the system is stable.
[0219] To determine whether the system is stable, in the embodiments of the present disclosure, by comparing the ratio of the marginalization prior residual to the sum of the distance residual and the pre-integration residual with the second ratio threshold. If the ratio is greater than the second ratio threshold, it is determined that the system is not stable, and thus S440 is not executed at this time.
[0220] In a specific embodiment, when S440 is not executed, the rotational extrinsic parameter determined by the historical sampling period can be used as the extrinsic parameter in the residual function to calculate other data to be awaited.
[0221] Optionally, in some embodiments of the present disclosure, the second odometer sensor is an inertial measurement unit. In this case, before the computing device executes the foregoing S440, the computing device may also execute S470.
[0222] S470: Determine whether the rigid body in load is in a target degenerate motion state; if not, execute S440.
[0223] As before, the rigid body in load is the rigid body carrying the first odometer sensor and the second odometer sensor. The target degenerate motion state is the motion state of the rigid body in load that cannot calibrate the rotational extrinsic parameter between the inertial measurement unit and other odometer sensors. The first odometer data and the second odometer data collected during the degenerate motion cannot achieve accurate calibration of the rotational extrinsic parameter.
[0224] In the embodiments of the present disclosure, the target degraded motion state may be the stationary or uniform motion state of the carrying rigid body. In a specific implementation, the computing device may analyze the third odometer data or the fifth odometer data to determine whether the carrying rigid body is in the target degraded motion state.
[0225] If the carrying rigid body is not in the target degraded motion state, S440 may be executed. If the carrying rigid body is in the target degraded motion state, S440 is no longer executed.
[0226] In a specific embodiment, when S440 is not executed, the rotation external parameter determined by the historical sampling period may be used as the external parameter in the residual function to calculate other data to be obtained.
[0227] By using the method provided in the embodiments of the present disclosure, when it is determined that the carrying rigid body is in the target degraded motion state, S440 is no longer executed, which can avoid the problem that the initial value falls into a local minimum during the iterative optimization process of optimizing the rotation external parameter calibration value by using the initial value of the rotation external parameter, and thus an accurate rotation external parameter calibration value cannot be obtained.
[0228] In addition to providing the foregoing external parameter calibration method, the embodiments of the present disclosure also provide an external parameter calibration device for implementing the foregoing external parameter calibration method. Figure 6 It is a schematic structural diagram of the external parameter calibration device provided by the embodiments of the present disclosure. As Figure 6 shown, the external parameter calibration device 600 includes a first data acquisition unit 601, a rotation increment calculation unit 602, a solution calculation unit 603, a first judgment unit 604, and an external parameter initial value determination unit 605.
[0229] The first data acquisition unit 601 is configured to acquire the first odometer data generated by the first odometer sensor within the first detection time window, and the second odometer data generated by the second odometer sensor within the first detection time window; the rotation increment calculation unit 602 is configured to calculate a plurality of first rotation increments based on the first odometer data, and calculate second rotation increments with the same time stamps as the respective first rotation increments based on the second odometer data; the solution calculation unit 603 is configured to construct an overdetermined system of equations based on the hand-eye calibration model according to the first rotation increments and the second rotation increments with the same time stamps, and perform singular value decomposition on the overdetermined system of equations to obtain a singular value matrix; the first judgment unit 604 is configured to judge whether the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than a first ratio threshold; the external parameter initial value determination unit 605 is configured to, when the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, determine the initial value of the rotation external parameter according to the eigenvector corresponding to the fourth largest singular value.
[0230] In some embodiments of the present disclosure, the first determination unit 604 is further configured to determine whether the third largest singular value is greater than a preset threshold; the external parameter initial value determination unit 605 determines the initial value of the rotation external parameter according to the eigenvector corresponding to the fourth largest singular value when the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, and the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold.
[0231] In some embodiments of the present disclosure, the external parameter calibration device 600 further includes a second determination unit and a deletion unit. The second determination unit is configured to determine whether at least one of the first rotation increment and the second rotation increment is less than a rotation increment threshold; the deletion unit is configured to delete the first rotation increment and the second rotation increment that are less than the rotation increment threshold.
[0232] In some embodiments of the present disclosure, the external parameter calibration device 600 further includes a difference calculation unit. The difference calculation unit is configured to calculate the rotation increment difference between the first rotation increment and the second rotation increment with the same timestamp; the deletion unit is further configured to delete the corresponding first rotation increment and second rotation increment when the rotation increment difference is less than a difference threshold.
[0233] In some embodiments of the present disclosure, the second odometer sensor is an inertial measurement unit or a differential positioning sensor; after determining the initial value of the rotation external parameter, the external parameter calibration device 600 further includes a second data acquisition unit, an odometer data conversion unit, a target residual determination unit, and an external parameter calibration value determination unit.
[0234] The second data acquisition unit is configured to acquire third odometer data generated by the first odometer sensor within a second detection time window; the odometer data conversion unit is configured to perform coordinate conversion on the third odometer data according to the rotation external parameter to be calibrated to obtain fourth odometer data; the target residual determination unit is configured to calculate a target residual based on the fourth odometer data; the external parameter calibration value determination unit is configured to perform minimization optimization on the target residual based on the initial value to determine the calibration value of the rotation external parameter.
[0235] In some embodiments of the present disclosure, the target residual determination unit includes a feature determination subunit, a distance residual calculation subunit, and a target residual determination subunit. The feature determination subunit is configured to determine detection feature point data based on the fourth odometer data corresponding to the first timestamp within the second detection time window, and determine detection feature line-plane data based on the fourth odometer data corresponding to the second timestamp within the second detection time window, where the second timestamp is earlier than the first timestamp; the distance residual calculation subunit is configured to calculate a distance residual according to the detection feature points and the detection feature line-plane; the target residual determination subunit is configured to determine the target residual based on the distance residual.
[0236] In some embodiments of the present disclosure, the second data acquisition unit is further configured to acquire fifth odometry data generated by the second odometry sensor within a second detection time window. The target residual determination unit further includes: a prior residual determination subunit configured to calculate a marginalized prior residual based on the fourth odometry data and the fifth odometry data; a target residual determination subunit configured to determine a target residual based on the marginalized prior residual and a distance residual.
[0237] In some embodiments of the present disclosure, the target residual determination unit further includes: an integration increment calculation subunit configured to determine an actual integration increment and a pre-integration increment based on the fifth odometry data; a pre-integration residual calculation subunit configured to calculate a pre-integration residual based on the actual integration increment and the pre-integration increment; a target residual determination subunit configured to determine a target residual based on the marginalized prior residual, the distance residual, and the pre-integration residual.
[0238] In some embodiments of the present disclosure, the external parameter calibration device 600 further includes a sum value calculation unit and a ratio judgment unit. The sum value calculation unit is configured to calculate the sum value of the distance residual and the pre-integration residual; the ratio judgment unit is configured to judge whether the ratio of the marginalized prior residual to the sum value is less than a second ratio threshold; in the case where the ratio judgment unit determines that the ratio of the marginalized prior residual to the sum value is less than the second ratio threshold, the external parameter calibration value determination unit performs minimization optimization on the target residual based on an initial value.
[0239] In some embodiments of the present disclosure, the external parameter calibration device 600 further includes a degradation state determination unit. The degradation state determination unit is configured to judge whether the rigid body carrying the sensors is in a target degradation motion state, where the rigid body carrying the sensors is the rigid body carrying the first odometry sensor and the second odometry sensor. In the case where the degradation state determination unit determines that the rigid body carrying the sensors is not in the target degradation motion state, the external parameter calibration value determination unit performs minimization optimization on the target residual based on an initial value.
[0240] A1. An external parameter calibration method for implementing external parameter calibration between a first odometry sensor and a second odometry sensor, the method comprising:
[0241] Acquiring first odometry data generated by the first odometry sensor within a first detection time window, and second odometry data generated by the second odometry sensor within the first detection time window;
[0242] Calculating a plurality of first rotation increments based on the first odometry data, and calculating second rotation increments with the same timestamps as the respective first rotation increments based on the second odometry data;
[0243] Based on a hand-eye calibration model, constructing an overdetermined system of equations according to the first rotation increments and the second rotation increments with the same timestamps, and performing singular value decomposition on the overdetermined system of equations to obtain a singular value matrix;
[0244] When the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, an initial value of the external rotation parameter is determined according to the eigenvector corresponding to the fourth largest singular value.
[0245] A2. The method according to claim A1, before determining the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value, the method further includes:
[0246] Determine whether the third largest singular value is greater than a preset threshold;
[0247] The determining the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value includes:
[0248] When the third largest singular value is greater than the preset threshold, determine the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value.
[0249] A3. The method according to claim A1, before constructing an overdetermined equation system according to the first rotation increment and the second rotation increment with the same timestamp, the method further includes:
[0250] Determine whether at least one of the first rotation increment and the second rotation increment is less than a rotation increment threshold;
[0251] If so, delete the first rotation increment and the second rotation increment that are less than the rotation increment threshold.
[0252] A4. The method according to claim A1, the method further includes:
[0253] Calculate the rotation increment difference between the first rotation increment and the second rotation increment with the same timestamp;
[0254] When the rotation increment difference is less than a difference threshold, delete the corresponding first rotation increment and second rotation increment.
[0255] A5. The method according to any one of claims A1 - A4, after determining the initial value of the external rotation parameter, the method further includes:
[0256] Obtain the third odometer data generated by the first odometer sensor within the second detection time window;
[0257] Perform coordinate transformation on the third odometer data according to the external rotation parameter to be calibrated to obtain the fourth odometer data;
[0258] Calculate a target residual based on the fourth odometer data;
[0259] Minimize and optimize the target residual based on the initial value of the external rotation parameter to determine the calibrated value of the external rotation parameter.
[0260] A6. The method according to claim A5, wherein calculating the target residual based on the fourth odometer data includes:
[0261] Determining detection feature point data based on the fourth odometer data corresponding to the first timestamp within the second detection time window, and determining detection feature line and surface data based on the fourth odometer data corresponding to the second timestamp within the second detection time window, wherein the second timestamp is earlier than the first timestamp;
[0262] Calculating a distance residual according to the detection feature points and the detection feature line and surface;
[0263] Determining the target residual based on the distance residual.
[0264] A7. The method according to claim A6, further comprising:
[0265] Obtaining fifth odometer data generated by a second odometer sensor within the second detection time window;
[0266] Calculating a marginalized prior residual according to the fourth odometer data and the fifth odometer data;
[0267] The determining the target residual based on the distance residual includes: determining the target residual based on the marginalized prior residual and the distance residual.
[0268] A8. The method according to claim A7, further comprising:
[0269] Determining an actual integration increment and a pre-integration increment according to the fifth odometer data;
[0270] Calculating a pre-integration residual according to the actual integration increment and the pre-integration increment;
[0271] The determining the target residual based on the marginalized prior residual and the distance residual includes:
[0272] Determining the target residual based on the marginalized prior residual, the distance residual, and the pre-integration residual.
[0273] A9. The method according to claim A8, before minimizing and optimizing the target residual based on the initial value of the external rotation parameter, the method further comprises:
[0274] Calculating the sum of the distance residual and the pre-integration residual;
[0275] Determining whether the ratio of the marginalized prior residual to the sum value is less than a second ratio threshold;
[0276] If so, perform minimization optimization on the target residual based on the initial value of the rotation extrinsic parameter.
[0277] A10. The method according to claim A5, before performing minimization optimization on the target residual based on the initial value of the rotation extrinsic parameter, the method further includes:
[0278] Determine whether the carrying rigid body is in a target degenerate motion state, where the carrying rigid body is the rigid body carrying the first odometer sensor and the second odometer sensor;
[0279] If not, perform minimization optimization on the target residual based on the initial value of the rotation extrinsic parameter.
[0280] A11. An extrinsic parameter calibration device for realizing extrinsic parameter calibration between a first odometer sensor and a second odometer sensor; the device includes:
[0281] A first data acquisition unit for acquiring first odometer data generated by the first odometer sensor within a first detection time window and second odometer data generated by the second odometer sensor within the first detection time window;
[0282] A rotation increment calculation unit for calculating a plurality of first rotation increments based on the first odometer data and calculating second rotation increments with the same timestamps as the respective first rotation increments based on the second odometer data;
[0283] A solution calculation unit for constructing an overdetermined system of equations based on the first rotation increment and the second rotation increment with the same timestamp according to a hand-eye calibration model and performing singular value decomposition on the overdetermined system of equations to obtain a singular value matrix;
[0284] A first judgment unit for judging whether the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than a first ratio threshold;
[0285] An initial value determination unit for the extrinsic parameter, in the case where the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, determining the initial value of the rotation extrinsic parameter according to the eigenvector corresponding to the fourth largest singular value.
[0286] A12. The device according to claim A11,
[0287] The first judgment unit is further configured to judge whether the third largest singular value is greater than a preset threshold;
[0288] When the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, and the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, the external parameter initial value determination unit determines the initial value of the rotation external parameter according to the eigenvector corresponding to the fourth largest singular value.
[0289] A13. The device according to claim A11, further comprising:
[0290] A second determination unit, configured to determine whether at least one of the first rotation increment and the second rotation increment is less than a rotation increment threshold;
[0291] A deletion unit, configured to delete the first rotation increment and the second rotation increment that are less than the rotation increment threshold.
[0292] A14. The device according to claim A11, further comprising:
[0293] A difference calculation unit, configured to calculate a rotation increment difference between the first rotation increment and the second rotation increment with the same timestamp;
[0294] The deletion unit is further configured to delete the corresponding first rotation increment and second rotation increment when the rotation increment difference is less than a difference threshold.
[0295] A15. The device according to any one of claims A11-A14, wherein the second odometer sensor is an inertial measurement unit or a differential positioning sensor; after determining the initial value of the rotation external parameter, the device further comprises:
[0296] A second data acquisition unit, configured to acquire third odometer data generated by the first odometer sensor within a second detection time window;
[0297] An odometer data conversion unit, configured to perform coordinate conversion on the third odometer data according to the rotation external parameter to be calibrated to obtain fourth odometer data;
[0298] A target residual determination unit, configured to calculate a target residual based on the fourth odometer data;
[0299] An external parameter calibration value determination unit, configured to perform minimization optimization on the target residual based on the initial value of the rotation external parameter to determine the calibration value of the rotation external parameter.
[0300] A16. The device according to claim A15, wherein the target residual determination unit comprises:
[0301] A feature determination subunit, configured to determine detection feature point data based on fourth odometer data corresponding to a first timestamp within the second detection time window, and determine detection feature line and surface data based on fourth odometer data corresponding to a second timestamp within the second detection time window, where the second timestamp is earlier than the first timestamp;
[0302] A distance residual calculation subunit, configured to calculate a distance residual according to the detection feature points and the detection feature line and surface;
[0303] A target residual determination subunit, configured to determine the target residual based on the distance residual.
[0304] A17. The apparatus according to claim A16,
[0305] The second data acquisition unit is further configured to acquire fifth odometer data generated by a second odometer sensor within the second detection time window;
[0306] The target residual determination unit further includes: a prior residual determination subunit, configured to calculate a marginalized prior residual according to the fourth odometer data and the fifth odometer data;
[0307] The target residual determination subunit determines the target residual based on the marginalized prior residual and the distance residual.
[0308] A18. The apparatus according to claim A16, where the target residual determination unit further includes:
[0309] An integration increment calculation subunit, configured to determine an actual integration increment and a pre-integration increment according to the fifth odometer data;
[0310] A pre-integration residual calculation subunit, configured to calculate a pre-integration residual according to the actual integration increment and the pre-integration increment;
[0311] The target residual determination subunit determines the target residual based on the marginalized prior residual, the distance residual, and the pre-integration residual.
[0312] A19. The apparatus according to claim A18, further including:
[0313] A sum value calculation unit, configured to calculate a sum value of the distance residual and the pre-integration residual;
[0314] A ratio judgment unit, configured to judge whether a ratio of the marginalized prior residual to the sum value is less than a second ratio threshold;
[0315] When the ratio determination unit determines that the ratio of the marginalized prior residual to the sum value is less than the second ratio threshold, the external parameter calibration value determination unit minimizes and optimizes the target residual based on the initial value of the rotational external parameter.
[0316] A20. The apparatus according to claim A15, further comprising:
[0317] A degradation state determination unit configured to determine whether the carrying rigid body is in a target degraded motion state, where the carrying rigid body is a rigid body carrying the first odometer sensor and the second odometer sensor;
[0318] When the degradation state determination unit determines that the carrying rigid body is not in the target degraded motion state, the external parameter calibration value determination unit minimizes and optimizes the target residual based on the initial value of the rotational external parameter.
[0319] An embodiment of the present disclosure further provides a computing device, which includes a processor and a memory. Among them, a computer program is stored in the memory, and when the computer program is executed by the processor, the external parameter calibration method of any of the above embodiments can be implemented.
[0320] Figure 7 FIG. is a schematic structural diagram of the computing device provided by the embodiment of the present disclosure. Specifically refer to the following Figure 7 FIG., which shows a schematic structural diagram of a computing device 700 suitable for implementing the embodiment of the present disclosure. Figure 7 The computing device shown in FIG. is only an example and should not impose any limitation on the functions and usage scope of the embodiment of the present disclosure.
[0321] As shown in Figure 7 FIG., the computing device 700 may include a processing device 701 (such as a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to the program stored in the read-only memory ROM 702 or the program loaded from the storage device 708 into the random access memory RAM 703. In the RAM 703, various programs and data required for the operation of the computing device 700 are also stored. The processing device 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. The input / output I / O interface 705 is also connected to the bus 704.
[0322] Typically, the following devices can be connected to the I / O interface 705: an input device 706 including, for example, a touch screen, a touchpad, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 707 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 708 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 709. The communication device 709 can allow the computing device 700 to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 7 a computing device 700 with various devices is shown, it should be understood that it is not required to implement or have all the shown devices. More or fewer devices can be alternatively implemented or had.
[0323] In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, an embodiment of the present disclosure includes a computer program product that includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes program code for performing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from a network through the communication device 709, or installed from the storage device 708, or installed from the ROM 702. When the computer program is executed by the processing device 701, the above functions defined in the methods of the embodiments of the present disclosure are performed.
[0324] It should be noted that the computer-readable medium described above in the present disclosure can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device. In the present disclosure, a computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, in which the computer-readable program code is carried. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, and this computer-readable signal medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0325] In some embodiments, the client and the server can communicate using any currently known or future-developed network protocol such as HTTP (HyperText Transfer Protocol), and can be interconnected with digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), the Internet (e.g., the Internet), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or future-developed networks.
[0326] The above computer-readable medium can be included in the above computing device; it can also exist separately without being assembled into the computing device.
[0327] The above computer-readable medium carries one or more programs which, when executed by the computing device, cause the computing device to: obtain first odometer data generated by a first odometer sensor within a first detection time window, and second odometer data generated by a second odometer sensor within the first detection time window; calculate a plurality of first rotation increments based on the first odometer data, and calculate second rotation increments with the same timestamps as the respective first rotation increments based on the second odometer data; based on a hand-eye calibration model, construct an overdetermined system of equations according to the first rotation increments and the second rotation increments with the same timestamps, and perform singular value decomposition on the overdetermined system of equations to obtain a singular value matrix; in the case where the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than a first ratio threshold, determine an initial value of the external rotation parameters according to the eigenvector corresponding to the fourth largest singular value.
[0328] Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages or combinations thereof. The programming languages include, but are not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
[0329] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and the combinations of blocks in the block diagram and / or flowchart, may be implemented by a dedicated hardware-based system for performing the specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions.
[0330] The units involved in the embodiments of the present disclosure can be implemented in software or in hardware. In some cases, the name of the unit does not constitute a limitation on the unit itself.
[0331] The functions described above herein can be performed, at least in part, by one or more hardware logic components. By way of example and not limitation, the types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0332] In the context of the present disclosure, a machine-readable medium may be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0333] The embodiments of the present disclosure further provide a computer-readable storage medium storing a computer program which, when executed by a processor, can implement the method of any of the foregoing method embodiments, and the execution manner and beneficial effects are similar and will not be elaborated herein.
[0334] In addition, in a fifth aspect, the embodiments of the present disclosure provide a vehicle including an in-vehicle control chip and a plurality of interactive display screens, where the in-vehicle control chip is configured to execute the text input method as described above and control at least two of the plurality of interactive display screens to independently display a text input interface. The foregoing in-vehicle control chip may be a central control chip in the vehicle, or may be an entertainment system control chip independent of the central control chip, or may be other chips, and the embodiments of the present disclosure do not make a particular limitation; preferably, the foregoing in-vehicle control chip is a control chip dedicated to controlling the operation of each interactive display screen in the vehicle intelligent cockpit system.
[0335] It should be noted that, in this document, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or device comprising said element.
[0336] The above are only specific embodiments of the present disclosure, enabling those skilled in the art to understand or implement the present disclosure. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to the embodiments described herein, but rather to the broadest scope consistent with the principles and novel features disclosed herein.
Claims
1. An external parameter calibration method for realizing the external parameter calibration between a first odometer sensor and a second odometer sensor, characterized in that, The method includes: Obtaining first odometer data generated by a first odometer sensor within a first detection time window, and second odometer data generated by a second odometer sensor within the first detection time window; Calculating a plurality of first rotation increments based on the first odometer data, and calculating second rotation increments with the same timestamps as the respective first rotation increments based on the second odometer data; Based on a hand-eye calibration model, constructing an overdetermined equation set according to the first rotation increments and the second rotation increments with the same timestamps, and performing singular value decomposition on the overdetermined equation set to obtain a singular value matrix; When the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than a first ratio threshold, determining an initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value; After determining the initial value of the external rotation parameter, the method further includes: Obtaining third odometer data generated by the first odometer sensor within a second detection time window; Performing coordinate transformation on the third odometer data according to the external rotation parameter to be calibrated to obtain fourth odometer data; Calculating a target residual based on the fourth odometer data; Minimizing and optimizing the target residual based on the initial value of the external rotation parameter to determine a calibrated value of the external rotation parameter.
2. The method according to claim 1, wherein Before determining the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value, the method further includes: Judging whether the third largest singular value is greater than a preset threshold; The determining the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value includes: When the third largest singular value is greater than the preset threshold, determining the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value.
3. The method according to claim 1, wherein Before constructing an overdetermined equation set according to the first rotation increments and the second rotation increments with the same timestamps, the method further includes: Judging whether at least one of the first rotation increments and the second rotation increments is less than a rotation increment threshold; If so, deleting the first rotation increments and the second rotation increments that are less than the rotation increment threshold.
4. The method according to claim 1, wherein The method further includes: Calculating a rotation increment difference between the first rotation increments and the second rotation increments with the same timestamps; When the rotation increment difference is less than a difference threshold, deleting the corresponding first rotation increments and second rotation increments.
5. The method according to claim 1, characterized in that, The calculating the target residual based on the fourth odometer data includes: Determining detection feature point data based on the fourth odometer data corresponding to a first timestamp within the second detection time window, and determining detection feature line and plane data based on the fourth odometer data corresponding to a second timestamp within the second detection time window, where the second timestamp is earlier than the first timestamp; Calculating a distance residual according to the detection feature points and the detection feature line and plane; Determining the target residual based on the distance residual.
6. The method according to claim 5, wherein The method further includes: Obtaining fifth odometer data generated by the second odometer sensor within the second detection time window; Calculating a marginalized prior residual according to the fourth odometer data and the fifth odometer data; The determining the target residual based on the distance residual includes: determining the target residual based on the marginalized prior residual and the distance residual.
7. The method according to claim 6, wherein The method further includes: Determine the actual integration increment and the pre-integration increment according to the fifth odometer data; Calculate the pre-integration residual according to the actual integration increment and the pre-integration increment; The determining the target residual based on the marginalized prior residual and the distance residual includes: Determine the target residual based on the marginalized prior residual, the distance residual, and the pre-integration residual.
8. The method according to claim 7, wherein Before minimizing and optimizing the target residual based on the initial value of the external rotation parameter, the method further includes: Calculate the sum value of the distance residual and the pre-integration residual; Judge whether the ratio of the marginalized prior residual to the sum value is less than a second ratio threshold; If so, perform minimizing and optimizing the target residual based on the initial value of the external rotation parameter.
9. The method according to claim 1, wherein Before minimizing and optimizing the target residual based on the initial value of the external rotation parameter, the method further includes: Judge whether the carrying rigid body is in a target degenerate motion state, where the carrying rigid body is the rigid body carrying the first odometer sensor and the second odometer sensor; If not, minimize and optimize the target residual based on the initial value of the external rotation parameter.
10. An external parameter calibration device is used to implement the external parameter calibration between the first odometer sensor and the second odometer sensor; characterized in that, The device includes: A first data acquisition unit, configured to acquire first odometer data generated by a first odometer sensor within a first detection time window, and second odometer data generated by a second odometer sensor within the first detection time window; A rotation increment calculation unit, configured to calculate a plurality of first rotation increments based on the first odometer data, and calculate second rotation increments with the same timestamps as the respective first rotation increments based on the second odometer data; A solution calculation unit, configured to construct an overdetermined system of equations based on the hand-eye calibration model according to the first rotation increment and the second rotation increment with the same timestamp, and perform singular value decomposition on the overdetermined system of equations to obtain a singular value matrix; A first judgment unit, configured to judge whether the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than a first ratio threshold; An initial external parameter determination unit, configured to, when the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, determine the initial value of the external rotation parameter according to the eigenvector corresponding to the fourth largest singular value; The second odometer sensor is an inertial measurement unit or a differential positioning sensor; after determining the initial value of the external rotation parameter, the device further includes: A second data acquisition unit, configured to acquire third odometer data generated by the first odometer sensor within a second detection time window; An odometer data conversion unit, configured to perform coordinate conversion on the third odometer data according to the external rotation parameter to be calibrated to obtain fourth odometer data; A target residual determination unit, configured to calculate a target residual based on the fourth odometer data; An external parameter calibration value determination unit, configured to minimize and optimize the target residual based on the initial value of the external rotation parameter to determine the calibration value of the external rotation parameter.
11. The device according to claim 10, wherein The first judgment unit is further configured to judge whether the third largest singular value is greater than a preset threshold; When the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, and the ratio of the third largest singular value to the fourth largest singular value in the singular value matrix is greater than the first ratio threshold, the external parameter initial value determination unit determines the initial value of the rotation external parameter according to the eigenvector corresponding to the fourth largest singular value.
12. The device according to claim 10, wherein It further includes: A second determination unit, configured to determine whether at least one of the first rotation increment and the second rotation increment is less than a rotation increment threshold; A deletion unit, configured to delete the first rotation increment and the second rotation increment that are less than the rotation increment threshold.
13. The device according to claim 12, characterized in that, It further includes: A difference calculation unit, configured to calculate a rotation increment difference between the first rotation increment and the second rotation increment with the same timestamp; The deletion unit is further configured to delete the corresponding first rotation increment and second rotation increment when the rotation increment difference is less than a difference threshold.
14. The device according to claim 10, characterized in that, The target residual determination unit includes: A feature determination subunit, configured to determine detection feature point data based on the fourth odometer data corresponding to the first timestamp within the second detection time window, and determine detection feature line and surface data based on the fourth odometer data corresponding to the second timestamp within the second detection time window, where the second timestamp is earlier than the first timestamp; A distance residual calculation subunit, configured to calculate a distance residual according to the detection feature points and the detection feature line and surface; A target residual determination subunit, configured to determine the target residual based on the distance residual.
15. The apparatus according to claim 14, wherein The second data acquisition unit is further configured to acquire fifth odometer data generated by the second odometer sensor within the second detection time window; The target residual determination unit further includes: a prior residual determination subunit, configured to calculate a marginalized prior residual according to the fourth odometer data and the fifth odometer data; The target residual determination subunit determines the target residual based on the marginalized prior residual and the distance residual.
16. The device according to claim 15, characterized in that, The target residual determination unit further includes: An integration increment calculation subunit, configured to determine an actual integration increment and a pre-integration increment according to the fifth odometer data; A pre-integration residual calculation subunit, configured to calculate a pre-integration residual according to the actual integration increment and the pre-integration increment; The target residual determination subunit determines the target residual based on the marginalized prior residual, the distance residual, and the pre-integration residual.
17. The device according to claim 16, characterized in that, It further includes: A sum value calculation unit, configured to calculate a sum value of the distance residual and the pre-integration residual; A ratio judgment unit, configured to judge whether the ratio of the marginalized prior residual to the sum value is less than a second ratio threshold; When the ratio judgment unit determines that the ratio of the marginalized prior residual to the sum value is less than the second ratio threshold, the external parameter calibration value determination unit performs minimization optimization on the target residual based on the initial value of the rotation external parameter.
18. The device according to claim 10, characterized in that, It further includes: A degradation state determination unit, configured to determine whether the carrying rigid body is in a target degradation motion state, where the carrying rigid body is the rigid body carrying the first odometer sensor and the second odometer sensor; When the degradation state determination unit determines that the rigid body carrier is not in the target degradation motion state, the external parameter calibration value determination unit minimizes and optimizes the target residual based on the initial value of the rotational external parameter.
19. A computing device, characterized in that, It includes a processor and a memory, and the memory is used to store computer programs; When the computer program is loaded by the processor, it causes the processor to execute the external parameter calibration method according to any one of claims 1-9.
20. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, and when the computer program is executed by the processor, it causes the processor to implement the external parameter calibration method according to any one of claims 1-9.
21. A vehicle, characterized in that, It includes a vehicle control chip, a first odometer sensor, and a second odometer sensor, and the vehicle control chip is used to execute the external parameter calibration method according to any one of claims 1-9.
Citation Information
Patent Citations
External parameter calibration and precise positioning method based on under-mine multi-sensor fusion
CN110514225A
Reference-object-free sensor external parameter calibration method
CN112729344A