Map update - node statistics, aging and delete

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Map update - node statistics, aging and delete

akunin
Hi Mathieu,
In order to support dynamic environment I thought to manage statistics for each signature (e.g. number of matches/inliers, succesfull loop-closures).
Then delete nodes that haven't contributed in loop-closures for some time and add new nodes in append mode.
Have you considered such approach? Any inputs for criteria?
thank you
Reply | Threaded
Open this post in threaded view
|

Re: Map update - node statistics, aging and delete

matlabbe
Administrator
Hi akunin,

I have thought about it too, but I didn't have time to try it to make a working example. Similarly to your idea, I was thinking about making a semi-continuous mapping approach by recording data while the robot is in localization mode, then detect, by some re-localization statistics, the areas the robot didn't re-localize as often as before. An offline tool could select areas with low re-localization rate and do an "append" with nodes recorded during the localization session around that area, then finally discard the old nodes of that area.

Ideally, we may want to update the map before the robot cannot re-localize anymore in an area. Using the number of matches/inliers could help to identify where the re-localization recall would slowly decrease over time. To do so, we would need to record statistics over time for the nodes in the map: how many times we localized on? How many inliers/matches we had when localizing on? The assumption is that if the environment slowly changes over time, we would see inliers/matches over a specific node decreasing over time. For fast drastic changes, the robot would not re-localize, so a statistics about how long the robot has been close to a node in the map without re-localizing could be another statistic. However, if the robot is mislocalized, that could affect wrongly that statistic. Note also that for some nodes, we may never relocalize on (e.g., heavily textureless/white wall areas), so may not need to be replaced.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Map update - node statistics, aging and delete

akunin
thanks it makes sense.
one more question related to append/update mode. what will be happened if a new node is added near existing one? do you keep both nodes ? I'm afraid of memory issues for big maps after append
Reply | Threaded
Open this post in threaded view
|

Re: Map update - node statistics, aging and delete

matlabbe
Administrator
Hi,

Currently yes, that would lead to situations like described in that paper, where duplicated nodes are added to the map and the map is growing out of bound even when continuously revisiting the same areas. An idea is to set a maximum node density threshold, so that we remove old nodes in a fixed radius around any new nodes (loop closures or not). However, as described in this other paper, in some cases, we may want to keep multiple versions / duplicates of same location (with two nodes not linked by a loop closure but very close to each other) when there are cyclic environmental changes (natural lighting).
Reply | Threaded
Open this post in threaded view
|

Re: Map update - node statistics, aging and delete

akunin
Hi Mathieu,
I wondering why you suggest recording data during localization and perform offline post-processing for map update and not just add/remove nodes during navigation in localization mode?
thanks