Inhaltsverzeichnis:

Autonome Drohne - Gunook
Autonome Drohne - Gunook

Video: Autonome Drohne - Gunook

Video: Autonome Drohne - Gunook
Video: Künstliche Intelligenz - Büchse der Pandora? | Prof. Dr. Thomas Villmann 2024, Juli
Anonim
Autonome Drohne
Autonome Drohne
Autonome Drohne
Autonome Drohne

In diesem Projekt lernen Sie den Bau und die Konfiguration einer Drohne, bevor Sie den autonomen Flug mit Mission Planner und MATLAB untersuchen.

Bitte beachten Sie, dass dieses instructable nur als Anleitung gedacht ist. Der Einsatz von Drohnen kann in der Nähe von Menschen sehr gefährlich sein und Sie in ernsthafte Konflikte mit dem Gesetz bringen, wenn sie unsachgemäß oder am falschen Ort verwendet werden. Stellen Sie sicher, dass Sie alle Gesetze und Vorschriften im Zusammenhang mit der Verwendung von Drohnen einhalten. Darüber hinaus wurden die auf GitHub bereitgestellten Codes nicht vollständig getestet. Stellen Sie also sicher, dass Sie über andere Failsafes verfügen, um den Verlust oder die Beschädigung Ihrer Drohne zu vermeiden.

Schritt 1: Teileliste

Für dieses Projekt benötigen Sie mehrere Teile. Bevor Sie mit dem Rest dieses Projekts fortfahren, stellen Sie sicher, dass Sie die folgenden Komponenten kaufen und die Dateien zum 3D-Druck herunterladen und die benutzerdefinierten Teile laserschneiden.

Gekaufte Teile

Rahmen: DJI F450 Flammenrad

www.buildyourowndrone.co.uk/dji-f450-flam…

PDB: Matek PDB-XT60

www.unmannedtechshop.co.uk/matek-pdb-xt60…

Motoren x4: Emax 2205s 2300kv

www.unmannedtechshop.co.uk/rs2205-s-races…

Propeller x4: Gemfan Carbon/Nylon 5030

hobbyking.com/de_us/gemfan-propeller-5x3-…

Regler x4: Little Bee 20A 2-4S

hobbyking.com/en_us/favorite-little-bee-…

Flugsteuerung: Navio 2 (mit GPS/GNSS-Antenne und Leistungsmodul)

Raspberry Pi 3B

thepihut.com/collections/raspberry-pi/pro…

Sender: FRSKY TARANIS X9D+

www.unmannedtechshop.co.uk/frsky-taranis-…

Empfänger: FrSky XSR 2,4 GHz ACCST

hobbyking.com/en_us/xsr-eu-lbt.html?_st…

Batterien: TATTU 1800mAh 14.8V 45C 4S1P Lipo Akkupack

www.unmannedtechshop.co.uk/tattu-1800mah-…

Ladegerät: Turnigy Accucell-6 50W 6A Balancer/Ladegerät

hobbyking.com/de_us/turnigy-accucell-6-50…

Netzteil für Ladegerät: RS 12V DC Netzteil

uk.rs-online.com/web/p/plug-in-power-supp…

Akkutaschen: Hobby King Lithium Polymer Charge Pack

hobbyking.com/de_us/lithium-polymer-charge…

Bananenstecker

www.amazon.co.uk/gp/product/B013ZPUXZS/re…

WLAN-Router: TP-LINK TL-WR802N

www.amazon.co.uk/TP-LINK-TL-WR802N-Wirele…

Micro-SD-Karte: SanDisk 32GB

www.amazon.co.uk/SanDisk-microSDHC-Speicher…

Abstandshalter/Abstandshalter: Nylon M2.5 Gewinde

thepihut.com/products/adafruit-black-nylon…

Laptop

Kabelbinder

Klettverschluss

Schrumpfen durch Hitze

3D-gedruckte Teile

Raspberry Pi / Navio 2 Gehäuse (Ober- und Unterseite)

Batteriefach (Box und Deckel)

Lasergeschnittene Teile

Elektronikschichten x2

Schritt 2: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Hardware- und Bauphase:

  1. Montieren Sie den F450 Quadrotorrahmen und das bedruckte Batteriegehäuse in der Mitte (achten Sie darauf, die M2,5 * 5 mm Abstandshalter hinzuzufügen)
  2. Befestigen Sie die Motoren am Rahmen.
  3. Löten Sie die Bananenstecker an die ESCs und Motorendrähte.
  4. Löten Sie die Regler und das Leistungsmodul an die PDB. Hinweis: Stellen Sie sicher, dass Sie nicht den 5-V-Ausgang des PDB verwenden (er liefert nicht genug Leistung).
  5. Fügen Sie die erste lasergeschnittene Schicht auf die Oberseite des F450-Rahmens mit M2,5 * 10 mm männlich-weiblichen Abstandshaltern hinzu; und befestigen Sie die PDB und das Leistungsmodul an dieser Schicht. Hinweis: Stellen Sie sicher, dass die Komponenten so platziert werden, dass die Drähte lang genug sind, um alle Motoren zu erreichen.
  6. Verbinden Sie die Regler mit den Motoren und verwenden Sie Kabelbinder, um die Drähte am Rahmen zu befestigen.
  7. Befestigen Sie das Navio2 am Raspberry Pi und legen Sie es in das bedruckte Gehäuse.
  8. Fügen Sie die zweite lasergeschnittene Schicht über der ersten Schicht hinzu und befestigen Sie das Raspberry-Navio-Gehäuse mit doppelseitigen Klebepads.
  9. Das GPS kann oben auf das Gehäuse geklebt werden, hier wurde es jedoch auf einer weiteren dritten Schicht platziert, die wie in den Bildern gezeigt auf das Raspberry-Navio-Gehäuse geht, aber es liegt ganz bei der Person, die es baut. Verbinden Sie dann einfach das GPS mit dem Navio.
  10. Befestigen Sie den Empfänger auf der zweiten Schicht mit doppelseitigen Klebepads. Verbinden Sie die Regler und Empfängerkabel mit den Navio-Pins. Der Empfänger belegt die erste Spalte von Pins und dann die Motoren die nächsten vier Spalten. Hinweis: Die Vorderseite der Drohne wird dadurch bestimmt, welcher Motor zuerst angebracht wird. Unabhängig davon, welche Frontrichtung Sie wählen, stellen Sie zu Beginn dieses Schrittes sicher, dass die Motoren im Bild angeschlossen sind.
  11. Propeller hinzufügen. Es wird empfohlen, die Propeller bis zum Ende zu belassen, d. h. nach Abschluss des Softwareabschnitts, und stellen Sie immer sicher, dass Sie bei eingeschalteten Propellern Sicherheitsvorkehrungen treffen, nur für den Fall, dass etwas schief geht.

Schritt 3: Software

Software
Software
Software
Software

Softwarephase: (Referenz Navio2-Dokumente)

  1. Holen Sie sich das neueste Emlid Raspbian Image aus den Navio2-Dokumenten.
  2. Laden Sie Etcher herunter, extrahieren Sie es und führen Sie es mit Administratorrechten aus.
  3. Wählen Sie die Archivdatei mit Bild und Laufwerksbuchstaben der SD-Karte aus.
  4. Klicken Sie auf „Flashen!“. Der Vorgang kann einige Minuten dauern. (Beispielvideo)
  5. Um nun den WLAN-Zugang zu konfigurieren, müssen wir die Datei wpa_supplicant.conf auf der SD-Karte bearbeiten. Bearbeiten Sie es, damit es wie das erste Bild oben in diesem Schritt aussieht. Hinweis: Die ssid ist der Name von TP-Link, wie er auf Ihrem Computer erscheint. Die genaue ssid für Ihren TP-Link finden Sie am besten, indem Sie Ihren Laptop mit dem TP-Link verbinden und dann den folgenden Befehl in einem Terminalfenster ausführen:

Für Windows: Netsh Wlan Profile anzeigen

Für Mac: Standardwerte lesen /Library/Preferences/SystemConfiguration/com.apple.airport.preferences |grep SSIDString

