The simulated robot also has eight such sensors which can be seen indicated as rays extending from the robots center. The length of these rays indicate the sensor range. The green polygons are objects which can be detected by these sensors. When the simulation begins the weights of the connections between the proximity and collision layer are initialized with small random values around 0.0. The robot moves forward according to its hardwired motor reflex until it collides with an obstacle.
Every collision is an opportunity for the network to train.
When a collision occurs, collision and proximity sensors are activated at the same time and the network reinforces the connections between these layers. Over time the proximity sensors alone can predict collisions so it is observed that the robot stops colliding into obstacles altogether and successfully avoids them each time. A similar experiment can be done with light sources placed along the walls. In such an environment the robot will learn to associate walls with light sources. To gain a further understanding of how these behaviors are performed you can view pseudocode for the DAC control architecture JAVA source code for the DAC control architecture Implementation issues The source code has been implemented and tested on the Khepera robot without any particular problems.