APM Planner: grondstation voor je drone

APM Planner is een grondstation voor drones. Met een grondstation houd je via een draadloze verbinding contact met de drone. Allerlei vluchtgegevens, zoals positie, snelheid, accuvermogen of zelfs camerabeelden heb je hiermee bij de hand. APM Planner stelt je ook in staat om een vluchtschema te maken. Aan de hand hiervan bestuur je vanuit de virtuele cockpit van APM Planner de drone of laat je hem zelfs geheel op de automatische piloot een vlucht uitvoeren.

 

Arduino voor drones

APM Planner is ontstaan als een grondstation voor drones uitgerust met de Arduino Mega microcontroller. Een microcontroller is een programmeerbaar stukje elektronica. Om de Arduino Mega geschikt te maken voor drones heeft de DIY Drones community deze controller uitgebreid met componenten, zoals een gyroscoop, hoogte- en versnellingsmeter. Tevens hebben zij firmware geschreven om de drone aan te sturen. Deze combinatie van hardware en firmware is de autopilot, omdat zij samen als automatische piloot voor de drone fungeren. De autopilot voor Arduino Mega heet ArduPilot Mega, vaak afgekort tot APM.

 

APM planner

De DIY Drones community heeft ook het grondstation APM Planner ontwikkeld. Officieel is de naam APM Planner 2 om een duidelijker onderscheid te maken met APM Mission Planner, een grondstation voor Windows.

 

Voor Debian en Ubuntu zijn pakketten beschikbaar op de site van ArduPilot (zie link aan het eind van het artikel). Voor overige distributies moet je zelf aan de slag, maar gelukkig is dat niet moeilijk. Alle broncode van APM Planner staat op GitHub samen met een beschrijving van de uit te voeren stappen (zie link). De daar genoemde pakketten en commando's hebben betrekking op Debian en Ubuntu. Andere distributies wijken op dit punt mogelijk af, zoals Fedora (zie kader).

 

Firmware installeren

De microcontroller is geschikt voor diverse type drones. Omdat een vliegtuig een andere aansturing dan een helikopter of een landvoertuig verlangt, moet je eerst de juiste firmware naar de controller uploaden. Verbindt de microcontroller met een USB kabel aan de computer (afbeelding 1). Start nu APM Planner op. Als je APM Planner zelf hebt gebouwd, doe je dat als volgt:

 

cd <pad_naar_broncode>

./release/apmplanner2


 

Na enkele ogenblikken verschijnt het hoofdscherm en tevens een melding over Droneshare. Dit is een project van de DIY Drones community om vluchtgegevens uit te wisselen. Dit laten we verder buiten beschouwing. Sluit deze melding en ga naar INITIAL SETUP. Klik vervolgens op de knop Install Firmware. Als je een melding krijgt dat de APM Planner al via MAVLink verbonden is met de hardware, moet je rechtsboven op DISCONNECT klikken. Klik vervolgens nogmaals op Install Firmware.

APM Planner scant de poorten van de PC en onderin naast Firmware Upload Com Port verschijnt de gevonden hardware. APM Planner toont een overzicht van alle ondersteunde type drones waaronder een vliegtuig en verschillende varianten van helikopters. Druk op de knop met jouw type drone en klik op OK in het pop-up scherm. APM Planner downloadt en installeert vervolgens de correcte firmware.

Firmware configureren

Als de firmware geïnstalleerd is, klik je rechtsboven op CONNECT. Na enige seconden van communicatie tussen APM Planner en de controller worden de firmware parameters ingelezen en verschijnen twee extra lijstjes onder Install Firmware: Mandatory en Optional Setup.

De knoppen onder Mandatory Setup moet je beslist nalopen. Je maakt hier namelijk aan de controller de fysieke eigenschappen van de gebruikte hardware bekend, waaronder de oriëntatie van propellers en het soort kompas. Ook kalibreer je hier de versnellingsmeters en de radiografische besturing. De Optional Setup heeft betrekking op extra hardware componenten, zoals gyroscopen voor een camera of afstandsmeters. Alleen als je dit soort onderdelen hebt, dien je deze setup na te lopen.

Je configureert hier alleen de hoogst noodzakelijke parameters. De volledige lijst met parameters vind je in CONFIG/TUNING. Aan het eind van het artikel komen we hier nog op terug.

Virtuele cockpit

Met de controller nog steeds verbonden aan de computer test je nu of de virtuele cockpit functioneert. Klik op FLIGHT DATA (afbeelding 2). In het scherm linksboven zie je de zogenaamde HUD. Dat staat voor heads-up display en wordt in echte cockpits gebruikt om gegevens op de voorruit te projecteren. Je ziet hier in één oogopslag de belangrijkste gegevens over de positie van de drone, zoals vliegrichting, hoogte en oriëntatie ten opzichte van de horizon. Onder de HUD zie je in tabblad Quick de waarde van de belangrijkste gegevens. Door nu de controller met de hand te bewegen moeten het kompas, de virtuele horizon, e.d. van de HUD eveneens bewegen. Ook moeten de waarden van Yaw, Pitch en Roll veranderen (zie ook kader).


 

Rechts van de HUD zie je een kaart met de positie van de drone. Als je geen drone ziet, klik dan op Centre on UAV om de kaart te centreren rond de coördinaten van de drone. Gebruik de knop Options rechtsonder om het type kaart te kiezen, zoals Google Map of Satellite. In het veld heb je mogelijkerwijs geen netwerkverbinding. Om dan toch een kaart bij de hand te hebben, moet je thuis eerst een map cache maken. Je houdt hiervoor de shift-toets ingedrukt en selecteert dan met de linker muisknop het gewenste gebied op de kaart. Druk vervolgens op de knop Cache beneden, zodat APM Planner de kaartgegevens van het gekozen gebied kan downloaden.

 

Om de drone tijdens het daadwerkelijke vliegen live in de cockpit van APM Planner te volgen is een telemetrie set nodig. Dit zijn twee radioantennes, waarvan je eentje op de drone moet bevestigen en via een kabeltje met de microcontroller verbindt. De andere sluit je aan op de computer via USB. Klik eerst rechtsboven op ttyACM0 en kies in het schermpje met verbindingspoorten ttyUSB0. Klik vervolgens op Connect om draadloos verbinding met de drone te maken. De settings van de radioantennes vind je in INITIAL SETUP onder de knop 3DR Radio.

 

Vluchtlog

Het tijdsverloop van vluchtgegevens is ook te volgen als een grafiek. Klik op GRAPHS en kies vervolgens in de lijst rechts welke gegevens je wil monitoren (afbeelding 3). Onder het kopje GCS Status vind je de gegevens uit de cockpit, zoals hoogte, yaw, pitch en roll. GCS staat voor Ground Control Station (grondstation). Om de grafiek te laten meelopen met de tijd moet je beneden de optie Auto Scroll With Data aanvinken.

 

 

Deze vluchtgegevens worden ook bewaard als telemetrie logs op de computer mits in CONFIG/TUNING de optie Enable Mavlink Logging aangevinkt is onder de knop APM Planner Config. De logs worden opgeslagen in de map apmplanner2/tlogs/<type_drone> van je home directory. Type drone is bijvoorbeeld plane of helikopter. Gebruik de knop Open Log om deze logbestanden als grafiek te bekijken.

 

De microcontroller houdt tevens vluchtgegevens bij in zijn flash geheugen. Deze zogeheten dataflash log bevat vergelijkbare gegevens als de telemetrie log. De dataflash log moet je eerst overhalen naar de computer om te kunnen bekijken. Verbind daartoe de microcontroller via USB met de computer en klik in APM Planner op CONNECT. Druk nu op de knop Download Log.

 

Vluchtschema

Behalve het volgen van een vlucht biedt APM Planner ook de mogelijkheid om de drone te besturen. Ook deze communicatie verloopt via telemetrie. De besturing is het gemakkelijkst door middel van een vluchtschema. Dit is een reeks punten met coördinaten en een actie. De actie bepaalt wat de drone moet doen, zoals naar het punt toevliegen, hier rondcirkelen of op de positie van het punt landen. Deze punten heten waypoints.

 

Ga naar het menu FLIGHT PLAN (afbeelding 4). Verplaats de kaart naar het gebied waar je wil gaan vliegen. Dubbelklik vervolgens op de kaart om het eerste waypoint toe te voegen. Deze heeft als actie HOME en is eigenlijk een dummy waypoint voor de startpositie van de drone op de grond. De coördinaten worden later automatisch gezet via GPS op het moment van starten van de drone op locatie.

 

 

 

Voeg nu verdere waypoints toe. De standaard actie hiervan is Waypoint wat inhoudt dat de drone in een rechte lijn hier naartoe vliegt. Om de positie aan te passen, sleep je het waypoint met de linker muisknop over de kaart. Beneden naast Alt zie je de standaard hoogte van waypoints. Dit is de hoogte ten opzichte van de plek waar de drone opstijgt. Het laatste waypoint geven we de actie Ret. to Launch, zodat de drone terugvliegt naar de plek van opstijgen om daar te landen. Zet nu het vluchtschema over naar de controller door op Write te drukken.

 

Ga nu in FLIGHT DATA naar het tabblad Actions onder de HUD. Hier bestuur je de drone op basis van de waypoints van het vluchtschema. Als voorbeeld kiezen we een volledig autonome vlucht. Druk eerst op de knop Stabilize. Druk vervolgens op de knop ARM en wacht totdat de tekst links ervan in ARMED is veranderd. Druk tot slot op de knop Auto en druk op OK in het pop-up scherm. Als je nu met de radiografische besturing het toerental van de propellers opvoert, neemt de microcontroller de besturing over en voert de drone verder op de automatische piloot het vluchtschema uit.

 

Tot slot

Je hebt nu een globaal beeld van de mogelijkheden van APM Planner. Het echte werk zit in het afstellen van firmware parameters om ervoor te zorgen dat de drone bijvoorbeeld niet overstuurd raakt of te snel gaat landen. Dit doe je in het menu CONFIG/TUNING. Vink helemaal links boven in het menu File de optie Advanced Mode aan. Via de knop Full Parameter List heb je dan de mogelijkheid de parameters als bestand op te slaan.

 

 

 

Bouwen op Fedora

 

Alleen de eerste drie stappen zijn nodig. De nummering is die van de stappen, zoals beschreven op GitHub.

 

1) Installeer als root de benodigde pakketten als volgt:

 

 

 

yum install git gcc-c++ qt5-qtbase-devel qt5-qtscript-devel qt5-qtwebkit-devel qt5-qtserialport-devel qt5-qtsvg-devel libsndfile-devel flite-devel openssl-devel SDL2-devel

 

 

 

3) Het qmake commando wijkt enigszins af:

 

 

 

qmake-qt5 qgroundcontrol.pro

 

 

 

 

 

 

 

Yaw, pitch and roll: a drone's attitude

 

Yaw is het naar links en rechts draaien. Als je nee schudt, doe je aan yaw. Pitch is het naar voren en achteren kantelen. Als je ja knikt, ben je aan het pitchen. Roll is het naar links en rechts kantelen. Als je het hoofd zijwaarts naar je schouder beweegt, doe je een roll. Deze drie bepalen gezamenlijk de oriëntatie van een drone wat ook wel attitude wordt genoemd.

 

 

Links

DIY Drones community

diydrones.com

 

ArduPilot

ardupilot.com

 

GitHub repository van APM Planner

github.com/diydrones/apm_planner

NEDLINUX FORUM

Het nederlandse linuxforum
Voor beginners en pro’s

 

 

 

 

E-mailadres



 

 

Nieuwste editie:

Linuxmag op Facebook

@linuxmagnl op Twitter

linuxmagNL Ook de Red Hat Forum BeNeLux 2017 mag je dit jaar niet missen. 10 oktober 2017, zet het in je agenda! https://t.co/niY9UdK3Ov
linuxmagNL Mis het niet en save the date! Red Hat Tech Day, 13 juni 2017. https://t.co/qlMiphMT0l