Sei sulla pagina 1di 79

` di Bologna

Alma Mater Studiorum Universita

SCUOLA DI INGEGNERIA E ARCHITETTURA


Corso di Laurea in Ingegneria dellAutomazione

TEORIA DEL CONSENSO E


APPLICAZIONE AL PROBLEMA DEL
COORDINAMENTO DEL MOTO DI
ROBOT

Tesi di Laurea in Controlli Automatici

Relatore:

Presentata da:

Chiar.mo Prof.

Luca Furieri

Lorenzo Marconi

II Sessione
Anno Accademico 2013-2014

A genuine leader is not a searcher for consensus,


but a molder of consensus.
- Martin Luther King, Jr.

Introduzione
Il sempre crescente numero di applicazioni di reti di sensori, robot cooperanti e formazioni di veicoli, ha fatto s` che le problematiche legate al coordinamento di gruppo
diventassero tra le pi`
u studiate nellambito della teoria dei controlli. La sfida principale in tali applicazioni `e quella di raggiungere un comportamento di gruppo prestabilito
utilizzando algoritmi decentralizzati e locali, piuttosto che dei controllori centralizzati
ai quali riferirsi. Molto simile al problema del coordinamento `e quello dellagreement,
o consensus: lobiettivo `e quello di portare variabili di interesse ad un valore comune.
Risolvendo tale problema, diventa possibile pensare ad un numero estremamente vasto di
applicazioni, spaziando ad esempio dallo studio dei comportamenti di gruppo nei branchi
e negli stormi di organismi viventi alla computazione distribuita o alla sorveglianza di
foreste per prevenire incendi. In questo lavoro, il focus applicativo `e posto sul controllo
di formazione di un network di veicoli, le cui traiettorie di riferimento vengono generate
utilizzando algoritmi locali di coordinamento.
La strategia che verr`a studiata ha una natura distribuita: non `e prevista la presenza
di un leader o di un coordinatore esterno di altra natura. Piuttosto, la formazione raggiunta `e ottenuta come conseguenza dellinterazione locale tra i singoli veicoli.

I sistemi dinamici, che possono essere di qualsiasi natura (biologica, fisica, ecc...)
vengono solitamente rappresentati mediante i cosiddetti diagrammi a blocchi: il sistema
`e cio`e raffigurato come un box che riceve delle variabili in ingresso e ne produce altre in
uscita. Tuttavia, nel momento in cui pensiamo ad un insieme di sistemi dinamici comunicanti ed interagenti tra di loro, si viene a creare una nuova struttura pi`
u complessa,
i

ii

INTRODUZIONE
chiamata rete di sistemi dinamici o semplicemente gruppo, in cui ogni sistema dinamico `e rappresentato da un nodo o agente, ed esistono dei collegamenti tra i vari nodi che
permettono ad un agente di interagire con i suoi vicini nella rete. Nellottica di una rete
di tal genere, assumono grande importanza i problemi di consenso e sincronizzazione. In
una rete di agenti, consensus indica il raggiungimento di un agreement relativamente ad
una certa quantit`a di interesse che dipende dallo stato di tutti gli agenti. Un algoritmo
(o protocollo) di consenso `e una legge di interazione che regola lo scambio di informazioni tra un agente ed i suoi vicini nella rete al fine di raggiungere un accordo complessivo.

