FxxTrack als kamerabasierte Wendeerkennung ist wohl allen ambitionierten Modellpiloten der Wettbewerbsklassen Fxx bekannt. Es wurde in rcgroups ausführlich diskutiert, hat einen ordentlichen Entwicklungsstand, ist aber mit Version 1.12 auf dem Stand 2010 eingefroren; Sourcen und .exe (für Windows) sind auf GitHub noch verfügbar. Die damaligen Entwicker zeigen nach Recherchen von JAyThaRevo kein Interesse mehr an dem Programm. Schade eigentlich, denn man könnte noch so einiges verbessern.
Ich denke da vor allem an
- Die Verwendung eines preiswerten embedded Rechners anstelle eines Laptops
- Eine Geschwindigkeitsoptimierung des Meldeausgabe über ein binäres Signal anstelle der wohlklingenden aber langsamen wave-Dateien
- Dauerhafte Speicherung der eingestellten Parameter
- Abschalten der Auto-Fokus-Funktion der angeschlossenen WebCam
- Lange Betriebszeit (>6h) mit alten, ausgemusterten LoPos
- Real-time Video der Wenden am Ort des Piloten, z.B. auf dessen Handy
Da niemand so richtig daran gehen wollte, bin ich in den selbst aktiv geworden. Die Sourcen von FxxTrack sind leider inkonsistent und damit nicht mehr compilierbar; insbesondere sind ausgerechnet die komplizierten Klassen der Object tracking and tracing betroffen. Also selber neu machen, jetzt aber auf Basis mächtiger Video-Bibliotheken (openCV), um es mir selbst und allen anderen, die hiermit herzlich eingeladen sind, deutlich leichter zu machen. Es wird auch kein spezieller Compiler verwendet, sondern Python 2.7, eine objektorientierte Programmiersprache mit dem aha-Erlebnis wie in Basic. Das kann auf Windows und auf Linux installiert werden; ich habe beides getestet. Wer sich also ein wenig mit Programmierung und Fxx-Wettbewerben auskennt, sollte sich an der Optimierung des im Folgenden beschriebenen Programms beteiligen, die Sourcen sind für jedermann verfügbar.
Basierend auf den o.g. Verbesserungsvorschlägen ist das Programm FCD mit der aktuellen Version 2.0.4 entstanden. FCD steht dabei für Fxx Crossing Detector, gemeint ist ein kamerabasiertes System. Die Objekterkennungsleistung ist gut vergleichbar mit FxxTrack, die genannten Limitierungen sind beseitigt. Die Features sind
- Kleinrechner Odroid-XP4 mit 8-Core Samsung processor (2,3 x schneller als ein 1GHz getakteter Raspberry) mit Ubuntu Linux Betriebssystem
- Nur etwa 10W Leistungsaufnahme
- DC/DC-Wandler (BEC) stellt die Leistung aus alten 3S-8S Lipos bereit
- Binäres Ausganssignal für Crossing-Meldung
- Programmierte Fokus-Einstellung der WebCam
- Als Bildschirmersatz kann das eigene Handy (Apple-OS, Android) verwendet werden um das System einzurichten, Parameter einzustellen, als Piepser zu fungieren oder auch live Videos von den Wenden anzusehen
Die diversen Programmteile werden auf bis zu 6 der 8 Prozessorkerne verteilt, um die max. Framerate der WebCam von 30fps voll auszunutzen. Wird Video aktiviert, sind noch 27fps zu schaffen bei gleichzeitiger Ausgabe der MPEG Videos am Handy. Um den Zugriff von nahezu jedem Handy zu ermöglichen, wird keine App sondern der Web-Browser verwendet; sieht aus wie eine App, ist aber keine. Hier ein paar Bilder (Ansicht auf Apple-Handy (nicht mehr ganz aktuell), Musteraufbau mit Richtantenne für 200m LOS-Übertragung zum Pilotenstandort und dann noch Prototyp-Aufbau als Kompaktversion mit nur 15m Handy-Reichweite aber dafür mit eingebautem universellem Piepser, der schon in einem früheren Thread vorgestellt wurde):
schon in einem früheren Thread vorgestellt wurde):
(keine Ahnung, wie man die Bilder in eine vernünftige Größe bekommt, sorry)
Wenn ich also bei dem Einen oder Anderen ein wenig Interesse für die weitere Optimierung wecken konnte, bitte melden, es kann nur besser werden! Wer eine komplettere Beschreibung wünscht (ist in Englisch verfasst) oder gleich in die Sourcen schauen möchte, sollte sich bitte bei mir melden; ich werde alles zur Verfügung stellen (als Anhänge zu groß, um von rc-network akzeptiert zu werden).
Wer richtig einsteigen will und sich einen Odroid-XU4 anschafft, dem kann ich mit einem Image auf SD-Karte den Einstieg kräftig beschleunigen, will sagen, man kann sofort loslegen. Im Ausnahmefall könnte ich auch mal ein Komplettsystem betriebsfertig aufbauen, nur werden meine Flugkünste darunter noch mehr leiden ;-).
Der aktuelle Stand ist das Ergebnis von 1,5 Jahren mehr oder weniger intensiver Beschäftigung mit dem Thema; derzeit sind etwa 7 Systeme im Einsatz mit sehr ähnlichen Rückmeldungen.
Ich hoffe, wir können mal wieder eine Diskussion zum Thema starten; auch wer eine Neuauflage völlig unsinnig empfindet ist herzlich eingeladen seine Meinung zu vertreten.
lg
Jürgen
Ich denke da vor allem an
- Die Verwendung eines preiswerten embedded Rechners anstelle eines Laptops
- Eine Geschwindigkeitsoptimierung des Meldeausgabe über ein binäres Signal anstelle der wohlklingenden aber langsamen wave-Dateien
- Dauerhafte Speicherung der eingestellten Parameter
- Abschalten der Auto-Fokus-Funktion der angeschlossenen WebCam
- Lange Betriebszeit (>6h) mit alten, ausgemusterten LoPos
- Real-time Video der Wenden am Ort des Piloten, z.B. auf dessen Handy
Da niemand so richtig daran gehen wollte, bin ich in den selbst aktiv geworden. Die Sourcen von FxxTrack sind leider inkonsistent und damit nicht mehr compilierbar; insbesondere sind ausgerechnet die komplizierten Klassen der Object tracking and tracing betroffen. Also selber neu machen, jetzt aber auf Basis mächtiger Video-Bibliotheken (openCV), um es mir selbst und allen anderen, die hiermit herzlich eingeladen sind, deutlich leichter zu machen. Es wird auch kein spezieller Compiler verwendet, sondern Python 2.7, eine objektorientierte Programmiersprache mit dem aha-Erlebnis wie in Basic. Das kann auf Windows und auf Linux installiert werden; ich habe beides getestet. Wer sich also ein wenig mit Programmierung und Fxx-Wettbewerben auskennt, sollte sich an der Optimierung des im Folgenden beschriebenen Programms beteiligen, die Sourcen sind für jedermann verfügbar.
Basierend auf den o.g. Verbesserungsvorschlägen ist das Programm FCD mit der aktuellen Version 2.0.4 entstanden. FCD steht dabei für Fxx Crossing Detector, gemeint ist ein kamerabasiertes System. Die Objekterkennungsleistung ist gut vergleichbar mit FxxTrack, die genannten Limitierungen sind beseitigt. Die Features sind
- Kleinrechner Odroid-XP4 mit 8-Core Samsung processor (2,3 x schneller als ein 1GHz getakteter Raspberry) mit Ubuntu Linux Betriebssystem
- Nur etwa 10W Leistungsaufnahme
- DC/DC-Wandler (BEC) stellt die Leistung aus alten 3S-8S Lipos bereit
- Binäres Ausganssignal für Crossing-Meldung
- Programmierte Fokus-Einstellung der WebCam
- Als Bildschirmersatz kann das eigene Handy (Apple-OS, Android) verwendet werden um das System einzurichten, Parameter einzustellen, als Piepser zu fungieren oder auch live Videos von den Wenden anzusehen
Die diversen Programmteile werden auf bis zu 6 der 8 Prozessorkerne verteilt, um die max. Framerate der WebCam von 30fps voll auszunutzen. Wird Video aktiviert, sind noch 27fps zu schaffen bei gleichzeitiger Ausgabe der MPEG Videos am Handy. Um den Zugriff von nahezu jedem Handy zu ermöglichen, wird keine App sondern der Web-Browser verwendet; sieht aus wie eine App, ist aber keine. Hier ein paar Bilder (Ansicht auf Apple-Handy (nicht mehr ganz aktuell), Musteraufbau mit Richtantenne für 200m LOS-Übertragung zum Pilotenstandort und dann noch Prototyp-Aufbau als Kompaktversion mit nur 15m Handy-Reichweite aber dafür mit eingebautem universellem Piepser, der schon in einem früheren Thread vorgestellt wurde):
schon in einem früheren Thread vorgestellt wurde):
(keine Ahnung, wie man die Bilder in eine vernünftige Größe bekommt, sorry)
Wenn ich also bei dem Einen oder Anderen ein wenig Interesse für die weitere Optimierung wecken konnte, bitte melden, es kann nur besser werden! Wer eine komplettere Beschreibung wünscht (ist in Englisch verfasst) oder gleich in die Sourcen schauen möchte, sollte sich bitte bei mir melden; ich werde alles zur Verfügung stellen (als Anhänge zu groß, um von rc-network akzeptiert zu werden).
Wer richtig einsteigen will und sich einen Odroid-XU4 anschafft, dem kann ich mit einem Image auf SD-Karte den Einstieg kräftig beschleunigen, will sagen, man kann sofort loslegen. Im Ausnahmefall könnte ich auch mal ein Komplettsystem betriebsfertig aufbauen, nur werden meine Flugkünste darunter noch mehr leiden ;-).
Der aktuelle Stand ist das Ergebnis von 1,5 Jahren mehr oder weniger intensiver Beschäftigung mit dem Thema; derzeit sind etwa 7 Systeme im Einsatz mit sehr ähnlichen Rückmeldungen.
Ich hoffe, wir können mal wieder eine Diskussion zum Thema starten; auch wer eine Neuauflage völlig unsinnig empfindet ist herzlich eingeladen seine Meinung zu vertreten.
lg
Jürgen