Lidar Ground Filters

Hi There,

I’ve noticed that there are two pointcloud ground filters, ray_ground_filter, and ring_ground_filter.

  1. Where can I find documentation or a research paper on the algorithms each one employs?
  2. Do we know which one performs better, or are there certain scenarios in which one performs better than the other? It seems like the ring filter is the newer one, so I assume it is the better one?
  3. For the ring ground filter, does it assume evenly spaced beams? The 32 beam model seems hard-coded, so I’m wondering if the filter would perform differently for a Velodyne VLP-32 or an HDL-32 (which have different angular resolutions and FOVs).

Related links:
https://github.com/autowarefoundation/autoware/issues/745
https://github.com/autowarefoundation/autoware/pull/655/files
https://github.com/autowarefoundation/autoware/issues/761
https://github.com/autowarefoundation/autoware/issues/825

Any help is greatly appreciated!
Thanks,
Ian

3 Likes

@Ian_Colwell ray_ground filter is very well described in this design document and in the re-write for ROS2: https://gitlab.com/AutowareAuto/AutowareAuto/blob/master/src/perception/filters/ray_ground_classifier/design/ray-ground-classifier-design.md.

For the ring_ground_filter lets ask @amc-nu.

We (at Apex) use the ray_ground filter and are very happy with it. I am not aware of any performance comparison to the ring_ground_filter.

1 Like

@Ian_Colwell

Ring Ground Filter was developed by Patiphon Narksri. A Nagoya University master’s student.

The document describing the algorithm can be found here.

If you have further questions, I’m sure he will be glad to help. You can find him here

1 Like

@Dejan_Pangercic Thanks for linking that! I will make sure to look into Autoware.Auto first before posting. I always forget about Autoware.Auto :smile:
Btw, will Autoware.Auto also move to the new github org at some point in the future?

@amc-nu thanks for the link! I came across that before, but found it difficult to correlate it with the source code. I’ll reach out to Patiphon if I have any specific questions. Thanks!

From some quick visual testing on our end, it seemed that the ray_ground_filter performed better. However, we may not be using the ring_ground_filter properly.

Autoware.Auto will stay in gitlab, we just decided on this in today’s Autoware TSC meeting.

The plan is to gradually (within this year) re-implement or port algorithms and tools from Autoware.AI into Autoware.Auto. We will be silently replacing nodes in Autoware.AI with the nodes from Autoware.Auto until Autoware.AI will not be needed anymore. At that point we will either EOL Autoware.AI or keep it around as a sandbox for Autoware.Auto.

1 Like

Hello, I am currently working on data from LiDAR and trying to filter the ground. After some research, I came across the program ray ground filter. I tested it and it gave good results but I need a documentation to be able to understand the principle and to play on the parameters to have better results. Did you find an explanatory document?

Any help is greatly appreciated!
Thanks,
sara

See Dejan’s reply above:

Those are the only docs that I am aware of regarding the ray_ground_filter