I have a question about SLAM. Is it common for SLAM to be used for mere map generation? For instance, have a map generated using ORB-SLAM and then freeze the map for future path planning where future updates are prohibited. I suppose, the map becomes a static map. However, is the common application to constantly update the map?
2 Answers
Yes, if you mean "incorporate new information".
Not really, if you mean "re-run maplab with new point clouds".
There isn't really a "common" application for SLAM, per se. However, one emerging industry is self-driving cars (or trucks). The need to regularly update maps to account for construction, new roads, closures, and so on is fairly obvious. (note, most maps don't include mobile cars or pedestrians, so sensing them is not quite updating the map).
Another common use of SLAM (by another name) is photogrammetric inspection of infastructure. This is the use of drones or cameras to construct 3D models of guardrails, buildings, bridges, etc. Here, we directly compare two maps to see what changed.
So, it may seem the answer is Yes, we often update maps in practice. However, I want to point out a subtlety here. By update in SLAM we mean incorporate more sensor readings to better pinpoint landmarks or expand the map into new areas. This is usually not done. We don't take new measurements and update the old position of the old guardrails after an accident. Instead, we take new measurements, and discard the old location of guardrails because they have in fact moved. The same is true for all the other cases I've mentioned.
The problem is the colloquial definition of update is correct the map to incorporate all new information, including movement of landmarks. In this sense, yes, we update it. I want to point out that the automatic updating of maps in this sense is not possible using ORBSLAM or other methods currently in literature that have found popularity through "drones flying through buildings" type videos. This should be considered an active and fruitful future area of research.
From my point of view, the answer really depends on the context you are working in.
For example, in most industrial applications when people refer to SLAM navigation, they incorrectly mean Lidar based localization. In fact, SLAM is only applied in the first step, when creating the map. Then, the map is saved as you said and used for the localization. This has to be done this way since the precision needed in those applications is quite challenging, and remapping might cause precision loses.
In other contexts, the approach might be different (autonomous navigation, cartography, etc.), and the maps might be updated in runtime.