Artikel top billede

(Foto: Computerworld)

Guide: Byg din egen drone

Tidligere krævede droner timers øvelse, før man kunne udføre selv de enkleste manøvrer såsom at lette og lande. Det tog lang tid at lære at flyve dronen – og før man kunne komme så langt, skulle man også lige se at få bygget tingesten. Læs med og se hvordan du bygger din egen drone ved brug af Linux.

Af Torben Okholm, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

I dag findes der et stort udvalg af færdiglavede og forprogrammerede droner på markedet, og man kan gå ind i en forretning og købe en uden videre. Droner som 3DR SOLO, Parrot Bebop og DJI Phantom har revolutioneret markedet, og langsomt begynder der at komme droner med avancerede flyvefunktioner, som gør flylivingen og det at styre en drone langt nemmere.

Det store vendepunkt indenfor drone-design indtraf, da de blev intelligente. Det vil sige, at de fik små processorer, som kunne stabilisere flyvningen og håndtere avancerede funktioner som automatisk bremsning, start og landing. Det gjorde, at piloten kunne have det sjovt uden at skulle bekymre sig om mekanik og programmering.

Samtidig med at kommercielle droner har bredt sig, har de åbne hardware- og softwaremiljøer fået vind i sejlene. De nyeste open source-droner udfordrer deres dyreste rivaler med avancerede funktioner såsom kollisionssikring og gps-navigation.

Udfordringen til de kommercielle modeller kommer ikke som nogen overraskelse , og man behøver ikke lede længe i dronernes gør det selv-miljø for at konstatere, at mange af de vigtigste producenter er ekstremt aktive i open source-verdenen og regelmæssigt deltager og støtter dem, der selv vil lave droner. Således sælger 3D Robotics autopilotsystemer, som man kan programmere via softwareapplikationer såsom Mission Planner.

3D Robotics’ engagement i miljøet bliver synligt, når man ser nærmere på en af foretagendets droner.

Hvis man kigger under kølerhjelmen på 3DR SOLO, ser man, at den er baseret på Linux. Firmaet kører også et enormt undervisningsprogram, og der eksisterer et komplet SDk til SOLO. Med udgangspunkt i et nyere open source-projekt – http://bit.ly/LXFdrone – ser vi på konstruktionen af en enkel drone ved hjælp af den seneste Raspberry Pi Zero og Erle Robotics PXFMini.

Kernen i kommercielle droner er Linux.
Alt om DATA viser, hvordan du selv kan lave en

Det skal du bruge

[su_row]

[su_column size="1/2"]

  • Raspberry Pi Zero
  • Erle Robotics
  • PXF Mini
  • Erle Robotics PXF Mini Power Module
  • HobbyKing

[/su_column] [su_column size="1/2"]

  • Spec FPV250
  • 100 mm han til han-servokabel
  • FlySky-i6-controller
  • Edimax AC EW-7811UAC
  • RC XT-60-stik

[/su_column]

[/su_row]

Det første skridt består i at forberede Pi Zero og PXFmini.

Det er relativt enkelt at kombinere de to, så snart man har loddet et 40-pin GPIO-stik på Pi Zero. Stikket er simpelthen to rækker pins, der skal sidde oven på Zero og sluttes til den tilsvarende sokkel på PXFMini.

Prisen på Pi Zeros bundkort er 30-40 kroner, men til dette projekt skal du bruge et starterkit, der foruden et PiZero-kort rummer et 40-pin GPIO-stik og mini-USB- og HDMI-kabler. En USB-hub er også en god ide – så kan du tilslutte en tastaturmus og en Wi-Fi-dongle.

Du ender faktisk med to 40-pin-stik, hvis du køber dette sæt, for der følger også et PXFMini med, men det er stadig alle pengene værd. På grund af kortets beskedne størrelse kan det være lidt af en udfordring at lodde delene fast, og man skal også sikre sig, at de enkelte pins rækker tilstrækkelig langt op over kortet til at få kontakt med PXFMini.

Den nemmeste fremgangsmåde består i at bruge noget Blu-Tack.

Vi har også erfaret, at hvis man sliber disse pins med lidt fint sandpapir, er det nemmere at få loddematerialet til at sidde fast. Når kortet skal monteres, indsætter du GPIO-pins i Pi Zero og vender kortet om, så du kan se disse pins gå igennem kortet. Læg det på bordet, i en vinkel af cirka 45 grader, og brug en smule Blu-Tack til at holde sagerne fast. Skub nu pinsene, så der stikker et lille stykke – højst 1 mm – gennem kortet, og brug Blu-Tack til at sikre placeringen af pins i den ene ende af kortet.

Der skal Blu-Tack på de pins, som vi ikke lodder i første omgang. Når disse pins’ ene ende er loddet og sikker, kan vi fjerne vores Blu-Tack og gøre arbejdet færdigt. Hvis din Blu-Tack bliver varm, brænder den og bliver svær at fjerne. Du skal lodde alle pins. En loddekolbe med en ny, spids tip vil gøre dit liv lettere, hvis du ikke er vant til at lodde.

Zeros lille størrelse gør lodningen vanskelig. Sørg derfor at have godt lys, og slib pinsene, så loddematerialet bliver siddende.

Dronebyggeri

Når du har forbundet de to kort, kan du begynde på at konstruere dronen. Hvis du gør det med et af de mange sæt, der findes i handlen, burde processen være ret ligetil. De fleste af de små sæt omfatter en enkelt sammenskruet ramme, fire små elektroniske fartcontrollere (ESC), børsteløse motorer og et batteri.

Hovedkomponenterne og elektronikken skal alle tapes og lynes fast på rammen. Det er kun motorerne, der kræver skruer. På dette stade er det klogt at vente med at sætte propellerne på, indtil dronen er korrekt konfigureret.

Motorerne virker små, men de er stærke. Vent med at montere propellerne til sidste øjeblik.

Når du samler dronen, skal du huske nogle vigtige detaljer.

PXFMini bør monteres, så dens stik vender mod fartøjets forende. Disse pins skal bruges til at forbinde ESC og modtageren, hvis du bruger en RC-enhed. Mellem Pi Zero og rammen er det afgørende, at du tilføjer en skumsektion, der kan give lidt isolering fra motorernes vibration og for at sikre, at PXFMini’en er i vater.

I denne forbindelse skal du også bruge et servokabel med hanstik i begge ender og fire RC XT60 LiPo-stik (fire han og fire hun). I øjeblikket er de to kort uden styring, og før man kan bruge dem til at styre en drone, skal de udstyres med et operativsystem. Dette operativsystem befinder sig – som med alle Raspberry Pi-kort – på et SD, om end der er tale om et microSD-kort i dette tilfælde. Det kan man hurtigt installere bag på Pi Zero.

Det styresystem, vi skal bruge til dronen og til Pi Zero og PXFMini-autopilotsystemet er på forhånd kompileret af Erle Robotics, og det er baseret på Debian. Når du køber det direkte herfra, sender firmaet det i form af et link til den seneste version af styresystemet. Hvis det ikke sker, kan man selv kompilere det, men det vil være en mere avanceret opgave for nogle af jer.

Hver motor bliver styret af en separat elektronisk fartcontroller (ESC).

Flashing Pi Zero

Pi Zero kan kun læse FAT32-filsystemet. Før du fortsætter, skal du derfor have formateret kortet korrekt og ikke ved brug af exFAT. Når styresystemet er downloadet, og microSD-kortet er parat, skriver du df -h for at tjekke de diske, der er knyttet til computeren.

Du skal udstyre microSD-kortet med det nyeste image, og du er derfor nødt til at afmontere kortet. Hvis dit kort er på 32 GB eller derover, kan du se, at disken har to partitioner. Husk at skyde dem begge ud. Skriv umount /dev/disk2s1. For at kunne overføre styresystemet til kortet skal du sikre dig, at den fil, du har downloadet, ikke er blevet dekomprimeret.

Skriv følgende:
sudo zcat /Path/to/image/PXFmini.img.gz | sudo dd of=/dev/disk bs=8M

PXFMini er et autopilotskjold til Raspberry Pi. Det er billigt.

Flashingprocessen kan tage nogen tid, eftersom den ukomprimerede fil er et godt stykke over 7 GB. Når den er færdig, fjerner du kortet fra computeren og installerer den i Pi Zero. Din Pi skal nu forbindes til skærm, tastatur og mus, før du kan afslutte installationsprocessen.

Efter at Pi booter, vil du se Erle Robotics splash-skærmbillede, og en bjælke med ikoner viser de forskellige Vehicle-projekter, som kortet kan bruges sammen med. Klik på Erle Copter-billedet. Nu forsvinder skærmbilledet, og kortet renstarter. Lad Pi Zero køre gennem bootsekvensen. Denne gang indlæser den ikke en grafisk brugerflade; i stedet booter den til en kommandolinje, der viser, at installationen er færdig, og at man kan koble kortet fra.

 

 

 

Tjek, at alle kabler er sikre, og at alle motorerne reagerer på kommandoer fra transmitteren, før du monterer propellerne.

Tid til autopiloten

Fra begyndelsen skal man løbende tjekke, at alt i projektet er så nøjagtigt som muligt.

