Inhaltsverzeichnis:

Machen Sie Ihre Drohnengeste in $10 gesteuert - Gunook
Machen Sie Ihre Drohnengeste in $10 gesteuert - Gunook

Video: Machen Sie Ihre Drohnengeste in $10 gesteuert - Gunook

Video: Machen Sie Ihre Drohnengeste in $10 gesteuert - Gunook
Video: 5 Dinge, die Drohnenpiloten häufig falsch machen! 2024, November
Anonim
Image
Image
Machen Sie Ihre Drohnengeste in 10 US-Dollar steuerbar
Machen Sie Ihre Drohnengeste in 10 US-Dollar steuerbar
Machen Sie Ihre Drohnengeste in 10 US-Dollar steuerbar
Machen Sie Ihre Drohnengeste in 10 US-Dollar steuerbar

Dieses anweisbare ist eine Anleitung zur Umwandlung Ihrer R / C-Drohne in eine gestengesteuerte Drohne in weniger als 10 US-Dollar!

Ich bin eine Person, die sehr von Science-Fiction-Filmen inspiriert ist und versuche, die im Film gezeigte Technologie in die Realität umzusetzen. Dieses Projekt ist eine Inspiration von zwei solcher Filme: "STAR WARS: The Empire Strikes Back" und "Project Almanac". In beiden Filmen sieht man ein Flugobjekt (X-Wing Starship & eine R/C Drone), die nur durch Handbewegungen gesteuert wurden. Das hat mich dazu inspiriert, etwas Ähnliches zu machen…

Den X-Wing besitze ich natürlich nicht, daher muss ich leider mit meinem Mini R/C Quadcopter arbeiten.

Der Plan ist also - auf meinem Laptop läuft ein Bildverarbeitungsskript, das ständig nach meiner Hand sucht und ihre Position im Videoframe verfolgt. Sobald es die Koordinaten der Hand erhält, sendet es das entsprechende Signal an die Drohne und dies geschieht mit Arduino, das mit einem Laptop verbunden ist, zusammen mit einem NRF24L01 2,4 GHz Transceiver-Modul, das direkt mit der Empfängerplatine jeder R / C-Drohne kommunizieren kann.

Lieferungen

  • Laptop/Desktop-Computer mit installierter Webcam und Python. (Ich verwende meinen Windows-Laptop mit integrierter Webcam und laufe Python 2.7.14)
  • Jede RC-Drohne, die auf einer Frequenz von 2,4 GHz läuft. (JJRC H36 in meinem Fall)
  • Arduino UNO zusammen mit seinem Programmierkabel. (Ich verwende seinen Klon, da er billiger ist)
  • NRF24L01 2,4-GHz-Antennen-Funk-Transceiver-Modul. (Ich habe das hier für nur ₹99 (1,38 $) gekauft)
  • 3.3V Adapterplatine für 24L01 Funkmodul. (Ich habe das hier für nur ₹49 (0,68 $) gekauft)
  • Stecker-zu-Buchse-Überbrückungsdrähte x7

Schritt 1: Sammeln Sie die Vorräte

Sammle die Vorräte!
Sammle die Vorräte!

Schritt 2: Verbindung des NRF-Moduls mit Arduino

Verbindung des NRF-Moduls mit Arduino
Verbindung des NRF-Moduls mit Arduino
Verbindung des NRF-Moduls mit Arduino
Verbindung des NRF-Moduls mit Arduino
Verbindung des NRF-Moduls mit Arduino
Verbindung des NRF-Moduls mit Arduino
Verbindung des NRF-Moduls mit Arduino
Verbindung des NRF-Moduls mit Arduino

Da Sie nun alle Teile haben, beginnen wir mit der Verdrahtung des NRF-Moduls mit dem Arduino.

  1. Stecken Sie zunächst das NRF-Modul in den dafür vorgesehenen Steckplatz des Adapters. Sie können sich dafür auf das obige Bild beziehen.
  2. Nehmen Sie danach die Kabel von Male zu Female und verbinden Sie den NRF-Adapter wie folgt mit Arduino: (Siehe den Schaltplan oben)

    • NRF-Adapter-Pin - Arduino-Pin
    • VCC - 5V
    • Masse - Masse
    • CE - Digitaler Pin 5
    • CSN - Analoger Pin 1
    • SCK - Digitaler Pin 4
    • MO - Digitaler Pin 3
    • MI - Analoger Pin 0
    • IRQ - Nicht verwendet
  3. Sobald die Verbindung hergestellt ist, verbinden Sie das Arduino mit dem Arduino-Programmier-USB-Kabel mit Ihrem PC und Sie sind fast fertig.

Schritt 3: Kommen wir zur Codierung

Kommen wir zur Codierung!
Kommen wir zur Codierung!
Kommen wir zur Codierung!
Kommen wir zur Codierung!

Hier beginnt nun der schwierige Teil…!!!

Ich habe nicht den ganzen Code selbst erstellt. Stattdessen habe ich Teile und Code-Bits von verschiedenen Entwicklern genommen und sie alle mit ein wenig Feinarbeit in einen integriert. Daher werden allen ursprünglichen Erstellern angemessene Credits im Voraus gegeben.

