Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tämä opetusohjelma osoittaa, kuinka voit tehdä linjanseurantalennokin lopulta.
Tässä dronessa on "autonominen tila" -kytkin, joka siirtyy drone -tilaan. Joten voit silti lentää droonillasi kuten ennenkin.
Huomaa, että rakentaminen vie aikaa ja vielä enemmän aikaa sopeutumiseen. Mutta viimeinen… saa sinut ajattelemaan sen arvoista.
Aloita oman autonomus -linjaseurantadronin luominen varmista, että sinulla on;
- Rasberry Pi 3 tai Raspberry Pi Zero W SSH -yhteydellä
- Lentovalmis drone APM- tai Pixhawk-lennonohjaimella
- Arduino Leonardo tai toinen Arduino, jolla on nopea kellonopeus
- Vähintään 6 -kanavainen lähetin
- USB -verkkokamera, jota Raspberry Pi ja OpenCV tukevat
- PC
- 6 yleiskäyttöistä transistoria
- Johdotuskaapelit
Vaihe 1: Idea ja yhteydet
APM, eli ArduPilot, on Arduino Megaan perustuva lennonohjain. Tämä tarkoittaa, että voimme muokata sitä parhaaksi tapaukseksemme. Mutta koska minulla ei ole siihen tarvittavia tietoja, aion seurata toista tapaa.
Raspberry Pi -laitteet eivät valitettavasti ole aikaherkkiä, mikä tarkoittaa, että ne eivät voi käsitellä PPM-signaaleja.
Siksi tarvitsemme ylimääräisen Arduino -levyn.
Tällä tavalla Raspberry Pi käsittelee kuvat ja laskee lento -ohjeet ja lähettää sen Arduinolle UART -liitännän kautta. Arduino -kortti seisoo täällä PPM -kooderina/-dekooderina, joka koodaa lento -ohjeet APM: n haluamiin PPM -signaaleihin. Jos haluat idean, voit tutkia symbolista piirikaaviota.
Raspberry Pi toimii telemetrialähettimenä tunnistuslinjan rinnalla.
Olennainen piiri näkyy kuvissa. Jatkan selittämistä seuraavissa vaiheissa.
Vaihe 2: Raspberry Pi -yhteydet ja -määritykset
Raspberry Pi yhdistetään Wi-Fi-sovittimeen (valinnainen), USB-verkkokameraan, Arduino Leonardo -laitteeseen USB: n kautta, APM: ään sisäänrakennetun sarjaliitännän kautta. APM - RPI -yhteys ja yksityiskohdat kuvissa.
Määrittämistä varten sinulla on kaksi vaihtoehtoa: puhdas Raspbian tarvittavilla paketeilla tai erityinen kuva MAVLink -yhteydelle nimeltä APSync. Jos aiot käyttää Raspbiania, varmista, että olet asentanut nämä paketit:
sudo apt-get päivitys
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 asenna tulevaisuudessa pymavlink mavproxy pyserial
Jotta voit käyttää Raspberry Pi: n sisäänrakennettua sarjaliitäntää, sinun on kehotettava käyttöjärjestelmää olemaan käyttämättä sitä. Voit tehdä tämän kirjoittamalla
sudo raspi-config
ja noudata Liitäntäasetukset> Sarjaliitäntä
Sinun on poistettava sarjaliitäntä käytöstä, mutta otettava sarjalaitteisto käyttöön.
Tässä vaiheessa loput sopivat sekä Raspbianille että APSyncille.
Luo kotihakemistoon kolme tiedostoa: käynnistä komentosarja ja kuvankäsittelyohjelma. Toinen rivi tekee uudelleenkäynnistyksen komentosarjasta suoritettavaksi.
kosketa reboot.sh image_processor.py
chmod +x reboot.sh
Kopioi kaikki alla olevien tiedostojen rivit Raspberry Pi -kotihakemistoosi (/home/pi).
Uudelleenkäynnistysskripti sisältää liipaisimia, jotka käynnistävät kuvankäsittely- ja telemetriaskriptejä. Myös muutamia asetuksia. Huomaa, että jos et halua telemetriaominaisuutta, lisää # ennen kyseistä riviä.
nano reboot.sh
#!/bin/bash
python3 /home/pi/image_processor.py
Tallenna se CTRL+O -näppäimellä ja poistu CTRL+X -näppäimellä. Viimeinen vaihe on rekisteröidä se käyttöjärjestelmän käynnistystiedostoon rc.local
sudo nano /etc/rc.local
Liitä tämä rivi poistumisen 0 yläpuolelle:
/home/pi/reboot.sh
Uudelleenkäynnistysskriptimme suoritetaan jokaisen käynnistyksen yhteydessä.
Haluamme, että Raspberry Pi tallentaa live-videota, käsittelee sitä lennossa, laskee lento-ohjeet, lähettää sen lennonjohtajalle ja on telemetria. Mutta koska Raspberry Pi ei pysty tuottamaan APM: n haluamaa PPM -signaalia, tarvitsemme toisen tavan saavuttaa se.
Raspberry Pi lähettää kuvankäsittelytuotteensa Arduinolle (minun tapauksessani Arduino Leonardo) sarjaportin kautta. Arduino tuottaa PPM -signaalin kyseisestä tulosta ja lähettää sen lennonohjaimelle hyppyjohtojen kautta. Tämä kaikki on Raspberry Pi: lle.
Siirrymme seuraavaan vaiheeseen.
Vaihe 3: APM -yhteydet ja -määritykset
APM: n asiat ovat yksinkertaisia, koska se on jo valmis lentämään. Meidän on tiedettävä sarjaporttien siirtonopeudet ja varmistettava, että TELEM -portti on käytössä.
Tarkista maaohjelmistossasi, minun tapauksessani Mission Planner, lennonohjaimen parametriluettelo ja etsi baudrat. Esimerkiksi SERIAL_BAUD on USB -siirtonopeus ja SERIAL_BAUD1 on TELEM -portin baudrate APM: lle. Huomaa, että arvot.
Tärkein osa on INPUT -nastojen liitännät. Kuten kuvassa näkyy, liitä Arduinon digitaaliset nastat 4 perusteellisesti 9. Voit halutessasi käyttää leipänauhaa tähän, koska aiomme lisätä joitain transistoreita ja vastaanotinlähtöjä. (Katso kuvat) (Transistorit toimivat, jos haluat hallita droneasi)
ARD 4 ↔ APM -TULO 1
ARD 5 ↔ APM INPUT 2
ARD 6 ↔ APM INPUT 3
ARD 7 ↔ APM INPUT 4
ARD 8 ↔ APM -TULO 5
ARD 9 ↔ APM -TULO 6
Liitä kaikki APM -tulon 5 V: n nastat Arduino Leonardo 5 V: n nastaan. Samoin liitä kaikki APM Input GND -nastat Arduino Leonardo GND -tappiin.
Vaihe 4: Arduino Leonardon määritys
Olemme yhdistäneet kaikki Leonardo -johdot, joten vain koodi on jäljellä.
Lataa alla oleva koodi Arduino Leonardo -laitteeseesi. Kiinnitä huomiota baudrateihin.
Vaihe 5: Ensimmäinen lento
Kun olet tehnyt kaikki edelliset vaiheet, se tarkoittaa, että olet valmis.
Käynnistä kaikki kortit ja muodosta yhteys SSH: n kanssa Raspberry Pi: hen. Kirjoita terminaali:
sudo su
mavproxy.py --master =/dev/[SERIAL INTERFACE] -kokeile [TELEM PORT BAUDRATE] -lentokone [CUSTOM NAME]
Raspberry Pi: n sisäänrakennettu sarjaliitäntä on oletusarvoisesti ttyS0 (/dev/ttyS0)
APM TELEM -portin oletusnopeus on 57600
APM: n USB -portin oletusnopeus on 115200
Voit antaa lentokoneellesi minkä tahansa nimen, valita sen viisaasti, jotta voit tunnistaa sen myöhemmin.
Jos kaikki on kunnossa, muodosta nyt yhteys Raspberry Pi -laitteeseesi VNC: n kautta, jotta voit katsella mitä drone näkee reaaliajassa.
Nyt voit virittää droonisi. Jännittävää, eikö?
Ota drone pois ja lennä radan yläpuolelle. Nyt voit aktivoida linjanseurantatilan CH6 -kytkimellä.