I have a question regarding the Position Tracking module.
When I use a recorded data file (SVO2) to run the Position Tracking feature, the results returned for each trial are completely different. Could you please explain why this happens? Additionally, how can I configure the setup to make the results more stable and consistent?
Hi @DatPhamPhenikaa
This is expected if loop closure (enable_area_memory) is enabled.
The GEN_3 is fully repeatable when enable_area_memory is set to false.
@DatPhamPhenikaa, when working on Jetson or on a less powerful PC, to obtain replicable results, you must also set svo_real_time_mode to false:
In SVO real-time mode, the SDK could skip frames to maintain the expected frame rate and this can cause random behavior according to which frame is skipped in different system load conditions.
I would like to address the consistency of the position and rotation results. These are the two most critical outputs of Position Tracking. However, despite following your setup instructions, the results remain inconsistent.
As you can see in the images I sent, the results for both translation and rotation are not consistent. This happens even though I am using the exact same dataset, test.svo2, which I previously shared with you.
Same test.svo2
- First Translation : -0.13 -0.03 -0.05 ——— First Roation : -0.63 0.38 0.04 - SecondTranslation : -0.12 -0.03 -0.05 ——— Second Roation : -0.63 0.33 0.05
- Third Translation : -0.15 -0.02 -0.04 ——— Third Roation : -0.63 0.36 0.05
Why don’t all the trials on the same dataset yield the same result? Furthermore, this inconsistency becomes much more obvious when testing on datasets with longer distances.