Learning to Explore using Active Neural SLAM

Devendra Singh Chaplot
Dhiraj Gandhi
Saurabh Gupta
Abhinav Gupta
Ruslan Salakhutdinov
CMU
FAIR
UIUC
CMU
CMU
Published at ICLR, 2020
Winner of the CVPR 2019 Habitat Navigation Challenge

[Paper]
[Talk]
[Slides]
[Code]
[Blog]



This work presents a modular and hierarchical approach to learn policies for exploring 3D environments, called `Active Neural SLAM'. Our approach leverages the strengths of both classical and learning-based methods, by using analytical path planners with learned SLAM module, and global and local policies. The use of learning provides flexibility with respect to input modalities (in the SLAM module), leverages structural regularities of the world (in global policies), and provides robustness to errors in state estimation (in local policies). Such use of learning within each module retains its benefits, while at the same time, hierarchical decomposition and modular training allow us to sidestep the high sample complexities associated with training end-to-end policies. Our experiments in visually and physically realistic simulated 3D environments demonstrate the effectiveness of our approach over past learning and geometry-based approaches. The proposed model can also be easily transferred to the PointGoal task and was the winning entry of the CVPR 2019 Habitat PointGoal Navigation Challenge.


Active Neural SLAM

Active Neural SLAM consists of three components: a Neural SLAM module, a Global policy and a Local policy as shown below. The Neural SLAM module predicts a map and agent pose estimate from incoming RGB observations and sensor readings. This map and pose are used by a Global policy to output a long-term goal, which is converted to a short-term goal using an analytic path planner. A Local Policy is trained to navigate to this short-term goal.




Short Presentation



Demo videos: Exploration

Exploration in Gibson (Val) Exploration in MP3D (Domain Generalization)

Exploration in Real-world (Bedroom) Exploration in Real-world (Living Room)


Demo videos: PointGoal

PointGoal in Gibson (Val) PointGoal in MP3D (Domain Generalization)

PointGoal in Gibson Hard-GEDR (Goal Generalization) PointGoal in Gibson Hard-Dist (Goal Generalization)


Source Code and Pre-trained models

We have released the PyTorch implementation of Active Neural SLAM along with pre-trained models on the github page. Try our code!
[GitHub]


Paper and Bibtex

[Paper]

Citation
 
Chaplot, D.S., Gandhi, D., Gupta, S., Gupta, A. and Salakhutdinov, R., 2020. Learning To Explore Using Active Neural SLAM. In International Conference on Learning Representations (ICLR).

[Bibtex]
@inproceedings{chaplot2020learning,
  title={Learning To Explore Using Active Neural SLAM},
  author={Chaplot, Devendra Singh and Gandhi, Dhiraj and Gupta,
          Saurabh and Gupta, Abhinav and Salakhutdinov, Ruslan},
  booktitle={International Conference on 
             Learning Representations (ICLR)},
  year={2020}}
                


Related Projects

Semantic Exploration

Neural Topological SLAM

Semantic Curiosity



Acknowledgements

This work was supported by IARPA DIVA D17PC00340, ONR Grant N000141812861, ONR MURI, ONR Young Investigator, DARPA MCS and Apple. We would also like to acknowledge NVIDIA’s GPU support. We thank Guillaume Lample for discussions and coding during initial stages of this project. Website template from here and here.