Skip to content

Commit

Permalink
Added installation instructions
Browse files Browse the repository at this point in the history
Signed-off-by: Charlie Street <me@charliestreet.net>
  • Loading branch information
charlie1329 committed May 20, 2024
1 parent a4521dd commit 6396076
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 3 deletions.
66 changes: 64 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,73 @@

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

## Dependencies


## Installation

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

### Installing Dependencies

COVERAGE-PLAN requires the following dependencies:

* [Numpy](https://numpy.org/) (Tested with 26.4)
* [Sympy](https://www.sympy.org/en/index.html) (Tested with 1.12)
* [Pyeda](https://pyeda.readthedocs.io/en/latest/) (Tested with 0.29.0)
* [Stormpy](https://moves-rwth.github.io/stormpy/index.html) (Tested with 1.8.0)

The first three dependencies can be installed via:
```
pip install -r requirements.txt
```

Installing `stormpy` is more involved. Please see below.

### Installing Stormpy

Stormpy requires the use of [Storm](https://www.stormchecker.org/).
Instructions for installing stormpy alongside its dependencies can be found [here](https://moves-rwth.github.io/stormpy/installation.html#).

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

* Storm - 1.8.1. Specifically we use this [commit](https://github.com/moves-rwth/storm/commit/5b662c76549558750938fdb980c5727b062d662d).
* 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:

```bash
pip install .
```

### Installation for Developers (Update PYTHONPATH)

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

```bash
./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:

```bash
cd tests/algorithms
python3 -m unittest discover --pattern=*.py
cd ../models
python3 -m unittest discover --pattern=*.py
```


## Build the documentation

Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

setup(
name="refine_plan",
version="0.0.1",
version="1.0.0",
description="Automatic Behaviour Tree Refinement",
long_description=long_description,
author="Charlie Street",
Expand Down

0 comments on commit 6396076

Please sign in to comment.