
Vai Raspberry Pi dronu komplekts var lidot autonomi?
Jā, Raspberry Pi dronu komplekti var lidot autonomi, taču pats Pi tieši nekontrolē lidojumu. Tā vietā tas darbojas kā kompanjons dators, kas nosūta komandas uz atsevišķu lidojuma kontrolieri, piemēram, Pixhawk, vai palaiž ArduPilot programmaparatūru uz specializētām platēm, piemēram, Navio2. Autonomijas līmenis svārstās no vienkāršas maršruta punktu navigācijas līdz uzlabotām datora redzes misijām atkarībā no jūsu konfigurācijas un programmēšanas.
Paskaidrota kompanjonā datoru arhitektūra
Lielākā daļa iesācēju pārprot Raspberry Pi lomu autonomos dronos. Pi neaizstāj jūsu lidojuma kontrolieri,{1}}bet to papildina.
Īpašs lidojuma kontrolieris veic kritiskos reāllaika stabilizācijas, motora vadības un sensoru saplūšanas{0}}uzdevumus. Raspberry Pi darbojas augstāka-līmeņa programmatūra, kas norāda lidojuma kontrolierim, kur doties un kas jādara. Padomājiet par to šādi: lidojuma kontrolieris ir pilota rokas un refleksi, savukārt Pi ir navigators ar karti.
Standarta pieeja izmanto ArduPilot{0}}saderīgus lidojumu kontrolierus, piemēram, Pixhawk vai APM, kas savieno ar Raspberry Pi, izmantojot seriālos sakarus. Šī iestatīšana ļauj jebkuram ArduPilot lidojuma kontrolierim strādāt ar jebkuru Raspberry Pi variantu, izmantojot pareizu konfigurāciju.
Alternatīvajā arhitektūrā tiek izmantoti tādi dēļi kā Navio2 vai Navigator, kas ir sakrauti tieši uz Raspberry Pi. Šajās sistēmās ArduPilot programmaparatūra darbojas tieši operētājsistēmā Linux, nevis atsevišķā mikrokontrollerī. Tomēr praktiķi ziņo, ka uz Navio2 balstīti droni var būt buggy, it īpaši autonomām misijām, un maksā apmēram divas reizes vairāk nekā Pixhawk alternatīvas.
Ko patiesībā nozīmē “autonoms”.
Termins "autonoms" aptver spēju spektru, nevis vienu funkciju.
Pamata autonomija: iepriekš-ieplānotas misijas
Pamata līmenī autonomais lidojums nozīmē maršruta punktu misiju izpildi, kur drons seko iepriekš noteiktām koordinātām, skenē apgabalus un atgriežas mājās. Programmatūras rīki, piemēram, Mission Planner un QGroundControl, ļauj plānot šīs misijas grafiski, savukārt DroneKit Python nodrošina programmatisku vadību, izmantojot skriptus.
Vienkārša autonoma misija varētu izskatīties šādi: pacelieties līdz 15 metriem, lidojiet uz GPS koordinātu A, novietojiet kursoru 30 sekundes, turpiniet līdz koordinātei B, pēc tam nolaižieties. Raspberry Pi iniciē šīs komandas, un lidojuma kontrolieris tās izpilda, vienlaikus saglabājot stabilitāti.
Vidēja autonomija: uz sensoru{0}}balstīti lēmumi
Nākamais līmenis ietver sensoru, piemēram, LiDAR, pievienošanu šķēršļu noteikšanai, kur drons pieņem reāllaika lēmumus,{0}}balstoties uz vides datiem,{1}}piemēram, nolaižas, atklājot šķēršļus. Precīzā nosēšanās, izmantojot datorredzi, ietilpst šajā kategorijā, kur OpenCV skripti izseko vizuālos marķierus un vada dronu nolaisties centimetru attālumā no mērķa.
Uzlabota autonomija: AI-vadīta navigācija
Sarežģītākajās implementācijās tiek izmantota Pi kamera un TensorFlow{0}}bāzēta objektu noteikšana, lai kontrolētu bezpilota lidaparātu kustību, ļaujot izmantot tādas lietojumprogrammas kā atklāto cilvēku izsekošana vai konkrētu objektu izsekošana. Projektos ir veiksmīgi izmantota datorredze, lai atklātu cilvēkus novērošanas zonās un ziņotu viņu GPS koordinātas atpakaļ bāzes stacijām.
Nepieciešamie komponenti ārpus komplekta
Izpratne par to, kas jums patiesībā ir nepieciešams, novērš dārgus pārsteigumus.
Core Hardware Stack
Funkcionālā autonomā iestatīšana parasti ietver: rāmi un motorus, lidojuma kontrolieri (Pixhawk vai APM), elektroniskos ātruma regulatorus, LiPo akumulatoru, GPS moduli ar kompasu, RC raidītāju manuālai ignorēšanai un Raspberry Pi ar kameru. Iepriekš konfigurētie komplekti apvieno šos vairāk nekā 40 komponentus, un to cena parasti ir aptuveni 1000 ASV dolāru par pilnām pakotnēm, tostarp Raspberry Pi, savukārt, veidojot no atsevišķām daļām, tiek ietaupīti aptuveni 50 ASV dolāri.
Svars kļūst kritisks. Izmantojot motora vilces tabulas, jums jāpārbauda, vai jūsu motora un dzenskrūves kombinācija var pacelt kopējo svaru pie 50% droseļvārsta -pretējā gadījumā drons vienkārši nesasniegs stabilu lidojumu.
Programmatūras ekosistēma
Programmatūras pamats sastāv no ArduPilot lidojuma kontroles koda, kas darbojas uz lidojuma kontroliera, zemes stacijas programmatūras, piemēram, Mission Planner vai QGroundControl konfigurēšanai, un DroneKit Python autonomu misiju skriptu rakstīšanai Raspberry Pi. ArduPilot ir attīstījies no vienkārša Arduino koda par izsmalcinātu C++ kodu bāzi ar vairāk nekā 1 miljonu koda rindu, kas atbalsta integrāciju ar pavadošajiem datoriem uzlabotai navigācijai.
Python kļūst par jūsu galveno rīku, un tādas bibliotēkas kā DroneKit nodrošina API tādām funkcijām kā pacelšanās, nolaišanās, pozīcijas kontrole un maršruta punktu izpilde. Mācīšanās līkne aptver vairākas jomas: pamata dronu montāžu un kalibrēšanu, lidojuma kontroliera konfigurāciju, izmantojot zemes stacijas programmatūru, Python programmēšanu un Linux sistēmas administrēšanu Raspberry Pi.
Programmaparatūras un protokola apsvērumi
Ne visi lidojumu kontrolieri vienlīdz atbalsta pilnīgu autonomo vadību.
Betaflight, kas ir populārs FPV sacīkšu dronos, atbalsta MAVLink tikai telemetrijas pārraidei, kas nozīmē, ka tā var nosūtīt statusa datus, bet nevar izpildīt ienākošās lidojuma komandas{0}}atšķirībā no ArduPilot un INav, kas atbalsta divvirzienu MAVLink saziņu. Jaunākajās Betaflight versijās kā risinājums tika ieviests MSP ignorēšanas režīms, taču autonomā lidojuma ieviešana Betaflight joprojām ir ievērojami sarežģītāka nekā ar ArduPilot{2}}bāzētu sistēmu izmantošana.
MAVLink protokols kalpo kā saziņas mugurkauls, ļaujot Raspberry Pi nosūtīt lidojuma komandas un saņemt telemetrijas datus, tostarp ātrumu, augstumu, akumulatora stāvokli un režīma informāciju. Šī protokola standartizācija izskaidro, kāpēc vairākas zemes stacijas programmatūras opcijas darbojas aizvietojami ar ArduPilot sistēmām.

Reālas-pasaules iespējas un ierobežojumi
Autonomie Raspberry Pi bezpilota lidaparāti izceļas ar konkrētiem uzdevumiem, vienlaikus saskaroties ar raksturīgiem ierobežojumiem.
Pārbaudītas lietojumprogrammas
Veiksmīga ieviešana ietver liela{0}}attāluma vadību, izmantojot 4G modemus, kas paplašina diapazonu līdz tūkstošiem jūdžu, pārsniedzot tradicionālos RC ierobežojumus, dronu piegādes sistēmas ar precīzu nolaišanos uz norādītajiem marķieriem un lauksaimniecības lietojumprogrammas, kurām nepieciešama automatizēta ceļa punktu apsekošana. Profesionālās lietojumprogrammas izmanto sensorus, piemēram, IR-bloķēšanu precīzai nosēšanās nodrošināšanai, nodrošinot konsekventu precizitāti līdz 15 centimetriem no mērķa.
Tehniskie ierobežojumi
Raspberry Pi arhitektūra ievieš īpašas problēmas. Linux nav reāllaika -operētājsistēma, kas var radīt laika problēmas precīzai motora vadībai-lai gan tas nav atsvēris apstrādes jaudas un standarta izstrādes vides priekšrocības. Turklāt sistēmai ir jāgaida, līdz Linux sāks sāknēties pēc akumulatora pievienošanas, un pirms strāvas atvienošanas ir jāizslēdz pareizi, lai izvairītos no failu sistēmas bojājumiem.
GPS{0}}balstīta pozicionēšana cieš no raksturīgās novirzes, kas izraisa ievērojamu svārstību nestabilitāti, īpaši vējainos apstākļos, jo sistēma pozīcijas kontrolei galvenokārt paļaujas uz akselerometra datiem. Lai kompensētu GPS nepieejamību, iekštelpu lidojumiem ir nepieciešamas alternatīvas pozicionēšanas sistēmas, piemēram, optiskie plūsmas sensori vai kameras{2}}navigācija.
Drošības un tiesiskais regulējums
Autonomais lidojums ievieš pienākumus, kas pārsniedz manuālo pilotēšanu.
Tehniskās diskusijās pastāvīgi tiek uzsvērta nepieciešamība saglabāt manuālas ignorēšanas iespējas{0}}nekad nevajadzētu paļauties tikai uz Raspberry Pi kā vienīgo kontroles metodi. RC raidītājam ir jāpaliek funkcionālam, lai atgūtu kontroli, ja autonomās sistēmas neizdodas. Foruma eksperti iesaka pirms autonomo sistēmu izvietošanas apsvērt piemērojamos aviācijas likumus jūsu jurisdikcijā.
Signālu protokoli ir svarīgi drošībai. Vienkārša GPIO tapu pārslēgšana neveido pareizus vadības signālus,{1}}lidojumu kontrolieri sagaida īpašus PWM protokolus, kas Raspberry Pi ir jāģenerē pareizi. Nepareiza signāla ieviešana rada brīdinājumus "Nav signāla" un novērš motora aktivizēšanu, ar ko veidotāji bieži saskaras, mēģinot tiešu GPIO vadību.
Attīstības ceļš un laika ieguldījums
Autonomu spēju veidošana notiek saskaņā ar reālistisku laika grafiku, kas palīdz plānot.
Pirmā fāze: manuāls lidojums (2–4 nedēļas)
Sāciet ar mehānisko montāžu, lidojuma kontroliera kalibrēšanu, izmantojot zemes stacijas programmatūru, un panākot stabilu manuālu lidojumu, izmantojot RC raidītāju. Kā atzīmē foruma veterāni, bez pareizi funkcionējoša akselerometra un žiroskopa integrācijas drons tikai apgāzīsies un avarēs{1}}šiem pamatelementiem ir jādarbojas pirms autonomu funkciju izmantošanas.
Otrais posms: pamata autonomija (2–3 nedēļas)
Savienojiet Raspberry Pi ar lidojuma kontrolieri, izmantojot seriālos sakarus, instalējiet vajadzīgās Python bibliotēkas, tostarp DroneKit, MAVProxy un pymavlink, un sāciet izpildīt vienkāršus skriptus pacelšanās, novietošanas un nolaišanās vajadzībām. Programmatūras simulatoru iestatīšana ir būtiska drošai izstrādei, ļaujot testēt kodu, neriskējot ar aparatūras avārijām.
Trešā fāze: uzlabotas funkcijas (pašlaik notiek)
Datorredzes, sarežģītas misijas loģikas vai pielāgotu sensoru pievienošana prasa dziļākas zināšanas. Ieguldiet laiku, lai apgūtu OpenCV attēlu apstrādei, izprastu sakaru protokolus papildu sensoru integrācijai un izstrādātu spēcīgu kļūdu apstrādi autonomām darbībām.
Alternatīvas pieejas, ko vērts apsvērt
Vairāki ceļi ved uz autonomu lidojumu ar dažādiem{0}}kompromisiem.
Mērķtiecīgi-izveidotie mācību komplekti, piemēram, DuckieDrone DD24, nodrošina trešās-paaudzes atvērtās platformas, kas īpaši izstrādātas, lai mācītu autonoma lidojuma koncepcijas, komplektā ar bakalaura-līmeņa mācību programmām un kopienas atbalstu. Mikrodronu varianti, kuros izmanto Raspberry Pi Zero, samazina izmaksas līdz aptuveni 600 USD, vienlaikus saglabājot ArduPilot saderību un 20 minūšu lidojuma laiku, neskatoties uz to, ka tie sver tikai 450 gramus.
Tiem, kas vēlas pievērsties progresīvai izstrādei, tādi projekti kā Raspilot lidojuma vadību pilnībā īsteno Raspberry Pi bez atsevišķiem mikrokontrolleriem, savienojot GPIO kontaktus tieši ar ESC un sensoriem,{0}}lai gan tam ir nepieciešamas spēcīgas C programmēšanas prasmes un izpratne par vadības teoriju.
Tādi ietvari kā Clover samazina ienākšanas šķēršļus, nodrošinot iepriekš-konfigurētus Raspberry Pi attēlus ar ROS integrāciju, ļaujot vadību, izmantojot vienkāršus Python API, pēc pamata montāžas-simulatori ļauj pārbaudīt kodu virtuālajā vidē, pirms riskējat ar īstu aparatūru.

Izmaksu analīze ārpus aparatūras
Plānojot autonomus dronu projektus, budžets ir lielāks par komponentu cenām.
Tiešās izmaksas
Lai izveidotu no atsevišķiem komponentiem, nepieciešamais aprīkojums parasti prasa 400 ${4}}500, savukārt visaptveroši komplekti ar video rokasgrāmatām maksā aptuveni 1000 $. Mikro varianti sākas aptuveni 600 USD, savukārt profesionālās attīstības komplekti ar plašu dokumentāciju sasniedz līdzīgus cenu punktus pilna izmēra versijām.
Slēptās investīcijas
Laiks ir jūsu lielākie izdevumi. Praktizētāji ziņo, ka problemātiskas aparatūras izvēles, jo īpaši ar tādiem paneļiem kā Navio2, var pavadīt stundas, lai atkļūdotu aparatūras līmeņa problēmas, kas nerodas Pixhawk{3}}sistēmās. Programmatūras apguves līknes krasi atšķiras-pamata maršruta punktu misijām ir nepieciešamas mērenas Python prasmes, savukārt datorredzes lietojumprogrammām ir vajadzīgas zināšanas OpenCV, neironu tīklos un reāllaika-attēlu apstrādē.
Problēmu novēršanas pieredze dokumentē, ka dienas tiek pavadītas, atklājot tādas problēmas kā jaudas sadales problēmas, kuru dēļ Pixhawk netiks palaists, ja vien nav pareizi pievienotas noteiktas džempera tapas. Lai gan šī mācību pieredze ir vērtīga, tā patērē ievērojamu laiku, kam dokumentācija var jūs pilnībā nesagatavot.
Lēmuma pieņemšana
Raspberry Pi dronu komplekti nodrošina patiesas autonomas iespējas, taču, lai gūtu panākumus, cerības ir jāsaskaņo ar realitāti. Jūs neiegādāsieties-no -autonomu sistēmu-, bet gan izstrādes platformu, kas var kļūt autonoma, pareizi konfigurējot un programmējot.
Arhitektūra darbojas: lidojuma kontrolieris apstrādā stabilizāciju, Raspberry Pi apstrādā intelektu, un programmatūras ietvari nodrošina pārbaudītus pamatus. Projekti ir veiksmīgi demonstrējuši visu, sākot no vienkāršas maršruta punktu navigācijas līdz izsmalcinātām datorredzes lietojumprogrammām.
Jūsu piemērotība ir atkarīga no trim faktoriem: tehniskā komforta ar Linux, Python un atkļūdošanas; laika pieejamība vairāku{0}}nedēļu mācību līknei; un reālistiskas cerības par autonomijas līmeni, kas sasniedzams ar hobiju budžetiem. Komerciālie bezpilota lidaparātu piegādes uzņēmumi ir pierādījuši, ka tehnoloģija darbojas plašā mērogā, izmantojot tos pašus ArduPilot pamatus, taču tie nodarbina inženieru komandas-jūsu solo projekts būs pieticīgāks.
Jautājums nav par to, vai Raspberry Pi droni var lidot autonomi. Viņi acīmredzami var. Patiesais jautājums ir par to, vai esat gatavs pats izveidot un programmēt šo autonomiju.
Bieži uzdotie jautājumi
Vai es varu izlaist atsevišķu lidojuma kontrolieri un izmantot tikai Raspberry Pi?
Tehniski iespējams, taču vairumam būvētāju neiesaka,{0}}tādos projektos kā Raspilot tiek demonstrēta tīra Raspberry Pi lidojuma vadība, taču tiem ir nepieciešamas spēcīgas C programmēšanas prasmes, dziļa izpratne par vadības teoriju un rūpīga uzmanība Linux reālā laika ierobežojumiem. Standarta Pixhawk kompanjona pieeja izrādās daudz uzticamāka un pieejamāka.
Cik daudz Python programmēšanas man jāzina?
Pamata Python pietiekamība ietver izpratni par funkcijām, mainīgajiem un bibliotēku importēšanu{0}}DroneKit API nodrošina augsta līmeņa komandas, piemēram, vehicle.simple_takeoff(altitude), kas abstrakti sarežģītas detaļas. Uzlabotām misijām, kurām nepieciešama datorredze vai pielāgoti algoritmi, ir vajadzīgas no vidējas -līdz-padziļinātas Python prasmes.
Vai tas darbosies telpās bez GPS?
GPS{0}}balstīts autonomais lidojums telpās neizdodas satelīta signāla zuduma dēļ-jums būs nepieciešamas alternatīvas pozicionēšanas sistēmas, piemēram, optiskie plūsmas sensori, dziļuma kameras vai vizuālā odometrija. Dažas sistēmas, piemēram, Clover, īpaši atbalsta kameras{3}}lidojumus telpās, integrējot to ar pozicionēšanas sensoriem.
Kādu lidojuma laiku es varu sagaidīt ar Raspberry Pi?
Lidojuma laiks lielā mērā ir atkarīgs no kopējā svara un akumulatora ietilpības -parastajiem 3S LiPo akumulatoriem, kuru tilpums ir 3000-6000 mAh, ir dažāds ilgums, taču akumulatora jauda nemainās lineāri ar lidojuma laiku, jo ir pievienots svars. Labi optimizēti mikro komplekti nodrošina aptuveni 20 minūtes ar vienu uzlādi.




