Open franzlst opened 6 years ago
There are probably more methods that need to be implemented:
enterPrefTimedGD
/ exitPrefTimedGD
enterTimedGD
/ exitTimedGD
enterDaEffect
/ exitDaEffect
enterTimedEffect
/ exitTimedEffect
Here is an extended durative-action
, which I would like to parse:
(:durative-action pick
:parameters (?obj - thing ?manip - manipulator ?loc - location)
:duration (= ?duration 40)
:condition
(and
(at start (clear ?obj))
(at start (at ?obj ?loc))
(at start (not (at ?obj ?manip)))
(over all (closeto ?loc ?manip)))
:effect
(and
(at end (holding ?obj ?manip) )
(at end (not (clear ?obj)))
(at start (at ?obj ?manip))
(at start (not (at ?obj ?loc)))
)
)
Thanks for trying pddl-lib.
I'm sorry Franz, buy this implementation currently only supports the strips definition. The library should report any non-supported flag in the requirements field so users can see right away the (limited) scope of the library. There's a long standing bug that I've never find the time to fix. My apologies.
There are many other feature subsets that are not implemented yet also requested by other users. Any PR is very welcome.
Thanks for your fast feedback. Here's your pull request: #24 :smile:
I don't know whether you really want to merge it, as it makes non-backward compatible changes. The description describes the coarse changes.
Wow, thanks a lot! I'll take a look. Looks very promising!
There is an issue with
durative-action
. I created the following minimal test domain:I parse it with the following code:
This causes the following exception:
I used PyCharm for debugging and discovered the following. The
action
scope is successfully parsed. The exception occures, when theparameter
scope of theduractive-action
is to be parsed. The list of scopes is empty, which I think means theduractive-action
scope has not been parsed successfully.I had a look at the source code of
pddl.py
. Theclass DomainListener
has methodsenterActionDef
/exitActionDef
. I would expect corresponding methods fordurative-action
s, but there is noenterDurativeActionDef
/exitDurativeActionDef
. So I guess this is the root of this issue.Could you please fix this? I am very happy that I found this Python package, as it look very useful to me. Yet, this issue prevents me from using it.
(I am using the latest release on PyPi, 0.1.9).