Prof. J. Walter - Informationstechnik, Mikrocomputertechnik, Digitale Medien Softwaredoku
Projektarbeit
Autonome Drohne
Sommersemester 2021
Christian Heinzmann
Pascal Glaser & Christian Kuttler

Software Dokumentation

Für das Projekt sind 3 unterschiedliche Softwares notwendig:
1. Die Software für die Kommunkation mit der Stereokamera
2. Die Software des Arduinos der das PPM-Signal des Empfängers abfängt und verändert
3. Die Software des ESP32 der ein Webserver eröffnet für die Steuerung der Drohne

1.Stereo Kamera
Das von uns gewählte Kamera-System besitzt eine sehr ausführliche Dokumentation und stellte bereits Treiberpackete zur Einbindung in Ross bereit. Somit kann alles über Ross eingestellt werden und es müssen nur wenige Konfigurationen an der Kamera und an der Treibern vorgenommen werden. Deshalb haben wir uns darauf geeinigt, dass Mapping mit Hilfe von Ross zu machen. Für die Bildverarbeitung bzw. das Mapping wird das Ross Paket "rtabmap_ros" verwendet, dies generiert aus den Kamerabildern die Odometry. Über diese kann dann die relative Bestimmung im Raum erfolgenden und somit kann auch eine absolute Bestimmung im Raum durch Berechnungen durchgeführt werden. Diese Bilder können zusammengefasst werden, um somit ein großes Model des Raums zu erstellen.

Abbildung 1: Ablaufplan Ross Stero-Kamera

2. Arduino Nano
Der Flugcontroller erwartet ein PPM-Signal des Empfängers zur Steuerung der Drohne. Dieses PPM-Signal wird von dem Arduino abgefangen und nach bedarf verändert. Wie im Bild darunter zu sehen ist, kann man aus einem PPM-Signal die einzelnen Werte der Kanäle ablesen.

How to read RC radio signals with Arduino using PPM signal - Mis Circuitos
Abbildung 2: Aufteilung eines PPM-Signals in Kanäle (Bildquelle: Quelle)

Diese einzelnen Kanäle liest der Arduino aus und speichert sich deren Werte ab, und sendet diese je nach bedarf an der Flugcontroller weiter.



Abbildung 3: Ablaufplan Arduino


3. ESP32
Der ESP32 verbindet sich mit einem vorhandenen Wlan, anschließend ist der Webserver des ESP32 über seine IP Adresse im Browser zu erreichen. Wie unten im Bild zu sehen, erhält man in der Webansicht, das übertragene Kamerabild, sowie 2 Joysticks zur Steuerung der Drohne.


Abbildung 4: Webansicht der Drohnensteuerung

Eingaben die über das Joystick zur Drohne kommen werden dort vom ESP32 an den Arduino per I²C übertragen, der Arduino leitet das Signal anschließend an den Flugcontroller weiter


  Mit Unterstützung von Prof. J. Walter Sommersemester 2021