Sprungmarken

Servicenavigation

Hauptnavigation

Sie sind hier:

Hauptinhalt

Wintersemester 2013/2014

Evolutionary Robotics

PG20132014_1

Evolutionary robotics is an emerging area of research within the much larger field of fully-autonomous robots. One of the primary goals of evolutionary robotics is to develop automatic methods for creating intelligent autonomous robot controllers, and to do so in a way that does not require direct programming by humans. The primary advantage of robot design methods that do not require hand coding or in depth human knowledge is that they might one day be used to produce controllers or even whole robots that are capable of functioning in environments that humans do not understand well.

Evolutionary robotics uses population-based artificial evolution (fogel-1966, holland-1975) to evolve autonomous robot controllers (i.e.

robot brains) and sometimes robot morphologies (i.e. robot bodies)(lipson-n-2000). Generally, the robots are evolved to perform tasks requiring some level of intelligence, for example moving around in an environment without running into things.

The process of controller evolution consists of repeating cycles of controller fitness testing and selection that are roughly analogous generations in natural evolution. Evolution is initialized by creating a population of randomly configured robots (or robot controllers). During each subsequent cycle, or generation, each of the robot controllers competes in an environment to perform the task for which the robots are being evolved. This process involves placing each controller into a robot and then allowing the robot to interact with its environment for a period of time. Following this, each controller’s performance is evaluated using a fitness selection function (objective function) that measures how well the task was performed. The controllers in the better performing robots are selected, altered and propagated in a repeating process that mimics natural evolution. The alteration process is also inspired by natural evolution and may include mutation and trading of genetic material. Cycles are repeated for many generations to train populations of robot controllers to perform a given task.

Not only controllers can be evolved. In addition, it is possible to find a way to encode the physical structure of a robot and evolve that also.

Although there were attempts to do this in the early years of ER research, it has only be in the past five or six years that such methods have lead to robots able to function in the real world. These recent results were accomplished by formulating a set of modular building units that could be easily simulated and fabricated, but that could also be configured and combined into an almost infinite variety of non-trivial robot bodies.

This project group is concerned to evolve a vision system in symbiosis with training a neural controller for vision based navigation of a mobile robot. The goal is to combine learning on an evolutionary scale with individual supervised learning from demonstration.

Training examples are generated by the human guiding the mobile robot through the environment while recording control commands and images. A neural network with internal dynamics is trained on these demonstrations. The evolutionary algorithm is supposed to "design" the vision system that extracts the relevant visual features that serve as input to the neural controller. The approach is supposed to be implemented, evaluated and analysed in a virtual reality simulation as well as on a Pioneer 3DX mobile robot with an omnidirectional camera.

The algorithms are mainly developed in Matlab, potentially using precompiled libraries from OpenCV. Students should have a background in mobile robotics, machine learning and computer vision.

Betreuer: Dr. Frank Hoffmann

 

LunchBoxScope: Entwicklung und Aufbau einer preisgünstigen I/O Box

PG20132014_2

Die Auslegung von Regelungen und Steuerungen erfolgt heute oft simulationsbasiert an Rechnern. Der Übergang hin zur realen Hardware ist danach oft ein großer Schritt der viel Hardware und Implementierungsarbeit für Mikrokontroller erfordert. Es gibt alternativ Möglichkeiten, Softwarekonzepte direkt prototypisch mit der Hardware zu verbinden. Hierzu werden spezielle I/O Karten verwendet, die aber oft entsprechend teuer sind. Andererseits stehen an jedem Rechner schnelle analoge Ein- und Ausgänge zur Verfügung – über die Soundkarte. Ziel ist die Entwicklung eines preisgünstigen Messsystems, das über Audio und USB mit jedem Rechner verbunden werden kann und über Matlab direkt ansprechbar ist.

 

Lastenheft:

- 2 analoge Messeingänge (+/- 10 V; plus digitales Multiplexen)

- 2 analoge Ausgänge (+/- 10 V)

- Digitale I/Os (über USB)

- Matlab Toolbox (incl. Simulink)

 

Was zu tun ist:

Es ist der komplette Entwicklungsprozess von der Idee bis zum „Produkt“ zu durchlaufen. Dazu gehören zu Beispiel:

- Schaltungslayout: Spannungsversorgung, Schutzbeschaltung, Aufbereitung der Messsignale, USB zu Digital-I/O, Multiplexen der Signale

- Platinen-Routing

- Gehäusedesign

- Löten

- Treiberentwicklung (soweit nötig)

- Matlab-Toolbox: Skript-basierte Ansteuerung, Oszilloskop-Fähigkeiten, Echtzeitfähigkeit so weit möglich

- Dokumentation

- Test an Experimentalsystem (parallele Messung mehrerer Signale an einer Reglerkarte)

- Geeignete Publikation der Ergebnisse (Open Source)

 

Daneben erwarten wir ein eigenes Projektmanagement durch die Studenten selbst. Dazu gehören:

- Festlegen von Zuständigkeiten

- Formulierung von Arbeitspaketen

- Machbarkeitsanalysen

- Festlegung des Lastenhefts

- Definition von Meilensteinen und Schnittstellen

- Kontinuierliche Dokumentation

- Verwendung eines Versions-Management-Systems für Software, Pläne und Dokumentation (z.B. git oder SVN)

 

Optionale Ideen:

- Erweiterte Eingangsbereich zum Messen für höhere Spannungen ( bis 600V AC)

- Integrierte Zählerbausteine

- Optional könnten auch Schnittstellen zu anderer Software bzw.

Standalone-Software geschaffen werden.

 

Betreuer: Christoph Krimpmann, Jan Braun

 

Simulator for the analysis of the energy consumption in electric vehicles

The goal of this project group is the development of a simulator for the analysis of the energy consumption of electric vehicles based on the joint of different simulators. The idea behind this simulator is to test different electric vehicles in different driving and traffic situations in order to see the influence of these factors in the energy consumption. The overall simulator consists of three simulators, which describe the working packages. The main component of the simulator should be developed in MATLAB. This component will be used to control and to set the parameters for the simulation. Different electric vehicles should be simulated. To this aim Simulink will be used. In order to simulate the mobility or the traffic the software SUMO will be used. This software allows setting mobility patterns which can be used by the simulated electric vehicle.  In order to represent real situations in the simulation, real map data is needed. Maps obtained from OpenStreetMap will be used to this aim.  There are a total of four working packages for this project group. The first working package is in charge of the coordination of the entire group. The second working package will obtain and process map data in order for it to be used properly by the traffic simulator. The third group will be in charge of the EV simulation in Simulink. The models should be built from the main simulator and incorporated in the traffic simulator. The fourth group has the task to build the main simulator in MATLAB and to interface it with the other simulators. Analysis of the energy consumption for the simulated electric vehicle should take place in this working package.

 

 

Following working packages are planned for this project group:

 

1)    WP0: Project coordination

2)    WP1: Environment Generation

3)    WP2: Electric Vehicle Simulation

4)    WP3: Simulation for the analysis of the energy consumption

 

Betreuer: Javier Oliva