Keywords

1 Introduction

In this paper, the integration of different sensors for the positioning of moving vehicles is presented. Most available positioning solutions use freely available services from Global Navigation Satellite Systems (GNSS). Due to the satellite signals being shadowed or reflected when a vehicle passes through urban canyons or tunnels, its position is falsified or in the worst case cannot be determined at all. A more accurate and reliable position is required for modern mobility concepts like pedelec sharing systems with a free-floating pedelec fleet. If the sharing system shall work with free-floating pedelecs, the positions of the pedelecs have to be stored in the backend of the system when the customer ends the rent. This position is shown to possible following users and staff. Therefore, a minimum position accuracy that enables the finding of the pedelec is required, but not guaranteed by GNSS solutions under certain conditions often occurring in urban environments. The research presents a low-cost system for the enhancement of vehicle positioning by integrating a number of additional low-cost sensors to generate a trajectory that the vehicle has passed through from the moment on when the GNSS position quality is questionable. A focus is set on the accuracy of the accelerometer. The data of this sensor is used to calculate distances in periods of lack of GNSS signals. Due to the double integration of the acceleration, this data accuracy is crucial for the position determination. In order to compensate GNSS limitations in urban environments, dead reckoning (DR) methods based on an on-board multi-sensor system are used in this investigation. The aim of the developed system is to reach an accuracy of 10–15 m for the position, also on sections of the trajectory, where GNSS is not available or strongly falsified. This accuracy of 10–15 m is considered sufficient for users and technical staff of a pedelec sharing system to find the pedelecs.

IMU have been integrated in different multi-sensor platforms for different purposes. However, the drift of IMU sensors results in significant accumulated errors for long-term position and orientation measurement. Different approaches to handle these errors have been presented in many researches. Zhao and Wang (2012) used magnetometers and ultrasonic sensors and integrated these data with the inertial sensor data in a Kalman filter for motion measurement of smaller objects in an indoor environment. Another research for indoor navigation where a Kalman filter was used for the fusion of data of a high-sensitivity GPS receiver, WLAN-based positioning, accelerometer data and a digital compass was presented by Bhuiyan et al. (2012). Kalman filtering is not the only possible way to integrate data of different types of sensors. El-Sheimy, Chiang and Noureldin (2006), Kakinuma and Hashimoto (2012) and Atia, Donnely, Noureldin and Korenberg (2014) published their researches about navigation using neural networks, SLAM algorithms and landmark detection or particle filters for the integration of multiple sensors into a navigation system.

2 Materials and Methods

Dead reckoning as a navigation method can substitute GNSS positioning for a limited period of time. General principles of dead reckoning can be found in Groves (2007) and Grewal, Andrews and Bartone (2020). The main drawback of this method is that displacement, heading and attitude are subject to cumulative errors over time. The total deviations depend on sensor’s accuracy, data quantization errors and temporal frequency of the input data (Groves, 2007, pp. 217–249). Time synchronization of the data of the different sensors is also an issue that has influence on the position accuracy (Ding, Wang, Li, Mumford, & Rizos, 2008).

The multi-sensor platform used in this research consists of a board with a microcontroller on which the following sensors were soldered: As a reference, an Xsens MTi-G-700 with an integrated GNSS antenna was used. As a low-cost system, the sensor unit SMI130 from Bosch was used combined with a GNSS receiver NEO-M8 (u-blox). The sensors were integrated into the telecommunication unit (TCU) that is placed on the cockpit of the pedelec. A Kalman filter (KF) is applied to integrate the data from the sensors and to optimize the results statistically minimizing derived errors. The theoretical background of the sensor integration using a KF can be found in Grewal and Andrews (2001), Grewal, Weill and Andrews (2007) and Groves (2007). The MATLAB toolbox NaveGo (Gonzales, Giribet, & Patiño, An approach to benchmarking of loosely coupled low-cost navigation systems, 2015a) (Gonzales, Giribet, & Patiño, NaveGo: a simulation framework for low-cost integrated navigation systems, 2015b) was used to integrate the data of the different sensors in a loosely coupled system using an extended Kalman filter. The MATLAB toolbox NaveGo allows to analyse the quality of a low-cost IMU using the Allan variance, to process the sensor data in a strapdown algorithm and to integrate them with GNSS measurements. Furthermore, the toolbox allows to simulate errors in the sensor data. The MATLAB scripts are available as open source over the platform GitHub (Gonzales, Giribet, & Patiño, NaveGo: a simulation framework for low-cost integrated navigation systems, 2015b).

The general workflow presented in Fig. 5.1 was followed to obtain the results presented in the subsequent section:

Fig. 5.1
figure 1

Methodology and general workflow

The global coordinate system into which the data of each sensor have to be transformed is the UTM coordinate system. Deeper information about coordinate systems and transformations especially for navigation purposes can be found in Grewal, Weill and Andrews (2007); Grewal, Andrews and Bartone (2020); and Yang, Snyder and Tobler (1999). Diebel (2006) describes the necessary concepts to understand the mathematical principles involved in the definition of the orientation of a rigid body in a three-dimensional space by means of Euler angles and cosine orientation matrix. For the theoretical background of the projection of the three-dimensional coordinates to plane UTM coordinates, please refer to Snyder (1987).

3 Sensor Tests

In this chapter, some sensor tests that were performed will be described to show the error behaviour of the sensors.

3.1 The Influence of Temperature

To investigate the behaviour of the gyroscope under changing temperature, Vallejo Orti (2015) used a similar sensor setup and performed several experiments introducing the gyroscope in a temperature-controlled space and recording the measurements of the gyroscope for this theoretical zero rate angle status (the device remained totally motionless). The output data derived from these experiments can be used to create a statistical adjustment based on least squares method (Teunissen, 2003). The best fit to the determined offset curve is a fifth-order polynomial function. Adjustment result and measured zero rate curves for the yaw angle are shown in Fig. 5.2.

Fig. 5.2
figure 2

Experimental results for Temperature-Offset calibration (black) and corresponding adjusted curve (red) for Yaw angular velocity (𝝎𝛹) (Vallejo, 2015)

3.2 Variation of the Total Acceleration in Relation to the Inclination of the Sensor

Several series of measurements under different inclinations were taken. The following figure shows how the total gravitation as the square root of the sum of the squares of the acceleration measured on each of the three axes of the accelerometer changes with the inclination (Rossknecht, 2019). The results are shown in the Fig. 5.3.

Fig. 5.3
figure 3

Total acceleration in relation to the roll angle of the sensor unit (Rossknecht, 2019)

4 Sensor Calibration and Alignment

As the inertial measurement unit with its accelerometer and gyroscope has its own coordinate system, the three axes of the accelerometer as well as the gyroscope must be aligned to the axes of the navigation coordinate system. The data of the gyroscope can be falsified by the drift as described in Sect. 5.3.1. This drift can be determined each time when the sensor is without motion. In this situation, the angle velocities measured by the sensor correspond to the drift. So the measurements can be easily corrected. For longer periods of the sensor in motion, a predefined calibration curve as described above can be helpful to improve the data.

The accelerometer always measures the earth acceleration that is approximately 9.81 m/s2 in direction of the force of gravity. This can be used to align the z-axes of the accelerometer to the direction of gravity when the sensor is without motion. For further processing of the data in the Kalman filter, the earth acceleration must be eliminated in order to use only accelerations that cause a movement of the vehicle. The raw data of the accelerometer can include a bias and a scale factor that cause errors in the data. In Grewal, Weill and Andrews (2007), a method is proposed to determine this bias and scale. For the sensor data used in this research, the following results were obtained:

The following figure shows that the calibration data is not stable over time. For the data shown in this figure, the sensor remained without motion for a certain time, then was accelerated in direction of the x-axes of the sensor and then remained without motion again. In the upper graphics of the figure, one can see that in the initial motionless period, the acceleration values that were corrected with the calibration data shown in Table 5.1 correspond to the expected value of zero in the motionless state. After the acceleration, when sensor was without motion again, the bias changed that leads to acceleration values slightly below zero. In the lower graphics of the Fig. 5.4, the effect on the velocity calculation is shown. The sensor does not move, but the continuously slightly negative values of the acceleration lead to an increasing absolute value of the velocity that results in a fast-growing error of the position calculation.

Table 5.1 Results of the accelerometer calibration
Fig. 5.4
figure 4

Instability of calibration data

In a former work at the HFT Stuttgart (Vallejo Orti, 2015), this problem was already encountered but not further investigated. In that work, the sensor was placed into a car, where the wheel ticks sensor was used to precisely determine a driven distance. The driving direction was derived from the data of the gyroscope, and the accelerometer data did not contribute anymore to the calculation of the position. In the current research with pedelecs, there is also wheel ticks sensor that could be used, but with a single wheel tick per wheel rotation, it is much less accurate and reliable than for a car, where on each wheel, 42 wheel ticks for a complete wheel rotation are detected.

5 Kalman Filter

The Kaman filter is widely used for the integration of GNSS data with inertial and other sensors (Grewal, Andrews, & Bartone, 2020). The main idea of the Kalman filter is to describe a system in motion with its kinematic equations that allows a prediction of the system state that can then be compared to measurements related to the position during the movement. That way a position can be recursively determined out of a system description and a stream of measurements. The system parameters are adjusted permanently based on an assumption for the noise of the system process on one hand and a covariance matrix for the accuracy description of the measured observations on the other hand.

The state x of a system for any point k in time can be described with the following state equations:

$$ {x}_{k+1}={\Phi}_k{x}_k+{w}_{k.} $$

with the state transition matrix Φk and the system noise wk (Grewal et al., 2020).

With the help of the corresponding measurement model,

$$ {z}_k={H}_k{x}_k+{v}_k $$

The measurements are linked to the system state with the matrix Hk describing the relation between the measurements and the state parameters. In vk, the noise of the measurements is modelled. The system noise as well as the measurement noise is assumed as unbiased, normal distributed white noise. With the covariance matrices Qk and Rk, it applies:

$$ {w}_k\sim N\left(0,{Q}_k\right)\kern1.75em resp.\kern1.25em {v}_k\sim N\left(0,{R}_k\right) $$

The Kalman equations consist of a prediction of a system state and its corresponding covariance matrix at time k based on the previous system state at time k-1 (predictor) and a measurement update (corrector).

Time update (predictor):

$$ {x}_{k\left(-\right)}={\Phi}_k{\hat{x}}_{k-1\left(+\right)} $$
$$ {P}_{k\left(-\right)}={\Phi}_k{P}_{k-1\left(+\right)}{\Phi}_k^T+{Q}_k $$

Measurement update (corrector):

$$ {K}_{k=}{P}_{k\left(-\right)}{H}_k^T{\left({H}_k{P}_{k\left(-\right)}{H}_k^T+{R}_k\right)}^{-1} $$
$$ {\hat{x}}_{k\left(+\right)}={\hat{x}}_{k\left(-\right)}+{K}_K\left({z}_k-{H}_k{\hat{x}}_{k\left(-\right)}\right) $$
$$ {P}_{k\left(+\right)}={P}_{k\left(-\right)}-{K}_k{H}_k{P}_{k\left(-\right)} $$

Here Kk is the Kalman gain matrix. It can be interpreted as a weight matrix applied to the difference between the kth measurement zk and the expected measurement \( {H}_k{\hat{x}}_{k\left(-\right)} \) based on the a priori estimate \( {\hat{x}}_{k\left(-\right)} \).

\( {\hat{x}}_{k\left(-\right)} \) and Pk(−) are the a priori values for the state vector and its covariance matrix before the information in the measurements is used. \( {\hat{x}}_{k\left(+\right)} \) and Pk(+) are the corresponding a posteriori values after the measurements have been used.

6 Findings and Results

During several driving tests (Rossknecht, 2019), data with the previously described sensors were collected and processed using the NaveGo fusion algorithm ((Gonzales, Giribet, & Patiño, An approach to benchmarking of loosely coupled low-cost navigation systems, 2015a), (Gonzales, Giribet, & Patiño, NaveGo: a simulation framework for low-cost integrated navigation systems, 2015b)). This algorithm realizes a sensor integration in a loosely coupled system. The navigation solutions of the INS calculated in a strapdown inertial navigation system (SINS) and the GNSS positions are integrated in an extended Kalman filter (EKF). The following Fig. 5.5 shows how SINS, GNSS and EKF work together.

Fig. 5.5
figure 5

Diagram of SINS, GNSS and EKF integration (Gonzales, Giribet, & Patiño, NaveGo: a simulation framework for low-cost integrated navigation systems, 2015b)

The calculated navigation solution was exported to a KML file to be visualized in Google Earth. The navigation solution of the low-cost sensors carried by the TCU of the pedelec can thus be compared to the navigation solution provided by the sensor unit of Xsens MTi-G-700.

It can be seen that in open area where GNSS signals are not significantly delimited, the two algorithms produce mainly the same results. In regions where GNSS data reception is critical, differences become visible. In the upper left part of the image, it can be seen that the NaveGo solution deviates from the street where the real trajectory led through. In underground passages (lower right part of the image), differences between the two algorithms can be observed as well. In this test, the Xsens fusion algorithm (that is not published by Xsens) in combination with the Xsens sensor data produces a better navigation solution than the low-cost sensors combined with the NaveGo algorithm (Rossknecht, 2019).

