Satura rādītājs:
- 1. solis: ideja un savienojumi
- 2. darbība: Raspberry Pi savienojumi un konfigurācija
- 3. darbība: APM savienojumi un konfigurācija
- 4. darbība: Arduino Leonardo konfigurācija
- 5. solis: pirmais lidojums
Video: Autonomās līnijas sekotāju drons ar Raspberry Pi: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Šī 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
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 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
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:
Līnijas sekotāju robots Siebe Deetens: 4 soļi
Līnijas sekotājs robots Siebe Deetens: Bij de opleiding Elektromechanica Automatisering aan HOGENT (3e bachelor), hebben we vanuit het vak Syntheseproject de opdracht gekregen om een line follower robot te maken. Hier kan je het hele bouwproces lezen met uitleg over hoe je zelf a. sla
Līnijas sekotāju robots, izmantojot Arduino Uno un L298N: 5 soļi
Līnijas sekotāju robots, izmantojot Arduino Uno un L298N: Line Flower ir ļoti vienkāršs robots, kas ideāli piemērots iesācēju elektronikai
Uzlabots līnijas sekotāju robots: 7 soļi
Uzlabots līnijas sekotāju robots: tas ir līnijas sekotājs ar dažām papildu funkcijām. Šo prototipu var izmantot rūpnīcā materiāla pārvietošanai bez vadītāja. Ir divas stacijas iekraušanas stacijas izkraušanas stacija no iekraušanas stacijas robots gaidīs Materia
Kā izveidot līnijas sekotāju robotu, neizmantojot Arduino (mikrokontrolleris): 5 soļi
Kā izveidot līnijas sekotāja robotu, neizmantojot Arduino (mikrokontrolleru): Šajā pamācībā es iemācīšu, kā izveidot līniju pēc robota, neizmantojot Arduino. Es izmantošu ļoti vienkāršas darbības, lai izskaidrotu. Šis robots izmantos IR tuvuma sensoru, lai sekojiet līnijai. Jums nebūs nepieciešama nekāda programmēšanas pieredze, lai
Arduino līnijas sekotāju Wallrides klases tāfele: 8 soļi (ar attēliem)
Arduino līnijas sekotāju Wallrides klases tāfele: Sekot līnijai uz zemes ir pārāk garlaicīgi! Mēs esam mēģinājuši aplūkot citu leņķi līniju sekotājiem un nogādāt viņus citā plaknē - uz skolas tāfeli. Paskaties, kas no tā sanāca