ethz-asl / grid_map_geo

Geolocalization for grid map using GDAL.
BSD 3-Clause "New" or "Revised" License
141 stars 19 forks source link

grid_map_geo

Build Test Doxygen Build Style Checks

This package provides a georeferenced extension to the elevation map grid_map using GDAL, library for raster and vector geospatial data formats

rviz_screenshot_2022_12_20-22_10_17

Authors: Jaeyoung Lim
Affiliation: ETH Zurich, Autonomous Systems Lab

Setup

Install the dependencies. This package depends on gdal, to read georeferenced images and GeoTIFF files.

Pull in dependencies using rosdep

source /opt/ros/humble/setup.bash
rosdep update
# Assuming the package is cloned in the src folder of a ROS workspace...
rosdep install --from-paths src --ignore-src -y

Build the package

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to grid_map_geo

Docker Setup

If your operating system doesn't support ROS 2 humble, docker is a great alternative.

First of all, you have to build the project and create an image like so:

## Assuimg you are in the correct project directory
docker build -t gmg .

To use a shortcut, you may use the following command:

## Assuimg you are in the correct project directory
make docker_build

After the image is created, copy and paste the following command to the terminal to run the image:

## Assuimg you are in the correct project directory
docker run -it --net=host --ipc=host --privileged --env="DISPLAY"  --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" --volume="${XAUTHORITY}:/root/.Xauthority"  --entrypoint /bin/bash gmg

To use a shortcut, you may use following command:

make docker_run

Running the package at docker image

If you are in the docker image , this project is already sourced and the default launch file can be run as the following command;

ros2 launch grid_map_geo load_tif_launch.xml

Running the package

The default launch file can be run as the following command.

source install/setup.bash
ros2 launch grid_map_geo load_tif_launch.xml