In the first three experiments, the robot was trained to develop the three basic behaviors of food approach, obstacle avoidance, and wall following separately in three different simulation environments. The environments are shown in Fig. 3. The solutions found here serve as seeds for developing control strategies for a navigation task (find all the food) in a complex environment that looks like an office area with rooms (open space) separated by walls (large obstacles). There are four food sources distributed in four of the nine rooms.
Each simulation process consists of 1,000 time steps. Both the starting position of the robot and the initial sensor values are fixed for each experiment. The performance of the robot was evaluated using specific fitness parameters comprised of seven parts calculated at each time step and summed over all time steps for a final fitness value. The seven parts are listed in Table 1.
Table 1: The components of the fitness function
The fitness of a candidate circuit is a weighted sum of these seven components and we can emphasize one or more behaviors for the simulated robot by adjusting the weights. We ran the GA ten times for each experiment with different random seeds. In all experiments, the genetic algorithm's population size was 100 run for 100 generation. Each chromosome was 144 bits long. The crossover probability was 1.0 and no normal mutation is needed as mentioned before.