e72ba2989e80ee8c919f5987116f68831fbd262c
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.
- Sport-Modus: Aggressives 3-Achsen-Tracking für schnelle Verfolgungsjagden.
- Visual Fingerprinting (ReID): Erkennt fixierte Personen wieder, auch wenn sie das Bild kurz verlassen.
- Multithreading: Flüssiges Kamerabild durch Trennung von Video-Stream und KI-Logik.
- Simulator inklusive: Eine integrierte Ursina-Umgebung zum gefahrlosen Testen.
🛠 Installation
- Python-Umgebung: Empfohlen wird Python 3.10 bis 3.12.
- Abhängigkeiten installieren:
pip install -r requirements.txt - Modelle prüfen: Stelle sicher, dass im Ordner
models/folgende Dateien liegen:face_detection_yunet.onnxmidas_small.onnxreid_mobilenet.onnx
🚀 Starten der Drohne
A) Im Simulator (Standard)
- Öffne die Datei
run.py. - Stelle sicher, dass
use_real_tello=Falseeingestellt ist. - Starte das Programm:
python run.py - Das Simulator-Fenster und das KI-Pilot-Fenster öffnen sich automatisch.
B) Mit der echten DJI Tello
- Schalte deine Tello ein und verbinde deinen PC mit dem WLAN der Drohne (z.B.
TELLO-XXXXXX). - Öffne die Datei
run.pyund ändere die Zeile zu:app = FaceTrackingApp(use_real_tello=True) - Starte das Programm:
python run.py
🕹 Bedienung im Flug
Sobald das Video-Fenster erscheint:
- Klicke mit der Maus in das Fenster, um den Fokus zu aktivieren.
- Drücke 'T' zum Starten (Takeoff).
- Tracking aktivieren: Klicke mit der Maus auf ein erkanntes Gesicht/Person oder drücke 'K', um den nächsten erkannten Kopf zu fixieren (Lock-ON).
Wichtige Tasten:
| Taste | Aktion |
|---|---|
| T | Takeoff (Abheben) |
| L | Land (Landen) |
| 2 | Sport-Modus (An/Aus) - Schnelleres Tracking auf allen Achsen |
| M | Manueller Modus (KI stoppt die Steuerung) |
| Space | Not-Aus (Motoren sofort aus) |
| W/S/A/D | Vorwärts, Rückwärts, Links, Rechts (Manuell) |
| R/F | Steigen / Sinken (Manuell) |
| E/Z | Drehen Links / Rechts (Manuell) |
| Enter | Programm sicher beenden |
🏗 Architektur & Performance
- AI-Worker Thread: Verarbeitet alle Modelle parallel zum Haupt-Thread.
- Rate Limiting: RC-Befehle werden mit 10Hz gesendet, um das SDK-Protokoll nicht zu überlasten.
- ONNX Acceleration: Nutzt CPU-Optimierungen, die bis zu 5x schneller als Standard-PyTorch sind.
Viel Spaß beim Fliegen! Achte bei der echten Drohne immer auf genügend Platz und einen vollen Akku (>15%).
Description
Languages
Python
90.4%
Shell
9.4%
Dockerfile
0.2%