This repository contains code for robot exploration with Deep Reinforcement Learning (DRL). The agent utilizes the local structure of the environment to predict robot’s optimal sensing action. A demonstration video can be found here.
- Python 3
- scikit-image
pip3 install scikit-image
- tensorboardX
pip3 install tensorboardX
- TensorFlow (this code is writen under TF1.x but it is modified to be compatible with TF2)
- pybind11 (pybind11 — Seamless operability between C++11 and Python)
git clone https://github.com/pybind/pybind11.git cd pybind11 mkdir build && cd build cmake .. sudo make install
You can use the following commands to download and compile the package.
git clone https://github.com/RobustFieldAutonomyLab/DRL_robot_exploration.git
cd DRL_robot_exploration
mkdir build && cd build
cmake ..
make
- 
For the CNN policy: cd DRL_robot_exploration/scripts python3 tf_policy_cnn.py
- 
For the RNN policy: cd DRL_robot_exploration/scripts python3 tf_policy_rnn.py
- 
To select the running mode, at the beginning of the tf_policy code: # select mode TRAIN = False PLOT = TrueSet TRAIN=Falseto run the saved policy. You can train your own policy by settingTRAIN=True. SetPLOT=Trueto show visualization plots.
- 
To show the average reward during the training: cd DRL_robot_exploration tensorboard --logdir=log
Please cite our paper if you use any of this code:
@inproceedings{ExplorDRL2019,
  title={Self-Learning Exploration and Mapping for Mobile Robots via Deep Reinforcement Learning},
  author={Chen, Fanfei and Bai, Shi and Shan, Tixiao and Englot, Brendan},
  booktitle={AIAA SciTech Forum},
  pages={0396},
  year={2019},
}

