Abbildung 1: Erstes Konzept
Stand 01.10.2020:
Unsere Konzeptidee besteht aus der Erweiterung des eMalRobs durch ein
ESP32-CAM Kamerasystem (siehe Abbildung 1 in rot). Dieser wird im ersten
Prototyp mit einer 3D gedruckten, vertellbaren Halterung am Roboter
angebracht. Da es sich dabei um
einen eigenständigen ESP32 mit Kamera Modul handelt, muss dieser mit
dem bereits vorhandenen ESP32 kommunizieren können. Dies soll mit
dem ESP-NOW Protokoll (schematisch siehe Abbildung 1 in blau)
erfolgen.
Stand 29.10.2020:
Nach vielen
Einstiegsexperimenten und Beispiel-Code mit dem ESP32-CAM Modul sind
wir bei folgendem Zwischenstand:
-Zuerst wird das
aufgenommene Bild in ein 320x240 Pixel-Array geschrieben. Dabei wird
nur der Grauwert des jeweiligen Pixels gespeichert. Es ergibt sich
demnach ein Bild mit Helligkeitsinformationen (Grauwerte) im Bereich von 0
(Schwarz) bis 255 (Weiß).
-Da bei uns eine Auswertung des
kompletten 320x240 Bildes zu viel Rechenzeit in Anspruch nehmen würde,
bilden wir aus 10x10 Pixeln den durchschnittlichen Grauwert. Dieses
neue Bild wird in ein neues Array mit der größe 32x24 geschrieben.
Das Array lassen wir zur Überprüfung im Seriellen Monitor ausgeben
und mithilfe einer Exceltabelle das Bild anzeigen:
Abbildung 2: Aufnahme mit guter
Beleuchtung
Zu sehen sind zwei Linien, die linke ist
dabei ca. 5mm breit, die rechte ca. 1mm. Beide wurden mit einem
Edding auf ein weißes Blatt
Papier gezeichnet. Das Kameramodul ist dabei ca. 50mm über dem Blatt
mit einem 45° Winkel positioniert. Zusätzlich wurde das Blatt mit
einer Schreibtischlampe beleuchtet.
-Unser gesetztes Ziel
ist es nun, mit diesen Informationen einen Vektor mit dazugehörigem
Winkel zu bilden:
Abbildung 3: Angestrebte Auswertung
Dazu wird
die erste und letzte Zeile des Arrays ausgewertet: Eine Funktion
liefert nun die Stelle des dunkelsten Pixel. Visuelle Darstellung:
Abbildung 4: Auszuwertente Zeilen
Dunkelste
Stelle, Zeile 1: 15 Dunkelste Stelle, Zeile 24: 4 Weitere Tests
mit anderen bzw. finalen Leuchtmitteln werden folgen.
Stand 05.11.2020
Es wurde eine
verstellbare Halterung gedruckt:
Abbildung 5: 3D-Druck
Besonderheit an dieser Konstruktion: Die Verstellung ist
formschlüssig bzw. reibschlüssig durch Hirth-Verzahnung.
Zusätzlich konnten wir unseren Testaufbau mit einem LED-RGB-Ring als
Leuchtmittel erweitern:
Abbildung 6: Versuchsaufbau
Durch
die neuen Gegebenheiten haben sich andere Problematiken
herauskristallisiert:
Es treten dunkle Stellen an den weiterentfernten Ecken auf:
Abbildung 7: Aufnahme mit Ringlicht
Mögliche Ursachen: -Zu schwache Lichtquelle (unwahrscheinlich,
da auch mit einer 8x8 LED Matrix getestet wurde) -Dreckiger/verkratzter/fehlerhafter Bildsensor
bzw. Objektiv
Die in
Abbildung 7
verwendete schwarze Linie wurde mit dem für den Roboter vorgesehenen
Boardmarker XL (2-2,5mm) auf einem weißen Blatt gezeichnet.
Durch diese Situation, kann unser Linienerkennungs-Algorithmus nicht
zufriedenstellend arbeiten, da die unteren Ecken niedrigerere
Grauwerte (ca. 30-45) als die Linie (ca. 50) haben.
Informationstechnik Labor WiSe2020/2021 |