Skip to content

osrf/gazebo_osm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

OSM Plug-in for Gazebo

Author: Tashwin Khurana

Version: 1.0

Description: Open Street Maps plugin for Gazebo
             This folder contains files for building osm_plugin for gazebo simulator.

Dependencies:

Python 2.7

Mapnik:

sudo apt-get install -y python-software-properties

sudo add-apt-repository ppa:mapnik/v2.2.0

sudo apt-get update

sudo apt-get install libmapnik libmapnik-dev mapnik-utils python-mapnik

Files:

osm2dict.py

Collects data about certain types of roads based on input coordinates from osm database and converts the information received to format that can be used to build sdf files.

dict2sdf.py

Used to build sdf file from data received about the elements in the sdf format. 
functionality: 
	add models to world, 
	add road element, 
	set road width, 
	add points to the road element

getMapImage.py

   Gets the image of the area required to be simulated.

getOsmFile.py

   Downloads the osm database of the specified area.

gz_osm.py

   Command line compatible program which combine the functionality of all the above classes and functions to output the .sdf file for gazebo. 

usage: gz_osm.py [-h] [-f OUTFILE] [-o OSMFILE] [-O INPUTOSMFILE]
                 [-i IMAGEFILE] [-d DIRECTORY]
                 [-B [BOUNDINGBOX [BOUNDINGBOX ...]]] [-r] [-m] [-b] [-a]
                 [--interactive]

optional arguments:
  -h, --help            show this help message and exit
  -f OUTFILE, --outFile OUTFILE
                        Output file name
  -o OSMFILE, --osmFile OSMFILE
                        Name of the osm file generated
  -O INPUTOSMFILE, --inputOsmFile INPUTOSMFILE
                        Name of the Input osm file
  -i IMAGEFILE, --imageFile IMAGEFILE
                        Generate and name .png image of the selected areas
  -d DIRECTORY, --directory DIRECTORY
                        Output directory
  -B [BOUNDINGBOX [BOUNDINGBOX ...]], --boundingbox [BOUNDINGBOX [BOUNDINGBOX ...]]
                        Give the bounding box for the area Format: MinLon
                        MinLat MaxLon MaxLat
  -r, --roads           Display Roads
  -m, --models          Display models
  -b, --buildings       Display buildings
  -a, --displayAll      Display roads and models
  --interactive         Starts the interactive version of the program

Test files:

Unit testing for each of the source files is provided in the testfiles/ folder.

Usage:

Run gz_osm.py file

	$ python gz_osm.py 

            or 

            $ ./gz_osm.py [-h] [-f OUTFILE] [-o OSMFILE] [-i IMAGEFILE] [-d DIRECTORY]
                 [-B [BOUNDINGBOX [BOUNDINGBOX ...]]] [-r] [-m] [-b] [-a][--interactive]

Output file: outFile.sdf (default)

Check the file on gazebo
	gazebo outFile.sdf