Position Tracking Issue. Inconsistent results in Position Tracking using recorded SVO2 data

Hi StereoLabs team,

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?

Thank you.

Hi @DatPhamPhenikaa
Welcome to the StereoLabs community.

What version of the ZED SDK are you using?
What Positional Tracking and Camera settings?

Hi @Myzhar . Thank you for your replied!!!
My ZED SDK version : 5.2 running on jetson orin NX jetpack 6.2
Here is my setting for Positional Tracking

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.

I also ran it with the enable_area_memory = False configuration, but the Pose results from the Position Tracking module remain inconsistent.

Could you please share the SVO so we can test it in our labs?

Let’s confirm about inconsistent results for each trail.

Hi @DatPhamPhenikaa
Thank you for the SVO file. The team will use it to try to replicate and fix this behavior.

@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.

Here is output in nvidia 4090:
https://drive.google.com/drive/folders/16RSXh7wLbQcuWJPLKCOv3OrS-5pSY1Qt
Here is output in jetson orin NX :
https://drive.google.com/drive/folders/1g6JkgPTJ3ga9673QnPmymfu6ljjjijA8

  • I also set svo_real_time_mode to false, enable_area_memory to false. But the results still inconsistent.
  • I also tested on longer trajectory but the result inconsistent again.

Hi @DatPhamPhenikaa
I’m sorry, but I do not understand the meaning of your screenshots

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.

Hi @DatPhamPhenikaa
please share the code that you are using.

Here is my code

If you can truly verify the results with complete consistency across trials, please show the result to me. Thank you very much!

me and phamthanhdat270198 is the same one. please check that code.

@Myzhar Have you finished reviewing the program?