allenai / ai2thor

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

CounterTop not a valid receptacle for HandTowel? #1123

Open camkisailus opened 1 year ago

camkisailus commented 1 year ago

Hi! I am enjoying using iTHOR, but wonder why HandTowel objects cannot be Put onto CounterTop objects? These seems like a natural place to put a HandTowel. Is there a way to make this action allowable?

winthos commented 1 year ago

I believe this is because by default, for the purposes of some categorization when object randomization and object placement happens, we have limited different types of objects to be able to be placed in specific receptacles. For example, the HandTowel by default can only fit on HandTowelHolder type receptacles. This is because we don't currently support soft body physics or cloth physics in our framework, so the hand towels, while they look soft and fluffy, are actually solid and rigid physics objects. Currently, when a towel is hung on a towel holder, they look natural and nice because they were modeled in a way to look as if they are hung.

You can pass in forceAction=True to bypass the default receptacle restrictions and allow towels to be placed in any receptacle that has space to fit it as noted in the documentation here. However, note that this may look sort of weird because you will end up with a stiff towel standing upright on a countertop which may not look very natural.