Përmbajtje:

Dron ndjekës i linjës autonome me mjedër Pi: 5 hapa
Dron ndjekës i linjës autonome me mjedër Pi: 5 hapa

Video: Dron ndjekës i linjës autonome me mjedër Pi: 5 hapa

Video: Dron ndjekës i linjës autonome me mjedër Pi: 5 hapa
Video: Невероятное Изобретение - Этот Дрон Изменит Все 2024, Nëntor
Anonim
Dron ndjekës i linjës autonome me mjedër Pi
Dron ndjekës i linjës autonome me mjedër Pi

Ky tutorial tregon se si mund ta bëni përfundimisht një dron ndjekës të linjës.

Ky dron do të ketë një çelës "modaliteti autonom" që do të hyjë në dron në modalitet. Pra, ju ende mund të fluturoni me dronin tuaj si më parë.

Ju lutemi kini parasysh se do të duhet kohë për tu ndërtuar dhe akoma më shumë kohë për tu përshtatur. Por finalja … ju bën të mendoni se ia vlen.

Për të filluar krijimin e dronit tuaj të linjës autonome, sigurohuni që keni;

  • Rasberry Pi 3 ose Raspberry Pi Zero W me qasje në SSH
  • Dron i gatshëm për fluturim me kontrollues fluturimi APM ose Pixhawk
  • Arduino Leonardo ose një Arduino tjetër me shpejtësi të shpejtë të orës
  • Së paku 6 transmetues CH
  • Webcam USB që Raspberry Pi dhe OpenCV mbështet
  • Një PC
  • 6 transistorë me përdorim të përgjithshëm
  • Kabllot e telave

Hapi 1: Ideja dhe Lidhjet

Ideja dhe Lidhjet
Ideja dhe Lidhjet

APM, aka ArduPilot, është një kontrollues fluturimi i bazuar në Arduino Mega. Kjo do të thotë që ne mund ta modifikojmë atë për të qenë më e mira për rastin tonë. Por meqenëse nuk kam informacion për ta bërë këtë, do të shkoj për të ndjekur një mënyrë tjetër.

Raspberry Pi nuk janë, për fat të keq, të ndjeshëm ndaj kohës, që do të thotë se nuk mund të merren me sinjalet PPM.

Kjo është arsyeja pse ne kemi nevojë për bordin shtesë Arduino.

Në këtë mënyrë, Raspberry Pi do të përpunojë imazhet dhe do të llogarisë udhëzimet e fluturimit dhe do ta dërgojë atë në Arduino përmes ndërfaqes Serial UART. Karta Arduino do të qëndrojë këtu si një kodues/dekodues PPM, i cili kodon udhëzimet e fluturimit në sinjalet PPM që APM dëshiron. Për të pasur një ide, mund të ekzaminoni diagramin e qarkut simbolik.

Raspberry Pi do të sillet si transmetues i telemetrisë krahas linjës së zbulimit.

Qarku thelbësor tregohet në imazhe. Unë do të vazhdoj të shpjegoj në hapat e ardhshëm.

Hapi 2: Lidhjet dhe Konfigurimi i Raspberry Pi

Lidhjet dhe konfigurimi i Raspberry Pi
Lidhjet dhe konfigurimi i Raspberry Pi
Lidhjet dhe konfigurimi i Raspberry Pi
Lidhjet dhe konfigurimi i Raspberry Pi

Raspberry Pi do të lidhet me Përshtatësin Wi-Fi (opsional), Webcam USB, Arduino Leonardo përmes USB, APM përmes ndërfaqes seriale të integruar. Lidhja APM - RPI e treguar me detaje në imazhe.

Për të konfiguruar, ju keni dy mundësi: Raspbian i pastër me paketat e nevojshme ose imazh special për lidhjen MAVLink të quajtur APSync. Nëse do të përdorni Raspbian, sigurohuni që keni instaluar këto pako:

përditësim sudo apt-get

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 instaloni pymavlink të ardhshëm mavproxy pyserial

Për të përdorur ndërfaqen serike të integruar të Raspberry Pi, duhet t'i thoni OS që të mos e përdorë atë. Për ta bërë këtë, shtypni

sudo raspi-config

dhe ndiqni opsionet Ndërfaqja> Ndërfaqja serike

Duhet të çaktivizoni ndërfaqen serike, por të aktivizoni harduerin serik.

Në këtë pikë, pjesa tjetër është e përshtatshme si për Raspbian ashtu edhe për APSync.

Në drejtorinë e shtëpisë, krijoni tre skedarë: rindizni skriptin dhe përpunuesin e figurës scriptt. Linja e dytë e bën skenarin e rindezjes të ekzekutueshëm.

prekni reboot.sh image_processor.py

chmod +x rindezje.sh

Kopjoni të gjitha rreshtat në skedarët e dhënë më poshtë në drejtorinë tuaj të shtëpisë (/home/pi) në Raspberry Pi.

Skenari i rindezjes do të përmbajë shkaktarë që do të shkaktojnë procesorë të imazhit dhe skriptet e telemetrisë. Gjithashtu pak cilësime. Vini re se nëse nuk doni funksionin e telemetrisë, shtoni # para asaj rreshti.

nano reboot.sh

#!/bin/bash

python3 /home/pi/image_processor.py

Ruajeni atë me CTRL+O dhe dilni me CTRL+X. Hapi i fundit në lidhje me të është regjistrimi i tij në skedarin e fillimit të OS, rc.local

sudo nano /etj/rc.local

Shtojeni këtë rresht mbi daljen 0:

/home/pi/reboot.sh

Skenari ynë i rindezjes do të ekzekutohet në çdo boot.

Ne duam që Raspberry Pi të regjistrojë video të drejtpërdrejta, ta përpunojë atë gjatë fluturimit, të llogarisë udhëzimet e fluturimit, ta dërgojë atë te kontrolluesi i fluturimit dhe të jetë telemetri. Por meqenëse Raspberry Pi nuk është në gjendje të gjenerojë sinjal PPM që APM dëshiron, ne kemi nevojë për një mënyrë tjetër për ta arritur atë.

Raspberry Pi do të dërgojë daljen e tij të përpunimit të imazhit në Arduino (në rastin tim Arduino Leonardo) përmes Portit Serial. Arduino do të gjenerojë sinjal PPM nga ajo hyrje dhe do ta dërgojë te Kontrolluesi i Fluturimit nëpërmjet telave të kërcyesit. Kjo është e gjitha për Raspberry Pi.

Le të kalojmë në hapin tjetër.

Hapi 3: Lidhjet dhe Konfigurimi APM

Lidhjet dhe konfigurimi i APM
Lidhjet dhe konfigurimi i APM

Gjërat në lidhje me APM janë të thjeshta pasi është tashmë gati për të fluturuar. Ne duhet të dimë baudratet serike të porteve dhe të sigurohemi që porta TELEM është e aktivizuar.

Në programin tuaj bazë, në rastin tim Mission Planner, kontrolloni listën e parametrave të kontrolluesit të fluturimit dhe zbuloni baudratet. Për shembull, SERIAL_BAUD është baudrate USB dhe SERIAL_BAUD1 është baudrate e portit TELEM për APM. Vini re se vlerat.

Pjesa më e rëndësishme janë lidhjet e kunjave INPUT. Siç tregohet në figurë, lidhni kunjat dixhitalë të Arduino 4 tërësisht 9. Ju mund të dëshironi të përdorni një brez buke për këtë, pasi ne do të shtojmë disa transistorë dhe dalje të marrësit. (Shih imazhet) (Transistorët do të punojnë në rast se dëshironi të merrni kontrollin e dronit tuaj)

ARD 4 ↔ APM HYRJA 1

ARD 5 ↔ APM HYRJA 2

ARD 6 ↔ APM HYRJA 3

ARD 7 ↔ APM HYRJA 4

ARD 8 ↔ APM HYRJA 5

ARD 9 ↔ APM HYRJA 6

Lidhni të gjitha kunjat 5V në APM Input me pinin Arduino Leonardo 5V. Gjithashtu lidhni të gjitha kunjat APM Input GND me kunjin Arduino Leonardo GND.

Hapi 4: Konfigurimi i Arduino Leonardo

Ne i kemi lidhur të gjitha telat për Leonardo kështu që ka mbetur vetëm kodi.

Ngarko kodin e dhënë më poshtë në Arduino Leonardo. Kushtojini vëmendje baudrates.

Hapi 5: Fluturimi i parë

Kur të keni mbaruar me të gjitha hapat e mëparshëm, do të thotë që jeni gati.

Ndizni të gjitha kartat dhe lidheni me SSH me Raspberry Pi. Shkruani në terminal:

sudo su

mavproxy.py --master =/dev/[NDTERRMJET SERIALE] -baudrate [BAUDRATA E PORTIT TLE TELEMIT] -aeroplanë [EMRI I DOGANIT

Ndërfaqja seriale e paracaktuar e Raspberry Pi është ttyS0 (/dev/ttyS0)

Baudrati i paracaktuar i portës APM TELEM është 57600

Baudrati i paracaktuar i portës USB APM është 115200

Ju mund t'i jepni çdo emër avionit tuaj, zgjidhni atë me mençuri, në mënyrë që ta njihni më vonë.

Nëse gjithçka është në rregull, tani lidheni me Raspberry Pi tuaj nëpërmjet VNC, në mënyrë që të shikoni se çfarë shikon droni në kohë reale.

Tani, ju mund të armatosni dronin tuaj. Emocionuese, apo jo?

Hiqni dronin tuaj dhe fluturoni mbi shiritin e linjës. Tani, mund të aktivizoni modalitetin e gjurmimit të linjës duke përdorur çelësin CH6.

Recommended: