Problems with EUROPA modeling

85 views
Skip to first unread message

Alessandro Umbrico

unread,
Jan 25, 2016, 12:47:57 PM1/25/16
to europa-users
Hi all,
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
Rover-initial-state.nddl
Rover-model.nddl
screenshot.png

Iatauro, Michael J. (ARC-TI)[QTS, INC]

unread,
Jan 25, 2016, 6:31:46 PM1/25/16
to europa...@googlegroups.com
Welcome to Europa, Alessandro! 
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?
Open decisions remaining when the Solver stops means that it hit the decision limit (100, by default) before running out of decisions to make.  Looking at the "Decisions in Plan" graph, I see that the Solver backtracks at some decision in the high 40s and every ten or so decisions after that.  If you think your problem is solvable in fewer than 100 decisions, those backtrack points are where I'd start looking.  See what choice it's having to retreat from and whether it's fixable through some modeling change, increasing the decision limit, or altering the choice order that the Solver uses.  I believe you can increase the decision limit through the GUI.  See https://github.com/nasa/europa/wiki/Planner-Cfg for information about configuring decision and choice order (and feel free to ask more questions if the documentation is unclear!). 

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]?
Literal values can be intervals or enumerations, not just single values, so
 eq(duration, [3 10]);
is perfectly valid and useful NDDL.

- 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.
When doing temporal planning, the time horizon to plan over and the goals' relationship to that horizon is an absolutely critical portion of the problem statement.  I haven't seen your SolverConfig.xml file, but if you didn't change the Solver's policy for the horizon, the default is "partially contained": that is, it will only consider goals that *must* be partially contained in the horizon.   With a constraint like "g0.start >= 30;", unless there's a corresponding constraint to force g0.start to be in the horizon, g0 could start outside the horizon, so the Solver will ignore it. 

~MJI


--
-----------------------------------------
Michael J Iatauro
Software Engineer, IRIS Flight Controller
QTS, Inc.

NASA Ames Research Center
Office: 650-604-0662
Mail stop: 269-2
P.O. Box 1
Moffett Field, CA 94035-0001

Reply all
Reply to author
Forward
0 new messages