Sadržaj:

Dron s autonomnim linijskim sljedbenikom s Raspberry Pi: 5 koraka
Dron s autonomnim linijskim sljedbenikom s Raspberry Pi: 5 koraka

Video: Dron s autonomnim linijskim sljedbenikom s Raspberry Pi: 5 koraka

Video: Dron s autonomnim linijskim sljedbenikom s Raspberry Pi: 5 koraka
Video: Невероятное Изобретение - Этот Дрон Изменит Все 2024, Srpanj
Anonim
Dron s autonomnim linijskim sljedbenikom s Raspberry Pi
Dron s autonomnim linijskim sljedbenikom s Raspberry Pi

Ovaj vodič pokazuje kako na kraju možete napraviti bespilotnu letjelicu sljedbenicima.

Ovaj će dron imati prekidač za "autonomni način rada" koji će ući u dron u način rada. Dakle, i dalje možete letjeti svojim dronom kao i prije.

Imajte na umu da će za izgradnju biti potrebno više vremena, a još više za prilagodbu. No, posljednje … čini da pomislite da se isplati.

Za početak stvaranja vlastitog drona za autonomnu liniju za praćenje, provjerite imate li;

  • Rasberry Pi 3 ili Raspberry Pi Zero W sa SSH pristupom
  • Bespilotna letjelica spremna za let s APM ili Pixhawk kontrolerom leta
  • Arduino Leonardo ili neki drugi Arduino s velikom brzinom takta
  • Najmanje 6 CH odašiljač
  • USB web kamera koju podržavaju Raspberry Pi i OpenCV
  • PC
  • 6 tranzistora opće namjene
  • Ožičenje kabela

Korak 1: Ideja i veze

Ideja i veze
Ideja i veze

APM, zvani ArduPilot, kontrolor je leta baziran na Arduino Mega. To znači da ga možemo izmijeniti kako bi bio najbolji za naš slučaj. No, budući da nemam informacije za to, ići ću slijedećim putem.

Raspberry Pi nisu, nažalost, osjetljivi na vrijeme, što znači da se ne mogu nositi s PPM signalima.

Zato nam je potrebna dodatna Arduino ploča.

Na ovaj način, Raspberry Pi će obraditi slike i izračunati upute za let te ih poslati na Arduino putem serijskog UART sučelja. Arduino kartica ovdje će stajati kao PPM koder/dekoder, koji kodira upute za let prema PPM signalima koje APM želi. Da biste imali ideju, možete pregledati simbolički dijagram kruga.

Raspberry Pi će se ponašati kao odašiljač telemetrije uz liniju detekcije.

Bitni krug prikazan je na slikama. Nastavit ću objašnjavati u sljedećim koracima.

Korak 2: Veze i konfiguracija Raspberry Pi

Raspberry Pi veze i konfiguracija
Raspberry Pi veze i konfiguracija
Raspberry Pi veze i konfiguracija
Raspberry Pi veze i konfiguracija

Raspberry Pi bit će spojen na Wi-Fi adapter (opcija), USB web kameru, Arduino Leonardo putem USB-a, APM putem ugrađenog serijskog sučelja. APM - RPI veza prikazana s detaljima na slikama.

Za konfiguraciju imate dvije mogućnosti: čisti Raspbian s potrebnim paketima ili posebnu sliku za MAVLink vezu koja se zove APSync. Ako ćete koristiti Raspbian, provjerite jeste li instalirali ove pakete:

sudo apt-get ažuriranje

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

Da biste koristili ugrađeno serijsko sučelje Raspberry Pi, morate reći OS-u da ga ne koristi. Da biste to učinili, upišite

sudo raspi-config

i slijedite Opcije sučelja> Serijsko sučelje

Morate onemogućiti serijsko sučelje, ali omogućiti serijski hardver.

U ovom trenutku ostalo je prikladno i za Raspbian i za APSync.

U kućnom direktoriju stvorite tri datoteke: skriptu za ponovno pokretanje i skriptu procesora slike. Drugi redak čini skriptu za ponovno pokretanje izvršnom.

dodirnite reboot.sh image_processor.py

chmod +x ponovno podizanje sustava.sh

