187
Nonlinear Control - Pag. 1 Applicazioni di Controllo per Sistemi Non Lineari Marcello Bonf` e Dipartimento di Ingegneria Universit` a di Ferrara Tel. +39 0532 974839 Fax. +39 0532 974870 E-mail: [email protected]

Nonlin tutto 2009

  • Upload
    marbonf

  • View
    448

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Nonlin tutto 2009

Nonlinear Control - Pag. 1

Applicazioni di Controllo

per Sistemi Non Lineari

Marcello Bonfe

Dipartimento di Ingegneria

Universita di Ferrara

Tel. +39 0532 974839

Fax. +39 0532 974870

E-mail: [email protected]

Page 2: Nonlin tutto 2009

Nonlinear Control - Pag. 2

Indice

• Introduzione

• Metodi di analisi per sistemi nonlineari

• Metodi di progetto per il controllo nonlineare: panoramica

• Linearizzazione tramite feedback (Feedback Linearization) ed applicazioni

• Controllo robusto a struttura variabile (Variable Structure o Sliding ModeControl) ed applicazioni

Page 3: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 3

Sistemi Dinamici: Lineari / Nonlineari

• Sistema dinamico: oggetto o fenomeno il cui comportamento (manifestatoda uscite misurabili) evolve nel tempo in funzione degli stimoli esterni(ingressi) presenti e passati (a causa dello stato)

• Descrizione formale: modello matematico (eq. differenziali)

• Modelli lineari:x(t) = Ax(t) + Bu(t)y(t) = Cx(t) + Du(t)

• Modelli nonlineari:

x(t) = f(x(t),u(t), t)y(t) = h(x(t),u(t), t)

Page 4: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 5

Progetto del controllo per sistemi dinamici

• Controllo Lineare (analisi e progetto basati su modelli lineari):

– disciplina matura con basi teoriche ben assestate– innumerevoli applicazioni industriali (v. PID)– prestazioni soddisfacenti per ampie (?) condizioni di funzionamento

• Controllo Nonlineare (analisi e progetto basati su modelli nonlineari):

– i modelli lineari sono sempre un’approssimazione della realta, valida perlimitate (!) condizioni di funzionamento

– alcune nonlinearita non sono approssimabili linearmente (es. discontinuita)– anche l’adattamento on-line di parametri del controllore e formalmente

una nonlinearita– il progetto richiede maggiore approfondimento delle leggi fisiche che

determinano la dinamica del sistema (v. stabilita del pendolo)

Page 5: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 6

Esempio: pendolo

M

M

θ

1

• Approccio lineare: trovare un modello

x = Ax + Bu (con x = [θ θ]T ), validoin un intorno del punto di equilibrio x = 0(es. ipotesi sin θ ≈ θ) e dimostrare che gliautovalori di A sono a parte reale negativae/o trovare u = −Kx che li renda tali

• Approccio nonlineare: dato il modello

x = f(x,u) valido ∀x ∈ R2, dimostrare chex = 0 e un punto a minima energia, pertantoogni traiettoria dello stato tende a dissiparel’energia del sistema fino a raggiungere taleminimo (es. attriti) e/o trovare u = g(x)che renda il sistema dissipativo (⇒ stabile)

Page 6: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 6

Note sul lucido 6

Siano R la lunghezza del pendolo, M la massa appesa (trascurando quella dell’asta), g l’accelerazione digravita, b il coefficiente di attrito viscoso alla cerniera e τ la coppia esercitata, ad esempio, da un motore elettricoconnesso alla cerniera, il modello dinamico del pendolo e rappresentato dall’equazione:

MR2θ + bθ + MgR sin θ = τ

nella quale τ rappresenta l’ingresso di controllo. Considerando come variabili di stato x1 = θ e x2 = θ eponendo u = τ , si puo ricondurre l’equazione precedente alla forma x = f(x, u):

x1 = x2

x2 = − gR sin x1 − b

MR2x2 + uMR2

per cui x = [θ θ]T ed f(x, u) = [f1(x, u) f2(x, u)]T nella quale chiaramente

f1(x, u) = x2

f2(x, u) = − gR sin x1 − b

MR2x2 + uMR2 .

I punti di equilibrio (x = 0) sono dati dalle soluzioni della equazione f(x) = 0, cioe:

x2 = 0, sin x1 = 0

Page 7: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 7

verificata dai punti di equilibrio (0, 0) e (π, 0) (limitando l’analisi al solo intervallo significativo x1 ∈ [0, 2π[).L’analisi di un modello lineare del sistema puo essere fatta grazie all’approssimazione di Taylor delle funzioni f1

ed f2 rispetto ai due punti di equilibrio, trascurando i termini di ordine superiore al primo. Intuitivamente, questocorrisponde a considerare sin x1 ≈ x1 se x1 ≈ 0 e sin x1 ≈ −x1 se x1 ≈ π, che permette di ottenere iseguenti due modelli del tipo x = Ax + Bu:

[x1

x2

]=

[0 1

− gR − b

MR2

] [x1

x2

]+

[01

MR2

]u

e [x1

x2

]=

[0 1

+ gR − b

MR2

] [x1

x2

]+

[01

MR2

]u

Si noti che il sistema libero (cioe senza l’ingresso) risulta avere autovalori

λ1,2 =−b R3±

√−4 g M2 R+b2 R6

2 M R ,

nel primo caso, e

λ1,2 =−b R

52±

√4 g M2+b2 R5

2 M√

R

nel secondo caso. Si puo facilmente verificare che tali autovalori sono sempre entrambi a parte reale negativa nelprimo caso (punto di equilibrio stabile) ed entrambi a parte reale positiva nel secondo caso (punto di equilibrioinstabile).

Page 8: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 8

Caratteristiche (buone) dei modelli lineari

La teoria del Controllo Lineare si concentra sui sistemi Lineari Tempo-Invarianti (LTI) del tipo x(t) = Ax(t) + Bu(t), per i quali:

• esiste un unico punto di equilibrio, se A e non singolare, ed esso e stabileper ogni x(t0), se gli autovalori di A hanno parte reale negativa

• la risposta del sistema e determinabile analiticamente

• noto l’andamento nel tempo di u(t), la risposta e data, per sovrapposizionedegli effetti, da:

x(t) = eA(t−t0)x(t0)︸ ︷︷ ︸risposta libera

+∫ t

t0

eA(t−τ)Bu(τ)dτ︸ ︷︷ ︸risposta forzata

Page 9: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 9

Caratterizzazione frequenziale di sistemi LTI

• Per un sistema stabile

x(t) = Ax(t) + Bu(t)y(t) = Cx(t) + Du(t)

ingressi sinusoidali danno luogo (dopo un certo transitorio) ad uscitesinusoidali della stessa frequenza

• Ampiezza e sfasamento delle sinusoidi in uscita dipendono dalla matrice ditrasferimento:

G(s) = C(sI−A)−1B + D

Page 10: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 10

Analisi frequenziale di sistemi LTI SISO

• Nel caso Single Input Single Output (SISO) (y(t), u(t) ∈ R) la matricedi trasferimento degenera in una funzione di trasferimento scalare, sempredi tipo razionale fratta (poli-zeri)

• I metodi classici della teoria del controllo si basano sullo studio delle funzionidi trasferimento dei blocchi costitutivi del sistema (plant, controllore, filtri,trasduttori ecc.) e di quelle ottenute dalla loro composizione (es. funzionedi trasferimento d’anello):

– diagrammi di Bode– diagrammi di Nyquist– luogo delle radici (mappa poli-zeri)– progetto di reti correttrici e/o PID

Page 11: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 11

Frequency (rad/sec)

Pha

se (

deg)

; Mag

nitu

de (

dB)

Bode Diagrams

10−1

100

101

−200

−150

−100

−50

0

To:

Y(1

)

−40

−30

−20

−10

0

10

20From: U(1)

Page 12: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 12

Ing. Mariagrazia Dotoli Controlli Automatici NO (9 CFU) Diagrammi a Blocchi

9

Ragionando come nel caso precedente si ha:

y=Gx+GHy, ossia G

y x1 GH

=−

e in definitiva lo schema equivalente è il seguente:

12) Riduzione di un anello in retroazione unitaria (negativa o positiva)

Consideriamo ora due schemi analoghi a quelli visti nei precedenti punti 10) e 11), ma con retroazione unitaria:

G x

y e +

+

H

ramo diretto

ramo di retroazione

ingresso uscita z

G

1 GH−

x y

G x

y e +

+

ramo diretto

ramo di retroazione

ingresso uscita

z G

x y

e +

-

ramo diretto

ramo di retroazione

ingresso uscita

z

che equivale a:

Ing. Mariagrazia Dotoli Controlli Automatici NO (9 CFU) Diagrammi a Blocchi

9

Ragionando come nel caso precedente si ha:

y=Gx+GHy, ossia G

y x1 GH

=−

e in definitiva lo schema equivalente è il seguente:

12) Riduzione di un anello in retroazione unitaria (negativa o positiva)

Consideriamo ora due schemi analoghi a quelli visti nei precedenti punti 10) e 11), ma con retroazione unitaria:

G x

y e +

+

H

ramo diretto

ramo di retroazione

ingresso uscita z

G

1 GH−

x y

G x

y e +

+

ramo diretto

ramo di retroazione

ingresso uscita

z G

x y

e +

-

ramo diretto

ramo di retroazione

ingresso uscita

z

Page 13: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 13

Caratteristiche (cattive) dei modelli nonlineari

Nel caso piu generale, la dinamica di un sistema e del tipo x = f(x,u, t):

• il sistema puo avere molteplici punti di equilibrio, la cui stabilita puodipendere dalle condizioni iniziali

• anche la risposta libera del sistema puo essere stabilmente oscillatoria (ciclilimite con oscillazioni auto-sostenute)

• le caratteristiche dei punti di equilibrio possono cambiare drasticamen-te (stabile, instabile, ciclo limite) in relazione a variazioni di parametri(biforcazioni)

• piccole differenze nelle condizioni iniziali possono dare luogo a grandissimedifferenze nella risposta del sistema (comportamento caotico)

Page 14: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 14

Esempio: oscillatore di Van der Pol

Tipico modello di un sistema caratterizzato da un ciclo limite, studiato daBalthasar Van der Pol negli anni ’20:

mx + 2c(x2 − 1)x + kx = 0

che descrive sia circuiti elettrici RLC con resistenze variabili nonlinearmen-te, che gruppi massa-molla-smorzatore con un coefficiente di smorzamentodipendente dalla posizione (NOTA: no input!).

Il comportamento oscillatorio puo essere spiegato considerando che se x2 > 1lo smorzatore ha coefficiente positivo e quindi dissipa energia, mentre se x2 < 1fornisce energia. Lo stato del sistema non puo quindi ne convergere a 0, nedivergere all’∞.

Page 15: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 15

Oscillatore di Van der Pol: risposta

0 5 10 15 20 25 30 35 40−1.5

−1

−0.5

0

0.5

1

1.5

2

time (sec)

x(t)

Van der Pol oscillator

Page 16: Nonlin tutto 2009

Nonlinear Control Introduzione - Pag. 16

Oscillatore di Van der Pol: traiettorie dellostato con ciclo limite

x ’ = y y ’ = − 2 (x2 − 1) y − x

−3 −2 −1 0 1 2 3

−5

−4

−3

−2

−1

0

1

2

3

4

5

x(t)

x(t

)

1

Page 17: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 18

Analisi di sistemi nonlineari

• Analisi grafica con il piano delle fasi

• Analisi approssimata con funzioni descrittive

• Analisi con i metodi di Lyapunov

Page 18: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 19

Analisi nel piano delle fasi

• Si cerca di tracciare le traiettorie dello stato del sistema su un graficobi(tri)dimensionale, solitamente ottenuta via simulazione

• Ovviamente, possibile solo per sistemi del secondo (terzo) ordine

• Il tempo non compare esplicitamente nel piano delle fasi

• Permette comunque di determinare la presenza di punti di equilibrio/ciclilimite e di studiarne le caratteristiche

Page 19: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 20

Sistemi del secondo ordine

• Nella forma piu generale:

x1 = f1(x1, x2)x2 = f2(x1, x2)

che per ogni condizione iniziale x(0) = x0 ha una soluzione x(t), il cuitracciato nel piano (x1, x2) per t ∈ [0,∞) rappresenta una traiettoria delsistema.

• Una famiglia di traiettorie generate a partire da diverse condizioni inizialicostitutisce una mappa delle fasi.

Page 20: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 21

Tipica dinamica del secondo ordine

• Una classe tipica di sistemi del secondo ordine (massa-molla-smorzatore,circuiti RLC) e quella descrivibile da un’equazione differenziale del tipo:

x + f(x, x) = 0

che puo essere ricondotta a:

x1 = x2

x2 = −f(x1, x2)

con x1 = x e x2 = x.

Page 21: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 22

Esempio: massa-molla ideali (m x + k x = 0) etraiettorie marginalmente stabili

M x

x.

Page 22: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 24

Punti singolari nella mappa delle fasi

• In generale, l’analisi di un sistema serve per determinare le caratteristichedei suoi punti di equilibrio, cioe i punti nei quali x = 0, condizione che peri sistemi analizzabili con il piano delle fasi (secondo ordine) diventa:

f1(x1, x2) = 0 f2(x1, x2) = 0

• I punti che soddisfano tale condizione sono detti anche punti singolari,perche in tali punti la tangente delle traiettorie dello stato e indeterminata

dx1

dx2=

f2(x1, x2)f1(x1, x2)

=00

Page 23: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 25

Esempio: generico sistema nonlinare

Per il sistema:x + 0.6x + 3x + x2 = 0

esistono due punti singolari: (0, 0) e (0, -3)

Tuttavia, mentre il primo risulta un punto di convergenza di traiettorie la cuicondizione iniziale appartenga ad una determinata area (area di convergenza),il secondo si dimostra un punto dal quale le traiettorie possono divergere (v.grafico successivo)

Page 24: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 26

-6 -4 -2 0 2 4 6

-8

-6

-4

-2

0

2

4

6

8

instabile

area diconvergenza

x(t)

x(t

)

1

Page 25: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 27

Tipologie di punti singolari

• Nodi stabili (instabili): punti di convergenza (divergenza) delle traiettorie,senza modi oscillatori

• Fuochi stabili (instabili): punti di convergenza (divergenza) delle traiettorie,con modi oscillatori

• Punti di sella: punti verso i quali convergono due sole traiettorie, corrispon-denti a condizioni iniziali nelle quali i modi instabili sono nulli, mentre tuttele altre divergono

• Punti di centro di traiettorie chiuse ellittiche (v. gruppo massa-mollaideale)

Page 26: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 28

Punti singolari per sistemi lineari

Per un sistema lineare del secondo ordine, la dinamica x = Ax diventa:

x1 = a1x1 + a2x2

x2 = a3x1 + a4x2

che e possibile semplificare ricavando x2 dalla prima equazione e sostitendolanella seconda:

x1 = (a1 + a4)x1 + (a3a2 − a1a4)x1

o, piu in generale:x + ax + bx = 0

le cui soluzioni sono univocamente caratterizzate dalle radici λ1 e λ2 delpolinomio caratteristico:

s2 + as + b = (s− λ1)(s− λ2) = 0

Page 27: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 29

In relazione alla “posizione” di λ1 e λ2:

3

0))(( 212 =−−=++ λ

λ

ssbass

1. λ1 and λ2 are both real and have the same sign (positive or negative)

2. λ1 and λ2 are both real and have opposite signs

3. λ1 and λ2 are complex conjugate with non-zero real parts

4. λ1 and λ2 are complex conjugate with real parts equal to zero

Page 28: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 30

Punti singolari e cicli limite nei sisteminonlineari

• Diversamente da un sistema lineare, un sistema nonlineare puo averemolteplici punti di equilibrio (punti singolari)

• Tuttavia, un punto di equilibrio puo essere studiato localmente considerandola linearizzazione del sistema in un intorno del punto stesso (v. primometodo di Lyapunov), per scoprire se sia un nodo, un fuoco, etc.

• La presenza di cicli limite, possibile solamente nei sistemi nonlineari, e laloro stabilita o instabilita vanno studiate in modo specifico (es. teoremi diPoincare e Bendixson...)

Page 29: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 31

Cicli limite: analisi approssimata tramite lefunzioni descrittive

• In molti casi pratici, i cicli limite insorgono in un sistema ad anello chiuso acausa di nonlinearita algebriche, cioe senza dinamica (es. saturazioni, giochi,etc.)

• In questi casi, e possibile studiare determinare l’esistenza del ciclo limiteattraverso una descrizione approssimata delle nonlinearita, basato sullefunzioni descrittive

• Una funzione descrittiva e una “funzione di trasferimento” (f.d.t.) complessa,che lega le caratteristiche di una sinusoide all’ingresso a quelle di una sinusoideall’uscita nell’ipotesi di regime oscillatorio persistente (ciclo limite)

• Una f. descrittiva e f. dell’ampiezza della sinusoide d’ingresso (nondella pulsazione), e determina il rapporto fra la componente fondamentaledell’oscillazione in uscita e la sinusoide d’ingresso.

Page 30: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 32

Ipotesi per l’analisi con funzioni descrittive

1. Sistema retroazionato, con ingresso di riferimento nullo (r(t) = 0 nelloschema seguente)

2. La parte lineare (G(jω) nello schema seguente) agisce come filtro passa-basso

3. Si puo supporre che nel punto A dello schema seguente e(t) = E sin(ω t)(dall’ipotesi 2)

4. La nonlinearita e puramente algebrica ed e simmetrica

Page 31: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 33

Schema a blocchi di riferimento

2

DESCRIBING FUNCTION

N(e) G(jω)+

-

r(t) = 0 e(t)

A

Nonlinearity Linear part

c(t)n(t)

B

DESCRIBING FUNCTION

• Assumptions– No input, r(t) = 0– Linear part acts as a low-pass filter, that is,

higher order harmonic components are damped– Nonlinearity does not generate subharmonics– Nonlinearity is symmetric– Nonlinearity does not depend on frequency– Assume that at point A, e(t) = E sin(ωt)

Page 32: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 37

Determinazione dei cicli limite con la funzionedescrittiva

• Il sistema mostrato in precedenza e sede di un’oscillazione persistente se

N(E)G(jω) = −1

con N(e) funzione descrittiva della nonlinearita, per il criterio di Nyquist)

• Questa condizione puo essere determinata graficamente dall’analisi di un dia-gramma di Nyquist di G(jω) sovrapposto alla rappresentazione di −1/N(E)sullo stesso piano complesso (graduato in E anziche in ω)

• Il punto d’incontro delle due curve permette di determinare ampiezza E (daN(E)) e pulsazione ω (da G(jω)) delle oscillazioni autosostenute

Page 33: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 38

Diagramma di Nyquist con rele con soglia

M. Lelic 12/7/99 7CORNING Inc. L 5033PRE

Modeling (frequency domain)Modeling (frequency domain)

PID

Processy

)(Re1

ωjGK

0=ω)0,/1( jK

)(Im ωjGj

)(/1 aN−

cω=ω

ad

aNπ

=4

)(

(a) Relay Excitation

(b) Correlation Method:• use PRBS test signal u(t),• measure y(t),• find cross-correlation function between u(t) and y(t)• compute the impulse response g(t)• transform g(t) to G(s) and find the parameters of the model

Page 34: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 39

Note conclusive sul metodo della funzionedescrittiva

• Il metodo e approssimato, pertanto puo verificarsi che:

1. sia l’ampiezza che il periodo delle oscillazioni sono diverse da quelle rilevatesperimentalmente

2. un ciclo limite previsto in realta non esiste3. un ciclo limite esistente non e previsto

Page 35: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 40

Analisi con i metodi di Lyapunov

• L’unico approccio rigoroso ed esaustivo per l’analisi dei sistemi nonlineari (diqualsiasi tipo e ordine) e quello basato sulla teoria sviluppata dal matema-tico russo Aleksandr Mikhailovich Lyapunov, pubblicata per la prima voltanel 1892, ma riconsiderata nel contesto dei controlli automatici solamente apartire dai primi anni ’60

• La teoria di Lyapunov si basa su due metodi fondamentali:

– il metodo della linearizzazione (o primo metodo), base teorica per la“giustificazione” (locale) del controllo lineare

– il metodo diretto (o secondo metodo), grazie al quale considerazioni ditipo “energetico” (potenzialmente piu intuitive) possono essere di ausilionell’analisi di stabilita e nel progetto del controllo

Page 36: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 41

Aleksandr Mikhailovich Lyapunov

(1857-1918)

• Professor of Mechanics at St. Petersburg

• Doctoral dissertation (St. Petersburg, 1892)under Chebyshev:Stability of celestial bodiesFormulated his first and second methods

Page 37: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 42

Punti di equilibrio e stabilita: definizioni

Nella teoria di Lyapunov, si intende sistema dinamico un sistema libero eautonomo, caratterizzato dall’equazione x = f(x) (se x = f(x, t) e libero, manon autonomo)

Definizione 1 Uno stato x? e detto stato di equilibrio (o punto di equilibrio)di un sistema dinamico, se dall’istante t al quale x(t) e uguale a x?, x(t)rimane uguale a x? per ogni istante successivo

Matematicamente, i punti di equilibrio sono ottenuti dalla soluzione dellaequazione:

0 = f(x?)

Page 38: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 42

Note sul lucido 42

I concetti di stabilita descritti nel seguito fanno sempre riferimento allo specifico punto di equilibrio x = 0.Tuttavia, cio non implica una perdita di generalita, in quanto per ogni punto di equilibrio x? 6= 0 e possibilericondurre lo studio di stabilita a quello dell’origine, effettuando il cambiamento di variabile:

y = x− x?

e studiando la stabilita di y = 0 per il sistema y = f(y + x?), in modo assolutamente equivalente.

In modo analogo, e possibile ricondurre lo studio della stabilita di una traiettoria nominale di un sistemadinamico, cioe una soluzione dell’equazione differenziale x = f(x) con condizione iniziale x?(0) = x0, inpresenza di condizioni iniziali perturbate, allo studio di una dinamica dell’errore come segue:

1. Data x?(t): soluzione di x = f(x) con x?(0) = x0

2. Si calcola x(t): soluzione di x = f(x) con x(0) = x0 + δx0

3. Infine si analizza la traiettoria e(t) = x(t)− x?(t) che ha una dinamica descritta da:

e = f(x? + e, t)− f(x?, t) = g(e, t)

con punto di equilibrio in e = 0.

Page 39: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 43

Punti di equilibrio e stabilita: definizioni - 2

Definizione 2 Il punto di equilibrio x = 0 di un sistema x = f(x) e dettostabile se ∀R > 0, ∃ r > 0, t.c.

‖x(0)‖ < r ⇒ ∀ t ≥ 0, ‖x(t)‖ < R.

Altrimenti, il punto di equilibrio viene detto instabile

Definizione 3 Il punto di equilibrio x = 0 di un sistema x = f(x) e dettoasintoticamente stabile se e stabile ed ∃ r > 0, t.c.

‖x(0)‖ < r ⇒ x(t) → 0 per t →∞.

Definizione 4 Il punto di equilibrio x = 0 di un sistema x = f(x) e dettoesponenzialmente stabile se e stabile ed ∃ r > 0, ∃α > 0, ∃λ > 0, t.c.

‖x(0)‖ < r ⇒ ∀ t > 0, ‖x(t)‖ ≤ α‖x(0)‖e−λt.

Page 40: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 44

Rappresentazione “grafica” della stabilita secondo Lyapunov(1 =asintoticamente stabile, 2 = marginalmente stabile, 3 = instabile):

4

Concepts of Stability

It is important to point out the qualitative difference between instability and the intuitive notion of “blowing up” (all trajectories close to origin move further and further away to infinity). In linear systems, instability is equivalent to blowing up, because unstable poles always lead to exponential growth of the system states. However, for nonlinear systems, blowing up is only one way of instability.

Unstable origin of the Van der Pol Oscillator

Example: Van der Pol Oscillator

22112

21

)1( xxxxxx

−+−=

=

&

&

Page 41: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 45

Punti di equilibrio e stabilita: definizioni - 3

Definizione 5 Se x = 0 e un punto di equilibrio asintoticamente (esponen-zialmente) stabile, la regione ‖x(0)‖ < r con r massimo, e detta dominio diattrazione.

Definizione 6 Se x = 0 e un punto di equilibrio asintoticamente (espo-nenzialmente) stabile ∀x(0) ∈ Rn, il sistema si dice globalmenteasintoticamente (esponenzialmente) stabile.

NOTA: la stabilita asintotica di un sistema LTI e sempre anche esponenzialee globale.

Page 42: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 46

Primo metodo di Lyapunov: linearizzazione

Dato un sistema x = f(x), con 0 punto di equilibrio ed f differenziabile inmodo continuo, e possibile scrivere:

x =(

∂f∂x

)x=0

x + fh.o.t.(x)

essendo f(0) = 0 (il pedice h.o.t. sta per higher order terms). Ponendo:

A =(

∂f∂x

)x=0

il sistema x = Ax e detto approssimazione lineare nel punto di equilibrio0 del sistema nonlineare originale.

Page 43: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 47

Primo metodo di Lyapunov: linearizzazione - 1

Analogamente, se x = f(x,u) si puo scrivere:

x =(

∂f∂x

)(x=0,u=0)

x +(

∂f∂u

)(x=0,u=0)

u + fh.o.t.(x,u)

approssimabile a x = Ax + Bu con:

A =(

∂f∂x

)(x=0,u=0)

B =(

∂f∂u

)(x=0,u=0)

Page 44: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 47

Note sul lucido 47

Si noti che l’approssimazione lineare puo essere fatta rispetto ad un qualunque altro punto di equilibrio x?

diverso dall’origine, con ingresso costante pari a u?:

x ≈(

∂f∂x

)(x=x?,u=u?)

(x− x?) +

(∂f∂u

)(x=x?,u=u?)

(u− u?)

purche sia sempre valida l’ipotesi f(x?, u?) = 0, nel qual caso possiamo definire come nuove variabili di stato edi ingresso le variazioni rispetto ai valori di equilibrio:

x = x− x?

u = u− u?

cosicche ponendo:

A =

(∂f∂x

)(x=x?,u=u?)

B =

(∂f∂u

)(x=x?,u=u?)

si ottiene il sistema dinamico linearizzato rispetto alle variazioni ˙x = Ax + Bu.

Si noti che l’operazione di linearizzazione puo essere fatta anche rispetto a un punto non di equilibrio,rispetto al quale la linearizzazione sara del tipo ˙x = Ax + Bu + f(x?, u?) (con f(x?, u?) costante).

Page 45: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 48

Primo metodo di Lyapunov: teorema

Teorema 1 (Metodo di linearizzazione di Lyapunov)• Se il sistema approssimato linearmente con x = Ax e strettamente stabile

(equiv. tutti gli autovalori di A sono a parte reale strettamente negativa),allora il punto di equilibrio e asintoticamente stabile per il sistema nonlineareoriginale

• Se il sistema approssimato linearmente con x = Ax e instabile (equiv.almeno un autovalore di A ha parte reale strettamente positiva), allora ilpunto di equilibrio e instabile per il sistema nonlineare originale

• Se il sistema approssimato linearmente con x = Ax e marginalmente stabile(equiv. tutti gli autovalori di A sono a parte reale negativa, ma almenouno ha parte reale nulla), allora non e possibile concludere nulla sullastabilita del punto di equilibrio per il sistema nonlineare originale (puo esseremarginalmente stabile, asintoticamente stabile o instabile)

Page 46: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 49

Secondo metodo di Lyapunov: metodo diretto

• I risultati del primo metodo di Lyapunov sono validi solo localmente, cioefintanto che l’approssimazione e ragionevole

• Indipendentemente dal caso di stabilita marginale, la linearizzazione nonpermette di concludere nulla sulla stabilita in senso globale

• Il secondo metodo di Lyapunov (metodo diretto) si basa invece sullaseguente intuizione fondamentale di natura fisico, che permette di analizzarela stabilita sia in senso locale che globale:

“Se l’energia complessiva di un sistema e continuamente dissipata, il sistema(lineare o nonlineare che sia) si stabilizzera prima o poi in una condizione diequilibrio (caratterizzata da energia minima)”

Page 47: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 50

Esempio: gruppo massa-molla-smorzatorenonlineare

Mnonlineari

Sistema caratterizzato dal modello:

mx + bx|x|+ k0x + k1x3 = 0

Page 48: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 51

L’energia complessiva del sistema e data dalla somma dell’energia cineticae dell’energia potenziale (associata alle forze elastiche):

V (x) =12mx2 +

∫ x

0

(k0x + k1x3)dx =

12mx2 +

12k0x

2 +14k1x

4

dalla quale si evince che:

• nel punto di equilibrio (x = 0, x = 0) il sistema ha energia nulla

• l’eventuale stabilita asintotica implica la convergenza a 0 dell’energiacomplessiva

• l’eventuale instabilita e riconducibile ad un incremento dell’energiacomplessiva

Page 49: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 52

Per il sistema in esame, la variazione di energia lungo le traiettorie delsistema si puo calcolare differenziando V (x) e sostituendo nell’espressioneottenuta l’equazione della dinamica:

V (x) = mxx + (k0x + k1x3)x

(x=f(x,x))= x(−bx|x|) = −b|x|3

che e negativa fintanto che x 6= 0. Pertanto l’energia complessiva delsistema e continuamente dissipata a causa dello smorzatore (nonlineare) e lamassa si assestera nell’origine con energia nulla (velocita nulla e forze elastichenulle), indipendentemente dalla posizione di partenza (stabilita globale).

Page 50: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 53

Funzioni di Lyapunov e stabilita: definizioni

Definizione 7 Una funzione scalare continua V (x) e detta localmentedefinita positiva se V (0) = 0 ed ∃R > 0 t.c.

‖x‖ < R, x 6= 0 ⇒ V (x) > 0

Se la precedente condizione vale ∀x ∈ Rn, allora V (x) e dettaglobalmente definita positiva

Definizioni analoghe: semi-definita positiva (V (x) ≥ 0), definita negativa (V (x) < 0),

semi-definita negativa (V (x) ≤ 0)

Poiche in questo contesto x rappresenta lo stato di un sistema dinamico,V (x) e implicitamente funzione di t. Supponendo V (x) differenziabile:

V =∂V

∂xx =

∂V

∂xf(x)

Page 51: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 54

Funzioni di Lyapunov e stabilita: definizioni - 1

Definizione 8 Se una funzione V (x) e definita positiva, ha derivate parzialicontinue e la sua derivata rispetto al tempo lungo ogni traiettoria di unsistema x = f(x) e semi-definita negativa, allora V (x) e detta una funzionedi Lyapunov per x = f(x).

Teorema 2 (Stabilita locale)Il punto di equilibrio x = 0 del sistema x = f(x) e stabile se ∃V (x) conderivate parziali prime continue t.c.

• V (x) e localmente definita positiva

• V (x) e localmente semi-definita negativa

Se la derivata V (x) e localmente definita negativa, la stabilita di 0 e asintotica.

Page 52: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 55

Rappresentazione “concettuale” del Teorema di Lyapunov sulla stabilita locale:18 CAPITOLO 1. EQUAZIONI DIFFERENZIALI

x

x 1

x 2

xe

z=V( )x

(t)

z

Figura 1.5: Funzione di Lyapunov

1.6.2 I sistemi conservativi

Il criterio di Dirichlet

Torniamo alla nostra equazione q = f(q), o meglio al sistema equivalente

q = vv = f(q) (1.39)

In accordo con quanto detto nel paragrafo precedente, un punto di equilibrioe caratterizzato da v = 0 e da un valore qe tale che f(qe) = 0. Ricordiamo anchela definizione di “energia potenziale”

V (q) = −U(q) = −

∫ q

q0

f(η) dη , (1.40)

e la legge di “conservazione dell’energia” che scriviamo nella forma

e(q, v) =12v2 + V (q)−E = 0 . (1.41)

A questo punto possiamo enunciare il seguente

Criterio di Dirichlet: Una configurazione di equilibrio qe in cui si realizza unminimo isolato dell’energia potenziale e stabile secondo Lyapunov.

La dimostrazione e elementare, basta far vedere che la funzione e(q, v) euna funzione di Lyapunov per il punto di equilibrio (qe, 0) se qe e tale cheV (q) > V (qe) per ogni q 6= qe in un intorno di qe (i dettagli della verifica sonolasciati per esercizio).

Sistemi multidimensionali

Quello che abbiamo visto per un’equazione scalare puo essere generalizzato alcaso vettoriale. Supponiamo di avere un’equazione

q = f(q) (1.42)

Page 53: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 56

Funzioni di Lyapunov e stabilita: definizioni - 2

Teorema 3 (Stabilita globale)Il punto di equilibrio x = 0 del sistema x = f(x) e globalmente asintoticamentestabile se ∃V (x) con derivate parziali prime continue t.c.

• V (x) e globalmente definita positiva

• V (x) e globalmente definita negativa

• V (x) →∞ per ‖x‖ → ∞

NOTA 1: per un sistema possono esistere diverse funzioni di Lyapunov. Se scelta una di

queste, essa si rivela con derivata semi-definita negativa, potrebbe in realta esistere un’altra

funzione di Lyapunov con derivata definita negativa che permette di dimostrare la stabilita

asintotica, oltre a quella semplice. Inoltre, il fatto di non riuscire a trovare (ad intuito) una

funzione di Lyapunov idonea, non prova che non ne esistano,

NOTA 2: I teoremi fin qui enunciati servono per provare la stabilita, non l’instabilita.

Page 54: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 56

Note sul lucido 56

La dimostrazione delle stabilita di un sistema attraverso la scelta di una funzione di Lyapunov e quindi unprocedimento sostanzialmente per prove ed errori (trial-and-error). Tuttavia, il fatto che i teoremi sulla stabilitadi Lyapunov siano la formalizzazione del concetto intuitivo “dissipazione di energia = stabilita”, permette inmolti casi di interesse pratico (es. sistemi meccanici, circuiti elettrici, ecc.) di utilizzare come prima “candidata”a funzione di Lyapunov la descrizione energetica del sistema. Ad esempio, nel caso del pendolo analizzatonell’introduzione, la funzione

V1(x) =1

2MR

2x

22 + MRg(1− cos x1)

dove x1 = θ e x2 = θ, e in effetti l’energia meccanica totale (cinetica + potenziale) ed e una funzione che, peril punto di equilibrio (0,0), e localmente definita positiva. La sua derivata rispetto al tempo e:

V1(x) = MRgx1 sin x1 + MR2x2x2 = MRgx1 sin x1 + MR

2x1x1 = −

b

MR2x

21 = −

b

MR2x

22

che e semi-definita negativa, il che permette di dimostrare la stabilita semplice di (0,0). Tuttavia, ponendo persemplicita b/MR2 = 1 e g/R = 1 e scegliendo come funzione di Lyapunov la seguente

V2(x) =1

2x

22 + 2(1− cos x1) +

1

2(x2 + x1)

2

Page 55: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 57

si puo verificare che:

V1(x) = −(x22 + x1 sin x1) ≤ 0

e in effetti localmente definita negativa. Pertanto, con questo secondo tentativo di costruzione di una funzione diLyapunov, includendo un termine che non ha un significato fisico ben preciso, e possibile dimostrare l’asintoticastabilita del punto (0,0).

Potrebbe quindi sembrare che il procedimento di Lyapunov per la dimostrazione della stabilita di un punto diequilibrio, soprattutto quella asintotica, sia lungo e difficoltoso (trovare la “giusta” f. di Lyapunov). In realta,alcune proprieta di convergenza delle traiettorie di un sistema, compresa quindi la stabilita asintotica di un punto,possono essere dimostrate grazie ai teoremi sugli insiemi invarianti, dovuti a La Salle, enunciati nel seguito.

Page 56: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 58

Funzioni di Lyapunov e stabilita: definizioni - 3

Definizione 9 Un insieme M ⊆ Rn e un insieme invariante di un sistemadinamico se ogni traiettoria che parte da una condizione iniziale x0 ∈ Mrimane in M per ogni istante futuroTeorema 4 (Invariante locale)Dato un sistema x = f(x), con f continua, e una funzione V (x) con derivateparziali prime continue, se:

• ∃ l > 0 t.c. la regione Ωl definita da V (x) < l e limitata

• V (x) ≤ 0 ∀x ∈ Ωl

• E ∈ Ωl t.c. V (x) = 0 e M e il maggiore insieme invariante contenuto in E

allora ogni traiettoria x(t) con condizione iniziale x0 ∈ Ωl tende a M pert →∞

Page 57: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 59

Funzioni di Lyapunov e stabilita: definizioni - 4

Teorema 5 (Invariante globale)Dato un sistema x = f(x), con f continua, e una funzione V (x) con derivateparziali prime continue, se:

• V (x) →∞ per ‖x‖ → ∞

• V (x) ≤ 0 ∀x ∈ Rn

• E ∈ Ωl t.c. V (x) = 0 e M e il maggiore insieme invariante contenuto in E

allora ogni traiettoria x(t) con condizione iniziale x0 ∈ Ωl tende in modoglobalmente asintotico a M per t →∞

Page 58: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 60

Rappresentazione “concettuale” del principio di invarianza di La Salle:

For all there exists such that

) )

Thus, choosing ) ! gives ) ! )

Lecture 4 17 October 16, 2003

Invariant Sets

Definition: A set is invariant with respect to , if implies that ' for all' .

PSfrag replacements

'

Definition: ' approaches a set as' , if for each there is a such that ' ) for all' . Here .

Lecture 4 18 October 16, 2003

LaSalle’s Invariant Set Theorem

Theorem: Let be a compact set invariant with respect to . Let be a function such that

for . Let be the set of points in where . If is

the largest invariant set in , then every solution with approaches as' .

PSfrag replacements

PSfrag replacements

Note that must not be a positive definite function

Lecture 4 19 October 16, 2003

Example—Periodic Orbit

Show that ' approaches for # # # is invariant for sufficiently large .Let # . & & ! # && ' # ! # #

Lecture 4 20 October 16, 2003

Page 59: Nonlin tutto 2009

Nonlinear Control Analisi - Pag. 60

Note sul lucido 60

Grazie ai teoremi esposti precedentemente, che definiscono il cosiddetto Principio di invarianza di LaSalle, e possibile dimostrare la stabilita asintotica dell’origine per il pendolo visto in precedenza, anche soloconsiderandone l’energia meccanica totale come funzione di Lyapunov. Infatti, considerando

V (x) =1

2MR

2x

22 + MRg(1− cos x1)

risulta

V (x) = −b

MR2x

22 ≤ 0

che e ovviamente limitata in qualsiasi intorno di (0,0) e nulla, se b 6= 0, lungo tutto l’asse x1, percioE = (x1, x2) : x2 = 0. Tuttavia, il maggiore insieme invariante M contenuto in E e rappresentato dalsolo punto (0,0), al quale quindi convergono tutte le traiettorie con condizione iniziale in un intorno del puntostesso. Infatti, la condizione x2 = θ = 0 con x1 = θ 6= 0 non puo essere invariante, perche se fosse θ = 0 ∀tdovrebbe anche essere θ = 0 ∀t, condizione che pero implica (dall’equazione dinamica) anche sin θ = 0, cioe(localmente) θ = 0.

Pertanto, il punto nel quale il pendolo e fermo con θ = 0 e un punto asintoticamente stabile per qualsiasivalore diverso da 0 del coefficiente di attrito viscoso alla cerniera, come e ovvio anche da una osservazioneintuitiva basata sui soli principi fisici.

Page 60: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 66

Progetto del controllo nonlineare

• Importante distinzione:

– problemi di regolazione (o stabilizzazione) di un punto di equilibrio– problemi di inseguimento (o tracking) di una traiettoria desiderata

• Questa distinzione, solitamente fatta anche nel controllo lineare, assume nelcontesto dei sistemi nonlineari una connotazione molto piu significativa

• Nel secondo caso gli effetti delle nonlinearita possono diventare determinantisoprattutto per traiettorie con rapide variazioni

Page 61: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 67

Formulazione del problema di controllo

• Regolazione: dato x = f(x,u, t) e xd costante, trovare una legge dicontrollo u tale che x(t) → xd per t →∞

• Inseguimento: dato x = f(x,u, t), con uscita misurabile y = h(x), ed unatraiettoria yd(t) desiderata, trovare una legge di controllo u tale che l’erroredi inseguimento (tracking error) y(t)−yd(t) tenda a zero, mentre x rimanelimatato

NOTA 1: se con opportune condizioni iniziali x(0) si riesce ad avere y(t) ≡ yd(t) ∀ t ≥0 allora si parla di inseguimento perfetto (inseguimento asintotico se la condizione di

inseguimento perfetto e raggiunta in modo asintotico)

NOTA 2: L’inseguimento perfetto puo essere ottenuto solamente se yd(t) e nota a priori,

comprese le sue derivate fino all’ordine pari a quello della dinamica del sistema x = f(x, u, t).

Page 62: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 68

Esempio: stabilizzazione del pendolo

Si consideri un pendolo senza attrito, attuato alla base dalla coppia τ :

MR2θ + MgR sin θ = τ

Una legge di controllo che risolve il problema di regolazione in θ = 0potrebbe essere:

τ = −Kp θ −Kd θ︸ ︷︷ ︸PD

+MgR sin θ︸ ︷︷ ︸compens. gravita′

grazie alla quale la dinamica diventa:

MR2θ + Kdθ + Kpθ = 0

che risulta stabile ∀ Kp, Kd > 0 (e identica a quella di un gruppomassa-molla-smorzatore lineare).

Page 63: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 69

Note sulla stabilizzazione del pendolo

• Il controllo e composto da un termine di feedback lineare e da un terminenonlineare il cui ruolo e quello di effettuare la cancellazione della nonlinearitadel sistema (f. solo di θ, non di θ, ma e trascurato l’attrito)

• Il feedback lineare include termini proporzionali a θ e a θ, che equivalgono adinserire una molla e uno smorzatore virtuale, scelta giustificata dall’analisidi stabilita secondo Lyapunov gia vista

• La cancellazione delle nonlinearita, almeno di quelle dominanti (es. gravita),permette di determinare in modo piu semplice la stabilita del sistema conil controllo, ma assume un ruolo determinante nei problemi di inseguimento(tracking)

Page 64: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 70

Esempio: linearizzazione/tracking del pendolo

Modello completo (attrito nonlineare): MR2θ + b(θ, θ)θ + MgRsinθ = τ

“Trasformiamo” questa dinamica nonlineare in una lineare, con una legge dicontrollo che dipenda anche da un ulteriore ingresso “fittizio” v:

τ = MR2v + b(θ, θ)θ + MgRsinθ ⇒ θ = v

Ora, θ puo essere forzata sulla traiettoria desiderata θd(t) dall’“ingresso” vcon un controllore PD + feedforward (θd(t)):

v = θd −Kp(θ − θd)−Kd(θ − θd)

ponendo e = θ − θd, Kp = λ2 e Kd = 2λ (λ > 0), si ottiene che l’errore:

e + 2λe + λ2e = 0 ⇒ e → 0 per t →∞

Page 65: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 71

Note sulla linearizzazione del pendolo

• Modello approssimativo = linearizzazione approssimativa

– incertezze parametriche (es. M ed R non noti con precisione)– incertezze non parametriche (es. elasticita del braccio non trascurabile)

• Tipico metodo per rendere il sistema robusto rispetto alle incertezze, cosıcome ai disturbi, e quello di aumentare il guadagno della parte di feedback(PD)

• Spingendo al limite questa tecnica, si introducono azioni di controllo checommutano tra valori positivi e negativi (± M) a seconda dell’errore diinseguimento e delle sue derivate (v. Sliding Mode)

• Un tale termine “switching” equivale ad un’azione di feedback con guadagno∞, ma valore assoluto limitato

Page 66: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 72

Stabilizzazione/Tracking nonlineare: soluzioneideale

Date x = f(x,u, t) e y = h(x), trovare u = f−1u (x, x, t) e x = h−1(y):

LINEARIZZAZIONE "IDEALE"

u xxdx yyd

h−1(y) h(x)f−1u (x, x, t) f(x,u, t)1

cosı y = yd!!

Page 67: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 73

Stabilizzazione/Tracking nonlineare: approccio“pratico”

• La soluzione ideale mostrata prima e, per un caso generale, difficile (senon impossibile) da trovare analiticamente

• Teoricamente, con anche xd noto, non c’ bisogno di feedback

• Purtroppo, nella pratica il modello nonlineare spesso non e noto, ma ilcontrollo lineare fallisce

• Allora, si cercano soluzioni non analitiche per fare svolgere il ruolo di h−1

e f−1u da, ad esempio:

– Reti Neurali– Logica Fuzzy– Tabelle di punti e interpolazione (Look-up table)

Page 68: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 74

Dallo schema ideale...

LINEARIZZAZIONE "IDEALE"

u xxdx yyd

h−1(y) h(x)f−1u (x, x, t) f(x,u, t)1

Page 69: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 75

... a ...

?????????????????

FUZZY LOGICCONTROLLER

u x x y

yd

h(x)f(x,u, t)1

?????????????????

NEURAL NETWORKCONTROLLER

u x x y

yd

h(x)f(x,u, t)1

Page 70: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 76

Tecniche analitiche per il controllo nonlineare

• Stabilizzazione alla Lyapunov: ricerca (trial-and-error) di una legge dicontrollo, con forma prestabilita o meno, che renda idonea una f. diLyapunov (v. stabilizzazione pendolo)

• Gain scheduling: approssimazione lineare del sistema in diversi puntioperativi e progetto di diversi controllori lineari per ciascun punto

• Feedback linearization: formalizzazione del concetto intuitivo “cancellarele nonlinearita con il controllo” (tipico in robotica)

• Sliding mode control: formalizzazione di stabilita ed invarianza dellacondizione di inseguimento perfetto nei confronti di incertezze e disturbi

Page 71: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 77

Applicazioni reali delle tecniche analitiche

1

Ola HärkegårdNonlinear multivariable flight control Lund 2003-11-13

Nonlinear multivariable flight control

Ola Härkegård

Linköpings Tekniska Högskola

Ola HärkegårdNonlinear multivariable flight control Lund 2003-11-13

Background

Nonlinear Different flight cases

High angle-of-attack Rigid body dynamics

Multivariable 6 DOF

Control surface redundancy Unconventional control surfaces

Page 72: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 78

Campo d’applicazione: controllo velivoli

Ingressi (controllo): superfici di volo e spinta (elica o turbina)

2

Ola HärkegårdNonlinear multivariable flight control Lund 2003-11-13

High angle of attack

Ola HärkegårdNonlinear multivariable flight control Lund 2003-11-13

Unconventional control surfaces

vs.

Page 73: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 79

Uscite (misure): velocita, quota, assetto, ...

10 Chapter 2 Aircraft Primer

φ

p

α

γ

θ

ψ

r

V

V

Figure 2.2: Illustration of the aircraft orientation angles φ, θ, and ψ, the aerodynamic

angles α and β, and the angular rates p, q, and r. In the figure, all angles are positive.

2.1.3 Aircraft Variables

Considering the aircraft as a rigid body, its motion can be described by its position,orientation, velocity, and angular velocity over time.

Position The position vector p is given by

p = ei

(

pN pE −h

)T

in the Earth-fixed coordinate frame, where pN = position north, pE = positioneast, and h = altitude.

Orientation The orientation of the aircraft can be represented by the Euler angles

Φ =(

φ θ ψ

)T

where φ = roll angle, θ = pitch angle, and ψ = yaw angle, see Figure 2.2. Theseangles relate the body-fixed frame to the Earth-fixed frame.

Velocity The velocity vector V is given by

V = ebV = ewVw

V =(

u v w

)T

Vw =(

VT 0 0)T

in the body-fixed and in the wind-axes coordinate frames, respectively. Here, u =longitudinal velocity, v = lateral velocity, w = normal velocity, and VT = totalvelocity (true airspeed). Using (2.2) gives

V = TbwVw = VT

(

cosα cosβ sinβ sinα cosβ)T

10 Chapter 2 Aircraft Primer

φ

p

α

γ

θ

ψ

r

V

V

Figure 2.2: Illustration of the aircraft orientation angles φ, θ, and ψ, the aerodynamic

angles α and β, and the angular rates p, q, and r. In the figure, all angles are positive.

2.1.3 Aircraft Variables

Considering the aircraft as a rigid body, its motion can be described by its position,orientation, velocity, and angular velocity over time.

Position The position vector p is given by

p = ei

(

pN pE −h

)T

in the Earth-fixed coordinate frame, where pN = position north, pE = positioneast, and h = altitude.

Orientation The orientation of the aircraft can be represented by the Euler angles

Φ =(

φ θ ψ

)T

where φ = roll angle, θ = pitch angle, and ψ = yaw angle, see Figure 2.2. Theseangles relate the body-fixed frame to the Earth-fixed frame.

Velocity The velocity vector V is given by

V = ebV = ewVw

V =(

u v w

)T

Vw =(

VT 0 0)T

in the body-fixed and in the wind-axes coordinate frames, respectively. Here, u =longitudinal velocity, v = lateral velocity, w = normal velocity, and VT = totalvelocity (true airspeed). Using (2.2) gives

V = TbwVw = VT

(

cosα cosβ sinβ sinα cosβ)T

Page 74: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 80

Modello velivolo: fortemente nonlineare

3.2.

TH

EN

ON

-LIN

EA

RA

IRC

RA

FT

MO

DE

L21

Aerodynamics

Propulsion

Gravity

Wind

Corrections

AtmosphereAirdata

j

j

j

TWB

TEB

X

Equations of Motion

x fxFtotMtot

Zdt xx

FBtot

MBtot

FBaero

MBaero

FWaero

MWaero

FBprop

MBprop

FEgrav FB

grav

FBwind

uaero

uprop

uwind

qdyn

M

Figure

3.2:B

lock-diagramof

generalrigid

bodydynam

ics

Page 75: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 81

Tipico in aviazione commerciale: Gainscheduling

Gain Scheduling

Process

scheduleGain

Output

Controlsignal

Controllerparameters

Operatingcondition

Commandsignal

Controller

Example of scheduling variables

• Production rate

• Machine speed

• Mach number and dynamic pressure

Model Reference Adaptive Control (MRAS)

Adjustmentmechanism

u

Model

Controller parameters

Planty

Controller

ym

uc

Linear feedback from e = y− ym is not adequate for parameteradjustment!

The MIT ruledθdt= −γ e

V eVθ

Self-Tuning Regulator (STR)

Process parameters

Controllerdesign

Estimation

Controller Process

Controllerparameters

Reference

Input Output

SpecificationSelf-tuning regulator

Parameter estimation ("Certainty Equivalence")

• Gradient methods

• Least squares

Control design methods

• PID/ Pole placement/ LQG/

Dual Controlu yNonlinear

control law Process

Calculationof hyperstate

Hyperstate

u c

• No certainty equivalence

• Control should be directing as well as investigating!

• Intentional perturbation to obtain better information

• Conceptually very interesting

• Unfortunately very complicated

c& R. Johansson, K. J. Åström and B. Wittenmark 2001 5

Page 76: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 82

Metodo di progetto per gain scheduling

1. Determinare una famiglia di punti di equilibrio per il sistema, se possibileespressa come funzione continua di un parametro σ, altrimenti come insiemediscreto di punti x1, . . . ,xk

2. Calcolare l’approssimazione lineare del sistema rispetto alla famiglia di puntidi equilibrio:

xσ(t) = A(σ) x(t) + B(σ) u(t)yσ(t) = C(σ) x(t) + D(σ) u(t)

oppurexr(t) = Ar x(t) + Br u(t)yr(t) = Cr x(t) + Dr u(t)

, r = 1, . . . , k

3. Progettare un controllore lineare con parametri f(σ), oppure k controllorilineari con parametri fissati, con riferimento al sistema approssimato

4. Se si sono ottenuti k controllori diversi, trovare un metodo per selezionarliin base alle condizioni operative (es. interpolazione)

Page 77: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 83

Esempio di gain scheduling: controllo di livello

Serbatoio con area sezione (A) variabile:

Cruise Control

A simple model of a car on a sloping road tells how its positiony depends on the throttle. Let the mass be m and assume thatthe propelling force is proportional to the throttle. We find

md2 ydt2

− cdydt

dydt

∣= F −mn sinθ

Two states y and dy/dt.

A Simple Water Tank

How do level h and outflow qout depend on the inflow qin?

Assume: Constant density

dVdt

= qin − qout Massbalance

V =∫ h

0A(h)dh Geometry

qout = a√

2nh Energybalance

Many ways to choose the state.

Analysis and Simplification

Choosing h as a state variable we find

dhdt= 1

A(h)(qin − a√

2nh)

qout = a√

2nh

One function A(h) and one parameter a.

Steady state relation

qout = qin

h = q2in

2na2

Not influenced by A!Run ICtools or SysQuake

qin

h

An Inverted Pendulum

Momentum balance(Newton’s Equation)

Jd2θdt2

−mnl sin θ+mul cos θ = 0

Two states θ and dθ/dt.

y

x

Normalize with ω 0 =√

mnQ/J , introduce τ = ω 0t and u = u/nthen

d2θdτ 2

− sin θ + u cos θ = 0

c& K. J. Åström August, 2001 2

V =∫ h

0A(τ)dτ

V = A(h) h = qi − a√

2 g h

h = qi−a√

2 g hA(h) = f(h, qi)

con h = variabile d’uscita misurata,

qi variabile d’ingresso (volume liquido

in entrata), a sezione (costante) del

tubo di uscita liquido e A(h) sezione

del tank

Page 78: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 84

Linearizzando il modello nonlineare rispetto ad un punto operativo fissatoda h0 e q0

i = a√

2 g h0, nel quale si considera A(h0) costante e h = h0 + δh,si puo ricavare un’equazione differenziale del primo ordine rispetto alla nuovavariabile di stato δh e al nuovo ingresso δqi:

˙δh =δqi

A(h0)− a

√2 g h0

2 A(h0) h0δh

dalla quale si puo ricavare la seguente funzione di trasferimento:

G(s) =β

s + α

con:

β =1

A(h0)α =

a√

2 g h0

2 A(h0) h0=

q0i

2 A(h0) h0

Page 79: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 85

Per tale funzione di trasferimento del plant, e possibile progettare uncontrollore PI, considerando e = (h0 − h) = −δh:

δqi = K

(e +

1Ti

∫e dτ

)Ad esempio, imponendo che il sistema chiuso in retroazione abbia una f.d.t

del secondo ordine con pulsazione naturale ω e smorzamento ζ, si possonocalcolare:

K =2ζω − α

βTi =

2ζω − α

ω2

calcolabili in linea in base al punto di lavoro (gain scheduling):

K(h0) = 2ζωA(h0)− a√

2 g h0

2 h0Ti(h0) =

ω− a

√2 g h0

2 A(h0) h0 ω2

Page 80: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 86

Gain scheduling nel controllo di velivoli, navi,ecc.

• Storicamente, il progetto di sistemi di pilotaggio automatico per velivoli, navi,sottomarini, ecc. prevede il calcolo di modelli linearizzati del sistema o di unasua sottoparte (es. assetto 3D, assetto laterale, assetto longitudinale,ecc.) modelli lineari che risultano, tipicamente, essere parametrizzati davariabili come altitudine, velocita (true airspeed e/o Mach number),ecc.

• Le variabili che parametrizzano il modello e, di conseguenza, i controllori,sono anche variabili di stato del modello completo e sono considerate talida controllori piu esterni (es. controllo di altitudine) o dal sistema chefornisce i riferimenti di navigazione

Page 81: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 87

Condizioni di volo:

Page 82: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 88

Schema completo del sistema di navigazione:

20

Considereremo ora il sistema di Navigazione, Guida e Controllo (NGC) del velivolo.

Lo schema classico di rappresentazione, come indicato nel testo [6], è il seguente:

δe ,δa, δr, δth, (di riferimento) Disturbi(vento)

∆ψ, ∆H +

+ +

-

X,Y,H X,Y,H V,α,β,P,Q,R,φ,θ,n

H,Y,X &&&

Figura 2.2 Schema a blocchi funzionale del sistema NGC

Procediamo ora illustrando le funzionalità dei vari blocchi :

2.2 Il sistema di Navigazione

Lo scopo del sistema di navigazione è duplice:

• deve fornire una stima dello stato del velivolo, (posizione, velocità, comportamento)

• deve scegliere un settore di traiettoria da seguire da seguire, e quindi fornirne i relativi

parametri ai blocchi a valle.

E’ composto da tre sottosistemi:

1. Sensori e Filtri di Navigazione

2. Selettore di Navigazione

3. Data-base delle traiettorie

La stima dello stato è ottenuta dall’elaborazione dei dati forniti dai sensori del velivolo (GPS,

Data-base delle

traiettorie

Selettore di Navigazione

Sistema di Guida

Controllo

Velivolo e Attuatori

Sensori e Filtri diNavigazione

Page 83: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 89

Esempio: controllo di beccheggio (pitch)

With gain scheduling:

0 20 40 60 80 1000.2

0.3

0 20 40 60 80 1001.0

1.1

0 20 40 60 80 1005.0

5.1

Time

Time

Time

Lecture 11 25 October 16, 2003

Flight Control

Pitch dynamics

α

q = ˙ θ

Nz δ e

Lecture 11 26 October 16, 2003

Flight Control

Operating conditions:

0 0.4 0.8 1.2 1.6 2.0 2.4

80

60

40

20

01 2

3 4

Mach number

Alti

tude

(x1

000

ft)

Lecture 11 27 October 16, 2003

The Pitch Control Channel

Filter

Filter

Filter A/D

A/D

A/D

D/A

D/A

Filter

H

H MH

M

Pitch stick

Position

Acceleration

Pitch rate

Σ

Σ

Σ

Σ Σ

Gear

To servos

Σ

VIAS

VIAS

VIASMH

KDSE

KSG

T1s1+ T1s

11+ T3s KQ1 KNZ

M H

KQD

T2s1+ T2s

Lecture 11 28 October 16, 2003

Page 84: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 90

With gain scheduling:

0 20 40 60 80 1000.2

0.3

0 20 40 60 80 1001.0

1.1

0 20 40 60 80 1005.0

5.1

Time

Time

Time

Lecture 11 25 October 16, 2003

Flight Control

Pitch dynamics

α

q = ˙ θ

Nz δ e

Lecture 11 26 October 16, 2003

Flight Control

Operating conditions:

0 0.4 0.8 1.2 1.6 2.0 2.4

80

60

40

20

01 2

3 4

Mach number

Alti

tude

(x1

000

ft)

Lecture 11 27 October 16, 2003

The Pitch Control Channel

Filter

Filter

Filter A/D

A/D

A/D

D/A

D/A

Filter

H

H MH

M

Pitch stick

Position

Acceleration

Pitch rate

Σ

Σ

Σ

Σ Σ

Gear

To servos

Σ

VIAS

VIAS

VIASMH

KDSE

KSG

T1s1+ T1s

11+ T3s KQ1 KNZ

M H

KQD

T2s1+ T2s

Lecture 11 28 October 16, 2003

Page 85: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 91

Approccio tipico nell’aviazione militare:Feedback linearizationSection 2.4 The ADMIRE Model 21

u1, δrc

u2, δlc

u3, δroe

u4, δrie

u5, δlie

u6, δloe

u7, δr

Figure 2.6: ADMIRE control surface configuration. ui are the commanded deflections

and δ∗ are the actual deflections.

2.4 The ADMIRE Model

To illustrate the design tools developed in this thesis, and to evaluate their useful-ness in flight control design, we will use the ADMIRE 3 aircraft model (ADMIREver. 3.4h 2003), implemented in MATLAB/Simulink and maintained by the Depart-ment of Autonomous Systems of the Swedish Research Agency (FOI). The modeldescribes a small single engine fighter aircraft with a delta canard configurationand with the following characteristics:

• Dynamics: The dynamic model consists of the nonlinear rigid body equations(2.6) along with the corresponding equations for the position and orientation.Actuator and sensor dynamics are included, see below.

• Aerodynamics: The aerodata model is based on the Generic Aerodata Model(GAM) developed by Saab AB (Backstrom 1997), and was recently extendedfor high angles of attack.

• Control surfaces: The actuator suite consists of canards (left and right),leading-edge flaps, elevons (inboard and outboard, left and right), a rudder,and also thrust vectoring capabilities. In our control designs, the leading-edgeflaps will not be used due to their low effectiveness for maneuvering. Thrustvectoring will not be used either due to lack of documentation regarding itsfunction. The remaining seven actuators—the two canards, the four elevons,and the rudder—are depicted in Figure 2.6, where u and δ denote the com-manded and the actual deflections, respectively.

• Actuator models: The servo dynamics of the utilized control surfaces aregiven by first order systems with a time constant of 0.05 s, corresponding to

3Aerodata Model in Research Environment

Page 86: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 92

Motivazione: condizioni di volo con transizioni piu rapide ed elevati angoliaerodinamici

2

Ola HärkegårdNonlinear multivariable flight control Lund 2003-11-13

High angle of attack

Ola HärkegårdNonlinear multivariable flight control Lund 2003-11-13

Unconventional control surfaces

vs.

Page 87: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 93

Soluzione: controllo linearizzante e/o stabilizzante allo scopo di agevolare lemanovre del pilota

4

Ola HärkegårdNonlinear multivariable flight control Lund 2003-11-13

Why fly-by-wire?

controlsurf.

visual info, cockpit displays, etc.

Controlsystem

sensors

stick

Stabilize aircraft

Handling qualities

Advanced control surfaces

Autopilot functionality

Ola HärkegårdNonlinear multivariable flight control Lund 2003-11-13

Control objectives

Longitudinal control

V

nz

ì Load factor

α

ì Angle of attack

q

ì Pitch rate

Page 88: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 94

Campo d’applicazione: robotica (manipolatori)

2 Background

Robot manipulators are basically multi–degree–of–freedom positioning devices. Robot dynamicsare multi–input/multi–output, highly coupled, and nonlinear. The main challenges in the mo-tion control problem are the complexity of the dynamics resulting from nonlinearity and multipledegrees-of-freedom, and uncertainty, both parametric and dynamic. Parametric uncertainty arisesfrom imprecise knowledge of inertia parameters, while dynamic uncertainty arises from joint andlink flexibility, actuator dynamics, friction, sensor noise, and unknown environment dynamics.

We consider a robot manipulator with n—links interconnected by joints into a kinematicchain. Figure 1 shows a serial link (left) and a parallel link (right) manipulator. A parallel robot,by definition, contains two or more independent serial link chains. For simplicity of exposition we

Figure 1: A serial manipulator (left), the ABB IRB1400, and a parallel manipulator (right), theABB IRB940Tricept. Photos courtesy of ABB Robotics.

shall confine our discussion to serial link manipulators with only rotational or revolute joints asshown in Figure 2. Most of the discussion in this article remains valid for parallel robots and forrobots with sliding or prismatic joints.

We define the joint variables, q1, . . . , qn, as the relative angles between the links, for example,qi is the angle between link i and link i − 1. A vector q = (q1, . . . , qn)T with each qi ∈ [0, 2π),is called a configuration. The set of all possible configurations is called configuration spaceor joint space, which we denote as C. The configuration space for a revolute joint robot is ann–dimensional torus, T n = S1 × · · · × S1, where S1 is the unit circle.

The task space is the space of all positions and orientations (called poses) of the end–effector.We attach a coordinate frame, called the base frame, or world frame, at the base of the robotand a second frame, called the end–effector frame or task frame, at the end-effector. Theend–effector position can then be described by a vector x ∈ <3 specifying the coordinates of theorigin of the task frame in the base frame. The end–effector orientation can be described by a3 × 3 matrix R ∈ SO(3). The task space is then isomorphic to the special Euclidean group,SE(3) = <3 × SO(3), elements of which are called rigid motions [41].

Page 89: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 95

Campo d’applicazione: robotica (veicoliautonomi)

The Central Issue

due to the presence of wheels, a WMR cannot move sideways

this is the rolling without slipping constraint, a special case of nonholonomic behavior

G. Oriolo Mobile Robotics: Control Problems — Introduction 3

Wheeled Mobile Robots (WMRs)

a growing population

Yamabico MagellanPro Sojourner

ATRV-2 Hilare 2-Bis Koy

G. Oriolo Mobile Robotics: Control Problems — Introduction 2

Page 90: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 96

Controllo di robot manipolatori

• Modello dinamico (q posizione giunti, τ coppia attuatori):

M(q)q + C(q, q)q + Dq + g(q) = τ + J(q)TFa

nel quale le matrici M(q) (inerzie) e C(q, q) (legata alle forze di Coriolis ecentripete), la gravita (g(q)) e delle forze di interazione con l’ambiente (Fa)introducono notevoli nonlinearita

• Controllo decentralizzato: ogni giunto viene controllato in modo indi-pendente, l’effetto delle nonlinearita e considerato un disturbo (approccio“storico”, ma semplicistico)

• Controllo centralizzato: si considera il modello dinamico completo per l’a-nalisi di stabilita e il progetto di leggi di controllo opportune (compensazionegravita, coppia precalcolata, dinamica inversa, etc.)

Page 91: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 97

Approccio decentralizzato (M(q) = M+∆M(q), Kr rapporti di riduzione):

PIDqmd +

-

"disturbo"(resto del robot..)

singolo giunto

Page 92: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 98

Controllo centralizzato di robot manipolatori

• Con l’approccio decentralizzato si progettano regolatori standard PID e sicerca di compensare il “disturbo” d nell’inseguimento di traiettorie con azioniin avanti (feedforward prop. a qd e qd)

• Ovviamente, il “disturbo” della dinamica del robot e calcolabile (off-line per traiettorie ripetitive) grazie ad un buon modello matematico ⇒Compensazione in avanti a coppia precalcolata

• Ancora meglio, utilizzando una legge di retroazione nonlineare e possibilecancellare le nonlinearita ⇒ Controllo a dinamica inversa (Feedbacklinearization)

• Incertezze di modellazione si possono compensare con feedback a guadagnoelevato ⇒ Controllo robusto (Sliding mode)

Page 93: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 99

Compensazione in avanti a coppia precalcolata:

ROBOTICA INDUSTRIALE CP - 32

COMPENSAZIONE IN AVANTI A COPPIA PRE-CALCOLATA

Si consideri il caso di un controllore PIDD2 (caso piu generale)

La variabile d'uscita del regolatore e:

a2e + a1 _e + a0e+ a1

Z t

e()d

dove e = d , e i parametri a1; a0; a1; a2 dipendono dal criterio di progetto

adottato. I contributi delle azioni in avanti sono calcolabili come

1

km

_d +

Tm

km

d

RA

kt

d

con

Tm

km

=IRA

kt

km =1

kv

da cui calcolando si ha:

a2e+ a1 _e + a0e + a1

Z t

e()d +1

km

( _d _) +

Tm

km

(d ) =

RA

kt

d

o, con semplici passaggi:

a0

2e+ a0

1 _e+ a0

0e+ a0

1

Z t

e()d =RA

kt

d

Claudio Melchiorri

Page 94: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 100

Controllo (centralizzato) PD + compensazione di gravita:

ROBOTICA INDUSTRIALE Prof. Bruno SICILIANO

? dinamica del sistema controllato

B(q)q +C(q; _q) _q + F _q + g(q) = g(q) +KP eq KD _q

? all’equilibrio ( _q q 0)

KP eq = 0 =) eq = qd q 0

Page 95: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 100

Note sul lucido 100

Come noto, le leggi di controllo piu diffuse nelle applicazioni industriali sono quelle con struttura PID(Proporzionale-Integrale-Derivativa). Considerando l’estensione di tale struttura a sistemi MIMO (Multi-Input-Multi-Output), si ottiene il seguente regolatore per stabilizzare un robot manipolatore in un punto di equilibrioqd:

τ = −Kp(q− qd)−Kdq−Ki

∫ t

0(q− qd)dτ

