
Well, in theory the map should not be changing, just growing in terms of adding information.
So, if you mark your current location in the /map frame, then this should later also be the same position to go back to.
If the maps you are producing look OK, this should be sufficient. Otherwise you need a better SLAM solution or remember the environment and use some global matching procedure to find the spot.
Originally posted by dornhege with karma: 31395 on 2011-05-11
This answer was ACCEPTED on the original site
Post score: 4
Original comments
Comment by felix k on 2011-09-14:
Have you made any achievements? I need to do the same. Or are there any packages to mark positions?
Comment by Pablo Hevia-Koch on 2011-05-12:
Thank you very much for your advice =). I'll give it a shot
Comment by dornhege on 2011-05-12:
That what the "in theory" was for. It can happen that the map deforms to correct accumulated errors. The only real solution is: better SLAM algorithm/input quality or to use some kind of place recognition. E.g. with graph-based SLAM you could remember the current node.
Comment by Pablo Hevia-Koch on 2011-05-11:
Are you sure about this? I've seen maps change in the sense of "deformation" when closing loops, and similar things.
Comment by ctguell on 2013-09-12:
@dornhege How do yo tag a position in the /map??? Ive looked for this answer but was unable to find it. Thanks
Comment by felix k on 2013-09-15:
Just transform your position from its odom frame (or where it is originated from) to the map frame using tf
and store it in a list of positions as wanted.
Comment by ctguell on 2013-09-24:
@felix_k thanks but could you explain how to store that position so later I can see it in rviz for example?? Should i listen to /map and then publish it with a new topic?? I understand the idea but dont know how to make it work, i would really appreciate your help, thanks
Comment by felix k on 2013-09-24:
I've had written a tool that stores positions and can give them to move_base
later, storing just the geometry_msg/Pose objects used in all messages in a list: position_memo.py