A Python Qt based tool for editing maps generated by ROS gmapping package.
This was inspired by lack of any editors dedicated to this purpose. All chatter I could find just mentioned using Gimp, or some equivalent for editing these files, which is quite inadequate.
In particular, I needed a way to add areas of map which are "out of bounds" for the robot, but not necessarily obstacles detected by sensor. Things like ponds, sand traps, flower beds, etc. Flat surfaces, not detected by sensors in mapping, but off limits (or highly dangerous) to the robot.
I also needed a way to match the map with a real world map like Google Maps and associate grid cells with lat/lng.
Also, just general cleanup of map is an arduous taks with Gimp, et al.
With the Map Editor tool, I can now do all of these things (well, some of these features have yet to be added).
-
Edits files of type pgm with an accompanying yaml file describing metadata as generated by ROS gmapping package
-
Grid cells can be set to occupied (black), unoccupied (white), or uncertain (gray).
-
Thumb image shows entire map with the current viewport indicated (weirdly, commercial packages did not have this)
-
Can zoom 100%, 200%, 400%, 800%, and 1600% for large grain to fine grain work
-
Set color choice to white (unoccupied), black (occupied), gray (uncertain), and alternating (white->black->gray).
-
Can color free form with mouse drag or pixel by pixel by clicking
-
Draw rectangles
-
Overlay Google Map
-
Start a New map (currently only opens on current map)
-
Associate map/grids with lat/lng
-
mods to yaml file as well
- Move to this package
$ cd ros_map_editor
-
Move your map and yaml file to this directory
-
Run the editor
$ python3 MapEditor.py (your_map_file_name)