Satura rādītājs:

Autonomās līnijas sekotāju drons ar Raspberry Pi: 5 soļi
Autonomās līnijas sekotāju drons ar Raspberry Pi: 5 soļi

Video: Autonomās līnijas sekotāju drons ar Raspberry Pi: 5 soļi

Video: Autonomās līnijas sekotāju drons ar Raspberry Pi: 5 soļi
Video: Finally: Putin Upgrades S-70 Okhotnik Into 6th-Gen Stealth Drone 2024, Novembris
Anonim
Autonomās līnijas sekotāju drons ar Raspberry Pi
Autonomās līnijas sekotāju drons ar Raspberry Pi

Šī apmācība parāda, kā jūs galu galā varat izveidot drone līniju sekotāju.

Šim dronam būs "autonomā režīma" slēdzis, kas dronā nonāks režīmā. Tātad, jūs joprojām varat lidot ar savu dronu tāpat kā iepriekš.

Lūdzu, ņemiet vērā, ka būvēšana prasīs laiku un vēl vairāk laika, lai pielāgotos. Bet pēdējais… liek domāt, ka tas ir tā vērts.

Lai sāktu izveidot savu autonomus līnijas izsekotāja dronu, pārliecinieties, vai jums ir;

  • Rasberry Pi 3 vai Raspberry Pi Zero W ar SSH piekļuvi
  • Lidošanai gatavs drons ar APM vai Pixhawk lidojuma kontrolieri
  • Arduino Leonardo vai cits Arduino ar ātru pulksteņa ātrumu
  • Vismaz 6 CH raidītājs
  • USB tīmekļa kamera, ko atbalsta Raspberry Pi un OpenCV
  • Dators
  • 6 vispārējas nozīmes tranzistori
  • Elektroinstalācijas kabeļi

1. solis: ideja un savienojumi

Ideja un savienojumi
Ideja un savienojumi

APM, pazīstams arī kā ArduPilot, ir lidojuma kontrolieris, kura pamatā ir Arduino Mega. Tas nozīmē, ka mēs varam to mainīt, lai tas būtu vislabākais mūsu gadījumā. Bet, tā kā man nav informācijas, lai to izdarītu, es došos, lai sekotu citam ceļam.

Diemžēl aveņu Pi nav jutīgi pret laiku, kas nozīmē, ka nevar tikt galā ar PPM signāliem.

Tāpēc mums ir nepieciešama papildu Arduino tāfele.

Tādā veidā Raspberry Pi apstrādās attēlus un aprēķinās lidojuma instrukcijas un nosūtīs to Arduino, izmantojot Serial UART interfeisu. Arduino karte šeit stāvēs kā PPM kodētājs/dekodētājs, kas kodē lidojuma norādījumus uz PPM signāliem, ko vēlas APM. Lai radītu ideju, varat izpētīt simbolisko shēmu.

Raspberry Pi darbosies kā telemetrijas raidītājs līdzās noteikšanas līnijai.

Būtiskā ķēde ir parādīta attēlos. Turpināšu paskaidrot nākamajos soļos.

2. darbība: Raspberry Pi savienojumi un konfigurācija

Raspberry Pi savienojumi un konfigurācija
Raspberry Pi savienojumi un konfigurācija
Raspberry Pi savienojumi un konfigurācija
Raspberry Pi savienojumi un konfigurācija

Raspberry Pi tiks savienots ar Wi-Fi adapteri (pēc izvēles), USB tīmekļa kameru, Arduino Leonardo, izmantojot USB, APM, izmantojot iebūvēto seriālo interfeisu. APM - RPI savienojums parādīts ar detaļām attēlos.

Lai konfigurētu, jums ir divas iespējas: tīra Raspbian ar nepieciešamajām pakotnēm vai īpašs attēls MAVLink savienojumam ar nosaukumu APSync. Ja plānojat izmantot Raspbian, pārliecinieties, vai esat instalējis šīs paketes:

sudo apt-get update

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 instalējiet nākotnes pymavlink mavproxy pyserial

Lai izmantotu Raspberry Pi iebūvēto seriālo interfeisu, jums jāpasaka OS, lai to neizmantotu. Lai to izdarītu, ierakstiet

sudo raspi-config

un sekojiet Saskarnes opcijas> Seriālais interfeiss

Jums ir jāatspējo seriālais interfeiss, bet jāiespējo sērijas aparatūra.

Šajā brīdī pārējais ir piemērots gan Raspbian, gan APSync.

Mājas direktorijā izveidojiet trīs failus: atsāknēšanas skriptu un attēlu procesora skriptu. Otrā rinda padara izpildāmo skriptu izpildāmu.

pieskarieties reboot.sh image_processor.py

chmod +x reboot.sh

Kopējiet visas zemāk norādīto failu rindas savā mājas direktorijā (/home/pi) programmā Raspberry Pi.

Atsāknēšanas skripts satur aktivizētājus, kas aktivizēs attēlu procesora un telemetrijas skriptus. Arī daži iestatījumi. Ņemiet vērā: ja nevēlaties telemetrijas funkciju, pirms šīs rindiņas pievienojiet #.

nano reboot.sh

#!/bin/bash

python3 /home/pi/image_processor.py

Saglabājiet to ar CTRL+O un izejiet ar CTRL+X. Pēdējais solis ir reģistrēt to OS startēšanas failā rc.local

sudo nano /etc/rc.local

Pievienojiet šo rindu virs izejas 0:

/home/pi/reboot.sh

Mūsu atsāknēšanas skripts tiks izpildīts katrā sāknēšanas reizē.

Mēs vēlamies, lai Raspberry Pi ierakstītu tiešraides video, apstrādātu to lidojumā, aprēķinātu lidojuma norādījumus, nosūtītu to lidojuma kontrolierim un būtu telemetrija. Bet, tā kā Raspberry Pi nespēj ģenerēt PPM signālu, ko vēlas APM, mums ir nepieciešams cits veids, kā to paveikt.

Raspberry Pi nosūtīs savu attēlu apstrādes rezultātu uz Arduino (manā gadījumā Arduino Leonardo), izmantojot seriālo portu. Arduino ģenerēs PPM signālu no šīs ieejas un nosūtīs to lidojuma kontrolierim, izmantojot džemperu vadus. Tas viss attiecas uz Raspberry Pi.

Pāriesim pie nākamās darbības.

3. darbība: APM savienojumi un konfigurācija

APM savienojumi un konfigurācija
APM savienojumi un konfigurācija

Lietas par APM ir vienkāršas, jo tas jau ir gatavs lidojumam. Mums jāzina seriālo portu bitu pārraides ātrums un jāpārliecinās, vai ir iespējots TELEM ports.

Savā zemes programmatūrā, manā gadījumā, misijas plānotājs, pārbaudiet lidojuma kontroliera parametru sarakstu un noskaidrojiet datu pārraides ātrumu. Piemēram, SERIAL_BAUD ir USB datu pārraides ātrums un SERIAL_BAUD1 ir TELEM porta datu pārraides ātrums APM. Ņemiet vērā, ka vērtības.

Vissvarīgākā daļa ir INPUT tapas savienojumi. Kā parādīts attēlā, rūpīgi pievienojiet Arduino digitālās tapas 4 9. Iespējams, vēlēsities tam izmantot maizes auklu, jo mēs pievienosim dažus tranzistorus un uztvērēja izejas. (Skatīt attēlus) (Tranzistori darbosies, ja vēlaties kontrolēt savu dronu)

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 INPUT 6

Pievienojiet visas APM ievades 5V tapas Arduino Leonardo 5V tapai. Tāpat savienojiet visas APM ievades GND tapas ar Arduino Leonardo GND tapu.

4. darbība: Arduino Leonardo konfigurācija

Mēs esam savienojuši visus Leonardo vadus, tāpēc ir palicis tikai kods.

Augšupielādējiet tālāk norādīto kodu savā Arduino Leonardo. Pievērsiet uzmanību datu pārraides ātrumam.

5. solis: pirmais lidojums

Kad esat pabeidzis visas iepriekšējās darbības, tas nozīmē, ka esat gatavs.

Ieslēdziet visas kartes un izveidojiet savienojumu ar SSH ar Raspberry Pi. Ierakstiet terminālī:

sudo su

mavproxy.py --master =/dev/[SERIAL INTERFACE] -izmēģināt [TELEM PORT BAUDRATE] -lidaparāts [CUSTOM NAME]

Noklusējuma Raspberry Pi iebūvētais seriālais interfeiss ir ttyS0 (/dev/ttyS0)

Noklusējuma APM TELEM porta pārraides ātrums ir 57600

Noklusējuma APM USB porta pārraides ātrums ir 115200

Jūs varat piešķirt lidmašīnai jebkuru nosaukumu, izvēlēties to gudri, lai vēlāk varētu atpazīt.

Ja viss ir kārtībā, tagad izveidojiet savienojumu ar savu Raspberry Pi, izmantojot VNC, lai jūs varētu skatīties, ko drons redz reāllaikā.

Tagad jūs varat apbruņot savu dronu. Aizraujoši, vai ne?

Noņemiet dronu un lidojiet virs līnijas. Tagad jūs varat aktivizēt līniju izsekošanas režīmu, izmantojot slēdzi CH6.

Ieteicams: