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 input pointcloud #62

Open
enricocovili opened this issue Nov 23, 2024 · 11 comments
Open

Question about input pointcloud #62

enricocovili opened this issue Nov 23, 2024 · 11 comments

Comments

@enricocovili
Copy link

Hi, first let me congratulate to you for your fantastic work.

I want to ask a simple question, just to be 100% sure: does patchworkpp support only 360° pointclouds?
I was trying to get it to work with a partial pointcloud but i don't think that's possible

@enricocovili
Copy link
Author

Working with 180° pointcloud, my bad

@enricocovili
Copy link
Author

enricocovili commented Nov 29, 2024

I recently discovered an issue with a specific pointcloud. The crashes appears immediately when processing point cloud data from an OS1 128 Ouster LiDAR. Specifically, the crash occurs when the point cloud data does not begin from grade 0 of the LiDAR sensor.
I'm wondering if there's a configuration parameter I can adjust to resolve this, or would it be more practical to preprocess the point cloud data before passing it to Patchworkpp (like changing tf or the pointcloud itself) ?
thank you

image

@enricocovili enricocovili reopened this Nov 29, 2024
@LimHyungTae
Copy link
Member

Have you tried to run Patchwork++ on your data? I guess it does not count.

@enricocovili
Copy link
Author

enricocovili commented Dec 6, 2024

Have you tried to run Patchwork++ on your data? I guess it does not count.

Yeah, my data is the pointcloud coming from the image above. We managed to find what seems to be the real issue:

if (zone_idx == 0 && normal_(2) < params_.uprightness_thr)

The code crash on this line while trying to access normal_, as it has not been initialized after patchwork wasn't able to find a ground. Our current """fix""" was to change all 4 vectors to a fixed sized in the header. Everything seems to work well with this patch.

I'm reporting this as probably, almost surely, there is a better method to accomplish this task.

Just to give some context: I'm running patchworkpp using ROS2.

@LimHyungTae
Copy link
Member

Aha, by any chance, did you change the sensor height parameter?

@enricocovili
Copy link
Author

Aha, by any chance, did you change the sensor height parameter?

Yeah, i'm not 100% sure but i think we changed it to 1m

@LimHyungTae
Copy link
Member

But it's weird that there are none of the ground points. Could you share some pcd files for us?

@enricocovili
Copy link
Author

But it's weird that there are none of the ground points. Could you share some pcd files for us?

In the first screenshot there were no ground point because patchwork was crashing instantly. After the changes i described earlier everything was working fine (we are still tuning some parameters)

@enricocovili
Copy link
Author

Any update on this? Can I help in some other ways?

@LimHyungTae
Copy link
Member

That's strange, though. If you have time, could you do PR about that vector one?

So you'are saying you changed the original code:

    Eigen::VectorXf normal_;
    Eigen::VectorXf singular_values_;
    Eigen::Matrix3f cov_;
    Eigen::VectorXf pc_mean_;

to

    Eigen::Vector3f normal_;
    Eigen::Vector3f singular_values_;
    Eigen::Matrix3f cov_;
    Eigen::Vector3f pc_mean_;

? Do I follow you?

@enricocovili
Copy link
Author

Yeah you got the idea, i opened the PR as you asked

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