Sadržaj:
- Korak 1: Ideja i veze
- Korak 2: Raspberry Pi veze i konfiguracija
- Korak 3: APM veze i konfiguracija
- Korak 4: Arduino Leonardo konfiguracija
- Korak 5: Prvi let
Video: Dron s autonomnim linijskim sljedbenikom s Raspberry Pi: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
Ovaj vodič pokazuje kako na kraju možete napraviti bespilotnu letjelicu koja prati sljedbenike.
Ovaj dron će imati prekidač za "autonomni način rada" koji će ući u dron u način rada. Dakle, i dalje možete upravljati svojim dronom kao i prije.
Imajte na umu da će za izgradnju biti potrebno više vremena, a još više za prilagođavanje. Ali posljednje … čini da razmislite da li 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 sa velikom brzinom takta
- Najmanje 6 CH odašiljača
- USB web kamera koju podržavaju Raspberry Pi i OpenCV
- PC
- 6 tranzistora opće namjene
- Ožičenje kablova
Korak 1: Ideja i veze
APM, zvani ArduPilot, je kontrolor leta zasnovan na Arduino Mega. To znači da ga možemo izmijeniti kako bi bilo najbolje za naš slučaj. No, budući da nemam informacije za to, ići ću drugim putem.
Raspberry Pi, nažalost, nisu 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 će ovdje 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 kola.
Raspberry Pi će se ponašati kao odašiljač telemetrije uz liniju detekcije.
Osnovno kolo prikazano je na slikama. Objasniću u narednim koracima.
Korak 2: Raspberry Pi veze i konfiguracija
Raspberry Pi će biti spojen na Wi-Fi adapter (opcionalno), USB web kameru, Arduino Leonardo putem USB-a, APM putem ugrađenog serijskog sučelja. APM - RPI veza prikazana sa detaljima na slikama.
Za konfiguraciju imate dvije mogućnosti: čisti Raspbian sa 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 update
sudo apt-get install -y ekran 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 instalirajte budući pymavlink mavproxy pyserial
Da biste koristili ugrađeno serijsko sučelje Raspberry Pi-a, 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. Druga linija čini skriptu za ponovno pokretanje izvršnom.
dodirnite reboot.sh image_processor.py
chmod +x reboot.sh
Kopirajte sve redove u dolje navedenim datotekama u svoj matični direktorij (/home/pi) u Raspberry Pi.
Skripta za ponovno pokretanje sadržavat će okidače koji će pokrenuti procesor slike i telemetrijske skripte. Takođe nekoliko postavki. Imajte na umu da ako ne želite funkciju telemetrije, dodajte # ispred tog retka.
nano reboot.sh
#!/bin/bash
python3 /home/pi/image_processor.py
Sačuvajte ga pomoću CTRL+O i izađite sa CTRL+X. Posljednji korak je registracija u datoteku za pokretanje OS -a, rc.local
sudo nano /etc/rc.local
Dodajte ovu liniju 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. Ali budući da Raspberry Pi nije u stanju generirati PPM signal koji APM želi, potreban nam je drugi način da to postignemo.
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 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 listu 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 veze INPUT pinova. Kao što je prikazano na slici, povežite Arduinove digitalne pinove 4 temeljito 9. Za to ćete možda htjeti upotrijebiti kruh 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: Arduino Leonardo konfiguracija
Povezali smo sve žice za Leonarda tako da je ostao samo kôd.
Postavite donji kôd ispod na svoj Arduino Leonardo. Obratite pažnju na brzinu prijenosa.
Korak 5: Prvi let
Kada završite sa svim prethodnim koracima, to znači da ste spremni.
Uključite sve kartice i povežite se pomoću SSH na Raspberry Pi. Upišite terminal:
sudo su
mavproxy.py --master =/dev/[SERIJSKI INTERFEJS] -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 porta je 57600
Zadana brzina prijenosa APM USB porta je 115200
Vašem zrakoplovu možete dati bilo koje ime, pametno ga odabrati kako biste ga kasnije prepoznali.
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čuje se:
NAJHLADNIJI DRON U POVIJESTI: 6 koraka
NAJHLAĐI DRON U POVIJESTI: Dobro došli! Ovdje je najhladniji dron u povijesti koji nikada prije niste vidjeli (ili sam to možda samo ja) Ovdje su sve potrebne stvari: Flybrix unaprijed programirana leteća ploča Lego Bricks MotorsSmartfon/tablet (ovo je za upravljanje dronom) Letimo
Autonomni dron za isporuku sa fiksnim krilom (3D ispis): 7 koraka (sa slikama)
Autonomni bespilotni letjelica sa fiksnim krilima (3D štampano): Tehnologija dronova je jako evoluirala jer nam je mnogo pristupačnija nego prije. Danas možemo vrlo lako izgraditi bespilotnu letjelicu, a može biti i autonomna te se njome može upravljati bilo gdje u svijetu. Drone tehnologija može promijeniti naš svakodnevni život. Dostava
Dron podvodni daljinski upravljač: 10 koraka (sa slikama)
Podvodni dron na daljinsko upravljanje: Odlučio sam izgraditi ovaj ROV u svrhu istraživanja i divljenja podvodnom svijetu jer tamo nema mnogo isplativih podvodnih bespilotnih letjelica. Iako oduzima puno vremena, istraživanja i autodidaktizma, zabavan je projekt
Sklopivi 3D štampani dron: 6 koraka
Sklopivi 3D štampani bespilotni letjelica: bespilotna letjelica za štampanje koju možete sami napraviti i koju možete staviti u džep. Ovaj sam projekt započeo samo kao eksperiment, da vidim da li bi trenutni stolni 3D ispis mogao biti održiva opcija za okvir drona, ali i uzeti prednost potpuno prilagođene prirode i maka
Autonomni dron sa infracrvenom kamerom za pomoć prvim osobama u hitnim slučajevima: 7 koraka
Autonomni dron s infracrvenom kamerom za pomoć prvim osobama u hitnim slučajevima: Prema izvještaju Svjetske zdravstvene organizacije, svake godine prirodne katastrofe ubiju oko 90.000 ljudi i pogodiju blizu 160 miliona ljudi širom svijeta. Prirodne katastrofe uključuju zemljotrese, tsunamije, erupcije vulkana, klizišta, uragane, poplave