allenai / procthor

🏘️ Scaling Embodied AI by Procedurally Generating Interactive 3D Houses
https://procthor.allenai.org/
Apache License 2.0
268 stars 23 forks source link

Procthor documentation #46

Open prathishpratt opened 5 months ago

prathishpratt commented 5 months ago

Is there any documentation for procthor, like there is one for ai2thor? https://ai2thor.allenai.org/ithor/documentation

Lucaweihs commented 5 months ago

Hi @prathishpratt - unfortunately not as far as I know. That said, our simple example script should give you some idea of the basic functionality (see also this script) and the procthor-rl library has examples of how you can use ProcTHOR houses to train an agent.

prathishpratt commented 5 months ago

Thanks for this @Lucaweihs. However, I was exploring a feature that allows for the addition of objects to a scene. For instance, if there is an agent standing in front of a countertop in a house, and I want to add a bowl to the countertop—assuming the bowl wasn't present when the house environment was initially set up—how can I achieve this? Is there any action that does this or any script?

Lucaweihs commented 5 months ago

Hi @prathishpratt,

Sure thing, please see the logic on lines 202-237 in this file. Basically, you'll need the asset_id of the bowl you want to spawn, as well as the object_id of the countertop in the scene. The general idea is then to use the SpawnAsset thor action to spawn the bowl in the scene in some far-off location outside of the house and then the InitialRandomSpawn action to attempt to put that spawned bowl on the countertop. Note that this second step can fail (e.g. if there is no space on the countertop) in which can you can disable the spawned bowl or try to place to place that bowl on another receptacle.

prathishpratt commented 5 months ago

Thanks, Luca @Lucaweihs, that is exactly what I was looking for!

Also is there any resource on the what are all the permissible values that can be passed to the action parameter(like action="SpawnAsset" or action="CreateHouse")