hikashi / TM-RRT_exploration

Temporal Memory-based RRT Exploration
17 stars 4 forks source link
autonomous-robots exploration ground-robot ground-robot-exploration multi-robot-exploration robotics-simulation ros ros-melodic ros-noetic rrt-exploration temporal-memory-based-exploration tm-rrt tm-rrt-exploration

Temporal Memory-based RRT (TM-RRT) Exploration (ROS-Melodic)

This is a temporal memory-based rapidly-exploring random tree (TM-RRT) algorithm, which is based on the original RRT exploration by Hassan Umari.

For simulation, please refer to TM-RRT Exploration Simulation.

credit to Hasauino for creating the RRT exploration packages. RRT Exploration package. RRT Exploration Tutorial package.

There are a few modifications done to improve the efficiency of exploration, which are mainly focused on the assigner module.

Requirements

The following code is executed in ROS Melodic in Ubuntu 18.04 LTS, Python 2.7

The following libraries are required to be installed before proceeding to run the code

$ sudo apt-get install ros-melodic-gmapping
$ sudo apt-get install ros-melodic-navigation
$ sudo apt-get install python-opencv
$ sudo apt-get install python-numpy
$ sudo apt-get install python-scikits-learn
$ sudo apt-get install ros-melodic-multirobot-map-merge

Installation Process

Create a new folder called "catkin_explore/src" by executing the following comment:

$ sudo mkdir -p ~/catkin_explore/src
$ cd ~/catkin_explore/src/
$ git clone -b main-Melodic https://github.com/hikashi/TM-RRT_exploration.git
$ cd ~/catkin_explore
$ catkin_make

TF Tree Requirement

TF_tree_example

Demonstration of TM-RRT in Clearpath's Jackal

Kindly refer to the video below for a demonstration of TM-RRT Exploration:

TM-RRT Exploration for Three Jackals

TM-RRT Exploration for two different robots

Execution Commands

Comments for running/executing the TM-RRT exploration after sourcing devel/setup.bash

        $ roslaunch tmrrt_exploration trio_exploration.launch

ROS PARAMETER

ros parameters for setting up the robot

Setting up Simulation for testing

An example of the simulation can be shown in the following video:

TM-RRT Exploration for Ubuntu 18.04 ROS Melodic

For this work, we only compare against conventional RRT. All are welcome to contribute more to adding more benchmarking algorithms. The link for accessing the simulation and the source files are found in the link below: TM-RRT Exploration Simulation.

Paper / Publication

Please cite the paper if you are using/comparing our work.

    @article{lau2022multi,
      title={Multi-AGV's Temporal Memory-Based RRT Exploration in Unknown Environment},
      author={Lau, Billy Pik Lik and Ong, Brandon Jin Yang and Loh, Leonard Kin Yung and Liu, Ran and Yuen, Chau and Soh, Gim Song and Tan, U-Xuan},
      journal={IEEE Robotics and Automation Letters},
      volume={7},
      number={4},
      pages={9256--9263},
      year={2022},
      publisher={IEEE}
    }

Issues