You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RViz handles messages slightly in the past correctly, so it’s unclear why messages with timestamps slightly in the future are not displayed. While TF2 may seem like the cause, it is reasonable to expect users to handle extrapolation themselves.
Possible Solutions
Message History: RViz could maintain a history of messages and display the most recent message that can be transformed without extrapolation.
Extrapolation by RViz: RViz could extrapolate the transform itself.
Skip Extrapolation: If TF2 fails with tf2::ExtrapolationException, simply use the latest available transform in the TF buffer.
RViz fails to display messages with timestamps slightly in the future
RViz skips displaying messages with timestamps a few milliseconds into the future, showing a vague error message:
rviz/rviz_common/src/rviz_common/display.cpp
Lines 211 to 218 in 325f272
Upon investigation, I traced the issue to the
TFWrapper
class, where TF2 is queried without any fallback in case of anExtrapolationError
:rviz/rviz_default_plugins/src/rviz_default_plugins/transformation/tf_wrapper.cpp
Lines 47 to 53 in 325f272
RViz handles messages slightly in the past correctly, so it’s unclear why messages with timestamps slightly in the future are not displayed. While TF2 may seem like the cause, it is reasonable to expect users to handle extrapolation themselves.
Possible Solutions
tf2::ExtrapolationException
, simply use the latest available transform in the TF buffer.Proposed Solution (Option 3)
Here’s a potential fix using the third approach:
Similar changes would need to be applied to other
TFWrapper
methods.The text was updated successfully, but these errors were encountered: