ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Complete coverage path planner

asked 2013-06-27 09:41:58 -0500

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

ngrennan gravatar image

Hi guys,

I'm looking for node that can plan a path that complete coverage a know/unknow map.

There is something that I can use out of the box?


EDIT 1: Nothing out of the box, so could someone help a newbie developer to write a community one?Or could in someone way a newbie developer help to write a community one? I think that it is not an heavy work, or maybe am I wrong? There is quite a lot of example on the internet but nothing for ROS. I'm sorry but I don't know so much C# or python languages to write my own package that can do the job. I have an idea, made by reading some page on the internet, on what it have to do but no one on how to write it down.

Another Thanks everybody

EDIT 2:Thanks @lindzey for the answer. I'm a mechanical designer with interest in programming (without any big experience) and eletronics so my focus is mainly on the physical part of the robot then the code part. I try to learn how ROS works to know how to integrate it on my project and viceversa. Following the tutorials I get the move_base stacks works but arrived to the main problem of my project I found only documentation like this but not a real stack that do the job so I was wondering if someone could help me to find it or a way to write a simple stack. I don't want to steal nothing to anybody but I would create a node that can be usefull for a lot of DIY project like mine. I know that this is not yet a question but could I remove it or reedit when I get more info?

EDIT 3: Sorry for my bad explanation,I had setup my own robot platform and arrived on the move_base stack I was wondering if there is something that give a sequential nav goals, that are all my "node" or better all the area the robot need to visit, put in order with something like the "Travelling Salesman Problem" and integrate with the move_base stack for the obstacle avoid. I'm able to modify some piece of code for minimal personal setting, like adding odometry on my motor driver node, I'm not sure if is enough for writing a new node that do what I want.

edit retag flag offensive close merge delete



As it's written now, this question is probably too broad to get a good answer. Are you trying to learn C++ or python? Have you gone through the ROS tutorials? Are you having trouble understanding the online description? No idea how to turn the pseudocode into real code? Include links!

lindzey gravatar image lindzey  ( 2013-07-17 11:26:43 -0500 )edit

(Also, depending what you're stuck on, it may or may not be a question suitable for this site, but you may well get a pointer to another resource)

lindzey gravatar image lindzey  ( 2013-07-17 11:29:34 -0500 )edit

OK - I'm still not sure what you're after here. You link to a research paper - is your basic system set up already, and all that's left is implementing the planner? Are you starting from scratch and trying to write a ROS driver for your robot? Have you done anything in simulation?

lindzey gravatar image lindzey  ( 2013-07-17 13:58:38 -0500 )edit

Do you have finally the code?

Moda gravatar image Moda  ( 2014-07-10 05:31:32 -0500 )edit

Similar to (and a few others listed there)

lucasw gravatar image lucasw  ( 2016-02-15 18:35:53 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2013-07-17 16:03:51 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

As lindzey mentioned, it is best to go through the tutorials first. This will help you understand how nodes are written in C++ and Python. You should be able to decide which language (or even both) you wish to use after understanding the basics.

Back to your main question.. yes there is something out of the box, but it is not just one node, but a combination of nodes: the navigation stack does path planning. But as you can see from the tutorials, it requires multiple steps to get it working, hence the need to understand the basics of the ROS system.

If you wish to try a short cut, you can look for robots that use the navigation stack, then modify their code to suit your robot. Turtlebot has generally good documentation and could be a good starting point.

edit flag offensive delete link more



Just noticed danielq has already started on the navigation stack, so changing this to wiki for other more experienced users to chime in. This may be a good starting point for newbies learning ROS using a robot platform (as opposed to current tutorial which focuses on the ROS system)

weiin gravatar image weiin  ( 2013-07-17 16:10:18 -0500 )edit

answered 2016-02-15 11:02:50 -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

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: 2013-06-27 09:41:58 -0500

Seen: 4,156 times

Last updated: Feb 15 '16