/exploration_ros

A ROS package that implements a map creation and a planner for UGV exploration

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

exploration_ros

A ROS package that implements a robot exploration system. Actually only the single robot part has been developed.

Requirements:

  • Eigen3

  • The srrg_core package developed by G. Grisetti provides libraries and utilities.

      $ git clone https://gitlab.com/srrg-software/srrg_boss.git
      $ git clone https://gitlab.com/srrg-software/srrg_cmake_modules.git
      $ git clone https://gitlab.com/srrg-software/srrg_core.git
    
  • ROS indigo. or ROS Kinetic.

  • The ROS Navigation stack

      $ sudo apt-get install ros-YOUR_DISTRO-navigation
    

Optional Requirements

In order to run the launch files we needs also:

  • g2o

      $ git clone https://github.com/RainerKuemmerle/g2o.git
    
    • Set up the following g2o environment variables in your ~/.bashrc:

        #set up G2O
        export G2O_ROOT=path_to_your_g2o_installation  
        export G2O_BIN=${G2O_ROOT}/bin  
        export G2O_LIB=${G2O_ROOT}/lib  
        export LD_LIBRARY_PATH=${G2O_LIB}:${LD_LIBRARY_PATH}  
        export PATH=${G2O_BIN}:${PATH}  
      
  • cg_mrslam developed by M.T. Lazaro for implementing SLAM techniques

      $ git clone https://github.com/mtlazaro/cg_mrslam.git
    
  • To run the simulation example it's necessary ROS Stage

      $ sudo apt-get install ros-YOUR_DISTRO-stage
    

Installation

The code has been tested on Ubuntu 14.04 and 16.04 (64bits).

  • Download the source code to your ROS workspace directory

  • ROS (catkin):

    • Installation for ROS is supported

    • In your catkin workspace

          $ catkin_make -DCMAKE_BUILD_TYPE=Release
      

Instructions

Node

  • exploration_action_client: This is the action client which send to the action server an Action message in order to make it perform the desired action (exploration).

  • exploration_node: This is the action server

For the passing parameters give a look to the launch files (e.g. singlerobot_exploration)

Example of use

It is HIGHLY recommended to run the system directly from the present launch file.

$ roslaunch exploration_ros singlerobot_exploration.launch