An agent is a capsule shaped entity that can navigate within scenes and interact with objects.
A scene within AI2-THOR represents a virtual room that an agent can navigate and interact in. There are 4 scene Categories, each with 30 unique scenes within them: Kitchen, Living Room, Bedroom, Bathroom.
An action is a discrete command for the agent to perform within a scene (e.g. MoveAhead, RotateRight, PickupObject).
A sim object is an object that can be interacted with by the agent. Objects have a range of interactions based on their assigned
An object is considered
visible when it satisfies two conditions:
- In frame. The object appears in the camera's frame (i.e., it is within the camera's field of view). Even if an object is partially blocked by another object, as long as some of it is in the frame, that is sufficient for this condition.
- Proximity. The object is within a distance of visibilityDistance from the agent's central vertical axis. By default, visibilityDistance is set to 1.5 meters, but it can be overwritten upon initialization.
- Obstruction. The object is not obstructed. Here, a ray emitted from the camera must hit the object without first hitting another object.
An object rendered in an image will not always be visible to the agent. For example, an object outside the 1.5 meter threshold could be seen in an image, but will be reported as not-visible to the agent.
Each object's visibility is reported in the metadata.
An object is said to be interactable if it is both
visible and if it is unobstructed by any other objects. For instance, if a
Sponge is behind
ShowerGlass, then it will report
True, but the agent will be unable to interact with it due to the obstruction.
If an object is interactable, then that implies the object is visible. But, if an object is visible, that does not imply it is interactable.
Receptacle is a type of object that may be the parent of another object. Examples include
Bowl. The full set of
Receptacle object types can be filtered on the Object Types.