1. Introduction
Micro-Electro-Mechanical-Systems (MEMS) Inertial Measurement Units (IMUs) are instrumental in many applications including smartphones, gaming devices, digital cam-eras, automobiles, wearable devices, structural health monitoring, energy exploration, and industrial manufacturing [
1,
2]. In recent years, MEMS IMUs have begun to enter the automotive market for high-precision navigation applications [
3,
4]. Autonomous vehicles rely on various sensors including cameras, ultrasound sensors, Radio Detection And Ranging (RADAR), Light Detection And Ranging (LIDAR), Inertial Navigation System (INS), and signals including radio frequency/cellular signals and satellite signals to sense and perceive their surroundings, safely navigate, and reach their destination [
5,
6,
7,
8]. The IMUs form the core component of an INS, which is a self-contained, dead-reckoning navigation system that attains essential motion parameters including position and velocity through the use of a Six-Degrees-of-Freedom (DoF) IMU comprising of a three-axis accelerometer and a three-axis gyroscope. Here, accelerometers measure linear motion along the x, y, and z axes (axial acceleration), while gyroscopes measure rotation (angular velocity) around these axes [
9,
10,
11].
Global Navigation Satellite System (GNSS), which includes Global Positioning System (GPS), has been the primary means to obtain position and navigation information for most industrial and consumer applications [
12,
13,
14]. The advantages of GNSS include its ability to provide absolute-navigation information, with long-term accuracy, anywhere in the world. However, GNSS requires direct line-of-sight to four or more satellites for continuous operation, and thus leads to frequent GNSS signal blockages in many areas including indoor buildings, dense urban places, multi-level parking structures, and areas with thick tree-coverage [
15,
16]. In most safety critical applications, the INS works in conjunction with a GNSS. Here, the long-term stability of GNSS helps to bound the errors of an INS by using various filtering algorithms [
17] (e.g., Complementary Filter [
18], Extended Kalman Filter (EKF) [
19,
20,
21,
22], and Particle Filter (PF) [
23,
24]).
MEMS inertial sensors are prone to high noise and large uncertainties in their outputs, such as bias, scale factor, nonorthogonalities, drifts, and noise characteristics, etc., thereby limiting their stand-alone applications [
25,
26,
27]. For instance, MEMS gyroscopes are prone to biases, scale factor and misalignment errors, and noises that result in quadratic errors in velocity and cubic errors in the position computations and thus do not allow for extended periods of navigation. These errors build up over time, thereby corrupting the accuracy of the measurements. Here, the deterministic error sources include the bias, scale factor, nonorthogonalities, etc. [
28,
29,
30], which are typically removed by specific calibration procedures after experimentation. Stochastic errors occur due to random variations of bias or scale-factor errors over time and are known as bias or scale-factor drifts. There are other arguments that state that bias-scale-factor drift seems to be stochastic due to the lack of observability to disturbance. Drift may also occur because of inherent sensor noise that interferes with the output signals. These errors are nonsymmetric and cannot be compensated by deterministic models. The basic difference between deterministic and stochastic modeling is that in deterministic modeling a relationship must be established between one or more inputs and one or more outputs, whereas in stochastic modeling, there may not be any direct relationship between the inputs and outputs [
31,
32,
33,
34,
35].
Currently, many academic research groups and companies are working on alternative navigation methods that can provide reliable and accurate aided inertial navigation within GNSS-denied environments, including fusion algorithms to bind the errors of an INS with radio signals, cameras, star-trackers, and Earth’s magnetic field [
36,
37,
38]. Zhang et al. [
39] introduced a dual-model solution for GPS/INS during GPS outages, which integrates with Multiple-Decrease Factor Cubature Kalman filter (MDF-CKF) and Random Forest (RF) that can be used for modeling and compensating the velocity and positioning errors. Compared with traditional Artificial Neural Networks (ANNs), MDF-CKF with Random Forest algorithm dual mode has an overall 34.15% improvement in the position accuracy against conventional CKF. In 2019, Choi et al. [
40] introduced an ANN model to estimate Center of Mass–Center of Pressure (CoM-CoP) inclination angle (IA) based on signals using an inertial sensor which included accelerometer, gyroscope, and magnetometer. Then, CoM-CoP IA was calculated to obtain horizontal distance which investigates gait stability. The team applied an ANN and a Long Short-Term Memory (LSTM) to improve the algorithm of CoM-CoP IA by using 3D motion analysis system.
Many research groups, including our group, have previously described the use of INS error reduction algorithms by using ANNs, such as Support Vector Machines (SVMs) [
40,
41,
42] and deep learning techniques [
41,
43,
44] to improve the performance of IMU by reducing its errors which would greatly improve the overall system accuracy and reduce cost when used as part of a sensor-fusion algorithm. Deep learning is a powerful machine learning technology based on ANNs, and expands traditional neural networks to a large scalable network, with a larger number of neurons and hidden layers. As a result, more complicated data-processing applications can be mapped into deep learning networks.
Many research groups have applied different kinds of deep learning networks to the field of autonomous driving including Convolutional Neural Networks (CNNs), Recurrent Neural Networks (RNNs), and Deep Reinforcement Learning (DRL) [
45]. Varona et al. [
46] used CNN to detect road anomalies by using accelerometers from IMU. The group tested with two window sizes for CNN data sampling: an 85 window size (1.9 s) for automatic pothole detection and a 100 window size (2 s) for road roughness classification. Following the work by Varona et al. [
46], Baldini et al. [
47] applied CNN on the raw data collected directly from the accelerometers. The team proposed time-frequency representation-based inputs for their CNN approach and transformed the accelerometer data into a spectrogram, and then fed the spectral representation to a CNN. By using this approach, the research group achieved the accuracy of up to 97.2% to detect road anomalies.
Other research groups have proposed the use of RNN which is based on feedforward construction that makes use of sequential information from previous moments [
48,
49]. It is generally believed that RNN adds memory into the system solution and is useful in recognition of patterns in sequences of data such as text, genomes, the spoken word, and numerical-time-series data. Wang et al. [
50] proposed a new CNN- and RNN-based Visual Odometry (VO) application to generate tracking trajectories for uncertain situations in a smart driving car.
Several research groups have also proposed LSTM algorithms for sensor error compensation and sensor fusion [
51]. For example, Chen et al. [
52] developed a new deep neural network based on VO by using low-cost IMUs. The team replaced the RNN with the LSTM and trained the combined networks with the raw measurements collected from IMUs. By applying LSTMs, the research group demonstrated that the new network achieved better estimated trajectories for nonperiodic motion in highly dynamic condition. Li et al. [
53] proposed a sensor fusion architecture with IMU and 2D laser scanner by applying both CNNs and LSTMs. This system consisted of three networks: a CNN-based point cloud feature extraction from two laser scans, an LSTM-based IMU sequence registration, and an LSTM-based data fusion.
Besides sensor fusion application, several research groups have explored methods of IMU denoising using LSTM. Jian et al. [
54] proposed an LSTM-based error-modelling methodology to identify the random errors in a gyroscope. The research team configured the LSTM network with five different lengths for input vectors. From the experimental results, the team demonstrated that a single-layer LSTM network can reduce the standard deviation by up to 42.4%, and the attitude errors by up to 52.0%.
Cho et al. [
55] first introduced Gated Recurrent Unit (GRU), which is another variant of RNN, for gyroscope noise suppression. GRUs are similar to LSTM, with fewer components than LSTM. With the benefit of fewer parameters, GRUs have fast training speed and relatively better performance for certain tasks. Jiang et al. [
56] proposed several LSTM and GRU hybrid network architectures and compared denoising performances along with LSTM-only and GRU-only networks. From the demonstrated results, the team achieved up to 72% decrease in attitude errors by using LSTM–GRU hybrid network. The above-described prior works are based on supervised learning, by which the networks are typically trained by labelled datasets to perform classification and regression tasks. By contrast, with the environment of nonprovided labelled data, an unsupervised learning algorithm is needed. Reinforcement learning (RL) is applied to learn the features from collected data through estimations of trial and error [
57,
58,
59]. One recent work has focused on applying deep RL to the field of inertial sensors and autonomous driving. Yang and Kuo [
60] presented a new sensor fusion system with GPS, IMU, and wheel odometry by applying deep RL. The team proposed an unscented Kalman filter (UKF) which is suitable for solving nonlinear conditions. In addition, the team utilized Model Predictive Control (MPC) in the dynamic vehicle control system. The parameters of MPC were produced by the data collected from GPS, IMU, and wheel odometry, which were trained by using deep RL. The developed deep-RL-based MPC framework achieved estimated travel distance error of 0.82% and a root mean square error of 0.227m in the path tracking. It also demonstrated up to 32.64% of error improvement for the distance by using RL-based MPC compared with traditional MPC.
In this work, we describe a methodology of using a deep learning algorithm that is optimized for implementation on size-, weight-, and power- (SWaP) efficient hardware for low-cost and portable systems. Specifically, the developed algorithm has a simple network structure and helps to minimize the errors of IMU signals. Compared with EKF approaches [
19,
20,
21,
22], the proposed system does not need external measuring sources such as GPS or vehicle sensors. EKF approaches require external measuring sources to achieve high accuracy for the processing of IMU signals. Compared with prior PF approaches [
23], we applied the method for both high-grade and low-grade IMUs. Compared with an RF [
39] approach, our work can reduce the errors of IMU signals from both accelerometers and gyroscopes. In the current work, we were able to apply our algorithm with a higher data-sampling rate compared with prior ANN, CNN, or LSTM approaches [
40,
45,
46,
47,
52,
53,
54,
55,
56].
The algorithm can learn from the responses of a particular inertial sensor while subject to inherent noise errors and provide near real-time error correction. We implement a time-division method to divide the IMU data into small step sizes. By using this method, we make the IMU outputs fit the input format of CNN. We set a total of 121 levels of accelerations from accelerometers (operational to ± 3 m/s2) and 91 levels of angular velocities from gyroscopes (operational to ±45°/S) as outputs to train CNN. Raw datasets are collected from various grades of IMUs and several IMUs of the same grade. We configure three data sizes for the input formations of the networks to examine the performances of CNN for various performance grades of IMUs and IMUs of the same type but different manufacturing batches. The primary objective of this methodology is developing algorithms with higher performance and lower complexity that would allow implementation on ultra-low power artificial intelligence microcontrollers such as the Analog Devices MAX78000.