
Ar Raspberry Pi Drone Kit gali skraidyti savarankiškai?
Taip, „Raspberry Pi“ dronų rinkiniai gali skristi autonomiškai, tačiau pats „Pi“ skrydžio tiesiogiai nevaldo. Vietoj to, jis veikia kaip papildomas kompiuteris, kuris siunčia komandas į atskirą skrydžio valdiklį, pvz., „Pixhawk“, arba paleidžia „ArduPilot“ programinę-aparatinę įrangą specializuotose plokštėse, tokiose kaip „Navio2“. Nepriklausomai nuo jūsų konfigūracijos ir programavimo, autonomijos lygis svyruoja nuo paprasto maršruto taško navigacijos iki pažangių kompiuterinės vizijos užduočių.
Kompanioninė kompiuterių architektūra paaiškinta
Dauguma pradedančiųjų klaidingai supranta Raspberry Pi vaidmenį autonominiuose dronuose. „Pi“ nepakeičia jūsų skrydžio valdiklio,{1}}o jį papildo.
Specialus skrydžio valdiklis atlieka svarbias{0}}stabilizavimo, variklio valdymo ir jutiklių sujungimo užduotis realiuoju laiku. Raspberry Pi veikia aukštesnio lygio{2}}programinė įranga, kuri nurodo skrydžio valdytojui, kur eiti ir ką daryti. Pagalvokite apie tai taip: skrydžio valdiklis yra piloto rankos ir refleksai, o Pi yra navigatorius su žemėlapiu.
Standartinis metodas naudoja ArduPilot{0}}suderinamus skrydžio valdiklius, tokius kaip Pixhawk arba APM, kurie jungiasi prie Raspberry Pi per nuoseklųjį ryšį. Ši sąranka leidžia bet kuriam ArduPilot skrydžio valdikliui dirbti su bet kuriuo Raspberry Pi variantu tinkamai sukonfigūravus.
Alternatyvioje architektūroje naudojamos plokštės, tokios kaip Navio2 arba Navigator, kurios sukraunamos tiesiai ant Raspberry Pi. Šios sistemos paleidžia „ArduPilot“ programinę įrangą tiesiogiai „Linux“, o ne atskirame mikrovaldiklyje. Tačiau praktikai praneša, kad „Navio2“ pagrindu veikiantys dronai gali būti klaidingi, ypač atliekant autonomines misijas, ir kainuoti maždaug dvigubai daugiau nei „Pixhawk“ alternatyvos.
Ką iš tikrųjų reiškia „autonominis“.
Sąvoka „autonominis“ apima galimybių spektrą, o ne vieną funkciją.
Pagrindinė autonomija:{0}}iš anksto suplanuotos misijos
Pagrindiniu lygmeniu autonominis skrydis reiškia maršruto taško misijų vykdymą, kai dronas seka iš anksto nustatytas koordinates, nuskaito sritis ir grįžta namo. Programinės įrangos įrankiai, tokie kaip „Mission Planner“ ir „QGroundControl“, leidžia planuoti šias misijas grafiškai, o „DroneKit Python“ įgalina programinį valdymą naudojant scenarijus.
Paprasta autonominė misija gali atrodyti taip: kilimas iki 15 metrų, skristi iki GPS koordinatės A, užveskite pelės žymeklį 30 sekundžių, eikite į koordinatę B, tada nusileiskite. Raspberry Pi inicijuoja šias komandas, o skrydžio valdiklis jas vykdo išlaikydamas stabilumą.
Vidutinė autonomija: jutikliu{0}}pagrįsti sprendimai
Kitas lygis apima jutiklių, pvz., LiDAR, pridėjimą kliūtims aptikti, kai dronas priima sprendimus realiuoju laiku-remdamasis aplinkos duomenimis-, pvz., tūpdamas aptikdamas kliūtį. Tikslus nusileidimas naudojant kompiuterinį matymą patenka į šią kategoriją, kur OpenCV scenarijai seka vizualinius žymenis ir nukreipia droną nusileisti centimetrais nuo taikinio.
Išplėstinė autonomija: AI-pagrįsta navigacija
Sudėtingiausiuose įgyvendinimuose naudojama Pi kamera ir TensorFlow{0}}pagrįstas objektų aptikimas, kad būtų galima valdyti drono judėjimą, įgalinant tokias programas kaip aptiktų žmonių sekimas arba konkrečių objektų sekimas. Projektai sėkmingai panaudojo kompiuterinę viziją, kad aptiktų žmones stebėjimo zonose ir praneštų jų GPS koordinates bazinėms stotims.
Reikalingi komponentai be rinkinio
Suprasdami, ko jums iš tikrųjų reikia, išvengsite brangių netikėtumų.
Pagrindinės aparatinės įrangos kaminas
Funkcinė autonominė sąranka paprastai apima: rėmą ir variklius, skrydžio valdiklį (Pixhawk arba APM), elektroninius greičio valdiklius, LiPo bateriją, GPS modulį su kompasu, RC siųstuvą rankiniam perjungimui ir Raspberry Pi su kamera. Iš anksto sukonfigūruotuose
Svoris tampa kritinis. Turite patikrinti variklio traukos lenteles, ar jūsų variklio ir sraigto derinys gali pakelti bendrą svorį esant 50 % droseliui -kitaip dronas tiesiog nepasieks stabilaus skrydžio.
Programinės įrangos ekosistema
Programinės įrangos pagrindą sudaro „ArduPilot“ skrydžio valdymo kodas, veikiantis skrydžio valdiklyje, antžeminės stoties programinė įranga, pvz., „Mission Planner“ arba „QGroundControl“, skirta konfigūruoti, ir „DroneKit Python“, skirta autonominių misijų scenarijams rašyti „Raspberry Pi“. „ArduPilot“ iš paprasto „Arduino“ kodo išsivystė į sudėtingą C++ kodų bazę, kurioje yra daugiau nei 1 milijonas kodo eilučių, palaikantis integraciją su papildomais kompiuteriais, kad būtų galima išplėsti naršymą.
Python tampa jūsų pagrindiniu įrankiu, o bibliotekos, tokios kaip DroneKit, teikia API tokioms funkcijoms kaip kilimas, nusileidimas, padėties valdymas ir kelio taško vykdymas. Mokymosi kreivė apima kelias sritis: pagrindinį drono surinkimą ir kalibravimą, skrydžio valdiklio konfigūraciją naudojant antžeminės stoties programinę įrangą, Python programavimą ir Linux sistemos administravimą Raspberry Pi.
Programinės įrangos ir protokolo svarstymai
Ne visi skrydžių valdikliai vienodai palaiko visišką autonominį valdymą.
„Betaflight“, populiarus FPV lenktyniniuose dronuose, palaiko „MAVLink“ tik telemetrijos perdavimui, o tai reiškia, kad gali siųsti būsenos duomenis, bet negali vykdyti gaunamų skrydžio komandų,{0}}skirtingai nei „ArduPilot“ ir „INav“, kurios palaiko dvikryptį „MAVLink“ ryšį. Naujausiose „Betaflight“ versijose kaip išeitis buvo pristatytas MSP Override režimas, tačiau autonominio „Betaflight“ skrydžio įgyvendinimas išlieka daug sudėtingesnis nei naudojant ArduPilot{2}}pagrįstas sistemas.
MAVLink protokolas yra ryšio pagrindas, leidžiantis Raspberry Pi siųsti skrydžio komandas ir gauti telemetrijos duomenis, įskaitant greitį, aukštį, akumuliatoriaus būseną ir režimo informaciją. Šis protokolo standartizavimas paaiškina, kodėl kelios antžeminės stoties programinės įrangos parinktys veikia pakaitomis su ArduPilot sistemomis.

