Robotik-Praktikum für Schüler - Autonome Roboter zum Anfassen und selber Programmieren
Seid ihr auch fasziniert von autonomen Robotern? Habt ihr euch schon immer gefragt, wie es Ingenieure schaffen Roboter zu entwickeln, die völlig ohne menschliche Hilfe Autos zusammenbauen oder wie die automatische Einparkhilfe in Autos funktioniert? Wie eine Maschine konstruiert wird und funktioniert, kann man sich vielleicht noch vorstellen. Schließlich ist es klar, dass ein Fahrzeug geradeaus fährt, wenn alle vier Räder gleichzeitig von Motor gleich stark gedreht werden. Aber woher weiß die automatische Einparkhilfe, wann sie die Räder wie ansteuern muss, damit das Auto am Ende auch in der Parklücke steht ohne dabei andere Autos anzufahren oder sogar Personen umzufahren?
Es sieht auf jeden Fall kompliziert aus und schließlich muss man ja auch eine ganze Weile studieren, um solche Roboter entwickeln zu können. Das denkt ihr vielleicht! Eigentlich ist es gar nicht so schwer und das wollen wir euch beweisen! Natürlich fangen wir nicht gleich mit der Einparkhilfe an einem echten Auto an. Denn wir wollen es nicht riskieren, dass ihr beim ersten Test überfahren werdet. Wir haben dafür unsere kleinen Boe-Bots in unserem Roboterlabor. Diese sind zwar etwas kleiner aber die Funktionsweise ist letztlich die gleiche.
Erste Schritte mit den Boe-Bots
Die Boe-Bots haben zwei ansteuerbare Räder, einen drehbaren Ultraschallsensor zur Entfernungsmessung, Liniensensoren zum Erkennen des Untergrundes und je nach Aufgabenstellung können weiterhin LEDs, Schalter, weitere Abstandssensoren ... angebaut werden. Danach kann schon mit der Programmierung begonnen werden. Ein paar Programmierkenntnisse aus dem Informatikunterricht sind dafür ganz hilfreich aber nicht zwingend notwendig. Programmiert wird mit PBASIC, einer relativ einfachen Programmiersprache. Nachdem das Programm am Rechner erstellt wurde, wird dieses compiliert, auf den Boe-Bot gespielt und dann getestet.
Der Boe Bot hat zur Erkennung von Dunklen Linien auf dem Boden drei Bodensensoren. Diese können in der Grundbeschaltung die Zustände hell und dunkel erkennen. In unserem Beispiel soll der Boden hell sein und eine schwarze (dunkle) Linie zur Führung verwendet werden. Diese Information wird an den Mikrocontroller übergeben. Dieser hat also die Werte aller drei Bodensensoren zur Verfügung. Der Mikrocontroller ist das „Gehirn“ des Roboters und entscheidet, was bei welchen Sensorwerten zu tun ist. Es kann allerdings auch Aktionen auslösen, wie zum Beispiel das Ansteuern der Motoren (Gas geben/Bremsen für jeden Motor einzeln). Damit der Mikrocontroller allerdings auch weiß bei welchem Befehl welche Aktion erforderlich ist, muss er programmiert werden. Dabei wird ihm gesagt, wie er auf bestimme Sachen reagieren soll. Nachdem der Mikrocontroller nun weiß, was er wann tun soll, kann er autonom(ohne fremde Hilfe oder Fernsteuerung) eine Linie verfolgen und sich selbst zurecht finden. Auch Änderungen der Linienführung können so vom Roboter bewältigt werden.
Im folgenden Beispiel soll es darum gehen, die Logik, die der Roboter haben muss, darzustellen. Hier die ersten Denkansätze:
Zunächst kann von einer geraden Linie ausgegangen werden. Wir werden später sehen, dass die Denkansätze auch für krumme Linien funktionieren. Welche Sensoren sind hell/dunkel, wenn
Der Roboter mittig auf der Linie steht
Der Roboter zu weit links steht
Der Roboter zu weit rechts steht?
Am besten man zeichnet sich dazu eine gerade Linie auf ein Blatt Papier und schaut, welche Sensoren nun dunkel oder hell sehen würden. Jetzt ergeben sich einige Kombinationen mit denen man den Roboter schon recht gut lenken kann, allerdings sollte man sich nun noch Gedanken machen, was der Roboter tun soll, wenn andere Sachen passieren:
Roboter verlässt die Linie – alle Sensoren hell
Roboter kommt auf eine Kreuzung – alle Sensoren dunkel
...
Ein gut funktionierendes Beispiel ist im Ablaufdiagramm rechts dargestellt (Bitte anklicken zum Vergrößern). Hier soll der Roboter einer Linie folgen und wenn die Linie unterbrochen wurde, trotzdem weiter fahren. Auch eine Kreuzung soll er überfahren können. Bei einer gespreizten Linie soll er jedoch stoppen.
Die Vorgänge die im Ablaufdiagramm dargestellt sind, werden nun in eine Programmiersprache gefasst, sodass der Mikrocontroller nun selbstständig auf die Sensorsignale, die von der Umgebung kommen reagieren kann.
Im Video sieht man das die Funktionen bereits erweitert wurden und ein Paar Infrarot-Abstandssensoren dazu verwendet werden eine Wand zu umfahren. Daran wird die Vielfältigkeit und gute Bedienbarkeit des Mikrocontrollers sichtbar. Es mussten hier keine komplizierten Schaltungen verwendet werden, um die Logik der Linienverfolgung abzubilden. Außerdem kann man den Mikrocontroller innerhalb von Sekunden programmieren um sein Programm zu verändern. Doch auch in allerhand anderen Anwendungen kann der selbe Mikrocontroller seine Arbeit verrichten.
Mikrocontroller sind deswegen heute ein beliebtes Mittel um Steuerungen dieser Art zu übernehmen. Sie finden sich heutzutage in der Waschmaschine, im Geschirrspüler, beim Fahrstuhl, in Zugangskontrollsystemen sowie auch im Auto und vielen weiteren Gebieten.
Boe-Bots im Labyrinth
Das ist zwar schon ganz lustig, aber die BoeBots können noch mehr! Deshalb gibt es als Aufgabenstellung einen Hindernisparcours, bei dem der Boe-Bot einer Linie nachfahren muss. Die Strecke fängt relativ leicht an, wird aber aufgrund von Hindernissen wie Linienunterbrechungen oder großen Gegenständen auf der Linie immer schwieriger. Ziel ist es so schnell wie möglich den Parcours zu überwinden. Doch wer zu schnell sein will, kommt auch schnell vom richtigen Weg ab! Wenn mehrere Teams einen Roboter programmiert haben, gibt es am Ende natürlich noch einen Wettkampf, bei dem mit Hilfe eines Punktesystems und der Zeit der am besten programmierte Boe-Bot ermittelt wird.
Haben wir jetzt dein Interesse geweckt?
Haben wir jetzt dein Interesse geweckt? Ob als Schulklasse, Feriengestaltung, Schulpraktikum oder anderem, melde dich einfach bei uns: Informationen und Auskünfte erteilt Dipl.-Inf. Peer Neubert.
Weitere Informationen zu den verwendeten Robotern gibt es hier auf elmicro.com. Dort steht auch eine Artikelserie zu den BoeBots von der Zeitschrift Elektor bereit.