CN112985463B - Calibration method and device for inertial measurement unit based on convolutional neural network model - Google Patents

Calibration method and device for inertial measurement unit based on convolutional neural network model Download PDF

Info

Publication number
CN112985463B
CN112985463B CN202110429227.8A CN202110429227A CN112985463B CN 112985463 B CN112985463 B CN 112985463B CN 202110429227 A CN202110429227 A CN 202110429227A CN 112985463 B CN112985463 B CN 112985463B
Authority
CN
China
Prior art keywords
neural network
network model
convolutional neural
module
measurement unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110429227.8A
Other languages
Chinese (zh)
Other versions
CN112985463A (en
Inventor
费再慧
贾双成
朱磊
李成军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhidao Network Technology Beijing Co Ltd
Original Assignee
Zhidao Network Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhidao Network Technology Beijing Co Ltd filed Critical Zhidao Network Technology Beijing Co Ltd
Priority to CN202110429227.8A priority Critical patent/CN112985463B/en
Publication of CN112985463A publication Critical patent/CN112985463A/en
Application granted granted Critical
Publication of CN112985463B publication Critical patent/CN112985463B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Navigation (AREA)

Abstract

The application relates to an inertial measurement unit calibration method and device based on a convolutional neural network model. The method comprises the following steps: acquiring at least one group of measurement data sequences of an inertial measurement unit; and acquiring IMU estimation data of at least one moment corresponding to the at least one group of measurement data sequences according to the at least one group of measurement data sequences and a pre-trained convolutional neural network model. According to the scheme, the measurement error of the inertial measurement unit can be reduced based on the convolutional neural network model, and the calibration of the inertial measurement unit is achieved.

Description

Calibration method and device for inertial measurement unit based on convolutional neural network model
Technical Field
The application relates to the technical field of navigation, in particular to an inertial measurement unit calibration method and device based on a convolutional neural network model.
Background
In the related art, vehicle navigation often depends on a satellite Positioning module such as a GPS (Global Positioning System) satellite Positioning module. However, in some situations, such as under bridges, culverts, tunnels, dense buildings, etc., the positioning deviation of the satellite positioning module of the related art is very large, and even the positioning result cannot be provided. The Inertial navigation system including an Inertial Measurement Unit (IMU) can calculate accurate speed, attitude, and position information of the vehicle by using Measurement data of the Inertial Measurement Unit.
The inertial navigation system estimates speed, attitude and position information of the vehicle using measurement data of an accelerometer and a gyroscope of the inertial measurement unit. However, the accelerometer and gyroscope in the inertial measurement unit are affected by various factors, and after the inertial measurement unit is used for a period of time, parameters and performance of the accelerometer and gyroscope change, so that measured data have deviation, and large errors accumulate over time, which results in that the progress of positioning and navigation by using the measured data of the inertial measurement unit is reduced. Therefore, the measurement error of the inertial measurement unit must be reduced, and the inertial measurement unit must be calibrated.
Disclosure of Invention
In order to solve or partially solve the problems in the related art, the application provides an inertial measurement unit calibration method and device based on a convolutional neural network model, which can reduce the measurement error of the inertial measurement unit based on the convolutional neural network model and realize the calibration of the inertial measurement unit.
The first aspect of the present application provides a calibration method for an inertial measurement unit based on a convolutional neural network model, the method comprising:
acquiring at least one group of measurement data sequences of an inertial measurement unit;
and acquiring IMU estimation data of at least one moment corresponding to the at least one group of measurement data sequences according to the at least one group of measurement data sequences and a pre-trained convolutional neural network model.
Preferably, the training step of the convolutional neural network model includes:
initializing a convolutional neural network model, comprising: defining the size of a convolution kernel of a convolution neural network model as N, and setting a parameter value for each convolution kernel, wherein N is an integer greater than 1;
dividing the measurement data of the inertial measurement unit in a time period by taking the measurement data of the inertial measurement unit from time (I-1) × N +1 to time I × N as an I-th group of measurement data sequences to obtain K groups of measurement data sequences each comprising N measurement data, wherein K is an integer greater than or equal to N, and I =1, 2, …, K;
inputting the K groups of measurement data sequences and the position data sequence of the positioning module into a convolutional neural network model;
enabling the convolutional neural network model to output IMU estimation data at the time I X N according to the I group of measurement data sequences respectively, and calculating to obtain track point calculation positions at the time I X N according to the IMU estimation data at the time I X N respectively, so as to obtain K track point calculation positions;
obtaining the I-th difference value of the track point calculated position of each moment I X N and the position data of the positioning module according to the track point calculated position of each moment I X N and the position data of the positioning module, and obtaining the cumulative sum of K difference values;
and if the cumulative sum of the K difference values is greater than or equal to a set first threshold value or the cycle number exceeds a set second threshold value and the cumulative sum of the K difference values is less than the loss value of the convolutional neural network model, updating the cycle number L to be L +1, modifying the parameter value of the jth convolutional kernel according to the set learning rate of the convolutional neural network model, and updating the loss value of the convolutional neural network model to be the cumulative sum of the K difference values, wherein j is the remainder of dividing N by L.
Preferably, the method further comprises:
and if the cumulative sum of the K difference values is larger than or equal to a set first threshold value or the cycle number does not exceed a set second threshold value and the cumulative sum of the K difference values is larger than or equal to the loss value of the convolutional neural network model, updating the cycle number L to be L +1, and modifying the parameter value of the j-1 th convolutional kernel according to the set learning rate of the convolutional neural network model.
Preferably, the method further comprises:
and stopping the training of the convolutional neural network model if the accumulated sum of the K difference values is smaller than a set first threshold value or the cycle number exceeds a set second threshold value.
Preferably, the initializing the convolutional neural network model includes: defining the size of a convolution kernel of a convolution neural network model to be N, setting a parameter value for each convolution kernel, wherein N is an integer greater than 1, and the method comprises the following steps:
initializing a convolutional neural network model according to the acquisition frequency of the measurement data acquired by the inertial measurement unit, comprising: and defining the size of a convolution kernel of the convolution neural network model as N according to the submultiple or multiple of the acquisition frequency, and setting a parameter value for each convolution kernel, wherein N is an integer greater than 1.
The second aspect of the present application provides an inertial measurement unit calibration apparatus based on a convolutional neural network model, the apparatus includes:
the raw data acquisition module is used for acquiring at least one group of measurement data sequences of the inertial measurement unit;
and the estimation data acquisition module is used for acquiring IMU estimation data of at least one moment corresponding to at least one group of measurement data sequences according to at least one group of measurement data sequences acquired by the original data acquisition module and a pre-trained convolutional neural network model.
Preferably, the apparatus further comprises:
an initialization module for initializing a convolutional neural network model, comprising: defining the size of a convolution kernel of a convolution neural network model as N, and setting a parameter value for each convolution kernel, wherein N is an integer greater than 1;
the dividing module is used for dividing the measurement data of the inertial measurement unit in a time period by taking the measurement data of the inertial measurement unit from time (I-1) × N +1 to time I × N as an I-th group of measurement data sequences to obtain K groups of measurement data sequences each comprising N measurement data, wherein K is an integer greater than or equal to N, and I =1, 2, … and K;
the input module is used for inputting the K groups of measurement data sequences obtained by the segmentation module and the position data sequence of the positioning module into the convolutional neural network model;
the trajectory calculation module is used for enabling the convolutional neural network model to output IMU estimation data of the time I x N according to the I group of measurement data sequences input by the input module respectively, and calculating the trajectory point calculation position of the time I x N according to the IMU estimation data of the time I x N respectively, so that K trajectory point calculation positions are obtained;
the error module is used for obtaining an I-th difference value between the track point calculated position at each moment I X N and the position data of the positioning module according to the track point calculated position at each moment I X N obtained by the track calculation module and the position data of the positioning module input by the input module, and obtaining the cumulative sum of K difference values;
the first judgment module is used for judging whether the accumulated sum of the K difference values obtained by the error module is smaller than a set first threshold or whether the cycle number exceeds a set second threshold;
the second judgment module is used for judging whether the accumulated sum of the K difference values is larger than or equal to a set first threshold value or whether the cycle number does not exceed a set second threshold value or not if the accumulated sum of the K difference values is smaller than a loss value of the convolutional neural network model;
and the updating module is used for updating the cycle number L to be L +1 if the second judging module judges that the cumulative sum of the K difference values is smaller than the loss value of the convolutional neural network model, modifying the parameter value of the jth convolutional kernel according to the set learning rate of the convolutional neural network model, and updating the loss value of the convolutional neural network model to be the cumulative sum of the K difference values, wherein j is the remainder of dividing N by L.
Preferably, the updating module is further configured to update the cycle number L to L +1 if the second determining module determines that the cumulative sum of the K difference values is greater than or equal to the loss value of the convolutional neural network model, and modify a parameter value of the j-1 th convolutional kernel according to a set learning rate of the convolutional neural network model.
Preferably, the apparatus further comprises:
and the stopping module is used for stopping the training of the convolutional neural network model if the first judging module judges that the accumulated sum of the K difference values is smaller than a set first threshold value or the cycle number exceeds a set second threshold value.
A third aspect of the present application provides an electronic device comprising:
a processor; and
a memory having executable code stored thereon, which when executed by the processor, causes the processor to perform the method as described above.
A fourth aspect of the present application provides a non-transitory machine-readable storage medium having stored thereon executable code, which when executed by a processor of an electronic device, causes the processor to perform a method as described above.
The technical scheme provided by the application can comprise the following beneficial effects:
according to the technical scheme, a position data sequence of a positioning module in the same time period, K groups of acceleration sequences with N accelerations in each group and K groups of angular velocity sequences with N angular velocities in each group are used as training samples of a convolutional neural network model, the convolutional neural network model outputs the acceleration at the time I x N according to the I group of acceleration sequences, and outputs the angular velocity at the time I x N according to the I group of angular velocity sequences, so that the reliability of the training samples is enhanced, and the error of the training samples is reduced; calculating to obtain a trace point calculation position of the time I X N according to the acceleration of the time I X N output by the convolution neural network model according to the group I acceleration sequence and the angular velocity of the time I X N output by the group I angular velocity sequence; according to the track point calculated position at the moment I X N and the position data at the moment I X N in the same time period, obtaining the I-th difference value of the track point calculated position at the moment I X N and the position data at the moment I X N in the same time period, and obtaining the cumulative sum of K difference values; and analyzing the accumulated sum of the K difference values and the current loss value of the convolutional neural network model, modifying the loss value of the convolutional neural network model and sequentially modifying the parameter values of the convolutional kernels of the convolutional neural network model according to the set learning rate of the convolutional neural network model, finishing the training of the convolutional neural network model, and improving the training precision and the training speed of the convolutional neural network model. And inputting the acceleration and the angular velocity of the inertial measurement unit into the trained convolutional neural network model, so that the acceleration and the angular velocity which are output by the convolutional neural network model and reduce the measurement error are used for completing the calibration of the inertial measurement unit. The calibration method of the inertial measurement unit based on the convolutional neural network model can reduce the measurement error of the inertial measurement unit based on the convolutional neural network model, realize the calibration of the inertial measurement unit and ensure the precision of positioning and navigation by using the measurement data of the inertial measurement unit.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The foregoing and other objects, features and advantages of the application will be apparent from the following more particular descriptions of exemplary embodiments of the application, as illustrated in the accompanying drawings wherein like reference numbers generally represent like parts throughout the exemplary embodiments of the application.
FIG. 1 is a schematic flowchart illustrating a calibration method of an inertial measurement unit based on a convolutional neural network model according to an embodiment of the present application;
FIG. 2 is a schematic flow chart diagram illustrating a method for obtaining a trained convolutional neural network model according to an embodiment of the present application;
FIG. 3 is a schematic flow chart diagram illustrating a calibration method for an inertial measurement unit based on a convolutional neural network model according to another embodiment of the present application;
FIG. 4 is a schematic structural diagram of an inertial measurement unit calibration apparatus based on a convolutional neural network model according to an embodiment of the present application;
FIG. 5 is a schematic structural diagram of an inertial measurement unit calibration apparatus based on a convolutional neural network model according to another embodiment of the present application;
fig. 6 is a schematic structural diagram of an electronic device shown in an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in more detail below with reference to the accompanying drawings. While embodiments of the present application are illustrated in the accompanying drawings, it should be understood that the present application may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms "first," "second," "third," etc. may be used herein to describe various information, these information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the present application. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the present application, "a plurality" means two or more unless specifically limited otherwise.
The embodiment of the application provides an inertial measurement unit calibration method based on a convolutional neural network model, which can reduce the measurement error of the inertial measurement unit based on the convolutional neural network model and realize the calibration of the inertial measurement unit.
The technical solutions of the embodiments of the present application are described in detail below with reference to the accompanying drawings.
The first embodiment is as follows:
fig. 1 is a schematic flowchart of an inertial measurement unit calibration method based on a convolutional neural network model according to an embodiment of the present application.
Referring to fig. 1, a calibration method for an inertial measurement unit based on a convolutional neural network model includes:
in step 101, at least one set of measurement data sequences of an inertial measurement unit is acquired.
In one specific implementation mode, the vehicle is provided with an inertia measurement unit and a positioning module. The inertial measurement unit comprises an accelerometer and a gyroscope, and the measurement data sequence of the inertial measurement unit comprises an acceleration sequence of the accelerometer of the inertial measurement unit and an angular velocity sequence of the gyroscope. The sequence of accelerations of the vehicle, which may be obtained by an accelerometer of the inertial measurement unit, and the sequence of angular velocities of the vehicle, which may be obtained by a gyroscope of the inertial measurement unit. The positioning module may include, but is not limited to, at least one of a GPS module, a beidou satellite positioning module, an RTK (real time kinematic) positioning module, and the like. With the positioning module, positioning information of the vehicle may be obtained, which may include, but is not limited to, position information, speed information, and attitude information. The location information includes, but is not limited to, latitude and longitude coordinate information describing the location, and the attitude information includes, but is not limited to, heading angle information describing the heading.
In step 102, IMU estimation data of at least one time corresponding to at least one group of measurement data sequences is obtained according to the at least one group of measurement data sequences and a pre-trained convolutional neural network model.
In a specific implementation mode, a measurement data sequence of an inertial measurement unit of a vehicle is input into a trained convolutional neural network model, so that the convolutional neural network model outputs IMU estimation data for reducing measurement errors according to at least one group of measurement data sequences, and the IMU estimation data is output through the convolutional neural network model to obtain IMU estimation data for reducing the measurement errors. And taking IMU estimation data output by the convolutional neural network model as measurement data output by the inertial measurement unit after calibration to finish the calibration of the inertial measurement unit.
According to the inertial measurement unit calibration method based on the convolutional neural network model, the measurement error of the measurement data of the inertial measurement unit can be reduced based on the convolutional neural network model according to the IMU estimation data output by the convolutional neural network model, the calibration of the inertial measurement unit is realized, and the precision of positioning and navigation by using the measurement data of the inertial measurement unit is ensured.
Fig. 2 is a flowchart illustrating a method for obtaining a trained convolutional neural network model according to an embodiment of the present application.
Referring to fig. 2, a method of obtaining a trained convolutional neural network model, comprising:
in step 201, a convolutional neural network model is initialized, comprising: the size of a convolution kernel of the convolution neural network model is defined to be N, and a parameter value is set for each convolution kernel, wherein N is an integer larger than 1.
In a specific embodiment, initializing the convolutional neural network model, which may define a convolutional kernel with a size of N, sequentially ordering the N convolutional kernels, and sequentially setting a parameter value for each convolutional kernel; setting a LOSS value LOSS of the convolutional neural network model; the learning rate learn _ rate of the convolutional neural network model is set. In some embodiments, a number of cycles L =1 may also be defined.
In one embodiment, initializing the convolutional neural network model according to the acquisition frequency of the inertial measurement unit to acquire the acceleration and the angular velocity comprises: and defining the size N of a convolution kernel of the convolution neural network model by submultiples or multiples of the acquisition frequency, and setting a parameter value for each convolution kernel, wherein N is an integer greater than 1.
In one embodiment, a convolution kernel of size N is defined for the convolutional neural network model based on the acquisition frequency of the inertial measurement unit, where N is a divisor or multiple of the acquisition frequency. For example, the acquisition frequency of the inertial measurement unit is 100, and the value of N may be a divisor or multiple of 100, such as 2, 4, 5, 10, 20 … … 100, 200, and the like. In some embodiments, the value of N may be 10.
In step 202, the measurement data of the inertial measurement unit of a time period is segmented, and K groups of measurement data sequences each including N measurement data are obtained, where K is an integer greater than or equal to N.
In one specific implementation mode, an inertial measurement unit, a positioning module and an on-board intelligent device loaded with a convolutional neural network model are arranged on a vehicle. The inertial measurement unit comprises an accelerometer and a gyroscope, and the measurement data of the inertial measurement unit comprises the acceleration of the accelerometer of the inertial measurement unit and the angular velocity of the gyroscope. The acceleration of the vehicle, which may be obtained by an accelerometer of the inertial measurement unit, and the angular velocity of the vehicle, which may be obtained by a gyroscope of the inertial measurement unit. The positioning module may include, but is not limited to, at least one of a GPS module, a beidou satellite positioning module, an RTK positioning module, and the like. With the positioning module, positioning information of the vehicle may be obtained, which may include, but is not limited to, position information, speed information, and attitude information. The location information includes, but is not limited to, latitude and longitude coordinate information describing the location, and the attitude information includes, but is not limited to, heading angle information describing the heading.
In one embodiment, in the event that the vehicle RTK positioning module signal is available, positioning information for the vehicle for a time period is obtained, and a position data sequence for the vehicle for the time period is obtained based on the positioning information for the time period. When the RTK positioning module is used for acquiring the position data sequence of the vehicle in a time period, the acceleration of the vehicle in the same time period is acquired through the accelerometer of the inertial measurement unit, and the angular velocity of the vehicle in the same time period is acquired through the gyroscope of the inertial measurement unit.
In one embodiment, the measurement data of the inertial measurement unit from time (I-1) × N +1 to time I × N is used as an I-th group of measurement data sequences, and the measurement data of the inertial measurement unit in a time period is divided to obtain K groups of measurement data sequences each including N measurement data, where K is an integer greater than or equal to N and I =1, 2, …, K.
In a specific embodiment, taking the accelerations from time (I-1) × N +1 to time I × N as a group I acceleration sequence, and dividing the accelerations in the same time period to obtain K groups of acceleration sequences each including N accelerations; and taking the angular velocities from the moment (I-1) N +1 to the moment I N as the I-group angular velocity sequence, and dividing the angular velocities in the same time period to obtain K groups of angular velocity sequences each comprising N angular velocities.
For example, every N accelerations are packed into a group, the acceleration from time 1 to time N is taken as a first group of acceleration sequences, the acceleration from time N +1 to time 2N is taken as a second group of acceleration sequences, and the acceleration from time 2N +1 to time 3N is taken as a third group of acceleration sequences, until K groups of acceleration sequences including N accelerations are obtained. And packing every N angular velocities into a group, wherein the angular velocities from the moment 1 to the moment N are used as a first group of angular velocity sequences, the angular velocities from the moment N +1 to the moment 2N are used as a second group of angular velocity sequences, and the angular velocities from the moment 2N +1 to the moment 3N are used as a third group of angular velocity sequences until K groups of angular velocity sequences comprising the N angular velocities are obtained.
In step 203, K sets of measurement data sequences are input to the convolutional neural network model, as well as a position data sequence of the positioning module.
In one embodiment, K sets of acceleration sequences each including N accelerations and K sets of angular velocity sequences each including N angular velocities, and a position data sequence of a positioning module are input to a convolutional neural network model.
In step 204, the convolutional neural network model outputs IMU estimation data at time I × N according to the I-th group of measurement data sequences, and calculates trace point calculated positions of the vehicle at time I × N according to the IMU estimation data at time I × N, so as to obtain K trace point calculated data.
In one embodiment, K trajectory point estimation data are obtained by enabling the convolutional neural network model to output the estimated acceleration at the time I × N according to the I-th group of acceleration sequences, output the estimated angular velocity at the time I × N according to the I-th group of angular velocity sequences, and estimate the trajectory point estimation position of the vehicle at the time I × N according to the estimated acceleration and the estimated angular velocity at the time I × N, wherein I =1, 2, …, K.
The convolution neural network model can respectively convolve the first group of acceleration sequences and the first group of angular velocity sequences, output an angular velocity and an acceleration, use the output acceleration as the estimated acceleration at the moment N, and use the output angular velocity as the estimated angular velocity at the moment N; taking the position data of the RTK positioning module at the moment N-1 in the same time period as an initial pose; and calculating the track point estimated position at the time N according to the position data at the time N-1, the estimated acceleration at the time N and the estimated angular velocity at the time N.
The convolution neural network model can respectively convolve the second group of acceleration sequences and the second group of angular velocity sequences, output an angular velocity and an acceleration, use the output acceleration as the estimated acceleration at the moment 2N, and use the output angular velocity as the estimated angular velocity at the moment 2N; taking the position data of the RTK positioning module at the moment 2N-1 in the same time period as an initial pose; and calculating the track point estimated position at the time 2N according to the position data at the time 2N-1, the estimated acceleration at the time 2N and the estimated angular velocity at the time 2N.
By analogy, the convolutional neural network model can respectively convolve the I-th group of acceleration sequences and the I-th group of angular velocity sequences, output an angular velocity and an acceleration, use the output acceleration as the estimated acceleration at the time I × N, and use the output angular velocity as the estimated angular velocity at the time I × N; taking the position data of the RTK positioning module at the time I x N-1 in the same time period as an initial pose; calculating the track point calculation position of the time I X N according to the position data of the time I X N-1, the estimated acceleration of the time I X N and the estimated angular velocity of the time I X N, and calculating K track point calculation data.
In step 205, according to the trace point estimated position at each time I × N and the position data of the positioning module, a difference between the estimated position at each time I × N trace point and the position data of the positioning module is obtained, and a cumulative sum of K differences is obtained.
In a specific embodiment, a first difference dp at a time N is obtained according to the track point dead reckoning position at the time N and the position data of the positioning module1(ii) a Calculating position data of the position and positioning module according to the track point at the moment 2N to obtain a difference dp at the moment 2N2(ii) a And by analogy, calculating the position and the position data of the positioning module according to the track points of all times I X N in the same time period to obtain the difference dp of all times I X NIWhere I =1, 2, …, K, thereby obtaining K differences. It is understood that the trace point dead reckoning position data at time I x N and the time I x N position data at time I x N of the positioning module are aligned in time. Accumulating the first difference dp1The second difference dp2… …, the Kth difference dpkTo obtain the cumulative sum of K differences loss = dp1+dp2+……+dpk
In step 206, it is determined whether the cumulative sum of the K differences is less than a set first threshold or whether the number of cycles exceeds a set second threshold; if the cumulative sum of the K differences is greater than or equal to the set first threshold or the number of cycles does not exceed the set second threshold, go to step 207; if the cumulative sum of the K differences is less than the set first threshold or the number of cycles exceeds the set second threshold, step 208 is performed.
In step 207, if the cumulative sum of the K difference values is less than the loss value of the convolutional neural network model,
updating the cycle number L to be L +1, modifying a parameter value of a jth convolution kernel according to a set learning rate of the convolution neural network model, and updating a loss value of the convolution neural network model to be the cumulative sum of K difference values, wherein j is a remainder of dividing L by N; step 204 is performed.
In one embodiment, if the cumulative sum of K difference values is smaller than the LOSS value of the convolutional neural network model, 1 cycle number is added, the current cycle number L is updated to L +1, the parameter value of the jth convolutional kernel is modified according to the set learning rate learn _ rate of the convolutional neural network model, where j = mod (L, N), i.e., j is the remainder of dividing L by N, and then the LOSS value LOSS of the convolutional neural network model is updated to the cumulative sum LOSS of K difference values. Returning to the step 204 of circular execution, and continuing training the convolutional neural network model after updating the LOSS value LOSS and modifying the parameter value of the convolutional kernel.
In a specific embodiment, if the cumulative sum LOSS of the K difference values is less than the LOSS value LOSS of the convolutional neural network model, 1 cycle is added, the current cycle L is updated to L +1, and the parameter value x of the jth convolutional kernel is updated according to the set learning rate learn _ rate of the convolutional neural network modeljFor example, but not limited to, the new parameter value x of the jth convolution kernel can be solved first according to the following formulaj', then x is addedjIs updated to xj'。
xj'=xj-(loss-LOSS)/loss*learn_rate
The current LOSS value LOSS of the convolutional neural network model is then updated to the cumulative sum LOSS of the K differences. Returning to the step 204 of circular execution, and continuing training the convolutional neural network model after updating the LOSS value LOSS and modifying the parameter value of the convolutional kernel.
In one embodiment, if the cumulative sum LOSS of K difference values is less than the LOSS value LOSS of the convolutional neural network model, 1 cycle is added, the current cycle L is updated to L +1, and if the remainder of dividing the cycle L by N is 0, the parameter value x of the nth convolutional kernel may be modified according to the set learning rate learn _ rate of the convolutional neural network modelNThe current LOSS value LOSS of the convolutional neural network model is updated to the cumulative sum LOSS of K difference values.
In step 208, convolutional neural network model training is stopped.
In one embodiment, if the cumulative sum of the K difference values is less than a set first threshold or the number of cycles exceeds a set second threshold, the training of the convolutional neural network model is stopped, i.e., the training of the convolutional neural network model is completed.
In this embodiment, after modifying the parameter value of a certain convolution kernel according to the set learning rate of the convolutional neural network model, steps 204, 205, 206 and 207 are executed in a loop. And if the cumulative sum of the K difference values obtained by circulation is greater than or equal to the set first threshold value and the cumulative sum of the K difference values is less than the loss value of the convolutional neural network model, increasing the circulation times for 1 time, updating the current circulation time L to be L +1, continuously modifying the parameter value of the next convolution kernel of a certain convolution kernel of the convolutional neural network model, and updating the loss value of the convolutional neural network model. And performing steps 204, 205, 206 and 207 in a loop again, if the cumulative sum of the K difference values obtained by the loop is smaller than the set first threshold value, stopping the training of the convolutional neural network model, namely completing the training of the convolutional neural network model.
In another implementation, the number of training cycles of the convolutional neural network model may be set, and if the number of training cycles of the convolutional neural network model is not greater than the set number of training cycles, the convolutional neural network model may be trained by cyclically modifying a parameter value of a convolutional kernel of the convolutional neural network model and a current loss value of the convolutional neural network model by using a cumulative sum of K sets of acceleration sequences including N accelerations and K sets of angular velocity sequences including N angular velocities obtained through a cycle. And stopping the training of the convolutional neural network model when the set cycle number is exceeded, for example, the cycle number exceeds a set second threshold value, namely completing the training of the convolutional neural network model.
As can be understood, when any one of the two conditions that the accumulated sum of the K difference values is less than the set first threshold and the cycle number exceeds the set second threshold is met, stopping the training of the convolutional neural network model; and stopping training the convolutional neural network model when the accumulated sum of the K difference values is smaller than a set first threshold and the cycle number exceeds a set second threshold.
It should be noted that, in the training process of the convolutional neural network model, when the parameter values of the convolutional kernels are modified according to the learning rate of the convolutional neural network model, the same learning rate may be used, or the learning rate may be adjusted in the training process of the convolutional neural network model by using a self-updating manner of the learning rate. The learning rate self-updating mode may refer to related technologies, and the embodiments of the present application are not described in detail.
Example three:
fig. 3 is a schematic flowchart of a calibration method of an inertial measurement unit based on a convolutional neural network model according to another embodiment of the present application. Fig. 3 describes the solution of the present application in more detail with respect to fig. 1.
Referring to fig. 3, a method for calibrating an inertial measurement unit based on a convolutional neural network model includes:
in step 301, a convolutional neural network model is initialized, comprising: the size of a convolution kernel of the convolution neural network model is defined to be N, and a parameter value is set for each convolution kernel, wherein N is an integer larger than 1.
This step can be referred to the description of step 201, and is not described herein again.
In step 302, the measurement data of the inertial measurement unit of a time period is segmented to obtain K sets of measurement data sequences each including N measurement data, where K is an integer greater than or equal to N.
This step can be referred to the description of step 202, and is not described here.
In step 303, K sets of measurement data sequences are input to the convolutional neural network model, as well as a position data sequence of the positioning module.
This step can be referred to the description of step 203, and is not described herein.
In step 304, the convolutional neural network model outputs IMU estimation data at time I × N according to the I-th group of measurement data sequences, and calculates trace point calculated positions of the vehicle at time I × N according to the IMU estimation data at time I × N, so as to obtain K trace point calculated data.
This step can be referred to the description of step 204, and is not described herein again.
In step 305, according to the trajectory point estimated position of each time I × N and the position data of the positioning module, a difference between the trajectory point estimated position and the position data of the positioning module is obtained, and a cumulative sum of K differences is obtained.
This step can be referred to the description of step 305, and is not described herein again.
In step 306, judging whether the accumulated sum of the K difference values is smaller than a set first threshold or whether the circulation frequency exceeds a set second threshold; if the cumulative sum of the K differences is greater than or equal to the set first threshold or the number of cycles does not exceed the set second threshold, go to step 307; if the cumulative sum of the K differences is less than the set first threshold or the number of cycles exceeds the set second threshold, step 310 is performed.
In step 307, determining whether the cumulative sum of the K difference values is less than a loss value of the convolutional neural network model; if the cumulative sum of the K difference values is less than the loss value of the convolutional neural network model, go to step 308; if the cumulative sum of the K differences is greater than or equal to the loss value of the convolutional neural network model, step 309 is performed.
In one embodiment, if the cumulative sum of the K difference values is greater than or equal to a set first threshold or the number of cycles does not exceed a set second threshold, it is determined whether the cumulative sum of the K difference values is less than a current loss value of the convolutional neural network model. If the cumulative sum of the K difference values is less than the loss value of the convolutional neural network model, go to step 308; if the cumulative sum of the K differences is greater than or equal to the loss value of the convolutional neural network model, step 309 is performed.
In step 308, the number of cycles L is updated to L +1, the parameter value of the jth convolution kernel is modified according to the set learning rate of the convolution neural network model, and the loss value of the convolution neural network model is updated to the cumulative sum of K difference values, wherein j is the remainder of dividing L by N; step 304 is performed.
In one embodiment, if the cumulative sum LOSS of the K differences is less than the LOSS LOSS of the convolutional neural network modelIncreasing the number of circulation times by 1, updating the number of circulation times L to L +1, and updating the parameter value x of the j (L + 1) th convolution kernel according to the set learning rate learn _ rate of the convolution neural network modeljWhere j = mod (L, N), i.e., j is the remainder of dividing L by N, the new parameter value x of the jth convolution kernel can be solved according to the following formula, for example, but not limited toj', then x is addedjIs modified to xj'。
xj'=xj-(loss-LOSS)/loss*learn_rate
The current LOSS value LOSS of the convolutional neural network model is then updated to the cumulative sum LOSS of the K differences. Returning to the loop execution step 304, the training of the convolutional neural network model after the LOSS value LOSS is updated and the parameter value of the convolutional kernel is modified continues.
In step 309, updating the cycle number L to L +1, and modifying the parameter value of the j-1 th convolution kernel according to the set learning rate of the convolution neural network model; step 304 is performed.
In one embodiment, if the cumulative sum LOSS of the K difference values is greater than or equal to the LOSS value LOSS of the convolutional neural network model, 1 cycle is added, the cycle L is updated to L +1, and the parameter value x of the j-1 (L + 1-1) th convolutional kernel is updated according to the set learning rate learn _ rate of the convolutional neural network modelj-1Where j = mod (L, N), i.e., j is the remainder of dividing L by N, the new parameter value x of the j-1 th convolution kernel can be solved according to the following formula, for example, but not limited toj-1', then x is addedj-1Is modified to xj-1'。
Xj-1'=xj-1-(loss-LOSS)/loss*learn_rate
And then, returning to the step 304 of circular execution, and continuing training the convolutional neural network model after the parameter values of the convolutional kernel are modified.
In one embodiment, if the cumulative sum LOSS of K difference values is less than the LOSS value LOSS of the convolutional neural network model, 1 cycle is added, the current cycle L is updated to L +1, and if the remainder of dividing the cycle L by N is 0, the set learning of the convolutional neural network model can be followedLearning rate learn _ rate modifies parameter value x of Nth convolution kernelNUpdating the current LOSS value LOSS of the convolutional neural network model into the cumulative sum LOSS of K difference values; if the cumulative sum LOSS of the K difference values is larger than or equal to the LOSS value LOSS of the convolutional neural network model, increasing the cycle number for 1 time, updating the current cycle number L to be L +1, and if the remainder of dividing N by the cycle number L is 0, modifying the parameter value x of the (N-1) th convolutional kernel according to the set learning rate leann _ rate of the convolutional neural network modelN-1
For example, setting the number of cycles L =1, obtaining the cumulative sum Loss of K differences for the first time, and determining whether the cumulative sum Loss of K differences is smaller than a set first threshold. And if the cumulative sum Loss of the K difference values is larger than or equal to the set first threshold value, judging whether the cumulative sum Loss of the K difference values is smaller than the Loss value Loss of the convolutional neural network model. If the cumulative sum LOSS of the K difference values is larger than or equal to the LOSS value LOSS of the convolutional neural network model, updating the cycle number L to be L +1=2, and modifying the parameter value x of the 1 (1 + 1-1) th convolutional kernel according to the set learning rate least _ rate of the convolutional neural network model1The parameter value x of the 1 st convolution kernel1Modified as x1'. The new parameter value x of the 1 st convolution kernel can be solved first according to the following formula1Then x is added1Is updated to x1'。
x1'=x1-(loss-LOSS)/loss*learn_rate
And then, returning to the loop execution step 304, continuing to train the convolutional neural network model after the parameter values of the convolutional kernels are modified until the obtained cumulative sum LOSS of the K difference values is less than the LOSS value LOSS of the convolutional neural network model, and modifying the parameter values of the 2 nd convolutional kernel.
If the cumulative sum LOSS of the K difference values is less than the LOSS value LOSS of the convolutional neural network model, updating the cycle number L to be L +1=2, and modifying the parameter value x of the 2 (1 + 1) th convolutional kernel according to the set learning rate least _ rate of the convolutional neural network model2The parameter value x of the 2 nd convolution kernel is set2Modified as x2'. The new parameters of the 2 nd convolution kernel can be solved first according to the following formulaValue x2Then x is added1Is updated to x2'。
x2'=x2-(loss-LOSS)/loss*learn_rate
The current LOSS value LOSS of the convolutional neural network model is then updated to the cumulative sum LOSS of the K differences. Returning to the loop execution step 304, the training of the convolutional neural network model after the LOSS value LOSS is updated and the parameter value of the convolutional kernel is modified continues. If the accumulated sum LOSS of the K difference values is larger than or equal to the LOSS value LOSS of the convolutional neural network model, continuously modifying the parameter value of the 2 nd convolutional kernel; until the accumulated sum LOSS of the K difference values is less than the LOSS value LOSS of the convolutional neural network model, continuously modifying the parameter value of the 3 rd convolutional kernel and updating the LOSS value LOSS of the convolutional neural network model; until the obtained cumulative sum loss of the K difference values is smaller than the set first threshold.
In step 310, convolutional neural network model training is stopped.
In one embodiment, if the cumulative sum of the K difference values is less than a set first threshold or the number of cycles exceeds a set second threshold, the training of the convolutional neural network model is stopped, i.e., the training of the convolutional neural network model is completed.
In this embodiment, after modifying the parameter value of a certain convolution kernel according to the set learning rate of the convolution neural network model, steps 304, 305, 306 and 307 are executed in a loop. And judging whether the accumulated sum of the K difference values is less than a set first threshold value or not. And if the cumulative sum Loss of the K difference values is larger than or equal to the set first threshold value, judging whether the cumulative sum Loss of the K difference values is smaller than the Loss value Loss of the convolutional neural network model. And if the accumulated sum of the K difference values is larger than or equal to the loss value of the convolutional neural network model, continuously modifying the parameter value of a current certain convolution kernel of the convolutional neural network model. Circularly executing the steps 304, 305, 306 and 307 until the obtained cumulative sum of the K difference values is smaller than the loss value of the convolutional neural network model; and if the accumulated sum of the K difference values is smaller than the loss value of the convolutional neural network model, modifying the parameter value of the next convolutional sum of a certain current convolutional kernel of the convolutional neural network model, and then updating the current loss value of the convolutional neural network model. And circularly executing the steps 304, 305, 306, 307, 308 and 309 until the cumulative sum of the K difference values obtained by the circulation is smaller than the set first threshold, and stopping the training of the convolutional neural network model, namely finishing the training of the convolutional neural network model.
In another implementation, the number of training cycles of the convolutional neural network model may be set, and whether the current number of training cycles exceeds a set second threshold may be determined. And if the current cycle number does not exceed the set second threshold, continuing to cyclically utilize K groups of acceleration sequences comprising N accelerations and K groups of angular velocity sequences comprising N angular velocities, cyclically modifying parameter values of convolution kernels of the convolutional neural network model and the current loss value of the convolutional neural network model through the cumulative sum of K difference values obtained by cycling, and training the convolutional neural network model. And stopping the training of the convolutional neural network model when the set cycle number is exceeded, for example, the cycle number exceeds a set second threshold value, namely completing the training of the convolutional neural network model.
As can be understood, when any one of the two conditions that the accumulated sum of the K difference values is less than the set first threshold and the cycle number exceeds the set second threshold is met, stopping the training of the convolutional neural network model; and stopping training the convolutional neural network model when the accumulated sum of the K difference values is smaller than a set first threshold and the cycle number exceeds a set second threshold.
In step 311, a measurement data sequence of the inertial measurement unit is acquired.
In one embodiment, the training of the convolutional neural network model is done with the vehicle RTK positioning module signal available. In the event that the vehicle RTK positioning module signal is unavailable, a measurement data sequence of an inertial measurement unit of the vehicle is acquired by the inertial measurement unit, the measurement data sequence including an acceleration sequence of the vehicle acquired by an accelerometer of the inertial measurement unit and an angular velocity sequence of the vehicle acquired by a gyroscope of the inertial measurement unit.
In step 312, the measurement data sequence of the inertial measurement unit is input into the trained convolutional neural network model, so that the convolutional neural network model outputs IMU estimation data according to at least one set of measurement data sequence.
In one embodiment, the measurement data sequence of the inertial measurement unit of the vehicle is input into the trained convolutional neural network model, so that the convolutional neural network model outputs IMU estimation data for reducing measurement errors according to at least one group of the measurement data sequence. And taking IMU estimation data output by the convolutional neural network model as measurement data output by the inertial measurement unit after calibration to finish the calibration of the inertial measurement unit. Each set of measurement data sequences may include measurement data of 10 inertial measurement units, that is, each set of measurement data sequences includes 10 angular velocity sequences and 10 acceleration sequences.
In one embodiment, the acceleration sequence and the angular velocity sequence of the vehicle are input into the trained convolutional neural network model, so that the convolutional neural network model respectively outputs the estimated acceleration and the estimated angular velocity which reduce the measurement error according to at least one group of acceleration sequences and at least one group of angular velocity sequences. And the estimated acceleration output by the convolutional neural network model is taken as the acceleration output by the inertial measurement unit after the accelerometer calibration, and the estimated angular velocity output by the convolutional neural network model is taken as the angular velocity output by the inertial measurement unit after the gyroscope calibration, so that the calibration of the inertial measurement unit is completed.
According to the inertial measurement unit calibration method based on the convolutional neural network model, a position data sequence of a positioning module in the same time period, K groups of acceleration sequences including N accelerations in the same time period and K groups of angular velocity sequences including N angular velocities are used as training samples of the convolutional neural network model, the convolutional neural network model outputs the acceleration of time I x N according to the I group of acceleration sequences, outputs the angular velocity of time I x N according to the I group of angular velocity sequences, the reliability of the training samples is enhanced, and the error of the training samples is reduced; calculating to obtain a trace point calculation position of the time I X N according to the acceleration of the time I X N output by the convolution neural network model according to the group I acceleration sequence and the angular velocity of the time I X N output by the group I angular velocity sequence; according to the track point calculated position at the moment I X N and the position data at the moment I X N in the same time period, obtaining an I-th difference value of the track point calculated position at the moment I X N and the position data at the moment I X N in the same time period, and thus obtaining the cumulative sum of K difference values; and analyzing the accumulation sum of the K difference values obtained by circulation and the loss value of the convolutional neural network model, updating the loss value of the convolutional neural network model according to the set learning rate of the convolutional neural network model, and sequentially modifying the parameter values of the convolutional kernel of the convolutional neural network model to finish the training of the convolutional neural network model, so that the training precision and the training speed of the convolutional neural network model can be improved.
Further, according to the inertial measurement unit calibration method based on the convolutional neural network model, according to the IMU estimation data output by the convolutional neural network model, the measurement error of the measurement data of the inertial measurement unit can be reduced based on the convolutional neural network model, the calibration of the inertial measurement unit is realized, and the accuracy of positioning and navigation using the measurement data of the inertial measurement unit is ensured.
Example four:
corresponding to the embodiment of the application function implementation method, the application also provides an inertial measurement unit calibration device based on the convolutional neural network model, an electronic device and a corresponding embodiment.
Fig. 4 is a schematic structural diagram of an inertial measurement unit calibration apparatus based on a convolutional neural network model according to an embodiment of the present application.
Referring to fig. 4, an inertial measurement unit calibration apparatus based on a convolutional neural network model includes a raw data acquisition module 401 and an estimated data acquisition module 402.
A raw data acquiring module 401, configured to acquire at least one set of measurement data sequences of the inertial measurement unit.
In one specific implementation mode, the vehicle is provided with an inertia measurement unit and a positioning module. The inertial measurement unit comprises an accelerometer and a gyroscope, and the measurement data sequence of the inertial measurement unit comprises an acceleration sequence of the accelerometer of the inertial measurement unit and an angular velocity sequence of the gyroscope. The raw data acquisition module 401 may obtain a sequence of acceleration of the vehicle through an accelerometer of the inertial measurement unit, and a sequence of angular velocity of the vehicle through a gyroscope of the inertial measurement unit. The positioning module may include, but is not limited to, at least one of a GPS module, a beidou satellite positioning module, an RTK (real time kinematic) positioning module, and the like. The raw data acquisition module 401 may obtain positioning information of the vehicle, which may include, but is not limited to, position information, speed information, and attitude information, using a positioning module. The location information includes, but is not limited to, latitude and longitude coordinate information describing the location, and the attitude information includes, but is not limited to, heading angle information describing the heading.
An estimated data obtaining module 402, configured to obtain IMU estimated data of at least one time corresponding to at least one group of measured data sequences according to the at least one group of measured data sequences obtained by the raw data obtaining module 401 and a pre-trained convolutional neural network model.
In a specific embodiment, the measurement data sequence of the inertial measurement unit of the vehicle is input to the trained convolutional neural network model, and the estimation data obtaining module 402 enables the convolutional neural network model to output IMU estimation data for reducing the measurement error according to at least one group of measurement data sequence, and outputs IMU estimation data through the convolutional neural network model to obtain IMU estimation data for reducing the measurement error. And taking IMU estimation data output by the convolutional neural network model as measurement data output by the inertial measurement unit after calibration to finish the calibration of the inertial measurement unit.
According to the technical scheme provided by the embodiment of the application, the measurement error of the measurement data of the inertia measurement unit can be reduced based on the convolution neural network model according to the IMU estimation data output by the convolution neural network model, the calibration of the inertia measurement unit is realized, and the precision of positioning and navigation by using the measurement data of the inertia measurement unit is ensured.
Fig. 5 is a schematic structural diagram of an inertial measurement unit calibration apparatus based on a convolutional neural network model according to another embodiment of the present application.
Referring to fig. 5, an inertial measurement unit calibration apparatus based on a convolutional neural network model includes an original data acquisition module 401, an estimated data acquisition module 402, an initial module 501, a segmentation module 502, an input module 503, a dead reckoning module 504, an error module 505, a first judgment module 506, a second judgment module 507, an update module 508, and a stop module 509.
An initialization module 501, configured to initialize a convolutional neural network model, includes: the size of a convolution kernel of the convolution neural network model is defined to be N, and a parameter value is set for each convolution kernel, wherein N is an integer larger than 1.
In a specific embodiment, the initialization module 501 initializes the convolutional neural network model, may define a convolutional kernel with a size of N, sequentially sorts the N convolutional kernels, and sets a parameter value for each convolutional kernel in sequence; setting a LOSS value LOSS of the convolutional neural network model; the learning rate learn _ rate of the convolutional neural network model is set. In some embodiments, the initialization module 501 may also define the number of cycles L = 1.
In one embodiment, the initialization module 501 initializes the convolutional neural network model according to the acquisition frequency of the inertial measurement unit to acquire the acceleration and the angular velocity, and includes: and defining the size N of a convolution kernel of the convolution neural network model by submultiples or multiples of the acquisition frequency, and setting a parameter value for each convolution kernel, wherein N is an integer greater than 1.
In one embodiment, the initialization module 501 defines a convolution kernel with a size N for the convolutional neural network model according to the acquisition frequency of the inertial measurement unit, where N is a divisor or multiple of the acquisition frequency. For example, the acquisition frequency of the inertial measurement unit is 100, and the value of N may be a divisor or multiple of 100, such as 2, 4, 5, 10, 20 … … 100, 200, and the like.
A dividing module 502, configured to divide the measurement data of the inertial measurement unit of a time period by using the measurement data of the inertial measurement unit of time (I-1) × N +1 to time I × N as an I-th group of measurement data sequences, to obtain K groups of measurement data sequences each including N measurement data, where K is an integer greater than or equal to N, and I =1, 2, …, K.
In one specific implementation mode, an inertial measurement unit, a positioning module and an on-board intelligent device loaded with a convolutional neural network model are arranged on a vehicle. The inertial measurement unit comprises an accelerometer and a gyroscope, and the measurement data of the inertial measurement unit comprises the acceleration of the accelerometer of the inertial measurement unit and the angular velocity of the gyroscope. The raw data acquisition module 401 may acquire the acceleration of the vehicle through an accelerometer of the inertial measurement unit and the angular velocity of the vehicle through a gyroscope of the inertial measurement unit. The positioning module may include, but is not limited to, at least one of a GPS module, a beidou satellite positioning module, an RTK positioning module, and the like. The raw data acquisition module 401 may obtain positioning information of the vehicle, which may include, but is not limited to, position information, speed information, and attitude information, using a positioning module. The location information includes, but is not limited to, latitude and longitude coordinate information describing the location, and the attitude information includes, but is not limited to, heading angle information describing the heading.
In one embodiment, in the case where the vehicle RTK positioning module signal is available, the raw data acquisition module 401 obtains positioning information of the vehicle for a time period and acquires a position data sequence of the vehicle for the time period based on the positioning information of the vehicle for the time period. When the RTK positioning module acquires a position data sequence of a vehicle in a time period, the raw data acquisition module 401 acquires acceleration of the vehicle in the same time period through an accelerometer of the inertial measurement unit, and acquires angular velocity of the vehicle in the same time period through a gyroscope of the inertial measurement unit.
In one embodiment, the segmentation module 502 takes the accelerations from time (I-1) × N +1 to time I × N as the I-th group of acceleration sequences, and segments the accelerations in the same time period to obtain K groups of acceleration sequences each including N accelerations; the segmentation module 502 takes the angular velocity from the time (I-1) × N +1 to the time I × N as the I-th group of angular velocity sequences, and segments the angular velocity of the same time period to obtain K groups of angular velocity sequences each including N angular velocities.
For example, the segmentation module 502 packs every N accelerations into a group, and takes the accelerations from time 1 to time N as a first group of acceleration sequences, the accelerations from time N +1 to time 2N as a second group of acceleration sequences, and the accelerations from time 2N +1 to time 3N as a third group of acceleration sequences, until K groups of acceleration sequences including N accelerations are obtained. The segmentation module 502 packs each N angular velocities into a group, and takes the angular velocities from time 1 to time N as a first group of angular velocity sequences, the angular velocities from time N +1 to time 2N as a second group of angular velocity sequences, and the angular velocities from time 2N +1 to time 3N as a third group of angular velocity sequences, until K groups of angular velocity sequences including the N angular velocities are obtained.
And an input module 503, configured to input the K sets of measurement data sequences obtained by the segmentation module 502 and the position data sequence of the positioning module into the convolutional neural network model.
In one embodiment, the input module 503 inputs K sets of acceleration sequences each including N accelerations and K sets of angular velocity sequences each including N angular velocities, and the position data sequence of the positioning module to the convolutional neural network model.
And a calculation trajectory module 504, configured to enable the convolutional neural network model to output IMU estimation data of time I × N according to the I-th group of measurement data sequences input by the input module 503, and calculate a calculation position of the trajectory point of time I × N according to the IMU estimation data of time I × N, so as to obtain K calculation positions of the trajectory point.
In one embodiment, the estimated trajectory module 504 obtains K trajectory point estimation data by enabling the convolutional neural network model to output the estimated acceleration at the time I × N according to the I group of acceleration sequences input by the input module 503, output the estimated angular velocity at the time I × N according to the I group of angular velocity sequences input by the input module 503, and estimate the estimated position of the trajectory point of the vehicle at the time I × N according to the estimated acceleration and the estimated angular velocity at the time I × N, where I =1, 2, …, K.
The trajectory calculation module 504 may enable the convolutional neural network model to respectively convolve the first set of acceleration sequences and the first set of angular velocity sequences input by the input module 503, output an angular velocity and an acceleration, use the output acceleration as an estimated acceleration at time N, and use the output angular velocity as an estimated angular velocity at time N; taking the position data of the RTK positioning module at the moment N-1 in the same time period as an initial pose; and calculating the track point estimated position at the time N according to the position data at the time N-1, the estimated acceleration at the time N and the estimated angular velocity at the time N.
The trajectory calculation module 504 may enable the convolutional neural network model to respectively convolve the second set of acceleration sequences and the second set of angular velocity sequences input by the input module 503, output an angular velocity and an acceleration, use the output acceleration as an estimated acceleration at time 2N, and use the output angular velocity as an estimated angular velocity at time 2N; taking the position data of the RTK positioning module at the moment 2N-1 in the same time period as an initial pose; and calculating the track point estimated position at the time 2N according to the position data at the time 2N-1, the estimated acceleration at the time 2N and the estimated angular velocity at the time 2N.
By analogy, the trajectory calculation module 504 may make the convolutional neural network model convolve the I-th group of acceleration sequences and the I-th group of angular velocity sequences input by the input module 503, respectively, output an angular velocity and an acceleration, use the output acceleration as the estimated acceleration at time I × N, and use the output angular velocity as the estimated angular velocity at time I × N; taking the position data of the RTK positioning module at the time I x N-1 in the same time period as an initial pose; calculating the track point calculation position of the time I X N according to the position data of the time I X N-1, the estimated acceleration of the time I X N and the estimated angular velocity of the time I X N, and calculating K track point calculation data.
An error module 505, configured to obtain, according to the estimated position of the trace point at each time I × N obtained by the estimated trajectory module 504 and the position data of the positioning module input by the input module 503, an I-th difference between the estimated position of the trace point at each time I × N and the position data of the positioning module, and obtain a cumulative sum of K differences.
In a specific embodiment, the error module 505 obtains a first difference dp at the time N according to the estimated position of the track point at the time N obtained by the estimated track module 504 and the position data of the positioning module input by the input module 5031(ii) a Calculating the position and positioning module according to the track point at the time 2N obtained by the calculating the track module 504Position data of the block, obtaining a difference dp of 2N at the moment2(ii) a By analogy, according to the trace point estimated position of each time I x N in the same time period obtained by the estimated trace module 504 and the position data of the positioning module, the difference dp between each time I x N is obtainedIWhere I =1, 2, …, K, thereby obtaining K differences. It is understood that the trace point dead reckoning position data at time I x N and the time I x N position data at time I x N of the positioning module are aligned in time. The error module 505 accumulates a first difference dp1The second difference dp2… …, the Kth difference dpkTo obtain the cumulative sum of K differences loss = dp1+dp2+……+dpk
A first determining module 506, configured to determine whether the cumulative sum of the K difference values obtained by the error module 505 is smaller than a set first threshold or whether the number of cycles exceeds a set second threshold.
A second judging module 507, configured to judge whether the cumulative sum of the K difference values is smaller than the loss value of the convolutional neural network model if the first judging module 506 judges that the cumulative sum of the K difference values is greater than or equal to the set first threshold or the number of cycles does not exceed the set second threshold.
An updating module 508, configured to update the cycle number L to L +1 if the second determining module 507 determines that the cumulative sum of the K difference values is smaller than the loss value of the convolutional neural network model, modify a parameter value of a jth convolutional kernel according to a set learning rate of the convolutional neural network model, and update the loss value of the convolutional neural network model to the cumulative sum of the K difference values, where j is a remainder of dividing N by L.
A stopping module 509, configured to stop training of the convolutional neural network model if the first determining module 506 determines that the cumulative sum of the K difference values is smaller than a set first threshold or the number of cycles exceeds a set second threshold.
In one embodiment, if the first determining module 506 determines that the cumulative sum of K difference values obtained by the error module 505 is greater than or equal to the set first threshold or the number of cycles does not exceed the set second threshold, the second determining module 507 determines whether the cumulative sum of K difference values is less than the loss value of the convolutional neural network model. If the second determining module 507 determines that the cumulative sum of the K difference values is smaller than the LOSS value of the convolutional neural network model, the updating module 508 increases the cycle number for 1 time, updates the current cycle number L to L +1, modifies the parameter value of the jth convolutional kernel according to the set learning rate learn _ rate of the convolutional neural network model, where j = mod (L, N), i.e., j is the remainder of dividing L by N, and then updates the LOSS value LOSS of the convolutional neural network model LOSS to the cumulative sum of the K difference values LOSS. And returning to the loop execution calculation trajectory module 504, the error module 505, the first judgment module 506, the second judgment module 507 and the updating module 508, and continuing to train the convolutional neural network model after updating the LOSS value LOSS and modifying the parameter value of the convolutional kernel.
In one embodiment, if the second determining module 507 determines that the cumulative sum LOSS of the K difference values is less than the LOSS of the convolutional neural network model, the updating module 508 increases the number of cycles by 1, updates the current number of cycles L to L +1, and updates the parameter value x of the jth convolutional kernel according to the set learning rate learn _ rate of the convolutional neural network modeljFor example, but not limited to, the new parameter value x of the jth convolution kernel can be solved first according to the following formulaj', then x is addedjIs updated to xj'。
xj'=xj-(loss-LOSS)/loss*learn_rate
The update module 508 then updates the current LOSS value LOSS of the convolutional neural network model to the cumulative sum LOSS of K differences. And returning to the loop execution calculation trajectory module 504, the error module 505, the first judgment module 506, the second judgment module 507 and the updating module 508, and continuing to train the convolutional neural network model after updating the LOSS value LOSS and modifying the parameter value of the convolutional kernel.
In one embodiment, if the first determining module 506 determines that the cumulative sum of the K difference values obtained by the error module 505 is smaller than a set first threshold or the number of cycles exceeds a set second threshold, the stopping module 509 stops the training of the convolutional neural network model, i.e., completes the training of the convolutional neural network model.
The updating module 508 is further configured to update the cycle number L to L +1 if the second determining module 507 determines that the cumulative sum of the K difference values is greater than or equal to the loss value of the convolutional neural network model, and modify a parameter value of the j-1 th convolutional kernel according to the set learning rate of the convolutional neural network model.
In one embodiment, if the second determining module 507 determines that the cumulative sum LOSS of the K difference values is greater than or equal to the LOSS of the convolutional neural network model, the updating module 508 increases the number of cycles by 1, updates the number of cycles L to L +1, and updates the parameter value x of the (j-1) (L + 1-1) th convolutional kernel according to the set learning rate learn _ rate of the convolutional neural network modelj-1Where j = mod (L, N), i.e., j is the remainder of dividing L by N, the new parameter value x of the j-1 th convolution kernel can be solved according to the following formula, for example, but not limited toj-1', then x is addedj-1Is modified to xj-1'。
Xj-1'=xj-1-(loss-LOSS)/loss*learn_rate
And then, returning to the circular execution calculation track module 504, the error module 505, the first judgment module 506, the second judgment module 507 and the updating module 508, and continuing to train the convolutional neural network model after the parameter value of the convolutional kernel is modified.
For example, the initialization module 501 sets the number of cycles L =1, the error module 505 obtains the cumulative sum Loss of the K difference values for the first time, and the first determination module 506 determines whether the cumulative sum Loss of the K difference values is smaller than a set first threshold. If the first determining module 506 determines that the cumulative sum Loss of the K differences is greater than or equal to the set first threshold, the second determining module 507 determines whether the cumulative sum Loss of the K differences is less than the Loss of the convolutional neural network model. If the second determining module 507 determines that the cumulative sum LOSS of the K difference values is greater than or equal to the LOSS value LOSS of the convolutional neural network model, the updating module 508 updates the cycle number L to L +1=2, and modifies the parameter value x of the 1 (1 + 1-1) th convolutional kernel according to the set learning rate learn _ rate of the convolutional neural network model1The parameter value x of the 1 st convolution kernel1Modified as x1'. The update module 508 may solve the 1 st convolution kernel according to the following formulaNew parameter value x of1Then x is added1Is updated to x1'。
x1'=x1-(loss-LOSS)/loss*learn_rate
And then, returning to the circular execution calculation track module 504, the error module 505, the first judgment module 506, the second judgment module 507 and the updating module 508, and continuing to train the convolutional neural network model after the parameter value of the convolutional kernel is modified. If the second determining module 507 determines that the sum LOSS of the obtained K difference values is greater than or equal to the LOSS value LOSS of the convolutional neural network model, the updating module 508 continues to modify the parameter value of the 1 st convolutional kernel; until the second determining module 507 determines that the cumulative sum LOSS of the obtained K difference values is less than the LOSS value LOSS of the convolutional neural network model, the updating module 508 modifies the parameter value of the 2 nd convolutional kernel, and then updates the current LOSS value LOSS of the convolutional neural network model to the cumulative sum LOSS of the K difference values.
If the second determining module 507 determines that the cumulative sum LOSS of the K difference values is less than the LOSS of the convolutional neural network model, the updating module 508 updates the cycle number L to L +1=2, and modifies the parameter value x of the 2 (1 + 1) th convolutional kernel according to the set learning rate learn _ rate of the convolutional neural network model2The parameter value x of the 2 nd convolution kernel is set2Modified as x2'. The update module 508 may first solve the new parameter value x of the 2 nd convolution kernel according to the following formula2Then x is added1Is updated to x2'。
x2'=x2-(loss-LOSS)/loss*learn_rate
The update module 508 then updates the current LOSS value LOSS of the convolutional neural network model to the cumulative sum LOSS of K differences. And returning to the loop execution calculation trajectory module 504, the error module 505, the first judgment module 506, the second judgment module 507 and the updating module 508, and continuing to train the convolutional neural network model after updating the LOSS value LOSS and modifying the parameter value of the convolutional kernel. If the second judgment module 507 judges that the cumulative sum LOSS of the K difference values is greater than or equal to the LOSS value LOSS of the convolutional neural network model, the update module 508 continues to modify the parameter value of the 2 nd convolutional kernel; until the second determining module 507 determines that the cumulative sum LOSS of the K difference values is less than the LOSS value LOSS of the convolutional neural network model, the updating module 508 continues to modify the parameter value of the 3 rd convolutional kernel and update the LOSS value LOSS of the convolutional neural network model. And so on until the first determining module 506 determines that the accumulated sum loss of the obtained K difference values is smaller than the set first threshold.
In this embodiment, after the updating module 508 modifies a parameter value of a certain convolution kernel according to the learning rate of the set convolution neural network model, the calculation trajectory module 504 and the error module 505 are executed circularly to obtain the cumulative sum of K difference values. The first determining module 506 determines whether the cumulative sum Loss of the K difference values is smaller than a set first threshold. If the first determining module 506 determines that the cumulative sum Loss of the K differences is greater than or equal to the set first threshold, the second determining module 507 determines whether the cumulative sum Loss of the K differences is less than the Loss of the convolutional neural network model. If the second determining module 507 determines that the cumulative sum of the K difference values is greater than or equal to the loss value of the convolutional neural network model, the updating module 508 continues to modify the parameter value of a current convolution kernel of the convolutional neural network model. And circularly executing the trajectory calculation module 504 and the error module 505 until the second judgment module 507 judges that the accumulated sum of the obtained K difference values is smaller than the loss value of the convolutional neural network model. If the second determining module 507 determines that the cumulative sum of the K difference values is smaller than the loss value of the convolutional neural network model, the updating module 508 modifies a parameter value of a next convolutional sum of a current convolutional kernel of the convolutional neural network model, and then updates the current loss value of the convolutional neural network model. The trajectory calculation module 504 and the error module 505 are executed circularly until the first judgment module 506 judges that the cumulative sum of K difference values obtained by the circulation is smaller than the set first threshold, and the stop module 509 stops the training of the convolutional neural network model, that is, the training of the convolutional neural network model is completed.
In another implementation, the initialization module 501 may set a training cycle number of the convolutional neural network model, and the first determination module 506 determines whether the current training cycle number exceeds a set second threshold. If the first determining module 506 determines that the current cycle number does not exceed the set second threshold, the calculating trajectory module 504 continues to cyclically utilize K sets of acceleration sequences including N accelerations and K sets of angular velocity sequences including N angular velocities, the error module 505 obtains the cumulative sum of K differences through a cycle, and the updating module 508 cyclically modifies the parameter value of the convolution kernel of the convolutional neural network model and the current loss value of the convolutional neural network model according to the determination result of the second determining module 507 to train the convolutional neural network model. When the first determining module 506 determines that the number of cycles exceeds the set number of cycles, for example, the first determining module 506 determines that the number of cycles exceeds the set second threshold, the stopping module 509 stops the training of the convolutional neural network model, that is, completes the training of the convolutional neural network model.
The raw data acquiring module 401 is further configured to acquire a measurement data sequence of the inertial measurement unit.
In one embodiment, the training of the convolutional neural network model is done with the vehicle RTK positioning module signal available. In the event that the vehicle RTK positioning module signal is unavailable, the raw data acquisition module 401 acquires, by the inertial measurement unit, a measurement data sequence of the inertial measurement unit of the vehicle, the measurement data sequence including an acceleration sequence of the vehicle acquired by an accelerometer of the inertial measurement unit and an angular velocity sequence of the vehicle acquired by a gyroscope of the inertial measurement unit.
The estimation data obtaining module 402 is further configured to input a measurement data sequence of the inertial measurement unit into the trained convolutional neural network model, so that the convolutional neural network model outputs IMU estimation data according to at least one group of the measurement data sequence.
In one embodiment, the estimated data obtaining module 402 inputs the measured data sequence of the inertial measurement unit of the vehicle into the trained convolutional neural network model, so that the convolutional neural network model outputs IMU estimated data with reduced measurement error according to at least one group of the measured data sequence. And taking IMU estimation data output by the convolutional neural network model as measurement data output by the inertial measurement unit after calibration to finish the calibration of the inertial measurement unit. Each set of measurement data sequences may include measurement data of 10 inertial measurement units, that is, each set of measurement data sequences includes 10 angular velocity sequences and 10 acceleration sequences.
In a specific embodiment, the estimated data obtaining module 402 inputs the acceleration sequence and the angular velocity sequence of the vehicle into the trained convolutional neural network model, so that the convolutional neural network model outputs the estimated acceleration and the estimated angular velocity that reduce the measurement error according to the at least one set of acceleration sequence and the at least one set of angular velocity sequence, respectively. And the estimated acceleration output by the convolutional neural network model is taken as the acceleration output by the inertial measurement unit after the accelerometer calibration, and the estimated angular velocity output by the convolutional neural network model is taken as the angular velocity output by the inertial measurement unit after the gyroscope calibration, so that the calibration of the inertial measurement unit is completed.
According to the technical scheme provided by the embodiment of the application, a position data sequence of a positioning module in the same time period, K groups of acceleration sequences including N accelerations in the same time period and K groups of angular velocity sequences including N angular velocities are used as training samples of a convolutional neural network model, the convolutional neural network model outputs the acceleration at the time I x N according to the I group of acceleration sequences, and outputs the angular velocity at the time I x N according to the I group of angular velocity sequences, so that the reliability of the training samples is enhanced, and the errors of the training samples are reduced; calculating to obtain a trace point calculation position of the time I X N according to the acceleration of the time I X N output by the convolution neural network model according to the group I acceleration sequence and the angular velocity of the time I X N output by the group I angular velocity sequence; according to the track point calculated position at the moment I X N and the position data at the moment I X N in the same time period, obtaining an I-th difference value of the track point calculated position at the moment I X N and the position data at the moment I X N in the same time period, and thus obtaining the cumulative sum of K difference values; and analyzing the accumulation sum of the K difference values obtained by circulation and the loss value of the convolutional neural network model, updating the loss value of the convolutional neural network model according to the set learning rate of the convolutional neural network model, and sequentially modifying the parameter values of the convolutional kernel of the convolutional neural network model to finish the training of the convolutional neural network model, so that the training precision and the training speed of the convolutional neural network model can be improved.
Further, according to the technical scheme provided by the embodiment of the application, according to the IMU estimation data output by the convolutional neural network model, the measurement error of the measurement data of the inertial measurement unit can be reduced based on the convolutional neural network model, the calibration of the inertial measurement unit is realized, and the precision of positioning and navigation by using the measurement data of the inertial measurement unit is ensured.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
Fig. 6 is a schematic structural diagram of an electronic device shown in an embodiment of the present application.
Referring to fig. 6, the electronic device 60 includes a memory 601 and a processor 602.
The Processor 602 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 601 may include various types of storage units, such as system memory, Read Only Memory (ROM), and permanent storage. Wherein the ROM may store static data or instructions for the processor 602 or other modules of the computer. The persistent storage device may be a read-write storage device. The persistent storage may be a non-volatile storage device that does not lose stored instructions and data even after the computer is powered off. In some embodiments, the persistent storage device employs a mass storage device (e.g., magnetic or optical disk, flash memory) as the persistent storage device. In other embodiments, the permanent storage may be a removable storage device (e.g., floppy disk, optical drive). The system memory may be a read-write memory device or a volatile read-write memory device, such as a dynamic random access memory. The system memory may store instructions and data that some or all of the processors require at runtime. In addition, the memory 601 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), magnetic and/or optical disks, may also be employed. In some embodiments, memory 601 may include a removable storage device that is readable and/or writable, such as a Compact Disc (CD), a digital versatile disc read only (e.g., DVD-ROM, dual layer DVD-ROM), a Blu-ray disc read only, an ultra-dense disc, a flash memory card (e.g., SD card, min SD card, Micro-SD card, etc.), a magnetic floppy disk, or the like. Computer-readable storage media do not contain carrier waves or transitory electronic signals transmitted by wireless or wired means.
The memory 601 has stored thereon executable code that, when processed by the processor 602, may cause the processor 602 to perform some or all of the methods described above.
Furthermore, the method according to the present application may also be implemented as a computer program or computer program product comprising computer program code instructions for performing some or all of the steps of the above-described method of the present application.
Alternatively, the present application may also be embodied as a non-transitory machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) having stored thereon executable code (or a computer program, or computer instruction code) which, when executed by a processor of an electronic device (or electronic device, server, etc.), causes the processor to perform some or all of the various steps of the above-described methods in accordance with the present application.
Having described embodiments of the present application, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (8)

