| Previous | Table of Contents | Next |
In almost every run GP is able to generate algorithms that perform reasonably well. The individual shown in Figure 14.8 makes a couple of errors, but for the most part it is exhibiting the desired behavior.
Figure 14.8 Typical end result of a GP run.
The code for the individual displayed in Figure 14.8 is shown below. Analysis of this code (which is typical of the complexity of GP-generated algorithms) is left as an exercise for the reader.
| 0 | WhileTooFarFromWall |
| 1 | WhileTooFarFromWall |
| 2 | Do2 |
| 3 | Do2 |
| 4 | WhileTooCloseToWall |
| 5 | WhileInCoridorRange |
| 6 | TurnParallelToClosestWall |
| 7 | Do2 |
| 8 | WhileInCoridorRange |
| 9 | Do2 |
| 10 | WhileTooCloseToWall |
| 11 | WhileTooFarFromWall |
| 12 | MoveForward |
| 13 | Do2 |
| 14 | Do2 |
| 15 | WhileTooCloseToWall |
| 16 | TurnParallelToClosestWall |
| 17 | Do2 |
| 18 | Do2 |
| 19 | WhileTooCloseToWall |
| 20 | WhileInCoridorRange |
| 21 | TurnParallelToClosestWall |
| 22 | Do2 |
| 23 | WhileInCoridorRange |
| 24 | Do2 |
| 25 | WhileTooCloseToWall |
| 26 | WhileTooFarFromWall |
| 27 | MoveForward |
| 28 | Do2 |
| 29 | Do2 |
| 30 | WhileTooCloseToWall |
| 31 | TurnParallelToClosestWall |
| 32 | Do2 |
| 33 | MoveForward |
| 34 | nTowardsClosestWall |
| 35 | Do2 |
| 36 | MoveForward |
| 37 | WhileInCoridorRange |
| 38 | Do2 |
| 39 | TurnTowardsClosestWall |
| 40 | Do2 |
| 41 | TurnParallelToClosestWall |
| 42 | MoveForward |
| 43 | MoveForward |
| 44 | WhileInCoridorRange |
| 45 | TurnAwayFromClosestWall |
| 46 | Do2 |
| 47 | MoveForward |
| 48 | WhileInCoridorRange |
| 49 | Do2 |
| 50 | TurnTowardsClosestWall |
| 51 | Do2 |
| 52 | TurnParallelToClosestWall |
| 53 | MoveForward |
| 54 | MoveForward |
| 55 | WhileInCoridorRange |
| 56 | TurnAwayFromClosestWall |
| END |
CONCLUSION
Genetic programming has demonstrated the capability of generating wall-following navigation algorithms from the functions and terminals provided. More generally, the experiments conducted over the course of this project have shown the feasibility of using genetic programming to develop mobile robot navigation algorithms. This project lays the foundation for planned follow-on projects of maze traversal, map generation, and full-coverage area traversal. The results of this project show enough promise to warrant further research into these more complex tasks.
REFERENCES
| Previous | Table of Contents | Next |