-
Notifications
You must be signed in to change notification settings - Fork 22
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
Fixes for problem_generator.py #112
Conversation
(completed-panorama | ||
?robot - robot | ||
?order - order | ||
?location - location | ||
?run-number - run-number | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Plansys2 (specifically DomainReader) does not handle multi-line predicates as you'd expect. This has been reported upstream (PlanSys2/ros2_planning_system#286) but for now we need to axe the new-lines.
(completed-stereo | ||
?robot - robot | ||
?order - order | ||
?base ?bound - location | ||
?run-number - run-number | ||
) | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Plansys2 (specifically DomainReader) does not handle multi-line predicates as you'd expect. This has been reported upstream (PlanSys2/ros2_planning_system#286) but for now we need to axe the new-lines. (Github won't let me create a suggested change because the range encompasses a deleted line? That seems like a major limitation)
(completed-let-other-robot-reach | ||
?robot - robot | ||
?order - order | ||
?loc - location | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same issue as the other comments, but this time it lets me use the suggestion feature. Just make sure to apply to all three multi-line predicates:
(completed-let-other-robot-reach | |
?robot - robot | |
?order - order | |
?loc - location | |
) | |
(completed-let-other-robot-reach ?robot - robot ?order - order ?loc - location ) |
Discussed this with @bcoltin and we're going to merge this to keep testing unblocked |
This is a pretty big code change that amounts to a pretty minor tweak to the planning model semantics but with some nice side benefits.
Main changes:
problem_generator.py
output a PDDL problem instance in the format accepted by PDDL planners. However, when using PlanSys2, the PlanSys2 problem expert is in charge of generating the problem instance based on the knowledge incrementally built up by a sequence of PlanSys2 API calls. With this update,problem_generator.py
is now compatible with PlanSys2. When run with--terminal
, it generates a sequence of commands for the PlanSys2 terminal that will trigger the right API calls to the domain expert that should cause it to output an equivalent PDDL problem instance.num_orders
in the config file, but rather we calculate it automatically based on the maximum order number used in the goals. This shrunknum_orders
from 10 to 5 and further reduced planner run-time ~50%. (We might end up paddingnum_orders
a bit again if we decide we need more flexibility to add new goals on the fly.)problem_generator.py
hard-coded the config file split between the "static" and "dynamic" configs. We've retained that split in the example inputs, but the script can now accept an arbitrary list of config files as long as they together contain all the necessary fields.