Verwendete Kamera

Es wird eine USB-Kamera der IDS Imaging Development Systems GmbH des Types UI-1246LE-C-HQ eingesetzt. Das verwendete Objektiv des Types BF2M2020 hat dabei mit einer Brennweite von 2.0 mm einen relativ großen Öffnungswinkel von 175° (Diagonal), so dass zwar das komplette Labyrinth abgebildet wird, aber auch starke Verzerrungen in den Randbereichen auftreten.

alternate text

Abbildung 1: UI-1246LE-C-HQ Kamera (Quelle: ids-imaging.com)

Vorteile:

  • Verschlusszeit lässt sich per Software einstellen, so kann das Belichtungs-/Messintervall gut auf die Helligkeit der LEDs angepasst werden.
  • Objektive lassen sich wechseln
  • Hohe Auflösung (1280x1024 Pixel)

Nachteile:

  • Closed Source Treiber
  • Die Treiber unterstützen nicht das unter Linux übliche Interface für Videoquellen, somit muss die Software bei Einsatz einer anderen Kamera umgeschrieben werden und es können nicht die Standard Funktionen von OpenCV genutzt werden, um Bilder von der Kamera zu erhalten.

Siehe auch: https://twiki.tu-chemnitz.de/bin/view/Prat/UEyeKameras

Alternative mit Open Source Treibern: http://www.ptgrey.com/

Das Labyrinth

Das Labyrinth (Abbildung 2) ist wie ein Schachbrett aufgebaut und besteht aus 8 mal 8 Feldern. Es hat insgesamt eine Größe von 240 cm mal 240 cm, womit jedes Feld 30 cm mal 30 cm groß ist.

Auf dem Boden des Labyrinths befinden sich schwarze Linien im Raster von 30 cm, worauf dann einzelne Wandelemente gestellt werden können. Diese werden anschließend über Alu-Profile miteinander verbunden.

Die Roboter navigieren innerhalb des Labyrinthes mit Hilfe von Infrarot-Abstandssensoren sowie Reflexkopplern an der Unterseite, mit denen sie erkennen können, ob sie sich über einer schwarzen Linie oder in einem blauen Bereich befinden.

alternate text

Abbildung 2: Das Labyrinthwand

In dem Labyrinth können an den Wänden auch noch Bojen (Abbildung 2, rote Markierung) angebracht werden. Diese können einen von drei Zuständen einnehmen, Rot, Grün oder Neutral und senden diesen über ein moduliertes Infrarot-Signal an in der Nähe befindliche Roboter.

Unten an den Bojen befinden sich Metallkontakte (siehe Abbildung 3), wenn ein Roboter jetzt dagegen fährt, kann er die Boje umschalten.

alternate text

Abbildung 3: Boje auf Labyrinthwand

Einer der Wettbewerbe innerhalb des Projektpraktikums Mobile Roboter bestand dann darin, dass zwei verschiedene Teams (Rot und Grün) die Roboter so programmierten, dass sie in einem unbekannten Labyrinth nach Bojen suchen und so viele wie möglich in die eigene Farbe umschalten, wobei der Roboter des gegnerischen Teams die Bojen erneut umschalten konnte. Daher war das automatische Erstellen einer Karte vom Labyrinth von großer Bedeutung um der Reihe nach alle Bojen-Positionen erneut anzufahren.

Modifikation der Roboter

Um den Programmcode einfach und verständlich zu halten und da sich die Roboter ohne Modifikationen kaum unterscheiden lassen sowie um die Orientierung besser zu erkennen, wurden Markierungen in Form von LEDs an den Robotern angebracht.

Begonnen wurde diese Arbeit mit Roblaus Robotern der ersten Generation wie in Abbildung 4 dargestellt und mit einer Kamera mit geringerer Auflösung als die oben erwähnte. Daher mussten erst größere LEDs mit 20 mm Durchmesser verwendet werden und auch die Befestigungsvorrichtung der LEDs an der Robotern war noch nicht so ausgereift. Die in Abbildung 5 dargestellten Prototypen wurden mit Winkeln auf den Infrarot-Sensoren vorne am Roboter befestigt.

alternate text

Abbildung 4: Robolaus Roboter der ersten Generation.

Damit die LEDs von der Kamera nicht nur als helle Punkte wahrgenommen werden und auch eine Farbunterscheidung möglich ist, müssen sie einen möglichst großen Durchmesser besitzen und diffus leuchten. Außerdem sollten sie sich in ihrer Helligkeit deutlich vom Umgebungslicht oder der Raumbeleuchtung absetzten, so dass sie, im Gegensatz zu anderen Lichtquellen, bei kurzer Belichtungszeit der Kamera noch gut erkennbar sind.

alternate text

Abbildung 5: Die beiden ersten Prototypen der 20 mm LED Platine

Normale 5 mm LEDs waren viel zu dunkel, ließen sich nur im abgedunkeltem Raum erkennen und waren auch von der Größe viel zu klein, wie auch in Abbildung 6 ersichtlich ist.

alternate text

Abbildung 6: Roboter mit 4 normalen LEDs bei ziemlicher Dunkelheit

Die Wahl fiel schließlich auf LEDs mit 2 cm Durchmesser von Kingbright. Es waren zwar verschiedene Farben lieferbar, leider waren nur die rote LED des Types DLC2/6SRD und die blaue LED des Types DLC2/6QBD-D hell genug. Somit schied eine Farbkodierung der Roboter aus. In Tabelle 4.1 ist eine Gegenüberstellung der Leuchtintensitäten der einzelnen LEDs zu finden.

