Frame transform name matching issue #497
Replies: 3 comments 1 reply
-
Hey @thomassedlmayer, Thanks for bringing this up — very good points. Just to clarify, the correct and recommended approach for handling this kind of situation — both in Lichtblick and in ROS in general — is through If you have logically equivalent frames with different names (like Using Regarding adding this mapping capability directly in the UI: while it could be useful as a convenience feature in the future (especially when dealing with data sources that can't be modified), it is not the preferred approach right now. Ideally, transforms should come from the data itself, and Lichtblick will rely on that to resolve positioning and hierarchy correctly. Does this make sense and address your case? Thanks again for raising this! |
Beta Was this translation helpful? Give feedback.
-
By the way, you can use for now this link for reference about the FrameTransform: https://docs.foxglove.dev/docs/visualization/message-schemas/frame-transform |
Beta Was this translation helpful? Give feedback.
-
@aneuwald-ctw Thanks for the quick reply!
The issue I see is that at the time of data creation you may not know what frame names the extensions expect. This requires an extra step of regenerating the data with the corresponding frame transforms in order to be compatible with a set of extensions (requiring the person/tool that creates data to know about the internals of the involved extensions). Also, if an extension for some reason changes frame transform names, you would have to readjust your data to adapt to that change. And still, frames with identical names can not be handled differently because of a lack of namespace scoping, right? This seems like a major problem if Lichtblick aims to encourage working with different independent data sources and extensions. You can't really tackle this issue by publishing additional frame transforms if I understand that correctly.
From a long-term architecture perspective, wouldn't it be preferable to decouple frame transform naming/handling from the data, at least for visualization purposes? This seems like a nightmare for debugging and inspecting "old" data or data that you did not generate by yourself and know nothing about.
I'd hand this question over to @Yaccoub since he is the one who experienced the issue first-hand. He might be able to tell you if this is a acceptable solution. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
As far as I understand the features of Lichtblick, it is currently not possible to overlay data coming from different topics in the 3D panel if the naming of frame transforms does not match.
Apparently, attaching scene entities to the "scene graph" of the 3D panel is completely dependent on the "unique" naming of frame transforms.
E.g. if certain scene entities are attached to frame transform "xyz" and other scene entities (e.g. from another topic) are attached to frame transform "abc", it is not possible to somehow connect these even if "xyz" and "abc" are logically at the same position (e.g. a certain fixed reference point at a car).
The other way round, frame transforms with the same name (but used by different topics) are handled the same, even if they potentially aren't exactly the same.
Also see lichtblick-suite/asam-osi-converter#92 by @Yaccoub
Proposals
It should be possible to create additional custom transforms from the Lichtblick GUI and manipulate their parent transform by typing the corresponding transform name (see screenshot). This would enable creating potentially missing frame transform names and attach those to any desired frame transform.

It should not be assumed that frame transforms with the same name are handled the same for all topics by default. E.g. the "root" of one topic could differ from the "root" of another topic even if they're both called "root".
@Yaccoub @jdsika Please feel free to complement/adjust my problem description and proposals if I missed something.
Beta Was this translation helpful? Give feedback.
All reactions