cook_a_crab-0


Synsets

Transition Paths By Task Scope Objects

graph TD; initial-buttern01(initial: butter.n.01); future-melted__buttern01(future: melted__butter.n.01); recipe-buttern01-slicing(recipe: butter.n.01-slicing); half__buttern01(half__butter.n.01); recipe-uncooked-half__buttern01-dicing(recipe: uncooked-half__butter.n.01-dicing); diced__buttern01(diced__butter.n.01); recipe-buttern01-melting(recipe: butter.n.01-melting); recipe-half__buttern01-melting(recipe: half__butter.n.01-melting); recipe-diced__buttern01-melting(recipe: diced__butter.n.01-melting); initial-buttern01 --> recipe-buttern01-slicing; initial-buttern01 --> recipe-buttern01-melting; recipe-buttern01-slicing --> half__buttern01; half__buttern01 --> recipe-uncooked-half__buttern01-dicing; half__buttern01 --> recipe-half__buttern01-melting; recipe-uncooked-half__buttern01-dicing --> diced__buttern01; diced__buttern01 --> recipe-diced__buttern01-melting; recipe-buttern01-melting --> future-melted__buttern01; recipe-half__buttern01-melting --> future-melted__buttern01; recipe-diced__buttern01-melting --> future-melted__buttern01;

Scenes

Full Definition

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

    (:objects
        steamer.n.02_1 - steamer.n.02
        stove.n.01_1 - stove.n.01
        crab.n.05_1 - crab.n.05
        butter.n.01_1 - butter.n.01
        melted__butter.n.01_1 - melted__butter.n.01
        bowl.n.01_1 - bowl.n.01
        electric_refrigerator.n.01_1 - electric_refrigerator.n.01
        cabinet.n.01_1 - cabinet.n.01
        floor.n.01_1 - floor.n.01
        agent.n.01_1 - agent.n.01
    )
    
    (:init 
        (inside steamer.n.02_1 cabinet.n.01_1) 
        (not 
            (cooked crab.n.05_1)
        ) 
        (inside butter.n.01_1 bowl.n.01_1) 
        (inside bowl.n.01_1 electric_refrigerator.n.01_1)
        (inside crab.n.05_1 electric_refrigerator.n.01_1) 
        (future melted__butter.n.01_1)
        (inroom stove.n.01_1 kitchen) 
        (inroom floor.n.01_1 kitchen) 
        (inroom cabinet.n.01_1 kitchen)
        (inroom electric_refrigerator.n.01_1 kitchen)
        (ontop agent.n.01_1 floor.n.01_1)
    )
    
    (:goal 
        (and 
            (real ?melted__butter.n.01_1)
            (covered ?crab.n.05_1 ?melted__butter.n.01_1) 
            (inside ?crab.n.05_1 ?steamer.n.02_1) 
            (cooked ?crab.n.05_1)
        )
    )
)
  

Debugging: All Possible Recipes Resulting in Future Synsets

graph TD; recipe-buttern01-slicing(recipe: butter.n.01-slicing); missing-half__buttern01(missing: half__butter.n.01); missing-diced__buttern01(missing: diced__butter.n.01); recipe-uncooked-half__buttern01-dicing(recipe: uncooked-half__butter.n.01-dicing); recipe-buttern01-melting(recipe: butter.n.01-melting); recipe-half__buttern01-melting(recipe: half__butter.n.01-melting); future-melted__buttern01(future: melted__butter.n.01); initial-buttern01(initial: butter.n.01); recipe-diced__buttern01-melting(recipe: diced__butter.n.01-melting); recipe-buttern01-slicing --> missing-half__buttern01; missing-half__buttern01 --> recipe-half__buttern01-melting; missing-half__buttern01 --> recipe-uncooked-half__buttern01-dicing; missing-diced__buttern01 --> recipe-diced__buttern01-melting; recipe-uncooked-half__buttern01-dicing --> missing-diced__buttern01; recipe-buttern01-melting --> future-melted__buttern01; recipe-half__buttern01-melting --> future-melted__buttern01; initial-buttern01 --> recipe-buttern01-melting; initial-buttern01 --> recipe-buttern01-slicing; recipe-diced__buttern01-melting --> future-melted__buttern01;