Analisi e Controllo di sistemi n onlineari · Capitolo 1 Introduzione In questo elaborato verranno...

27
Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Controlli Automatici Analisi e Controllo di sistemi nonlineari Anno Accademico 2015/2016 Candidato: Vincenzo Savarese matr. N46001681

Transcript of Analisi e Controllo di sistemi n onlineari · Capitolo 1 Introduzione In questo elaborato verranno...

Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Controlli Automatici

Analisi e Controllo di sistemi nonlineari

Anno Accademico 2015/2016 Candidato: Vincenzo Savarese matr. N46001681

Alla mia famiglia.

2

Indice

1 Introduzione 41.1 Struttura della tesi . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Sistemi lineari e nonlineari 62.1 Sistemi lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Sistemi nonlineari . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Concetto di stabilità . . . . . . . . . . . . . . . . . . . . . . . 8

3 Analisi di sistemi nonlineari 103.1 Linearizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Classicazione punti di equilibrio e stabilità . . . . . . . . 113.3 Piano delle fasi . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3.1 Esempio piano di fase: Pendolo semplice . . . . . . . . . 143.3.2 Simulazione al Matlab: Pendolo semplice . . . . . . . . . 15

3.4 Cicli limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.4.1 Esclusione esistenza orbite chiuse . . . . . . . . . . . . . 173.4.2 Verica esistenza orbite chiuse . . . . . . . . . . . . . . . 183.4.3 Esempio ciclo limite: Oscillatore di Van Der Pol . . . . . 183.4.4 Simulazione al Matlab: Oscillatore di Van Der Pol . . . . 20

4 Controllo di sistemi nonlineari 224.1 Feedback Linearization . . . . . . . . . . . . . . . . . . . . . 22

4.1.1 Esempio feedback linearization: Pendolo inverso . . . . . 25

Bibliograa 27

3

Capitolo 1

Introduzione

In questo elaborato verranno trattate le tecniche e le metodologie di analisi econtrollo di sistemi autonomi nonlineari in due dimensioni. Nell'analisi, si sup-pone che un sistema nonlineare a ciclo chiuso sia stato già progettato e quindisi cerca di determinare le caratteristiche del comportamento del sistema. Nellaprogettazione, abbiamo un sistema nonlineare da controllare e alcune specicheda soddisfare a ciclo chiuso ed il nostro obiettivo è di costruire un controlloreanché il sistema a ciclo chiuso rispetti le speciche. Nella pratica, tuttavia, laprogettazione e l'analisi sono intrecciate poiché la progettazione di un sistemadi controllo nonlineare spesso prevede un processo di analisi. I sistemi autonomidel secondo ordine hanno un importante ruolo nello studio dei sistemi nonlinearipoiché le traiettorie soluzioni possono essere rappresentate da curve nel piano.Questo ci permette una visualizzazione semplice dei comportamenti del sistema.Nello spazio di stato a più dimensioni, le traiettorie hanno molte più stanzein cui muoversi e quindi, rispetto al caso monodimensionale in cui il usso èestremamente connato e costretto a muoversi monotonicamente, vi è una piùampia gamma di possibili comportamenti dinamici. Piuttosto che arontaretutta questa complessità sin da subito, iniziamo con la più semplice classe disistemi a più dimensioni, chiamata sistemi nonlineari a due dimensioni. Tratta-re casi n-dimensionali richiederebbe una trattazione più complessa ed elaboratae quindi esula dallo scopo di questo elaborato. Ci sono due principali tipolo-gie di sistemi dinamici: le equazioni dierenziali e le equazioni alle dierenze.Le equazioni dierenziali descrivono l'evoluzione di un sistema a tempo conti-nuo, mentre le equazioni alle dierenze compaiono in problemi dove il tempoè discreto. Le equazioni dierenziali sono molto più utilizzate nella scienza enell'ingegneria e in questo elaborato ci concentreremo su di esse. Il controllolineare, invece, è ormai un soggetto maturo con una grande varietà di metodipotenti e una lunga storia di applicazioni industriali di successo. Quindi è na-turale chiedersi perché così tanti ricercatori ed ingegneri stanno recentementemostrando molto interesse nello sviluppo e nell'applicazione di metodologie dicontrollo nonlineare. Le ragioni di questo interesse sono molteplici:

• Miglioramento dei sistemi di controllo esistenti: I metodi di con-trollo lineare si basano sull'assunto chiave di funzionare solo in un piccolointervallo di operazioni per il modello lineare. Quando l'intervallo di ope-razioni è grande, un controllore lineare diventa poco funzionale o addirit-

4

tura instabile perché le non linearità nel sistema non possono più esserecompensate. I controllori nonlineari, d'altronde, possono maneggiare lenon linearità in un intervallo di operazioni molto grande.

• Analisi di forti non linearità: Un'altra assunzione dei sistemi di con-trollo lineare è che il modello del sistema sia linearizzabile. Tuttavia,nei sistemi di controllo ci sono molte non linearità che, per la loro natu-ra discontinua, non permettono un' approssimazione lineare. Queste chevengono usualmente chiamate Hard nonlinearities includono l'attrito diCoulomb, la saturazione, l'isteresi ecc. I loro eetti non possono esserederivati da metodi lineari e quindi è necessario sviluppare tecniche nonli-neari per predire le performance di un sistema in presenza di queste nonlinearità forti.

• Modelli incerti: Nella progettazione di controllori lineari, di solito ènecessario assumere che i parametri del modello del sistema siano ben co-nosciuti. Tuttavia, molti problemi di controllo implicano incertezze neiparametri del modello. Un controllore lineare basato su parametri inaccu-rati o obsoleti può portare a performance molto degradanti del sistema oaddirittura il sistema potrebbe diventare instabile. Non linearità possonoessere intenzionalmente introdotte nel controllo anché il sistema possasopportare queste incertezze.

1.1 Struttura della tesi

Nel capitolo 2 l'accento è posto sulle principali dierenze tra un sistema linearee un sistema nonlineare. Inoltre verranno presentate alcune denizioni mate-matiche che renderanno più agevole la comprensione dei capitoli successivi.Il capitolo 3 rappresenta il vero e proprio cuore dell'elaborato dove verrannotrattate le principali tecniche di analisi di un sistema nonlineare, accompagnateda esempi esplicativi e chiaricatori. Successivamente tali esempi sono stati te-stati sul Matlab che è un famoso programma per il calcolo numerico. Il capitolo4, invece, presenta nel dettaglio una tecnica per il controllo di sistemi nonlineari.

5

Capitolo 2

Sistemi lineari e nonlineari

Per comprendere a pieno le proprietà di un sistema nonlineare illustrerò inizial-mente due denizioni che renderanno la comprensione delle proprietà più chiarae, successivamente, verranno presentate le proprietà fondamentali di un sistemalineare autonomo in modo tale da poter mostrare quali di queste proprietà sonoancora valide e quali no nei sistemi nonlineari.

Denizione 2.1: un sistema si dice autonomo se le equazioni dierenzialiche lo descrivono non dipendono esplicitamente dal tempo.Un importante concetto riguardo le equazioni di stato è il concetto di punto diequilibrio.

Denizione 2.2: un punto (x, y) = (x∗, y∗) nello spazio di stato è detto diequilibrio per il sistema x = f(x, y) se ha la proprietà che ogni volta che lo statodel sistema inizia da quel punto, rimarrà in quel punto per tutti gli istanti ditempo futuri.

In particolare per i sistemi autonomi i punti di equilibrio sono tutte le radicireali dell'equazione:

f(x, y) = 0, (2.1)

e, inoltre, un punto di equilibrio può essere isolato, ossia non ci sono altri puntidi equilibrio nelle sue vicinanze.

2.1 Sistemi lineari

Per i sistemi lineare autonomi il modello di stato assume questa forma:x = Ax+By

y = Cx+Dy(2.2)

con A,B,C e D matrici non dipendenti dal tempo. Tale sistema ha le seguentiproprietà fondamentali:

1. Principio di sovrapposizione: Il principio di sovrapposizione stabilisceche per un sistema dinamico lineare l'eetto di una somma di perturba-zioni in ingresso è uguale alla somma degli eetti prodotti da ogni singola

6

perturbazione. Chiamiamo con yi(t) la risposta del sistema all'ingressoui(t). Il principio di sovrapposizione degli eetti implica che ad un ingressou = α1u1(t) + α2u2(t) corrisponde una uscita y = α1y1(t) + α2y2(t).

2. Punti di equilibrio: Un sistema lineare può avere un solo punto di equi-librio oppure nessuno o addirittura può avere inniti punti di equilibrio.

3. Stabilità: Nei sistemi lineari, quando un punto di equilibrio è stabile(stabilità locale) implica anche la stabilità globale di tutto il sistema.

4. Distorsione armonica: Nei sistemi lineari non esiste distorsione armo-nica poiché se in ingresso al nostro sistema lineare abbiamo un input pura-mente sinusoidale, in uscita ci verrà restituita la medesima sinusoide dell'ingresso sfasata e moltiplicata per un fattore scalare.

5. Soluzione esplicita: Nei sistemi lineari è possibile trovare una soluzioneesplicita per x(t). Ad esempio, x(t) = Ax+By , x(0) = x0

x(t) = e(At)x0 +

∫ t

0

e(At−τ)Bu(τ)d(τ). (2.3)

2.2 Sistemi nonlineari

Diamo ora una denizione di un sistema nonlineare sulla base delle proprietàesposte poc'anzi.

Denizione 2.2.3 In matematica un sistema nonlineare è un sistema di equa-zioni in cui almeno una di esse è non lineare, cioè non esprimibile come combi-nazione lineare delle incognite presenti e di una costante. Inoltre è un sistemache non gode necessariamente delle proprietà fondamentali che caratterizzanoun sistema lineare.

Quando eettuiamo il passaggio dai sistemi lineari a quelli nonlineari, dob-biamo arontare scenari molto più dicili. Il principio di sovrapposizione nonvale più e dobbiamo adarci a strumenti di analisi che fanno uso di tecnichematematiche molto più avanzate. Esistono fenomeni essenzialmente nonlineariche si manifestano solo in presenza di non linearità; e quindi, non possono es-sere descritti o predetti da modelli lineari. I seguenti sono esempi di fenomeniessenzialmente nonlineari:

• Tempo di fuga nito: lo stato di un sistema lineare instabile può andareall'innito quando il tempo si avvicina all'innito; lo stato di un sistemanonlineare, però, può andare all'innito in un tempo nito.

• Punti di equilibrio multipli: un sistema lineare può avere solo un puntodi equilibrio e quindi può avere solo uno stato costante dovuto al punto diequilibrio che attrae lo stato del sistema a prescindere dallo stato iniziale.Un sistema nonlineare può avere più di un punto di equilibrio isolato.Lo stato può convergere in uno dei tanti stati costanti dovuti ai punti diequilibrio, a seconda dello stato iniziale del sistema.

7

• Cicli limite: un sistema lineare tempo-invariante, per oscillare, deve ave-re una coppia di autovalori sull'asse immaginario, che è una condizionenon robusta che è quasi impossibile da mantenere in presenza di disturbi.E anche se dovessimo riuscirci, l'ampiezza delle oscillazioni dipendereb-be dallo stato iniziale. Nella realtà, le oscillazioni stabili sono prodotteda sistemi nonlineari. Ci sono sistemi nonlineari che possono entrare inoscillazione di ampiezza e frequenza ssa, indipendentemente dallo sta-to iniziale. Questo tipo di oscillazioni sono note come cicli limite e liapprofondiremo nel Capitolo 3.

• Distorsione armonica: come abbiamo visto se ad un sistema linearestabile mettiamo in ingresso una sinusoide queste uscirà in output allastessa frequenza. Un sistema nonlineare sollecitato in input da un ingressoperiodico può oscillare con frequenze che sono multipli o sottomultipli dellafrequenza di ingresso.

• Chaos: un sistema non lineare può avere un più complicato comporta-mento negli stati costanti che non è un equilibrio o un'oscillazione pe-riodica. Ci stiamo riferendo al chaos. Alcuni di questi movimenti caoticiesibiscono comportamenti casuali, nonostante la natura deterministica delsistema.

2.3 Concetto di stabilità

Siccome i sistemi nonlineari possono avere comportamenti molto più complessidei sistemi lineari, la nozione di stabilità per i sistemi lineari non è suciente adescrivere le caratteristiche essenziali del movimento. Sono necessari un nume-ro maggiore di concetti sulla stabilità, come la stabilità asintotica, la stabilitàesponenziale e la stabilità asintotica globale. Innanzitutto introduciamo la de-nizione di stabilità ed instabilità.

Denizione 2.3.1 Uno stato di equilibrio x = 0 è detto essere stabile se,∀R > O esiste un r > 0, tale che se

∥∥x(0)∥∥ < r ⇒

∥∥x(t)∥∥ < R , ∀t ≥ 0. Altri-

menti il punto di equilibrio si dice instabile.

Essenzialmente, con il termine stabilità vogliamo dire che le traiettorie dei siste-mi possono essere mantenute arbitrariamente vicine all'origine partendo su-cientemente vicino ad essa. Questa stabilità è anche detta stabilità di Lyapunov.

Denizione 2.3.2 Un punto di equilibrio x = 0 è asintoticamente stabi-

le se è stabile e se in aggiunta esiste qualche r > 0 tale che∥∥x(0)

∥∥ < r implicache x(t)→ 0 quando t→∞.

La stabilità asintotica signica che il punto di equilibrio è stabile, e in aggiunta,se uno stato parte vicino al punto x = 0 esso converge a 0 con il tempo t che vaad innito.

Denizione 2.3.3 Un punto di equilibrio x = 0 è esponenzialmente stabile

se esistono due numeri strettamente positivi α, λ tali che

∀t > 0,∥∥x(t)

∥∥ ≤ α∥∥x(0)∥∥ e−λt (2.4)

8

in qualche sfera B intorno l'origine.

In altre parole questo signica che il vettore di stato di un sistema esponenzial-mente stabile converge all'origine più velocemente di una funzione esponenziale.Le denizioni appena formulate caratterizzano il comportamento locale del si-stema, ovvero, come lo stato evolve dopo esser partito sucientemente vicinoal punto di equilibrio. Le proprietà locali però ci possono dire poco su comeil sistema reagirà quando lo stato iniziale è lontano dallo stato di equilibrio equindi dobbiamo introdurre il concetto di stabilità globale.

Denizione 2.3.4 Se l'asintotica stabilità (o esponenziale) si mantiene perogni stato iniziale, il punto di equilibrio è detto asintoticamente (o esponenzial-mente) stabile in grande. E' anche chiamato globalmente asintoticamente (oesponenzialmente) stabile.

9

Capitolo 3

Analisi di sistemi nonlineari

Nella teoria dei sistemi, l'analisi dei sistemi dinamici o teoria dei sistemi dina-mici è lo studio del comportamento dei sistemi medesimi. In questo capitolovedremo alcune tecniche che possono essere usate per studiare il comportamen-to qualitativo e non quantitativo del nostro sistema nonlineare, visto chenella maggior parte dei casi non è possibile trovare una soluzione analitica alproblema. Inizieremo col presentare una tecnica che permette di trasformareun sistema nonlineare in un sistema lineare equivalente al sistema di partenza.Successivamente verrà presentata una classicazione dei punti di equilibrio checaratterizzano la stragrande maggioranza dei sistemi non lineari. Subito dopoverranno presentate due tecniche che ci permettono di capire il comportamentodinamico del nostro sistema.

3.1 Linearizzazione

Grazie ai potenti strumenti che conosciamo per i sistemi lineari, il primo passonell'analisi dei sistemi nonlineari è tipicamente quello di linearizzarlo, se possibi-le, intorno ad un qualche punto di equilibrio dello stato e analizzare il risultantesistema lineare. Tuttavia, la linearizzazione da sola non è suciente; dobbiamosviluppare strumenti e tecniche per l'analisi di sistemi nonlineari. Ci sono duebasilari limitazioni all'uso della linearizzazione. In primis, essendo la lineariz-zazione una approssimazione nel vicinato del punto di equilibrio è possibilepredire solo il comportamento locale del sistema nonlineare nel vicinato di quelpunto. Non è possibile predire il comportamento non locale dal punto diequilibrio e a maggior ragione non possiamo ottenere informazioni sul compor-tamento globale del sistema. La seconda limitazione è che le dinamiche di unsistema nonlineare sono molto più ricche delle dinamiche di un sistema lineare,come, ad esempio, l'esistenza di fenomeni essenzialmente nonlineari descritti nelParagrafo 2.2 . Consideriamo il sistema:

x = f(x, y)

y = g(x, y)(3.1)

e supponiamo che (x∗, y∗) sia un punto di equilibrio per il sistema ( quindif(x∗, y∗) = 0 , g(x∗, y∗) = 0 ). Denotiamo con u = x − x∗ e v = y − y∗

10

le componenti che rappresentano un piccolo disturbo attorno al punto sso.Per vedere se il disturbo cresce o viene attenuato necessitiamo di derivare leequazioni per u e v. Vediamo lo svolgimento per l'equazione nell'incognita u:

u = x (3.2a)

= f(x∗ + u, y∗ + v) (3.2b)

= f(x∗, y∗) + u∂f

∂x+ v

∂f

∂y+O(u2, v2, uv) (3.2c)

= u∂f

∂x+ v

∂f

∂y+O(u2, v2, uv) (3.2d)

dove l'equazione (3.2b) si ottiene per sostituzione, la (3.2c) si ottiene dall'espan-sione in serie di Taylor e la (3.2d) è tale poiché f(x∗, y∗) = 0. Per questionidi spazio e leggibilità ho omesso di scrivere che le derivate parziali sono calco-late nel punto di equilibrio (x∗, y∗) e inoltre notiamo che queste sono numerinon funzioni. Considerazioni simili si possono fare per la variabile v. Quindi ildisturbo evolve secondo:[

u(t)v(t)

]=

[∂f∂x

∂f∂y

∂g∂x

∂f∂y

] [u(t)v(t)

]+O(u2, v2, uv) (3.3)

