ebook img

Programming Abstractions for Nano-drone Teams PDF

141 Pages·2015·2.34 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Programming Abstractions for Nano-drone Teams

POLITECNICO DI MILANO ScuoladiIngegneriaIndustrialeedell’Informazione CorsodiLaureaMagistraleinIngegneriaInformatica DipartimentodiElettronicaInformazioneeBioingegneria Programming Abstractions for Nano-drone Teams Relatore: Prof. Luca Mottola Correlatore: Mikhail Afanasov Tesi di Laurea di: Manuel Belgioioso, matricola 804149 Alberto Cardellini, matricola 818246 Anno Accademico 2014-2015 Allenostrefamiglie. III IV Abstract Drone-teamsprogrammingisrapidlyexpandingsinceitallowstoautomatically performalotofusefultasks. Existingsystemsareabletomanageagroupofdrones and dispatching them in the environment. All these systems deal with outdoor applications,wheremedium/bigsizeddronescollaborativelyperformtasksmaking useoftheGlobalPositioningSystem(GPS)tonavigateinthespace. Wewantto deal with the indoor context, and no one of the existing system is fully suitable for it. Indeed, theindoor contextimplies applicationswith different requirements comparedtotheoutdoorones: thereisneedforasmallnumberofdrones(5/10), each one performing a different action independently from the others, while in the outdoor environment generally there is need for a large number of drones to perform the same action. To address this problem, we propose the concept of Trip, that is nothing but a movement of a drone from a point A to a point B at theendofwhichanaction(picture,measurementetc.) canbeperformed. Noone oftheexistingprogrammingsystemsprovidestheconceptofTrip. Furthermore the second important goal is to make the system autonomous in the choice of the drone to allocate for each Trip. This means that the user does not need to take this important decision. We propose the Pluto programming framework as asolution totheseproblems. It consists oftwo maincomponents: theGraphical Editor and the Main Application. With the former a programmer can build an application by simply connecting functional blocks. Each block implements a precise functionality, for example there is one that chooses the drones to assign toeach sensingtask,one that managesthepriority ofthesensingtasks etc. Then, throughthe"Generatecode"command,thePlutoGraphicalEditorgeneratesthe source code of the second main component, the Pluto Main Application. The final user uses this generated Pluto Main Application to define and execute the sensing tasks. The key strength of our programming framework is its scalable architecture,inwhichthecentralbrainisindependentfromtheparticularnavigation V API, which means that the system manages the dispatching of drones and their failuresindependentlyofthespecificnavigationalgorithm. WeevaluatedthePluto programming framework by proposing its use toreal testers andasking them for a feedback. Moreover we measured its software and hardware performance and alsotried toimplementsome existingapplicationswith it. After theevaluation we noticedthat,evenifwithsomelimits,Plutocouldreallysimplifythedevelopingof drone-teamsapplications. VI Sommario Laprogrammazionediteamdidronièinrapidaespansione,inquantopermette dieseguireinmanieraautomaticaungrannumerodiazioniutili. Isistemiesistenti sono in grado di gestire un gruppo di droni e farli navigare nell’ambiente. Tutti questisistemitrattanoapplicazionioutdoor,nellequalidronididimensionemedio / grande collaborano insieme per svolgere varie azioni, utilizzando il sistema di po- sizionamentoglobale(GPS)pernavigarenellospazio. Ilnostroobbiettivoèquello di affrontare il contesto indoor, e nessuno dei sistemi esistenti è completamente adattoperesso. Infatti,ilcontestoindoorimplicalosviluppodiapplicazionicon requisitidifferentirispettoaquellooutdoor: c’èbisognodiunpiccolonumerodi droni(5/10),ciascunocheeseguaun’azionediversa,indipendentementedatuttigli altri,mentreinambienteoutdoorgeneralmentec’èbisognodiungrannumerodi droni che eseguano la stessa azione. Per risolvere questo problema proponiamo ilconcettodiTrip,chenonèaltrocheunmovimentodiundronedaunpuntoA ad un punto B al termine del quale viene eseguita un’azione (scatto di una foto, misurazionediunagrandezzafisicaecc.). Nessunodeimodellidiprogrammazione esistenti fornisce il concetto di Trip. Inoltre, il secondo obiettivo importante è quellodirendereilsistemaautonomonellasceltadeldronedaassegnareadogni Trip. Ciò significa che l’utente non deve prendere questa importante decisione. Per rispondere a tutti questi problemi, abbiamo sviluppato il framework di pro- grammazionePluto. Plutohaduecomponentiprincipali: ilGraphicalEditorela MainApplication. Conilprimo,unprogrammatorepuòcostruireun’applicazione semplicemente collegando dei blocchi funzionali. Ogni blocco implementa una funzionalità precisa, per esempio ce n’è uno che sceglie i droni da assegnare a ciascun Trip, un altro che gestisce la priorità dei Trip ecc. Quindi, grazie alla funzionalitàdigenerazionedelcodice,ilPlutoGraphicalEditorgenerailcodice sorgentedelsecondocomponenteprincipale,laPlutoMainApplication. L’utente finaleutilizzaquestaMainApplicationperdefinireedeseguireicompitinell’am- VII biente. Il punto di forza del nostro framework è la sua architettura scalabile che lo rende indipendente dalle API di navigazione utilizzate. Ciò significa che il sistemaècapacedigestirel’inviodeidronieilorofallimentiindipendentemente dall’algoritmodinavigazionespecifico. Abbiamotestatol’utilizzodelframework diprogrammazionePluto,proponendonel’usoadeitesterrealiechiedendoloro un feedback. Inoltre abbiamo misurato le prestazioni software e hardware ed abbiamocercatodiimplementareconessoalcuneapplicazionirealmenteesistenti. Grazie alla fase di valutazione, abbiamo notato che, anche se è caratterizzato da alcunilimiti,Plutorisultaunostrumentoutilealfinedisemplificarelosviluppodi applicazioniperteamdidroni. VIII Acknowledgements Itisapleasuretothankthosewhomadethisthesispossiblewithadvices,critics andobservations. WewouldliketothankoursupervisorProf. LucaMottolaandourmentorMikhail Afanasov: withouttheirhelpandsupport,thisthesiswouldnothavebeenpossible. We would like to thank Prof. Thiemo Voigt, who kindly let us developing part of this work at SICS Swedish ICT and all the colleagues who have greeted and helped us during the three months in Sweden, in particular Simon Duquennoy, LiamMcNamara,JoelHöglundandNiklasWirström. Weoweourdeepestgratitudetoourfamiliesandfriendsforthecontinuoussupport duringtheseyearsatuniversity. Finally, we would like to thank one with the other for having lived together this experience. IX X

Description:
Programming Abstractions for Nano-drone Teams. Relatore: Prof. Luca Mottola. Correlatore: Mikhail Afanasov. Tesi di Laurea di: Manuel Belgioioso
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.