Ask Your Question

costmap2DROS warning: " still waiting on the map" at launch of sbpl navigation

asked 2012-03-21 19:50:43 -0600

prince gravatar image

updated 2014-01-28 17:11:42 -0600

ngrennan gravatar image


I am working on establishing path planning on Pioneer 3AT using ROS diamondback, Ubuntu 10.04. We had generated a map of floor using gmapping. We are using resultant map as static map for autonomous navigation. Pioneer can do some path planning using navfn. It can execute the plan after a lot of rotations/oscilations. Stack is functional with Navfn.

We decided to use SBPL lattice planner for better path planning. Keeping all other costmap parameters same, we just changed the planner from Navfn to SBPL (obviously with relevant configrations). But we are facing a problem. On launching the move_base with SBPL planner as global planner, it just keep on waiting on map. Following is the INFO message from Costmap2dROS

"... still waiting on map "

and This message comes exactly once and no planner is created! Normally I observe this message comes couple of times before a map is received.

On Digging in the code, i found this message is coded in costmap_2d_ros.cpp in following while loop:

113      while(!map_initialized_ && ros::ok()){
114        ros::spinOnce();
115        ROS_INFO("Still waiting on map...\n");
116        r.sleep();
117      }

costmap_2d class subscribes to /map topic for map. but the corresponding callback Costmap2DROS::incomingMap is not getting called. I can visualize the map in rviz. I had unchecked and checked /map topic multiple times. It always gets visualized. So I believe it is getting published correctly by map_server.

I have one more observation which I am not able to understand. On running following command

rostopic hz /map

i do not get anything on console! I expected i will get publishing frequency of map.

The rxgraph generates very different outputs for movebase with Navfn and sbpl planner. The rxgraph output for move_base with Navfn is here:

The rxgraph output for move_base with sbpl planner is here: These files are dot files can be visualized using dotty. sbpl file shows a lot less published topic since planner is not created in this case. I had tried to keep the configuration parameters correct.

The launch files for similar to available with sbpl_lattice_planner. Following are my launch files:

ROSAria, Sick LMS , AMCL nodes are started with this launch file:

For NavFn planner, following files executes and try to follow path: costmap_common_params.yaml, base_local_planner_params.yaml, global_costmap_params.yaml, local_costmap_params.yaml :

For SBPL : , a tar file containing yaml and launch file are at:

I am not able to find out when similar configuration works in Navfn, then, why move_base keeps on waiting on map in case of sbpl launch configurations?

Any kind of hints or help will definitely help Thank you


UPDATE1 While trying to generate same error in simulation environment, i started changing launch files in sbpl_lattice_planner package. If I comment launch of stageros node, I gets same behavior. costmap2d_ros just waits.

For costmap2d_ros to function, I had published the map using map_server package and Laser ... (more)

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2012-04-27 02:12:53 -0600

Procópio gravatar image

When I had that type of problem, it was related to my move_base_config files. In your local_costmap_params.yaml, I noticed that you have:

global_frame: /map
#global_frame: odom

I suggest you to uncomment the odom line and comment the map line.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2012-03-21 19:50:43 -0600

Seen: 774 times

Last updated: Apr 27 '12