How to enable_localization_only but still get pose from VIO with positional tracking

Hi Stereolabs team,

Working on a project using the zedx camera to localize indoors, and have run into a bit of an issue with the positional tracking. We will be attempting to localize at high speeds using the camera, which can be difficult and our robot will frequently lose track of where it is on the map, defaulting to VIO. If we lose where we are in the map, currently we run with area mapping on and it automatically switches to VIO, but adds frames to the map which consistently grows it. We are looking for a solution that allows us the capabilities of VSLAM through positional_tracking with area memory, the fallback of VIO if it loses track of where it is, and does not add to the map when localizing and running.

So far we have tried the enable_localization_only flag, but when lost the pose publishing stops. That would not work for our case where we need a fallback. We are currently running with area_memory, and just not saving the new frames added at the end of the run. Is there a way to do this with the SDK that I am not aware of? Otherwise I will implement a custom solution for this, wanted to check on this first however.

Thank you!

Hi @jtappen,

Thanks for reaching out and for your feedback on the positional tracking module.

The behavior you are describing makes sense; we are planning to change the behavior of tracking GEN3 to the following:

  • when using VSLAM with an area map loaded, and disabling map updates (through enable_localization_only=true), positions in the WORLD frame are still returned when the SPATIAL_MEMORY_STATUS is LOST (meaning that the system is currently navigating outside of the known area map)

Please let me know if this fits your need here, and we will integrate this in a next version or patch of the ZED SDK!

Hi @mattrouss,

Yes this behavior would be perfect! If this could be added in the next iteration/patch of the SDK we would love to use this and would definitely help our reliability.

Thank you!

Hi @jtappen,

We’ve just released ZED SDK 5.3.0, which includes this feature :+1: