Navigation data calibration method and apparatus, readable storage medium, and electronic device
By checking the accuracy of calibration data before calibration and performing calibration under certain conditions, the problem of cumulative error in the VIO system is solved, improving the reliability of navigation data calibration and the accuracy of device positioning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING SANKUAI ONLINE TECH CO LTD
- Filing Date
- 2022-07-21
- Publication Date
- 2026-06-26
AI Technical Summary
In a wide range of scenarios, the state estimation results of the VIO system inevitably accumulate errors, which affect the positioning robustness and accuracy of autonomous driving equipment. Existing calibration methods use calibration data with large errors, resulting in poor calibration results.
Before calibration, the accuracy of the calibration data is checked by using prior pose information of the visual navigation data or historical data of the calibration data. Calibration is only performed when the preset calibrable conditions are met. The visual navigation data is calibrated by coordinate system transformation and error state matrix correction.
It improves the reliability and accuracy of navigation data calibration, enhances the robustness and accuracy of equipment positioning, and reduces the drawbacks of poor calibration results caused by large calibration data errors.
Smart Images

Figure CN117470273B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of autonomous driving technology, and more specifically, to a navigation data calibration method, apparatus, readable storage medium, and electronic device. Background Technology
[0002] Currently, with the development of autonomous driving technology, unmanned vehicles can continuously locate themselves based on data collected by sensors during operation, and then make decisions or navigate based on the location results. To improve the robustness and accuracy of the state estimation system of unmanned vehicles, it is usually necessary to utilize multi-sensor fusion based on the complementary characteristics of the sensors themselves for state estimation.
[0003] Currently, visual-inertial odometry (VIO), based on cameras and IMUs (Inertial Measurement Units), utilizes small, lightweight cameras to provide rich environmental information to assist high-frequency IMU measurements, effectively improving the accuracy of pose estimation affected by noise and bias. However, VIO systems are not observable in global position and heading, thus the state estimation results inevitably have accumulated errors in a wide range of scenarios. Therefore, to improve the robustness and accuracy of localization for autonomous vehicles, it is necessary to calibrate the navigation data. Summary of the Invention
[0004] The purpose of this disclosure is to provide a navigation data calibration method, apparatus, readable storage medium, and electronic device to improve the robustness and accuracy of device positioning.
[0005] To achieve the above objectives, a first aspect of this disclosure provides a navigation data calibration method, comprising:
[0006] Based on the data collected by the current device, determine the visual navigation data and the calibration data used to calibrate the visual navigation data;
[0007] Based on the prior pose information of the visual navigation data or based on the historical data of the calibration data, determine whether the calibration data meets the preset calibrable conditions;
[0008] If the calibration data meets the calibrable conditions, the visual navigation data is calibrated based on the calibration data.
[0009] Optionally, the calibration data may include satellite navigation data or radar navigation data.
[0010] Optionally, the visual navigation data is based on a first coordinate system, the calibration data is based on a second coordinate system, and the method further includes:
[0011] Determine the coordinate system transformation relationship between the first coordinate system and the second coordinate system, and transform the visual navigation data and the calibration data to the same coordinate system according to the coordinate system transformation relationship;
[0012] Correspondingly, calibrating the visual navigation data based on the calibration data when the calibration data meets the calibrable conditions includes:
[0013] If the calibration data meets the calibrable conditions, the visual navigation data is calibrated in the same coordinate system based on the calibration data.
[0014] Optionally, determining whether the calibration data meets preset calibrability conditions based on the prior pose information of the visual navigation data includes:
[0015] Obtain N consecutive visual navigation data points up to the current time, where N is an integer greater than 1;
[0016] Obtain N consecutive calibration data corresponding to the N consecutive visual navigation data;
[0017] Based on the N consecutive visual navigation data and the N consecutive calibration data, determine the similarity between the visual navigation data and the calibration data;
[0018] If the similarity is greater than a first preset threshold, the calibration data is determined to meet preset calibrable conditions.
[0019] Optionally, determining whether the calibration data meets preset calibrability conditions based on the prior pose information of the visual navigation data includes:
[0020] Determine the distance the current device has traveled between the time when the visual navigation data was most recently calibrated and the current time.
[0021] The drift error of the visual navigation data is determined based on the movement distance, the preset drift rate, and the minimum drift error of the visual navigation data.
[0022] Determine the distance between the visual navigation data and the calibration data;
[0023] If the distance is less than or equal to the drift error, the calibration data is determined to meet the preset calibrability conditions.
[0024] Optionally, the calibration data includes the device's position data and the device's speed data. Determining whether the calibration data meets preset calibrability conditions based on historical data includes:
[0025] Based on the device's location data at the first moment, the device's location data at the current moment, and the time difference between the first moment and the current moment, the average speed of the device between the first moment and the current moment is determined, wherein the first moment is the moment before the current moment;
[0026] If the cosine distance between the device's speed data at the current moment and the average speed is less than or equal to a second preset threshold, it is determined that the calibration data meets the preset calibrable conditions.
[0027] Optionally, the calibration data is satellite navigation data, and the solution type of the satellite navigation data is a single-point solution. The step of determining whether the calibration data meets preset calibrability conditions based on the prior pose information of the visual navigation data or based on the historical data of the calibration data includes:
[0028] The location data of the device is determined from the satellite navigation data;
[0029] Determine whether the location data meets the preset calibrable conditions.
[0030] Optionally, the calibration data includes measurement accuracy, and calibrating the visual navigation data based on the calibration data when the calibration data meets the calibrability conditions includes:
[0031] If the calibration data meets the calibrable conditions, an observation matrix based on the error state and the gap between the calibration data and the visual navigation data are determined based on the calibration data and the visual navigation data.
[0032] The observation noise matrix is determined based on the gap, the preset forgetting factor, and the measurement accuracy.
[0033] The correction amount corresponding to the visual navigation data is determined based on the observation matrix based on the error state, the observation noise matrix, and the gap.
[0034] The visual navigation data is calibrated based on the correction amount.
[0035] Optionally, the coordinate system transformation relationship is determined in the following way:
[0036] Determine if calibration data exists for a solution type of real-time differential positioning fixed solution;
[0037] If it is determined that calibration data with a solution type of real-time differential positioning fixed solution exists, then the target time when the calibration data exists is determined.
[0038] The coordinate system transformation relationship is determined based on the calibration data and visual navigation data at the target time.
[0039] Optionally, the method further includes:
[0040] If it is determined that there is no calibration data with a solution type of real-time differential positioning fixed solution, then the relative pose of the device relative to the calibration object is determined;
[0041] Based on the relative pose and the pose of the calibrated object, the pose of the device in the second coordinate system is determined;
[0042] The coordinate system transformation relationship is determined based on the device's pose in the second coordinate system and the visual navigation data.
[0043] A second aspect of this disclosure provides a navigation data calibration apparatus, comprising:
[0044] The first determining module is used to determine visual navigation data and calibration data for calibrating the visual navigation data based on the data collected by the current device.
[0045] The second determining module is used to determine whether the calibration data meets the preset calibrable conditions based on the prior pose information of the visual navigation data or the historical data of the calibration data.
[0046] A calibration module is used to calibrate the navigation data to be calibrated based on the calibration data, provided that the calibration data meets the calibrable conditions.
[0047] Optionally, the calibration data may include satellite navigation data or radar navigation data.
[0048] Optionally, the visual navigation data is based on a first coordinate system, the calibration data is based on a second coordinate system, and the device further includes:
[0049] The third determining module is used to determine the coordinate system transformation relationship between the first coordinate system and the second coordinate system, and to transform the visual navigation data and the calibration data to the same coordinate system according to the coordinate system transformation relationship;
[0050] Correspondingly, the calibration module is used to: calibrate the visual navigation data according to the calibration data in the same coordinate system, provided that the calibration data meets the calibrable conditions.
[0051] Optionally, the second determining module includes:
[0052] The first acquisition submodule is used to acquire N consecutive visual navigation data points before the current time, where N is an integer greater than 1;
[0053] The second acquisition submodule is used to acquire N consecutive calibration data corresponding to the N consecutive visual navigation data;
[0054] The first determining submodule is used to determine the similarity between the visual navigation data and the calibration data based on the N consecutive visual navigation data and the N consecutive calibration data;
[0055] The second determining submodule is used to determine that the calibration data meets preset calibrable conditions when the similarity is greater than a first preset threshold.
[0056] Optionally, the second determining module includes:
[0057] The third determining submodule is used to determine the distance the current device has moved between the time when it last calibrated the visual navigation data and the current time.
[0058] The fourth determining submodule is used to determine the drift error of the visual navigation data based on the movement distance, the preset drift rate, and the minimum drift error of the visual navigation data.
[0059] The fifth determining submodule is used to determine the distance between the visual navigation data and the calibration data;
[0060] The sixth determining submodule is used to determine whether the calibration data meets preset calibrable conditions when the distance is less than or equal to the drift error.
[0061] Optionally, the calibration data includes the device's position data and the device's speed data; the second determining module includes:
[0062] The seventh determining submodule is used to determine the average speed of the device between the first moment and the current moment based on the device's position data at the first moment, the device's position data at the current moment, and the time difference between the previous moment and the current moment, wherein the first moment is the moment before the current moment;
[0063] The eighth determining submodule is used to determine that the calibration data meets the preset calibrable conditions when the cosine distance between the speed data of the device at the current moment and the average speed is less than or equal to a second preset threshold.
[0064] Optionally, the calibration data is satellite navigation data, and the solution type of the satellite navigation data is a single-point solution. The second determining module includes:
[0065] The ninth determining submodule is used to determine the location data of the device from the satellite navigation data;
[0066] The tenth determination submodule is used to determine whether the location data meets the preset calibrable conditions.
[0067] Optionally, the calibration data includes measurement accuracy, and the calibration module includes:
[0068] The eleventh determination submodule is used to determine, based on the calibration data and the visual navigation data, an observation matrix based on the error state and the gap between the calibration data and the visual navigation data, provided that the calibration data meets the calibrable conditions.
[0069] The twelfth determination submodule is used to determine the observation noise matrix based on the gap, the preset forgetting factor, and the measurement accuracy;
[0070] The thirteenth determination submodule is used to determine the correction amount corresponding to the visual navigation data based on the observation matrix based on the error state, the observation noise matrix, and the gap;
[0071] The calibration submodule is used to calibrate the visual navigation data according to the correction amount.
[0072] Optionally, the coordinate system transformation relationship is determined in the following way:
[0073] Determine if calibration data exists for a solution type of real-time differential positioning fixed solution;
[0074] If it is determined that calibration data with a solution type of real-time differential positioning fixed solution exists, then the target time when the calibration data exists is determined.
[0075] The coordinate system transformation relationship is determined based on the calibration data and visual navigation data at the target time.
[0076] Optionally, the device further includes:
[0077] The third determining module is used to determine the relative pose of the unequipped object relative to the calibration object if it is determined that there is no calibration data with a solution type of real-time differential positioning fixed solution.
[0078] The fourth determining module is used to determine the pose of the device in the second coordinate system based on the relative pose and the pose of the calibrated object;
[0079] The fifth determining module is used to determine the coordinate system transformation relationship based on the pose of the device in the second coordinate system and the visual navigation data.
[0080] A third aspect of this disclosure provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps of the method provided in the first aspect of this disclosure.
[0081] A fourth aspect of this disclosure provides an electronic device, comprising:
[0082] A memory on which computer programs are stored;
[0083] A processor for executing the computer program in the memory to implement the steps of the method provided in the first aspect of this disclosure.
[0084] Through the above technical solution, before calibrating the visual navigation data, the accuracy of the calibration data is checked based on the prior pose information of the visual navigation data or on historical data of the calibration data. The calibration data is only used to calibrate the navigation data to be calibrated if it meets the preset calibrability conditions. This effectively reduces the drawback of using calibration data with large errors, which can lead to poor calibration results. Thus, the reliability and accuracy of navigation data calibration are improved, thereby enhancing the robustness and accuracy of device positioning. Furthermore, by using the prior pose information of the visual navigation data or historical data to check the accuracy of the calibration data, the accuracy of calibration data detection is improved, further enhancing the reliability and accuracy of navigation data calibration.
[0085] Other features and advantages of this disclosure will be described in detail in the following detailed description section. Attached Figure Description
[0086] The accompanying drawings are provided to further illustrate the present disclosure and form part of the specification. They are used together with the following detailed description to explain the present disclosure, but do not constitute a limitation thereof. In the drawings:
[0087] Figure 1 This is a flowchart illustrating a navigation data calibration method according to an exemplary embodiment.
[0088] Figure 2 This is a block diagram illustrating a navigation data calibration device according to an exemplary embodiment.
[0089] Figure 3 This is a block diagram illustrating a first electronic device according to an exemplary embodiment.
[0090] Figure 4 This is a block diagram illustrating a second electronic device according to an exemplary embodiment. Detailed Implementation
[0091] The specific embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit this disclosure.
[0092] It should be noted that all actions involving the acquisition of signals, information, or data in this disclosure are carried out in compliance with the relevant data protection laws and policies of the country where the location is situated, and with authorization from the owner of the relevant device.
[0093] As mentioned above, the state estimation results of the VIO system in a large-scale scene inevitably have accumulated errors, while GNSS (Global Navigation Satellite System) can provide globally drift-free solution results. However, it is not sensitive to state changes in a small-scale scene. That is, the navigation satellite system and the VIO system are complementary in characteristics. Therefore, satellite navigation data can be used to calibrate the visual navigation data acquired at the same time.
[0094] However, since the satellite navigation data obtained by the navigation satellite system usually contains errors, it is difficult to obtain good calibration results if the visual navigation data is calibrated using satellite navigation data with large errors, resulting in low robustness and accuracy of equipment positioning.
[0095] In view of this, the present disclosure provides a navigation data calibration method, apparatus, readable storage medium, and electronic device to improve the reliability and accuracy of navigation data calibration, thereby improving the robustness and accuracy of device positioning.
[0096] Figure 1 This is a flowchart illustrating a navigation data calibration method according to an exemplary embodiment. Figure 1 As shown, the method may include the following steps.
[0097] In step S101, visual navigation data and calibration data for calibrating the visual navigation data are determined based on the data collected by the current device.
[0098] In this disclosure, the device can be an unmanned device, such as an unmanned vehicle, an unmanned aerial vehicle, etc. To ensure accurate positioning, the device is pre-installed with various types of sensors for positioning. These various types of sensors may include cameras, IMUs, satellite signal receiving devices, ultra-wideband radar sensors, etc. During movement, the device uses its own sensors to collect data and locate itself to determine a movement strategy based on the actual situation, or the device may use its own position for navigation, etc.
[0099] It should be understood that the navigation data to be calibrated and the calibration data to be calibrated can be determined according to actual needs. In one possible implementation, before starting calibration, a calibration request can be sent to the electronic device or server performing the navigation data calibration method, wherein the calibration request includes an identifier for the navigation data to be calibrated and an identifier for the calibration data. Thus, the electronic device or server can determine the navigation data to be calibrated and the calibration data from the data currently collected by the device based on the identifiers of the navigation data to be calibrated and the calibration data included in the calibration request.
[0100] Because VIO systems can utilize small, lightweight cameras to provide rich environmental information to assist high-frequency IMU measurements, they can effectively improve the accuracy of pose estimation affected by noise and bias. Therefore, most devices currently use VIO systems for positioning. That is, the navigation data to be calibrated is the visual navigation data of the device at the current moment, and the visual navigation data is determined based on the data collected by the device at the current moment.
[0101] The visual navigation data refers to the position data and velocity data representing the device's location and velocity, calculated and determined by the device's VIO system based on data collected by relevant sensors. Calibration data may include satellite navigation data or radar navigation data. Specifically, satellite navigation data refers to the position data and velocity data representing the device's location and velocity, calculated and determined by the device based on data collected by relevant sensors using a satellite navigation system. Radar navigation data is navigation data calculated from data collected by an ultra-wideband radar sensor. It should be understood that calibration data can also be data collected by other sensors, and this disclosure does not specifically limit its use.
[0102] For ease of description, the following explanation will use visual navigation data as the data to be calibrated and satellite navigation data as the calibration data.
[0103] When a device processes the currently collected data, it typically obtains state variables and covariance, among other things. For visual navigation data, the processed visual navigation data may include the device's current state. and covariance matrix p v Among them, P V R represents the position of the device in the first coordinate system. V V represents the attitude of the device in the first coordinate system. V This indicates the velocity of the device in the first coordinate system. Indicates the bias of the IMU accelerometer. P represents the bias of the gyroscope. V ,R V V V , The covariance moment information corresponding to each state variable is a 3×3 matrix, therefore p v It is a 15×15 matrix. Since this disclosure calibrates the visual navigation data using a filter, the visual navigation data can be the visual navigation data obtained after calibration at the previous time step. The first coordinate system is the coordinate system of the visual navigation data; that is, the visual navigation data is determined based on the first coordinate system.
[0104] For satellite navigation data, the calculated satellite navigation data may include the device's current state Z. m =(p x ,p y ,p z ,v x ,v y ,v z ), the standard deviation and covariance matrix of each state variable. Where p x ,p y ,p z This indicates the position of the device in the second coordinate system, v x ,v y ,v z This indicates the device's velocity in the second coordinate system. The second coordinate system is the coordinate system used for satellite navigation data; that is, the satellite navigation data is determined based on the second coordinate system.
[0105] In step S102, based on the prior pose information of the visual navigation data or based on the historical data of the calibration data, it is determined whether the calibration data meets the preset calibrable conditions.
[0106] In step S103, if the calibration data meets the calibrability conditions, the visual navigation data is calibrated based on the calibration data.
[0107] As mentioned above, calibrating visual navigation data using data with large errors makes it difficult to obtain good calibration results, resulting in low robustness and accuracy of device positioning. Therefore, in this disclosure, before calibrating visual navigation data, it is determined whether the calibration data meets preset calibrability conditions based on prior pose information of the visual navigation data or historical data of the calibration data. These preset calibrability conditions characterize the accuracy of the calibration data. If the calibration data meets the preset calibrability conditions, the accuracy of the calibration data is considered high, and the visual navigation data can be calibrated based on this calibration data. Otherwise, the accuracy of the calibration data is considered low, and in this case, to improve positioning accuracy, calibration of the visual navigation data based on this calibration data is prohibited.
[0108] By employing the above technical solution, before calibrating the visual navigation data, the accuracy of the calibration data is checked based on prior pose information of the visual navigation data or historical data of the calibration data. The calibration data is only used to calibrate the navigation data to be calibrated if it meets preset calibrability conditions. This effectively reduces the drawback of using calibration data with large errors, which can lead to poor calibration results. Thus, the reliability and accuracy of navigation data calibration are improved, thereby enhancing the robustness and accuracy of positioning. Furthermore, by using prior pose information of the visual navigation data or historical data of the calibration data to check its accuracy, the accuracy of calibration data detection is improved, further enhancing the reliability and accuracy of navigation data calibration.
[0109] To facilitate a better understanding of the navigation data calibration method provided in this disclosure by those skilled in the art, a complete embodiment is provided below for detailed description of the navigation data calibration method provided in this disclosure.
[0110] In this disclosure, the coordinate systems of the navigation data obtained from data collected by different sensors are different. For example, visual navigation data is calculated based on data in a first coordinate system, while calibration data is calculated based on data in a second coordinate system. However, only when they are in the same coordinate system can the differences between visual navigation data and calibration data be determined, thereby enabling the calibration of the visual navigation data. Therefore, in this disclosure, it is necessary to transform the visual navigation data and calibration data to the same coordinate system. For example, in one possible embodiment, the navigation data calibration method may further include:
[0111] Determine the coordinate system transformation relationship between the first and second coordinate systems, and transform the visual navigation data and calibration data to the same coordinate system according to the coordinate system transformation relationship.
[0112] Accordingly, Figure 1 The specific implementation of step S103, which involves calibrating the visual navigation data based on the calibration data when the calibration data meets the calibrable conditions, is as follows: under the same coordinate system, the visual navigation data is calibrated based on the calibration data when the calibration data meets the calibrable conditions.
[0113] The following describes the specific implementation method for determining the coordinate system transformation relationship between the first and second coordinate systems.
[0114] It should be understood that the solution type of real-time differential positioning fixed solution refers to the solution result after positioning by carrier phase observation value and the carrier phase narrow lane integer ambiguity has been fixed. The calibration data corresponding to this solution type has high accuracy, which can reach the centimeter level or even the millimeter level. Therefore, in the first possible implementation, the coordinate system transformation relationship between the first coordinate system and the second coordinate system can be determined according to the calibration data of the solution type of real-time differential positioning fixed solution.
[0115] For example, it is determined whether calibration data with a solution type of real-time differential positioning fixed solution exists. If it is determined that calibration data with a solution type of real-time differential positioning fixed solution exists, the target time of the calibration data is determined. Based on the calibration data at the target time and the visual navigation data at the target time, the coordinate system transformation relationship is determined. The determined target time can be the current time or any time before the current time; this disclosure does not specifically limit this. Furthermore, the solution type of the calibration data can be determined using methods found in related technologies; this disclosure also does not limit this.
[0116] In this disclosure, the specific method for determining the coordinate system transformation relationship based on the calibration data and visual navigation data at the target time can be as follows:
[0117] (1) The equipment calculates the rotation matrix to be solved based on the visual navigation data and calibration data at the target time, with the constraint that the velocity data in the visual navigation data and calibration data are the same. The transformation of the velocity data between the first and second coordinate systems is only related to the rotation matrix. The formula can be used to solve for the rotation matrix to be solved. Among them, V G The calibration data representing the target time is the velocity data in the second coordinate system, V. V The visual navigation data representing the target moment is the velocity data in the first coordinate system.
[0118] (2) Based on the rotation matrix, visual navigation data, and calibration data determined by the solution, and with the constraint that the position data in the visual navigation data and calibration data are the same, the translation matrix to be solved is obtained. Specifically, the device can first determine the transformation relationship between the first coordinate system and the second coordinate system as follows: Based on this transformation relationship, the translation matrix to be solved can be obtained.
[0119] (3) Based on the rotation matrix and translation matrix determined by the solution, the transformation relationship between the first coordinate system and the second coordinate system can be determined.
[0120] In a second possible implementation, the coordinate system transformation relationship can be determined using a preset calibration object. For example, if it is determined that there is no calibration data with a solution type of real-time differential positioning fixed solution, the relative pose of the device relative to the calibration object is determined; based on the relative pose and the pose of the calibration object, the pose of the device in the second coordinate system is determined; and based on the pose of the device in the second coordinate system and the visual navigation data, the coordinate system transformation relationship is determined.
[0121] In this embodiment, a marker object with known latitude, longitude, altitude, and orientation can be placed on the ground beforehand. Let's assume the orientation of the marker object is... During movement, the device calculates its relative pose to the calibration object based on the captured images. Then the translation of the device relative to the calibration object in the second coordinate system can be calculated as follows: Furthermore, the rotation of the device relative to the calibration object in the second coordinate system is represented as follows: Then, based on the latitude, longitude, and altitude of the calibration object and the translation of the equipment relative to the calibration object, the position of the equipment in the second coordinate system is determined, and based on the orientation of the calibration object and the rotation of the equipment relative to the calibration object, the attitude of the equipment in the second coordinate system is determined.
[0122] It should be understood that when the device is close to the calibration object, the device pose in the second coordinate system determined in the above manner can reach the centimeter level. That is, when the device is close to the calibration object, the device pose in the second coordinate system determined in the above manner can be equivalent to the calibration data with a solution type of real-time differential positioning fixed solution. Therefore, the specific implementation method for determining the coordinate system transformation relationship based on the device pose in the second coordinate system and visual navigation data can be as follows: the device pose in the second coordinate system is determined as calibration data with a solution type of real-time differential positioning fixed solution, and then the coordinate system transformation relationship is determined according to the first possible implementation method described above.
[0123] After determining the coordinate system transformation relationship between the first coordinate system and the second coordinate system, the visual navigation data and calibration data are transformed to the same coordinate system according to the coordinate system transformation relationship. For example, the visual navigation data can be transformed to the second coordinate system according to the coordinate system transformation relationship, or the calibration data can be transformed to the first coordinate system. This disclosure does not make specific limitations in this regard.
[0124] The following is about Figure 1 The specific implementation method of step S102, which determines whether the calibration data meets the preset calibrable conditions based on the prior pose information of the visual navigation data or the historical data of the calibration data, will be described.
[0125] Schemes for calibrating visual navigation data using satellite navigation data can be broadly categorized into tightly coupled and loosely coupled schemes. Tightly coupled schemes utilize raw measurement data from the satellite navigation system (e.g., pseudorange, pseudorange rate, Doppler translation), inertial information, and visual information to achieve real-time drift-free state estimation. Loosely coupled schemes utilize non-raw measurements (position and velocity), IMU data, and images derived from satellite signal receiving equipment to achieve pose estimation. Because tightly coupled schemes require raw measurement data, they place high demands on hardware data transmission and the computational resources of the VIO system itself. Furthermore, the optimization schemes within loosely coupled schemes involve significant computational loads, hindering lightweight deployment on portable devices. Therefore, the navigation data calibration method provided in this disclosure can be applied to loosely coupled filtering schemes.
[0126] The device position data in satellite navigation data corresponding to single-point solution types has a relatively large error, typically ranging from 2 to 5 meters. Directly using this position data to calibrate visual navigation data would increase the device's positioning error. Therefore, it's not possible to directly calibrate visual navigation data based on the device's position data in this type of satellite navigation data. Furthermore, this error differs from typical jump errors; it exhibits a slow drift characteristic. Typical outlier elimination strategies are insufficient to eliminate satellite navigation data corresponding to single-point solutions with large errors. Thus, calibrating visual navigation data using satellite navigation data corresponding to this solution type would result in a significant device positioning error. Therefore, in one possible embodiment of this disclosure, the calibration data is satellite navigation data, and the solution type of this satellite navigation data is single-point solution.
[0127] In one possible approach of this embodiment, determining whether the calibration data meets the preset calibrability conditions based on the prior pose information of the visual navigation data or based on the historical data of the calibration data may include: determining the position data and velocity data of the device from the satellite navigation data; and determining whether the position data and velocity data meet the preset calibrability conditions.
[0128] However, since the velocity data in the satellite navigation data corresponding to the single-point solution type is obtained based on the Doppler translation principle and has high accuracy, in order to simplify the process of determining whether the calibration data meets the calibrable conditions, in another possible approach in this embodiment, the accuracy of the device's position data in the satellite navigation data can be used to determine whether the calibration data meets the preset calibrable conditions. For example, determining whether the calibration data meets the preset calibrable conditions based on the prior pose information of the visual navigation data or based on the historical data of the calibration data may include: determining the position data for the device from the satellite navigation data; and determining whether the position data meets the preset calibrable conditions based on the prior pose information of the visual navigation data or based on the historical data of the calibration data.
[0129] In one possible embodiment, the calibration data is determined to meet preset calibrability conditions based on prior pose information of the visual navigation data.
[0130] In one embodiment of this example, the prior pose information of the visual navigation data can be N consecutive visual navigation data, where N is an integer greater than 1. Accordingly, the specific implementation of determining whether the calibration data meets the preset calibrability conditions based on the prior pose information of the visual navigation data can be as follows: acquire N consecutive visual navigation data before the current time, where N is an integer greater than 1; acquire N consecutive calibration data corresponding to the N consecutive visual navigation data; determine the similarity between the visual navigation data and the calibration data based on the N consecutive visual navigation data and the N consecutive calibration data; if the similarity is greater than a first preset threshold, determine that the calibration data meets the preset calibrability conditions. The N consecutive visual navigation data can be the most recently acquired N consecutive visual navigation data.
[0131] For example, assuming N is 5 and the current time is t5, the prior pose information of the visual navigation data includes five consecutive visual navigation data points calculated by the VIO system from time t1 to time t5, and five consecutive calibration data points calculated by the device from time t1 to time t5. Thus, the position data from the five consecutive visual navigation data points and the position data from the five consecutive calibration data points can be obtained, and each position data point includes three components: x, y, and z. Taking the x component as an example, the position vector Vx including the x position from the five consecutive visual navigation data points and the position vector Gx including the x position from the five consecutive calibration data points can be obtained. The Pearson correlation coefficient between Vx and Gx is calculated and denoted as the similarity of the position vectors at the x position. Similarly, the similarity of the position vectors at the y position and the z position can be obtained. Accordingly, the similarity between the visual navigation data and the calibration data can include the similarity of the position vectors at the x, y, and z positions. If the similarity of the position vectors at position x, position y, and position z are all greater than a first preset threshold, the calibration data is determined to meet the preset calibrable conditions, that is, the accuracy of the calibration data is considered to be relatively high, and it can be used to calibrate the visual navigation data.
[0132] Furthermore, if the similarity is no greater than the first preset value, that is, if the trajectory similarity between N consecutive visual navigation data and N consecutive calibration data is low, the accuracy of the calibration data can be considered low. In this case, the position data in the calibration data can be removed, that is, the position data in the calibration data should not be used to calibrate the position data in the visual navigation data.
[0133] By adopting the above technical solution, since the VIO system has high positioning accuracy in a short period of time, the reliability and accuracy of calibration data detection can be effectively improved by using the trajectory similarity between N consecutive visual navigation data and N calibration data within the same time period to determine whether the calibration data meets the preset calibrable conditions.
[0134] In another embodiment of this example, the prior pose information includes the device's movement distance between the time of the most recent calibration of the visual navigation data and the current time. Accordingly, a specific implementation of determining whether the calibration data meets the preset calibrability conditions based on the prior pose information of the visual navigation data can be as follows: determine the movement distance of the current device between the time of the most recent calibration of the visual navigation data and the current time; determine the drift error of the visual navigation data based on the movement distance, a preset drift rate, and the minimum drift error of the visual navigation data; determine the distance between the visual navigation data and the calibration data; and if the distance is less than or equal to the drift error, determine that the calibration data meets the preset calibrability conditions.
[0135] Because the VIO system has high positioning accuracy over a short period, the smaller the distance Dist between the time the device last calibrated the visual navigation data using calibration data and the current time, the smaller the drift error (Drift) of the visual navigation data calculated by the VIO system. For example, assuming the minimum drift error of the visual navigation data is 0.5m and the preset drift rate is 0.002 (i.e., for every 1000m the device moves, it is allowed a horizontal drift of 2m and a vertical drift of 2m), the relationship between the drift error (Drift) and the distance Dist is: Drift = 0.5 + 0.002 * Dist. Thus, the drift error of the visual navigation data can be calculated based on the device's travel distance. If the device has moved 1000m between the time last calibrated the visual navigation data using calibration data and the current time, the drift error of the visual navigation data is 2.5. If the distance between the visual navigation data and the calibration data is less than or equal to 2.5, then the calibration data meets the preset calibrability conditions; otherwise, the calibration data does not meet the preset calibrability conditions.
[0136] By adopting the above technical solution, since the VIO system has high positioning accuracy in a short time, that is, the accuracy of the prior pose information of the visual navigation data is also high, the reliability and accuracy of the determination result can be improved by using the prior pose information of the visual navigation data to determine whether the calibration data meets the preset calibrable conditions.
[0137] In practical applications, considering that the inaccuracy of position data in calibration data is mainly due to the inaccuracy of the calculated movement direction, in another possible embodiment of this disclosure, it can also be determined whether the calibration data meets the preset calibrability conditions based on historical data of the calibration data. For example, the calibration data includes the device's position data and the device's speed data. Accordingly, a specific implementation method for determining whether the calibration data meets the preset calibrability conditions can be: determining the average speed of the device between the first moment and the current moment based on the device's position data at a first moment, the device's position data at the current moment, and the time difference between the first moment and the current moment, where the first moment is the moment before the current moment; and determining that the calibration data meets the preset calibrability conditions if the cosine distance between the device's speed data at the current moment and the average speed is less than or equal to a second preset threshold.
[0138] In this embodiment, the velocity data in the calibration data is obtained using the Doppler translation principle, which offers high accuracy. The ratio of the difference between the device position data in the calibration data at the first moment and the device position data in the calibration data at the current moment to the time difference is determined as the average velocity of the device between the first moment and the current moment. If the direction of the average velocity is close to the direction of the device's velocity data at the current moment—that is, if the cosine distance between the device's velocity data at the current moment and the average velocity is less than or equal to a second preset threshold (e.g., the cosine distance is less than or equal to 0.015)—the directions are considered close, and the calibration data is determined to meet the preset calibrability conditions. If the cosine distance is greater than 0.015, the direction of the average velocity determined from the position data at the two moments is considered to differ significantly from the direction of the velocity data obtained using the Doppler translation principle. In this case, the calibration data is determined not to meet the preset calibrability conditions.
[0139] Furthermore, considering that the accuracy of the average speed determined by the above method is low when the speed is low, in order to improve the accuracy of the determined average speed and the reliability of determining whether the calibration data meets the preset calibrable conditions, the cosine distance can be calculated again by the above method when the magnitude of the speed data in the calibration data is greater than the preset value, for example, greater than 0.2 m / s.
[0140] By adopting the above technical solution, it is possible to determine whether the calibration data meets the preset calibrable conditions in different ways, thereby improving the flexibility of determining the accuracy of the calibration data.
[0141] In this disclosure, in the embodiment where prior pose information of visual navigation data is used to determine whether calibration data meets preset caliable conditions, the steps of determining coordinate system transformation and converting visual navigation data and calibration data to the same coordinate system must be performed first. Then, the prior pose information of the visual navigation data is used to determine whether the calibration data meets the preset caliable conditions. In the embodiment where historical data of calibration data is used to determine whether calibration data meets preset caliable conditions, the steps of determining coordinate system transformation and converting visual navigation data and calibration data to the same coordinate system can be performed first, followed by the step of determining whether the calibration data meets the preset caliable conditions based on historical data. Alternatively, the steps of determining coordinate system transformation and converting visual navigation data and calibration data to the same coordinate system and determining whether the calibration data meets the preset caliable conditions based on historical data can be performed simultaneously. Another option is to perform the step of determining whether the calibration data meets the preset caliable conditions based on historical data first, followed by the step of determining coordinate system transformation and converting visual navigation data and calibration data to the same coordinate system. This disclosure does not specifically limit this approach. Furthermore, by first performing the step of determining whether the calibration data meets the preset calibrability conditions based on historical data of the calibration data, and then performing the steps of determining the coordinate system transformation relationship and converting the visual navigation data and calibration data to the same coordinate system, it is possible to determine the coordinate system transformation relationship between the first and second coordinate systems and convert the visual navigation data and calibration data to the same coordinate system after determining that the calibration data meets the preset calibrability conditions. This can reduce the workload.
[0142] After determining that the calibration data meets the preset calibrability conditions, the calibration data can be used to calibrate the visual navigation data. For example, the calibration data includes measurement accuracy. Figure 1 In step S103, where the calibration data meets the calibrability conditions, the specific implementation method for calibrating based on the visual navigation data can be as follows:
[0143] First, assuming the reference data meets the preset calibrable conditions, the observation matrix based on the error state and the gap between the calibration data and the visual navigation data are determined according to the calibration data and the visual navigation data.
[0144] For example, taking calibration data as satellite navigation data and transforming visual navigation data to a second coordinate system, the device can first determine the projection of the visual navigation data in the second coordinate system based on the determined coordinate system transformation relationship and the visual navigation data. For instance, the visual navigation data may contain the device's current state. Based on the coordinate system transformation relationship determined above, the projection of this state in the second coordinate system can be determined. Furthermore, for the covariance matrix p contained in the visual navigation data v According to P G =φ*p v *φ T φ is the constructed transformation matrix, which determines the projection P of the covariance in the second coordinate system. G Then, based on the projection of the visual navigation data into the second coordinate system, the observation matrix based on the error state and the gap between the calibration data and the visual navigation data are determined. The observation matrix based on the error state is as follows: Among them, Z m X represents the current state of the equipment contained in the satellite navigation data. G The projection of the current state of the device contained in the visual navigation data into the second coordinate system. Characterizes the derivative of the measured value with respect to the state quantity. The difference between the calibration data and the visual navigation data is e. k =Z m -(P G V G ), where k represents the current time. Where e k Including the gap in location data ep k The difference between the speed data and the EV k .
[0145] Next, the observation noise matrix is determined based on the gap, the preset forgetting factor, and the measurement accuracy.
[0146] For example, firstly, the position weights and velocity weights in the observation noise matrix are calculated separately. This can be done according to formula p. k =(1-d)*p k-1 +d*f(ep k Calculate the position weight p at the current time k. k Where d is the forgetting factor corresponding to the position weight, with a value range of (0.7, 1), and p k-1 f(ep) represents the position weight at the previous time step. k ) represents the difference ep in location data k The function, and ep k The larger the absolute value of f(ep) is, the greater the value of f(ep) k The larger the value, the greater the value. This can be achieved using the formula v. k =(1-d')*v k-1 +d'*f(ev k Calculate the velocity weight v at the current time k. k Where d' is the forgetting factor corresponding to the velocity weight, with a value range of (0.7, 1), and v k-1 f(ev) represents the velocity weight of the previous time k-1. kThe difference in speed data is ev. k The function, and ev k The larger the absolute value of f(ev) is, the greater the value of f(ev) k The larger the value, the better. Then, based on the measurement accuracy included in the calibration data and the position weight p determined above, the... k and velocity weight v k The observation noise matrix is determined. In this disclosure, the observation noise matrix is a 6×6 diagonal matrix, and R in the first row and first column of the observation noise matrix is... k (0,0) and R located in the second row and second column k The value of (1,1) is p. xy *p xy *p k Located in the third row and third column R k The value of (2,2) is p z *p z *p k Located in the fourth row and fourth column R k (3,3) and the fifth row, fifth column R k The value of (4,4) is v xy *v xy *v k Located in row 6, column 6, R k The value of (5,5) is v z *v z *v k Furthermore, the values at other positions in the observation noise matrix are all 0. Where p xy For the measurement accuracy on the horizontal axis of position, p z For the measurement accuracy on the horizontal and vertical axes of position, v xy For the measurement accuracy on the velocity horizontal axis, v z Measurement accuracy on the velocity vertical axis.
[0147] Then, based on the observation matrix, observation noise matrix, and gap based on the error state, the correction amount corresponding to the visual navigation data is determined.
[0148] The correction amount d corresponding to the visual navigation data y =P G *H T *(H*P G *H T +R) -1 *e k As mentioned above, in this disclosure, a filter is used to calibrate the visual navigation data; therefore, the correction amount d in the above formula is... y Here, H represents the update amount of the filter used to calibrate the visual navigation data, H is the observation matrix based on the error state, and R is the observation noise matrix. Additionally, the covariance update amount f... y=-P G *H T *(H*P G *H T +R) -1 *H*(P G ) T .
[0149] It should be understood that, when the calibration data determined above meets the preset calibrability conditions, the correction amount corresponding to the visual navigation data includes the correction amount corresponding to the position data and the correction amount corresponding to the velocity data. When the calibration data determined above does not meet the preset calibrability conditions, the correction amount corresponding to the visual navigation data only includes the correction amount corresponding to the velocity data.
[0150] Furthermore, to further improve the reliability and accuracy of visual navigation data calibration, after confirming that the calibration data meets the preset calibrability conditions, a chi-square test can be used to retest the calibration data that meets the preset calibrability conditions. For example, the Mahalanobis distance between the visual navigation data and the calibration data is calculated. If the Mahalanobis distance is greater than a threshold, the calibration data is considered inaccurate. If the Mahalanobis distance is less than or equal to the threshold, the calibration data is considered accurate. Then, the correction amount corresponding to the visual navigation data is calculated again in the manner described above.
[0151] Finally, the visual navigation data is calibrated based on the correction amount. For example, for a state, the determined corresponding correction amount can be superimposed on the original state in the visual navigation data to obtain the calibrated state. Similarly, the covariance update amount is superimposed on the original covariance in the visual navigation data to obtain the covariance of the calibrated filter.
[0152] By adopting the above technical solution, the correction amount corresponding to the visual navigation data can be determined based on the measurement accuracy and error included in the calibration data. This can effectively improve the accuracy of the determined correction amount, thereby improving the reliability and accuracy of the visual navigation data calibration.
[0153] Based on the same concept, this disclosure also provides a navigation data calibration device. Figure 2 This is a block diagram illustrating a navigation data calibration device according to an exemplary embodiment. Figure 2 As shown, the navigation data calibration device 200 may include:
[0154] The first determining module 201 is used to determine visual navigation data and calibration data for calibrating the visual navigation data based on the data collected by the current device.
[0155] The second determining module 202 is used to determine whether the calibration data meets the preset calibrable conditions based on the prior pose information of the visual navigation data or the historical data of the calibration data.
[0156] The calibration module 203 is used to calibrate the navigation data to be calibrated based on the calibration data, provided that the calibration data meets the calibrable conditions.
[0157] Optionally, the calibration data may include satellite navigation data or radar navigation data.
[0158] Optionally, the visual navigation data is based on a first coordinate system, the calibration data is based on a second coordinate system, and the navigation data calibration device 200 further includes:
[0159] The third determining module is used to determine the coordinate system transformation relationship between the first coordinate system and the second coordinate system, and to transform the visual navigation data and the calibration data to the same coordinate system according to the coordinate system transformation relationship;
[0160] Correspondingly, the calibration module 203 is used to: calibrate the visual navigation data according to the calibration data in the same coordinate system, provided that the calibration data meets the calibrable conditions.
[0161] Optionally, the second determining module 202 includes:
[0162] The first acquisition submodule is used to acquire N consecutive visual navigation data points before the current time, where N is an integer greater than 1;
[0163] The second acquisition submodule is used to acquire N consecutive calibration data corresponding to the N consecutive visual navigation data;
[0164] The first determining submodule is used to determine the similarity between the visual navigation data and the calibration data based on the N consecutive visual navigation data and the N consecutive calibration data;
[0165] The second determining submodule is used to determine that the calibration data meets preset calibrable conditions when the similarity is greater than a first preset threshold.
[0166] Optionally, the second determining module 202 includes:
[0167] The third determining submodule is used to determine the distance the current device has moved between the time when it last calibrated the visual navigation data and the current time.
[0168] The fourth determining submodule is used to determine the drift error of the visual navigation data based on the movement distance, the preset drift rate, and the minimum drift error of the visual navigation data.
[0169] The fifth determining submodule is used to determine the distance between the visual navigation data and the calibration data;
[0170] The sixth determining submodule is used to determine whether the calibration data meets preset calibrable conditions when the distance is less than or equal to the drift error.
[0171] Optionally, the calibration data includes the device's position data and the device's speed data; the second determining module 202 includes:
[0172] The seventh determining submodule is used to determine the average speed of the device between the first moment and the current moment based on the device's position data at the first moment, the device's position data at the current moment, and the time difference between the previous moment and the current moment, wherein the first moment is the moment before the current moment;
[0173] The eighth determining submodule is used to determine that the calibration data meets the preset calibrable conditions when the cosine distance between the speed data of the device at the current moment and the average speed is less than or equal to a second preset threshold.
[0174] Optionally, the calibration data is satellite navigation data, and the solution type of the satellite navigation data is a single-point solution. The second determining module 202 includes:
[0175] The ninth determining submodule is used to determine the location data of the device from the satellite navigation data;
[0176] The tenth determination submodule is used to determine whether the location data meets the preset calibrable conditions.
[0177] Optionally, the calibration data includes measurement accuracy, and the calibration module 203 includes:
[0178] The eleventh determination submodule is used to determine, based on the calibration data and the visual navigation data, an observation matrix based on the error state and the gap between the calibration data and the visual navigation data, provided that the calibration data meets the calibrable conditions.
[0179] The twelfth determination submodule is used to determine the observation noise matrix based on the gap, the preset forgetting factor, and the measurement accuracy;
[0180] The thirteenth determination submodule is used to determine the correction amount corresponding to the visual navigation data based on the observation matrix based on the error state, the observation noise matrix, and the gap;
[0181] The calibration submodule is used to calibrate the visual navigation data according to the correction amount.
[0182] Optionally, the coordinate system transformation relationship is determined in the following way:
[0183] Determine if calibration data exists for a solution type of real-time differential positioning fixed solution;
[0184] If it is determined that calibration data with a solution type of real-time differential positioning fixed solution exists, then the target time when the calibration data exists is determined.
[0185] The coordinate system transformation relationship is determined based on the calibration data and visual navigation data at the target time.
[0186] Optionally, the device further includes:
[0187] The third determining module is used to determine the relative pose of the unequipped object relative to the calibration object if it is determined that there is no calibration data with a solution type of real-time differential positioning fixed solution.
[0188] The fourth determining module is used to determine the pose of the device in the second coordinate system based on the relative pose and the pose of the calibrated object;
[0189] The fifth determining module is used to determine the coordinate system transformation relationship based on the pose of the device in the second coordinate system and the visual navigation data.
[0190] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0191] Figure 3 This is a block diagram illustrating a first electronic device according to an exemplary embodiment. Figure 3 As shown, the first electronic device 300 may include: a first processor 301 and a first memory 302. The first electronic device 300 may also include one or more of a multimedia component 303, a first input / output interface 304, and a first communication component 305.
[0192] The first processor 301 controls the overall operation of the first electronic device 300 to complete all or part of the steps in the navigation data calibration method described above. The first memory 302 stores various types of data to support the operation of the first electronic device 300. This data may include, for example, instructions for any application or method operating on the first electronic device 300, and application-related data such as contact data, sent and received messages, pictures, audio, video, etc. The first memory 302 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. Multimedia component 303 may include a screen and an audio component. The screen may be, for example, a touchscreen, and the audio component is used to output and / or input audio signals. For example, the audio component may include a microphone for receiving external audio signals. The received audio signals may be further stored in the first memory 302 or transmitted via the first communication component 305. The audio component also includes at least one speaker for outputting audio signals. First input / output interface 304 provides an interface between the first processor 301 and other interface modules, such as a keyboard, mouse, buttons, etc. These buttons may be virtual or physical buttons. First communication component 305 is used for wired or wireless communication between the first electronic device 300 and other devices. Wireless communication, such as Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G, 4G, NB-IoT, eMTC, or other 5G technologies, or combinations thereof, is not limited here. Therefore, the corresponding first communication component 305 may include: a Wi-Fi module, a Bluetooth module, an NFC module, etc.
[0193] In an exemplary embodiment, the first electronic device 300 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the navigation data calibration method described above.
[0194] In another exemplary embodiment, a computer-readable storage medium including program instructions is also provided, which, when executed by a processor, implement the steps of the navigation data calibration method described above. For example, the computer-readable storage medium may be the first memory 302 including the program instructions, which may be executed by the first processor 301 of the first electronic device 300 to complete the navigation data calibration method described above.
[0195] Figure 4 This is a block diagram illustrating a second electronic device according to an exemplary embodiment. For example, the second electronic device 400 may be provided as a server. (Refer to...) Figure 4 The second electronic device 400 includes a second processor 422, which may be one or more, and a second memory 432 for storing computer programs executable by the second processor 422. The computer programs stored in the second memory 432 may include one or more modules, each corresponding to a set of instructions. Furthermore, the second processor 422 may be configured to execute the computer program to perform the navigation data calibration method described above.
[0196] Additionally, the second electronic device 400 may further include a power supply component 426 and a second communication component 450. The power supply component 426 may be configured to perform power management of the second electronic device 400, and the second communication component 450 may be configured to enable communication of the second electronic device 400, such as wired or wireless communication. Furthermore, the second electronic device 400 may also include a second input / output interface 458. The second electronic device 400 can operate on an operating system, such as Windows Server, stored in a second memory 432. TM Mac OS X TM Unix TM LinuxTM etc.
[0197] In another exemplary embodiment, a computer-readable storage medium including program instructions is also provided, which, when executed by a processor, implement the steps of the navigation data calibration method described above. For example, the computer-readable storage medium may be the second memory 432 including the program instructions, which may be executed by the second processor 422 of the second electronic device 400 to complete the navigation data calibration method described above.
[0198] In another exemplary embodiment, a computer program product is also provided, the computer program product comprising a computer program executable by a programmable device, the computer program having a code portion for performing the navigation data calibration method described above when executed by the programmable device.
[0199] The preferred embodiments of this disclosure have been described in detail above with reference to the accompanying drawings. However, this disclosure is not limited to the specific details of the above embodiments. Within the scope of the technical concept of this disclosure, various simple modifications can be made to the technical solutions of this disclosure, and these simple modifications all fall within the protection scope of this disclosure.
[0200] It should also be noted that the various specific technical features described in the above embodiments can be combined in any suitable manner without contradiction. To avoid unnecessary repetition, this disclosure will not describe the various possible combinations separately.
[0201] Furthermore, various different embodiments of this disclosure can be combined in any way, as long as they do not violate the spirit of this disclosure, they should also be regarded as the content disclosed in this disclosure.
Claims
1. A navigation data calibration method, characterized in that, include: Based on the data collected by the current device, determine the visual navigation data and the calibration data used to calibrate the visual navigation data; Based on the prior pose information of the visual navigation data, determine whether the calibration data meets the preset calibrable conditions; If the calibration data meets the calibrability conditions, the visual navigation data is calibrated based on the calibration data; The step of determining whether the calibration data meets preset calibrability conditions based on the prior pose information of the visual navigation data includes: Determine the distance the current device has traveled between the time when the visual navigation data was most recently calibrated and the current time. The drift error of the visual navigation data is determined based on the movement distance, the preset drift rate, and the minimum drift error of the visual navigation data. Determine the distance between the visual navigation data and the calibration data; If the distance is less than or equal to the drift error, the calibration data is determined to meet the preset calibrability conditions.
2. The method according to claim 1, characterized in that, The calibration data includes satellite navigation data or radar navigation data.
3. The method according to claim 1, characterized in that, The visual navigation data is based on a first coordinate system, the calibration data is based on a second coordinate system, and the method further includes: Determine the coordinate system transformation relationship between the first coordinate system and the second coordinate system, and transform the visual navigation data and the calibration data to the same coordinate system according to the coordinate system transformation relationship; Correspondingly, the step of calibrating the visual navigation data based on the calibration data when the calibration data meets the calibrable conditions includes: If the calibration data meets the calibrable conditions, the visual navigation data is calibrated in the same coordinate system based on the calibration data.
4. The method according to claim 1, characterized in that, The step of determining whether the calibration data meets preset calibrability conditions based on the prior pose information of the visual navigation data includes: Obtain N consecutive visual navigation data points up to the current time, where N is an integer greater than 1; Obtain N consecutive calibration data corresponding to the N consecutive visual navigation data; Based on the N consecutive visual navigation data and the N consecutive calibration data, determine the similarity between the visual navigation data and the calibration data; If the similarity is greater than a first preset threshold, the calibration data is determined to meet preset calibrable conditions.
5. The method according to any one of claims 2-4, characterized in that, The calibration data is satellite navigation data, and the solution type of the satellite navigation data is single-point solution. The step of determining whether the calibration data meets preset calibrability conditions based on the prior pose information of the visual navigation data includes: The location data of the device is determined from the satellite navigation data; Determine whether the location data meets the preset calibrable conditions.
6. The method according to any one of claims 1-4, characterized in that, The calibration data includes measurement accuracy. The step of calibrating the visual navigation data based on the calibration data, provided the calibration data meets the calibrability conditions, includes: If the calibration data meets the calibrable conditions, an observation matrix based on the error state and the gap between the calibration data and the visual navigation data are determined based on the calibration data and the visual navigation data. The observation noise matrix is determined based on the gap, the preset forgetting factor, and the measurement accuracy. The correction amount corresponding to the visual navigation data is determined based on the observation matrix based on the error state, the observation noise matrix, and the gap. The visual navigation data is calibrated based on the correction amount.
7. The method according to claim 3, characterized in that, The coordinate system transformation relationship is determined in the following way: Determine if calibration data exists for a solution type of real-time differential positioning fixed solution; If it is determined that calibration data with a solution type of real-time differential positioning fixed solution exists, then the target time when the calibration data exists is determined. The coordinate system transformation relationship is determined based on the calibration data and visual navigation data at the target time.
8. The method according to claim 7, characterized in that, The method further includes: If it is determined that there is no calibration data with a solution type of real-time differential positioning fixed solution, then the relative pose of the device relative to the calibration object is determined; Based on the relative pose and the pose of the calibrated object, the pose of the device in the second coordinate system is determined; The coordinate system transformation relationship is determined based on the device's pose in the second coordinate system and the visual navigation data.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the program implements the steps of the method described in any one of claims 1-8.
10. An electronic device, characterized in that, include: A memory on which computer programs are stored; A processor for executing the computer program in the memory to implement the steps of the method according to any one of claims 1-8.