AdaCompNUS / Despot
Labels
Projects that are alternatives of or similar to Despot
Approximate POMDP Planning Online (APPL Online) Toolkit
Copyright © 2014-2018 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 [email protected].
[1] N. Ye, A. Somani, D. Hsu, and W. Lee. DESPOT: Online POMDP planning with regularization. J. Artificial Intelligence Research, 58:231–266, 2017.
Table of Contents
- Requirements
- Download
- Installation
- Quick Start
- Documentation
- Using DESPOT with External Systems
- Package Contents
- CMakeLists
- Acknowledgements
- Bugs and Suggestions
- Release Notes
Requirements
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
Download
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.
Installation
Compile using make
:
$ cd despot
$ make
(Optional): If you prefer using CMake
see the CMakeLists section.
Quick Start
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.
(Deprecated) 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.
Most of options in doc/Usage.txt can also be specified the programmatically, see include/despot/config.h for the global parameters to use, and the InitializeDefaultParameters
function in this section for an example.
Documentation
Documentation can be found in the "doc" directory.
For a description of our example domains and more POMDP problems see the POMDP page.
Using DESPOT with External Systems
An example of integrating DESPOT with an external Gazebo simulator can be found in the DESPOT tutorials page.
Package Contents
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
CMakeLists
(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
)
Acknowledgements
Pocman implementation and memorypool.h in the package are based on David Silver's POMCP code
Bugs and Suggestions
Please use the issue tracker.
Release Notes
2015/09/28 Initial release.
2017/03/07 Public release. Revised documentation.
2018/09/20 New API release.