Punzengruber, C. (2011). Robotersteuerung mittels Genetic Programming für die RoboCup Standard Platform League [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/159956
Diese Diplomarbeit untersucht, wie es mittels Genetischer Programmierung möglich ist, Steuerungsprogramme für die RoboCup Standard Platform League zu generieren. In dieser Liga treten zwei Teams von humanoiden, autonomen NAO Robotern gegeneinander im Fußball an. Um erfolgreich zu sein, müssen die Roboter dabei verschiedene Fähigkeiten aus Gebieten wie zum Beispiel Bilderkennung, Fortbewegung, Planung und Kollaboration beherrschen. Anstatt jede dieser Fähigkeiten manuell zu programmieren, besteht die Möglichkeit, Techniken aus der Disziplin des maschinellen Lernens einzusetzen, um die Roboter Fähigkeiten selbst erlernen zu lassen. Eine dieser Techniken nennt sich Genetische Programmierung und erlaubt anhand einer definierten Fitnessfunktion Populationen von Programmen zu optimieren. Der Algorithmus und dessen Operatoren sind dabei stark von der biologischen Evolution inspiriert. Ziel der Arbeit ist es, mittels Genetischer Programmierung Programme zu erzeugen, die den Roboter so schnell wie möglich zum Ball positionieren und dabei so präzise sind, dass der Roboter den Ball spielen kann. Die manuell erstellten Lösungen des RoboCup Teams "Austrian Kangaroos" dienen dabei als Referenz, um die resultierenden Programme zu bewerten. Die Arbeit zeigt, wie die ab Werk zur Verfügung gestellten Bewegungsfunktionen des Roboters in einer direkten und natürlichen Art in den Terminal- und Funktionssets des genetischen Programms angewandt werden und somit in die Genome der Lösungen kodiert werden können. Die eigentliche Generierung der Programme wurde mit Hilfe eines Simulators realisiert, um eine Abnützung der teuren Hardware zu verhindern. Außerdem wurde es dadurch möglich, die Experimente ohne menschliche Überwachung durchführen zu können. Ein Software Framework wurde erstellt um den Simulator, die Middleware des Roboters und das verwendete Framework für Evolutionäre Programmierung zu verbinden. Die resultierende Infrastruktur wurde verwendet, um mittels eines Genetischen Algorithmus ein stabiles Parameterset für die Anwendung des Geh-Algorithmus am Simulator zu finden. Dies war notwendig, um den Roboter positionieren zu können. Die durchgeführten Experimente generierten erfolgreich Programme, die den Roboter zum Ball positionieren. Im Vergleich zur manuell erstellten Referenzlösung konnte das beste erzeugte Programm die Aufgabe schneller bewältigen und erlaubten es dem Roboter trotzdem den Ball zu spielen. Dies war sowohl am Simulator der Fall, wie auch beim Testen der generierten Lösung anhand eines echten Roboters.
This master thesis investigates how to generate control programs by means of Genetic Programming for the 'RoboCup Standard Platform League'. In this league two teams of humanoid, autonomous NAO robots are competing in a game of soccer against each other. To be successful the robots have to master a large set of skills in areas like, for example, image recognition, motion, planning and collaboration. Instead of programming the whole skill set manually it is possible to use machine learning techniques to let the robots learn these skills by themselves. One such technique is called 'Genetic Programming', which allows to optimize a population of programs according to a defined fitness function. The algorithm and its operators are highly inspired by biological evolution. The goal of this thesis is to use Genetic Programming to generate programs which can position the robot to the ball as fast as possible and precise enough so that the robot is still able to play the ball. The manually created solutions by the RoboCup Team 'Austrian Kangaroos' are used as a baseline to measure the resulting programs. The thesis shows how the manufacturer built-in movement functions of the robot can be applied in a direct and natural way by the terminal and function set of the genetic program and can therefore be encoded into the genomes of the solutions. The actual evolution of the programs was realized by using a simulator to prevent the expensive robot hardware to suffer from wear and tear. This also made it possible to conduct the experiments without the need of supervision. A software framework was created to connect the simulator, the robot middleware and the used framework for evolutionary computation. The resulting infrastructure was then used with a genetic algorithm to find a stable walking parameter set for the robot simulator. This was a prerequisite for being able to successfully position the robot. The conducted experiments successfully generated programs which could position the robot to the ball. Compared to the manually coded reference solution the best evolved program conducted its task faster and still enabled the robot to play the ball. This held true both when using the simulator as well as when trying out the generated solution on a real robot.
en
Additional information:
Abweichender Titel laut Übersetzung der Verfasserin/des Verfassers Zsfassung in engl. Sprache