Sisällysluettelo:

Autonominen linjaseurantalennokki Raspberry Pi: 5 askelta
Autonominen linjaseurantalennokki Raspberry Pi: 5 askelta

Video: Autonominen linjaseurantalennokki Raspberry Pi: 5 askelta

Video: Autonominen linjaseurantalennokki Raspberry Pi: 5 askelta
Video: Часть 5 - Аудиокнига Уолдена Генри Дэвида Торо (глы 12–15) 2024, Marraskuu
Anonim
Autonominen linjaseurantalennokki Raspberry Pi: n kanssa
Autonominen linjaseurantalennokki Raspberry Pi: n kanssa

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

Idea ja yhteydet
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 -yhteydet ja -määritykset
Raspberry Pi -yhteydet ja -määritykset
Raspberry Pi -yhteydet ja -määritykset
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 -yhteydet ja -määritykset
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ä.

Suositeltava: