In December 2001 I submitted the thesis for my PhD, titled "Using Evolutionary Artificial Neural Networks to Design Hierarchical Animat Nervous Systems". In March 2002 I passed the viva (oral exam) and submitted the final corrected version of my thesis in April 2002. This all took place in the School of Engineering, The Robert Gordon University, Aberdeen, UK.
My work involved the use of Evolutionary Algorithms (computer models of biological evolution) to design Artificial Neural Networks (computer models of biological brains) in order to create an Artificial Nervous System (ANS) which would be suitable for controlling small animal-like robots (animats). The ANS is a hierarchy of layers (image), with multiple operating modules in each layer. Flexibility, generality and modularity are the key here. The focus of my PhD were the reflexes and actions.
D. McMinn: "Using Evolutionary Artificial Neural Networks to Design Hierarchical Animat Nervous Systems". PhD Thesis, The Robert Gordon University (2001).
D. McMinn, C. MacLeod, G. M. Maxwell: "Evolutionary Artificial Neural Networks for Quadruped Locomotion". International Conference on Artificial Neural Networks (ICANN 2002). 27-31st August, Madrid, Spain.
D. McMinn, G. M. Maxwell, C. MacLeod: "An Evolutionary Artificial Nervous System for Animat Locomotion". Proceedings of the International Conference on Engineering Applications of Neural Networks (2000) pp. 169-176. 17-19th July, Kingston, UK.
C. MacLeod, G. M. Maxwell, D. McMinn: "A Framework for Evolution of an Animat Nervous System". EUREL European Advanced Robotics Systms Development: Mobile Robots (1998). September, Leiria, Portugal.
Thesis in PDF format, zipped (final version) - 7Mb
NB: This thesis is copyright David McMinn 2001-2002. You are free to download and read it, but quotation of any of the material from within must be accompanied by a full acknowledgement. You may not redistribute the thesis by either electronic or physical means.
Example of BackPropagation trained ANN - C version, C++ version (the only difference is that the C++ version uses cout instead of printf)
Example of BackPropagation trained ANN (with dynamic network sizes) - C version, C++ version
Biped result files - walk
Quadruped results - bound/gallop, pronk, pace, trot
Quadruped split oscillator results - bound/gallop, pronk, pace, trot, walk
I still need to find the different configurations used to generate the results, as they were all written down on paper and "neatly" filed with the rest of my university work.
Do what you want with these source codes and use them at your own risk!.
Jerry's final thoughts
My "advisor" (C. MacLeod) is obviously a budding comedy artist - image 1, image 2 - judging from his defacement of early drafts of my thesis.
Return to main page