There is a point-like agent with ``active perception.'' It can move about in a two-dimensional environment (details of the environment are described in Section 4). The agent's current position is given by a pair of real values. Its current direction is given by variable Direction with range .
MoveAgent(): Move the agent unit lengths in direction Direction, unless an obstacle or the environment's boundary blocks the path (the value 12 was chosen arbitrarily -- neither it nor any other arbitrarily chosen constants mentioned below have ever been changed during the experiments). Moving may lead to new inputs: , , become equal to the agent's horizontal position, vertical position, and current direction, respectively. Here position components are rounded to integers between 1 and 1000, and directions are scaled to and then rounded. If the point unit lengths in front of the agent is within an obstacle or outside the enviroment, then (the value 24 is chosen arbitrarily). Otherwise . Similarly for (input 90 degrees to the right), (behind), (to the left).
SetDirection(): Direction . Compute new inputs like instruction MoveAgent().