This is a demonstration of a very basic perceptual control system, implemented as an autonomous agent. Its goal is to perceive a particular value of light within its environment, which comprises the grey-level pixel values in a single row in an image. The agent is able to move in one direction along a row.

If there is a difference (error) between its goal and its perception it moves, to the right. Otherwise, if it has found its goal, it does not move. This way of moving is equivalent to the (low) level of sophistication of a thermostat that operates an on/off switch to maintain its goal.


The demo shows the image, along with a graph of the pixel levels through the selected row. Dynamic values are displayed for the reference goal, the actual pixel value, the error and the output (the image column position). The agent is shown as the red cross moving through the image. 


You can change the agent’s environment by selecting a different image row, by clicking or dragging the mouse pointer through the image. There are also two sliders, one for changing the reference goal and one for changing the speed of the agent.

Try changing the environment and the reference to see what happens.





1D – the agent’s environment is one dimensional; one row through an image.

Single pixel – the perception of this agent is  derived from just a single pixel at a time.

Proximal – the field of view of the agent consists of only the pixel at the agent’s current position. It cannot see pixels at any other position.

Non-adaptive – the structure of the control system is fixed, with an input weight of 1.

Binary – The output of the system is binary 1 or 0, based upon the presence or not of error. If there is error, then the agent moves 1 pixel to the right.