I'd like to extract "features" of an environment scanned with a 2D LiDAR.
I tried to create a temporary occupancy map to extract "corners" with the Harris Corner Detector. However LiDAR data is noisy, it creates false corners even after applying a Gaussian filter on the map. I wonder if there are more reliable algorithms for this.
Another method I tried is to use raw data output of the LiDAR, i.e. the $(r,\theta)$ vector, and calculate its first and second derivatives and choose "abrupt changes" as landmarks. This has a major drawback, it is harder to track landmarks when LiDAR position changes since $(r,\theta)$ vectors are totally different.
I appreciate any help. Thanks.