Realaus{0}}pasaulio galimybės ir apribojimai
Autonominiai Raspberry Pi dronai puikiai atlieka konkrečias užduotis ir susiduria su įgimtais apribojimais.
Patikrintos programos
Sėkmingas diegimas apima ilgo{0}}atstumo valdymą naudojant 4G modemus, praplečiančius tūkstančius mylių už tradicinių RC ribų, bepiločių orlaivių pristatymo sistemas, kurios tiksliai nusileidžia ant nurodytų žymeklių, ir žemės ūkio programas, kurioms reikia automatinių maršruto taškų tyrimų. Profesionaliose programose naudojami jutikliai, tokie kaip IR-užraktas, skirtas tiksliai nusileisti ir pasiekti pastovų tikslumą 15 centimetrų atstumu nuo taikinių.
Techniniai apribojimai
Raspberry Pi architektūra kelia specifinių iššūkių. „Linux“ nėra realaus laiko{1}}operacinė sistema, kuri gali sukelti tikslaus variklio valdymo laiko problemų,-nors tai neatsveria apdorojimo galios ir standartinės kūrimo aplinkos pranašumų. Be to, sistemai reikia palaukti, kol „Linux“ pasileis po akumuliatoriaus prijungimo, ir tinkamai išsijungti prieš atjungiant maitinimą, kad būtų išvengta failų sistemos sugadinimo.
GPS{0}}pagrįstas padėties nustatymas kenčia nuo būdingo dreifo, dėl kurio kyla didelis svyravimo nestabilumas, ypač vėjuotomis sąlygomis, nes padėties valdymui sistema pirmiausia remiasi akselerometro duomenimis. Skrydžiams patalpose reikalingos alternatyvios padėties nustatymo sistemos, pvz., optiniai srauto jutikliai arba kamera{2}}pagrįsta navigacija, siekiant kompensuoti GPS nepasiekiamumą.
Sauga ir teisinė bazė
Savarankiškas skrydis įveda pareigas ne tik rankiniu būdu.
Techninėse diskusijose nuolat pabrėžiama, kad būtina išlaikyti rankinio nepaisymo galimybę{0}}niekada neturėtumėte pasikliauti vien Raspberry Pi kaip vieninteliu valdymo metodu. RC siųstuvas turi išlikti funkcionalus, kad atgautų valdymą, jei sugenda autonominės sistemos. Forumo ekspertai pataria prieš diegiant autonomines sistemas apsvarstyti galiojančius aviacijos įstatymus jūsų jurisdikcijoje.
Signalo protokolai yra svarbūs saugumui. Paprasčiausias GPIO kaiščių perjungimas nėra tinkamas valdymo signalas,{1}}skrydžio valdikliai tikisi konkrečių PWM protokolų, kuriuos „Raspberry Pi“ turi tinkamai sugeneruoti. Netinkamas signalo įdiegimas sukelia įspėjimus „Nėra signalo“ ir neleidžia suaktyvinti variklio, su kuriuo dažnai susiduria kūrėjai bandydami tiesiogiai valdyti GPIO.
Plėtros kelias ir laiko investicijos
Savarankiškų gebėjimų kūrimas vyksta tokia progresija, kuri padeda planuoti realistiškus terminus.
Pirmas etapas: Skrydis rankiniu būdu (2–4 savaitės)
Pradėkite nuo mechaninio surinkimo, skrydžio valdiklio kalibravimo naudojant antžeminės stoties programinę įrangą ir stabilaus rankinio skrydžio per RC siųstuvą. Kaip pažymi forumo veteranai, tinkamai neveikiant akselerometro ir giroskopo integracijai, dronas tik apsivers ir sudužs,{1}}šios pagrindinės funkcijos turi veikti prieš pradedant naudoti bet kokias autonomines funkcijas.
Antras etapas: pagrindinė autonomija (2–3 savaitės)
Prijunkite Raspberry Pi prie skrydžio valdiklio nuosekliuoju ryšiu, įdiekite reikiamas Python bibliotekas, įskaitant DroneKit, MAVProxy ir pymavlink, ir pradėkite vykdyti paprastus kilimo, užvedimo ir tūpimo scenarijus. Programinės įrangos simuliatorių nustatymas yra būtinas saugiam vystymuisi, todėl kodą galima išbandyti nerizikuojant aparatūros gedimais.
Trečias etapas: išplėstinės funkcijos (vykdoma)
Norint pridėti kompiuterinę viziją, sudėtingą misijos logiką ar pasirinktinius jutiklius, reikia gilesnių žinių. Tikimasi, kad investuosite laiką mokydamiesi OpenCV vaizdo apdorojimui, supraskite ryšio protokolus, kad būtų galima papildomai integruoti jutiklius, ir sukurkite patikimą klaidų apdorojimą autonominėms operacijoms.
Verta apsvarstyti alternatyvius metodus
Keli keliai veda į savarankišką skrydį su skirtingais{0}}kompromisais.
Tiksliniai-mokomieji rinkiniai, tokie kaip „DuckieDrone DD24“, teikia trečiosios-kartos atviras platformas, specialiai sukurtas mokyti savarankiško skrydžio koncepcijų, kartu su bakalauro-lygmens mokymo programomis ir bendruomenės palaikymu. Mikro dronų variantai, naudojantys Raspberry Pi Zero, sumažina išlaidas iki maždaug 600 USD, išlaikant ArduPilot suderinamumą ir 20 minučių skrydžio laiką, nepaisant to, kad jie sveria tik 450 gramų.
Tiems, kurie nori imtis pažangios plėtros, tokie projektai kaip „Raspilot“ visiškai įgyvendina skrydžio valdymą „Raspberry Pi“ be atskirų mikrovaldiklių, tiesiogiai prijungdami GPIO kaiščius prie ESC ir jutiklių,{0}}tačiau tam reikia stiprių C programavimo įgūdžių ir valdymo teorijos supratimo.
Struktūra, pvz., „Clover“, sumažina patekimo į rinką kliūtis, pateikdama iš anksto{0}}sukonfigūruotus Raspberry Pi vaizdus su ROS integracija, o tai leidžia valdyti naudojant paprastas „Python“ API po pagrindinio surinkimo-simuliatoriai leidžia išbandyti kodą virtualioje aplinkoje prieš rizikuojant tikra aparatine įranga.

Išlaidų analizė be aparatinės įrangos
Planuojant autonominių dronų projektus, biudžetas didesnis nei komponentų kainos.
Tiesioginės išlaidos
Norint sukurti iš atskirų komponentų, paprastai reikia 400 -500 USD reikalinga įrangai, o išsamūs rinkiniai su vaizdo įrašų vadovais kainuoja apie 1 000 USD. Mikro variantai prasideda maždaug 600 USD, o profesionalaus tobulinimo rinkiniai su išsamia dokumentacija pasiekia panašias kainas kaip viso dydžio versijos.
Paslėptos investicijos
Laikas yra didžiausia jūsų sąnauda. Praktikai praneša, kad probleminiai aparatinės įrangos pasirinkimai, ypač naudojant tokias plokštes kaip Navio2, gali sugaišti valandas derinant aparatūros{2} lygio problemas, kurių nepasitaiko Pixhawk{3}}pagrįstose sistemose. Programinės įrangos mokymosi kreivės labai skiriasi-pagrindinės maršruto punkto misijos reikalauja vidutinių Python įgūdžių, o kompiuterinės vizijos programos reikalauja OpenCV, neuroninių tinklų ir vaizdų apdorojimo realiuoju laiku{6}}.
Trikčių šalinimo patirtis rodo, kad dienos praleidžiamos atrandant tokias problemas kaip energijos paskirstymo problemos, dėl kurių „Pixhawk“ nepasileidžia, nebent tinkamai prijungti tam tikri trumpikliai. Ši mokymosi patirtis, nors ir vertinga, užima daug laiko, kuriai dokumentai gali jūsų nevisiškai paruošti.
Sprendimo priėmimas
Raspberry Pi dronų rinkiniai suteikia tikrų savarankiškų galimybių, tačiau sėkmei reikia suderinti lūkesčius su realybe. Neperkate autonominės-autonominės sistemos-, o kūrimo platformą, kuri gali tapti savarankiška tinkamai konfigūravus ir programuojant.
Architektūra veikia: skrydžio valdiklis tvarko stabilizavimą, Raspberry Pi – intelektą, o programinės įrangos sistemos suteikia patikrintus pagrindus. Projektai sėkmingai demonstravo viską nuo paprasto maršruto taško naršymo iki sudėtingų kompiuterinės vizijos programų.
Jūsų tinkamumas priklauso nuo trijų veiksnių: techninio patogumo naudojant Linux, Python ir derinimo; turimas laikas kelių{0}}savaičių mokymosi kreivei; ir realistiški lūkesčiai dėl autonomijos lygio, pasiekiamo turint mėgėjų biudžetą. Komercinės dronų pristatymo įmonės įrodė, kad technologijos veikia dideliu mastu, naudodamos tuos pačius „ArduPilot“ pagrindus, tačiau jose dirba inžinierių komandos-jūsų solo projektas bus kuklesnis.
Klausimas ne tas, ar Raspberry Pi dronai gali skraidyti autonomiškai. Jie akivaizdžiai gali. Tikrasis klausimas yra tas, ar esate pasirengęs sukurti ir programuoti tą autonomiją patys.
Dažnai užduodami klausimai
Ar galiu praleisti atskirą skrydžio valdiklį ir naudoti tik Raspberry Pi?
Techniškai įmanomi, bet nerekomenduojami daugumai kūrėjų. Tokie projektai kaip „Raspilot“ demonstruoja gryną „Raspberry Pi“ skrydžio valdymą, tačiau jiems reikia stiprių C programavimo įgūdžių, gilaus valdymo teorijos supratimo ir kruopštaus dėmesio „Linux“ realaus laiko apribojimams. Standartinis „Pixhawk“ kompaniono metodas yra daug patikimesnis ir prieinamesnis.
Kiek Python programavimo man reikia žinoti?
Pagrindinis Python pakankamumas apima funkcijų, kintamųjų supratimą ir bibliotekų importavimą{0}}„DroneKit“ API teikia aukšto lygio komandas, pvz., vehicle.simple_takeoff(altitude), kurios abstrahuoja sudėtingas detales. Pažangioms misijoms, kurioms reikalingas kompiuterinis matymas arba pasirinktiniai algoritmai, reikia nuo vidutinio iki{5}}pažangių Python įgūdžių.
Ar tai veiks patalpose be GPS?
GPS{0}}pagrįstas autonominis skrydis nepavyksta patalpoje dėl palydovo signalo praradimo-jums reikės alternatyvių padėties nustatymo sistemų, pvz., optinių srauto jutiklių, gylio kamerų ar vaizdinės odometrijos. Kai kurios sistemos, pvz., „Clover“, ypač palaiko kamerą{3}}pagrįstą skrydį viduje, integruodamos su padėties nustatymo jutikliais.
Kokio skrydžio laiko galiu tikėtis su Raspberry Pi?
Skrydžio laikas labai priklauso nuo bendro svorio ir akumuliatoriaus talpos -įprastos 3000-6000 mAh talpos 3S LiPo baterijos turi skirtingą trukmę, tačiau dėl papildomo svorio akumuliatoriaus talpa nesikeičia pagal skrydžio laiką. Gerai optimizuotos mikro konstrukcijos vienu įkrovimu veikia maždaug 20 minučių.




