Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about FP ground points in distant sectors #60

Closed
a120471 opened this issue Oct 31, 2024 · 2 comments
Closed

Question about FP ground points in distant sectors #60

a120471 opened this issue Oct 31, 2024 · 2 comments

Comments

@a120471
Copy link

a120471 commented Oct 31, 2024

I try out the patchwork++ recently, and thanks for your efforts on this work. It's very efficiency and user-friendly. :)

However, I encountered some FP ground points. After diving into the implementation code, I find one particular line somewhat puzzling:
https://github.com/url-kaist/patchwork-plusplus/blob/master/cpp/patchworkpp/src/patchworkpp.cpp#L268

From my understanding, when using the default parameter num_rings_of_interest = 4, all distant sector ground points seem to be consistently included in the final ground. Which means if any distant sectors missed the ground points, there is a big chance that some FP points will be included.

Is this the intended behavior? Thanks.

@Navsea
Copy link

Navsea commented Jan 21, 2025

If the points are not upright, they start checking whether the sector is near or not.
If it is not near, they say that they cannot infer any information from elevation (and so don't need to check flatness either).
The reasoning is that the slope could be steep, so that the mean ground height could be high.
So checking the mean ground elevation and comparing that to a threshold no longer makes sense.

If you want, underneath is the calculation of how far the default parameters do look for unrealistic ground elevation.

My understanding is that the sector is assumed to be near when the concentric_idx is smaller than the num_rings_of_intrest, 4 in your case.
By default, you have multiple rings in each zone. this is defined with the following parameter:
num_rings_each_zone = {2, 4, 4, 4}; // Setting of Concentric Zone Model(CZM)

So 2 rings of Z1, and 2 rings of Z2 are considered near by default.
The mimimum distance is: 2.7m , the max distance is: 80m! which covers a range of: 77.3m
The start of z2 is at 2.7 + 77.3 / 8 = 12.36m
The start of z3 is at 2.7 + 77.3 / 4 = 22.02m

So the near zone starts from 2.7m until 17.19m, for anything beyond that, only the uprightness is checked.

@a120471
Copy link
Author

a120471 commented Jan 22, 2025

Thanks for the reply~ It makes sense to me.
I'll dive into it later when needed.

@a120471 a120471 closed this as completed Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants