allenai / ai2thor

An open-source platform for Visual AI.
http://ai2thor.allenai.org
Apache License 2.0
1.09k stars 210 forks source link

'receptacleObjectIds' is empty after 'PickupObject' object action #1209

Open Youmna-H opened 2 months ago

Youmna-H commented 2 months ago

I have loaded a scene where there is a 'Pot' that is full of water and contains a 'Tomato'. When I query the Pot object I can see the 'Tomato' object id in the 'receptacleObjectIds' and I can also physically see that in the simulator. When I execute the action 'PickupObject' and give it the Pot id, it picks up the pot correctly but now when I query the 'receptacleObjectIds' in the Pot I find it empty, although I can still physically see the tomato in it in the scene. Any idea why this happens and how to fix?

Thanks!

Kajiih commented 2 months ago

I also encountered the same error, from my testing it happens when picking up a receptacle that contains an other object, and the receptacleObjectIds is only updated when putting down the receptacle again. I've noticed other similar inconsistencies, for example, you can put a Potato in a Pan and this Pan in a StoveBurner and the StoveBurner will not be in the Potato's receptacleObjectIds, but when you slice the potato, StoveBurner appears in the SlicedPotate's receptacleObjectIds.

There seems to be issues with the update of the metadata attribute.