Move_Base theory of operation

I’m digging into navigation and experimenting with move_base. There are lots of good tutorials and I’ve done some of them. Also there’s some documentation in the wiki, including a neat diagram. However I am looking for a little deeper explanation of the way the collection of libraries and apis actually work. I’ve downloaded the code but that seems to be a level too deep. On the other hand the wiki and tutorials are very recipe driven. (Naturally I’ve googled.)

Can you point me to some resource: web page, journal articles, blog post or anything? Thanks!

1 Like

The nav_core documentation (http://wiki.ros.org/nav_core) might help a bit. This package defines the interfaces used by move_base for the various components (planners, costmaps, recovery behaviors). Every other package basically implements one of these interfaces. One other thing to keep in mind is that you won’t need to use every package – for instance, base_local_planner and dwa_local_planner are both local planners, and you will only need one local planner.

That is helpful. I had read (and re-read) that page before but your hint about the role of APIs and different planners helps me understand it a lot better.

If anyone has any kind of pointer to some more general “theory of operation” it would be great!