Struttura e finalit`
a della tesi.
Lo scopo dellelaborato `e duplice. Da una parte si vuole fornire una trattazione teorica del problema del consenso e della sincronizzazione su sistemi ad una o pi`
u variabili
di stato. Dallaltra si vogliono utilizzare tali risultati teorici per unattivit`a in ambiente
Matlab/Simulink, con il fine applicativo di generare le traiettorie di riferimento per un
gruppo di quadrirotori in formazione. Alla stesura di questo elaborato `e stata affiancata
lattivit`a di laboratorio presso il Center for Research on Complex Automated Systems
(CASY-DEI Universit`a di Bologna).

Il capitolo 1 presenta tutti gli strumenti matematici e teorici che saranno ripresi e
sfruttati nei capitoli seguenti. In particolare, si introducono:
Teoria dei Grafi.
Forma e trasformazione di Jordan.
Il prodotto di Kronecker.
Formalizzazione del problema del Consenso.
Modelli nello spazio degli stati e cambi di variabile.

INTRODUZIONE
Nel capitolo 2, viene mostrato il comportamento di una rete di integratori connessi
tra di loro e viene analizzato sotto quali condizioni il consenso viene raggiunto. Per
verificare i risultati noti in letteratura, sono state svolte simulazioni in ambiente Matlab
Simulink: i casi presi in esame comprendevano sia condizioni di topologie di comunicazioni fisse che casi di topologie tempo varianti.

Il capitolo 3 `e dedicato ai sistemi multivariabile e alla metodologia che permette di


ottenere la loro sincronizzazione. Utilizzando gli strumenti matematici introdotti nel
capitolo 1, si sviluppa ulteriormente la teoria mostrando formalmente la validit`a delle
procedure utilizzate. Il capitolo `e concluso dallapplicazione al caso di un network di
oscillatori armonici e da una simulazione dimostrativa su Matlab/Simulink.

Il capitolo 4 entra nel dettaglio del modello simulativo per la generazione di traiettorie, che serviranno come generatori di riferimento per un gruppo di quadrirotori. Sar`a
possibile impostare raggio e coordinate del centro della traiettoria target, simulando un
tipico scenario di loitering di un sistema multi-robot. La teoria del consenso sia su sistemi integratori che oscillatori sar`a sfruttata per ottenere questo risultato.

Il capitolo 5 descrive brevemente il setup di laboratorio utilizzato per realizzare il


sistema di coordinamento di un gruppo di quadrirotori CrazyFlie, implementando a tale
scopo il modello simulativo ottenuto nel capitolo 4. Verranno mostrati i risultati della
prova sperimentale sotto forma di plot delle grandezze di interesse.

iii

iv

INTRODUZIONE

Indice
Introduzione

1 Teoria e strumenti matematici.

1.1

Teoria dei Grafi: alcune definizioni. . . . . . . . . . . . . . . . . . . . . .

1.1.1

Descrizione tramite matrici rappresentative. . . . . . . . . . . . .

1.1.2

Grafi variabili nel tempo. . . . . . . . . . . . . . . . . . . . . . . .

1.1.3

Componenti indipendenti di un grafo. . . . . . . . . . . . . . . . .

Il prodotto di Kronecker. . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.1

Propriet`a del prodotto di Kronecker . . . . . . . . . . . . . . . . .

1.3

Modelli nello spazio degli stati. . . . . . . . . . . . . . . . . . . . . . . .

1.4

Rappresentazioni equivalenti e cambio di variabile. . . . . . . . . . . . . .

1.4.1

Matrici diagonali e trasformazione di Jordan. . . . . . . . . . . . .

1.4.2

Forma canonica di Jordan. . . . . . . . . . . . . . . . . . . . . . .

10

La definizione di consenso . . . . . . . . . . . . . . . . . . . . . . . . . .

11

1.2

1.5

2 Lalgoritmo di consenso e simulazioni su sistemi Integratori.


2.1

13

Il protocollo di consenso. . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.1.1

Analisi spettrale della Laplaciana. . . . . . . . . . . . . . . . . . .

14

Altri modi di analizzare la convergenza degli algoritmi di consenso. . . .

16

2.2.1

Analisi di stabilit`a tramite funzioni di Lyapunov. . . . . . . . . .

16

2.2.2

La propriet`a di contrazione

. . . . . . . . . . . . . . . . . . . . .

19

2.3

Il valore di convergenza: laverage-consensus problem. . . . . . . . . . . .

20

2.4

Simulazioni su sistemi integratori. . . . . . . . . . . . . . . . . . . . . . .

23

2.2

vi

INDICE
2.4.1

Simulazione 1: una prima applicazione. . . . . . . . . . . . . . . .

23

2.4.2

Simulazione 2: Grafi sconnessi variabili nel tempo. . . . . . . . . .

26

2.4.3

Simulazione 3: Grafi complessi con componenti residuali. . . . . .

30

3 Sistemi Multiagente Multivariabile.

33

3.1

Loscillatore lineare come sistema. . . . . . . . . . . . . . . . . . . . . . .

34

3.2

Analisi del problema multivariabile. . . . . . . . . . . . . . . . . . . . . .

35

3.2.1

Loutput consensus . . . . . . . . . . . . . . . . . . . . . . . . . .

36

La convergenza del protocollo di consenso su sistemi multivariabile. . . .

37

3.3.1

Trattazione attraverso una qualunque Trasformazione T su L .

38

3.3.2

Sintesi della matrice K . . . . . . . . . . . . . . . . . . . . . . . .

41

3.4

Trattazione attraverso trasformata di Jordan TJ . . . . . . . . . . . . . . .

43

3.5

Analisi attraverso trasformata di Jordan su un caso specifico. . . . . . . .

44

3.5.1

47

3.3

Simulazione: output consensus su 3 oscillatori armonici. . . . . . .

4 Generazione di traiettorie circolari per il loitering di pi`


u robot.
4.1

49

Consenso degli oscillatori. . . . . . . . . . . . . . . . . . . . . . . . . . .

51

4.1.1

Sfasamento degli agenti. . . . . . . . . . . . . . . . . . . . . . . .

53

4.2

Consenso degli integratori. . . . . . . . . . . . . . . . . . . . . . . . . . .

54

4.3

Simulazione della generazione di traiettorie. . . . . . . . . . . . . . . . .

55

5 Il setup di laboratorio e lo schema della Ground Station.

57

5.1

La Ground Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

5.2

I risultati di laboratorio. . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

Conclusioni

65

Bibliografia

67

Elenco delle figure


2.1

Schema Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

2.2

Grafo Connesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

2.3

Grafo Sconnesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

2.4

Modello Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

2.5

Risultato della simulazione . . . . . . . . . . . . . . . . . . . . . . . . . .

29

2.6

Risultato della simulazione. . . . . . . . . . . . . . . . . . . . . . . . . .

31

3.1

Risultato della simulazione . . . . . . . . . . . . . . . . . . . . . . . . . .

48

4.1

Modello: alto livello. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

4.2

Traiettorie prima dello sfasamento . . . . . . . . . . . . . . . . . . . . . .

54

4.3

Traiettorie dopo lo sfasamento. . . . . . . . . . . . . . . . . . . . . . . .

55

4.4

Traiettorie X e Y con cambio di richiesta sul centro ogni 15 secondi. . . .

56

5.1

Quadrirotori CrazyFlie. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

5.2

I 3 marker e la struttura in carbonio. . . . . . . . . . . . . . . . . . . . .

59

5.3

Optitrack. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

5.4

Periferica di trasmissione dati al nano-quad. . . . . . . . . . . . . . . . .

60

5.5

Schema della Ground Station . . . . . . . . . . . . . . . . . . . . . . . .

61

5.6

Riferimento per la X, prima e dopo sfasamento. . . . . . . . . . . . . . .

63

5.7

Riferimento per la Y, prima e dopo sfasamento. . . . . . . . . . . . . . .

63

5.8

Tracking della traiettoria di riferimento per un quadrirotore. . . . . . . .

64

vii

Capitolo 1
Teoria e strumenti matematici.
Nello studio di problemi di coordinamento e sincronizzazione di Sistemi Multiagente
(MAS), la comunicazione tra agenti assume un ruolo fondamentale. Il sistema dinamico
complessivo infatti, `e il risultato dellinterconnessione di un certo numero di agenti, che
comunicano tra loro secondo una precisa topologia di comunicazione.
Supponiamo dunque che pi`
u sistemi interagiscano luno con laltro tramite una rete di
comunicazione o una rete di sensing, oppure con una combinazione di entrambe: appare
naturale modellare queste interazioni tra i sistemi mediante grafi diretti o indiretti.

1.1

Teoria dei Grafi: alcune definizioni.

Un grafo non diretto G di ordine n `e una coppia (, ), dove = {1, . . . , n} `e un


insieme di nodi finito e non vuoto, mentre  `e un insieme di archi corrispondenti
a coppie non ordinate di nodi. Stabilita la coppia (, ), il grafo non diretto G = (, )
risulta completamente definito. Se (i, j)  oppure (j, i) , significa che gli agenti i e
j possono scambiarsi vicendevolmente informazioni. Un esempio di grafo non diretto `e
il seguente

1. Teoria e strumenti matematici.

dove = {1, 2, 3, 4} e  = {(1, 2), (2, 3), (3, 4)}. Si noti che le coppie di nodi non sono
ordinate.

Si parla invece di grafo diretto nel caso in cui  sia formato da coppie ordinate di
nodi. In tal caso, la presenza dellarco (i, j)  denota che il sistema i pu`o ricevere
informazioni dal sistema j, ma non viceversa. Quello che segue `e un esempio di grafo
diretto.
1

dove = {1, 2, 3, 4} e  = {(2, 1), (3, 2), (3, 4)} e le coppie di nodi sono ordinate.
Archi che collegano un nodo con se stesso non sono ammessi, cio`e i , (i, i)
/  . Considereremo nel resto della tesi che G sia un grafo diretto, se non esplicitato altrimenti.

In un grafo diretto, `e possibile introdurre il concetto di percorso diretto, inteso come


una sequenza ordinata di m archi del tipo [(i1 , i2 ), (i2 , i3 ), ..., (im1 , im )]. Intenderemo
per ciclo un percorso diretto che comincia e termina sullo stesso nodo.

Definizione 1 (Grafo connesso semplicemente e fortemente.). Un grafo diretto si dice


connesso se esiste un nodo dal quale `e possibile raggiungere tutti gli altri nodi attraverso
un percorso diretto: tale nodo viene detto centroide. Un grafo i cui nodi sono tutti dei
centroidi viene detto fortemente connesso.

1.1 Teoria dei Grafi: alcune definizioni.


Definizione 2 (Grafo connesso debolmente.). Un grafo diretto si dice debolmente connesso se il grafo non diretto sottostante risulta connesso.

1.1.1

Descrizione tramite matrici rappresentative.

` opportuno trovare una descrizione algebrica univoca per rappresentare i nodi


E
e gli archi di un dato grafo diretto. A tale scopo introduciamo le seguenti matrici
rappresentative:

Matrice di Adiacenza A Rnn . Lelemento aij `e una quantit`a positiva se e


solo se (j, i) , altrimenti ha valore nullo. Considereremo solamente grafi non
pesati, ovvero tale quantit`a positiva sar`a sempre uguale a 1.
P
Definiamo grado in entrata del nodo i come nj=1 aij e grado in uscita del nodo i
P
P
P
come nj=1 aji : il nodo i `e bilanciato se nj=1 aij = nj=1 aji .
Matrice Laplaciana diretta L Rnn . Gli elementi presenti sulla diagonale
P
sono definiti come lii = nj=1,j6=i aij , mentre per gli altri elementi vale lij = aij .

La propriet`
a di connessione.
Definite le matrici rappresentative, `e possibile stabilire se un grafo diretto `e connesso
attraverso lanalisi degli autovalori della matrice Laplaciana associate a tale grafo. Vale
infatti il seguente teorema:

Teorema 1. Supponiamo che G = (, ) sia un grafo diretto tale che ogni elemento
della matrice di adiacenza A associata appartenga allinsieme {0} {, +} per un
certo > 0 . Allora G `e connesso se e solo se il secondo autovalore della Laplaciana
associata L ha parte reale positiva, cio`e se <(2 (L)) 0, dove per convenzione il secondo
autovalore di L `e quello con la seconda parte reale pi`
u piccola.

1. Teoria e strumenti matematici.

1.1.2

Grafi variabili nel tempo.

Le definizioni finora date sono facilmente estendibili a grafi con topologia di connessione variabile nel tempo. Anche le matrici rappresentative A(t), L(t) saranno dunque
dipendenti dal tempo: questa osservazione ci porta a considerare la matrice di adiacenza
R t+T
media nel periodo T, definita come A(t)avg = T1 t A( )d .
Definizione 3. Il grafo GT avg (t) indotto da AT (t)avg si dice uniformemente connesso se
t R, {i , i centroide di GT (t)}, cio`e se GT avg (t) `e connesso per ogni t. Si pu`
o
verificare la connessione di GT avg (t) allistante t sfruttando il Teorema 1 .

1.1.3

Componenti indipendenti di un grafo.

` possibile definire alcune propriet`a di interesse sui sottografi di un grafo complessivo


E
G(t); diamo quindi la definizione di sottografo per poi enunciare queste propriet`a:
Definizione 4. Un sottografo di G `e una coppia (s , s ) tale che s e s (s s ).
Definizione 5 (Componente fortemente connessa di un grafo.). Al tempo t una iSCC
di un grafo diretto G(t) = (, ) `e un suo sottografo G(t) = (s , s ) che ha la propriet`
a di
essere massimo, fortemente connesso e tale che i \s , (i, j)
/ (t) con j s .
Ci`o significa che non esiste nessun arco con coda in un nodo di \s e testa in un
nodo di s ; ovvero, per quanto ci riguarda, nessun sistema dinamico rappresentato da un
nodo di s `e influenzato da qualunque altro sistema dinamico rappresentato da un nodo
allesterno di s . Questo giustifica laggettivo indipendente per un iSCC.

Definizione 6 (Componente indipendente connessa semplicemente). Una componente


indipendente connessa (iCC) di un grafo diretto `e un suo sottografo che ha la propriet`
a
di essere massimo e connesso, ed `e tale che non esiste un arco di  con coda in un
nodo non appartenente a s e testa in s .
Sia adesso c 1 il numero di iCC di un grafo diretto. Possiamo suddividere lintero
grafo in c + 1 sottografi: i primi c sono le iCC stesse, lultimo `e il sottografo composto

1.2 Il prodotto di Kronecker.

da quei nodi (se esistono), chiamati residui, che possono avere degli archi entranti provenienti da nodi di qualcuna delle iCC, ma non degli archi uscenti diretti a nodi delle
iCC. Tale grafo viene detto grafo residuo.

Un ulteriore importante risultato di nostro interesse `e il seguente:

Teorema 2. Dato un grafo diretto G(t) = (, ), la dimensione dellautospazio relativo


allautovalore 0 della matrice Laplaciana L(t) associata a tale grafo, i.e. dim[Ker(L(t)],
`e pari al numero di iSCC (o analogamente iCC) che compongono il grafo.

1.2

Il prodotto di Kronecker.

In matematica, nel campo dellalgebra lineare, il prodotto di Kronecker, indicato con


, `e una operazione tra due matrici di dimensioni arbitrarie, sempre applicabile.
Se A `e una matrice m n e B una matrice p q, allora il loro prodotto di Kronecker
`e una matrice definita a blocchi nel modo seguente:

a B ... a1n B
11

A B = ...
...
...

am1 B ... amn B

cio`e, esplicitando ogni termine:

1. Teoria e strumenti matematici.

a b
a11 b11
11 11

a11 b21 a11 b22

...
...

a11 bp1 a11 bp2

...
...
AB =

...
...

am1 b11 am1 b11

am1 b21 am1 b22

...
...

am1 bp1 am1 bp2

1.2.1

... a11 b1q

... ... a1n b11

... a11 b2q

... ... a1n b21

...

... ...

...

...

a1n b12

... a1n b1q

a1n b22

...

...

...

a1n bp2

...

... a11 bpq

... ... a1n bp1

...

...

... ...

...

...

...

...

...

... ...

...

...

...

... am1 b1q ... ... amn b11 amn b12 ...
... am1 b2q ... ... amn b21 amn b22 ...
...

...

... ...

...

...

...

... am1 bpq ... ... amn bp1 amn bp2 ...

a1n b2q

...

a1n bpq

...

...

amn b1q

amn b2q

...

amn bpq

Propriet`
a del prodotto di Kronecker

Bilinearit`
a e associativit`
a
Il prodotto di Kronecker `e un caso speciale di prodotto tensoriale, dunque `e bilineare
e associativo:
A (B + C) = A B + A C.
(A + B) C = A C + B C.
(kA) B = A (kB) = k(A B).
(A B) C = A (B C).
Tuttavia, questo prodotto non `e commutativo.
Prodotto misto
Se A, B, C, D sono matrici tali che esiste il prodotto righe per colonne tra A e C e
tra B e D, allora esiste anche (A B)(C D) e vale che:

(A B)(C D) = (AC) (BD)

1.3 Modelli nello spazio degli stati.

Ne segue che (A B) `e invertibile se e solo se lo sono A e B e linversa `e data da


(A B)1 = A1 B 1
Spettro
Siano A e B matrici quadrate di ordine rispettivamente n e q, e siano 1 , ..., n gli
autovalori di A, 1 , ..., q quelli di B. Allora gli autovalori di A B sono tutti quelli della
forma:

i j ,

i = 1, ..., n; j = 1, ..., q.

Ne seguono le seguenti propriet`a su determinante e traccia:


tr(A B) = tr(A)tr(B).
det(A B) = det(A)q det(B)n

1.3

Modelli nello spazio degli stati.

` possibile rappresentare ogni sistema dinamico lineare d-dimensionale tramite il


E
cosiddetto modello nello spazio degli stati.. Esso `e costituito dalle equazioni:

x(t)

= Ax(t) + Bu(t)

y(t) = Cx(t) + Du(t)


dove
x(t) = col[x1 (t), ..., xd (t)]
`e il vettore contenente le d variabili di stato del sistema,

y(t) = col[y1 (t), ..., ym (t)]


`e il vettore contenente le m uscite,

u(t) = col[u1 (t), ..., ud (t)]

(1.1)

1. Teoria e strumenti matematici.


`e il vettore contenente i d ingressi di controllo, e le matrici A, B, C, D sono chiamate
matrici di sistema.

1.4

Rappresentazioni equivalenti e cambio di variabile.

La scelta del modello che rappresenta il comportamento del nostro sistema non `e
affatto univoca. Consideriamo infatti il modello 1.1 : se prendiamo una trasformazione
lineare T Rdd biunivoca e quindi non singolare, possiamo effettuare un cambio di
variabili definendo il vettore di stato z come

z(t) = T x(t).

(1.2)

Visto che T `e invertibile, tra x e z risulta una corrispondenza biunivoca:

x(t) = T 1 z(t).

(1.3)

Sostituendo la 1.3 nelle equazioni in 1.1, dopo aver moltiplicato a sinistra per T si
ottiene il modello:

z (t) = A0 z(t) + B 0 u(t)

(1.4)

y(t) = C 0 z(t) + D0 u(t)


con

A0 = T AT 1 ,

B 0 = T B,

C 0 = CT 1 ,

D0 = D.

(1.5)

Questo sistema dinamico `e equivalente a quello descritto dalle equazioni 1.1 nel senso
che, per un ingresso u(t), t t0 , e due stati iniziali xt0 e zt0 correlati dalla condizione
zt0 = T xt0 , le traiettorie dello stato in 1.1 e in 1.4 sono effettivamente legati dalla condizione 1.3 e i movimenti delluscita sono identici. Tutto ci`o `e semplicemente verificabile
per sostituzione. Ne ricaviamo che le quadruple di matrici (A, B, C, D) e (A, B, C,

1.4 Rappresentazioni equivalenti e cambio di variabile.


D) sono due maniere differenti di descrivere un medesimo oggetto fisico.

Nel seguito avremo bisogno di descrivere in forma compatta un cambio di variabili


su un set di n sistemi ognuno dei quali ha d variabili di stato: sfrutteremo quindi lo
strumento del prodotto di Kronecker. Se w = [w1 , ..., wn ] `e il vettore dei vettori di stato
d-dimensionali di ogni sistema (wi Rd ) e vogliamo applicare il cambio di coordinate T ,
calcoleremo dunque:
z = (T 1 Id )w

1.4.1

Matrici diagonali e trasformazione di Jordan.

Nel problema del consenso risulta utile effettuare un cambio di variabili sugli stati
per portare la matrice Laplaciana che descrive le connessioni tra i sistemi in una forma
pi`
u comoda. In particolare ci interessa ottenere una matrice diagonale, in modo che le
equazioni che descrivono levoluzione di ogni sistema dipendano soltanto dalle variabili di
stato del sistema stesso e non da quelle dei sistemi suoi vicini nel grafo di comunicazione.
Teorema 3 (Diagonalizzabilit`a di una matrice). Una matrice A si dice diagonalizzabile
se e solo se V, , = V 1 AV , dove V `e una opportuna matrice invertibile formata
da autovettori di A, mentre `e una matrice diagonale. In tal caso A e sono matrici
simili, e cio`e hanno:
Stesso determinante.
Stessa traccia.
Stesso rango.
Stessi autovalori.
Purtroppo per`o non tutte le matrici sono diagonalizzabili. Prendiamo ad esempio la
matrice Laplaciana

2 1 1

L= 0
1 1

1 0
1

10

1. Teoria e strumenti matematici.

associata al semplice grafo


1

Dal momento che lautospazio relativo al suo autovalore = 2 ha dimensione 1 nonostante la corrispondente molteplicit`a aritmetica sia pari a 2, non `e possibile trovare
una matrice V formata di autovettori di L che abbia rango pari a 3. Non esiste quindi
una matrice diagonale simile ad L.

Introduciamo quindi un nuovo strumento matematico che ci permetta di effettuare


un cambio di variabili efficace anche in presenza di Laplaciane non diagonalizzabili: la
trasformazione in forma canonica di Jordan.

1.4.2

Forma canonica di Jordan.

In algebra lineare, la forma canonica di Jordan di una matrice quadrata A definisce


una matrice triangolare J simile ad A che ha una struttura il pi`
u possibile vicina ad una
matrice diagonale. La matrice `e diagonale se e solo se A `e diagonalizzabile, altrimenti `e
divisa in blocchi detti blocchi di Jordan.

Una matrice in forma di Jordan `e una matrice diagonale a blocchi del tipo

J1
0

... ...

J =

0
Jk
dove Ji `e il blocco di Jordan relativo allautovalore i , definito come

1.5 La definizione di consenso

11

i 1

Ji =

0
...
...
...
...

...

0 .

Esso contiene cio`e sulla diagonale il valore i ed il valore 1 in ogni posizione (i, i + 1).
Notiamo che qualora tutti i blocchi di Jordan abbiano dimensione unitaria, la matrice
in forma canonica di Jordan `e diagonale.

Il risultato che ci interessa `e il seguente: `e sempre possibile trovare una matrice L


in forma canonica di Jordan simile a L tale che TJ le cui colonne sono autovettori o
= T 1 LTJ , come vedremo in 3.4.
autovettori generalizzati di L per cui vale L
J

1.5

La definizione di consenso

Si considera il problema di coordinare tra di loro n sistemi omogenei appartenenti ad


una rete, in grado di scambiarsi informazioni secondo una topologia che pu`o efficacemente
essere descritta da un grafo di comunicazione G(t). Mostreremo nel capitolo 2 che sotto
certe ipotesi sia per quanto riguarda la topologia della rete che linformazione scambiata
tra gli agenti, le variabili di stato dei sistemi convergono asintoticamente ad un valore
comune.
Consideriamo n sistemi lineari, per ognuno dei quali le variabili di stato variano
secondo lequazione

x k = Axk + Buk , k {1, ..., n}


con x k Rp e uk Rm .

(1.6)

12

1. Teoria e strumenti matematici.


Si dice che il consenso viene raggiunto se, in presenza di un opportuno ingresso di
controllo, le variabili di stato dei diversi sistemi convergono ad un valore comune, cio`e se
i {1, ..., n}, j {1, ..., n} lim (xi (t) xj (t)) = 0.
t>+

(1.7)

Raggiungere il consenso pu`o essere considerato quindi un problema di convergenza,


dove gli stati di equilibrio devono essere tutti valori coincidenti e la stabilit`a deve essere
di tipo attrattivo.

Ci sono diversi strumenti utilizzabili per lanalisi del problema: quello a cui siamo
pi`
u interessati `e lanalisi delle propriet`a spettrali delle matrici associate al grafo di comunicazione del sistema. Altri metodi di analisi, come vedremo nel capitolo 2, si basano
sul concetto di funzione di Lyapunov.

Capitolo 2
Lalgoritmo di consenso e
simulazioni su sistemi Integratori.
Abbiamo definito in 1.5 il problema del consenso su sistemi dinamici; siamo adesso
interessati ad illustrare quale protocollo, basato sulla topologia di comunicazione, permetta di generare un ingresso di controllo che porti alla convergenza dei sistemi su un
valore comune.

2.1

Il protocollo di consenso.

Consideriamo il caso di n sistemi integratori connessi tra di loro (matrice di sistema


A = 0 nel modello nello spazio degli stati), la cui topologia di comunicazione `e descitta
dal grafo G(t): per semplciit`a, consideriamo il caso di grafi non pesati in cui akl = 1 se
esiste un arco da l a k, altrimenti akl = 0.

Ciascuno degli n sistemi `e descritto dalla dinamica:

x k = uk ,
dove xk `e lo stato del sistema e uk `e lingresso di controllo.
Se definiamo tale ingresso come:
13

(2.1)

14

2. Lalgoritmo di consenso e simulazioni su sistemi Integratori.

uk =

n
X

aki (xi xk ) =

i=1

n
X

lki xi ,

(2.2)

i=1

dove lki `e lelemento ki della matrice Laplaciana associata al grafo G, abbiamo applicato quello che in letteratura `e chiamato protocollo di consenso. Tale azione di controllo
dipende dalla differenza relativa tra le variabili di stato (termini del tipo xi xk ) di
agenti che sono effettivamente comunicanti (contributo degli elementi aki oppure lki ).

In definitiva, se applichiamo ad ogni sistema il protocollo di consenso, possiamo


scrivere in forma vettoriale che:

x = Lx

(2.3)

dove
x = col(x1 , x2 , ..., xn ).
La soluzione nel tempo dellequazione 2.3, `e data da

x(t) = eLt x0

(2.4)

dove x(0) = x0 Rn `e il valore iniziale degli n integratori.

2.1.1

Analisi spettrale della Laplaciana.

Verifichiamo adesso che lalgoritmo di consenso sopra descritto porta alla convergenza
degli stati su valori coincidenti, attraverso lanalisi spettrale della matrice laplaciana L
supposta per il momento indipendente dal tempo. Vale:
0 = 0 `
e autovalore di L. Dal momento che la somma degli elementi su ogni
riga `e nulla per definizione, il determinante `e sicuramente nullo, cio`e rank(L) < n.
Visto che dim(Ker(L)) = n rank(L), ne deriva che la dimensione dellautospazio
relativo allautovalore 0 `e non nulla, quindi 0 `e autovalore.
Visto che L1n = 0n , ne ricaviamo subito che 1n `e autovettore destro di L.

2.1 Il protocollo di consenso.

15

L`
e una matrice con autovalori a parte reale non negativa.
Nel caso di grafo non diretto, si pu`o dimostrare che gli autovalori sono reali non
negativi. Per provarlo, occorre introdurre una definizione:
Definizione 7. Si definisce Laplaciana dellarco (i, j) la matrice L(i,j) che consiste
dei valori non nulli relativi al solo arco (i, j). Se larco `e ad esempio (1, 2), allora

1 1 0 ... 0

1 1 0 ... 0

1 1

[zeri]
L(1,2) = 0
0 0 ... 0 =

1 1

... ... ... ... ...

0
0 0 ... 0
dove con si indica la somma di Kronecker. Si pu`o quindi scrivere che
L=

L(i,j)

(i,j)

Notando che



1
1 

= 1 1
1 1
1
1

Possiamo dire che

xT L(1,2) x = x1 x2


 x1
1 1 = (x1 x2 )2
1
x2
1

ed arrivare alla conclusione che


xT Lx = xT (

(i,j)

L(i,j) )x =

(xi xj )2

(i,j)

dimostrando cos` che xT Lx `e una forma quadratica e L `e quindi semidefinita positiva per definizione (ricordiamo che una matrice semidefinita positiva ha autovalori
reali non negativi).

16

2. Lalgoritmo di consenso e simulazioni su sistemi Integratori.


Nel caso che il grafo sia invece diretto, `e necessario sfruttare il teorema dei cerchi di
Greshgorin per dimostrare che tutti gli autovalori, generalmente complessi, hanno
parte reale non negativa.
Se consideriamo lequazione 2.3 e i risultati derivanti dallanalisi spettrale appena
effettuata, ci rendiamo conto che kn = col(k, ..., k)), k R, `e uno stato di equilibrio
per ogni k R: se ad un certo istante t si ha che x(t ) = kn vale infatti che:
x(t
) = Lkn = kL1n = 0n .

(2.5)

Dal momento che ogni vettore del tipo kn rappresenta un vettore di stati che hanno
raggiunto il consenso ( tutti gli stati hanno lo stesso valore k), ne deduciamo che tutti
gli stati di consenso sono anche possibili stati di equilibrio.

Resta da capire se gli stati di consenso sono stati di equilibro asintoticamente


stabili. Abbiamo mostrato che la laplaciana L ha autovalori a parte reale non negativa
e ad ogni autovalore di L, corrisponde lautovalore di L. Dunque gli autovalori
della matrice L, che governa levoluzione del sistema, hanno sicuramente parte reale
non positiva e sappiamo dalla teoria dei controlli che ci`o corrisponde a stabilit`a attrattiva.

2.2

Altri modi di analizzare la convergenza degli algoritmi di consenso.

Effettuare unanalisi spettrale della matrice Laplaciana non `e lunico approccio che
possiamo seguire per analizzare la convergenza dellequazione 2.3 sugli stati di consenso.
Altri approcci si basano sul trovare opportune funzioni di Lyapunov che ci garantiscano
la stabilit`a esponenziale, con alcuni vantaggi derivanti quali una descrizione qualitativa
pi`
u comprensibile del comportamento dei sistemi.

2.2.1

Analisi di stabilit`
a tramite funzioni di Lyapunov.

Introduciamo innanzitutto il concetto di funzione di Lyapunov.

2.2 Altri modi di analizzare la convergenza degli algoritmi di consenso.

17

Funzioni di Lyapunov e sistemi dinamici.


Consideriamo il sistema lineare omogeneo tempo continuo

x(t)

= Ax(t),

x Rn

(2.6)

Associamo a questo sistema dinamico la funzione quadratica

V (x) = xT P x

(2.7)

dove P `e definita simmetrica e positiva. Questa funzione V `e continua ed ha le derivate parziali prime continue. Perci`o, dal momento che P `e definita positiva, lorigine
`e lunico punto di minimo di V . Dunque, una forma quadratica definita positiva come
questa `e una possibile candidata funzione di Lyapunov.

Rimane da determinare come V (x) sia influenzato dalle dinamiche del sistema. Si ha
d
V (x) = xT P x
dt
= x T P x + xT P x
T

(2.8)

= x A P x + x P Ax
= xT (AT P + P A)x
Pertanto, definendo la matrice
Q = AT P + P A

(2.9)

V (x) = xT Qx

(2.10)

si ha

La funzione V (x) `e nuovamente una forma quadratica e V sar`a una funzione di Lyapunov se la matrice Q `e semidefinita positiva. Infatti, se Q `e semidefinita positiva si pu`o
affermare che il sistema `e asintoticamente stabile e converge cio`e con velocit`a esponenziale.

18

2. Lalgoritmo di consenso e simulazioni su sistemi Integratori.

Nel caso del protocollo di consenso:

x(t)

= Lx(t), x Rn
la convergenza pu`o essere verificata considerando la funzione candidata di Lyapunov
xT (t)x(t)
=
V (x, t) =
2

Pn

i=1

x2i

(2.11)

Risulta che
x T x + xT x
xT LT x xT Lx
xT (LT + L)x
V (x, t) =
=
=
.
2
2
2

(2.12)

Nel caso in cui il grafo associato ad L sia non diretto, L risulta essere simmetrica
e dunque vale

V (x, t) = xT Lx.

(2.13)

Dal momento che L `e semidefinita positiva, le traiettorie degli stati convergono ad


uno dei valori per cui V (x, t) = 0: essendo la somma degli elementi di ogni riga di una
Laplaciana nulla, vale che

{x Rn | V (x, t) = xT Lx = 0} {1n | R}

(2.14)

ovvero, linsieme di stati di consenso corrisponde allinsieme di stati di equilibrio attrattivo, come volevamo mostrare.

Nel caso che il grafo sia invece diretto, continua a valere la 2.12, ma non pi`
u la 2.13.
Daltra parte, sotto lipotesi di un grafo diretto fortemente connesso, oppure debolmente
connesso e bilanciato, vale che

Ker(L + LT ) = Ker(L) = {1n | R}

(2.15)

2.2 Altri modi di analizzare la convergenza degli algoritmi di consenso.

19

e dunque abbiamo ancora che la funzione di Lyapunov 2.11 garantisce la convergenza


allinsieme di consenso.

Nel prossimo paragrafo introduciamo una nuova possibile candidata di Lyapunov.

2.2.2

La propriet`
a di contrazione

Un modo piuttosto intuitivo di catturare le propriet`a di convergenza di 2.3, `e costruito


su unanalisi dellinterazione elementare, che ricordiamo essere:

x k = akl (xl xk ).
Essa si basa sul fatto che ogni sistema xk varia proporzionalmente alla distanza
che corre tra lo stato di ogni sistema comunicante ed esso stesso, cio`e alla quantit`a
xl xk , l comunicante. In altre parole, ogni stato si muove sempre in direzione degli
altri stati collegati nel grafo di comunicazione. Varr`a dunque che min{x1 , ..., xn } non pu`o
decrescere e max{x1 , ..., xn } non pu`o crescere. Possiamo dunque introdurre la funzione
di Lyapunov

V (x) = max{x1 , ..., xn } min{x1 , ..., xn }

(2.16)

che `e definita positiva sul set degli stati di consenso {x Rn : x1 = ... = xn }.


Utilizzando questa funzione di Lyapunov, sempre decrescente, siamo in grado di assicurare la convergenza sotto unassunzione piuttosto debole di connessione su intervalli
di tempo, come definito dal seguente teorema (del quale omettiamo la dimostrazione).
Teorema 4. Si consideri il sistema lineare

x = L(t)x
Si assuma che L(t) sia una funzione limitata e quasi-continua nel tempo. Si assuma
inoltre che L(t) sia Metzler con somme di righe nulle. Se esiste un indice k {1, ..., n},

20

2. Lalgoritmo di consenso e simulazioni su sistemi Integratori.


un valore di soglia > 0 e un periodo di tempo T > 0 tale che per ogni t R il grafo
medio associato:
Z

t+T

A(s)ds
t

ha la propriet`a che tutti i nodi possono essere raggiunti dal nodo k (ed `e cio`e connesso), allora il set degli stati di consenso `e uniformemente ed esponenzialmente stabile.
In particolare, tutte le componenti di ogni soluzione (t) del sistema lineare considerato
convergono a un valore comune per t .
La funzione di Lyapunov di cui si `e parlato in questa sottosezione permette di
dimostrare il teorema.

2.3

Il valore di convergenza: laverage-consensus problem.

Abbiamo verificato che il protocollo di consenso garantisce convergenza: ci chiediamo


adesso quale sia il valore di consenso raggiunto dagli agenti. In particolare, apparirebbe
naturale che tutti i sistemi convergessero su
n

k=

1X
xi (0),
n i=1

(2.17)

andando a risolvere quello che viene chiamato in letteratura problema dellaverageconsensus. Purtroppo ci`o non `e garantito dal semplice fatto che il grafo sia connesso,
come vediamo nel seguito.
Notiamo innanzitutto che il valore finale di convergenza deve essere quel valore k tale
che:
k1n = limt+ x(t) = limt+ (eLt )x0 = Rx0 .

(2.18)

nella quale R = limt+ (eLt ). Dunque, se siamo in grado di conoscere R, sfruttando


la relazione

k1n = Rx0

2.3 Il valore di convergenza: laverage-consensus problem.


`e possibile calcolare direttamente il k di convergenza. Vale, in effetti, il seguente
teorema:
Teorema 5. Dato un grafo diretto G fortemente connesso con laplaciano L tale Lwr = 0,
wl T L = 0 e wl T wr = 1 (wl e wr sono quindi due autovettori, rispettivamente sinistro e
destro, associati allautovalore 0 della Laplaciana), si ha che R = wr wl T Rnn .
Affinch`e k sia la media dei valori iniziali, `e sufficiente che valga una tra 3 condizioni:
la dimostrazione di ci`o esula dagli scopi di questa tesi. Riportiamo queste 3 condizioni
nel seguente teorema, il quale afferma che sono in effetti condizioni equivalenti (di tale
fatto riportiamo invece la semplice dimostrazione).
Teorema 6. Sia G un grafo diretto con matrice di adiacenza A. Tutte le seguenti
affermazioni sono equivalenti:
1. G `e bilanciato (per ogni nodo, il grado di entrata `e uguale a quello di uscita);
2. wl = 1 `e lautovettore sinistro del Laplaciano di G associato allautovalore nullo,
cio`e 1T L = 0;
3.

Pn

i=1

ui = 0, x Rn ,

Dimostrazione.

La seconda affermazione indica che la somma dei valori per co-

lonna del Laplaciano `e nulla. La somma degli elementi della colonna j-esima
corrisponde a:
n
X

lij =

i=1

n
X

aij + ljj = degin (j ) + degout (j ).

i=1,i6=j

e nel caso che venga posta a 0, porta a osservare che il nodo j deve essere bilanciato.
Le stesse osservazioni valgono per ogni altra colonna, dimostrando lequivalenza tra
laffermazione 1 e la 2.
Per quanto riguarda lequivalenza tra la 2 e la 3, vale che:
0=

n
X
i=1

ui = 1T u = 1T Lx,

21

22

2. Lalgoritmo di consenso e simulazioni su sistemi Integratori.


se e soltanto se 1T L = 0, e cio`e 1T `e autovettore sinistro di L associato allautovalore
nullo.

Per verificare la validit`a di quanto detto su un caso reale, prendiamo come esempio
il seguente grafo:
1

Il grafo risulta connesso, ma il nodo 3 non `e bilanciato e vale infatti che:

u1 = (x2 x1 ) + (x3 x1 )

u2 = (x3 x2 )

u3 = x1 x3
da cui segue che

Pn

i=1

ui = x3 x1 6= 0 se i nodi 1 e 3 non partono dallo stesso

valore. Il Laplaciano risultante presenta gli autovalori 0, 2, 2 ed autovettori destro e


sinistro dellautovalore nullo pari a wrT = (1, 1, 1) e wlT = ( 14 , 14 , 12 ). Si ha dunque che:

1
4

1
4

1
4

1
4

R = wr wl T = 14

1
4

1
2
1

2
1
2

e il valore di convergenza sar`a Rx0 = 14 (x1 (0) + x2 (0) + 2x3 (0)), diverso dal valor
medio.
Sfruttando i risultati ottenuti, enunciamo il seguente teorema riassuntivo:
Teorema 7. Si consideri una rete di integratori con una topologia costante rappresentata
da un grafo G diretto e fortemente connesso. Il protocollo del consenso `e globalmente
asintoticamente stabile e risolve il problema dellaverage-consensus se e soltanto se il
grafo `
e bilanciato e debolmente connesso. Nel caso il grafo non sia bilanciato,

2.4 Simulazioni su sistemi integratori.


ma sia connesso, si risolve il problema del consensus, ma il valore di convergenza sar`
a
P
pari a k = wr wlT x0 6= n1 ni=1 xi (0), con wr e wl autovettori destro e sinistro associati
allautovalore nullo della Laplaciana L(G).

2.4

Simulazioni su sistemi integratori.

Si riporta in questa sezione il risultato di alcune simulazioni effettuate in ambiente


Simulink su sistemi integratori.
Lo scopo delle seguenti simulazioni `e, in primis, quello di trovare riscontro delle
propriet`a di convergenza dellalgoritmo di consenso descritte nella teoria, mettendo in
evidenza anche i casi meno intuitivi.

La simulazione 1 mostra una prima applicazione dellalgoritmo di consenso su 5


agenti interconnessi da grafi di comunicazione connessi interamente oppure a componenti indipendenti.

La simulazione 2 mostra il comportamento di 5 agenti il cui grafo di comunicazione


non `e costante nel tempo, ma viene sostituito ad intervalli costanti con altri grafi appartenenti ad una collezione finita. Verranno fatte alcune considerazioni sulle propriet`a
di convergenza dei 5 agenti nel caso in cui i grafi appartenenti alla collezione siano tutti
sconnessi.

La simulazione 3 indaga le propriet`a di convergenza delle componenti residuali di


un grafo di comunicazione connesso a blocchi.

2.4.1

Simulazione 1: una prima applicazione.

Per questa simulazione abbiamo utilizzato il modello simulink di figura 2.1, che implementa lequazione differenziale x = Lx. Esso `e composto di una matrice Laplaciana

23

24

2. Lalgoritmo di consenso e simulazioni su sistemi Integratori.


che agisce sugli stati x1 , x2 , x3 , x4 , x5 il cui valore iniziale `e rappresentato dal vettore x0.

1
s

K*u

Scope

Integratore
Laplaciana
1
X

1 x0

Figura 2.1: Schema Simulink


Si `e quindi fatto riferimento a diverse matrici Laplaciane (ovvero a diversi grafi di
comunicazione) e si `e osservata levoluzione nel tempo degli stati x1 , x2 , x3 , x4 , x5 . Riportiamo nel seguito i risultati della simulazione sia nel caso di un grafo connesso che di
un grafo non connesso.
Grafo connesso
Il grafo di comunicazione a cui si `e fatto riferimento `e il seguente.

Ad esso corrisponde la matrice laplaciana

1
0
0
0 1

1 1
0
0
0

L = 0 1 1
0
0

0
0 1 1
0

0
0
0 1 1

2.4 Simulazioni su sistemi integratori.

25

Il risultato della simulazione `e riportato in Figura 2.2.


Come previsto dalla teoria, i sistemi raggiungono il consenso, ovvero limt>+ xi (t) xj (t) =
P
0 i, j. Il valore di convergenza sar`a inoltre pari a 15 5i=1 xi (0), dal momento che il
grafo `e bilanciato e debolmente connesso.

100
x1
x2
x3
x4
x5

50

50
0

4
Time

Figura 2.2: Grafo Connesso

26

2. Lalgoritmo di consenso e simulazioni su sistemi Integratori.


Grafo sconnesso
Nel secondo caso si `e invece fatto riferimento al seguente grafo:

Ad esso corrisponde la matrice laplaciana

1 0 1 0 0

1 1 0 0 0

L= 0 0 0 0 0

0 0 0 1 1

0 0 0 0 0
.
ll risultato della simulazione `e riportato in Figura 2.3.

In questo caso notiamo che i sistemi 1,2,3 e i sistemi 4,5 raggiungono due valori di
consenso differenti: nonostante il grafo complessivo risulti sconnesso, infatti, i sottografi
relativi ai sistemi 1,2,3 e a 4,5 sono connessi.

2.4.2

Simulazione 2: Grafi sconnessi variabili nel tempo.

Fino ad ora si `e fatto riferimento a matrici Laplaciane costanti nel tempo ed abbiamo
riscontrato, come previsto dalla teoria, che il consenso tra tutti i sistemi viene raggiunto
se e solo se il grafo di comunicazione `e connesso.

2.4 Simulazioni su sistemi integratori.

27

100
x1
x2
x3
x4
x5

50

50
0

4
Time

Figura 2.3: Grafo Sconnesso


Vogliamo adesso indagare il caso di matrici Laplaciane variabili nel tempo; in partiP
colare, dato un periodo T = m
i=1 Ti ed m matrici Laplaciane L1 , L2 , . . . , Lm , durante
lintervallo t [kTj1 , kTj ], k N il grafo di comunicazione associato al sistema sar`a
quello descritto dalla Laplaciana Lj .

Il caso pi`
u interessante dal punto di vista dello studio della convergenza dellalgoritmo di consenso `e quello in cui tutte le matrici appartenenti al set L1 , L2 , . . . , Lm sono
associate ad un grafo di comunicazione sconnesso: la seguente simulazione `e volta a
studiare proprio questa configurazione. Utilizzeremo, per semplicit`a, soltanto i seguenti
due grafi sconnessi

28

2. Lalgoritmo di consenso e simulazioni su sistemi Integratori.

a cui corrispondono le due laplaciane:

1 1 0

L1 = 0 1 1

0
0 0

0
0 0

0
1 0 0 0 1

0 1 0 1 0
0 0

0 0 L2 = 0 1 1 0
0

0 0
0 0 0 0
0

1 1
0 0 0 0
0
0

e considereremo un periodo T = T1 + T2 = 2 secondi.

Lo schema Simulink che si `e utilizzato `e riportato in figura 2.4: la parte a destra


dello schema ha lo scopo di passare il controllo allo script Matlab ad ogni secondo di
simulazione, permettendo cos` la sostituzione della Laplaciana corrente con la successiva.
In figura 2.5 riportiamo il risultato della simulazione.

1
Scope

L* u
Laplaciana

1
s

Integrator

To Workspace

x0

Assertion1

20

<= 0

Clock

Compare
To Constant

Chiamata
a sostituzione.

Scope1

Figura 2.4: Modello Simulink


I sistemi raggiungono quindi il consenso, nonostante la Laplaciana che ne governa
linterazione sia istante per istante associata ad un grafo di comunicazione sconnesso.

2.4 Simulazioni su sistemi integratori.

29

100
x1
x2
x3
x4
x5

50

50
0

10
Time

15

20

Figura 2.5: Risultato della simulazione

30

2. Lalgoritmo di consenso e simulazioni su sistemi Integratori.


Per comprendere questo risultato, `e possibile fare riferimento al concetto di grafo
indotto dalla matrice di adiacenza media sul periodo T (GT avg (t)), sul quale era possibile
definire la uniforme connessione: tale propriet`a `e pi`
u debole della connessione in senso
stretto, ma permette di ottenere la convergenza dellalgoritmo di consenso se esiste un
T per cui GT avg (t) risulti uniformemente connesso per ogni t.
Nel nostro particolare caso il grafo GT =2 avg (t), la cui matrice di adiacenza `e GT =2 avg (t) =
(A1 +A2 )/2, risulta uniformemente connesso, giustificando cos` il raggiungimento del consenso.

Al fine di verificare algebricamente luniforme connessione della GT =2 avg (t), `e stata


inserita nello script .m relativo alla simulazione una procedura che determina se la parte
reale del secondo autovalore di GT =2 avg (t) `e positiva: il teorema 1, infatti, ci assicura che
in tal caso GT avg (t) `e uniformemente connesso e lalgoritmo di consenso converge.

2.4.3

Simulazione 3: Grafi complessi con componenti residuali.

Si vuole infine studiare il caso di un grafo con pi`


u componenti connesse indipendenti
(iCC) ed alcuni nodi che non appartengono a nessuna componente, chiamati residui,
come spiegato nel capitolo 1.
Nella simulazione, si `e fatto riferimento al grafo

10
a cui corrisponde la matrice Laplaciana

2.4 Simulazioni su sistemi integratori.

31

Lresidui

0
0 0 0
0
0 0 0
0

1 1 0 0
0
0 0 0
0

0 1 1 0
0
0 0 0
0

0
0 0 1 1 0 0 0
0

0
0 0 0
1 1 0 0
0
=

0
0 0 0
0
0 0 0
0

0
0 0 0
0 1 1 0
0

1 0 0 0 1 0 0 2
0

0 1 0 1 0
0 0 0
2

0
0 0 0
0
0 0 1 1

I sistemi 1,2,3 e 4,5,6,7 formano due iCC, mentre i sistemi 8,9,10 sono dei residui e
non fanno parte di una terza iCC. Il risultato della simulazione, in figura 2.6, mostra che
i sistemi 8,9,10 (tratteggiati al fine di metterli in evidenza) riescono a raggiungere un
proprio valore di consenso intermedio tra i valori di consenso dei sistemi 1,2,3 e dei sistemi
4,5,6,7. Ci`o `e in effetti conforme alla natura dei sistemi residuali, che pur non essendo in
comunicazione tra loro ricevono le informazioni dalle stesse componenti indipendenti del
grafo e finiscono quindi per raggiungere un accordo sul valore da assumere a regime.
80
60
40
20
0
20
40
60
80
100

4
Time

Figura 2.6: Risultato della simulazione.

32

2. Lalgoritmo di consenso e simulazioni su sistemi Integratori.

Capitolo 3
Sistemi Multiagente Multivariabile.
Nelle precedenti simulazioni abbiamo considerato sistemi descritti da una sola variabile di stato, la cui risposta libera era costante ed uguale al valore di partenza: tale
scelta, effettuata per una maggiore semplicit`a concettuale, era giustificata dal fatto che
eravamo in quella sede interessati principalmente a testare lefficacia e il campo di applicazione dellalgoritmo di consenso stesso, piuttosto che alla natura delle traiettorie sulle
quali raggiungere il consenso.
Abbiamo tuttavia introdotto nel primo capitolo gli strumenti matematici che ci servono per gestire sistemi descritti da pi`
u di una variabile di stato. Per questi motivi ci
accingiamo adesso a mostrare in che modo sia possibile ottenere il consenso su particolari
sistemi multivariabile.

Abbiamo visto in 1.3 come rappresentare, tramite modelli nello spazio degli stati,
sistemi con pi`
u variabili di stato. La matrice A, chiamata anche matrice di sistema,
contiene linformazione sullevoluzione libera degli stati del sistema dinamico sotto esame;
in particolare, se i , i = 1, ..., n sono gli autovalori di A, la traiettoria degli stati x(t)
sar`a combinazione lineare di tutti i termini del tipo ei t . Ne deduciamo che:

Sistemi dinamici con matrici di stato contenti un autovalore a parte reale positiva hanno stati che divergono nel tempo, ed `e pertanto poco sensato pensare al
33

34

3. Sistemi Multiagente Multivariabile.


consenso per raggiungere un accordo su traiettorie che, nonostante la coincidenza,
rimarrebbero divergenti.
Sistemi dinamici con matrici di stato con soltanto autovalori a parte reale strettamente negativa hanno, per loro natura, tutti gli stati che convergono al valore
0. Anche in questo caso, quindi, cercare un accordo sulle traiettorie sfruttando la
teoria del consenso sembra poco significativo.
Sistemi dinamici con matrici di stato con autovalori a parte reale nulla sembrano offrire maggiori prospettive per applicare la teoria del consenso. Essi espongono infatti modi che oscillano indefinitamente nel tempo, e quello di raggiungere
un accordo su una traiettoria sinusoidale comune `e un problema che si potrebbe
presentare in molte occasioni.
Per questi motivi considereremo nel seguito il consenso su oscillatori lineari, ed
indicheremo con S la matrice di sistema ad essi associata.

3.1

Loscillatore lineare come sistema.

Interpretando opportunamente gli stati di pi`


u oscillatori armonici, controllati sfruttando un protocollo di consenso, sar`a possibile generare delle traiettorie circolari a regime
che potranno fungere da valori di riferimento per il movimento coordinato di pi`
u veicoli,
come vedremo nel capitolo 4.

In fisica, viene chiamato oscillatore armonico qualunque sistema meccanico che reagisce ad una perturbazione dallequilibrio con una accelerazione di richiamo proporzionale
..

allo spostamento subito: esso `e quindi descritto dallequazione del moto x = x, dove
x rappresenta la posizione delloscillatore ed > 0 la pulsazione espressa in rad/sec. La
soluzione dellequazione differenziale `e data da x(t) = Asin(t + ), dove A rappresenta
lampiezza delloscillazione e la fase: sia A che dipendono dalle condizioni al contorno
x(0) e x(0).

3.2 Analisi del problema multivariabile.

35

Dal momento che siamo interessati ad una descrizione in termini di variabili di stato,
appare naturale effettuare la seguente scelta per il modello:

x 1 = x2

(3.1)

x 2 = x1
nel quale x1 rappresenta la posizione delloscillatore

e x2 la sua velocit`a.
0 1

: i suoi autovalori sono = i,


La matrice di sistema `e dunque S =
0
valori puramente immaginari che daranno quindi luogo ai modi oscillanti con pulsazione
.

Possiamo anche considerare modelli con un numero arbitrario di stati che hanno evoluzione sinusoidale, per questo nella trattazione teorica che segue considereremo matrici
S di sistemi oscillanti d-dimensionali.

3.2

Analisi del problema multivariabile.

Sia xk Rp il vettore degli stati del k-esimo sistema del nostro network (composto
da n sistemi). Come `e noto, levoluzione libera di uno dei sistemi oscillatori `e descritta
dallequazione differenziale x k = Sxk , dunque considerando un network di n sistemi,
definendo x = [x1 x2 . . . xn ]T vale la seguente equazione di evoluzione libera:

x = (In S)x.

(3.2)

Per quanto riguarda lingresso di controllo, oltre a sfruttare le informazioni relative al grafo di comunicazione tramite la matrice L, sar`a necessario definire una matrice di guadagni K Mpp sulla quale potere agire liberamente, ottenendo lequazione
complessiva:

x = [(In S) (L K)]x

(3.3)

36

3. Sistemi Multiagente Multivariabile.


in cui [(In S) (L K)] deve essere Hurwitz se vogliamo che il protocollo di
consenso converga. Rimarchiamo il fatto che il consensus dovr`a necessariamente avvenire
su una traiettoria sinusoidale intermedia in ampiezza e fase tra quelle che esporrebbero
naturalmente gli oscillatori del network: il protocollo di consenso non permette infatti
di cambiare la natura dei sistemi su cui viene applicato, come `e chiaro osservando la
3.3.

3.2.1

Loutput consensus

Fino ad ora linformazione scambiata tra i sistemi `e sempre corrisposta alla differenza
tra i loro stati interni: pi`
u realisticamente, i sistemi sono in grado di scambiarsi linformazione relativa alla differenza tra le loro uscite, definite come opportune funzioni sugli
stati. Ogni sistema sar`a cio`e descritto dal seguente set di equazioni:

x k = Sxk + uk

(3.4)

yk = Hxk
con uk ingresso di controllo definito come
uk = K

N
X
j=1

lkj (t)yj =

N
X

lkj (t)KHxj

j=1

(contributo calcolato sulle uscite degli altri stati tramite la Laplaciana) e H la matrice
di uscita
Dunque, in caso di output consensus lequazione del set di sistemi controllati che
consideriamo `e:

x = [(In S) (L KH)]x

(3.5)

Con analogia al caso del consensus o sincronizzazione tramite differenza degli stati,
se siamo in grado di scegliere K in modo che [(In S) (L KH)] sia Hurwitz, ci
aspettiamo (come mostrato nel paragrafo 3.3.1) di raggiungere il consenso delle uscite
sulla funzione:

3.3 La convergenza del protocollo di consenso su sistemi multivariabile.

y(t) = HeSt x

37

(3.6)

che espone ancora i modi di S, ma presenta il contributo della matrice H che seleziona
quali stati sono disponibili in uscita per essere misurati.

3.3

La convergenza del protocollo di consenso su


sistemi multivariabile.

Per riuscire a catturare e descrivere le propriet`a di convergenza del protocollo di


consenso nel caso multivariabile, `e necessario ricondurre la matrice Laplaciana a forme
pi`
u comode ed effettuare, corrispondentemente, un cambio di variabili allinterno del
modello nello spazio degli stati. Definiamo tali trasformazioni:
Definizione 8 (Traformazione T sulla Laplaciana L). Si definisce come trasformazione T sulla Laplaciana L, una qualunque matrice T nella forma

T =

1
1(n1)1

01(n1)
In1

dove In1 `e la matrice identit`a di dimensione N 1 e conseguentemente tale che:

0 L12
= T 1 LT =

L
22
0 L

(3.7)

12 CN 1 vettore riga e L
22 M(N 1)(N 1) .
con L
Un caso specifico di trasformazione T su L, `e quello che porta L nella sua forma di
Jordan:
Definizione 9 (Traformazione TJ sulla Laplaciana L). Sia TJ la matrice che porta
cio`e tale che L
= T 1 LTJ : dal momento che
L nella sua forma canonica di Jordan L,
J
TJ `e formato da autovettori ed autovettori generalizzati di L, e che 1n `e autovettore di
L, possiamo scrivere che

38

3. Sistemi Multiagente Multivariabile.

TJ = (1n TJ )

(3.8)

con TJ matrice N (N 1) composta di autovettori di L. Se consideriamo, senza


perdita di generalit`a, che 0 sia il primo autovalore di L, possiamo anche scrivere

J =
L

01(N 1)

0(N 1)1

22
L
J

(3.9)

22 matrice (N 1) (N 1) composta di blocchi di Jordan.


con L
J

3.3.1

Trattazione attraverso una qualunque Trasformazione T


su L

Si considera nel seguito un network di N sistemi multivariabile del tipo x k = Sxk +


uk , K = 1, . . . , N con grafo diretto di comunicazione sulle uscite descritto dalla matrice
Laplaciana L. Riprendiamo la notazione introdotta in 3.3.
` possibile catturare la propriet`a di convergenza del protocollo ricorrendo ad una
E
generale Trasformazione T su L, come definita in Definizione 8.

Consideriamo il set controllato descritto dallequazione :

x = [(In S) (L KH)]x

(3.10)

.
Se applichiamo adesso il cambio di coordinate z = (T 1 In )x, allora
z = (T 1 In )x
= (T 1 In )[(In S) (L KH)]x
= (T 1 In )[(In S) (L KH)](T In )z.

(3.11)

3.3 La convergenza del protocollo di consenso su sistemi multivariabile.


= T 1 LT
Sfruttando il fatto che (A B)(C D) = (AC BD) e ricordando che L
otteniamo che
z = (T 1 In )[(In S) (L KH)](T In )z
KH)]z
= (T 1 In )[(In S)(T In ) (T L

(3.12)

KH)]z
= (T 1 In )[(T S) (T L
KH)]z
= [(In S) (L

al posto di L.
ovvero unespressione analoga a quella in (3.10) con L
evidenziata in (3.7), il sistema nelle coordinate z
Vista la particolare struttura di L
diventa:

z1 = Sz1 (L12 KH)z2

(3.13)

z 2 = [(In1 S) (L
22 KH)]z2
dove z1 Rp (p rappresenta il numero di stati del singolo sistema) e z2 Rp(n1) .
Dal momento che la prima colonna di T `e 1n , vale inoltre che

xk = z1 + Tk z2 , k = 1, . . . , n.

(3.14)

per qualche matrice Tk . Vogliamo adesso mostrare che nel caso


22 KH)]
[(In1 S) (L
sia Hurwitz, gli stati andranno a coincidere a regime con z1 , analogamente al caso della
trasformata di Jordan. Vale il seguente lemma
Lemma 1. Si consideri il sistema triangolare a blocchi

z1 = Sz1 (L12 KH)z2

z 2 = [(In1 S) (L
22 KH)]z2

39

40

3. Sistemi Multiagente Multivariabile.


con z1 Rp e z2 Rp(n1) . Si supponga che
22 KH)]
[(In1 S) (L
sia Hurwitz. Allora, esistono M > 0, > 0 ed una matrice R2 Mn1 n2 tali che per
ogni coppia z1 (0), z2 (0) vale

||z1 (t) eSt z1 || M et ||z2 (0)||,

dove z1 = z1 (0) + R2 z2
il quale ci assicura che z1 tende esponenzialmente ad una traiettoria dipendente dai
valori iniziali che espone i modi di S. Utilizzando il lemma (1) e considerando la (3.14),
otteniamo subito la seguente conclusione:
Proposizione 1. Si consideri il sistema controllato

x = (In S)x (L KH)x

(3.15)

e si supponga che
22 KH)]
[(In1 S) (L
sia Hurwitz. Allora esistono K > 0, > 0 ed una matrice R Mpnp tale che per ogni
x(0), la k-esima componente dello stato x dellintero set di sistemi controllati soddisfa

||xk (t) eSt x|| Ket ||x(0)||,


ovvero, in tali ipotesi anche gli stati nel primo sistema di coordinate raggiungeranno
il consenso su una particolare soluzione di

x = Sx,

soluzione che dipende da x = f (x1 (0), . . . , xn (0)) dove f `e una opportuna funzione
lineare.

3.3 La convergenza del protocollo di consenso su sistemi multivariabile.


Le eventuali uscite dei sistemi, che sono combinazione lineare degli stati tramite la
matrice H, si sincronizzeranno invece lungo la funzione

y(t) = HeSt x

come avevamo spiegato in precedenza.

3.3.2

Sintesi della matrice K

Come menzionato in 3.2.1, siamo interessati a rendere Hurwitz la matrice [(In S)


` opportuno
(L KH)] in modo da ottenere loutput consensus dei nostri sistemi. E
ricondurre il problema della sintesi della matrice K ad uno equivalente pi`
u semplice:
riprendiamo a questo scopo la matrice

0 L12
= T 1 LT =

L
22
0 L
a cui ci eravamo ricondotti tramite T nel paragrafo 3.3.1. Sia poi M M(n1)(n1) una
matrice a valori complessi tale che
22 M 1
= ML
scelta in modo che sia diagonale; in tal caso i valori sulla diagonale di corrispondono agli autovalori non nulli di L. La trasformazione M 1 In porta la matrice 3.5 ad
assumere la forma

(In1 S) ( KH)

(3.16)

ed essendo diagonale, otteniamo subito che la matrice (3.16) `e diagonale a blocchi,


con blocchi che hanno la seguente struttura:

S i (L)KH.
dove indichiamo con i li-esimo autovalore di L.

(3.17)

41

42

3. Sistemi Multiagente Multivariabile.


Tale risultato ci porta immediatamente a formulare la seguente proposizione, grazie
alla quale rendiamo pi`
u semplice il problema della sintesi di K:

Proposizione 2. Gli autovalori della matrice [(In S) (L KH)] hanno tutti parte
reale negativa se e solo se la matrice S-i (L)KH ha tutti gli autovalori a parte reale
negativa, per ogni i.

Utilizziamo adesso un approccio basato sulle funzioni di Lyapunov per rendere Hurwitz le matrici Ai = S i KH: infatti i problemi di trovare delle funzioni di Lyapunov
Vi sugli stati zi tali che V i < 0 e quello di rendere Hurwitz le matrici S i KH sono in
corrispondenza biunivoca.
La condizione da soddisfare seguendo questo approccio `e che per ogni i, valga

ziT (P ATi + Ai P )zi a||zi ||2

(3.18)

per un qualche a < 0, avendo definito come candidata funzione di Lyapunov

V = ziT P zi
e chiamando P lunica soluzione simmetrica definita positiva dellequazione algebrica
di Riccati (CARE):

SP + P S T 2P H T HP + aIn = 0.

(3.19)

Tale soluzione P esiste sicuramente nel caso che S sia la matrice di un oscillatore
lineare.
Si pu`o verificare che in questo caso la scelta di K = P H T risolve il problema appena
enunciato. Infatti, chiamando lautovalore non nullo con la parte reale pi`
u piccola,
utilizzando K = P H T nellespressione della matrice Ai e ricordando che P `e la soluzione
dellequazione CARE, vale

3.4 Trattazione attraverso trasformata di Jordan TJ .

43

ziT (P ATi + Ai P )zi = ziT (P S T i P H T HP T + SP i P H T HP )


= ziT (SP + P S T i P H T H(P T + P ))zi

(3.20)

= ziT (SP + P S T 2Re(i )P H T HP )zi


ziT (SP + P S T 2P H T HP )zi = a||zi ||2
e dunque abbiamo soddisfatto la (3.18); come abbiamo fatto notare sopra, abbiamo
congiuntamente reso Hurwitz tutte le matrici S i KH e conseguentemente lintera
matrice (In1 S) ( KH).
Riassumiamo questi risultati nella seguente proposizione:
Proposizione 3. Sia dato un set di N sistemi del tipo descritto in equazione (3.4). Si
supponga che (S,H) sia una coppia osservabile. Si supponga che il grafo di comunicazione
(tempo-invariante) sia connesso. Sia lingresso di controllo dato da
uk = P H

N
X

akj (yj yk )

k = 1, . . . , N

(3.21)

j=1

In tal caso, si raggiunge loutput consensus.

3.4

Trattazione attraverso trasformata di Jordan TJ .

Se vogliamo ottenere delle equazioni semplificate rispetto a quelle in 3.13, possiamo


ricorrere alla trasformazione di Jordan TJ .

Esprimiamo ancora le equazioni dei nostri sistemi controllati in forma compatta

x = [(IN S) (L KH)]x

(3.22)

Effettuiamo dunque il seguente cambio di variabili sugli stati sfruttando la trasformazione di Jordan ed il prodotto di Kronecker:

z = (TJ1 Id )x
ed otteniamo

(3.23)

44

3. Sistemi Multiagente Multivariabile.

KH)]z
z = [(IN S) (L

(3.24)

J rappresenta la forma canonica di Jordan di L. Tenendo predove, ricordiamo, L


J evidenziata in 3.9, chiamando z = col(z1 , z2 ), z2 =
sente la particolare struttura di L
col(z2 , . . . , zN ), zi Rd , possiamo riscrivere la 3.24 nel seguente modo:

z1 = Sz1

(3.25)

z 2 = [(IN 1 S) (L
22 KH)]z2
J
Dunque z1 ha unevoluzione indipendente dalle altre variabili. Inoltre `e possibile scegliere K in modo che il sistema con stato z2 sia Hurwitz, cio`e che esponga modi che si
annullano asintoticamente per t > +, ovvero che z2 (t) converga esponenzialmente a
0 per ogni z2 (0).

Lultimo passaggio consiste nellosservare che grazie alla particolare struttura di TJ


ed al cambio di variabili effettuato vale

x = (1N 1 Id )z1 + (TJ Id )z2

(3.26)

Dunque, dal momento che z2 tende ad annullarsi, si `e dimostrato che tutti i xk


raggiungono il consenso sulla traiettoria di z1 che coincide con x1 , mettendo in evidenza
leffettiva convergenza del protocollo di consenso su una stessa traiettoria finale.

3.5

Analisi attraverso trasformata di Jordan su un


caso specifico.

Consideriamo in questa sezione il caso di 3 sistemi oscillatori descritti dalla matrice


di sistema

S=

1 0

3.5 Analisi attraverso trasformata di Jordan su un caso specifico.


ed interconnessi tramite il grafo di comunicazione ciclico
1

3
la cui matrice Laplaciana `e

1
0 1

L = 1 1
0

0 1 1
.
Come visto nella sottosezione 3.4, `e opportuno portare L nella sua forma di Jordan
per capire verso cosa convergeranno gli stati di tutti i sistemi una volta applicato il
L
controllo di consenso.
Si ha che la matrice di similitudine `e

1 0.5 0.866i 0.5 + 0.866i

TJ = 1 0.5 + 0.866i 0.5 0.866i

1
1
1
e la Laplaciana diventa cos`

22
L
J

0
0
0

= 0 1.5 0.866i

0
0
1.5 + 0.866i

Come mostrato in 3.4, `e allora possibile effettuare il cambio di variabili sugli stati
definito da z = (TJ1 I2 )w ed ottenere il seguente modello nello spazio degli stati

z1 = Sz1

z 2 = [(IN 1 S) (L
22 K)]z2
J
come avevamo gi`a osservato in (3.25).

45

46

3. Sistemi Multiagente Multivariabile.


Se assumiamo che la matrice che descrive levoluzione di z 2 sia Hurwitz (attraverso la
scelta di una opportuna K), possiamo anche osservare, riprendendo il risultato in (3.26),
che
x = (1N 1 Id )z1 + (TJ Id )z2

(3.27)

.
Ci`o significa, visto che z 2 tende ad annullarsi, che gli stati x1i , x2i (posizione e velocit`a) dei 3 oscillatori presi in considerazione andranno a consenso sulla traiettoria di
z1 = col(z1i , z2i ) per qualunque set di valori iniziali.

Infatti, la trasformazione degli stati x verso gli stati z risulta essere:

TJ1 I2

1
3

1
3

1
3

0
0
0

1
1
1

0
0
0
3
3
3

1
0.1667 + 0.2887i
0
0
0.1667 0.2887i
0
3

0
0.1667 + 0.2887i
0
0.1667 0.2887i 0 3

1
0.1667 0.2887i
0
0.1667 + 0.2887i
0
0
3

1
0
0.1667 0.2887i
0
0.1667 + 0.2887i 0 3
e dunque

z1 (t) =

(x1 (t) + x2 (t) + x3 (t))


t R+ .
3

(3.28)

A regime, se il consenso `e stato raggiunto (dato per assunto dal momento che la matrice che descrive levoluzione di z 2 `e assunta Hurwitz), avremo, ricorrendo ad un piccolo
abuso di notazione, che x1 = x2 = x3 e dunque che 13 (x1 + x2 + x3 ) = x1 =
x2 = x3 = z1 .

Le osservazioni appena effettuate rendono evidente che per ogni sistema k, xk va a


consenso sulla traiettoria di z1 , la cui evoluzione temporale `e descritta dallequazione

3.5 Analisi attraverso trasformata di Jordan su un caso specifico.


z1 = Sz1 : tale traiettoria espone i modi corrispondenti agli autovalori della matrice di
sistema S, che nel nostro caso specifico sono modi oscillanti.

3.5.1

Simulazione: output consensus su 3 oscillatori armonici.

Lo scopo della seguente simulazione `e verificare lefficacia della procedura di sintesi


della matrice K descritta in 3.3.2, al fine di mandare a consenso i 3 oscillatori di cui
si `e parlato in 3.5. Sempre in 3.5, attraverso unanalisi del sistema controllato tramite
trasformata di Jordan, si era arrivati alla conclusione che gli oscillatori sarebbero andati
a consenso su di una traiettoria sinusoidale di pulsazione 1 rad/sec ed ampiezza e fase
dipendenti dai valori iniziali degli oscillatori; cogliamo quindi questa occasione per verificare anche tale risultato.

Il modello Simulink di riferimento `e identico a quello presentato in 2.4.1, ad eccezione


del fatto che al posto del blocco di guadagno corrispondente alla Laplaciana `e stata posta
la matrice U = [(I3 S) (L KH)], con K = P H T (vedi paragrafo 3.3.2).

I valori iniziali di di posizione e velocit`a dei 3 oscillitori sono stati posti, a titolo di
esempio, pari a (1, 2), (3, 3) e (5, -5). La matrice H, che come abbiamo
detto

rappresenta

1 1
: ogni sistema
la trasformazione tra stati ed uscite, `e stata posta pari a H =
10 10
avr`a cio`e due uscite, la prima corrispondente alla somma tra posizione e velocit`a, la
seconda pari a 10 volte la somma tra posizione e velocit`a.

La procedura per calcolare


K `e stata implementata
di Matlab:
in
nel relativo script

0.5016 0.4985
0.0032 0.0317
e dunque K =
,
particolare otteniamo che P =
0.4985 0.5797
0.0812 0.8118
ponendo a = 1 e = 1.5, cio`e pari alla parte reale del secondo autovalore di L. Si noti
che la scelta di a influisce sulla velocit`a di convergenza del protocollo.

47

48

3. Sistemi Multiagente Multivariabile.

Uscita 1

4
2
0
2
4

5
Time

10

5
Time

10

60

Uscita 2

40
20
0
20
40

Figura 3.1: Risultato della simulazione


In figura 3.1 il risultato della simulazione: nei due plot viene riportato il consenso
rispettivamente sulla prima e sulla seconda uscita.

Come previsto, le due uscite dei tre sistemi vanno a consenso su due traiettorie di
pulsazione 1 rad/sec.

Capitolo 4
Generazione di traiettorie circolari
per il loitering di pi`
u robot.
Il coordinamento di sistemi multi-robot ha come obiettivo quello di ottenere delle
prestazioni migliori rispetto alluso di singoli agenti, garantendo una maggiore robustezza
e performance generale di sistema. Diventa infatti possibile risolvere sotto-problemi in
parallelo, riducendo sia il tempo per il completamento del compito dellintero sistema
che il carico computazionale. Inoltre, lassenza di un singolo master decisionale rende
il sistema distribuito pi`
u robusto e resistente ai guasti (il fallimento di un singolo agente
non implica il fallimento dellintero network).
Tuttavia, nellutilizzo di sistemi multi-agente emergono nuovi problemi e difficolt`a:
Coordinare un numero elevato di agenti
Gestire uninformazione locale e non centralizzata
Gestire lelevata necessit`a di comunicazione
Il consenso fornisce alcuni possibili vantaggi relativamente a questi problemi, rispetto ad altre tecniche comunemente utilizzate in letteratura. In primis `e completamente
decentralizzato e leader-less di natura, inoltre si basa su uno scambio di informazioni
semplice e contenuto.

49

50

4. Generazione di traiettorie circolari per il loitering di pi`


u robot.
Lidea di fondo `e quella di associare ai nostri agenti fisici dei modelli di sistemi
dinamici chiamati esosistemi, che si comporteranno come generatori di traiettorie decentralizzati per i singoli agenti; sugli esostemi si utilizzano i protocolli di consenso e
mediante lagreement raggiunto si ottiene il comportamento collettivo desiderato.

Come applicazione dei risultati provenienti dalla teoria sviluppata in questo lavoro,
si `e dunque pensato al caso del raggiungimento del consenso di pi`
u veicoli su di una traiettoria circolare. In particolare si vuole che tali agenti, qualunque siano le loro posizioni
iniziali nello spazio, vadano a circolare su di una traiettoria di dato raggio e centro con
velocit`a impostata, facendo inoltre in modo che a regime le loro posizioni rappresentino
i vertici di un poligono regolare. Queste richieste sono quelle tipicamente necessarie in
un contesto di loitering attorno ad un agente/punto dello spazio obiettivo: si richiede
ai droni di pattugliare larea circostante volando in circolo ed eventualmente di seguire
lobiettivo se questi `e in moto.

In questo capitolo si vuole descrivere lapproccio seguito per realizzare la simulazione


in ambiente Simulink, simulazione che `e poi stata utilizzata per generare le traiettorie di
riferimento di tre quadrirotori per prove sperimentali in laboratorio: i risultati di questi
esperimenti sono riportati nel capitolo 5.

Il problema di controllo in questione si presenta come lunione di due problemi di


consenso, trattati nei precedenti capitoli:
Consenso di pi`
u oscillatori lineari: necessario per il raggiungimento di una
traiettoria circolare comune, interpretando i due stati di ogni oscillatore come posizioni X e Y sul piano. La circonferenza di regime ottenuta mediante il protocollo
` per`o possibile modificare il
dipender`a dalle condizioni iniziali degli oscillatori. E
protocollo inserendo un oscillatore fittizio che permetta di impostare a piacere
raggio e velocit`a di regime.
Consenso di pi`
u integratori: necessario per il raggiungimento di un centro

4.1 Consenso degli oscillatori.

51

di traiettoria comune. Il valore di convergenza di questo protocollo di consenso


dipender`a, anche in questo caso, dalle condizioni iniziali degli agenti. Tuttavia, `e
possibile modificare tale protocollo (mediante laggiunta di un agente fittizio) per
poter impostare il centro della circonferenza a piacere. Sar`a necessario un controllo
di consenso sia per la posizione X che per la posizione Y del centro.
Riportiamo in figura 4.1 il modello di simulazione visto dal livello pi`
u esterno: come
anticipato, al fine di ottenere il comportamento collettivo desiderato si utilizzano due
protocolli di consenso. Un primo protocollo (CONSENSO OSCILLATORI, in arancione) per impostare la traiettoria dinamica da eseguire. Un secondo protocollo di consenso
(CONSENSO INTEGRATORI (CENTRO)) per imporre il centro attorno a cui gli agenti
devono compiere la traiettoria dinamica (o di loitering) desiderata. Nel seguito si descriveranno pi`
u nel dettaglio gli accorgimenti presi per realizzare i due rami del consenso
degli oscillatori e degli integratori.
Scope2

p0

x0

p_rev0

Constant

In1 Out1

K*u
Uniformazione_Inv

Sfaso_inv

K*u

Uniformazione
CONSENSO OSCILLATORI

p_sfasato

Sfaso

Scope3

Out1

CONSENSO INTEGRATORI (CENTRO)

Figura 4.1: Modello: alto livello.

4.1

Consenso degli oscillatori.

Il nostro obiettivo `e quello di poter realizzare una traiettoria circolare di raggio e


velocit`a desiderate: vogliamo inoltre che questi due parametri siano imponibili a piacere,
compatibilmente con i limiti cinematici degli agenti in esame.

52

4. Generazione di traiettorie circolari per il loitering di pi`


