Cuprins:
- Pasul 1: Ideea și conexiunile
- Pasul 2: Conexiuni și configurare Raspberry Pi
- Pasul 3: Conexiuni și configurare APM
- Pasul 4: Configurare Arduino Leonardo
- Pasul 5: Primul zbor
Video: Dron autonom de linie cu Raspberry Pi: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Acest tutorial arată că modul în care puteți face drona în linii mari în cele din urmă.
Această dronă va avea un comutator „mod autonom” care va intra în dronă în modul. Deci, poți să-ți zbori drona ca și până acum.
Vă rugăm să fiți conștienți de faptul că va dura timp pentru a construi și chiar mai mult timp pentru a vă adapta. Dar ultima … vă face să credeți că merită.
Pentru a începe să creați propria dvs. dronă de urmărire a liniei autonomus, asigurați-vă că aveți;
- Rasberry Pi 3 sau Raspberry Pi Zero W cu acces SSH
- Dronă gata de zbor cu controler de zbor APM sau Pixhawk
- Arduino Leonardo sau un alt Arduino cu viteză de ceas rapidă
- Transmițător de cel puțin 6 CH
- Cameră web USB acceptată de Raspberry Pi și OpenCV
- Un PC
- 6 tranzistori de uz general
- Cabluri de cablare
Pasul 1: Ideea și conexiunile
APM, alias ArduPilot, este un controler de zbor bazat pe Arduino Mega. Acest lucru înseamnă că îl putem modifica pentru a fi cel mai potrivit pentru cazul nostru. Dar, din moment ce nu am informații pentru a face acest lucru, voi merge să urmez un alt drum.
Din păcate, Raspberry Pi nu sunt sensibile la timp, ceea ce înseamnă că nu poate face față semnalelor PPM.
De aceea avem nevoie de placa Arduino suplimentară.
În acest fel, Raspberry Pi va procesa imaginile și va calcula instrucțiunile de zbor și le va trimite la Arduino prin interfața Serial UART. Cardul Arduino va rămâne aici ca un codificator / decodor PPM, care codifică instrucțiunile de zbor la semnalele PPM dorite de APM. Pentru a avea o idee, puteți examina schema circuitului simbolic.
Raspberry Pi se va comporta ca un emițător de telemetrie alături de linia de detectare.
Circuitul esențial este prezentat în imagini. Voi explica în continuare în următorii pași.
Pasul 2: Conexiuni și configurare Raspberry Pi
Raspberry Pi va fi conectat la adaptor Wi-Fi (opțional), cameră web USB, Arduino Leonardo prin USB, APM prin interfață serială încorporată. Conexiune APM - RPI afișată cu detalii în imagini.
Pentru a configura, aveți două opțiuni: Raspbian pur cu pachetele necesare sau imagine specială pentru conexiunea MAVLink numită APSync. Dacă aveți de gând să utilizați Raspbian, asigurați-vă că ați instalat aceste pachete:
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 instalează viitorul pymavlink mavproxy pyserial
Pentru a utiliza interfața serială încorporată a Raspberry Pi, trebuie să spuneți sistemului de operare să nu o folosească. Pentru a face acest lucru, tastați
sudo raspi-config
și urmați Opțiuni de interfață> Interfață serială
Trebuie să dezactivați interfața serială, dar să activați hardware-ul serial.
În acest moment, restul este potrivit atât pentru Raspbian, cât și pentru APSync.
În directorul de pornire, creați trei fișiere: script de repornire și procesor de imagini scriptt. A doua linie face ca scriptul de repornire să fie executabil.
atingeți reboot.sh image_processor.py
chmod + x reboot.sh
Copiați toate liniile din fișierele de mai jos în directorul dvs. principal (/ home / pi) în Raspberry Pi.
Scriptul de repornire va conține declanșatoare care vor declanșa procesorul de imagine și scripturile de telemetrie. De asemenea, puține setări. Rețineți că, dacă nu doriți funcția de telemetrie, adăugați # înainte de acea linie.
nano reboot.sh
#! / bin / bash
python3 /home/pi/image_processor.py
Salvați-l cu CTRL + O și ieșiți cu CTRL + X. Ultimul pas despre aceasta este înregistrarea în fișierul de pornire al sistemului de operare, rc.local
sudo nano /etc/rc.local
Adăugați această linie deasupra ieșirii 0:
/home/pi/reboot.sh
Scriptul nostru de repornire va fi executat la fiecare boot.
Vrem ca Raspberry Pi să înregistreze videoclipuri live, să le proceseze din mers, să calculeze instrucțiunile de zbor, să le trimită controlerului de zbor și să fie telemetrice. Dar, din moment ce Raspberry Pi nu este capabil să genereze semnal PPM dorit de APM, avem nevoie de un alt mod de a-l realiza.
Raspberry Pi își va trimite ieșirea de procesare a imaginii către Arduino (în cazul meu Arduino Leonardo) prin Serial Port. Arduino va genera semnal PPM din acea intrare și îl va trimite la Flight Controller prin fire jumper. Totul este pentru Raspberry Pi.
Să trecem la pasul următor.
Pasul 3: Conexiuni și configurare APM
Lucrurile despre APM sunt simple, deoarece este deja gata de zbor. Trebuie să cunoaștem baudratele porturilor seriale și să ne asigurăm că portul TELEM este activat.
În software-ul dvs. de la sol, în cazul meu Mission Planner, verificați lista parametrilor controlerului de zbor și găsiți baudrates. De exemplu, SERIAL_BAUD este USB baudrate și SERIAL_BAUD1 este portul TELEM baudrate pentru APM. Rețineți că valorile.
Cea mai importantă parte sunt conexiunile pinilor INPUT. Așa cum se arată în imagine, conectați cu atenție pinii digitali Arduino 4 9. Poate doriți să utilizați un panou pentru aceasta, deoarece vom adăuga niște tranzistoare și ieșiri ale receptorului. (Vezi imagini) (tranzistoarele vor funcționa în cazul în care vrei să preia controlul dronei tale)
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
Conectați toți pinii de 5V de pe intrarea APM la pinul Arduino Leonardo de 5V. De asemenea, conectați toți pinii GND de intrare APM la pinul GND Arduino Leonardo.
Pasul 4: Configurare Arduino Leonardo
Am conectat toate firele pentru Leonardo, deci a rămas doar codul.
Încărcați codul dat mai jos pe Arduino Leonardo. Fii atent la baudrates.
Pasul 5: Primul zbor
Când ați terminat cu toți pașii anteriori, înseamnă că sunteți gata.
Porniți toate cardurile și conectați-vă cu SSH la Raspberry Pi. Tastați terminalul:
sudo su
mavproxy.py --master = / dev / [SERIAL INTERFACE] --baudrate [TELEM PORT BAUDRATE] --avioane [NUME PERSONALIZAT
Interfața standard încorporată Raspberry Pi este ttyS0 (/ dev / ttyS0)
Baudrate-ul implicit al portului APM TELEM este 57600
Baudrate-ul implicit al portului USB APM este 115200
Puteți da orice nume aeronavei dvs., alegeți-o cu înțelepciune, astfel încât să o puteți recunoaște mai târziu.
Dacă totul este în regulă, conectați-vă acum la Raspberry Pi prin VNC, astfel încât să puteți urmări ceea ce vede drona în timp real.
Acum, poți să-ți înarmezi drona. Emoționant, nu?
Scoate-ți drona și zboară deasupra liniei. Acum, puteți activa modul de urmărire a liniei utilizând comutatorul CH6.
Recomandat:
Afișaj LED în linie Jocuri Arduino: 7 pași (cu imagini)
Afișaj LED în linie Jocuri Arduino: alias Sistem de jocuri cu afișaj cu scări LED. Un Attiny-85 echipat cu hardware și software pentru a reda „video” plin de acțiune jocuri, pe un afișaj LED în linie. Are un afișaj multiplexat cu 12 LED-uri și acceptă până la 6 intrări de butoane și un opti
Proiectarea și construirea unui filtru de linie de alimentare pentru un încărcător de telefon Android: 5 pași
Proiectarea și construirea unui filtru de linie de alimentare pentru un încărcător de telefon Android: În acest manual, vă voi arăta cum să luați un cablu USB standard la mini USB, separați-l în mijloc și introduceți un circuit de filtrare care va reduce zgomotul excesiv sau hash produs de o sursă de alimentare tipică pentru Android. Am un portabil m
Derulați o singură linie LCD: 4 pași (cu imagini)
Scroll Single LCD Line: Biblioteca cu cristale lichide are două funcții utile scrollDisplayLeft () și scrollDisplayRight (). Aceste funcții derulează întregul ecran. Adică, derulează ambele linii pe un LCD 1602 și toate cele patru linii pe un LCD 2004. Ceea ce avem adesea nevoie este abi
O LINIE DE SENZOR URMĂTOARE ROBOT: 5 pași
UN SENZOR LINIE URMĂTOAREA ROBOTULUI: în acest instructable vă voi arăta cum să realizați un robot care urmărește linia folosind un singur senzor
Dron autonom de livrare cu aripă fixă (imprimat 3D): 7 pași (cu imagini)
Dronă autonomă de livrare cu aripă fixă (imprimată 3D): tehnologia dronelor a evoluat foarte mult, deoarece ne este mult mai accesibilă decât înainte. Astăzi putem construi o dronă foarte ușor și putem fi autonome și pot fi controlate din orice loc din lume Tehnologia Drone ne poate schimba viața de zi cu zi. Livrare