Inhoudsopgave:

Follow Me - Raspberry Pi Smart Drone Guide - Ajarnpa
Follow Me - Raspberry Pi Smart Drone Guide - Ajarnpa

Video: Follow Me - Raspberry Pi Smart Drone Guide - Ajarnpa

Video: Follow Me - Raspberry Pi Smart Drone Guide - Ajarnpa
Video: How Did I Use Python And Ai To Create A Fully Autonomous Drone? ArduCopter pixhawk and OpenCV. 2024, November
Anonim
Volg mij - Raspberry Pi Smart Drone-gids
Volg mij - Raspberry Pi Smart Drone-gids

Heb je je altijd afgevraagd hoe je een drone van A-Z maakt?

Deze tutorial laat je stap voor stap zien hoe je een quadcopter van 450 mm maakt, van het kopen van de onderdelen tot het testen van je luchtrobot tijdens zijn eerste vlucht.

Bovendien kun je met een Raspberry Pi en een PiCamera een live video streamen op je apparaat en je drone besturen in first person view! De Raspberry Pi biedt ook de mogelijkheid om je drone nog verder te verbeteren en functies toe te voegen als persoonsvolging, obstakelvermijding en een weerstation. Deze tutorial laat je zien hoe je je drone kunt laten volgen.

Het voordeel van de Raspberry Pi is vooral dat hij sommige kunstmatige zichtalgoritmen kan verwerken voor functies waarvoor de drone ''slim'' moet zijn.

In deze instructable leer je:

  • Welke gereedschappen/onderdelen moet je kopen?
  • Hoe alle onderdelen op het frame te bevestigen?
  • Hoe de aansluitingen voor het voortstuwingssysteem te maken?
  • Hoe u uw microcontroller configureert
  • Hoe de ontvanger op de zender aan te sluiten?
  • Een video die door de drone is gemaakt op je telefoon streamen
  • Hoe u uw PID kunt afstemmen voor een betere controle?
  • Persoon volgen implementeren?

Ook heeft de drone een rode LED die aangaat wanneer de drone iemand zoekt en een groene LED wanneer iemand wordt gedetecteerd en de drone hem volgt. Er is ook een knop geïmplementeerd om de Pi uit te schakelen voordat het loskoppelen van de batterij op de SD-kaart van de Raspberry Pi niet beschadigd raakt.

Deze tutorial is bedoeld om de basis te leggen voor het bouwen van een aanpasbare slimme drone, dus als je een complete beginner bent, ben je hier aan het juiste adres!

Stap 1: Overzicht

Overzicht
Overzicht

Om een quadcopter te bouwen, hebben we 4 motoren en 4 ESC's (Electronic Speed Controller) nodig die elk op een motor zijn aangesloten. Een stroomverdeelbord wordt gebruikt om de stroom van de batterij naar de 4 ESC's te verdelen.

De ESC ontvangt de opdracht van de vluchtcontroller (hier een MultiWii-bord) en geeft deze door aan de motor.

Deze flight controller heeft een gyroscoop, accelerometer en barometer. Je kunt er ook een bluetooth-module en een GPS aan toevoegen.

Om de verbinding tussen de Raspberry Pi en de vluchtcontroller te maken, gebruiken we een FTDI-adapter. Zo kunnen we vanuit onze Pi commando's naar de controller sturen. Ook om de PID-kalibratie uit te voeren en de firmware van de Mulltiwii op de vluchtcontroller te uploaden, is de FTDI erg handig.

Tot slot besturen we de drone op afstand met een afstandsbediening die commando's naar de ontvangers stuurt en naar de flight controller stuurt.

De Raspberry Pi biedt ook een stream die in elke browser kan worden bekeken vanaf een apparaat zoals bijvoorbeeld een telefoon. Zo kunnen we zien wat de Pi Camera ziet als hij in de lucht is.

Stap 2: De onderdelen verzamelen

De onderdelen verzamelen
De onderdelen verzamelen
De onderdelen verzamelen
De onderdelen verzamelen
De onderdelen verzamelen
De onderdelen verzamelen

De volgende onderdelen zijn vereist om deze tutorial met succes af te ronden:

1) Het frame: 4-assig 450 F-frame;

2) De zender en ontvanger: Flysky FS-i6X

3) De Raspberry Pi: Raspberry Pi 3 Model B Moederbord

4) De camera: PiCamera

5) De microcontroller: Crius MultiWii SEV2.6

6) De FTDI: FTDI USB naar TTL /FT232-converter

7) Kleine draden: Elegoo 120st veelkleurige Dupont-draad;

8) De motoren (x4): Liobaba 1100KV 2-4S Borstelloze Motor:

9) De ESC's (x4): Borstelloze ESC 30A Borstelloze ESC-firmware met 5V 3A UBEC

10) De batterij: HRB 11.1V 5000mAh 3S 50C-100C LiPo-batterij;

11) De connectoren: Vergulde connectoren 3,5 mm (x4) en Artrinck XT-60 60A/100A Man Vrouw

12) De propellers (x3): FidgetGear 10x4.5 Propeller (Blauw)

13) Het montagekussen voor de vluchtcontroller: Montagekussen voor de vluchtcontroller

14) Sommige door warmte krimpbare omhulsels: krimpbare buis - SODIAL

15) Draden: 16GA draad;

16) De soldeerbout: Holife-soldeerboutset, 60W 110V instelbaar temperatuurgestuurd lasapparaat;

Optioneel

  • Een zoemer: Venom Low Voltage Monitor voor 2S tot 8S LiPO-batterijen
  • Een ondersteuning/rack voor de Pi en vluchtcontroller: Box Storage Case voor Raspberry Pi
  • Verbeter uw soldeerervaring met: Elenco Helping Hands en 60-40 Tin Lead Rosin Core Solder

De TOTALE kosten van al deze onderdelen zouden 450,71 CAN$ moeten zijn.

Stap 3: Solderen en bevestigen van onderdelen op het frame

Onderdelen op het frame solderen en bevestigen
Onderdelen op het frame solderen en bevestigen
Onderdelen op het frame solderen en bevestigen
Onderdelen op het frame solderen en bevestigen
Onderdelen op het frame solderen en bevestigen
Onderdelen op het frame solderen en bevestigen

Twee delen moeten worden gesoldeerd:

  1. De ESC's (ze worden niet geleverd met connectoren aan de uiteinden)
  2. Het stroomverdeelbord (in ons geval geïntegreerd in het frame)

Gebruik de vrouwelijke tx-connectoren op de draden die u aan het verdeelbord hebt toegevoegd, de mannelijke tx-connectoren op de zijdraden van het verdeelbord van de ESC's en de gouden 3,5 mm-connectoren op de draden aan de motorzijde van de ESC's. Vergeet niet om de warmtekrimpbare mantel toe te voegen om te isoleren (we willen geen blote draad zien).

Advies voor solderen:

  • Gebruik de middelgrote platte ijzeren punt (meegeleverd in uw soldeerset) en verwarm de soldeerbout tot 400 degC.
  • Reinig vaak de punt van de soldeerdraad met de waterspons.
  • Smelt eerst wat soldeer op de twee oppervlakken die u wilt verbinden, plak ze vervolgens aan elkaar en voeg meer soldeer toe.

Voor meer details over het solderen van alles, aarzel niet om een kijkje te nemen op onze website.

Bevestig de onderdelen op het frame:

  1. Gebruik twee schroeven om de motoren aan het uiteinde van elke arm te bevestigen.
  2. Bevestig de steun van de elektronica op het frame met bouten en moeren.
  3. Bevestig de Pi op de steun met bouten en moeren.
  4. Plak een montagepad (om trillingen op te vangen) op de bovenkant van de steun en plak je Multiwii erop en zorg ervoor dat het precies in het midden van het frame zit en met de pijl tussen twee armen van dezelfde kleur.
  5. Plak de ontvanger met wat klittenband op de steun.
  6. Zet je ESC's op elke arm met tie-wrap.
  7. Gebruik riemen om de batterij aan de onderkant van het frame te bevestigen.
  8. Boor de propellers en plaats ze op de motoren met behulp van de speciale bout die bij de motor wordt geleverd

Stap 4: De verbindingen

De verbindingen
De verbindingen
De verbindingen
De verbindingen
De verbindingen
De verbindingen

Voor de ontvanger:

  • Sluit de Throttle-pinnen op de MultiWii aan op kanaal 3 op de ontvanger.
  • Sluit de rolpennen aan op kanaal 1 op de ontvanger.
  • Sluit Pitch-pinnen aan op kanaal 2.
  • Sluit Yaw-pinnen aan op kanaal 4.
  • Sluit Auxiliary 1 aan op kanaal 5.

Voor de ESC's:

Met Multiwii naar voren gericht en met zwarte draad van de ESC-commandoconnectoren op de onderste pin van de Multiwii;

  • Sluit de linker-bovenste ESC aan op D3.
  • Sluit de rechter-bovenste ESC aan op D10.
  • Sluit de ESC rechtsonder aan op D9.
  • Sluit de ESC linksonder aan op D11.

Voor de Pi:

  • Sluit de PiCamera aan.
  • Sluit de FTDI aan op een mini-USB/USB-adapter en sluit deze aan op de Pi, sluit ook de FTDI-pinnen aan op de FTDI-pinnen van de MultiWii.
  • Sluit een - en + pin van de MultiWii aan op een 5V en aard GPIO-pinnen van de Pi.

Voor de motoren

Standaard draaien de motoren tegen de klok in (CCW). Dus voor de motoren linksboven en rechtsonder moet je de draadverbinding met de ESC omkeren (de zwarte met de rode en de rode met de zwarte), daarom heb je een rechtse richting (CW).

Stap 5: Configureer alles

Alles configureren
Alles configureren
Alles configureren
Alles configureren
Alles configureren
Alles configureren
Alles configureren
Alles configureren

Verwijder uw propellers voor de volgende stappen.

Programmeren van de ESC's:

De elektronische snelheidsregelaar bestuurt de motor en daarom zijn er veel opties beschikbaar en het is aan jou om je ESC aan te passen zodat deze zich gedraagt zoals je wilt.

Verwijder alle draden die op de ontvanger zijn aangesloten.

Voor elke ESC:

  1. Sluit slechts één ESC aan op de voeding (in ons geval op het verdeelbord) en zorg ervoor dat de batterij is losgekoppeld.
  2. Zet de ESC-pinnen in het gaskanaal van de ontvanger (in ons geval kanaal 3).
  3. Zet uw zender aan.
  4. Zet de gashendel in de maximale stand op uw zender.
  5. Schakel het verdeelbord in door de batterij erop aan te sluiten. U kunt ook enkele krokodillenklemmen gebruiken en de batterij rechtstreeks op de ESC aansluiten.
  6. Na enkele pieptonen zou u een muziektoon moeten horen met 4 pieptonen. Zet na deze eerste muziek de gashendel op de minimum stand op je zender.
  7. Wacht op bevestiging van de UBEC, gegeven door een pieptoon.
  8. Sluit de zender.
  9. Verwijder de stroom (koppel de Li-Po-batterij los)

Om het te testen:

  1. Schakel de zender in met de minimale gasklepstand.
  2. Sluit de batterij aan.
  3. Verhoog geleidelijk het gaspedaal tot maximaal vermogen. De motor zou sneller moeten draaien als u gas geeft.

Het vluchtcontrolebord instellen:

Voor deze stap kun je de USB-kabel van de FTDI op de Pi verwijderen en in je computer stoppen, dat is handiger om het bord te programmeren.

  1. Download de Arduino-software op uw computer via de website.
  2. Download de nieuwste versie van de multiwii-firmware en pak deze uit op uw computer.
  3. Ga naar de map MultiWii die eerder is uitgepakt en open vervolgens MultiWii.ino die Arduino zal starten.
  4. Ga naar het bestand config.h in Arduino, verwijder // voor #define QUADX om het type configuratie van je multicopter in te stellen en voor #define CRIUS_SE_v2_0 om het type bord te kiezen.
  5. Ga dan in Tools -> Board -> en selecteer Arduino Pro of Pro Mini en zorg ervoor dat in Tools -> Processor -> ATMmega328P (5V, 16MHz) is geselecteerd.
  6. De laatste configuratie die we moeten doen voordat we op het bord uploaden, is door naar Tools -> Port -> selecteer de poort van je MultiWii (COM3 voor ons) te gaan.
  7. Klik op verifiëren en vervolgens op uploaden.
  8. Terwijl de code wordt geüpload naar de Crius MultiWii SE v2.6, zou je de lampjes moeten zien knipperen op zowel de controllerkaart als de FTDI-kaart.

Kalibreer de sensoren op de vluchtbesturingskaart:

  1. Ga naar de MultiWiiConf-map die aanwezig is in de MultiWii-map die eerder van hun website is gedownload.
  2. Ga dan naar -> map application.windows32 -> dubbelklik op de MultiWiiConf-applicatie. (Merk op dat zelfs als ik Windows 64bits had, alleen de 32bits-app lijkt te werken).
  3. U moet de poort selecteren waarop uw vluchtcontroller is aangesloten (in dit geval COM3).
  4. Klik op Lezen.
  5. Klik op Begin.
  6. Leg je board plat op het bureau en klik dan op Calib_acc.
  7. Klik op Calib_mag en dan moet je je bord gedurende 30 seconden zo snel mogelijk in alle richtingen draaien. Je zou overal in de grafiek pieken moeten zien.

Om het te testen:

Draai je board op de pitch-, roll- en yaw-as en kijk of wat de sensoren in de software laten zien, logisch is

De zender instellen (afstandsbediening):

Ten eerste kun je in het Display-menu controleren welke stick welk kanaal bestuurt:

  1. Voordat u de controller start, moet u ervoor zorgen dat alle schakelaars omhoog staan en dat de gashendel (linker joystick) omlaag is.
  2. Start de regelaar.
  3. Houd de OK-knop ingedrukt.
  4. Ga naar Setup en vervolgens naar Display.
  5. Je kunt je stokken bewegen om te zien welk kanaal reageert.

Selecteer een model en een naam voordat u verder gaat:

  1. Ga in Systeem-> Model selecteren -> selecteer een model.
  2. Ga naar Systeem -> Modelnaam. En geef het een naam. Houd op annuleren om uw wijzigingen op te slaan.
  3. Ga naar Systeem-> Type selecteer en stel het in als een vliegtuig of zweefvliegtuig, zelfs als het een quadrirotor is.
  4. Stel trim in in Subtrim-menu. Als de sticks in hun neutrale positie staan, moeten de kanalen (zie in het menu Display) op 0% staan voor de yaw, pitch en roll.
  5. Houd annuleren ingedrukt om je instellingen op te slaan.

Laten we vervolgens de Failsafe-instellingen instellen:

Dit zorgt ervoor dat wanneer de drone te ver van de controller komt en het signaal verloren gaat, alle bedieningselementen naar de neutrale positie gaan. Om dit te doen, moeten we kanaal 1, 2 en 4 op 0% instellen en via het Failsafe-menu failsafe activeren. We moeten ook failsafe op het gaspedaal activeren en op 100% instellen.

Je kunt ook de andere schakelaars op je controller gebruiken door ze te activeren in Systeem-> Aux. schakelaars.

U kunt meer informatie over dit onderdeel vinden op onze website.

Stap 6: Livestream

Livestream
Livestream
Livestream
Livestream
Livestream
Livestream

De Raspberry Pi is een computer en wat je met een vliegende computer kunt doen, beperkt alleen je verbeeldingskracht.

Om te livestreamen:

  1. Schakel de PiCamera in. Start hiervoor de Pi en sluit er een muis en een monitor op aan. Klik op het rasbian-logo linksboven, ga naar voorkeuren, dan Raspberry Pi-configuratie en zorg dan in het tabblad interfaces of Camera is aangevinkt als ingeschakeld. Klik dan op ok.
  2. Download het script (bron van de code: willekeurige nerd-tutorials) en zet het in je thuismap.
  3. Voer het script uit door ''python3 rpi_camera_surveillance_system.py'' op de terminal te typen.

Zodra het script draait, heeft u toegang tot uw videostream-webserver op: https://:8000. Vervang door je eigen Raspberry Pi IP-adres, in mijn geval

Als u uw Pi IP-adres niet weet, kunt u dit weten door ifconfig in de terminal te typen die u het adres geeft.

Je hebt toegang tot de livestreaming via elk apparaat dat is aangesloten op hetzelfde netwerk als de Raspberry Pi. U hoeft alleen de browser te openen.

U kunt dit programma ook starten vanaf uw smartphone. Je hoeft alleen de Terminus-app te installeren (als je een iPhone hebt).

Om de stream direct te starten wanneer de Pi is ingeschakeld (dus wanneer uw drone aan staat), typt u op de terminal:

sudo nano /home/pi/.bashrc

Ga dan naar de laatste regel en voeg toe, echo Uitvoeren bij opstarten

sudo python3 /home/pi/ rpi_camera_surveillance_system.py

sudo reboot

Sla uw bestand op door op Ctrl+X te drukken, typ vervolgens Y en klik op Enter.

Gefeliciteerd, je livestream is nu ingesteld! Je kunt het gebruiken om je buren te bespioneren of om FPV-racen te doen!

Stap 7: De kunst van PID-tuning

Je bent klaar voor je eerste vlucht. Het eerste dat u moet doen, is uw drone uitproberen zonder propeller om te zien of alles goed reageert.

Vervolgens kun je je propellers toevoegen en heel langzaam beginnen om het gaspedaal te verhogen om te zien of je kunt opstijgen.

Je drone oscilleert waarschijnlijk langzaam, trilt of de motoren fluiten. Dit betekent dat u uw PID-instellingen moet instellen!

Dit onderdeel duurt even als je een zeer stabiele drone wilt die goed reageert op je commando's. PID-instelling is subjectief, dus het is echt aan jou hoe je wilt dat je drone vliegt. Hier is de werkwijze:

  1. Begin met een lage I op pitch and roll (0,01) en verhoog P totdat je hoogfrequente oscillaties ziet en verlaag deze terug naar de laatste waarde.
  2. Verhoog vervolgens I op pitch en roll met stappen van 0,01 totdat je weer trillingen ziet of je voelt dat je drone stijf is en niet reageert. Meestal kan de I-instelling u helpen als u hoogtedalingen en driften ervaart. Het gaat de verstoringen op uw systeem (de drone) tegen.
  3. Laat uw P zakken als u hoogfrequente oscillaties ziet.
  4. Verlaag je D als je drone te gedempt lijkt (laag om te reageren).

Voor de gier-as kunt u deze meestal op standaard laten staan, maar als u voelt dat uw drone in de gier-as drijft, kunt u I verhogen.

Stap 8: Volg mij-functie

Volg mij-functie
Volg mij-functie

Een autonome drone is geweldig, hij kan vliegen en bewegen zonder dat je je er zorgen over hoeft te maken.

De drone in deze tutorial heeft de mogelijkheid om dit te doen door de gegevens te verwerken die zijn sensoren vastleggen.

Om een functie zoals het volgen van personen te implementeren, moet u:

  1. Gebruik de camera van de drone om hem te helpen kennis te nemen van zijn omgeving.
  2. Gebruik een kunstmatige visie-algoritme om de omgeving te analyseren.
  3. Plan het traject van de drone.
  4. Beveel de richting die je moet volgen naar de drone.

Meer specifiek kan de Pi-camera een livestream van afbeeldingen leveren aan de Raspberry Pi, een computer met voldoende vermogen om een aantal kunstmatige visie-algoritmen uit te voeren.

Deze algoritmen kunnen een persoon op een foto detecteren en de positie van deze persoon analyseren. Haar cascade-algoritme of diepe neurale netwerken kunnen daarvoor bruikbare algoritmen zijn.

Daarom kunt u, door de positie van de te volgen persoon te kennen, plannen hoe de motoren bewegen en welke richting ze moeten nemen, afhankelijk van de positie van het gevolgde object in het frame. Als de persoon die moet worden gevolgd zich bijvoorbeeld rechts van het frame bevindt dat door de Pi-camera wordt genomen, geeft het algoritme de drone de opdracht om rechtsaf te slaan.

Tot slot, zodra de richting is gekozen die de drone moet volgen, moet de Raspberry Pi een commando naar de Multiwii sturen om de drone in die richting te laten gaan. Om dat te doen is het MSP (Multiwii Serial Protocol) handig om te communiceren tussen je computer (de Pi) en je vluchtcontroller.

Hier vindt u bijgevoegd een manier om dat te coderen.

Op onze website is een robuustere methode getoond met behulp van tensorflow en diepe neurale netwerken voor persoonsdetectie.

Je kunt je ook veel andere manieren voorstellen om je autonome drone te verbeteren, zoals hem een foto te laten maken van elke keer dat hij een boom of een dier ziet. Objectvermijding is ook mogelijk om te implementeren, je hebt de drone gewoon ingesteld om zijn race te stoppen als hij dichterbij is dan een opgegeven afstand van een object.

Je kunt op de website ook leren hoe je een LED op de Pi kunt aansluiten en deze kunt inschakelen wanneer de drone iemand detecteert om te volgen!

Stap 9: Gelukkig vliegen

Start je drone en geniet van je vlieg.

Wil je verder gaan en person tracking implementeren op je drone, dan kun je onze website raadplegen voor een tutorial daarover.

Bedankt voor het klaarmaken van deze tutorial!

Aanbevolen: