Inverse reinforcement learning for autonomous navigation via differentiable semantic mapping and planning
We assume that the following commands are run in a python virtual environment.
- Install gym-minigrid from this fork
git clone git@github.com:tianyudwang/Minigrid.git
cd Minigrid
pip install -e .
cd ..- Download pybind11
git clone git@github.com:pybind/pybind11.git- Build the A* c++ code
cd astar_cpp
mkdir build
cd build
cmake ..
makeReturn to project page and link
cd ../..
export PYTHONPATH=./astar_cpp/lib:${PYTHONPATH}- Generate dataset
python3 scripts/expert_policy.py --grid_size 16The generated trajectories are under demonstration/ folder
- Run training
python3 scripts/train.py --grid_size 16The tensorboard logs with training metrics are in the logs/ folder and can be opened with
tensorboard --logdir logs- Run testing
To run testing with pretrained models in the
trained_models/folder
python3 scripts/test.py --grid_size 16This shows the success rate of rolling out the trained policy at each state.
Here are some visualizations of test episodes in 64 by 64 maps

@article{Wang2021sirl,
author = {Wang, Tianyu and Dhiman, Vikas and Atanasov, Nikolay},
title = {Inverse Reinforcement Learning for Autonomous Navigation
via Differentiable Semantic Mapping and Planning},
journal={arXiv preprint arXiv:2101.00186},
year={2021}
}

