8000 GitHub - teymurov27/pgm_map_creator: Create pgm map from Gazebo world file for ROS localization
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

teymurov27/pgm_map_creator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pgm_map_creator

Create pgm map from Gazebo world file for ROS localization

Environment

Tested on Ubuntu 16.04, ROS Kinetic, Boost 1.58

Usage

Add the package to your workspace

  1. Create a catkin workspace
  2. Clone the package to the src folder
  3. catkin_make and source devel/setup.bash

Add the map and insert the plugin

  1. Add your world file to world folder
  2. Add this line at the end of the world file, before </world> tag: <plugin filename="libcollision_map_creator.so" name="collision_map_creator"/>

Create the pgm map file

  1. Open a terminal, run gzerver with the map file gzserver src/pgm_map_creator/world/<map file>
  2. Open another terminal, launch the request_publisher node roslaunch pgm_map_creator request_publisher.launch
  3. Wait for the plugin to generate map. It will be located in the map folder

Map Properties

Currently, please update the argument value in launch/request_publisher.launch file.

Build using Docker without dealing with dependencies.

Tested on docker-ce 20.10.12

  • First install docker-ce from here

  • Clone and change directory to this folder

    cd pgm_map_creator
  • Build image with desired tag

    docker build -t <myimage> .
  • Create your container

    docker run -t -d --name <mycontainer> <myimage:latest>
  • Start bash shell in your container

    docker exec -it <mycontainer> /bin/bash
  • Source your ros distro and workspace

    source /home/username/.bashrc
  • Build

    cd /home/username/catkin_ws/ && catkin_make
  • Find your container IP address

    sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" <mycontainer>
  • Open up a new terminal for transfering your .world file to container with nautilus file manager. But make sure you have SAMBA installed on your computer.

    nautilus sftp://username@<container-ip-address>

Acknowledgements

Gazebo Custom Messages Gazebo Perfect Map Generator

About

Create pgm map from Gazebo world file for ROS localization

Resources

License

Stars

Watchers

Forks

Releases

No releases published
356B

Packages

No packages published

Languages

  • C++ 48.5%
  • CMake 44.7%
  • Dockerfile 6.8%
0