Skip to content

ImageDisplay: report frame issues #1425

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

Conversation

rhaschke
Copy link
Contributor

Currently, image displays report "no image received" - also in case images were received but had an unknown image frame. This PR adds a corresponding failure handling for TF frames.

However, for ImageDisplay an issue remains with CameraInfo: If the camera info is published latched, rviz only receives a single message (either success or failure depending on the frame status). If rviz' fixed frame changes (which probably changes the frame status of the camera as well), this change is not noticed anymore, because updates can only happen when a new TF message is received.

@wjwwood, hence my question: Should we latched CameraInfo messages be supported?
If so, we would need to memorize the latest received message in any case and validate its frame "manually" as soon as the fixed frame changes.

@wjwwood
Copy link
Member

wjwwood commented Sep 23, 2019

Should we latched CameraInfo messages be supported?

Assuming you mean "should we support them", then I'd say, without looking into it much, yes. It seems like something that doesn't change often and therefore is a prime candidate for latching.

If so, we would need to memorize the latest received message in any case and validate its frame "manually" as soon as the fixed frame changes.

That seems like a reasonable thing to do. It would be nice if there was a "on fixed frame changed" callback that displays could implement. Then the ImageDisplay could just implement that and react appropriately when it occurs.

@rhaschke rhaschke force-pushed the image-display-tf-failures branch from 0c16658 to 84af9dd Compare September 29, 2019 11:17
@rhaschke rhaschke force-pushed the image-display-tf-failures branch from 84af9dd to 26ab78e Compare September 29, 2019 14:33
CameraInfos are often published via latched topics. In this case,
the MessageFilter will only receive a single message and thus never issues
a failure callback in case the frame is wrong.
This is because, MessageFilter processes its queue only if a new message arrives.
@rhaschke rhaschke force-pushed the image-display-tf-failures branch from 26ab78e to f8fa98b Compare September 29, 2019 15:00
@rhaschke rhaschke merged commit f8fa98b into ros-visualization:melodic-devel Sep 29, 2019
@rhaschke rhaschke deleted the image-display-tf-failures branch September 29, 2019 15:27
rhaschke added a commit to rhaschke/rviz that referenced this pull request Sep 29, 2019
rhaschke added a commit to rhaschke/rviz that referenced this pull request Sep 29, 2019
- remove unused caminfo_tf_filter_
- integrate clean() into reset()
- remove unused updateStatus()
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.

2 participants