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

SLAM, How do we know when a robot has completed its mapping process

asked 2015-07-08 12:52:16 -0500

miguel gravatar image

I have a general question about the SLAM process, how do we know once the robot has complete its mapping process? Or is it just a matter of a being satisfied with the representation?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-07-08 15:39:22 -0500

Unless your robot is in an entirely static environment, the mapping process is never finished. Things move, doors open, etc. It's up to you to decide when the map is sufficient for your purposes.

edit flag offensive delete link more


Ok that is understandable. But the environment I am working in is completely static. The reason im asking is that I have a requirement to satistfy which says I have to map x in x amount of time, and I need to document the experiment which I need to say when Ill stop the timer, if that makes sense.

miguel gravatar image miguel  ( 2015-07-09 01:04:06 -0500 )edit

That means you are going to implement an exploration algorithm, right? Let's say you use gmapping. Then, you need to navigate the robot to unknown areas. Comparing the performance of exploration methods does make sense. Otherwise, you are just comparing the proficiency of the human operators.

yigit gravatar image yigit  ( 2015-07-09 03:20:23 -0500 )edit

Yes I suppose I would need to implement an exploration algorithm. Im not necessarily measuring the performance of different algorithms but rather just the one I am using. If I implement an exploration algorithm will the algorithm "finish"? Because then I guess that would be answer to my question.

miguel gravatar image miguel  ( 2015-07-10 02:21:22 -0500 )edit

To finish the mapping process is your choice. You just specify a termination criteria. You will need a metric to do that. You can subscribe to the /map topic and use the ratio (number of known cells/number of unknown cells), for example. Finding a more meaningful metric is up to you.

yigit gravatar image yigit  ( 2015-07-10 05:32:33 -0500 )edit

Ok I understand! Thank you very much for the information!

miguel gravatar image miguel  ( 2015-07-10 05:49:35 -0500 )edit

Sure. I just recommend you to take a look at the exploration packages in ROS, there are a few of them. You can understand their approach by doing so. Here is an example: explorer

yigit gravatar image yigit  ( 2015-07-10 06:12:01 -0500 )edit

Thank you very much!

miguel gravatar image miguel  ( 2015-07-10 06:30:15 -0500 )edit

Question Tools



Asked: 2015-07-08 12:52:16 -0500

Seen: 219 times

Last updated: Jul 08 '15