iris-ua / iris_lama_ros

LaMa on ROS
BSD 3-Clause "New" or "Revised" License
208 stars 59 forks source link

LifeLong Mapping #38

Open TZVIh opened 3 years ago

TZVIh commented 3 years ago

Hi, If I built a map and I work with localization mode. The area has changed and I am interested in updating the map while driving. Is there such a possibility?

facontidavide commented 3 years ago

In the past, I was toying with keeping the mapping always on. It was working surprisingly well, but my two cents are that you never really know if you map gets corrapted, without a "human in the loop". To be fair, I expect any SLAM that claims to have "lifelong mapping" to face similar problems.

@eupedrosa may have a different opinion, but I think that lifelong mapping mkes more sense in a SLAM implementation that uses graph slam under the hood.

eupedrosa commented 3 years ago

I think that for "lifelong mapping" you need some mechanism where areas of the map can be "forgotten" so it can change over time.

LaMa SLAM assumes that the environment is static with some "sprinkles" of dynamic objects, e.g. a person walking by. Furthermore, the more it senses an area the more difficult it is to change it. This happens because it uses an occupancy map that is based on how frequently a cell is marked as free or occupied, all without an upper bound.

If the environment quickly changes its geometry, it may work. But I would not bet on it.

And just like @facontidavide said, there is always the possibility to have a corruped map. If that happens, it may never recover.

Graph SLAM may (indeed) be the best approach. But LaMa does not uses graphs (maybe in the future ????).

TZVIh commented 3 years ago

@facontidavide @eupedrosa Thanks for your answers! I have currently built a map of several rooms and I am interested in adding the rest of the rooms on the floor to the map.

From the answers, I understand that it is better for me to build a new map or work with graphs.

I'm really happy with LAMA's performance so I do not want to move to another approach :)