Content
Nature has developed astonishing alternatives for adaptation and optimization of biological systems, i.e., individuals, in complex environments. This class provides an introduction into how some of the underlying concepts can by applied to real-world engineering problems. In so doing, this module focuses on the following three topics:
- Evolutionary Algorithms:
- Artificial Neural Networks:
- Autonomous, Mobile Robots:
These algorithms are a class of randomized algorithms that draw significant inspiration from natural evolution, and thus incorporate random variations and selection. The first part of this module describes how these algorithms work, how they can be implemented in software, and how they perform from a mathematical point of view.
The second part discusses how artificial neural networks can be applied to (technical) learning tasks, such as data classification, data approximation, and data compression. Pitts-McCulloch threshold neurons, Rosenblatt’s perceptron, multilayer perceptrons, also known as backpropagation networks, and Kohonen feature mapps are typical instances that are covered during the course of learning.
Finally, some of the concepts covered above are applied in a rather challenging task: learning and adaptation in autonomous mobile robots. In this task, a small, physical robot, known as Epuck, is supposed to move around in a physical environment. To this end, the robot is already equiped with a small number of sensors, such as proximity and ambient light sensors as well as a CCD camera, and actuators, such as two motors. The brain, which might also be called software, is missing and supposed to be implemented by the students. Over time, the robot has to to freely move around and to avoid obstacles. Very important, the robot has to learn this by itself and not by the designer. Prior to their own programming, the students will be exposed to some well-known learning-and-adaptation architectures widely used in mobile robots.