20 likes | 118 Views
Initial state : At(A, α ); At(B, β ); At(X, ξ ); At(Y, ψ ); Goal: At(X, ψ ); At(Y, ς ). At(A, α ); At(B, β ); Actions: Pickup (Robot, Position1 , Position2, Item); Precond : At(Robot, Position1); At(Item, Position2) Effect: At(Robot, Position2); Carried(Item, Robot)
E N D
Initial state: At(A, α); At(B, β); At(X, ξ); At(Y, ψ); Goal: At(X, ψ); At(Y, ς). At(A, α); At(B, β); Actions: Pickup(Robot, Position1, Position2, Item); Precond: At(Robot, Position1); At(Item, Position2) Effect: At(Robot, Position2); Carried(Item, Robot) Dropoff(Robot, Item, DropoffPosition); Precond: Carried(Robot, Item); Effect: At(Robot, DropoffPosition), At(item, DropoffPosition). PickDrop(Robot, Item1, DropoffPosition, Item2); Precond: Carried(Robot, Item1); At(Item2, DropoffPosition) Effect: At(Item1, DropoffPosition); Carried(Robot, Item2). Return(Robot, Position) Precond: Effect: At(Robot, Position)
Goal: to find the shortest sequence of plan steps) A B . Partial order plan Pickup(A, α, ξ, X) Pickup(B, β, ψ, Y) Dropoff(A, X, ψ) Dropoff(B, Y, ς) Return(A, α) Return(B, β) α β 6 1 Return(A, α) 3 Return(B, β) Pickup(B, β, ψ, Y) Pickup(A, α, ξ, X) 5 4 2 ς ξ ψ Dropoff(B, Y, ς) X Dropoff(A, X, ψ) Y Partial order plan Pickup(A, α, ξ, X); Pickup(B, β, ψ, Y); If A pickup finished at ξ earlier than B pickup Completion {PickDrop(A, X, ψ, Y); Return(B, β); Dropoff(A, Y, ς); Return(A, α).} Otherwise (B arrived at ψ first) {Dropoff(B, Y, ς); Dropoff(A, X, ψ); Return(A, α); Return(B, β)} Goal: to minimize the delivery time. A B α β Return(A, α) Pickup(B, β, ψ, Y) Pickup(A, α, ξ, X) 2 Return(B, β) 1 ψ ξ 3 ς Y X Dropoff(A, Y, ς) PickDrop(A, X, ψ, Y)