Skip to content

ByteBenderPro/Lidar_2D_Pointcloud_Filter

Repository files navigation

Lidar_2D_Pointcloud_Filter

THIS REPOSITORY IS CURRENTLY UNDER DEVELOPMENT AND SOME INFORMATION MAY CHANGE

Filter algorithm that works with two dimensional pointclouds in polar coordinates (LIDAR-readout filter) Preview image

Description

This algorithm takes lidar-readout data in polar coordinates (closed circle) and returns a filtered dataset in polar coordiantes. Features include:

  • aligning lines to the coordinate axes
  • smoothes uneven scans
  • discards error measurements that are too far off the nearest points, to improve the scan quality by filtering out measurements caused by reflections, etc.

Caution: it is the user's responsibility to rotate the input data in such a way that most lines are roughly parallel to the coordinate axes (only needed when filter threshold is greather than zero), doesn't matter when smoothing is the only needed operation

Comparison RAW / FILTERED (Low threshold value here): Comparison

Example

The following data is a readout of a living room using a very cheap 2D-Lidar module: Input data

After filtering, the plot looks the following: Output data

Example project

I build an example device and .net Interface to demonstrate how the algorithm behaves under real-world-conditions: Device

A ST VL53L1X Time-Of-Flight Sensor is the heart of this lidar implementation: Sensor

Project (uses UART to communicate with the host PC): Sensor

About

Filter algorithm that works with two dimensional pointclouds in polar coordinates (LIDAR-readout filter)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages