Open bhomaidan1990 opened 3 years ago
It should be quite possible. I guess VAL does not support it, does it? I always wanted to learn that : )
Is there tooling? Practices? Are the files generally named *.hddl
? Or also *.pddl
? Planners that I could get to test compatibility?
Thanks for your rapid reply, "I guess VAL does not support it, does it?"
"Is there tooling? Practices? Are the files generally named `.hddl? Or also
.pddl`? Planners that I could get to test compatibility?"
.hddl
, I'm using the PFD, and TFD planners from PDDL4J library devel
branch, and here are some good examples. ./gradlew clean build -PnoTest
since some tests fail.java -javaagent:build/libs/pddl4j-3.8.3.jar -server -Xms2048m -Xmx2048m fr.uga.pddl4j.planners.htn.stn.tfd.TFDPlanner -d domain.hddl -p problem.hddl
any progess on this?
Good news is that the file extension is different from .pddl
. That makes it a lot easier. I would suggest we create a separate extension, which adds the .hddl
syntax, and which leverages the PDDL extension to invoke planners and shows the plan etc... as usual. That is assuming the plan is represented the same way as from other non-hierarchical planners.
That arrangement would also avoid the VAL integration problem.
And if pddl4j was configured as a PDDL parser, it should also provide parsing for .hddl
.
It is a few days of work.
@jan-dolejsi Is it possible please to extend the supported extensions to .hddl
also, so we can benefit from the PDDL
syntax correction? thanks in advance.
@bhomaidan1990 besides HDDL support missing, does the extension support HTN planners?
@bhomaidan1990 besides HDDL support missing, does the extension support HTN planners?
As it supports PDDL4J which includes HTN planners I think that it supports HTN
planning using TFD
or PFD
planners, but to be sure @jan-dolejsi can confirm that.
Thank you for the great extension, I do like to ask if it is possible to add the HDDL , Additions syntax to the extension so it can support Hierarchical Domain Description Language.
(:method method_name :parameters (?param1 ?param2 ?param3 ?param4 ?param5 ?param6) :task (task_name ?param1 ?param2) :precondition (and (atom1 ?param1 ?param2) (atom2 ?param3 ?param4) ) :ordered-subtasks (and (sub_task_name ?param1 ?param2 ?param3) (sub_task_name2 ?param1 ?param5 ?param6) ) )