Da dronen er så lille, er det ret svært at holde orden i sagerne, når man fylder op med kabler og vikler isoleringstape og bændler rundt om rammen for at holde det hele samlet. Det kan virke fnidret og tidskrævende at sikre sig, at kombinationen af PXFMini og Raspberry Pi Zero er helt i orden, men det er et af de vigtigste aspekter i hele processen.

Det rammesæt, vi har brugt i dette projekt, klarer opgaven godt, selvom det er billigt, men nogle af delene, herunder rammebenene, kræver ekstra arbejde, fordi de har en tilbøjelighed til at falde af. Den eneste løsning på dette problem er at lime dem på plads. Hvis et ben falder af under start eller landing, kan resultatet blive ret dramatisk.

Benene er til at have med at gøre, men der er andre problemer med rammen, fordi den ikke er udviklet til den form og størrelse, vores autopilot har. Hertil kommer, at pladsen til autopiloten er for lille. Det betyder, at det kan være meget svært at få autopiloten til at sidde lige.

Hvis den ikke gør det under start, vil den prøve selv at rette op, og hvis man gør det i luften, bliver flyvningen usikker. For at komme omkring det problem og for at dæmpe vibrationer fra motorerne har vi lagt en stor skumsektion ind i rammen. Den er med til at stabilisere, og det giver autopiloten et godt underlag.

På dette stadie burde dronen være klar til sin første prøveflyvning.

For at få den op at flyve skal du forbinde den med en form for kontrolenhed såsom radiostyring, Bluetooth eller Wi-Fi med ROS (Robot Operating System). Du skal være opmærksom på, at dette er et åbent hardwareprojekt, og de komponenter, vi bruger, er anderledes end dem, som Erle Robotics bruger.

For nemheds skyld har vi satset på den traditionelle radiostyrede udgave og har brugt en FLYSKY FS-i6 med den nye FS-iA6B-modtager. Den vigtige faktor her er, at modtageren er af den PPM-type, som vi tidligere har nævnt.

PPM giver mulighed for adskillige servoer eller i dette tilfælde adskillige ESC’er, som kan forbindes til én port og styres individuelt. Det fungerer på samme måde som traditionelle servoer med en individuel port i modtageren til hver af dem. Det reducerer mængden af ledninger, men nok så vigtigt er det den hardware, som er krævet af PXFMini for at få forbindelse med controlleren.

Den første flyvning

Før du begynder, bør du dobbelttjekke din drone og sikre dig, at alt er på plads.

Især om alle kabler er sikre og tapet fast til rammen. Da det er dit første forsøg, bør du fjerne propellerne. Hvis noget går galt, bliver dronen i hvert fald, hvor den er, i stedet for at drøne rundt og stikke øjnene ud på folk og smadre inventaret.

Begynd med at tænde for controlleren og se, om alle kontakter er tændt, og at speederen er skruet helt ned. Slut nu batteriet til strømmodulet. Du bør kunne høre et bip, idet kortet begynder at indlæse. Det kan tage op til et minut. Et nyt bip markerer slutningen af bootsekvensen, og derefter skal der gå fem-ti sekunder, før dronen er klar til test.

Så er vi i gang

På transmitteren flytter den venstre stang til den nederste højre placering. Mens du holder den på plads, trykker du på kontakt D (SWD), som på SKYFLY FS-i6 er kontakten øverst til højre på håndsættet. Nu bør motorerne starte. Tryk på kontakten igen for at slukke motorerne. Nu bør du kunne bruge speederen til at starte motorerne og øge deres fart. Hvis du vælger at lade dronen hvile en stund, skal du gentage startprocessen.

Hvis alt er i orden, og alle fire motorer drejer og reagerer korrekt sammen med transmitteren, er du klar til at indlede din første flyvning, så snart propellerne er blevet monteret. Hvis kun tre motorer starter, eller du kan se, at en af dem drejer ved en meget lavere hastighed end de andre, skal du indlæse AMP og konfigurere din transmitter i forhold til dronen.

Når du har forbundet det hele, burde det virke som beskrevet her

Du kan komme ud for, at der er behov for nogen finjustering af transmitter-kontrollerne. Pi Zero har ikke evnen til at netværke over USB-portene, og man skal derfor have en Wi-Fi-dongle for at få forbindelse til computeren. Vi har brugt en dongle, der er købt direkte hos Erle Robotics for 55 euro. Du skal sikre dig, at din maskine har en 5 GHz-kompatibel Wi-Fi-enhed, hvis tingene skal virke ordentligt.

Når det hele er forbundet, kan du downloade og installere AMP Planner fra
http://ardupilot.org og gennemgå kalibra-tions- og opsatningsprocesserne, så du kan få din drone til at fungere korrekt. 

Elektrisk tape og bændler kan virke klodsede, men det er den bedste måde at samle det hele på.