D.R.O.L. LogoD.R.O.L.DRONE RECON OPERATION LAB
🌐 DE
Sprache / Language

Automatische Übersetzung durch Google; technische Angaben anhand der Originalquellen prüfen.

Automatic translation by Google; technical content is not professionally verified.

Menü ☰
Zum Inhalt
D.R.O.L.

Start / Entwickler-Werkstatt

LAB · INTELLIGENCE · PILOT

Wie bekommt meine Drohne künstliche Intelligenz?

Vier Wege vom vorhandenen Foto bis zur offenen Entwicklungsplattform – mit nachvollziehbaren Schnittstellen, praktischen Einstiegen und klaren Grenzen.

Einordnung: Diese Seite ist eine recherchierte technische Grundlage, keine Zusage für ein bestimmtes Modell. D.R.O.L. entwickelt und untersucht diese Wege; ein fertiges autonomes Flugprodukt oder ein eigener Testflug wird hier nicht behauptet. Quellen geprüft: 5. November 2026.
Neu in der Werkstatt: Mit vorhandener Drohne starten: DJI SDK, Bildinventar und Simulation →
Modellwissen: Profile zu Kameradrohnen, Flugcontrollern und Entwicklungsplattformen entdecken →

1. Vier Wege zur intelligenten Drohne

A · Aufnahmen nachträglich auswerten

Vorhandene Kamera → Bilddatei → PC → OpenCV oder ein KI-Modell → fachlich geprüfter Bericht. Oft der schnellste Einstieg, selbst ohne Drohnen-SDK. EXIF und Originaldateien erhalten; Bilder dürfen keine unzulässigen personenbezogenen Daten enthalten.

Grenze: Keine Reaktion während des Fluges. Eine normale RGB-Kamera misst keine Temperatur.

B · KI am Boden

Drohne → freigegebener Videostream und gegebenenfalls Telemetrie → Bodenstation → Analyse und Anzeige. Ob Bild und Positionsdaten zugänglich sind, hängt von Modell, Fernsteuerung, App und Firmware ab. Ein Smartphone-Bildschirm allein ist keine dokumentierte Videoschnittstelle.

Grenze: Funkunterbrechung, Verzögerung und Datenrate; Bildanalyse allein steuert nicht die Drohne.

C · Companion an Bord

Zusatzkamera → Raspberry Pi oder NVIDIA Jetson → lokale Erkennung → Speicherung oder Übertragung. Ein Companion benötigt Strom, passende Kamera, Kühlung, sicheren Einbau und genügend Nutzlast. Stromversorgung und Flugzeit sind vorab zu berechnen.

Grenze: Ein separat angebrachtes System hat nicht automatisch Zugriff auf die herstellereigene Kamera oder Steuerung.

D · Offenes Gesamtsystem

Sensoren → Flugcontroller mit ArduPilot oder PX4 ↔ MAVLink ↔ Companion mit MAVSDK oder ROS 2. Die Flugstabilisierung läuft auf dem Flugcontroller; die Zusatzsoftware kann Daten auswerten und – nur gezielt konfiguriert – Befehle senden.

Grenze: Kommunikationsverlust, Fehlklassifikation und ungeprüfte Befehle müssen durch Betriebs- und Sicherheitskonzept berücksichtigt werden.

Bei allen Varianten gilt: Bildauswertung, Assistenz und Eingriff in die Flugsteuerung sind unterschiedliche Entwicklungsstufen. Vor Hardwaretests zuerst ohne Propeller und in Simulation arbeiten. Eine sichere Rückfallebene muss separat geplant und getestet werden.

Quellen: ArduPilot Companion Computer · PX4 und MAVSDK · OpenCV · ONNX Runtime · OpenDroneMap

2. Softwarezugriff verstehen

Ein Flugcontroller verarbeitet Sensoren und regelt das Fluggerät. Seine Firmware ist zeitkritisch. Ein Companion Computer ist ein zusätzlicher Rechner für rechenintensive Anwendungen. Ein Bootloader startet und aktualisiert Firmware; sein Vorhandensein bedeutet keinen offenen Zugriff. Ein SDK stellt Entwicklungswerkzeuge und Funktionen bereit, eine API beschreibt nutzbare Aufrufe.

Offizielle Schnittstellen

Mit Modell, Firmware, Fernsteuerung und SDK-Version beginnen; dann die konkrete Dokumentation prüfen. Ein SDK kann Bilder, Telemetrie oder Steuerung unterstützen – jede Fähigkeit ist einzeln nachzuweisen.

Protokolle und Hardware

USB und UART sind Schnittstellen, WLAN und Bluetooth Übertragungswege, CAN ein Bussystem. MAVLink ist ein Nachrichtenprotokoll; MAVSDK eine Programmbibliothek dafür. Keiner dieser Begriffe allein beweist Unterstützung durch eine konkrete Drohne.

Forschung am eigenen Gerät beginnt mit Dokumentation, Sicherung und passiver Beobachtung im eigenen isolierten Testnetz. Spannungspegel und elektrische Trennung prüfen, bevor eine serielle Schnittstelle angeschlossen wird. Kein Eingriff in fremde Systeme und keine Abschaltung sicherheitskritischer Funktionen. Ein externer Bildworkflow kann sinnvoller sein als eine Änderung der Firmware.

Quellen: MAVLink · MAVSDK · DroneCAN · DJI Developer · Software & Updates bei D.R.O.L.

3. Protokollforschung: archivierte Referenzen

Der Schwerpunkt von D.R.O.L. liegt auf GPS-fähigen Kamera- und Entwicklungsdrohnen sowie offenen Flugplattformen. Frühere Untersuchungen einfacher WLAN-Geräte bleiben als technische Quellen erhalten.

Frühere Community-Experimente ansehen

Die folgenden Repositories sind öffentliche Forschungsarbeiten, keine von D.R.O.L. praktisch bestätigten Integrationen. Modellbezeichnungen können bei günstigen Geräten mehrere Hardwareversionen bezeichnen.

pyDroneWire · FLOW-UFO

Das Projekt beschreibt einen Python-Controller, Video und optischen Fluss für ein konkretes FLOW-UFO-Gerät. Die Aussagen stammen aus dem Projekt-README; eine Übertragbarkeit auf alle E58-Geräte ist nicht belegt. Letzter Repository-Push laut GitHub: 25.03.2026. Lizenz: im Repository-Metadatensatz keine ausgewiesen; vor Wiederverwendung separat klären. Community · experimentell

reversing-wifi-uav · LSRC-S1S

Der Autor beschreibt die Analyse der WLAN-Kommunikation und ein Python-Steuerungsbeispiel; den Videostream konnte er laut README nicht dekodieren. Letzter Repository-Push laut GitHub: 31.12.2023. Lizenz: im Repository-Metadatensatz keine ausgewiesen; vor Wiederverwendung separat klären. Community · experimentell

Ein dokumentierter Ansatz ist weder eine Produktfreigabe noch der Nachweis eines erfolgreichen Fluges mit der eigenen Hardware.

Vollständige bisherige Gerätebeschreibungen:

Experimentell · Dokumentation / Recherche

FLOW-UFO (pyDroneWire)

Hersteller / Zuordnung: Community-Forschung · Erscheinungsjahr: Unbekannt

Kamera und Daten: Projekt-README beschreibt ein konkretes WLAN-Gerät mit zwei Kameras; andere Gerätevarianten können abweichen.

Software und Firmware: Proprietäres Consumer-Gerät; das Community-Projekt beschreibt eine aus Netzwerkverkehr untersuchte Python-Steuerung.

Schnittstellen: Das Repository beschreibt Video, Bedienung und optischen Fluss für das untersuchte FLOW-UFO-Gerät. Die Aussagen sind Projektaussagen, keine Herstellerzusage.

KI-Anbindung: Als Forschungsansatz für Bildverarbeitung interessant; verwendbare Bildqualität und Verhalten müssen am eigenen Gerät geprüft werden.

Grenzen und Prüfstatus: Keine Übertragbarkeit auf alle E58- oder FLOW-UFO-Varianten behauptet. Lizenz und Entwicklungstand vor Nutzung prüfen; kein D.R.O.L.-Test.

Quellen: pyDroneWire Repository · D.R.O.L. Forschungsübersicht

Experimentell · Dokumentation / Recherche

LSRC-S1S (WiFi UAV)

Hersteller / Zuordnung: Community-Forschung · Erscheinungsjahr: Unbekannt

Kamera und Daten: Kameragerät mit WLAN-App; konkrete Ausführung und Videozugriff sind modell- und versionsabhängig.

Software und Firmware: Das Forschungsrepository analysiert Kommunikation und ein Python-Beispiel für ein untersuchtes LSRC-S1S-Gerät.

Schnittstellen: Community-Recherche zu WLAN-Protokoll und Steuerung; laut README konnte der Autor den Videostream nicht dekodieren.

KI-Anbindung: Für KI ist ein verfügbarer, dekodierbarer Bildstrom Voraussetzung. Der ist durch diese Quelle nicht nachgewiesen.

Grenzen und Prüfstatus: Keine generelle Aussage zu ähnlichen Geräten; keine eigene Hardwarevalidierung oder Lizenzfreigabe behauptet.

Quellen: reversing-wifi-uav · D.R.O.L. Forschungsübersicht

4. Werkstatt: sicher mit Simulation beginnen

Dokumentationsbasierter Einstieg · nicht selbst ausgeführt

  1. Voraussetzungen: Ein PC mit genügend Speicher, stabilem Internet und einer geeigneten Linux-Umgebung; für Windows die jeweils aktuelle herstellerspezifische Anleitung beachten.
  2. ArduPilot: Die offiziellen SITL-Installationsschritte für Betriebssystem und ausgewählten Stand ausführen. Version und Commit dokumentieren. SITL simuliert Flugsteuerung und Fahrzeug auf dem Rechner.
  3. PX4: Nach der Entwicklungsumgebung den Simulationsleitfaden des gewählten Releases verwenden. Nicht gleichzeitig unterschiedliche Versionsanleitungen mischen.
  4. Telemetrie: Erst wenn die Simulation läuft, Ground Station oder MAVSDK über den in der jeweiligen Konfiguration dokumentierten lokalen UDP-Port verbinden. Ports unterscheiden sich nach Simulator und Weiterleitung. Nur lesen, nicht scharf schalten.
  5. Erwartung: Die Bodenstation erkennt ein simuliertes Fahrzeug und zeigt Telemetrie. Bei fehlender Verbindung Simulatorausgabe, Portbelegung und Firewall prüfen.

MAVSDK Python Quickstart und Beispiele · QGroundControl · Mission Planner. Versionen und Ergebnisse bei eigener Ausführung dokumentieren.

Praxisanleitung: ArduPilot-Simulation und Telemetrie mit Python

Fortgeschritten · Dokumentation geprüft: 5. November 2026 · nicht praktisch getestet

Dieses Beispiel liest ausschließlich HEARTBEAT-Nachrichten einer lokalen Simulation. Es sendet keine Flugbefehle und benötigt keine Drohne. Es ersetzt nicht die Sicherheitsprüfung eines echten Systems.

1. Voraussetzungen und Version dokumentieren

Benötigt werden Ubuntu Linux, Python 3 mit venv und eine nach der offiziellen ArduPilot-Anleitung eingerichtete Entwicklungsumgebung einschließlich SITL und MAVProxy. Die konkreten Paket- und Systemversionen hängen vom gewählten ArduPilot-Stand ab. Im ArduPilot-Verzeichnis den Stand festhalten:

git rev-parse HEAD
python3 --version

Dieses Tutorial wurde gegen die am Prüftag verfügbaren Dokumentationen formuliert; ein bestimmter ArduPilot-Release wurde hier nicht praktisch verifiziert.

2. Copter-Simulation starten

Im ArduPilot-Verzeichnis:

cd ArduCopter
sim_vehicle.py --console --map -w

-w setzt die gespeicherten Parameter der Simulation zurück: nur beim ersten Start oder wenn ein Rücksetzen beabsichtigt ist verwenden. Beim ersten Start wird die Simulation gebaut, was mehrere Minuten dauern kann. Anschließend läuft MAVProxy in der Konsole. In dessen Eingabe prüfen:

output

Ist noch keine Ausgabe an 127.0.0.1:14553 vorhanden, diese in MAVProxy hinzufügen:

output add 127.0.0.1:14553

Nur lokale Tests verwenden und diesen Port nicht nach außen freigeben. Falls der Port bereits belegt ist, einen anderen freien Port sowohl in MAVProxy als auch im folgenden Skript eintragen.

3. Python-Umgebung einrichten

Ein zweites Terminal öffnen und in einem eigenen Arbeitsverzeichnis ausführen:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install pymavlink
python -m pip show pymavlink

Die angezeigte Version zusammen mit dem ArduPilot-Commit notieren. Anleitungen und Paketversionen können sich ändern.

4. HEARTBEAT lesen

Folgenden Code als heartbeat.py speichern und mit python heartbeat.py starten:

from pymavlink import mavutil

link = mavutil.mavlink_connection("udpin:127.0.0.1:14553")
print("Warte bis zu 15 Sekunden auf einen HEARTBEAT ...")
msg = link.recv_match(type="HEARTBEAT", blocking=True, timeout=15)
if msg is None:
    raise SystemExit("Kein HEARTBEAT: Simulation, UDP-Ausgabe und Port prüfen")
print("HEARTBEAT empfangen")
print("System:", msg.get_srcSystem(), "Komponente:", msg.get_srcComponent())
print("Autopilot-Typ:", msg.autopilot, "Status:", msg.system_status)
link.close()

Erwartetes Ergebnis: Die Konsole meldet einen empfangenen HEARTBEAT und zeigt System- und Komponenten-ID. Der konkrete Inhalt hängt vom simulierten System ab. Der Empfang belegt lediglich die Datenverbindung, keine Flugfreigabe.

5. Fehler eingrenzen

Quellen: ArduPilot SITL auf Linux · SITL und MAVProxy-Ausgaben · MAVLink: pymavlink · MAVLink: HEARTBEAT.

5. Werkstatt: ein vorhandenes Bild lokal prüfen

Beispielcode · Ausführung in dieser Veröffentlichung nicht nachgewiesen

Voraussetzungen: Python 3 und OpenCV-Python in einer virtuellen Umgebung, eine eigene Datei aufnahme.jpg. Installationshinweise und Versionen: OpenCV-Dokumentation. Die Datei bleibt lokal. Das folgende Beispiel erkennt Kanten, keine Schäden und keine Objekte.

import cv2

bild = cv2.imread("aufnahme.jpg")
if bild is None:
    raise FileNotFoundError("aufnahme.jpg nicht lesbar")
grau = cv2.cvtColor(bild, cv2.COLOR_BGR2GRAY)
kanten = cv2.Canny(grau, 100, 200)
if not cv2.imwrite("kanten.png", kanten):
    raise OSError("Ausgabe konnte nicht gespeichert werden")
print("Gespeichert: kanten.png")

Erwartung: Eine Graustufen-Kantenkarte namens kanten.png. Bei Fehlern Dateinamen und Arbeitsverzeichnis, OpenCV-Installation und Schreibrechte prüfen. Original und Metadaten bleiben separat erhalten; die Ausgabedatei übernimmt nicht automatisch GPS-Metadaten. OpenCV: Canny

6. Von hier aus weiter

Ein sinnvoller Entwicklungspfad: vorhandene Aufnahmen lokal prüfen → Datenformate und Zeitstempel dokumentieren → Telemetrie in SITL lesen → erst dann kompatible Hardware und Strombudget auswählen. Ob YOLO, TensorFlow Lite, ROS 2 oder RTAB-Map passend sind, hängt von Aufgabe, Hardware und Version ab.

Daten und Sicherheit · Drohnenkatalog · Praxisdossiers · FAQ · Lab

Vor einem tatsächlichen Einsatz gelten die jeweils aktuellen Betriebs-, Datenschutz- und Luftfahrtregeln. Informationen: EASA Drohnen · Luftfahrt-Bundesamt.

D.R.O.L. Lab · Diagnoseleitfaden

Kein MAVLink-Signal? Die Verbindung systematisch prüfen

Dieser Leitfaden gilt für eigene, autorisiert betriebene ArduPilot-/PX4-Simulationsumgebungen und offen dokumentierte Telemetrieverbindungen. Er ist keine Anleitung zum Zugriff auf fremde Fluggeräte. Die konkrete Portbelegung hängt von Simulator, Version und Konfiguration ab.

  1. Verbindungstyp feststellen: Ist der Datenweg UDP, TCP oder seriell? IP-Adresse, Port und Baudrate aus der jeweiligen Konfiguration übernehmen, nicht raten.
  2. Quelle zuerst prüfen: Läuft SITL tatsächlich und sendet es MAVLink? Konsolenausgabe und Simulatorstatus kontrollieren. Ein gestartetes Analyseprogramm allein erzeugt keine Telemetrie.
  3. Empfänger abgleichen: Bei UDP müssen Zieladresse und Empfangsport zusammenpassen. Lokaler Rechner und Container haben nicht zwangsläufig dieselbe Netzwerkadresse.
  4. Protokoll nachweisen: Zunächst nur auf eine gültige HEARTBEAT-Nachricht warten. Erst danach weitere Nachrichtentypen auswerten. Ein empfangenes UDP-Paket beweist noch kein MAVLink.
  5. Versionsstand dokumentieren: Autopilot, SITL, MAVLink-Bibliothek, Betriebssystem, Startbefehl und Portkonfiguration in einem Testprotokoll festhalten.
  6. Fehler eingrenzen: Erst Netzwerk und Firewall, dann Protokolldekodierung, anschließend Datenfelder und Einheiten prüfen. Keine Flugbefehle zur reinen Verbindungsdiagnose senden.

Minimales Prüfprotokoll

Datum · Simulator/Version · Transport (UDP/TCP/seriell) · Port · Empfang von HEARTBEAT (ja/nein) · Zeit bis zur ersten Nachricht · Fehlermeldung · Ergebnis. Status: redaktioneller Leitfaden, nicht auf der produktiven D.R.O.L.-Website praktisch getestet.

Offizielle Dokumentation: MAVLink Developer Guide · ArduPilot SITL · PX4 Simulation. Quellenstatus: offizielle Projektdokumentationen; konkrete Versionskompatibilität vor Anwendung prüfen.

Zur Lab-Übersicht · Häufige Fragen · Datenformate und Datenschutz

D.R.O.L. Lab · Praxisanleitung · Stand 07.11.2026

MAVLink-Telemetrie aus einer Simulation als CSV protokollieren

Dieses Beispiel verbindet sich mit einer eigenen ArduPilot-SITL-Instanz, wartet auf ein HEARTBEAT und schreibt ausgewählte Positionsmeldungen in eine lokale CSV-Datei. Damit entsteht eine nachvollziehbare Grundlage für Karten, Zeitreihen und spätere KI-Auswertungen. Es sendet keine Flugbefehle.

Voraussetzungen und Datenfluss

Python 3, das Paket pymavlink, eine gestartete ArduPilot-SITL-Simulation und ein ausdrücklich für diesen Empfänger konfigurierter MAVLink-UDP-Datenstrom. Datenfluss: SITL → MAVLink/UDP → Python → lokale CSV. Beispieladresse 127.0.0.1:14550 ist ein konfigurierbarer Beispielport, kein universeller SITL-Standard.

  1. SITL nach offizieller ArduPilot-Anleitung starten und einen UDP-Ausgang für den Python-Empfänger einrichten.
  2. In einer isolierten Python-Umgebung python -m pip install pymavlink ausführen.
  3. Den folgenden Code als telemetrie_csv.py speichern und den UDP-Port gegebenenfalls anpassen.
  4. Das Skript mit python telemetrie_csv.py starten; bei eingehenden GLOBAL_POSITION_INT-Nachrichten entsteht telemetrie.csv.
import csv
import time
from pymavlink import mavutil

PORT = 14550  # An den konfigurierten SITL-UDP-Ausgang anpassen
link = mavutil.mavlink_connection(f"udpin:127.0.0.1:{PORT}")

print("Warte auf HEARTBEAT (max. 30 Sekunden) ...")
if link.wait_heartbeat(timeout=30) is None:
    raise SystemExit("Kein HEARTBEAT: SITL, UDP-Ziel und Port prüfen.")

deadline = time.monotonic() + 60
count = 0
with open("telemetrie.csv", "w", newline="", encoding="utf-8") as out:
    writer = csv.writer(out)
    writer.writerow(["timestamp_utc", "lat_deg", "lon_deg", "alt_rel_m"])
    while time.monotonic() < deadline:
        msg = link.recv_match(type="GLOBAL_POSITION_INT",
                              blocking=True, timeout=2)
        if msg is None:
            continue
        writer.writerow([
            time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()),
            msg.lat / 1e7,
            msg.lon / 1e7,
            msg.relative_alt / 1000,
        ])
        count += 1
print(f"{count} Positionsmeldungen gespeichert.")

Ergebnis und Fehlerdiagnose

Die CSV enthält einen UTC-Empfangszeitpunkt sowie Breiten- und Längengrad in Grad und relative Höhe in Metern. GLOBAL_POSITION_INT ist nicht garantiert: ohne gültige Positionsdaten oder passenden Nachrichtenstrom bleibt die Datei möglicherweise bei der Kopfzeile. Die Zeitangabe stammt vom empfangenden Rechner, nicht aus der Flugcontroller-Uhr.

Bei fehlendem HEARTBEAT zuerst die MAVLink-Diagnose nutzen. Bei leerer CSV Nachrichtenrate und SITL-Positionsstatus prüfen. CSV-Dateien können sensible Geodaten enthalten; nur lokal speichern und vor Weitergabe bereinigen.

Prüfstatus: redaktionell erstelltes Beispiel; in diesem Arbeitslauf nicht gegen eine laufende SITL-Instanz ausgeführt. Keine Hardware- oder Firmware-Kompatibilität zugesichert.

Primärquellen: ArduPilot SITL · MAVLink GLOBAL_POSITION_INT · pymavlink-Grundlagen.

Datenformate · Lab-Übersicht · Drohnenkatalog