STRIPStream: Integrating Symbolic Planners and Blackbox Samplers
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
FastDownward @ a2864c6
examples
images
pddlstream
.gitignore
.gitmodules
LICENSE
README.md

README.md

pddlstream

An implementation of STRIPStream that uses PDDL for the specifiation of actions and streams.

This repository is the "third version" of the STRIPStream framework, intended to replace the previous versions:

  1. https://github.com/caelan/stripstream
  2. https://github.com/caelan/ss

Installation

$ git clone https://github.com/caelan/pddlstream.git
$ cd pddlstream
$ git submodule update --init --recursive
$ ./FastDownward/build.py

If ./FastDownward/build.py fails, install FastDownward's dependencies using your package manager:

  • APT (Linux): $ sudo apt-get install cmake g++ g++-multilib make python

If necessary, see FastDownward's documentation for more detailed installation instructions:

http://www.fast-downward.org/ObtainingAndRunningFastDownward

Resources

Examples

Pure Python

These are simple examples that can be run without additional depedencies:

  • Blocksworld: $ python -m examples.blocksworld.blocksworld
  • Blocksworld with Derived Predicates: $ python -m examples.blocksworld.blocksworld_derived
  • Discrete Belief Space: $ python -m examples.discrete_belief.run
  • Kitchen (debug streams): python -m examples.kitchen.run

Python TKinter

Install numpy and Python TKinter on Linux using:

$ pip install numpy
$ sudo apt-get install python-tk

Examples:

  • Discrete TAMP: $ python -m examples.discrete_tamp.run
  • Discrete TAMP with pushing: $ python -m examples.discrete_tamp.run
  • 1D Continuous TAMP: $ python -m examples.continuous_tamp.run
  • 2D Motion Planning: $ python -m examples.motion.run

Advanced Functionality

  • Action Description Language (ADL): $ python -m examples.adl.run
  • Exogenous streams (observations): $ python -m examples.exogenous.run
  • Fluent stream inputs: $ python -m examples.fluent.run

International Planning Competition (IPC)

  • Rovers: $ python -m examples.ipc.rovers.run
  • Satellites: $ python -m examples.ipc.satellites.run

PyBullet

Install PyBullet on OS X or Linux using:

$ pip install numpy pybullet

Examples:

  • Kuka IIWA task and motion planning - python -m examples.pybullet.kuka.run
  • PR2 task and motion planning - python -m examples.pybullet.pr2.run
  • PR2 planning and execution - python -m examples.pybullet.pr2_belief.run

See https://github.com/caelan/ss-pybullet for more information.

Drake

Install Drake on OS X or Ubuntu by following the following instructions: http://drake.mit.edu/installation.html

Examples:

  • Kuka IIWA task and motion planning - python -m examples.drake.run

Publications

STRIPStream: Integrating Symbolic Planners and Blackbox Samplers https://arxiv.org/abs/1802.08705

STRIPStream: Planning In Infinite Domains https://arxiv.org/abs/1701.00287

Citation

Caelan R. Garrett, Tomas Lozano-Perez, Leslie P. Kaelbling. STRIPStream: Integrating Symbolic Planners and Blackbox Samplers, 2018.