La matrice è chiamatamatrice Jacobiana calcolata nel punto di equilibrio (x∗, y∗).Siccome u e v sono piccoli, a maggior ragione i termini quadratici sono estre-mamente piccoli e possiamo trascurarli. Se li trascuriamo otteniamo il sistemalinearizzato: [

u(t)v(t)

]=

[∂f∂x

∂f∂y

∂g∂x

∂f∂y

] [u(t)v(t)

](3.4)

E' davvero sicuro trascurare il termine quadratico e quindi avere una rispostaqualitativamente fedele al comportamento del sistema attorno al punto (x∗, y∗)?Si, nché il punto di equilibrio per il sistema linearizzato non è uno dei casilimite (centri, stelle, nodi degenere o punti di equilibrio non isolati) che verrannoillustrati nel prossimo paragrafo.

3.2 Classicazione punti di equilibrio e stabilità

Consideriamo dunque l'equazione x = Ax, con x ∈ R2, A matrice Jacobiana delsistema linearizzato intorno al punto di equilibrio (x∗, y∗) e il grassetto serve adenotare la notazione vettoriale. Scriveremo inoltre le equazioni per le cordinatex, y nella forma:

x = ax+ by

y = cx+ dy(3.5)

dove a, b, c, d sono gli elementi della matrice che rappresenta l'operatore A sul-la base canonica. L'equazione caratteristica del sistema si scrive nella formaparticolarmente elegante:

λ2 − TrAλ+ detA = 0 (3.6)

11

dove TrA = a+d è la somma della diagonale principale della matrice A, mentredetA è il determinante di A che in seguito indicheremo con ∆. Trattandosi diuna equazione di secondo grado le radici si trovano:

λ1,2 =1

2(TrA±

√(TrA)2 − 4∆). (3.7)

• Se ∆ < 0 le radici sono reali e hanno segni opposti; in tal caso il punto diequilibrio è un punto di sella.

• Se ∆ > 0 le radici sono o reali con lo stesso segno oppure complesseconiugate. Nel primo caso siamo in presenza di nodi, mentre nel secon-do siamo in presenza di spirali o centri. I nodi soddisfano la condizione(TrA)2 − 4∆ > 0, mentre le spirali soddisfano (TrA)2 − 4∆ < 0. Quando(TrA)2− 4∆ = 0 ci troviamo al conne tra nodi e spirali ed è proprio quiche possiamo trovare i nodi stella e i nodi degenere. La stabilità dei nodie delle spirali è stabilita da TrA. Quando TrA < 0 entrambe le radicihanno parte reale negativa e quindi il punto sso è stabile. Nodi instabilie spirali hanno TrA > 0.

• Se ∆ = 0 almeno una delle radici è zero. In questo caso l'origine non è unpunto di equilibrio.

Per la stabilità dei punti di equilibrio c'è un teorema che, in base a come sonole radici del mio sistema linearizzato, ci assicura la stabilità o l'instabilità delsistema.

Teorema 3.2.1 (Metodo della linearizzazione di Lyapunov)

• Se il sistema linearizzato è strettamente stabile ( tutti gli autovalori diA sono strettamente nel semipiano sinistro del piano), allora il punto diequilibrio è asintoticamente stabile (per il sistema nonlineare).

• Se il sistema linearizzato è instabile ( almeno uno degli autovalori di A ènel semipiano destro del piano), allora il punto di equilibrio è instabile

(per il sistema nonlineare).

