10 likes | 139 Views
Programmierung und Steuerung der Lego Mindstromsroboter - eine Facharbeit an der Hulda-Pankok-Gesamtschule - Düsseldorf, im Februar 2001. FH D. Fachhochschule. Düsseldorf. Denys Bilousov Jahrgang 12, Profil Physik/Philosophie Betreung: Frau Schorzmann Prof. Dr.-Ing. F. Kameier.
E N D
Programmierung und Steuerung der Lego Mindstromsroboter - eine Facharbeit an der Hulda-Pankok-Gesamtschule - Düsseldorf, im Februar 2001 FH D Fachhochschule Düsseldorf Denys Bilousov Jahrgang 12, Profil Physik/Philosophie Betreung: Frau Schorzmann Prof. Dr.-Ing. F. Kameier Wie ist mein Roboter aufgebaut Programmierung des Roboters Einleitung Ist die Phase des mechanischen Baues des Roboters beendet, folgt die Programmierung des Roboters. Um das Model aus LEGO-Steinen, das man sich ausgedacht hat, zu einem richtigen Roboter werden zu lassen, muss ihm die Intelliegenz eingehaucht werden. Dies geschieht durch das Schreiben eines Programms (einer folge spezieller Befehle) an einem üblichen PC, das dann per Infrarotsender auf den Roboter übertragen wird. Er wird dadurch "zum Leben erweckt" und kann nun autonom seinen Auftrag durchführen. Nach meiner Meinung ist das das interessanteste Teil der Arbeit beim Bau eines Roboters. Sie fordert von einem Menschen eine Menge geistige Arbeit und ist eine echt Herausforderung. In meiner Facharbeit "PROGRAMMIERUNG UND STEUERUNG DER LEGO MINDSTORMSROBOTER" werde ich versuchen einen Roboter zu bauen, der einen Raum abschreitet, um einen Ausgang zu finden. Das Ziel meiner Arbeit ist möglichst genau die Strecke des Roboters auszurechnen und dabei festzustellen, wie genau meine Ergebnisse sind. Der eigentliche Aufbau und das Aussehen einer Maschine oder eines Gerätes hängt in erster Linie von ihren alltäglichen Aufgaben ab. Z.B ein Industrieroboter, der Karosserien lackiert. Meinen Roboter kann man in 3 Teile aufteilen. 1. RCX-Baustein mit 3 angeschlossenen Eingängen für jeweils einen Lichtsensor und zwei Drehsensoren. Und zwei Ausgänge für zwei Motoren. 2. Das untere Teil des Roboters besteht aus zwei Motoren A und C (jeder Motor treibt ein Rad an), 8 Ritzeln, zwei Drehsensoren (R1 und R2) (Abbildung 4) 3. Das vordere Teil. Hier ist ein Lichtsensor angebracht und ein Rad, das sich leicht um eigene Achse um 360° dreht. (Abbildung 5) Bild 7 : Programmierung unter ROBOLAB (LabVIEW). Berechnung des abgefahrenen Weges Obwohl laut dem Drehsensorentest die Drehsensoren ziemlich ungenau sind, habe ich die Streckelänge, die der Roboter von seinem Startpunkt bis zum Anhaltepunkt gemacht hat ausgerechnet. Zuerst habe ich mit einem Messungsfeld gemessen, wie viele Impulse pro cm der Roboter ausführt. Er machte etwa 380 Impulse auf 20 cm. Das heißt, dass der Roboter pro 1 cm 18 Impulse macht =1,125 Umdrehungen (18 Impulsen / 16 = 1,125 U). Danach habe ich einen Startpunkt auf dem Testfeld frei ausgewählt und den Roboter gestartet. Nachdem der Roboter den Ausgang gefunden hat, ist seine Aufgabe erledigt. Mit ROBOLAB - Software habe ich die vom Roboter gesammelte Daten aus dem RCX-Baustein abgelesen. Mit Hilfe von ROBOLAB - Software kann man diese Daten auf verschiedene Art und Weise darstellen. Auf der Abbildung 2.2 sieht man die Graphen mit Ergebnissen der beiden Drehensoren. Der rote Graph - der erste Drehsensor, der sich auf der linken Seite des Roboters befindet und der blaue - der zweite Drehsensor - auf der rechten Seite des Roboters. Da die beiden Drehsensoren auf den Roboter Spiegelweise installiert sind zeigt der zweiter Drehsensor negative Werte an. Auf der y-Achse sind die Impulse und auf x-Achse die Zeit in Sekunden dargestellt. Der Graph beweißt noch mal die Ungenauigkeit der Drehsensoren. Die Hoch - und - Tiefpunkte des Graphen sind die Anhaltepunkte des Roboters. Anhand dieses Graphes und der Ergebnisse aus Bild 8 kann man die Länge der Strecke ausrechnen. Bild 1 : Lego RCX Baustein. Bild 3 : Die Aufteilung des Roboters. Auseinandersetzung mit dem Begriff "Roboter" Bevor ich meinen ersten Roboter entworfen habe, habe ich mich zuerst mit dem Begriff Roboter auseinandergesetzt. Als ich noch ein Kind war, stellte ich mir unter einem Roboter etwas unabhängiges vor, was sich in seiner Umgebung frei und selbstständig bewegt. Jetzt ist aber Zeit klar und deutlich zu definieren, was ein Roboter ist und wie viele es Roboterarten in moderner Robotertechnik gibt. Im "KNAURS JUGEND LEXIKON" vom Jahr 1953 (S.516) steht: Der Roboter (slawisch robota = Fronarbeit) ist eine Puppe in Menschengröße, die durch einen eingebauten Apparat befähigt sein soll, pausenlos schwere Arbeit mechanisch zu leisten. Der Wunschtraum nach solchen "Maschinenmenschen" wurde nur als Spielerei verwirklicht. Die Erfindung moderner Wergzeuge führte zu besseren Lösungen der Arbeitserleichterung. Anhand dieser alten Definition des Begriffes Roboter möchte ich klar machen, dass die Menschen seit Urzeiten davon geträumt haben, automatische Helfer zu haben, die ihnen die schwere Arbeit abnehmen könnten. Im Mittelalter bis hin zum Anfang des 20. Jahrhunderts gab es immer wieder Versuche, solche Maschinen zu bauen. Diese Maschinen, die teilweise Wunderwerke der Mechanik waren, hatten aber nie eine praktische Bedeutung. Zwischen einem modernen Industrieroboter und diesem Wunderwerk besteht zwar ein grosser Unterschied. Die beiden haben aber etwas Gemeinsames, nämlich sie können sich bewegen und Tätigkeiten ausführen. Eigentlich werden in der jüngsten Zeit auch Programme, die automatisch das Internet durchsuchen, um Informationen zu sammeln, ebenfalls als Roboter bezeichnet. Allgemein versteht man unter einem Roboter eine Maschine mit programmierbarem Verhalten, welche die Fähigkeit besitzt, andere Gegenstände oder sich selber zu bewegen oder zu manipulieren. Bild 4 : Der Roboter von der Seite. Der Bau einer passenden Umgebung Mein Roboter hat die Aufgabe einen Ausgang mit Hife eines eingebauten Lichtsensors, zwei Drehsensorenund zwei Motoren in einem Raum zu finden. So muss für diese Aufgabe eine passende Umgebung, weiter "Testfeld" (Bild 5) genannt, gestaltet werden. Es ist ein Blatt Papier 52 cm lang und 23 cm breit mit einem schwarzen Streifen (Breite: 2,5 cm) um den Rand herum. Etwa 14 cm vom linken Rand des Testfeldes entfernt befindet sich ein 10 cm langer und 2,5 cm breiter grüner "Ausgang". Die Farben (weiß, schwarz und grün ) sind von mir nicht zufällig ausgewählt worden. Von mir wurden etwa 10 verschiedene Farben auf ihre Helligkeit getestet. Das Ziel dabei war, einen möglichst größeren Helligkeitsunterschied zwischen drei von zehn (Bild 6) Farben zu ermitteln. Es hat sich rausgestellt, dass die Farben weiß, schwarz und grün den grössten Helligkeitsunterschied zwischen einander aufweisen und damit meine Bedingungen erfüllen. Reduktion des Volumenstroms auf Werte kleiner 1,4 m3/s (c<11 m/s) und der Einbau zusätzlicher Rohrleitung vor der Ultraschallmessstrecke führten zu Messungenauigkeiten kleiner 10%. Für den Praxiseinsatz ist das Messsystem im derzeitigen Zustand daher nur bedingt tauglich. Bild 8 : Drehsensorengraph. Bild 9 : Bewegungen des Roboters auf dem Testfeld Verwendete Literatur Bild 5 : Das Testfeld. Johathan B. Knudsen & Markus L. Noga: Das Inoffizielle Handbuch für LEGO MINDSTORMS Roboter, Köln, 2000. Dirk Louis und Peter Müller: Mindstorms "Roboter - Programmieren - Lernen“, München, 1999. Martha N. Cyr: Teacher's Guid for RoboLab 2.0 Software, Billund, 2000. Lernhandbuch zur ROBOLAB-Software, Technik LPE GmbH, Eberbach, 1999. Knaurs Jugend Lexikon, München, 1953. http://www.bs.shuttle.de/bs/kleineburg/r-gloss.htm#an-algorit Bild 2 : Fertiger Roboter. Bild 6 : Helligkeitsgrad.