https://github.com/whitemech/fond4ltlf
FOND4LTLf translates an LTLf/PLTLf-FOND to standard FOND planning problems
https://github.com/whitemech/fond4ltlf
dfa fond ltlf non-determinism pddl planning pltlf
Last synced: 6 months ago
JSON representation
FOND4LTLf translates an LTLf/PLTLf-FOND to standard FOND planning problems
- Host: GitHub
- URL: https://github.com/whitemech/fond4ltlf
- Owner: whitemech
- License: lgpl-3.0
- Created: 2018-07-24T15:48:56.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-11-01T13:44:26.000Z (over 1 year ago)
- Last Synced: 2024-11-01T14:22:13.042Z (over 1 year ago)
- Topics: dfa, fond, ltlf, non-determinism, pddl, planning, pltlf
- Language: Python
- Homepage: https://whitemech.github.io/FOND4LTLf
- Size: 1.8 MB
- Stars: 15
- Watchers: 2
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Authors: AUTHORS.md
Awesome Lists containing this project
README
FOND 4 LTLf
FOND 4 LTLf is a tool that compiles Fully Observable Non-Deterministic (FOND) planning
problems with temporally extended goals, specified either in LTLf or in PLTLf, into classical FOND
planning problems.
## Prerequisites
This tool is based on the following libraries:
- [ltlf2dfa 1.0.1](https://pypi.org/project/ltlf2dfa/)
- [ply](https://pypi.org/project/ply/)
- [click](https://pypi.org/project/click/)
They are automatically added while installing FOND4LTLf.
## Install
- Intall from source (`master` branch):
```
pip install git+https://github.com/whitemech/FOND4LTLf.git
```
- or, clone the repository and install:
```
git clone https://github.com/whitemech/FOND4LTLf.git
cd FOND4LTLf
pip install .
```
## Usage
The output of the CLI is the following:
```bash
user:~$ fond4ltlf --help
Usage: fond4ltlf [OPTIONS]
From FOND Planning for LTLf/PLTLf Goals to Classical FOND Planning.
Options:
-d, --in-domain PATH Path to PDDL domain file. [required]
-p, --in-problem PATH Path to PDDL problem file. [required]
-g, --goal TEXT LTLf or PLTLf goal formula.
-outd, --out-domain FILE Path to PDDL file to store the new domain.
-outp, --out-problem FILE Path to PDDL file to store the new problem.
-n, --no-disj-preconds No disjunctive preconditions.
--help Show this message and exit.
```
For instance, you can call `FOND4LTLf` as follows:
```bash
fond4ltlf -d -p -g "formula"
```
## Features
* Syntax and parsing support FOND Planning in PDDL
* Compilation of Deterministic Finite-state Automaton into PDDL
## Development
Contributions are welcome! Here's how to set up the development environment:
- set up your preferred virtualenv environment
- clone the repo: `git clone https://github.com/IBM/nl2ltl.git && cd nl2ltl`
- install dependencies: `pip install -e .`
- install dev dependencies: `pip install -e ".[dev]"`
- install pre-commit: `pre-commit install`
## Tests
To run tests: `tox`
To run only the code tests: `tox -e py3.10`
To run only the code style checks: `tox -e ruff-check`
## License
FOND4LTLf is released under the GNU Lesser General Public License v3.0 or later (LGPLv3+).
Copyright 2019-2024 WhiteMech
## Author
[Francesco Fuggitti](https://francescofuggitti.github.io/)