A method for maintaining high-precision positioning in complex continuous motion environments
Patent Information
- Application Number
- CN202311705611.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-12
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-12-12
AI Technical Summary
提出了一种在复杂环境连续运动中保持高精度定位方法
[0060] This invention addresses the problem of a sharp decline in positioning accuracy in GNSS-IMU fusion navigation and positioning systems caused by signal loss or output anomalies that may occur during continuous movement of Global Navigation Satellite Systems (GNSS) in complex environments. It proposes an innovative solution. This solution, without adding extra sensors, significantly improves the stability and robustness of IMU-GNSS fusion by combining deep learning technology with error-state Kalman filtering, ensuring the sustained high-precision operation of the fusion positioning system in complex environments.
Smart Images

Figure CN117724139B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of intelligent navigation and positioning, specifically relating to a method for maintaining high-precision positioning during continuous movement in complex environments. Background Technology
[0002] With the continuous development of technology, autonomous driving and intelligent robots are gradually becoming more widespread, and various sensors are being used to ensure autonomous navigation and positioning of vehicles or robots. Integral Measurement Units (IMUs) are widely used because they can measure the linear acceleration and angular velocity of the platform they are stationary on, and their measurements are independent of external information. However, because IMU measurements contain a certain amount of error and use an integral algorithm, navigation and positioning errors accumulate over time. To compensate for the shortcomings of IMUs, many sensors are used in combination with them. Among them, GNSS (GNSS satellites) has the advantage of obtaining absolute positioning coordinates by observing a sufficient number of GNSS satellites, and it has high accuracy and no accumulated error, making it a natural complement to IMUs. However, GNSS signals are often lost due to obstruction and interference. Traditional navigation and positioning systems that use IMU and GNSS information fusion often suffer from a sharp decline in positioning accuracy in complex environments due to long-term GNSS signal loss.
[0003] CN117053782A discloses a combined navigation method for amphibious robots. It includes the following steps: (1) Navigation static initialization: using an IMU, DVL, and GNSS mounted on the amphibious robot to estimate the initial noise and state of the system; (2) Nominal state prediction: using the median integral result of the IMU as the nominal state during the amphibious robot's navigation; (3) Error state prediction: employing error state Kalman filtering to calculate the discrete kinematic equations and prediction covariance matrix of the error state; (4) Observation update: using DVL, a pressure depth gauge, and GNSS to construct observation equations and an observation covariance matrix to correct the nominal state. This invention provides faster response speed, lower operational burden, and more accurate pose estimation during amphibious robot navigation.
[0004] This invention relates to an amphibious robot equipped with an IMU, GNSS, DVL (Depth-Volume Level) sensor, and a pressure-depth meter to ensure the observation of error state variables under different operating environments. For example, in a water environment, the GNSS fails, and the observation sensors are the DVL and pressure-depth meter; in a land environment, the DVL and pressure-depth meter fail, and the observation sensor is the GNSS. When navigating on the water surface, all sensors are effective. However, in situations such as underground caves or urban tunnels, all the observation sensors used in this invention will fail. This invention, without increasing the cost of additional sensors, uses only an IMU and GNSS for navigation and positioning. It utilizes nominal state calculation to selectively use GNSS information and combines it with deep learning methods to continuously output error state variable observations, effectively overcoming the problem of continuous navigation and positioning when GNSS fails. Summary of the Invention
[0005] This invention aims to solve the problems of the prior art mentioned above. It proposes a method for maintaining high-precision positioning during continuous movement in complex environments. The technical solution of this invention is as follows:
[0006] A method for maintaining high-precision positioning during continuous motion in complex environments includes the following steps:
[0007] Step 1: Calibrate multiple sensors using a Kalman filter, and then acquire IMU and GNSS data;
[0008] Step 2: Construct a GNSS data simulation neural network. Build a mathematical model of the loss function by using the difference between the predicted and actual values of position, attitude, and velocity. Input the IMU data sequence into the GNSS data simulation neural network for training.
[0009] Step 3: Use the median integral result of the high-frequency IMU data as the nominal state of the error state Kalman filter;
[0010] Step 4: Calculate the error state kinematic equation and prediction covariance matrix at the sampling time;
[0011] Step 5: Based on the availability of GNSS signals, construct the observation equation and observation covariance using the network output results;
[0012] Step 6: After correcting the nominal state, high-precision positioning in complex environments is obtained.
[0013] Furthermore, step 1 involves calibrating multiple sensors using a Kalman filter, followed by acquiring IMU and GNSS data, specifically including the following steps:
[0014] Step 11: Install the IMU on the vehicle's centerline, use the IMU coordinate system as the vehicle coordinate system, install the GNSS antenna on the top of the vehicle, collect IMU and GNSS data, use a Kalman filter to calibrate the extrinsic parameters, and determine the installation angle between the sensors.
[0015] Step 12: Collect IMU and GNSS data, and convert the acquisition time of each frame of data into a standard timestamp format for saving; convert the acquired GNSS information, namely longitude, latitude, and altitude, into the geocentric coordinate system, and finally convert the coordinates in the geocentric coordinate system into the East-Sky-North coordinate system for saving; the East-Sky-North coordinate system in each acquisition is based on the location of the first frame of GNSS data as the origin.
[0016] Furthermore, step 2 involves constructing a GNSS data simulation neural network. A mathematical model of the loss function is built using the difference between the predicted and actual position, attitude, and velocity values. The IMU data sequence is then input into the GNSS data simulation neural network for training. Specifically, this includes:
[0017] Step 21: Construct a GNSS data simulation network based on convolutional neural networks and long short-term memory. In the network, a time-separated one-dimensional extended convolutional neural network extracts the correlation features between acceleration and angular velocity in the same frame from the input IMU sequence data with different receptive fields. The multiple output features are concatenated and then convolved. The convolution results of the time-separated features are then concatenated and input into the long short-term memory network again to capture the correlation features of the IMU sequence in the time dimension. After convolution, the output features are output by the fully connected layer as the relative position, relative attitude, and relative velocity of the current time relative to the previous time.
[0018] Step 22: Combine multiple frames of IMU data sequences within the GNSS data acquisition interval and input them into the GNSS analog neural network to make the network's output frequency consistent with the GNSS acquisition frequency. This ensures that the subsequent optimization of the error state Kalman filter is still possible even when GNSS data is unavailable. Use Huber Loss to backpropagate the differences between the network's output position, attitude, and velocity and the true values to make them closer to the true value layout, and train the GNSS analog neural network.
[0019] Furthermore, the method of using Huber Loss to backpropagate the differences between the network output position, attitude, and velocity and the true values to make them closer to the true layout, and training the GNSS simulation neural network, specifically includes the following formula:
[0020] (1)
[0021] (2)
[0022] (3)
[0023] (4)
[0024] in It is a logarithmic mapping of SO3. Here is the Huber loss function. These represent the network outputs of position, velocity, and attitude, respectively. These represent the actual position, velocity, and attitude. These represent the corresponding attitude, velocity, and position weights, respectively. , , , These are the attitude loss, position loss, velocity loss, and total loss, respectively. The final loss function consists of the position loss, attitude loss, and velocity loss, along with their corresponding weights.
[0025] Furthermore, step 3 uses the median integral result of the high-frequency IMU data as the nominal state of the error state Kalman filter, specifically including:
[0026] Step 31: Represent the triaxial acceleration and angular velocity measured by the IMU in vector form, and establish an error model for the low-cost IMU. The specific formula is as follows:
[0027] (5)
[0028] (6)
[0029] in , where a represents the actual angular velocity and acceleration in the body coordinate system as measured by the IMU. These are the angular velocity and acceleration values output by the IMU, respectively. , These are the biases for the gyroscope and accelerometer, respectively. , These are the zero-mean Gaussian white noise values of the gyroscope and accelerometer when collecting angular velocity and acceleration, respectively.
[0030] Step 32: Convert the angular velocity and acceleration measured by the IMU in the body coordinate system to the East-Sky-North coordinate system, and set the state variables of the error state Kalman filter as follows:
[0031] (7)
[0032] Where P represents the vector composed of displacements along the three axes (East, Sky, North), V represents the angular velocity vector along the three axes, and R is the vehicle's attitude matrix in the East, Sky, North coordinate system. These are the biases for the accelerometer and gyroscope, respectively. It is the acceleration due to gravity;
[0033] Step 33: Simplify the kinematic equations of the state variables in continuous time, ignore the noise terms, discretize the nominal values of the state variables, and use the median integral to obtain the nominal values of the state variables. The specific formula is as follows:
[0034] (8)
[0035] in The sampling time interval between two frames. These are the average values of the angular velocity and acceleration of the two frames of IMU sampled data at the corresponding time points.
[0036] Furthermore, step 4, calculating the error state kinematic equation and prediction covariance matrix at the sampling time, specifically includes:
[0037] Step 41, define the error state variable as the difference between the nominal state and the true value, where the error of the rotation part is expressed using its Lie algebra. To express this, we obtain the complete kinematic equations for the continuous error state variables, as shown in the following formula:
[0038] (9)
[0039] in These are the zero-mean white noise values for the accelerometer and gyroscope, respectively. These are position error, velocity error, attitude error, accelerometer bias error, and gyroscope bias error, respectively.
[0040] Step 42: Discretize the error state variables to obtain the discrete kinematic equations of the error state variables, as shown in the following formula:
[0041] (10)
[0042] in These are the velocity noise term, rotation noise term, gyroscope bias noise term, and accelerometer bias noise term, respectively, and they are not included in subsequent recursions; they are classified separately into the noise part.
[0043] Step 43: Based on the discrete kinematic equations of the error state variables, the prediction covariance matrix can be obtained, which is determined by the variance of the Gaussian noise of each state variable. The specific formula is as follows:
[0044] (11).
[0045] in These are the velocity noise covariance, rotation noise covariance, gyroscope bias noise covariance, and accelerometer bias noise covariance, respectively.
[0046] Furthermore, step 5, based on the availability of GNSS signals and combined with the network output results, constructs the observation equation and observation covariance, specifically including:
[0047] Step 51: Use multi-threading technology to run the GNSS data simulation network and the error state Kalman filter simultaneously. When the number of IMU data frames reaches the number of frames that the IMU should collect within the GNSS acquisition interval, the IMU sequence is input into the GNSS data simulation network. If no GNSS information is obtained when the network outputs the predicted value, the current GNSS is judged to be in failure. The global position, global attitude, and global velocity in the East-North coordinate system obtained during the last normal operation are retained. Based on the multiple measurement values collected by the IMU, the median integral is directly performed according to the nominal state variable calculation method. The obtained nominal position state value is compared with the coordinates in the East-North coordinate system converted from the GNSS information. If it is greater than the threshold, the GNSS information at that moment is judged to be an anomaly.
[0048] Step 52: Based on the judgment result of step 51, when GNSS information is available, the corresponding observation equations are constructed from the attitude and velocity output by the simulation network, and the position observation equations are constructed from the GNSS information; when GNSS information is unavailable, the corresponding observation equations are constructed using the position, attitude, and velocity output by the simulation network. The observation equations constructed based on the simulation network output are expressed in a holistic form, as shown in the following formula:
[0049] (12)
[0050] (13)
[0051] in To simulate network output observations, When GNSS information is available, the observations are constructed using GNSS information, where v is the observation noise and V is the covariance matrix of the observation noise. For error observation, the network output can be used to calculate the error by subtracting the IMU prediction value from the available GNSS information.
[0052] Furthermore, step 6 specifically includes:
[0053] Step 61: Calculate the Kalman gain based on the error state prediction covariance, the error state observation coefficient matrix, and the error state observation covariance, and then update the error state. The specific formula is as follows:
[0054] (14)
[0055] in For error state prediction, The Jacobian matrix of the observation equation compared to the error state. For the error state observation covariance;
[0056] Step 62: Correct the nominal state variables using the predicted and updated error state variables to obtain the final high-precision positioning.
[0057] An electronic device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the program, implements a method for maintaining high-precision positioning during continuous movement in a complex environment as described in any one of the claims.
[0058] A non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method for maintaining high-precision positioning during continuous motion in a complex environment as described in any one of the claims.
[0059] The advantages and beneficial effects of this invention are as follows:
[0060] This invention addresses the problem of a sharp decline in positioning accuracy in GNSS-IMU fusion navigation and positioning systems caused by signal loss or output anomalies that may occur during continuous movement of Global Navigation Satellite Systems (GNSS) in complex environments. It proposes an innovative solution. This solution, without adding extra sensors, significantly improves the stability and robustness of IMU-GNSS fusion by combining deep learning technology with error-state Kalman filtering, ensuring the sustained high-precision operation of the fusion positioning system in complex environments.
[0061] By innovatively combining error-state Kalman filtering with deep learning, the computational complexity is effectively reduced compared to traditional Kalman filtering. Furthermore, during optimization, when the error-state Kalman filter optimizes the error rotation variable (represented by Euler angles), the error rotation variable is near 0, thus eliminating concerns about gimbal lock-up and expanding the application scope of this invention. Additionally, the calculation of the nominal state in the error-state Kalman filter can be directly used to determine the availability of GNSS information, further simplifying the computation and improving the system's computational efficiency. Therefore, this invention, through the combination of deep learning and Kalman filtering, provides a new and effective approach to solving navigation problems in complex environments.
[0062] The innovations of this invention mainly lie in steps 21, 22, and 51, with the specific innovations as follows:
[0063] Step 21 Innovation: This invention uses temporally separated one-dimensional extended convolution. The input IMU sequence is split along the time dimension and then convolved separately. For IMU data at a given time moment, one-dimensional extended convolution with different receptive fields is used to fully learn the correlation features between acceleration and angular velocity in the same frame of IMU data. After convolution, the results from different time dimensions are concatenated and then input into an LSTM to learn the correlation features of the IMU sequence along the time dimension. Because one-dimensional extended convolution is applied to the IMU data, the number of parameters in the simulated network is effectively reduced, greatly improving the network's training time and running speed.
[0064] Step 22 Innovation: This invention addresses the issue that the IMU acquisition rate is much higher than the GNSS acquisition rate by combining all IMU data sequences acquired within the GNSS data acquisition interval and inputting them into the network as a whole. This ensures that the network's output frequency is consistent with the GNSS acquisition frequency, thus avoiding the loss of GNSS data information and preventing delays or errors in the integrated navigation and positioning system, effectively improving the system's robustness.
[0065] Step 51 Innovation: While retaining the previous calculation results, the GNSS simulation network and error state Kalman filter are run in a multi-threaded manner. Therefore, when the number of IMU data frames reaches the number of frames the IMU should acquire within the GNSS acquisition interval, the IMU sequence data is input into the network, and the nominal state variable is calculated simultaneously. If no GNSS information is input after the network outputs the results, it can be determined that GNSS information is lost, i.e., GNSS failure. In this case, the network output results can be used as observations to update the error state Kalman filter. When GNSS data exists, the position state of the nominal state variable can be compared with the GNSS information to determine whether the GNSS information is usable. Simultaneously, the nominal state can be used in subsequent error correction. Utilizing known information for judgment simplifies the calculation and further ensures the real-time performance of the system. Attached Figure Description
[0066] Figure 1 This is a framework diagram of a preferred embodiment of the present invention, which provides a method for maintaining high-precision positioning during continuous movement in a complex environment.
[0067] Figure 2 This is a schematic diagram of sensor installation.
[0068] Figure 3 This is a schematic diagram of the GNSS data simulation network structure based on convolutional neural networks and long short-term memory. Detailed Implementation
[0069] The technical solutions of the embodiments of the present invention will be clearly and thoroughly described below with reference to the accompanying drawings. The described embodiments are merely some embodiments of the present invention.
[0070] The technical solution of the present invention to solve the above-mentioned technical problems is:
[0071] according to Figure 1 The technical solution of the present invention is:
[0072] Step 1. Use a Kalman filter to calibrate the multiple sensors, and then acquire IMU and GNSS data;
[0073] Step 2. Construct a GNSS data simulation neural network, build a mathematical model of the loss function by the error between the predicted and actual values of the output position, attitude and velocity, and input IMU data into the GNSS simulation neural network for training;
[0074] Step 3. Use the median integral result of the high-frequency IMU data as the nominal state of the error state Kalman filter;
[0075] Step 4. Calculate the error state kinematic equation and prediction covariance matrix at the sampling time;
[0076] Step 5. Based on the availability of GNSS signals, construct the observation equations and observation covariance using the network output results;
[0077] Step 6. After correcting the nominal state, high-precision positioning in complex environments can be obtained.
[0078] Furthermore, step 1 completes the calibration between multiple sensors, and then IMU and GNSS data are collected, specifically including the following steps:
[0079] Step 11, install the IMU onto the vehicle's centerline, such as... Figure 2 The IMU is installed at the centerline of the rear wheel of the vehicle, so that the XY axis of the IMU coordinate system coincides with the rear wheel axis and the vehicle axis. The IMU coordinate system is used as the vehicle coordinate system. The GNSS antenna is installed on the top of the vehicle to collect IMU and GNSS data. Kalman filter is used for extrinsic parameter calibration to determine the installation angle difference between the sensors. After calibration, verification is performed to ensure that the coordinate transformation is accurate.
[0080] Step 12: Acquire IMU and GNSS data, and convert the acquisition time of each frame of data into a standard timestamp format for saving. Convert the acquired GNSS information, i.e., longitude, latitude, and altitude in the geographic coordinate system, to the geocentric coordinate system, and finally convert the coordinates in the geocentric coordinate system to the East-Sky-North coordinate system for saving. The East-Sky-North coordinate system in which each acquired GNSS data is located is based on the location of the first frame of GNSS data as the origin.
[0081] Furthermore, step 2 involves constructing a GNSS data simulation neural network. A mathematical model of the loss function is built using the error between the predicted and actual position, attitude, and velocity values. IMU data is then input into the GNSS simulation neural network for training. Specifically, this includes the following steps:
[0082] Step 21: Construct a GNSS data simulation network based on convolutional neural networks and long short-term memory. For example... Figure 3 The temporally separated one-dimensional extended convolutional neural network in the network separates the input multi-time-step IMU sequence according to the time dimension. Then, the IMU data at one time step is input into extended convolutional layers with different dilation rates. The layers extract the correlation features between acceleration and angular velocity in the same frame from the input IMU data with different receptive fields. The multiple output features are concatenated and then convolved. The convolution results of features from different acquisition times are then concatenated to obtain a result with the same time dimension as the input IMU sequence. This result is then input into a long short-term memory network to capture the correlation features of the IMU sequence in the time dimension. After convolution, the output features are output by a fully connected layer to output the relative position, relative attitude, and relative velocity of the current time step relative to the previous time step.
[0083] Step 22: Because the IMU acquisition speed is much higher than the GNSS acquisition speed, multiple frames of IMU data sequences within two-frame intervals of GNSS data are combined and input into the analog neural network. This ensures that the network's output frequency matches the GNSS acquisition frequency, guaranteeing the normal operation of the subsequent error state Kalman filter even when GNSS data is unavailable. Huber Loss is used to penalize the differences between the network's output position, attitude, and velocity and the true values, making them closer to the true value layout. The GNSS analog neural network is trained, specifically including the following formula:
[0084] (1)
[0085] (2)
[0086] (3)
[0087] (4)
[0088] in It is a logarithmic mapping of SO3. Here is the Huber loss function. These represent the network outputs of position, velocity, and attitude, respectively. These represent the actual position, velocity, and attitude. These represent the corresponding attitude, velocity, and position weights, respectively. , , , These are the attitude loss, position loss, velocity loss, and total loss, respectively. The final loss function consists of the position loss, attitude loss, and velocity loss, along with their corresponding weights.
[0089] Furthermore, step 3 uses the median integral result of the high-frequency IMU data as the nominal state of the error state Kalman filter, specifically including the following steps:
[0090] Step 31: Combine the triaxial acceleration and angular velocity measured by the IMU into a vector form to establish an error model for the low-cost IMU. The specific formula is as follows:
[0091] (5)
[0092] (6)
[0093] in , where a represents the actual angular velocity and acceleration in the vehicle coordinate system as measured by the IMU. These are the angular velocity and acceleration values output by the IMU, respectively. , These are the biases for the gyroscope and accelerometer, respectively. , These are the zero-mean Gaussian white noise values from the gyroscope and accelerometer when collecting angular velocity and acceleration, respectively.
[0094] Step 32: Transform the angular velocity and acceleration measured by the IMU in the volume coordinate system to the East-Sky-North global coordinate system, and set the state variables of the error state Kalman filter as follows:
[0095] (7)
[0096] Where P represents the vector composed of displacements along the three axes (East, Sky, North), V represents the angular velocity vector along the three axes, and R is the vehicle's attitude matrix in the East, Sky, North coordinate system. These are the biases for the accelerometer and gyroscope, respectively. This is the acceleration due to gravity.
[0097] Step 33: The kinematic equations of the state variables in continuous time are obtained. Based on the sampling time, the noise term is ignored, and the nominal values of the state variables are discretized. The nominal values of the state variables are obtained by median integration. The specific formula is as follows:
[0098] (8)
[0099] in The sampling time interval between two frames. These are the average values of the angular velocity and acceleration of the two frames of IMU sampled data at the corresponding time points.
[0100] Furthermore, step 4, which calculates the error state kinematic equation and prediction covariance matrix at the sampling time, specifically includes the following steps:
[0101] Step 41, define the error state variable as the error between the nominal state and the true value, where the error of the rotation part can be expressed using its Lie algebra. By expressing this, we can obtain the complete kinematic equations of the error state variables in continuous time, as shown in the following formula:
[0102] (9)
[0103] in These are the zero-mean white noise values for the accelerometer and gyroscope, respectively. These are position error, velocity error, attitude error, accelerometer bias error, and gyroscope bias error, respectively.
[0104] Step 42: Discretize the error state variables to obtain the discrete kinematic equations of the error state variables, as shown in the following formula:
[0105] (10)
[0106] in These are the velocity noise term, rotation noise term, gyroscope bias noise term, and accelerometer bias noise term, respectively, and they are not included in subsequent recursions; they are classified separately into the noise part.
[0107] Step 43: Based on the discrete kinematic equations of the error state variables, the prediction covariance matrix can be obtained, which is determined by the variance of the Gaussian noise of each state variable. The specific formula is as follows:
[0108] (11)
[0109] in These are the velocity noise covariance, rotation noise covariance, gyroscope bias noise covariance, and accelerometer bias noise covariance, respectively.
[0110] Furthermore, step 5, based on the availability of GNSS signals and combined with the network output results, constructs the observation equation and observation covariance, specifically including the following steps:
[0111] Step 51: Since the acquisition times of the IMU and GNSS may differ, when the number of IMU data frames reaches the number of frames the IMU should acquire within the GNSS acquisition interval, the sequence of IMU measurement values for the current time period is input into the GNSS data simulation network. If no GNSS information is received when the network outputs the results, the current GNSS is considered to be faulty. Because the global position, global attitude, and global velocity in the East-North coordinate system obtained during the last normal operation are retained, multi-threading technology is used. When the IMU data volume meets the conditions, while inputting multiple measurement values acquired by the IMU within the GNSS acquisition interval into the network, the error state Kalman filter directly performs median integration according to the nominal state variable calculation method. The obtained nominal position state value is compared with the coordinates in the East-North coordinate system converted from the GNSS information. If it is greater than the threshold, the GNSS information at that moment is considered an outlier. In both cases, the position observation of the error Kalman filter should be given by the GNSS simulation network.
[0112] Step 52: Based on the judgment result of step 51, when GNSS information is available, the corresponding observation equations are constructed from the attitude and velocity output by the simulation network, and the position observation equations are constructed from the GNSS information; when GNSS information is unavailable, the corresponding observation equations are constructed using the position, attitude, and velocity output by the simulation network. The observation equations constructed based on the simulation network output are expressed in a holistic form, as shown in the following formula:
[0113] (12)
[0114] (13)
[0115] in To simulate network output observations, When GNSS information is available, the observations are constructed using GNSS information, where v is the observation noise and V is the covariance matrix of the observation noise. For error observation, the network output can be used to calculate the error by subtracting the IMU prediction value from the available GNSS information.
[0116] Furthermore, after correcting the nominal state in step 6, high-precision positioning in complex environments can be obtained, specifically including the following steps:
[0117] Step 61: Calculate the Kalman gain based on the error state prediction covariance, the error state observation coefficient matrix, and the error state observation covariance, and then update the error state. The specific formula is as follows:
[0118] (14)
[0119] in For error state prediction, The Jacobian matrix of the observation equation compared to the error state. The error state observation covariance.
[0120] Step 62: Correct the nominal state variables using the predicted and updated error state variables to obtain the final high-precision positioning.
[0121] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0122] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and there may be other division methods in actual implementation. Furthermore, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Additionally, the coupling or direct coupling or communication connection shown or discussed may be through some communication interface; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.
[0123] The modules described as separate components may or may not be physically separate. Similarly, the components shown as modules may or may not be physical modules; they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0124] In addition, the functional modules in the embodiments provided in this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.
[0125] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0126] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0127] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0128] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.
[0129] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0130] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0131] The above embodiments should be understood as illustrative only and not as limiting the scope of protection of the present invention. After reading the description of the present invention, those skilled in the art can make various alterations or modifications to the present invention, and these equivalent changes and modifications also fall within the scope defined by the claims of the present invention.
Claims
1. A method for maintaining high-precision positioning during continuous movement in complex environments, characterized in that, Includes the following steps: Step 1: Calibrate multiple sensors using a Kalman filter, and then acquire IMU and GNSS data; Step 2: Construct a GNSS data simulation neural network. Build a mathematical model of the loss function by using the difference between the predicted and actual values of position, attitude, and velocity. Input the IMU data sequence into the GNSS data simulation neural network for training. Step 3: Use the median integral result of the high-frequency IMU data as the nominal state of the error state Kalman filter; Step 4: Calculate the error state kinematic equation and prediction covariance matrix at the sampling time; Step 5: Based on the availability of GNSS signals, construct the observation equation and observation covariance using the network output results; Step 6: After correcting the nominal state, high-precision positioning in complex environments is obtained; Step 2 involves constructing a GNSS data simulation neural network. A mathematical model of the loss function is built using the difference between the predicted and actual position, attitude, and velocity values. The IMU data sequence is then input into the GNSS data simulation neural network for training. Specifically, this includes: Step 21: Construct a GNSS data simulation network based on convolutional neural networks and long short-term memory. In the network, a time-separated one-dimensional extended convolutional neural network extracts the correlation features between acceleration and angular velocity in the same frame from the input IMU sequence data with different receptive fields. The multiple output features are concatenated and then convolved. The convolution results of the time-separated features are then concatenated and input into the long short-term memory network again to capture the correlation features of the IMU sequence in the time dimension. After convolution, the output features are output by the fully connected layer as the relative position, relative attitude, and relative velocity of the current time relative to the previous time. Step 22: Combine the IMU data sequences of multiple frames within the GNSS data acquisition interval and input them into the GNSS analog neural network to make the network output frequency consistent with the GNSS acquisition frequency. Even when GNSS data is unavailable, the subsequent optimization of the error state Kalman filter is still guaranteed. Use Huber Loss to backpropagate the difference between the network output position, attitude, and velocity and the true value to make it close to the true value layout and train the GNSS analog neural network. Step 5, based on the availability of GNSS signals and combined with the network output results, constructs the observation equation and observation covariance, specifically including: Step 51: Use multi-threading technology to run the GNSS data simulation network and the error state Kalman filter simultaneously. When the number of IMU data frames reaches the number of frames that the IMU should collect within the GNSS acquisition interval, the IMU sequence is input into the GNSS data simulation network. If no GNSS information is obtained when the network outputs the predicted value, the current GNSS is judged to be in failure. The global position, global attitude, and global velocity in the East-North coordinate system obtained during the last normal operation are retained. Based on the multiple measurement values collected by the IMU, the median integral is directly performed according to the nominal state variable calculation method. The obtained nominal position state value is compared with the coordinates in the East-North coordinate system converted from the GNSS information. If it is greater than the threshold, the GNSS information at that moment is judged to be an anomaly. Step 52: Based on the judgment result of step 51, when GNSS information is available, the corresponding observation equations are constructed from the attitude and velocity output by the simulation network, and the position observation equations are constructed from the GNSS information; when GNSS information is unavailable, the corresponding observation equations are constructed using the position, attitude, and velocity output by the simulation network. The observation equations constructed based on the simulation network output are expressed in a holistic form, as shown in the following formula: (12) (13) in To simulate network output observations, When GNSS information is available, the observations constructed using the GNSS information, where v is the observation noise and V is the covariance matrix of the observation noise, can be calculated using the network output and the available GNSS information minus the IMU prediction value.
2. The method for maintaining high-precision positioning during continuous movement in a complex environment according to claim 1, characterized in that, Step 1 involves calibrating multiple sensors using a Kalman filter, followed by acquiring IMU and GNSS data. Specifically, this includes the following steps: Step 11: Install the IMU on the vehicle's centerline, use the IMU coordinate system as the vehicle coordinate system, install the GNSS antenna on the top of the vehicle, collect IMU and GNSS data, use a Kalman filter to calibrate the extrinsic parameters, and determine the installation angle between the sensors. Step 12: Collect IMU and GNSS data, and convert the acquisition time of each frame of data into a standard timestamp format for saving; convert the acquired GNSS information, namely longitude, latitude, and altitude, into the geocentric coordinate system, and finally convert the coordinates in the geocentric coordinate system into the East-Sky-North coordinate system for saving; the East-Sky-North coordinate system in each acquisition is based on the location of the first frame of GNSS data as the origin.
3. The method for maintaining high-precision positioning during continuous movement in a complex environment according to claim 1, characterized in that, The process of using Huber Loss to backpropagate the differences between the network's output position, attitude, and velocity and the true values to make them closer to the true layout, and training the GNSS simulation neural network, specifically includes the following formula: (1) (2) (3) (4) in It is a logarithmic mapping of SO3. Here is the Huber loss function. These represent the network outputs of position, velocity, and attitude, respectively. These represent the actual position, velocity, and attitude, respectively. These represent the corresponding attitude, velocity, and position weights, respectively. , , , These are the attitude loss, position loss, velocity loss, and total loss, respectively. The final loss function consists of the position loss, attitude loss, and velocity loss, along with their corresponding weights.
4. The method for maintaining high-precision positioning during continuous movement in a complex environment according to claim 3, characterized in that, Step 3 uses the median integral result of the high-frequency IMU data as the nominal state of the error state Kalman filter, specifically including: Step 31: Represent the triaxial acceleration and angular velocity measured by the IMU in vector form, and establish an error model for the low-cost IMU. The specific formula is as follows: (5) (6) in , where a represents the actual angular velocity and acceleration in the body coordinate system as measured by the IMU. These are the angular velocity and acceleration values output by the IMU, respectively. , These are the biases for the gyroscope and accelerometer, respectively. , These are the zero-mean Gaussian white noise values of the gyroscope and accelerometer when collecting angular velocity and acceleration, respectively. Step 32: Convert the angular velocity and acceleration measured by the IMU in the body coordinate system to the East-Sky-North coordinate system, and set the state variables of the error state Kalman filter as follows: (7) Where P represents the vector composed of displacements along the three axes (East, Sky, North), V represents the angular velocity vector along the three axes, and R is the vehicle's attitude matrix in the East, Sky, North coordinate system. These are the biases for the accelerometer and gyroscope, respectively. It is the acceleration due to gravity; Step 33: Simplify the kinematic equations of the state variables in continuous time, ignore the noise terms, discretize the nominal values of the state variables, and use the mean value integral to obtain the nominal values of the state variables. The specific formula is as follows: (8) in This is the sampling time interval between two frames.
5. A method for maintaining high-precision positioning during continuous movement in a complex environment according to claim 4, characterized in that, Step 4, calculating the error state kinematic equation and prediction covariance matrix at the sampling time, specifically includes: Step 41, define the error state variable as the difference between the nominal state and the true value, where the error of the rotation part is expressed using its Lie algebra. To express this, we obtain the complete kinematic equations for the continuous error state variables, as shown in the following formula: (9) in These are the zero-mean white noise values for the accelerometer and gyroscope, respectively. These are position error, velocity error, attitude error, accelerometer bias error, and gyroscope bias error, respectively. Step 42: Discretize the error state variables to obtain the discrete kinematic equations of the error state variables, as shown in the following formula: . (10) in These are the velocity noise term, rotation noise term, gyroscope bias noise term, and accelerometer bias noise term, respectively, and they are not included in subsequent recursions; they are classified separately into the noise part. Step 43: Based on the discrete kinematic equations of the error state variables, the prediction covariance matrix can be obtained, which is determined by the variance of the Gaussian noise of each state variable. The specific formula is as follows: (11); in These are the velocity noise covariance, rotation noise covariance, gyroscope bias noise covariance, and accelerometer bias noise covariance, respectively.
6. The method for maintaining high-precision positioning during continuous movement in a complex environment according to claim 1, characterized in that, Step 6 specifically includes: Step 61: Calculate the Kalman gain based on the error state prediction covariance, the error state observation coefficient matrix, and the error state observation covariance, and then update the error state. The specific formula is as follows: (14) in The error state prediction matrix is... The Jacobian matrix of the observation equation compared to the error state. For the error state observation covariance; Step 62: Correct the nominal state variables using the predicted and updated error state variables to obtain the final high-precision positioning.
7. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the program, implements the method for maintaining high-precision positioning in continuous motion in a complex environment as described in any one of claims 1 to 6.
8. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the method for maintaining high-precision positioning in continuous motion in a complex environment as described in any one of claims 1 to 6.
Citation Information
Patent Citations
GNSS / INS integrated navigation method based on Elman neural network online learning assistance
CN112505737A
Integrated navigation method for amphibious robot
CN117053782A