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:
$ 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.
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
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
- 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
- Rovers:
$ python -m examples.ipc.rovers.run
- Satellites:
$ python -m examples.ipc.satellites.run
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.
Install Drake on OS X or Ubuntu by following the following instructions: http://drake.mit.edu/installation.html.
Alternatively, install Drake through docker by following the following instructions: http://manipulation.csail.mit.edu/install_drake_docker.html. Use the appropriate docker_run_bash script with docker tag drake-20181128.
Examples:
- Kuka IIWA task and motion planning -
python -m examples.drake.run
Additional PDDLStream + Drake examples can be found at: https://github.com/RobotLocomotion/6-881-examples.
Caelan R. Garrett, Tomás Lozano-Pérez, Leslie P. Kaelbling. PDDLStream: Integrating Symbolic Planners and Blackbox Samplers via Optimistic Adaptive Planning, International Conference on Automated Planning and Scheduling (ICAPS), 2020.