Prof. J. Walter - Informationstechnik, Mikrocomputertechnik, Digitale Medien Ausgewählte Lösung
Hochschule Karlsruhe Logo Informationstechnik
Teilprojekt: Linienverfolger inkl. "Linie"
WiSe 2020/2021
mafa1024@hs-karlsruhe.de
wech1030@hs-karlsruhe.de

Ausgewählte Lösung

Stand 11.11.2020

Um mögliche störende Anfangsbedingungen eliminieren zu können, haben wir den Versuchsaufbau wie in Abbildung 1 neu angeordnet. Zusätzlich wurde die Linie mithilfe eines Tablets mit gleichbleibenden Vorraussetzungen realisiert:


Abbildung 1: Neuer Versuchsaufbau

Des Weiteren haben wir, um möglich passende Kameraeinstellungen zu finden, das Beispielprogramm der IDE für einen CameraWebServer verwendet, da dort die Kameraeinstellungen in Realtime durch ein Livebild evaluiert werden können. Dabei fiel auf, dass eine Auflösung von 640x480 Pixeln und die manuellen Kameraeinstellungen eine deutliche verbesserung der Aufnahme liefern:


Abbildung 2: Grauwertbild als Oberflächendiagramm, geringe Auflösung


Abbildung 3: Grauwertbild als Oberflächendiagramm, höhere Auflösung


Abbildung 2 zeigt, dass die Ecken ähnlich tiefe Werte wie die Linie annehmen, wobei durch die angepassten Einstellungen in Abbildung 3 deutliche Verbesserungen erreicht werden. Der geringe Ausschlag des Graphen an der Ecke entsteht aufgrund der Optik der Kamera.

Daraus haben wir uns für folgenden Ablauf des Programms entschieden:

-Ein 640x480 Bild (Frame) wird aus dem Framebuffer entommen und zwischengespeichert.
-Bei 10x10 Pixeln werden in einem neuen Pixel durch den Mittelwert zusammengefasst, es entsteht ein neues Frame mit der Größe von 64x48 Pixeln.
-Es findet eine Filterung des Bildes mit anschließender Auswertung der ersten und letzten Zeile des Bildes statt, um mit diesen zwei Zeilen ein Vektor mit Winkel zu erzeugen.
-Der Winkel und Vektor werden in Variablen geschrieben und ausgegeben.


Hinweise zur Filterung:

Um eine Flankenerkennung mittels Grauwerten an einem digitalen Bild durchzuführen sind drei Schritte notwendig: 
 
1. Glättung der Eingangswerte. 

2. Ein Filter, der die gewünschten Effekte verstärkt. 

3. Eine Auswertung mittels Schwellenwert. 

In unserem Fall haben wir uns für einen geleitenden Mittelwert als Glättung entschieden. 
Hierbei werden unerwünschte Spitzen, die durch Verschmutzung oder sonstige Fehler entstehen, abgedämpft wie in Abb.4 zu erkennen.  

Als Filterschaltung haben wir uns für eine numerische Differentiation (Ableitung 1. Ordnung) entschieden, um Kanten die einer steigenden Funktion entsprechen noch deutlicher auswerten zu können. Ein Vorteil, der dabei entsteht, ist dabei, dass die Steigende Kante das Maximum der Werte bildet und die Fallende einen negativen Wert ausgibt und somit das Minimum ist. Dies erleichtert die Auswertung erheblich. 

Eine Ableitung der 2. Ordnung ist auch auf dem Bild zu sehen. Hier wäre es möglich die Nullstellen in der Grafik auszuwerten. Jedoch war das Ergebnis der 1. Ableitung ausreichend und so konnte Rechenzeit eingespart werden.  

Abbildung 4

 


Informationstechnik Labor WiSe2020/2021

  Mit Unterstützung von Prof. J. Walter WiSe 2020 / 2021