Ich hab da nicht viel Plan derzeit und stocher bisschen rum... aber bevor ich etwas recht teueres zulege smöchte ich gern ein paar Infos sammeln, ob die Richtung überhaupt Sinn macht...
Michael, das kommt doch drauf an was Du machen möchtest.
Zum Einstieg bekommst Du beispielsweise für etwa 280 Euro bei Kleinanzeigen (3435501847) eine DJi Phantom 3 Pro mit 4K Kamera und Fernbedienung. Das Livebild kommt mit sonstigen Daten aufs Handy. Das ist zumindest ein sehr zuverlässiger erprobter Kopter, an den man wenn man will natürlich noch eine andere Kamera zum streamen montieren kann. (habe nichts mit der Anzeige zu tun)
Das Ding was Du da verlinkt hast, kommt halbwegs brauchbar schon aufs doppelte des Preises. Möglich sogar, das Du auch erst noch die entsprechende Fernbedienung selbst programmieren musst, was nicht trivial ist.
Beziehe ebenso mit ein, das heutzutage so ein Teil in der Luft sehr schnell bei einigen Lebensformen hysterische Anfälle und ernste "Nachfragen" von den Jungs aus der Trachtengruppe auslösen kann.
ich möchte die Drohne über meinen Raspi steuern (keine Racing drohne).
D.h. ich geh von aus, dass eine Fernbedingung (Controller) ich gar nicht brauchen werde,
da ich das Signal sowieso erst ans Raspi weiterleiten muss.
Deswegen schau ich eher in die Baukiste rein.
Ich behaupte mal, das der VTX alles andere als CE hat und beim Zoll kassiert wird.
Wenn du einen 3W Sender verbaust, der auf 5,8Ghz sendet, wird die EMV der anderen Komponenten, wie dem RC System, zu einer schönen Aufgabe.
Weisst du schon, wie du die Stromversorgung und das Gewicht in den Griff kriegst?
Wie soll ein RPi das Videosignal empfangen und wie soll er die RC Signale senden?
Alles in allem ist eine fertige (gebrauchte) Drohne der DJI Phantom Klasse sicher sinnvoller. Für diese Drohnen gibt es auch diverse Updates für bessere Kameras (z.B. GoPro).
Mir ist noch immer nicht klar, warum. Denn so ein RasPi hat keinerlei Vorleistungen in Sachen Funk oder Video zu bieten, jeder PicoW oder ESP32 ist da schon besser dran.
Und 4k streamen und gleichzeitig eine Drohne steuern sind höchst fordernde Aufgaben, die der Rpi zwar theoretisch packt, aber programmtechnisch nicht vernünftig zusammenkriegt, abgesehen von der Einbindung eines Video Empfängers und Funksenders.
Es ist viel sinnvoller, den Videokram ganz auszulagern und dem RPi zu ersparen. Eine Drohne mit KI Steuerung jedenfalls wird so nicht klappen - falls das dein Ziel werden sollte.
Mir ist noch immer nicht klar, warum. Denn so ein RasPi hat keinerlei
Vorleistungen in Sachen Funk oder Video zu bieten, jeder PicoW oder
ESP32 ist da schon besser dran.
Ich habe an meinem Raspi ein LTE Modem dran, somit ist die Idee, dass man das Ganze aus der Frene steuer kann.
Das Board hatte ich bei mir daheim rumliegen seit einer Weile, somit muss es jetzt her halten. Dass dieses eventuell überdimensieniert ist für die Aufgabe, sei erst mal dahin gestellt...
Eine Drohne mit KI Steuerung jedenfalls wird so nicht klappen
Mir ist noch immer nicht klar, warum. Denn so ein RasPi hat keinerlei
Vorleistungen in Sachen Funk oder Video zu bieten, jeder PicoW oder
ESP32 ist da schon besser dran.
Und 4k streamen und gleichzeitig eine Drohne steuern sind höchst
fordernde Aufgaben, die der Rpi zwar theoretisch packt, aber
programmtechnisch nicht vernünftig zusammenkriegt, abgesehen von der
Einbindung eines Video Empfängers und Funksenders.
Hm, ein RasPi soll nicht genug Rechenleistung haben, aber ein ESP32 oder ein PicoW? Das wundert mich, denn nach meinem Dafürhalten hat so ein RasPi wesentlich mehr Rechenpower als ein ESP32 oder ein PicoW. Wo liegt mein Denkfehler?
ich möchte die Drohne über meinen Raspi steuern (keine Racing
drohne).
D.h. ich geh von aus, dass eine Fernbedingung (Controller) ich gar nicht
brauchen werde,
da ich das Signal sowieso erst ans Raspi weiterleiten muss.
Deswegen schau ich eher in die Baukiste rein.
Also Ziel wäre
die Steuerung der Drohne über Raspi.
Videostream ans Raspi
Es gibt mehrere. Einen RPi wirst du vernünftig nur mit einem Betriebssystem ans Laufen bringen. Meist ist das Linux und Linux braucht Rechenleistung und ist auch meist nicht echtzeitfähig.
Den Pico(2)W oder ESP32 hingegen programmierst du ohne OS und meist in C mithilfe einiger Libraries. Das ist direkt und schnell.
Dabei hat der Pico(2)W auch noch Hardware Engines (PIO), die schnelles Bitbanging oder Busimplementationen erlauben. So etwas fehlt dem RPi und alles muss über die Programmierung von GPIOs mithilfe eines Treibers laufen.
Für schnelles Video in den RPi bietet sich eigentlich nur der CSI Port an - aber der müsste dann den Anschluss eines Video Empfängers erlauben. Das ist ein schönes kniffeliges Stück Hardware.
Es gibt mehrere. Einen RPi wirst du vernünftig nur mit einem
Betriebssystem ans Laufen bringen. Meist ist das Linux und Linux braucht
Rechenleistung und ist auch meist nicht echtzeitfähig.
Naajaaa... schlimmstenfalls kann ich bestimmte CPU-Kerne mit dem Bootparameter "isolcpus" vom normalen Systemscheduler ausnehmen und dann einzelne Prozesse mit taskset(1) exklusiv darauf laufen lassen. Außerdem gibt es für Linux auch Realtime-Kernels, allerdings: damit werden dann zwar die Latenzen verringert, aber leider auch die Rechenleistung.
Den Pico(2)W oder ESP32 hingegen programmierst du ohne OS und meist in C
mithilfe einiger Libraries. Das ist direkt und schnell.
Naja, ein Raspberry Pi 5 hat vier CPU-Kerne mit jeweils 2,4 GHz Taktfrequenz, während ein ESP32-P4 lediglich zwei CPU-Kerne mit nur 400 MHz hat. Nach einigen Jahrzehnten Erfahrung mit Linux würde ich behaupten, daß man dem Linux schon ziemlich schlimme Dinge antun muß, damit seine Rechenleistung hinter die eines ESP32-P4 zurückfällt. Die Pico2w haben jedoch sogar nur eine CPU mit zwei Kernen, die mit je 150 MHz getaktet sind. Das sind schon sehr signifikante Unterschiede, fürchte ich. Wie sollte ein DualCore mit 150 oder 400 MHz denn bitte die Bilder halbwegs schnell genug verarbeiten? Ich meine, C ist kein Allheilmittel, und wenn die Rechenleistung der Hardware nicht reicht, helfen auch C und ASM nichts.
Zudem glaube ich, daß eine Drohne ja ohnehin schon mechanische Latenzen aufweist, weshalb sich mir die Frage stellt, ob kleine Latenzen in der Bildverarbeitung und Steuerung große Auswirkungen haben.
Vielleicht haben wir einfach nur verschiedene Anwendungsfälle im Auge, und sicher hast Du auch mehr Erfahrung mit Drohnen als ich. Darum vielen lieben Dank für Deine Erklärungen.
Das Problem ist ja nicht nur die reine Rechenleistung, sondern vor allem die Einbindung der Aussenwelt. Während die Fernsteurung der Drohne sicher noch umproblematisch ist, ist die gleichzeitige Videoaqcuise und Auswertung ein echtes Problem. Wie soll die Fütterung des RPi mit Videodaten erfolgen? Über die GPIOs wird das ein hartes Brot mit Daten im -zig MBit Takt. Es bleibt nur der CSI Port und den musste erstmal knacken bzw. einen Videoempfänger bauen, der so tut, als wäre er eine CSI fähige Kamera. M.W. ist der CSI auch nicht so richtig offengelegt, aber das hörte ich nur so am Rande.
so, hab mir jetzt mal ne preiswerte Drone bestellt, erst mal ohne Video HW, nur mit ELRS Tx/Rx, anscheinend ist das extrahieren der Rx Daten mittels CRSF auch nicht ganz ohne. Werde erst mal da rein schauen...
Sollte ich überhaupt so weit kommen, würde ich eher so etwas als Kamera-HW in Betracht ziehen, wie schon oben vorgeschalgen worden ist,
Das abholen der Daten vom walksnail-ascent-vrx würde dann wahrscheinlich über HDMI-USB Connector gehen ( oder vllt. mittels einer Art Geekworm X1300 HDMI-CSI da ich schon LTE Modem am USB dran habe, scheint hier aber kein Plug&Play zu sein )
Stream würde dann erst mal über Tailgate laufen (direkten SSH Tunnel zum LTE Raspi hab ich leider net hinbekommen)...
Is aber alles erst mal die Theorie ob was dabei raus kommt, schau ich mal !
Gib auf die Kamera Obacht. Das meiste was unter externe Kameramodule, Spycam etc. läuft, produziert Video Schrott. Es wird zwar werbewirksam immer Full HD oder 4k geschrieben, aber wenn so ein Teil wie meistens mit einer viel zu niedrigen Bitrate läuft weil die CPU zu schwach ist, dann produziert das Teil Matsch und Pixelblöcke aber gehörig.
Dann oft Plastiklinsen ,kleine Chips und das Unglück nimmt seinen Lauf.
Das Problem ist ja nicht nur die reine Rechenleistung, sondern vor allem
die Einbindung der Aussenwelt. Während die Fernsteurung der Drohne
sicher noch umproblematisch ist, ist die gleichzeitige Videoaqcuise und
Auswertung ein echtes Problem. Wie soll die Fütterung des RPi mit
Videodaten erfolgen? Über die GPIOs wird das ein hartes Brot mit Daten
im -zig MBit Takt. Es bleibt nur der CSI Port und den musste erstmal
knacken bzw. einen Videoempfänger bauen, der so tut, als wäre er eine
CSI fähige Kamera. M.W. ist der CSI auch nicht so richtig offengelegt,
aber das hörte ich nur so am Rande.
Naja, so ein RasPi5 hat beispielsweise auch USB und kann mit einer M2-Schnittstelle nachgerüstet werden. Darüber hinaus befürchte ich, daß die Rechenleistung bei der Bildverarbeitung durchaus eine Rolle spielt. Ich habe eine Bewegungserkennung auf einem RasPi4 entwickelt, die verarbeitet 30 fps in 1080p von einer Logitech C920, ist dabei allerdings dann auch komplett auf allen Kernen ausgelastet. Ein RasPi5 hingegen soll angeblich die zwei- bis dreifache Rechenleistung haben, der dürfte also noch einige Reserven übrig haben.
Es ist viel sinnvoller, den Videokram ganz auszulagern und dem RPi zu
ersparen
Damit bleibt es bei der Steuerung der Drohne und dafür braucht es keinen
RPi.
Naja, dann brauchst Du für die Videoverarbeitung dann auch wieder etwas, das genügend Rechenleistung hat -- und in das die Videodaten ja auch irgendwie hinein müssen. Zudem sollen die Ergebnisse der Bildverarbeitung am Ende in Steuersignale umgewandelt werden, das heißt: was der Bildverarbeiter erkannt hat, muß dann irgendwie in die Komponente, die die Steuerbefehle erzeugt, und wenn das beides auf verschiedenen Maschinen läuft, dann wird eine latenzarme Kommunikation zwischen den beiden benötigt.
Ich frage mich auch, wie zeitkritisch die Steuerung einer Drohne wirklich ist. Denn die Drohne selbst hat ja schon... sagen wir: mechanisch bedingte Latenzen. Wenn man die von Hand fliegen kann, kann die Zeitkritikalität nicht so enorm sein, würde ich vermuten. Hast Du diesbezüglich Erfahrungen, über die Du etwas sagen kannst?