1. An inertial measurement unit calibration method based on a convolutional neural network model is characterized by comprising the following steps:
initializing a convolutional neural network model, comprising: defining the size of a convolution kernel of a convolution neural network model as N, and setting a parameter value for each convolution kernel, wherein N is an integer greater than 1;
dividing the measurement data of the inertial measurement unit in a time period by taking the measurement data of the inertial measurement unit from time (I-1) × N +1 to time I × N as an I-th group of measurement data sequences to obtain K groups of measurement data sequences each comprising N measurement data, wherein K is an integer greater than or equal to N, and I =1, 2, …, K;
inputting the K groups of measurement data sequences and the position data sequence of the positioning module into a convolutional neural network model;
enabling the convolutional neural network model to output IMU estimation data at the time I X N according to the I group of measurement data sequences respectively, and calculating to obtain track point calculation positions at the time I X N according to the IMU estimation data at the time I X N respectively, so as to obtain K track point calculation positions;
obtaining the I-th difference value of the track point calculated position of each moment I X N and the position data of the positioning module according to the track point calculated position of each moment I X N and the position data of the positioning module, and obtaining the cumulative sum of K difference values;
if the cumulative sum of the K difference values is less than a set first threshold value or the cycle number exceeds a set second threshold value, stopping the training of the convolutional neural network model, namely finishing the training of the convolutional neural network model;
acquiring at least one group of measurement data sequences of an inertial measurement unit;
and acquiring IMU estimation data of at least one moment corresponding to the at least one group of measurement data sequences according to the at least one group of measurement data sequences and the trained convolutional neural network model.
2. The method of claim 1, further comprising:
and if the cumulative sum of the K difference values is greater than or equal to a set first threshold value or the cycle number exceeds a set second threshold value and the cumulative sum of the K difference values is less than the loss value of the convolutional neural network model, updating the cycle number L to be L +1, modifying the parameter value of the jth convolutional kernel according to the set learning rate of the convolutional neural network model, and updating the loss value of the convolutional neural network model to be the cumulative sum of the K difference values, wherein j is the remainder of dividing N by L.
3. The method of claim 2, further comprising:
and if the cumulative sum of the K difference values is larger than or equal to a set first threshold value or the cycle number does not exceed a set second threshold value and the cumulative sum of the K difference values is larger than or equal to the loss value of the convolutional neural network model, updating the cycle number L to be L +1, and modifying the parameter value of the j-1 th convolutional kernel according to the set learning rate of the convolutional neural network model.
4. The method of any one of claims 1 to 3, wherein initializing the convolutional neural network model comprises: defining the size of a convolution kernel of a convolution neural network model to be N, setting a parameter value for each convolution kernel, wherein N is an integer greater than 1, and the method comprises the following steps:
initializing a convolutional neural network model according to the acquisition frequency of the measurement data acquired by the inertial measurement unit, comprising: and defining the size of a convolution kernel of the convolution neural network model as N according to the submultiple or multiple of the acquisition frequency, and setting a parameter value for each convolution kernel, wherein N is an integer greater than 1.
5. An inertia measurement unit calibration device based on a convolutional neural network model is characterized by comprising:
an initialization module for initializing a convolutional neural network model, comprising: defining the size of a convolution kernel of a convolution neural network model as N, and setting a parameter value for each convolution kernel, wherein N is an integer greater than 1;
the dividing module is used for dividing the measurement data of the inertial measurement unit in a time period by taking the measurement data of the inertial measurement unit from time (I-1) × N +1 to time I × N as an I-th group of measurement data sequences to obtain K groups of measurement data sequences each comprising N measurement data, wherein K is an integer greater than or equal to N, and I =1, 2, … and K;
the input module is used for inputting the K groups of measurement data sequences obtained by the segmentation module and the position data sequence of the positioning module into the convolutional neural network model;
the trajectory calculation module is used for enabling the convolutional neural network model to output IMU estimation data of the time I x N according to the I group of measurement data sequences input by the input module respectively, and calculating the trajectory point calculation position of the time I x N according to the IMU estimation data of the time I x N respectively, so that K trajectory point calculation positions are obtained;
the error module is used for obtaining an I-th difference value between the track point calculated position at each moment I X N and the position data of the positioning module according to the track point calculated position at each moment I X N obtained by the track calculation module and the position data of the positioning module input by the input module, and obtaining the cumulative sum of K difference values;
the first judgment module is used for judging whether the accumulated sum of the K difference values obtained by the error module is smaller than a set first threshold or whether the cycle number exceeds a set second threshold;
the second judgment module is used for judging whether the accumulated sum of the K difference values is larger than or equal to a set first threshold value or whether the cycle number does not exceed a set second threshold value or not if the accumulated sum of the K difference values is smaller than a loss value of the convolutional neural network model;
the stopping module is used for stopping the training of the convolutional neural network model if the first judging module judges that the accumulated sum of the K difference values is smaller than a set first threshold value or the cycle number exceeds a set second threshold value, namely finishing the training of the convolutional neural network model;
the raw data acquisition module is used for acquiring at least one group of measurement data sequences of the inertial measurement unit;
and the estimation data acquisition module is used for acquiring IMU estimation data of at least one moment corresponding to at least one group of measurement data sequences according to at least one group of measurement data sequences acquired by the original data acquisition module and the trained convolutional neural network model.
6. The apparatus of claim 5, further comprising:
and the updating module is used for updating the cycle number L to be L +1 if the second judging module judges that the cumulative sum of the K difference values is smaller than the loss value of the convolutional neural network model, modifying the parameter value of the jth convolutional kernel according to the set learning rate of the convolutional neural network model, and updating the loss value of the convolutional neural network model to be the cumulative sum of the K difference values, wherein j is the remainder of dividing N by L.
7. The apparatus of claim 6, wherein:
the updating module is further configured to update the cycle number L to L +1 and modify a parameter value of the j-1 th convolution kernel according to a set learning rate of the convolutional neural network model if the second determining module determines that the cumulative sum of the K difference values is greater than or equal to a loss value of the convolutional neural network model.
8. A non-transitory machine-readable storage medium having executable code stored thereon, which when executed by a processor of an electronic device, causes the processor to perform the method of any one of claims 1-4.
CN202110429227.8A 2021-04-21 2021-04-21 Calibration method and device for inertial measurement unit based on convolutional neural network model Active CN112985463B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110429227.8A CN112985463B (en) 2021-04-21 2021-04-21 Calibration method and device for inertial measurement unit based on convolutional neural network model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110429227.8A CN112985463B (en) 2021-04-21 2021-04-21 Calibration method and device for inertial measurement unit based on convolutional neural network model