u robot.
Essendo il protocollo di consenso decentralizzato per natura, i valori/traiettorie che
gli agenti raggiungono dipendono esclusivamente dalle condizioni iniziali. Per superare
questo problema immaginiamo che il centro attorno al quale si compie la traiettoria
circolare di loitering sia in realt`a un agente fittizio, che comunica agli altri agenti
raggio e velocit`a desiderate: in pratica, si aggiunge un agente virtuale al network, si
rende connesso il grafo risultante avendo cura che lagente virtuale risulti un centroide
indipendente, e si estende il protocollo di consenso ad n + 1 agenti (dove n `e il numero di
droni che compongono la formazione reale). Il risultato finale sar`a che tutti gli oscillatori
reali andranno a consenso sulloscillatore virtuale.
Si noti che questa `e una soluzione di comodo che potrebbe essere in realt`a ottenuta
mediante altri approcci. Per imporre un raggio arbitrario sarebbe sufficiente modificare
il classico oscillatore lineare, aggiungendo un termine non-lineare che forzi il sistema
sul ciclo limite desiderato. Tale modifica condurrebbe per`o allanalisi del consenso per
sistemi non-lineari, ambito che esula dagli obiettivi di questa tesi .

Le uscite sono state considerate coincidenti con gli stati degli oscillatori (H `e quindi
la matrice identit`a) che vengono interpretati come le posizioni X e Y degli agenti.
Fatte queste considerazioni preliminari, abbiamo supposto che gli agenti comunicassero tra loro secondo una certa topologia connessa, ed `e stato creato uno script Matlab
che si occupa di:
Generare la Laplaciana L connessa associata a tale grafo.
Effettuare la sintesi della matrice K necessaria al raggiungimento del consenso (si
veda 3.3.2)
Creare la matrice U = [(In S) (L KH)] da utilizzare nel modello Simulink.
Allinterno del blocco CONSENSO OSCILLATORI troviamo uno schema chiuso in
retroazione del tutto analogo a quelli utilizzati nelle simulazioni del capitolo 2, eccezion
fatta per la matrice U al posto della matrice L.

4.1 Consenso degli oscillatori.


La matrice

53

U nif ormazione = In

1
w

ha lo scopo di uniformare in ampiezza i due stati di ogni oscillatore. Se infatti la

posizione segue una traiettoria sinusoidale di pulsazione ed ampiezza A, allora la

velocit`a segue una traiettoria co-sinusoidale di pulsazione ancora , ma di ampiezza

A. Dunque tra i due stati delloscillatore, che vengono interpretati come coordinate

X e Y, corre un fattore moltiplicativo pari a che bisogna eliminare attraverso la


matrice sopra introdotta. Notiamo che senza la matrice di uniformazione le traiettorie
sarebbero delle ellissi anziche delle circonferenze.

4.1.1

Sfasamento degli agenti.

Per il raggiungimento di una formazione, non solo `e necessario che gli agenti seguano
la stessa traiettoria circolare a regime, ma si richiede anche che si dispongano secondo
una ben precisa geometria. Con il solo consenso di oscillatori descritto in 4.2, infatti,
gli agenti andrebbero a coincidere nelle posizioni, fatto che in una realizzazione fisica su
veicoli corrisponderebbe ad uno scontro: si impongono dunque degli opportuni sfasamenti
alle traiettorie dei singoli agenti, in modo che vadano a disporsi sulla circonferenza target
secondo i vertici di un poligono regolare. Al fine di raggiungere questo obiettivo, `e stato
sufficiente osservare che a regime i due stati degli oscillatori seguono un andamento
temporale del tipo

x1 (t)
sin(t + )

x2 (t)
cos(t + )

(4.1)

e che dunque `e possibile combinarli algebricamente secondo le formule di addizione/sottrazione di seno e coseno per imporre un qualunque sfasamento alle traiettorie di
regime (trasformandole cio`e in sin(t + + ), cos(t + + ) per qualunque ). Si
`e quindi inserita una funzione embedded nel modello con lo scopo di effettuare queste
manipolazioni sia a valle del blocco CONSENSO OSCILLATORI (trasformazione diretta sulle traiettorie) che a monte (trasformazione inversa sulle posizioni iniziali per far s`

54

4. Generazione di traiettorie circolari per il loitering di pi`


u robot.
che le traiettorie sfasate partano dalle posizioni iniziali originarie).

Potrebbe sembrare che questi sfasamenti siano realizzati in maniera centralizzata; in


realt`a ad ogni agente `e associato un proprio sfasamento, e di conseguenza ogni agente
conosce, indipendente da cosa devono fare gli altri, il valore dello sfasamento che deve
imporre alla traiettoria di consenso che sta ottenendo dallo scambio di informazioni.

Nelle figure 4.2 e 4.3 riportiamo il consenso degli oscillatori prima e dopo lapplicazione dello sfasamento.

Posizione X

100
50
0
50
100

5
Time

10

5
Time

10

Posizione Y

100
50
0
50
100

Figura 4.2: Traiettorie prima dello sfasamento

4.2

Consenso degli integratori.

Al fine di fare raggiungere alla traiettoria circolare un centro di formazione diverso


da (0,0), risulta necessario sommare alle traiettorie di tutti gli agenti un contributo che
deriva dal consenso di integratori associati alle loro rispettive posizioni Xcentro e Ycentro
ref
ref
verso due integratori virtuali che contengono le informazioni sui target (Xcentro
, Ycentro
):

come nel caso delloscillatore virtuale, gli integratori virtuali dovranno comportarsi da
centroidi indipendenti nel grafo di comunicazione complessivo, in modo che il loro valore
non venga mai influenzato e che tutti gli altri integratori convergano su di loro a regime.

4.3 Simulazione della generazione di traiettorie.

55

60

Posizione X

40
20
0
20
40

5
Time

10

5
Time

10

Posizione Y

100

50

50

Figura 4.3: Traiettorie dopo lo sfasamento.


Come gi`a `e stato fatto nel capitolo 2, nel caso degli integratori `e sufficiente implementare un loop algebrico controllato dalla matrice L, in modo da realizzare lequazione
differenziale

.
x
x
x(0) = [0 0 ... xref ]0
= L ,

.
0
y
y
y(0) = [0 0 ... yref ]

4.3

Simulazione della generazione di traiettorie.

Per una maggiore comprensione della simulazione, si riportano in figura 4.4 le traiettorie in X e in Y di sei agenti nelle seguenti ipotesi:
Condizioni iniziali : Tutti e sei gli agenti partono dalle coordinate (50,50).
Raggio della traiettoria 10.
Pulsazione di percorrenza: tutti gli oscillatori hanno = 1rad/sec dentro alla
matrice di sistema.
Richieste sul centro: La richiesta iniziale sulle coordinate `e (100,100), per poi
passare ogni 15 secondi al successivo vertice di un quadrato di lato 200. La sequenza

56

4. Generazione di traiettorie circolari per il loitering di pi`


u robot.
di richieste sul centro `e quindi ciclicamente: (100, 100), (100, -100), (-100, -100),
(-100, 100) ...

Posizione X

200
100
0
100
200
0

10

20

30
Time

40

50

60

10

20

30
Time

40

50

60

Posizione Y

200
100
0
100
200

Figura 4.4: Traiettorie X e Y con cambio di richiesta sul centro ogni 15 secondi.

Capitolo 5
Il setup di laboratorio e lo schema
della Ground Station.
Lobiettivo dellesperienza di laboratorio `e stato quello di realizzare il consenso di tre
quadrirotori CrazyFlie su una traiettoria assoluta circolare di raggio impostato e velocit`a decisa a priori, utilizzando come centro mobile una macchina telecomandata o un
qualunque altro agente in movimento.

Un nano-quad CrazyFlie `e composto solamente da un PCB (Printed Circuit Board)


dove sono saldati i quattro motori con rispettive eliche e una batteria per lalimentazione.
CrazyFlie `e un sistema open-hardware open-software. La batteria `e da 170mAh con un
tempo di ricarica di circa 20 minuti e permette un volo di 5 minuti. Il peso `e attorno ai
10 grammi.
Per realizzare larchitettura software necessaria alle prove di laboratorio si `e inoltre
utilizzato:
Sistema di acquisizione OptiTrack: Il sistema `e composto da diverse telecamere disposte lungo il perimetro del soffitto allinterno del laboratorio di volo.
Utilizzando gli infrarossi emessi da ogni telecamera, Optitrack riesce a stimare
con errori molto piccoli la posizione di un oggetto. Un limite che pone lutilizzo
di questo sistema `e dato dal fatto che ogni oggetto deve essere dotato di 3 marker
57

58

5. Il setup di laboratorio e lo schema della Ground Station.

Figura 5.1: Quadrirotori CrazyFlie.


per essere identificato. Nel nostro caso si utilizzano 3 palline tonde rivestite con un
materiale riflettente, fissate ad una struttura di carbonio che viene poi attaccata ai
quadrirotori. Linsieme di marker e struttura sorreggente, arriva a pesare qualche
grammo e va quindi ad aumentare il peso del CrazyFlie del 30-40%. Tale aumentato compromette sensibilmente la dinamicit`a dei CrazyFlie durante il volo: i motori
non sono molto potenti e la portanza (spinta verticale) che generano viene ridotta
dal fatto che le asticelle della struttura possono bloccare il flusso daria generato
dalle pale. Per questo motivo linseguimento delle traiettorie target risulta efficace,
ma le imprecisioni e gli errori parametrici fanno s` che ci sia sempre e comunque
un errore a regime.

Per passare i dati dal sistema Optitrack a Matlab, una volta lanciato il software
di tracking, si utilizza un programma locale chiamato NatNet, il quale invia i dati
su una porta UDP letta da Matlab: attraverso il modello della Ground Station,
si utilizzano le informazioni cos` ricevute per la generazione di traiettorie ed il
controllo. (Figura 5.3).
Modello Matlab/Simulink della Ground Station: si occupa di generare le

59

Figura 5.2: I 3 marker e la struttura in carbonio.

Figura 5.3: Optitrack.

60

5. Il setup di laboratorio e lo schema della Ground Station.


traiettorie di riferimento e di garantire il controllo dei quadrirotori al fine di inseguire il riferimento generato. Verr`a descritto in modo pi`
u approfondito nella prossima
sezione.
Antenne: per inviare gli ingressi di controllo generati dalla Ground Station ai
singoli quadrirotori `e stato necessario sfruttare delle radio-antenne con porta USB.

Figura 5.4: Periferica di trasmissione dati al nano-quad.

Joypad: dopo averlo collegato ad una porta USB, bisogna lanciare un programma
(chiamato Joypad Parser ) il cui compito `e quello di prendere i pacchetti di dati
relativi alla pressione di pulsanti e comunicarli a Matlab mediante pacchetto UDP.
Il joypad verr`a sfruttato per cambiare la modalit`a di funzionamento: si vuole
infatti che i quadrirotori decollino e si portino alla stessa quota prima di entrare in
modalit`a di inseguimento del consenso.

5.1

La Ground Station

Si `e sfruttato un modello Simulink preesistente, chiamato Ground Station, che permette di utilizzare i dati acquisiti dal sistema OptiTrack e da un Joystick per generare
gli ingressi di controllo dei quadrirotori (figura 5.5) . Lo schema prevede la presenza di
una macchina a stati il cui scopo `e dare la possibilit`a allutente di selezionare una mo-

5.1 La Ground Station


dalit`a di volo tramite la pressione di determinati pulsanti sul Joystick (originariamente
le modalit`a principali erano: take-off, stop, landing, cruise).

Figura 5.5: Schema della Ground Station


` quindi stato necessario modificare tale schema principalmente per:
E
Prevedere la presenza di tre quadritori invece che uno soltanto.
Utilizzare come traiettorie di riferimento le uscite di un blocco Consensus, che le
generi sulla base delle posizioni iniziali dei quadrirotori e delle richieste di raggi e
centro per la traiettoria.
Modificare la macchina a stati, inserendo la modalit`a Consensus. Nellistante in
cui si entra in tale stato, OptiTrack memorizza la posizione in cui si trovano i quadrirotori e sulla base di questa informazione il blocco consenso genera le traiettorie
da inseguire. Prima di entrare in questa modalit`a, `e opportuno aspettare che i
quadrirotori si siano portati alla stessa quota e stabilizzati.
Utilizzare Il Joystick per spostare il centro della formazione.
In figura 5.5 lo schema della Ground Station. Possiamo distinguere

61

62

5. Il setup di laboratorio e lo schema della Ground Station.


Il blocco Consensus (in rosso), a valle, che genera i riferimenti da inseguire.
I blocchi Controller (in blu), che generano gli effettivi ingressi di controllo.
I blocchi Optitrack (in verde), che forniscono ai blocchi Controller le informazioni
su posizione e velocit`a dei Crazyflie istante per istante.
I blocchi di uscita (in arancione), che trasmettono linformazione sugli ingressi di
controllo ai CrazyFlie tramite lapposita radio-antenna.

5.2

I risultati di laboratorio.

Riportiamo in questa sezione alcuni grafici che mostrano le traiettorie di riferimento


generate e le traiettorie effettivamente percorse dai Crazyflie.
I riferimenti
Si deve inizialmente attendere che i quadrirotori si portino stabilmente alla stessa
quota (riferimenti per X e Y piatti nei primi secondi). Premendo un pulsante sul Joystick, il sistema entra in modalit`a consenso e Optitrack comunica a Matlab le posizioni
iniziali degli agenti. Basandosi su questa informazione, Matlab genera le traiettorie che
portano i Crazyflie a regime.

Si riportano nei plot le traiettorie di riferimento per la X e la Y, mettendo in evidenza


il ruolo dello sfasamento che ogni agente impone su se stesso.

5.2 I risultati di laboratorio.

63

1.5

xcons [m]

1
0.5
0
0.5
1
1.5
0

10

10

15

20

25

15

20

25

1.5
1
x* [m]

0.5
0
0.5
1
1.5
0

time [s]

Figura 5.6: Riferimento per la X, prima e dopo sfasamento.

1.5

0
0.5

0.5
1
1.5
0

y* [m]

ycons [m]

1
0.5

0
0.5
1

5
3

10

15

20

25

15

20

25

1.5
1
y* [m]

0.5
0
0.5
1
1.5
0

10
time [s]

Figura 5.7: Riferimento per la Y, prima e dopo sfasamento.

64

5. Il setup di laboratorio e lo schema della Ground Station.


Linseguimento dei riferimenti
Come spiegato in precedenza, `e impossibile ottenere un errore nullo nellinseguimento
delle traiettorie, a causa degli inevitabili errori parametrici e della presenza della struttura
che sorregge i marker. Il discostamento dalla traiettoria ideale, come vediamo in figura,
risulta per`o contenuto e la performance `e nel complesso soddisfacente. Si riporta la

x [m]

traiettoria effettiva di un singolo quadrirotore ed il suo riferimento ideale.

x
*
x

1
0
1
0

10

15

20

y
y*

y [m]

1
0
1
0

10

15

20

z [m]

25

25

z
z*

0
1
0

10

15

20

time [s]

Figura 5.8: Tracking della traiettoria di riferimento per un quadrirotore.

25

Conclusioni
Abbiamo nel corso di questo lavoro soddisfatto gli obiettivi che ci eravamo posti.

Nei primi tre capitoli si `e trattato da un punto di vista prettamente teorico il problema
del consenso e della convergenza del protocollo di consenso nei casi mono e multivariabile, utilizzando un approccio controllistico basato sullanalisi tramite modelli nello spazio
degli stati. Affiancando la spiegazione dellefficacia dei metodi per risolvere i problemi
mono e multivariabile, si sono effettuate varie simulazioni in ambiente Matlab/Simulink
per trovare riscontro delleffettiva realizzabilit`a di quanto mostrato nella teoria.

Una simulazione, non pi`


u meramente dimostrativa, `e stata realizzata anche nel capitolo 4. Si `e dovuto pensare ad un modo di sfruttare congiuntamente i modelli di sistemi
oscillatori ed integratori per creare il riferimento di traiettorie circolari di centro impostabile, avendo in mente lapplicazione al caso del loitering di un sistema multi-robot:
laspetto pi`
u originale sta nellaver semplicemente unito sistemi eterogenei per risolvere
un problema che inizialmente sembrava richiedere lintroduzione di un terzo di tipo di
sistema pi`
u complesso (non `e stato cio`e necessario trattare il consenso di oscillatori nonlineari con un offset, anche se sarebbe stato possibile agire in tal senso per ottenere gli
stessi risultati).

Tale modello `e stato inserito in quello della Ground Station (capitolo 5) permettendo
cos`, prendendo opportuni accorgimenti implementativi, di sperimentare fisicamente il
coordinamento di gruppo in laboratorio.
65

66

CONCLUSIONI

Si noti che la parte di computazione dei riferimenti `e completamente realizzata dal


calcolatore: sarebbe comunque possibile e semplice, se i quadrirotori avessero sufficiente
potenza di calcolo, distribuire il workload computazionale sui singoli quadrirotori, rendendo quindi effettiva e non simulata la comunicazione tra i vari agenti.

Sviluppi futuri.
Non si `e previsto un modo di evitare le eventuali collisioni tra gli agenti durante il
transitorio del consenso: le traiettorie vengono generate garantendo soltanto la convergenza sulla circonferenza desiderata, senza imporre ulteriori vincoli. Per questo motivo,
in laboratorio ci si `e curati di posizionare i quadrirotori in posizioni iniziali non rischiose. Tuttavia, per rendere maggiormente implementabile ed affidabile lo schema di
coordinamento proposto, sviluppi futuri dovranno affrontare questo importante problema.

Lapproccio che pi`


u plausibilmente verr`a seguito sar`a quello di separare completamente il problema di generazione delle traiettorie di consenso da quello di collision avoidance.
Infatti, la potenza della teoria del consenso sta proprio nella semplicit`a delle informazioni scambiate, e complicare il protocollo per implementare la collision-avoidance avrebbe
come conseguenza la perdita dei principali vantaggi che questa tecnica di coordinamento
offre.

Bibliografia
[1] P. Wieland, From Static to Dynamic Couplings in Consensus and Synchronization
among Identical and Non-Identical Systems, PhD thesis, Universitat Stuttgart,
2010.
[2] L. Moreau, Stability of multi-agent systems with time-dependent communication
link, IEEE Trans. Automat. Contr., 50(2), pp. 169-182, 2005.
[3] C. Godsil, G. Royle, Algebraic Graph Theory, Springer.
[4] M. Arcak. Passivity as a design tool for group coordination, IEEE Trans. Aut.
Contr., 52(8), pp. 1380-1390, 2007.
[5] A. Isidori, L. Marconi, G. Casadei, Robust output synchronization of a network
of heterogeneous nonlinear agents via nonlinear regulation theory, IEEE Trans. on
Aut. Contr.
[6] Dispense del corso di Sistemi Robotici Distribuiti, Universit`a di Pisa, docente:
Dott.ssa Lucia Pallottino.
[7] Bolzern Paolo, Scattolini Riccardo, Schiavoni Nicola, Fondamenti di Controlli
Automatici, McGraw-Hill .

67