Robo Use

In the kitchen, take the two tupperware containers out of the cabinet

In the kitchen, take the two tupperware containers out of the cabinet, put one apple and one strawberry into each container, then put both containers inside the refrigerator and make sure the refrigerator is closed at the end

behavior-freeze-fruitBEHAVIOR-1KGalaxea R1Pro mobile manipulatorManipulationhard

Reference solution, 38 of 95 skill calls.

Instruction

In the kitchen, take the two tupperware containers out of the cabinet, put one apple and one strawberry into each container, then put both containers inside the refrigerator and make sure the refrigerator is closed at the end.

This is the BEHAVIOR-1K activity freeze_fruit in the house_single_floor scene (rooms loaded: corridor_0, dining_room_0, entryway_0, garden_0, kitchen_0, living_room_0, living_room_1), BEHAVIOR Challenge task instance 0. The robot starts where the challenge places it for that instance. The step budget is 95 skill calls.

BEHAVIOR's formal goal (BDDL; ?x are variables, _1, _2 number objects of one category) is:

(:goal 
        (and 
            (forpairs 
                (?apple.n.01 - apple.n.01) 
                (?tupperware.n.01 - tupperware.n.01) 
                (inside ?apple.n.01 ?tupperware.n.01)
            ) 
            (forpairs 
                (?strawberry.n.01 - strawberry.n.01) 
                (?tupperware.n.01 - tupperware.n.01) 
                (inside ?strawberry.n.01 ?tupperware.n.01)
            )
            (forall 
                (?tupperware.n.01 - tupperware.n.01) 
                (inside ?tupperware.n.01 ?electric_refrigerator.n.01_1)
            )
            (not
                (open ?electric_refrigerator.n.01_1)
            ) 
        )
    )
How the robot is controlled and scored

You are controlling a simulated robot. Read the task below, then solve it by running the robo command in your shell (start with robo info and robo observe). Keep going until the task is done, then call robo done once. Do not stop to ask questions; there is no human to answer.

How to control the robot

You are the robot's high-level policy. You act only through the robo command in your shell; you cannot read or change the simulator, the scoring, or other files to succeed. The episode server checks BEHAVIOR's goal conditions on the final simulated state itself.

robo info                          # skills, step budget
robo observe                       # robot pose, held object, and every task object (name, category, room, position, distance, open/on state, inside/on-top relations)
robo observe --image               # also saves a third-person camera image and prints its path (open it to look)
robo observe --image --camera head # the robot's own head camera instead
robo skill navigate_to OBJ         # drive next to OBJ (a held object comes along)
robo skill grasp OBJ               # pick up OBJ (hand must be empty, OBJ within reach); things resting in or on OBJ come along
robo skill place_on_top OBJ        # put the held object on top of OBJ
robo skill place_inside OBJ        # put the held object inside OBJ (open OBJ first if it has a door or lid)
robo skill open OBJ                # open OBJ (hand must be empty)
robo skill close OBJ               # close OBJ (hand must be empty)
robo skill toggle_on OBJ           # switch OBJ on (hand must be empty)
robo skill toggle_off OBJ          # switch OBJ off (hand must be empty)
robo skill release                 # drop the held object where the hand is
robo done "short summary"          # end the episode and ask for scoring
robo give-up "reason"              # end the episode without claiming success
  • OBJ is an object name exactly as robo observe lists it (BEHAVIOR's BDDL instance names, e.g. bottle.n.01_1). Identical objects are numbered _1, _2, ...
  • The robot is an R1Pro wheeled mobile manipulator that carries one object at a time. Manipulation skills only work on objects within reach (about 1.25 m from the robot base); use navigate_to first. Objects inside a closed container must be taken out after opening it.
  • A skill can fail (the response says why, with ok: False); a failed skill still costs one step. Every skill call counts against the step budget (robo info).
  • Success is judged after you call robo done, with the robot holding still: every goal condition must hold at that moment. Call robo done exactly once when finished.

Run this task

robouse run \
  --task tasks/behavior/behavior-freeze-fruit \
  --harness oracle \
  --out runs/behavior-freeze-fruit

Pinned to robohub commit e472b1a1e041. The verifier and the reference solution are not published.

No trials yet.