• Se il sistema è marginalmente stabile ( tutti gli autovalori sono nella partesinistra del semipiano, ma almeno uno si trova sull'asse jw), allora nonpossiamo dire niente sulla stabilità del punto (il punto di equilibrio potrebbeessere stabile, asintoticamente stabile o addirittura instabile per il sistemanonlineare).

3.3 Piano delle fasi

Ci concentreremo ora nel determinare i comportamenti qualitativi delle solu-zioni. Il comportamento qualitativo per i sistemi non lineari è importante nelcomprendere alcuni dei concetti chiave di stabilità nei sistemi non lineari. Isistemi che tratteremo in questo elaborato hanno due variabili di stato x ∈ R2

che ci permettono di plottarle in un piano (x, y). Un modo conveniente per ca-pire i comportamenti dei sistemi dinamici con due variabili di stato è quello di

12

tracciare il ritratto di fase del sistema. La forma generale di un campo vettorialein un ritratto di fase è:

x = f1(x, y)

y = f2(x, y)(3.8)

dove f1, f2 sono funzioni date, x rappresenta un punto nel piano di fase mentrex rappresenta il vettore velocità che descrive x come cambia. I punti dove levelocità sono zero hanno una valenza importante poiché deniscono i punti sta-zionari del usso, quelli che abbiamo classicato nel paragrafo precedente. Unritratto di fase è costruito tracciando il usso del campo vettoriale corrispon-dente al nostro sistema dinamico. Tracciando le soluzioni per varie condizioniiniziali otteniamo un ritratto di fase. Essendo possibili una grande varietà diritratti di fase andiamo ad esaminarne le caratteristiche principali:

Figura 3.1: Possibile piano di fase di un sistema nonlineare

• I punti A,B e C sono chiamati punti di equilibrio; soddisfano la condi-zione f(x∗) = 0 e corrispondono a stati costanti del sistema.

• La circonferenza D è chiamata orbita chiusa e corrisponde a soluzioniperiodiche

• La disposizione delle traiettorie vicino ai punti ssi e alle orbite chiuse. Ilcomportamento è simile per A e C, mentre è diverso per B.

• La stabilità o l'instabilità dei punti di equilibrio o delle orbite chiuse.

Finora però siamo stati un po' ottimisti, poiché abbiamo dato per scontato l'e-sistenza e l'unicità di una soluzione per un sistema nonlineare. Per fortuna civiene incontro il teorema di esistenza e unicità.

Teorema 3.3.1 Consideriamo un sistema x = f(x) con valore iniziale x(0) =x0. Supponiamo che la f(x) sia continua e che tutte le derivate parziali di f(x)siano anch'esse continue per x ∈ D dove D è un insieme connesso tale cheD ⊂ Rn. Allora, il problema con condizione iniziale x0 ha una soluzione in unintervallo (−t, t) e questa soluzione è unica.

Per il resto della trattazione assumeremo che il nostro spazio vettoriale sia ab-bastanza regolare da permettere l'esistenza e l'unicità delle soluzioni. Un im-

13

portante corollario di questo teorema ci assicura, inoltre, che diverse traiettorienon si intersecano mai.

3.3.1 Esempio piano di fase: Pendolo semplice

Per mostrare l'analisi di un sistema nonlineare possiamo prendere come esem-pio il sistema governato dall'equazione di un pendolo in assenza di attrito. NelParagrafo 3.3.2 i risultati ottenuti saranno confrontanti al Matlab con un' ap-posita funzione pplane8 che ci disegna per noi il piano di fase. Il movimentodel pendolo è governato dalla seguente equazione:

∂2θ

∂t2+g

Lsinθ = 0 (3.9)

dove θ è l'angolo formato dal pendolo con la verticale, g è l'accelerazione digravità ed L è la lunghezza del pendolo. Il corrispondente sistema nello spaziodi stato è:

θ = v

v = − gLsinθ

(3.10)

dove v rappresenta la velocità angolare. Per trovare i punti ssi di questo sistemabasta andare ad annullare le due funzioni f1, f2 come abbiamo visto preceden-temente. I punti ssi sono (θ∗, v∗) = (kπ, 0), dove k è un intero qualunque.Siccome non c'è dierenza sica tra punti che dieriscono di 2π, ci concentre-remo solo sui punti (0, 0) e (π, 0). Scegliamo L = 10 metri, l'accelerazione digravità g ∼= 10 e andiamo a calcolarci la matrice Jacobiana A del sistema inmodo tale da renderlo lineare e calcolarci i punti ssi.

A =

[0 1

−cosθ 0

](3.11)

• Caso k=0: Il punto di equilibrio è (θ∗, v∗) = (0, 0). Calcoliamo la nostramatrice Jacobiana A nel punto (θ∗, v∗).

A =

[0 1−1 0

](3.12)

L'equazione caratteristica del sistema linearizzato é:

λ2 + 1 = 0⇒ λ1,2 = ±j (3.13)

∆ > 0, radici complesse coniugate⇒ (0, 0) è un centro. (3.14)

Il centro corrisponde ad uno stato naturalmente stabile di equilibrio. Lepiccole orbite che circondano il centro rappresentano piccole oscillazioniintorno all'equilibrio chiamate tradizionalmente librazioni.

• Caso k=1: Il punto di equilibrio è (θ∗, v∗) = (π, 0). Calcoliamo la nostramatrice Jacobiana A nel punto (θ∗, v∗).

A =

[0 11 0

](3.15)

14

L'equazione caratteristica del sistema linearizzato è:

λ2 − 1 = 0⇒ λ1,2 = ±1 (3.16)

∆ < 0, radici reali e distinte con valori opposti⇒ (π, 0) è un punto di sella.(3.17)

Le selle rappresentano, invece, un punto di equilibrio instabile del pendoloquando esso si trova nella sua posizione invertita.

• Caso k=-1: E' facile vericare che questo caso coincide con il caso dik = π e quindi il punto (−π, 0) è anch'esso un punto di sella.

Dalle informazioni ottenute nora possiamo già iniziare ad abbozzare un ritrattodi fase:

Figura 3.2: Piano di fase del pendolo

3.3.2 Simulazione al Matlab: Pendolo semplice

Utilizziamo la funzione pplane8 del Matlab che ci permettere di scrivere unsistema del secondo ordine nonlineare e di impostare i valori di eventuali para-metri. Una volta inserito il sistema la funzione calcolerà il ritratto di fase delsistema inserito. La Figura 3.3 ci mostra la nestra dove è possibile inserire idati del nostro sistema, in questo caso l'equazione del pendolo. La gura 3.4 cimostra il ritratto di fase e in particolare, tramite l'utilizzo di un tool di questafunzione possiamo cliccare in un punto di equilibrio ed essa ci dirà quel puntoche punto di equilibrio è per il sistema (Figura 3.5a/b).

Figura 3.3: Schermata di setup della funzione pplane8

15

Figura 3.4: Ritratto di fase completo pendolo semplice

(a) Punto di equilibrio stabile (b) Punto di equilibrio instabile

Figura 3.5: Punti di equilibrio del sistema pendolo semplice

3.4 Cicli limite

Un ciclo limite è una traiettoria chiusa isolata. Isolata signica che le traiet-torie vicine non sono chiuse ma che o vengono attratte dal ciclo limite o siallontanano da esso. Se le traiettorie vengono attratte dal ciclo limite allorapossiamo dire che il ciclo limite è stabile o attraente, altrimenti il ciclo limiteè instabile o, in alcuni casi particolari, è semi-stabile. I cicli limiti stabili sono

16

scienticamente importanti poiché modellano sistemi che esibiscono oscillazioniche si autosostengono. In altre parole questi sistemi oscillano anche in assenzadi un forzamento periodico esterno; alcuni esempi possono essere il battito diun cuore, il ritmo giornaliero della temperatura del corpo umano ecc. I ciclilimite sono un fenomeno prettamente nonlineare; ovviamente un sistema linearepuò avere un'orbita chiusa, ma in quel caso non sarebbe isolata. Se x(t) è unasoluzione periodica di un sistema lineare, così lo è anche cx(t) per ogni costantec 6= 0. In questo modo x(t) è circondato da una famiglia di orbita chiuse. Diconseguenza l'ampiezza di un'oscillazione lineare è impostata interamente dallesue condizioni iniziali ed ogni piccolo disturbo dell'ampiezza persisterebbe persempre. Al contrario, le oscillazioni dei cicli limite sono determinate solo dallastruttura del sistema.

3.4.1 Esclusione esistenza orbite chiuse

Supponiamo di avere un forte sospetto, sulla base di evidenze matematiche oaltro, che un particolare sistema non abbia soluzioni periodiche. Come possiamoprovarlo? Di seguito presenterò 3 metodi per escludere l'esistenza di orbitechiuse in un sistema.

1. Sistemi gradiente: supponiamo di avere un sistema che può esserescritto nella forma:

x = −∇V (3.18)

dove V (x) è una funzione continuamente dierenziabile e scalare. Unteorema ci assicura che, in un sistema così fatto, non sono possibili orbitechiuse. L'unico inconveniente è che la maggior parte dei sistemi a duedimensioni non sono sistemi gradiente.

2. Funzioni di Lyapunov: consideriamo un sistema x = f(x) con unpunto sso x∗. Supponiamo di poter trovare una funzione di Lyapunov,continuamente dierenziabile a valori reali V (x) con le seguenti proprietà:

•V (x) > 0, ∀x 6= x∗ e V (x∗) = 0. (3.19)

•V < 0, ∀x 6= x∗. (3.20)

X∗ quindi è asintoticamente stabile (per qualunque condizione inizialex → x∗ per t → ∞). In particolare il sistema non ha orbite chiuse.Il problema di questo metodo è che non c'è una maniera analitica percostruire una funzione di Lyapunov.

3. Criterio di Dulac: consideriamo un sistema x = f(x) continuamentedierenziabile e con un campo vettoriale denito su un sottoinsieme sem-plicemente connesso R nel piano. Se esiste una funzione continuamentedierenziabile a valori reali g(x) tale che ∇(gx) ha un segno in R (l'im-portante è che sia 6= 0), allora non ci sono orbite chiuse giacenti in R. Ilcriterio di Dulac sore dello stesso problema delle funzioni di Lyapunov,cioè che non c'è un algoritmo per trovare g(x).

17

3.4.2 Verica esistenza orbite chiuse

Abbiamo visto dove è possibile escludere l'esistenza di un'orbita chiusa, ora an-dremo a vericare in quali casi un'orbita chiusa esiste.

Teorema di Poincaré-Bendixson 3.4.2.1 : Se una traiettoria di un sistemadel secondo ordine autonomo rimane in una nita regione Ω, allora una delleseguenti è vera:

1. la traiettoria nisce in un punto di equilibrio.

2. la traiettoria tende verso un ciclo limite asintoticamente stabile

3. la traiettoria stessa è un ciclo limite

Questo teorema è uno dei risultati chiave nello studio dei sistemi nonlineari.Esso ci assicura che le possibilità dinamiche in un piano di fase sono moltolimitate; se una traiettoria è connata in una regione chiusa e limitata chenon contiene punti di equilibrio, allora quella traiettoria o deve avvicinarsi adun'orbita chiusa oppure essa stessa è un ciclo limite.

3.4.3 Esempio ciclo limite: Oscillatore di Van Der Pol

L'oscillatore di Van Der Pol è un tipo di oscillatore non conservativo con at-tenuazione sica non lineare. Esso evolve seguendo l'equazione dierenziale disecondo grado:

x− µ(1− x2)x+ x = 0 (3.21)

dove µ ≥ 0 è un parametro. Storicamente questa equazione venne derivatadai primi circuiti nonlineari usati nelle prime radio. L'equazione assomiglia adun semplice oscillatore armonico ma con un termine di attenuazione nonlineareµ(x2 − 1)x. Questo termine agisce come una ordinaria attenuazione positiva se‖x‖ > 1, mentre agisce come una attenuazione negativa se ‖x‖ < 1. In altreparole, se le oscillazioni iniziali sono troppo piccole esse verranno amplicate,mentre se sono troppo grandi, verranno smorzate no ad un valore stabile. Se-condo queste considerazioni possiamo facilmente aermare che, essendo tutte letraiettorie ben connate in una regione nita, per il Teorema 3.4.2.1, esiste unciclo limite nel ritratto di fase e questo ciclo limite è asintoticamente stabile.Procediamo ora con un procedimento analitico per determinare punti di equili-brio. Dall'equazione 3.21 possiamo ricavare il seguente sistema nello spazio distato:

x = y

y = −x+ µ(1− x2)y.(3.22)

Determiniamo se esistono o meno punti di equilibrio per il sistema.y = 0

−x+ µ(1− x2)y = 0(3.23)

E' facile vericare che l'unico punto di equilibrio per il sistema è (x∗, y∗) = (0, 0).Calcoliamoci la matrice Jacobiana A:

A =

[0 1

−1− 2µxy µ− µx2]

(3.24)

18

e sostituiamo ad x e y il valore (0,0). Otteniamo:

A =

[0 1−1 µ.

](3.25)

Siccome TrA = µ e detA > 0 sempre, il punto di equilibrio (0,0) è instabile ecambia a seconda del parametro µ. Vediamo in particolare perché il punto diequilibrio è instabile. Le traiettorie del sistema che partono da un qualunquestato iniziale, che non sia zero, si avvicinano tutte asintoticamente al ciclo limite.Questo implica che, se scegliamo un R della Denizione 2.3.1 in modo tale chesia abbastanza piccolo da entrare completamente nella curva chiusa del ciclolimite, allora le traiettorie del sistema che partono vicino l'origine potrebberouscire dal nostro cerchio di raggio R. Questo implica l'instabilità del punto diequilibrio (0, 0). Come vedremo anche nelle gure successive, al crescere di µ ilciclo limite non sarà più una circonferenza (discostandosi dal ritratto di fase diun semplice oscillatore armonico), bensì una gura chiusa più complessa. Inoltreal variare di µ il punto di equilibrio diventa:

• Se 0 < µ < 2: Essendo il detA > 0 e le radici complesse coniugate, graziealla classicazione del Paragrafo 3.2, possiamo aermare che il punto (0,0)è un centro o una spirale (Figura 3.6).

• Se µ = 2: Essendo il detA > 0 e le radici reali e coincidenti possiamoaermare che il punto di equilibrio (0,0) è un nodo instabile degenere(Figura 3.7).

• Se µ > 2: Essendo il detA > 0 e le radici reali e distinte possiamo aer-mare che il punto di equilibrio (0,0) è un nodo instabile (Figura 3.8).

19

3.4.4 Simulazione al Matlab: Oscillatore di Van Der Pol

(a) Ritratto di fase (b) Dettaglio punto diequilibrio

Figura 3.6: Ritratto di fase oscillatore di Van Der Pol per µ = 0.2

(a) Ritratto di fase (b) Dettaglio punto diequilibrio

Figura 3.7: Ritratto di fase oscillatore di Van Der Pol per µ = 2

20

(a) Ritratto di fase (b) Dettaglio punto diequilibrio

Figura 3.8: Ritratto di fase oscillatore di Van Der Pol per µ = 4

21

Capitolo 4

Controllo di sistemi nonlineari

L'obiettivo di un sistema di controllo può essere sinteticamente denito comesegue: dato un sistema sico e date le speciche di funzionamento dello stesso,si costruisca una legge di controllo in retroazione tale che il sistema in anel-lo chiuso presenti il comportamento desiderato. In particolare, il problema dicontrollo può essere di due tipi: stabilizzazione e inseguimento. Un problemadi stabilizzazione o regolazione consiste nel progettare il sistema di controlloin modo che il sistema in anello chiuso tenda asintoticamente ad un punto diequilibrio. Esempi di stabilizzazione sono il controllo della temperatura di unrefrigeratore, la regolazione dell'altitudine di un aereo e la regolazione di po-sizione di un satellite. Un problema più complesso è l'inseguimento, in cui ilcontrollore viene sintetizzato in modo che l'uscita del sistema segua una traiet-toria tempo variante desiderata. Un classico esempio di inseguimento consistenel fare in modo che un aereo segua una traiettoria di volo ssata. Nel seguenteparagrafo presenterò una tecnica utilizzata per la stabilizzazione di un sistemanonlineare.

4.1 Feedback Linearization

Il controllo in feedback linearization è una tecnica di base utilizzata nel con-trollo di sistemi nonlineari. Questo approccio consiste nella trasformazione diun sistema nonlineare in un equivalente sistema lineare, grazie ad un cambio divariabili e ad un ingresso appositamente scelto. La feedback linerization può es-sere applicata a quei sistemi nonlineari che possono essere riscritti nella seguenteforma:

x = f(x) + g(x)u

y = h(x)(4.1)

dove x ∈ Rn è il vettore di stato, u ∈ Rp è il vettore di ingresso e y ∈ Rm è ilvettore di uscita. L'obiettivo è quello di sviluppare un vettore di ingresso:

u = α(x) + β(x)v (4.2)

che renda lineare la funzione di ingresso-uscita tra il nuovo ingresso v e l'uscitay. A questo punto può essere applicata una qualunque strategia di controllo persistemi lineari. Per semplicare la trattazione tratteremo solo il caso di sistemi

22

SISO (single-input-single-output). Per introdurre l'idea di feedback lineariza-tion, partiamo con il problema della stabilizzazione dell'origine dell'equazionedel pendolo:

x1 = x2

x2 = −a[sin(x1 + δ)− sinδ]− bx2 + cu.(4.3)

Dopo una attenta analisi delle equazioni di stato possiamo scegliere u in questomodo:

u =a

c[sin(x1 + δ)− sinδ] +

v

c(4.4)

in maniera tale da cancellare il termine non lineare a[sin(x1 + δ) − sinδ]. Ilnuovo sistema allora avrà la seguente forma:

x1 = x2

x2 = −bx2 + v.(4.5)

In questo modo il problema della stabilizzazione del sistema nonlineare è statoridotto ad un problema di stabilizzazione di un sistema lineare. Possiamo quindiprocedere a progettare un controllore, ad esempio, a retroazione di stato:

v = −k1x1 − k2x2 (4.6)

per posizionare le radici del sistema a ciclo chiuso:x1 = x2

x2 = −k1x1 − (k2 + b)x2(4.7)

nel semipiano sinistro del piano. L'equazione del controllore a retroazione distato complessiva è:

u =a

c[sin(x1 + δ)− sinδ]− 1

c(k1x1 + k2x2). (4.8)

Ma quanto può essere generalizzata l'idea di una cancellazione non lineare?Ovviamente non possiamo aspettarci di essere in grado di poter cancellare lenon linearità in qualunque sistema. Devono esserci delle particolari proprietàstrutturali del sistema che ci permettono la cancellazione. Non è dicile daintuire che se vogliamo cancellare un termine nonlineare α(x) per sottrazione, ilcontrollo u e la non linearità α(x) devono apparire insieme nella somma u+α(x).Per cancellare un termine nonlineare α(x) per divisione, il controllo u e la nonlinerità γ(x) devono comparire nella forma γ(x)u. Perciò, l'abilità nell'usare ilfeedback per convertire un'equazione di stato nonlineare richiede che l'equazionedi stato abbia una struttura del tipo:

x = Ax+Bγ(x)[u− α(x)] (4.9)

dove A è n×n, B è n×p, la coppia (A,B) è controllabile e le funzioni α, γ sonodenite in un dominio D ⊂ Rn contenente l'origine. Se l'equazione di stato hala forma (4.9), possiamo linearizzarla tramite feedback di stato:

u = α(x)− γ−1(x)v (4.10)

23

per ottenere l'equazione di stato lineare:

x = Ax+Bv. (4.11)

Per la stabilizzazione possiamo progettare il controllo u = −Kv in maniera taleche le radici si trovino sempre nel semipiano sinistro del piano. L'equazione delcontrollore a retroazione di stato complessiva è:

u = α(x)− γ−1(x)Kx. (4.12)

Supponiamo che l'equazione di stato non lineare non ha la struttura del-la (4.9). Questo signica che non possiamo linearizzare il sistema tramite laretroazione? La risposta è no. Ricordiamo infatti che il modello di stato delsistema non è univoco ma dipende dalla scelta delle variabili di stato. Anchese l'equazione di stato non ha la forma della (4.9) per una determinata sceltadi variabili di stato, potrebbe assumere quella forma adottando un'altra scelta.Consideriamo, ad esempio, il sistema:

x1 = asinx2

x2 = −x21 + u,(4.13)

il quale non ci permette di scegliere facilmente u in maniera tale da eliminareil termine non lineare asinx2. Però, se prima operiamo un cambio di variabilicon la trasformazione:

z1 = x1

z2 = x1 = asinx2(4.14)

ora z1, z2 soddisfano: z1 = z2

z2 = acosx2(−x21 + u).(4.15)

Il controllo u può essere scelto come:

u = x21 +1

acosx2v (4.16)

che è ben denito nell'intervallo di valori −π2 < x2 <π2 . L'equazione di sta-

to nelle nuove coordinate (z1, z2) può essere trovata andando ad invertire latrasformazione (4.14) in funzione di (z1, z2):

x1 = z2

x2 = sin−1( z2a ).(4.17)

che è ben denita per valore −a < z2 < a. L'equazione di stato trasformata èdata da:

z1 = z2

z2 = acos[sin−1( z2a )](−z21 + u).(4.18)

Quando un cambio di variabili z = T (x) è usato per trasformare l'equazione distato dalle coordinate x alle coordinate z, la mappa T () deve essere invertibile;così come deve avere una mappa inversa T−1() tale che x = T−1(z),∀z ∈ Ddove D è il dominio di T. Inoltre, siccome le derivate di z e x dovrebbero essere

24

continue, necessitiamo che sia T () che T−1() siano continuamente dierenzia-bili. Quando determinate variabili di output sono di interesse, ad esempio neiproblemi di controllo di tipo inseguimento, il modello di stato è descritto daequazioni di stato ed equazioni di uscita. Linearizzare le equazioni di stato nonnecessariamente implica linearizzare le equazioni di uscita. Per esempio, se ilsistema visto già in precedenza:

x1 = asinx2

x2 = −x21 + u,(4.19)

ha una uscita y = x2, ora il cambio di variabili e il controllo a retroazione distato:

z1 = x1, z2 = asinx2 e u = x21 +1

acosx2v (4.20)

ci porta a: z1 = z2

z2 = v

y = sin−1( z2a ).

(4.21)

Mentre le equazioni di stato sono diventate lineari, risolvere il problema del-l'inseguimento per y è tuttora complicato dal termine non lineare presente nel-l'equazione di uscita. Dopo una attenta ispezione di entrambe le equazioni distato e uscita nelle coordinate x ci accorgiamo che, se usciamo il controllo aretroazione di stato u = x21 + v possiamo linearizzare sia l'ingresso che l'uscita.Possiamo ora procedere a risolvere il problema dell'inseguimento usando la teo-ria del controllo lineare. Vogliamo porre enfasi sul fatto che spesso è convenientelinearizzare la mappa input-output anche a costo di lasciare un' equazione distato con un termine non lineare. In questi casi il sistema si dice input-outputlinearizzabile. Un problema della linearizzazione input-output è che la mappainput-output linearizzata potrebbe non tenere conto di tutta la dinamica delsistema e, ad esempio, una delle variabili di stato potrebbe non essere connessaall'uscita y rendendo quella variabile non più osservabile da y. Nel prossimoparagrafo presenterò un' applicazione pratica di questa tecnica nel cercare distabilizzare un pendolo inverso.

4.1.1 Esempio feedback linearization: Pendolo inverso

Figura 4.1: Pendolo inverso

Si consideri l'esempio del pendolo inverso di massa m schematizzato in gura.Si assuma che sia assente l'attrito viscoso e che il pendolo sia sottoposto ad

25

una coppia esterna τ(t). Detto θ l'angolo di deviazione della fune di lunghezzaL (supposta priva di massa) dal punto di equilibrio alto sulla verticale (cuicorrisponde un angolo θ = 0, mentre si suppongono positivi gli angoli misuratiin senso orario rispetto alla verticale), l'equazione di stato del sistema si scrive:

Jθ(t) = mgLsinθ(t) + τ(t) (4.22)

con J = mL2 momento di inerzia del pendolo. E' chiaro che il sistema è nonlineare del secondo ordine ed in assenza di coppia esterna τ(t) il punto (θ, θ) =(0, 0) è di equilibrio per il sistema. Inoltre tale punto di equilibrio è instabile.Infatti scegliendo le variabili di stato x = 0 e y = 0 in assenza di ingresso, ilsistema si scrive in forma di stato come segue:

x = y

y = −mgL sinx.(4.23)

Pertanto il modello linearizzato del sistema attorno al punto di equilibrio (0,0)assume la struttura:

x = Ax (4.24)

dove la matrice di stato A vale:

A =

[0 1

mgLJ cosx 0

]=

[0 1

mgLJ 0

](4.25)

Quindi gli autovalori del sistema linearizzato intorno al punto di equilibrio,ottenuti risolvendo l'equazione caratteristica, sono:

λ2 − mgL

J= 0→ λ1,2 = ±

√mgL

J. (4.26)

Ne consegue che il sistema linearizzato è instabile, presentando una radice realepositiva e una negativa. Per il teorema del metodo inverso di Lyapunov, il puntodi equilibrio (0,0) è instabile. Si voglia ora stabilizzare il sistema in tale punto diequilibrio con una opportuna scelta dell'azione di controllo τ(t). Una semplicescelta per il controllore è allora la seguente:

τ(t) = −mgLsinθ(t)−KP θ(t)−KD θ(t), KP ,KD > 0 (4.27)

che in pratica consiste in un regolatore PD accoppiato ad un regolatore nonlineare che cancella la non linearità presente nel nostro sistema. Infatti conquesta scelta l'equazione di stato del sistema diventa:

Jθ(t) +KD θ(t) +KP θ(t) = 0, (4.28)

che è lineare ed ha una equazione caratteristica associata che vale:

Jλ2 +KDλ+KP = 0. (4.29)

Il sistema controllato presenta evidentemente due poli in anello chiuso, sempredisposti nel semipiano sinistro, i quali possono essere assegnati a piacimento,ad esempio, con la nota tecnica dell'allocazione dei poli. Pertanto per qualsiasivalore dei parametri KP ,KD del regolatore, la stabilizzazione ha successo.

26

Bibliograa

[1] Steven H. Strogatz Nonlinear dynamics and chaos,1994.[2] Hassan K.Khalil Nonlinear systems, third edition, 2002.[3] Controllo in feedback linearization,Wikipedia.[4] Jean-Jacques E.Slotine, Weiping Li, Applied nonlinear control,1991.[5] Karl Johan Astrom, Richard M.Murray,Feedback Systems, 2009.

27