Navigation

Inhalt Hotkeys
Prozessautomatisierung
Schüler

Robotik-Praktikum für Schüler - Autonome Roboter zum Anfassen und selber Programmieren

robong.jpg 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 TUCBots in unserem Roboterlabor. Diese sind zwar etwas kleiner aber die Funktionsweise ist letztlich die gleiche.

Erste Schritte mit den TUCBots

robong_right.jpg

robong_bottom_s.jpg

BoeBot-Ablaufdiagramm.png

Die TUCBots wurden in mehreren studentischen Arbeiten entwickelt. Sie bieten eine Grundlage für ein Roboterpraktikum, um die Funktionsweise und die Programmierung eines autonomen Roboters zu erlernen.

Die TUCBots besitzen zwei ansteuerbare Räder, einen drehbaren Infrarotsensor (8) in der Mitte und jeweils seitlich starr-montierte Infrarotsensoren (8) zur Entfernungsmessung, drei Liniensensoren (4) zum Erkennen des Untergrundes, Aufprallsensoen an der Stoßstange, einer LED-Anzeige und weiteren Sensoren und Aktoren. Da die TUCBots bereits fertig montiert sind, kann direkt mit der Programmierung begonnen werden. Ein paar Programmierkenntnisse aus dem Informatikunterricht sind dafür ganz hilfreich. Programmiert wird in C, einer weit verbreiteten Programmiersprache. Nachdem das Programm am Rechner erstellt wurde, wird dieses compiliert, auf den TUCBot gespielt und dann getestet.

Die TUCBots haben zum Erkennen von dunklen Linien auf dem Untergrund drei Bodensensoren. Diese liefern je nach Helligkeit einen hohen oder niedrigen Wert. In unserem Beispiel soll der Boden hell sein und eine schwarze Linie zur Führung verwendet werden. Diese Informationen werden an den Mikrocontroller übergeben. Somit hat dieser also die Werte aller drei Bodensensoren zur Verfügung. Der Mikrocontroller ist das „Gehirn“ des Roboters und entscheidet – je nach Programmierung – was bei welchen Sensorwerten zu tun ist. Hierfür können alle Sensoren zu Rate gezogen werden, um eine Aktion wie zum Beispiel das Ansteuern der Motoren (Gas geben/Bremsen für jeden Motor einzeln) auszuführen. Im Programm wird ihm also gesagt wie er auf welche Werte reagieren soll.

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.

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.

TUCBots im Labyrinth

roboterUndBoje.jpg

Das ist zwar schon ganz lustig, aber die TUCBots können noch mehr! In einem Labyrinth mit aufgestellten Wänden und an verschiedenen Stellen befestigten Bojen, können jeweils zwei gegeneinander antreten. Die Bojen können per Stoßschalten an der Unterseiten auf die Farben Grün und Rot gestellt werden. Jeder TUCBot kann mit Hilfe seines Infratorsensors an der Vorderseite diese Farbe auslesen, die die Bojen mit einem entsprechenden Infrorot-Code (wie bei einer Infrarotfernbedienung) aussenden. Ein TUCBot versucht nun alle Bojen auf Rot zu stellen und sein Rivale alle auf Grün. Der TUCBot der die meisten Bojen innerhalb einer vorher festgelegten Zeit auf seine Farbe gestellt hat, gewinnt.

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. Da die Arbeiten sehr selbsständig erfolgen sollten die Arbeiten in kleinen Gruppen durchgeführt werden. Wenn du also Interesse an einem Praktikum bei uns hast, dann begeistere am Besten noch einige Mitschüler dafür.

Wie bereits erwähnt, wird für die Programmierung unserer Roboter die Sprache C verwendet. Da wir eine speziell für unsere Roboter angepasste Software-Bibliothek entwickelt haben, die die Arbeit mit den Robotern vereinfacht, reichen Grundkenntnisse in C für die Programmierung vollkommen aus. Die vielfältigen Beispielprogramme in unserer Online-Dokumentation erklären die Nutzung der verschiedenen Sensorik des Roboters. Solltest du jedoch noch keine Programmiererfahrung gesammelt haben, ist es sinnvoll vor Beginn unseres Praktikums die Grundlagen der Programmiersprache C im Selbststudium zu erlernen. Hierzu eignet sich bspw. die Internetseite C-HowTo.

Eine Anleitung zur Inbetriebnahme des TUCBot sowie eine kurze Beschreibung zu den einzelnen Komponenten des Roboters ist ebenfalls in der Online-Dokumentation vorhanden.

Beispielvideos


Zweiwöchiges Schülerpraktikum Februar 2014