Publications (2)

Publication Number Publication Date
CN112985463A CN112985463A (en) 2021-06-18
CN112985463B true CN112985463B (en) 2021-08-03

Family

ID=76341444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110429227.8A Active CN112985463B (en) 2021-04-21 2021-04-21 Calibration method and device for inertial measurement unit based on convolutional neural network model

Country Status (1)

Country Link
CN (1) CN112985463B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113175936B (en) * 2021-06-28 2021-08-31 智道网联科技(北京)有限公司 Vehicle track calculation method and device based on neural network model

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112013891A (en) * 2019-05-28 2020-12-01 罗伯特·博世有限公司 Method for calibrating a multi-sensor system using an artificial neural network
CN112556719A (en) * 2020-11-27 2021-03-26 广东电网有限责任公司肇庆供电局 Visual inertial odometer implementation method based on CNN-EKF
CN112577515A (en) * 2019-09-30 2021-03-30 罗伯特·博世有限公司 Inertial sensor, method for self-calibration of inertial sensor, and computer-readable medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326985A (en) * 2016-08-18 2017-01-11 北京旷视科技有限公司 Neural network training method, neural network training device, data processing method and data processing device
CN106485324A (en) * 2016-10-09 2017-03-08 成都快眼科技有限公司 A kind of convolutional neural networks optimization method
CN106980133A (en) * 2017-01-18 2017-07-25 中国南方电网有限责任公司超高压输电公司广州局 The GPS INS Combinated navigation methods and system for being compensated and being corrected using neural network algorithm
CN110553643B (en) * 2019-09-17 2021-12-21 电子科技大学 Pedestrian self-adaptive zero-speed updating point selection method based on neural network
CN111007455B (en) * 2019-10-16 2024-04-30 张苏 Positioning system and method, database and neural network model training method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112013891A (en) * 2019-05-28 2020-12-01 罗伯特·博世有限公司 Method for calibrating a multi-sensor system using an artificial neural network
CN112577515A (en) * 2019-09-30 2021-03-30 罗伯特·博世有限公司 Inertial sensor, method for self-calibration of inertial sensor, and computer-readable medium
CN112556719A (en) * 2020-11-27 2021-03-26 广东电网有限责任公司肇庆供电局 Visual inertial odometer implementation method based on CNN-EKF

