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

Full coverage path planner

asked 2014-07-09 09:24:51 -0500

Moda gravatar image

updated 2014-07-21 02:48:33 -0500

I have a differential robot, with a laser Hokuyo, and I want my robot to cover the whole part of a map. I saw that there is some algorithms but I can't find a code. So have someone already implement such algorithms?

Thank you

edit retag flag offensive close merge delete


Is it really hopeless?

Moda gravatar image Moda  ( 2014-07-10 05:29:34 -0500 )edit

hey @Moda im trying to work on the same algorithm, been really hard getting around it. have you had any progress/luck since the time u asked ur question here? Thanks!

sobot gravatar image sobot  ( 2015-03-27 11:51:16 -0500 )edit

Similar to (and a few others listed there)

lucasw gravatar image lucasw  ( 2016-02-15 18:36:11 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2014-07-17 02:35:18 -0500

Sebastian Kasperski gravatar image

Do you have a map already or do you want to build a complete map of your environment? In the latter case, you could try the exploration module from:

It completely explores an unknown environment and builds a map using 2D Laser-Scanner.

edit flag offensive delete link more


I already have the map. What I want is that the robot cover the complete map, it must go in every free space of the map.

Moda gravatar image Moda  ( 2014-07-17 05:47:57 -0500 )edit

Then you have to somehow define, which area of the map is covered when the robot moves within the map. But I don't know if something like this exists in ROS.

Sebastian Kasperski gravatar image Sebastian Kasperski  ( 2014-07-17 10:01:29 -0500 )edit

I concur. I don't know of any code that does this.

David Lu gravatar image David Lu  ( 2014-07-19 12:00:53 -0500 )edit

There is lot of algorithms which deal about that specific issue, so I'm surprise that anybody tried to implement one of this algorithms

Moda gravatar image Moda  ( 2014-07-21 02:14:10 -0500 )edit

is there a ROS package that supports autonomous map building? for example, we can just place the robot in a room and it begins to build the map by itself vs. teleop control.

d gravatar image d  ( 2014-07-27 01:56:17 -0500 )edit

Re-exploring a known area was my initial use case for You can use the client tool to set an exploration boundary in rviz. It can also be used to explore an unknown area with gmapping.

paulbovbel gravatar image paulbovbel  ( 2014-07-29 13:37:02 -0500 )edit

Paul,I find your package is a good job.I'm a newer to ROS and when I use your package I have some trouble that I can't build it.when I use the command catkin_make in the root of my own workspace there are some errors.It says "Could not find a configuration file for package costmap_2d and move_base_m

herodotus gravatar image herodotus  ( 2014-09-16 04:39:39 -0500 )edit

so can you tell me how to solve the question or how you build this package?Thank you.

herodotus gravatar image herodotus  ( 2014-09-16 04:41:18 -0500 )edit

answered 2016-02-15 11:02:03 -0500

spmaniato gravatar image

The heatmap package ( ) says it does coverage path planning as part of its functionality. The source code is here and looks maintained:

The heatmap package itself uses the coverage path planner from the Auburn Autonomous Lawnmower stack ( ), which looks out of date.

edit flag offensive delete link more


Hi there. Do you know why the heatmap uses wifi? Is it possible for me to get coverage by just using the automow?

RoSPlebb gravatar image RoSPlebb  ( 2016-07-14 13:34:00 -0500 )edit

Because it's a "ROS package for automated creation of visual WiFi heatmaps." I suspect that you would have to tinker with the source code to only use the coverage functionality.

spmaniato gravatar image spmaniato  ( 2016-07-14 13:51:48 -0500 )edit

Or maybe not. See what happens if you run this launch file without the wi-fi stuff: heatmap_sim.launch

spmaniato gravatar image spmaniato  ( 2016-07-14 13:53:24 -0500 )edit

Yeap it works but unfortunately it is only used to generate coverage way points of a geometry polygon drawn by using publish_point in rviz. It does not generate coverage path for your input map.

jjbecomespheh gravatar image jjbecomespheh  ( 2020-08-12 04:38:46 -0500 )edit

Question Tools



Asked: 2014-07-09 09:24:51 -0500

Seen: 4,871 times

Last updated: Feb 15 '16