Utility to create and serve tilemaps for gazebo simulations
To see an example of the project, check out the baylands example
If you want an explanation for how the values for the map are calculated, check out calculations
- 'Gazebo' to take the map photo (https://gazebosim.org/home)
- 'Gdal' to transform the png into a tilemap (https://gdal.org/en/stable/index.html)
- 'Mapviz' to display the tiles (https://swri-robotics.github.io/mapviz/)
You only need to run the package through uv and it will setup a virtual environment and install the dependencies automatically.
uv run cli -h- (Recommended) Create a virtual environment
python3 -m venv .venv
source .venv/bin/activate- Install the project with pip
pip install -e .
# use the program
python3 -m gazebo_maptiles.cli ...
# If using a virtual environment
deactivate # turns it offusage: cli [-h] {photo,create,serve,pipeline} ...
Script to create and serve tilemaps
positional arguments:
{photo,create,serve,pipeline}
Available subcommands
photo Take a photo inside a gazebo simulation
create Create a new tilemap
serve Start a tilemap server
options:
-h, --help show this help message and exituv run cli [-h] {photo,create,serve,pipeline} ...python3 -m gazebo_maptiles.cli [-h] {photo,create,serve,pipeline} ...To contribute, follow the next steps:
- Fork the project. (by clicking the 'Fork' button in the repository)
- Create your feature branch (
git checkout -b feature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature) - Open a pull request.
- Create the camera and capture the map photo
- Make a tileset from the map photo
- Serve the tiles with a FastAPI server
- Position the camera inside gazebo with the specified latitude and longitude.
- Calculate the zoom based on the size of the map
- Capture multiple photos and make a tileset from them
