The field of navigation of terrestrial vehicles is gaining extreme interest of researchers, various companies and especially in civilian applications. The use of navigation devices has increased significantly in the last few years. This applies to standalone devices as well as applications, found on smart mobile phones. Despite this there are still many differences between different navigation systems. Expensive systems, used for testing by aviation, maritime and automotive industry, are not suitable for civil applications. Their essence is hidden in very powerful sensors and complicated algorithms, powered by high-performance computer systems. Systems for average user, in contrast, depend on many limitations and errors which need to be detected and eliminated with the use of the special navigation algorithms.
The accuracy of position, velocity and orientation of a vehicle depends on many factors. The first problem is the sensor errors, such as nonlinearity of the outputs, temperature variations, offsets, non-orthogonality and noise. These irregularities can partly be detected and eliminated. However, many other external problems, such as natural and artificial obstacles, the loss of the GPS signal or failure of any part of the sensor system, cannot be avoided. Nevertheless, users want a system that is able to deal with those problems as well.
This is why a navigation algorithm is presented in this thesis, aiming to be simple and computationally undemanding, would be able to present all the important navigation data and would be suitable for a wide usage and different applications, with accuracy similar to that of much more expensive systems.
To reach this goal, many compromises were made. This applies to both hardware and software part of the system. Out of many possible solutions for hardware part, the inertial sensor containing accelerometers and gyroscopes was selected. This sensor measures the accelerations and turn rates in three orthogonal directions. It is considered a basic sensor which outputs data continuously. These data are used for calculating the prediction in various versions of the Kalman filter algorithm. In the correction part, the GPS sensor is used, measuring position, velocity and orientation of a vehicle as well as the accuracy of its own data (based on the number of visible satellites). The software part of the developed navigation device consists of an Extended Kalman filter (EKF), which is computationally relatively simple, while providing relatively good outputs. Naturally, other algorithms needed to be added to the basic EKF to take into account the sensor and external constraints.
The first part of the developed algorithm is new initialization, used for initial setup of the system. Average values of the inertial sensor outputs are calculated. For the start of the measurement only one GPS datum is necessary. At the same time the variances of inertial sensors are calculated and are used in further computations.
After that a new way of calculation of travelled distance is presented. It uses modified haversine equation, which is able to determine the shortest ground distance between two points on Earth. Even though the relative distances between two points are extremely small, the method provides very good results.
GPS sensor limitations, mentioned in the beginning, are best shown with GPS outages. These occur because of the small number of visible satellites, caused by natural and artificial obstacles within the path of the vehicle. As these obstacles cannot be completely avoided, a special algorithm needs to be used and should be able to determine the accuracy of the data obtained with GPS sensor. This is why some movement constraints were introduced and applied to position, velocity and orientation between two sampling times. When these constraints are exceeded, GPS data are not used in the correction part of Kalman filter. The constraints are based on physical limitations of movement of the vehicle.
The correction in Kalman filter produces jumps in output data. As the changes of position and velocity of the vehicle are known to be continuous, this is an unwanted behaviour and some filter needs to be applied. A special filter, named smoothing algorithm with forward computation, is presented. It is computationally effective and uses state error vector to calculate outputs.
After that an alignment algorithm is presented. The user is able to mount the navigation device on any metal surface of the vehicle in an arbitrary position. The algorithm then calculates its orientation in the first part of the test using scalar product and adjusts the outputs afterwards. After the alignment the reverse output correction is applied to the data generated before the device alignment. This correction can be applied in positive or negative direction. In the last part of the thesis, the algorithm for the lever-arm correction is presented. Lever-arm effect results from different locations of centre of gravity (COG) of the vehicle and the inertial sensors. This results in inaccurate values of inertial data as well as inaccurate GPS sensor values. While GPS sensor values are often corrected for lever-arm effect in literature, here also the correction of inertial data – accelerations and turn rates – is applied. This is called a direct lever-arm correction. The result is noticeable especially when it comes to high dynamic manoeuvres such as emergency braking and high speed circle driving.
Since the distance between the COG and the navigation device is not always known, an algorithm to calculate this distance was also developed and is presented here. It uses an optimisation of a criterion function and a series of various high dynamic manoeuvres.
All described manoeuvres are a part of developed navigation device and are used when necessary or during a certain stage of the test. The result is a robust and simple device, which is user friendly and is fast in providing accurate results regardless the purpose or the characteristics of use.