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

Why do we add NAN points instead of just skipping them? #28

Closed
facontidavide opened this issue Aug 2, 2019 · 2 comments
Closed

Why do we add NAN points instead of just skipping them? #28

facontidavide opened this issue Aug 2, 2019 · 2 comments

Comments

@facontidavide
Copy link

I am referring to this part of the code.... https://github.com/RoboSense-LiDAR/ros_rslidar/blob/master/rslidar_pointcloud/src/rawdata.cc#L873-L882

Wouldn't be easier and more efficient to just skip the point ad, for instance, the Velodyne drive does?

This might be related to issue #27, since people might rely on the index of the point to determine the ring and removing the NAN points might be an issue for them.

@YoshuaNava
Copy link

YoshuaNava commented Mar 6, 2020

Hi @facontidavide

I think the Velodyne guys were actually going in this direction. Adding NaN to non-existent points in a point cloud is a way of "ordering the point cloud" (possible next steps -> matrix representation -> image compression). Ordered point clouds enable computations to run row and column-wise from scratch, and the size of each dataframe can be computed in advance.

An applied example: the multi-scan registration part of loam_velodyne, or a big chunk of LeGo-LOAM are just ordering the point cloud, to reach the point where they know what's the neighborhood of each point for which they'll compute the smoothness coefficient.

Hope this helps.

Yoshua

@facontidavide
Copy link
Author

ok. I guess it might be an acceptable tradeoff...

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