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

What is the appropriate nav config for autonomous frontier_exploration?

asked 2014-10-29 16:33:33 -0600

jordan gravatar image

I have a robot that can successfully localize, navigate and reach goals submitted to the move_base package within the ROS Navigation stack. It's using ROS Hydro with Ubuntu 12.04 running on dual-core 1.6 GHz Intel Atom netbook, AMCL and a static map (previously created using teleop/gmapping). Now I would like to use frontier_exploration to have the robot explore autonomously. Actually, I would like it to explore completely unknown space and use gmapping to create a new static map as it explores (not utilizing a previously generated map). I believe this is a supported use case for the frontier_exploration package. Could someone confirm that?

On reading the documentation, I see that there are two options:

  1. without global map
  2. with global map

Regarding the global map: is that a reference to the move_base global costmap, a gmapping map, or a static map on the map server, or other? My impression is it could be any of those (but it's not clear). Is it correct?

What is the purpose of frontier_exploration if you already have a global map? If someone would explain that, it would help my understanding. However, as already stated, exploring with a pre-built static global map is not my objective here.

In setting up navigation to work with frontier_exploration, I'm faced with the issue of how to configure the navigation stack itself. I think I want to use option #1 above (unless option #2 refers to a map created on-the-fly by gmapping?), which leads me to believe I do not want to load a global map in the navigation launch file. Therefore, I would omit the following (from the move_base node launch):

<rosparam file="$(find hexapod_2dnav)/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find hexapod_2dnav)/global_costmap_params.yaml" command="load" />

Beyond that, for my above described use case, I should remove the launch of AMCL and substitute it with the launch of gmapping?

Is the above correct?

Thanks very much for any advice.

edit retag flag offensive close merge delete


Hi, i was wondering if you could get the frontier_exploration work for you? i got a tiny little problem with it.

sobot gravatar image sobot  ( 2015-05-07 14:08:35 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2014-10-29 22:48:10 -0600

paulbovbel gravatar image

Option #2 DOES include creating a global map on the fly with gmapping. Sorry for the confusion, I'm going to have to think about how to reword that documentation to make everything clearer. In essence, global_map.launch is for when you have a /map topic, and no_global_map.launch is for when you don't.

Yes, you should omit AMCL and use gmapping. They both provide the very important /map->/odom transform.

global_map.launch should work relatively out of the box for you, just substitute the proper sensor and robot configuration, mirroring your move_base setup.

What is the purpose of frontier_exploration if you already have a global map

My original use case was actually to explore a known map and search for a person.

edit flag offensive delete link more


Hi @paulbovbel sorry for directly bugging you here, i have an Issue with frontier_exploration package and pretty much read most of the available online resource. could you please check my Question here. Thanks so much!

sobot gravatar image sobot  ( 2015-05-07 13:06:45 -0600 )edit

I'm sorry but I don't understand by what you mean when you say no map topic?Explored data needs to be published on some topic right?

RS gravatar image RS  ( 2015-07-26 18:54:47 -0600 )edit

Question Tools

1 follower


Asked: 2014-10-29 16:33:33 -0600

Seen: 533 times

Last updated: Oct 29 '14