Also Published As

Publication number Publication date
CN112985463A (en) 2021-06-18

Similar Documents

Publication Publication Date Title
CN112985462B (en) Method and device for correcting inertial measurement data based on convolutional neural network model
CN112762933B (en) Vehicle positioning method and device based on neural network model
CN111928869B (en) Vehicle motion track estimation method and device and electronic equipment
CN112197772B (en) Method and related device for determining vehicle movement track
CN112461269B (en) Inertial measurement unit calibration method, device and server
CN112146683B (en) Inertial measurement unit calibration parameter adjusting method and device and electronic equipment
CN111982158B (en) Inertial measurement unit calibration method and device
CN112118537B (en) Method and related device for estimating movement track by using picture
CN112985463B (en) Calibration method and device for inertial measurement unit based on convolutional neural network model
CN115406440A (en) Vehicle positioning correction method and system and electronic equipment
CN113375669B (en) Attitude updating method and device based on neural network model
CN113607176B (en) Combined navigation system track output method and device
CN113252060B (en) Vehicle track calculation method and device based on neural network model
CN113917512B (en) Positioning method and device for automatic driving vehicle, electronic equipment and storage medium
CN113175936B (en) Vehicle track calculation method and device based on neural network model
CN112762932B (en) Trajectory calculation method and device based on neural network model
CN113280813B (en) Inertial measurement data compensation method and device based on neural network model
CN114543800A (en) Processing method and related device for vehicle movement track estimation
CN113375668B (en) Antenna installation angle calibration method and device of satellite navigation system
CN112284421B (en) IMU internal reference adjusting method and related device
CN108120450B (en) Method and device for judging static state
CN113124884B (en) Vehicle positioning method and device based on LSTM neural network model
CN109341684A (en) Combined inertial nevigation equipment
CN113532433B (en) IMU noise calibration method and device
CN113120713A (en) Elevator positioning method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant