How positional tracking achieve past trajectory correction while loop closure?

Hello,
I am using the positional tracking function as ground truth to make RGB-pose dataset. If enable_area_memory: true, when the place that has been walked is detected, the pose will correct the drift but there will be a big jump.
I have tried to move around the field repeatedly to stabilize the pose, then save the map to .area, and then import the .area to relocate in the environment, but the effect was not good and there was more pose jumping.
I also tried enable_pose_smoothing: true but it didn’t help much.
I would like to ask if there is any way to achieve pose alignment and shared error to optimize and correct the entire trajectory after loop closure, similar to the effect of the ORB-SLAM method etc.
the complete trajectory after global optimization can be obtained.
This is important to me because I want to use it as an offline dataset.

:This is one of the results of my operation. I always take the same height and walk back and forth. I hope to get the entire corrected trajectory and the corresponding image. Currently, I store the image and pose frame by frame.



:Schematic of trajectory correction.

Looking forward to your reply!

Hi @Ming

This is an expected behavior if the path drifts during camera movements.

This feature is not available.

You can try to improve the positional tracking behaviors by using the ULTRA depth mode and by setting the positional tracking mode to sl::POSITIONAL_TRACKING_MODE::QUALITY

Hi @Myzhar,
Is there any chance to add the function of historical trajectory correction in the future?

Why do you recommend Depth mode: ULTRA instead of NEURAL?
Isn’t NEURAL supposed to get better performance?
In addition, can you please explain the actual meaning of the depth_stabilization configuration? In the document, it is stated that the value is [0~100], which can be used to improve the performance of positional tracking. Does this mean that if I want the best accuracy, I should set it to 100?

There is another question, when I import .area, will the positional tracking map constantly continue to update based on the old map?

Thank you for your patient reply!

The SDK team is working on improving the behaviors of the Positional Tracking module. I cannot exclude that this feature will be available in the future.

Because I know that there is a feature of the Positional Tracking that allows to obtain better performances when using ULTRA together with the sl::POSITIONAL_TRACKING_MODE::QUALITY setting.

Yes, this is true for depth perception, not always in combination with positional tracking.

No, depth stabilization must stay at lower values for dynamic applications.

Yes, it does.