Remote-Kommunikation mit Drohne

Diese Dokumentation beschreibt die Kommunikation zwischen dem lokalen Computer und dem Raspberry Pi auf der Drohne.

1. Systemarchitektur

Das Drohensystem nutzt eine entkoppelte Architektur, bei der der lokale Computer die rechenintensive KI-Verarbeitung übernimmt. Dabei lassen sind drei Komponenten ausmachen:

Systemarchitektur Diagramm

2. Setup

Computer-Konfiguration

Raspberry Pi Konfiguration

3. Betriebsablauf (Bei jedem Flug)

Schritt 1: Strom & Netzwerk

  1. Verbinden Sie den lokalen Computer und den Raspberry Pi mit demselben Netzwerk (gleiches Subnetz).
WLAN-NAME: drohn3 
PASSWORT: geheim123
  1. Ermitteln Sie die lokale IP-Adresse des Raspberry Pi.
  2. Überprüfen Sie die Verbindung, indem Sie den Pi vom lokalen Computer aus anpingen.

Schritt 2: FPV-Brille & Video-Verbindung

  1. Verbinden Sie die Skyzone Cobra X FPV-Brille via USB mit dem lokalen Computer.
  2. Stellen Sie sicher, dass der Kamera-Feed sichtbar ist (passen Sie die Videoquelle mit dem Parameter source an für inference.py).

Schritt 3: Mission Control starten

  1. Navigieren Sie auf dem Computer zu Ihrem Arbeitsverzeichnis und führen Sie aus:
# inference mit mission control aktiviert (default)
python3 inference.py --weights yolov8n_waste.pt --source 1

# mission control kann deaktiviert werden, wenn nur inference gewünscht ist
python3 inference.py --weights yolov8n_waste.pt --source 1 --no-mission

Hinweis: Die Kommunikationsbrücke ist über die Klasse MissionController in inference.py integriert. Sie verbindet KI-Erkennungen und Tastaturbefehle mit dem Raspberry Pi. Die Datei mission_controller.py enthält Hilfsfunktionen (handle_detection, process_keypress, trigger_drone_action).

4. Bedienung & Steuerung

Manuelle Tastatur-Hotkeys

Taste Aktion/Flugmodus Beschreibung
a Arm (STABILIZE) Wechselt in STABILIZE und schaltet Motoren scharf
q Disarm Stoppt Motoren sofort (Vorsicht!)
b Brake Hält die Drohne an der aktuellen Position an
s Open Servo Löst den Abwurfmechanismus manuell aus
x Exit Schaltet den Mission Hub und die Bridge aus
j Stabilize MODE Wechselt in den manuellen Flug mit Selbstnivellierung
k Auto MODE Setzt den programmierten Missionsplan fort
l RTL MODE Rückkehr zum Startpunkt und Landung

Autonome Erkennungssequenz

Wenn die inference eine Mülldeponie erkennt, führt das Skript folgendes automatisch aus:

  1. Bremse (b): Drohne stoppt die Bewegung.

  2. Abwurf (s): Pi steuert den Servo an (Auf $\rightarrow$ 1s warten $\rightarrow$ Zu).

  3. Fortsetzen (k): Drohne wechselt zurück in den AUTO-Modus, um die Mission fortzuführen.

Die Klasse MissionController übernimmt:

5. Fehlerbehebung

6. Code-Struktur