The INS mechanization algorithm and Kalman filtering algorithm have been widely used in integrated navigation systems. In this research, a combination of scene recognition, motion pattern recognition, a simplified INS mechanization algorithm, and an improved Kalman filter algorithm are used to reduce the power consumption of the integrated navigation system. To achieve the goal of adaptively controlling power consumption without significantly reducing the system’s positioning accuracy, a low computational load INS dynamic model and a simplified Kalman filter algorithm are introduced into the GNSS/MEMS-IMU/odometer integrated navigation algorithm.
2.2.1. INS Dynamic Model
Inertial sensors are essential components for positioning, attitude measurement, and orientation. Its accuracy mainly depends on the performance of gyroscopes and accelerometers [
31]. To reduce the system’s power consumption without significantly decreasing the positioning accuracy, a combination of unsimplified and simplified algorithms are used in the MEMS-INS algorithm. When the GNSS signal does not have a fixed solution, the 100 Hz INS mechanization update rate and an unsimplified MEMS-INS algorithm are used to slow down the inertial navigation divergence. When the GNSS signal has a fixed solution, the 10 Hz INS mechanization update rate and a simplified INS algorithm reduce the system’s power consumption.
The unsimplified INS algorithm block diagram is shown in
Figure 2, and the dynamic equation may be expressed as [
22,
32].
where
is the rotation matrix from the body frame (
b-frame, Forward-Right-Down) to the navigation frame (n-frame, North-East-Down);
is the specific force in the
b-frame;
is the angular rate of the earth frame (e-frame) relative to the inertial frame (i-frame) in the n-frame;
is the angular rate of the n-frame relative to the e-frame in the n-frame;
is the velocity in the n-frame;
is the normal gravity in the local position in the n-frame;
is the rotation matrix from the n-frame to the e-frame, which represent the geodetic latitude and longitude;
and
are the ellipsoid height and velocity in the down direction, respectively;
is the angular rate of the
b-frame relative to the i-frame in the
b-frame;
is the angular rate of the n-frame relative to the i-frame in the n-frame;
is skew symmetric matrix.
According to Equation (3), the unsimplified INS speed update can be written as follows:
where
is the velocity increment due to the gravity and Coriolis force and
is the velocity increment due to the specific force, which can be written as follows [
33]:
where
is a 3-dimensional identity matrix. Equation (10),
represents the rotational compensation term and
defines sculling compensation term,
is the angular increment at a time
.
The rotation quaternion from the n-frame to the e-frame contains latitude and longitude information. Thus, the position update is solved by quaternion multiplication.
where
and
are the quaternion for the n-frame and e-frame, respectively. The asterisk in the formula represents the multiplication symbol.
The rotation vector is used for attitude update, and the attitude quaternion update algorithm can be described as
where
is the quaternion for the
b-frame.
In MEMS inertial sensors, gyro bias and acceleration bias are the primary sources of errors, which affect the positioning accuracy. To reduce the computational load and thus the power consumption, the MEMS-INS mechanization algorithm is simplified. The error sources that have little influence on the positioning are ignored, such as coriolis acceleration, rotation correction, rotation sculling correction, and coning correction. The simplified INS algorithm block diagram is shown in
Figure 3. The dynamic equation is defined as
where
is the specific force in the
b-frame,
is the normal gravity in the local position in the
n-frame,
is the transition matrix, and
is the carrier attitude angular rate.
and
can be written as follows:
where
and
represent the radius of curvature in the meridian and the prime vertical radius of curvature, respectively;
is latitude; and
is the angular rate of the b-frame relative to the n-frame in the b-frame.
Formula (15) is the differential equation of Formula (28). For simplification purposes, angular rate can be assumed as a constant in a short sampling interval
; that is, a one-sample algorithm of rotation vector is applied. Since the quaternion algorithm is actually a one-sample algorithm, we can obtain the analytic discrete solution of attitude quaternion given by Formula (15).
where
is a 4-dimensional identity matrix. Substitute Formula (20) into Formula (18),
Sort out the above formula as follows:
where
;
. Introduce variables
Here, taking
,
, substitute them into (22) to obtain the simplified attitude update equation,
Considering the impact caused by the second and third terms on the right-hand side of Equation (10), navigation accuracy may be minimal. Meanwhile, the quaternion algorithm is a one-sample algorithm, which can be used to obtain the analytic discrete solution of attitude quaternion given in Equation (15). Therefore, the simplified INS update algorithm is given by
where
is the compensated angular increment.
2.2.2. Simplification of Kalman Filter and Model
In a standard Kalman filter, the prediction state covariance matrix (P matrix) calculation time accounts for about 70% of the Kalman filtering process [
30]. To decrease the computation load, a simplified Kalman filter algorithm in the integrated navigation is proposed. This section introduces the simplified Kalman filter algorithm model, error state model, GNSS measurement model, odometer measurement model, and NHC measurement model.
In traditional integrated navigation Kalman filters, P matrix prediction and error state updates are performed together, significantly increasing the computation load, which is not suitable for systems with real-time and low power consumption requirements. In our research, the Kalman filter algorithm is improved, and the P matrix prediction is performed together with the measurement update, which dramatically reduces the computation load. The improved algorithm is as follows:
Update:
where
is the error state vector, which can be omitted since it is reset to zero after each feedback and has no predictable meaning;
represents the state transition matrix;
is the error state covariance matrix;
is the system noise covariance matrix;
is the Kalman filter gain matrix which determines the weights of measurement information when error state is updated;
represents the design matrix;
stands for the covariance matrix of measurement noise;
represents the measurement vector. All the subscripts indicate the state change. For example,
means the error state vector from epoch
to epoch
.
The state transition matrix
can be written as follows:
where
,
is a 3-dimensional identity matrix,
is the specific force in the
n-frame;
is the gyro zero-bias correlation time,
is the accelerometer zero bias correlation time.
In Equation (30), the update accuracy of the P matrix mainly depends on the state transition matrix . Taking the P matrix prediction of three adjacent epochs , and in the traditional Kalman filter as an example to derive the update of the P matrix in the improved Kalman filter, the process is as follows:
Epoch
:
where
is the constant spectral density matrix;
is the system noise covariance matrix,
is the sampling interval of the navigation system.
Compared with (36), (38), and (40), it is found that the structures of the three formulas are similar, and the matrix plays a crucial role in each epoch of the P matrix. The second term on the right side of Equation (40) is the current constant spectral density matrix, which is easy to calculate. It is mainly because the latter two terms on the right side of the equal sign are challenging to handle. Therefore, these two terms are expanded and named
and
as follows:
Since the first term of (40) is to multiply the state transition matrix of each epoch, the calculation form is simple, and the operations amount is small. Therefore, for ease of calculation, the last two terms in (40) are constructed into the form of the first term, that is,
and
are approximate, as shown in
and
below:
Since
is very small, the state transition matrix in the above formula can be written as follows:
Substitute (45), (46), (47) into
and
to perform high-order small quantity analysis, as shown below:
Observation (48) and (49) shows that all terms in the two equations are high order small quantities of
. Thus, two equations can be approximated as a zero matrix within an acceptable range. Therefore, the P matrix prediction from
epochs to
epochs can be described as
Similarly, the P matrix prediction is extended to n epochs, namely from
k epochs to
epochs, as follows:
where
To improve the navigation accuracy of low-cost MEMS inertial sensors while reducing the computation tasks, the bias error of the gyroscope and accelerometer and the scale factor of the odometer are augmented into the filter state and estimated online [
34]. Therefore, the error state vector of Kalman filtering can be written as:
where
and
are the position and velocity errors in the n-frame, respectively;
is the attitude error;
is the gyro bias;
is the accelerometer bias;
denotes the odometer scale factor. The first five and the last terms of Equation (53) correspond to a three-dimensional vector and one-dimensional vector, respectively.
The position of the phase center of the GNSS antenna is calculated from the INS navigation results and the measured value of the lever arm as follows [
35]:
where
is the position of the IMU measurement center, and
is the lever arm from the IMU measurement center to the GNSS antenna phase center resolved in the b-frame.
For loosely coupled integration, the measurement vector is expressed as the difference between the position estimated by INS and the position solved by GNSS, and the lever arm effect from the INS center to the GNSS antenna is considered. Hence, the measurement equation based on GNSS position can be expressed as
where
is the rotation matrix from the earth frame (e-frame) to the n-frame;
and
are the estimated position of the GNSS antenna phase center and the measurement position of the GNSS receiver in the e-frame, respectively;
is the estimated position of the IMU measurement center in the e-frame.
The relationship between the vehicle velocity and the IMU velocity can be established by the lever arm, which represents the spatial position relationship between the vehicle and the IMU measurement center, and can be expressed as [
36]
where
is the rotation matrix from b-frame to the vehicle frame (v-frame);
stands for the rotation matrix from the n-frame to the b-frame;
is the velocity of the IMU measurement center;
is the lever arm from the IMU measurement center to the odometer center, which is resolved in the body frame. The estimated velocity at the odometer center is shown as
.
The odometer output velocity measurement is as follows
where
is the one-dimensional velocity measurement in the v-frame and
is the speed output from the odometer. However, the actual velocity measurement can be expressed as [
37]
where
is the odometer velocity measurement noise, which is modeled as Gaussian white noise. Thus, the velocity error measurement equation in the v-frame can be expressed as
where
is the forward estimated velocity at the odometer center.
For land vehicle applications, vehicles carrying a GNSS/MEMS-IMU integrated navigation system can maintain reliable and continuous rigid contact with the road while driving on the road. Thus, the motion of the land vehicle on the road is governed by two non-holonomic constraints because the vehicle does not jump off the road or slide on the road. Therefore, the lateral and vertical velocity of the vehicle are zero, and the measurement in the vehicle frame can be expressed as [
38,
39,
40,
41,
42]
where
and
represent the velocity components of the vehicle in the plane perpendicular to the forward direction (y-axis).
The NHC velocity error measurement equation in the vehicle frame can be expressed as
where
and
are the lateral and vertical estimated velocity at the odometer center, respectively;
and
are the lateral and vertical velocity measurements noise, respectively; the symbol
represents the first and third rows of the three-dimensional vector.
When the vehicle is stationary, the odometer-derived speed
is zero, and in this case, a zero-velocity update can be used to update the INS solution [
43,
44].