Kazalo:
- 1. korak: Ideja in povezave
- 2. korak: Povezave in konfiguracija Raspberry Pi
- 3. korak: Povezave in konfiguracija APM
- 4. korak: Konfiguracija Arduino Leonardo
- 5. korak: Prvi let
Video: Dron avtonomnega sledilca linij z Raspberry Pi: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Ta vadnica prikazuje, kako lahko sčasoma naredite brezpilotnega sledilca.
Ta dron bo imel stikalo za "avtonomni način", ki bo vstopilo v dron v način. Torej lahko še vedno upravljate z dronom kot prej.
Zavedajte se, da bo za izgradnjo potreben čas in še več časa za prilagoditev. Toda zadnja… vas prepriča, da se vam splača.
Če želite začeti ustvarjati lasten dron za avtonomno sledenje linijam, se prepričajte, da imate;
- Rasberry Pi 3 ali Raspberry Pi Zero W z dostopom SSH
- Dron pripravljen za letenje z APM ali krmilnikom leta Pixhawk
- Arduino Leonardo ali drug Arduino s hitro uro
- Najmanj 6 CH oddajnik
- Spletna kamera USB, ki jo podpirata Raspberry Pi in OpenCV
- PC
- 6 tranzistorjev za splošno uporabo
- Ožičenje kablov
1. korak: Ideja in povezave
APM, znan tudi kot ArduPilot, je kontrolor letenja, ki temelji na Arduino Mega. To pomeni, da ga lahko spremenimo, da bo najbolje za naš primer. Ker pa za to nimam informacij, bom šel po drugi poti.
Raspberry Pi na žalost niso časovno občutljivi, kar pomeni, da se ne morejo spoprijeti s signali PPM.
Zato potrebujemo dodatno ploščo Arduino.
Na ta način bo Raspberry Pi obdelal slike in izračunal navodila za letenje ter jih poslal v Arduino prek vmesnika Serial UART. Kartica Arduino bo tu stala kot kodirnik/dekodirnik PPM, ki kodira navodila za letenje do signalov PPM, ki jih želi APM. Za idejo si lahko ogledate simbolni diagram vezja.
Raspberry Pi se bo ob detekcijski liniji obnašal kot telemetrični oddajnik.
Bistveno vezje je prikazano na slikah. Razlago bom nadaljeval v naslednjih korakih.
2. korak: Povezave in konfiguracija Raspberry Pi
Raspberry Pi bo povezan z vmesnikom Wi-Fi (izbirno), spletno kamero USB, Arduino Leonardo prek USB-ja, APM prek vgrajenega serijskega vmesnika. APM - Povezava RPI je prikazana s podrobnostmi na slikah.
Za konfiguracijo imate dve možnosti: čisti Raspbian s potrebnimi paketi ali posebno sliko za povezavo MAVLink, imenovano APSync. Če boste uporabljali Raspbian, se prepričajte, da ste namestili te pakete:
sudo apt-get posodobitev
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 namestite bodoči pymavlink mavproxy pyserial
Če želite uporabljati vgrajen serijski vmesnik Raspberry Pi, morate operacijskemu sistemu povedati, da ga ne uporablja. Če želite to narediti, vnesite
sudo raspi-config
in sledite Možnosti vmesnika> Zaporedni vmesnik
Morate onemogočiti serijski vmesnik, vendar omogočiti serijsko strojno opremo.
Na tem mestu je ostalo primerno tako za Raspbian kot za APSync.
V domačem imeniku ustvarite tri datoteke: skript za ponovni zagon in slikovni procesor. Druga vrstica omogoča ponovni zagon skripta.
dotaknite se reboot.sh image_processor.py
chmod +x reboot.sh
Kopirajte vse vrstice spodaj navedenih datotek v domači imenik (/home/pi) v Raspberry Pi.
Skript za ponovni zagon bo vseboval sprožilce, ki bodo sprožili slikovni procesor in telemetrijske skripte. Tudi nekaj nastavitev. Upoštevajte, da če ne želite funkcije telemetrije, dodajte # pred to vrstico.
nano reboot.sh
#!/bin/bash
python3 /home/pi/image_processor.py
Shranite ga s CTRL+O in zapustite s CTRL+X. Zadnji korak pri tem je registracija v zagonsko datoteko OS, rc.local
sudo nano /etc/rc.local
To vrstico dodajte nad izhod 0:
/home/pi/reboot.sh
Naš skript za ponovni zagon se bo izvajal pri vsakem zagonu.
Želimo, da Raspberry Pi snema video v živo, ga obdeluje med letom, izračuna navodila za letenje, ga pošlje kontrolorju leta in telemetrizira. Ker pa Raspberry Pi ne more ustvariti PPM signala, ki ga želi APM, potrebujemo drug način za to.
Raspberry Pi bo svoj izhod za obdelavo slik poslal v Arduino (v mojem primeru Arduino Leonardo) prek serijskih vrat. Arduino bo iz tega vhoda ustvaril signal PPM in ga po žicah mostov poslal krmilniku letenja. To je vse za Raspberry Pi.
Preidimo na naslednji korak.
3. korak: Povezave in konfiguracija APM
Stvari pri APM so preproste, saj je že pripravljen za letenje. Moramo poznati baudrate serijskih vrat in se prepričati, da so vrata TELEM omogočena.
V moji prizemni programski opremi, v mojem primeru Načrtovalnik misij, preverite seznam parametrov kontrolorja leta in poiščite hitrost prenosa. Na primer, SERIAL_BAUD je hitrost prenosa USB in SERIAL_BAUD1 je hitrost prenosa vrat TELEM za APM. Upoštevajte, da so vrednosti.
Najpomembnejši del so povezave vhodov INPUT. Kot je prikazano na sliki, povežite digitalne zatiče Arduino 4 temeljito 9. Za to boste morda želeli uporabiti drobtino, saj bomo dodali nekaj tranzistorjev in sprejemnikov. (Glejte slike) (Tranzistorji bodo delovali, če želite prevzeti nadzor nad svojim brezpilotnim letalom)
ARD 4, APM Vhod 1
ARD 5, APM Vhod 2
ARD 6, Vhod APM 3
ARD 7, Vhod APM 4
ARD 8, APM Vhod 5
ARD 9, APM Vhod 6
Priključite vse 5V zatiče na vhodu APM na pin 5V Arduino Leonardo. Podobno priključite vse vhodne zatiče APM Input GND na pin Arduino Leonardo GND.
4. korak: Konfiguracija Arduino Leonardo
Za Leonarda smo povezali vse žice, tako da je ostala le koda.
Spodnjo kodo naložite v svoj Arduino Leonardo. Bodite pozorni na baudrate.
5. korak: Prvi let
Ko končate vse prejšnje korake, to pomeni, da ste pripravljeni.
Vklopite vse kartice in se povežite s SSH na Raspberry Pi. Vnesite terminal:
sudo su
mavproxy.py --master =/dev/[SERIAL INTERFACE] -hitrost prenosa [TELEM PORT BAUDRATE] -letalo [CUSTOM NAME
Privzeti vgrajen serijski vmesnik Raspberry Pi je ttyS0 (/dev/ttyS0)
Privzeta hitrost prenosa vrat APM TELEM je 57600
Privzeta hitrost prenosa USB APM je 115200
Svojemu letalu lahko daste katero koli ime, ga pametno izberite, da ga boste pozneje prepoznali.
Če je vse v redu, se zdaj povežite z Raspberry Pi prek VNC -ja, da boste lahko v realnem času gledali, kaj vidi dron.
Zdaj lahko oborožite svojega drona. Razburljivo, kajne?
Snemite svoj dron in letite nad progo. Zdaj lahko s stikalom CH6 aktivirate način sledenja liniji.
Priporočena:
KAKO NAPRAVITI ROBOTA Sledilca Arduino LINE (NASTAVLJIVO HITROST): 5 korakov
KAKO NAPRAVITI Arduino LINE FOLLOWER ROBOT (NASTAVLJIVO HITROST): zato vam bom v tej vadnici pokazal, kako preveč zgradite robota za sledenje linijam z nastavljivo hitrostjo
Kako narediti najmanjšega robotnega sledilca na svetu (robo Rizeh): 7 korakov (s slikami)
Kako narediti najmanjšega robota za sledenje liniji na svetu (robo Rizeh): Kako narediti najmanjšega robota za sledenje linij na svetu (vibrobot) " roboRizeh " teža: 5gr velikost: 19x16x10 mm avtor: Naghi Sotoudeh Beseda " Rizeh " je perzijska beseda, ki pomeni "majhen". Rizeh je zelo majhen ro
Wallace - Naredi sam avtonomnega robota - 5. del - Dodaj IMU: 9 korakov
Wallace - DIY avtonomni robot - 5. del - Dodaj IMU: Nadaljujemo skupaj z Wallaceom. Ime Wallace je prišlo iz mešanice " Wall-E ", in iz prejšnjega projekta (prepoznavanje glasu), in z uporabo " espeak " utility, zvenelo je nekoliko britansko. In kot sluga ali strežnik. In t
Kako narediti sledilca črte z uporabo Arduina: 8 korakov (s slikami)
Kako narediti linijskega sledilca z uporabo Arduina: Če šele začenjate z robotiko, je eden prvih projektov, ki jih naredi začetnik, sledilnik linij. To je poseben avtomobil z igračami, ki lahko teče vzdolž črte, ki je običajno črne barve in v nasprotju z ozadjem
Kako narediti avtonomnega robota za igranje košarke z uporabo IRobota Ustvari kot osnovo: 7 korakov (s slikami)
Kako narediti avtonomnega robota za igranje košarke z uporabo IRobota Ustvari kot osnovo: To je moj vnos za izziv iRobot Ustvari. Najtežji del tega celotnega procesa se mi je odločil, kaj bo robot počel. Želel sem pokazati kul lastnosti ustvarjanja, hkrati pa dodati nekaj robovskega pridiha. Vse moje