Localization mode without updating the spatial map

Hi all,

I was wondering if there is a possibility to work in a localization-only mode where the spatial map is not being updated. There is the spatial memory feature that can be used to save an area file and reload the same spatial map for relocalization. However, it seems that after reloading this spatial map, it is still being updated. Would it be possible to fix this loaded spatial map and make it static so it is only used for localization?

Many thanks!

Hi @Nick
the spatial mapping process can be paused:
https://www.stereolabs.com/docs/api/classsl_1_1Camera.html#a5db2da9ac4ea32418539def1eed35166

But I’m not sure that we are speaking about the same thing. The local area map is part of the positional tracking module, not of the spatial mapping module:
https://www.stereolabs.com/docs/api/structsl_1_1PositionalTrackingParameters.html#a5732d2a19ac924dbdfd3e7a8ff162ca6

Hi @Myzhar ,

Thank you for your response. My apologies if I’m using the wrong terminology.
What we would like to do is to first generate an area map in a preprocessing step and then in a second phase reload the map and solely apply localization without updating the area map. It looks very much like what is explained in the doc, however in our experiments we have the feeling that the area map is still being updated with new information.

Kind regards,
Nick

Hi @Nick
yes, the area map is always updated with the new information when you close the camera.

Hi @Myzhar

Is there any option to disable this and keep the area map static? Or is this something that can/will be added in the future?
If the area map continues to update, I don’t fully understand how the tracking of multiple devices in the same space works: Area Memory and Relocalization | Stereolabs
For example, if both cameras start from the same area file and both cameras are updating the area map with new information, then over time inconsistencies between both systems will be introduced.

As I said, your feedback is much appreciated!

I’m reporting this issue to the team and I let you know.

@Nick when you start the positional tracking module with an existing area memory, the module updates it internally to introduce the eventual modifications of the environment, and improve the localization. When you stop the module the new updated area memory is not saved on the same file if you do not pass the filename as a parameter of the disablePositionalTracking function:
https://www.stereolabs.com/docs/api/classsl_1_1Camera.html#ab30eefa02528b9c95d3a44aedb35ae2c

We consider introducing it in future versions of the SDK

Hi,

Do you find a way to prevent the memory_area from being updated during the operation?
I know the memory_area is being updated over time, but don’t know how exactly the update process is. Does it replace the old feature of the environment with the new feature or keep adding new features into the existing environment?

Thanks.