This code is released under a BSD license, except for the contents of /src/com/*, which is under a separate CDDL license.  It has been tested on Mac OS X and (earlier versions) on Linux.

To replicate the taxi experiments reported in the paper, first download the appropriate dependencies.  Clojure and clojure-contrib are necessary.  In particular, the experiments were run using a development build of Clojure (1.1.0-new-SNAPSHOT, git commit 6d40a76e8a012909f2d2a594ce66a78318889799).  com.sun.pdfview (PDFRenderer) is also needed to display charts; otherwise, you will have to edit the code to remove this dependency.  

Now, launch a Clojure REPL with these dependencies and the /src directory on the Classpath.  If you place all the dependencies, plus jline.jar, in the ~/.clojure directory, you can use the included /scripts/clj script to launch such a REPL.

Now, within the REPL,

; Load the code 
(use 'exp.experiments 'edu.berkeley.ai.util.experiments)

; Rerun the experiments, and write the results to the /runs/simple-taxi directory.
; This will take a really long time.  Like, a day or three (timeout 10000 s. per run).
;  I ran the experiments on a cluster, which I can provide scripts for if desired.
(do (write-experiment-set-results (run-experiment-set (make-taxi-exp-set))) "Done")

; Read the results back in
(read-taxi-results)

; View a table of the results
(make-taxi-table)

; Recreate the chart shown in the paper
(make-taxi-chart)

If you have any issues or questions, please contact jawolfe AT cs.berkeley.edu.  

Note that this distribution includes the version of SAHTN used to run the pick-and-place experiments, but none of the actual pick-and-place domain code.  An outdated version of this code lives in wg-ros-pkg/sandbox; we plan to release an updated version of the code used in the paper at a later date, when it has been updated to run under recent versions of ROS.  


