navrobot / lidar-scans-feature-extraction

Gradient based feature extraction for laser scans

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

 

lidar-scans-feature-extraction

Gradient based feature extraction for laser scans

Top language Status

About   |   Content   |   Tests   |   Starting   |   Implementation   |   License   |   Author   |  


🎯 About

Script for extracting features (corners) in laser data (eg. 360 lidar scans). Script is based on gradient technique. The designed algorithm works very good with corner detection task. The examples show that the algorithm finds the corners correctly. There is only one user-adjusted variable to set - the threshold. It is possible to implement a version of this algorithm with adaptive threshold adjustment, but this could affect its execution speed. The presented algorithm is good for feature-based localisation.

πŸ“¦ Content

features_detection.py - main script data - directory with example data

πŸ”¬ Tests

'step.json' dataset

 

'wall.json' dataset

 

🏁 Starting

# Clone this project
$ git clone https://github.com/KamilGos/lidar-scans-feature-extraction

# Access
$ cd lidar-scans-feature-extraction

# Run the project
$ sudo python3 features_detection.py

πŸ‘€ Implementation

To extract corners from given sets of data the gradient-based algorithm was used. The first step was to plot the data in polar scale to see the data that we have to deal with. The data refer to the situation when robot is next to the box. The box is a cube, that has a notch in the middle. On the left there is a wall. In the next step, the data was presented in relation of distance to angle.

Knowing, that the data satisfy the assumptions of the function, then the gradient ofeach measurement was calculated. It can be observed that the gradient local extremescorresponds to the corners. Next step was to filter the gradient values using the thresholdfunction (true value correspond to success corner detection)

True if gradinet > threshold or gradinet < - threshold
False else

The last step is to translate the data from polar to Cartesian coordinate system:

 

πŸ“ License

This project is under license from MIT.

πŸ§‘β€πŸ’» Author

Made with ❀️ by Kamil GoΕ›

 

Back to top

About

Gradient based feature extraction for laser scans

License:MIT License


Languages

Language:Python 100.0%