ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

Does the navigation stack require a map

asked 2014-05-23 14:04:21 -0500

robzz gravatar image

updated 2014-05-23 14:04:44 -0500

I would like to mess around with the ROS navigation stack with a custom robot that I've built. I'm trying to figure out if it can be used to navigate in a previously unknown environment. The tutorial for setting up a robot to use the nav stack states that a map is not required. But this page on map building says that it does requires a static map. Aren't these statements contradictory? Which is true?

edit retag flag offensive close merge delete

Comments

Any luck on this?

clyde gravatar image clyde  ( 2017-01-05 17:51:29 -0500 )edit

3 Answers

Sort by ยป oldest newest most voted
1

answered 2014-05-24 00:19:01 -0500

dornhege gravatar image

If you want to drive around on a map you need one (and usually can build one). However, to just somehow drive around for testing you can configure the global costmap the same like the local costmap or just use an empty map. Obviously global planning will only be as good as what you provide it with data, but we've used this setup to quickly test navigation controllers on our robots successfully.

edit flag offensive delete link more
1

answered 2014-05-24 07:15:45 -0500

edwin gravatar image

you can use the navigation stack without any static map , just with set static map for both global and local false and windowing true , then you can get /map data from hector_slam and use it for your navigation .

edit flag offensive delete link more
0

answered 2020-05-04 10:27:06 -0500

Roberto Z. gravatar image

It is not mandatory to have a map in order to use the Navigation Stack (move_base).
If your configuration files in YAML format use pre-Hydro parameters (as many examples do) make sure you have set the following:

   global_costmap:
       # Static map vs. rolling window is basically whether to feed the costmap with a map 
       # (and have a fixed origin) or a small rolling window centered on the robot

       # determines whether or not to load an existent map provided by the map_server
       static_map: false

       # set to true to effectively remove the need for an a priori map
       rolling_window: true

If your configuration files define Hydro+ features such as layered costmaps you should define empty plugins to not load any map from the map server:

global_costmap:
     plugins: []

In this case you can remove the static_map parameter as it has been deprecated.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2014-05-23 14:04:21 -0500

Seen: 1,716 times

Last updated: May 04 '20