I have recently started to use EUROPA to perform some planning and I’m now trying to have some practice by playing with a simplified version of the Rover domain model available on the web site (I’m not considering the Battery and location paths in my version of the Rover planning domain). I’m having some difficulties with problem modeling and I’m wondering whether someone could kindly help me.
I have looked for similar discussions in the forum but I haven't found any. I apologize in case of redudancy.
I have attached the NDDL files for the model and the initial state of my version of the Rover planning problem.
The planning problem is very similar to the one described on the web site. It consists of a rover which must take pictures of some targets that are located in different positions. Thus the rover must navigate the environment to reach the targets and take the pictures.
Running the solver with one planning goal, the problem is successfully solved. On the contrary, running the planner with two goals, it seems that no plan can be found.
Please, find enclosed a screenshot of what I get from the planner.
Looking at the Open Decision Count graph, it seems that at the last step there are 15 open decisions to solve so I guess that the displayed plan does not represent a valid solution.
Indeed there are some inconsistencies w.r.t. to the compatibilities of the model (e.g. the rover.inst.position is not in Stowed state during the second GoTo action of the rover).
I have checked the model, and it seems to me that everything is fine. So, I’m not able to figure out which is the problem. Could you please help me to figure out what I’m missing?
I have two more specific questions related to domain modeling with NDDL:
- How is it possible to specify flexible durations of actions?
When declaring an action for an object it is possible to specify the duration by typing "eq(duration, X)". This allows to specify a fixed duration of actions. But, how can I specify that the duration of an action belongs, for instance, to the interval [5, 10]?
- Is it possible to specify planning goals without assigning a fixed start time? Namely, can I specify one or more planning goals that can be scheduled at any time within the planning horizon by the planner?
I have tried to set a flexible start time for a goal by means of constraints like "g0.start >= 30;" in the initial state of the problem but it seems like the planner does not consider the goal because it generates plans composed by initial facts only.
Thanks in advance.
Best regards,
Alessandro