Sisukord:

Autonoomne liini jälgiv droon Raspberry Pi -ga: 5 sammu
Autonoomne liini jälgiv droon Raspberry Pi -ga: 5 sammu

Video: Autonoomne liini jälgiv droon Raspberry Pi -ga: 5 sammu

Video: Autonoomne liini jälgiv droon Raspberry Pi -ga: 5 sammu
Video: 04.03.2020 - Tallinna Sadam ja Tallinna Lennujaam paigaldasid reisijate testimiseks termokaamerad 2024, November
Anonim
Autonoomse liini jälgija droon Raspberry Pi -ga
Autonoomse liini jälgija droon Raspberry Pi -ga

See õpetus näitab, kuidas saate lõpuks liinijälgija drooni teha.

Sellel droonil on "autonoomse režiimi" lüliti, mis lülitab drooni režiimi. Niisiis, saate ikkagi oma drooni lennata nagu varem.

Pange tähele, et selle ehitamine võtab aega ja veelgi rohkem aega kohanemiseks. Kuid viimane … paneb sind mõtlema seda väärt.

Autonoomse liini jälgimisdrooni loomise alustamiseks veenduge, et teil oleks;

  • Rasberry Pi 3 või Raspberry Pi Zero W SSH -juurdepääsuga
  • Lennuks valmis droon APM või Pixhawk lennujuhtimisega
  • Arduino Leonardo või mõni muu kiire taktsagedusega Arduino
  • Vähemalt 6 CH saatja
  • USB veebikaamera, mida Raspberry Pi ja OpenCV toetab
  • PC
  • 6 üldotstarbelist transistorit
  • Juhtmete kaablid

Samm: idee ja ühendused

Idee ja ühendused
Idee ja ühendused

APM, aka ArduPilot, on Arduino Megal põhinev lennujuht. See tähendab, et saame seda muuta nii, et see oleks meie juhtumi jaoks parim. Aga kuna mul pole selleks vajalikku teavet, lähen ma teist teed järgima.

Kahjuks pole Raspberry Pi-d aja suhtes tundlikud, mis tähendab, et nad ei saa PPM-signaalidega hakkama.

Sellepärast vajame täiendavat Arduino plaati.

Sel viisil töötleb Raspberry Pi pilte ja arvutab lennujuhised ning saadab need Serial UART liidese kaudu Arduinole. Arduino kaart seisab siin PPM -kodeerija/dekodeerijana, mis kodeerib lennujuhised PPM -i signaalidele, mida APM soovib. Idee saamiseks võite uurida sümboolset vooluahelat.

Raspberry Pi käitub tuvastusliini kõrval telemeetria saatjana.

Oluline ahel on näidatud piltidel. Jätkan selgitamist järgmistes sammudes.

2. samm: Raspberry Pi ühendused ja seadistamine

Raspberry Pi ühendused ja konfiguratsioon
Raspberry Pi ühendused ja konfiguratsioon
Raspberry Pi ühendused ja konfiguratsioon
Raspberry Pi ühendused ja konfiguratsioon

Raspberry Pi ühendatakse Wi-Fi-adapteriga (valikuline), USB-veebikaameraga, Arduino Leonardoga USB kaudu, APM-iga sisseehitatud jadaliidese kaudu. APM - RPI -ühendus kuvatakse koos piltidega.

Seadistamiseks on teil kaks võimalust: puhas Raspbian koos vajalike pakettidega või MAVLinki ühenduse jaoks spetsiaalne pilt nimega APSync. Kui kavatsete kasutada Raspbiani, veenduge, et olete installinud järgmised paketid:

sudo apt-get update

sudo apt-get install -y ekraan 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 installige tulevane pymavlink mavproxy pyserial

Raspberry Pi sisseehitatud jadaliidese kasutamiseks peate ütlema OS-ile, et seda ei kasutata. Selleks tippige

sudo raspi-config

ja järgige liidesevalikuid> jadaliides

Te peate jadaliidese keelama, kuid lubama seeriariistvara.

Siinkohal sobib ülejäänud osa nii Raspbianile kui ka APSyncile.

Looge kodukataloogis kolm faili: taaskäivitage skript ja pildiprotsessori skript. Teine rida muudab taaskäivitusskripti käivitatavaks.

puudutage reboot.sh image_processor.py

chmod +x reboot.sh

Kopeerige alltoodud failide kõik read oma kodukataloogi (/home/pi) rakenduses Raspberry Pi.

Taaskäivitusskript sisaldab päästikuid, mis käivitavad pildiprotsessori ja telemeetria skriptid. Samuti vähe seadeid. Pange tähele, et kui te ei soovi telemeetriafunktsiooni, lisage selle rea ette #.

nano reboot.sh

#!/bin/bash

python3 /home/pi/image_processor.py

Salvestage see klahvikombinatsiooniga CTRL+O ja väljuge klahvikombinatsiooniga CTRL+X. Viimane samm on selle registreerimine OS -i käivitusfaili rc.local

sudo nano /etc/rc.local

Lisage see rida väljapääsu 0 kohale:

/home/pi/reboot.sh

Meie taaskäivitusskript käivitatakse igal käivitamisel.

Soovime, et Raspberry Pi salvestaks otsevideot, töötleks seda lennult, arvutaks välja lennuohutuse, saadaks selle lennujuhile ja oleks telemeetria. Kuid kuna Raspberry Pi ei suuda APM -i soovitud PPM -signaali genereerida, vajame selle saavutamiseks teist viisi.

Raspberry Pi saadab oma pilditöötlusväljundi jadaporti kaudu Arduinole (minu puhul Arduino Leonardo). Arduino genereerib sellest sisendist PPM -signaali ja saadab selle hüppajajuhtmete kaudu lennujuhtimisele. See on kõik Raspberry Pi jaoks.

Liigume järgmise sammu juurde.

Samm: APM -i ühendused ja konfigureerimine

APM -i ühendused ja konfiguratsioon
APM -i ühendused ja konfiguratsioon

APM -i asjad on lihtsad, kuna see on juba lendamiseks valmis. Peame teadma jadaportide andmeedastuskiirust ja veenduma, et TELEM -port on lubatud.

Kontrollige oma maapealses tarkvaras, minu puhul Mission Planner, lennujuhi parameetrite loendit ja leidke baudraadid. Näiteks SERIAL_BAUD on USB -andmeedastuskiirus ja SERIAL_BAUD1 on APM -i jaoks TELEM -pordi andmeedastuskiirus. Pange tähele, et väärtused.

Kõige olulisem osa on INPUT tihvtide ühendused. Nagu pildil näidatud, ühendage Arduino digitaalsed nööpnõelad 4 põhjalikult 9. Selleks võite kasutada leivapulka, kuna lisame mõned transistorid ja vastuvõtja väljundid. (Vaata pilte) (Transistorid töötavad juhuks, kui soovite oma drooni juhtida)

ARD 4 ↔ APM INPUT 1

ARD 5 ↔ APM INPUT 2

ARD 6 ↔ APM INPUT 3

ARD 7 ↔ APM INPUT 4

ARD 8 ↔ APM INPUT 5

ARD 9 ↔ APM -SISEND 6

Ühendage kõik APM -sisendi 5 -voldised Arduino Leonardo 5 -voldisega. Samamoodi ühendage kõik APM -sisendi GND -tihvtid Arduino Leonardo GND -tihvtiga.

Samm: Arduino Leonardo seadistamine

Oleme ühendanud kõik Leonardo juhtmed, nii et alles on jäänud ainult kood.

Laadige allolev kood oma Arduino Leonardosse üles. Pöörake tähelepanu baudraatidele.

Samm: esimene lend

Kui olete kõik eelmised sammud lõpetanud, tähendab see, et olete valmis.

Lülitage kõik kaardid sisse ja ühendage SSH -ga Raspberry Pi -ga. Sisestage terminal:

sudo su

mavproxy.py --master =/dev/[SERIAL INTERFACE] -katse [TELEM PORT BAUDRATE] -õhusõiduk [CUSTOM NAME

Raspberry Pi sisseehitatud jadaliides on vaikimisi ttyS0 (/dev/ttyS0)

APM TELEM pordi vaikekiirus on vaikimisi 57600

APM -i USB -pordi vaikekiirus on 115200

Võite oma õhusõidukile anda mis tahes nime, valida selle targalt, et saaksite selle hiljem ära tunda.

Kui kõik on korras, looge nüüd oma Raspberry Pi -ga ühendus VNC kaudu, et saaksite reaalajas vaadata, mida droon näeb.

Nüüd saate drooni relvastada. Põnev, eks?

Võtke droon maha ja lendage jooneraja kohal. Nüüd saate aktiveerida liinijälgimisrežiimi, kasutades lülitit CH6.

Soovitan: