Sonno, Giuseppe

` degli Studi di Siena
Universita
Facolt`a di Ingegneria Informatica
Corso di laurea specialistica in Robotica e Automazione
Tesi di Laurea Specialistica
Controllo di un veicolo autonomo per
il monitoraggio ambientale di sistemi
acquatici
Relatore:
Candidato:
Giuseppe Sonno
Prof.ssa Chiara Mocenni
Correlatore:
Ing. Emiliano Sparacino
Anno accademico 2010-2011
Indice
Elenco delle figure
iv
Elenco delle tabelle
v
Introduzionei
vi
1 Modellizzazione di Veicoli Marini
1
1.1
Modello Base . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2
Secondo modello . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.3
Terzo Modello . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2 Feedback Linearization
11
2.1
Concetto intuitivo . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2
Input-Output Linearization . . . . . . . . . . . . . . . . . . . 15
2.3
Dinamica interna . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4
Zero Dinamica . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5
Input state linearization . . . . . . . . . . . . . . . . . . . . . 19
2.6
Sistemi Multi Input . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6.1
2.7
Feedback Linearization di sistemi MIMO . . . . . . . . 23
Riepilogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 Controllo dei tre modelli
30
3.1
Primo Controllore . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2
Secondo Controllore . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3
Terzo Controllore . . . . . . . . . . . . . . . . . . . . . . . . . 36
i
INDICE
ii
4 Simulazioni
37
4.1
Prima simulazione
. . . . . . . . . . . . . . . . . . . . . . . . 37
4.2
Pianificazione della traiettoria . . . . . . . . . . . . . . . . . . 44
4.2.1
Point to point motion
. . . . . . . . . . . . . . . . . . 45
4.2.2
Moto attraverso una sequenza di punti . . . . . . . . . 48
4.3
Simulazioni su traiettorie pi`
u complesse . . . . . . . . . . . . . 49
4.4
Incertezza sul modello . . . . . . . . . . . . . . . . . . . . . . 51
5 Applicazione
55
5.1
Il sistema lagunare . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2
Applicazioni del Robot . . . . . . . . . . . . . . . . . . . . . . 57
Conclusioni
5.3
61
Sviluppi Futuri . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Bibliografia
63
Elenco delle figure
1
Schema dell’intero sistema di monitoraggio e elaborazione dei dati acquisiti
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
1.1
Sitema di riferimento solidale al corpo e di terra
1.2
Modello di un AVS con due propulsori
1.3
Forze e distanze del prototipo reale
. . . . . . . . . . . .
3
. . . . . . . . . . . . . . . .
4
. . . . . . . . . . . . . . . . . .
8
2.1
Chattering dovuto al ritardo di cambiamento del controllo
2.2
Funzione di saturazione per l’eliminazione del chattering
4.1
Spostamento del veicolo da un punto ad un altro
4.2
Ingressi del sistema
4.3
Errori nel raggiungimento dell’obbiettivo
4.4
Spostamento del veicolo da un punto ad un altro
4.5
Ingressi del sistema
4.6
Errori del sistema
4.7
Posizione della veicolo
4.8
Ingressi del sistema utilizzando il secondo modello
4.9
Errori del sistema utilizzando il secondo modello
. . . . . . . 27
. . . . . . . . 28
. . . . . . . . . . . 38
. . . . . . . . . . . . . . . . . . . . . . . . . 38
. . . . . . . . . . . . . . . 39
. . . . . . . . . . . 39
. . . . . . . . . . . . . . . . . . . . . . . . . 40
. . . . . . . . . . . . . . . . . . . . . . . . . . 40
. . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . 41
. . . . . . . . . . . . 42
4.10 Velocit`a del robot . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.11 Posizioni del robot durante la simulazione
. . . . . . . . . . . . . . 43
4.12 Errori del sistema utilizzando il terzo modello . . . . . . . . . . . . . 44
4.13 Caratteristica temporale con velocit`a trapezoidale in termini di posizione
velocit`
a e accelerazione
. . . . . . . . . . . . . . . . . . . . . . . . 46
4.14 Posizioni del robot utilizzando il profilo trapezoidale delle velocit`a . . . 49
iii
ELENCO DELLE FIGURE
iv
4.15 Ingressi del sistema utilizzando il profilo trapezoidale delle velocit`a . . . 50
4.16 Errori del sistema utilizzando il profilo trapezoidale delle velocit`a . . . . 50
4.17 Profilo trapezoidale delle velocit`a . . . . . . . . . . . . . . . . . . . 51
4.18 Posizioni del robot che percorre una traiettoria coseno . . . . . . . . . 52
4.19 Posizioni del robot che percorre una traiettoria circolare . . . . . . . . 53
4.20 Posizioni del robot utilizzando il modello con incertezza sui parametri . . 54
4.21 Errori del sistema utilizzando il modello con incertezza sui parametri . . 54
5.1
Distribuzione dell’ossigeno disciolto in acqua in percentuale
5.2
Punti di raccolta dell’ossigeno
5.3
Stima della distribuzione dell’ossigeno disciolto
5.4
Errore di stima dell’ossigeno disciolto
. . . . . . . 58
. . . . . . . . . . . . . . . . . . . . . 58
. . . . . . . . . . . . 59
. . . . . . . . . . . . . . . . . 59
Elenco delle tabelle
1.1
Notazione utilizzata per veicoli marini
v
. . . . . . . . . . . . . . . . .
2
Introduzione
Questo lavoro di tesi affronta il problema della progettazione, modellistica
e realizzazione di un sistema di monitoraggio ambientale degli ecosistemi
acquatici in grado di fornire strumenti di pianificazione e gestione di oasi e
riserve naturali e sistemi costieri come porti lagune e acque di transizione.
Il sistema proposto in questa tesi `e un Autonomous Surface Vessel (ASV),
costituito da un robot mobile autonomo in grado di esplorare in superficie un
ambiente acquatico, di effettuare misurazioni ambientali e di scattare foto e
registrare video, interfacciato con un sistema esperto capace di elaborare le
informazioni, valutare lo stato di salute dell’ecosistema e coadiuvare le scelte
di gestione degli operatori. Le informazioni prelevate dal sistema saranno
riportate ai visitatori tramite un totem multimediale e pubblicate in rete
attraverso un apposito portale web al fine di incrementare la conoscenza sul
sistema da parte di cittadini e turisti e di fornire grandi quantitativi di dati a
disposizione dei ricercatori che si occupano della modellistica e della gestione
delle zone acquatiche.
In particolare i vantaggi offerti da tale sistema sono molteplici. Il coinvolgimento del cittadino e del visitatore nelle attivit`a di gestione di oasi e
riserve naturali, oltre a sensibilizzarlo alle tematiche e favorire il rispetto ambientale, potr`a vedere la nascita spontanea di reti sociali e gruppi di discussione potenzialmente in grado di promuovere idee utili all’ente di gestione,
nonch´e facilitare la divulgazione di informazioni proprie sul territorio. Inoltre, tali strumenti potranno essere utilizzati per costruire reti di monitoraggio
ambientale di zone a rischio, come le acque di transizione.
vi
Introduzione
L’intero sistema `e stato realizzato utilizzando materiale a basso costo, a
basso impatto ambientale e ove possibile, con tecnologie open source. Ovviamente, il completamento del progetto `e complesso e composto da vari
elementi cardine che permettono di realizzarlo. E’ infatti possibile suddividere il sistema in tre parti fondamentali: il robot per il monitoraggio, del
quale tratta prevalentemente questa tesi, il totem informativo ed il server
per l’archiviazione e l’elaborazione dei dati.
Il robot `e stato realizzato in forma prototipale utilizzando materiale a
basso costo e sar`a in grado di operare in totale autonomia grazie ad un sistema
intelligente capace di prevedere lo stato futuro dell’ambiente. Il veicolo ha
dimensioni ridotte in modo da garantire bassi consumi e facilit`a di trasporto
e manutenzione e sar`a equipaggiato con una sonda multiparametrica per le
misurazioni di variabili ambientali d’interesse. Per l’elettronica di bordo sono
stati utilizzati un microcontrollore open source Arduino interfacciato con un
mini-pc industriale Fit-Pc. Per la navigazione e la localizzazione del veicolo si
utilizza un segnale GPS e le informazioni geografiche contenute nelle mappe
di Google. Il veicolo sar`a inoltre equipaggiato con un sistema video allo scopo
di monitorare in tempo reale lo stato della flora e della fauna subacquea e
superficiale della zona di osservazione.
Le misurazioni delle variabili ambientali effettuate dal sistema di monitoraggio verranno inviate via radio ad un server a terra dove, oltre ad essere
raccolte in un database e riportate tramite un interfaccia software, agli operatori, saranno utilizzate per definire un modello previsionale dell’ambiente. Le
indicazioni di tale modello saranno elaborate automaticamente ed utilizzate
da un sistema di supporto alle decisioni esperto (DSS), sia per pianificare
la traiettoria ottimale da far seguire al robot, sia per fornire agli operatori
indicazioni strategiche per la gestione dell’ecosistema in esame, come si vede
in figura 1.
Tale metodologia ha notevoli vantaggi, tra cui la disponibilit`a costante
da parte degli operatori di:
• misure prelevate in modo continuo in zone ritenute critiche e di interesse
vii
Introduzione
Figura 1: Schema dell’intero sistema di monitoraggio e elaborazione dei dati acquisiti
dal punto di vista ambientale;
• informazioni temporali e spaziali sullo stato attuale, pregresso e futuro
dell’ambiente;
• indicazioni strategiche sull’evoluzione futura del sistema utili all’attuazione di misure preventive per la salvaguardia dell’ambiente.
Tutti le informazioni contenute nel server potranno essere pubblicate in
rete dal sistema informatico. A questo scopo sar`a sviluppato un apposito sito
web per l’accesso pubblico ai documenti e alle misure prese in loco a scopo
di ricerca e didattica. In questa configurazione, il sistema si adatta bene alla
formazione di una rete in grado di raccogliere misurazioni e immagini di varie
zone per la condivisione e la divulgazione scientifica globalizzata dello stato
delle acque interne toscane e/o nazionali.
Casi di studio potrebbero essere il Lago di Burano e la Laguna di Orbetello. Entrambi sono caratterizzati da bassi fondali e da strette fasce di terra che
li separano dal Mar Tirreno e di conseguenza da un ricambio d’acqua insufficiente ad evitare la comparsa di fenomeni di ipossia e anossie. Questi eventi
viii
Introduzione
causano gravi danni all’ecosistema lagunare ma attraverso il monitoraggio
continuo delle acque e l’elaborazione dei dati raccolti `e possibile anticipare
gli interventi atti al ripristino delle aree o addirittura prevedere la comparsa
di tali fenomeni.
ix
Capitolo 1
Modellizzazione di Veicoli
Marini
Per progettare il controllore del Autonomous Surface Vessel (AVS) `e stato
necessario individuare un opportuno modello matematico che ne descrivesse
il comportamento. Nel corso degli studi si `e riusciti ad ottenerne tre a diversi
livelli di complessit`a. La modellizzazione dei veicoli marini include lo studio
della statica e della dinamica. La statica ha a che fare con l’equilibrio del
corpo a riposo o in movimento a velocit`a costante, mentre per dinamica si
fa riferimento ad un corpo in moto accelerato. E’ consuetudine dividere lo
studio della dinamica in due parti: cinematica la quale tratta solamente gli
aspetti del moto che dipendono dalla geometria dell’oggetto e la cinetica la
quale analizza le varie forze che sono causa del moto.
Nel caso pi`
u generale il moto di veicoli marini `e composto da sei gradi di libert`a (DOF) e quindi sono necessarie sei variabili indipendenti per
determinare la posizione e l’orientazione di un corpo rigido. Le prime tre
coordinante e le loro rispettive derivate corrispondono alla posizione e alla
traslazione lungo gli assi x, y e z, mentre le altre tre coordinate e le loro
derivate vengono utilizzate per descrivere l’orientazione e la rotazione. Le sei
differenti componenti del moto sono convenientemente definite come: surge,
sway, heave, roll, pitch, e yaw come si vende nella tabella 1.1.
1
2
Tabella 1.1: Notazione utilizzata per veicoli marini
DOF
vel.linear.angol.
posizioni e angoli
1
movimento in direzione x (sourge)
u
x
2
movimento in direzione y (sway)
v
y
3
movimento in direzione z (heave)
w
z
4
rotazione intorno all’asse x (roll)
p
φ
5
rotazione intorno all’asse y (pitch)
q
θ
6
rotazione intorno all’asse z (yaw)
r
ψ
Per analizzare il moto di un veicolo marino con molti gradi di libert`a
`e utile definire due sistemi di riferimento come indicato nella figura 1.1. Il
primo `e conveniente fissarlo al veicolo e viene chiamato body-fixed reference
frame oppure I-frame. L’origine di questo sistema di riferimento viene fatta
coincidere con il centro di massa del veicolo che generalmente costituisce il
piano principale di simmetria, oppure pu`o essere fissata in ogni altro punto
conveniente. Gli assi X0 , Y0 e Z0 coincidono con i principali assi d’inerzia del
veicolo e sono generalmente definiti come:
• X0 asse longitudinale (diretto da poppa a prua)
• Y0 asse trasversale (diretto a strabordo)
• Z0 asse della normale (diretto da sopra a sotto)
Si assume che l’accelerazione di un punto sulla superficie terrestre sia trascurabile, infatti questa `e una buona approssimazione in quanto il movimento
della terra genera degli effetti di bassa velocit`a nei veicoli. In conclusione si
pu`o considerare che il sistema di riferimento di terra XY Z sia inerziale. Questo suggerisce che la posizione e l’orientazione si descrivono relativamente al
sistema di riferimento inerziale, mentre le velocit`a lineari e angolari si esprimono in riferimento al sistema di riferimento solidale al corpo. Si veda [1]
per maggiori dettagli.
1.1 Modello Base
3
Figura 1.1: Sitema di riferimento solidale al corpo e di terra
1.1
Modello Base
Il problema preso in considerazione `e quello di controllare la posizione e
l’orientazione di un AVS con un numero minore di gradi di libert`a e con due
propulsori indipendenti e orientabili come mostrato in figura 1.2 .
La cinematica che descrive la relazione geometrica tra il sistema di riferimento a terra (I-frame) e quello solidale al veicolo (B-frame) `e data
da
x˙ = υx cos(ψ) − υy sin(ψ)
(1.1)
y˙ = υx sin(ψ) + υy cos(ψ)
(1.2)
ψ˙ = ωz
(1.3)
dove x, y denotano la posizione del centro di massa del veicolo rispetto al
sistema di riferimento di terra, ψ denota l’angolo di orientamento e υx , υy , ωz
1.1 Modello Base
4
Figura 1.2: Modello di un AVS con due propulsori
sono rispettivamente le velocit`a tangenziali e angolare del veicolo nel sistema
di riferimento solidale ad esso. Per semplicit`a l’origine del B-frame si assume
che sia localizzata nel centro di massa del veicolo e che il mezzo sia capace
di galleggiare. Sotto queste semplici assunzioni le equazioni differenziali che
regolano il moto possono essere espresse come
M ν˙ + C (ν)ν + D(ν)ν = τ
(1.4)
dove ν = (υx , υy , ωz )T denota il vettore delle velocit`a, e τ = (Fx , Fy , Tz )T `e
il vettore delle forze esterne e delle coppie generate dai due propulsori.
M ∈ R3x3 `e la matrice d’inerzia che include la massa idrodinamica aggiunta. Infine, C (ν) e D (ν) sono rispettivamente la matrice di Coriolis e di
smorzamento ed anch’esse includono gli effetti della massa idrodinamica
aggiunta.
La massa idrodinamica aggiunta `e una componente di forza dovuta all’aumento dell’inerzia di un oggetto che si muove in un fluido, legato al fatto
che anche una parte di fluido deve essere posto in movimento. Le forze della
massa aggiunta vengono espressi in coefficienti che dipendono unicamente
dalla geometria dell’oggetto.
1.1 Modello Base
5
Per quanto riguarda il modello si assume che la matrice d’inerzia M e di
smorzamento D siano costanti e diagonali, mentre la matrice di Coriolis `e
Skew simmetrica e ha la seguente forma


