The researchers from ETU "LETI" have proposed a scan matching algorithm for filtering 2D laser scans taken by lidars. This new approach reduces the average time of data processing and improves the robot's performance by saving its computational resources.
The researchers developed formulas that enable filter adaptation to a particular robot with known speed and characteristics of lidar. It was also proposed to use an indoor corridor detector for indoor environments. The results were published in a top-rated international journal Robotics and Autonomous Systems.
In modern robotics, there are various applications of lidars and rangefinders using such algorithms as SLAM (simultaneous localization and mapping) and SfM (structure from motion). Both technologies have a common disadvantage -; they collect simultaneously too little and too much data. On the one hand, there is too few data because it is impossible to smooth or approximate this data without significant loss of accuracy. At the same time, there is too much data because it requires a lot of memory to store and process scans that appear every 30 ms. For example, there is no need to capture laser scans so frequently for a robot moving slower than 60 km/h. This can otherwise result in a loss of accuracy due to the excess of dense point clouds.
Head of Department Kirill Krinkin and Assistant Professor Anton Filatov from Software Engineering and Computer Applications Department at ETU "LETI" analyzed several well-known techniques for reducing dimension of a laser scan. They concluded that to make filtering faster it is necessary to reduce the amount of input data and determine if each upcoming scan is valuable or not. If a scan is valuable, the filter should transfer an original scan to a core of a SLAM algorithm.
To achieve that, LETI researchers proposed a correlation filter to process 2D laser scans. Its core idea is to compare the current incoming laser scan to the previous one. If the latter is 'similar', then the current scan should not be processed. 'To avoid the noise in observations, it is better to compare an incoming scan to several previous ones. Hence, a sliding window of scans appears that plays a role of reference for new incoming scans.' – as explained by Kirill Krinkin.
To calculate scan correlation, it was proposed to make histograms based on a division by ranges, and by angles, and then calculate Pearson correlation coefficient.
When the robot moves through featureless environments, i.e. along corridors, it is important to avoid losing valuable information. To achieve that, the researchers proposed to detect corridor scans before filtering and not drop them. The easiest way to check this is to look through every point of a laser scan and to calculate the sign of range difference of the current point and the next one. The accuracy may vary depending on the corridor concept and might be different in specific circumstances.
The researchers tested the technique on the MIT Stata dataset and TUM dataset. The scan filter was injected in such algorithms as vinySLAM, Gmapping and Google Cartographer.
'The experiments have shown that the proposed filtration algorithm is much faster than the well-known scan matching algorithms (filtration takes 5,9⋅10-5 seconds and vinySLAM scan matching takes 12,9⋅10-3 seconds on the Raspberry Pi 3 platform). The result shows that the mean scan processing time is decreased by more than 40% and computational resources can be redirected for other tasks." – as concluded by Kirill Krinkin.
The research was supported by the Ministry of Science and Higher Education of the Russian Federation. Some materials and equipment have been provided by JetBrains