` 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
© Copyright 2024 Paperzz