Copyright © 2014-2017 by National University of Singapore.
APPL Online is a C++ implementation of the DESPOT algorithm for online POMDP planning [1]. It takes as input a POMDP model in the POMDPX file format. It also provides an API for interfacing directly with a blackbox simulator.
For bug reports and suggestions, please email motion@comp.nus.edu.sg.
[1] N. Ye, A. Somani, D. Hsu, and W. Lee. DESPOT: Online POMDP planning with regularization. J. Artificial Intelligence Research, 58:231–266, 2017.
- Requirements
- Download
- Installation
- Quick Start
- Documentation
- Package Contents
- CMakeLists
- Acknowledgements
- Bugs and Suggestions
- Release Notes
Tested Operating Systems:
Linux | OS X |
---|---|
Tested Compilers: gcc | g++ 4.2.1 or above
Tested Hardware: Intel Core i7 CPU, 2.0 GB RAM
Clone the repository from Github (Recommended):
$ git clone https://github.com/AdaCompNUS/despot.git
OR manually download the Zip Files. For instructions, use this online Github README.
Compile using make
:
$ cd despot
$ make
(Optional): If you prefer using CMake
see the CMakeLists section.
DESPOT can be used to solve a POMDP specified in the POMDPX format or a POMDP specified in C++ according to the API. We illustrate this on the Tiger problem.
1.To run Tiger specified in POMDPX format, compile and run:
$ cd despot/examples/pomdpx_models
$ make
$ ./pomdpx -m ./data/Tiger.pomdpx --runs 2
This command computes and simulates DESPOT's policy for N = 2
runs and reports the
performance for the tiger problem specified in POMDPX format. See doc/Usage.txt for
more options. For more details on the POMPDX format, see this page
2.To run Tiger specified in C++, compile and run:
$ cd despot/examples/cpp_models/tiger
$ make
$ ./tiger --runs 2
This command computes and simulates DESPOT's policy for N = 2
runs and reports the
performance for the tiger problem specified in C++. See doc/Usage.txt for more options.
Documentation can be found in the "doc" directory.
For a description of our example domains and more POMDP problems see the POMDP page.
Makefile Makefile for compiling the solver library
README.md Overview
include Header files
src/core Core data structures for the solvers
src/solvers Solvers, including despot, pomcp and aems
src/pomdpx Pomdpx and its parser
src/util Math and logging utilities
license Licenses and attributions
examples/cpp_models POMDP models implemented in C++
examples/pomdpx_models POMDP models implemented in pomdpx
doc/pomdpx_model_doc Documentation for POMDPX file format
doc/cpp_model_doc Documentation for implementing POMDP models in C++
doc/usage.txt Explanation of command-line options
doc/eclipse_guide.md Guide for using Eclipse IDE for development
(Optional)
If you are interested in integrating DESPOT into an existing CMake project or using an IDE for editing, we provide a CMakeLists.txt.
To install DESPOT libraries and header files into your system directory:
$ cd despot
$ mkdir build; cd build
$ cmake ../
$ make
$ sudo make install
To integrate DESPOT into your project, add this to your CMakeLists.txt
file:
find_package(Despot CONFIG REQUIRED)
add_executable("YOUR_PROJECT_NAME"
<your_src_files>
)
target_link_libraries("YOUR_PROJECT_NAME"
despot
)
Pocman implementation and memorypool.h in the package are based on David Silver's POMCP code
Please use the issue tracker.
2015/09/28 Initial release.
2017/03/07 Public release. Revised documentation.