The main goal of the research was to improve the positions that can be obtained with a GNSS antenna in situations when GNSS signals are disturbed or not available at all. To test GNSS reception failure, the pedelec was driven into an underground car park. Both the GNSS antenna of the TCU and the GNSS of the Xsens MTi-G-700 still delivered data after entering the underground car park. The GNSS signals in this case can reach the antenna only through being reflected and thus inevitably produce erroneous positions. Due to the high weight that is applied to the GNSS data in both algorithms, the GNSS data dominates in the calculation of the position that can be seen in the Fig. 5.6.

Fig. 5.6
figure 6

Comparison of the solutions of the sensor fusion using the Xsens algorithm (orange) and the NaveGo algorithm (green) (Rossknecht, 2019)

The yellow line is the reference trajectory where the pedelec has been driven. The left image shows the solution of the low-cost sensor data processed in the NaveGo algorithm. The image in the middle shows the solution of the MTi-G-700 data processed with the NaveGo algorithm, while the image to the right shows the trajectory produced by the Xsens algorithm using the MTi-G-700 data. It can be seen that the solutions differ from each other but no solution succeeded in approximating the real trajectory (Rossknecht, 2019) (Fig. 5.7).

Fig. 5.7
figure 7

Comparison of the sensor fusion solutions (Rossknecht, 2019) (Underlying map: Google 2018)

The next test shows the result of a simulated outage of GNSS signals for a certain period of time (Fig. 5.8).

Fig. 5.8
figure 8

Simulated GNSS outage for 20 s (Rossknecht, 2019)

The yellow line represents the reference trajectory that was followed with the pedelec. The blue dots are GNSS positions. In the centre of the image, this line of GNSS positions is interrupted, and the algorithm uses only INS data to calculate positions. The red line represents the trajectory as calculated by the NaveGo algorithm through integration of all available sensor data. It can be seen that during the GNSS outage, the positions drift away from the reference trajectory until GNSS signal is back again after 20 s and the calculated positions snap back more close to the reference trajectory.

This result is not satisfactory for a significant improvement of positioning of pedelec for a sharing system using an additional inertial measurement unit. The reason of the fast drift away from the reference trajectory can be mainly found in the lack of calibration of the accelerometer as described at the beginning of this article. Further research is needed to improve the sensor data by finding ways to calibrate the accelerometer on the fly.

7 Necessity for Further Research

As mentioned above, the result of the use of a low-cost IMU integrated with a GNSS is not satisfactory according to the needs of a pedelec sharing system with free-floating pedelecs.

In Sect. 5.3, some error sources in the IMU data already have been described. Some tests laid open that the data as measured by the IMU lead to fast increasing position errors that make the calculated positions unusable after a short period of time.

Different approaches can be followed to improve the determination of the positions. One possible way of improvement could be to introduce a bias and a scale for the accelerometer into the Kalman filter state vector as unknown parameters and thus estimate these calibration parameters on the fly by the algorithm in time periods when GNSS signals are available.

Another approach is to determine calibration parameters for the accelerometer and the gyroscope in advance based on certain measurements that can be done in a laboratory. Under laboratory conditions, precise calibration parameters can be determined. But as mentioned in Sect. 5.3, the calibration parameters are not stable over time. So methods for recalibration on the fly should be investigated. Such a recalculation of calibration parameters can be done when the sensor is without motion. In such a situation, e.g. the bias of the gyroscope is simply the values of the angle rates that are measured for the three rotation axes. For the accelerometer, it is more complicated due to the fact that earth acceleration is always measured and has to be extracted from the data. If the z-axis of the accelerometer is not aligned to the direction of gravity force, the earth acceleration influences the measurements on all three axes of the accelerometer. This makes the calculation more complex but not impossible. The main issue is the detection of motionless time periods. In a car, this can be done easily using the wheel ticks sensor. On a pedelec, it will be more difficult to reliably detect a motionless time period. Even if there is no forward motion, e.g. during a stop due to a red signal, the pedelec may be inclined to the left and right. A stopping pedelec is due to the two wheels only much less stable than a car. So, in this field, further research is needed to improve the positioning of pedelecs.

A different approach to improve the position is to use the information of a digital map. In this approach, the form of the driven trajectory is used to match this form with possible trajectories on a map. A promising work about a map matching algorithm has been developed by Fill (2015). Further information about map matching can be found in Alt, Efrat, Rote and Wenk (2003) and Quddus, Ochieng and Noland (2007).