Skip to content

Source files for REFINE-PLAN (WP3), i.e. a planner for refining hand-designed behaviour trees.

License

Notifications You must be signed in to change notification settings

convince-project/refine-plan

Repository files navigation

REFINE-PLAN

This repo contains the source code for REFINE-PLAN, an automated tool for refining hand-designed behaviour trees to achieve higher robustness to uncertainty.

Installation

REFINE-PLAN has been tested on Ubuntu 22.04 with Python 3.10.12.

Installing Dependencies

COVERAGE-PLAN requires the following dependencies:

  • Numpy (Tested with 26.4)
  • Sympy (Tested with 1.12)
  • Pyeda (Tested with 0.29.0)
  • PyAgrum (Tested with 1.14.1)
  • PyMongo (Tested with 4.8.0)
  • Pandas (Tested with 2.2.1)
  • Stormpy (Tested with 1.8.0)
  • MongoDB (Tested with 7.0.12) - only required for unit tests.

The first six dependencies can be installed via:

pip install -r requirements.txt

MongoDB can be installed using the official instructions.

Installing stormpy is more involved. Please see below.

Installing Stormpy

Stormpy requires the use of Storm. Instructions for installing stormpy alongside its dependencies can be found here.

REFINE-PLAN has been tested with the following software versions during the above installation steps:

  • Storm - 1.8.1. Specifically we use this commit.
  • Carl - 14.27 (this is the carl-storm version of Carl, as mentioned in the Storm installation instructions)
  • pycarl - 2.2.0
  • stormpy - 1.8.0

As Storm is updated, you may want newer versions of these libraries. The current master of Stormpy and Storm should usually be compatible.

Installation for Users (Pip Install)

After installing all dependencies, run the following in the root directory of this repository:

pip install .

Installation for Developers (Update PYTHONPATH)

After installing all dependencies, run the following in the root directory of this repository:

./setup_dev.sh

Run examples

Small examples of REFINE-PLAN can be found in the bin directory.

Run the Unit Tests

To run all unit tests, run:

cd tests
python3 -m unittest discover --pattern=*.py

Build the documentation

The REFINE-PLAN documentation can be found here. If you want to build it locally, do the following:

  1. Install the required packages:

    pip install -r docs/requirements.txt
  2. Install the package to be documented:

    pip install refine_plan/

    Or add it to your Python path:

    ./setup_dev.sh
  3. Build the documentation:

    cd docs
    make html
  4. Look at the documentation:

    cd docs
    firefox build/html/index.html

Clean documentation build artifacts

If you want to clean the documentation, you can run:

cd docs
make clean

About

Source files for REFINE-PLAN (WP3), i.e. a planner for refining hand-designed behaviour trees.

Resources

License

Stars

Watchers

Forks

Packages

No packages published