Skip to content

Update ICP and depending libraries to fix long-running crashes #149

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

Merged
merged 5 commits into from
Jan 11, 2023

Conversation

jk-ethz
Copy link
Member

@jk-ethz jk-ethz commented Dec 20, 2022

This PR updates the ICP repository sources, fixing several issues with ICP, mainly crashes that occur when running it for a long timespan (> 1 h).
The crashes were very sporadic and unpredictable, making them hard to pinpoint and debug. ICP mostly ended up with the message

terminate called after throwing an instance of 'PointMatcher<float>::DataPoints::InvalidField'
  what():  Point cloud has 31872 points in features but 32256 points in descriptors
/icp_node died from signal 6
/icp_node left a core dump

issue

This was particularly annoying since ICP not only had to be restarted, but also reinitialized with the current estimated pose of the robot. By that time, the state machine mostly had stopped working already since the TF tree was not connected anymore.

The PR also updates libpointmatcher which had other bugs fixed in upstream repositories not merged into the branch we were depending on, yet.

Related:

@jk-ethz jk-ethz merged commit 5e2c44f into projects/piloting Jan 11, 2023
@jk-ethz jk-ethz deleted the projects/piloting_fix/icp_crashes branch January 11, 2023 09:23
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

Successfully merging this pull request may close these issues.

1 participant