For our problem, the environment is a bounded square area with 300 units on a side as shown in Figure 2. There are several obstacles and food sources in the simulation environment and obstacles are modeled by rectangular boxes. The robot cannot enter either the boundary or the obstacles and the locations and the amount of food are fixed in one environment. Food sources produce a sound signal that can be detected by the simbot. A food signal can penetrate obstacles and can be heard by the simbot only if the simbot is within the signal range. If the distance between the robot center and a piece of food is less than or equal to five units, the food is assumed to be ``eaten'' and disappears from the environment.
Figure 2: Simulation environment and simbot
Figure 2 also shows that the simbot has four touch sensors, one central touch sensor, two hearing sensors, and two locomotive tank tracks. Each touch sensor or hearing sensor is fixed on the end of a one-dimensional flexible whisker. The touch sensors and hearing sensors simulate hands and ears letting the robot feel obstacles and hear food in the environment. Each sensor has two states: 0 or 1. A combinational logic circuit maps the sensor states into binary control commands for each locomotive tank track. The tracks have two forward, one stop, and one reverse speed; the four possible speeds need two bits to encode. The simbot moves by coordinating the two tank tracks.
In this paper, the control circuit is a gate array that must be
encoded into a binary chromosome. There are
useful
logical gates in the gate circuit because only four out of seven outputs of the
control circuit are used for expressing the binary control commands for the two
robot tracks. For each gate, four bits are needed for expressing the 16
possible logic gates with two inputs and one output. Therefore the chromosome
length will be
. We map a two-dimensional logic circuit to a
one-dimensional chromosome by concatenating adjacent rows [8].
The simulation process provides an evaluation of a candidate combinational circuit for controlling the robot. The encoded chromosome of the combinational logical gate is obtained from the GA and evaluated in the simulation environment using a fitness function that measures how well the simbot performed its assigned task. The fitness value is returned back to the GA.