OpenCV Kurs

Robocup Junior Rescue Line mit OpenCV

OpenCV ist eine Bibliothek mit Algortihmen für die Bildverarbeitung. Mit diesem Werkzeugkasten können Strukturen in Bildern oder Videos (bestehend aus Einzelbildern oder Frames) erkannt und ausgewertet werden. OpenCV ist in C++ implementiert, bietet aber für verschiedene
Sprachen eine API (Application Programming Interface), eine Art Adapter zwischen den Programmiersprachen. Wir verwenden die Python API, da diese am einfachsten zu benutzen ist.

Für Rescue Line filmen wir mit einer kleinen Kamera (PiCam) von oben den Parcours direkt vor dem Roboter. Das Video wird dann auf einem Raspberry Pi von einem Python Skript ausgewertet und Motoren angesteuert. Dafür haben wir auch einen einfachen Simulator entwickelt.

Abbildung 1 - PiCam angeschlossen an einen Raspberry Pi

Um das OpenCV-Skript durcharbeiten zu können, musst du die Programmiersprache Python grundlegend beherrschen. Ganz wichtig sind (mehrdimensionale) Arrays, da in ihnen die einzelnen Bild-Pixel abgespeichert werden.


Simulationsumgebung installieren

Die Simulationsumgebung selbst ist auch in Python implementiert. Zur Programmierung kannst du jeden Text-Editor verwenden. Die Simulation wird dann von der Kommandozeile aus gestartet. Das Tutorial geht allerdings davon aus, dass du Visual Studio Code verwendest.

Lade dir folgende ZIP-Datei herunter herunter: (Download sollte automatisch starten)
https://www.dropbox.com/sh/b7cfgcxdhro6mum/AABq9SAt0GfN05sn2jzKSUjPa?dl=1

Entpacke die ZIP-Datei.

Eine kurze Übersicht über die Entwicklungsumgebung Visual Studio Code findest du unter
Anleitungen\Anleitung VSCode Python 1.2

Insbesondere wichtig ist die Installationsanleitung in Kapitel 2 und 3. Es ist wichtig, dass Python 3.7.0 oder 3.7.2 verwendet wird wie in der Anleitung beschrieben. Die richtige Python-Version findest du unter
Software Windows\Python

Alle weiteren Kapitel sind eher informativ oder behandeln Konfiguration, die du nur benötigst, wenn du einen echten Raspberry Pi verwenden willst.

Öffne "Anleitungen\Anleitung VSCode Python 1.2" und arbeite Kapitel 1, 2, 3 (ohne 3.1 und 3.2), 6 und 7 durch.

Das Tutorial findest du unter
Anleitungen\Anleitung Linienfolgen mit OpenCV 1.1.pdf

Das Simulations-Skript, die Beispielprogramme und Lösungsvorschläge für die Aufgaben befinden sich im Ordner
Workspaces\camera_simulator

Öffne Visual Sudio Code. Öffne einen Programmcode-Ordner mit "Datei" > "Ordner öffnen..." und wähle den Ordner "camera_simulator". Falls noch nicht geschehen, öffne links den Datei-Explorer und klicke auf "opencv_hello_world.py". Rechtsklicke, um das Kontextmenü zu öffnen und wähle "Python Datei im Terminal ausführen". Die Kommandozeile öffnet sich unten im Fenster. Wenn alles gut läuft, zeigt dir das Skript die momentan installierte OpenCV-Version:

3.4.3
Räume auf...

Wenn das funktioniert, hast du Python und OpenCV richtig installiert:
Abbildung 2 - Installation testen

Starte nun das Skript "test.py". Es öffnen sich 2 Fenster: Eine Minimap des Parcours und das Sichtfeld der Kamera. Eingezeichnet sind Areale, in denen die Linie erkannt wird.

  • Pausiere die Simulation mit der Taste P
  • Versetze den Roboter mit den Tasten W, A, S, D, Q, E.
  • Beende die Simulation mit der Taste K.
Abbildung 3 - Beispiel-Linienfolgen Programm



Tutorial

Arbeite das Skript
Anleitungen\Anleitung Linienfolgen mit OpenCV 1.1.pdf
durch.

Kommentare

Beliebte Posts aus diesem Blog

Tinkercad Übung 6 - LED mit Taster ansteuern

Tinkercad Übung 11 - LED dimmen

Tinkercad Übung 15 - Ultraschallsensor auslesen