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 [email protected]:tianyudwang/Minigrid.git
cd Minigrid
pip install -e .
cd ..
- Download pybind11
git clone [email protected]:pybind/pybind11.git
- Build the A* c++ code
cd astar_cpp
mkdir build
cd build
cmake ..
make
Return to project page and link
cd ../..
export PYTHONPATH=./astar_cpp/lib:${PYTHONPATH}
- Generate dataset
python3 scripts/expert_policy.py --grid_size 16
The generated trajectories are under demonstration/
folder
- Run training
python3 scripts/train.py --grid_size 16
The 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 16
This 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}
}