Next Article in Journal
Inhibitors of Battery Electric Vehicle Adoption in Morocco
Next Article in Special Issue
Obstacle Avoidance Trajectory Planning for Autonomous Vehicles on Urban Roads Based on Gaussian Pseudo-Spectral Method
Previous Article in Journal
Combined Electromagnetic and Mechanical Design Optimization of Interior Permanent Magnet Rotors for Electric Vehicle Drivetrains
Previous Article in Special Issue
A GRASP Approach for the Energy-Minimizing Electric Vehicle Routing Problem with Drones
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Utilizing Probabilistic Maps and Unscented-Kalman-Filtering-Based Sensor Fusion for Real-Time Monte Carlo Localization

by
Wael A. Farag
* and
Julien Moussa H. Barakat
College of Engineering and Technology, American University of the Middle East, Egaila 54200, Kuwait
*
Author to whom correspondence should be addressed.
World Electr. Veh. J. 2024, 15(1), 5; https://doi.org/10.3390/wevj15010005
Submission received: 14 October 2023 / Revised: 9 December 2023 / Accepted: 12 December 2023 / Published: 21 December 2023
(This article belongs to the Special Issue Research on Intelligent Vehicle Path Planning Algorithm)

Abstract

:
An autonomous car must know where it is with high precision in order to maneuver safely and reliably in both urban and highway environments. Thus, in this paper, a reliable and relatively precise position estimation (localization) technique for autonomous vehicles is proposed and implemented. In dealing with the obtained sensory data or given knowledge about the vehicle’s surroundings, the proposed method takes a probabilistic approach. In this approach, the involved probability densities are expressed by keeping a collection of samples selected at random from them (Monte Carlo simulation). Consequently, this Monte Carlo sampling allows the resultant position estimates to be represented with any arbitrary distribution, not only a Gaussian one. The selected technique to implement this Monte-Carlo-based localization is Bayesian filtering with particle-based density representations (i.e., particle filters). The employed particle filter receives the surrounding object ranges from a carefully tuned Unscented Kalman Filter (UKF) that is used to fuse radar and lidar sensory readings. The sensory readings are used to detect pole-like static objects in the egocar’s surroundings and compare them to the ones that exist in a supplied detailed reference map that contains pole-like landmarks that are produced offline and extracted from a 3D lidar scan. Comprehensive simulation tests were conducted to evaluate the outcome of the proposed technique in both lateral and longitudinal localization. The results show that the proposed technique outperforms the other techniques in terms of smaller lateral and longitudinal mean position errors.

1. Introduction

The technological challenges that need to be solved to attain complete autonomy are divided into four areas by designers and researchers in the autonomous driving field: perception, localization, path planning, and controls [1]. Perception is concerned with the task of detecting where objects like cars [2], trucks [3], bikes [4], and pedestrians are [5]; which lane the egocar is driving in [6]; where its boundaries are [7]; and so on. The solutions to these perception subtasks are researched using machine learning techniques that co-ordinate various sensors to accurately detect the surroundings of the egocar [8]. Sonar, radar, lidar, cameras, and other sensors are among them [9]. Further, there is also an additional layer of complexity here: certain objects do not move (static elements), while others do (dynamic elements), and it is critical to distinguish between the two [10].
On the other hand, localization is a vital function for self-driving cars [11], allowing them to locate their position within centimeters on a reference map [12]. This high degree of precision is necessary and allows a self-driving car to comprehend its surroundings and form an understanding of the road itself, road objects, and lane structures [13].
Additionally, the path-planning task is concerned with how an autonomous car drives from one point on the map (the initial position for the trip) to the final goal (the final position for the trip) [14]. It is divided into two subtasks: global path planning, which is the high-level path on the map for the desired trip, and local path planning, which generates a trajectory profile and a velocity profile for the egocar to maneuver across its environment while avoiding any obstacles, changing lanes, passing other vehicles, etc. The path-planning module receives information from both the perception and the localization modules and sends its generated trajectory to the control module [15].
Moreover, the controls task in autonomous cars is concerned with the automatic application of force on the car actuators to achieve the reference-trajectory tracking goals [16]. In self-driving cars, the controllers’ output is exerted on three actuators: steering, throttle, and brake systems [17]. The input information to these controllers takes several forms: the reference trajectory received from the egocar path-planning module, the egocar speed and acceleration signals, and the speed and acceleration of the preceding car [18].
This paper mainly focuses on localization and how to improve its accuracy, as it allows the autonomous car to better comprehend its surroundings and form an understanding of the road and lane structures (e.g., when a lane forks or merges, schedule lane changes and determine lane routes even when markers are obscured) [19].
Sensors play a key role in autonomous vehicle localization, with vehicles being typically equipped with a combination of GPS, IMU, cameras, lidar, radar, and odometry sensors. These sensors provide data about the vehicle’s surroundings and its own motion, forming the foundation for accurate localization. Sensor fusion is a crucial technique that integrates data from multiple sensors to enhance accuracy and reliability. By combining information from sources like GPS, IMU, and lidar, a vehicle can compensate for the limitations of individual sensors, improving overall localization performance. Odometry is another important component estimating the vehicle’s position based on changes in motion, such as wheel speed and steering angle. While useful, odometry tends to accumulate errors over time, prompting its use in conjunction with other localization methods. Map matching involves comparing sensor data with pre-existing maps of the environment, aiding in the identification of the vehicle’s location. This technique is particularly beneficial in environments with recognizable landmarks, contributing to precise localization. Particle filters, a probabilistic method, maintain a set of potential vehicle poses based on sensor measurements and motion models. As the vehicle moves, this set of poses is updated to converge toward the most likely position, enhancing the accuracy of localization.
The 3D pose of an autonomous car inside a high-definition (HD) map, comprising 3D location, 3D orientation, and associated uncertainty, is provided using localization [20]. Unlike the usage of a navigation map with GPS, which only requires a few meters of precision, the localization of a self-driving car requires a far greater level of accuracy relative to the map, generally in the range of centimeters and a few tenths of degree [20].
A landmark-based reference map represents a balanced approach between no-map (SLAM) techniques and detailed high-definition mapping techniques and is thus adopted in this study. Moreover, as a contribution, this work does not depend on a single sensor (lidar), with its high resolution but well-known limitations (e.g., limited reach; severely affected by fog, snow, or dust [21]), but fuses it with radar (e.g., long reach, not affected by fog, but with low resolution [22]) to strengthen both methods and obtain the best out of them. Additionally, by using a carefully tailored UKF as the employed fusion technique, pole-like landmarks can be detected with greater precision and robustness. As an additional contribution, this paper addresses the uncertainties in the detected pole-like landmark co-ordinates. They are represented on the reference map in a probabilistic form. This allows Bayesian inference, applied using a tailored version of a particle filter, to estimate the egocar pose.

2. Literature Review

