Ekumen-OS / lambkin

Apache License 2.0
7 stars 0 forks source link

Degraded laser scans as lidar quality proxy #37

Open hidmic opened 3 years ago

hidmic commented 3 years ago

Description

To understand how a 2D SLAM system behaves with lidars of various accuracies, one simple approach is to decimate (i.e. reduce the angular resolution) and add gaussian noise to laser scans recorded with a high-quality sensor as a proxy to lower quality ones.

Definition of Done

Lobotuerk commented 3 years ago

Have you seen this one? https://hal.archives-ouvertes.fr/hal-03220397/document, https://www.researchgate.net/publication/269325588_A_probabilistic_model_for_simulating_the_effect_of_airborne_dust_on_ground-based_LIDAR

JCarosella commented 3 years ago

Have you seen this one? https://hal.archives-ouvertes.fr/hal-03220397/document, https://www.researchgate.net/publication/269325588_A_probabilistic_model_for_simulating_the_effect_of_airborne_dust_on_ground-based_LIDAR

I haven't. I'll take a look at them, thanks!

JCarosella commented 3 years ago

To discuss:

I was thinking in two ways of degrading the 2D scan:

  1. Add constant, user configurable noise. The type of noise and their parameters could be configurable, be it Gaussian, Uniform, etc.
  2. Remove a user configurable percentage of data.

The things I would like some input on are:

hidmic commented 3 years ago

@JCarosella both options, (1.) and (2.), make sense to me. About the process itself, I think we can afford offline processing, in which case:

How would we configure the parameters? Perhaps a yaml file loaded into rosparam?

Command line arguments may work equally well. Feel free to use configuration files though.

The idea is to take the input data, degrade it and obtain the result, so there would be no point in making the parameters dynamically reconfigurable right?

If it's an offline processing tool, I wouldn't expect it to be dynamically reconfigurable, no.

Can I assume I'll be always reading from a rosbag?

I'd say so, yes. To read from and write to a rosbag appears to be the simplest approach.

JCarosella commented 3 years ago

Regarding how to remove measurements/simulate different resolutions, we should investigate what real devices do when lowering the resolution. Based on that, try to mimic it.