# Experimental Analysis of the Behavior of Mirror-like Objects in LiDAR-Based Robot Navigation
## 6 Potential Solutions  
In the previous sections we discussed the challenges imposed by reflective objects on the SLAM algorithm. However, there are some workable solutions that can be adopted to alleviate these problems. First, sensor fusion and the complementary properties of sensors can be utilized to detect mirrors. Unlike LiDAR, which fails to detect reflective objects, sonar sensors can detect mirrors and windows. However, the combination of LiDAR and sonar sensors adds to the robot costs, and fusion of two individual occupancy grid maps boosts computation. Additionally, sonar sensors suffer from frequency inference of external ultrasound sources or crosstalk. To obviate the need for additional sensors, symmetries of real objects and their images in the mirror can be used. This method requires a reference object. The robot itself can be considered the reference object, and by moving it, the mirror symmetry between the robot and its images can be utilized to detect the mirror location. Robot self-detection can facilitate this process (Figure 15). Another solution is machine learning employment. Instead of using classical techniques, where the features of the range and intensity data should be manually designed, the end-to end learning pipeline of deep learning methods can be utilized. Deep learning methods can be utilitarian to extract distinguishing features from reflective and nonreflective objects, leading to more accurate mirror detection results. However, these methods require a massive amount of training data, and the whole learning process should be repeated when the robot working environment is changed. To address this issue, unsupervised machine learning algorithms can be employed.  
Clustering is an ideal candidate because it does not require a learning process and can be implemented in real time. Various clustering techniques have been proposed that cluster the input data based on distribution, partition, or density [22]. Density-based spatial clustering of applications with noise (DBSCAN) [23] is able to cluster LiDAR data into mirror and nonreflective sets because they have different properties. Figure 22 shows the proposed solution for clustering mirrored points and removing them in a postfiltering process. The LiDAR scan readings are used as input to the DBSCAN clustering algorithm. Each outlier property can be categorized based on range and intensity readings. Diffuse surface properties remain within a normal range of range and intensity. Negative space properties, caused by mirrors, should provide no range readings and very low or no intensity readings. Self-detection properties can be characterized with very high-intensity readings. Mirror reflection properties mostly include an area of no range or intensity. These properties can be fed into the algorithm to remove clusters that are affected by mirror reflection.  
Figure 22: Proposed Preprocessing Algorithm.  
The next step would be to implement a postprocessing algorithm (Figure 23). Assuming that all mirrors are plane mirrors, the border conditions of all empty map scans are considered. Using ROS parameters to update the SLAM node, the new map should connect the boundary points. Implementing preprocessing and postprocessing algorithms along with continuous map updates should enable all mirrors to be mapped as diffuse objects in real time.