f5d344cf755d28b1aad485aac0fd5450b7b6a9cc
Tello AI Pilot (Extreme Performance Edition)
Dieses Projekt ist eine hochoptimierte KI-Steuerung für die DJI Tello Drohne (und den integrierten Simulator). Es nutzt modernste Computer-Vision-Modelle via ONNX Runtime, um Personen zu verfolgen, Hindernissen auszuweichen und Ziele intelligent wiederzuerkennen.
🚀 Hauptmerkmale
- Hybrid AI Engine: Nutzt YuNet (Face Detection), MiDaS (Depth Estimation) und MobileNetV3 (ReID) – alle via ONNX Runtime für maximale FPS.
- Multithreading: Kamera-Stream und KI-Verarbeitung laufen in getrennten Threads. Das Videobild bleibt flüssig, egal wie schwer die KI arbeitet.
- Visual Fingerprinting (ReID): Die Drohne erstellt einen digitalen Fingerabdruck einer fixierten Person und findet sie automatisch wieder, wenn sie kurz aus dem Bild verschwindet.
- Intelligente Verfolgung: Aktive Suche in Verschwindungsrichtung und aggressiver Verfolgungsmodus.
- Echtzeit-HUD: Professionelles Display mit Telemetrie, AI-Tiefenkarte und Radar-Zonen zur Hindernisvermeidung.
- Rate Limiting: Kontrollierter Datenfluss (10Hz) zum Tello-SDK für maximale Verbindungsstabilität.
🕹 Steuerung
Klicke mit der Maus direkt in das Videobild, um eine Person zu fixieren (Lock-ON).
Tastatur-Belegung:
| Taste | Aktion |
|---|---|
| T | Takeoff (Starten) - Einmal drücken und kurz warten |
| L | Land (Landen) |
| M | Wechsel zwischen Manuell und KI-Modus |
| K | Lock-ON Trigger aktivieren / Fixierung löschen |
| Space | Not-Aus (Stoppt alle Motoren sofort) |
| W/S | Vorwärts / Rückwärts (Manuell) |
| A/D | Links / Rechts (Manuell) |
| R/F | Steigen / Sinken (Manuell) |
| E/Z | Drehen Links / Rechts (Manuell) |
| 1 | Automatisches Drehen (Scan-Modus) an/aus |
| Enter | Programm beenden |
🏗 Architektur
drone_pilot/main.py: Das Herzstück. Verwaltet Threads, UI-Events und die Hauptschleife.drone_pilot/vision.py: Die KI-Engine. Lädt ONNX-Modelle und verarbeitet Bilddaten.drone_pilot/flight.py: Der Flug-Controller. Berechnet RC-Vektoren basierend auf KI-Ergebnissen.drone_pilot/ui.py: HUD-Renderer für das OpenCV-Fenster.drone_pilot/config.py: Zentrale Konfiguration für Geschwindigkeiten und Schwellenwerte.
🛠 Installation & Start
- Installiere die Abhängigkeiten:
pip install -r requirements.txt - Stelle sicher, dass die Modelle im Ordner
models/liegen. - Starte das Programm:
- Simulator:
python run.py(Default:use_real_tello=False) - Reale Drohne: Ändere in
run.pyzuuse_real_tello=True
- Simulator:
Hinweis: Beim Fliegen mit der realen Drohne immer auf einen Akkustand > 15% achten, da der Startbefehl sonst vom SDK abgelehnt wird.
Description
Languages
Python
90.4%
Shell
9.4%
Dockerfile
0.2%