make_microwave_popcorn-0


Synsets

Transition Paths By Task Scope Objects

graph TD; future-cooked__cooking_oiln01(future: cooked__cooking_oil.n.01); future-cooked__popcornn01(future: cooked__popcorn.n.01); future-cooked__saltn01(future: cooked__salt.n.01); initial-cooking_oiln01(initial: cooking_oil.n.01); initial-popcornn02(initial: popcorn.n.02); future-saltn02(future: salt.n.02); recipe-cooking_oiln01-cooking(recipe: cooking_oil.n.01-cooking); recipe-popcornn02-cooking(recipe: popcorn.n.02-cooking); initial-cooking_oiln01 --> recipe-cooking_oiln01-cooking; initial-popcornn02 --> recipe-popcornn02-cooking; recipe-cooking_oiln01-cooking --> future-cooked__cooking_oiln01; recipe-popcornn02-cooking --> future-cooked__popcornn01;

Unreachable Goal Synsets

Scenes

Full Definition

(define (problem make_microwave_popcorn-0)
    (:domain omnigibson)

    (:objects
        cooking_oil.n.01_1 - cooking_oil.n.01
        cooked__cooking_oil.n.01_1 - cooked__cooking_oil.n.01
        popcorn.n.02_1 - popcorn.n.02
        salt.n.02_1 - salt.n.02
        cooked__salt.n.01_1 - cooked__salt.n.01
        cooked__popcorn.n.01_1 - cooked__popcorn.n.01
        popcorn__bag.n.01_1 - popcorn__bag.n.01
        microwave.n.02_1 - microwave.n.02
        salt__shaker.n.01_1 - salt__shaker.n.01
        countertop.n.01_1 - countertop.n.01
        cooking_oil__bottle.n.01_1 - cooking_oil__bottle.n.01
        floor.n.01_1 - floor.n.01
        agent.n.01_1 - agent.n.01
    )

    (:init
        (filled cooking_oil__bottle.n.01_1 cooking_oil.n.01_1)
        (ontop cooking_oil__bottle.n.01_1 countertop.n.01_1)
        (filled popcorn__bag.n.01_1 popcorn.n.02_1)
        (ontop popcorn__bag.n.01_1 countertop.n.01_1)
        (insource salt__shaker.n.01_1 salt.n.02_1)
        (ontop salt__shaker.n.01_1 countertop.n.01_1)
        (inroom microwave.n.02_1 kitchen)
        (inroom countertop.n.01_1 kitchen)
        (inroom floor.n.01_1 kitchen)
        (future cooked__popcorn.n.01_1)
        (future cooked__salt.n.01_1)
        (future cooked__cooking_oil.n.01_1)
        (ontop agent.n.01_1 floor.n.01_1)
    )

    (:goal
        (and
            (real ?cooked__popcorn.n.01_1)
            (or 
                (real ?cooked__salt.n.01_1)
                (real ?salt.n.02_1)
            )
            (or 
                (real ?cooked__cooking_oil.n.01_1)
                (real ?cooked__salt.n.01_1)
            )
            (contains ?popcorn__bag.n.01_1 ?cooked__popcorn.n.01_1)
            (or 
                (contains ?popcorn__bag.n.01_1 ?cooked__cooking_oil.n.01_1)
                (contains ?popcorn__bag.n.01_1 ?cooking_oil.n.01_1)
            )
            (or 
                (contains ?popcorn__bag.n.01_1 ?salt.n.02_1)
                (contains ?popcorn__bag.n.01_1 ?cooked__salt.n.01_1)
            )
        )
    )
)

  

Debugging: All Possible Recipes Resulting in Future Synsets

graph TD; initial-popcornn02(initial: popcorn.n.02); recipe-popcornn02-cooking(recipe: popcorn.n.02-cooking); initial-cooking_oiln01(initial: cooking_oil.n.01); future-cooked__cooking_oiln01(future: cooked__cooking_oil.n.01); future-cooked__popcornn01(future: cooked__popcorn.n.01); recipe-cooking_oiln01-cooking(recipe: cooking_oil.n.01-cooking); initial-popcornn02 --> recipe-popcornn02-cooking; recipe-popcornn02-cooking --> future-cooked__popcornn01; initial-cooking_oiln01 --> recipe-cooking_oiln01-cooking; recipe-cooking_oiln01-cooking --> future-cooked__cooking_oiln01;