# SLAM - definitions

Simultaneous Localization and Mapping, right?

As the robot moves through the world, it is collecting scanner information and using various strategies comes up with a gradually improving map of the places it has been (mapping) and where it is located in that map (localization.)

What about navigation? It knows where it is (localization) and some of the map (mapping) and a destination on the map. Does the usual definition of Slam include the algorithms that will find a safe path from where it is to where it wants to go?

I ask to clarify a confusion in my mind. What I’ve seen makes it look like when we get to navigation the map_server is publishing a particular map, and I don’t see provisions for that map to change while we are navigation. I am sure I am missing it, but that’s what I am trying to clarify. Thanks.

p.s. I asked this same question on discourse and it was ruled out of order and closed 1 minute later. Weird because I would think this question falls under "general discussion" but I guess not. Pretty swift justice.

edit retag close merge delete

Sort by » oldest newest most voted

SLAM (as traditionally defined) only covers the localization and mapping process; it doesn't cover motion planning or execution.

I've seen the process of concurrent map-building and navigation frequently referred to as "Exploration" , and there are a few ROS packages that implement various exploration solutions (I haven't tried any of them personally).

It takes a bit of digging, but the static map layer in move_base has the option of subscribing to map updates on a configurable topic: http://wiki.ros.org/costmap_2d/hydro/... (ignore the hydro in that link; the docs should still apply to the current ROS releases). The map topic is frequently used to pass updates from a SLAM system to the navigation stack, if you're building your own exploration system.

more