Sie können alle hier angehängten Codes herunterladen und zum Laufen bringen. Oder Sie besuchen mein Github-Repository, wo ich ständig den neuesten Code für ein besseres Tracking aktualisiere.

Handverfolgung:

Der Klassifikator Haar Cascade wird in diesem Projekt für die Handverfolgung verwendet. Die Haarkaskade wird trainiert, indem das positive Bild über einen Satz negativer Bilder gelegt wird. Und diese trainierten Daten werden normalerweise in ".xml"-Dateien gespeichert. Sie können Klassifikatordateien von fast allem im Internet erhalten oder sogar eine eigene erstellen. Für dieses Projekt, da wir es mit Handgesten steuern mussten, habe ich einen ersten Klassifikator namens "closed_frontal_palm.xml" von Aravind Nambissan für meine Handerkennung verwendet. Sie können diesen Code testen, indem Sie den Code "hand_live.py" in meinem Repository ausführen.

Wählen Sie den NRF24-Code, der zu Ihrer Drohne passt:

Je nach Hersteller und Modell Ihrer Drohne können Sie sich auf das Github-Repository "nrf24_cx10_pc" von Perry Tsao beziehen, um den richtigen Arduino-Code auszuwählen, der seiner Frequenz entspricht. Er hat ein schönes Tutorial gemacht, um seine CX10 Drohne über den PC zu steuern.

Als ich die JJRC H36-Drohne benutzte, verwies ich auf ein anderes Github-Repository - "nrf24_JJRC_H36_pc", das eine Abzweigung von Perry Tsaos Repo war, das von Lewis Cornick erstellt wurde, um seinen JJRC H36 über den PC zu steuern.

Arduino bereit machen:

Ich habe Lewis 'Repo auf meinen Github gegabelt, den Sie klonen können, wenn Sie an derselben Drohne arbeiten. Sie müssen den Code "nRF24_multipro.ino" einmal auf Ihrem Arduino Uno hochladen, damit er jedes Mal, wenn wir unser Python-Skript ausführen, mit Ihrer Drohne gekoppelt wird.

Testen der seriellen Kommunikation:

Im selben Repository finden Sie möglicherweise auch einen Code "serial_test.py", mit dem Sie die serielle Kommunikation des Python-Skripts mit Arduino testen können und ob Ihre Drohne gepaart wird oder nicht. Vergessen Sie nicht, den COM-Port im Code entsprechend dem COM-Port Ihres Arduino-Boards zu ändern.

Alles in einen Code integrieren:

Also habe ich all diese Codes von verschiedenen Entwicklern integriert und meinen eigenen Code "handserial.py" erstellt. Wenn Sie genau dasselbe tun, was ich mit genau derselben Drohne mache, können Sie diesen Code direkt ausführen und dann Ihre Drohne steuern, indem Sie einfach Ihre Faust in die Luft bewegen. Der Code verfolgt zuerst eine Faust im Videoframe. Abhängig von der Y-Koordinate der Faust sendet der Code den Drosselwert an die Drohne, damit sie nach oben oder unten geht, und in ähnlicher Weise sendet der Code abhängig von der X-Koordinate der Faust den Querruderwert an die Drohne, damit sie nach links oder rechts geht.

Schritt 4: Anmerkung des Autors

4 Punkte möchte ich zu diesem Projekt besonders erwähnen:

  1. Wie bereits erwähnt, wurde dieser Code nicht vollständig von mir erstellt, aber ich arbeite kontinuierlich daran und würde den Code für ein besseres Tracking in meinem Github-Repository aktualisieren. Bei Fragen oder Updates können Sie das Repository besuchen oder mich auf Instagram anpingen.
  2. Derzeit verwenden wir die Webcam des Laptops, die es nicht erlaubt, die Perspektive der Drohne zu haben, aber bei Bedarf können die an der Drohne montierten Kameras auch für das Tracking verwendet werden. Dies wird helfen, eine bessere Sicht und letztendlich eine bessere Kontrolle zu haben.
  3. Für dieses Projekt verwende ich eine JJRC H36-Drohne, die eine der billigsten Drohnen auf dem Markt ist und daher keine Kreiselstabilität aufweist. Das ist der Grund, warum Sie vielleicht das Gefühl haben, dass die Bewegung im Video wackelig ist, aber wenn Sie eine qualitativ hochwertige Drohne mit guter Stabilität verwenden, werden Sie dieses Problem nicht haben.
  4. Ich wollte an Computer Vision und Drohnensteuerung herumbasteln, daher habe ich mit diesem Projekt angefangen. Aber nachdem ich an Computer Vision gearbeitet habe, habe ich das Gefühl, dass dies nicht die optimale Lösung ist, um die Drohne zu steuern. Daher plane ich, in Zukunft eine Art Handschuhgerät mit Gyro-Sensor zu bauen, um die Drohne zu steuern. Bleiben Sie also auf dem Laufenden für Updates…

Wenn Ihnen dieses Tutorial gefallen hat, liken und teilen Sie es und stimmen Sie auch dafür ab.

Das ist alles für den Moment.. Bis bald beim nächsten Mal…

Empfohlen: