Skip to content

Commit

Permalink
added new object screen captures and updated docs to reflect changes …
Browse files Browse the repository at this point in the history
…in v4.2.0

Also performed minor refactoring and removed blackouts section in docs\Arena-Object-Definitions.md for redundancy
Also fixed typos
  • Loading branch information
alhasacademy96 committed Oct 10, 2024
1 parent d9c1542 commit 78fdb21
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 23 deletions.
53 changes: 30 additions & 23 deletions docs/Arena-Object-Definitions.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,15 @@ All except `name` and `positions` parameters can be omitted in the configuration

## The Arena

<p align="center">
<img height="400" src="/docs/figs/prefabs/DefaultArena.png">
</p>

A single arena, as shown above, comes with a single agent (spherical animal, [see below](#the-agent)), a floor, and four walls. It is a square of size 40x40, with the origin (the bottom-left corner) at `(0,0)`. You can provide coordinates for objects in the range `[0,40]x[0,40]` as floats.

Note that in Unity, the **y** axis is the vertical axis. In the above picture, with the agent on the ground in the center of the environment, its coordinates are `(x = 20, y = 0, z = 20)`.

### Blackouts
<figure style="text-align: center;">
<img height="350" src="/docs/figs/prefabs/NewDefaultArenaCapture.png" alt="New Default Arena">
<figcaption>Animal-AI Default Arena (Animal-AI v4.1.0)</figcaption>
</figure>

Blackouts are parameters you can pass to each arena, defining between which frames of an episode the lights are on or off. If omitted, this parameter defaults to having lights on for the entire episode. You can pass two types of arguments for this parameter:

* Passing a list of frames `[5,10,15,20,25]` will start with the lights on, switch them off from frames 5 to 9 included, then back on from frames 15 to 19 included, and so on.
* Passing a single negative argument `[-20]` will automatically switch lights on and off every 20 frames.
A single Arena, as shown above, comes with a single Agent (spherical animal, [see below](#the-agent)), a floor, and four walls. It is a square of size 40x40, with the origin (the bottom-left corner) at `(0,0)`. You can provide coordinates for objects in the range `[0,40]x[0,40]` as floats.

**Note**: For infinite episodes (where `timeLimit = 0`), the first point above would leave the light off after frame 25, while the second point would keep switching the lights every 20 frames indefinitely.
Note that in Unity, the **y** axis is the vertical axis. In the above picture, with the agent on the ground in the center of the environment, the Agent's coordinates are `(x = 20, y = 0, z = 20)`.

## The Agent

Expand All @@ -67,6 +60,7 @@ Notes: The agent can be frozen for a specified number of frames at the start of
</tr>
</table>


## Immovable Objects

_Immovable_ objects are fixed in place and cannot be moved. The outer walls of the arena are also immovable and are permanently fixed in place to prevent the player/agent from escaping the arena.
Expand Down Expand Up @@ -115,24 +109,32 @@ _Immovable_ objects are fixed in place and cannot be moved. The outer walls of t

_Movable_ objects can be easily moved by the agent or other objects. These objects can be pushed by the player/agent as the physics engine is enabled for these objects directly. Note that these objects have aliases (alternative names) for backwards compatibility with previous versions of AAI.

### Light Cardboard Block
### Light Block

<img align="right" height="100" src="/docs/figs/prefabs/Movable/LightBlock.png" />
<img align="right" height="100" src="/docs/figs/prefabs/Movable/NewLightBlockObj.png" style="margin-left: 5px;" />

<img align="right" margin=1 height="100" src="/docs/figs/prefabs/Movable/LightBlock.png" />

* **Name**: `LightBlock`
* **Size Range**: `(0.5,0.5,0.5)-(10,10,10)`
* **Color**: Not changeable / (grey)
* **Color**: Not changeable / (stone textured)
* **Alias**: `CardBox1`

### Heavy Cardboard Block
_Updated textures (right) available from Animal-AI v4.2.0 onwards._

### Heavy Block

<img align="right" height="100" src="/docs/figs/prefabs/Movable/HeavyBlock.png" />
<img align="right" height="100" src="/docs/figs/prefabs/Movable/NewHeavyBlockObj.png" style="margin-left: 5px;"/>

<img align="right" height="100" src="/docs/figs/prefabs/Movable/LightBlock.png" />

* **Name**: `HeavyBlock`
* **Size Range**: `(0.5,0.5,0.5)-(10,10,10)`
* **Color**: Not changeable / (grey)
* **Color**: Not changeable / (stone textured)
* **Alias**: `CardBox2`

_Updated textures (right) available from Animal-AI v4.2.0 onwards._

### U-shaped Block

<img align="right" height="100" src="/docs/figs/prefabs/Movable/UBlock.png" />
Expand All @@ -158,7 +160,7 @@ _Movable_ objects can be easily moved by the agent or other objects. These objec
* **Name**: `JBlock`
* **Size Range**: `(1,0.3,3)-(5,2,20)`
* **Color**: Not changeable / (grey)
* **Alias**: `LObject2`
* **Alias**: `JObject`

### Hollow Box

Expand All @@ -168,6 +170,8 @@ _Movable_ objects can be easily moved by the agent or other objects. These objec
* **Size Range**: (`1.10 x 1.10 x 1.10`)
* **Color**: Not changeable / (grey)

_Available from Animal-AI v4.2.0 onwards._

## Valenced Objects

Valenced objects increase or decrease the agent's reward when the agent touches them. Some are stationary and some have an initial velocity at the start of an episode. Note that some of these objects have aliases (alternative names) for backwards compatibility with previous versions of AAI.
Expand Down Expand Up @@ -228,8 +232,11 @@ Notes: The `rotations` parameter sets the direction of motion.
* **Color**: Not changeable / (orange)
* **Valence**: Negative, proportional to size

_Available from Animal-AI v4.2.0 onwards._

Notes: The `rotations` parameter sets the direction of motion.


### Stationary Non-Episode-Ending Positive Goal

<img align="right" height="100" src="/docs/figs/prefabs/ValencedObjects/GoodGoalMulti.png" />
Expand Down Expand Up @@ -314,6 +321,8 @@ Note: Maximum size is `5` . Initial valence can be set with a float passed to th

Note: The agent's reward is not affected when it touches the decoy goal. It is simply a tool for visual distraction or to create a more complex environment without having the agent's reward affected.

_Available from Animal-AI v4.1.0 onwards._


### Episode-Ending DeathZone

Expand Down Expand Up @@ -422,9 +431,7 @@ Notes: Spawns a goal when the player/agent *interacts* with it by colliding with
<img height="250" src="/docs/figs/exampleGallery/SignPosterboard-special-symbols-annotated.png">
</p>

## Sign Boards

Sign boards are immovable objects that display a symbol or a word. They can be used to create tasks where the agent has to navigate to a specific location or to perform a specific action.
Sign boards are immovable objects that display a symbol or a . They can be used to create tasks where the agent has to navigate to a specific location or to perform a specific action.

## Ready-Made Configuration File

Expand Down
Binary file added docs/figs/ConfigCompanionFigure.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/figs/prefabs/Movable/HeavyBlock.png
Binary file not shown.
Binary file modified docs/figs/prefabs/Movable/LightBlock.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/figs/prefabs/Movable/NewHeavyBlockObj.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/figs/prefabs/Movable/NewLightBlockObj.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/figs/prefabs/NewDefaultArenaCapture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/figs/prefabs/ValencedObjects/BadGoalMulti.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 78fdb21

Please sign in to comment.