Satellite-based localization has been available for decades and has undergone various upgrades. Newer systems, such as RTK-GPS [23] or DGPS [24], provide efficient options since they attain centimeter-level precision without the use of any extra techniques. Nonetheless, there are significant uncertainties concerning their consistency. Structures or other towering road obstacles that obscure the line of sight between the car and the satellites can reduce precision by some meters [25] in metropolitan areas [26]. Moreover, the latency for acquiring the signals usually comes with errors, which is a critical issue that needs to be addressed [27] by filtration, noise cancelation, and compensating for missing readings [28].
As an alternative to the RTK-GPS and according to [15], lidar approaches were shown to be the most promising in terms of performance for the localization of self-driving vehicle applications. Nevertheless, they demand high processing and computational power, in addition to their high cost. Thus, they are rendered to be impracticable in terms of commercialization and cost-affordability. Therefore, greater lidar technology enhancement or alternative methodologies like vision-based localization or ground-penetrating radar localization within lidar maps may open the door for more feasible systems from a commercial point of view. Nevertheless, before these systems can be mass-deployed, further study will be needed to evaluate their robustness, validate their performance across a range of driving circumstances, and refine operation settings.
Accordingly, using reference-dense maps [20] could provide a more reliable localization option [29]. These maps may take several forms like point clouds [30], grid maps [31], or polygon meshes [32]. Nevertheless, map-based systems have the fundamental disadvantage of requiring a substantial amount of memory, which quickly becomes pricey when larger-scale maps are employed [33]. To address this issue, “landmark maps” have sparked significant attention [11]. These maps contain only a very limited number of recognizable and designated features that have been extracted from huge volumes of raw sensory data (collected from cameras, radars, and lidars) and condensed [34], which, in return, reduces the needed memory use by several orders of magnitude.
Subsequently, several efforts have been made in recent research to tackle the challenge of car localization by the employment of lidar point clouds from which pole-like markers are identified. This issue is separated into two sub-problems. The first sub-problem is concerned with the detection of poles and the estimation of their positions, while the second one is concerned with the estimation of the egocar pose based on the position of the detected poles. For example, a pole detector is created by Weng et al. [35] by dividing the region around the egocar and counting the reflected-scan points in each voxel. The detection of poles is accomplished by recognizing the stacks of voxels that are vertically linked and all surpass a predefined threshold. Additionally, the detector employs the RANSAC algorithm [36] to fit all of the points associated with the discovered stacks of voxels to a cylindrical shape. When it comes to the egocar pose estimation, the nearest-neighborhood data association is utilized and paired with a particle filter.
Furthermore, the main emphasis of the Sefati et al. pole-detection approach is to eliminate the ground plane from the point cloud generated by the sensors [37]. A horizontal regular grid is then constructed from the projection of the remaining point-cloud points. The occupancy and height parameters are used to cluster the neighboring cells, and a cylinder is fitted to each of the resulting clusters. Similarly, for the egocar pose estimation, the nearest-neighborhood data association is also employed and paired with a particle filter.
Kummerle et al. improved on the previous work by fitting planes to point-cloud-constructed building facades and also fitting lines to lane markings extracted from stereo camera images [34]. The previous improvements enhance the pole detection, which consequently improves the pose estimation by employing a Monte Carlo method to tackle the data association stage and a nonlinear least-squares optimization technique to refine the finally computed pose.
A more comprehensive work was conducted by Schaefer et al. [38] as they propose three phases to construct a full localization system based on landmark detection. The first phase is the pole extractor, the second one is the mapping, and the third one is the localization. The method used for pole detection considers both the endpoint of the laser beams as well as the available open space between the lidar and those beam endpoints. Therefore, based on a map of only pole landmarks, the presented method demonstrates precise and consistent car localization for large time scales. Experiments are carried out for 35 hours over the course of 15 months going through different circumstances like construction zones, weather and seasonal variations, different routes, and hordes of moving objects.
Several attempts have been made to remove the dependency on reference maps and only depend on the mounted sensors on the egocar. These endeavors focus on constructing a map and computing localization simultaneously in what is called simultaneous localization and mapping (SLAM) techniques [39]. However, these techniques are computationally much more expensive than the ones that depend on reference maps. Therefore, they usually rely on approximations to speed up processing and create a functional outcome [40]. Consequently, the lack of precision in these techniques hinders their applicability to autonomous driving.
The research gap addressed by this paper lies in the need for a nuanced and versatile mapping technique that strikes a balance between simultaneous localization and mapping (SLAM) methods, which lack mapping information, and high-definition mapping techniques, which can be overly detailed. In contrast to existing approaches, this work adopts a landmark-based reference map, providing a more comprehensive mapping solution.
Furthermore, the existing literature often relies on a single high-resolution sensor, such as lidar, which, despite its advantages, has well-known limitations, including restricted reach and vulnerability to environmental factors like fog, snow, or dust. This paper contributes by adopting a fusion approach, combining lidar with radar. While radar offers a longer reach and is less affected by adverse weather conditions, it has lower resolution. The integration of these complementary sensors is designed to capitalize on their individual strengths and mitigate their weaknesses.
Additionally, the paper introduces a carefully tailored Unscented Kalman Filter (UKF) as the fusion technique, enhancing precision and robustness in detecting pole-like landmarks. This aspect represents a research gap in sensor fusion techniques for landmark-based mapping.
Moreover, the paper addresses a crucial research gap by acknowledging and handling uncertainties in the detected pole-like landmark co-ordinates. Unlike existing methods, this study represents uncertainties in a probabilistic form on the reference map, enabling Bayesian inference. The application of a tailored particle filter allows for the estimation of egocar pose while considering uncertainties, contributing to the overall robustness and reliability of the localization system. This unique approach to handling uncertainties in landmark-based mapping represents a novel contribution to the existing body of research in autonomous vehicle localization.

3. Overview of the Proposed Localization Algorithm

This work proposes a Real-Time Monte Carlo Localization (RTMCL) algorithm for driverless vehicles. The details and the workflow of this algorithm are shown below in Figure 1.
The information required as input by the RTMCL algorithm can be categorized into four groups as follows:
(1)
Global position information: this information mainly comes from the GPS. If an IMU unit is also installed in the egocar, then a fusion between the GPS and IMU signals is implemented, resulting in a single output (initial egocar pose) that is used at a later stage by the particle filter. The fusion helps to correct errors that accumulate out of the dead reckoning [41] in periods with missing GPS position deliveries.
(2)
Odometry measurements: the algorithm requires the readings of the egocar speed and the steering angle (to calculate the yaw rate). Both will be used to update the particle filter state after filtering from high noise.
(3)
Object-detection sensory output: these are mainly lidar, radar, and camera data. Since the camera is not used in this work, only radar and lidar data are collected and fused using the tailored UKF, whose output is clustered using the GB-DBSCAN algorithm to detect potential pole-like static objects. The velocity measurements (the Doppler signal) received from the radar will help screen out dynamic objects.
(4)
Reference landmarks map: this map must be developed in a way to contain pole-like landmarks with full co-ordinates, which will be extracted in an offline process from 3D point-cloud lidar data. The map pole-like landmarks will be aligned with the detected pole-like landmarks (by GB-DBSCAN) through the “data association” process. The Iterative Closest Point (ICP) technique is employed to perform this “data association”, which is a very critical step to achieving accurate localization [42].
The above categories of input signals are used by the tailored PF (which will be presented later in more detail [43]) to search for the most accurate egocar pose. The PF is initialized using the output signal of the GPS and IMU fusion and produces a much more precise pose with the help of the identified pole-like landmarks and the reference map.

4. Overview of the UKF

The KF is an equation-based system that works as a predictor–update cyclic optimum estimator that minimizes the estimated error covariance [44]. Given the measurement z R m of a discrete-time-controlled process described by a set of linear stochastic difference equations, the Kalman filter predicts the state x R n .
Inapplicably, because KF is restricted to linear processes, it is incompatible with the radar measurement process, which is fundamentally nonlinear. To solve this restriction, the UKF was developed [45]. The UKF is a deterministic sampling-based derivative-free alternative to the extended Kalman filter [46]. The UKF also employs the predict–update two-step procedure, but it has been supplemented with additional processes such as sigma point production and prediction, as presented in Figure 2.
The state Gaussian distribution is represented in the UKF process by a small number of wisely picked sample points known as sigma points. The n x = 2 n + 1 sigma points are chosen using the following formula:
X k = x k     x k + λ + n x P k       x k λ + n x P k
where P k is the Kalman filter process estimate covariance matrix, X k is the sigma-point matrix containing n x sigma-point vectors, and λ is a design parameter that defines the spread of the produced sigma points and often is calculated as λ = 3 n x .
Each produced sigma point is entered into the UKF nonlinear process model described in Equation (2) to build the matrix of predicted sigma points X ^ with an n × n x dimension in what is called the sigma-point prediction phase.
X ^ k + 1 = f X k ,   ν k
where ν k is the white noise of the process, which is modeled as a Gaussian distribution ( N ) with zero mean and covariance matrix Q k .
The mean and covariance matrices of the predicted state are then computed from the projected sigma points using Equation (3):
x ^ k + 1 = i = 0 n x w i X ^ k + 1 ,   i P ^ k + 1 = i = 0 2 n x w i X ^ k + 1 , i x ^ k + 1 X ^ k + 1 , i x ^ k + 1 T
where w i is the sigma-point weights that are applied to invert the sigma-point spreading. These weights are computed as follows in Equation (4):
w i = λ λ + n x ,     i = 0 w i = 1 2 λ + n x ,     i = 1 n x
Each produced sigma point is entered into the nonlinear UKF’s measurement model described by Equation (5) to build the matrix of predicted measurement sigma points with an n × n x dimension in the measurement prediction phase.
Z ^ k + 1 = h X ^ k + 1
The mean and covariance matrices of the predicted measurement are then computed using the predicted sigma points and the covariance matrix R of the measurement noise, as shown in Equation (6):
z ^ k + 1 = i = 0 n x w i Z ^ k + 1 ,   i S k + 1 = i = 0 2 n x w i Z ^ k + 1 , i z ^ k + 1 Z ^ k + 1 , i z ^ k + 1 T + R R = E ω k . ω k T
where w i is the sigma-point weights computed in Equation (4), S k is the measurement covariance matrix, and E . Is the expected value of the measurement of white noise ω k , which is modeled as a Gaussian distribution ( N ) with zero mean and covariance matrix R .
The final stage is the UKF state update, in which the gain matrix ( K ) of the UKF is produced using the estimated cross-correlation matrix ( T ) between the sigma points in the state space and the measurement space, as in Equation (7). The gain is applied to both the UKF state vector ( x ) and the state covariance matrix ( P ).
          T k + 1 = i = 0 2 n x w i X ^ k + 1 , i x ^ k + 1 Z ^ k + 1 , i z ^ k + 1 T K k + 1 = T k + 1 S k + 1 1 x k + 1 = x ^ k + 1 + K k + 1 z ^ k + 1 z k + 1 P k + 1 = P ^ k + 1 K k + 1 S k + 1 K k + 1 T

5. Model of the Road Object

A motion model for a road object in the context of autonomous vehicles typically describes how the object’s position and velocity evolve over time. The goal is to predict the future trajectory of the road object, enabling the autonomous vehicle to anticipate its movements and make informed decisions. Any object in the road is represented by five variables (state representation). These variables are grouped into one vector called the state vector x . Equation (8) presents x with its variables p x , p y , v , ψ , and ψ ˙ , which are the object location in the x and y axes, the magnitude of the object’s velocity calculated from its x and y components ( v x and v y ), the yaw angle (object orientation), and the rate at which the object-yaw angle changes, respectively, as shown in Figure 3.
x = p x p y v ψ ψ ˙ ,   v = v x 2 + v y 2 , ψ = t a n 1 v y v x
Based on the state vector x , the nonlinear x k + 1 = f x k , ν k difference equation (dynamic equations) that represents the object’s motion model is constructed and provided in Equations (9)–(11).
x k + 1 = x k + v k ψ ˙ k s i n ψ k + ψ ˙ k Δ t s i n ψ k v k ψ ˙ k c o s ψ k + ψ ˙ k Δ t + c o s ψ k 0 Δ t 0 + ν k
ν k = 1 2 Δ t 2 c o s ψ k . ν a , k 1 2 Δ t 2 s i n ψ k . ν a , k Δ t . ν a , k 1 2 Δ t 2 . ν ψ , k ¨ Δ t . ν ψ , k ¨
Δ t = t k + 1 t k ν a , k ~ N 0 ,   σ a 2 ν ψ ¨ , k ~ N 0 ,   σ ψ ¨ 2  
where Δ t is the time difference between two consecutive samples and is the longitudinal acceleration, ν ψ ¨ , k is the longitudinal acceleration noise (noise modeling) at sample k with a standard deviation of σ a 2 , and ψ ¨ is the yaw acceleration noise at sample k with a standard deviation of σ ψ ¨ 2 .
If the ψ ˙ is zero, and to avoid dividing by zero in Equation (9), the subsequent approximation is applied (linear model) to evaluate the prediction of p x , and p y :
p x k + 1 = p x k + v k c o s ψ k Δ t p y k + 1 = p y k + v k s i n ψ k Δ t

6. UKF-Based Lidar/Radar Fusion

The lidar measures the centroid of the object’s position (moving or stationary) in Cartesian co-ordinates ( p x and p y ), as given by Equation (13), while the radar measures the same object’s centroid position in polar co-ordinates ( ρ , φ ). Moreover, the radar also measures the object’s velocity ( ρ ˙ ), as given by Equation (14). Therefore, to unify the way of measurement, a mapping function is used (in Equation (15)) to convert the lidar Cartesian co-ordinates to polar form.
z l i d a r = p x p y ,   z r a d a r = ρ φ ρ ˙
h x = ρ φ ρ ˙ = p x 2 + p y 2 a r c t a n p y p x p x v x + p y v y p x 2 + p y 2
p x = ρ c o s φ ,   p y = ρ s i n φ
As shown in Figure 4, the prediction step is conducted for both lidar and radar simultaneously. However, the update step is specific for each sensor since each sensor has its own measurement model. Moreover, the update of the belief is executed upon the arrival of a new sensor measurement (both sensors are not synchronized).
After the initialization steps for both the UKF and the measurement models for both the lidar and radar, the time step ( Δ t ) is computed as shown in Figure 4 and, at the same time, using Equation (1), the sigma point ( X k ) is created. The predicted sigma point ( X ^ k + 1 ) for the next time step is calculated using Equation (2), utilizing the object’s model given by Equation (9). Then, the predicted state mean vector ( x ^ k + 1 ) and its covariance matrix ( P ^ k + 1 ) is calculated by applying Equation (3).
For the update step in the fusion process, there are two branches. The first one is the lidar branch and the second one is the radar branch. The last received measured signal will decide which branch the workflow will assume (either lidar or radar signal). If a radar signal is received, the predicted measurement sigma point ( Z ^ k + 1 ) is computed based on the model in Equation (14) and from X ^ k + 1 in Equation (5). Then, z ^ k + 1 states that the covariance S k + 1 and the noise covariance R r a d a r are computed based on Equation (6). The R r a d a r covariance matrix is further defined as given in Equation (16) below:
R r a d a r = σ ρ 2 0 0 0 σ φ 2 0 0 0 σ ρ ˙ 2
where σ ρ ˙ , σ φ , and σ ρ are the noise SD of the object yaw rate, the noise SD of the object heading, and the noise SD of the object radial distance, respectively.
The cross-correlation matrix ( T k + 1 ) is then computed based on the resulting state vectors x ^ k + 1 and z ^ k + 1 with their counterparts X ^ k + 1 and Z ^ k + 1 , respectively using Equation (7). The T k + 1 is then used to compute the UKF gain ( K k + 1 ), which is consequently used to compute the updated state vector ( x k + 1 ) and covariance matrix ( P k + 1 ), as shown in Equation (7). Then, x k + 1 and P k + 1 will be used to generate the new sigma points ( X k + 1 ) in the next iteration, etc.
Instead, if a lidar signal is received, the predicted measurement sigma point ( Z ^ k + 1 ) is computed based on the linear lidar measurement model in Equation (17) and directly from X ^ k + 1 . Then, z ^ k + 1 states that the covariance S k + 1 and the noise covariance R l i d a r are computed based on Equation (6) with more detail of R l i d a r in Equation (17).
H l i d a r = 1 0 0 0 0 0 1 0 0 0 R l i d a r = E ω . ω T = σ p x 2 0 0 σ p y 2
where the object x and y positions, σ p x and σ p y , are the noise SDs, respectively. Likewise, the radar, the cross-correlation matrix ( T k + 1 ), the KF gain ( K k + 1 ), and the covariance matrix ( P k + 1 ) are computed from Equation (7).

7. Point-Cloud Clustering and Association

The point cloud resulting from the application of the UKF fusion algorithm presented in Figure 4 offers details about the objects in the surroundings of the egocar. To extract each object’s information (geometrical shape and pose), clustering is employed on the UKF point cloud to characterize each object in a source-point model form, which will significantly lower the computation overhead and memory prerequisite.
The clustering in this work is performed using the GB-DBSCAN algorithm, which is a variation of the original DBSCAN algorithm [47], which is an unsupervised learning algorithm that arranges data points with high density together in one group. Two parameters are used to tune the DBSCAN algorithm and define the allowed density. “ε” is the first parameter to tune, which defines the allowed radial distance from the point under evaluation “p”. “minPts” is the second parameter that determines the lowest number of detection points that are located within a distance “ε” from “p”, including “p” itself, to form a cluster. Therefore, the determination of the density of points to be grouped together to form a cluster is conducted by the proper selection of “ε” and “minPts”. However, if the objects to be detected take several topologies (other than circular), as with the case of road objects, the DBSCAN algorithm is not enough. An improvement came from Dietmayer et al. [48] by proposing not to use fixed parameters like “ε” and “minPts” in the GB-DBSCAN but, instead, forming a polar grid taking into account the angular and radial resolution of the sensor. The search area is not necessarily a circular one with a fixed radius but can be a dynamic elliptic one. Therefore, this algorithm is very appropriate for pole-like objects, as their distinctive feature is that they produce a high density of detection points, much more than their surroundings.
The outcome of the GB-DBSCAN algorithm is a coarse clustering of the UKF fusion data. The application of the RANSAC algorithm fine-tunes these clusters and associates geometrical shape proposals with them [36]. For the pole-like landmarks, the most appropriate geometrical shape is the circular one, which is fitted to all the N points in each cluster. The RANSAC algorithm then finds the parameters of each fitted circle (the radius ( r ^ ) and the centroid ( x ^ c , y ^ c )), which will represent a pole landmark, by finding the optimal solution of the following formula:
min 1 N i = 1 N x i x ^ c 2 + y i y ^ c 2 r ^ 2
Once the pole-like landmarks are identified in the source UKF fusion data, the data association step takes place by linking these identified landmarks with their matched counterpart in the target (the supplied reference map). The employed PF relies heavily on precision in this step. The association is implemented using the ICP algorithm [42]. The standard ICP searches the whole point clouds in both the source and the target; however, here, only the centroids are considered during the objects’ matching process, which, in return, saves a significant amount of memory and processing overhead.
The ICP algorithm is composed of two phases that run iteratively till convergence is reached. In our case, we have a set X representing the source points (UKF data) and another set Y representing the target points (a point-cloud map). The first phase is the matching between each point in X with the closest point in Y. The second phase is to find the optimal transform (XY) given the matched association. Storing the X and Y sets in the form of a KD tree data structure [49] is very crucial for the efficient matching by distance performed by the ICP. x i and y i are two matched points from X and Y sets, respectively. The 2D ICP algorithm finds the rotation angle “ φ ” and the translation parameter “t” that minimizes the summation of the quadratic distance between the target and the source points, as presented by Equation (19). Note that the rotation matrix R φ uses angle “ φ ” as a variable.
m i n φ , t i = 1 N y i R φ x i t T y i R φ x i t  
The co-ordinate system must be unified between the egocar co-ordinates ( x c and   y c ) and the reference map co-ordinates ( x m and y m ) to perform the data association correctly. Therefore, the homogenous transformation is used (in the form of a transformation matrix) as given by Equation (20). The translation and rotation are performed using map particle/egocar co-ordinates ( x p and y p ) and the rotation angle θ .
x m y m 1 = c o s θ s i n θ x p s i n θ c o s θ y p 0 0 1 × x c y c 1

8. Details of the Particle Filter

For a stochastic process that has noisy observations p z t | x t , the posterior distribution b e l x t could be represented by a finite set of particles. This is considered an approximate implementation of the Bayesian filter in a recursive mode with a normalization factor ζ that is given by Equation (21):
b e l x t ζ   p z t | x t   b e l x t 1
The higher the particles’ number M , the more accurate the representation of the belief distribution b e l x t , where t denotes the time step at which the state of the set of the particles is considered, as given by Equation (22):
χ t = x t i | 1 i M
The actual state (the optimal solution) will be one of the particles included in the set χ t at time t. Therefore, each x t i represents a hypothesis for the optimal solution. The implementation of the employed PF in the work is presented in Algorithm 1. Moreover, the workflow of the PF is illustrated in Figure 5. Upon receipt of a new measurement (odometry) signal ( u t ) or a pole-like object measurement update ( z t ) from the UKF, a new search for an optimum egocar pose is initiated.
Algorithm 1. Workflow of the employed PF.
Procedure Particle Filter ( χ t 1 ,   u t ,   z t ):
Input: Set of particles χ t 1 at a time ( t 1 ), control
   inputs u t , and a set of measurements z t .
Output: The updated set of particles χ t at time t .
Begin
  • Initialize Particles: χ ¯ t = χ t = .
  • F o r   m = 1   t o   M   d o
    i.
    g e n e r a t e   x i m ~ p x t | u t , x t 1 m
    ii.
    w t m = p z t | x i m
    iii.
    χ ¯ t = χ ¯ t + x i m , w t m
    iv.
    End for loop
  • F o r   m = 1   t o   M   d o
    i.
    d r a w   i   w i t h   p r o b a b i l i t y   α w t i
    ii.
    a d d   x t i   t o   χ t
    iii.
    End for loop
  • Return   χ t
End.
The PF implementation is a predict–update cycle, in which the prediction portion of the cycle is implemented by step (2) in the procedure. For each particle (out of the M randomly generated particles at the initiation phase of the procedure), two values are calculated for each particle (which represents a possible egocar); the first one is the state hypothesis ( x i m ), and the second one is the state transition distribution p x t | u t , x t 1 m , which is calculated using the object’s motion model explained in Section 5. A weight is created for each particle based on its generated state hypothesis (importance) among the other state hypotheses of the other particles, as given in Equation (23). Each weight takes the form of a multivariate Gaussian probability density function that is computed for each observation and the likelihood of all the observations are combined by taking their multiplication product.
w t m = i = 1 N e x p 1 2 z i t μ i t T Σ 1 z i t μ i t 2 π Σ
where N is the count of measurements for particle m , Σ is the measurements covariance matrix, μ i t is the state mean predicted measurement for the pole corresponding to the i th observation at step t , and z i t is the i th pole observation for particle m at step t .
After that, the set of particles ( χ ¯ t ) is resampled proportional to the previously produced weights ( α w t i ), where α is a normalization coefficient, generating new M particles and, hence, χ t (the updated posterior approximation) is produced. χ t will usually contain the strongest particles with multiple copies replacing the weak particles that are left out (have small weights (less important)). And, so on, the algorithm continues till χ t will contain M copies of one particle (convergence) that represents the solution or the required egocar pose.
The convergence indicator for the PF is the weighted mean error ( E r r o r w e i g h t e d ) computed over all the particles, as shown in Equation (24). E r r o r w e i g h t e d is achieved by calculating the RMSE between the ground truth g and the state of each particle p i and multiplied by its weight, then summing the product for all particles, and dividing the result by the summation of all the weights.
E r r o r w e i g h t e d = i = 1 M w i p i g i = 1 M w i

9. Realization of the RTMCL

The development and coding of the RTMCL are accomplished using C++ programming language [50], as it is well known for its high performance, especially for real-time applications [51]. The developed code runs on the Ubuntu Linux operating system [52]. Moreover, the development used the efficient numerical solving package Eigen, which is used to perform all the vector and matrix computations involved in the execution of the objects’ model and the prediction and update steps [53].
The sensor data are processed using the NVIDIA DRIVE AGX platform. The lidar is Velodyne Lidar VLP-16 (16 channels, 100 m range, 360° horizontal field of view (FoV), 30° vertical FoV, 300,000 points/sec) and the radar is Continental ARS430 (77 GHz, 250 m range, wide azimuth and elevation coverage, 0.1 m accuracy).
In order to sensitively execute the motion models for several objects (furnished by Equations (9)–(11)), various noise parameters must be carefully determined. Their values are fine-tuned and set and presented in Table 1.
To evaluate the consistency of the UKF design, the NIS measure that is averaged over time is employed [54] to fine-tune the above noise parameters. Moreover, to make sure the UKF design is unbiased and consistent, the estimation error is aggregated and its mean value is calculated. This value should be around zero, besides the UKF’s actual MSE corresponding to the UKF-computed state covariance. Equation (25) calculates the NIS value at each time sample k and then uses a moving N-sample window of measurements to compute its average value ( N I S A v e r a g e ).
N I S k = z k + 1 z ^ k T S k 1 z k + 1 z ^ k N I S A v e r a g e = 1 N k = 1 k = N N I S k
The UKF performance depends heavily on how properly it is initialized [54]. The estimated state vector ( x ) and its estimated state covariance matrix ( P ) are considered the most important initialized variables. p x and p y (the first and second terms of x in Equation (8)) are simply initialized by associating them to the early obtained unrefined sensor measurements. For the following three terms of the x , trial-and-error endeavors in addition to some intuition are used to initialize these variables, as given in Table 2. Moreover, the P matrix is constructed as a diagonal matrix, as given in Equation (26), and includes the covariance values of the estimate of each term in x .
P = d i a g σ p ^ x 2 , σ p ^ y 2 , σ v ^ 2 , σ ψ ^ 2 , σ ψ ˙ ^ 2
The calculation of the RMSE, as given in Equation (27), is used to evaluate the performance of the UKF, which is defined as how close the estimated ranges are from the true ranges (the ground truth). An N-sample moving window of estimates is used to calculate this metric.
R M S E = 1 N k = 1 k = N x k e s t x k t r u e 2
where x k t r u e is the ground-truth state vector generated by the motion driving simulator [55] or supplied as training data during the UKF design phase and x k e s t is the UKF’s output (the estimated state vector).
Regarding the PF, like the UKF, the proper initialization is very critical for its successful execution. The initialization process is as follows:
(a)
The PF particles’ count M usually falls in the range from 100 to 1000 [20], as per the literature [43]. The higher the particles’ count, the higher the accuracy but the slower the speed of computation, and vice versa. Therefore, a compromise must be made. After many trials, M = 50 is selected after showing approved real-time performance with the required precision.
(b)
The result of the GPS/IMU fusion is the initial pose of the egocar ( p x G P S ,   p y G P S ,   θ G P S ) , which will be used by the PF in the initialization of all the M particles’ state vectors as follows:
p x m ~ N p x G P S ,   σ x G P S 2 + σ x a r t i f i c i a l 2 p y m ~ N p y G P S ,   σ y G P S 2 + σ y a r t i f i c i a l 2 θ P a r t i c l e m ~ N θ G P S ,   σ θ G P S 2 + σ θ a r t i f i c i a l 2
where the particle m initialized pose is represented by p x m , p y m , and θ P a r t i c l e m . The standard deviations of the noise of the GPS/IMU fusion are σ x G P S , σ y G P S , and σ θ G P S . Moreover, the artificial noise amounts added to pose variables are σ x a r t i f i c i a l , σ y a r t i f i c i a l , and σ θ a r t i f i c i a l . They are used to add randomization to these variables to improve the chances of convergence of the PF. Table 3 lists the values used to initialize these parameters.
(c)
The particles’ weights that value their importance use the uniform distribution w m = 1 M for initialization.
(d)
The landmarks that take a pole shape in the reference map and being used by the RTMCL algorithm are represented by N p x P o l e ,   σ x P o l e 2 and N p y P o l e ,   σ y P o l e 2 , which are Gaussian distributions for both x and y positions, respectively. These distributions are used to model these positions’ uncertainties. The standard deviation σ x p o l e and σ y p o l e values are shown in Table 3.
Equation (29) presents the aggregated mean absolute error (MAE) of each estimated pose variable compared to the ground truth. This metric is used in order to evaluate the performance of the PF. It is computed by employing an N-measurement window that moves across the incoming pose estimates.
X e r r o r = 1 N i = 1 N x i b e s t x i g t Y e r r o r = 1 N i = 1 N y i b e s t y i g t Y a w e r r o r = 1 N i = 1 N θ i b e s t θ i g t
where x i g t ,   y i g t ,   and   θ i g t are the variables of the ground truth that are generated by the motion driving simulator [56] or provided as training data throughout the particle filter design phase, and x i b e s t ,   y i b e s t ,   and   θ i b e s t are the best-estimated variables of the PF particles’ poses.

10. Testing and Evaluation Results

