Ask Your Question
0

Navigation Stack does not use a map from Gmapping?

asked 2012-01-02 19:28:02 -0500

ParNurZeal gravatar image

updated 2014-01-28 17:11:04 -0500

ngrennan gravatar image

In navigation stack, the tutorial is based on a static map and amcl for localization. When using with slam, some people suggested just exclude the static map and amcl and run gmapping.

I already did that and it worked. However, when I looked into rxgraph, why the only topic move_base(Navigation stack) use from Gmapping is /tf and it does not use /map from Gmapping at all?

I've looked into the code and guessed it might create map by itself in costmap2D from laser scan in move_base node.

If this is true, would it be better to use the real map from Gmapping?

Only costmap from laser scan and correct position from Gmapping through /tf is enough correct?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
4

answered 2012-01-05 04:52:22 -0500

eitan gravatar image

Just to clarify. The costmap_2d is capable of taking updates to the static map from a SLAM system such as gmapping. Any time a new map comes in over the /map topic, the static map used by the navigation stack is re-initialized. Are you sure that the global costmap of the navigation stack is configured to subscribe to this map? If so, you should be seeing the move_base node as subscribed to the /map topic.

edit flag offensive delete link more

Comments

I see. I think I need to check it whether I set the global costmap of the navigation stack to subscribe to the map or not. Because I did not see the move_base node subscribed any /map topic. Will tell again whether this is the problem or not. Thank you very much for guiding :)
ParNurZeal gravatar imageParNurZeal ( 2012-01-09 04:59:43 -0500 )edit
Now, I understand. Like what you said it's true. I set the global cost map not to receive static map but use rolling windows. http://answers.ros.org/question/399/navigation-stack-with-gmapping <-- this made me misunderstand.
ParNurZeal gravatar imageParNurZeal ( 2012-01-13 13:27:07 -0500 )edit
http://answers.ros.org/question/1583/whats-the-difference-between-global-and-local <-- I read your answer in this topics as well. Thank you for clarification!
ParNurZeal gravatar imageParNurZeal ( 2012-01-13 13:28:17 -0500 )edit

@ParNurZeal hi im having your same problem, when i look in the rxgraph i se a tf topic and not a map going in the move_base. Is this correct? Any help would be really appreciated @Eric Perko

ctguell gravatar imagectguell ( 2014-03-10 05:36:38 -0500 )edit
2

answered 2012-01-03 19:34:18 -0500

Eric Perko gravatar image

move_base never subscribes directly to a map. It uses the Costmap2D to handle mapping.

If you look at the costmap_2d docs, you'll see that it does subscribe to /map if your have configured it to initialize with a static map. Note that the map is only read for initialization and will be overwritten if a sensor such as a laser marks those cells as clear (assuming you have a clearing sensor feeding into the costmap that was initialized from a static map).

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

1 follower

Stats

Asked: 2012-01-02 19:28:02 -0500

Seen: 1,951 times

Last updated: Jan 05 '12