0
0
−m22 υy



C(ν) = 
0
0
m
υ
11 x 

m22 υy −m11 υx
0
(1.5)
Queste assunzioni risultano soddisfatte quando:
1. il veicolo ha due assi di simmetria perpendicolari (per esempio un corpo
ellittico)
2. i termini di smorzamento idrodinamico di ordine superiore al primo
sono trascurabili
3. i cambiamenti d’inerzia sono trascurabili.
Sotto queste condizioni semplificative si ottengono le seguenti equazioni della
dinamica
m11 υ˙ x − m22 υy ωz + d11 υx = Fx
(1.6)
m22 υ˙ y + m11 υx ωz + d22 υy = Fy
(1.7)
m33 ω˙ z + (m22 − m11 ) υx υy + d33 ωz = Tz
(1.8)
dove mii e dii sono costanti positive.
Riportando queste equazioni nel sistema di riferimento solidale al veicolo
e definendo le variabili di stato nel seguente modo
(x1 , x2 , x3 , x4 , x5 , x6 ) = (ψ, xcosψ + ysinψ, −xsinψ + ycosψ, υy , ωz , υx ) ,
otteniamo che il sistema in spazio di stato `e dato da
1.2 Secondo modello
6
x˙1 = x5
x˙2 = x6 + x3 x5
x˙3 = x4 − x2 x5
(1.9)
x˙4 = u1
x˙5 = u2
x˙6 = u3
u1 = (Fy + m11 υx ωz − d22 υy ) /m22
(1.10)
u2 = (Tz − d33 ωz + (m11 − m22 ) υx υy ) /m33
(1.11)
u3 = (Fx + m22 υy ωz − d11 υx ) /m11 ,
(1.12)
dove le variabili (x1 , x2 , x3 ) corrispondono alla posizione e orientazione
angolare del veicolo, mentre le variabili (x4 , x5 , x6 ) sono le componenti di
velocit`a. Le equazioni ((1.9) definiscono un sistema non lineare che si pu`o
sinteticamente scrivere nella seguente forma
x˙ = f (x) +
3
X
gi (x)ui ,
(1.13)
i=1
dove x = (x1 , x3 , x3 , x4 , x5 , x6 )T rappresenta tutto lo stato mentre f e g sono
dei campi vettoriali. Si veda [3] per maggiori dettagli.
1.2
Secondo modello
Nel precedente modello gli ingressi sono costituiti dalle forze applicate al
centro di massa dell’oggetto e da combinazioni delle altre variabili di stato.
Inoltre tutte le variabili sono riferite al B-frame, rendendo il modello non
particolarmente utile. Andando perci`o ad esplicitare le forze come unici ingressi e riferendo al sistema di riferimento inerziale le variabili di orientazione
1.3 Terzo Modello
7
spaziale del veicolo, si ottiene un secondo modello della forma
x˙ = υx cos(ψ) − υy sin(ψ)
y˙ = υx sin(ψ) + υy cos(ψ)
ψ˙ = ωz
d11
1
m22
υx υy −
υx +
u1
υ˙x =
m11
m11
m11
m11
d22
1
υ˙y =
υx ωz −
υy +
u2
m22
m22
m22
(m22 − m11 )
d33
1
ω˙z = −
υx υy −
ωz +
u3 ,
m33
m33
m33
(1.14)
u1 = Fx
(1.15)
u2 = F y
(1.16)
u 3 = Tz
(1.17)
dove
In questo modello, le prime tre variabili rappresentano rispettivamente
ascissa e ordinata del punto nel quale si trova l’imbarcazione e l’angolo d’orientazione, espresse nel sistema di riferimento a Terra. Le ultime tre equazioni esprimono le due velocit`a lineari e la velocit`a angolare, le quali per`o
rimangono sempre formulate rispetto al sistema di riferimento ancorato al
veicolo. Gli ingressi sono linearmente indipendenti, non contengono le altre
variabili di stato e risultano esclusivamente composte dalle forze da applicare
al centro di massa del veicolo.
1.3
Terzo Modello
Il precedente modello risulta molto attendibile ed efficace, ma alcuni fattori vengono trascurati come la distanza d’applicazione delle forze dal centro
di massa ed il fatto che i motori possono inclinarsi per favorire una virata
decisamente pi`
u veloce ed in porzioni di spazio molto esigue. La situazione
prospettata `e quella in figura 1.3.
1.3 Terzo Modello
8
Figura 1.3: Forze e distanze del prototipo reale
Tutto ci`o comporta che l’ipotesi di lineare indipendenza tra gli ingressi
viene a decadere in quanto valgono le seguenti relazioni:
Fx = − (Tp + Ts ) cosα
(1.18)
Fy = − (Tp + Ts ) sinα
(1.19)
Tz = dy (Tp − Ts ) cosα + dx (Tp + Ts ) sinα
(1.20)
Dove Tp e Ts sono le spinte esercitate da babordo a tribordo dai rispettivi propulsori, mentre α fornisce la direzione della spinta. Quando α = 0
otteniamo una forza soltanto in direzione xb (in questo modo indichiamo
la direzione delle ascisse con esplicito riferimento al B-frame) e l’angolo `e
misurato in senso orario in linea con la convenzione. Inoltre dy e dx sono
rispettivamente la distanza tra i due motori e la lontananza dalle eliche dal
centro di massa .
1.3 Terzo Modello
9
Cercando di integrare le relazioni (28)-(30) nell’intero sistema si ottiene:
x˙ = υx cos(ψ) − υy sin(ψ)
y˙ = υx sin(ψ) + υy cos(ψ)
ψ˙ = ωz
m22
d11
1
υ˙x =
υx υy −
υx +
Fx
m11
m11
m11
d22
1
m11
υx ωz −
υy +
Fy
v˙y =
m22
m22
m22
(m22 − m11 )
d33
1
ω˙z = −
υx υy −
ωz +
Tz
m33
m33
m33
T˙p = u1
(1.21)
T˙s = u2
α˙ = u3
In questo modello gli ingressi sono realmente le forze e l’angolo di inclinazione α da dare ai motori per eseguire correttamente le varie traiettorie.
Purtroppo si ottiene cos`ı un modello di ordine nove, molto pi`
u complesso
del precedente e difficile da utilizzare per le simulazioni, in quanto il tempo
di integrazione diventa significativamente lungo. Per queste ragioni il modello che verr`a utilizzato maggiormente nel corso del lavoro sar`a il secondo,
sebbene non mancheranno simulazioni effettuate con quest’ultimo modello.
In conclusione, possiamo affermare di essere di fronte ad un sistema MIMO non lineare e non linearizzabile con tecniche classiche che fanno ricorso
allo Jacobiano.
A questo punto `e necessario individuare una tecnica opportuna che permetta di controllare il sistema.
Un primo approccio, legato all’utilizzo delle tecniche apprese durante il
corso degli studi, pu`o consistere nella progettazione di un PID, ovviamente
data la spiccata non linearit`a del sistema `e logico supporre che i risultati che
si otterranno non saranno ottimi, ci`o non toglie che possano essere comunque
accettabili in quanto errori di un metro o poco pi`
u non risultano gravemente
dannosi per il sistema. Inoltre, `e stato individuato del materiale nel quale,
1.3 Terzo Modello
partendo da un modello del tutto simile a quelli mostrati, il PID non risulta
molto efficace rispetto alle tecniche non lineari. Per questo motivo, ed anche
per motivi didattici e di ricerca, si `e ritenuto pi`
u opportuno studiare un
metodo di controllo non lineare. Uno dei pi`
u utilizzati `e senza dubbio la
Feedback Linearization che, come gi`a si evince dal nome, cerca di linearizzare
il sistema mediante un’apposita retroazione e trasferisce tutte le non linearit`a
sugli ingressi da dare al sistema. Nel prossimo capitolo verr`a trattata in
maniera approfondita tutta la teoria che ne permette la realizzazione.
10
Capitolo 2
Feedback Linearization
Feedback linearization `e una tecnica per il progetto di controllori applicabile a sistemi non lineari studiata negli ultimi anni. L’idea centrale di
questo approccio `e quella di trasformare un sistema non lineare in uno completamente o parzialmente lineare, cos`ı che le tecniche di controllo lineari
possano essere applicate. Ci`o `e completamente diverso dalla linearizzazione
per mezzo dalle convenzionali tecniche, in quanto la feedback linearization
si ottiene mediante una trasformazione esatta dello stato ed una particolare
azione retroattiva.
L’idea di semplificare la dinamica del sistema scegliendo una differente
rappresentazione dello stato non `e completamente sconosciuta. In meccanica,
per esempio, `e ben noto che la forma e la complessit`a di un modello dipendono
considerevolmente dalla scelta del sistema di riferimento o dal sistema di
coordinate. La Feedback linearization pu`o essere vista come una via per
trasformare il sistema originale in un modello equivalente pi`
u semplice.
Questa tecnica `e stata utilizzata con successo in particolari ambiti che includono il controllo di elicotteri, velivoli ad alte prestazioni, robot industriali
e dispositivi biomedici. Tuttavia ci sono un numero di carenze e limitazioni
associate a questo tipo di approccio che sono ancora oggi oggetto di ricerca.
11
2.1 Concetto intuitivo
2.1
12
Concetto intuitivo
Consideriamo per il momento, una classe di sistemi non lineari del tipo
x˙ = f (x) + G(x)u
(2.1)
y = h(x),
(2.2)
e supponiamo che esista un controllo in retroazione del tipo
u = α(x) + β(x)v.
(2.3)
Introduciamo un cambio di variabile
z = T (x)
(2.4)
che trasforma il sistema non lineare in un equivalente sistema lineare.
Per introdurre l’idea della Feedback Linearization partiamo dal semplice
ed intuitivo problema di stabilizzare le equazioni del pendolo
x˙1 = x2
(2.5)
x˙2 = −a[sin(x1 + δ) − sin(δ)] − bx2 + cu.
(2.6)
Supponiamo di scegliere come ingressi
a
v
u = − [sin(x1 + δ) − sin(δ)] +
c
c
(2.7)
in modo da cancellare il termine non lineare a[sin(x1 + δ) − sin(δ)] e ottenere
x˙1 = x2
(2.8)
x˙2 = −bx2 + v
In questo modo il problema della stabilizzazione del sistema non lineare si riduce a quello di stabilizzare il sistema lineare 2.8. Possiamo quindi procedere
alla progettazione di un controllore lineare in retroazione del tipo
v = −k1 x1 − k2 x2
(2.9)
2.1 Concetto intuitivo
13
per localizzare gli autovalori del sistema ad anello chiuso nella parte del
semipiano negativo. Quindi il sistema diventa
x˙1 = x2
(2.10)
x˙2 = −k1 x1 − (k2 + b)x2
(2.11)
La legge di controllo completa `e data da
1
u = −a[sin(x1 + δ) − sin(δ)] − (k1 x1 + k2 x2 )
c
(2.12)
Ovviamente per cancellare le non linearit`a da un sistema devono essere presenti certe caratteristiche, infatti per cancellare un termine non lineare α(x)
mediante una sottrazione, il controllo u e la non linearit`a α(x) devono apparire nel modello insieme in una somma u + α(x), mentre per cancellare un
termine non lineare γ(x) attraverso una divisione, il controllore u e la non linearit`a γ(x) devono apparire come prodotto uγ(x). Se la matrice γ(x) `e non
singolare nel dominio di interesse pu`o essere cancellata imponendo u = β(x)v
dove β(x) = γ −1 (x) `e l’inversa della matrice γ(x).
La possibilit`a di applicare Feedback Linearization per convertire un sistema in forma di stato non lineare in un sistema lineare controllabile richiede
che il sistema in forma di stato non lineare sia della forma
x˙ = Ax + Bγ[u − α(x)],
(2.13)
dove An×n ;B n×p e la coppia (A,B) sia controllabile, la funzione α : Rn → Rp
sia definita in un dominio D ⊂ Rn che contiene l’origine e la matrice γ(x)
sia non singolare ∀x ∈ D. Se le equazioni di stato sono della forma (2.13)
allora possiamo linearizzarlo attraverso la retroazione
u = α(x) + β(x)v,
(2.14)
dove β(x) = γ −1 (x) in modo da ottenere un modello lineare del tipo
x˙ = Ax + Bv.
(2.15)
2.1 Concetto intuitivo
14
Per stabilizzare il modello si progetta una v = −kx tale che A − BK sia
Hurwitz, cio`e tale che tutti gli autovalori della matrice abbiano parte reale
minore di zero. Se il sistema non lineare non rispecchia la struttura (2.13)
allora non `e possibile linearizzarlo con la Feedback Linearization. E’ noto
che il modello di un sistema non `e univoco in quanto modificando la scelta
delle variabili di stato `e possibile ricondurlo alla forma (2.13).
In un cambio di variabile z = T (x), utilizzato per trasformare le equazioni di stato dalle coordinate x alle coordinate z, la mappa T deve essere
invertibile in modo che x = T −1 (z) ∀z ∈ D, dove D `e il dominio di T . Inoltre
poich´e le derivate di x e z devono essere continue, si richiede che T e T −1
siano continue e differenziabili. Una mappa continua e differenziabile con
una inversa continua e differenziabile si chiama diffeomerfismo.
Se lo Jacobiano [∂T /∂x] `e non singolare in un punto x0 ∈ D, per il
teorema della funzione inversa, esiste un interno N di x0 tale che T ristretta a
N `e un diffeomorfismo in N . Una matrice T `e detta essere un diffeomorfismo
globale se `e un diffeomorfismo in Rn e T (Rn ) = Rn . Adesso abbiamo tutti
gli elementi per introdurre il metodo della Feedback Linearization.
Definizione 1. Un sistema non lineare
x˙ = f (x) + G(x)u,
(2.16)
dove f : D → Rn e G → Rnxp sono sufficientemente regolari in un dominio
D ⊂ Rn , `e detta linearizzabile in retroazione se esiste un diffeomorfismo
T : D → Rn tale che l’immagine Dz = T (D) contiene l’origine e il cambio di
variabile z = T (x) trasforma il sistema (2.16) nella forma
x˙ = Ax + Bγ[u − α(x)],
(2.17)
con (A, B) controllabile e γ(x) non singolare ∀x ∈ D.
Quando certe variabili di uscita sono d’interesse, come nel caso dell’inseguimento di una traiettoria, il modello `e descritto sia dalle equazioni dello
stato che dalla relazione ingresso uscita. Linearizzando le equazioni di stato
2.2 Input-Output Linearization
15
non necessariamente si linearizzano le equazioni ingresso uscita. Si possono
dunque distinguere due differenti approcci Input-Output Linearization e full
state linearization.
2.2
Input-Output Linearization
Consideriamo inizialmente un sistema single-input single-output (SISO)
del tipo
x˙ = f (x) + g(x)u
(2.18)
y = h(x),
dove f , g e h sono sufficientemente lisce in un dominio D ∈ Rn . Le mappe
f : D → Rn e g : D → Rn sono detti campi vettoriali in D. Le derivate y˙
sono date da
y˙ =
∂h
[f (x) + g(x)u] =def Lf h(x) + Lg h(x)u
∂x
(2.19)
dove
Lf h(x) =
∂h
f (x)
∂x
(2.20)
`e chiamata la derivata di Lie di h rispetto a f . E’ anche possibile definire il
gradiente di h come
∇h =
∂h
.
∂x
Il gradiente `e rappresentato da un vettore riga di elementi (∇h)j =
(2.21)
∂h
e
∂xj
quindi l’espressione (2.20) pu`o essere riscritta come
Lf h(x) = ∇hf (x)
(2.22)
Questa `e la notazione che viene utilizzata per descrivere la derivata di h lungo
le traiettorie del sistema x˙ = f (x). Talvolta risulta conveniente introdurre
una nuova notazione quando si ripete il calcolo della derivata rispetto ad un
2.2 Input-Output Linearization
16
determinato campo vettoriale. Viene perci`o utilizzata la seguente notazione
nei vari casi:
L0f h(x) = h(x)
(2.23)
∂(Lf h)
f (x)
∂x
∂(Lk−1
f h)
Lkf h(x) = Lf Lk−1
h(x)
=
f (x)
f
∂x
∂(Lf h)
Lg Lf h(x) =
g(x)
∂x
L2f h(x) = Lf Lf h(x) =
(2.24)
(2.25)
(2.26)
Tornando alla (2.19), se Lg h(x) = 0 otteniamo y˙ = Lf h(x), ma risulta
indipendente da u. Procedendo con il calcolo della derivata seconda di y,
indicata con y (2) , otteniamo
y (2) =
∂(Lf h)
[f (x) + g(x)u] = L2f h(x) + Lg Lf h(x)u.
∂x
(2.27)
Se, come nel precedente caso, Lg Lf h(x) = 0, allora y (2) = L2f h(x), ancora
una volta indipendente da u. Ripetendo questo processo si vede che se h(x)
soddisfa
ρ−1
Lg Li−1
f h(x) = 0, i = 1, 2, . . . , ρ − 1; Lg Lf h(x) 6= 0,
(2.28)
la u non compare nelle equazioni di y, y,
˙ y (2) , . . . , y ρ−1 ma appare nell’equazione y ρ con coefficiente non nullo
y ρ = Lρf h(x) + Lg Lρ−1
f h(x)u.
(2.29)
La precedente equazione mostra chiaramente che il sistema `e linearizzabile
in modo ingresso-uscita dalla legge di controllo
u=
1
[−Lρf h(x)
ρ−1
Lg Lf h(x)
+ v],
(2.30)
che riduce la mappa ingresso-uscita a
y (ρ) = v,
(2.31)
la quale `e una catena di ρ integratori. In questo caso il numero intero ρ `e
chiamato grado relativo del sistema in accordo con la seguente definizione.
2.3 Dinamica interna
17
Definizione 2. Il sistema non lineare (2.18) ha grado relativo ρ, 1 6 ρ 6 n,
in una regione D0 ∈ D se
ρ−1
Lg Li−1
f h(x) = 0, i = 1, 2, . . . , ρ − 1; Lg Lf h(x) 6= 0
(2.32)
per tutti x ∈ D0 .
In conclusione si pu`o affermare che il problema originario pu`o essere ricondotto a quello di controllare il sistema lineare (2.31) dove , per ρ = 1 si
sceglie v = y˙ d − Kp (y − yd ) ottenendo cos`ı un’equazione dell’errore del tipo
e˙ + Kp e = 0
(2.33)
In questo caso Kp `e una matrice definita positiva di apposite dimensioni, yd
`e la traiettoria desiderata e e = y − yd .
2.3
Dinamica interna
Come gi`a detto in precedenza, il sistema ha grado relativo ρ se differenziando ρ volte l’output, compare una esplicita relazione con l’input . Pu`o
essere dimostrato formalmente che ogni sistema controllabile di ordine n necessita al massimo di n differenziazioni delle uscite per far apparire gli ingressi, perci`o il grado relativo ρ di un sistema sar`a sempre ρ ≤ n. Il sistema
non sar`a controllabile se si eseguono pi`
u di n derivate e le variabili di input
non compaiono .
Tutte le volte che ρ < n significa che parte della dinamica del sistema `e
inosservabile e incontrollabile e per questo detta dinamica interna.
Il sistema `e controllabile se la dinamica interna `e stabile, altrimenti l’instabilit`a della dinamica interna potrebbe causare fenomeni indesiderati quali,
la combustione di fusibili o violente vibrazioni delle componenti meccaniche;
perci`o l’efficacia della legge di controllo si basa sulla stabilit`a della dinamica
interna.
In genere `e molto difficile determinare la stabilit`a della dinamica interna
perch´e `e non lineare, non autonomo ed inoltre viene influenzato dalla retroazione. In alcuni sistemi `e utile effettuare un’analisi di Lyapunov mentre in
2.4 Zero Dinamica
altri risulta difficile individuare la funzione opportuna, perci`o si cerca una
via pi`
u semplice per determinare la stabilit`a della dinamica interna. Risulta
utile allo scopo traslare il concetto della dinamica interna in un contesto pi`
u
familiare come quello dei sistemi lineari.
Prendendo in considerazione le funzioni di trasferimento di due diversi
sistemi
p+1
p−1
,
W
(p)
=
,
2
p2
p2
dove solo la dinamica interna di W1 `e stabile. Per capire la profonda diffeW1 (p) =
renza tra i due sistemi `e necessario esaminare le funzioni di trasferimento. E’
evidente che i due sistemi hanno gli stessi poli ma zeri diversi. In particolare,
nel primo, dove la dinamica interna `e stabile, lo zero `e nel semipiano sinistro
e precisamente in −1, mentre nel secondo `e posizionato nel semipiano destro
in 1.
Dall’osservazione precedente si pu`o dedurre che per tutti i sistemi lineari
la dinamica interna `e stabile se gli zeri sono confinati nel semipiano sinistro.
Ovviamente i sistemi a minima fase, che hanno tutti i poli e gli zeri minori
uguali di zero, presentano forti caratteristiche di stabilit`a.
2.4
Zero Dinamica
La stabilit`a della dinamica interna dei sistemi lineari `e determinabile dalla
posizioni degli zeri, ed inoltre risulta interessante, ai fini del modello preso
in considerazione, vedere come questa relazione si possa estendere ai sistemi
non lineari. Per ci`o si richiede, in primo luogo, di estendere il concetto di
zero ai sistemi non lineari e determinare la relazione tra la stabilit`a della
dinamica interna con il concetto “esteso” degli zeri.
Definire gli zeri nei sistemi non lineari non `e un semplice proposito. Le
funzioni di trasferimento, dalle quali si ricavano gli zeri, non possono essere
definite per i sistemi non lineari.
Un modo per affrontare queste difficolt`a `e quello di definire le cos`ı chiamate zero dinamiche .
18
2.5 Input state linearization
Definizione 3. Si definisce zero dinamica la dinamica interna di un sistema
quando le uscite dello stesso sono mantenute a zero dagli ingressi.
Si possono gi`a fare due importanti osservazioni:
• la zero dinamica `e una caratteristica intrinseca dei sistemi non lineari
e non dipende dalla particolare scelta della legge di controllo o dalla
particolare traiettoria adottata
• esaminare la stabilit`a della zero dinamica `e pi`
u semplice che esaminare
la stabilit`a della dinamica interna, in quanto la zero dinamica coinvolge
solo gli stati interni (mentre la dinamica interna `e legata alla dinamica
esterna e alle traiettorie desiderate)
Riassumendo, il progetto di un controllore utilizzando la input-output
Linearization pu`o essere sintetizzato in tre passi
1. differenziare l’uscita y finch´e l’input u non compare;
2. scegliere una u in modo da cancellare le non linearit`a e in modo da
garantire l’inseguimento delle traiettorie;
3. studiare la stabilit`a della dinamica interna;
Se il grado relativo associato alla Feedback Linearization coincide con
l’ordine del sistema, allora sar`a completamente linearizzabile e quindi controllabile con successo (assumendo che il modello sia accurato). Se invece `e
inferiore allora il sistema sar`a solo parzialmente linearizzabile. In entrambi i
casi il controllore pu`o essere applicato a seconda della stabilit`a della dinamica interna, lo studio della quale pu`o essere semplificato analizzando la zero
dinamica.
2.5
Input state linearization
In questa sezione si analizzer`a la tecnica detta input state linearization
per sistemi SISO non lineari rappresentati dalle seguenti equazioni in spazio
19
2.5 Input state linearization
20
di stato
x˙ = f (x) + g(x)u,
(2.34)
dove f e g sono campi vettoriali regolari. Si cercher`a di capire quando questi sistemi possono essere linearizzati mediante trasformazioni dello stato e
dell’ingresso, come individuare le trasformazioni e come progettare i controllori. Il sistema in forma (2.34) `e detto lineare nel controllo o affine. E’ utile
sottolineare che se un sistema non lineare ha la forma
x˙ = f (x) + g(x)w[u + φ(x)],
(2.35)
dove w `e una funzione scalare invertibile e φ `e un funzionale arbitrario, una
semplice sostituzione v = w[u + φ(x)] porta il sistema nella forma (2.34). Si
pu`o progettare una legge di controllo per v e poi calcolare u invertendo w e
quindi u = w−1 (v) − φ(x). Prima di procedere con i dettagli della tecnica `e
necessario darne una definizione formale.
Definizione 4. Un sistema SISO non lineare della forma (2.34), con f e g
campi vettoriali regolari in Rn , `e detto linearizzabile ingresso stato se esiste
una regione Ω in Rn , un diffeomorfismo φ : Ω −→ Rn e una legge di controllo,
in retroazione, non lineare
u = α(x) + β(x)v
(2.36)
tale che le nuove variabili di stato z = φ(x) e il nuovo ingresso v soddisfano
una relazione lineare tempo invariante (LTI)
z˙ = Az + Bv,
(2.37)
dove

0

0


.
A=
.


0

0
1 0 ...
0 1 ...
.
. ...
.
. ...
0 0 ...
0 0 ...

0

0


.

.


1

0
 
0
 
0
 
 
.

B=
. .
 
 
0
 
1
2.5 Input state linearization
21
Il nuovo stato z `e detto stato linearizzato e la legge di controllo (2.36) `e
chiamata legge di controllo linearizzante.
Dalla trasformazione lineare si ottiene la matrice A e il vettore B in
forma lineare canonica. Tuttavia, ogni sistema lineare controllabile pu`o essere
ricondotto alla forma (2.36) attraverso una trasformazione lineare dello stato
e il posizionamento dei poli. Si pu`o perci`o portare la (2.36) in un sistema
lineare utilizzando trasformazioni lineari dello stato e degli ingressi.
Dalla (2.37) si nota come questa tecnica `e un caso particolare della inputoutput linearization, dove la funzione d’uscita ha grado relativo pari a n; ci`o
significa che se il sistema `e linearizzabile ingresso uscita con grado relativo
pari all’ordine del sistema allora sar`a anche linearizzabile ingresso stato. Si
pu`o riassumere la relazione tra le due tecniche nel seguente modo.
Definizione 5. Un sistema di ordine n `e linearizzabile ingresso stato se
e solo se esiste una funzione scalare z1 (x) cos`ı che il sistema input-output
lienarizzabile con come funzione d’uscita z1 (x) ha grado relativo n
Dalla precedente definizione non si hanno indicazioni per individuare la
funzione d’uscita desiderata z1 (x).
A questo punto `e naturale chiedersi se fosse possibile linearizzare con
questa tecnica tutti i sistemi della forma (2.34). Il seguente teorema, che costituisce un risultato fondamentale per la teoria della Feedback Linearization,
cerca di dare una risposta. Prima per`o `e necessario dare delle definizioni.
Definizione 6. Dati due campi vettoriali f e g in Rn , la parentesi di Lie di
f e g `e un terzo campo vettoriale definito come
[f, g] = ∇g f − ∇f g
Le parentesi di Lie vengono comunemente scritte come adf g (dove ad sta
per aggiunta) possono anche essere definite in maniera ricorsiva nel seguente
modo
adif g = [f, adfi−1 g];
per
i = 1, 2, . . .
2.5 Input state linearization
22
Definizione 7. Un insieme di campi vettoriali linearmente indipendenti
f1 , f2 , . . . , fm `e detto involutivo se e solo se esistono delle funzioni scalari
αij : Rn → R tale che
[fi , fj ] =
m
X
αijk f (x)
∀i, j
k=1
Involutivo significa che se una delle forme delle parentesi di Lie di ogni
coppia di campi vettoriali da il set f1 , f2 , . . . , fm allora il campo vettoriale
risultante pu`o essere espresso come combinazione lineare dei campi vettoriali
originali.
A questo punto abbiamo a disposizioni tutti gli elementi necessari per
illustrare uno dei principali risultati della Feedback Linearization.
Teorema 1. Il sistema non lineare (2.34) con f e g campi vettoriali regolari,
`e linearizzbile ingresso stato se e solo se esiste una regione Ω che soddisfi le
seguenti condizioni:
• i campi vettoriali {g, adf g, . . . , adfn−1 g} sono lineari indipendenti in Ω;
• il set {g, adf g, . . . , adn−2
g} `e involutivo in Ω.
f
La prima condizione pu`o essere interpretata come semplice rappresentazione delle condizioni di controllabilit`a di sistemi non lineari (2.34). Per sistemi lineari il campo vettoriale {g, adf g, . . . , adn−1
g} diventa {B, AB, . . . , An−1 B},
f
e perci`o l’indipendenza equivale all’invertibilit`a della matrice di controllabilit`a lineare. E’ anche semplice mostrare che se l’approssimazione lineare di
un sistema in una regione chiusa e connessa Ω in Rn `e controllabile, allora il sistema pu`o essere guidato da ogni punto appartenente a Ω verso ogni
altro punto dello stesso insieme. Quindi la prima condizione generalizza la
controllabilit`a del sistema.
La seconda condizione `e meno intuitiva e risulta facilmente verificata dai
sistemi lineari e in casi pi`
u rari dai sistemi non lineari.
2.6 Sistemi Multi Input
2.6
23
Sistemi Multi Input
I concetti di input output linearization e zero dinamica utilizzati per
i sistemi SISO possono essere estesi ai sistemi MIMO (Multi Input Multi
Output).
Nel caso MIMO si considerano, nell’intorno di un punto x0 , sistemi quadrati, cio`e con lo stesso numero di ingressi e d’uscite, della forma
x˙ = f (x) + G(x)u
(2.38)
y = h(x)
dove x `e il vettore di stato n × 1, u `e il vettore degli input di controllo
di dimensione m × 1 (di componenti ui ), y `e il vettore m × 1 delle uscite
del sistema (di componenti yi ) , f e G sono campi vettoriali regolari. In
particolare G `e una matrice n × m le cui colonne sono campi vettoriali lisci
gi .
2.6.1
Feedback Linearization di sistemi MIMO
Input-output Linearization dei sistemi MIMO `e semplicemente dedotto
dal caso SISO. Si inizia sempre derivando gli output yi finch´e l’ingresso non
compare. Si assume che ri sia il pi`
u piccolo grado d’integrazione tale che
(r )
almeno uno degli input appare in yi i , ottenendo cos`ı
(ri )
yi
(r )
= Lf i hi +
m
X
Lgj Lrfi −1 hi uj
(2.39)
j=1
dove Lgj Lrfi −1 hi (x) 6= 0 per almeno un valore di j, in un intorno Ωi del punto
x0 . Ripetendo la procedura per tutte le uscite yi si ottiene

 
 
 
r
r
y1r1
Lrf1 h1 (x)
Lg1 Lf1−1 h1 . . . Lgm Lf1−1 h1
u1
 .  





..
..
..
..
 ..  = 
+
  ... 
.
.
.
.
  
 
 
r
r
rm
ym
Lrfm hm (x)
Lg1 Lfm−1 hj . . . Lgm Lfm−1 hm
um
2.6 Sistemi Multi Input
24
Scrivendo la precedente espressione in modo pi`
u compatto si ottiene
y (r) = l(x) + J(x)u
(2.40)
Definendo Ω come intersezione delle Ωi . Se, come assunto prima, i gradi
relativi ri sono ben definiti, allora Ω `e un intorno finito di x0 . Inoltre, se
J(x) `e invertibile nella regione Ω, allora, allo stesso modo del caso SISO, la
trasformazione dell’input `e data da

u=J
−1
v1 − l1



 ··· 

,
(x) 

 ··· 
vm − lm
dove con li indichiamo le varie componenti del vettore l(x). Nella notazione
pi`
u compatta, la precedente equazione, diventa
u = J −1 (x)(v − l(x)).
(2.41)
Si ottengono cos`ı m semplici equazioni della forma
(ri )
yi
= vi .
(2.42)
Dal fatto che gli ingressi vi hanno effetti solamente sulle uscite yi , l’equazione (2.41) `e detta decoupling control law (legge di controllo disaccoppiato)
e la matrice invertibile J(x) `e chiamata decoupling matrix cio`e matrice di
disaccoppiamento del sistema. Si dice che il sistema (2.42) ha gradi relativi
(r1 , . . . , rm ) in x0 e lo scalare r = r1 + · · · + rm `e chiamato grado relativo
totale del sistema in x0 .
Un caso interessante si ha quando il grado relativo totale `e pari a n, poich´e
in tal caso sparisce la dinamica interna. Partendo dall’originale sistema non
lineare ed utilizzando la legge di controllo (2.41) si ottiene una linearizzazione
input-stato. Definendo gli input vi , come nel caso SISO, si riesce a stabilizzare
il sistema e ad inseguire le varie traiettorie senza preoccuparsi della dinamica
interna del sistema. Da notare che le condizione necessarie e sufficienti per
2.7 Riepilogo
la linearizzazione input-stato di un sistema MIMO sono molto pi`
u complesse
e difficili da raggiungere rispetto al caso di sistemi con un solo ingresso.
La zero dinamica di sistemi MIMO pu`o esser definita in modo simile al
caso SISO, vincolando l’uscita ad essere nulla.
Quest’ultima tecnica di linearizzazione ingresso uscita per sistemi MIMO
pu`o essere applicata solamente quando la matrice di disaccoppiamento J `e
invertibile nella regione Ω. Seguendo la procedura per la costruzione della J
la condizione `e piuttosto restrittiva, per esempio la matrice J pu`o avere una
colonna di zeri. Esistono, a tal proposito, due differenti metodi per generare
una linearizzazione ingresso uscita qualora la condizione di invertibilit`a sia
violata e quindi J risulti singolare. Entrambe le tecniche, nelle quali non
ci addentreremo, sono di natura interattiva. La prima tecnica, chiamata
estensione dinamica richiede la scelta di nuovi inputs come derivate degli
originali ingressi del sistema in modo tale che la matrice J risulti invertibile.
Il sistema di controllo viene cos`ı progettato in base al nuovo set di ingressi e
gli input originali del sistema vengono riottenuti attraverso un’integrazione.
La seconda tecnica prevede la derivazione delle uscite in modo da garantire
l’invertibilit`a della matrice J. In entrambi i casi, cos`ı come nella versione
classica, deve essere valutata la stabilit`a della dinamica interna.
2.7
Riepilogo
La Feedback linearization si basa sull’idea di trasformare un sistema non
lineare in uno lineare utilizzando la retroazione dello stato. Attraverso la
input-state linearization si ottiene la completa linearizzazione del sistema,
mentre con la input output si ottiene una linarizzazione parziale. Il metodo
`e applicabile sia al controllo che all’inseguimento delle traiettorie, sia per
sistemi SISO che per quelli MIMO, ed `e stato applicato con successo in molti
casi. Il metodo presenta anche importanti limitazioni:
1. non pu`o essere utilizzato per tutti i sistemi non lineari;
2. necessit`a di misurare l’intero stato del sistema;
25
2.7 Riepilogo
3. non viene garantita la robustezza in presenza di incertezza sui parametri
del modello.
Il primo problema consiste nel fatto che l’applicabilit`a della linearizzazione a stato completo `e determinata da un set di condizioni stringenti, mentre
quella ingresso uscita non pu`o essere applicata quando il grado relativo non
`e definito.
Il secondo problema `e dovuto alla difficolt`a di trovare osservatori convergenti per sistemi non lineari e anche quando un osservatore viene individuato, la mancanza di un principio di separazione, non permette di garantire la
stabilit`a del sistema ad anello chiuso .
Il terzo problema `e dovuto al fatto che l’esatto modello di un sistema
non lineare non `e quasi mai disponibile. Le imprecisioni del modello possono
derivare o da un’incertezza sui parametri dell’impianto o dalla semplificazione
della dinamica del sistema. Dal punto di vista del controllo, l’inaccuratezza
del modello pu`o essere classificata in due macro categorie:
• incertezza strutturata, legata ai parametri del sistema,
• incertezza non strutturata , causata dalla dinamica non considerata nel
modello.
Il primo tipo corrisponde all’incertezza sui parametri inclusi nel modello mentre il secondo corrisponde all’incertezza sull’ordine del sistema. La sensibilit`a agli errori di modellizzazione in generale, pu`o risultare particolarmente
grave quando, utilizzando la Feedback Linearization, avviene una imprecisa
cancellazione delle non linearit`a e per questo sono state studiate particolari
tecniche che rendono il controllore robusto. l principali metodi, derivati dalla
Feedback, sono l’ adaptive Feedback Linearization e lo Sliding Control che
permettono di superare tale problema.
Lo Sliding Control forza le traiettorie a raggiungere una superficie di
scivolamento s in un tempo finito e a restarci sopra per il resto del tempo
riducendo di fatto l’ordine del sistema, inoltre il moto sulla superficie di
sliding risulta indipendente dall’incertezza del modello. Il tutto avviene per
26
2.7 Riepilogo
mezzo di un segnale di controllo della forma u = β(x)sgn(s) reso discontinuo
dalla funzione segno che vale 1 per s > 0, -1 per s < 0 e 0 per s = 0 .
La discontinuit`a aggiunta ai ritardi del sistema producono delle oscillazioni sul segnale d’ingresso ad alta frequenza, questo fenomeno `e chiamato
chattering. Supponendo infatti di percorre una traiettoria nella regione s > 0
e di raggiungere il punto a sulla superficie di scivolamento, dal concetto generale dello Sliding ci si aspetta che la traiettoria rimanga confinata sulla
superficie. In realt`a ci sar`a un ritardo fra il momento in cui il segno di s
cambia ed il momento nel quale il controllore commuta. Durante questo periodo la traiettoria attraversa la superficie e va a finire nella regione s < 0.
Solo a questo punto il controllo cambia e di conseguenza la traiettoria si dirige nuovamente verso la superficie. Tutto questo provoca un movimento a
zig-zag intorno alla superficie chiamato chattering come si vede in figura 2.1.
Figura 2.1: Chattering dovuto al ritardo di cambiamento del controllo
Ovviamente nella pratica il chattering risulta dannoso in quanto pu`o recare gravi danni ai motori e alle apparecchiatura elettroniche. Uno dei metodi
pi`
u utilizzati per ovviare a tale problema `e quello di sostituire la funzione
segno con una di saturazione sat(s/ε) dove ε `e una costante positiva che
determina la pendenza come si vede in figura 2.2.
27
2.7 Riepilogo
28
Figura 2.2: Funzione di saturazione per l’eliminazione del chattering
Lo studio approfondito di questa metodologia non sar`a oggetto del lavoro
di tesi ma verr`a approfondita inseguito, comunque `e possibile osservare una
prima formulazione dello Sliding Control che si adatta ai sistemi a minima
fase non lineari MIMO della forma:
x˙ = f (x) + G(x)u
(2.43)
y = h(x)
Il sistema (2.43) `e detto non a fase minima se la zero dinamica `e instabile e
asintoticamente a minima fase se la zero dinamica `e asintoticamente stabile.
L’incertezza nelle funzioni f e G pu`o causare cancellazioni imprecise nel
sistema non lineare. Di seguito si mostrer`a come Sliding Control compensa
le incertezze del modello.
Per definire la metodologia dello Sliding risulta conveniente definire i
seguenti operatori
|x| = [|x1 |, |x2 |, · · · , |xn |]T
sgn(x) = [sgn(x1 ), sgn(x2 ), · · · , sgn(xn ), ]
x. × y = [x1 y1 , x2 y2 , · · · , xn yn ]
Nello Sliding Control l’equazione dell’errore (2.33) e sostituita da
s˙ + K. × sgn(s) = w(t)
(2.44)
2.7 Riepilogo
29
Dove s `e una misura dell’inseguimento e w(t) rappresenta i segnali esterni.
In accordo con la precedente definizione K. × sgn(s) produce un vettore di
elementi ki sgn(si ). Se tutti i Ki soddisfano Ki > supt | wi (t) |, allora s va a
zero in un tempo finito. Si definisce la superficie di scivolamento come
sj = (
d
+ λj )rj −1 ej
dt
dove ej = yj − yj,d
(2.45)
dove λj `e uno scale positivo che specifica la larghezza della banda di controllo e yj,d `e la traiettoria desiderata. Per sistemi con gradi relativi rj = 1
l’equazione (2.45) diventa semplicemente sj = ej . Definendo un vettore αd
di riferimenti virtuali tale che
r
s˙ j = yj j − αd,j
, j = 1, . . . , m
(2.46)
Per il sistema (2.40) la legge di controllo proposta `e
−1
b
u = (J(x))
[αd − b
l(x) − K. × sgn(s)]
(2.47)
Dove con il cappello si rappresenta la stima della funzione non lineare.
L’esistenza di u `e influenzata dalla scelta delle variabili di controllo y che
determinano l’esistenza dell’inversa della matrice J(x).
Capitolo 3
Controllo dei tre modelli
Ora che si conoscono a fondo le tecniche utilizzabili per i sistemi non
lineari, si passa alla fase pi`
u pratica della realizzazione del controllore per i tre
sistemi descritti precedentemente. Per ognuno verranno mostrati i passaggi
principali e messi in risalto pregi e difetti al fine di individuare il modello che
meglio si presta alla simulazione.
3.1
Primo Controllore
Il primo modello che viene preso in considerazione `e quello base, `e caratterizzato da una struttura pi`
u semplice, perci`o richiede tempi di calcolo
minimi. Gli ingressi sono costituiti dalle forze applicate al centro di massa
dell’oggetto e dalle combinazioni di altre variabili di stato, tutte riferite al
B-frame;
30
3.1 Primo Controllore
31
x˙1 = x5
x˙2 = x6 + x3 x5
x˙3 = x4 − x2 x5
x˙4 = u1
(3.1)
x˙5 = u2
x˙6 = u3
u1 = (Fy + m11 υx ωz − d22 υy ) /m22
u2 = (Tz − d33 ωz + (m11 − m22 ) υx υy ) /m33
(3.2)
u3 = (Fx + m22 υy ωz − d11 υx ) /m11
Per procedere con la progettazione del controllore `e necessario determinare le uscite del sistema, le quali devono obbligatoriamente essere delle stesso
numero degli ingressi in modo tale da rendere il sistema quadrato. I dati
che meglio descrivono il comportamento del robot sono le variabili che ne
permettono la localizzazione, nel modello preso in considerazione si selezionano x1 , x2 , x3 che sono rispettivamente orientazione, ascissa e ordinata della
posizione. Il vettore Y delle uscite `e dato da
 
x1
 

Y =
x2 
x3
(3.3)
Si procede differenziando le uscite yi finch´e non compare l’input uj ottenendo cos`ı delle equazioni della forma
(r )
yi i
=
(r )
Lf i hi
+
m
X
j=1
Lgj Lrfi −1 hi uj
(3.4)
3.1 Primo Controllore
32
e nel caso particolare del modello preso in considerazione diventano
y¨1 = u1
y¨2 = u2 + x4 x5 − x2 x25 + x3 u1
(3.5)
y¨3 = u3 − u1 x2 − x6 x5 − x3 x25
I gradi relativi che si ottengono sono r1 = 2, r2 = 2, r3 = 2 e di conseguenza si ricava il grado relativo totale r come r = r1 + r2 + r3 = 6. In
questo particolare caso il grado relativo totale coincide proprio con l’ordine
del sistema e perci`o non si deve studiare il comportamento della dinamica
interna in quanto non `e presente. Inoltre le due tecniche, ingresso-uscita e
input-stato, coincido. Ora `e possibile esprimere le equazioni (3.5) nella forma
y (r) = l(x) + J(x)u e determinare, mediante l’utilizzo delle derivate di Lei, le
matrici l(x) e J(x) che diventano

1

J(x) = 
 x3
−x2

0 0

1 0

0 1

0



2 
l(x) = 
x
x
−
x
x
4
5
2
5 

−x6 x5 − x3 x25
(3.6)
A questo punto sappiamo che il sistema `e linearizzabile ingresso uscita
dalla legge di controllo u = J −1 (x)(v −l(x)), per ci`o la prima cosa da valutare
`e l’invertibilit`a della matrice J(x). In questo caso la matrice J(x) `e non
singolare e l’inversa `e data da

1

J −1 (x) = 
−x3
x2

0 0

1 0

0 1
(3.7)
Sostituendo i valori di u appena calcolati nell’espressione y (r) = l(x) +
J(x)u si ottiene una cancellazione esatta delle non linearit`a ricavando cos`ı
(ri )
un sistema di tre equazioni del tipo yi
= v si pu`o quindi procedere con la
progettazione di un controllore in retroazione grazie alla disponibilit`a delle
tecniche di controllo lineari che permettono anche il posizionamento dei poli
3.1 Primo Controllore
33
del sistema ad anello chiuso. Per esempio, definendo gli errori d’inseguimento ei = yi (t) − yid (t), dove gli yid costituiscono i riferimenti, e scegliendo dei
nuovi inputs vi del tipo
vi = y¨i − k1 ei − k2 e˙ i
dove k1 ek2 sono costanti positive, l’errore d’inseguimento del sistema ad
anello chiuso `e dato da
e¨i + k1 ei + k2 e˙ i = 0
che rappresenta la dinamica di un errore esponenzialmente stabile. Quindi se
inizialmente e(0) = e(0)
˙
= 0 allora e(t) ≡ 0, se vale ∀t ≥ 0 `e stato raggiunto
un inseguimento perfetto.
In conclusione si pu`o affermare di aver correttamente individuato la legge
di controllo che permetter`a di svolgere le simulazioni. Ovviamente il modello
non `e dei migliori in quanto, tutte le variabili di stato sono riferite al sistema
di riferimento solidale al veicolo e gli ingressi risultano dipendenti, dalle forze
applicate al centro di massa e da alcune variabili di stato. D’altro canto
la semplicit`a e la maneggiabilit`a del modello permette di effettuare molte
simulazioni in quanto il tempo di calcolo richiesto `e minimo.
3.2 Secondo Controllore
3.2
34
Secondo Controllore
Prendendo ora in considerazione il secondo modello, caratterizzato dalle
seguenti equazioni
x˙ = υx cos(ψ) − υy sin(ψ)
y˙ = υx sin(ψ) + υy cos(ψ)
ψ˙ = ωz
m22
d11
1
υ˙x =
υx υy −
υx +
u1
m11
m11
m11
m11
d22
1
υ˙y =
υx ωz −
υy +
u2
m22
m22
m22
(m22 − m11 )
d33
1
ω˙z = −
υx υy −
ωz +
u3
m33
m33
m33
(3.8)
u1 = Fx
(3.9)
u2 = F y
(3.10)
u 3 = Tz
(3.11)
dove
ed eseguendo passaggi analoghi al caso precedente `e possibile determinare i
gradi relativi e quello totale del sistema. Il vettore delle uscite `e composto
dalle variabili x, y, ψ e derivandole si ottiene
m22
d11
1
m11
υx υy −
υx +
u1 ] cos(ψ) − [
υx ωz +
m11
m11
m11
m22
1
d22
−
υy +
u2 ] sin(ψ) − υx ωz sin(ψ) − υy ωz cos(ψ)
m22
m22
m22
d11
1
m11
y¨2 = [
υx υy −
υx +
u1 ] sin(ψ) − [
υx ωz +
m11
m11
m11
m22
d22
1
−
υy +
u2 ] cos(ψ) − υx ωz cos(ψ) − υy ωz sin(ψ)
m22
m22
(m22 − m11 )
d33
1
y¨3 = −
υx υy −
ωz +
u3
m33
m33
m33
y¨1 = [
(3.12)
(3.13)
(3.14)
Come nel caso precedente tutte e tre le uscite hanno grado relativo pari
a due e di conseguenza il grado relativo totale `e pari all’ordine del sistema
3.2 Secondo Controllore
35
rendendo cos`ı inesistente la dinamica interna. Seguendo passo passo la procedura si ricava la matrice di disaccoppiamento J(x) e la matrice l(x) che
sono

1
1
 m11 cos(ψ) − m22 sin(ψ)
 1
1

sin(ψ)
cos(ψ)
J(x) = 
 m11
m22

0
0

0 


0 

1 
(3.15)
m33


m22
d11
m11
 ( m11 υx υy − m11 υx ) cos(ψ) − ( m22 υx ωz + 


 d22

−
υ ) sin(ψ) − υx ωz sin(ψ) − υy ωz cos(ψ) 
 m22 y







 m22

d11
m11

υx υy −
υx ) sin(ψ) − (
υx ωz + 
l(x) =  (

m11
m22
 m11

d


− 22 υy ) cos(ψ) − υx ωz cos(ψ) − υy ωz sin(ψ)
 m22









d33
(m22 − m11 )
υx υy −
ωz
−
m33
m33
(3.16)
la matrice di disaccoppiamento ha determinante
detJ(x) = (cos(ψ)2 + sin(ψ)2 )/(m11 m22 m33 )
(3.17)
che non si annulla in nessun punto in quanto i coefficiente mii sono costanti
positive quindi `e possibile ottenerne l’inversa che `e data da

m11 cos(ψ)
m11 sin(ψ)

J−1 (x) = 
−m22 sin(ψ) m22 cos(ψ)
0
0
0


0 

m33
(3.18)
Per concludere la fase di progetto si definisce il vettore v in modo analogo
al precedente. Si nota immediatamente come delle piccole modifica all’interno del modello comportano un notevole aumento della complessit`a nella
3.3 Terzo Controllore
progettazione del controllore aumentando in modo apprezzabile il tempo di
calco. Risulta comunque pi`
u conveniente da utilizzare in quanto le variabili
che denotano la posizione e l’orientazione del veicolo sono riferite al sistema
di terra rendendo di fatto pi`
u semplice il collegamento con le mappe che si
adotteranno in futuro. Inoltre gli ingressi sono esclusivamente composti dalle
forze.
3.3
Terzo Controllore
Nel terzo modello gli ingressi rispecchiano fedelmente quelli applicabili
nella realt`a in pi`
u vengono prese in considerazione la distanza fra il centro di
massa e i motori e quella fra le due eliche in modo da terminare i bracci di
applicazione delle forze. Tutto questo necessita di passare ad un sistema del
nono ordine complicando decisamente i calcoli per il progetto del controllore.
Seguendo la procedura standard sono state calcolate le derivate delle uscite e i gradi relativi ottenuti, sono tutti pari a tre rendendo quindi inesistente
la dinamica interna. La matrice di disaccoppiamento presta una struttura
molto complessa e il rispettivo determinate `e di difficile determinazione anche utilizzando strumenti di calcolo come MATLAB di conseguenza risulta
complicato individuare i punti di singolarit`a. Non `e quindi possibile utilizzare il modello nelle simulazione che prevedono il raggiungimento di pi`
u di
un punto perch´e aumentano le probabilit`a di annullamento del determinante,
inoltre i tempi di calcolo richiesti sono ingenti.
36
Capitolo 4
Simulazioni
In questo capitolo verranno mostrati e discussi i risultati ottenuti nelle
simulazioni, ovviamente si partir`a dai casi pi`
u semplici, che prevedono lo
spostamento del veicolo da un punto A di partenza ad uno B d’arrivo, per
poi analizzare traiettorie pi`
u complesse che mettono a dura prova il lavoro
del controllore. Partendo dal modello pi`
u semplice fino ad arrivare al pi`
u
complesso si cercher`a di mettere in evidenza pregi e difetti dei segnali di
ingresso e d’errore, al fine di individuare carenze nei modelli e imperfezioni
nella pianificazione delle traiettorie. Verranno altres`ı illustrate le tecniche
che permettono la risoluzione dei principali problemi individuati.
4.1
Prima simulazione
Utilizzando il primo modello ed impostando (0, 0) come ascissa e ordinata
del punto di partenza con orientamento di π/2 e fissando in (0, 3) l’obbiettivo
da raggiungere mantenendo inalterato l’angolo d’orientazione si ottengono i
seguenti grafici
In figura 4.1 viene rappresentato con un triangolo rosso l’imbarcazione
e con una linea di colore blu si evidenzia il tragitto percorso. Si nota chiaramente come il punto di partenza e il punto d’arrivo siano proprio quelli
assegnati.
37
4.1 Prima simulazione
Figura 4.1: Spostamento del veicolo da un punto ad un altro
Figura 4.2: Ingressi del sistema
Ovviamente in questa prima simulazione solo una delle tre componenti
d’uscita vien modificata infatti si vede chiaramente, dalle figure 4.2 e 4.3,
come l’attivazione dell’ingresso u3 manda a zero l’errore E3 , ci`o significa che
il punto d’arrivo `e stato effettivamente raggiunto. Nella seconda simulazione
si richiede al sistema di passare dal punto di coordinate (0, 0, 0) al (7, 8, π/4),
dove l’ultima componente rappresenta l’orientazione.
38
4.1 Prima simulazione
Figura 4.3: Errori nel raggiungimento dell’obbiettivo
Figura 4.4: Spostamento del veicolo da un punto ad un altro
Anche in questo caso, come si evince dalla figura 4.6, gli errori vanno
tutti a zero garantendo cos`ı il pieno raggiungimento del punto d’arrivo ma
questa volta `e stato necessario l’utilizzo di tutti in ingressi, (figura 4.5) in
quanto nessuna componente dello stato si manteneva costante nello spostamento. Sono state svolte simulazioni analoghe utilizzando il secondo modello,
in questo caso, partendo sempre dall’origine con un’orientazione di π/2, ve-
39
4.1 Prima simulazione
Figura 4.5: Ingressi del sistema
Figura 4.6: Errori del sistema
niva richiesto di raggiungere il punto di coordinate (5, 7, 0) ottenendo cos`ı i
seguenti risultati
La figura 4.7 mostra chiaramente la traiettoria percorsa.
Nelle figure 4.10, 4.9,4.8 vengono visualizzati rispettivamente gli ingressi,
gli errori e le velocit`a ricavate dalla simulazione. Analizzando i dati raccolti
`e evidente che gli ingressi ottenuti sono molto pi`
u elevati rispetto al caso precedente e quindi possono provocare delle saturazioni che potrebbero causare
40
4.1 Prima simulazione
Figura 4.7: Posizione della veicolo
Figura 4.8: Ingressi del sistema utilizzando il secondo modello
fenomeni di instabilit`a in quanto gli input reali da dare al robot sono limitati.
Gli errori vanno tutti nuovamente a zero, il che `e ottimo dal punto di vista del
raggiungimento degli obbiettivi. Questa volta viene mostrato anche il grafico
delle tre velocit`a (lungo x, y, ψ) dal quale si nota che il sistema nel punto di
partenza `e fermo, poi si sposta e di conseguenza si ottiene un aumento delle
velocit`a mentre alla fine, raggiunto il traguardo, si ferma nuovamente.
41
4.1 Prima simulazione
Figura 4.9: Errori del sistema utilizzando il secondo modello
Figura 4.10: Velocit`a del robot
Come si `e potuto notare le performance dei due modelli visti precedentemente si equivalgono in quanto entrambi portano gli errori a zero ed eseguono
traiettorie molto lisce e pulite. Passando ora in rassegna i risultati ottenuti
dalla simulazione del terzo modello saranno evidenti le modifiche apportate
al sistema. In questa simulazione si `e imposto il passaggio dal punto iniziale
(1, 1, 0.1) al punto finale di coordinate (3, 3, π/6) e si ottengono e seguenti
risultati
42
4.1 Prima simulazione
Figura 4.11: Posizioni del robot durante la simulazione
In questa circostanza le coordinate del punto di partenza non coincidono
con l’origine e neanche l’angolo d’orientazione viene fissato a zero in modo
da evitare punti di singolarit`a della matrice di disaccoppiamento. Dalla figura 4.11 si nota immediatamente che la traiettoria percorsa dal robot non
`e lineare e questo `e causato dal fatto di aver inserito nel modello sia le relazioni che legano gli ingressi, sia i bracci di applicazione delle forze, il tutto
rende la simulazione molto pi`
u realistica ed affidabile. Analizzando ora il
grafico 4.12 degli errori, ci si accorge che non vanno a zero, in particolare
l’E1 , che rappresenta l’errore d’inseguimento dell’ascissa, risulta all’incirca
pari a E1 (tf ) ' 0.4, l’errore E2 , che indica il distaccamento della variabile di
riferimento delle ordinate `e di poco inferiore all’unit`a, mentre l’errore d’inseguimento dell’orientazione `e minimo. Questi risultati che sembrano del tutto
errati rispetto ai casi precedenti possono invece essere rassicuranti in quanto
considerando le vaste aree che il robot dovr`a esplorare, un errore di un metro
`e poco significativo. I veri problemi che affliggono questo sistema sono sia
gli ingressi che raggiungono picchi molto elevati e impossibili da applicare
realmente, sia la presenza di numerosi punti di singolarit`a della matrice di
43
4.2 Pianificazione della traiettoria
Figura 4.12: Errori del sistema utilizzando il terzo modello
disaccoppiamento.
Nelle simulazioni fatte fino a questo momento le traiettorie (point to
point) sono determinate da un apposito polinomio il quale fa innalzare i
valori degli ingressi e delle velocit`a a livelli inaccettabili. Nella sezione successiva verranno mostrate alcune principali tecniche di pianificazione delle
traiettorie.
4.2
Pianificazione della traiettoria
L’obiettivo della pianificazione della traiettoria `e quello di generare gli
input del sistema in modo tale che il robot compia determinati spostamenti. La pianificazione consiste nel generare una sequenza temporale di valori,
ottenuti mediante funzioni interpolanti tipicamente polinomiali, della traiettoria desiderata. Esistono varie tecniche, in particolare se viene fornito il
punto iniziale e il punto finale si parla di point to point motion, invece nel
caso in cui si assegnano pi`
u punti si parla di moto attraverso una sequenza
di punti. In questa sezione si fa riferimento a [8].
44
4.2 Pianificazione della traiettoria
4.2.1
45
Point to point motion
Nel moto punto-punto il robot deve muoversi da un punto iniziale ad uno
finale in un certo tempo. La scelta di un polinomio del terzo ordine per
generare la traiettoria rappresenta una valida soluzione. Si pu`o scegliere un
polinomio cubico del tipo
q(t) = a3 t3 + a2 t2 + a1 t + a0 ,
(4.1)
il quale presenta un profilo di velocit`a
q(t)
˙ = 3a3 t2 + 2a2 t + a1
(4.2)
e un profilo lineare d’accelerazione
q¨(t) = 6a3 t + 2a2 .
(4.3)
Avendo a disposizione quattro coefficienti `e possibile imporre, qi e qf che sono
rispettivamente la posizione iniziale e finale e anche le rispettive velocit`a
q˙i e q˙f che solitamente vengono fissate a zero. La determinazione di una
traiettoria specifica si ottiene quindi risolvendo il seguente sistema
a0 = q i
a1 = q˙i
a3 t3f + a2 t2f + a1 tf + a0 = q˙f
3a3 t2f + 2a2 tf + a1 = q˙f ,
che permette di calcolare tutti i coefficienti del polinomio (4.1). Se si desidera
inserire anche un valore iniziale e finale di accelerazione allora devono essere
verificate sei diverse condizioni e di conseguenza si deve obbligatoriamente
utilizzare un polinomio del quinto ordine del tipo
q(t) = a5 t5 + a4 t4 + a3 t3 + a2 t2 + a1 t + a0
(4.4)
dove i coefficienti vengono calcolati imponendo, come nel caso precedente,
le condizioni a t = 0 a t = tf e alle prime due derivate, ovviamente con un
numero maggiore di equazioni rispetto al caso precedente.
4.2 Pianificazione della traiettoria
46
Un approccio alternativo, che viene frequentemente adottato in pratica,
permette di rispettare i parametri di velocit`a e accelerazione determinate
dalle caratteristiche fisiche e meccaniche del robot. In questo caso si assegna
un profilo di velocit`a trapezoidale, il quale impone un’accelerazione costante
nella fase iniziale, una velocit`a di crociera e una decelerazione costante nella
fase finale, come si vede in figura 4.13
Figura 4.13: Caratteristica temporale con velocit`a trapezoidale in termini di posizione
velocit`
a e accelerazione
La traiettoria che si ottiene `e composta da un segmento lineare connesso
da due segmenti parabolici in modo da unire il punto di partenza a quello
d’arrivo (vedi primo grafico di figura 4.13). Questa tecnica `e formulata conoscendo la durata dello spostamento. Come `e possibile vedere dalla figura
4.13 si assume che le velocit`a iniziali e finali siano nulle e che i segmenti a
velocit`a costante abbiano la stessa durata, questo implica che il valore dell’accelerazione e della decelerazione siano uguali nei due segmenti. Si pu`o anche
notare come queste scelte portino ad una perfetta simmetria della traiettoria
qf + qi
tf
rispetto al punto medio qm = (
) al tempo tm = . La traiettoria
2
2
deve soddisfare certe condizioni per permettere la transizione da qi a qf in
un tempo tf . La velocit`a alla fine del primo segmento parabolico deve essere
uguale alla velocit`a del segmento lineare e quindi
q¨c tc =
qm − qc
,
tm − tc
(4.5)
dove qc `e il valore atteso della posizione alla fine del segmento parabolico al
4.2 Pianificazione della traiettoria
47
tempo tc con accelerazione costante q¨c , dove
1
qc = qi + q¨c t2c .
2
(4.6)
Combinando (4.5) ed (4.6) si ottiene
q¨c t2c − q¨c tf tc + qf − qi = 0.
(4.7)
Generalmente q¨c `e specificato con la condizione che sgn¨
qc = sgn(qf − qi ),
quindi per assegnati valori di tf , qi e qf il valore di tc ricavato dalla (4.7) `e
s
tf
1 t2f q¨c − 4(qf − qi )
tc =
−
.
(4.8)
2
2
q¨c
L’accelerazione `e soggetta alla condizione
| q¨c |≥
4 | qf − qi |
.
t2f
(4.9)
Quando l’accelerazione q¨c `e scelta tale da soddisfare l’uguaglianza dell’equazione (4.9), la traiettoria che si ottiene `e priva del segmento a velocit`a costante
e quindi composta solamente dai segmenti di accelerazione e decelerazione
assumendo cos`ı un profilo triangolare. Assegnando dei valori a qi , qf e tf la
condizione (4.9) permette di calcolare un valore opportuno per q¨c , tc viene
successivamente ricavato dalla (4.8) generando cos`ı una sequenza di polinomi

1


qi + q¨c t2


2
q(t) = qi + q¨c tc (t − tc /2)



qf − 1 q¨c (tf − t)2
2
0 ≤ t ≤ tc
tc ≤ t ≤ tf − tc
tf − tc ≤ t ≤ tf
che permettono di ottenere la forma trapezoidale della velocit`a.
4.2.2
Moto attraverso una sequenza di punti
In molte applicazioni le traiettorie sono descritte da pi`
u di due punti al
fine di garantire una migliore esecuzione delle traiettorie. I punti vengono
4.2 Pianificazione della traiettoria
distribuiti in modo pi`
u fitto dove si aspetta una particolare curvatura. Il
problema `e quello di generare una traiettoria composta da N punti, detti phat
points, che devono essere raggiunti dal robot a certi istanti di tempo. Per
ogni variabile di stato del sistema ci sono N condizioni e quindi si potrebbe
utilizzare un polinomio di ordine N − 1. Questa prima soluzione presenta i
seguenti svantaggi:
• non `e possibile fissare la velocit`a iniziale e finale,
• con l’aumentare dell’ordine del sistema aumenta anche il suo comportamento oscillatorio che causa disturbo nell’esecuzione delle traiettorie,
• il tempo di calcolo richiesto, per la risoluzione del sistema, `e notevole,
• i coefficienti del polinomio dipendono da tutti i punti assegnati; cos`ı se
si desidera modificare un punto `e necessario ricalcolarli tutti.
Questi svantaggi possono essere superati se si utilizza un numero adatto
di polinomi interpolanti di basso ordine, che sostituiscono il solo polinomio
di alto ordine. In accordo con quanto detto prima, il polinomio interpolante
pu`o essere cubico, in quanto permette l’imposizione della continuit`a della
velocit`a nei vari punti. Cos`ı facendo si avranno N − 1 polinomi del terzo
ordine che compongono l’intera traiettoria. In questo modo:
• si possono imporre velocit`a arbitrarie nei vari path points,
• far rispettare alle velocit`a certe condizioni, per esempio derivate dalla
meccanica del robot,
• l’accelerazione pu`o esser continua nei phat points,
• la modifica di un solo punto comporta la modifica dei coefficienti di soli
due polinomi,
• il tempo di calcolo richiesto risulta inferiore.
48
4.3 Simulazioni su traiettorie pi`
u complesse
E’ anche possibile semplificare il problema utilizzando polinomi di ordine
inferiore che permettono alla traiettoria di passare nei punti d’interesse a dati
istanti di tempo.
4.3
Simulazioni su traiettorie pi`
u complesse
Per risolvere il problema degli ingressi troppo elevati e meccanicamente
insostenibili, `e stata implementata la tecnica che rende trapezioidale il profilo della velocit`a. Ripetendo la simulazione fatta con il secondo modello si
ottengono i seguenti risultati
Figura 4.14: Posizioni del robot utilizzando il profilo trapezoidale delle velocit`a
La traiettoria percorsa risulta pi`
u o meno identica alla precedente come
si vede in figura 4.14.
Il risultato pi`
u evidente che attesta l’efficacia della tecnica, riguarda i
valori che si ottengono per gli input del sistema, infatti i parametri di u1 ,
e u2 , risultano inferiori di almeno un fattore dieci, rispetto al caso precedente, mentre u3 aumenta, rimanendo comunque in valori accettabili, come
riportato in figura 4.15.
49
4.3 Simulazioni su traiettorie pi`
u complesse
Figura 4.15: Ingressi del sistema utilizzando il profilo trapezoidale delle velocit`a
Figura 4.16: Errori del sistema utilizzando il profilo trapezoidale delle velocit`a
Nell’immagine 4.16 vengono nuovamente visualizzati gli errori, in questo
caso il primo parametro che va a zero `e quello dell’orientamento e poi a
seguire tutti gli altri.
Questo risultato trova un forte riscontro dall’osservazione della figura 4.17
in quanto la prima velocit`a che torna a zero `e proprio quella legato all’angolo
d’orientazione. Nel grafico delle velocit`a si individuano chiaramente i profili
trapezioidali garantendo la correttezza di quanto fatto.
50
4.3 Simulazioni su traiettorie pi`
u complesse
Figura 4.17: Profilo trapezoidale delle velocit`a
In seguito sono state realizzate delle traiettorie pi`
u complesse perch´e composte da molti punti, come seno, coseno, cerchio e otto per verificare le
perfomance del controllore.
Figura 4.18: Posizioni del robot che percorre una traiettoria coseno
51
4.4 Incertezza sul modello
Figura 4.19: Posizioni del robot che percorre una traiettoria circolare
Nelle ultime simulazioni 4.18 4.19viene segnata in nero la traiettoria ideale
da seguire ed in blu quella effettivamente percorsa. Per il momento tutte le
traiettorie sono date punto punto e per questo motivo i valori delle altre
variabili rispecchiano fedelmente le precedenti simulazioni.
4.4
Incertezza sul modello
I risultati soddisfacenti ottenuti fino a questo momento, sono stati raggiunti ipotizzando di conoscere il modello senza prendere in considerazione le
incertezze sui vari parametri. Al fine di valutare la robustezza della Feedback
Linearization `e stato progetto un modello pi`
u complesso facendo decadere
l’ipotesi della diagonale dominanza della matrice di smorzamento D. Il sistema cos`ı ottenuto, che chiameremo “esteso” viene dato in pasto al simulatore
senza riadattare la legge di controllo in modo da valutarne le prestazioni.
Prima di svolgere una vera e propria simulazione `e possibile ragionare sui
52
4.4 Incertezza sul modello
risultati attesi, infatti uno dei principali limiti della Feedback linearizzation `e
proprio la mancanza di robustezza in presenza di incertezza sui parametri, di
conseguenza si suppone che il controllore non riesca a raggiungere pienamente
l’obbiettivo e che la traiettoria percorsa non sia perfetta.
Ripetendo l’esperimento di figura 4.7 e cio`e impostando le stesse condizioni iniziali e finali ma con il modello esteso si ottengono i seguenti risultati
Figura 4.20: Posizioni del robot utilizzando il modello con incertezza sui parametri
Come si pu`o notare dall’immagine 4.20 la traiettoria seguita non `e quella
ideale ed inoltre in alcuni punti sembra cambiare direzione con una certa
decisione causando dei picchi sugli ingressi che potrebbero recare gravi danni
hai motori e all’apparecchiatura elettronica a bordo del veicolo. In pi`
u gli errori non vanno a zero, anzi, assumono dei valori prossimi all’unit`a o superiori
decretando cos`ı un amento di tali parametri di un fattore 100 . In conclusione si pu`o affermare che i risultati ottenuti dalle simulazioni convalidano i
ragionamenti fatti a priori.
53
4.4 Incertezza sul modello
Figura 4.21: Errori del sistema utilizzando il modello con incertezza sui parametri
Al fine di ovviare alla carenza della Feedback linearization si passer`a
alla progettazione di un controllore utilizzando lo Sliding Conrol che, come
gi`a visto nel capitolo 3, garantisce una buna robustezza, ripetendo cos`ı la
stessa simulazione del caso precedente, ci aspetteremo un andamento della
traiettoria del tutto simile a quella di figura .
Molto importante sar`a lo degli ingressi che si otterranno dall’elaborazione
dello Sliding Control infatti, sar`a facile riscontrare la presenza del chattering
e cio`e la comparsa di oscillazioni ad alta frequenza dei segnali d’input ma
agendo opportunamente sui vari parametri del controllore ed adottando una
funzione di saturazione opportuna sar`a possibile ottenere una configurazione
quasi del tutto priva di oscillazioni.
54
Capitolo 5
Applicazione
L’ecosistema lagunare `e un ambiente a rischio, di transizione, che richiede
un continuo intervento dell’uomo per mantenersi in vita. Purtroppo, per`o,
negli ultimi 50 anni, se da una parte si `e dato a questo ambiente l’importanza che merita, per la sua ricchezza di specie e di produttivit`a, dall’altra
l’azione dell’uomo, il boom economico e tutto ci`o che `e legato all’antropizzazione hanno contribuito al suo stesso degrado, ai problemi di eutrofizzazione e di inquinamento, ricorrenti in queste aree. Proprio per questi motivi
`e fondamentale un monitoraggio continuo che, supportato se necessario da
applicazioni specifiche, permette di preservare al meglio tali ecosistemi.
5.1
Il sistema lagunare
Le lagune sono spazi d’acqua poco profondi localizzati lungo le coste,
separati dal mare per mezzo di cordoni sabbiosi (tomboli) e nel medesimo
tempo comunicanti direttamente col mare mediante una o pi`
u aperture dei
cordoni stessi, detti bocche, porti o foci, attraverso le quali entra la marea.
Lo scarso ricambio di acqua, dovuto alle scarse precipitazioni e all’altrettanta scarsa portata degli immissari, e la morfologia stessa di questi ambienti
espongono le aree umide a rischi di crisi distrofiche: eutrofizzazione, mancanza di ossigeno, morie di pesci e di altri organismi, in particolare di cro-
55
5.1 Il sistema lagunare
stacei e molluschi. Il termine “eutrofizzazione” deriva dal greco ’“eutrophia”
(’“eu”=buona; ’“trophos”= nutrimento) ed indica la ricchezza di sostanze
nutritive, quali composti dell’azoto (N) e del fosforo (P) in ambienti acquatici. L’eutrofizzazione viene definita come arricchimento delle acque in sali
nutritivi che provoca cambiamenti tipici quali l’incremento della produzione
di algale e piante acquatiche, l’impoverimento delle risorse ittiche, il generale
degrado della qualit`a delle acque ed altri effetti che ne riducono o precludono
l’uso. I nutrienti provenienti dalla mineralizzazione delle masse organiche e
quelli che provengono da sorgenti esterne (apporti fluviali, deiezioni dell’avifauna, scarichi urbani, ecc.) rimangono all’interno del bacino (trappola di
nutrienti), rimossi solo dallo sviluppo di nuova vegetazione.
La circolazione delle acque `e regolata da due regimi: circolazione naturale e circolazione forzata. Ci si riferisce alla prima quando i flussi entranti
e uscenti sono determinati dalle maree, alla seconda quando sono le idrovore a regolare i flussi entranti. Quest’ultimo tipo di regime attivato prevalentemente nel periodo estivo per limitare il fenomeno dell’eutrofizzazione.
Infatti, solo la zona lagunare strettamente adiacente alle bocche risente del
regime di circolazione naturale, mentre la zona centrale pu`o interagire solo
con l’atmosfera affinch´e si attivino processi idrodinamici e di mescolamento.
Quello che colpisce, soprattutto in un’area cos`ı limitata, `e la molteplicit`a
degli habitat che, pur essendo vicinissimi l’uno all’altro, presentano ciascuno
caratteristiche peculiari. Per l’importanza che riveste questo ecosistema, la
sua salvaguardia `e di vitale importanza scientifica, culturale e commerciale.
Il sistema di monitoraggio e di raccolta dati, da cui derivano i modelli matematici di comportamento dinamico e vegetazionale e le analisi delle
condizioni chimico-fisiche delle acque lagunari, `e sicuramente molto importante. Ad esempio nella laguna d’Orbetello la costante osservazione e studio
dell’ecosistema affidato ad esperti e alle universit`a di Pisa, Firenze e Siena
`e, senza dubbio, un punto fondamentale fra gli interventi previsti dal commissariamento e l’installazione, nell’estate del 2001, di strumenti di misura
all’interno della laguna ha permesso di ottenere importanti informazioni in
56
5.2 Applicazioni del Robot
tempo reale. Ci`o che oggi si ritiene necessario `e sia un’integrazione del sistema
di monitoraggio esistente, sia la possibilit`a di rendere accessibili, attraverso
un ordinamento ed una catalogazione, le conoscenze acquisite attraverso le
attivit`a commissariali, integrate da informazioni derivanti dalla letteratura
scientifica in materia.
La circolazione naturale ed il naturale scambio mare-laguna in seguito alle
maree ed ai venti risulta insufficiente per un adeguato ricircolo delle acque,
che `e ostacolato, oltretutto, dalle caratteristiche dei canali e dalla presenza
di attrezzature fisse per la pesca, che comportano rilevanti perdite idrauliche concentrate. Si `e reso necessario, negli ultimi 20 anni, un sistema di
pompaggio, che consenta una circolazione forzata delle acque. Fra gli aspetti
negativi dell’utilizzo delle idrovore c’`e il consumo energetico, la necessit`a di
sostituire gli acceleratori di flusso ormai obsoleti e la ripercussione sulle attivit`a di pesca, poich´e la circolazione forzata elimina l’alternarsi delle maree,
impedendo la rimonta e la conseguente cattura di alcune specie di pesci.
5.2
Applicazioni del Robot
Per i motivi sopra elencati `e stato pensato di dotare il robot di una applicazione che, a seconda dei dati raccolti, modifichi in tempo reale la traiettoria
in modo opportuno al fine di raccogliere un maggior numero di dati nelle zone pi`
u critiche. In particolare si `e supposto di conoscere la distribuzione
superficiale dell’ossigeno, mostrata a titolo esemplificativo in figura 5.1. Tale
distribuzione `e stata realizzata come somma di tre gaussiane ciascuna caratterizzata da media e varianza ed in pi`
u `e stato introdotto del rumore che
va dall’uno al cinque percento del valore dell’ossigeno. Quest’ultimo viene poi espresso in percentuale. Il veicolo esegue delle traiettorie regolari di
andata e ritorno sulla superficie simulata e in ogni punto in cui si ferma effettua la rilevazione dell’ossigeno disciolto. A questo punto, utilizzando il dato
appena raccolto, l’applicazione decide se proseguire lungo la traiettoria precedentemente stabilita o perlustrare la zona circostante a quella dell’ultimo
57
5.2 Applicazioni del Robot
Figura 5.1: Distribuzione dell’ossigeno disciolto in acqua in percentuale
rilevamento, come si vede in figura 5.2.
Figura 5.2: Punti di raccolta dell’ossigeno
In questa figura, sono ben visibili le regioni dove il robot si `e soffermato e
di fatto si trovano proprio in corrispondenza delle gaussiane che determinano
i vuoti d’ossigeno.
Alla fine del giro di perlustrazione tutti i dati raccolti vengono elaborati
al fine di ricostruire l’intera distribuzione. Per far questo `e stata utilizzata
un’interpolazione cubica ed il risultato che si ottiene `e quello di figura 5.3
58
5.2 Applicazioni del Robot
Figura 5.3: Stima della distribuzione dell’ossigeno disciolto
Si nota immediatamente come tutti i “vuoti” d’ossigeno siano stati perfettamente individuati ottenendo quindi una ricostruzione molto affidabile della
distribuzione di partenza. Inoltre, come si pu`o vedere dalla figura 5.4 l’errore
Figura 5.4: Errore di stima dell’ossigeno disciolto
`e costituito essenzialmente dal rumore garantendo cos`ı la validit`a della stima.
Avendo questi dati a disposizione `e possibile garantire sia una pianificazione delle traiettorie in modo da tenere sotto controllo i punti sensibili,
sia un concreto risparmio energetico, in quanto le idrovore per il pompaggio
59
5.2 Applicazioni del Robot
dell’acqua potranno essere attivate solamente in caso di effettiva necessita e
solo nei punti pi`
u critici.
60
Conclusioni
Nel corso del lavoro di tesi `e stato progettato un robot mobile autonomo
(AVS) in grado di esplorare in superficie un ambiente acquatico e di effettuare
misurazioni ambientali mediante l’utilizzo di una sonda multiparametrica.
Nella fase iniziale sono stati realizzati tre diversi modelli MIMO non lineari che rappresentano il sistema a diversi livelli di complessit`a. Il modello
che `e stato utilizzato maggiormente nel corso delle simulazioni `e il secondo in
quanto si `e rivelato molto affidabile e ha richiesto tempi di calcolo accettabili.
Il sistema preso in esame non `e linearizzabile con tecniche classiche perch´e
calcolando lo Jacobiano nell’intorno dei punti di equilibrio si ottengono tre
autovalori con parte reale nulla e per questo `e stata scelta una tecnica di
controllo non lineare chiamata Feedback Linearization.
Nel corso delle simulazioni `e stato possibile osservare il buon funzionamento dei controllori in quanto gli errori vengono portati a zero anche nell’inseguimento delle traiettorie pi`
u complesse. Inoltre, utilizzando una particolare
tecnica di pianificazione delle traiettorie che rende trapezoidale il profilo delle
velocit`a, `e stato risolto il problema della saturazione degli ingressi che pu`o
provocare gravi danni al sistema.
Infine, `e stata realizzata un’applicazione che permette di ricostruire la distribuzione dell’ossigeno disciolto superficialmente a partire dai dati raccolti
dal robot durante la perlustrazione. Tale applicazione permette l’individuazione di zone critiche dalle quali possono svilupparsi fenomeni di ipossie ed
anossie che danneggiano gravemente l’ecosistema.
I risultati ottenuti ci hanno incoraggiato nella prosecuzione del progetto
61
CONCLUSIONI
ed infatti negli ultimi giorni `e stato messo a punto il primo prototipo che
verr`a utilizzato nella fase di sperimentazione e collaudo.
5.3
Sviluppi Futuri
La tecnica utilizzata, sebbene abbia consentito di ottenere buoni risultati
nel controllo del robot, ha mostrato un punto debole nella mancanza di robustezza che rende il controllore troppo sensibile alle incertezze sui parametri.
Al fine di risolvere al meglio questi problemi sarebbe molto utile applicare la
tecnica dello Sliding Control che offre ottime garanzie di robustezza. Inoltre,
sono ancora molteplici i compiti da svolgere per portare a temine l’intero
progetto, in particolare `e necessario:
• tradurre tutto il codice realizzato con MATLAB in C o C++ in moda
da poter essere eseguito nel PC a bordo del veicolo,
• effettuare la stesura del codice per l’utilizzo del GPS e per l’acquisizione
dei dati dalla sonda multiparametrica,
• effettuare un osservatore completo dello stato in modo da garantire il
corretto funzionamento del controllore
• realizzare il server a terra per la gestione dei dati raccolti,
• stabilire la comunicazione tra il server a terra e l’imbarcazione per la
pianificazione delle traiettorie,
• realizzare altre applicazioni che permettano di gestire le varie situazioni,
• dotare il prototipo di una sensoristica appropriata per il rilevamento
degli ostacoli e riprogrammazione online della traiettoria,
• realizzare ed utilizzare un modello dell’ecosistema di interesse al fine di
prevedere le evoluzioni e prevenire le criticit`a.
62
Bibliografia
[1] Fossen, T. I. (1994). Guidance and Control of Ocean Vehicles. Wiley,
New York.
[2] Slotine J. J. E. e W. Li (1991). Applied Nonlinear Control. Prentice-Hall,
Englewood Cliffs, NJ.
[3] M. Reyhanouglu. Exponential Stabilization of an Underactuated Autonomous Surface Vessel. IFAC journal Automatica, Vol.33, No.12, 1997,
pp. 2249-2254.
[4] Fossen, T. I. Foss B. A.. Sliding Control of MIMO Nonlinear Sistems.
Department of Engineering Cybernetics The Norwegian Istitute of
Technology, Norway.
[5] Khalil H. K. (2002). Nonlinear Systems, 3rd edition. Prentice Hall,
Upper Saddle River, New Jersey.
63
BIBLIOGRAFIA
[6] H. Nijmijer, A.J. van der Schaft (1990). Nonlinear Dynamic Control
Systems. Springer-Verlag New York.
[7] M. Reyhanouglu. Tracking Control of an Underactuated Autonomous
Surface Vessel Using Switched Feedback. Embry-Riddle Aeronautical
University Eindhoven University of Technology Daytona Beach, FL
32114, USA.
[8] Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Oriolo
(2009). Robotics Modelling, Planning and Control .
[9] Chiara Mocenni, Alessandro Vercelli, Simone Borghesi. Fondamenti metodologici e strumenti per la valutazione economica delle risorse naturali
Universit`a degli studi di Siena, CSC
64