Pietro02
Pietro02

Reputation: 31

Using conditional effects with durative actions in PDDL

I am trying to model a scenario using PDDL. I am facing issues while trying to put conditional effects in durative actions.

(:durative-action move-robot
    :parameters (?r - robot ?l1 - location ?l2 - location ?ca - carrier)
    :duration (= ?duration 25)
    :condition (at start
            (and
                (not (= ?l2 central_warehouse))
                (located-robot ?r ?l1)
                (connected ?l1 ?l2)
                (has-carrier ?r ?ca)
                
            )
            
    )
    :effect (and
        (at end
            (and
                (located-robot ?r ?l2)
                (not (located-robot ?r ?l1))
                
            )
        )
        
        (forall (?b - box)
                (when (carrier-has ?ca ?b)
                            (at end (and
                                        (located-box ?b ?l2)
                                        (not (located-box ?b ?l1))
                                    )
                            )
                )   
        )   
          
    )

)

The parser gives me syntax error in the when section

I tried everything but i don't know how to fix that.

Upvotes: 0

Views: 36

Answers (1)

alexL
alexL

Reputation: 11

The point is that temporal parts of conditional constructs are not correctly supported by the planner.

Actually I don't think there is a solution for this problem so you can only reformulate your actions trying to remove all "fancy" constructs and make your domain as simple as possible.

Upvotes: 0

Related Questions