Git Product home page Git Product logo

ros_map_editor's Introduction

ROS Map Editor

A Python Qt based tool for editing maps generated by ROS gmapping package.

ROS Map Editor

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).

Current Functionality

  1. Edits files of type pgm with an accompanying yaml file describing metadata as generated by ROS gmapping package

  2. Grid cells can be set to occupied (black), unoccupied (white), or uncertain (gray).

  3. Thumb image shows entire map with the current viewport indicated (weirdly, commercial packages did not have this)

  4. Can zoom 100%, 200%, 400%, 800%, and 1600% for large grain to fine grain work

  5. Set color choice to white (unoccupied), black (occupied), gray (uncertain), and alternating (white->black->gray).

  6. Can color free form with mouse drag or pixel by pixel by clicking

Future Functionality

  1. Draw rectangles

  2. Overlay Google Map

  3. Start a New map (currently only opens on current map)

  4. Associate map/grids with lat/lng

  5. mods to yaml file as well

Getting Started

ros_map_editor's People

Contributors

theonceandfuturesmalltalker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ros_map_editor's Issues

Hao to use it?

I perform "python MapEditor.py test-nova". The error is:
"test-nova.pgm
MapEditor.py:164: YAMLLoadWarning: calling yaml.load_all() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
for doc in docs:
"
And I Click UI window. The soft will exit. The error is:
"Traceback (most recent call last):
File "MapEditor.py", line 197, in mapClick
self.im.putpixel((x,y), val)
File "/home/nova/.local/lib/python2.7/site-packages/PIL/Image.py", line 1753, in putpixel
return self.im.putpixel(xy, value)
TypeError: integer argument expected, got float"

Break down when clcking the map

Hi,
I want to edit gmapping map and just cloned this project and run
python MapEditor.py map.pgm.
So, the UI came out, but it show the error below when I clicked the map.
Traceback (most recent call last): File "MapEditor.py", line 197, in mapClick self.im.putpixel((x,y), val) File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1507, in putpixel return self.im.putpixel(xy, value) TypeError: integer argument expected, got float

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.