1. Introduction
Recently, autonomous navigation technology has been used in various applications, such as agricultural robots, autonomous vehicles, and drones [
1,
2]. Various types of sensors are used to estimate position, for example, wheel encoders, global navigation satellite systems (GNSSs), inertial measurement units, cameras, and light detection and ranging (LiDAR). Among these sensors, wheel encoders and GNSS are the most widely used in autonomous navigation systems. Thus, constructing a precise model for wheel encoders and GNSSs can improve localization accuracy for autonomous vehicles. The models should be designed to consider both systematic and non-systematic errors.
The observation model and observation noise, which are parameters for modeling GNSSs, should consider systematic and non-systematic errors. Conventionally, systematic errors of the GNSS are not considered [
3]; thus, the observation model is set as an identity element. The factors affecting non-systematic errors are ionospheric effects, tropospheric effects, ephemeris error, satellite clock error, multipath effects, and foliage attenuation. The effect of each factor is determined by the environment [
4]. Thus, the observation noise should be set to effectively reflect these non-systematic errors. A typical method for establishing observation noise is to use the uncertainty information provided by sensors, and many studies have employed this information for localization [
5,
6,
7]. However, both the actual positioning error and the error provided by the sensors are highly dependent on the performance of the GNSS sensor. Nevertheless, there are additional methods, such as applying neural networks. Afifi and El-Rabbany [
8] proposed using the International GNSS Service-Multi-GNSS Experiment (IGS-MGEX) network to correct for satellite differential code biases and the orbital and satellite clock errors.
Thrapp, Westbrook, and Subramanian [
9] proposed a method for determining the observation noise using the number of satellites. However, this method does not reflect individual non-systematic errors. Depending on the type of GNSS sensor, the area used, and the environmental conditions, the actual error and observation noise may not match. Wu, Jin, and Xia [
10] proposed a GNSS sensor model that uses GNSS multipath errors, which vary depending on vegetation moisture content or the scatter size (stem or leaf) in a forest environment. Maier and Kleiner [
11] and Taylor, Li, Brunsdon, and Ware [
12] proposed a method for computing the uncertainty of the GNSS sensor, called the multipath effect. This method is based on calculating the uncertainty of the GNSS sensor for only those satellites with a signal path that is not obstructed. Although the method reduces the multipath effect and foliage attenuation, determination of the uncertainties of the remaining elements depends on the performance of the GNSS sensor.
This study proposes using three variables to represent the seven non-systematic errors by categorizing the errors based on their characteristics. Of these three variables, two are determined via preliminary measurements, while the third variable is obtained by mapping according to the actual sensor error. This method can compute the observation noise independent of the performance of the sensor. Additionally, it is possible to construct a practical GNSS sensor model with a precision close to that of the sensors in urban environments. The main contribution of this study is applicable in most cases because it is the existing GNSS sensor that provides the magnitude of the uncertainty. However, in urban environments with many tall buildings, the multipath effect does not provide an accurate measure of the uncertainty. Therefore, this study models the uncertainty size of the GNSS sensor by measuring factors that contribute to its size. There are seven factors that determine the magnitude of the uncertainty of a GNSS sensor. Because it is impossible to measure each of these factors, in this study, the uncertainty of the GNSS sensor is expressed through three variables, and the exact uncertainty is calculated.
2. Integration of Odometry and GNSS
The improved odometry error model considers systematic and non-systematic errors. This section describes the systematic error of the odometry by straight and circular driving, and proposes a covariance matrix for non-systematic error modeling.
2.1. Extended Kalman Filter (EKF)
The EKF allows the estimation of the state of a dynamic system given a sequence of observations and a control input. Observations originating from different sensors are typically combined to obtain a robust estimate of the state. Conventionally, the extended Kalman filter can be expressed as follows:
where
is the state,
is the control vector, and
is the observation at time
. Here,
and
are the transition functions of state and observation,
and
are zero-mean Gaussian noise variables with covariance
and
, and the EKF implements a linearization of
and
around the pose estimation computed in the previous time step
. Please refer to [
13] for a more detailed description.
2.2. The Conventional Odometry Motion Model
The control input model widely used in mobile robots is the odometry motion model. Two types of errors affect the accuracy of this odometry motion model. The first is a systematic error, which is a constant error that can be reduced by calibration. The second is a non-systematic error, where random errors occur, and the error can be reduced through statistical methods. Therefore, in this study, methods for reducing the systematic error and the non-systematic error of the existing odometry motion model are applied to an actual vehicle.
Jung [
14] proposed a method that uses an oval track to accurately calibrate the odometry motion model based on the vehicle structure. For calibration, Jung suggests that the systematic errors comprise two representative variables: the wheelbase and the wheel diameter. Jung showed that the control input model can be effectively calibrated using the two representative variables by driving along the proposed oval track. However, the oval track includes both curved and straight paths. To perform control input model calibration experiments on this type of track, the vehicle must be modified to be controllable, with a very accurate steering angle control. Hence, it is difficult to apply this method to real vehicles.
2.3. Improved Odometry Motion Model for Vehicles
In this study, we propose a method for dividing the oval track into a straight track and a circular track, calculating the wheelbase and the wheel diameter of the vehicle by driving on the two tracks and calibrating the control input model simply. Because only one steering angle should be maintained on each track, control of the steering angle can be simplified, and no control modification is required.
First, the wheel diameter error of the vehicle is calibrated by driving on a straight track. For a vehicle, driving straight is possible if the steering angle is maintained at zero. As indicated in
Figure 1 by the black line, the actual travel distance of each rear wheel is the same as the actual travel distance of the car. However, if the diameters of the rear wheels are different, the measured distance on the odometer differs from the actual travel distance, as indicated in
Figure 1 by the blue dotted line. If the actual travel distance L is known, both wheel diameters can be calibrated using a method from as:
where
is the actual travel distance of the car,
is the actual left or right rear wheel diameter,
is the estimated number of encoder pulses, and
is the number of pulses per revolution of the encoders.
Secondly, the wheelbase error of the vehicle is calibrated by driving along the circular track. If a constant steering angle is maintained, the car can follow a circular path with a radius of
, as shown in
Figure 2, and the vehicle can return to its starting position. In this case, the measured odometry path appears as a blue path with a heading error of
and a radius
. Using the formula for obtaining the heading angle from the encoder measurement pulse, the vehicle wheel track,
, can be obtained, as shown in the following Equation (4):
where
and
are the wheelbase after and before calibration, respectively.
Finally, we model the process noise of the vehicle odometry. Assuming the movements of both rear wheels are independent of each other, and the variance of the error is proportional to the travel distance, the non-systematic error covariance of the odometry can be set as follows [
15]:
where
is the non-systematic error covariance of the odometry,
and
are the motion increments of the right and left wheels, and
and
are the non-systematic parameters of the travel distance of the right and left wheels, respectively. To calculate
, we measure
and
using the wheel encoder and set
and
. We propose a method for determining
and
values using a straight track and circular track. First, the systematic error is removed using the control input model calibration, and the standard deviation of each wheel is calculated with a repetition of each straight and circular track. For localization stability, we use
and
as the larger values of standard deviation calculated from the straight and circular tracks. Using
and
, we can calculate
as the non-systematic error covariance and set the process noise. In actual vehicles, the movement of both wheels is independent due to the differential gear, therefore, it is applied to the extended Kalman filter through the equation used in the motion model for the two-wheeled robot. The detailed equation of the motion model is as follows [
15].
where
represents the position at time
and is calculated as in Equation (6). Here,
is the covariance of the motion model at time
and is calculated as shown in Equation (7) using the propagation of the error.
Therefore, using the proposed straight and circular tracks, it is possible to set the control input model and process noise of the odometry using the encoder installed in the actual car, and consequently, the odometry motion model can be constructed practically.
3. Improved GNSS Sensor Model
The GNSS sensor model is the portion of Equation (2). The observation noise should be specified. To match the observation noise to the actual operating characteristics of the GNSS sensor, non-systematic errors should be considered without using the uncertainty information provided by the sensor.
The factors affecting the non-systematic errors of the GNSS sensor are the delusion of precision (DOP) and ranging errors [
4]. Ranging errors can be further classified into receiver noise, ionospheric effects, atmospheric effects, ephemeris errors, satellite clock errors, multipath effects, and foliage attenuation. The uncertainty of the GNSS sensor is calculated as follows [
4]:
where
represents the uncertainty of the GNSS sensor;
,
,
,
,
,
, and
represent the magnitudes of uncertainty due to ionosphere influences, atmospheric effects, ephemeris errors, satellite clock errors, receiver error, multipath effects, and foliage attenuation, respectively. The DOP is not related to the position estimation performance of the GNSS sensor because it is determined by the geometrical arrangement of the satellite. Therefore, the DOP received by the GNSS sensor is not significantly different from the actual DOP. In contrast, the seven error factors included in the ranging errors are directly related to the position estimation performance of the GNSS sensor. Thus, if the uncertainty of each factor can be accurately measured, the observation noise can be accurately calculated based on the characteristics of the GNSS sensor. However, measuring the uncertainty of the seven error factors is impractical with regard to system construction cost and efficiency.
Therefore, we propose a method for constructing the GNSS sensor model by expressing the seven error factors as three representative variables and setting the observation noise by calculating the value of each representative variable through three experiments.
We represent the seven error factors with three representative variables based on the characteristics of each error: receiver error (RE), atmospheric effect and satellite-oriented error (ASE), and local characteristic error (LCE). The relationship between each representative variable and the error factors is as follows:
The RE depends on uncertainty due to receiver noise. ASE depends on ionospheric influence, atmospheric effect, ephemeris error, and uncertainty due to satellite clock error. These four error factors are characterized by the magnitude of the uncertainty, which can be determined using the calibration model used in the measurement of the GNSS sensor. Notably, the real-time kinematic (RTK) reduces the ASE to a negligible value [
5]. Therefore, in this study, the square root of the sum of squares of these four errors is expressed as 𝐴𝑆𝐸 (model), based on the type of calibration model. Finally, the LCE represents the sum of uncertainties due to multipath effects and foliage attenuation. Because these two error factors are heavily influenced by the measurement environment, modeling is difficult. Therefore, in this study, the 𝐿𝐶𝐸 (𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛) is constructed by mapping the sum of the uncertainties from the two factors based on the measurement location and creating a local characteristic error map. Equations (9)–(11) are combined with Equation (12) when defining the relationship between the uncertainty of the GNSS sensor and the three representative variables.
The experimental method for measuring each variable is as follows: First, the RE is calculated from measurements in an environment where the ASE and LCE are assumed to be zero. When the RTK solution is used as a calibration model, the ASE is assumed to be 0 [
16]. The LCE is assumed to be 0 if the measurement environment is the roof of a building or an open space where multipath effect and foliage attenuation do not occur. Then,
is calculated from the measurement from the fixed GNSS sensor at a certain time. The DOP uses the value provided by the sensor. We calculate the RE value using Equation (9). Second, we measure the ASE value in an environment where the LCE value is assumed to be 0. Here,
and the DOP are measured from a fixed position relative to the GNSS sensor, as in the previous experiment. The ASE is calculated via Equation (12) using the measured
and DOP and the pre-calculated RE value obtained using calibration models. Third, the LCE values are measured using the pre-computed RE and ASE values in an environment where the GNSS sensor model is to be applied. The variable LCE is calculated through repeated driving, and the calculated LCE value is stored by dividing the area by a certain distance. Details are given in
Section 4.3.3. The
value is calculated by repeatedly measuring the same environment. By using the measured DOP and pre-calculated RE and ASE values, the local characteristic error map is generated using the LCE values measured for each region via Equation (12). The measured GNSS sensor data is presented in Cartesian coordinates using the WGS84 method. The detailed equation of the GNSS sensor model is as follows.
where the
calculated by substituting ASE, LCE, and RE variables into Equation (12) is used to update the position.
The advantage of this method is that it reduces the number of experiments needed to construct a GNSS sensor model. Furthermore, the uncertainty of the position measurement can be calculated without using the uncertainty provided by the GNSS sensor. Thus, the GNSS sensor model can be accurately constructed.