Inhaltsverzeichnis:
- Schritt 1: Die Idee und Verbindungen
- Schritt 2: Raspberry Pi-Verbindungen und -Konfiguration
- Schritt 3: APM-Verbindungen und -Konfiguration
- Schritt 4: Arduino Leonardo-Konfiguration
- Schritt 5: Erstflug
Video: Autonome Line-Follower-Drohne mit Raspberry Pi - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Dieses Tutorial zeigt, wie Sie schließlich eine Line-Follower-Drohne erstellen können.
Diese Drohne verfügt über einen Schalter für den "autonomen Modus", der die Drohne in den Modus versetzt. Sie können Ihre Drohne also weiterhin wie bisher fliegen.
Bitte beachten Sie, dass der Aufbau und die Anpassung noch mehr Zeit in Anspruch nehmen werden. Aber das Finale… lässt Sie denken, dass es sich lohnt.
Um mit der Erstellung Ihrer eigenen autonomen Line-Tracker-Drohne zu beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Raspberry Pi 3 oder Raspberry Pi Zero W mit SSH-Zugang
- Ready-To-Fly-Drohne mit APM- oder Pixhawk-Flugsteuerung
- Arduino Leonardo oder ein anderer Arduino mit schneller Taktrate
- Mindestens 6 CH-Sender
- USB-Webcam, die Raspberry Pi und OpenCV unterstützt
- Ein PC
- 6 Allzwecktransistoren
- Verdrahtungskabel
Schritt 1: Die Idee und Verbindungen
APM, auch bekannt als ArduPilot, ist ein Flugcontroller basierend auf Arduino Mega. Dies bedeutet, dass wir es so ändern können, dass es für unseren Fall am besten ist. Da ich aber nicht über die Informationen dazu verfüge, gehe ich einen anderen Weg.
Raspberry Pis sind leider nicht zeitsensitiv, was bedeutet, dass sie nicht mit PPM-Signalen umgehen können.
Deshalb brauchen wir das zusätzliche Arduino-Board.
Auf diese Weise verarbeitet Raspberry Pi die Bilder und berechnet die Fluganweisungen und sendet sie über die serielle UART-Schnittstelle an Arduino. Die Arduino-Karte wird hier als PPM-Encoder / -Decoder stehen, der die Fluganweisungen in PPM-Signale codiert, die APM will. Um eine Idee zu haben, können Sie den symbolischen Schaltplan untersuchen.
Raspberry Pi verhält sich neben der Erkennungsleitung als Telemetriesender.
Die wesentliche Schaltung ist in den Bildern dargestellt. Ich werde in den nächsten Schritten weiter erklären.
Schritt 2: Raspberry Pi-Verbindungen und -Konfiguration
Raspberry Pi wird mit Wi-Fi-Adapter (optional), USB-Webcam, Arduino Leonardo über USB, APM über eingebaute serielle Schnittstelle verbunden. APM - RPI-Verbindung mit Details in den Bildern gezeigt.
Zur Konfiguration haben Sie zwei Möglichkeiten: reines Raspbian mit benötigten Paketen oder spezielles Image für die MAVLink-Verbindung namens APSync. Wenn Sie Raspbian verwenden möchten, stellen Sie sicher, dass Sie diese Pakete installiert haben:
sudo apt-get update
sudo apt-get install -y screen python-wxgtk3.0 python-matplotlib sudo apt-get install -y python-opencv python-pip python-numpy python-dev sudo apt-get install -y libxml2-dev libxslt-dev python- lxml sudo pip install future pymavlink mavproxy pyserial
Um die integrierte serielle Schnittstelle des Raspberry Pi zu verwenden, müssen Sie dem Betriebssystem mitteilen, dass es sie nicht verwenden soll. Geben Sie dazu ein
sudo raspi-config
und folgen Sie Schnittstellenoptionen > Serielle Schnittstelle
Sie müssen die serielle Schnittstelle deaktivieren, aber die serielle Hardware aktivieren.
An dieser Stelle ist der Rest sowohl für Raspbian als auch für APSync geeignet.
Erstellen Sie im Home-Verzeichnis drei Dateien: Reboot-Skript und Image-Prozessor-Skript. Die zweite Zeile macht das Reboot-Skript ausführbar.
Berühren Sie reboot.sh image_processor.py
chmod +x reboot.sh
Kopieren Sie alle Zeilen in den unten angegebenen Dateien in Ihr Home-Verzeichnis (/home/pi) in Raspberry Pi.
Das Neustartskript enthält Trigger, die Bildprozessor- und Telemetrieskripts auslösen. Auch wenige Einstellungen. Beachten Sie, dass Sie # vor dieser Zeile hinzufügen, wenn Sie keine Telemetriefunktion wünschen.
nano reboot.sh
#!/bin/bash
python3 /home/pi/image_processor.py
Mit STRG+O speichern und mit STRG+X beenden. Der letzte Schritt ist die Registrierung in der Betriebssystem-Startdatei rc.local
sudo nano /etc/rc.local
Hängen Sie diese Zeile über Ausgang 0 an:
/home/pi/reboot.sh
Unser Reboot-Skript wird bei jedem Booten ausgeführt.
Wir möchten, dass Raspberry Pi Live-Videos aufzeichnet, on-the-fly verarbeitet, Fluganweisungen berechnet, an den Flugcontroller sendet und Telemetrie ist. Da Raspberry Pi jedoch nicht in der Lage ist, das von APM gewünschte PPM-Signal zu generieren, benötigen wir einen anderen Weg, um dies zu erreichen.
Raspberry Pi sendet seine Bildverarbeitungsausgabe über den seriellen Port an Arduino (in meinem Fall Arduino Leonardo). Arduino generiert ein PPM-Signal von diesem Eingang und sendet es über Steckbrücken an den Flight Controller. Das ist alles für Raspberry Pi.
Kommen wir zum nächsten Schritt.
Schritt 3: APM-Verbindungen und -Konfiguration
Die Dinge an APM sind einfach, da es bereits flugbereit ist. Wir müssen die Baudraten der seriellen Ports kennen und sicherstellen, dass der TELEM-Port aktiviert ist.
Überprüfen Sie in Ihrer Bodensoftware, in meinem Fall Mission Planner, die Parameterliste des Flugreglers und ermitteln Sie die Baudraten. Beispielsweise ist SERIAL_BAUD die USB-Baudrate und SERIAL_BAUD1 die TELEM-Port-Baudrate für APM. Beachten Sie, dass Werte.
Der wichtigste Teil sind die Anschlüsse der INPUT-Pins. Verbinden Sie wie in der Abbildung gezeigt die digitalen Pins 4 von 9 von Arduino. Möglicherweise möchten Sie dafür ein Steckbrett verwenden, da wir einige Transistoren und Empfängerausgänge hinzufügen werden. (Siehe Bilder) (Transistoren funktionieren, falls Sie die Kontrolle über Ihre Drohne übernehmen möchten)
ARD 4 APM-EINGANG 1
ARD 5 APM-EINGANG 2
ARD 6 APM-EINGANG 3
ARD 7 APM-EINGANG 4
ARD 8 APM-EINGANG 5
ARD 9 APM-EINGANG 6
Verbinden Sie alle 5V-Pins des APM-Eingangs mit dem Arduino Leonardo 5V-Pin. Verbinden Sie ebenfalls alle APM Input GND-Pins mit dem Arduino Leonardo GND-Pin.
Schritt 4: Arduino Leonardo-Konfiguration
Wir haben alle Drähte für Leonardo angeschlossen, sodass nur noch der Code übrig ist.
Laden Sie den unten angegebenen Code auf Ihren Arduino Leonardo hoch. Achten Sie auf Baudraten.
Schritt 5: Erstflug
Wenn Sie alle vorherigen Schritte abgeschlossen haben, bedeutet dies, dass Sie bereit sind.
Schalten Sie alle Karten ein und verbinden Sie sich mit SSH mit dem Raspberry Pi. Terminal eingeben:
sudo su
mavproxy.py --master=/dev/[SERIAL INTERFACE] --baudrate [TELEM PORT BAUDRATE] --aircraft [CUSTOM NAME
Die standardmäßige eingebaute serielle Schnittstelle des Raspberry Pi ist ttyS0 (/dev/ttyS0)
Die Standardbaudrate des APM TELEM-Ports ist 57600
Die Standard-Baudrate des APM-USB-Ports ist 115200
Sie können Ihrem Flugzeug einen beliebigen Namen geben, ihn mit Bedacht wählen, damit Sie ihn später wiedererkennen.
Wenn alles in Ordnung ist, verbinden Sie sich jetzt über VNC mit Ihrem Raspberry Pi, damit Sie in Echtzeit sehen können, was die Drohne sieht.
Jetzt können Sie Ihre Drohne bewaffnen. Aufregend, oder?
Nehmen Sie Ihre Drohne ab und fliegen Sie über die Linienspur. Jetzt können Sie den Linienverfolgungsmodus aktivieren, indem Sie den Schalter CH6 verwenden.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
Raspbian in Raspberry Pi 3 B ohne HDMI installieren - Erste Schritte mit Raspberry Pi 3B - Einrichten Ihres Raspberry Pi 3: 6 Schritte
Raspbian in Raspberry Pi 3 B ohne HDMI installieren | Erste Schritte mit Raspberry Pi 3B | Einrichten Ihres Raspberry Pi 3: Wie einige von Ihnen wissen, sind Raspberry Pi-Computer ziemlich großartig und Sie können den gesamten Computer nur auf einer einzigen winzigen Platine bekommen. Das Raspberry Pi 3 Model B verfügt über einen Quad-Core 64-Bit ARM Cortex A53 mit 1,2 GHz getaktet. Damit ist der Pi 3 ungefähr 50