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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

011d9d9 · Nov 3, 2024
Nov 3, 2024
Jun 17, 2021
Nov 3, 2024
Nov 1, 2024
Nov 3, 2024
Nov 7, 2022
Nov 1, 2024
Nov 1, 2024
Nov 1, 2024
Nov 2, 2024
Nov 3, 2024
Jul 9, 2020
Jul 9, 2020
Nov 3, 2024
Aug 25, 2020
Nov 1, 2024
Nov 3, 2024
Nov 2, 2024

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