To fine-tune the hyperparameters of the RTMCL algorithm, broad trial-and-error tryouts have been carried out. For proper assessment, numerical KPIs are proposed and implemented as given by Equations (24), (26), and (28) to assess the RTMCL under several hyperparameter configurations.
Moreover, through an iterative tuning process, the performance of the RTMCL is evaluated on several testing tracks while under various sets of hyperparameters. Figure 6 presents an example of one of the employed testing tracks. The length of this track is 754 m and has curvatures at several points. It also contains 42 landmarks that resemble poles to sufficiently emulate an urban driving environment.
The results of UKF testing performing the fusion of the lidar/radar are presented in Table 4. Several objects are detected, including pole-like landmarks, cars, cyclists, and pedestrians. The five state variables, p x , p y , v x , v y , and ψ , are measured and their RMSE are listed in Table 5 as a KPI (Equation (26)). A comparison between the ground truth of each state variable to the estimated value of this state, then obtaining the error is performed by this KPI. Better detection is achieved with a lower value of this KPI.
The UKF is employed and tested in three different ways: the first one with only lidar signals, the second way with only radar signals, and the third one with the fusion between the lidar and the radar. This way of testing evaluates how significant the fusion is for the accuracy of object detection and tracking. Table 5 presents the results of the three ways of testing on the bicycle track. It is clear how significant the fusion is at all pose variables, all of them have much better RMSE. Table 5 clearly shows that fusion reduces the RMSE for all the pose state variables and makes a big difference in the accuracy of detection. As an example, the error of the detection position in the x-axis ( p x ) is lowered by 60% compared to the one with the lidar alone and 70% compared to the one with radar alone. Another example is the error of the velocity detection in the x-axis ( v x ) is lowered by 30% more than the one with the lidar alone and 26% more than the one with radar alone. Furthermore, the NIS KPI is computed as well for the three previous cases, showing that the fusion has significantly improved the UKF’s consistency. The fusion NIS quantities that are higher than the threshold of 95% have been lowered by 31% compared to the “only lidar” and 38.5% compared to the “only radar” values.
An example of testing the whole pipeline of the RTMCL, which includes the combination of the PF and UKF with the employment of the probabilistic reference map, Figure 6, Figure 7 and Figure 8 present the simulation results of egocar driving on the test track in Figure 6. The GB-DBSCAN is used for the data association step for the localization of the egocar on the global map. Figure 7 and Figure 8 show both the ground truth and the estimated egocar pose values drawn overlapping each other due to the computed small errors as reported in Table 6. The PF performance is evaluated using the RMSE KPI given in Equation (28). This KPI is computed for the three variables of the pose ( x , y , and θ ). It evaluates each of these estimated values against its ground truth and aggregates the resulting errors. The performance of the PF is better if these KPI values are lower. Several counts of particles are used to choose the most appropriate configuration for the employed PF and to test its performance in real time. Hence, Table 6 shows that the minimum acceptable particle count is around 25 particles. Lower than this number, the PF starts to divert. However, to observe more robustness and improve further the accuracy, 50 particles are selected in this work to be employed by the PF, as higher numbers will not add much to the accuracy at the expense of much higher execution time. The count of 50 particles is considered a good balance between robustness and execution cost (real-time performance). The selection of 50 particles shows convergence in all the extensive performed tryouts.
The uncertainties in the reference map are modeled by the standard deviations associated with pole-like landmarks. The results of using the uncertainties in the map positions are reported in Table 7. Several standard deviations are tested and show how significantly it affects the final egocar pose estimation produced by the PF. The table shows that the RTMCL can handle a significant amount of uncertainty in the landmark position, which can reach up to 2.0 m or 2 σ p o l e , and the computed error in the egocar localization is still below 30 cm.
The performance of the PF during the start-up phase is very crucial for its convergence, stability, and performance later on. Therefore, Figure 9 presents the start-up segment of the PF employing 50 particles till it becomes stabilized (after around 100 time steps). As a sign or indicator of the robustness of the PF performance, Figure 10 presents the computed particles’ weights throughout a single lap driving on the test track. The best weight at each time step is significantly higher than the average weight. This is considered a good indicator of robustness [57].
It is observed that there is an inverse relation between these weight values (best and average) and the number of detected poles. Equation (30) below introduces another streamlined form of Equation (22), where the values of the weights are computed as the multiplication of the likelihoods of the observation of each pole-like landmark represented by a multivariate Gaussian probability density function. There is a suitable number of observed poles. If the number of observed poles is high, there is a chance that one or more of these poles have small Gaussian probability density values that can bring the whole product down and, consequently, the associated weight. After many tryouts, it is found that the most appropriate count of identified poles at each time step for the smooth operation of the RTMCL is in the scope of 4 to 12 poles as shown in Figure 11.
w t m = j = 1 N e x p z x j t μ x j t 2 σ x p o l e 2 z y j t μ y j t 2 σ y p o l e 2 2 π σ x p o l e σ y p o l e
The real-time performance of the RTMCL is tested using extensive experimentation and tryouts proving that its execution is fast enough. Table 8 presents the measurements of the execution times of several tasks within the RTMCL pipeline on a very moderate computational platform: an Intel 1.6-GHz Core i5 with 8 GB of RAM. These measurements are collected for a single estimation of the egocar pose based on the 12-pole detection.
It is recommended from the literature that the localization pipeline iterates at a speed of 10 Hz to 30 Hz. Accordingly, the measured RTMCL execution time per iteration, which is 8.2 ms (122 Hz) in Table 8, is considered very well suited at even the upper limit of the recommendation.
Moreover, the values in Table 8 show that more than 50 pole detections can be employed and, still, the UKF is capable of meeting the requirements of collecting the lidar and radar measurements at a rate of 30 Hz (33.3 ms cycle) according to [1]. All the above analyses show that the real-time performance of the RTMCL is very convenient, allowing its robustness to be improved by either increasing the number of particles or allowing more pole detections.
Moreover, the results achieved in the work are significantly advantageous if compared with other works in the literature. The mean error for both the lateral and longitudinal positions (11 cm) is less than the 20 cm obtained in [58] using a pole-based reference map, stereo camera system as a main sensor, GPS as a secondary sensor, particle filter, and Kalman filter.
Additionally, the achieved mean error by RTMCL is also lower than the one achieved by [35], which is 16.4 cm (with an absolute max. error of 99.6 cm), obtained using a pole-based mapping, a lidar fused with RTK-GPS, IMU, wheel encoder, a Bayesian filter, and the egocar’s CTRV motion model.
Furthermore, the RTMCL outperforms the localization system proposed by [41], which fuses a digital map, GPS, and IMU, along with lanes and symbolic road markings (SRMs) recognized by a front camera via a particle filter. The latter-mentioned system produced a 95 cm longitudinal error and a 49 cm lateral error. The full comparative analysis is presented in Table 9 below.
Moreover, the proposed RTMCL is compared to that of other research work based on fusion techniques, as summarized in Table 10. The first work discusses Gao et al.’s deep learning method for autonomous vehicle object detection [59], emphasizing the fusion of vision and lidar data to enhance classification accuracy. It highlights the upsampling of lidar point clouds, conversion into a depth feature map, and integration with RGB data for CNN input. The study employs a vehicle-mounted camera and lidar, using NVIDIA® GeForce GTX Titan X and NVIDIA® Jetson TX1 (NVIDIA, Santa Clara, CA, USA) for offline detection and classification on a public dataset.
The second work outlines Gao et al.’s integrated framework for predicting cyclist trajectories at unsignalized intersections [60]. It focuses on intent inference using a Dynamic Bayesian Network (DBN) considering motion, ego vehicle, and environmental features. The approach employs LSTM with encoder–decoder for online trajectory prediction, achieving predictions within 0.9 s of entering the intersection. The text underscores the approach’s outperformance over baseline methods (KF and DBN + KF) across various prediction horizons and its potential benefits for intelligent vehicles in road-user protection and path planning. Future research considerations include addressing cyclist–ego vehicle interaction and enhancing method robustness and interpretability.

11. Conclusions

The proposed real-time Mont Carlo Localization (RTMCL) approach for self-driving vehicles is a pipeline of tasks that starts with the fusion between the GPS and the IMU to produce an unrefined egocar pose that is used to initialize the employed particle filter. Then, in the next task, a tailored UKF is used to fuse the collected data from the installed radar and lidar sensors on the egocar. The output of the UKF contains information about objects in the surrounding of the egocar and, thus, needs further processing to detect these objects and identify them. This task is carried out using the clustering algorithms GB-DBSCAN and RANSAC then produces the poses of the detected pole-like landmarks. In another task. The ICP algorithm is employed to perform the association between the identified poles in the previous task to the ones embedded in the provided reference map. In the final task, a tailored particle filter is developed and all the outputs of the previous tasks generate the fine-tuned egocar pose as the final localization measured reference to the co-ordinates of the global map.
The implementation of the whole RTMCL is conducted using C++ to ensure real-time performance. The testing results show that the RTMCL reached an accuracy of around 11 cm of mean error using merely 50 particles. The recorded execution times on affordable CPUs show the number of particles can further increase without much effect on the real-time performance.
Furthermore, testing the pipeline of the RTMCL has shown that it can run smoothly at 30 Hz while handling up to 50 poles at a time. Moreover, up to 2.0 m in uncertainty in the pose positions of the pole-like landmarks in the reference map can be handled successfully by the RTMCL, as its estimated egocar pose error will not exceed 30 cm in such a case.
It is planned to supplement a front camera as well as range finders [61] to the current fusion approach in the future and further examine the returns they will contribute to overall localization performance [62]. In addition, the RTMCL will be supplemented with additional road objects such as curbs, sidewalks, guardrails, and intersection features, among others. It is also worth considering the use of deep learning and other machine learning approaches.

