-
Notifications
You must be signed in to change notification settings - Fork 7
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
Problem trying to run STP and TP #8
Comments
I don't remember seeing this error before. Would you be able to share your domain with us so that we can reproduce the error? |
Hi @ertsiger Sure, here it is. The domain it's a simulation of a planning system of firefighters. `(define (domain firedom) (:functions (:predicates (:durative-action GET-IN ; Acción para que un bombero se suba a un camión (:durative-action GET-OFF ;Acción para que un bombero se baje de un camión (:durative-action MOVE-TRUCK ; Acción para mover un camión de un barrio a otro (:durative-action PUT-OUT ; Acción para apagar un fuego (:durative-action REFILL-WATER ; Acción para rellenar el agua de un camión )` And the problem : `;Todos los camiones disponibles en sus estaciones (define (problem DLOG-1-1-1-2-03092014122955)
) )` |
When I try to execute python bin/plan.py stp-5 --time 120 --iterated v3.3/domain3.pddl v3.3/p0.pddl And when I try to execute python bin/plan.py tempo-5 --time 120 --iterated v3.3/domain3.pddl v3.3/p0.pddl |
Thanks, @AlejandroTorresMunoz, the file has been very helpful. After a few checks, I saw that the reason is that the compiled classical planning file has a I have checked what happens if I make the original cost smaller (e.g. Let us know if you have any other doubts/problems. |
Sorry, just figured out that the problem is not with the number, but with how it is expressed. If I run Fast Downward using
I will check now if I can modify the code such that the compiled temporal planning problem does not use scientific notation. Sorry for the confusion! I'll try to have this done as soon as possible, I need to familiarize myself with the code again :) |
Hi again @AlejandroTorresMunoz, the problem should be now solved :) For simplicity, I would just clone the repository again and start from scratch (although just pulling should be enough, I presume). Please, let us know if it works for you, we are happy to help further. Sorry for the inconvenience. |
Thanks for your answer @ertsiger I've try with the new version and it works! However, I'm having the following problem with the python bin/plan.py stp-10 v3.3/domain3.pddl v3.3/p0.pddl That error doesn't happen with the other planners. |
Hi again @ertsiger I've detected another bug that maybe could be a problem of how I write the domain or nor, I'm not sure. Specifically, I've started to add functions to my domain, and those works without any problems if I use it as duration or effects. However, if I try to use it as preconditions I get the same error I posted below. Here's an example of my code : `(define (domain firedom) (:functions (:predicates (:durative-action GET-IN ; Acción para que un bombero se suba a un camión (:durative-action GET-OFF ;Acción para que un bombero se baje de un camión (:durative-action MOVE-TRUCK ; Acción para mover un camión de un barrio a otro (:durative-action PUT-OUT ; Acción para apagar un fuego (:durative-action REFILL-WATER ; Acción para rellenar el agua de un camión )` As you can notice, in the action REFILL-WATER, the last condition is that the capacity of the truck is under the maximum value during the action (over all). If I change that condition to be satisfied at the end of the action, it still works(at end). However, if I settle that any condition that involves functions must be satisfied at the start(at start) of an action, I get the error I explain before. |
Hi @AlejandroTorresMunoz, are you using the same problem file? I'm not being able to reproduce the error right now, but probably I have something incorrectly set. |
Sorry @ertsiger . Here is the problem, I've add the lines to declare the initial values of the functions associated with the trucks. ` (define (problem DLOG-1-1-1-2-03092014122955)
) ) |
Thanks @AlejandroTorresMunoz, I'm checking and I think I may have detected the cause; however, I'm trying to figure out if any amendments I make will solve the problem and not break other things. I hope I can provide an answer today, I may have to speak to other people in the group about it. |
Hi again @AlejandroTorresMunoz, we are discussing this internally. Hope we can give you an answer soon. Sorry for the inconvenience! |
Sorry @ertsiger I've been working the rest of the planners, and I'm having a problem with
|
Is Would it be possible to use an alternative encoding? For example (and apologies if I misunderstand), you could set the capacity of the track directly to the maximum instead of computing how much you have to increase it to reach the maximum (which is what you are doing now, Sorry for the inconvenience, we are happy to discuss any alternatives :) P.S.: Thanks to your comment we have realized there are some refactoring we need to do to support negative preconditions, we'll try to make the amendments soon. However, this is independent from the numerical planning issue outlined above. |
Thanks for the answer about the issue with the numerical plannig, I will reconsider the domain again. Othewise, about the last problem I got, the domain is the following : ` (:functions (:predicates ; (:action GET-IN (:durative-action GET-IN-FIREFIGHTER ; Acción para que un bombero se suba a un camión
) ; (:durative-action GET-IN-POLICEMAN ; Acción para que un bombero se suba a un camión ; (at start (at ?person ?building)) ;Durante toda la acción el bombero se debe encontrar en el edificio ; (at start (is-in ?building ?neighborhood)) ;Durante toda la acción el edificio debe encontrarse en el barrio ; (:action GET-OFF (:durative-action GET-OFF-FIREFIGHTER ;Acción para que un bombero se baje de un camión
) ; (:durative-action GET-OFF-POLICEMAN ;Acción para que un bombero se baje de un camión ; (at start (is-driven ?vehicle ?person)) ;El camión debe contener un bombero ; (at start (is-in ?building ?neighborhood)) ;Durante toda la acción el edificio debe encontrarse en el barrio (:durative-action MOVE-VEHICLE ; Acción para mover un camión de un barrio a otro
) ; (:durative-action CORDON-OFF ; Acción para acordonar un edificio ; (at start (at ?policeman ?building)) ;El bombero debe estar durante toda la acción en el edificio ; (at start (at ?policecar ?building)) ; (at start (is-fire ?building)) ;Debe haber fuego en el edificio ; (at start (not(cordoned-off ?building))) ;El edificio debe estar sin evacuar ; ; (at start (is-ready ?firefighter)) ;El bombero debe estar inicialmente libre (:durative-action PUT-OUT ; Acción para apagar un fuego
) (:durative-action REFILL-WATER ; Acción para rellenar el agua de un camión
) (:durative-action EVACUATE-BUILDING ; Acción para evacuar edificio
) ) And the problem : ` (define (problem DLOG-1-1-1-2-03092014122955) SanBernardo_Parque_De_Bomberos SanBernardo_1 SanBernardo_2 - building ; SanBernardo_3 SanBernardo_4 - building Bombero_SanBernardo_0 Bombero_SanBernardo_1 Bombero_SanBernardo_2 - firefighter ; Policia_Centro_0 Policia_Centro_1 - policeman
) ) I got the error I posted below when I try to execute |
Thanks @AlejandroTorresMunoz. Unfortunately, I won't be able to further check this until later this week (possibly from Friday). Sorry for this. |
Hi @AlejandroTorresMunoz, I have been finally able to take a look at the issue. The issue is again a negative condition at the end of the action. Specifically, in I have replicated a workaround we had for negative conditions over all the action. I've pushed the amendment and it should now work. Sorry again for the delay in my answer! |
Hello!
I've been trying in the past days to run the different planners that are available with a domain I've created, but I'm having a problem when I try to run STP and TP.
Traceback (most recent call last): File "/home/alejandro/Escritorio/proyecto/temporal-planning/fd_copy/builds/release32/bin/translate/translate.py", line 683, in <module> main() File "/home/alejandro/Escritorio/proyecto/temporal-planning/fd_copy/builds/release32/bin/translate/translate.py", line 673, in main sas_task = pddl_to_sas(task) File "/home/alejandro/Escritorio/proyecto/temporal-planning/fd_copy/builds/release32/bin/translate/translate.py", line 517, in pddl_to_sas reachable_action_params) = instantiate.explore(task) File "/home/alejandro/Escritorio/proyecto/temporal-planning/fd_copy/builds/release32/bin/translate/instantiate.py", line 78, in explore return instantiate(task, model) File "/home/alejandro/Escritorio/proyecto/temporal-planning/fd_copy/builds/release32/bin/translate/instantiate.py", line 58, in instantiate task.use_min_cost_metric) File "/home/alejandro/Escritorio/proyecto/temporal-planning/fd_copy/builds/release32/bin/translate/pddl/actions.py", line 97, in instantiate cost = int(self.cost.instantiate(var_mapping, init_facts).expression.value) File "/home/alejandro/Escritorio/proyecto/temporal-planning/fd_copy/builds/release32/bin/translate/pddl/f_expression.py", line 95, in instantiate expression = self.expression.instantiate(var_mapping, init_facts) File "/home/alejandro/Escritorio/proyecto/temporal-planning/fd_copy/builds/release32/bin/translate/pddl/f_expression.py", line 68, in instantiate assert False, "Could not find instantiation for PNE!" AssertionError: Could not find instantiation for PNE!
The text was updated successfully, but these errors were encountered: