A GUI editor for ROS map files in PGM format
Project description
ROS Map Editor
A GUI tool for editing ROS map files in PGM format. This tool allows you to view and modify occupancy grid maps used in ROS (Robot Operating System) navigation.
.. image:: ./images/ui_advanced.PNG
Acknowledgements
Features
- Load and display PGM map files used in ROS
- Edit map cells (occupied, free, unknown)
- Zoom in/out for detailed editing
- Minimap for navigation in large maps
- Automatically saves changes on exit
TODO
- ☒ BOX Select
.. figure:: images/usage.gif :alt: ROS Map Editor
ROS Map Editor
- ☒ Line Select
.. figure:: images/usage_line_select.gif :alt: ROS Map Editor
ROS Map Editor
- ☐ Polygon Select
- ☐ Rapidly Loading and Editing
Installation
From PyPI
.. code:: bash
pip install ros-map-editor
From Source
.. code:: bash
git clone https://github.com/sujit-168/ros_map_editor.git -b main cd ros_map_editor pip install -e .
Usage
Command Line
.. code:: bash
ros-map-editor path/to/your/map
or simply:
.. code:: bash
python3 ros_map_editor/main.py path/to/your/map
The tool will automatically look for the corresponding YAML file
(map.yaml) in the same directory.
Interface
~~~~~~~~~
- **Zoom**: Select zoom level from the dropdown menu
- **Color**: Choose what to draw:
- **Occupied**: Mark cells as obstacles (black)
- **Free**: Mark cells as free space (white)
- **Unknown**: Mark cells as unknown (gray)
- **Alternate**: Cycle through states with each click
- **Minimap**: Shows your current position in the map with a red
rectangle
- **Drawing**: Click or drag to modify cells
Map File Format
---------------
The tool works with standard ROS map files:
- A PGM image file containing the occupancy grid
- A YAML file with metadata (resolution, origin, thresholds)
Example YAML file:
.. code:: yaml
image: map.pgm
resolution: 0.050000
origin: [-10.000000, -10.000000, 0.000000]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196
Requirements
------------
- Python 3.6+
- PyQt5
- Pillow (PIL)
- PyYAML
License
-------
Public domain
Contributing
------------
Contributions are welcome! Please feel free to submit a Pull Request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ros_map_editor-0.1.2.tar.gz.
File metadata
- Download URL: ros_map_editor-0.1.2.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54098195b0917f00b717038bf445a95d8ec1cf904ef21385fae8166678562160
|
|
| MD5 |
47d83b12c2f179b4dc65e351ea329e3b
|
|
| BLAKE2b-256 |
1b56ba4c9db0f62fdf26a1146e51ce30bb01b72dc74a2eaa399a5826c607ac7b
|
Provenance
The following attestation bundles were made for ros_map_editor-0.1.2.tar.gz:
Publisher:
python-publish.yml on sujit-168/ros_map_editor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ros_map_editor-0.1.2.tar.gz -
Subject digest:
54098195b0917f00b717038bf445a95d8ec1cf904ef21385fae8166678562160 - Sigstore transparency entry: 238195796
- Sigstore integration time:
-
Permalink:
sujit-168/ros_map_editor@e82fa91b6042bdc63e83664404dd676d334cb548 -
Branch / Tag:
refs/pull/1/merge - Owner: https://github.com/sujit-168
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e82fa91b6042bdc63e83664404dd676d334cb548 -
Trigger Event:
pull_request
-
Statement type:
File details
Details for the file ros_map_editor-0.1.2-py3-none-any.whl.
File metadata
- Download URL: ros_map_editor-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f915ba27a2654b20c825327286f2605c73c841b7866188e167b5c1051496685
|
|
| MD5 |
fa3982869d97d00dc5d8ef9bc06dd5d4
|
|
| BLAKE2b-256 |
05c26f2fbad2cf99a88447d74949426518197f8eb92b8c23a9ac2f13ac8ab5dd
|
Provenance
The following attestation bundles were made for ros_map_editor-0.1.2-py3-none-any.whl:
Publisher:
python-publish.yml on sujit-168/ros_map_editor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ros_map_editor-0.1.2-py3-none-any.whl -
Subject digest:
2f915ba27a2654b20c825327286f2605c73c841b7866188e167b5c1051496685 - Sigstore transparency entry: 238195800
- Sigstore integration time:
-
Permalink:
sujit-168/ros_map_editor@e82fa91b6042bdc63e83664404dd676d334cb548 -
Branch / Tag:
refs/pull/1/merge - Owner: https://github.com/sujit-168
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e82fa91b6042bdc63e83664404dd676d334cb548 -
Trigger Event:
pull_request
-
Statement type: