What is the purpose of the timestamp field of the SceneEntity class? #993
Replies: 2 comments 1 reply
-
Happy to clarify anything that might be unclear about the question. |
Beta Was this translation helpful? Give feedback.
-
The entities are all rendered when they are received. In your example that would be the time of the The typical workflow goes something like this: You have some system that detects an object and produces a message for this detection. This detection lets say happens at t=99. Either that system/node/whatever produces a SceneUpdate or something downstream produces a SceneUpdate and adds the entity information. The SceneUpdate message is dispatched/logged/whatever at t=100. But to properly place the entity in the scene when we render it, we look at its timestamp (t=99) and find the corresponding frame transforms to place it at the right location in space as if we had received information about it at t=99. Coming back to your example. When the 3D panel receives your entities, it sees timestamps of |
Beta Was this translation helpful? Give feedback.
-
Background
I have a /scenario topic where each message in the topic represents the current and next 10 future states of my robot (like a prediction). Thus, I would like to be able to animate these future states when I playback in Foxglove studio. To do this, I created a message converter that converts each
scenarioMsg
message into aSceneUpdate
message that contains 10SceneEntity
objects each having increasing timestamps representing the evolving future states.My Dummy Implementation
I've registered a simple message converted that creates
SceneUpdate
s. Each time an incoming message comes in, the message converter creates 5 SceneEntity objects. Each object is just a 3D text.The first has a timestamp of 1s, the second has a timestamp of 2s, and so on. But they all have the same lifetime of 1s.
My expectation is that the first text should appear at t=1 and disappear at t=2, the second at t=2 and so on. The first text should appear at t=1.
The Problem
EDIT 1st May, 2024: However, what happens is that all texts appear at the same time at t=3 and dissapear at t=4. t=3 is the timestamp of the first
scenarioMsg
, after that, they all appear again when the nextmyMessage
comes in (eg. t=8) and so on.However, what happens is that all texts appear at the same time not at t=1, but at t=100 and dissapear at t=101. t=100 is the timestamp of the firstscenarioMsg
, after that, they all appear again when the nextmyMessage
comes in and so on.I'm confused by this behavior. Why doesn't Foxglove studio respect the
timestamp
field when displaying entities in the scene?Beta Was this translation helpful? Give feedback.
All reactions