Übersicht Kingbright LEDs
Farbe Typ Leuchtintensität
Blau DLC/6MBD 23.4 mcd
Grün DLC2/6GD 53.3 mcd
Rot DLC2/6SRD 380.25 mcd
Gelb DLC2/6YD 37.18 mcd
Rot DLC2/6ID 61.56 mcd
Blau DLC2/6QBD-D 70...341.6 mcd

In Abbildung 7 wurden die rote, grüne und gelbe LED bei 20 ms Belichtungszeit und maximalem LED Strom gefilmt. Da sich die Leuchtintensität der grünen und gelben LED kaum vom Umgebungslicht unterscheidet, sind sie kaum erkennbar und deshalb ungeeignet für die Lokalisierung der Roboter.

alternate text

Abbildung 7: Vergleich: Rote, grüne und gelbe 2 cm LED bei 20 ms Belichtungszeit

Dagegen eignen sich die rote und blaue LED gut zum Finden der Roboter, wie im rechten Teil der Abbildung 8 zu sehen ist.

alternate text

Abbildung 8: Rote und blaue LED bei 4 ms Belichtungszeit, Roboter gefunden

Als brauchbar haben sich auch 8 mm LEDs mit 360° Abstrahlwinkel von Conrad herausgestellt.

Die Datenblätter zu den einzelnen LEDs befinden sich im Projektverzeichnis unter hardware/LEDs/.

Eine andere Möglichkeit ist die Verwendung von normalen LEDs mit extra Diffusor (z.B. Tischtennisball), wie sie auch an einem der Quadrocopter der Professur im Einsatz sind.

LED Modul für Robolaus 2

Im Laustracker LED Modul für die Robolaus Roboter der zweiten Generation (Abbildung 9) kommen 8 mm LEDs mit 360° Abstrahlwinkel von Conrad zum Einsatz, die aufgrund des etwas größeren Durchmessers und der großen Leuchtintensität gewählt wurden.

Nähere Informationen zu den Robotern befinden sich unter http://www.tu-chemnitz.de/etit/proaut/lehre/praktikumMobileRoboter_informationen.html.

Zur Befestigung und zum Schalten der LEDs durch den Roboter wurden passende Aluminiumgrundplatten sowie Treiberplatinen gefertigt.

alternate text

Abbildung 9: Robolaus Roboter der 2. Generation

Für die Fertigung des LED Moduls wurde zuerst ein 3D-Modell (Abbildung 10 und Abbildung 11) erstellt, aus dem dann automatisch eine 2D-Zeichnung zur Fertigung abgeleitet werden konnte.

Die technische Zeichnung von der LED Grundplatte ist im Projektverzeichnis unter hardware/CAD/Laustracker_LED_Modul/led_grundplatte_2_skizze.pdf verfügbar.

alternate text

Abbildung 10: 3D-Darstellung vom kompletten LED Modul (Oberseite)

alternate text

Abbildung 11: 3D-Darstellung vom kompletten LED Modul (Unterseite)

Auf der Unterseite des LED Moduls (Abbildung 11) ist im rechten Bereich eine größere grüne Platte zu erkennen. Das ist die LED-Treiberplatine zur Ansteuerung der LEDs durch den Roboter.

Der Schaltplan, sowie die Eagle Datein zur LED Platine befinden sich im Projektverzeichnis unter hardware/Platinen-Eagle/LED_Treiber_Platine/ und im Anhang.

alternate text

Abbildung 12: Layout der LED-Treiberplatine

Über den Schalter S1 (Abbildung 12) kann die 5V Versorgungsspannung abgeschaltet werden. Wenn die Versorgungsspannung anliegt, schaltet der MOS Transistor Q1 die Masse, aufgrund des 100K Pullup Widerstandes oder durch ein 5V Steuersignal, durch. Wenn am Steuereingang vom Robolaus Roboter 0V anliegen, sperrt der Transistor und die LEDs leuchten nicht.

Zum Anschluss des LED Moduls an die Robolaus Roboter wird von der internen Verbindung DSUB15 des Sensor Moduls GND, Vcc_5V sowie MOSI abgegriffen, im Programmcode des ATmega644 wird MOSI dann als GPIO initialisiert, zum aktivieren der LEDs wird MOSI auf 5V geschaltet und zum deaktivieren auf 0V.

In Abbildung 13 ist die Pinbelegung von DSUB15, als Hilfestellung bei der Verkabelung, dargestellt.

Aus Platzmangel werden die Pinleisten, nicht wie in Abbildung 12 dargestellt, auf der Oberseite der Platine bestückt, sondern auf der Unterseite und jeweils um 180° gedreht wie im Foto des Zusammenbaus (Abbildung 14) zu sehen ist (in Eagle gibt es bei einseitigen Layout keine gute Möglichkeit das zu Ändern ohne neue Bauteile zu erstellen).

alternate text

Abbildung 13: Robolaus 2 Sensor Modul DSUB15 (Quelle: Schaltplan Robolaus 2 Sensor Modul)

Laut Datenblatt befindet sich MOSI beim ATmega644 an Port B Pin 5. Somit lassen sich die LEDs folgendermaßen an- und ausschalten. Zunächst muss PB5 als Ausgang initialisiert werden:

DDRB |= (1<<DDB5); // PB5 als Ausgang initialisieren

Dann kann man die LEDs anschalten:

PORTB = (1<<PB5); // PB5 auf hight

und wieder ausschalten:

PORTB &= ~(1<<PB5); // PB5 auf low
alternate text

Abbildung 14: Foto Laustracker LED Modul Unterseite

alternate text

Abbildung 15: Robolaus 2 mit Laustracker LED Modul

Inhalt

Vorheriges Thema

Umsetzung

Nächstes Thema

Eingesetzte Programme und Bibliotheken

Diese Seite