-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
catch Extrapolation Exception when a bad map frame location. #3252
Conversation
@Cryst4L9527, please properly fill in PR template in the future. @SteveMacenski, use this instead.
|
@Cryst4L9527, your PR has failed to build. Please check CI outputs and resolve issues. |
Well sorry, I understand from the CI build info that the exception tf2::ExtrapolationException should be caught by the tf2::TransformException first, but I still get this crash in my environment, it seems to be because of the version of something like tf2. Maybe this pull can be regarded as a clarification of the crash reason and more compatibility with diverse versions? |
Codecov ReportBase: 82.29% // Head: 82.20% // Decreases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #3252 +/- ##
==========================================
- Coverage 82.29% 82.20% -0.09%
==========================================
Files 341 341
Lines 15537 15539 +2
==========================================
- Hits 12786 12774 -12
- Misses 2751 2765 +14
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
In my experiments the |
I'm confused too, it seems that all the place where runs a transform function have an exception catch, I'll try to find if somewhere else needs a exception catch. |
Basic Info
Description of contribution in a few bullet points
A simple exception catch for robusting the code with some malformed messages, just like #2511.
The detailed crash info is following:
It seems map_server and navigator got bad observations and failed to get a good
map-odom tf
in some timestamps, so thatbase_link-map tf
was not available when extrapolation, which is caught by the function inrobot_utils.cpp
, as following:and for the globalization of local obseration in
observation_buffer.cpp
, abase_scan-map tf
is needed to transform the local observation to global space and might be also unavailable for the above reason, the exception is just like theTransformException
, can be caught in the same way:Description of documentation updates required from your changes
Future work that may be required in bullet points
For Maintainers: