askforalfred / alfred

ALFRED - A Benchmark for Interpreting Grounded Instructions for Everyday Tasks
MIT License
352 stars 77 forks source link

weird behavior during scene initialization #110

Closed nikita-petrashen closed 1 year ago

nikita-petrashen commented 2 years ago

Hi! I've noticed a weird thing: the dictionary which contains object poses for scene initialization contains objectNames which are not present in the original scene (and other scenes too).

For example, for FloorPlan28 the dictionary contains the following entry: image But in the original FloorPlan28 scene there's only a SoapBottle_5564e8c7.

I also ran the following code: controller = Controller(scene='FloorPlan28_physics') event = controller.step((dict(action='SetObjectPoses', objectPoses=object_poses))) and passed to it object_poses dict for task pick_heat_then_place_in_recep-Tomato-None-SideTable-28 which is done in the FloorPlan28 scene.

This is the state after scene loading: image

This is the state after SetObjectPoses call: image

Also the number of the objects in event.metadata decreases from 62 to 32.

Could you please hint how to fix this? I suppose the problem is that I miss some step where these objectNames in the object_poses are converted to objectNames in the scene.

Thanks!

MohitShridhar commented 2 years ago

@nikita-petrashen, I am not sure what is happening here or in which context this is occurring. Some thoughts:

nikita-petrashen commented 2 years ago
  1. Thanks for pointing this out, will try and report back to you.
  2. Yes, restore_scene calls controller.step(action="SetObjectPoses") (not exact code, but you got the idea) inside itself (line 120 in this file). I was trying to reproduce its behavior.
MohitShridhar commented 1 year ago

Closing due to inactivity.