Kopirajte sve retke dolje navedenih datoteka u svoj matični direktorij (/home/pi) u Raspberry Pi.

Skripta za ponovno pokretanje sadržavat će okidače koji će pokrenuti procesore slike i telemetrijske skripte. Također nekoliko postavki. Imajte na umu da ako ne želite značajku telemetrije, dodajte # ispred tog retka.

nano ponovno podizanje sustava.sh

#!/bin/bash

python3 /home/pi/image_processor.py

Spremite ga s CTRL+O i izađite s CTRL+X. Zadnji korak u vezi s tim je registriranje u datoteku za pokretanje OS -a, rc.local

sudo nano /etc/rc.local

Dodajte ovaj redak iznad izlaza 0:

/home/pi/reboot.sh

Naša skripta za ponovno pokretanje izvršavat će se pri svakom pokretanju.

Želimo da Raspberry Pi snima video uživo, obrađuje ga u hodu, izračunava upute za let, šalje ga kontroloru leta i telemetrizira. No, budući da Raspberry Pi nije u stanju generirati PPM signal koji APM želi, potreban nam je drugi način za to.

Raspberry Pi će poslati izlaz za obradu slike na Arduino (u mom slučaju Arduino Leonardo) putem serijskog porta. Arduino će generirati PPM signal s tog ulaza i poslati ga kontroleru leta preko kratkospojnih žica. Ovo je sve za Raspberry Pi.

Prijeđimo na sljedeći korak.

Korak 3: APM veze i konfiguracija

APM veze i konfiguracija
APM veze i konfiguracija

APM je jednostavan jer je već spreman za let. Moramo znati brzinu prijenosa serijskih portova i provjeriti je li omogućen TELEM port.

U vašem zemaljskom softveru, u mom slučaju Planer misija, provjerite popis parametara kontrolora leta i saznajte brzinu prijenosa. Na primjer, SERIAL_BAUD je brzina prijenosa USB -a, a SERIAL_BAUD1 je brzina prijenosa TELEM porta za APM. Imajte na umu da vrijednosti.

Najvažniji dio su spojevi INPUT pinova. Kao što je prikazano na slici, povežite Arduinove digitalne pinove 4 temeljito 9. Za to ćete možda htjeti upotrijebiti krušni krug jer ćemo dodati neke tranzistore i prijemnike. (Pogledajte slike) (Tranzistori će raditi u slučaju da želite preuzeti kontrolu nad svojim dronom)

ARD 4, APM ULAZ 1

ARD 5, APM ULAZ 2

ARD 6, APM ULAZ 3

ARD 7, APM ULAZ 4

ARD 8, APM ULAZ 5

ARD 9, APM ULAZ 6

Spojite sve 5V pinove na APM ulazu s Arduino Leonardo 5V pinom. Isto tako spojite sve APM ulazne GND pinove na Arduino Leonardo GND pin.

Korak 4: Konfiguracija Arduina Leonarda

Povezali smo sve žice za Leonarda pa je ostao samo kôd.

Prenesite donji kôd u nastavku na svoj Arduino Leonardo. Obratite pažnju na baudrate.

Korak 5: Prvi let

Kad završite sa svim prethodnim koracima, to znači da ste spremni.

Uključite sve kartice i povežite se pomoću SSH -a na Raspberry Pi. Upišite terminal:

sudo su

mavproxy.py --master =/dev/[SERIAL INTERFACE] -brzina prijenosa [TELEM PORT BAUDRATE] -zrakoplov [CUSTOM NAME

Zadano ugrađeno serijsko sučelje Raspberry Pi je ttyS0 (/dev/ttyS0)

Zadana brzina prijenosa APM TELEM priključka je 57600

Zadana brzina prijenosa APM USB priključka je 115200

Vašem zrakoplovu možete dati bilo koje ime, pametno ga odabrati kako biste ga kasnije mogli prepoznati.

Ako je sve u redu, sada se povežite na svoj Raspberry Pi putem VNC -a, tako da možete gledati što bespilotna letjelica vidi u stvarnom vremenu.

Sada možete naoružati svoj dron. Uzbudljivo, zar ne?

Skinite dron i letite iznad linije. Sada možete aktivirati način praćenja linija pomoću prekidača CH6.

Preporučeni: