Användarmanual Version 1.0 Robo Ptarmigan 3 december 2015 Status Granskad GN, CC 2015-11-30 Godkänd Christian A. Naesseth 2015-11-30
Projektidentitet Gruppmail: Hemsida: Beställare: Kund: Kursansvarig: Projektledare: Handledare: karlo343@student.liu.se http://www.isy.liu.se/edu/projekt/tsrt10/2015/quadcopter/ Christian A. Naesseth, Linköpings Universitet Telefon: +46 13 281087, Mail: christian.a.naesseth@liu.se Maria Andersson, FOI Mail: maria.andersson@foi.se Daniel Axehill, Linköping University Telefon: +46 13 284042, Mail: daniel@isy.liu.se Karin Lockowandt Clas Veibäck, Linköping Universitet Telefon: +46 13 281890, Mail: clas.veiback@liu.se Gruppmedlemmar Namn Befattning Telefon Mail Karin Lockowandt Projektledare 0734010719 karlo343 Albin Flodell Testansvarig 0704136541 albfl803 Dokumentansvarig 0709595833 hamca089 Cornelis Christensson Mjukvaruansvarig 0703943679 corch348 Anders Brändström Integrationsansvarig 0702239355 andbr957 Niklas Ericson Designansvarig 0730522705 niker917 Gustav Norin Informationsansvarig 0706998676 gusno119
Dokumenthistorik Version Datum Ändringar Signatur Granskare 1.0 2015-11-30 Första versionen AB, KL GN, CC 0.1 2015-11-26 Första utkastet AF, AB AB, KL
Innehåll 1 Inledning 1 1.1 Parter............................................... 1 1.2 Definitioner............................................ 1 2 Mjukvara och komponenter 2 2.1 Mjukvara............................................. 2 2.2 Övriga komponenter....................................... 2 3 Uppstart 3 3.1 Plattform............................................. 3 3.2 Programvara........................................... 3 4 GUI 4 4.1 Översikt av GUI:t........................................ 4 4.2 Upprätta kontakt med plattformen............................... 7 4.3 Bildbehandling.......................................... 7 4.4 Manuell styrning......................................... 7 4.5 Förberedelse inför Målföljning eller Följning av mål...................... 7 4.6 Målföljning............................................ 8 4.7 Följning av mål.......................................... 8 5 Säkerhet 9 6 Batteri och underhåll 10 6.1 Varning.............................................. 10 6.2 Laddning av batteri....................................... 10 6.3 Förvaring............................................. 10 7 Felsökning 11
1 1 Inledning Detta dokument är en användarmanual för CDIO projektet Autonom målföljning med quadcopter. Projektet är en del i kursen - Reglerteknisk projektkurs som ges vid Linköpings universitet. Användarmanualen beskriver hur produkten utvecklad av Robo Ptarmigan samt plattformen ska användas. Ytterligare information återfinns i förra årets användarhandledning (1). 1.1 Parter I projektet finns följande parter Kund: Maria Andersson, FOI Beställare: Christian A. Naesseth, ISY Handledare: Clas Veibäck, ISY Examinator: Daniel Axehill, ISY Projektgrupp: Robo Ptarmigan 1.2 Definitioner Nedan följer ett antal definitioner på ordval som används i denna rapport. Standardmål: Objekt som skiljer sig markant från omgivningen och känns igen av bildbehandlingsmodulen. Positionsmarkör: Ett objekt som används för att öka precisionen på plattformens positionering. En positionsmarkör är en typ av standardmål. Utseendet på en positionsmarkör beror på om den ligger på en kant eller i mitten av banan. Innermarkörer är vita fyrkanter med måtten 14, 7 14, 7 cm. Kantmarkörer är vita liksidiga trianglar med sidlängderna 18, 5 cm. Orienteringen på markörerna är irrelevant. Bana: Ett rektangulärt område markerat med positionsmarkörer i ett rutnät med ca 1 m mellanrum. Plattform: Med detta menas quadcoptern. Program: Datorprogrammet som kommunicerar med plattformen, analyserar data samt skickar styrsignaler till plattformen. Målföljning: Att detektera, lokalisera och prediktera hur ett mål rör sig. Bimodul: En modul som inte kommunicerar med huvudbussen, dvs kameramodulen och associeringsmodulen. Startposition: En förutbestämd position inom banans gränser där plattformen ska placeras.
2 2 Mjukvara och komponenter Nedan ges en beskrivning av hur programvaran ska köras samt material som är nödvändiga för att använda produkten. 2.1 Mjukvara Mjukvaran i projektet är levererad av Robo Ptarmigan. Mjukvarans GUI är uppbyggt så att all information ska visas på en flik. Via GUI:t kan operatören välja användningsområde för quadcoptern såsom manuell styrning, avsökning av bana samt följning av mål. 2.2 Övriga komponenter Nedan listas de komponenter som utöver programvaran är nödvändig för att kunna använda produkten. Plattform: En AR Drone 2.0 med inbyggd WIFI-länk, modifierad kamera och kaross för inomhusbruk. Batteri: LiPo batteri som passar till plattformen med tillhörande laddare. Klient: PC eller Mac med trådlöst nätverkskort.
3 3 Uppstart Nedan beskrivs de olika stegen som behöver genomföras för att kunna starta programvara och plattform. 3.1 Plattform Nedan beskrivs hur plattformen ska startas upp. 1. Spänn fast batteriet i det inre utrymmet på plattformen. GPS-paketet behöver inte vara inkopplat. 2. Se till att plattformen står plant på golvet samt att alla propellrar kan snurra fritt. 3. Koppla in batteriet till strömkontakten. Vänta tills dess att plattformen har initierats. Detta indikeras genom att ledlamporna på plattformen lyser grönt. 4. Se till att inomhuskarossen är monterad på plattformen, vilket med fördel genomförs innan plattformen initieras. 5. Plattformen är nu redo. 3.2 Programvara Nedan beskrivs hur programvaran ska startas upp. 1. Anslut klienten till plattformen genom att ansluta till det trådlösa näverket ardrone2 012421. 2. Starta Robo Ptarmigans programvara. 3. Starta bildbehandlingsmodulen och videoströmmen genom att klicka på Start image processing i GUI:t. 4. För att plattformen ska kunna lyfta måste man klicka på knappen Arm.
Autonom ma lfo ljning med quadcopter 4 4 GUI I detta avsnitt beskrivs funktionaliteten i GUI:t samt hur detta a r uppbyggt. GUI:t a r uppbyggt sa att all information fo r en vanlig ko rning ska vara tillga nglig pa en flik. Det finns a ven en till flik fo r att testa bildbehandling. Ha r ritas till exempel fa rg- och konturdetektering ut. 4.1 O versikt av GUI:t Figur 1 visar hur huvudfliken i GUI:t ser ut. Fliken kan delas upp i fem olika huvudomra den: 1. Kartan, som visar information om plattformens position, eventuella ma ls positioner, ro relse och om de a r markerade fo r efterfo ljning, konfidensintervall och kamerans synfa lt bland annat. 2. Funktionsknappar, som anva nds fo r att starta plattformen, val av styrmod och fo r att sla pa och av valbara funktioner. 3. Plattformsdata, sa som position, hastighet, reglerstorheter och styrsignaler. 4. Videostro m, som visar plattformens synfa lt samt eventuella detektioner. 5. Statusfa lt, som visar batteristatus och WiFi-status Figur 1: Huvudflikens utseende. Funktionsknappar, karta o ver avso kningsomra de, kameravy samt plattformsdata inga r. Autonom ma lfo ljning med quadcopter Anva ndarhandledning
5 I tabell 1 listas alla från tangentbordet möjliga kommandon samt dess funktionalitet. Knapp Kommando Pil upp/u Stig uppåt Pil ned Sänk plattformen Pil höger Rotera höger Pil vänster Rotera vänster Mellanslag Lyfta/Landa W Åk framåt S Åk bakåt D Åk åt höger A Åk åt vänster Y Sätt girvinkel till noll P Starta/stoppa positioneringsmodulen 1 Välj styrmod manuell styrning 2 Välj styrmod avsökning av bana 3 Välj styrmod följning av mål Ctrl Hovra Esc Nödstopp Tabell 1: Kortkommandon samt styrkommandon vid manuell styrning I figur 2 som visar kartan kan bland annat plattformens position, detekterade mål och partiklarna i partikelfiltret som används för positionering visas. Figur 3 visar hur mål samt plattformen representeras i GUI:t. Den grå rektangeln är det område av kartan som videoströmmen kan se för ögonblicket. Man kan även välja att visa konfidensintervall för mål och plattform. Konfidensintervall visas i form av en grå cirkel. Mål som detekterats kan markeras genom att klicka på dem i kartan. Markerade mål indikeras med en grön ring och när ett mål markeras försätts plattformen automatiskt i efterföljningsläge. Markerade mål kan enkelt avmarkeras genom att klicka på dem en gång till. Figur 2: Kartans utseende. Här visas bland annat plattformens och målens positioner.
6 Figur 3: Till vänster visas plattformens symbol och till höger ett detekterat mål. I figur 4 nedan syns samtliga funktionsknappar i huvudfliken. Deras funktionalitet sammafattas i tabell 2. Det spelar ingen roll i vilken ordning knapparna klickats, förutom att positioneringen måste slås på efter att man har anslutit till plattformen, lyft, och styrt den till startpositionen. Figur 4: Knapparna i huvudfliken. Knapp Funktionalitet Positioning ON/OFF Startar/stoppar positioneringsmodulen. Toggle Targets Startar/stoppar målföljningsmodulen. Start image processing Startar bildbehandlingsmodulen. Calibrate Yaw Sätter girvinkeln till noll. Toggle particles Startar/stoppar utritningen av partiklar i GUI:t. Arm Upprättar kommunikation mellan programvara och plattform. Draw Trajectory Läser in senaste loggfilen och ritar upp trajektorian. Toggle Confidence Intervals Startar/stoppar utritningen av konfidensintervall. Stymodsväljare Väljer mellan styrmoderna manuell styrning, målföljning och följning av mål Tabell 2: Knappar i GUI:t samt deras funktionalitet GUI:t har ytterligare en flik som innehåller lite mer avancerad funktionalitet för bildbehandling. Denna har främst använts i utvecklingssyfte, men kan även vara aktuell om plattformen körs i speciella ljusförhållanden. Bildbehandlingsfliken visas i figur 5. Figur 5: Bildbehandlingsflikens utseende. Knappar för start och stopp av bildbehandlingsmodulen, samt konfigurationer för denna ingår.
7 4.2 Upprätta kontakt med plattformen För att kunna kommunicera med plattformen, dvs få sensordata samt kunna skicka kommandon måste knappen Arm ha klickats. Om kontakten är upprättad visar Wi-Fi statusen OK. Denna visas längst ned i högra hörnet på GUI:t. Ofta tar det ett antal sekunder innan kontakt har upprättats. Om kontakten inte är upprättad visas NOT OK. 4.3 Bildbehandling För att starta bildbehandlingen krävs att video strömmas från plattformen till datorn. Genom att klicka på Start image processing hämtas videoströmmen. En lyckad upprättad videoströmning indikeras av att video visas i GUI:t. Detta tar ofta ett antal sekunder. GUI:t innehåller ytterligare en flik, kallad Image Processing, för bildbehandlingstester. Fliken innehåller funktionalitet för att testa olika färgmallar samt färg- respektive konturdetektering. Denna är bra i ett testnings- och utvecklingssyfte när det kommer till bildbehandlingen. För att endast utföra målföljning, följning av mål eller manuell styrning behöver inte denna flik användas. 4.4 Manuell styrning För att styra plattformen manuellt bör följande steg genomföras. 1. Se till att plattformen är uppstartad samt att kontakt är upprättad mellan plattformen och programmet. 2. Flygning kan sättas igång genom att trycka på mellanslag. Detta gör att plattformen lyfter ca 70 cm över marken och sedan hoovrar på plats. För att styra plattformen använd kommandon enligt tabell 1. 3. Att avsluta en flygning kan göras på två olika sätt. Antingen så landar plattformen kontrollerat genom att trycka på mellanslag eller så kan en nödlandning ske genom att trycka på escape. Detta bör dock undvikas i största mån då strömmen bryts till motorerna och plattformen kraschlandar vilket kan medföra skador på plattformen. Då manuell styrning väljs i GUI kan plattformen kontrolleras med tangentbord se tabell 1. Observera att alla styrkommandon lägger på ett inkrement på styrsignalen. Detta innebär att då ett kommando ges hålls detta kvar tills motsatt kommando skickas, håll därför aldrig in en tangent utan ge enskilda kommandon. Alla kommandon listas i tabell 1. Om någon av de autonoma styrmoderna är aktiv och en knapp för styrkommando trycks in kommer plattformen att gå över till det manuella läget. Detta för att undvika att använda nödstopp utom i absoluta nödfall. Istället ska då operatören styra plattformen ifrån farligt område. 4.5 Förberedelse inför Målföljning eller Följning av mål Innan målföljning eller följning av mål kan utföras krävs vissa förberedelser. 1. Se till att plattformen är uppstartad samt att kontakt är upprättad mellan plattformen och programmet. 2. Starta bildbehandlingen genom att trycka på knappen Start image processing.
8 3. Lyft plattformen och styr denna så att den får samma position som den fördefinierade startpositionen. Räta upp plattformen så girvinkeln blir noll. 4. Tryck på knappen Calibrate Yaw för att nollställa girvinkeln. 5. Starta positioneringen genom att trycka på knappen Positioning ON/OFF. 6. Valfritt är att rita ut partiklar respektive konfidensintervall. Om detta önskas ska knappen Toggle Particles respektive knappen Toggle Confidence intervals tryckas. 7. Starta målföljningen genom att trycka på knappen Toggle Targets. 4.6 Målföljning För att utföra målföljning, då plattformen söker av hela banan efter mål måste följande steg utföras. Det är viktigt att plattformen har rätt girvinkel och startposition då målföljningen påbörjas för att positioneringen ska konvergera vilket är ett måste för att mållokaliseringen också ska konvergera. 1. Välj styrmod Autonomous Mode i rutan där aktuell styrmod väljs. 2. Plattformen gör nu en autonom avsökning av banan. 3. För att skifta tillbaka till manuellt läge tryck på något styrkommando (W, S, D, A, pil upp, ned, höger eller vänster). 4. Då plattformen har sökt av hela banan stannar den och hovrar. 4.7 Följning av mål För att utföra följning av mål måste följande steg utföras. 1. Välj styrmod Target Following i rutan där aktuell styrmod väljs. 2. Plattformen följer nu målet tills dess att operatören ger ett annat kommando. 3. För att skifta tillbaka till manuellt läge tryck på något styrkommando (W, S, D, A, pil upp, ned, höger eller vänster).
9 5 Säkerhet Plattformen kan om den inte hanteras korrekt åsamka skada på människor, egendom eller sig själv. Därför beskrivs i detta kapitel säkerhåtsåtgärder. Plattformen är olämplig att använda för barn under 14 år. Karossen ska vara monterad vid all inomhusflygning Vid flygning ska plattformen alltid vara inom synhåll för operatören. Beträd aldrig banan under flygning. Operatören bör alltid stanna vid datorn för att omedelbart kunna avbryta en flygning. Rör aldrig plattformen vid flygning förutom vid nödfall då propellrarna kan åsamka skada. Plattformen bör inte framföras i trånga utrymmen. Vid utomhusflygning ska plattformen ej flygas i närheten av högspänningsledningar, träd, byggnader eller andra potentiellt farliga områden. Vid utomhusflygning bör plattformen inte framföras i dåliga meteorologiska förhållanden så som regn, snö, stark vind, åskoväder osv. då plattformen kan ta skada och bli svårmanövrerad. Undvik att framföra plattformen i närheten av starka magnetfält eller radiovågor då dess sensorer kan påverkas. Att använda plattformen i olika publika sammanhang kan vara förbjudet. Användaren skall alltid undersöka om det är lagligt att framföra plattformen där flygning planeras.
10 6 Batteri och underhåll 6.1 Varning Lithium Polymer batterier kan vara farliga om de inte hanteras korrekt. Det är därför viktigt att försiktighet iaktas vid hantering. Om batteriet mot förmodan skulle börja läcka undvik direkt kontakt. Om kontakt med hud skulle uppstå skölj noga under vatten. Om kontakt med ögonen skulle uppstå, skölj noga med rikligt med vatten och kontakta en läkare. Om det skulle lukta bränt eller börja ryka vid laddning eller flygning, ta genast batteriet ur bruk. Vid felaktig hantering av batteriet kan gas, eldsvåda, stötar eller explosioner uppstå. 6.2 Laddning av batteri Använd endast den medföljande laddaren vid laddning av batteriet. Använd aldrig laddaren om den är skadad på något sätt. Ladda aldrig ett batteri som är skadat på något sätt. Fortsätt aldrig att ladda ett färdigladdat batteri då överladdning kan leda till överhettning. Se till att laddare och batteri ej är övertäckta vid laddning då detta ökar brandrisken. Håll brandfarliga material på gott avstånd vid laddning. 6.3 Förvaring Förvara batteriet utom räckhåll för barn. Håll batterierna borta ifrån köld, hetta, eld, vätskor samt fukt. Undvik att batterierna kortsluts. Batteriet bör förvaras i rumstemperatur. Vid förvaring av plattformen ska batteriet vara urkopplat. Då laddaren inte används bör denna vara urkopplad.
11 7 Felsökning Nedan beskrivs några vanliga fel som kan uppstå och dess lösningar: Kontakt till plattform förloras/saknas då den armeras: Kontrollera att datorn är ansluten till plattformens Wi-Fi. Om så är fallet initiera om plattformen och försök igen. Om detta inte fungerar, starta även om programvaran. Plattformen lyser rött och slår ej om till grönt efter initiering: Testa att initiera om plattformen (dra ur batteriet och sätt in det igen). Se till att plattformen står stilla på marken medan den initieras. Fungerar inte detta, testa att byta batteriet mot ett fulladdat. Om detta misslyckas upprepande gånger kan plattformen resetas. Detta görs genom att föra in ett smalt föremål och sedan ta bort det i reset-hålet som befinner sig under batteriet. Notera att batteriet fortfarande måste vara anslutet för att reset ska fungera. WiFi-kontakten förloras: Se till att datorn som programvaran körs på har bra med batteri då många datorer minskar Wi-Fi styrkan när de går in i energisparläge. Plattform är initierad men lyfter ej på kommando: Kontrollera att batteriet är tillräckligt väl laddat. Plattformen lyfter ej vid en batteristyrka som understiger 20% av maxstyrkan. Programvaran tappar kontakt med plattformen vid flygning: Om kontakten skulle förloras kommer plattformen att hovra på plats. Testa att trycka på Arm knappen för att upprätta kontakt igen. Plattformen kommer automatiskt landa när den återupprättat kontakt. Skulle det efter flertaliga försök inte fungera med Arm kan plattformen plockas ner för hand. Detta görs genom att ta tag på ovan- och undersidan av plattformen och snabbt vända den upp och ner (Akta propellrarna!). Plattformen har en inbyggd säkerhetsfunktion vilket gör att alla motorer stängs av omedelbart i detta fall. Om plattformen ska flygas igen måste batteriet först kopplas ur och in igen. Skulle plattformen vara utom räckhåll genomför den automatiskt en säker landning när batteriet tar slut. Bildströmmen hackar: Testa att starta om bildbehandlingen. Fungerar inte det landa först plattformen och starta sedan om programmet.
12 Referenser [1] Kvaddakopter (2014), - Autonom spaning med quadcopter, Linköpings universitet