Rosanswers logo


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: http://www.mediafire.com/?pt2ikau56vf171s

The rxgraph output for move_base with sbpl planner is here: rxgraph_sbpl.dot 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: http://www.mediafire.com/?t0r8nkc2xdf2ysv

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 : http://www.mediafire.com/?4vcnmtyi12mcofk

For SBPL : , a tar file containing yaml and launch file are at: http://www.mediafire.com/?gt3wwdhio25s5sq

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 data by connecting to sick using sick_toolbox_wrapper.

Originally posted by prince on ROS Answers with karma: 660 on 2012-03-21

Post score: 1


1 Answer 1


Rosanswers logo

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.

Originally posted by Procópio with karma: 4402 on 2012-04-27

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.