Gruppe 5 Roboterbau Teilnehmer: Gayer Udo Ruß Marie-Sophie Hüllmandel Alexander Heßdörfer Thomas Arnold Charlotte Weisenberger Hannah Projektleiter: Dieter Ziegler Dienstag, der 21.7.2009 Zur Einführung in das Projekt zum Thema Robotik gibt uns Herr Ziegler einen kurzen Überblick über verschiedene Robotertypen. Angefangen bei Armrobotern in Fertigungsstraßen der Industrie über medizinische Prothesen bis hin zu Weltraumsatelliten gibt es ganz unterschiedliche Arten von Robotern. Im Projekt beschäftigen wir uns nur mit einem besonderen Typ, den mobilen dreirädrigen Robotern. Im Gegensatz zum vierrädrigen System ist ein mit zwei steuerbaren Rädern und einem freien Rad ausgerüsteter Roboter nämlich wesentlich leichter zu steuern. Wir werden nun in drei Gruppen von jeweils einer Schülerin und einem Schüler aufgeteilt und erhalten zunächst die elektronischen Bauteile für den Roboter. Dazu zählen das Netzteil, der Mikrocontroller, an den alles angeschlossen wird, die Motoren, Licht- und Hall-Sensoren, ein Datenkabel und das LCD-Display. Nun stehen die einzelnen Teams vor der Aufgabe, eine Karosserie aus den frei kombinierbaren Fertigteilen von fischertechnik zu bauen. Das oberste Gebot ist hierbei, wie Herr Ziegler gerne wiederholt, die Robustness. Das bedeutet, dass das Fahrgestell des Roboters so stabil wie möglich konstruiert werden sollte, damit er später nicht auseinander fällt, wenn beim Fahren unterschiedliche Kräfte auf ihn einwirken. Unter Zuhilfenahme eines Bauplans werden dann die Fahrwerke relativ zügig zusammengebaut. Damit sich die Roboter an einem anderen Projekttag in einem Labyrinth bewegen können muss natürlich auch schon beim Bau darauf geachtet werden, dass sie möglichst schmal sind. Durch das Auslassen eines Bauteils kann zum Beispiel das Standard-Fahrzeug schon etwas besser auf einen geringen Aktionsradius angepasst werden, allerdings wird dadurch auch der Raum, in dem sich die Motoren befinden, immer schwerer zugänglich und es muss besonders darauf geachtet werden, dass sich bei Bewegung keine Teile gegenseitig behindern. Nach dem Aufbau werden dann die Sensoren an den richtigen Stellen befestigt. Der Lichtsensor sitzt an der Front in geringem Abstand über dem Boden, denn es soll später eine schwarze Linie auf
dem Boden verfolgt werden. Die Hall-Sensoren bestehen aus zwei Teilen. Ein Rad mit Magneten wird auf den Reifen aufgesetzt, der eigentliche Sensor in der Nähe angebracht, damit er die Änderung des Magnetfelds messen kann. Zum Abschluss des Tages zeigt uns Herr Ziegler noch, wie man ein Programm auf den Mikrocontroller übertragen kann. Mithilfe des einfachen vorgefertigten Programms drive testen nun noch die einzelnen Gruppen die Fahrfunktionen ihres Roboters. So können bauliche Fehler, wie zum Beispiel ein falsch herum angeschlossener Motor oder schleifende Bauteile, behoben werden. Jetzt ist der Roboter bereit für die Programmierung am nächsten Tag. Mittwoch, 22.07.2009 Der zweite Tag begann um 9:00 Uhr mit der endgültigen Fertigstellung der Roboter. Dann sollten wir uns mit der der Programmiersprache vertraut machen, mit welcher der Roboter später programmiert wurde. Dazu konnten wir uns anhand eines Beispiels die Befehle klar machen und uns so einen noch besseren Überblick verschaffen. Anschließend folgte ein Vortrag von Dieter über die Grundlagen der Informatik, welche immer und unabhängig von der Spezialisierung auf dem E-V-A (Eingabe-Verarbeitung-Ausgabe) basieren. Zum besseren Verständnis hat er uns auch über die Befehle informiert, die z.b. ein Mikrochip verarbeiten kann. Diese werden im binären oder hexadezimalen Zahlensystem dargestellt und finden sich auch bei unserem Beispiel, der Software für die Roboter, wieder. Nach einer kurzen Pause wurde nun das bisher angeeignete noch sehr theoretische Wissen auf das Programmieren des Roboters bezogen. Wir erfuhren, dass jeder Programmiervorgang in einen Header-, einen Init- und einen Mainpart eingeteilt ist, wobei im Header der Informationen des Prozessors steht, im Initteil die Inhalte von Variablen und Konstanten definiert werden und im Mainteil die Befehle stehen, die ausgeführt werden sollen. Jetzt konnten wir die Theorie endlich in die Praxis umsetzen und unseren Roboter so programmieren, dass er exakt auf einer schwarzen Linie fährt. Man musste sich überlegen, was der Roboter tun soll, wenn der linke oder rechte Infrarotsensor am Roboter die Meldung gibt, dass er sich noch oder nicht mehr auf der Linie befindet. Um das Problem zu lösen, näherte man sich ihm zunächst mit dem State Machine-Modell und einer Wahrheitstabelle an.durch diese Spezifikation war es dann ganz leicht die Informationen in ein Compiler-Programm am Computer einzugeben und das geschriebene Programm an den Roboter zu senden. So fuhr er wie gewollt einer vorgegebene Linie entlang. Als nächstes stellte uns Dieter noch die Aufgabe die Linie nur mithilfe eines Sensors entlang zu fahren. Aber durch unsere bisher gewonnene Erfahrung fiel uns dies erstaunlich leicht und wahr in 5 Minuten gelöst.
Donnerstag, 23.07.2009 Am Donnerstag widmeten wir uns hauptsächlich zwei Problemen: dem Ausmessen der schwarzen Linie, auf der der Roboter tags zuvor gefahren war, und dem Fahren im Labyrinth. Zum Messen der Linie mussten wir zwei sogenannte Hall-Sensoren an die Roboter bauen. Diese zählten die Impulse an vier Magneten an jedem Rad, wodurch wir die Anzahl der Radumdrehungen ermitteln konnten. Mit dieser Messung und dem bekannten Radumfang war es möglich, die gesamte Strecke zu errechnen. Um die Genauigkeit dieser Messungen festzustellen, verglichen wir die Ergebnisse von allen drei Robotern und kamen auch zu ähnlichen Werten (Messfehler +-1,5%). Zunächst war es allerdings notwendig, einige Dinge vom Vortag zu wiederholen und es gab anfangs auch noch Schwierigkeiten beim Programmieren. Deshalb halfen wir uns in den verschiedenen Gruppen schließlich gegenseitig, bis alle Roboter die Aufgabe bewältigt hatten. In den kleineren Pausen, die wir am Vormittag einlegten, hatten wir außerdem die Möglichkeit, die komplizierteren und komplexeren Roboter der Fachleute in der Robotikhalle zu bestaunen. Diese mussten auf den Testgeländen den verschiedensten Ansprüchen Genüge leisten. Nach der Mittagspause versuchten wir uns dann am Labyrinth. Hier rüsteten wir zuerst unsere Roboter um, weil im Labyrinth kein Lichtsensor, dafür aber zwei Schalter an der Seite und vorne an den Robotern befestigt werden mussten. Traf der Roboter an die Wände, konnte er so den richtigen Weg erkennen. Er hatte kein schwarzes Band mehr zur Orientierung. Am Ende legten wir die Arbeit aller Gruppen aber zusammen und dachten gemeinsam über die Probleme bei der Programmierung nach, weil schnell klar war, dass es in den Kleingruppen nicht alle Roboter durch das Labyrinth schaffen würden. Während die einen sich mit den Sensoren am ausgewählten Roboter beschäftigten, begannen die anderen so schon mit der Programmierung der Software. Auch diese bereitete wieder vermehrt Schwierigkeiten. Trotzdem gelang es uns am Ende, den Roboter erfolgreich durch die Irrwege zu lenken. Wir waren sehr froh und stolz, dass wir es wider Erwarten noch vor dem Abendessen geschafft hatten. Zum Schluss möchten wir uns noch recht herzlich bei Herrn Dieter Ziegler für die Betreuung und Hilfe während der vier Mathematik und Informatik-Projekttage bedanken.