remaro-network / dlToPlanning

small tool to insert OWL axioms into PDDL files
Apache License 2.0
1 stars 0 forks source link

Infer `fd_available` #9

Open Rezenders opened 4 months ago

Rezenders commented 4 months ago

Infer fd_available instead of declaring it. Start with checking component status, specially fd_realizability

Rezenders commented 4 months ago

We can use the fd_realisability property and its derived predicate for this: (not (inferred-Fd_realisability ?fd1 false_boolean)) Later, I think it is better to rename this property

(:action search_pipeline
      :parameters (?a - action ?p - pipeline ?r - robot ?fd1 ?fd2)
      :precondition (and
        (= ?a a_search_pipeline)
        (exists (?f1 ?f2)
          (and
            (action_requires ?a ?f1 ?f2)
            (Function ?f1)
            (Function ?f2)
            (FunctionDesign ?fd1)
            (FunctionDesign ?fd2)
            (solvesF ?fd1 ?f1)
            (solvesF ?fd2 ?f2)
            (not (inferred-Fd_realisability ?fd1 false_boolean))
            (not (inferred-Fd_realisability ?fd2 false_boolean))
          )
        )
        (robot_started ?r)
      )
      :effect (and
        (pipeline_found ?p)
      )
    )