Coöperatieve sturing van een zwerm onbemande vliegtuigenlib.ugent.be › fulltxt › RUG01 › 001...

58
Christophe Wauthier vliegtuigen Coöperatieve sturing van een zwerm onbemande Academiejaar 2008-2009 Faculteit Ingenieurswetenschappen Voorzitter: prof. dr. ir. Jan Melkebeek Vakgroep Elektrische energie, systemen en automatisering Master in de ingenieurswetenschappen: werktuigkunde-elektrotechniek Masterproef ingediend tot het behalen van de academische graad van Begeleiders: Clara-Mihaela Ionescu, ir. Ramona Hodrea Promotor: prof. dr. ir. Robain De Keyser

Transcript of Coöperatieve sturing van een zwerm onbemande vliegtuigenlib.ugent.be › fulltxt › RUG01 › 001...

Christophe Wauthier

vliegtuigenCoöperatieve sturing van een zwerm onbemande

Academiejaar 2008-2009Faculteit IngenieurswetenschappenVoorzitter: prof. dr. ir. Jan MelkebeekVakgroep Elektrische energie, systemen en automatisering

Master in de ingenieurswetenschappen: werktuigkunde-elektrotechniekMasterproef ingediend tot het behalen van de academische graad van

Begeleiders: Clara-Mihaela Ionescu, ir. Ramona HodreaPromotor: prof. dr. ir. Robain De Keyser

Cooperative control of a swarm of unmannedaerial vehicles

Christophe Wauthier

Supervisor(s): Robain De Keyser, Jorge Nino

Abstract— This article gives an overview of the progress thathas been achieved during the last decade in cooperative control ofmulti-agent systems. Due to the novelty of that work area, a lot ofdiverse but unfinished research has been conducted. Several co-operative control methods are introduced and some shortcomingsare highlighted. The article thereby focuses on the application offormation control of a swarm of unmanned aerial vehicles. Im-plementation of decentralized control algorithm in MATLAB andSimulink environment is done and step by step extension is car-ried out to meet some real-life constraints.

Keywords— multi agent system, unmanned aerial vehicle, for-mation control, obstacle avoidance

I. INTRODUCTION

IN last decades, an exponential growth has taken placein research towards autonomous unmanned vehicles

and their application in tasks that are characterised byrepetitiveness or presence of danger. A number of suc-cesfull methods have been presented to control a singlemobile vehicle, like path following, area surveillanceand pursuit. But in recent years, interest has grown inassigning multiple vehicles to a single mission. How-ever, to achieve cooperation and coordinations betweenmultiple agents, new concepts and theories have to beintroduced.

II. MULTI AGENT SYSTEMS

Multi agent systems are every system where multipleinteracting intelligent agents combine relatively simplestrategies to show complex behaviour. One agent hasthe property to:- posses a certain autonomy,- have local knowledge,- be decentralized.Multi agent systems have alternatives in ground, naval,aerial and space applications.

III. UAV SWARMS

Driven by the Global War on Terror (GWT), un-manned aerial vehicles (UAVs) have known a great evo-lution in recent years. But they’ve proven useful notonly in military missions. More and more civil appli-catins emerge where UAVs play a prominent role. How-ever, a single UAV system is highly vulnerable, due tothe single point of failure. That’s why a swarm of UAVscan not only increase the efficiency of a task, but alsorobustness is obtained.

An in-depth study on UAV swarms in general and for-mation control in specific is done and a state of the arton cooperative control is formulated. We treat severalmodelling methods, architectures and hierarchies.

IV. SIMULATION

A. Implementation

We introduce a decentralized control algrithm [1] thatguides a formation of three co-leading UAVs along anoff-line stipulated trajectory. The identical, but indi-vidual controller of every agent uses local informationto determine the controller output, the angular veloc-ity ωi(t). Therefore a desired heading is calculated thatsends an agent towards a desired point.

We analyse the results and check if the algorithmis resistant against real life constraints. We point outthe impossibility to react on environmental changes andpropose to find a solution.

B. Extension

To be able to avoid obstacles, we extend the algorithmand present an extra angular velocity that is calculatedwith real-time gathered information about the environ-ment.

The original algorithm does not take into account de-tours, what obliges us to create an automatic speed con-trol loop that compensates for the extra distance. Posi-tive results are presented.

V. CONCLUSION

As almost every control method is ad hoc, it is hard tofind a cooperative algorithm that is extendable over mul-tiple diverse applications. Within one application, it ispossible to develop a behaviour based control that meetsreal-life constraints like the presence of unexpected ob-stacles. Future work kan take into account more con-straints or handle formations of higher dimension, evenin 3D.

REFERENCES

[1] B.D.O. Anderson, B. Fidan, C. Yu and Dirk van der Walle, UAVFormation Control: Theory and Application, Recent Advancesin Learning and Control, p.15-33, 2008

Inhoudsopgave iii

Inhoudsopgave

Extended abstract ii

1 Inleiding 1

2 Multi Agent Systemen 32.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Geschiedenis van autonome systemen . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Biologische parallel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.4 Voor- en nadelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.5 Toepassingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 UAV zwermen 113.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Geschiedenis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3 Toepassingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3.1 Surveillance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.3.2 Achtervolging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.3.3 Formatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4 Modellering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4.1 Toestandsmodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4.2 Communicatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.4.3 Grafentheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.5 Sturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.5.1 Gecentraliseerde vs. gedecentraliseerde sturing . . . . . . . . . . . . . . . 183.5.2 Leiderschap vs. virtueel leiderschap . . . . . . . . . . . . . . . . . . . . . . 183.5.3 Reactieve vs. predictieve sturing . . . . . . . . . . . . . . . . . . . . . . . . 193.5.4 Gedragsgebaseerde sturing . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.6 Tekortkomingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Simulatie 204.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2 Omschrijving van de situatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3 Eigenschappen van de UAV en de formatie . . . . . . . . . . . . . . . . . . . . . . 224.4 Uitwerking van een algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.5 Implementatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.5.1 Bepaling van controller frequentie . . . . . . . . . . . . . . . . . . . . . . . 244.5.2 MATLAB vs. Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.6 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.6.1 Flexibiliteit t.o.v trajectorie . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Inhoudsopgave iv

4.6.2 Flexibiliteit t.o.v. formatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.6.3 Flexibiliteit t.o.v. meetfouten en ruis . . . . . . . . . . . . . . . . . . . . . . 344.6.4 Flexibiliteit t.o.v. omgeving . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.7 Uitbreiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.7.1 Aanpassing van controleoutput . . . . . . . . . . . . . . . . . . . . . . . . . 354.7.2 Dynamisch pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.7.3 Snelheidsregelkring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.7.4 Toepassing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.7.5 Resultaat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5 Conclusie 455.1 Samenvatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.2 Verder onderzoek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

A MATLAB programma 47

B Simulink model 50

C Uitgebreid Simulink model 51

Bibliografie 52

Hoofdstuk 1. Inleiding 1

Hoofdstuk 1

Inleiding

In afgelopen decennium is een grote interesse gegroeid in onbemande voertuigen (AutonomousUnmanned Vehicles of AUVs) en hun toepassing in diverse doeleinden. Dit omwille van hunfunctionaliteit bij opdrachten gekarakteriseerd door herhaling, nood aan informatiewinning ofaanwezigheid van allerhande gevaar. Het behandelen van vervuilde ondergrond bij bodemsa-nering of zich verplaatsen in vergiftigde omgevingen zijn hier mooie voorbeelden van. Naastde aanwezigheid van gevaar zijn personeelstekort en een hoge arbeidskost invloedrijke facto-ren in het streven naar automatisering binnen de industrie in het algemeen en transport in hetspecifiek.

Tal van studies werden reeds uitgevoerd betreffende het dynamisch gedrag van allerhandevoertuigen, de identificatie van de betrokken deelsystemen en de ontwikkeling van aandrijf-en sturingsmechanisme (Valavanis, 2007; Nino, 2007; Radu, 2008). De hedendaagse technieklaat reeds toe AUVs op individuele basis missies tot een goed eind te brengen. Echter, bijhet inzetten van een enkele AUV wordt de uitvoering van die opdracht heel erg op de proefgesteld. Kleine fouten in de beslissing van de AUV kunnen nefaste gevolgen hebben op detijdsduur van de opdracht en de efficıentie waarmee ze uitgevoerd wordt. Bovendien betekenthet falen van de AUV een totale mislukking van de missie. Daarom werd in recente jaren heelwat onderzoek gevoerd naar de mogelijkheid om meerdere voertuigen samen in te zetten bijhet verwezenlijken van een gemeenschappelijke taak. Dit noemen we cooperatieve sturing vaneen zwerm. Uitvoeringstijd kan hierbij drastisch naar omlaag gehaald worden, samen met eenreele winst in efficientie en robuustheid.

Nieuwe concepten en denkwijzen zijn nodig om meerdere AUVs samen te laten werken, dezethesis spits zich dan ook volledig toe op deze studie. Hierbij wordt verondersteld dat op he-den genoeg kennis verworven is om een alleenstaande AUV te sturen (). Waar nodig wordentoegepaste theorieen wel kort uiteengezet.

Hoofdstuk 1. Inleiding 2

AUVs kunnen te land, ter zee of in de lucht worden ingezet. Elke toepassing vergt zijn eigenaangepaste voertuigen, veronderstellingen, vereenvoudigingen, modellering, etc. In een eerstedeel van de thesis beschouwen we multi agent systemen in het algemeen, zonder onderscheidte maken tussen de subgroepen. In een tweede deel wordt de aandacht exclusief gevestigdop cooperatieve sturing bij onbemande vliegtuigen. Een derde deel behandelt de implementa-tie van een simulator voor een zwerm onbemande vliegtuig in MATLAB/Simulink omgeving.Hierbij wordt een cooperatieve sturingsmethode nader toegelicht en de resultaten besproken.Opvallend aan deze methoden is dat amper rekening gehouden wordt met praktische beper-kingen die in de realiteit permanent aanwezig zijn. Er wordt een balans opgesteld van dehuidige ontwikkelingen en mogelijke verbeteringen en een nieuw algoritme wordt uitgewerktdie een zwerm onbemande vliegtuigjes stuurt tijdens een specifieke missie, rekening houdendmet deze waarheidsgetrouwe beperkingen.

Hoofdstuk 2. Multi Agent Systemen 3

Hoofdstuk 2

Multi Agent Systemen

2.1 Inleiding

Multi agent systeem Een multi agent systeem (MAS) is een systeem bestaande uit meerdere in-teragerende intelligente agenten en kan door een samenkomst van relatief simpele indi-viduele strategieen toch complexe gedragingen vertonen. Ze kunnen worden ingezet bijhet oplossen van problemen die moeilijk of onmogelijk zijn voor een individueel teamlid.

Een agent uit een MAS wordt gekarakteriseerd door drie eigenschappen:

1. Autonomie: de agenten vertonen een minimum vermogen van zelfstandig functioneren.

2. Lokale kennis: geen enkele agent bezit een globale kennis van de toestand van het sys-teem.

3. Decentralisatie: geen enkele agent beslist individueel wat er met het volledige systeem(of alle agenten) gebeurt.

Wat juist verstaan wordt onder een agent kan ruim geınterpreteerd worden. Communicerendemeetstations of een netwerk van stationaire productierobots vallen ook onder de noemer MAS.In deze thesis beperken we ons echter tot mobiele agenten. Meerdere voertuigen vormen daneen multi vehicle system (MVS) Hoewel dit het begrip agent een heel stuk insnoert, zullen wezien dat binnen deze klasse nog variatie mogelijk is.

In dit hoofdstuk wordt een helikopterzicht gepresenteerd van enkele toepassingen van MASs,voorafgegaan door een korte uiteenzetting over de evolutie van simpele alleenstaande voer-tuigjes tot complexe zwermen.

Hoofdstuk 2. Multi Agent Systemen 4

2.2 Geschiedenis van autonome systemen

