Self-driving systems require the creation of perception, which means that they must learn to interact with their environment, gather information and perform tasks while driving. Localization and mapping are essential concepts that any autonomous vehicle must perceive, as they provide information about the location and distance between objects. The absence of GPS, for example, in tunnels and urban canyons, makes it necessary to develop robust methods based on other vehicle equipment, such as Lidar, cameras, IMU, or to combine them all. Based on Lidar measurements, our work presents an architecture consisting of two main phases of mapping and localization; The mapping phase creates a global map of the environment based on non-semantic features using a fuzzy c-means algorithm instead of a semantic algorithm as it was done in some state-of-the-art work. In addition, the remaining clusters were filtered using the DBSCAN algorithm. The localization phase adopted here followed the particle filter architecture; motion update, measurement update, and resampling to estimate the positions. The main contribution of this work is the novel extension of selecting particles to reduce computational time and maintain long-term localization reliability. We have exhibited a method to select relevant particles after motion updates, based on two approaches: clustering with the k-means algorithm and the sigma points algorithm, which were thoroughly examined on short sequences of the Kitti dataset to discover the best one. The selected approach thoroughly tested on the Pandaset dataset. In addition, we tested our method on a long sequence dataset and compared it with the most recent methods. The analysis performed demonstrated the speed of our method and its ability to capture the features needed for real-time localization. Furthermore, it outperformed the well-known localization methods.