Innholdsfortegnelse:

Følg meg - Raspberry Pi Smart Drone Guide: 9 trinn
Følg meg - Raspberry Pi Smart Drone Guide: 9 trinn

Video: Følg meg - Raspberry Pi Smart Drone Guide: 9 trinn

Video: Følg meg - Raspberry Pi Smart Drone Guide: 9 trinn
Video: Can You Reattach a Severed Finger? 🤔 2024, Juli
Anonim
Følg meg - Raspberry Pi Smart Drone Guide
Følg meg - Raspberry Pi Smart Drone Guide

Har du alltid lurt på hvordan du lager en drone fra A-Z?

Denne opplæringen viser deg hvordan du gjør et 450 mm quadcopter trinn-for-trinn fra å kjøpe delene til å teste luftroboten på hans første flytur.

I tillegg kan du med en Raspberry Pi og en PiCamera streame en live video på enheten din og kontrollere dronen din i førstepersonsvisning! Raspberry Pi tilbyr også muligheten til å forbedre dronen din enda mer og legge til funksjoner som personsporing, hindring av hindringer og en værstasjon. Denne opplæringen vil vise deg hvordan du får dronen til å følge deg.

Fordelen med Raspberry Pi er hovedsakelig at den kan behandle noen kunstige visjonsalgoritmer for funksjoner som krever at dronen er '' smart ''.

I denne instruksen lærer du:

  • Hvilke verktøy/deler du trenger å kjøpe
  • Hvordan fikse alle delene på rammen
  • Hvordan lage tilkoblinger for fremdriftssystemet
  • Slik konfigurerer du mikrokontrolleren
  • Slik kobler du mottakeren til senderen
  • Slik streamer du en video tatt av dronen på telefonen din
  • Hvordan stille inn PID for bedre kontroll
  • Hvordan implementere personsporing

Dronen har også en rød LED som tennes når dronen søker etter noen og en grønn LED når noen blir oppdaget og dronen følger ham. En knapp er også implementert for å slå av Pi før du kobler fra batteriet til SD -kortet til Raspberry Pi ikke blir ødelagt.

Denne opplæringen tar sikte på å sette grunnleggende om hvordan du bygger en tilpassbar smart drone, så hvis du er en fullstendig nybegynner, har du kommet til rett sted!

Trinn 1: Oversikt

Oversikt
Oversikt

For å bygge et quadcopter trenger vi 4 motorer og 4 ESC (elektronisk hastighetsregulator) som hver er koblet til en motor. Et strømfordelingskort brukes til å fordele strømmen fra batteriet til de fire ESC -ene.

ESC mottar kommandoen fra flykontrolleren (her et MultiWii -kort) og sender den til motoren.

Denne flykontrolleren har et gyroskop, akselerometer og barometer. Du kan også legge til en Bluetooth -modul og en GPS til den.

For å gjøre tilkoblingen mellom Raspberry Pi og flykontrolleren, bruker vi en FTDI -adapter. Dermed kan vi sende kommandoer til kontrolleren fra vår Pi. For å gjøre PID -kalibreringen og laste opp fastvaren til Mulltiwii på flykontrollen, vil FTDI være veldig nyttig.

Til slutt kontrollerer vi eksternt dronen med en fjernkontroll som sender kommandoer til mottakerne og sender dem til flykontrolleren.

Raspberry Pi gir også en strøm som kan sees på hvilken som helst nettleser fra en enhet, for eksempel en telefon. På denne måten kan vi se hva Pi -kameraet ser når det er i luften.

Trinn 2: Samle delene

Samle delene
Samle delene
Samle delene
Samle delene
Samle delene
Samle delene

Følgende deler kreves for å fullføre denne opplæringen:

1) Rammen: 4-akset 450 F ramme

2) Senderen og mottakeren: Flysky FS-i6X

3) Raspberry Pi: Raspberry Pi 3 Model B hovedkort

4) Kameraet: PiCamera

5) Mikrokontrolleren: Crius MultiWii SEV2.6

6) FTDI: FTDI USB til TTL /FT232 -omformer

7) Små ledninger: Elegoo 120pcs flerfarget Dupont Wire

8) Motorene (x4): Liobaba 1100KV 2-4S børsteløs motor

9) ESC -ene (x4): Børsteløs ESC 30A Børsteløs ESC -fastvare m / 5V 3A UBEC

10) Batteriet: HRB 11.1V 5000mAh 3S 50C-100C LiPo-batteri

11) Kontaktene: Gullplattformede kontakter 3,5 mm (x4) og Artrinck XT-60 60A/100A hannhunn

12) Propellene (x3): FidgetGear 10x4.5 Propell (blå)

13) Monteringsputen for flykontrolleren: Monteringsputen for flykontrolleren

14) Noen varmekrympbare kapper: Krympeslange - SODIAL

15) Ledninger: 16GA ledning

16) Loddejernet: Holife Loddejernssett, 60W 110V Justerbart temperaturkontrollert sveiseverktøy

Valgfri

  • En summer: Venom lavspenningsmonitor for 2S til 8S LiPO -batterier
  • En støtte/rack for Pi og flykontroller: Box Storage Case for Raspberry Pi
  • Forbedre loddeopplevelsen med: Elenco Helping Hands og 60-40 Tin Lead Rosin Core Lodde

Den totale kostnaden for alle disse delene bør være 450,71 CAN $.

Trinn 3: Lodding og festing av deler på rammen

Lodding og festing av deler på rammen
Lodding og festing av deler på rammen
Lodding og festing av deler på rammen
Lodding og festing av deler på rammen
Lodding og festing av deler på rammen
Lodding og festing av deler på rammen

To deler trenger lodding:

  1. ESC -ene (de kommer ikke med kontakter i ekstremitetene)
  2. Kraftfordelingsbordet (i vårt tilfelle integrert i rammen)

Bruk de kvinnelige tx -kontaktene på ledningene du la til på fordelerkortet, de mannlige tx -kontaktene på ESC -sidens ledninger til fordelerkortet og de 3,5 mm gullkontaktene på ESC -motorens sideledninger. Ikke glem å legge til den varmekrympbare kappen for å isolere (vi vil ikke se noen ledninger).

Råd for lodding:

  • Bruk den mellomstore flatjernstippen (følger med i loddesettet) og varm opp loddejernet til 400 grader.
  • Rengjør ofte tuppen av loddetråden med vannsvampen.
  • Smelt litt lodding på de to overflatene du vil koble til først, lim dem deretter sammen og tilsett mer loddetinn.

For mer informasjon om hvordan du lodder alt, ikke nøl med å ta en titt på nettstedet vårt.

Fest delene på rammen:

  1. Bruk to skruer for å fikse motorene i hver arms ekstremitet.
  2. Fest elektronikkens støtte på rammen med muttere og bolter.
  3. Fest Pi på støtten med muttere og bolter.
  4. Fest en monteringspute (for å absorbere vibrasjoner) på toppen av støtten, og fest Multiwii til den og sørg for at den er nøyaktig midt på rammen og med pilen som peker mellom to armer av samme farge.
  5. Fest mottakeren til støtten med litt borrelås.
  6. Sett ESC-er på hver arm med slips.
  7. Bruk stropper for å feste batteriet nederst på rammen.
  8. Bor propellene og sett dem på motorene ved hjelp av spesialbolten som følger med motoren

Trinn 4: Tilkoblingene

Tilkoblingene
Tilkoblingene
Tilkoblingene
Tilkoblingene
Tilkoblingene
Tilkoblingene

For mottakeren:

  • Koble gasspinnene på MultiWii til kanal 3 på mottakeren.
  • Koble rullestifter til kanal 1 på mottakeren.
  • Koble Pitch pins til kanal 2.
  • Koble Yaw pins til kanal 4.
  • Koble tilleggsutstyr 1 til kanal 5.

For ESC -ene:

Med Multiwii vendt fremover og med svart ledning fra ESCs kommandokontakt på den nederste pinnen på Multiwii;

  • Koble venstre øvre ESC til D3.
  • Koble høyre øvre ESC til D10.
  • Koble høyre nedre ESC til D9.
  • Koble venstre-nedre ESC til D11.

For Pi:

  • Koble til PiCamera.
  • Koble FTDI til en mini-USB/USB-adapter og koble den til Pi, koble også FTDI-pinnene til FTDI-pinnene på MultiWii.
  • Koble en - og + pinne på MultiWii til en 5V og jordet GPIO -pinne på Pi.

For motorene

Som standard roterer motorene mot urviseren (CCW). Så for motorene øverst til venstre og nederst til høyre må du snu ledningsforbindelsen til ESC (den svarte med den røde og den røde med den svarte), derfor vil du ha en klokvisende retning (CW).

Trinn 5: Konfigurer alt

Konfigurer alt
Konfigurer alt
Konfigurer alt
Konfigurer alt
Konfigurer alt
Konfigurer alt
Konfigurer alt
Konfigurer alt

Fjern propellene for følgende trinn.

Programmering av ESC -er:

Den elektroniske hastighetskontrolleren styrer motoren, og derfor er det mange alternativer tilgjengelig, og det er opp til deg å tilpasse ESC slik at den oppfører seg som du vil.

Fjern alle ledningene som er koblet til mottakeren.

For hver ESC:

  1. Koble bare én ESC til strømmen (til fordelerkortet i vårt tilfelle) og kontroller at batteriet er koblet fra.
  2. Sett ESC -pinnen i mottakerens gasskanal (i vårt tilfelle kanal 3).
  3. Slå på senderen.
  4. Sett gassen til maksimal posisjon på senderen.
  5. Slå på fordelerkortet ved å koble batteriet til det. Du kan også bruke noen krokodilleklipp og koble batteriet direkte til ESC.
  6. Etter noen pip, bør du høre en musikalsk tone med 4 pip. Etter denne første musikken, sett gass på minimum posisjon på senderen.
  7. Vent bekreftelse fra UBEC, gitt av et pip.
  8. Lukk senderen.
  9. Ta ut strømmen (koble fra Li-Po-batteriet)

For å teste det:

  1. Slå på senderen med minimum gassposisjon.
  2. Koble til batteriet.
  3. Øk gassen gradvis til maksimal effekt. Motoren skal snurre raskere når du øker gassen.

Sette opp kontrollpanelet:

For dette trinnet kan du fjerne USB -kabelen til FTDI på Pi og sette den i datamaskinen din, det vil være mer praktisk å programmere brettet.

  1. Last ned Arduino -programvaren på datamaskinen din via nettstedet.
  2. Last ned multiwii fastvare siste versjon og pakk den ut på datamaskinen.
  3. Gå til mappen MultiWii som er hentet tidligere, og åpne deretter MultiWii.ino som vil lauche Arduino.
  4. Gå til config.h -filen i Arduino, fjern // foran #define QUADX for å konfigurere konfigurasjonstypen til multikopteret ditt og foran #define CRIUS_SE_v2_0 for å velge brettetype.
  5. Gå deretter til Verktøy -> Brett -> og velg Arduino Pro eller Pro Mini, og kontroller i Verktøy -> Prosessor -> at ATMmega328P (5V, 16MHz) er valgt.
  6. Den siste konfigurasjonen vi må gjøre før vi laster opp på brettet, er å gå til Verktøy -> Port -> velg porten til MultiWii (COM3 for oss).
  7. Klikk på bekreft og deretter på opplasting.
  8. Siden koden lastes opp på Crius MultiWii SE v2.6, bør du se lampene blinke på både kontrollerkortet og FTDI -kortet.

Kalibrer sensorene på flykontrollkortet:

  1. Gå til MultiWiiConf -mappen som finnes i MultiWii -mappen som er lastet ned tidligere fra nettstedet deres.
  2. Gå deretter til -> application.windows32 -mappen -> dobbeltklikk på MultiWiiConf -programmet. (Vær oppmerksom på at selv om jeg hadde Windows 64bits, ser det ut til at 32bits -appen bare fungerer).
  3. Du må velge porten som flykontrolleren er koblet til (i dette tilfellet COM3).
  4. Klikk på Les.
  5. Klikk på Start.
  6. Legg brettet flatt på skrivebordet, og klikk deretter på Calib_acc.
  7. Klikk på Calib_mag, og så må du rotere brettet i alle retninger i løpet av 30 sekunder så raskt som mulig. Du bør se pigger over hele grafen.

For å teste det:

Roter brettet på banen, rull og gjev aksen og se om det sensorene viser på programvaren gir mening

Sette opp senderen (fjernkontroll):

Først kan du kontrollere hvilken pinne som styrer hvilken kanal i Display -menyen:

  1. Før du starter kontrolleren, må du kontrollere at alle brytere er oppe og at gasspaken (venstre pinne) er nede.
  2. Start kontrolleren.
  3. Hold OK -knappen.
  4. Gå til Setup, deretter Display.
  5. Du kan flytte pinnene dine for å se hvilken kanal som reagerer.

Velg en modell og et navn før du går videre:

  1. Gå til System-> Modellvalg -> velg en modell.
  2. Gå inn i System -> Modellnavn. Og gi det et navn. Vent på avbryt for å lagre endringene.
  3. Gå inn i System-> Type select og angi det som et fly eller glider selv om det er en quadrirotor.
  4. Angi trim i Subtrim -meny. Når pinnene er i sin nøytrale posisjon, trenger du at kanalene (se i skjermmenyen) er 0% for gjeving, pitch og rull.
  5. Vent på avbryt for å lagre innstillingene.

La oss deretter angi Failsafe -innstillingene:

Dette sikrer at når dronen går for langt fra kontrolleren og tapt signal, går alle kontrollene til nøytral posisjon. Så for å gjøre dette må vi sette kanal 1, 2 og 4 til 0% og aktivere failsafe på dem via Failsafe Menu. Vi må også aktivere failsafe på gassen og sette den til 100%.

Du kan også bruke de andre bryterne på kontrolleren din ved å aktivere dem i System-> Aux. brytere.

Du kan ha mer informasjon om denne delen på nettstedet vårt.

Trinn 6: Live Stream

Direktestrømming
Direktestrømming
Direktestrømming
Direktestrømming
Direktestrømming
Direktestrømming

Raspberry Pi er en datamaskin, og det du kan gjøre med en flygende datamaskin har begrenset fantasi.

Slik sender du livestream:

  1. Aktiver PiCamera. For å gjøre det, start Pi og koble en mus og en skjerm til den. Klikk på rasbian -logoen øverst til venstre, gå til preferanser, deretter Raspberry Pi Configuration og deretter i grensesnittfanen gjør sur Camera er merket av som aktivert. Klikk deretter på ok.
  2. Last ned skriptet (kilde til koden: random nerd tutorials) og legg det i hjemmemappen.
  3. Kjør skriptet ved å skrive '' python3 rpi_camera_surveillance_system.py '' på terminalen.

Når skriptet kjører, kan du få tilgang til videostream -webserveren din på: https://: 8000. Erstatt med din egen Raspberry Pi IP -adresse, i mitt tilfelle

Hvis du ikke kjenner din Pi IP -adresse, kan du vite det ved å skrive ifconfig i terminalen som gir deg adressen.

Du kan få tilgang til livestreaming via hvilken som helst enhet som er koblet til samme nettverk som Raspberry Pi. Du trenger bare å åpne nettleseren.

Du kan også starte dette programmet fra smarttelefonen. Du trenger bare å installere Terminus -appen (hvis du har en iPhone).

For å starte strømmen direkte når Pi er drevet (så når dronen din er på), skriv på terminalen:

sudo nano /home/pi/.bashrc

Gå deretter til den siste linjen og legg til, ekko Kjører ved oppstart

sudo python3/home/pi/rpi_camera_surveillance_system.py

sudo omstart

Lagre filen ved å trykke Ctrl+X, skriv deretter Y og klikk på Enter.

Gratulerer, live stream er nå satt! Du kan bruke den til å spionere på naboene dine eller gjøre noen FPV -racing!

Trinn 7: Art of PID Tuning

Du er klar for din første flytur. Det første du bør gjøre er å prøve dronen din uten propell for å se om alt reagerer bra.

Deretter kan du legge til propellene dine og starte veldig sakte med å øke gassen for å se om du kan ta av.

Dronen din svinger sannsynligvis sakte, vibrerer eller motorene fløyter. Dette betyr at du må konfigurere PID -innstillingene dine!

Denne delen tar en stund hvis du vil ha en veldig stabil drone som reagerer godt på kommandoene dine. PID -innstillingen er subjektiv, så det er virkelig opp til deg hvordan du vil at dronen din skal fly. Her er fremgangsmåten:

  1. Start med et lavt I på pitch and roll (0,01) og øk P til du ser høyfrekvente svingninger og reduser det tilbake til den siste verdien.
  2. Deretter øker jeg I på banen og ruller med trinn på 0,01 til du igjen ser vibrasjoner eller du føler at dronen din er stiv og ikke reagerer. Vanligvis kan jeg -innstillingen hjelpe deg hvis du opplever høydefall og drift. Det motvirker forstyrrelsene på systemet ditt (dronen).
  3. Senk ryggen din P hvis du så høyfrekvente svingninger.
  4. Reduser D hvis dronen din virker for dempet (lav til å svare).

For gaffelaksen kan du vanligvis la den stå som standard, men hvis du føler at dronen din driver i krankaksen, kan du øke I.

Trinn 8: Følg meg -funksjonen

Følg meg -funksjonen
Følg meg -funksjonen

En autonom drone er fantastisk, den kan fly og bevege seg uten å måtte bekymre seg for det.

Dronen som er gjort i denne opplæringen har muligheten til å gjøre dette ved å behandle dataene som sensorene hans fanger.

For å implementere en funksjon som personsporing må du:

  1. Bruk kameraet til dronen for å hjelpe ham med å ta hensyn til omgivelsene.
  2. Bruk en kunstig visjonsalgoritme for å analysere miljøet.
  3. Planlegg dronens bane.
  4. Kommander retningen du vil følge til dronen.

Nærmere bestemt kan Pi -kameraet levere en strøm av bilder til Raspberry Pi, som er en datamaskin med nok strøm til å kjøre noen kunstige visjonsalgoritmer.

Disse algoritmene kan oppdage en person i et bilde og analysere posisjonen til denne personen. Haar kaskade -algoritme eller dype nevrale nettverk kan være nyttige algoritmer for det.

Derfor, ved å kjenne posisjonen til personen du skal følge, kan du planlegge hvordan motorene beveger seg og hvilken retning du skal ta, avhengig av posisjonen til det sporede objektet i rammen. For eksempel, hvis personen som skal spores er til høyre for rammen tatt av Pi -kameraet, kommandoen algoritmen til dronen for å svinge til høyre.

Til slutt, når retningen dronen skal følge er valgt, må Raspberry Pi sende en kommando til Multiwii for å tillate dronen å gå i den retningen. For å gjøre det, er MSP (Multiwii Serial Protocol) nyttig for å kommunisere mellom datamaskinen din (Pi) og flykontrolleren.

Her kan du finne vedlagt en måte å kode det på.

En mer robust metode ved bruk av tensorflow og dype nevrale nettverk for persondeteksjon har blitt vist på nettstedet vårt.

Du kan også forestille deg mange andre måter å forbedre din autonome drone, som å få ham til å ta et bilde av hver gang han ser et tre eller et dyr. Det er også mulig å unngå objekter du bare har satt dronen til å stoppe løpet hvis han er nærmere enn en spesifisert avstand fra et objekt.

Du kan også lære på nettstedet hvordan du kobler en LED til Pi og slår den på når dronen oppdager noen å følge!

Trinn 9: Happy Flying

Start dronen din og nyt flua.

Hvis du vil gå videre og implementere personsporing på dronen din, kan du konsultere nettstedet vårt for en opplæring om det.

Takk for at du var klar med denne opplæringen!

Anbefalt: