personalrobotics / appl

Mirror of the Approximate POMDP Planning (APPL) C++ toolkit for POMDP planning.
http://bigbird.comp.nus.edu.sg/pmwiki/farm/appl/
23 stars 3 forks source link

Approximate POMDP Planning (APPL) Toolkit

Copyright (c) 2008-2010 by National University of Singapore.

APPL is a C++ implementation of the SARSOP algorithm [1], using the factored MOMDP representation [2]. It takes as input a POMDP model in the POMDP or POMDPX file format and produces a policy file. It also contains a simple simulator for evaluating the quality of the computed policy. More information can be found at http://motion.comp.nus.edu.sg/projects/pomdp/pomdp.html.

For bug reports and suggestions, please email motion@comp.nus.edu.sg.

[1] H. Kurniawati, D. Hsu, and W.S. Lee. SARSOP: Efficient point-based POMDP planning by approximating optimally reachable belief spaces. In Proc. Robotics: Science and Systems, 2008.

[2] S.C.W. Ong, S.W. Png, D. Hsu, and W.S. Lee. POMDPs for robotic tasks with mixed observability. In Proc. Robotics: Science and Systems, 2009.

======================================================================== TABLE OF CONTENTS

======================================================================== REQUIREMENTS

Operating systems: Linux Mac OS X (unofficial) Windows (unofficial)

Tested compilers: gcc/g++ 4.0.1 under Linux gcc/g++ 4.1.2 under Linux gcc/g++ 4.2.3 under Linux gcc/g++ 4.3.2 under Linux gcc/g++ 4.4.0 under Linux gcc/g++ 4.8.1 under Linux gcc/g++ 3.4.4 under Windows(Cygwin) Microsoft Visual C++ 9 in Visual Studio 2008 with SP1 under Windows

======================================================================== QUICK START

A total of 4 executables are generated in the current directory. "pomdpsol" computes a policy. "pomdpsim" is the policy simulator. "pomdpeval" is the policy evaluator. "polgraph" outputs a graphical representation of a policy. "pomdpconvert" converts a POMDP model file to POMDPX file format.

Please read "doc/Usage.txt" for command-line options.

Sample results from the above commands are in "../examples/POMDPX/tiger.log".

-Try simulating the generated policy pomdpsim.exe --simLen 100 --simNum 1000 --policy-file out.policy ....\examples\POMDPX\Tiger.pomdpx

The simulation results are written to the console.

-Try evaluating the generated policy pomdpeval.exe --simLen 100 --simNum 1000 --policy-file out.policy ....\examples\POMDPX\Tiger.pomdpx

The evaluation results are written to the console.

======================================================================== DOCUMENTATION

Documentation can be found in the directory "doc". See PACKAGE CONTENTS for a detailed listing.

======================================================================== PACKAGE CONTENTS

README.txt This file doc/FAQ.txt Frequently asked questions doc/Install.txt Detailed compilation instruction doc/Usage.txt Explanation of command-line options doc/POMDP/PomdpFileFormat.html POMDP file format doc/POMDPX/PomdpxFileFormat.pdf POMDPX file format doc/POMDPX/Pomdpx.xsd POMDPX XML schema file license/License License license/Notice Attribution notices as required by Apache License 2.0 src/Parser POMDP and POMDPX parsers src/Models POMDP model representation src/Core Core data structures src/Algorithms POMDP algorithms src/Bounds Value functions src/MathLib Math library src/OfflineSolver Offline solver src/Simulator Simulator src/Evaluator Evaluator src/Utils Cross platform utility code src/Makefile Linux make file examples/ Example POMDP and POMDPX model files

======================================================================== ACKNOWLEDGMENTS

Part of the APPL toolkit makes use of code based on an early version of ZMDP by Trey Smith (http://www.cs.cmu.edu/~trey/zmdp/). ZMDP in turn uses code from pomdp-solve by Tony Cassandra (http://www.cassandra.org/pomdp/code/index.shtml). The POMDPX parser uses TinyXML by Lee Thomason (http://www.grinninglizard.com/tinyxml/).

======================================================================== RELEASE NOTES

9-Jun-2014

6-Mar-2012

9-Aug-2011, version 0.95

28-Apr-2010, version 0.94

22-Apr-2010, version 0.93

12-Mar-2010, version 0.92

24-Nov2009, version 0.91

04-Sep-2009, version 0.9

01-Feb-2009, version 0.3

25-Jul-2008, version 0.2

01-Jul-2008, version 0.1