Dokumentation der Gruppe 6 des RBL 200323. Juni - 4. Juli 2003 |
||||||||||||||||
Der RoboterWir haben uns die Aufgabe gestellt, gleich am Anfang einen kompakten, relativ schnellen, schlauen und angemessen agressiven Roboter zu bauen. Einen großen Wert haben unsere Bastler daran gelegt, dass die Roboterteile möglichst auch voneinander getrennt wieder verwendet werden können (Modularisierung). So wurde zuerst ein stabiles Gehäuse um den Akku gebaut, die Bumpers und die Fangarme sind auch so gebaut, dass man die sehr leicht von dem Roboter abtrennen kann, diese verändern und wieder dranmontieren kann. Version 1HardwareEs wurden unterschiedliche Möglichkeiten diskutiert und ausprobiert.Es wurde auch der Antrieb durch einen Motor ausprobiert. Dies machte zwar das Geradeausfahren leicht. Die Lenkung durch das vorne angebrachte kleine Rad war aber recht ungenau. Es gab auch einen Vorschlag, ein Differential zu verwenden, aber dann haben wir uns doch für eine einfachere Konstruktion entschlossen. In der Version 1 besitzt unser Roboter einen Zweiradantrieb. Zum Lenken wird ein kleines Rad hinten verwendet. Das Rad ist starken Kräften ausgesetzt und bricht leicht ab, deshalb darf man dieses nicht zu stark belasten, denn es sich bloss passiv dreht. Verlagerung des Gewichtes des Roboters auf die beiden starken Antriebsräder. Das Gehäuse für den Akku erlaubte die Motoren nur oben und außen anzubringen - so hatten wir keinen Platz fürs Getriebe. Später wurde das Gehäuse noch an den Seiten stabilisiert, Photosensor zunächst vorne seitlich, später vorne in der Mitte angebracht. Wir haben uns für die Räder entschieden, denn diese am leistungsfähigsten am ebenen Boden der Testfläche sind und der Roboter stabil stehen kann und sich gut drehen kann. Ausserdem wurden vorne links und rechts zwei Bumpers konstruiert, damit der Roboter Hindernissen ausweichen kann. Ein Bumper vorne sollte zur rechtzeitigen Erkennung der Wand dienen, wo sich evtl. das schwarze Zielfeld befinden konnte. Unten befand sich ein Photosensor, damit der Roboter das schwarze Feld erkennen kann sowie aufs Licht reagieren kann. Es wurde auch ein Drucksensor eingebaut, der betätigt werden sollte, wenn der Roboter irgendwas falsch gemacht hat, um diesen auszuschalten. Und das Wichtigste: hinten wurde eine Kanone angebaut, bestehend aus einem Gehäuse, welches ein Motor beherbergte. Die Kanone diente dazu, beim Start eine "Bombe" (ein aus vielen kleinen und großen Lego-Steinen bestehendes Gebilde, das beim Fallen auf das Spielfeld sich in viele Einzelteile zerfällt) in das gegnerische Feld herauszuschiessen, um den Gegner evtl. daran zu hindern, in das schwarze zielfeld zu gelangen, hehe.
SoftwareDas erste Programm war so konzipiert: der Roboter muss nach dem Lichtsignal geradeaus fahren (goForward(int dauer, int power); goForward1(int power);), Hindernissen ausweichen (stop(); goBack(int dauer, int power); rotate (int winkel); goForward(int power);), alle Ports (Motoren, Sensoren etc.) wurden in einem Array aufgelistet und initialisiert. Ausserdem wurden die Methoden zum Erkennen des Lichtes und des schwarzen Feldes geschrieben.Top Version 2HardwareIn der Version 2 wurden die vorderen Bumpers nach hinten verlegt. Vorne wurden der Roboter um zwei Fangarme erweitert. Diese einzigartige Konstruktion stellte zwei Räder dar, welche sich nach innen gedreht haben und somit die Dose praktisch "eingesaugt". Sobald der Roboter am schwarzen Feld angekommen war, sollten sich diese Räder in eine andere Richtung drehen und so die Dose ins Zielfeld herauswerfen. Das funktionierte sowohl mit aufrecht stehenden als auch mit den umgekippten Dosen.Jeder Fangarm besaß ausserdem einen Drucksensor, um den Hindernissen auszuweichen. Oben wurde ein Sender eingebaut, damit der Roboter sich auf dem Spielfeld orientieren kann und damit der Gegner auch weiss, von welcher Seite ihm die Gefahr droht :) In der Mitte wurde ein Infrarotsensor und ein Drucksensor installiert, um die gegriffenen Dosen zu erkennen. Ansonsten blieb die Konstruktion unverändert.
SoftwareVersion 2 wurde um die Methoden erweitert, die die Fangarme zum Drehen gebracht haben sowie Methoden für die Erkennung der gefangenen Dosen. Ausserdem wurden Methoden zum Hindernisse erkennen und umgehen (hinten links, hinten rechts und vorne links und rechts, also 4 Sensoren) optimiert. Es wurde auch ein Orientierungsalgorithmus entwickelt, welches aber dann wegen mangelhafter Funktionalität in dem Wettbewerb 2 doch nicht zum Einsatz gekommen ist.Top Version 3HardwareVersion 3 blieb weitaus unveründert, dafür haben wir uns auf der Software konzentriert.SoftwareDas bestehende Programm wurde um neue Methoden erweitert: Linienerkennung. Unser Roboter folgte nun der Linie, sammelte die auf der Linie aufgestellten Dosen und versuchte, diese in sein Zielfeld zu bringen. Allerdings war das nicht so einfach, denn der Roboter hat immer bei der Verzweigung den falschen Pfad (in das gegnerische Feld) aufgespührt :) Das haben wir dann aber trotzden sein lassen.
|
||||||||||||||||