Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forall() usage in PDDL domain not supported by BT parser #314

Open
claudio-dg opened this issue Aug 1, 2024 · 3 comments
Open

Forall() usage in PDDL domain not supported by BT parser #314

claudio-dg opened this issue Aug 1, 2024 · 3 comments

Comments

@claudio-dg
Copy link

Hi, using the "forall()" construct within the preconditions of actions in my PDDL Domain file I discovered that it is well supported for generating a proper plan, but not for running it using BTs.
More in details, I manage to 'get a plan', but when i execute the run command from 'plansys2_terminal' i get the following error:

[domain_expert_node-1] terminate called after throwing an instance of 'parser::pddl::UnsupportedConstruct' [domain_expert_node-1] what(): Forall is not currently supported by plansys2

I tried to use a work-around solution to avoid using the forall() construct in my domain: this allowed me to run my plans with BTs, but drastically decreased the performances of my plan generation, forcing me to have simplified problem instances in order to avoid planner's time out.

Is there a reason for this discrepancy in trying to use the forall() construct in generating/running a plan? How can i possibly fix this issue, since the complexity of my PDDL requires using such construct to obtain useful results?

@fmrico
Copy link
Contributor

fmrico commented Aug 5, 2024

Hi @claudio-dg

There are no specific reasons for not having forall, as far as I remember, but I have to check how difficult it will be to enable this. I probably did not think about this because of the limitation of POPF for some expressions.

Best

@claudio-dg
Copy link
Author

Thanks a lot for your answer @fmrico! If it can be useful, in my personal experience POPF seems to support very well forall() expressions for planning, obtaining much better results with respect to other alternatives/workarounds.
Therefore, if it is not excessively complex, it might be actually worth to enable it.

Best

@fmrico
Copy link
Contributor

fmrico commented Sep 2, 2024

Hi @claudio-dg

forall and exists (#318 (comment)) would be a nice contribution ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants