Skip to content

FOND4LTLf translates an LTLf/PLTLf-FOND to standard FOND planning problems

License

Notifications You must be signed in to change notification settings

whitemech/FOND4LTLf

Repository files navigation

FOND 4 LTLf

test lint docs

GitHub

DOI

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:

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:

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:

fond4ltlf -d <path/to/domain.pddl> -p <path/to/problem.pddl> -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