Het ontstaan van autonome voertuigen of zogeheten mobiele robots gebeurde in de loop vanvoorgaande eeuwen op een heel geleidelijke manier. Reeds voor het begin van de christelijkejaartelling, werd onderzoek gedaan en discussie gevoerd over de mogelijkheid van autonomewerktuigen. Vooral de Grieken waren gefascineerd door alles wat functioneerde zonder exter-ne aandrijving. Zo bouwde de Griekse wiskundige Archytas, grondlegger van de wiskundigemechanica en vriend van Plato, reeds in 350 B.C. een mechanische houten vogel die zichzelfvoorstuwde met behulp van stoom. In diezelfde tijd filosofeerde ook Aristoteles over de cre-atie van autonome entiteiten die arbeiders en slaven overbodig zouden maken. Verder werdin die tijd reeds gretig gebruik gemaakt van de waterklok of clepsydra. Toen al toonden wij-zers een relatief nauwkeurig tijdstip, aangedreven door een continue stroom van water uit eenreservoir (figuur 2.1).

Figuur 2.1: schematische voorstelling van een waterklok

In 1495 slaagde Leonardo Da Vinci erin een gepantserde pop met een inwendig mechanismelevensechte bewegingen te laten uitvoeren (figuur 2.2(a)). Deze eerste automaat werd wel enkelom entertainment redenen gebruikt. De titel van eerste robotbouwer dient Da Vinci te delenmet Jacques de Vaucanson. Deze Franse uitvinder en instrumentenbouwer bouwde in 1738een levensgrote mechanische pop die twaalf verschillende liedjes op fluit kon spelen. Wereld-beroemd werd hij wat later met de creatie van een mechanische eend, die kon zwemmen, metde vleugels slaan en voedsel eten (figuur 2.2(b)).

Hoofdstuk 2. Multi Agent Systemen 5

(a) de robot van Leonardo Da Vinci (b) de eend van Jacques de Vaucanson

Figuur 2.2: de voorlopers van de moderne robot

In de daaropvolgende eeuwen werd stilaan meer vorm gegeven aan autonome of op afstandbestuurde machines:

In 1801 werd de ponskaart uitgevonden door Joseph Jacquard. Deze vormde de basisin de ontwerpen van Charles Babbage. Hij trachtte een rekenmachine te bouwen dielogaritmische en trigonometrische functies benaderde aan de hand van benaderende po-lynomen. Hij mislukte daarin, maar wordt op heden toch de uitvinder van de computergenoemd.

Op het einde van de 19e eeuw demonstreerde Nikola Tesla een op afstand bediend bootje.

In 1921 kende het woord ’robot’ zijn oorsprong uit de pen van de Tsjechische schrijverKarel Capek. Hij leidde dit woord af van het Tsjechische ’robota’ wat ’verplichte arbeid’betekent.

De term artificiele intelligentie werd in 1956 voor het eerst gebruikt in het Darthmouth Sum-mer Research Project on Artificial Intelligence. Kort daarna werd in Massachusetts Institute ofTechnology (MIT) het Artificial Intelligence Laboratory opgestart.

In 1962 kreeg de eerste volwaardige industriele robot vorm onder de Ultimate. De man hier-achter was George Devol, stichter van het eerste robotica bedrijf Unimation en patenthoudervan meer dan 40 miljoen octrooien. Deze (arm)robot werd ingezet in de productielijn van Ge-neral Motors waar het een functie kreeg die door de aanwezigheid van giftige verfdampen tegevaarlijk geacht werd voor mensen. Doorheen de geschiedenis is dit zonder twijfel de groot-ste motivatie om onderzoek te verrichten naar autonome mechanismen. De daaropvolgendejaren werden gekenmerkt door de ontwikkeling van meer complexe en verfijnde machines. Zeworden gebruikt in de meest uiteenlopende takken; van de ruimtevaartsector tot de speelgoed-winkels, van high-tech toepassingen tot alledaagse huishoudtoestellen.

Hoofdstuk 2. Multi Agent Systemen 6

Het is in de late jaren ’80 dat professor aan MIT Rodney Brooks met zijn studenten een reeksidentieke rollende en stappende robots bouwt en onderzoek start naar distributed mobile roboticsof verdeelde mobiele robotica.

Verdeeld mobiele robotica verdeling binnen een systeem betekent meestal dat meerdere ge-ografisch gespreide gebruikers het systeem uitmaken of dat een uit te voeren taak overmeerdere units gespreid kan worden om de performantie of fouttolerantie van het sys-teem te verhogen. Binnen een verdeeld systeem is communicatie heel belangrijk, dezezorgt ervoor dat informatie over alle units verzonden wordt of dat deelsystemen onder-ling synchroniseren. Toegepast op mobiele robotica betekent verdeeldheid onder anderehet toewijzen van deeltaken aan verschillende agenten, het plannen van een missie of hetopstellen van een hierarchie binnen de groep.

In het daarop volgende decennium kende de robotica enkele hoogtepunten. Zo landde in 1997NASA’s Pathfinder op Mars en werd het autonome robotsysteem Sojourner in gebruik geno-men. Het feit dat in hetzelfde jaar de computer Deep Blue de grootmeester Kasparov in eenschaakpartij verslaat, heeft weinig te maken met robotica, maar toont wel dat artificiele intel-ligentie stilaan de kop op stak. Ook op het vlak van verdeelde robotica boekt de wetenschapvooruitgang, want in 1993 wordt RoboCup opgericht.

Robocup Een internationale competitie waarin teams van robots het opnemen tegen elkaar inallerhande wedstrijden. Zo wordt onderzoek naar artificiele intelligentie en verdeelderobotica gepromoot. Bij oprichting luidde het officiele doel: ”tegen het midden van de 21eeeuw in staat zijn een team van volledig autonome humanoıde robots te laten winnen van de meestrecente winnaars van de wereldbeker voetbal en dit volgens de regels vooropgesteld door de FIFA”.

In 1997 gaan de eerste RoboCup games van start. Initieel bestaat er enkel een voetbalcompetitievoor rollende robots, op heden bestaan ook reddings- en danswedstrijden voor zowel rollendeals humanoıde robots.

Figuur 2.3: Een speelveld in de Robocup competitie

Hoofdstuk 2. Multi Agent Systemen 7

2.3 Biologische parallel

De motivatie om studies uit te voeren in verband met multi agent systems stamt uit het gedragbinnen zelf-organiserende zwermen die in de natuur talrijk aanwezig zijn. In een school vanvissen of een troep vogels is groepsgedrag cruciaal bij het collectief verplaatsen maar ook omzich te beschermen tegen een aanval van roofdieren. Ook een kudde wild vertoont complexcollectief gedrag bij het migreren, zoals toekennen van leiderschap of behouden van formaties.Deze komen tot stand door individuele beslissingen en acties van de dieren, gebaseerd opobservaties van de directe omgeving en het gedrag van buren om zo globale functionaliteit tebereiken.

(a) een zwerm vogels in formatie (b) een georganiseerde school vissen

Figuur 2.4: Voorbeelden van samenwerking in de natuur

Regeltechnische wetenschappers en ingenieurs, geboeid door dit biologisch fenomeen, wer-den geınteresseerd in het ontwikkelen van een artificieel analogon. Groepen van autonomevoertuigen, geequipeerd met meet-, reken- en communicatieapparatuur kunnen zo gebruiktworden bij het uitvoeren van een varieteit aan ruimtelijk verdeelde opdrachten zoals searchand rescue, toezicht, exploratie en synchrone levering van lading, om maar een paar van devele mogelijkheden op te sommen.

2.4 Voor- en nadelen

Er zijn tal van voordelen waarom de voorkeur gegeven wordt een probleem op te lossen metbehulp van verdeelde robotica (Parker, 1998)

+ Economisch: Het is goedkoper meerdere robots te bouwen die elk een taak uitoefenendan een enkele multi-functionele robot te ontwikkelen.

+ Robuustheid: een verdeeld systeem is immuun voor het wegvallen van een agent, eenenkele robot natuurlijk wel.

+ Geografische verdeeldheid: verschillende robots kunnen op verschillende plaatsen tege-lijk aanwezig zijn, werkend aan verschillende taken.

+ Performantie: een enkele robot binnen de groep beschikt over meer kennis door het de-len van sensoreninformatie. Zo kan een object tijdens identificatie op eenzelfde moment

Hoofdstuk 2. Multi Agent Systemen 8

vanuit meerdere hoeken bekeken worden en kan een zwaar object door meerdere agentengedragen of geduwd worden.

+ Veiligheid: mensenlevens worden gespaard als gevaarlijke en complexe taken door eengroep robots kan uitgevoerd worden.

Natuurlijk zijn er niet enkel de voordelen, er zijn ook overwegingen die een snelle ontwikkelingvan MASs in de weg staan:

- Coordinatie en cooperatie zijn niet altijd makkelijk te bekomen, een enkele agent kamptniet met dit probleem.

- Verschillende agenten kunnen elkaar hinderen bij het uitvoeren van een taak.

2.5 Toepassingen

Zoals in sectie 2.1 reeds aangehaald werd, is een MAS een heel ruim begrip. Toepassingenspreiden zich dan ook over alle denkbare sectoren van de industrie. Zelfs wanneer we ons be-perken tot mobiele agenten (MVS) blijft er ruimte voor interpretatie. Het grootste onderscheidkan gemaakt worden door de omgeving waarin de mobiele robots zich verplaatsen.

Te land Dit is hoogst waarschijnlijk de categorie die het meest geassocieerd wordt met robo-tica. Het algemene beeld van een robot bij het grote publiek is namelijk deze van een mens-achtige machine of humanoid (figuur 2.5(a)). Er bestaat inderdaad onderzoek naar tweevoetigerobots die zich voortbewegen als een mens, maar de grootste nadruk hierbij ligt eerder nog ophet streven naar stabiliteit dan op praktisch gebruik. Onbemande grondvoertuigen (UnmannedGround Vehicle of UGV) zijn daarom meestal van de rollende soort, vooral bij gebruik in groep(figuur 2.5(b)).

(a) een humanoid robot (b) een rollende UGV

Figuur 2.5: Onderscheid tussen humanoids en rollende UGVs

Hoofdstuk 2. Multi Agent Systemen 9

Ter zee Water is geen makkelijk medium om zich in of op te verplaatsen. Niet enkel zijn detraagheidskrachten uitgesproken aanwezig tijdens manoeuvreren, ook moet er meestal reke-ning gehouden worden met permanente stroming en deinig, die de navigatie en sturing vaneen onbemand schip (Unmanned Surface Vehicle of USV) bemoeilijkt.

Onder water Onbemande onderwatervaartuigen (Unmanned Underwater Vehicle of UUV) zijnniet zomaar een uitbreiding op vorige klasse. De mogelijkheid van zich in drie dimensies tekunnen bewegen opent nieuwe perspectieven, maar verplicht ons daarvoor aangepaste sturingte ontwikkelen.

In de lucht Het luchtruim is een zeer interessant werkgebied bij het verkennen van mogelijk-heden voor onbemande voertuigen. De open ruimte biedt eerst en vooral de beste communi-catiemogelijkheden tussen agenten, want nabijheid van storende objecten of interferentie, dieop grond en in het water wel voorkomen, zijn er niet. Overigens is bij breuk, botsing of andereproblemen, de afloop meestal fataal voor betrokken personen, wat het luchtruim tot gevaarlijkwerkgebied maakt en de interesse in onbemande vliegtuigen (Unmanned Aerial Vehicle of UAV)doet toenemen. Een volgend hoofdstuk spitst zich volledig toe op deze tak van MASs.

In de ruimte In de ruimte zijn sinds het begin van het ruimtevaartstijdperk, op een miniemaantal uitzonderingen na, alle voertuigen vanop afstand en door computers bestuurd. Wel wor-den op heden meer en meer cooperatieve methodes ontwikkeld om bijvoorbeeld dataverkeertussen meerdere satellieten te optimaliseren.

We overlopen enkele van de vele mogelijke toepassingen van cooperatieve sturing waar opheden intensief ondezoek naar gebeurt.

Box pushing Het is moeilijk voor een enkele agent om een groot en zwaar voorwerp gecon-troleerd te verplaatsen. De samenwerking tussen meerdere agenten laat dit vlotter verlopen.Hoewel deze toepassing niet onmiddelijk in de praktijk toegepast wordt, vormt ze wel de basisproefomgeving bij het onderzoek naar cooperatieve sturingsmethodes.

Formatie De natuur leert ons dat zich verplaatsen in groep tal van voordelen oplevert. Vo-gels die in formatie vliegen sparen bijvoorbeeld energie uit door het gebruik maken van deupwash die de vleugels van een voorganger genereren. Robots in groep kunnen ook een grotereantenne vormen dan een individuele agent, wat de gevoeligheid van een groep vergroot. Ver-der kunnen verschillende agenten zich toespitsen op verschillende taken, zo dient niet iederevoertuig volgeladen te worden met allerhande meetapparatuur.

Surveillance of search and rescue Het uitkammen van een gebied op zoek naar een verste-keling of het waken over een grote regio, twee taken die in groep veel efficienter uit te voerenvallen.

Hoofdstuk 2. Multi Agent Systemen 10

Identificatie Bij het identificeren van een onbekend object heeft een alleenstaande robot hetnadeel slechts een invalshoek te hebben. Meerdere agenten bieden een hogere zekerheid ophet correct identificeren of classificeren van een vreemd voorwerp.

Rendez-vous Het samenbrengen van meerdere voertuigen op eenzelfde lokatie op hetzelfdetijdstip kent zijn toepassing in militaire operaties waar een maximaal verrassingseffect verkre-gen wordt bij gelijktijdige aanvallen (Ren & Beard, 2005; Murray, 2006).

Mobiele sensor netwerken De studie van het zodanig positioneren van meerdere mobielesensoren om een maximum hoeveelheid aan informatie te verzamelen. Een concreet voorbeeldhiervan is het Autonomous Oceaan Sampling Network (AOSN) (Murray, 2006). Een netwerk, be-staande uit een verzameling autonome voertuigen, waarin iedere agent zijn beweging aanpastaan informatie die hijzelf of andere leden van de groep ontvangen. Een ander voorbeeld isde Terrestrial Planet Finder (TPF), meerdere microsatellieten die een virtuele satelliet vormen engebruik makend van lichtinterferentie verafgelegen sterren en planeten kunnen waarnemen.

Transportsystemen Op plaatsen waar veel voertuigen bijeen komen is er meestal verlies vanefficientie en natuurlijk een groeiende kans op botsingen. De personen die deze voertuigen be-sturen zijn daar meestal zelf de oorzaak van. Intelligente autosnelwegen, waar interactie tussenindividuele voertuigen een veiliger verloop biedt, zijn dan ook interessante onderzoeksvelden(Swaroop, 1997). Ook air traffic control kan van deze mogelijkheid gebruik maken.

Mapping Wanneer een plan of schematische weergave gewenst is van een onbekend gebied;zal de samenwerking tussen meerdere voertuigen, verspreid in dat gebied, een snellere ennauwkeurigere oplossing geven.

Huishouden of entertainment De AIBO robot-hond van Sony of het Furby speelgoed zijnenkele voorbeelden van robots die de mogelijkheid bezitten te interageren met zijn omgeving ofsoortgenoten. De recente ontwikkelingen in domotica zetten verschillende huishoudtoestellenin verbinding met elkaar om een gedeelde taak te volbrengen. Zo worden bij het aanzetten vande DVD-speler, ook het televisietoestel en het Dolby Surround Systeem op actief geplaatst.

Hoofdstuk 3. UAV zwermen 11

Hoofdstuk 3

UAV zwermen

3.1 Inleiding

Een onbemand vliegtuig (Unmanned Aerial Vehicle of UAV) is een vliegtuig die geen piloot of an-dere bemanning aan boord heeft. Het voertuig kan van op afstand via radiogestuurde controlebestuurd worden of kan autonoom functioneren. Net zoals andere voertuigen is het mogelijkmeerdere UAVs samen te laten werken bij het volbrengen van een missie die een individueelvliegtuig niet of minder efficient kan uitvoeren. Soms wordt als benaming niet UAV maar UAS(Unmanned Aircraft System) gebruikt, omdat het volledige systeem vaak uit meerdere vliegtui-gen bestaat en soms zelfs een ondersteunend basisstation op de grond omvat.

In dit hoofdstuk overlopen we de evolutie van UAVs en bekijken in welke toepassingen dezereeds -eventueel in groep- gebruikt worden. Nadien wordt ingegaan op wat cooperatieve stu-ring van een zwerm UAVs juist betekent. Hierbij komen uiteenlopende architecturen, hierarchieenen restricties in de communicatie aan bod. Verder wordt geıntroduceerd welke methodes be-staan om groepen onbemande vliegtuigen te modelleren en cooperatief te sturen. Ten slottewordt behandeld welke de grootste tekortkomingen zijn van huidige technieken en mogelijkeverbeteringen worden aangeduid.

Meestal vallen alle onderwerpen door te trekken over de volledige lijn van MVSs. UAVs vor-men dan ook een louter praktisch voorbeeld van deze overkoepelende groep.

Hoofdstuk 3. UAV zwermen 12

3.2 Geschiedenis

Reeds vroeg in de geschiedenis werden allerhande vliegende objecten ontworpen en gebouwddie niet aan boord zelf bestuurd werden, meestal enkel voor recreatieve doeleinden. De eersteUAV met een duidelijk omschreven functie was Aerial Target, ontworpen door H.P. Folland enA.M. Low (figuur 3.1(a)). Het radiogestuurde vliegtuigje, waarvan de bouw startte in 1916,diende als doelwit bij het testen van luchtafweer. Dit was echter een dekmantel voor een Britsproject die onderzoek deed naar het gebruik van radiosignalen bij het sturen van geleide pro-jectielen. Ook tijdens het interbellum en zelfs tijdens en na W.O. II bleef bij het gebruiken vanUAVs de controle voornamelijk beperkt tot radiosturing, terwijl jet motoren de voornaams-te aandrijving werd. Een uitzondering hierop was de LARYNX (figuur 3.1(b)), een onbemandvliegtuig, gebouwd in 1927, die de basisprincipes van een automatische piloot hanteerde en ge-bruikt werd als primitieve kruisraket, maar door gebrek aan accuraatheid verdere doorbraakmistte. Op een eerste generatie ’autonome’ UAVs was het wachten tot de Vietnam oorlog, waarze ingezet werden bij het verkennen van voorop liggend gebied. Uitgerust met videoappara-tuur vlogen ze in rechte lijn of beschreven een constante cirkel terwijl de omgeving opgenomenwerd en dit tot een brandstoftekort hen gebood te landen. Door de simpele aard van deze toe-stellen werden ze ’drones’ genoemd.

(a) een replica van de Aerial Target (b) LARYNX, een primitieve kruisraket

Figuur 3.1:

De evolutie naar grotere autonomie ging hand in hand met de ontwikkelingen op het vlak van:

- Sensoren: gevoeligere sensoren bieden meer nauwkeurige gegevens.

- Communicatie: tussen verschillende apparatuur binnen een vliegtuig of tussen verschil-lende agenten dient informatie verstuurd te worden.

- Optimalisatie: bij het berekenen van een pad die voorgeschreven verwachtingen invultmaar ook aan beperkingen gehoorzaamt.

- Planning en taakverdeling: het optimaal toewijzen van deeltaken om met een beperktaantal resources een gegeven taak te volbrengen.

De exponentiele groei van bovenstaande onderzoeksvelden bij de aanvang van het compu-tertijdperk op het einde van de 20e eeuw zorgde voor een versnelling in de vooruitgang vanUAVs. De grootste groei ontstond echter steeds in oorlogstijden, vooral dan in het laatste de-cennium door de strijd tegen terrorisme in Afghanistan en Irak, de onbemande vliegtuigen

Hoofdstuk 3. UAV zwermen 13

hebben immers geen last van het woeste landschap en de immense droogte die heerst in diegebieden. Naast het feit dat zo geen mensenlevens geriskeerd worden, gaat men ook politiekingewikkelde en schandalige situaties, zoals neergeschoten vliegtuigen en gegijzelde militai-ren, uit de weg.

De MQ-1 Predator, weergegeven in figuur 3.2, werd reeds in 1995 in gebruik genomen, onderandere tijdens missies boven Bosnie. Bijna 15 jaar later bewijst deze UAV nog steeds zijn dienst,weliswaar voorzien van alle nieuwste updates. Deze vliegtuigen worden wel meestal nogvanop aftand bestuurd, soms zelfs vanuit grondbasissen aan de andere kant van de wereld.

Figuur 3.2: de MQ-1 Predator, in dienst sinds 1995

Wat de toekomst betreft is de stap naar volledig gebruik van onbemande vliegtuigen niet heelver weg meer is. Het ziet er naar uit dat de USAF Joint Strike Fighter en de Eurofighter Typhoonde laatste generatie militaire gevechtsvliegtuigen zijn die een piloot aan boord hebben.

Hoofdstuk 3. UAV zwermen 14

3.3 Toepassingen

In sectie 2.5 werd reeds overlopen welke de voornaamste praktische toepassingen zijn voor hetgebruik van MASs. Voor ieder van de vermelde voorbeelden kan wel een variant gevondenworden voor een groep UAVs. We gaan hier nog even dieper in op enkele enkele toepassingen,typisch voor een UAV zwerm. Tot voorheen werden UAVs vooral voor militaire doeleindengebruikt, het is dan ook niet te verwonderen dat de meeste van de toepassingen militair getintzijn, of tenminste daar hun oorsprong kennen.

3.3.1 Surveillance

Een gebied moet bewaakt worden en is te groot om door een enkele UAV behandeld te worden.Daarom kan een groep aangewezen worden die zijn geografische verspreidheid gebruikt omefficienter op te treden. Efficentie maximaliseren stemt hier overeen met het minimaliseren vande uitvoertijd. Bij een opgegeven gebied wil dit zeggen dat er naar minimale sensor overlapgestreefd wordt, een reeds bezocht stuk bezoeken is namelijk tijdverlies. Een techniek vooreen niet-overlappende lus in een te observeren gebied te vinden, is het Spanning Tree Coverage(STC) algoritme (Jones et al., 2007) en kan zowel offline als in real-time toegepast worden. Deuitbreiding van STC voor een multi-vehicle area surveillance is een heel recente studie. Meestalwordt verondersteld dat de agenten van op verschillende plaatsen starten, maar hetzelfde tra-jectorie volgen. Bij het bepalen van de gespannen boom moet dan rekening gehouden wordenmet de startposite van de UAVs, want de vorm van deze boom bepaalt in grote mate de ver-kenningsduur. Samengevat is het STC algoritme rekenkundig efficient, garandeert volledigebedekking van het gebied en genereert moeilijk te voorspellen trajectories, wat gewenst is bijmilitaire doeleinden.

3.3.2 Achtervolging

Het achtervolgen van dynamische doelen is een zeer uitdagende studie, zeker wannneer hetvluchtende doel een zekere vorm van intelligentie toegewezen krijgt. Multiplayer differentialgame theory (Jones et al., 2007) wordt gebruikt om het gedrag van volgers en ontsnappers temodelleren en complexe aanpakken, zoals het oplossen van de Hamilton-Jacobi vergelijking ofhet opstellen van een cellular-search model (Yatsenko et al., 2007) bestaan om een achtervolgingte optimaliseren.

3.3.3 Formatie

De meest voor de hand liggende uitbreiding van individuele opdrachten naar die in groep ishet vormen van een formatie. Het volbrengen van de opdracht bestaat dan uit twee luiken: heteigenlijk doel blijft hetzelfde, maar ook moet iedere UAV een vaste relatieve positie behoudenten opzichte van een of meerdere teamleden. Cooperatieve sturing betekent dan dat aan beideverwachtingen voldaan wordt.Het constant houden van een inter agent distance kan op symmetrische of asymmetrische ma-nier gebeuren. In het eerste geval wordt moeite gedaan door beide agenten om de gewenteposities in te nemen of constante afstand te behouden. De onderliggende graaf (sectie 3.4.3) is

Hoofdstuk 3. UAV zwermen 15

dan ongerichte. Het mag als triviaal beschouwd worden dat bij streven naar formatie niet allniet alle, maar slechts enkele onderlinge afstanden constant moeten gehouden worden om devolledige vorm en dimensie van de formatie gegarandeerd wordt. Voorwaarden voor zoge-naamde stijfheid, worden bestudeerd in rigid graph theorie (zie 3.4.3).

Bij asymmetrische sturing streeft slechts een van agenten uit een agentenpaar actief de ge-wenste positie of afstand na, wat een onderliggende gerichte graaf impliceert. Aangezien dezeaanduidt dat informatie slechts in een richting gestuurd hoeft te worden, betekent dit een dras-tische vermindering van de communicatie complexiteit.

3.4 Modellering

Een formatie van UAVs is een systeem opgedeeld in deelsystemen, die elk voorgesteld kunnenworden door een toestandsmodel, het totale systeem bereikt dan zijn formatie door commu-nicatie tussen en synchronisatie van die deelsystemen, daarom is het nodig een model op testellen van het netwerk met behulp van grafentheorie.

3.4.1 Toestandsmodel

Ieder fysisch systeem, gehoorzamend aan dynamische wetten, kan beschreven worden dooreen toestandsmodel (3.1). Dit wiskundig model drukt uit hoe vooropgestelde toestandsvari-abelen en systeemuitgangen zich gedragen in functie van de systeemingangen en dit aan dehand van eerste orde differentiaalvergelijkingen. Bij ieder vlieguig binnen een zwerm hoortdus een toestandsmodel. ˙x(t) = f(x(t), u(t)) x(t) ∈ Rm, u(t) ∈ Rn

y(t) = h(x(t))(3.1)

x(t) en u(t) zijn respectievelijk de toestands- en en sturingsvector van het deelsysteem.f(x(t), u(t)) is een gladde vectorfunctie die de dynamica van het systeem omvat. De uitgangs-vector y(t) kan vrij gekozen worden, maar bevat meestal de te sturen toestandsvariabelen.

Een groep van n UAVs kan gemodelleerd worden in een toestandsmodel met toestandsvector

x(t) = [x1(t)Tx2(t)T . . . xn(t)T ]T (3.2)

met xi(t) (i = 1 . . . n) de toestandsvector van de i-de agent. Een analoge redenering geldt voorde sturings- en uitgangvector.

Het sturen van een systeem betekent het bepalen van de sturingsvector u(t). Bij een alleen-staand systeem zal deze afhankelijk zijn van eigen toestandsvariabelen, systeemuitgangen ofzelf verkregen meetgegevens. Bij cooperatieve sturing zal deze ook functie zijn van informatie,verkregen van andere agenten uit de groep, als resultaat van onderlinge communicatie.

Hoofdstuk 3. UAV zwermen 16

3.4.2 Communicatie

Al sinds de oorsprong van verdeelde robotica wordt intensief studie gevoerd naar het commu-nicatieve aspect in multi robot systemen. Communicatie tussen robots kan opgedeeld wordenin twee categorieen ((Klein, 2005)):

• Expliciete communicatie: robots zenden en ontvangen rechtstreeks nuttige informatievan andere robots in het team.

• Impliciete communicatie: robots leiden informatie af uit de veranderingen die aanwezigzijn in de omgeving of winnen informatie als neveneffect uit de acties van andere team-leden.

Al snel werd ondervonden dat zelfs een minieme informatie-uitwisseling binnen een groepgrote voordelen kan opleveren. Recent wordt dan ook meer bestudeerd wat de nodige com-municatie in een MAS is om een bepaalde robuustheid en betrouwbaarheid te verzekeren in deaanwezigheid van fouttoleranties op de communicatie (Fax & Murray, 2004). Om te bestude-ren hoe communicatie tot stand komt binnen een groep of hoe informatie gedeeld, kan inzichtverworven worden in de grafentheorie.

3.4.3 Grafentheorie

Bij het bestuderen en analyseren van allerhande netwerken is het onontbeerlijk gebruik te ma-ken van grafentheorie. Deze biedt een abstracte presentatie van een verzameling objecten diehet netwerk uitmaken en de eventuele interconnecties. De eigenschappen van zo’n graaf hel-pen conclusies te trekken in verband met het netwerk en oplossingen te formuleren, het wis-kundig vraagstuk ’De zeven bruggen van Koningsbergen’ is hier een van de oudste en meest ge-kende voorbeeld van.

Ook bij de aanvang van de studie in verband met gedecentralizeerde sturing in de jaren ’70,werd al snel gebruik gemaakt van graaftheoretische ideeen bij het voorstelling van een mul-ti agent system. Hoewel hieromtrend reeds genoeg informatie te vinden is in de literatuur(Ilaya et al., 2008; Ren et al., 2008; Ren & Sorensen, 2008; Fax & Murray, 2004), wordt toch kortingegaan op de basis van de grafentheorie en de toepassing op multi agent systems.

Een gerichte graaf G = (V,E) bestaat uit een eindige en niet-ledige verzameling knopen V =(Vi, i ∈ I), die elk een agent van het netwerk voorstellen en een verzameling geordende parenE ⊂ V 2, die we takken noemen. Een tak (i, j) in een gerichte graaf betekent dat knoop Vj

informatie ontvangt van knoop Vi en niet noodzakelijk omgekeerd. Vi definieren we als deouderknoop en Vj als de kindknoop. Een ongerichte graaf is een speciaal geval van een gerichtegraaf waarbij voor elk geordend paar (i, j) ∈ E ook (j, i) ∈ E. We noemen een graaf ’compleet’als (i, j) ∈ E,∀i, j ∈ I, i 6= j. Een gericht pad binnen de graaf G is een opeenvolging vantakken (Ai1, Ai2), (Ai2, Ai3), . . .. Een graaf noemen we sterk verbonden wanneer er een gerichtpad bestaat van Ai naar Aj en van Aj naar Ai, ∀i, j ∈ I, i 6= j. Een gerichte boom is eengerichte graaf waar iedere knoop juist een ouderknoop bezit, met uizondering van een knoop.Deze noemen we de wortel van de boom en vanuit deze knoop vertrekt een gericht pad naar

Hoofdstuk 3. UAV zwermen 17

elke andere knoop van de graaf. Een gespannen boom van een gerichte graaf is een gerichteboom die alle knopen van die graaf bevat. We zeggen dat een graaf een gespannen boom bevatwanneer een deelverzameling van alle takken een gespannen boom vormen.

De matrix A = (aij) ∈ n × n is de matrixvoorstelling van de gerichte graaf G = Λ(A) en isgedefinieerd door aii = 0 en aij > 0⇔ (i, j) ∈ E. Wanneer aij waarden aanneemt verschillendvan 0 of 1, noemen we de graaf gewogen. A = (aij) wordt ook wel de bogenmatrix genoemd.Voor de bogenmatrix van een gewogen ongerichte graaf geldt logischerwijs: aij = aji, ∀i 6= j.

De Laplaciaan van een graaf is de matrix L = lij , met

lii =∑

i 6=j aij

lij = −aij , i 6= j(3.3)

Hieruit leiden we af dat lij ≤ 0, i 6= j en∑n

j=1 lij = 0, i = 1 . . . n.

De Laplaciaan van een ongerichte graaf is symmetrisch positief definiet, van een gerichte graafniet. Wel geldt voor beide dat 0 steeds een eigenwaarde van de Laplaciaan is met 1 (kolomvec-tor) als eigenvector. Andere eigenwaarden zijn bij een ongerichte graaf altijd positief. Bij eengerichte graaf bezitten ze allemaal een positief reeel deel. Als en slechts als 0 een enkelvoudigeeigenwaarde is van L, bevat de gerichte graaf een gespannen boom.

Een graaf wordt rigid of stijf genoemd wanneer de enige mogelijke bewegingen binnen de graafeen translatie of rotatie van de volledige graaf zijn. Er bestaan verschillende hulpmiddelen omstijfheid van een graaf te analyseren. Er kan een stijfheidsmatrix opgesteld worden waarbij dedimensie en de rang informatie verschaffen in verband met de stijfheid. Een andere methodeis het theorema van Laman (Anderson et al., 2008).Verder is een graaf minimaal stijf wanneer het wegnemen van eender welke tak een verlies vanstijfheid betekent. Een nodige voorwaarde hiervoor is dat |E| = 2|V | − 3. Een minimale stijveformatie van UAV’s biedt geen weerstand tegen het wegvallen van een sensor of communica-tieve link. In de praktijk zal dus steeds een zeker robuustheid gewenst zijn.

(Fax & Murray, 2004) gaat dieper in op de besluiten die kunnen getrokken worden aan dehand van karakteristieken van de Laplaciaan. (Ren & Beard, 2005) bestudeert het bekomen totconsensus als de graaf dynamisch is, wat wil zeggen dat de verzameling van takken verandertin de tijd. (Yu et al., 2007) behandelt het modelleren van formaties in 3 dimensies.

Hoofdstuk 3. UAV zwermen 18

3.5 Sturing

Eens een model opgesteld van het systeem kan tot een nadere beschrijving van de sturingovergagaan worden. Cooperatieve sturing is een heel ruim begrip. Iedere berekening vancontrolevectoren u(t) wordt met de term ’sturing’ bestempeld. Als u(t) daarenboven functie isvan toestandsvariabelen van andere agenten, is de sturing ’cooperatief’. Hoe de sturingsvectorbekomen wordt staat dus vrij en dit kan op verschillende manieren.

3.5.1 Gecentraliseerde vs. gedecentraliseerde sturing

Beschouwen we de graaf G = (V,E) die de zwerm UAVs voorstelt, dan stroomt informatievan agent Ai naar agent Aj als (i, j) ∈ E. We noemen agent Ai een buur van agent Aj . Deverzameling buren van een agent Aj noemen we Ni.

Per definitie is een sturingsstrategie gecentraliseerd als

ui(t) = f(xj | j 6∈ Ni) (3.4)

Met andere woorden, de sturingsvector is afhankelijk van toestandsvariabelen van een agentdie geen buur is van Ai.

Bij een gedecentraliseerde sturing daarentegen geldt

ui(t) = f(xj | j ∈ Ni) (3.5)

Bij een gecentraliseerde sturing gebeurt de cooperative controle dus niet in de agent zelf, maarop een locatie waar alle informatie van het systeem beschikbaar is. Dit kan in een grondstationzijn of in een agent die buur is van alle teamleden. Deze situatie is echter niet realistisch en bo-vendien uiterst kwetsbaar, het mis functioneren van de centrale unit betekent compleet verliesvan controle.

Decentralisatie biedt robuustheid, maar door onvolledige kennis van het systeem, zijn sturin-gen sub-optimaal.

3.5.2 Leiderschap vs. virtueel leiderschap

Een zwerm die gemodelleerd wordt als een gerichte boom (sectie 3.4.3) voldoet aan het leider-volger type. De leider of de wortel, voert een taak uit zonder daarbij rekening te houden met derest van de groep. Iedere andere UAV ontvangt informatie van een agent waarop beslissingengebaseerd worden, zo worden leider-volger paren gevormd. De communicatie en rekenintensi-teit wordt zo tot een minimum herleidt. Hetzelfde nadeel als bij gecentraliseerde sturing steektwel de kop op. Het falen van een agent heeft zijn invloed verder in de keten (Shao et al., 2007;Swaroop, 1997).

Een virtuele leider is een fictief punt binnen de groep die zich als leider gedraagt, dit kan hetmassamiddelpunt zijn van de groep of de locatie van een agent. Alle agenten zijn dan volgers

Hoofdstuk 3. UAV zwermen 19

van die fictieve leider zodat wederom robuustheid ingebouwd wordt. Een nadeel aan dezeaanpak is wel dat de virtuele leider zelf geen beslissingen kan nemen en bijgevolg niet kaninspelen op externe invloeden (zie 4.6).

3.5.3 Reactieve vs. predictieve sturing

In laatste jaren is een merkbare verschuiving opgetreden van reactieve naar predictieve sturing.Bij de eerste methode worden huidige en vorige metingen gebruikt bij het berekenen van deoptimale sturing. De klassieke P(ID)-regelaar is hier een perfect voorbeeld van.

Predictieve methodes zijn een meer geavanceerde techniek. Hierbij wordt vooraf een bena-derend model van het te sturen systeem opgesteld door systeemidentificatie. Aan de handhiervan en met kennis van de huidige toestand wordt een schatting gemaakt van toekomstigetoestanden en uitgangen. De sturing is dan een iteratief proces waarin een kostenfunctie wordtopgesteld en een controleinput wordt gezocht die deze functie over een korte tijdspanne mini-maliseert. Deze uitkomst wordt dan ogenblikkelijk toegepast op het echte systeem (Wise, 2006;Cai et al., 2007; Radu, 2008).

3.5.4 Gedragsgebaseerde sturing

Gedragsgebaseerde sturing laat een groot deel van de analyse, betrokken in vorige methodesvallen, en gaat uit van simpele gedragsalgoritmes (Ilaya et al., 2008). Deze eenvoudige maarefficiente manier van sturen kent zijn oorsprong in de biologie, waar bestudeerd werd hoe eenschool vissen of een zwerm bijen zich verplaatsten. Elke lid van de groep gebruikt slechtslokale informatie bij het volgen van simpele gedragsregels. De meeste commmunicate gebeurtdan ook op impliciete wijze (sectie 3.4.2).

3.6 Tekortkomingen

Groepsgedragingen modelleren en controlleren is een heel complexe taak. Omdat in iedere si-tuatie andere aspecten van belang zijn, is het moeilijk een sluitende sturingsmethode te ontwik-kelen die voor meerdere opdrachten kan gebruikt worden. Iedere methode is daarom uiterst si-tuatiegericht. Bovendien staat cooperatieve sturing nog in zijn kinderschoenen. De vereenvou-digingen zijn meestal te simplistisch en onrealistisch. In de praktijk komen veel beperkingenvoor die cooperatie bemoeilijken. Voorbeelden hiervan zijn meetruis en foutieve communica-tie, maar ook onverwachte veranderingen in de omgeving. In een volgend hoofdstuk wordtonderzocht hoe flexibel sturingsalgoritmes zijn en hoe ze uitgebreid kunnen worden om ookbij levensechte beperkingen te blijven functioneren.

Hoofdstuk 4. Simulatie 20

Hoofdstuk 4

Simulatie

4.1 Inleiding

In dit hoofdstuk wordt een specifieke situatie voor ogen gehouden en een sturingsalgoritmegeıntroduceerd. We kijken naar welke eigenschappen zo een algoritme bezit en wat mogelijkeverschillen zijn. Wanneer een algoritme onmiddellijk geımplementeerd wordt in de vliegtui-gen is er geen marge voor mislukking. Het falen van het algoritme betekent immers het verliesvan een of meerdere UAVs. Ook zou op die manier optimaliseren van een sturingsmethodeeen tijdsconsumerende taak zijn. Daarom is het van primordiaal belang om tijdens de ontwik-kelingfase software simulaties uit te voeren. Zo kan op een veilige manier aan foutopsporingen -reductie gedaan worden of stap voor stap een algoritme geoptimaliseerd worden zonderhardware in gevaar te brengen. In dit eindwerk worden Matlab en de Simulink omgevinggebruikt bij het opstellen, simuleren en evalueren van algoritmes.

Algoritme Een algoritme is een reeks van instructies die ervoor zorgt dat vanuit een gegevenbegintoestand een strikt omschreven doel bereikt wordt. In de toepassing van een zwermUAVs vertaalt dit zich in een iteratief proces van logische beslissingen die de agenten inde zwerm dienen te nemen. M.a.w. een algoritme bepaalt een opgelegd denkprocesvoor de UAV. Om robuust en efficient te zijn dient in een algoritme bijgevolg rekeninggehouden te worden met alle mogelijk scenario’s die kunnen optreden.

4.2 Omschrijving van de situatie

We kiezen ervoor een algoritme te ontwikkelen die een kleine groep vliegtuigen in staat stelteen onbekend gebied te verkennen. Hierbij wordt het massamiddelpunt van de groep als virtu-ele leider vooropgesteld en opgedragen dat deze een off-line berekend trajectorie volgt. Verderis het de bedoeling dat de UAVs een vooraf bepaalde formatie aanhouden. De keuze hiervooris tweeerlei:

• Sturingsalgoritmes voor een zwerm UAVs zijn ad hoc en moeilijk over verschillende si-tuaties heen te veralgemenen. Het in formatie een gebied verkennen is dan de toepassingdie nog het meest flexibiliteit bezit en toelaat om met eenzelfde algoritme verschillende

Hoofdstuk 4. Simulatie 21

gebieden aan te doen. Voor gelijkaardige gebieden is het soms mogelijk hetzelfde offli-ne trajectorie te gebruiken, maar meestal wordt dit opnieuw opgesteld, aangepast aande specifieke wensen. Dit is namelijk niet de meest rekenintensieve taak van het geheel,er dient enkel rekening gehouden te worden met de kinematische beperkingen van deUAVs, zoals maximale snelheid of turn rate.

• Een goed sturingsalgoritme moet makkelijk op te schalen zijn. Dit wil zeggen dat decommunicatie binnen een groep niet lineair mag stijgen met het aantal agenten. Het isrelatief gemakkelijk om een formatie initieel te laten bestaan uit weinig agenten en zoreeds kwalitatieve besluiten te trekken in verband met het algoritme. Later worden danstelselmatig agenten aan de formatie toegevoegd, zonder dat de eigenschappen van hetalgoritme verloren gaan.

We introduceren een algoritme (Anderson et al., 2008) waarin een tweedimensionaal gebiedverkend wordt door een niet-hierarchische formatie van drie autonome UAVs. De vliegtuigenworden verwacht een constante onderlinge afstand te houden terwijl een virtuele leider in hetmassamiddelpunt een voorgeschreven pad volgt. Hierbij wordt verondersteld dat de UAVstijdens het uitoefenen van de taak een constante snelheid aanhouden. De formatie start in hetmidden van een te verkennen zone en het pad van de virtuele leider vormt een Archimedischespiraal. Deze kan geformuleerd worden in tijdsafhankelijke poolcoordinaten (r, θ) en in relatiestaan met de carthesische coordinaten (x, y) = (r cos θ, r sin θ).

r(t) = bφ(t)θ(t) = φ(t) (mod 2π)

(4.1)

Hierin is b is een karakteristiek van de spiraal die beschrijft hoeveel de straal per omwentelingtoeneemt. φ(t) is een monotoon stijgende functie die voldoet aan φ(0) = 0 en limx→∞ = ∞ enafhankelijk is van de (constante) snelheid van de UAVs b volgens de differentiaalvergelijking

φ(t) =vc√

(bφ(t))2 + b2(4.2)

Het controle algoritme betreft een gedecentraliseerde, niet-hierarchische en asymmetrische stu-ring met gebruik van lokale informatie. Met andere woorden, de identieke, maar individuelesturing van elke agent bepaalt acties op basis van onvolledige informatie over het systeem.Ieder vliegtuig kent naast zijn eigen positie en richting ook de positie van een andere agentuit de groep en probeert als enige van dat paar de onderlinge afstand constant te houden. Devolgorde is gekozen zodat die informatiestroom een cyclus vormt. Door het behouden vande gewenste onderlinge afstanden wordt formatie gegarandeerd. Verder is ook het te volgentrajectorie in de UAVs geprogrammeerd.

Hoofdstuk 4. Simulatie 22

4.3 Eigenschappen van de UAV en de formatie

De UAV in de toepassing is de Aerosonde (figuur 4.1), ontwikkeld door Insitu en gebouwd doorAerosonde Ltd. De UAV is aangedreven door een verbrandingsmotor die 1.28 kW (1.74 pk)ontwikkelt. Aan boord is plaats voor een kleine computer en enkele meteorologische meetin-strumenten. Verder is een GPS ontvanger voorzien voor navigatie.

(a) (b)

Figuur 4.1: Een afbeelding en een schematische schets van de Aerosonde

De Aerosonde heeft in zijn bestaan sinds 1998 reeds meerdere missies succesvol tot een eindgebracht. Zo slaagde een eerste generatie van de UAV er in, als eerste onbemande vliegtuigin de geschiedenis, een vlucht van 3 270 km over de Atlantische Oceaan te volbrengen. Verderwerden ze al meermaals ingezet bij het penetreren van tropische cyclonen, een taak die logi-scherwijs niet weggelegd is voor bemande vliegtuigen. De voornaamste karakteristieken vande Aerosonde, zoals die gebruikt wordt in deze toepassing, zijn te vinden in tabel 4.1.

Lengte 1.7mDraagwijdte 2.9m

Hoogte 0.6mVleugeloppervlak 0.57m2

Gewicht 13.1 kgBereik 3000 km

Plafond 4500mvnom 32m/s (115 km/u)vmax 40m/s (144 km/u)ωmax 0.08 rad/s

Tabel 4.1: Algemene karakteristieken van de Aerosonde

De formatie die we beogen is een gelijkzijdige driehoek met zijde d = 3000m. De virtuele leiderin het massamiddelpunt staat op een gelijke afstand d = dc/

√3 tot de verschillende agenten.

Hoofdstuk 4. Simulatie 23

Figuur 4.2 verduidelijkt deze situatie.

Figuur 4.2: Schematische voorstelling van de formatie

4.4 Uitwerking van een algoritme

Aangenomen wordt dat de UAVs zich met een constante snelheid vc = vnom in het vlak bewe-gen. De kinematica voor ieder van de agenten hiervoor is