psk ist das Passwort auf der Karte, die mit dem TP-Link geliefert wird.

  1. Werfen Sie die SD-Karte aus und stecken Sie sie in den Raspberry Pi und schalten Sie ihn ein.
  2. Um zu überprüfen, ob der Raspberry Pi mit dem TP-Link verbunden ist, können Sie eine der verfügbaren Apps verwenden, die alle mit Ihrem Netzwerk verbundenen Geräte anzeigen.
  3. Es ist notwendig, feste IP-Adressen für Geräte festzulegen, die mit Ihrem TP-Link verbunden sind, damit Sie die IP-Adressen der Codes, die Sie schreiben, nicht jedes Mal ändern müssen. Sie können dies einfach tun, indem Sie tplinkwifi.net öffnen (natürlich während Sie mit dem TP-Link verbunden sind). Geben Sie den Benutzernamen: admin und das Kennwort: admin ein. Gehen Sie zu „DHCP“im Menü auf der linken Seite des Bildschirms und wählen Sie dann „Adressreservierung“aus dem Dropdown-Menü. Fügen Sie die MAC-Adressen der Geräte hinzu, denen Sie die IP-Adressen zuweisen möchten. Hier wurde der Bodenstation (Laptop) eine IP-Adresse von 192.168.0.110 und dem Raspberry Pi 192.168.0.111 zugewiesen.
  4. Jetzt müssen wir MAVProxy über den folgenden Link herunterladen.
  5. Erstellen Sie nun eine.bat-Datei, die wie das zweite Bild oben in diesem Schritt aussieht, und stellen Sie sicher, dass Sie den Dateipfad verwenden, in dem Ihre mavproxy.exe auf Ihrem Laptop gespeichert ist. Sie müssen diese Datei jedes Mal ausführen (durch Doppelklicken), wenn Sie eine Verbindung zu Ihrer Drohne herstellen möchten.
  6. Damit der Raspberry Pi mit MAVProxy kommunizieren kann, muss eine Datei auf dem Pi bearbeitet werden.
  7. Geben Sie sudo nano /etc/default/arducopter in das Linux-Terminal des Raspberry Pi ein, der den Navio2-Autopiloten hostet.
  8. Die oberste Zeile der geöffneten Datei sollte TELEM1=“-A udp:127.0.0.1:14550“lauten. Diese muss so geändert werden, dass sie auf die IP-Adresse Ihres PCs zeigt.
  9. Installieren Sie den Missionsplaner und wechseln Sie zum Abschnitt Ersteinrichtung.

Schritt 4: Ersteinrichtung

Um eine Verbindung zu Ihrem UAV herzustellen, gehen Sie wie folgt vor:

  1. Führen Sie sowohl Ihre MAVProxy.bat-Datei als auch den Mission Planner aus.
  2. Schließen Sie die Batterie an Ihr UAV an und warten Sie ungefähr 30-60 Sekunden. Dies gibt ihm Zeit, sich mit dem drahtlosen Netzwerk zu verbinden.
  3. Klicken Sie oben rechts im Missionsplaner auf die Schaltfläche Verbinden. Geben Sie im ersten angezeigten Dialogfeld 127.0.0.1 ein und klicken Sie auf OK. Geben Sie im nächsten Feld die Portnummer 14551 ein und klicken Sie auf OK. Nach einigen Sekunden sollte sich der Mission Planner mit Ihrem MAV verbinden und die Telemetriedaten im linken Bereich anzeigen.

Wenn Sie Ihr UAV zum ersten Mal einrichten, müssen Sie bestimmte Hardwarekomponenten konfigurieren und kalibrieren. Die ArduCopter-Dokumentation enthält eine ausführliche Anleitung zur Konfiguration des Rahmentyps, der Kompasskalibrierung, der Funksteuerungskalibrierung, der Beschleunigungsmesserkalibrierung, der Einrichtung des RC-Sendermodus, der ESC-Kalibrierung und der Motorbereichskonfiguration.

Je nachdem, wie Sie Ihren Raspberry Pi auf der Drohne montiert haben, kann es erforderlich sein, die Ausrichtung des Boards im Missionsplaner zu ändern. Dies kann durch Anpassen des Parameters Board Orientation (AHRS_ORIENTATION) in der Liste der erweiterten Parameter auf der Registerkarte Config/Tuning im Mission Planner erfolgen.

Schritt 5: Erstflug

Erster Flug
Erster Flug
Erster Flug
Erster Flug

Sobald die Hard- und Software bereit ist, ist es Zeit, sich auf den ersten Flug vorzubereiten. Es wird empfohlen, das UAV vor dem Versuch des autonomen Fliegens manuell mit dem Sender zu fliegen, um ein Gefühl für die Handhabung des Flugzeugs zu bekommen und eventuell vorhandene Probleme zu beheben.

Die ArduCopter-Dokumentation enthält einen sehr detaillierten und informativen Abschnitt zu Ihrem ersten Flug. Es beschreibt die verschiedenen Flugmodi, die mit ArduCopter geliefert werden, und was jeder dieser Modi tut. Für den Erstflug ist der Stabilisierungsmodus der am besten geeignete Flugmodus.

ArduCopter hat viele eingebaute Sicherheitsfunktionen. Eine dieser Funktionen sind die Pre-Arm Safety Checks, die verhindern, dass das Flugzeug scharfgeschaltet wird, wenn Probleme erkannt werden. Die meisten dieser Kontrollen sind wichtig, um die Wahrscheinlichkeit eines Absturzes oder eines Verlustes des Flugzeugs zu verringern, sie können jedoch bei Bedarf deaktiviert werden.

