Spiderplan engine for the Unified Planning Library
Project description
Integration of Spiderplan with the Unified Planning Library
A constraint-based planning engine for unified planning.
Try it out!
Note: This requires a docker
and docker-compose
to be installed.
Create and activate a Python 3.7 environment. Here we use conda:
conda create --name up-sp-test python=3.7
conda activate up-sp-test
Install up-spiderplan
:
pip install up-spiderplan
Clone the up-spiderplan repository to get a test case:
git clone https://github.com/aiplan4eu/up-spiderplan.git
cd up-spiderplan
Finally, we can run the test:
python tests/test.py
This will build and run a docker container that hosts the spiderplan server. Therefore it will take a bit of time on the first run.
Default Configuration
Spiderplan solves hybrid planning problems by combining preprocessors, propagators and solvers for all required constraint types. Temporal propgatation is needed even for classical planning because under the hood Spiderplan is a temporal interval based planner.
- Search space: graph
- Heuristic: Fast forward
- Preprocessors: temporal propagation, constraints processing and operator grounding.
- Propagators: pruning, domain constraints, temporal constraints, motion planning
- Solvers: constraint processing, forward goal resolver
Planning Approaches of UP supported
Combined task and motion planning with Reeds Shepp car motion model.
Operation Modes
Oneshot planning
Roadmap
0.1.0 Basic UP Support
- UP problems can be converted to constraint databases
- Classical plannning
- Call spiderplan to produce a solution/failure
- Answer translated to a UP result
0.2.0 Motion Planning
- Motion planning constraints extracted from UP problem
- Solve problem with motion constraints and get a plan with paths
- Fix Spiderplan motion planner to use correct motion model
- Allow configuration with available motion planning algorithms
- Convert plan into UP plan with motion
0.3.0 Running the Engine in the UP
- Fix spiderplan grpc server in docker
- Use docker to run server through up-spiderplan
0.4.0 Fixes for Unified Planning 1.0.0 and UP test cases
- UP dependency
- Removed circular dependency which makes it impossible to load up-spiderplan as a up engine.
- Fixed EngineImpl to extend OneShotMixin
Issues
- Waiting for docker container does not work
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for up_spiderplan-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c7de09d2aabc188051dcd4ecc72ba461be5e4783c8032599800d562bbd6161a |
|
MD5 | 68abb0e1d2c68edb5f99ed09e02d8603 |
|
BLAKE2b-256 | 0bcb75c674767f43fbb3ecccfea9b4cda4bacd65c776023e7fbfc3643a2e0dbf |