Author Contributions

Conceptualization, W.A.F.; methodology, W.A.F.; software, W.A.F.; validation, W.A.F.; formal analysis, W.A.F.; investigation, W.A.F.; resources, W.A.F.; data curation, W.A.F.; writing—original draft preparation, W.A.F.; writing—review and editing, J.M.H.B.; visualization, W.A.F.; supervision, W.A.F.; project administration, W.A.F.; funding acquisition, J.M.H.B. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by The American University of the Middle East (AUM), Kuwait. The APC was funded by The American University of the Middle East (AUM), Kuwait.

Data Availability Statement

The data presented in this study are available on request from the corresponding author. The data are not publicly available due to the need of permission from the funding source.

Conflicts of Interest

The authors declare no conflict of interest.

Nomenclature

ADASAdvanced Driving Assistance Systems
CTRVConstant Turn Rate and Velocity
egocarThe reference vehicle contains sensors that perceive the environment around it.
EKFExtended Kalman Filter
DGPSDifferential Global Positioning Systems
GB-DBSCANGrid-Based Density-Based Spatial Clustering of Applications with Noise
GPSGlobal Positioning System
ICPIterative Closest Point
IMUInertial Measurement Unit
KFKalman Filter
KPIKey Performance Indicator
RANSACRANdom SAmple Consensus
RTK-GPSReal-Time Kinematic Global Positioning System
RTMCLReal-Time Monte Carlo Localization
RMSERoot Mean Squared Error
NIS Normalized Innovation Squared
PFParticle Filter
UKFUnscented Kalman Filter
SDCSelf-Driving Car
SDStandard Deviation
ψThe object orientation yaw angle (heading)
v The magnitude of object velocity
( ρ ,   φ )The moving object’s centroid position
λ Spread of the generated sigma points (a design parameter).
X The UKF sate sigma-point matrix
px, pyThe object’s current x and y positions.
P UKF state covariance matrix
K UKF gain matrix
T UKF cross-correlation matrix
R Measurement noise covariance matrix
S The predicted measurement covariance matrix
Δ t The difference in time between two consecutive timestamps.
M The number of particles.
bel x t Posterior distribution.
χ t Denoted set of particles at time step t
p x t | u t , x t 1 m PF state transition distribution

