Taula de continguts:
- Pas 1: la idea i les connexions
- Pas 2: connexions i configuració de Raspberry Pi
- Pas 3: Configuració i connexions APM
- Pas 4: Configuració d'Arduino Leonardo
- Pas 5: primer vol
Vídeo: Drone seguidor de línia autònoma amb Raspberry Pi: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Aquest tutorial mostra com es pot fer que el seguidor de línia es pugui fer un drone eventualment.
Aquest dron tindrà un commutador de "mode autònom" que entrarà al mode de dron. Per tant, encara podeu volar el vostre dron com abans.
Tingueu en compte que trigarà temps a construir-se i encara més temps a ajustar-se. Però l'últim … fa pensar que val la pena.
Per començar a crear el vostre propi dron de seguiment de línia autonomus, assegureu-vos que teniu;
- Rasberry Pi 3 o Raspberry Pi Zero W amb accés SSH
- Drone llest per volar amb controlador de vol APM o Pixhawk
- Arduino Leonardo o un altre Arduino amb velocitat de rellotge ràpida
- Transmissor de 6 CH com a mínim
- Càmera web USB que admet Raspberry Pi i OpenCV
- Un PC
- 6 transistors d'ús general
- Cables de cablejat
Pas 1: la idea i les connexions
APM, també conegut com ArduPilot, és un controlador de vol basat en Arduino Mega. Això significa que podem modificar-lo perquè sigui el millor per al nostre cas. Però com que no tinc la informació necessària per fer-ho, vaig a seguir un altre camí.
Malauradament, els Raspberry Pi no són sensibles al temps, cosa que significa que no pot fer front als senyals PPM.
Per això necessitem la placa Arduino addicional.
D’aquesta manera, Raspberry Pi processarà les imatges i calcularà les instruccions de vol i les enviarà a Arduino mitjançant la interfície Serial UART. La targeta Arduino es mantindrà aquí com a codificador / descodificador PPM, que codifica les instruccions de vol als senyals PPM que vol APM. Per tenir una idea, podeu examinar el diagrama de circuits simbòlics.
Raspberry Pi es comportarà com a transmissor de telemetria al costat de la línia de detecció.
El circuit essencial es mostra a les imatges. Seguiré explicant en els passos següents.
Pas 2: connexions i configuració de Raspberry Pi
Raspberry Pi es connectarà a un adaptador Wi-Fi (opcional), càmera web USB, Arduino Leonardo mitjançant USB, APM mitjançant una interfície sèrie integrada. La connexió APM - RPI es mostra amb detalls a les imatges.
Per configurar-lo, teniu dues opcions: Raspbian pur amb els paquets necessaris o una imatge especial per a la connexió MAVLink anomenada APSync. Si utilitzeu Raspbian, assegureu-vos que heu instal·lat aquests paquets:
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 instal·la el futur pymavlink mavproxy pyserial
Per utilitzar la interfície sèrie integrada de Raspberry Pi, heu de dir al sistema operatiu que no l'utilitzi. Per fer-ho, escriviu
sudo raspi-config
i seguiu Opcions d'interfície> Interfície sèrie
Heu de desactivar la interfície sèrie però habilitar el maquinari en sèrie.
En aquest moment, la resta és adequat tant per a Raspbian com per a APSync.
Al directori inicial, creeu tres fitxers: script de reinici i scriptt del processador d’imatges. La segona línia fa que el script de reinici sigui executable.
toqueu reboot.sh image_processor.py
chmod + x reboot.sh
Copieu totes les línies dels fitxers que es mostren a continuació al directori inicial (/ home / pi) de Raspberry Pi.
L'escript de reinici contindrà activadors que activaran scripts de processador d'imatges i telemetria. També pocs paràmetres. Tingueu en compte que si no voleu la funció de telemetria, afegiu # abans d’aquesta línia.
nano reboot.sh
#! / bin / bash
python3 /home/pi/image_processor.py
Deseu-lo amb CTRL + O i sortiu amb CTRL + X. L’últim pas al respecte és registrar-lo al fitxer d’inici del sistema operatiu, rc.local
sudo nano /etc/rc.local
Afegiu aquesta línia per sobre de la sortida 0:
/home/pi/reboot.sh
El nostre script de reinici s’executarà a cada arrencada.
Volem que Raspberry Pi enregistre vídeo en directe, el processi sobre la marxa, calculi les instruccions de vol, l’enviï al controlador de vol i sigui telemètric. Però com que Raspberry Pi no és capaç de generar senyals PPM que vol APM, necessitem una altra manera d’aconseguir-ho.
Raspberry Pi enviarà la seva sortida de processament d’imatges a Arduino (en el meu cas Arduino Leonardo) a través del port sèrie. Arduino generarà senyal PPM des d’aquesta entrada i l’enviarà al controlador de vol mitjançant cables de pont. Tot això per Raspberry Pi.
Passem al següent pas.
Pas 3: Configuració i connexions APM
Les coses sobre APM són senzilles, ja que ja estan a punt per volar. Hem de conèixer els nivells de transmissió dels ports sèrie i assegurar-nos que el port TELEM estigui habilitat.
Al meu programari terrestre, en el meu cas Mission Planner, comproveu la llista de paràmetres del controlador de vol i busqueu els baudrates. Per exemple, SERIAL_BAUD és una velocitat de transmissió USB i SERIAL_BAUD1 és una velocitat de transmissió de port TELEM per a APM. Tingueu en compte que els valors.
La part més important són les connexions dels pins INPUT. Com es mostra a la imatge, connecteu els pins digitals d'Arduino 4 a fons 9. És possible que vulgueu fer servir una placa de connexió, ja que afegirem alguns transistors i sortides del receptor. (Veure imatges) (Els transistors funcionaran en cas que vulgueu controlar el vostre dron)
ARD 4 ↔ APM INPUT 1
ARD 5 ↔ APM INPUT 2
ARD 6 ↔ APM INPUT 3
ARD 7 ↔ APM INPUT 4
ARD 8 ↔ APM INPUT 5
ARD 9 ↔ APM INPUT 6
Connecteu tots els pins de 5V de l'entrada APM al pin 5V d'Arduino Leonardo. Connecteu també tots els pins GND d’entrada APM al pin GND Arduino Leonardo.
Pas 4: Configuració d'Arduino Leonardo
Hem connectat tots els cables de Leonardo, de manera que només queda el codi.
Pengeu el codi indicat a continuació al vostre Arduino Leonardo. Presteu atenció a les baudrates.
Pas 5: primer vol
Quan hàgiu acabat amb tots els passos anteriors, vol dir que esteu a punt.
Enceneu totes les targetes i connecteu-vos amb SSH a Raspberry Pi. Escriviu el terminal:
sudo su
mavproxy.py --master = / dev / [INTERFACE SERIAL] --baudrate [TELEM PORT BAUDRATE] --aircraft [NOM PERSONALITZAT
La interfície sèrie integrada de Raspberry Pi per defecte és ttyS0 (/ dev / ttyS0)
La velocitat de transmissió del port APM TELEM és 57600
La velocitat de transmissió del port USB APM per defecte és 115200
Podeu posar qualsevol nom a la vostra aeronau, triar-la amb prudència perquè pugueu reconèixer-la més endavant.
Si tot està bé, ara connecteu-vos al vostre Raspberry Pi mitjançant VNC, de manera que pugueu veure què veu el dron en temps real.
Ara, podeu armar el vostre dron. Emocionant, oi?
Treu el dron i vola per sobre de la pista de línia. Ara podeu activar el mode de seguiment de línia mitjançant el commutador CH6.
Recomanat:
Robot seguidor de línia amb PICO: 5 passos (amb imatges)
Robot de seguiment de línia amb PICO: abans de ser capaç de crear un robot que pugui acabar amb la civilització tal com la coneixem i sigui capaç d’acabar amb la raça humana. Primer heu de ser capaç de crear els robots simples, que poden seguir una línia dibuixada a terra, i aquí és on no podreu
Seguidor de línia simple amb Arduino: 5 passos
Seguidor de línia simple utilitzant Arduino: robot Arduino Line Follower En aquest tutorial, parlarem del funcionament d’un robot Arduino que segueix una línia negra en fons blanc i prendrà el gir correcte sempre que arribi a les corbes al seu pas. Arduino Line Follower Co
Com fer el robot seguidor de línia més petit del món (robo Rizeh): 7 passos (amb imatges)
Com fer el robot seguidor de línia més petit del món (robo Rizeh): Com fer un robot seguidor de línia més petit del món (vibrobot) "roboRizeh" pes: 5gr mida: 19x16x10 mm per: Naghi Sotoudeh La paraula "Rizeh" és una paraula persa que significa "petit". Rizeh és una vibració molt petita basada
Robot seguidor de línia amb PIC18F: 7 passos
Robot seguidor de línia amb PIC18F: RACE LINKI va fabricar aquest robot seguidor de línia per al meu curs de microcontroladors a la universitat. Així doncs, he creat aquest robot bàsic seguidor de línia amb la foto 18f2520 i he utilitzat el compilador de PIC CCS. Hi ha molts projectes de seguidors de línia a Internet amb ardunio
Robot seguidor de línia: 11 passos (amb imatges)
Robot de seguiment de línia: vaig fer un robot seguidor de línia amb microprocessador PIC16F84A equipat amb 4 sensors IR. Aquest robot pot funcionar sobre les línies en blanc i negre