caelan/pddlstream
PDDLStream: Integrating Symbolic Planners and Blackbox Samplers
- Users starred: 44
- Users forked: 14
- Users watching: 44
- Updated at: 2020-05-14 09:08:39
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:
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.
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.
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.
Publications
Citation
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.