Das Scharfschalten der Motoren erfolgt, wenn der Autopilot die Motoren mit Strom versorgt, damit sie sich drehen können. Vor dem Scharfschalten der Motoren ist es unbedingt erforderlich, dass sich das Flugzeug in einem freien, offenen Bereich, weit entfernt von Personen oder Hindernissen oder in einer sicheren Flugarena befindet. Es ist auch sehr wichtig, dass sich nichts in der Nähe der Propeller befindet, insbesondere Körperteile und andere Gegenstände, die dadurch beschädigt werden. Sobald alles klar ist und der Pilot sicher ist, dass er sicher starten kann, können die Motoren scharfgeschaltet werden. Auf dieser Seite finden Sie detaillierte Anweisungen zum Scharfschalten des Flugzeugs. Die einzigen Unterschiede zwischen dieser Anleitung und dem Navio2 liegen in Schritt 7 des Scharfschaltens und Schritt 2 des Unscharfschaltens. Zum Scharfschalten des Navio2 müssen beide Knüppel einige Sekunden lang in der Mitte gehalten werden (siehe Bild). Zum Entschärfen müssen beide Knüppel für einige Sekunden nach unten und zur Seite gehalten werden (siehe Bild).

Um Ihren ersten Flug durchzuführen, folgen Sie dieser Anleitung.

Nach dem ersten Flug kann es notwendig sein, einige Änderungen vorzunehmen. Solange die Hardware voll funktionsfähig und korrekt eingerichtet ist, werden diese Änderungen hauptsächlich in Form von PID-Tuning erfolgen. Diese Anleitung enthält einige hilfreiche Tipps zum Tunen des Quadcopters. In unserem Fall reichte jedoch eine leichte Reduzierung der P-Verstärkung aus, um das Flugzeug stabil zu machen. Sobald das Flugzeug flugfähig ist, kann die Autotune-Funktion von ArduCopter verwendet werden. Dadurch werden die PIDs automatisch abgestimmt, um die schnellste Reaktion zu erzielen und dennoch stabil zu bleiben. Die ArduCopter-Dokumentation bietet eine detaillierte Anleitung zur Durchführung des Autotunings.

Wenn bei einem dieser Schritte Probleme auftreten, kann Ihnen die Anleitung zur Fehlerbehebung möglicherweise weiterhelfen.

Schritt 6: Autonomer Flug

Image
Image

Missionsplaner

Nachdem Ihr Copter nun getunt ist und gut manuell gesteuert fliegen kann, kann der autonome Flug untersucht werden.

Der einfachste Weg, um in den autonomen Flug einzusteigen, ist die Verwendung von Mission Planner, da er eine Vielzahl von Dingen enthält, die Sie mit Ihrem Flugzeug tun können. Autonomer Flug im Mission Planner lässt sich in zwei Hauptkategorien einteilen; vorgeplante Missionen (automatischer Modus) und Live-Missionen (geführter Modus). Der Flugplaner-Bildschirm im Missionsplaner kann verwendet werden, um einen Flug zu planen, der aus zu besuchenden Wegpunkten und durchzuführenden Aktionen wie dem Aufnehmen von Fotos besteht. Wegpunkte können entweder manuell ausgewählt werden oder das Auto-Wegpunkt-Tool kann verwendet werden, um Missionen zur Vermessung eines Gebiets zu generieren. Sobald eine Mission geplant und an die Drohne gesendet wurde, kann der Auto-Flugmodus verwendet werden, damit das Flugzeug der vorgeplanten Mission autonom folgt. Hier ist eine praktische Anleitung zur Planung von Missionen.

Der geführte Modus ist eine Möglichkeit, dem UAV interaktiv zu befehlen, bestimmte Dinge zu tun. Dies geschieht über die Registerkarte Aktionen im Missionsplaner oder durch Rechtsklick auf die Karte. Das UAV kann viele Dinge tun, z. B. Start, Rückkehr zum Start und Fliegen zu einem ausgewählten Ort, indem Sie mit der rechten Maustaste auf die Karte am gewünschten Ort klicken und Hierher fliegen auswählen.