References

  1. Yurtsever ELambert Carballo, J.; Takeda, A.K. A Survey of Autonomous Driving: Common Practices and Emerging Technologies. IEEE Access 2020, 8, 58443–58469. [Google Scholar] [CrossRef]
  2. Farag, W. A lightweight vehicle detection and tracking technique for advanced driving assistance systems. J. Intell. Fuzzy Syst. 2020, 39, 2693–2710. [Google Scholar] [CrossRef]
  3. Fisser, H.; Khorsandi, E.; Wegmann, M.; Baier, F. Detecting Moving Trucks on Roads Using Sentinel-2 Data. Remote Sens. 2021, 14, 1595. [Google Scholar] [CrossRef]
  4. Farag, W. Multiple Road-Objects Detection and Tracking for Autonomous Driving. J. Eng. Res. 2022, 10, 237–262. [Google Scholar] [CrossRef]
  5. Farag, W. Lidar and Radar Fusion for Real-Time Road-Objects Detection and Tracking. Intell. Decis. Technol. 2021, 15, 291–304. [Google Scholar] [CrossRef]
  6. Farag, W. A Comprehensive Real-Time Road-Lanes Tracking Technique for Autonomous Driving. Int. J. Comput. Digit. Syst. 2020, 9, 349–362. [Google Scholar] [CrossRef]
  7. Farag, W. Real-Time Detection of Road Lane-Lines for Autonomous Driving. Recent Adv. Comput. Sci. Commun. 2020, 13, 265–274. [Google Scholar] [CrossRef]
  8. Guastella, D.; Muscato, G. Learning-Based Methods of Perception and Navigation for Ground Vehicles in Unstructured Environments: A Review. Sensors 2021, 21, 73. [Google Scholar] [CrossRef]
  9. Babak, S.-J.; A Hussain, S.; Karakas, B.; Cetin, S. Control of autonomous ground vehicles: A brief technical review. In Proceedings of the 4th International Conference on Mechanics and Mechatronics Research (ICMMR 2017), Xi’an, China, 20–24 June 2017. [Google Scholar] [CrossRef]
  10. Farag, W. Road-objects tracking for autonomous driving using lidar and radar fusion. J. Electr. Eng. 2020, 71, 138–149. [Google Scholar] [CrossRef]
  11. Woo, A.; Fidan, B.; Melek, W.W. Localization for Autonomous Driving. In Handbook of Position Location: Theory, Practice, and Advances, 2nd ed.; Wiley: Hoboken, NJ, USA, 2019. [Google Scholar]
  12. Zekavat, R.; Buehrer, R.M. Localization for Autonomous Driving. In Handbook of Position Location: Theory, Practice, and Advances; IEEE: Piscataway, NJ, USA, 2019; pp. 1051–1087. [Google Scholar] [CrossRef]
  13. Smit, R.; Van Mourik, H.; Verroen, E.; Pieters, M.; Bakker, D.; Snelder, M. Will self-driving cars impact the long-term investment strategy for the Dutch national trunk road system? In Autonomous Vehicles and Future Mobility; Elsevier: Amsterdam, The Netherlands, 2018; pp. 57–67. [Google Scholar] [CrossRef]
  14. Ma, H.; Pei, W.; Zhang, Q. Research on Path Planning Algorithm for Driverless Vehicles. Mathematics 2022, 10, 2555. [Google Scholar] [CrossRef]
  15. Kuutti, S.; Fallah, S.; Katsaros, K.; Dianati, M.; Mccullough, F.; Mouzakitis, A. A Survey of the State-of-the-Art Localization Techniques and Their Potentials for Autonomous Vehicle Applications. IEEE Internet Things J. 2018, 5, 829–846. [Google Scholar] [CrossRef]
  16. Homolla, T.; Winner, H. Encapsulated trajectory tracking control for autonomous vehicles. Automot. Engine Technol. 2022, 7, 295–306. [Google Scholar] [CrossRef]
  17. Farag, W. Complex-Track Following in Real-Time Using Model-Based Predictive Control. Int. J. Intell. Transp. Syst. Res. 2021, 19, 112–127. [Google Scholar] [CrossRef]
  18. Liu, Y.; Pei, X.; Guo, X.; Chen, C.; Zhou, H. An Integration Planning and Control Method of Intelligent Vehicles based on the Iterative Linear Quadratic Regulator. J. Frankl. Inst. 2024, 360, 265–282. [Google Scholar] [CrossRef]
  19. Khare, V.; Jain, A. Predict the performance of driverless car through the cognitive data analysis and reliability analysis based approach. E-Prime-Adv. Electr. Eng. Electron. Energy 2023, 6, 100344. [Google Scholar] [CrossRef]
  20. Levinson, J.; Montemerlo, M.; Thrun, S. Map-Based Precision Vehicle Localization in Urban Environments. In Proceedings of the Conference: Robotics: Science and Systems III, Virtual, 27–30 June 2007; Georgia Institute of Technology: Atlanta, GA, USA, 2007. [Google Scholar]
  21. Veronese, L.; Auat-Cheein, F.; Mutz, F.; Oliveira-Santos, T.; Guivant, J.E.; de Aguiar, E.; Badue, C.; De Souza, A.F. Evaluating the Limits of a LiDAR for an Autonomous Driving Localization. IEEE Trans. Intell. Transp. Syst. 2021, 22, 1449–1458. [Google Scholar] [CrossRef]
  22. Zhou, T.; Yang, M.; Jiang, K.; Wong, H.; Yang, D. MMW Radar-Based Technologies in Autonomous Driving: A Review. Sensors 2020, 20, 7283. [Google Scholar] [CrossRef] [PubMed]
  23. Takanose, A.; Atsumi, Y.; Takikawa, K.; Meguro, J. Improvement of Reliability Determination Performance of Real-Time Kinematic Solutions Using Height Trajectory. Sensors 2021, 21, 657. [Google Scholar] [CrossRef]
  24. Rathour, S.S.; Boyali, A.; Zheming, L.; Mita, S.; John, V. A Map-Based Lateral and Longitudinal DGPS/DR Bias Estimation Method for Autonomous Driving. Int. J. Mach. Learn. Comput. 2017, 7, 67–71. [Google Scholar] [CrossRef]
  25. Carlevaris-Bianco, N.; Ushani, A.K.; Eustice, R.M. University of Michigan North Campus long-term vision and lidar dataset. Int. J. Robot. Res. 2015, 35, 1023–1035. [Google Scholar] [CrossRef]
  26. Modsching, M.; Kramer, R.; Hagen, K. Field trial on GPS accuracy in a medium-size city: The influence of built-up. In Proceedings of the 3rd Workshop on Positioning, Navigation, and Communication, Hannover, Germany, 16 March 2006; pp. 209–218. [Google Scholar]
  27. Rakhmanov, A.; Wiseman, Y. Compression of GNSS Data with the Aim of Speeding up Communication to Autonomous Vehicles. Remote Sens. 2023, 15, 2165. [Google Scholar] [CrossRef]
  28. Li, W.; Li, Z.; Jiang, W.; Chen, Q.; Zhu, G.; Wang, J. A New Spatial Filtering Algorithm for Noisy and Missing GNSS Position Time Series Using Weighted Expectation Maximization Principal Component Analysis: A Case Study for Regional GNSS Network in Xinjiang Province. Remote Sens. 2022, 14, 1295. [Google Scholar] [CrossRef]
  29. Levinson, J.; Thrun, S. Robust vehicle localization in urban environments using probabilistic maps. In Proceedings of the 2010 IEEE International Conference on Robotics and Automation, Anchorage, Alaska, 3–8 May 2010; pp. 4372–4378. [Google Scholar]
  30. Wikipedia. Point Cloud. 10 February 2023. Available online: https://en.wikipedia.org/wiki/Point_cloud (accessed on 14 March 2023).
  31. Metabase. Visualizing Data with Maps. 2023. Available online: https://www.metabase.com/learn/visualization/maps (accessed on 14 March 2023).
  32. Wikipedia. Polygon Mesh. 11 January 2023. Available online: https://en.wikipedia.org/wiki/Polygon_mesh (accessed on 14 March 2023).
  33. Mapping 2023. Why Better Mapping Technology Is Critical to Autonomous Vehicles. Available online: https://semiengineering.com/why-better-mapping-technology-is-critical-to-autonomous-vehicles/ (accessed on 4 March 2023).
  34. Kummerle, J.; Sons, M.; Poggenhans, F.; Kuehner, T.; Lauer, M.; Stiller, C. Accurate and efficient self-localization on roads using basic geometric primitives. In Proceedings of the 2019 IEEE International Conference on Robotics and Automation, Montreal, QC, Canada, 20–24 May 2019. [Google Scholar]
  35. Weng, L.; Yang, M.; Guo, L.; Wang, B.; Wang, C. Pole-based realtime localization for autonomous driving in congested urban scenarios. In Proceedings of the 2018 IEEE International Conference on Real-Time Computing and Robotics, Kandima, Maldives, 1–5 August 2018; pp. 96–101. [Google Scholar]
  36. Fischler, M.; Bolles, R. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography. Commun. ACM 1981, 24, 381–395. [Google Scholar] [CrossRef]
  37. Sefati, M.; Daum, M.; Sondermann, B.; Kreisk, K.D.; Kampker, A. Improving vehicle localization using semantic and pole-like landmarks. In Proceedings of the 2017 IEEE Intelligent Vehicles Symposium, Los Angeles, CA, USA, 11–14 June 2017; pp. 13–19. [Google Scholar]
  38. Schaefer, A.; Büscher, D.; Vertens, J.; Luft, L.; Burgard, W. Long-Term Urban Vehicle Localization Using Pole Landmarks Extracted from 3-D Lidar Scans. In Proceedings of the European Conference on Mobile Robots (ECMR), Prague, Czech Republic, 4–6 September 2019. [Google Scholar]
  39. Chiang, K.; Chiu, Y.; Srinara, S.; Tsai, M. Performance of LiDAR-SLAM-based PNT with initial poses based on NDT scan matching algorithm. Satell. Navig. 2023, 4, 3. [Google Scholar] [CrossRef]
  40. Taheri, H.; Xia, Z.C. SLAM; definition and evolution. Eng. Appl. Artif. Intell. 2021, 97, 104032. [Google Scholar] [CrossRef]
  41. Suhr, J.K.; Jang, J.; Min, D.; Jung, H.G. Sensor Fusion-Based Low-Cost Vehicle Localization System for Complex Urban Environments. IEEE Trans. Intell. Transp. Syst. 2017, 18, 1078–1086. [Google Scholar] [CrossRef]
  42. Lu, F.; Milios, E. Robot pose estimation in unknown environments by matching 2D range scans. J. Intell. Robot. Syst. 1997, 18, 249–275. [Google Scholar] [CrossRef]
  43. Thrun, S. Particle Filters in Robotics. In Proceedings of the 18th Annual Conference on Uncertainty in AI (UAI), Edmonton, AB, Canada, 1–4 August 2002. [Google Scholar]
  44. Zarchan, P.; Musoff, H. Fundamentals of Kalman Filtering: A Practical Approach, 4th ed.; American Institute of Aeronautics and Astronautics, Incorporated: Reston, VA, USA, 2013; ISBN 978-1-62410-276-9. [Google Scholar]
  45. Wan, E.A.; Van Der Merwe, R. The unscented Kalman filter for nonlinear estimation. In Proceedings of the IEEE Adaptive Systems for Signal Processing, Communications, and Control Symposium, Lake Louise, AB, Canada, 4 October 2000. [Google Scholar]
  46. Einicke, G.A.; White, L.B. Robust Extended Kalman Filtering. IEEE Trans. Signal Process. 1999, 47, 2596–2599. [Google Scholar] [CrossRef]
  47. Sander, J.; Xu, X.; Ester, M.; Kriegel, H.-P. A density-based algorithm for discovering clusters in large spatial databases with noise. In Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining, Portland, OR, USA, 2–4 August 1996; pp. 226–231. [Google Scholar]
  48. Dietmayer, K.; Kellner, D.; Klappstein, J. Grid-based dbscan for clustering extended objects in radar data. In Proceedings of the 2012 IEEE Intelligent Vehicles Symposium, Alcala de Henares, Spain, 3–7 June 2012. [Google Scholar]
  49. Wikipedia. K-D Tree. 28 February 2023. Available online: https://en.wikipedia.org/wiki/K-d_tree (accessed on 21 March 2023).
  50. GCC, The GNU Compiler Collection. 2023. Available online: https://gcc.gnu.org/ (accessed on 22 March 2023).
  51. Wikipedia. Real-Time Computing. 16 November 2023. Available online: https://en.wikipedia.org/wiki/Real-time_computing (accessed on 1 December 2023).
  52. Ubuntu Linux. 2023. Available online: https://www.ubuntu.com/ (accessed on 22 March 2023).
  53. Eigen. 2023. Available online: http://eigen.tuxfamily.org/index.php?title=Main_Page (accessed on 22 March 2023).
  54. Zhao, S.; Huang, B. On Initialization of the Kalman Filter. In Proceedings of the 6th International Symposium on Advanced Control of Industrial Processes (AdCONIP), Taipei, Taiwan, 28–31 May 2017. [Google Scholar]
  55. Piché, R. Online tests of Kalman filter consistency. Int. J. Adapt. Control Signal Process. 2016, 30, 115–124. [Google Scholar] [CrossRef]
  56. CARLA. Open-Source Simulator for Autonomous Driving Research. 2023. Available online: https://carla.org/ (accessed on 31 March 2023).
  57. Farag, W. Real-Time Autonomous Vehicle Localization Based on Particle and Unscented Kalman Filters. J. Control Autom. Electr. Syst. 2021, 32, 309–325. [Google Scholar] [CrossRef]
  58. Spangenberg, R.; Goehring, D.; Rojas, R. Pole-based Localization for Autonomous Vehicles in Urban Scenarios. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Republic of Korea, 9–14 October 2016. [Google Scholar]
  59. Gao, H.; Cheng, B.; Wang, J.; Li, K.; Zhao, J.; Li, D. Object classification using CNn-based fusion of vision and LIDAR in autonomous vehicle environment. IEEE Trans. Ind. Inform. 2018, 14, 4224–4231. [Google Scholar] [CrossRef]
  60. Gao, H.; Su, H.; Cai, Y.; Wu, R.; Hao, Z.; Xu, Y.; Wu, W.; Wang, J.; Li, Z.; Kan, Z. Trajectory prediction of cyclist based on dynamic Bayesian network and long short-term memory model at unsignalized intersections. Sci. China Inf. Sci. 2021, 64, 172207. [Google Scholar] [CrossRef]
  61. Hosur, P.; Shettar, R.B.; Potdar, M.B. Environmental awareness around vehicle using ultrasonic sensors. In Proceedings of the 2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI), Jaipur, India, 21–24 September 2016; pp. 1154–1159. [Google Scholar] [CrossRef]
  62. Wiseman, Y. Ancillary Ultrasonic Rangefinder for Autonomous Vehicles. Int. J. Secur. Its Appl. 2018, 12, 49–58. [Google Scholar] [CrossRef]
Figure 1. The RTMCL workflow.
Figure 1. The RTMCL workflow.
Wevj 15 00005 g001
Figure 2. Workflow of the UKF.
Figure 2. Workflow of the UKF.
Wevj 15 00005 g002
Figure 3. The motion model of an arbitrarily moving road object.
Figure 3. The motion model of an arbitrarily moving road object.
Wevj 15 00005 g003
Figure 4. The workflow of the UK for lidar and radar fusion.
Figure 4. The workflow of the UK for lidar and radar fusion.
Wevj 15 00005 g004
Figure 5. Overview and a flowchart of the particle filter algorithm.
Figure 5. Overview and a flowchart of the particle filter algorithm.
Wevj 15 00005 g005
Figure 6. Egocar localization outcomes in the shown test track.
Figure 6. Egocar localization outcomes in the shown test track.
Wevj 15 00005 g006
Figure 7. Egocar orientation (yaw angle) estimation and ground truth in the testing track.
Figure 7. Egocar orientation (yaw angle) estimation and ground truth in the testing track.
Wevj 15 00005 g007
Figure 8. Performance of the yaw rate and speed of the egocar through a 3 − lap driving on the testing track (blue is the yaw rate and red is the speed).
Figure 8. Performance of the yaw rate and speed of the egocar through a 3 − lap driving on the testing track (blue is the yaw rate and red is the speed).
Wevj 15 00005 g008
Figure 9. Errors decay throughout the PF start-up phase.
Figure 9. Errors decay throughout the PF start-up phase.
Wevj 15 00005 g009
Figure 10. The distribution of particles’ weights during a single-lap tour by the egocar.
Figure 10. The distribution of particles’ weights during a single-lap tour by the egocar.
Wevj 15 00005 g010
Figure 11. The distribution of detected poles (red dots) during a single-lap touring by the egocar.
Figure 11. The distribution of detected poles (red dots) during a single-lap touring by the egocar.
Wevj 15 00005 g011
Table 1. The noise parameters of the object model, PF, and UKF.
Table 1. The noise parameters of the object model, PF, and UKF.
ParameterUKF/PFParameterUKF
σ a m/sec21.0 σ p y (lidar) m0.15
σ ψ ¨ rad/sec20.6 σ ρ (radar) m0.3
σ ψ ˙ rad/sec0.06 σ φ (radar) rad0.03
σ p x (lidar) m0.15 σ ρ ˙ (radar) m/sec0.3
Table 2. UKF state variable initialization.
Table 2. UKF state variable initialization.
ParameterUKFParameterUKF
p x  m1st raw x-reading p y  m1st raw y-reading
v  m/sec0.0 ψ  rad0.0
ψ ˙  rad/sec0.0 σ p ^ x  m1.0
σ p ^ y  m1.0 σ v ^  m/sec 1000
σ ψ ^  rad 1000 σ ψ ˙ ^  m/sec2 1000
Table 3. Values for the PF initialized parameters.
Table 3. Values for the PF initialized parameters.
ParameterPFParameterPF
σ x G P S 0.3 m σ x a r t i f i c i a l 10 m
σ y G P S 0.3 m σ y a r t i f i c i a l 10 m
σ θ G P S 0.01 rad σ θ a r t i f i c i a l 0.05 rad
σ x p o l e 0.3 m σ y p o l e 0.3 m
Table 4. The UKF’s performance assessment.
Table 4. The UKF’s performance assessment.
State VarCyclistCarPedestrianPole
p x 0.06480.18570.06520.0324
p y 0.08090.18990.06050.0433
v x 0.14520.47450.53320.0032
v y 0.15920.50750.54420.0054
ψ 0.03920.25800.20750.0075
Table 5. Assessment of the UKF performance for lidar/radar sensor fusion.
Table 5. Assessment of the UKF performance for lidar/radar sensor fusion.
Lidar + RadarLidar OnlyRadar Only
RMSE- p x 0.06480.16120.2031
RMSE- p y 0.08090.14640.2539
RMSE- v x 0.14520.20820.1971
RMSE- v y 0.15920.21290.1871
RMSE- ψ 0.03920.05400.0480
NIS-Average2.27971.69412.6576
NIS-Min0.00120.048740.11309
NIS-Max14.74912.99712.183
NIS > 95% Threshold2.2%3.2%5.2%
Table 6. The PF uses numerous counts of particles.
Table 6. The PF uses numerous counts of particles.
# Particlesx-Errory-ErrorYaw-ErrorExec. Time
15122.3433.0021.59590.268 ms
250.13820.12400.00480.486 ms
500.11430.11540.00400.739 ms
1000.11540.10710.00371.224 ms
1500.10980.10600.00372.086 ms
2000.11020.10390.00362.403 ms
Red is the worst-case scenario, green is the best-case, and # is no. of.
Table 7. The influence of the landmark standard deviation.
Table 7. The influence of the landmark standard deviation.
σ x p o l e σ y p o l e x-Errory-ErrorYaw-Error
0.30.30.11430.11540.0040
0.50.50.17300.16330.0057
1.01.00.29260.27360.0098
Table 8. Details of an individual pose estimation processing time by the RTMCL.
Table 8. Details of an individual pose estimation processing time by the RTMCL.
ProcessExecution Time
State estimation by the UKF for 12 poles12 × 439 μs
Clustering using GB-DBSCAN & RANSAC + data association using the ICP.835 μs
Pose estimation by the Particle Filter739 μs
Overhead by control tasks—20%1368 μs
The sum of execution times8210 μs
Table 9. Comparing the proposed approach with other stand-out methods.
Table 9. Comparing the proposed approach with other stand-out methods.
Comparison AspectThis Work (RTMCL)(Spangenberg et al. [58])(Weng et al. [35])(Suhr et al. [41])
Mean Error (Lateral)11 cm20 cm16.4 cm (Max: 99.6 cm)49 cm
Mean Error (Longitudinal)11 cm20 cm16.4 cm (Max: 99.6 cm)95 cm
Sensor ConfigurationGPS, IMU, radar, lidar, particle filter, Kalman filter.Stereo camera, GPS, particle filter, Kalman filterLidar, RTK-GPS, IMU, wheel encoder, Bayesian filter.Digital map, GPS, IMU, front camera.
Localization ApproachReal-Time Monte Carlo, Pole-based reference map, particle filter, Kalman filter.Pole-based reference map, stereo camera, GPS, particle filter, Kalman filter.Pole-based mapping, lidar, RTK-GPS, IMU, wheel encoder, Bayesian filter.Digital map, GPS, IMU, front camera, particle filter.
Results ComparisonSignificantly advantageous20 cm mean error16.4 cm mean error (Max: 99.6 cm)95 cm longitudinal, 49 cm lateral error
Table 10. Comparing the proposed approach with work based on other fusion techniques.
Table 10. Comparing the proposed approach with work based on other fusion techniques.
AspectGao et al. [59]Gao et al. [60]Proposed Approach
TopicAutonomous vehicle object detection.Cyclist trajectory prediction.Real-Time Monte Carlo Localization (RTMCL) for autonomous vehicles.
MethodologyDeep learning combining vision and lidar data.Integrated framework with DBN and LSTM for cyclist intent prediction.RTMCL with GPS, IMU, radar, and lidar data, incorporating clustering and particle filter techniques.
Key TechniquesUpsampling lidar, depth feature map, CNN.DBN, LSTM with encoder-decoder, clustering algorithmsParticle filter, UKF, clustering algorithms, ICP.
Performance MetricsImproved classification accuracy using fusion.Predicts cyclist intentions within 0.9 s, and outperforms baseline methods.Achieves 11 cm mean error, and handles uncertainties in pole-like landmark positions.
ImplementationVehicle-mounted camera and lidar, NVIDIA® GeForce GTX Titan X, and NVIDIA® Jetson TX1Lidar (Velodyne VLP-16, 10 fps) and a mono camera (IDS UI-5250CP-C-HQ, 15 fps).Implemented in C++ on Intel 1.6-GHz Core i5 with 8 GB of RAM, real-time performance demonstrated.
Future DirectionsConduct real-world experiments based on a vehicle-mounted domain controller.Explore cyclist-ego vehicle interaction, enhance robustness and interoperabilityAdd a front camera, incorporate additional road objects, and explore machine-learning approaches for improved localization.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Farag, W.A.; Barakat, J.M.H. Utilizing Probabilistic Maps and Unscented-Kalman-Filtering-Based Sensor Fusion for Real-Time Monte Carlo Localization. World Electr. Veh. J. 2024, 15, 5. https://doi.org/10.3390/wevj15010005

AMA Style

Farag WA, Barakat JMH. Utilizing Probabilistic Maps and Unscented-Kalman-Filtering-Based Sensor Fusion for Real-Time Monte Carlo Localization. World Electric Vehicle Journal. 2024; 15(1):5. https://doi.org/10.3390/wevj15010005

Chicago/Turabian Style

Farag, Wael A., and Julien Moussa H. Barakat. 2024. "Utilizing Probabilistic Maps and Unscented-Kalman-Filtering-Based Sensor Fusion for Real-Time Monte Carlo Localization" World Electric Vehicle Journal 15, no. 1: 5. https://doi.org/10.3390/wevj15010005

Article Metrics

Back to TopTop