0
$\begingroup$

Rosanswers logo

Hi, I am trying something and I need some help.

I have two robots which are mapping the same environment by using separate GMapping algorithms and building separate maps. During the mapping process, I want to send the maps to a host computer time to time. On this host computer, I want to merge these maps but as you can guess, unless the maps have a large area of intersection, using ICP or a similar algorithm wont work.

So I placed distinct landmarks in the environment (like the soccer playing robots use, cylinders with colored stripes) and I can detect them with the help of Kinect which enables me to know the position of the landmark relative to the robot. And with the help of GMapping, I know the position and orientation of the robot according to the map. The plan is, sending the seperate maps to the host with landmarks tagged on it and the host can easily match the position of the landmarks and merge the maps (with necessary translations, rotations and distortions if necessary).

What my problem is, GMapping expands the map if it needs to. And coordinates of the points on the map change if that happens (I am planning to use the pgm files as maps but any other suggestions would be appreciated). How can I get the coordinates of the points and my robot on the map (with negative coordinates if necessary) relative to an absolute position (like the start position of the robot)?


Originally posted by Sekocan on ROS Answers with karma: 38 on 2014-10-10

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The MapMetaData defines an origin. The transformation of the same point relative to this origin should not change.


Originally posted by dornhege with karma: 31395 on 2014-10-10

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by Sekocan on 2014-10-10:
Thank you! It was so simple yet hidden :) I did some experiments and saw that the MapMetaData origin values change according to the expansion of the map and always give the real world coordinates of the bottom left corner of the map.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.