Cuprins:

Dron autonom de linie cu Raspberry Pi: 5 pași
Dron autonom de linie cu Raspberry Pi: 5 pași

Video: Dron autonom de linie cu Raspberry Pi: 5 pași

Video: Dron autonom de linie cu Raspberry Pi: 5 pași
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Noiembrie
Anonim
Dron autonom de linie cu Raspberry Pi
Dron autonom de linie cu Raspberry Pi

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

Ideea și conexiunile
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

Conexiuni și configurare Raspberry Pi
Conexiuni și configurare Raspberry Pi
Conexiuni și configurare Raspberry Pi
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

Conexiuni și configurare APM
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: