E318 - Institut für Handhabungsgeräte und Robotertechnik
-
Date (published):
2002
-
Number of Pages:
175
-
Keywords:
Roboter; Fußball; Mehragentensystem
de
Abstract:
The aim of the present thesis was to develop an autonomous robot system on the practice-oriented example of robot soccer as a test bed for the implementation of Multi Agent Systems. Robot soccer, which is covering almost every parts of an autonomous system, gives an idea how such a system can be realized. Although it is fascinating to see small robots playing soccer, robot soccer seems on the first view to be a simple stupid game. However it only seams so. When going into detail the whole complexity turns out. It is possible to deal with every technology, which is necessary for an autonomous system. Starting with the sensor system e.g. vision system, encoders, etc., which are necessary to bring the important environmental facts in a form, which the control system understands. Coming to the control mechanism, which has to generate tasks by using neural networks, fuzzy, or simple if - then rules. Out of these asks a trajectory for the robot should be generated. The whole control mechanism has to be covered in a program framework, which provides the possibility of distributed development and of step-by-step testing. The speed of the game the cycle time of the control mechanism is very short, which leads to problems concerning the operating system. In fact robot soccer would require a real time operating system. After all, the whole system rises and falls with an appropriate robot. Such a robot has to fulfill its task, which is to follow a given trajectory with maximum precision and to reach the desired speed as fast as possible. Designing a mini robot requires knowledge in mechanical engineering and electrical engineering. Furthermore it requires the knowledge of programming a micro controller and of course of control engineering. But the major difficulty is to pack all components into a very small cube. In addition each sensor and additional intelligence, which can be placed on the robot speeds up the whole system and increases the chance to win a game. For all the wealth on problems in detail and complexity of a robot soccer game there was never lost the sight of the idea to design a universally applicable system. The basic idea was to develop a fully autonomous robot. For this purpose a layered model with corresponding universal interfaces was conceived. The top layer of this model is a platform for decision finding. To realize this goal a new robot and an object oriented program written in C++ were developed. The robot's task to fulfill is to move very quickly on its pretended trajectory, and the program's part is to decide the robot's task, which leads to a desired trajectory. Based on the idea to reproduce the human behavior a layered system encapsulated in classes was built up, as well as an object oriented hierarchy in order to have at one's disposal a system for implementing possibilities for decision finding in an easy way. An unequivocal and strictly defined interface owned by every part makes possible the improvement of the program's parts without knowing the whole code.
en
Das Ziel dieser Arbeit war die Entwicklung eines autonomen Robotersystems anhand des praxisorientierten Beispiels Roboterfußball. Roboterfußball ist geradezu prädestiniert, als Testumgebung für Multi Agent Systeme zu fungieren, beinhaltet es doch nahezu jedes Element eines autonomen Systems und vermittelt überdies eine Idee, wie ein autonomes Robotersystem realisiert werden könnte. Obwohl es faszinierend ist, kleine Roboter Fußball spielen zu sehen, gleicht Roboterfußball auf den ersten Blick einem eher einfachen Spiel, denn seine Komplexität zeigt sich erst im Detail. Hierbei ergibt sich allerdings die Möglichkeit, sich mit nahezu jeder Technologie zu befassen, die für ein autonomes System notwendig ist. Um wichtige Teile der Umgebung in eine Form zu bringen, welche die Steuerungseinheit versteht, ist ein Sensorsystem notwendig. Dieses besteht beispielsweise aus einem Bildverarbeitungssystem, Enkodern usw. Die Steuereinheit generiert Aufgaben unter Zuhilfenahme beispielsweise von neuralen Netzwerken, Fuzzy Logik oder einfachen wenn - dann Regeln. Aus diesen Aufgaben kann in weiterer Folge eine Trajektorie erzeugt werden, welche den Bewegungsablauf des Roboters vorgibt. Der komplette Kontrollmechanismus ist in ein Framework eingebettet, welches die Möglichkeit der verteilten Entwicklung und des schrittweisen Testens unterstützt. Aufgrund der Geschwindigkeit des Spiels ist die Zykluszeit des Kontrollmechanismus sehr kurz, was zu Problemen mit dem Betriebssystem führt. Theoretisch wird ein Echtzeitbetriebssystem benötigt. Schlussendlich steht und fällt das Gesamtsystem mit einem entsprechenden Miniaturroboter. Die Aufgabe eines Roboters besteht darin, einer gegebenen Trajektorie präzise zu folgen und die Sollgeschwindigkeit rasch zu erreichen. Die Konstruktion eines Miniaturroboters erfordert Wissen auf den Gebieten des Maschinenbaues, der Elektrotechnik, der Regelungstechnik sowie Informatik. Eine weitere Schwierigkeit stellte das Problem dar, alle Bauteile des Miniaturroboters in einem kleinen Würfel unterzubringen. Jeder zusätzliche eingebaute Sensor sowie jede zusätzliche auf dem Roboter untergebrachte Intelligenz beschleunigen das Gesamtsystem und erhöhen die Chance zu gewinnen. Trotz aller gegebenen Detailprobleme und der Komplexität eines Roboterfußballspiels wurde niemals das Ziel aus den Augen verloren, ein universell anwendbares System zu entwickeln, welches auf der Grundidee eines komplett autonomen Roboters basiert. Für dieses Ziel wurde ein Schichtenmodell mit entsprechenden universellen Schnittstellen erdacht, wobei die oberste Schicht dieses Modells eine Plattform zur Entscheidungsfindung darstellt. Um das gesetzte Ziel zu erreichen, wurden sowohl ein neuer Roboter entwickelt als auch ein objektorientiertes Programm in der Programmiersprache C++ geschrieben. Die Aufgabe des Programmteils ist es, die Aktionen des Roboters zu bestimmen. Dies führt zu einer Sollbahn, welcher der Roboter exakt zu folgen hat. Basierend auf der Idee, die menschliche Verhaltensstruktur zu reproduzieren und mit einem System zur einfachen Implementierung von Verfahren zur Entscheidungsfindung zu koppeln, wurde ein Schichtenmodell entworfen und objektorientiert abgebildet. Jeder Teil des Programms besitzt eine eindeutig definierte Schnittstelle, welche die Verbesserung von Programmteilen ermöglicht, ohne den gesamten Code zu kennen.