selector{
cond At(Table,Coffee)
selector{
cond Holding(Coffee), At(Robot,Table)
act PutDown(Table,Coffee)
}
selector{
cond NotHolding, At(Robot,Coffee), At(Robot,Table)
act PickUp(Coffee)
}
selector{
cond Holding(Coffee), Available(Table)
act MoveTo(Table)
}
selector{
cond Holding(VacuumCup), At(Robot,Coffee), At(Robot,Table)
act PutDown(Table,VacuumCup)
}
selector{
cond NotHolding, At(Robot,CoffeeMachine), At(Robot,Table)
act OpCoffeeMachine
}
selector{
cond NotHolding, Available(Table), At(Robot,Coffee)
act PickUp(Coffee)
}
selector{
cond Holding(VacuumCup), At(Robot,Table), At(Robot,CoffeeMachine)
act PutDown(Table,VacuumCup)
}
selector{
cond NotHolding, Available(Coffee), Available(Table)
act MoveTo(Coffee)
}
selector{
cond NotHolding, Available(Table), At(Robot,CoffeeMachine)
act OpCoffeeMachine
}
selector{
cond Holding(VacuumCup), Available(Coffee), Available(Table), At(Robot,Table)
act PutDown(Table,VacuumCup)
}
selector{
cond Available(CoffeeMachine), NotHolding, Available(Table)
act MoveTo(CoffeeMachine)
}
selector{
cond Holding(VacuumCup), Available(Coffee), Available(Table)
act MoveTo(Table)
}
selector{
cond Available(CoffeeMachine), Holding(VacuumCup), Available(Table), At(Robot,Table)
act PutDown(Table,VacuumCup)
}
selector{
cond Available(CoffeeMachine), Holding(VacuumCup), Available(Table)
act MoveTo(Table)
}
}