dove Kp, Kd e Ki sono matrici costanti definite positive. Considerando legge di controllo unicamente PD(Ki = 0), dalla dinamica del robot vista in precedenza si puo determinare la dinamica dell’errore (ponendoe = q− qd, e = q, e = q e trascurando attriti ed interazioni con l’ambiente):

M(q)e + C(q, e)e + Kde + Kpe + g(q) = 0

Si noti che l’insieme dei punti di equilibrio (insieme invariante) per questa dinamica del secondo ordine(variabili di stato (e, e)) e costituito da:

S = (e, e) : Kpe + g(e + qd) = 0, e = 0

L’analisi di stabilita puo essere condotta con l’approccio di Lyapunov, considerando la funzione:

Page 96: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 101

V (e) =1

2eTM(q)e + eTKpe + U(q) + U0

nella quale compaiono l’energia cinetica, quella potenziale dovuta alla gravita (U(q)) ed alle molle “virtuali”introdotte dal regolatore, piu una costante opportuna U0 per soddisfare i requisiti di Lypunov (V (0) = 0 anchese qd 6= 0).

La derivata rispetto al tempo di V lungo le traiettorie della dinamica dell’errore diventa:

V (e) = −eTKde +1

2eT

(M(q)− 2C(q, e)

)e− eTg(q) + eT

(∂U(q)

∂q

)T

≤ −λmin(Kd)‖e‖2

dove λmin(Kd) e il minimo autovalore di Kd. Per ottenere la disuguaglianza finale, si sfruttano le seguenticonsiderazioni:

• una proprieta notevole del modello dinamico dei robot manipolatori afferma che e sempre possibile porre lamatrice C(q, q) in forma tale da rendere la matrice N(q, q) = M(q)− 2C(q, q) anti-simmetrica (per cui

zTN(q, q)z = 0 ∀ z ∈ Rn)

•(

∂U(q)∂q

)T= g(q)

L’analisi di stabilita ci conferma quindi che il controllo PD e in effetti stabilizzante, come si era dimostratoanche per il caso del pendolo (un manipolatore con un unico link). Grazie al principio di invarianza di La Salle

Page 97: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 102

si dimostra inoltre che tutte le traiettorie del robot tendono asintoticamente all’insieme invariante S visto inprecedenza. Tuttavia, se non si introducono azioni per la compensazione della gravita, questo insieme invariantecontiene tutte le posizioni per le quali si ha un errore a regime dato dall’equilibrio tra le forze elastiche virtuali(introdotte da Kp) e gli effetti della gravita. Tale errore puo essere ridotto incrementando arbitrariamente lanorma di Kp, ma ovviamente questa scelta non e consigliabile nella pratica se si vogliono evitare sollecitazionieccessive della struttura robotica.

L’errore a regime dovuto agli effetti della gravita puo essere eliminato introducendo una azione integrale nelregolatore (Ki 6= 0), anche se e possibile dimostrare che questa soluzione non garantisce che i transitori durantemovimenti point-to-point abbiano prestazioni indipendenti dalla configurazione di partenza del manipolatore.Piu spesso, si preferisce introdurre un termine di compensazione della gravita (ed eventualmente dell’attrito), inmodo analogo a quello visto per il pendolo. Con questa tecnica, la legge di controllo diventa:

τ = −Kp(q− qd)−Kdq + g(q)

L’analisi di stabilita, tramite la funzione di Lyapunov:

V (e) =1

2eTM(q)e + eTKpe

V (e) = −eTKde ≤ −λmin(Kd)‖e‖2

permette di affermare grazie al principio di invarianza di La Salle che il maggiore insieme invariante S alquale convergono asintoticamente le traiettorie del robot e:

S = (e, e) : e = 0, e = 0 ⇒ NO ERRORE A REGIME!

Page 98: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 103

Controllo a dinamica inversa (linearizzazione):

NOTA: B(q) = matrice di inerzia, n(q, q) compensazione attriti, forze diCoriolis e centripete

Page 99: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 103

Note sul lucido 103

Dato il modello dinamico di un manipolatore:

M(q)q + C(q, q)q + Dq + g(q) = τ

si puo pensare di trasformare tale dinamica nonlineare tramite una legge di controllo unicamente basata sullacancellazione dei termini nonlineari:

τ = M(q)y + C(q, q)q + Dq + g(q)

nella quale y rappresenta il “nuovo” ingresso per il sistema trasformato. Ipotizzando la perfetta cancellazionedi tutti i termini, rimane l’equazione dinamica:

M(q)q = M(q)y

Moltiplicando tutti i termini per M−1(q), il sistema retroazionato con la legge di di controllo descritta siriduce ad un doppio integratore:

q = y

NOTA BENE: l’operazione di moltiplicazione per M−1(q) e sempre possibile poiche M(q) e sempre invertibile(proprieta notevole del modello dinamico dei robot manipolatori)!

Page 100: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 104

Controllo a dinamica inversa ed inseguimento:

ROBOTICA INDUSTRIALE Prof. Bruno SICILIANO

Scelta di un controllo y stabilizzante

y = KPq KD _q + r

r = qd +KD _qd +KPqd

+

eq +KD

_eq +KP eq = 0

? cancellazione perfetta

? vincoli sull’architettura hardware/software dell’unita di go-verno

NOTA: B(q) = matrice di inerzia, n(q, q) compensazione attriti, forze diCoriolis e centripete

Page 101: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 104

Note sul lucido 104

L’operazione di linearizzazione tramite feedback vista in precedenza (controllo a dinamica inversa) permetteovviamente di risolvere in modo molto piu agevole il problema di inseguimento delle traiettorie, tipicamentepianificate a priori per l’esecuzione di determinati compiti operativi da parte del robot. Infatti, ponendo:

y = qd −Kp(q− qd)−Kd(q− qd)

con Kp e Kd definite positive (una tipica scelta e Kp = λ2I e Kp = 2λI con λ > 0), si ottiene ladinamica dell’errore:

e + Kde + Kde = 0

percio l’errore di inseguimento converge a zero esponenzialmente.

Page 102: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 105

Controllo robusto:

ROBOTICA INDUSTRIALE Prof. Bruno SICILIANO

Page 103: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 105

Note sul lucido 105

Se il modello dinamico non e noto con precisione, la compensazione a dinamica inversa deve essere fatta conla migliore stima possibile, cioe

τ = M(q)y + n(q, q)

con errori di incertezza M = M−M e n = n− n. In questo modo, la dinamica risultante sara:

q = y − η

dove η e un termine che dipende dagli errori di incertezza M e n. Assumendo come in precedenza una leggedi controllo per il sistema linearizzato di tipo PD + azione anticipativa:

y = qd − 2λ(q− qd)− λ2(q− qd)

la dinamica dell’errore sara:

e + 2λe + λ2e = η

Page 104: Nonlin tutto 2009

Nonlinear Control Approcci al controllo nonlineare - Pag. 106

nella quale la struttura del solo primo membro non garantisce l’asintotica convergenza a zero dell’erroredi inseguimento. Per garantire la robustezza dell’inseguimento nei confronti dell’incertezza η, e necessariotrasformare la legge di controllo come segue:

y = qd − 2λ(q− qd)− λ2(q− qd) + w

nella quale il termine w e costituito da:

w =ρ

‖z‖z ρ > 0, z = DTQ ζ, D =

[0n×n

In×n

]ζ =

[ee

]per il quale ρ e Q sono calcolati in modo opportuno (in base alla teoria del controllo Sliding mode che verra

trattata piu avanti), in modo da rendere la condizione ζ = 0 asintoticamente stabile (inseguimento perfetto). In

particolare, dovra essere ρ ≥ ‖η‖ per ogni q, q, qd e Q tale che V (ζ) = ζTQζ sia una funzione di Lyapunovper la dinamica di ζ:

ζ = Hζ + D(η − w), H =

[0 I

−Kp −Kd

]Si noti che in figura il contributo di “robustezza” e indicato come proporzionale alla funzione vers(), che

rappresenta il vettore di modulo unitario diretto come z (il versore di z). Tale contributo e discontinuo rispetto

al sottospazio z = DTQ ζ = 0, il quale e attrattivo per tutte le traiettorie del robot. Una volta raggiunto talesottospazio, definito sottospazio (o superficie) di scivolamento (sliding surface), l’ampiezza della componentew commuta con frequenza idealmente infinita tra ±ρ.

Page 105: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 107

Feedback Linearization

• La tecnica di cancellazione delle nonlinearita di un sistema attraverso ilcontrollo, al fine di ottenere una dinamica lineare rispetto ad un ingressofittizio, e utilizzata con un approccio intuitivo in robotica

• Tali tecniche intuitive sono formalizzate dalla teoria recente dei controlliautomatici, con l’obiettivo di estenderne l’applicabilita a problemi diversi(regolazione, inseguimento, disaccoppiamento dei disturbi, osservazione) e asistemi con caratteristiche dinamiche piu generiche

Page 106: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 108

Linearizzazione per sistemi in forma canonica

Un sistema (SISO) e detto in forma canonica di controllabilita (o forma“companion”) se:

x(n) = f(x) + b(x)u

oppure, con rappresentazione nello spazio degli stati:

x1

. . .xn−1

xn

=

x2

. . .xn

f(x) + b(x)u

Page 107: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 109

Per un sistema in forma companion la legge di controllo nonlineare:

u =1

b(x)[v − f(x)]

trasforma la dinamica in una serie di n integratori:

x(n) = v

per la quale e sempre possible imporre una dinamica esponenzialmentestabile, sia per problemi di regolazione che per problemi di inseguimento di unatraiettoria xd(t), con una legge di controllo del tipo (scelti opportuni Ki:

v = x(n)d −K0e−K1e− · · · −Kn−1e

(n−1)

NOTA: devono essere disponibili tutte le derivate necessarie di xd(t)

Page 108: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 109

Note sul lucido 109

L’estensione ad un sistema MIMO (come un robot manipolatore) richiede ovviamente che la dinamica siaespressa in modo vettoriale:

x(n)= f(x) + b(x)u

linearizzabile tramite la legge di controllo:

u = b−1(x)[v − f(x)]

Tuttavia, in questo caso la linearizzazione e possibile solamente se la matrice b(x) e invertibile∀ x ∈ Ω ⊆ Rn. Nelle applicazioni di robotica, come si e visto, cio e garantito dalle proprieta strutturalimeccaniche (matrice di inerzia) dei manipolatori.

Page 109: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 110

Linearizzazione ingresso-stato

Si cerca una funzione di controllo nonlineare u = u(x, v) per l’ingressoscalare del generico sistema:

x = f(x, u)

t.c. la dinamica nonlineare sia trasformata, attraverso un opportunocambiamento di variabili z = Φ(x), nella dinamica lineare:

z = Az + bv

sulla quale e possible progettare un controllore con le tecniche classiche delcontrollo lineare

NOTA: analogo se prima z = Φ(x) e poi u = u(z, v)

Page 110: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 111

Schematicamente...

Linearization

x

z

zd = Φ(xd)

x = f(x, u)

Φ(x)

v = −Kz u = u(x, v)

1

Page 111: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 111

Note sul lucido 111

Si consideri ad esempio il sistema:

x1 = −2x1 + x2 + sin x1

x2 = −x2 cos x1 + u cos 2x1

nel quale la nonlinearita nella prima equazione non puo essere cancellata direttamente attraverso il controllo u.Tuttavia, considerando la seguente trasformazione dello stato:

z1 = x1

z2 = x2 + sin x1

si ottiene la dinamica:

z1 = −2z1 + z2

z2 = −2z2 cos z1 + cos z1 sin z1 + u cos 2z1

la quale e ora invece linearizzabile tramite il controllo:

u =1

cos 2z1(v − cos z1 sin z1 + 2z1 cos z1)

Page 112: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 112

che permette di ottenere il sistema lineare:

z1 = −2z1 + z2

z2 = v

Tale sistema risulta essere controllabile (rank([b|Ab]) = 2), pertanto e possibile assegnarne arbitrariamentegli autovalori con una retroazione del tipo v = −k1z1 − k2z2.

Page 113: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 113

Linearizzazione ingresso-uscita

In modo analogo, per un sistema generico con una certa uscita di interesse:

x = f(x, u)y = h(x)

si desidera ottenere una dinamica lineare dell’uscita rispetto ad un certo ingressodi controllo fittizio v, mantenendo limitato lo stato x.

Per risolvere il problema di linearizzazione, occorre prima di tutto “scoprire”la relazione dinamica tra uscita e ingresso (derivando rispetto al tempo lay = h(x)):

y =∂h

∂xx =

∂h

∂xf(x, u)

NOTA: potrebbero essere necessarie piu derivate successive della y = h(x)

Page 114: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 113

Note sul lucido 113

Ad esempio, si consideri il sistema del terzo ordine:

x1 = sin x2 + (x2 + 1)x3

x2 = x51 + x3

x3 = x21 + u

y = x1

In questo caso, derivando l’uscita si ottiene:

y = x1 = sin x2 + (x2 + 1)x3

nella quale non compare l’ingresso u. Occorre quindi derivare l’uscita una seconda volta:

y = x2 cos x2 + x2x3 + (x2 + 1)x3 = (x2 + 1)u + f1(x)

nella quale f1(x) contiene tutti gli altri termini non legati all’ingresso. Chiaramente, questa dinamica puo esseretrasformata in quella di un doppio integratore y = v con il controllo:

u =1

x2 + 1[v − f1(x)]

Page 115: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 114

In generale, il numero di volte che occorre derivare l’uscita di un sistema per “scoprire” la relazioneingresso-uscita viene detto grado relativo del sistema. Nel caso in esame, il sistema ha grado relativo pari a 2.Il concetto di grado relativo si traduce per un sistema lineare, la cui relazione ingresso-uscita e data dalla funzionedi trasferimento, se SISO, o matrice di trasferimento, se MIMO, nella differenza tra il numero di poli ed il numerodi zeri della f.d.t. (m.d.t.).

La linearizzazione ingresso-uscita ottenuta per il caso in esame va ulteriormente analizzata per verificare selo stato x rimane effettivamente limitato durante l’inseguimento di una traiettoria. Cio non e in effetti garantitodalla soluzione del problema di inseguimento asintotico, in quanto la dinamica ingresso-uscita linearizzata e diordine 2, mentre lo stato del sistema completo e di ordine 3. Risolvendo come visto in precedenza il problema diinseguimento, cioe ponendo:

v = yd −Kpe−Kde

si puo pensare di semplificare lo studio della limitatezza dello stato ponendo come “nuove” variabili di statoy, y e x3. La limitatezza delle prime due e infatti garantita dall’inseguimento asintotico, mentre per la terzaoccorre determinarne la dinamica e studiarla in relazione all’andamento di v o, equivalentemente, yd (es. ipotesidi limitatezza delle derivate, ecc.).

Per un generico sistema di ordine n di grado relativo r, le n − r variabili di stato la cui dinamicanon puo essere imposta dall’inseguimento asintotico costituiscono la dinamica interna. Una dinamica internainstabile rende inutile la soluzione del problema di inseguimento, in quanto si traduce in pratica in saturazioni edanneggiamenti degli attuatori e/o dei componenti fisici del sistema.

Page 116: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 115

Formalizzazione del problema di linearizzazione

• Nel caso di interesse pratico piu comune, la linearizzazione ingresso-uscita,la procedura richiede di:

1. derivare l’uscita fino a rivelare la relazione con l’ingresso2. trovare una trasformazione dello stato e una legge di controllo

nonlineare che renda la relazione ingresso-uscita lineare3. studiare la stabilita della dinamica interna

• La formalizzazione di questo problema e della sua soluzione consiste neldeterminare le caratteristiche che il sistema deve avere perche il problemaabbia soluzione ed una procedura sistematica per progettare la trasformazionedello stato ed il controllo

Page 117: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 116

Strumenti matematici: geometria differenzialeed algebra di Lie

Definizione 13 Il vettore colonna i cui componenti sono funzioni scalarismooth (fi ∈ C∞) di x ∈ Rn:

f(x) =

f1(x). . .

fn−1(x)fn(x)

si definisce campo vettoriale ∈ C∞ (smooth vector field)

dove C∞ e lo spazio delle funzioni continue con derivate parziali di ogni ordine continue.

Un campo vettoriale smooth definisce ovviamente una mappa f : Rn → Rn,per la quale i componenti delle matrici Jacobiane sono continue per ogni ordinedi derivazione.

Page 118: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 117

Definizione 14 Dato un campo vettoriale smooth f : Rn → Rn ed una fun-zione smooth h : Rn → R, si definisce derivata di Lie di h rispetto ad fla funzione scalare:

Lf h =∂h

∂xf

In sostanza, la derivata di Lie rappresenta la derivata “direzionale” di hlungo la direzione in Rn del vettore f .

Ricorsivamente, si puo definire la derivata di Lie di ogni ordine come segue:

L0f h = h

Lif h = Lf(Li−1

f h) h = ∂Li−1f h

∂x f i = 1, 2, . . .

Analogamente, se g e un altro campo vettoriale smooth, vale la:

Lg Lf h =∂Lf h

∂xg

Page 119: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 117

Note sul lucido 117

Si noti che dato un sistema dinamico il cui modello matematico sia:

x = f(x)y = h(x)

le derivate rispetto al tempo dell’uscita (scalare) corrispondono a:

y = ∂h∂x x = ∂h

∂x f = Lf h

y =∂(Lf h)

∂x x =∂(Lf h)

∂x f = L2f h

. . .

Inoltre, se V e una funzione di Lyapunov (smooth) per il sistema, la sua derivata rispetto al tempo Vcorrisponde a Lf V .

Page 120: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 118

Definizione 15 Un campo vettoriale smooth Φ = Rn → Rn definito in unaregione Ω ⊆ Rn e chiamato diffeomorfismo se la sua inversa Φ−1 esisteed e smooth

NOTA 1: un diffeomorfismo permette di effettuare una trasformazione “coe-rente” delle variabili di stato di un sistema nonlineare. Il fatto che sia invertibilegarantisce sempre l’esistenza di una mappa fra stati equivalenti, mentre ilfatto che sia smooth preserva tale proprieta anche per i campi vettoriali checaratterizzano l’equazione dinamica del sistema.

NOTA 2: ponendo x = f(x) + b(x)u e trasformando lo stato con ildiffeomorfismo z = Φ(x), si ottiene che:

z =∂Φ∂x

x =∂Φ∂x

(f(x) + b(x)u)

per cui gli elementi di z hanno la forma LfΦi + LbΦi u

Page 121: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 119

Linearizzazione ingresso-uscita: il grado relativo

Per un sistema nonlineare SISO la soluzione del problema di linearizzazioneingresso-uscita impone innanzitutto di determinare il grado relativo del sistemae, soprattutto, se questo sia definito.

Definizione 16 Il sistema SISO del tipo (forma affine):

x = f(x) + b(x)uy = h(x)

con f e b smooth, ha grado relativo r in una regione Ω ⊆ Rn se∀x ∈ Ω

Lb Lif h = 0 0 ≤ i < r − 1

Lb Lr−1f h 6= 0

Page 122: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 120

NOTA: il sistema potrebbe non avere grado relativo definito, cioe po-trebbe essere Lb Lr−1

f h 6= 0 nell’intorno di un punto x0, punto nel quale talefunzione si annulla

Si supponga che il sistema nella forma precedente abbia grado relativo 1 inuna certa regione Ω. Questo significa che derivando rispetto al tempo l’uscita:

y =∂h

∂x(f + bu) = Lf h + Lb h u

Poiche per definizione Lb h 6= 0 in Ω, in questa regione e possibile,imponendo la legge di controllo:

u =1Lb

(v − Lf h)

ottenere la relazione ingresso-uscita lineare y = v.

Page 123: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 121

Se il sistema dovesse avere grado relativo r > 1 in Ω, sarebbe necessarioderivare r l’uscita per ottenere la relazione con l’ingresso. Questo significa che:

y = Lf h + /Lb/h/u

y = L2f h + /Lb/Lf /h/u

. . .

y(r) = Lrf h + Lb Lr−1

f h u

Definendo una legge di controllo:

u =1

Lb Lr−1f h

(v − Lrf h)

si ottiene y(r) = v

Page 124: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 122

Supponendo ora di definire un diffeomorfismo avente la seguente struttura:

z = Φ(x) = [h Lf h L2f h . . . Lr−1

f h Φr+1(x) . . . Φn(x)]

si ottiene il sistema trasformato:

z1 = Lf h = z2

z2 = L2f h = z3

. . .zr−1 = Lr−1

f h = zr

zr = Lrf h + Lb Lr−1

f h u

con uscita y = z1, linearizzabile con la legge di controllo descritta in precedenza.

Page 125: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 123

NOTA: Per le rimanenti n−r variabili di stato, si puo dimostrare che se r estrettamente minore di n e sempre possibile trovare una forma per i rimanentielementi del diffeomorfismo non assegnati esplicitamente in precedenza:

Φr+1(x) . . . Φn(x)

in modo tale che sia Lb Φi(x) = 0 per ogni r + 1 ≤ i ≤ n. In base a questaproprieta:

zr+1 = Lf Φr+1 + /Lb/Φr+1/u. . .zn = Lf Φn + /Lb/Φn/u

Le n − r nuove variabili di stato ottenute con questa trasformazioni costi-tuiscono quindi la dinamica interna del sistema linearizzato, dalla cui stabilitadipende l’effettiva utilita pratica della linearizzazione.

Page 126: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 124

Per concludere, e possibile ottenere la linearizzazione ingresso-uscita in Ωdel sistema tramite u = (v − Lr

f h)/Lb Lr−1f h, ottenendo che y(r) = v e ,nel

contempo, una linearizzazione parziale ingresso-stato:

LINEARIZZABILE INGRESSO-USCITA

=

z1 = yz2zr

zr+1 zn

zr∫∫

zi = Lf Φi(x)

r + 1 ≤ i ≤ n

Lrf h + Lb Lr−1

f hu

u

v−Lrf h

Lb Lr−1f h

1

NOTA: se r = n la linearizzazione ingresso-stato e completa. Come si vedra in seguito, e

possibile mostrare che, dualmente, la soluzione del problema di linearizzazione ingresso-stato si

riconduce alla ricerca di una z1(x), primo elemento del nuovo vettore di stato, per la quale,

se considerata come uscita del sistema, il grado relativo sia pari a n.

Page 127: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 125

Esempio: robot con giunto flessibile

Iq1 + MgL sin q1 + k(q1 − q2) = 0

Jq2 − k(q1 − q2) = τ(= u)

con M massa del link, L distanza del baricentro dall’asse di giunto, I inerzia del link rispetto

all’asse di giunto e J inerzia del rotore del motore

Page 128: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 126

Le equazioni dinamiche sono riconducibili alla forma affine x = f + bu seponiamo x = [x1 x2 x3 x4]T = [q1 q1 q2 q2]T e:

f = [x2 − MgLI sinx1 − k

I (x1 − x3) x4kJ (x1 − x3)]T

b = [0 0 0 1J ]T

Ipotizzando di considerare come uscita y = x1 = q1, cioe la posizioneangolare del link, otteniamo che:

y = x1 = x2

y = x2 = −MgLI sinx1 − k

I (x1 − x3)

y(3) = −MgLI x2 cos x1 − k

I (x2 − x4︸︷︷︸N.B.

)

y(4) = · · ·+ kI x4 = a(x) + k

I J u

Page 129: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 127

Il sistema ha quindi grado relativo ben definito (k/(I J) 6= 0 sempre!), paria 4, cioe all’ordine del sistema, che e quindi linearizzabile completamenteattraverso la legge di controllo:

u =I J

k[v − a(x)]

nella quale (ahinoi):

a(x) =MgL

Isinx1(x2

2 +MgL

Icos x1 +

k

I)+

k

I(x1−x3)(

k

I+

k

J+

MgL

Icos x1)

Page 130: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 128

Estensione ai sistemi MIMO

Per un sistema del tipo:

x = f(x) + B(x)uy = h(x)

nel quale B e una matrice n×m le cui colonne sono campi vettoriali smooth,il grado relativo, se definito, non e uno scalare, ma un vettore (r1, r2, . . . , rm),per il quale la sommatoria r = r1 + r2 + · · ·+ rm e detto grado relativo totale.

Il problema di linearizzazione si risolve nel caso MIMO in modo analogo aquanto visto per il caso SISO, con la ovvia differenza che per ogni componentedell’uscita yi saranno necessarie ri derivazioni successive rispetto al tempo (finoa ottenere la relazione con u) e la determinazione delle opportune trasformazionidi stato.

Page 131: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 129

Procedendo con le derivazioni, si ottiene:

y(r1)1

y(r2)2

. . .

y(rm)m

=

Lr1

f h1(x)

Lr2f h2(x)

. . .

Lrmf hm(x)

+ E(x)u

con E(x) matrice m × m definita in termini delle LbjLri−1

f hi (i indicedell’uscita, j indice dell’ingresso) e chiamata matrice di disaccoppiamento

Se il sistema ha grado relativo definito in un certo Ω ⊆ Rn, la matrice E(x)e invertibile in Ω, quindi il sistema e linearizzabile.

Page 132: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 130

Estensione al caso di feedback dinamico

In alcuni casi, puo essere che il grado relativo di un sistema (SISO o MIMO)non sia definito per nessun x ∈ Rn, oppure anche solo nell’intorno di un punto(di interesse) x0.

Ad esempio, se in un sistema a 2 ingressi (u1 e u2) e due uscite, le derivatedelle uscite nelle quali compare la relazione con u dipendono solo da u1 e nonda u2, il sistema non ha grado relativo (la matrice E(x) ha rango 1, quindi none invertibile).

Intuitivamente, si puo pensare di “ritardare” la comparsa di u1, imponendoche la legge di controllo sia a sua volta l’uscita di un sistema dinamico, nelquale sia posto un integratore a monte di u1, cioe:

u1 = ζ

ζ = v1

Page 133: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 131

Se per il sistema cosı ottenuto la procedura di derivazione delle uscite portaa:

y(r1+1)1

y(r2+1)2

= g(x, u1) + E1(x, u1)

[u1

u2

]

con la matrice E1(x, u1) invertibile (rango 2), il problema di linearizzazionee risolvibile, seppure con un feedback non statico, ma dinamico:

y1

y2u1

u1v1

v2

1

Page 134: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 132

Concludendo: procedura completa

1. Derivare rispetto al tempo tutte le uscita fino a “scoprire” qualcuno degliingressi e determinare se la matrice di disaccoppiamento e non singolare (inuna certa regione)

2. Se lo e, il problema di linearizzazione ingresso-uscita e risolvibile con feed-back statico, altrimenti, occorre aggiungere degli integratori a monte dialcuni degli ingressi, calcolare la nuova matrice di disaccoppiamento edeterminare se e non singolare

3. Se lo e, il problema di linearizzazione ingresso-uscita e risolvibile confeedback dinamico, altrimenti aggiungere altri integratori ...

NOTA: in tutti i casi, se il grado relativo totale e pari all’ordine del sistema, la linearizzazione

e completa (ingresso-stato)

Page 135: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 133

Esempio: robot mobili (veicoli autonomi conruote)

• Problematiche: i movimenti dei veicoli con ruote sono soggetti a vincolicinematici nonolonomici

• A causa dei vincoli nonolonomici, i gradi di liberta del robot non sonoindipendenti: ad es. un veicolo non puo (nelle ipotesi di assenza discivolamento) spostarsi lateralmente

• Anche il solo modello cinematico differenziale costituisce un sistema dinamicononlineare, difficile da controllare

• I vincoli nonolonomici complicano sia le problematiche di pianificazione delletraiettorie (path planning) che quelle di inseguimento delle stesse (pathtracking) o di stabilizzazione di una postura (“parcheggio”)

Page 136: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 134

Un veicolo autonomo deve risolvere “autonomamente” quei problemi convincoli nonolonomici...

The Central Issue

due to the presence of wheels, a WMR cannot move sideways

this is the rolling without slipping constraint, a special case of nonholonomic behavior

G. Oriolo Mobile Robotics: Control Problems — Introduction 3

Page 137: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 135

... che noi risolviamo brillantemente in modo intuitivo (piu o meno).

Jean-Paul Laumond (Editor)

Robot MotionPlanning and Control

Laboratoire d’Analye et d’Architecture des SystemesCentre National de la Recherche Scientifique

LAAS report 97438

Previoulsy published as:Lectures Notes in Control and Information Sciences 229.

Springer, ISBN 3-540-76219-1, 1998, 343p.

Page 138: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 136

Tipico modello cinematico: unicicloa canonical example of nonholonomy: the rolling disk

x

y θ

• generalized coordinates q = (x, y, θ)

• pure rolling nonholonomic constraint x sin θ − y cos θ = 0

(

y

x= tan θ

)

• feasible velocities are contained in the null space of the constraint matrix

aT(q) = (sin θ − cos θ 0) =⇒ N (aT(q)) = span

cos θsin θ0

,

001

• any configuration qf = (xf, yf , θf) can be reached:

1. rotate the disk until it aims at (xf, yf)

2. roll the disk until until it reaches (xf, yf)

3. rotate the disk until until its orientation is θf

G. Oriolo Mobile Robotics: Control Problems — Introduction 8

Vincolo cinematico: velocita laterale sempre nulla ⇒ x sin θ − y cos θ = 0

Modello cinematico

xy

θ

=

cos θ 0sin θ 0

0 1

[ vω

]

con v = driving velocity e ω = steering velocity. In forma compatta q = G(q)v, con le

ovvie sostituzioni q = [x y θ]T e v = [u ω]T

Page 139: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 137

Note sulla modellazione dell’uniciclo

• Anche considerando l’estensione al modello dinamico (accelerazione, coppiaalla ruota, ecc.), i problemi di progetto del controllo sono riconducibili alcontrollo del modello cinematico del primo ordine

• Il modello del semplice uniciclo e valido per molte tipologie di veicoli mobilisemplici (differential drive)

• Veicoli piu complessi (es. car-like, con rimorchi, ecc.) possono essereparzialmente ricondotti all’uniciclo con alcune ipotesi semplificative

Car-Like Robot

x

y

φ

θ

• ‘bicycle’ model: front and rear wheels collapse into two wheels at the axle midpoints

• generalized coordinates q = (x, y, θ, φ) (φ: steering angle)

• nonholonomic constraints

xf sin(θ + φ)− yf cos(θ + φ) = 0 (front wheel)x sin θ − y cos θ = 0 (rear wheel)

• being the front wheel position

xf = x+ , cos θ yf = y + , sin θ

the first constraint becomes

x sin(θ + φ)− y cos(θ + φ)− θ , cosφ = 0

G. Oriolo Mobile Robotics: Control Problems — Modeling Examples 21

N-trailer system

φ

θ0

θ1 = 0

θN-1

θN

• a FD car-like robot with N trailers, each hinged to the axle midpoint of the previous

• generalized coordinates q = (x, y, φ, θ0, θ1, . . . , θN) ∈ IRN+4

x, y = position of the car rear axle midpointφ = steering angle of the car (w.r.t. car body)θ0 = orientation angle of the car (w.r.t. x-axis)θi = orientation angle of i-th trailer (w.r.t. x-axis)

• the car is considered as the 0-th trailer

d0 = , = car lengthdi = i-th trailer length (hinge to hinge)

G. Oriolo Mobile Robotics: Control Problems — Modeling Examples 23

Page 140: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 138

Feedback linearization dell’uniciclo

Considerando come uscita di interesse y = [x y]T , si ottiene:

y =[

xy

]=[

cos θ 0sin θ 0

]︸ ︷︷ ︸

E(q)

[vω

]

con matrice di disaccoppiamento E(q) singolare (y influenzata solo da v).Inserendo un integratore a monte di v, si ottiene:

v = ζ, ζ = a =⇒ y = ζ

[cos θsin θ

]che ulteriormente derivata:

Page 141: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 139

y = ζ

[cos θsin θ

]+ ζ θ

[− sin θ

cos θ

]=[

cos θ −ζ sin θsin θ ζ cos θ

]︸ ︷︷ ︸

E1(q,ζ)

[aω

]

Con la nuova matrice di disaccoppiamento E1(q, ζ) non singolare se ζ 6= 0.Imponendo una legge di controllo:

[aω

]=[

cos θ −ζ sin θsin θ ζ cos θ

]−1 [u1

u2

]=[

cos θ sin θ−sin θ

ζcos θ

ζ

] [u1

u2

]

si ottiene la dinamica di un doppio integratore:

y =[

xy

]=[

u1

u2

]

Page 142: Nonlin tutto 2009

Nonlinear Control Feedback Linearization - Pag. 140

Note sulla linearizzazione dell’uniciclo

• Il sistema e linearizzabile con feedback dinamico, il quale aggiungesostanzialmente una ulteriore variabile di stato ζ

• Il modello completo dell’uniciclo e di ordine 3, piu il feedback dinamico = 4

• Il modello linearizzato tramite feedback e anch’esso di ordine 4 (con stato[x y x y]T per cui la linearizzazione e completa (ingresso-stato)

• Il problema residuo consiste nell’evitare la singolarita di E1(q, ζ), risolvi-bile tramite inizializzazione dell’integratore e opportuna pianificazione delletraiettorie

Page 143: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 141

Appendice: strumenti matematici (algebra diLie)

Definizione 17 Dati due campi vettoriali f : Rn → Rn e g : Rn → Rn, sidefinisce Lie bracket di f e g un terzo campo vettoriale ottenuto come segue:

[f , g] =∂g∂x

f − ∂f∂x

g

La [f , g] e indicata anche con adf g (dove ad = “adjoint”). Per estensione:

ad0f g = g

adif g = [f , adi−1

f g] i = 1, 2, . . .

L’operatore Lie bracket e bilineare e anti-commutativo. Vale inoltre la seguenteidentita di Jacobi, data la funzione scalare smooth di x:

Ladf g h = LfLgh− LgLfh

Page 144: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 141

Note sul lucido 141

Concettualmente, l’operatore Lie bracket e molto legato alle caratteristiche di controllabilita e“linearizzabilita” di un sistema dinamico. Si consideri un sistema dinamico del tipo:

x = f(x)

Chiaramente, f e un campo vettoriale. Per un qualsiasi campo vettoriale f ∈ C∞, la soluzione dell’equazionedifferenziale x = f(x) e una curva γ : t → x(t), anch’essa di classe C∞, che viene chiamata flusso di f (anche

con notazione γft ). L’operatore Lie bracket permette di determinare se i flussi di due sistemi dinamici f e g siano

o meno commutatativi, cioe se, partendo da un certo punto ∈Rn, l’evoluzione del punto lungo le traiettoriedi f (γf

t ) per un tempo t e successivamente lungo le traiettorie di g (γgt ) per un tempo s non sia equivalente

all’evoluzione ottenuta invertendo l’ordine di f e g (v. figura sottostante).

| Â öTóp&óRTúáõútóô ñù h^[n^j$egm"ûg^xZß`cbZ\ß`7mu`,XY.Z|e,XPZß,^umZ|`,»Q'^xrÕw,Y?[tYdÃT^j$`ühB^q[|^èj$egm"ûg^xZ<`cbae×mu`,XYjZ|e,XPZàl^mZ|`lpQ'^xrÕw7[\ZEh e7rs[tX^e,,^umZ|`,pQ'^jrw7[áYae×mu`,XYjZ|e,XPZ,^mZ|`,=Q'^jrwüUÄß[EXe,rErÆyoãZEhB^q[|^ j$egm"ûg^xZ`cb7Z\ß`rs[tX^e,7,^umZ|`,=Q'^jrwYz[áYze rÆ[EX^ue,,^mZ|`,sQ'^xrÕwütJL4#)$ 4K@@ >$ ¯()(N@) )$&ecu<u$&4# )?@ A)+ ) !$z )JL¯cd%&F8$%LK

()(N)$& )$&@jtJL¯3 5L+)FZB )J Bi$%)J$LKÃcj<u$&¯# ?@ ¹ êCëC`Àº=$5°Z]$&iI& 4 o )JL-ch " ¯ )J 4) )) )$LKzcd) z(C$% »~»¼K$LKo&LKo " «cê«cTB )$05¹ )JL7&K " oc`ÎcTB )$Å-K$&i&85B )JL+)))]& B8$& )J¹ )JL+@cV )?Z$KÎê.)`Î)@i@>²h^V$&K]L-:´>

IÅsÚÉgÀ1¾DÆ öTóp&óRTúáõútóô ñùNÇ h^0[n^j$egm"ûg^xZ`cbà,^umZ|`,Q'^xrÕw,Y ê e,Xw ` [tY^Èx]e,rB[\wN^jXPZ\[nmue,rErsyZ|`(ÃT^j$`7[ bãelXw×`,Xrsy[ bZEhB^j[E`,qYmG`,iaia]BZ_^joß[öüE^Fü¹ êCëC`ÀºÉõa ÊTË ¨: p¦ÌÍ ²~N´é"¦ÌÍ p ¨: ²~_´ ÎÅë]7m ð,ëÎ~ ¹î«ëqhB^j^ ZEhB^ ^PÈ]elrÆ[\Z\y `,X-ZEhB^~G[,hZYGh`,]BrÕw G^×YxelZ\[tYvQ'^uwbx`, ZEh`,Yx^ Åë] elXw ~ bx`,qh3[\mxh `lZEhzY.[\w3^jYe,^0^jrErw3^+Q&X^wüpà$``cb@ü tu(Fi )JLà$(p$ @ )$&¸1ÊéH3$& =$%_L]LKJ- AL e )J =#Z, "(]L )$%LK )JL«( )$L@>$&i )$i±² ¤ e ¤ )´"² ¤ e ¤ Å´o !éÏÅ éÅawc- )JL¼&@cT z$L!c, )J°I]%$& 'U ¨: = ÌÍ ²~_´éÐ ÌÍ = ¨: ²~N´Ä )J!)!( )$5L@$&i )$&i«²T#] $%)@i@¼L@À´Äc+ )J«$&KJI Î)$%L7K$&iz )JL«°Z]$& D² ¤ êe ¤ ¸N´_`Dé ² ¤ `e ¤ ¸N´êjtJL, "Ii@Ã$%($ @ )$Î8$%C#C,JLF8«cd @=k)(N)$& )$±;Z

tB8«i " Ä3,Ji$LK! )JLz()(N@) ¼cDkà)(N)$& )$&µ E78$V#NÎ @mu`,iaia]Z\[tXN Â öTóp&óRTúáõútóô ñù ^xZ0]YsQOze ~ 7î e,Xw×mG`,XYG[nw3^xZEhB^am].,^ ² Äß[l]B$^ l´*²N´eé" ÌA : p¨A : Ì: ¨: ²~N´

Infatti, e possibile dimostrare che la [f , g] di due campi vettoriali e identicamente nulla se e solo se i loroflussi sono commutativi. Si consideri ad esempio, una barca a vela che debba navigare controvento. Come noto,

Page 145: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 142

la navigazione in tali condizioni e possibile se la barca viene condotta con una manovra “zig-zagante”, con laquale si riesce, approssimativamente, a dirigere la barca verso un punto altrimenti raggiungibile solo con unarotta lineare in direzione contraria a quella del vento. Intuitivamente, si puo affermare che, denominando f e g imodelli dinamici della barca nelle due configurazioni di navigazione della rotta a zig-zag, il risultato di [f , g] sia,approssimativamente, nullo.

Inoltre, se un sistema dinamico non libero ha una forma del tipo:

x = f(x) + b(x)u

l’insieme dei campi vettoriali b, adf b, . . . , adn−1f b permette di effettuare una analisi di controllabilita

del sistema.

Infatti, e possibile ricavare che per un sistema lineare x = Ax + bu, l’insieme precedente e costituitodai vettori costanti b,−A b, A2 b, . . . , (−1)n−1An−1 b. Come noto, se il rango della matrice ottenutaponendo come colonne i vettori precedenti (a meno del segno) e pari all’ordine del sistema, il sistema linearex = Ax + bu e completamente controllabile.

Analogamente, se i campi vettoriali b, adf b, . . . , adn−1f b sono linearmente indipendenti in un certo

Ω ⊆ Rn, significa che il sistema nonlineare x = f(x) + b(x)u e controllabile in Ω.

Page 146: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 143

Definizione 18 Un insieme linearmente indipendente di campi vettorialif1, f2, . . . , fm definiti in Rn e detto completamente integrabile se e so-lo se esistono n − m funzioni scalari h1(x), h1(x), . . . , hn−m(x), le cui∂hi/x siano linearmente indipendenti, che soddisfano il sistema di equazionidifferenziali parziali:

∂hi

xfj = Lfj hi = 0

con 1 ≤ i ≤ n−m, 1 ≤ j ≤ m.

Definizione 19 Un insieme linearmente indipendente di campi vettorialif1, f2, . . . , fm definiti in Rn e detto involutivo se e solo se esistono dellefunzioni scalari αijk : Rn → R tali che:

[fi, fj] =m∑

k=1

αijkfk ∀i, j

Teorema 7 (Frobenius)Un insieme linearmente indipendente di campi vettoriali f1, f2, . . . , fm definitiin Rn e completamente integrabile se e solo se e involutivo

Page 147: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 144

Linearizzazione ingresso-stato: formalizzazione

Definizione 20 Un sistema nonlineare con ingresso scalare, in forma affine:

x = f(x) + b(x)u

con f e b campi vettoriali smooth in Rn, e detto linearizzabile ingresso-stato se esiste una regione Ω ⊆ Rn, un diffeomorfismo Φ : Ω → Rn ed unalegge di controllo nonlineare u = α(x) + β(x)v tale che il sistema dinamicocon stato z = Φ(x) e ingresso v sia lineare tempo-invariante nella forma:

z = Az + blv

con:

A =[

I(n−1)×(n−1) 0(n−1)×1

01×(n−1) 0

]bl =

0

. . .01

Page 148: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 145

ricordando che:

Definizione 21 Una funzione smooth Φ = Rn → Rn definita in una regioneΩ ⊆ Rn e chiamata diffeomorfismo se la sua inversa Φ−1 esiste ed esmooth

La soluzione del problema di linearizzazione ingresso-stato si ottiene dalseguente:

Teorema 8Il sistema nonlineare x = f(x) + b(x)u, con f e g smooth, e linearizzabileingresso-stato se e solo se esiste una regione Ω ⊆ Rn tale che:

1. i campi vettoriali b, adf b, . . . , adn−1f b sono linearmente indipendenti in

Ω

2. l’insieme b, adf b, . . . , adn−2f b e involutivo in Ω

Page 149: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 145

Note sul lucido 145

La dimostrazione del teorema sulla linearizzabilita ingresso-stato (qui non formalizzata) e basata sulleseguenti considerazioni:

• La condizione 1 permette di affermare che il sistema e controllabile, come detto in una nota precedente

• La condizione 2 permette di dimostrare l’esistenza del diffeomorfismo Φ e, soprattutto, di determinarne lastruttura. Infatti, grazie al teorema di Frobenius si puo affermare che:

Lbz1 = Ladf bz1 = · · · = Ladn−2

f bz1 = 0

data una certa funzione scalare z1(x). Tali equazioni rappresentano il fatto che l’insieme al punto 2 ecompletamente integrabile. Inoltre, un lemma addizionale al teorema di Frobenius (non citato per brevita, madimostrabile grazie alla identita di Jacobi) permette di trasformare le equazioni precedenti in:

Lbz1 = Lb Lf z1 = · · · = LbLn−2f z1 = 0

In sostanza, se considerassimo z1 = z1(x) come la prima delle nuove variabili di stato del sistematrasformato, avremmo che:

z1 =∂z1

∂xx =

∂z1

∂xf +

∂z1

∂xb u = Lf z1 + Lb z1 u

ma essendo Lbz1 = 0 allora z1 = Lf z1. Siccome per il sistema linearizzato deve essere z1 = z2, per viadella forma richiesta alla matrice A della dinamica del nuovo stato, cio significa che per la seconda dellenuove variabili di stato deve essere z2 = z2(x) = Lf z1. Tale ragionamento puo essere esteso per tutte lenuove variabili di stato, per cui si ottiene che il diffeomorfismo cercato consiste nella seguente trasformazione:

Page 150: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 146

z = Φ(x) = [z1 Lf z1 . . . Ln−1f z1]

T

Si noti che, mentre per le prime n − 1 nuove variabili di stato la dinamica e quella di un integratorezk = zk+1, per l’ultima delle nuove variabili di stato, la dinamica e del tipo:

zn = Lnf z1 + Lb L

n−1f u

per cui il sistema trasformato z = fn(z) + bn(z) u e in forma canonica di controllabilita (companion).Finalmente, questo significa che il sistema e linearizzabile ingresso-stato nel nuovo stato z scegliendo la leggedi controllo:

u =1

Lb Ln−1f z1

(v − Lnf z1)

Si noti che nel diffeomorfismo e nella legge di controllo cosı determinate e rimasta una incognita da risolvere: z1,che e sia una nuova variabile di stato, ma anche (soprattutto) una funzione di x. Per ottenere tale funzione,occorre ricordare che, nel teorema sulla linearizzabilita, l’insieme involutivo nella condizione 2 ha un elemento inmeno di quello nella condizione 1. Questo significa che la funzione z1(x) deve soddisfare il sistema di equazioni:

Ladi

f bz1 = 0 i = 0, . . . , n− 2

Ladn−1

f bz1 6= 0

Page 151: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 147

Linearizzazione ingresso-stato: procedura

1. Dato il sistema x = f(x) + b(x)u (con f e b smooth), costruire il setb, adf b, . . . , adn−1

f b e verificare controllabilita e involutivita2. Trovare la z1(x) t.c.:

Ladif b z1 = 0 i = 0, dots, n− 2

Ladn−1f b z1 6= 0

3. Costruire la trasformazione dello stato

z = Φ(x) = [z1 Lf z1 . . . Ln−1f z1]T

e la legge di controllo

u =1

Lb Ln−1f z1

(−Lnf z1 + v)

Page 152: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 148

Esempio: robot con giunto flessibile

Iq1 + MgL sin q1 + k(q1 − q2) = 0

Jq2 − k(q1 − q2) = τ(= u)

con M massa del link, L distanza del baricentro dall’asse di giunto, I inerzia del link rispetto

all’asse di giunto e J inerzia del rotore del motore

Page 153: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 149

Poniamo x = [q1 q1 q2 q2]T e:

f = [x2 − MgLI sinx1 − k

I (x1 − x3) x4kJ (x1 − x3)]T

b = [0 0 0 1J ]T

dalle quali:

[b adf b ad2f b ad3

f b] =

0 0 0 − k

IJ

0 0 kIJ 0

0 1J 0 − k

J2

1J 0 − k

J2 0

che ha rango 4 se k > 0 e IJ < ∞, mentre l’involutivita delle prime tre colonnee garantita dal fatto che sono costanti

Page 154: Nonlin tutto 2009

Nonlinear Control Appendice su Feedback Linearization - Pag. 150

Dal sistema di equazioni necessario per ricavare z1 (nuovo stato), si ottieneche:

∂z1

∂x4= 0

∂z1

∂x3= 0

∂z1

∂x2= 0

∂z1

∂x16= 0

La cui soluzione piu immediata e z1 = x1. Da questa scelta risulta che:

z2 = Lfz1 = ∂x1∂x f = x2

z3 = Lfz2 = ∂x2∂x f = −MgL

I sinx1 − kI (x1 − x3)

z4 = Lfz3 = ∂z3∂x f = −MgL

I x2 cos x1 − kI (x2 − x4)

linearizzabile con una opportuna legge di controllo u = (v − Lf z4)/(Lb z4).

NOTA: le nuove variabili di stato sono: posizione, velocita, accelerazione e jerk del link. Come

visto in precedenza, queste non sono altro che l’uscita di interesse (posizione link) e le sue

derivate fino al terzo ordine. Solo la derivata del jerk del link e influenzata dal controllo, come

e stato dimostrato provando che il sistema ha grado relativo 4 rispetto all’uscita y = x1...

Page 155: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 151

Controllo in Sliding Mode

• La teoria del controllo in Sliding Mode ha come obiettivo la robustezzadel controllore nei confronti di disturbi e/o incertezze di modellazione delsistema controllato

• Si cerca di raggiungere l’obiettivo forzando il sistema in retroazione araggiungere un regime di Sliding Mode, tipico dei sistemi a strutturavariabile (Variable Structure Systems, VSS)

• Teoricamente, una volta raggiunto lo Sliding Mode, il sistema rimarra semprein tali condizioni (anche con disturbi o errori di modellazione entro limitiipotizzati) ⇒ il regime di Sliding Mode e caratterizzato da un insiemeinvariante per la dinamica del sistema

• Tali condizioni ideali sono mantenute introducendo nell’azione di controllouna componente in commutazione a frequenza infinita!

Page 156: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 152

Sistemi a Struttura Variabile (VSS)

In generale, un sistema con:

x = f(x, u, t),

u = [u1(x, t) u2(x, t) . . . um(x, t)]T

ui =

u+i (x, t) se si(x) > 0

u−i (x, t) se si(x) < 0

s(x) = [s1(x) s2(x) . . . sm(x)]T

e un VSS la cui struttura varia in modo discontinuo in corrispondenza di msuperfici (si(x) = 0) nello spazio degli stati.

Page 157: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 153

L’esempio piu semplice di VSS: controlloON/OFF

Comune nei controlli di temperatura, di livello, ecc.

'

&

$

%

On–Off Control

On–off control is the simplest control strategy.

Common in temperature control, level control etc.PSfrag replacements

r e u y

−G(s)

The relay corresponds to infinite high gain.

Lecture 9 13 November 24, 2003

'

&

$

%

A Control Design Idea

Assume V (x) = xT Qx, Q = QT > 0, represents the energy of

x = Ax + Bu, u ∈ [−1, 1]

Choose u such that V decays as fast as possible:

V = xT (AT Q + AQ)x + 2BT Qxu

is minimized if u = − sgn(BT Qx)

PSfrag replacements BT Qx = 0x

x

Lecture 9 14 November 24, 2003

'

&

$

%

Sliding Modes

x =

f+(x), σ(x) > 0

f−(x), σ(x) < 0

PSfrag replacementsσ(x) > 0

σ(x) < 0f+

f−

The sliding mode is x = αf+ + (1− α)f−, where α satisfiesαf+

n + (1− α)f−n = 0 for the normal projections of f+, f−.The sliding surface is S = x : σ(x) = 0.

Lecture 9 15 November 24, 2003

'

&

$

%

Example

x =

(

0 −1

1 −1

)

x +

(

1

1

)

u = Ax + Bu

u = − sgn σ(x) = − sgn x2 = − sgn(Cx)

is equivalent to

x =

Ax−B, x2 > 0

Ax + B, x2 < 0

x2 > 0

x2 < 0

x2 = 01−1

Lecture 9 16 November 24, 2003

Page 158: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 154

Altro esempio di VSS interessante (rappr. grafica nel piano delle fasi):

x + ax + bx = uu = −K|x|sign(s)s = cx + x

Le traiettorie nel piano delle fasi si ottengono componendo quelle di due sistemilineari (con u = Kx e con u = −Kx), commutando fra uno e l’altro incorrispondenza della retta s = 0 (sign(s) = ±1 se s ≶ 0) e dell’asse x:

=⇒

Page 159: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 155

Quando le traiettorie raggiungono la retta s = 0, la dinamica e unicamentegovernata dall’equazione cx + x = 0: lo stato del sistema tende all’origine,scivolando sulla “superficie” s = 0 (sliding surface). Se K e sufficientementegrande, la condizione di Sliding Mode e insensibile ai disturbi ⇒ s = 0 e uninsieme invariante

In generale:

Page 160: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 156

Note sullo Sliding Mode

• Il controllo in Sliding Mode (con VSS) e una estensione del tradizionalecontrollo on/off (rele) o bang-bang

• In Sliding Mode, la componente discontinua del controllo ha una uscitadi valore finito, in relazione ad un ingresso s (quasi) nullo ⇒ guadagnoelevato (teoricamente ∞)

• In Sliding Mode, le traiettorie sono caratterizzate da una dinamica di ordineinferiore a quella del sistema completo ⇒ semplificazione del problema diinseguimento

• Dal punto di vista tecnologico, vi sono alcuni campi di applicazione“naturale”: azionamenti elettrici (convertitori di potenza intrinsecamenteswitching), iniezione carburante (feedback “binario” da sonda λ), ecc.

Page 161: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 157

Progetto di controllo in Sliding Mode

Si consideri il sistema SISO in forma canonica di controllabilita (companion):

x(n) = f(x, t) + b(x, t)u + d(t)

con f(x, t) e b(x, t) non note con precisione e d(t) un disturbo limitato.

NOTA: tale dinamica e tipica nelle applicazioni industriali di motion control, con x posizione

di un cinematismo, u coppia di un motore e x = [x x . . . x(n−1)]T vettore di stato.

Si desidera risolvere il problema di inseguimento della traiettoria xd(t) =[xd xd . . . x

(n−1)d ]T in modo robusto rispetto a d e all’imprecisione di f e b.

Ponendo e = x− xd (errore di posizione) ed e = x− xd = [e e . . . e(n−1)]T

vettore “errore di inseguimento”, il problema di tracking si puo ricondurre aquello di stabilizzazione di una superficie di sliding

Page 162: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 158

Si definisce la superficie tempo-variante S(t) ∈ Rn attraverso la seguenteequazione scalare:

s(e, t) =(

d

dt+ λ

)n−1

e = 0

con λ > 0. Ad esempio, se n = 2 (caso tipico):

s = e + λe

mentre se n = 3:

s = e + 2λe + λ2e

Il problema n-dimensionale di inseguimento di xd(t) diventa quindi ilproblema monodimensionale di rendere invariante S(t), definita da s(e, t) = 0

Page 163: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 159

Note sulla superficie S(t)

• La funzione scalare s(e, t) esprime una misura dell’errore di inseguimento,per cui mantenendo limitata questa si mantiene limitato l’errore sulla “uscita”(x) e su tutte le sue derivate:

|s| ≤ φ ⇒ |e(i)| ≤ 2i φ

λn−1−i

• La distanza di uno stato x dalla superficie S e misurata da s2

• L’obiettivo del controllo e rendere S invariante ed attrattiva, cioe t.c. ches2 sia descrescente lungo tutte le traiettorie del sistema

• Una volta su S, le traiettorie del sistema sono definite dalla stessa equaziones = 0, per cui l’errore di inseguimento tende esponenzialmente a 0 concostante di tempo (n− 1)/λ

Page 164: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 160

Ipotesi di robustezza

Si desidera progettare la legge di controllo in modo che sia verificata laseguente:

12

d

dts2 ≤ −η|s|

In questo modo, con condizioni iniziali x(t0) 6= xd(t0), la superficie S eraggiunta in un tempo finito inferiore a |s(t0)|/η

Per garantire la robustezza nei confronti di disturbi e incertezze, l’azionedi controllo deve essere ad alto guadagno, cioe discontinua rispetto a S(proporzionale a sign(s))

Il coefficiente moltiplicativo del termine discontinuo deve essere t.c. ladisuguaglianza precedente sia verificata con disturbi e incertezze limitatesuperiormente (entro limiti fissati per ipotesi)

Page 165: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 161

Si consideri ad esempio, la dinamica del secondo ordine (n = 2):

x = f(x, x, t) + u

con f non nota con precisione, ma stimata da una funzione f . L’errore distima e per ipotesi limitato da una funzione nota F (x, x, t):

|f − f | ≤ F

Data la traiettoria di riferimento xd(t), si definisce la superficie di sliding:

s = e + λe = 0

che deve essere resa invariante risolvendo rispetto a u l’equazione s = 0:

s = x− xd + λe = f + u− xd + λe = 0

Page 166: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 162

Poiche f non e nota in modo preciso, la migliore approssimazione disponibiledel controllo “ideale” e:

u = xd − f − λe

Inoltre, per imporre che il sistema sia in Sliding Mode su s = 0, occorreaggiungere a u un termine discontinuo:

u = u− k sign(s)

con k = k(x, x, t) tale da garantire l’attrattivita di s = 0:

12

d

dts2 = s · s = [f − f − k sign(s)] · s = (f − f)s− k|s| ≤ −η|s|

percio k ≥ F + η

Page 167: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 162

Note sul lucido 162

Si noti che per la dinamica dell’errore, la funzione:

V =1

2s2

rappresenta anche una funzione di Lyapunov grazie quale e possibile dimostrare la stabilita di s = 0 e,soprattutto, la robustezza di tale stabilita. Infatti, la derivata di V rispetto al tempo:

V = s · s

deve essere definita negativa ∀s 6= 0. Questo significa che quando s > 0 deve essere s < 0 e viceversa.Pertanto, poiche la s dipende in modo diretto dalla legge di controllo u, e necessario che questa sia discontinuarispetto a s = 0, cioe proporzionale a sign(s). Per la robustezza, il coefficiente di proporzionalita va progettato,come si e visto, in relazione all’ipotesi peggiore sull’errore di modellazione della dinamica del sistema.

Page 168: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 163

Estensioni delle considerazioni di robustezza

Se la dinamica del sistema e affetta da un disturbo d(t), limitato per ipotesida:

|d(t)| ≤ D

con D costante, per avere Sliding Mode robusto rispetto a d e sufficientescegliere:

k ≥ F + D + η

con F determinato come visto in precedenza.

Page 169: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 164

Estensioni delle considerazioni di robustezza - 1

Se il controllo entra nella dinamica moltiplicato per una funzione incertab(x, t) e necessario ipotizzarne i limiti:

0 < bmin ≤ b ≤ bmax

La migliore stima di b e la media geometrica b =√

bmin bmax, per cui lalegge di controllo diventa:

u = b−1[u− k sign(s)]

con:k ≥ β(F + η) + (β − 1)|u|

e β =√

bmaxbmin

chiamato margine di guadagno (β−1 ≤ b/b ≤ β)

Page 170: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 164

Note sul lucido 164

Per un sistema in forma canonica di controllabilita:

x(n)

= f(x) + b(x)u

e evidente che la legge di controllo ideale per ottenere inseguimento perfetto e, di conseguenza, s(t) = 0 ∀ t,sarebbe quella basata sulla inversione dinamica (precisa):

u =1

b(x)[xd − f(xd)]

Poiche tale controllo non e realizzabile direttamente a causa dei disturbi e delle incertezze su f e b, essaviene ottenuta attraverso una sequenza di commutazioni a frequenza infinita tra le traiettorie di due differentidinamiche (strutture) dello stato, traiettorie tangenti ai vettori (in R2):

f+ = [x f + b u+]T

f− = [x f + b u−]T

come rappresentato graficamente nella figura seguente.

Page 171: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 165

f

f+

-

s=0s>0s<0

Mediamente, il comportamento a regime ottenuto con il controllo in Sliding Mode e quello ottenuto con laperfetta inversione dinamica sono identici. D’altra parte, anche la possibilita di ottenere commutazione infinitae una ipotesi non fisicamente realizzabile. Cio nonostante, il progetto di controllo in Sliding Mode permette ditenere in considerazione in modo esplicito la presenza di disturbi e incertezze di modellazione, un aspetto che conaltre tecniche (v. Feedback Linearization) non puo essere trattato direttamente.

Page 172: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 166

Il problema di chattering

Con il controllo in Sliding Mode, le traiettorie del sistema sono semprecaratterizzate da un tratto di raggiungimento della superficie S e da un trattodi scivolamento verso e = 0 (x1 = e e x2 = e in figura):The idea of sliding mode

• First drive system to stable manifold (reaching phase)

• Then slide to equilibrium (sliding phase)

Page 173: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 167

La condizione di scivolamento e mantenuta a patto di poter commutareistantantanemante il controllo attraversando S. Se, come accade forzatamentenella pratica, la commutazione non e istantanea, insorge un fenomeno dichattering:

e

e.

Page 174: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 168

Cause e soluzioni del chattering

• Cause:

– Ritardo implicito nella realizzazione digitale (risolvibile con progettodirettamente nel dominio tempo discreto)

– Dinamiche “parassite” non trascurabili nell’attuatore o nei trasduttori

• Chiaramente, il chattering e da evitare nelle realizzazioni pratiche (es.eccessiva sollecitazione strutture meccaniche) ⇒ Soluzioni:

1. introduzione di un Boundary Layer: approssimazione del guadagnoinfinito in prossimita di S con guadagno finito (sat(s/φ) al posto disign(s))

2. utilizzo di osservatori asintotici dello stato come anello di by-pass delledinamiche parassite

Page 175: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 169

Boundary Layer: smoothing dell’azione dicontrollo

+1

-1

sign(z)

z

+1

-1

sat(z/ )

z

O

1/Oapprox.

In questo modo, la condizione 12

ddt s2 ≤ −η|s| garantisce “solo” |s| ≤ φ

Page 176: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 170

Traiettorie all’interno del Boundary Layer

e

e.

s= 0

O

O

Boundary Layer

Page 177: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 171

Note sul Boundary Layer

• Considerando s = e + λe, l’introduzione del Boundary Layer equivale atrasformare la componente switching del controllo in un termine di feedbacklineare PD ad elevato guadagno (Kd = 1/φ e Kp = λ/φ) con saturazione.

• Il feedback puo essere di tipo PID se si considera come variabile di interesse∫ t

0e(τ) dτ anziche e (controllo integrale). In tal caso (ponendo n = 3 nella

determinazione dell’espressione di S):

s =(

d

dt+ λ

)2(∫ t

0

e(τ) dτ

)= e + 2λe + λ2

∫ t

0

e(τ) dτ

• Parametri di progetto: η = “margine di robustezza”, λ = “banda passante”della dinamica su S, φ = “compromesso” tra sliding ideale ed eliminazionedel chattering

Page 178: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 173

Esempio: stabilizzazione robusta del pendolo

Si consideri il modello del pendolo:

x1 = x2

x2 = − gR sinx1 − B

MR2x2 + uMR2

con x1 = θ, x2 = θ e u = τ coppia attuata alla base. Il modello e in formacanonica di controllabilita x1 = f(x) + b(x) u, ponendo:

f(x) = − gR sinx1 − B

MR2x2

b(x) = 1MR2

Se supponiamo che i parametri siano noti con scarsa precisione:

Rmin ≤ R ≤ Rmax Mmin ≤ M ≤ Mmax Bmin ≤ B ≤ Bmax

Page 179: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 174

e che siano ipotizzati i valori nominali R, M e B, si avra:

f = − g

Rsinx1 −

B

MR2x2

e

b =

√1

MmaxR2max

1MminR2

min

Supponendo per semplicita che almeno la lunghezza del pendolo sia mi-surabile precisamente, si puo ottenere il limite sull’errore di stima di fcome:

|f − f | ≤

(Bmax

MminR2− B

MR2

)|x2| = k1|x2| = F

Page 180: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 175

Inoltre, anche per la componente del controllo u si puo inoltre ipotizzare unfunzione limite, considerando che:

u = xd − f − λe

in questo caso diventa:

u =g

Rsinx1 +

B

MR2x2 − λx2

per cui:

|u| ≤ g

R+

(B

MR2+ λ

)|x2| = k2 + k3|x2|

Page 181: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 176

Concludendo, si puo progettare la legge di controllo:

u = b−1[u− k sign(s)]

con s = x1 + λx2 e:

k ≥ β(F + η) + (β − 1)|u|

β =√

MmaxR2max

MminR2min

che in questo caso diventa:

k ≥ β(k1|x2|+ η) + (β − 1)(k2 + k3|x2|) = k′1 + k′2|x2|

Page 182: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 177

Esempio: problema di inseguimento

Si consideri il generico sistema:

x = −a(t) x2 cos3x + u

nel quale a(t) e una funzione incerta che pero verifica 1 ≤ a(t) ≤ 2. Inquesto caso si ha:

f = −1.5 x2 cos3x

|f − f | ≤ 0.5 x2 |cos3x| ≤ 0.5 x2 = F

Ponendo s = e + λe (con e = x− xd) si ottiene che:

s = x− xd + λe = f + u− xd + λe = −a(t) x2cos3x + u− xd + λe

Page 183: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 178

per cui la legge di controllo deve essere:

u = u− k sign(s)

conu = xd − f − λe = xd + 1.5 x2 cos3x− λe

k = F + η = 0.5 x2 + η

Page 184: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 179

Esempio: controllo di motori elettrici DC62 CAPITOLO 3. INTRODUZIONE A SIMULINK

L eR e Cc

R a La

Ve

ie vm

ω(t)Va

ia

.

.J f, ,

.

.

Figura 3.11: Motore in corrente continua.

ottiene il modello nello spazio degli stati (A,B,C)

[

ia(t)ω(t)

]

=

[

Ra

La

km

La

km

J−

fJ

] [

ia(t)ω(t)

]

+

[

1

La

0

0 −

1

J

] [

Va(t)Cc(t)

]

(3.1)

ω(t) =[

0 1]

[

ia(t)ω(t)

]

Pertanto, le matrici del sistema risultano

A =

[

Ra

La

km

La

km

J−

fJ

]

, B =

[

1

La

0

0 −

1

J

]

e C =[

0 1]

.

se si pone y(t) = ω(t) e

x(t) =

[

ia(t)ω(t)

]

e u(t) =

[

Va(t)Cc(t)

]

.

Utilizzando lo schema del motore in corrente continua in ambiente Simulink

e con i parametri forniti precedentemente, si alimenta il motore come in Figu-ra 3.12 con un gradino di tensione di armatura che si mantiene al valore di 0Vda 0 a 50s, per poi portarsi al valore di 5V per altri 50s.

La Figura 3.13 riporta il grafico relativo alla velocita angolare w(t) del motoree quella del segnale di ingresso.

Successivamente, si e alimentato il motore con un impulso di tensione di am-piezza Va(t) = 10V e durata τ = 40s. I grafici della posizione del rotore α(t) inradianti e della relativa velocita angolare sono rappresentati nelle Figure 3.14 e3.15.

Per ottenere l’ulteriore uscita α(t) a partire dal modello del secondo ordinedescritto nell’Equazione 3.1 occorre notare che α(t) = ω(t) e, pertanto, ponendo

x(t) =

ia(t)ω(t)α(t)

e y(t) =

[

ω(t)α(t)

]

Page 185: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 180

Modellazione motore DC (magneti permanenti)

Date le equazioni:

Ladiadt = −iaRa − kmω + Va

J dωdt = kmia − Cc

considerando come ingresso u = Va e come variabili di stato x1 = ω edx2 = ω, si ottiene:

x1 = x2

x2 = −k2m

Lax1 − Ra

Lax2 −

(RaJLa

Cc + CcJ

)+ km

JLau

Considerando una traiettoria di riferimento ω0(t) e l’errore di inseguimentoe = ω0 − ω, si puo definire la superficie di sliding s = e + λe.

Page 186: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 181

Per ottenere la condizione di Sliding Mode, si puo imporre al motore latensione discontinua:

u = V0 sign(s)

nella quale V0 e una costante sufficientemente grande, determinata da:

s = ω0 − x1 + λω0 − λx1

= ω0 + λω0 − λx1 + k2m

Lax1 + Ra

Lax2 +

(Ra

J LaCc + Cc

J

)− km

J LaV0 sign(s)

Per rendere s ed s sempre di segno opposto, e necessario che sia sempre:

km

J LaV0 ≥

∣∣∣∣∣ω0 + λω0 − λx1 +k2

m

Lax1 +

Ra

Lax2 +

(Ra

J LaCc +

Cc

J

)∣∣∣∣∣

Page 187: Nonlin tutto 2009

Nonlinear Control Sliding Mode - Pag. 182

Tipicamente, un motore elettrico DC puo essere controllato con tensionediscontinua, tramite convertitori di potenza a commutazione (H-Bridge) deltipo:

Il progetto di controllo in Sliding Mode permette quindi di determinare latensione del ponte necessaria per avere perfetto inseguimento di velocita.

NOTA: Purtroppo, per raggiungere tale condizione ideale e necessaria una misura dell’ac-

celerazione del motore, ottenibile solo con misure indirette (corrente) e/o osservatori asintotici

(peraltro utili anche per il by-pass di dinamiche parassite).