Failsafes sind beim autonomen Fliegen ein wichtiger Aspekt, um sicherzustellen, dass das Flugzeug im Fehlerfall nicht beschädigt und Personen nicht verletzt werden. Mission Planner hat eine eingebaute Geo-Fence-Funktion, die verwendet werden kann, um zu begrenzen, wo das UAV fliegen kann und zu verhindern, dass es zu weit weg oder zu hoch geht. Es kann sich lohnen, das UAV für Ihre ersten Flüge als weiteres Backup am Boden anzubinden. Schließlich ist es wichtig, dass Sie Ihren Funksender eingeschaltet und mit der Drohne verbunden haben, damit Sie bei Bedarf aus dem autonomen Flugmodus in einen manuellen Flugmodus wie Stabilisieren oder Alt-Hold wechseln können, damit das UAV sicher gesteuert werden kann landen.

MATLAB

Die autonome Steuerung mit MATLAB ist weit weniger einfach und erfordert einige Vorkenntnisse in der Programmierung.

Mit den MATLAB-Skripten real_search_polygon und real_search können Sie vorgeplante Missionen generieren, um ein benutzerdefiniertes Polygon zu durchsuchen. Das Skript real_search_polygon plant einen Pfad über das benutzerdefinierte Polygon, während das Skript real_search einen Pfad über das minimale Rechteck plant, das das Polygon umgibt. Die Schritte dazu sind wie folgt:

  1. Öffnen Sie den Missionsplaner und gehen Sie zum Flugplanfenster.
  2. Zeichnen Sie mit dem Polygon-Werkzeug ein Polygon über den gewünschten Suchbereich.
  3. Speichern Sie das Polygon als ‚search_area.poly‘im selben Ordner wie das MATLAB-Skript.
  4. Gehen Sie zu MATLAB und führen Sie entweder real_search_polygon oder real_search aus. Stellen Sie sicher, dass Sie die gewünschte Pfadbreite wählen und ändern Sie den Dateipfad in Zeile 7 in das richtige Verzeichnis, in dem Sie arbeiten.
  5. Sobald das Skript ausgeführt wurde und Sie mit dem generierten Pfad zufrieden sind, gehen Sie zurück zum Mission Planner.
  6. Klicken Sie auf der rechten Seite auf WP-Datei laden und wählen Sie die soeben erstellte Wegpunktdatei ‚search_waypoints.txt‘aus.
  7. Klicken Sie auf der rechten Seite auf WPs schreiben, um die Wegpunkte an die Drohne zu senden.
  8. Bewaffnen Sie die Drohne und starten Sie entweder manuell oder indem Sie mit der rechten Maustaste auf die Karte klicken und Start auswählen.
  9. Sobald Sie eine angemessene Höhe erreicht haben, ändern Sie den Modus auf Auto und die Drohne startet die Mission.
  10. Nachdem die Mission beendet ist, klicke auf RTL im Aktionen-Tab, um die Drohne zum Startplatz zurückzubringen.

Das Video zu Beginn dieses Schrittes ist eine Simulation im Mission Planner des UAV, das ein Gebiet durchsucht.

Schritt 7: Vision

Vision
Vision

Die Drohnenmission besteht darin, über Berge oder Wildnis zu fliegen und Menschen oder unregelmäßige Objekte zu entdecken und diese dann zu verarbeiten, um zu sehen, ob diese Person Hilfe benötigt. Dies geschieht idealerweise mit einer teuren Infrarotkamera. Aufgrund der hohen Kosten von Infrarotkameras wird jedoch stattdessen die Infraroterkennung durch die Erkennung aller nicht grünen Objekte mit einer normalen Pi-Kamera abgeglichen.

  1. ssh in den Raspberry Pi
  2. Zuerst müssen wir OpenCV auf dem Raspberry Pi installieren. Der folgende Leitfaden von pyimagesearch ist einer der besten im Internet.
  3. Laden Sie den Code von GitHub über diesen folgenden Link in den Raspberry Pi herunter. Um den Code auf den Raspberry Pi herunterzuladen, können Sie die Datei auf Ihren Computer herunterladen und dann auf den Raspberry Pi übertragen.
  4. Um den Code auszuführen, gehen Sie in das Verzeichnis, in dem sich der Code auf dem Raspberry Pi befindet, und führen Sie dann den Befehl aus:

python color_target_detection.py --conf conf.json

KONTINUIERLICHE VERWENDUNG Jedes Mal, wenn Sie den Raspberry Pi neu starten, müssen Sie die folgenden Befehle ausführen:

sudo ssh [email protected] -X

Quelle ~/.profile

Arbeitslebenslauf

Fahren Sie dann mit Schritt 4 oben fort.

Wichtiger Hinweis: NICHT alle Terminals können Videos anzeigen. Verwenden Sie auf einem Mac das XQuartz-Terminal.

Empfohlen: