Skip to content

The implementation for Fast Gaussian Processes Occupancy Maps.

License

Notifications You must be signed in to change notification settings

STAR-Center/fastGPOM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fast-GPOM

Yuan, Y., Kuang, H. & Schwertfeger, S. (2018). Fast Gaussian Process Occupancy Maps. In 2018 15th International Conference on Control, Automation, Robotics and Vision (ICARCV)
(pp. 1502–1507). IEEE.

This is our project folder for Fast Gaussian Processes Occupancy Maps. Its implementation is on top of the src of Maani Ghaffari Jadidi.

If you used this work in research, please cite:

    @inproceedings{yuan2018fast,
      title={Fast Gaussian Process Occupancy Maps},
      author={Yuan, Yijun and Kuang, Haofei and Schwertfeger, S{\"o}ren},
      booktitle={2018 15th International Conference on Control, Automation, Robotics and Vision (ICARCV)},
      pages={1502--1507},
      year={2018},
      organization={IEEE}
    }

Step 1: Setup Environment

Implement the exist ROS package for next works.

Link: <https://github.com/MaaniGhaffari/gp_occ_mapping>

Software Configuration

  • Ubuntu 16.04
  • ROS Kinetic
  • Python 2/3

Setup Python Environment

  • python2 Here recommend to use python2. Using system python2 or creating a python2 conda environment, for example(conda):

    conda create -n gpom python=2.7
    source activate gpom
    

    if you can't perform catkin_make with python, you could using below instruction to install ROS python environment:

    pip install catkin-tools
    pip install rospkg
    

    also, you need to install some dependencies like: numpy, scipy and so on. you could use conda or pip to install these dependencies.

  • python3 If you want to use python3 with ROS. It is possible. First, you need create a conda environment:

    conda create -n gpom python=3
    source activate gpom
    

    The dependencies like previous.

  • Warning: If you get below error while execute catkin_make:

    No module named em
    

    you could execute below command to solve it:

    pip uninstall em
    pip install empy
    
  • dependencies

    source activate gpom
    conda install numpy scipy matplotlib scikit-image
    pip install pyGPs
    

Download code

  • building ROS workspace:

    mkdir -p your_catkin_workspace/src
    cd your_catkin_workspace/src
    catkin_init_workspace
    cd ..
    source activate gpom
    catkin_make
    

    If you use python3 with ROS, you have to make sure your workspace contain geometry and geometry2 packages to solve tf problem.

    The workflow like below:

    cd your_catkin_workspace/src
    git clone https://github.com/ros/geometry.git
    git clone https://github.com/ros/geometry2.git
    cd ..
    catkin_make
    
  • download code

    cd your_catkin_workspace/src
    git clone https://github.com/Jarrome/fun-gpom.git
    cd ..
    source activate gpom
    catkin_make
    source devel/setup.bash
    

Step 2: GPOM with STDR simulation dataset

STDR simulation environment

We use STDR simulator as our experiment environment. It is very powerful tool to do mapping experiment, and it also provide ground truth for map.

  • Usage The tutorial of STDR simulator is showed their website or ROS wiki: website link: https://stdr-simulator-ros-pkg.github.io/ ROS wiki: http://wiki.ros.org/stdr_simulator

  • Use my modified version(more suit to gpom packages)

    • Launch Simulator
      cd your_catkin_workspace/src
      git clone https://github.com/KuangHaofei/stdr_simulator.git
      cd ..
      catkin_make
      source devel/setup.bash
      roslaunch stdr_launchers server_with_map_and_gui_plus_robot.launch
      
    • Control Robot move by using keyboard
      rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=robot0/cmd_vel
      
      • warning: make sure you use it at python2 environment.

gpom with STDR simulator

  • Dataset We have make a dataset by using STDR simulator, some details of it are showed below:

  • Usage Here, we also use python3, and you need to change the path of the bag file in fast_gpom_offline.py file firstly:
    (It is a replay of bags, you can run directly)

fast gpom with STDR simulated bag(real-time)

  • Usage Here, assume we use python3:

    cd your_catkin_workspace
    source activate gpom
    catkin_make
    source devel/setup.bash
    roslaunch gp_occ_mapping fast_gpom_online.launch
    

    Just wait seconds and it will works.

    map

fast gpom with STDR simulated bag(off-line)

  • Usage
    cd your_catkin_workspace
    source activate gpom
    catkin_make
    source devel/setup.bash
    roslaunch gp_occ_mapping fast_gpom_offine.launch
    

You could see a fastgpom being generated without display. But it will save a .mat in the end.

Others

Some other launch file like gpom_offline.launch gpom_online.launch is also available. You can use similar command to run it.

About

The implementation for Fast Gaussian Processes Occupancy Maps.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published