xi(t) = vc cos(θi(t)yi(t) = vc sin(θi(t)θi(t) = ωi(t)

(4.3)

pi = (xi(t), yi(t)) is de positie en θi(t) en ωi(t) zijn respectievelijk de richting en de hoeksnelheidvan agent Ai (i ∈{1,2,3}) op tijdstip t.De controller van agent Ai gebruikt als individuele sturingsingangen de locaties pi(t),pj(t) enp(t). Dit zijn respectievelijk de posities van zichzelf, de agent Aj die hij volgt en verwachttepositie van de de virtuele leider A0. De te controleren systeeminput is ωi. Die tracht de richtingvan de UAVs naar een gewenste waarde te brengen met de PI-regelaar

ωi(t) = θi(t) = kP [θid(t)− θi(t)] + kI

∫ t

t0

[θid(t)− θi(t)] dt (4.4)

θid(t) is de gewenste richting die als volgt wordt bepaald:

- Vooreerst zoeken we het punt pid(t), die op afstand d van pj(t) en op astand dc van p(t)ligt.

pid(t) = argmin {‖p− pi(t)‖ | p ∈ C(p(t), dc) ∩ C(pj(t), d)} (4.5)

waar C(m, r) de notatie is van een cirkel met middelpunt m en straal r. We veronderstel-len in eerste instantie dat het punt pid(t) bestaat.

- θid(t) is dan

θid(t) =

∠(pid(t)− pi(t)) if |eij | > εi

∠(pid(t)− pi(t−∆)) else(4.6)

In woorden: de gewenste richting voor een UAV is deze van zijn huidige positie naarhet dichtste snijpunt van de twee circkels C(p(t), dc) en C(pj(t), d) als de separatiefout eijde tolerantieterm ε overschrijdt. Zoniet is phiid(t) evenwijdig met de richting waarin pidbeweegt. ∆ is daarom een vaste delay-term.

Hoofdstuk 4. Simulatie 24

Wanneer de UAVs perfect hun snelheid aanhouden, zullen de twee cirkels uit (4.5) steeds eensnijpunt hebben. Om het hoofd te bieden aan afwijkende situaties, die we later in dit hoofdstukzullen beschouwen, passen we aan.

θid(t) =

∠(pi(t)− p(t)) if ‖p(t)− pi(t)‖ < d− dc∠(p(t)− pi(t)) if ‖p(t)− pi(t)‖ > d+ dc

∠(pid(t)− pi(t)) if |eij | > εi

∠(pid(t)− pi(t−∆)) else

(4.7)

Hierin wordt geboden dat het vliegtuig Ai zich verwijderd van p(t) wanneer het te dicht bijde virtuele leider komt en richting p(t) vliegt wanneer het zich te ver van de virtuele leiderbevindt.

4.5 Implementatie

4.5.1 Bepaling van controller frequentie

Het beoogde systeem is hybride, wat betekent dat de continue dynamica of kinematica vande de UAVs gecombineerd worden met discrete dynamica van de controller. Aangezien dezethesis zich enkel concentreert op sturing op strategisch niveau, wordt de dynamica van al-le inner loops verwaarloosd. De vliegtuigjes zijn verondersteld stapsgewijs van turn rate tekunnen veranderen, alsook bewegen de sturingsactuatoren zonder overgangsverschijnsel. Weschrijven dit als

τuav = τact = 0 (4.8)

Deze vereenvoudiging is aanvaardbaar wanneer de tijdschaal van de sturing groot genoeg is.Het is belangrijk hiermee rekening te houden bij het kiezen van de controller frequentie. Eenvoldoende hoge frequentie is nodig om de fout op de te volgen richting te beperken. Bij ho-gere frequenties echter stijgt de rekenintensiteit en vallen de dynamica van het vliegtuig en deactuatoren niet meer te verwaarlozen. Een compromis sluiten is nodig. Een eerste stap in desimulatie is daarom het afwegen van de toegestane fout tegen het schenden van de vereenvou-diging (4.8).

Hoofdstuk 4. Simulatie 25

Sample frequentie: 0.33 Hz Wanneer de sample periode te groot of de frequentie te kleingekozen wordt slagen de vliegtuigen er niet in de vooropgestelde spiraal te volgen alsook deformatie gaat verloren.

(a)

(b)

Figuur 4.3: sample periode 3 s

In een beginfase lijkt de formatie stand te houden en ook de virtuele leider volgt het pad opeen treffelijke manier. Verder in deze thesis zoeken we een verklaring waarom deze situatieniet stabiel blijkt te zijn.

Hoofdstuk 4. Simulatie 26

Sample frequentie: 0.5 Hz Bij kleinere frequenties wordt de formatie wel behouden terwijlde virtuele leider de Archimedische spiraal doorloopt. De fout op dit trajectorie of de on-derlinge afstanden hebben logischerwijs een omgekeerd evenredig verband met de controllerfrequentie.

(a)

(b)

Figuur 4.4: sampleperiode 2 s

Hoofdstuk 4. Simulatie 27

(a)

(b)

Figuur 4.5: sampleperiode 1 s

Sample frequentie: 1 Hz

Hoofdstuk 4. Simulatie 28

(a)

(b)

Figuur 4.6: sample periode 0.5 s

Sample frequentie: 2 Hz

Hoofdstuk 4. Simulatie 29

(a)

(b)

Figuur 4.7: sample periode 0.25 s

Sample frequentie: 4 Hz

Hoofdstuk 4. Simulatie 30

Ovezicht Figuren 4.4 tot 4.7 tonen de simulatie van de eerste 700 s van de missie en dit voorverschillende waarden van de controller frequentie. Tabel 4.2 geeft een overzicht van de rms-waarden van de fout op het trajectorie epath en op de onderlinge afstanden eij .

sample freq. [Hz] epath [m] eij [m]0.5 101.10 88.781 33.51 48.862 11.86 23.534 3.955 5.462

Tabel 4.2: rms-waarden van de fout op epath en eij

De tijdsconstante in de dynamica van sturingsactuators bedraagt doorgaans enkele millisecon-den. Bij het hanteren van bovenstaande controller frequentie mag die zonder schroom ver-waarloosd worden. Het kiezen voor nog grotere controller frequenties leidt misschien wel toteen verdere reductie van de fout, maar in de praktijk zijn zo’n grote nauwkeurigheiden nietgeeist. Bovendien stijgt de rekenintensiteit van het algoritme lineair met de controller frequen-tie zodat deze niet te groot gekozen mag worden. In het verder verloop van de thesis wordteen frequentie van 2Hz of dus een periode van 0.5 s verondersteld.

4.5.2 MATLAB vs. Simulink

Deze eerste simulatie werd bekomen na implementatie van het cooperatieve sturingsalgoritmein een MATLAB programma die terug te vinden is in bijlage A. De for-lus wijst op het itera-tieve karakter van het algoritme. Een tweede mogelijkheid om het systeem te simuleren is hetbouwen van een model in Simulink. Dit is een toolbox binnen Matlab die het via een Graphi-cal User interface mogelijk maakt dynamische modellen grafisch voor te stellen. Hierbij wordtgebruik gemaakt van een uitgebreide bibliotheek aan voorgeprogrammeerde functieblokken.Hoewel in een Matlab programma duidelijker te zien is wat de opeenvolgende stappen of be-slissingen in het algoritme zijn, geniet modelleren in Simulink de voorkeur. Deelsystemenen eventuele (terug)koppelingen zijn hierin immers makkelijk te onderscheiden. In bijlage Bwordt het Simulink model en zijn deelsystemen nader toegelicht.

4.6 Analyse

Voorgesteld algoritme behandelt een groep vliegtuigen in een zeer specifieke situatie. In watvolgt evalueren we hoe dezelfde cooperatieve sturingsmethode flexibel staat tegenover afwij-kende situaties. We maken kwalitatieve besluiten en ontwikkelen een nieuw algoritme dieweerstand biedt aan zulks situatieveranderingen.

4.6.1 Flexibiliteit t.o.v trajectorie

De Archimedische spiraal is een mogelijk pad die de formatie van UAVs kan volgen. We onder-zoeken of ook andere trajectories in aanmerking komen voor het toepassen van vooropgesteld

Hoofdstuk 4. Simulatie 31

algoritme. Hierbij beperken we ons tot gladde paden die de kinematica van de UAVs nietschenden. Veronderstellend dat een gladde functie gezien kan worden als een opeenvolgingvan cirkelbogen, volstaat het te controleren of de formatie iedere cirkelboog kan volgen. In-tuıtief hebben we hier reeds een antwoord op klaar. De Archimedische spiraal is niets meerdan een functie met monotoon stijgende kromtestraal. Als deze kan gevolgd worden, kunnenook andere gladde functies als trajectorie gebruikt worden. We zien dit bevestigd in figuur 4.8tot 4.11 waar de formatie langsheen cirkelbogen van verschillende straal gestuurd wordt.

Figuur 4.8: Cirkelboog met straal 5000 m

Hoofdstuk 4. Simulatie 32

Figuur 4.9: Cirkelboog met straal 2000 m

Figuur 4.10: Cirkelboog met straal 1000 m

Hoofdstuk 4. Simulatie 33

Figuur 4.11: Cirkelboog met straal 500 m

We besluiten dat het mogelijk is een willekeurig trajectorie te volgen terwijl formatie behoudenblijft. Dit trajectorie moet echter wel voldoen aan de beperkingen op de kinematica van deUAVs. Bij wijze van voorbeeld testen we dit op een willekeurig pad (figuur 4.12).

Figuur 4.12: Volgen van willekeurig traject

Hoofdstuk 4. Simulatie 34

4.6.2 Flexibiliteit t.o.v. formatie

In (Anderson et al., 2008) is gewenst dat de vliegtuigen in formatie op relatief grote afstand vanelkaar blijven. Dit teneinde een accurate lokalisatie van doelen op de grond te verkrijgen. Inandere toepassingen kan het zijn dat de vliegtuigen veel dichter bij elkaar dienen te blijven. Ditbiedt voor het beschouwde algoritme geen probleem.

Figuur 4.13: Traject volgen in kleinere formatie

4.6.3 Flexibiliteit t.o.v. meetfouten en ruis

Een foutloze meting is nooit mogelijk en ook het aansturen van actuatoren gebeurt niet opeen perfecte manier. Steeds hebben we te maken met ruis. In het Simulink model bouwenwe Gaussiaanse onzekerheden in voor de meting van positie en van richting en besluiten nasimulatie dat voldoende kleine variaties in het ruis de missie niet verstoren. Om nauwkeurigemeetgegevens te verkrijgen in de aanwezigheid van ruis bestaan bovendien technieken zoalshet toepassen van Kalman filters of Monte Carlo methodes. Hiervoor verwijzen we naar deliteratuur (lit verw)

4.6.4 Flexibiliteit t.o.v. omgeving

Er werd aangetoond dat huidig sturingsalgoritme een ruime varieteit aan a priori vastgelegdepaden kan volgen. Kennis in verband met de omgeving speelt hierin wel een cruciale rol. Wan-neer reeds op voorhand statische obstakels of te ontwijken zones gekend zijn, is het mogelijkde off-line trajectorie in functie hiervan aan te passen. In de praktijk is dit jammer genoeg haastnooit het geval. Aanwezigheid van dynamische of onverwachte obstakels kunnen nefast zijnvoor de UAVs. Het algoritme in zijn huidige vorm stelt de volledige formatie of de individuele

Hoofdstuk 4. Simulatie 35

UAVs niet in staat correct te reageren op veranderingen in de omgeving. We zoeken daaromnaar een mogelijkheid tot verbetering.

4.7 Uitbreiding

Het behandelde gedragsgebaseerde algoritme bewijst zijn dienst in de situatie waarvoor hetontworpen is: het volgen van een willekeurig, maar off-line bepaald trajectorie zonder onze-kerheden in de omgeving, metingen of aansturingen. In dit hoofdstuk wordt een nieuw sturingontworpen die wel bestand is tegen deze onverwachte gebeurtenissen. Hierbij concentreren weons op het ontwijken van obstakels.

4.7.1 Aanpassing van controleoutput

Uit sectie 4.4 leren we dat ωi de systeeminput is die door de PI-regelaar gecontroleerd wordt.Deze zorgt ervoor dat de richting van iedere UAV convergeert naar een wenswaarde die hemnaar het punt brengt op afstand d van een te volgen agent en op afstand dc van de virtue-le leider in het massamiddelpunt. Hierbij wordt geen rekening gehouden met de eventueleaanwezigheid van obstakels. We voegen aan de regelaar een extra term ωobst toe, die aan dehand van real-time verkregen informatie in verband met obstakels, de hoeksnelheid van desysteeminput ω wijzigt.

Hierbij nemen we in acht dat

• Een UAV wegens de beperkingen op zijn hoeksnelheid op de hoogte moet zijn van deaanwezige obstakels in een voldoende groot gebied rondom zich.

• Een UAV sneller dient weg te draaien van een nabij obstakel dan van een verafgelegen.

• Een UAV niet te snel mag beslissen weg te draaien van een obstakel. Het kan immers zijndat het originele algoritme daar reeds voor zorgt.

• Een UAV enkel dient weg te draaien van een obstakel als hij er naar toe vliegt en niet alshet obstakel zich verwijdert.

• Een UAV sneller dient weg te draaien hoe sneller het vliegtuig het obstakel nadert.

en stellen voorop dat het dubbele van de maximale hoeksnelheid bereikt wordt wanneer deUAV op 400m recht naar het obstakel vliegt. De keuze om twee keer voor de maximale hoek-snelheid te kiezen volgt uit het feit dat een vliegtuig dat bij het volgen van zijn gewenste rich-ting gevraagd wordt maximaal naar links te draaien ook in staat moet zijn naar rechts te draai-en bij het uitwijken voor een obstakel. De veiligheidszone van 400m is de straal van de kleinstmogelijke draaicirkel van de UAV.

rmin = vnom/ωmax = 400m (4.9)

Hoofdstuk 4. Simulatie 36

We besluiten:

ωobst =

− θobst − θi‖θobst − θi‖

2ωmaxrmindobst

cos(θobst − θi) ifdobst < 500m

0 else

(4.10)

waarin dobst en φobst respectievelijk de afstand en de richting van agent Ai tot het obstakel zijn.We gaan ervan uit dat de UAVs 500m ver kunnen ’zien’

Hoewel met de invoering van deze aangepaste systeeminput het botsen met obstakels verme-den wordt, biedt dit geen waterdichte oplossing voor ons probleem.

Namelijk:

• Het trajectorie dat het massamiddelpunt dient te volgen is tijdsafhankelijk. Dit houdtin dat op ieder tijdstip t een gewenste positie p(t) = (x(t), y(t)) van de virtuele agentvoor ogen gehouden wordt. Deze opeenvolging van punten wordt a priori in de UAVgeprogrammeerd en houdt geen rekening met eventuele obstakels onderweg.

• Wanneer de bijkomende ωobst een UAV ertoe dwingt zijn originele richting te wijzigenom een collisie te vermijden, zullen ook de andere agenten hierop reageren. De huidigepositie van een agent bepaalt namelijk de gewenste positie een andere.

• Bij een geslaagd manoeuvre rond een obstakel zullen alle agenten in meer of minderemate extra afstand afgelegd hebben die niet in het volgen van het trajectorie begrepenzat. Ondertussen heeft de gewenste positie van het massamiddelpunt zich wel verderverplaatst.

Conclusie: door de tijdsafhankelijkheid van de gewenste trajectorie wordt er geen rekeninggehouden met eventuele omwegen die UAVs afleggen bij het manoeuvreren. Aangeziendie achterstand niet in te halen valt is het onmogelijk voor de virtuele agent om zijngewenste positie in te nemen. En hoewel de aard van het algoritme er voor kan zorgendat de formatie hersteld wordt, zal het massamiddelpunt niet het gewenste pad volgen.

Dit zien we verduidelijkt in figuur 4.14 Het algoritme stuurt de UAV naar die posities zodatformatie behouden blijft, maar de achterstand van de virtuele leider op zijn referentiepad re-sulteert in het weglopen van de formatie. In feite trachten de UAVs afstand goed te makendoor als het ware een hoek af te snijden. Bij paden met een grote kromtestraal is dit echteronbegonnen werk: de formatie komt niet terug naar zijn gewenste pad.

Hoofdstuk 4. Simulatie 37

Figuur 4.14: Onstabiliteit van het algoritme in aanwezigheid van obstakels

Om diezelfde reden leidt een te kleine controller frequentie (sectie 4.5.1) ook tot falen van deopdracht. We stellen twee manieren voor om dit probleem op te lossen en bekijken welkehaalbaar is in deze situatie.

4.7.2 Dynamisch pad

Het idee achter het volgen van een dynamisch pad is dat in de buurt van een geometrischtraject gebleven wordt en niet noodzakelijk dichtbij een a priori gespecificeerd punt. Met an-dere woorden, de vorm van het pad ligt vast, maar de snelheid waarmee dit pad doorlopenwordt niet. Deze wordt bepaald in functie van een fout-terugkoppeling, in dit geval de afstandvan de virtuele leider op gewenste positie. Hiervoor moet de referentiebaan geparametriseerdworden.

p(t) = (x(s(t), y(s(t))) (4.11)

Waar s ∈ R een functie is van de tijd en de baan glad is a.s.a.∥∥∥∥dp(sds

∥∥∥∥ 6= 0 voor alle s

De snelheid s waarmee het dynamisch pad doorlopen wordt is dan

s = vc e−a δ(t) (4.12)

waar vc de constante snelheid is van de UAVs, a > 0 en δ(t) = ‖p0(t)− p(t)‖.

Dit zorgt ervoor dat het trajectorie bij wijze van spreken wacht op de virtuele leider.

Hoofdstuk 4. Simulatie 38

Het grote struikelblok van deze methode is dat iedere agent op ieder ogenblik de positie vande virtuele leider p0(t) moet kennen om te berekenen hoe die zijn referentiebaan evolueert. Diepositie is functie van de posities van alle agenten in het systeem.

p0(t) =∑3

i=1 pi(t)3

(4.13)

Hoewel het in de beoogde situatie weinig moeite vergt communicatie te voorzien tussen drieindividuele agenten, ligt dat anders bij zwermen van een grotere schaal. Bovendien is het instrijd met de eigenschap van gedragsgebaseerde sturing dat enkel lokale informatie gebruiktwordt bij het nemen van individuele beslissingen.

4.7.3 Snelheidsregelkring

Een simpele maar efficiente manier om achterlopen van de virtuele leider tegen te gaan, is hetinbouwen van een individuele en onafhankelijke snelheidsregelkring per UAV. We ontwikke-len de mogelijkheid om de snelheid van een UAV in beperkte mate en voor een korte tijd telaten stijgen. Hierbij mag natuurlijk enkel gebruik gemaakt worden van de beschikbare infor-matie.

Expliciete informatie:

- De eigen positie pi(t) en richting θi

- De positie van een andere agent pj(t)

- De gewenste positie van de virtuele leider p0(t)

Impliciete informatie:

- De positie van het punt pid (zie (4.5))

- De richting θid en de afstand ρid van pi naar pid

Uit simulatie leren we dat bij afwezigheid van obstakels afstanden ρid < 100m gangbaar zijnen niet noodzakelijk leiden tot verlies van formatie. We stellen voorop dat bij waarden vanρid ≥ ρcrit = 100m de snelheid van de agent Ai kan opgedreven worden volgens

v = vnom + (vrec − vnom) e−ρd − ρcrit

τv (4.14)

vnom is de snelheid die in ongehinderde toestand aangehouden wordt en vrec de maximalesnelheid die mag gevlogen worden tijdens het recupereren van achterstand. Ten slotte is τv eenkarakteristiek die bepaalt hoe snel v stijgt met stijgende ρid.

Hoofdstuk 4. Simulatie 39

Figuur 4.15 toont het verloop van deze snelheidsvariatie in functie van rhoid voor vnom =32m/s, vrec = 35m/s en τv = 200m.

Figuur 4.15:

4.7.4 Toepassing

Obstakels kunnen van uiteenlopende aard zijn:

- Statisch of dynamisch

- Variabele vorm

- Variabele grootte

In deze thesis beschouwen we steeds cirkelvormige obstakels. Verder wordt onderscheid ge-maakt tussen twee klassen:

- Obstakels die het pad van hoogstens een UAV tegelijk storen. Dit is het geval wanneerde obstakels relatief klein zijn ten opzichte van de formatie. Hierbij is een individueeluitwijkmanoeuvre voldoende.

- Obstakels die meerdere UAVs in de formatie tegelijk stoort. Dit is het geval wanneerde obstakels relatief groot zijn ten opzicht van de formatie en hiervoor is een collectiefuitwijkmanoeuvre nodig.

Figuur 4.16 toont een voorbeeld uit elk van deze klassen. Beide obstakels zijn even groot, maarrelatief ten opzichte van de schaal van de formatie, is er een duidelijk verschil.

Hoofdstuk 4. Simulatie 40

(a)

(b)

Figuur 4.16: De twee beschouwde klassen van obstakels

De voornaamste zorg is nu het bepalen van de snelheid vrec. Bij het nemen van deze beslissingzijn meerdere aspecten van belang.

- Het opdrijven van de snelheid tijdens of na het ontwijken van obstakels gaat natuur-lijk gepaard met een energiekost. Hoewel in de praktijk steeds een regelkring voor desnelheid voorzien is ni de sturing van een UAV, is toch aangewezen voorzichtig om tespringen met die mogelijkheid en ze tot een minimum te beperken.

- Echter, het is economischer om de UAV gedurende een korte periode snel achterstand telaten inhalen dan aan een lagere snelheid de achtervolging lang te rekken.

- Verder zullen UAVs die in een omgeving opereren met een grote waarschijnlijkheid aanobstakels, over een grotere recuperatiesnelheid dienen te bezitten dan wanneer obstakelsmaar uitzonderlijk voorkomen.

Een aanpak is om tot een besluit te komen is het opstellen van een totale kostenfunctie, waarinzowel rekening gehouden wordt met de kost van versnellen, penalisatie op achterstand en eenonzekerheid over aanwezig obstakels. Het is een complexe zaak om die te vinden die te vinden.

Hoofdstuk 4. Simulatie 41

Een tweede aanpak is het schatten van de gemiddelde omweg die een UAV zal maken en vrechierop begroten.

Een voorbeeld: het offline berekende trajectorie is xkm en de kruissnelheid van de UAVs be-draagd vnom m/s.. Een schatting in verband met mogelijke obstakels vertelt ons dat δxkmomweg een reele bovengrens is. vrec kan dan

vrec = vnom(1 +δx

x) (4.15)

veronderseld worden.

Tabel 4.3 geeft enkele concrete bedragen op voor vrec, met vnom = 32m/s.

δx

xvrec

5% 33.6m/s10% 35.2m/s15% 36.7m/s20% 38.4m/s25% 40m/s

Tabel 4.3: Een overzicht van vrec in functie van de relatieve omweg

In wat volgt bekijken we het verschil in prestaties van de formatie voor verschillende inhaal-snelheden. De twee variabelen die we daarbij bestuderen zijn:

- De afstand van de virtuele leider p0(t) tot diens referentiepositie p(t)

- Een grootheid die aangeeft hoezeer de formatie behouden blijft. Deze kiezen we als:

eform(t) =12

∑i 6=j|‖pi(t)− pj(t)‖ − d|

= |‖p1(t)− p2(t)‖ − d|+ |‖p2(t)− p3(t)‖ − d|+ |‖p3(t)− p1(t)‖ − d|(4.16)

Of in woorden, de som van de absolute waarden van de fouten op de onderlinge afstan-den. epath is enkel gelijk aan nul als de formatie perfect gevormd is.

Hoofdstuk 4. Simulatie 42

Stabiliteit van het algoritme en dus ook van de missie gaat hand in hand met de deze vanbovenstaande grootheden. Herhalen we de situatie van figuur 4.14, dan merken we dat deformatie herstelt maar de achterstand niet (figuur 4.17).

Figuur 4.17: Achterstand van virtuele leider en fout op formatie bij constante snelheid

Hoofdstuk 4. Simulatie 43

Kleine obstakel We veronderstellen de aanwezigheid van het obstakel uit figuur 4.16(a).

(a) (b)

Figuur 4.18: De inhaalprestaties bij een individueel uitwijkmanoeuvre

Zonder het toepassen van de snelheidsregelkring verliezen de UAVs na ca. 275 s de formatieen reeds bij een kleine snelheidsverhoging wordt dit tenietgedaan. Hoe hoger de recuperatie-snelheid, hoe rapper de formatie hersteld wordt.

Grote objecten We doen hetzelfde, maar nu bij het obstakel uit figuur 4.16(b)

(a) (b)

Figuur 4.19: De inhaalprestaties bij een collecltief uitwijkmanoeuvre

We kunnen besluiten dat verhogen van de recuperatiesnelheid weinig tot geen invloed heeftop het herstellen van de formatie. Het inlopen van achterstand daarentegen wel natuurlijk.

Hoofdstuk 4. Simulatie 44

4.7.5 Resultaat

Bij wijze van finaal resultaat kijken we hoe een formatie het ervan af brengt in een gebied,volgezaaid met obstakels. Hierbij stellen we vrec = 37m/s voorop.

(a) (b)

Figuur 4.20: Ontwijken van meerdere obstakels

Omdat het niet makkelijk te zien is waar de UAVs zich ten opzichte van elkaar bevinden, bekij-ken we ook het verloop van de onderlinge afstanden. Dit om te controleren of botsing tussenverschillende UAVs vermeden wordt.

Figuur 4.21: Onderlinge afstand tussen UAVs

De UAVs komen op geen enkel moment gevaarlijk dicht bij elkaar in de buurt.

Simulatie toont aan dat het nieuwe algoritme, mits toevoeging van een snelheidsregelkring, instaat is om zowel obstakels te vermijden als formatie te herstellen en het te volgen trajectorie tehervatten.

Hoofdstuk 5. Conclusie 45

Hoofdstuk 5

Conclusie

5.1 Samenvatting

Reeds meer en meer worden onbemande voertuigen ingezet in opdrachten die te ’dull, dirtyand dangereous’ zijn voor menselijke tussenkomst. Dit is vooral van toepassing bij militairemissies, in civiele doeleinden zijn streven naar veiligheid, maar ook drukking van arbeidskosten gemakzucht de grootste drijfveren in onderzoek naar autonome voertuigen. Deze thesisstart met een overzicht te bieden hoe autonome systemen in de geschiedenis evolueerden enwelke praktische toepassingen op heden reeds bestaan.

In afgelopen jaren is interesse gegroeid om deze autonome voertuigen te laten samen werkenin groep. Niet enkel om tijd te besparen of efficientie van een opdracht te laten stijgen, ookom robuustheid te bieden aan het systeem. Deze thesis concentreert zich op een zwerm UAVsen in het specifiek op het behouden van een stijve formatie. Hiervoor is een cooperatieve stu-ring nodig die de relatieve posities van de UAVs controleert, maar ondertussen ook de globaleopdracht tot een goed einde brengt. In een tweede hoofdstuk bespreekt de thesis de verschil-lende methodes die zich hiertoe lenen, rekening houdend met de communicatiemogelijkheden,hiearchieen en architecturen binnen de zwerm. We besluiten dat een sturing steeds situatiege-richt is en moeilijk voor uiteenlopende toepassingen gebruikt kan worden.

Daarom werken we in een volgend hoofstuk een concrete situatie uit waarin een kleine forma-tie een offline berekend trajectorie volgt. We testen het gedragsgebaseerde sturingsalgoritmeop flexibiliteit ten opzichte van externe invloeden en zien in dat de grootste tekortkoming zichvoordoet bij onzekerheid van de omgeving.

Er wordt gezocht naar een mogelijkheid om in real-time op onverwachte veranderingen in deomgeving te reageren. Een toegevoegde regelaar voor het ontwijken van objecten wordt ge-combineerd met een snelheidsregelkring. Deze laatste zorgt ervoor dat de formatie opgelopenachterstand kan recupereren. Simulatie van dit nieuw algoritme zorgt voor positieve resulta-ten.

Hoofdstuk 5. Conclusie 46

5.2 Verder onderzoek

Bij het beschouwen van een groep onbemande voertuigen in het algemeen en UAVs in het spe-cifiek wordt veelal een sterk vereenvoudigd model opgesteld, zoals ook hier. De dynamica vande sturingsactuatoren en van de UAVs werd verwaarloosd en ruisloze metingen en sturingenwerden verondersteld. Rekening houden met deze levensechte imperfecties is een volgendestap in het uitbreiden van het vereenvoudigd model naar een complexer, maar waarheidsge-trouwer model.

Hoewel door gebruik te maken van gedragsgebaseerde sturing opschaling naar grotere for-maties gemakkelijker wordt, dient hier nog expliciet onderzoek naar gevoerd te worden. Bijhet verspreiden van informatie binnen een grote of sterk gespreide groep, dient rekening ge-houden te worden met communicatiebereik, -vertraging en ruis. Bovendien zijn UAVs nietbeperkt tot verplaatsingen in het horizontale vlak. De uitbreiding naar drie dimensies gaat ge-paard met een verdubbeling van de vrijheidsgraden en werkt een complexer systeem, en dusook complexere sturing, in de hand.

Bijlage A. MATLAB programma 47

Bijlage A

MATLAB programma

De implementatie van het origineel algoritme in een MATLAB programma.

1 %Wauthier Christophe Masterthesis 2008-2009

2 %Cooperative control of a UAV-swarm

3 %MATLAB Implementation of control algorithm

4 %3 agents Ai, center of mass C follows spiral S

5

6 clear all

7 close all

8 clc

9 global vc d dc duur b ∆ delay epsilon kp ki

10

11 tic %starts timer

12

13 vc=32; %UAV speed

14 d=3000; %desired inter agent distance

15 dc=d/sqrt(3); %desired distance agent - CM

16 duur=700; %simulation time

17

18 %declaration of spiral A

19 b=6000/2/pi;

20 ∆=0.25; %sample time

21 t=([0:∆:duur])'; %time vector

22 T=length(t); %length of time vector

23

24 %controller parameters

25 delay=1;

26 epsilon=30;

27 kp=5;

28 ki=0.0005;

29 w_max=0.08; %max turn rate of UAV's

30

31 %initial value of archimedean spiral S

32 S_xi=[0]; %polecoord angle

33 S_r=[0]; %polecoord radius

34 S_x=S_r*cos(S_xi); %absis

35 S_y=S_r*sin(S_xi); %ordinate

Bijlage A. MATLAB programma 48

36

37 %initial state of 3 agents and center of mass C

38 A_x=d*[0 1/2 -1/2]; %absis

39 A_y=dc*[1 -1/2 -1/2]; %sordinate

40 A_phi=[0 0 0]; %heading

41 C_x=mean(A_x); %absis of C

42 C_y=mean(A_y); %ordinate of C

43

44 w=[0 0 0]; %initial turn rate of agents

45 error=[0 0 0]; %error of desired heading vs real heading

46 e_path=[0]; %error of desired path vs real path

47 Ad_x=A_x; %initial desired position=real position

48 Ad_y=A_y;

49 e_j=[0 0 0]; %error in interagent distance

50 e_c=[0 0 0]; %error in distance between agent and desired position of C

51 Ad_phi=[0 0 0]; %initial desired heading

52

53 %start of algorithm after ∆ seconds flying with initial condiitios

54 for i=2:T

55 i %displays the evolution of time

56

57 %compute position of archimedean spiral = desired position of C

58 S_xi(i)=S_xi(i-1)+vc*∆/sqrt((b*S_xi(i-1))ˆ2+bˆ2);

59 S_r(i)=b*S_xi(i);

60 S_theta(i)=mod(S_xi(i),2*pi);

61 S_x(i)=S_r(i)*cos(S_xi(i));

62 S_y(i)=S_r(i)*sin(S_xi(i));

63

64 %compute real position of agents and C

65 A_x(i,:)=A_x(i-1,:)+vc*∆*cos(A_phi(i-1,:)+w(i-1)*∆/2);

66 A_y(i,:)=A_y(i-1,:)+vc*∆*sin(A_phi(i-1,:)+w(i-1)*∆/2);

67 C_x(i)=mean(A_x(i,:));

68 C_y(i)=mean(A_y(i,:));

69

70 %compute the error of the virtual agent to his path

71 e_path(i)=min(sqrt((C_x(i)-S_x).ˆ2+(C_y(i)-S_y).ˆ2));

72

73 %compute new turn rate for each agent

74 for k=1:3

75 %search closest point on the two circles = desired position

76 [Ad_x(i,k),Ad_y(i,k)]=snijpunt(A_x(i,k),A_y(i,k),...

77 A_x(i,mod(k,3)+1),A_y(i,mod(k,3)+1),S_x(i),S_y(i));

78

79 %calculate the errors and the corresponding desired heading

80 e_j(i,k)=sqrt((A_x(i,k)-A_x(i,mod(k,3)+1)).ˆ2+...

81 (A_y(i,k)-A_y(i,mod(k,3)+1)).ˆ2)-d;

82 e_c(i,k)=sqrt((A_x(i,k)-C_x(i)).ˆ2+...

83 (A_y(i,k)-C_y(i)).ˆ2)-dc;

84

85 if (e_j(i,k)>epsilon)

86 Ad_phi(i,k)=atan2((Ad_y(i,k)-A_y(i,k)),(Ad_x(i,k)-A_x(i,k)));

87 else Ad_phi(i,k)=atan2((Ad_y(i,k)-Ad_y(i-delay,k)),...

88 (Ad_x(i,k)-Ad_x(i-delay,k)));

Bijlage A. MATLAB programma 49

89 end

90

91 %apply the PI controller with constraints on turn rate

92 error_temp=mod(Ad_phi(i,k)-A_phi(i-1,k),2*pi);

93 if error_temp<pi

94 error(i,k)=error_temp;

95 else error(i,k)=error_temp-2*pi;

96 end

97

98 w_temp=kp*error(i,k)+ki*sum(error(:,k));

99 if abs(w_temp)<w_max

100 w(i,k)=w_temp;

101 else w(i,k)=sign(w_temp)*w_max;

102 end

103 A_phi(i,k)=A_phi(i-1,k)+∆*w(i,k);

104 end

105 end

106

107 %rms values of the errors

108 fout1=sqrt(mean(e_path.ˆ2));

109 fout2=mean(sqrt(mean(e_j.ˆ2)));

110

111 chrono=toc; %ends timer

1 %Calculates the position of p_id: the intersection of two circles

2

3 function [snij_x snij_y]=snijpunt(Ax1,Ay1,Ax2,Ay2,Sx,Sy)

4 global d dc

5

6 afst_A_S=norm([Ax1 Ay1]-[Sx Sy]);

7 if afst_A_S<d-dc

8 snij_x=2*Ax1-Sx;

9 snij_y=2*Ay1-Sy;

10 elseif afst_A_S>d+dc

11 snij_x=Sx;

12 snij_y=Sy;

13 else syms x y

14 [x y]=solve((x-Ax2)ˆ2+(y-Ay2)ˆ2-dˆ2,(x-Sx)ˆ2+(y-Sy)ˆ2-dcˆ2);

15 X=double(x);

16 Y=double(y);

17

18 afst_temp=sqrt((Ax1-X).ˆ2+(Ay1-Y).ˆ2);

19 [minim,pos]=min(afst_temp);

20 snij_x=X(pos);

21 snij_y=Y(pos);

22 end

23 end

Bijlage B. Simulink model 50

Bijlage B

Simulink model

Figuur B.1: De implementatie van het origineel algoritme in een Simulink model

Bijlage C. Uitgebreid Simulink model 51

Bijlage C

Uitgebreid Simulink model

Figuur C.1: De implementatie van het nieuw algoritme in een Simulink model

Bibliografie 52

Bibliografie

V. Adolfsson (2001). The State of the Art in Distributed Mobile Robotics. Master’s thesis, BlekingeInstitute of Technology.

B. D. Anderson, B. Fidan, C. Yu & D. van der Walle (2008). Uav formation control: Theory andapplication.

W. Cai, L. Weng, R. Zhang, Z. Zhang & Y. Song (2007). Virtual leader based formation con-trol of multiple unmanned ground vehicles (ugvs): Control design, simulation and real-timeexperiment. Advances in Cooperative Control and Optimization, pp. 221–230.

P. Chandler, M. Pachter, D. Swaroop, J. Fowler, J. Howlett, S. Rasmussen, C. Schumacher &K. Nygard (2002). Complexity in uav cooperative control. Proceedings of the American Controlconference, pp. 1831–1836.

J. Fax & R. Murray (2004). Information flow and cooperative control of vehicle formations.IEEE Transactions on Automatic control, 49:1465–1476.

F. Giulietti, M. Innocenti, M. Napolitano & L. Pollini (2005). Dynamic and control issues offormation flight. Aerospace Science and Technology, 9(1):65 – 71. ISSN 1270-9638.

O. Ilaya, C. Bill & M. Evans (2008). Control design for unmanned aerial vehicle swarming.Proceedings of the Institution of Mechanical Engineers, Part G: Journal of Aerospace Engineering,222:549–567.

P. Jones, B. Ludington, J. Reimann & G. Vachtsenavos (2007). Intelleligent control of unmannedaerial vehicles for improved autonomy. European Journal of Control, 13:320–333.

I. Kaminer, O. Yakimenko, V. Dobrokhodov, M. Lizarraga & A. Pascoal (2004). Cooperativecontrol of small uavs for naval applications.

D. Klein (2005). Controlled Collective Motion for Multivehicle Trajectory Tracking. Master’s thesis,University of Washington.

T. Lam, editor (2009). Aerial Vehicles. In-Tech.

K. Mathia, G. Lafferriere & T. Titensor (2007). Cooperative control of uav platoons - a prototype.Euro UAV 2007 Conference and Exhibition.

T. McGeer (1999). Laima: the first atlantic crossing by unmanned aircraft.

Bibliografie 53

A. Mitrache (2007). Unmanned Aerial Vehicle Control Design. Master’s thesis, University ofGhent.

R. Murray (2006). Recente research in cooperative control of multi-vehicle systems. Journal ofDynamic Systems, Measurement and Control.

J. Nino (2007). Model Identification of a Micro Air Vehicle. Master’s thesis, University of Ghent.

L. Parker (1998). Alliance: An architecture for fault tolerant multirobot cooperation. IEEETransactions on Robotics and Automation, 14:220–240.

M. Radu (2008). Unmanned Aerial Vehicles: Trajectory Tracking Control. Master’s thesis, Univer-sity of Ghent.

W. Ren & R. Beard (2005). Consensus seeking in multiagent systems under dynamically chan-ging interaction topologies. IEEE Transactions on Automatic Control, 50:665–661.

W. Ren, H. Chao, W. Bourgeous, N. Sorensen & Y.Chen (2008). Experimental validation ofconsensus algorithms for multivehichle cooperative control. IEEE Transactions on AutomaticControl, 16:745–752.

W. Ren & N. Sorensen (2008). Distributed coordination architecture for mulri-robot formationcontrol. Robotics and Autonomous Systems, 56:324–333.

D. Schoenwald (2000). Auvs: in space, air water and on the ground. IEEE Control SystemsMagazine, 20:15–18.

J. Shao, G. Xie & L. Wang (2007). Leader-following formation control of multiple mobile vehi-cles. IET Control Theory Applications, 1:545–552.

R. Skjetne, I. Ihle & T. Fossen (2003). Formation control by synchronising multiple maneuveringsystems.

D. Stipanovic, G. Inalhan, R. Teo & C. Tomlin (2004). Decentralized overlapping control of aformation of unmanned aerial vehicles. Automatica, 40:1285–1296.

D. Swaroop (1997). String stability of interconnected systems: an application to platooning inautomated highway systems.

K. Valavanis, editor (2007). Advances in Unmanned Aerial Vehicles: State of the Art and the Road toAutonomy. Springer.

R. Wise (2006). Uav control and guidance for autonomous cooperative tracking of a movingtarget.

V. Yatsenko, M. Hirsch & P. Pardalos (2007). Cooperative control of multiple agents and searchstrategy. Advances in Cooperative Control and Optimization, pp. 231–263.

C. Yu, J. Hendrickx, B. fidan, B. Anderson & V. Blondel (2007). Three and higher dimensionalautonomous formations: Rigidity, persistence and structural persistence. Automatica, 43:387–402.

Bibliografie 54

H. Yuan, V. Gottesman, M. Falash, Z. Qu, E. Pollak & J. Chunyu (2007). Cooperative forma-tion flying in autonomous unmanned air systems with application to training. Advances inCooperative Control and Optimization, pp. 203–219.