0
$\begingroup$

Rosanswers logo

I am currently attempting to map a building using the gmapping package, but I have some issues with the accuracy of my map. Right now I'm relying on the wheel odometry and a 2D laser scan. I figure I can make the map more accurate if I can use an existing floor plan and localize based on that, but I'm not entirely sure of how to draw and dimension a map for usage with a package. I also don't know which package would allow me to import this map and best localize based on it. Any help would be greatly appreciated.


Originally posted by Rwl on ROS Answers with karma: 1 on 2017-05-18

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The amcl package is a popular choice for localizing within premade maps. However, I've only ever used it to localize within maps I created using gmapping. You could theoretically fill out a nav_msgs/OccupancyGrid message by hand, or through some other method, to generate your map, and then publish it to amcl. However, this may not work how you expect, as the robot's view of the building is percepted only through its laser scan. Anything that is the same height as the laser will be picked up in a scan, including chairs, desks, plants etc. Just inputting walls into a map won't work if there is anything except bare walls within your building.

I would personally recommend improving the odometry and using gmapping to get the map.


Originally posted by ufr3c_tjc with karma: 885 on 2017-05-18

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by Rwl on 2017-05-18:
This is about the answer I was thinking I was going to get. Fortunately for my case, all objects in the room are stationary, and square. However, I was thinking it would be more time consuming and difficult to navigate effectively based off of an existing map than it would be to just use gmapping.

$\endgroup$

Your Answer

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