IMU/GNSS integration for precise positioning: algorithm implementation and simulation
Document typeBachelor thesis
Rights accessOpen Access
The Centre Tecnològic de Telecomunicacions de Catalunya (CTTC), is developing a part of a project from the European program H2020 which consists in increase the safety, sustainability, flexibility and efficiency of road transport in a city (its acronym is TIMON). The CTTC contribution is a new positioning module that uses inertial measurement units (IMUs), which bases their performance in the gyroscopes and accelerometers measurement fusion, with a global navigation satellite system (GNSS) assistance to provide a reliable navigation solution to the vehicles drivers. The goal of this project is to improve the performance of the positioning module by adding a three-axis magnetometer to the measurement set used by the positioning algorithm. This device measures the magnetic field components with a given position and using the measurements is possible to estimate their orientation with respect to the magnetic north, which is very useful for the vehicle's heading estimation. The gyroscope measures the angular rate, thus, it gives information about the change of orientation, but does not provide an absolute orientation and it is affected by bias and scale errors among other imperfections. To improve the heading estimation, in this work, the gyroscope and magnetometer data is fused by Bayesian filtering using Kalman filter. This project also includes the exploration of magnetometer calibration's techniques and algorithms to compensate the distortions in the measurements due to the ferromagnetic and magnetic fields near the device, or by the device fabrication imperfections. The main goals of this project are: create a realistic simulator of the magnetometer measurements to implement a calibration algorithm and check its performance. In second place, implement a data fusion algorithm using a Kalman filter to integrate the gyroscope and magnetometer data to estimate the vehicle's heading, and to improve the performance achieved by the original algorithm, obtaining a more accurate navigation solution. The results of this project had been partially published in the 4.3 deliverable of TIMON's project. This project is divided in six chapters. The first chapter provides an introduction to the TIMON project, the organizations involved on it, the impact that will have, the work developed in the CTTC and the goals of this project. Next chapter introduces the inertial navigation system (INS), the inertial sensors characteristics of the simulator, the different coordinate systems used along the project, the transformations and rotations between frames. The third chapter introduces the global navigation satellite system (GNSS) and the advantages of integrating INS and GNSS. The fourth introduces the Earth's magnetic field and the magnetometer, explaining how is calculated the magnetic heading and the distortions and noise that must be added in order to make realistic the simulator. This chapter gives details about the construction of the magnetic simulator and its calibration. Chapter five provides information about the Kalman filter, beginning with a brief introduction and deepening on the equations that form the algorithm. Besides, it details the algorithm's application to obtain the magnetic heading and to fuse the magnetometer and gyroscope data. Finally, in chapter six are the conclusions extracted by the obtained results. The programming language used in the project to implement the simulator and the algorithms is Matlab. In the Annex the code is attached, and also the simulations and graphics that show the results of the heading estimation with the Kalman filter and the heading estimation when the magnetometer and gyroscope data are fused.