Projekte

Wir starten mit Projekten im Bereich des autonomen Fahrens. Dabei werden Fahrzeugmodelle verwendet, wie entsprechende Sensorik zur Wahrnehmung ihrer Umwelt enthalten. Durch entsprechende Aktoren, wie beispielsweise (Servo-)motoren, können diese Fahrzeuge gesteuert werden. Neben dem Verständnis wie die Sensoren & Aktoren funktionieren wird Wissen aufgebaut, indem die Sensordaten mittels Computer Vision (CV) & KI Algorithmen ausgewertet und entsprechende Steuerbefehle abgeleitet werden.

Unser erstes Projekt ist das PiCar V1, anhand dessen autonome Fahrfunktionen umgesetzt werden sollen.

PiCar V1

Das PiCar V1 ist das erste Projekt, das im Rahmen des Labors für Intelligente Systeme umgesetzt wird.

Hardware

Das PiCar V1 basiert auf dem Bausatz "PiCar X" von Sunfounder. In diesem Bausatz ist das Fahrgestell, Ultraschall-, Linienerkennungs- und Kamerasensor sowie Motoren und Servos enthalten. Als Recheneinheit wird bei uns ein Raspberry Pi eingesetzt.

Antrieb

Das Fahrzeug wird von zwei Motoren über die beiden Hinterräder angetrieben. Bei den Motoren kann die Geschwindigekeit sowie die Richtung gesteuert werden.
Zur Lenkung werden die zwei Vorderräder durch einen Servomotor bewegt. Auch die Kamera kann auf einem Kameraturm horziontal & vertikal bewegt werden, dazu werden zwei weitere Servomotoren verwendet.

Wahrnehmung

Zur Wahrnehmung seiner Umwelt kann das Fahrzeug folgende Sensoren einsetzen:

  • Ultraschallsensor: Dieser ist fix vorne am Fahrzeug angebracht. Weitere Informationen
  • Linienerkennungssensor: Das Graustufenmodul zur Linienerkennung besteht drei TCRT5000 Sensoren, die jeweils eine Infrarot LED zur Beleuchtung und einen Fototransistoren zur Detektion des reflektierten Lichts nutzen. Diese sind nebeneinander fest vorn unter dem Ultraschallsensor angebracht. Die drei Sensoren geben analoge Werte aus. Weitere Informationen
  • Kamera: Als Kamera wird ein Raspberry Pi Camera Module v1 verwendet. Dieses nutzt einen OmniVision OV5647 Sensor mit einer Auflösung von 5 Megapixel. Die Kamera ist an einem Kameraturm angebracht, der durch zwei Servos horziontal und vertikal bewegt werden kann. Weitere Informationen

Hardwareliste

  • Recheneinheit: Raspberry Pi V5 (8GB)
  • Erweiterungsboard zur Motorensteuerung usw: Sunfounder Robot Hat [Weitere Informationen]
  • Chassis: Sunfounder PiCar X
  • Motoren: 2x TT Motoren
  • Lenkung: Servomotor
  • Sensor - Ultraschall: HC-SR04
  • Sensor - Linienerkennung: Graustufenmodul mit 3x TCRT5000 Sensoren (Analog)
  • Sensor - Kamera: Raspberry Pi Camera Module v1
  • Sonstiges: 2x Servo für horizontale & vertikale Bewegung des Kameraturms

Warum dieses Fahrzeug?

Für unser erstes Fahrzeug hatten wir die folgenden Anforderung:

  • Einfacher & schneller Aufbau: Es sollte kein eigenes Chasis entworfen / 3D gedruckt werden o. Ä., in der ersten Runde ging es uns hauptsächlich darum, Erfahrungen zu sammeln.
  • Programmierung in Python: Für die KI-Entwicklung haben wir uns auf Python festgelegt, da hier viele ausgereifte Frameworks und Bibliotheken im Bereich Computer Vison und Machine Learning existieren. Da unsere Schülerinnen und Schüler im Normalfall keinerlei Programmiervorerfahrung haben wollen wir keine zwei unterschiedlichen Programmiersprachen einsetzen.
  • Kamera & Ultraschallsensoren: Das erste Fahrzeug sollte für KI & Computer Vision (CV) Aufgaben eine Kamera enthalten. Zudem sollte ein Ultraschallsensor für einfachere Aufgaben ohne KI enthalten sein.
  • Stabile / schnelle WLAN-Verbindung: Eine stabile & schnelle WLAN Verbindung ist notwenig, damit wir Bilddaten schnell an einen Server übertragen können und dort komplexere KI Anwendungen ausführen lassen & ermittelte Steuerbefehle zurücksenden.

Durch die Raspberry Pi Basis können wir Funktionen direkt auf dem Fahrzeug testen. Es ist stark genug um einfache Computer Vision Aufgaben direkt auf dem Rechner umzusetzen. Ausserdem kann eine Kamera direkt angeschlossen werden und es ist kein Umweg über ein ESP32 o.Ä. notwendig. Ebenso ist ein WLAN-Modul verbaut, durch das eine direkte Kommunikation mit einem Server stattfinden kann. Das war ebenfalls eine Anforderung um komplexere KI-Methoden zu ermöglichen. Das verwendete KIT war einer der wenige, auf dem Markt erhältlichen, Bausätze, die ein Raspberry Pi als Basis verwenden.

Alternativ hätte man auch ein Fahrzeug auf Arduino Basis mit einem ESP32 Kameramodul sowie WLAN-Modul einsetzen können. Dort hätten wir aber kaum CV Aufgaben auf der Plattform umsetzen können. Allerdings gibt es hier keine ganz so einfache Möglichkeit auf der Plattform in Python zu programmieren. Man könnte allerdings auf dem Fahrzeug selbst nur reine Grundfunktionen umsetzen und alles weitere per WLAN auf einem externen Rechner laufen lassen.