Table des matières:
- Étape 1: L'idée et les connexions
- Étape 2: Connexions et configuration du Raspberry Pi
- Étape 3: Connexions et configuration APM
- Étape 4: configuration de l'Arduino Leonardo
- Étape 5: premier vol
Vidéo: Drone suiveur de ligne autonome avec Raspberry Pi : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Ce tutoriel montre comment vous pouvez éventuellement créer un drone suiveur de ligne.
Ce drone aura un interrupteur "mode autonome" qui fera passer le drone en mode. Ainsi, vous pouvez toujours piloter votre drone comme avant.
Sachez qu'il faudra du temps pour construire et encore plus de temps pour s'adapter. Mais la finale… vous fait penser que ça vaut le coup.
Pour commencer à créer votre propre drone de suivi de ligne autonome, assurez-vous d'avoir:
- Rasberry Pi 3 ou Raspberry Pi Zero W avec accès SSH
- Drone prêt à voler avec contrôleur de vol APM ou Pixhawk
- Arduino Leonardo ou un autre Arduino avec une vitesse d'horloge rapide
- Émetteur au moins 6 canaux
- Webcam USB prise en charge par Raspberry Pi et OpenCV
- Un ordinateur
- 6 transistors à usage général
- Câbles de câblage
Étape 1: L'idée et les connexions
APM, alias ArduPilot, est un contrôleur de vol basé sur Arduino Mega. Cela signifie que nous pouvons le modifier pour qu'il soit le mieux adapté à notre cas. Mais comme je n'ai pas les informations pour le faire, je vais aller suivre une autre voie.
Les Raspberry Pi ne sont malheureusement pas sensibles au temps, ce qui signifie qu'ils ne peuvent pas gérer les signaux PPM.
C'est pourquoi nous avons besoin de la carte Arduino supplémentaire.
De cette façon, Raspberry Pi traitera les images et calculera les instructions de vol et les enverra à Arduino via l'interface Serial UART. La carte Arduino se tiendra ici en tant qu'encodeur/décodeur PPM, qui encode les instructions de vol en signaux PPM souhaités par APM. Pour vous faire une idée, vous pouvez examiner le schéma du circuit symbolique.
Raspberry Pi se comportera comme un émetteur de télémétrie à côté de la ligne de détection.
Le circuit essentiel est montré dans les images. Je vais continuer à expliquer dans les prochaines étapes.
Étape 2: Connexions et configuration du Raspberry Pi
Raspberry Pi sera connecté à l'adaptateur Wi-Fi (en option), à la webcam USB, à l'Arduino Leonardo via USB, à l'APM via l'interface série intégrée. APM - Connexion RPI illustrée avec des détails dans les images.
Pour configurer, vous avez deux options: Raspbian pur avec les packages nécessaires ou une image spéciale pour la connexion MAVLink appelée APSync. Si vous envisagez d'utiliser Raspbian, assurez-vous d'avoir installé ces packages:
sudo apt-get mise à jour
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 installer le futur pymavlink mavproxy pyserial
Pour utiliser l'interface série intégrée de Raspberry Pi, vous devez dire au système d'exploitation de ne pas l'utiliser. Pour ce faire, tapez
sudo raspi-config
et suivez Options d'interfaçage > Interface série
Vous devez désactiver l'interface série mais activer le matériel série.
À ce stade, le reste convient à la fois à Raspbian et à APSync.
Dans le répertoire personnel, créez trois fichiers: le script de redémarrage et le script du processeur d'image. La deuxième ligne rend le script de redémarrage exécutable.
touchez reboot.sh image_processor.py
chmod +x reboot.sh
Copiez toutes les lignes des fichiers ci-dessous dans votre répertoire personnel (/home/pi) dans Raspberry Pi.
Le script de redémarrage contiendra des déclencheurs qui vont déclencher des scripts de processeur d'image et de télémétrie. Aussi peu de réglages. Notez que si vous ne voulez pas de fonctionnalité de télémétrie, ajoutez # avant cette ligne.
nano reboot.sh
#!/bin/bash
python3 /home/pi/image_processor.py
Enregistrez-le avec CTRL+O et quittez avec CTRL+X. La dernière étape consiste à l'enregistrer dans le fichier de démarrage du système d'exploitation, rc.local
sudo nano /etc/rc.local
Ajoutez cette ligne au-dessus de la sortie 0:
/home/pi/reboot.sh
Notre script de redémarrage sera exécuté à chaque démarrage.
Nous voulons que Raspberry Pi enregistre une vidéo en direct, la traite à la volée, calcule les instructions de vol, l'envoie au contrôleur de vol et soit télémétrique. Mais étant donné que Raspberry Pi n'est pas capable de générer le signal PPM souhaité par APM, nous avons besoin d'un autre moyen de le faire.
Raspberry Pi enverra sa sortie de traitement d'image à Arduino (dans mon cas Arduino Leonardo) via le port série. Arduino générera un signal PPM à partir de cette entrée et l'enverra au contrôleur de vol via des cavaliers. C'est tout pour Raspberry Pi.
Passons à l'étape suivante.
Étape 3: Connexions et configuration APM
Les choses à propos d'APM sont simples puisqu'il est déjà prêt à voler. Nous devons connaître les débits en bauds des ports série et nous assurer que le port TELEM est activé.
Dans votre logiciel au sol, dans mon cas Mission Planner, vérifiez la liste des paramètres du contrôleur de vol et découvrez les baudrates. Par exemple, SERIAL_BAUD est le débit en bauds USB et SERIAL_BAUD1 est le débit en bauds du port TELEM pour APM. Notez que les valeurs.
La partie la plus importante est la connexion des broches INPUT. Comme le montre l'image, connectez les broches numériques d'Arduino 4 à 9. Vous voudrez peut-être utiliser une planche à pain pour cela, car nous allons ajouter des transistors et des sorties de récepteur. (Voir images) (Les transistors fonctionneront au cas où vous voudriez prendre le contrôle de votre drone)
ARD 4 APM ENTREE 1
ARD 5 APM ENTREE 2
ARD 6 APM ENTREE 3
ARD 7 APM ENTREE 4
ARD 8 ↔ APM ENTREE 5
ARD 9 APM ENTREE 6
Connectez toutes les broches 5V de l'entrée APM à la broche Arduino Leonardo 5V. De même, connectez toutes les broches GND d'entrée APM à la broche GND d'Arduino Leonardo.
Étape 4: configuration de l'Arduino Leonardo
Nous avons connecté tous les fils pour Leonardo donc il ne reste que le code.
Téléchargez le code ci-dessous sur votre Arduino Leonardo. Faites attention aux débits en bauds.
Étape 5: premier vol
Lorsque vous avez terminé toutes les étapes précédentes, cela signifie que vous êtes prêt.
Mettez toutes les cartes sous tension et connectez-vous en SSH au Raspberry Pi. Saisissez la borne:
sudo su
mavproxy.py --master=/dev/[INTERFACE SÉRIE] --baudrate [TELEM PORT BAUDRATE] --aircraft [CUSTOM NAME
L'interface série intégrée par défaut du Raspberry Pi est ttyS0 (/dev/ttyS0)
La vitesse de transmission par défaut du port APM TELEM est 57600
La vitesse de transmission par défaut du port USB APM est 115200
Vous pouvez donner n'importe quel nom à votre avion, choisissez-le judicieusement, afin de pouvoir le reconnaître plus tard.
Si tout va bien, connectez-vous maintenant à votre Raspberry Pi via VNC pour pouvoir regarder ce que le drone voit en temps réel.
Maintenant, vous pouvez armer votre drone. Excitant, non ?
Enlevez votre drone et volez au-dessus de la piste de ligne. Maintenant, vous pouvez activer le mode de suivi de ligne en utilisant le commutateur CH6.
Conseillé:
Robot suiveur de ligne avec PICO : 5 étapes (avec photos)
Robot suiveur de ligne avec PICO : avant que vous ne soyez capable de créer un robot qui puisse mettre fin à la civilisation telle que nous la connaissons et capable de mettre fin à la race humaine. Vous devez d'abord être capable de créer les robots simples, ceux qui peuvent suivre une ligne tracée au sol, et c'est ici que vous allez t
Robot suiveur de ligne contrôlé mobile avec évitement d'obstacles : 6 étapes
Robot suiveur de ligne à contrôle mobile avec évitement d'obstacles : il s'agissait simplement d'une idée dans laquelle plusieurs fonctionnalités telles que l'évitement d'obstacles, le suivi de ligne, le contrôle mobile, etc. ont été mélangées et transformées en une seule pièce. Tout ce dont vous avez besoin est un contrôleur avec quelques capteurs et un tenue pour cette configuration. En cela, j'ai
Comment fabriquer le plus petit robot suiveur de ligne au monde (robo Rizeh): 7 étapes (avec photos)
Comment faire le plus petit robot suiveur de ligne du monde (robo Rizeh): Comment faire le plus petit robot suiveur de ligne du monde (vibrobot) "roboRizeh" poids : 5gr taille : 19x16x10 mm par : Naghi Sotoudeh Le mot "Rizeh" est un mot persan qui signifie "petit". Rizeh est un très petit ro basé sur les vibrations
Robot suiveur de ligne avec PIC18F : 7 étapes
Robot suiveur de ligne avec PIC18F : RACE LINKI a réalisé ce robot suiveur de ligne pour mon cours de microcontrôleur à l'université. J'ai donc créé ce robot suiveur de ligne de base en utilisant Pic 18f2520 et j'ai utilisé le compilateur de PIC CCS. Il existe de nombreux projets de suiveurs de ligne sur internet avec ardunio
Robot suiveur de ligne : 11 étapes (avec photos)
Robot suiveur de ligne : J'ai réalisé un robot suiveur de ligne avec microprocesseur PIC16F84A équipé de 4 capteurs IR. Ce robot peut courir sur les lignes noires et blanches