Nonlinear Control                                       - Pag. 1



                    Applicazioni di Controllo
                     per Sistemi Non Lineari
                              Marcello Bonf`
                                           e
                          Dipartimento di Ingegneria
                             Universit` di Ferrara
                                      a
                            Tel. +39 0532 974839
                            Fax. +39 0532 974870
                          E-mail: mbonfe@ing.unife.it
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 Mode
  Control) ed applicazioni
Nonlinear Control                                              Introduzione - Pag. 3


                    Sistemi Dinamici: Lineari / Nonlineari


• Sistema dinamico: oggetto o fenomeno il cui comportamento (manifestato
  da 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) = A x(t) + B u(t)
                              ˙
                              y(t) = C x(t) + D u(t)

• Modelli nonlineari:

                              x(t) = f (x(t), u(t), t)
                              ˙
                              y(t) = h(x(t), u(t), t)
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 realt`, valida per
                                                                    a
      limitate (!) condizioni di funzionamento
    – alcune nonlinearit` non sono approssimabili linearmente (es. discontinuit`)
                         a                                                     a
    – anche l’adattamento on-line di parametri del controllore ` formalmente
                                                                  e
      una nonlinearit`a
    – il progetto richiede maggiore approfondimento delle leggi fisiche che
      determinano la dinamica del sistema (v. stabilit` del pendolo)
                                                       a
Nonlinear Control                                                Introduzione - Pag. 6


                            Esempio: pendolo

                              • Approccio lineare: trovare un modello
                                                                ˙
                                x = Ax + Bu (con x = [θ θ]T ), valido
                                 ˙
                                in un intorno del punto di equilibrio x = 0
                                (es. ipotesi sin θ ≈ θ) e dimostrare che gli
                                autovalori di A sono a parte reale negativa
                                e/o trovare u = −Kx che li renda tali

                              • Approccio nonlineare: dato il modello
                    θ
                                x = f (x, u) valido ∀ x ∈ R2, dimostrare che
                                 ˙
           M
                                x = 0 ` un punto a minima energia, pertanto
                                       e
                        M       ogni traiettoria dello stato tende a dissipare
                                l’energia del sistema fino a raggiungere tale
                                minimo (es. attriti) e/o trovare u = g(x)
                                che renda il sistema dissipativo (⇒ stabile)
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 di
gravit`, b il coefficiente di attrito viscoso alla cerniera e τ la coppia esercitata, ad esempio, da un motore elettrico
      a
connesso alla cerniera, il modello dinamico del pendolo ` rappresentato dall’equazione:
                                                            e


                                            2¨    ˙
                                         M R θ + bθ + M gR sin θ = τ

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


                                    x1
                                    ˙     =     x2
                                                  g             b x + u
                                    x2
                                    ˙     =     − R sin x1 −
                                                               M R2 2 M R2

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

     f1 (x, u) = x2
                   g
     f2 (x, u) = − R sin x1 − b 2 x2 + u 2 .
                             MR       MR

     I punti di equilibrio (x = 0) sono dati dalle soluzioni della equazione f (x) = 0, cio`:
                            ˙                                                              e


                                               x2 = 0, sin x1 = 0
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 pu` essere fatta grazie all’approssimazione di Taylor delle funzioni f1
                                                o
ed f2 rispetto ai due punti di equilibrio, trascurando i termini di ordine superiore al primo. Intuitivamente, questo
corrisponde a considerare sin x1 ≈ x1 se x1 ≈ 0 e sin x1 ≈ −x1 se x1 ≈ π , che permette di ottenere i
seguenti due modelli del tipo x = Ax + Bu:
                               ˙


                               x1
                               ˙            0          1           x1                 0
                                     =       g                            +       1       u
                               x2
                               ˙           −R       − b2           x2
                                                     MR                          M R2
e
                               x1
                               ˙            0          1           x1                 0
                                     =       g                            +       1       u
                               x2
                               ˙           +R       − b2           x2
                                                     MR                          M R2

     Si noti che il sistema libero (cio` senza l’ingresso) risulta avere autovalori
                                       e

              −b R3 ±     −4 g M 2 R+b2 R6
     λ1,2 =               2M R             ,

nel primo caso, e
                   5
              −b R 2 ±    4 g M 2 +b2 R5
     λ1,2 =                  √
                         2M R

nel secondo caso. Si pu` facilmente verificare che tali autovalori sono sempre entrambi a parte reale negativa nel
                       o
primo caso (punto di equilibrio stabile) ed entrambi a parte reale positiva nel secondo caso (punto di equilibrio
instabile).
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 ` non singolare, ed esso ` stabile
                                              e                      e
  per ogni x(t0), se gli autovalori di A hanno parte reale negativa

• la risposta del sistema ` determinabile analiticamente
                          e

• noto l’andamento nel tempo di u(t), la risposta ` data, per sovrapposizione
                                                  e
  degli effetti, da:
                                                    t
                          x(t) = eA(t−t0)x(t0) +        eA(t−τ )Bu(τ )dτ
                                                   t0
                                 risposta libera
                                                        risposta forzata
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 uscite
    sinusoidali della stessa frequenza

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


                            G(s) = C(sI − A)−1B + D
Nonlinear Control                                                    Introduzione - Pag. 10


                    Analisi frequenziale di sistemi LTI SISO


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

• I metodi classici della teoria del controllo si basano sullo studio delle funzioni
  di trasferimento dei blocchi costitutivi del sistema (plant, controllore, filtri,
  trasduttori ecc.) e di quelle ottenute dalla loro composizione (es. funzione
  di trasferimento d’anello):
    –   diagrammi di Bode
    –   diagrammi di Nyquist
    –   luogo delle radici (mappa poli-zeri)
    –   progetto di reti correttrici e/o PID
Nonlinear Control                                                                            Introduzione - Pag. 11

                                                                         Bode Diagrams


                                                                               From: U(1)
                                                               20

                                                               10

                                                                0

                                                              −10
                    Phase (deg); Magnitude (dB)




                                                              −20

                                                              −30

                                                              −40


                                                                0



                                                              −50
                                                  To: Y(1)




                                                             −100



                                                             −150



                                                             −200
                                                                  −1                0          1
                                                                10                10         10


                                                                       Frequency (rad/sec)
Nonlinear Control
                                                             H                       Introduzione - Pag. 12


                                                 ramo diretto
                                            ramo di retroazione
                                                             y
                               x       +         e
                                                        G
                            ingresso                                      uscita
                                           + z
nando come nel caso precedente si ha:
                                                        H
                                                                                 G
                     y=Gx+GHy,               ramo di ossia
                                                     retroazione           y=        x
                                                                              1 − GH
     Ragionando come nel caso precedente si ha:
efinitiva lo schema a:
          che equivale
                       equivalente è il seguente:
                                                                             G
                                 x
                           y=Gx+GHy,                 ossia           y=
                                                                     y
                                                                          1 − GH
                                                                                 x
                                                 G
     e in definitiva lo schema equivalente è 1 − GH
                                             il seguente:
                                       x                         y
                                                 G
)       Riduzione di un anello in            retroazione
                                              1 − GH             unitaria (negativa o positiva)
Nonlinear Control                                                   Introduzione - Pag. 13


             Caratteristiche (cattive) dei modelli nonlineari

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

• il sistema pu` avere molteplici punti di equilibrio, la cui stabilit` pu`
               o                                                      a   o
  dipendere dalle condizioni iniziali

• anche la risposta libera del sistema pu` essere stabilmente oscillatoria (cicli
                                          o
  limite 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 grandissime
  differenze nella risposta del sistema (comportamento caotico)
Nonlinear Control                                                   Introduzione - Pag. 14


                    Esempio: oscillatore di Van der Pol

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


                           m¨ + 2c(x2 − 1)x + kx = 0
                            x             ˙

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

    Il comportamento oscillatorio pu` essere spiegato considerando che se x2 > 1
                                    o
lo smorzatore ha coefficiente positivo e quindi dissipa energia, mentre se x2 < 1
fornisce energia. Lo stato del sistema non pu` quindi n` convergere a 0, n`
                                                 o          e                  e
divergere all’∞.
Nonlinear Control                                                                                Introduzione - Pag. 15


                            Oscillatore di Van der Pol: risposta

                                                    Van der Pol oscillator
                             2




                            1.5




                             1




                            0.5
                    x(t)




                             0




                           −0.5




                            −1




                           −1.5
                                  0   5   10   15            20              25   30   35   40
                                                         time (sec)
Nonlinear Control                                                           Introduzione - Pag. 16


                    Oscillatore di Van der Pol: traiettorie dello
                               stato con ciclo limite
                         x’=y
                                     2
                         y ’ = − 2 (x − 1) y − x


                     5


                     4


                     3


                     2


                     1
             x(t)
             ˙




                     0


                    −1


                    −2


                    −3


                    −4


                    −5



                                                             x(t)
                            −3                     −2   −1   0      1   2     3
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
Nonlinear Control                                                     Analisi - Pag. 19


                     Analisi nel piano delle fasi


• Si cerca di tracciare le traiettorie dello stato del sistema su un grafico
  bi(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/cicli
  limite e di studiarne le caratteristiche
Nonlinear Control                                                    Analisi - Pag. 20


                      Sistemi del secondo ordine


• Nella forma pi` generale:
                u

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

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

• Una famiglia di traiettorie generate a partire da diverse condizioni iniziali
  costitutisce una mappa delle fasi.
Nonlinear Control                                                 Analisi - Pag. 21


                    Tipica dinamica del secondo ordine


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

                                   x + f (x, x) = 0
                                   ¨         ˙

    che pu` essere ricondotta a:
          o

                               x1 = x2
                               ˙
                               x2 = −f (x1, x2)
                               ˙

    con x1 = x e x2 = x.
                      ˙
Nonlinear Control                                         Analisi - Pag. 22


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


                                                   .
                                                   x


                         M                                    x
Nonlinear Control                                                    Analisi - Pag. 24


                    Punti singolari nella mappa delle fasi


• In generale, l’analisi di un sistema serve per determinare le caratteristiche
  dei suoi punti di equilibrio, cio` i punti nei quali x = 0, condizione che per
                                     e                  ˙
  i 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,
  perch` in tali punti la tangente delle traiettorie dello stato ` indeterminata
       e                                                         e

                                dx1 f2(x1, x2) 0
                                   =          =
                                dx2 f1(x1, x2) 0
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 cui
condizione iniziale appartenga ad una determinata area (area di convergenza),
il secondo si dimostra un punto dal quale le traiettorie possono divergere (v.
grafico successivo)
Nonlinear Control                                                     Analisi - Pag. 26




                     8
                                area di
                     6          convergenza

                     4

                     2
                         instabile
             x(t)




                     0
             ˙




                    -2

                    -4

                    -6

                    -8

                           -6        -4       -2   0      2   4   6
                                                   x(t)
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 tutte
  le altre divergono

• Punti di centro di traiettorie chiuse ellittiche (v.       gruppo massa-molla
  ideale)
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 ` possibile semplificare ricavando x2 dalla prima equazione e sostitendola
     e
nella seconda:
                      x1 = (a1 + a4)x1 + (a3a2 − a1a4)x1
                      ¨             ˙
o, pi` in generale:
     u
                               x + ax + bx = 0
                                ¨    ˙
le cui soluzioni sono univocamente caratterizzate dalle radici λ1 e λ2 del
polinomio caratteristico:

                       s2 + as + b = (s − λ1)(s − λ2) = 0
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
 Nonlinear Control                                            Analisi - Pag. 29

3. λInand λ2 are complex conjugate with non-zero real parts
     1 relazione alla “posizione” di λ1 e λ2 :

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




                                                                         3
Nonlinear Control                                                    Analisi - Pag. 30


                    Punti singolari e cicli limite nei sistemi
                                   nonlineari


• Diversamente da un sistema lineare, un sistema nonlineare pu` avere
                                                              o
  molteplici punti di equilibrio (punti singolari)

• Tuttavia, un punto di equilibrio pu` essere studiato localmente considerando
                                     o
  la linearizzazione del sistema in un intorno del punto stesso (v. primo
  metodo di Lyapunov), per scoprire se sia un nodo, un fuoco, etc.

• La presenza di cicli limite, possibile solamente nei sistemi nonlineari, e la
  loro stabilit` o instabilit` vanno studiate in modo specifico (es. teoremi di
               a             a
  Poincare e Bendixson...)
Nonlinear Control                                                         Analisi - Pag. 31


                    Cicli limite: analisi approssimata tramite le
                                funzioni descrittive


• In molti casi pratici, i cicli limite insorgono in un sistema ad anello chiuso a
  causa di nonlinearit` algebriche, cio` senza dinamica (es. saturazioni, giochi,
                        a                  e
  etc.)
• In questi casi, ` possibile studiare determinare l’esistenza del ciclo limite
                    e
  attraverso una descrizione approssimata delle nonlinearit`, basato sulle
                                                                     a
  funzioni descrittive
• Una funzione descrittiva ` una “funzione di trasferimento” (f.d.t.) complessa,
                              e
  che lega le caratteristiche di una sinusoide all’ingresso a quelle di una sinusoide
  all’uscita nell’ipotesi di regime oscillatorio persistente (ciclo limite)
• Una f. descrittiva ` f. dell’ampiezza della sinusoide d’ingresso (non
                          e
  della pulsazione), e determina il rapporto fra la componente fondamentale
  dell’oscillazione in uscita e la sinusoide d’ingresso.
Nonlinear Control                                                    Analisi - Pag. 32


                Ipotesi per l’analisi con funzioni descrittive


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

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

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

4. La nonlinearit` ` puramente algebrica ed ` simmetrica
                 ae                         e
DESCRIBING FUNCTION
Nonlinear Control                                                   Analisi - Pag. 33


                        Schema a blocchi di riferimento


                                Nonlinearity          Linear part

  r(t) = 0 +             e(t)                  n(t)                 c(t)
                                   N(e)                 G(jω)
                    -
                          A                     B
Nonlinear Control                                                        Analisi - Pag. 37


             Determinazione dei cicli limite con la funzione
                             descrittiva


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

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

    con N (e) funzione descrittiva della nonlinearit`, per il criterio di Nyquist)
                                                    a

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

• Il punto d’incontro delle due curve permette di determinare ampiezza E (da
  N (E)) e pulsazione ω (da G(jω)) delle oscillazioni autosostenute
Nonlinear Control                                                             Analisi - Pag. 38


(frequency domain)con rel` con soglia
       Diagramma di Nyquist e


                                                    j Im{ ( jω)}
                                                        G




      y                      (1/ K, j0)
                                                              ω= 0   1
                                               φm                      Re{ ( jω)}
                                                                          G
                                                                     K


                          −1/ N (a)

                                      ω = ωc




gnal u(t),
Nonlinear Control                                                          Analisi - Pag. 39


                    Note conclusive sul metodo della funzione
                                   descrittiva


• Il metodo ` approssimato, pertanto pu` verificarsi che:
            e                          o
   1. sia l’ampiezza che il periodo delle oscillazioni sono diverse da quelle rilevate
      sperimentalmente
   2. un ciclo limite previsto in realt` non esiste
                                       a
   3. un ciclo limite esistente non ` previsto
                                     e
Nonlinear Control                                                      Analisi - Pag. 40


                    Analisi con i metodi di Lyapunov


• L’unico approccio rigoroso ed esaustivo per l’analisi dei sistemi nonlineari (di
  qualsiasi tipo e ordine) ` quello basato sulla teoria sviluppata dal matema-
                             e
  tico russo Aleksandr Mikhailovich Lyapunov, pubblicata per la prima volta
  nel 1892, ma riconsiderata nel contesto dei controlli automatici solamente a
  partire 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 di
      tipo “energetico” (potenzialmente pi` intuitive) possono essere di ausilio
                                               u
      nell’analisi di stabilit` e nel progetto del controllo
                              a
Nonlinear Control                                                Analisi - Pag. 41




                    Aleksandr Mikhailovich Lyapunov
                              (1857-1918)

                    • Professor of Mechanics at St. Petersburg
Nonlinear Control                                                    Analisi - Pag. 42


                    Punti di equilibrio e stabilit`: definizioni
                                                  a

   Nella teoria di Lyapunov, si intende sistema dinamico un sistema libero e
autonomo, caratterizzato dall’equazione x = f (x) (se x = f (x, t) ` libero, ma
                                         ˙            ˙            e
non autonomo)
Definizione 1 Uno stato x ` detto stato di equilibrio (o punto di equilibrio)
                           e
di un sistema dinamico, se dall’istante t al quale x(t) ` uguale a x , x(t)
                                                        e
rimane uguale a x per ogni istante successivo

   Matematicamente, i punti di equilibrio sono ottenuti dalla soluzione della
equazione:
                               0 = f (x )
Nonlinear Control                                                                                    Analisi - Pag. 42

                                        Note sul lucido 42
     I concetti di stabilit` descritti nel seguito fanno sempre riferimento allo specifico punto di equilibrio x = 0.
                           a
Tuttavia, ci` non implica una perdita di generalit`, in quanto per ogni punto di equilibrio x = 0 ` possibile
            o                                          a                                                  e
ricondurre lo studio di stabilit` a quello dell’origine, effettuando il cambiamento di variabile:
                                a

                                                   y =x−x

e studiando la stabilit` di y = 0 per il sistema y = f (y + x ), in modo assolutamente equivalente.
                       a                         ˙

     In modo analogo, ` possibile ricondurre lo studio della stabilit` di una traiettoria nominale di un sistema
                         e                                           a
dinamico, cio` una soluzione dell’equazione differenziale x = f (x) con condizione iniziale x (0) = x0 , in
              e                                               ˙
presenza 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.
Nonlinear Control                                                Analisi - Pag. 43


               Punti di equilibrio e stabilit`: definizioni - 2
                                             a

Definizione 2 Il punto di equilibrio x = 0 di un sistema x = f (x) ` detto
                                                        ˙         e
stabile 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) ` detto
                                                        ˙         e
asintoticamente stabile se ` stabile ed ∃ r > 0, t.c.
                           e

      x(0) < r       ⇒   x(t) → 0 per t → ∞.
Definizione 4 Il punto di equilibrio x = 0 di un sistema x = f (x) ` detto
                                                              ˙          e
esponenzialmente stabile se ` stabile ed ∃ r > 0, ∃ α > 0, ∃ λ > 0, t.c.
                            e

      x(0) < r       ⇒   ∀ t > 0, x(t) ≤ α x(0) e−λt.
Nonlinear Control                                             Analisi - Pag. 44


                    Concepts of Stability
    Rappresentazione “grafica” della stabilit` secondo Lyapunov(1
                                               a                           =
asintoticamente stabile, 2 = marginalmente stabile, 3 = instabile):


                                                                          It is im
                                                                          differ
                                                                          intuit
                                                                          trajec
                                                                          and f
                                                                          syste
                                                                          blowi
                                                                          alway
                                                                          syste
                                                                          syste
Nonlinear Control                                                    Analisi - Pag. 45


               Punti di equilibrio e stabilit`: definizioni - 3
                                             a

Definizione 5 Se x = 0 ` un punto di equilibrio asintoticamente (esponen-
                           e
zialmente) stabile, la regione x(0) < r con r massimo, ` detta dominio di
                                                        e
attrazione.
Definizione 6 Se x = 0 ` un punto di equilibrio asintoticamente (espo-
                          e
nenzialmente) stabile ∀ x(0) ∈ Rn, il sistema si dice globalmente
asintoticamente (esponenzialmente) stabile.

    NOTA: la stabilit` asintotica di un sistema LTI ` sempre anche esponenziale
                     a                              e
e globale.
Nonlinear Control                                                    Analisi - Pag. 46


                Primo metodo di Lyapunov: linearizzazione

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

                                ∂f
                          x=
                          ˙                x + fh.o.t.(x)
                                ∂x   x=0

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

                                       ∂f
                                A=
                                       ∂x     x=0

   il sistema x = Ax ` detto approssimazione lineare nel punto di equilibrio
              ˙       e
0 del sistema nonlineare originale.
Nonlinear Control                                                                   Analisi - Pag. 47


             Primo metodo di Lyapunov: linearizzazione - 1

    Analogamente, se x = f (x, u) si pu` scrivere:
                     ˙                 o

                         ∂f                    ∂f
                    x=
                    ˙                     x+                    u + fh.o.t.(x, u)
                         ∂x   (x=0,u=0)        ∂u   (x=0,u=0)


    approssimabile a x = Ax + Bu con:
                     ˙

                                ∂f                       ∂f
                         A=                      B=
                                ∂x   (x=0,u=0)           ∂u     (x=0,u=0)
Nonlinear Control                                                                                  Analisi - Pag. 47

                                       Note sul lucido 47
     Si noti che l’approssimazione lineare pu` essere fatta rispetto ad un qualunque altro punto di equilibrio x
                                               o
diverso dall’origine, con ingresso costante pari a u :


                            ∂f                                 ∂f
                     x≈
                     ˙                      (x − x ) +                         (u − u )
                            ∂ x (x=x ,u=u )                    ∂ u (x=x ,u=u )

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

     x=x−x
     ˜

     u=u−u
     ˜

cosicch` ponendo:
       e


                                    ∂f                            ∂f
                            A=                            B=
                                    ∂ x (x=x ,u=u )               ∂ u (x=x ,u=u )

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

     Si noti che l’operazione di linearizzazione pu` essere fatta anche rispetto a un punto non di equilibrio,
                                                      o
                                                   ˙ = Ax + Bu + f (x , u ) (con f (x , u ) costante).
                                                   ˜
rispetto al quale la linearizzazione sar` del tipo x
                                        a               ˜    ˜
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 ` strettamente stabile
                                                  ˙         e
  ( equiv. tutti gli autovalori di A sono a parte reale strettamente negativa),
  allora il punto di equilibrio ` asintoticamente stabile per il sistema nonlineare
                                e
  originale

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

• Se il sistema approssimato linearmente con x = Ax ` marginalmente stabile
                                                  ˙       e
  ( equiv. tutti gli autovalori di A sono a parte reale negativa, ma almeno
  uno ha parte reale nulla), allora non ` possibile concludere nulla sulla
                                                e
  stabilit` del punto di equilibrio per il sistema nonlineare originale (pu` essere
          a                                                                o
  marginalmente stabile, asintoticamente stabile o instabile)
Nonlinear Control                                                       Analisi - Pag. 49


            Secondo metodo di Lyapunov: metodo diretto


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

• Indipendentemente dal caso di stabilit` marginale, la linearizzazione non
                                           a
  permette di concludere nulla sulla stabilit` in senso globale
                                             a

• Il secondo metodo di Lyapunov (metodo diretto) si basa invece sulla
  seguente intuizione fondamentale di natura fisico, che permette di analizzare
  la stabilit` sia in senso locale che globale:
             a
    “Se l’energia complessiva di un sistema ` continuamente dissipata, il sistema
                                               e
    (lineare o nonlineare che sia) si stabilizzer` prima o poi in una condizione di
                                                 a
    equilibrio (caratterizzata da energia minima)”
Nonlinear Control                                            Analisi - Pag. 50


                    Esempio: gruppo massa-molla-smorzatore
                                  nonlineare


                              nonlineari

                                               M

    Sistema caratterizzato dal modello:


                            m¨ + bx|x| + k0x + k1x3 = 0
                             x    ˙ ˙
Nonlinear Control                                                      Analisi - Pag. 51


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


                               x
                  1                                1     1      1
           V (x) = mx2 +
                    ˙              (k0x + k1x3)dx = mx2 + k0x2 + k1x4
                                                     ˙
                  2        0                       2     2      4


    dalla quale si evince che:

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

• l’eventuale stabilit` asintotica implica la convergenza a 0 dell’energia
                      a
  complessiva

• l’eventuale instabilit` ` riconducibile ad un incremento dell’energia
                        a e
  complessiva
Nonlinear Control                                                       Analisi - Pag. 52


    Per il sistema in esame, la variazione di energia lungo le traiettorie del
sistema si pu` calcolare differenziando V (x) e sostituendo nell’espressione
               o
ottenuta l’equazione della dinamica:


             ˙ (x) = mx¨ + (k0x + k1x3)x (¨=f= x)) x(−bx|x|) = −b|x|3
             V        ˙x               ˙
                                          x  (x, ˙
                                                   ˙   ˙ ˙        ˙

    che ` negativa fintanto che x = 0. Pertanto l’energia complessiva del
         e                          ˙
sistema ` continuamente dissipata a causa dello smorzatore (nonlineare) e la
          e
massa si assester` nell’origine con energia nulla (velocit` nulla e forze elastiche
                 a                                        a
nulle), indipendentemente dalla posizione di partenza (stabilit` globale).
                                                                 a
Nonlinear Control                                                            Analisi - Pag. 53


                Funzioni di Lyapunov e stabilit`: definizioni
                                               a

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

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

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

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

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


                                ˙   ∂V    ∂V
                                V =    x=
                                       ˙     f (x)
                                    ∂x    ∂x
Nonlinear Control                                                       Analisi - Pag. 54


            Funzioni di Lyapunov e stabilit`: definizioni - 1
                                           a

Definizione 8 Se una funzione V (x) ` definita positiva, ha derivate parziali
                                     e
continue e la sua derivata rispetto al tempo lungo ogni traiettoria di un
sistema x = f (x) ` semi-definita negativa, allora V (x) ` detta una funzione
        ˙          e                                    e
di Lyapunov per x = f (x).
                 ˙
Teorema 2 (Stabilit` locale)
                      a
Il punto di equilibrio x = 0 del sistema x = f (x) ` stabile se ∃ V (x) con
                                         ˙         e
derivate parziali prime continue t.c.

• V (x) ` localmente definita positiva
        e

  ˙
• V (x) ` localmente semi-definita negativa
        e

               ˙
Se la derivata V (x) ` localmente definita negativa, la stabilit` di 0 ` asintotica.
                     e                                         a      e
Nonlinear Control                                                                Analisi - Pag. 55


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

                                         z


                                             z=V(x)



                            x (t)
                                                                x2

                                    xe

                            x1
                                              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=v
                                                          ˙
Nonlinear Control                                                                   Analisi - Pag. 56


            Funzioni di Lyapunov e stabilit`: definizioni - 2
                                           a

Teorema 3 (Stabilit` globale)
                        a
Il punto di equilibrio x = 0 del sistema x = f (x) ` globalmente asintoticamente
                                          ˙        e
stabile se ∃ V (x) con derivate parziali prime continue t.c.

• V (x) ` globalmente definita positiva
        e

  ˙
• V (x) ` globalmente definita negativa
        e

• 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 realt` esistere un’altra
                                                                               a
funzione di Lyapunov con derivata definita negativa che permette di dimostrare la stabilit`      a
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 stabilit`, non l’instabilit`.
                                                                  a                  a
Nonlinear Control                                                                                      Analisi - Pag. 56

                                        Note sul lucido 56
      La dimostrazione delle stabilit` di un sistema attraverso la scelta di una funzione di Lyapunov ` quindi un
                                     a                                                                     e
procedimento sostanzialmente per prove ed errori (trial-and-error ). Tuttavia, il fatto che i teoremi sulla stabilit`a
di Lyapunov siano la formalizzazione del concetto intuitivo “dissipazione di energia = stabilit`”, permette in
                                                                                                        a
molti 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 analizzato
nell’introduzione, la funzione


                                              1    2 2
                                   V1 (x) =     M R x2 + M Rg(1 − cos x1 )
                                              2
                         ˙ e
dove x1 = θ e x2 = θ , ` in effetti l’energia meccanica totale (cinetica + potenziale) ed ` una funzione che, per
                                                                                             e
il punto di equilibrio (0,0), ` localmente definita positiva. La sua derivata rispetto al tempo `:
                              e                                                                e



    ˙                           2                            2                            b     2     b   2
   V1 (x) = M Rg x1 sin x1 + M R x2 x2 = M Rg x1 sin x1 + M R x1 x1 = −
                 ˙                  ˙         ˙                ˙ ¨                          2
                                                                                              x1 = −
                                                                                              ˙          x
                                                                                                        2 2
                                                                                         MR          MR

che ` semi-definita negativa, il che permette di dimostrare la stabilit` semplice di (0,0). Tuttavia, ponendo per
    e                                                                 a
                 2
semplicit` b/M R = 1 e g/R = 1 e scegliendo come funzione di Lyapunov la seguente
         a


                                           1 2                    1           2
                                V2 (x) =     x2 + 2(1 − cos x1 ) + (x2 + x1 )
                                           2                      2
Nonlinear Control                                                                                     Analisi - Pag. 57
si pu` verificare che:
     o


                                         ˙          2
                                        V1 (x) = −(x2 + x1 sin x1 ) ≤ 0

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

      Potrebbe quindi sembrare che il procedimento di Lyapunov per la dimostrazione della stabilit` di un punto di
                                                                                                     a
equilibrio, soprattutto quella asintotica, sia lungo e difficoltoso (trovare la “giusta” f. di Lyapunov). In realt`, a
alcune propriet` di convergenza delle traiettorie di un sistema, compresa quindi la stabilit` asintotica di un punto,
                a                                                                           a
possono essere dimostrate grazie ai teoremi sugli insiemi invarianti, dovuti a La Salle, enunciati nel seguito.
Nonlinear Control                                                 Analisi - Pag. 58


            Funzioni di Lyapunov e stabilit`: definizioni - 3
                                           a

Definizione 9 Un insieme M ⊆ Rn ` un insieme invariante di un sistema
                                     e
dinamico se ogni traiettoria che parte da una condizione iniziale x0 ∈ M
rimane in M per ogni istante futuro
Teorema 4 (Invariante locale)
Dato un sistema x = f (x), con f continua, e una funzione V (x) con derivate
                  ˙
parziali prime continue, se:

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

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

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

allora ogni traiettoria x(t) con condizione iniziale x0 ∈ Ωl tende a M per
                        ˙
t→∞
Nonlinear Control                                                 Analisi - Pag. 59


            Funzioni di Lyapunov e stabilit`: definizioni - 4
                                           a

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

• V (x) → ∞ per x → ∞

  ˙
• V (x) ≤ 0 ∀ x ∈ Rn

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

allora ogni traiettoria x(t) con condizione iniziale x0 ∈ Ωl tende in modo
                        ˙
globalmente asintotico a M per t → ∞
. Let                  be a           function such that




                                        


                                                 
           ¨©

                          ¨ ()




                                             !




                                                                                           ¨  () §
                                    '




                                                            




                                                                                      '
                       




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




                          


                                    




                                                                    
                 ¨




                                                                              ¨©  () ¨
      Nonlinear Control                                                     Analisi - Pag. 60
           the largest invariant set in , then every solution with




                                               




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




                                                                                    (
                                                                                       )
           approaches        as          .



                           §

                                        9
                                         !
                                             £




                                                                         '
placements




                                                                          ¨ ()

                                                                                    ¨
                                                                



                                                                        §
                 



                              




                                      §


             Note that            must not be a positive definite function
                           '
      ¡




                                                                                                       £
            Lecture 4                                 19                                   October 16, 20
Nonlinear Control                                                                                 Analisi - Pag. 60

                                       Note sul lucido 60
     Grazie ai teoremi esposti precedentemente, che definiscono il cosiddetto Principio di invarianza di La
Salle, ` possibile dimostrare la stabilit` asintotica dell’origine per il pendolo visto in precedenza, anche solo
       e                                 a
considerandone l’energia meccanica totale come funzione di Lyapunov. Infatti, considerando


                                            1    2 2
                                  V (x) =     M R x2 + M Rg(1 − cos x1 )
                                            2

    risulta


                                            ˙            b    2
                                            V (x) = −        x2 ≤ 0
                                                        M R2

     che ` ovviamente limitata in qualsiasi intorno di (0,0) e nulla, se b = 0, lungo tutto l’asse x1 , perci`
          e                                                                                                     o
E = {(x1 , x2 ) : x2 = 0}. Tuttavia, il maggiore insieme invariante M contenuto in E ` rappresentato dal
                                                                                              e
solo punto (0,0), al quale quindi convergono tutte le traiettorie con condizione iniziale in un intorno del punto
                                    ˙                                                                   ˙
stesso. Infatti, la condizione x2 = θ = 0 con x1 = θ = 0 non pu` essere invariante, perch` se fosse θ = 0 ∀t
                                                                    o                         e
                          ¨
dovrebbe anche essere θ = 0 ∀t, condizione che per` implica (dall’equazione dinamica) anche sin θ = 0, cio`
                                                     o                                                          e
(localmente) θ = 0.

      Pertanto, il punto nel quale il pendolo ` fermo con θ = 0 ` un punto asintoticamente stabile per qualsiasi
                                              e                 e
valore diverso da 0 del coefficiente di attrito viscoso alla cerniera, come ` ovvio anche da una osservazione
                                                                           e
intuitiva basata sui soli principi fisici.
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 nel
  contesto dei sistemi nonlineari una connotazione molto pi` significativa
                                                            u

• Nel secondo caso gli effetti delle nonlinearit` possono diventare determinanti
                                               a
  soprattutto per traiettorie con rapide variazioni
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 di
                        ˙
  controllo u tale che x(t) → xd per t → ∞

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

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 ` raggiunta in modo asintotico)
                      e

NOTA 2: L’inseguimento perfetto pu` essere ottenuto solamente se yd(t) ` nota a priori,
                                         o                                        e
comprese le sue derivate fino all’ordine pari a quello della dinamica del sistema x = f (x, u, t).
                                                                                 ˙
Nonlinear Control                                       Approcci al controllo nonlineare - Pag. 68


                    Esempio: stabilizzazione del pendolo

    Si consideri un pendolo senza attrito, attuato alla base dalla coppia τ :
        ¨
    M R2θ + M gR sin θ = τ

   Una legge di controllo che risolve il problema di regolazione in θ = 0
potrebbe essere:
                   ˙
    τ = −Kp θ − Kd θ +M gR sin θ
                    PD   compens. gravita

    grazie alla quale la dinamica diventa:
          ¨      ˙
    M R 2 θ + Kd θ + Kp θ = 0

  che risulta stabile ∀ Kp, Kd  0 (` identica a quella di un gruppo
                                    e
massa-molla-smorzatore lineare).
Nonlinear Control                                        Approcci al controllo nonlineare - Pag. 69


                    Note sulla stabilizzazione del pendolo


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

                                                            ˙
• Il feedback lineare include termini proporzionali a θ e a θ, che equivalgono ad
  inserire una molla e uno smorzatore virtuale, scelta giustificata dall’analisi
  di stabilit` secondo Lyapunov gi` vista
             a                      a

• La cancellazione delle nonlinearit`, almeno di quelle dominanti (es. gravit`),
                                    a                                        a
  permette di determinare in modo pi` semplice la stabilit` del sistema con
                                        u                    a
  il controllo, ma assume un ruolo determinante nei problemi di inseguimento
  (tracking )
Nonlinear Control                                       Approcci al controllo nonlineare - Pag. 70


             Esempio: linearizzazione/tracking del pendolo

                                               ¨        ˙ ˙
    Modello completo (attrito nonlineare): M R2θ + b(θ, θ)θ + M gRsinθ = τ

   “Trasformiamo” questa dinamica nonlineare in una lineare, con una legge di
controllo che dipenda anche da un ulteriore ingresso “fittizio” v:
                     ˙ ˙
    τ = M R2v + b(θ, θ)θ + M gRsinθ       ⇒     ¨
                                                θ=v

   Ora, θ pu` essere forzata sulla traiettoria desiderata θd(t) dall’“ingresso” v
            o
con 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 → ∞
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. elasticit` del braccio non trascurabile)
                                                a

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

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

• Un tale termine “switching” equivale ad un’azione di feedback con guadagno
  ∞, ma valore assoluto limitato
Nonlinear Control                                                   Approcci al controllo nonlineare - Pag. 72


                 Stabilizzazione/Tracking nonlineare: soluzione
                                    ideale

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

                                             LINEARIZZAZIONE IDEALE



        yd               xd                  u                   x
                                                                 ˙                 x                     y
                 h (y)
                   −1
                              fu (x, x, t)
                               −1
                                     ˙             f (x, u, t)                                h(x)
1




    cos` y = yd!!
       ı
Nonlinear Control                                         Approcci al controllo nonlineare - Pag. 73


             Stabilizzazione/Tracking nonlineare: approccio
                                “pratico”


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

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

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

• Allora, si cercano soluzioni non analitiche per fare svolgere il ruolo di h−1
     −1
  e fu da, ad esempio:
    – Reti Neurali
    – Logica Fuzzy
    – Tabelle di punti e interpolazione (Look-up table)
Nonlinear Control                                               Approcci al controllo nonlineare - Pag. 74


                             Dallo schema ideale...


                                            LINEARIZZAZIONE IDEALE



     yd                 xd                  u                   x
                                                                ˙                   x                        y
               h (y)
                 −1
                             fu (x, x, t)
                              −1
                                    ˙             f (x, u, t)                                   h(x)
1
Nonlinear Control                                                          Approcci al controllo nonlineare - Pag. 75


                                              ... a ...

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

               yd        FUZZY LOGIC
                          CONTROLLER
                                         u                 x
                                                           ˙               x                         y
                                             f (x, u, t)                                 h(x)
1




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

                yd      NEURAL NETWORK
                          CONTROLLER
                                         u                 x
                                                           ˙                   x                      y
                                             f (x, u, t)                                 h(x)
1
Nonlinear Control                                   Approcci al controllo nonlineare - Pag. 76


            Tecniche analitiche per il controllo nonlineare


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

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

• Feedback linearization: formalizzazione del concetto intuitivo “cancellare
  le nonlinearit` con il controllo” (tipico in robotica)
                a

• Sliding mode control: formalizzazione di stabilit` ed invarianza della
                                                         a
  condizione di inseguimento perfetto nei confronti di incertezze e disturbi
Nonlinear Control                           Approcci al controllo nonlineare - Pag. 77
                             Nonlinear multivariable fligh
                    Applicazioni reali delle tecniche analitiche




                                                                           Ola Härke
                                                                           Linköping
Unconventional control surfaces
Nonlinear Control                                      Approcci al controllo nonlineare - Pag. 78


                    Campo d’applicazione: controllo velivoli

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




                                                                                   vs.
½¼                                                                         ÔØ Ö ¾          Ö Ö
       Nonlinear Control                                                 Approcci al controllo nonlineare - Pag. 79

           Uscite (misure): velocit`, quota, assetto, ...
                                   a                                                                                   ψ

                                         p                                    q

                                                        θ V α
                                                            γ

                            φ
                                             ÔØ Ö ¾     Ö Ö   Ø ÈÖ Ñ Ö




                                                          ψ
                                                               β V
                             qÙÖ ¾º¾ Illustration of the aircraft orientation angles φ, θ, and ψ, the aero
                           angles α and β, and the angular rates p, q, and r. In the figure, all angles are p
 θ V α
     γ                                                             r
                           ¾º½º¿        Ö Ö ØÎÖ          Ð×
                           Considering the aircraft as a rigid body, its motion can be described by its
                           orientation, velocity, and angular velocity over time.
                           ÈÓ× Ø ÓÒ The position vector p is given by
the aircraft orientation angles φ, θ, and ψ, the aerodynamic                            T
gular rates p, q, and r. In the figure, all angles arep = ei pN
                                                      positive.          pE       −h
Nonlinear Control                                                                      Approcci al controllo nonlineare - Pag. 80


                                                                                      Modello velivolo: fortemente nonlineare
Figure 3.2: Block-diagram of general rigid body dynamics




                                                                                                             FW
                                                                                                              aero               FB
                                                                                                                                  aero
                                                             juaero                       -                  MW                  MB
                                                                                          -   Aerodynamics     aero   - W !B       aero
                                                                                          -                            T


                                                                                                             FB
                                                                                                              prop
                                                             juprop                       -                  MB
                                                                                          -                    prop                            FB
                                                                                          -
                                                                                               Propulsion
                                                                                                                                          -X
                                                                                                                                          -
                                                                                                                                          -
                                                                                                                                                tot
                                                                                                                                               MB
                                                                                                                                                   -
                                                                                                                                                 tot   Equations of Motion   x-
                                                                                                                                                                                  Z dt         x   -
                                                                                                                                          -
                                                                                                                                                                             _



                                                                                          -                  FE
                                                                                                              grav    - E!B    FB
                                                                                                                                grav      -            x f x Ftot Mtot
                                                                                                                                                       _ =   (           )

                                                                                                 Gravity                T




                                                             juwind                       -      Wind        FB
                                                                                                              wind
                                                                            q   dyn       -    Corrections
                                                                            M :::



                                                                      Atmosphere/
                                                                        Airdata
                                                                                          -
                                                                           6
Nonlinear Control                                           Approcci al controllo nonlineare - Pag. 81


                      Tipico in aviazione commerciale: Gain
                                    scheduling
                              Gain Scheduling
                                Controller
                                parameters           Gain
                                                   schedule

                                                                         Operating
                                                                         condition
                Command
                signal                   Control
                                         signal
                            Controller             Process               Output




Example of scheduling variables
  • Production rate
  • Machine speed
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 possibile
   espressa come funzione continua di un parametro σ, altrimenti come insieme
   discreto di punti x1, . . . , xk

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

   xσ (t)
   ˙          =     A(σ) x(t) + B(σ) u(t)            xr (t)
                                                     ˙        =   Ar x(t) + Br u(t)
                                            oppure                                  , r = 1, . . . , k
   yσ (t)     =     C(σ) x(t) + D(σ) u(t)            yr (t)   =   Cr x(t) + Dr u(t)



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

4. Se si sono ottenuti k controllori diversi, trovare un metodo per selezionarli
   in base alle condizioni operative (es. interpolazione)
Nonlinear Control                                     Approcci al controllo nonlineare - Pag. 83


mple Water Tank gain scheduling:
       Esempio di                                     controllo di livello

flow qout Serbatoio con area sezione (A)qvariabile:
          depend on the inflow in?
ity
                                                           h
                                               V     =     0
                                                             A(τ )dτ
                                               ˙
                                               V            ˙ = qi − a√2 g h
                                                     = A(h) h
sbalance                                                      √
                                                         qi −a 2 g h
                                               ˙
                                               h     =                  = f (h, qi)
                                                             A(h)

eometry                                       con h = variabile d’uscita misurata,
                                              qi variabile d’ingresso (volume liquido
ybalance                                      in entrata), a sezione (costante) del
                                              tubo di uscita liquido e A(h) sezione
he state.                                     del tank
Nonlinear Control                                         Approcci al controllo nonlineare - Pag. 84


    Linearizzando il modello nonlineare rispetto ad un punto operativo fissato
da h0 e qi = a 2 g h0, nel quale si considera A(h0) costante e h = h0 + δh,
           0

si pu` ricavare un’equazione differenziale del primo ordine rispetto alla nuova
     o
variabile di stato δh e al nuovo ingresso δqi:


                           ˙    δqi     a 2 g h0
                          δh =     0)
                                      −       0 ) h0
                                                     δh
                               A(h      2 A(h

dalla quale si pu` ricavare la seguente funzione di trasferimento:
                 o

                                           β
                                 G(s) =
                                          s+α
    con:

                                                    0
                         1          a 2 g h0       qi
                    β=           α=           =
                       A(h0)        2 A(h0) h0 2 A(h0) h0
Nonlinear Control                                         Approcci al controllo nonlineare - Pag. 85

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

                                         1
                             δqi = K e +           e dτ
                                         Ti
    Ad esempio, imponendo che il sistema chiuso in retroazione abbia una f.d.t
del secondo ordine con pulsazione naturale ω e smorzamento ζ, si possono
calcolare:

                              2ζω − α              2ζω − α
                        K=                  Ti =
                                 β                   ω2
calcolabili in linea in base al punto di lavoro (gain scheduling ):



                    0    0   a 2 g h0               0  2ζ     a 2 g h0
          K(h ) = 2ζωA(h ) −                  Ti(h ) =    −
                               2 h0                    ω    2 A(h0) h0 ω 2
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 una
  sua sottoparte (es. assetto 3D, assetto laterale, assetto longitudinale,
  ecc.) modelli lineari che risultano, tipicamente, essere parametrizzati da
  variabili come altitudine, velocit` (true airspeed e/o Mach number),
                                     a
  ecc.

• Le variabili che parametrizzano il modello e, di conseguenza, i controllori,
  sono anche variabili di stato del modello completo e sono considerate tali
  da controllori pi` esterni (es. controllo di altitudine) o dal sistema che
                    u
  fornisce i riferimenti di navigazione
Nonlinear Control         Approcci al controllo nonlineare - Pag. 87

    Condizioni di volo:
Considereremo
Nonlinear Control    ora il sistema di Navigazione, Guida e Controllo (NGC) del velivolo. nonlineare - Pag.
                                                                         Approcci al controllo                 88

    Lo schema classico di rappresentazione, come indicato nel testo [6], è il seguente:
   Schema completo del sistema di navigazione:



       Data-base
          delle
       traiettorie                  δe ,δa, δr, δth, (di riferimento)                     Disturbi(vento)



                                                       ∆ψ, ∆H                        +
      Selettore di                     Sistema                          Controllo                 Velivolo e
                                                        +
      Navigazione                      di Guida                                      +            Attuatori
                                                                -
  X,Y,H                 X,Y,H                                   V,α,β,P,Q,R,φ,θ,n
                         
                       X, Y, H


                                                                                Sensori e Filtri di
                                                                                  Navigazione


                      Figura 2.2    Schema a blocchi funzionale del sistema NGC


    Procediamo ora illustrando le funzionalità dei vari blocchi :
 




                                                                                        ¢
Nonlinear Control                          Approcci al controllo nonlineare - Pag. 89


                               Flight Control
    Esempio: controllo di beccheggio (pitch)

     Pitch dynamics
                          ˙
                        q=θ


                             α
                    θ
                         V



                                      Nz                               δe
¡




                                                                                        £
   Lecture 11                    26                                      October 16, 2003
The Pitch Control Channel




                                                                                                                                  ¢
      Nonlinear Control                                                              Approcci al controllo nonlineare - Pag. 90

                                                               VIAS H

                     Pitch stick
                                                                Gear
                                             VIAS
                      Position
                          Filter   A/D   K DSE
                                         H     M
                                                                 H      Σ
                                                                          −
                                          T1s
                                                                K SG
                                         1+ T1s

                                                                                 Σ       D/A         Σ
                    Acceleration
                          Filter   A/D                                                   D/A             Σ
                                                                                                     To servos
                                                      M                 Filter
                     Pitch rate
                                           1
                          Filter   A/D
                                         1+ T3 s
                                                     K Q1       Σ       K NZ                   Σ

                                                                        M H
                                          T2 s
                                                     K QD
                                         1+ T2 s


                                                    H M VIAS




                                                                                                                                  £
Lecture 11                                             28                                                      October 16, 2003
Nonlinear Control                                       Approcci al controllo nonlineare - Pag. 91


                         Approccio tipico nell’aviazione militare:
Ë    Ø ÓÒ ¾º        Ì      ÅÁÊ  Feedback linearization
                                ÅÓ   Ð                                                              ¾½

                                                              u7 , δr
                                       u3 , δroe
                                                u4 , δrie


                                                               u5 , δlie
                           u1 , δrc
                                                                     u6 , δloe




                                                  u2 , δlc



     ÙÖ   ¾ºADMIRE control surface configuration. ui are the commanded deflections
and δ∗ are the actual deflections.



¾º           Ì              ÅÁÊ       ÅÓ     Ð
Nonlinear Control                                      Approcci al controllo nonlineare - Pag. 92



  High angle of attack volo
   Motivazione: condizioni di            con transizioni pi` rapide ed elevati angoli
                                                           u
      aerodinamici




Ola Härkegård
Nonlinear multivariable flight control                 Lund 2003-11-13
Nonlinear Control                                                     Approcci al controllo nonlineare - Pag. 93


  Why fly-by-wire?
  Soluzione: controllo linearizzante e/o stabilizzante allo scopo di agevolare le
  manovre del pilota

                                                                     control
                                     stick         Control            surf.
                                                   system



                                                                      sensors

                                         visual info, cockpit displays, etc.

            Stabilize aircraft
            Handling qualities
            Advanced control surfaces
            Autopilot functionality


Ola Härkegård
Nonlinear multivariable flight control                                Lund 2003-11-13
imprecise knowledge of inertia parameters, while dynamic uncertainty arises from joint and
flexibility, actuator dynamics, friction, sensor noise, and unknown environment dynamics.
We consider a Control manipulator with n—links interconnected by al controllo nonlinearea- Pag. 94
         Nonlinear robot                                          Approcci joints into     kinematic
n. Figure 1 shows a serial link (left) and a parallel link (right) manipulator. A parallel robot
                     Campo d’applicazione: robotica (manipolatori)
efinition, contains two or more independent serial link chains. For simplicity of exposition we




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

  confine our discussion to serial link manipulators with only rotational or revolute joints as
 n in Figure 2. Most of the discussion in this article remains valid for parallel robots and for
 ts with sliding or prismatic joints.
obileNonlinear Control
       Robots (WMRs)                      Approcci al controllo nonlineare - Pag. 95


            Campo d’applicazione: robotica (veicoli
                         autonomi)




MagellanPro                      Sojourner
, a special case of nonholonomic behavior
Nonlinear Control                                        Approcci al controllo nonlineare - Pag. 96


                      Controllo di robot manipolatori

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

                    M(q)¨ + C(q, q)q + Dq + g(q) = τ + J(q)T Fa
                        q        ˙ ˙    ˙
                                                   ˙
    nel quale le matrici M(q) (inerzie) e C(q, q) (legata alle forze di Coriolis e
    centripete), la gravit` (g(q)) e delle forze di interazione con l’ambiente (Fa)
                          a
    introducono notevoli nonlinearit`a

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

• Controllo centralizzato: si considera il modello dinamico completo per l’a-
  nalisi di stabilit` e il progetto di leggi di controllo opportune (compensazione
                    a
  gravit`, coppia precalcolata, dinamica inversa, etc.)
         a
Nonlinear Control                                    Approcci al controllo nonlineare - Pag. 97


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

                                disturbo
                               (resto del robot..)




            q md +
                         PID
                     -



                               singolo giunto
Nonlinear Control                                      Approcci al controllo nonlineare - Pag. 98


               Controllo centralizzato di robot manipolatori


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

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

• Ancora meglio, utilizzando una legge di retroazione nonlineare ` possibile
                                                                 e
  cancellare le nonlinearit` ⇒ Controllo a dinamica inversa (Feedback
                           a
  linearization)

• Incertezze di modellazione si possono compensare con feedback a guadagno
  elevato ⇒ Controllo robusto (Sliding mode)
COMPENSAZIONE IN AVANTI A COPPIA PRE-CALCOLATA
nsideri il Compensazione in avanti a coppia 2precalcolata: generale)
       Nonlinear Control                                          Approcci al controllo nonlineare - Pag. 99

           caso di un controllore PIDD (caso piu




ariabile d'uscita del regolatore e:
                                                     Z   t
                           a2e + a1e + a0 e + a;1
                                   _                         e(    )d
Nonlinear Control INDUSTRIALE
   ROBOTICA                                         Approcci alProf. Bruno SICILIANO 100
                                                                controllo nonlineare - Pag.


    Controllo (centralizzato) PD + compensazione di gravit`:
                                                          a




         ?   dinamica del sistema controllato



       B(q)q + C (q q)q + F q + g(q) = g(q) + KP q KD q
                    _ _     _                    e    _
Nonlinear Control                                                                Approcci al controllo nonlineare - Pag. 100

                                      Note sul lucido 100
     Come noto, le leggi di controllo pi` diffuse nelle applicazioni industriali sono quelle con struttura PID
                                          u
(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 equilibrio
qd :


                                                                       t
                              τ = −Kp (q − qd ) − Kd q − Ki
                                                     ˙                     (q − qd )dτ
                                                                   0

    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 pu` determinare la dinamica dell’errore (ponendo
                                                                o
e = q − qd , e = q, ¨ = q e trascurando attriti ed interazioni con l’ambiente):
             ˙   ˙ e    ¨


                               M(q)¨ + C(q, e)e + Kd e + Kp e + g(q) = 0
                                   e        ˙ ˙      ˙

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


                               S = {(e, e) : Kp e + g(e + qd ) = 0, e = 0}
                                        ˙                           ˙

    L’analisi di stabilit` pu` essere condotta con l’approccio di Lyapunov, considerando la funzione:
                         a o
Nonlinear Control                                                               Approcci al controllo nonlineare - Pag. 101

                                             1 T          T
                                  V ( e) =     e M(q)e + e Kp e + U (q) + U0
                                               ˙     ˙
                                             2

     nella quale compaiono l’energia cinetica, quella potenziale dovuta alla gravit` (U (q)) ed alle molle “virtuali”
                                                                                   a
introdotte dal regolatore, pi` una costante opportuna U0 per soddisfare i requisiti di Lypunov (V (0) = 0 anche
                             u
se qd = 0).

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




     ˙          T     1 T         ˙                     T        T            ∂U (q) T                 2
     V (e) = −e Kd e + e
              ˙    ˙    ˙         M(q) − 2C(q, e) e − e g(q) + e
                                               ˙  ˙   ˙        ˙                       ≤ −λmin (Kd ) e
                                                                                                     ˙
                      2                                                        ∂q


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

 • una propriet` notevole del modello dinamico dei robot manipolatori afferma che ` sempre possibile porre la
               a                                                                 e
                 ˙                                          ˙
   matrice C(q, q) in forma tale da rendere la matrice N(q, q) = M˙ (q) − 2C(q, q) anti-simmetrica (per cui
                                                                                 ˙
    T                          n
   z N(q, q)z = 0 ∀ z ∈ R )
            ˙
       ∂U (q) T
 •      ∂q      = g(q)

    L’analisi di stabilit` ci conferma quindi che il controllo PD ` in effetti stabilizzante, come si era dimostrato
                         a                                        e
anche per il caso del pendolo (un manipolatore con un unico link). Grazie al principio di invarianza di La Salle
Nonlinear Control                                                               Approcci al controllo nonlineare - Pag. 102
si dimostra inoltre che tutte le traiettorie del robot tendono asintoticamente all’insieme invariante S visto in
precedenza. Tuttavia, se non si introducono azioni per la compensazione della gravit`, questo insieme invariante
                                                                                        a
contiene 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 gravit`. Tale errore pu` essere ridotto incrementando arbitrariamente la
                                              a                 o
norma di Kp , ma ovviamente questa scelta non ` consigliabile nella pratica se si vogliono evitare sollecitazioni
                                                   e
eccessive della struttura robotica.

     L’errore a regime dovuto agli effetti della gravit` pu` essere eliminato introducendo una azione integrale nel
                                                      a o
regolatore (Ki = 0), anche se ` possibile dimostrare che questa soluzione non garantisce che i transitori durante
                                 e
movimenti point-to-point abbiano prestazioni indipendenti dalla configurazione di partenza del manipolatore.
Pi` spesso, si preferisce introdurre un termine di compensazione della gravit` (ed eventualmente dell’attrito), in
  u                                                                            a
modo analogo a quello visto per il pendolo. Con questa tecnica, la legge di controllo diventa:


                                       τ = −Kp (q − qd ) − Kd q + g(q)
                                                              ˙

     L’analisi di stabilit`, tramite la funzione di Lyapunov:
                          a

                                                1 T          T
                                          V ( e) =e M(q)e + e Kp e
                                                  ˙      ˙
                                                2
                                     ˙ (e) = −eT Kd e ≤ −λmin (Kd ) e 2
                                     V        ˙     ˙               ˙

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

     S = {(e, e) : e = 0, e = 0}
              ˙           ˙               ⇒ NO ERRORE A REGIME!
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 di
Coriolis e centripete
Nonlinear Control                                                              Approcci al controllo nonlineare - Pag. 103

                                       Note sul lucido 103
     Dato il modello dinamico di un manipolatore:


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

    si pu` pensare di trasformare tale dinamica nonlineare tramite una legge di controllo unicamente basata sulla
          o
cancellazione 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 cancellazione
di tutti i termini, rimane l’equazione dinamica:


                                                M(q)¨ = M(q)y
                                                    q

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


                                                      ¨
                                                      q=y

NOTA BENE: l’operazione di moltiplicazione per M−1 (q) ` sempre possibile poich` M(q) ` sempre invertibile
                                                           e                   e      e
(propriet` notevole del modello dinamico dei robot manipolatori)!
         a
+
Nonlinear Control
                           q + KDinseguimento: 0
                           e
    Controllo a dinamica inversa ed
                                    q + KP q =
                                    _
                                    e      e          Approcci al controllo nonlineare - Pag. 104




                                         ˙
   NOTA: B(q) = matrice di inerzia, n(q, q) compensazione attriti, forze di
Coriolis ? centripete
         e cancellazione perfetta

            ? vincoli sull’architettura hardware/software dell’unit a di go-
                                                                    `
              verno
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) permette
ovviamente di risolvere in modo molto pi` agevole il problema di inseguimento delle traiettorie, tipicamente
                                             u
pianificate 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 ` Kp = λ2 I e Kp = 2λI con λ  0), si ottiene la
                                                    e
dinamica dell’errore:


                                             ¨ + Kd e + Kd e = 0
                                             e      ˙

    perci` l’errore di inseguimento converge a zero esponenzialmente.
         o
ROBOTICA INDUSTRIALE              Prof. Bruno SICILIANO
Nonlinear Control          Approcci al controllo nonlineare - Pag. 105


    Controllo robusto:
Nonlinear Control                                                           Approcci al controllo nonlineare - Pag. 105

                                     Note sul lucido 105
     Se il modello dinamico non ` noto con precisione, la compensazione a dinamica inversa deve essere fatta con
                                  e
la migliore stima possibile, cio`
                                e



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


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



                                                  q=y−η
                                                  ¨


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


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


    la dinamica dell’errore sar`:
                               a


                                                           2
                                             ¨ + 2λe + λ e = η
                                             e     ˙
Nonlinear Control                                                            Approcci al controllo nonlineare - Pag. 106
     nella quale la struttura del solo primo membro non garantisce l’asintotica convergenza a zero dell’errore
di inseguimento. Per garantire la robustezza dell’inseguimento nei confronti dell’incertezza η , ` necessario
                                                                                                 e
trasformare la legge di controllo come segue:


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

     nella quale il termine w ` costituito da:
                              e


                          ρ                           T               0n×n                   e
                    w=      z       ρ  0,       z = D Q ζ,   D=                   ζ=
                          z                                           In×n                   e
                                                                                             ˙

     per il quale ρ e Q sono calcolati in modo opportuno (in base alla teoria del controllo Sliding mode che verr`
                                                                                                                 a
trattata pi` avanti), in modo da rendere la condizione ζ = 0 asintoticamente stabile (inseguimento perfetto). In
           u
particolare, dovr` essere ρ ≥ η per ogni q, q, qd e Q tale che V (ζ) = ζ T Qζ sia una funzione di Lyapunov
                 a                             ˙ ¨
per la dinamica di ζ :


                              ˙                                    0        I
                              ζ = Hζ + D(η − w),          H=
                                                                  −Kp      −Kd

     Si noti che in figura il contributo di “robustezza” ` indicato come proporzionale alla funzione vers(), che
                                                         e
rappresenta il vettore di modulo unitario diretto come z (il versore di z). Tale contributo ` discontinuo rispetto
                                                                                            e
                      T
al sottospazio z = D Q ζ = 0, il quale ` attrattivo per tutte le traiettorie del robot. Una volta raggiunto tale
                                           e
sottospazio, definito sottospazio (o superficie) di scivolamento (sliding surface), l’ampiezza della componente
w commuta con frequenza idealmente infinita tra ±ρ.
Nonlinear Control                                         Feedback Linearization - Pag. 107


                       Feedback Linearization


• La tecnica di cancellazione delle nonlinearit` di un sistema attraverso il
                                                   a
  controllo, al fine di ottenere una dinamica lineare rispetto ad un ingresso
  fittizio, ` utilizzata con un approccio intuitivo in robotica
           e

• Tali tecniche intuitive sono formalizzate dalla teoria recente dei controlli
  automatici, con l’obiettivo di estenderne l’applicabilit` a problemi diversi
                                                          a
  (regolazione, inseguimento, disaccoppiamento dei disturbi, osservazione) e a
  sistemi con caratteristiche dinamiche pi` generiche
                                          u
Nonlinear Control                                            Feedback Linearization - Pag. 108


            Linearizzazione per sistemi in forma canonica

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


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

    oppure, con rappresentazione nello spazio degli stati:

                                                    
                            x1
                            ˙            x2
                         ...          ...     
                              =               
                         xn−1  
                          ˙              xn      
                            xn
                            ˙      f (x) + b(x)u
Nonlinear Control                                                    Feedback Linearization - Pag. 109


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

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

    trasforma la dinamica in una serie di n integratori:


                                         x(n) = v

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

                           (n)
                    v = xd − K0e − K1e − · · · − Kn−1e(n−1)
                                     ˙

    NOTA: devono essere disponibili tutte le derivate necessarie di xd(t)
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 sia
espressa in modo vettoriale:


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

linearizzabile tramite la legge di controllo:


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

    Tuttavia, in questo caso la linearizzazione ` possibile solamente se la matrice b(x) ` invertibile
                                                  e                                          e
              n
∀ x ∈ Ω ⊆ R . Nelle applicazioni di robotica, come si ` visto, ci` ` garantito dalle propriet` strutturali
                                                        e         o e                        a
meccaniche (matrice di inerzia) dei manipolatori.
Nonlinear Control                                         Feedback Linearization - Pag. 110


                    Linearizzazione ingresso-stato

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


                                   x = f (x, u)
                                   ˙

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


                                  z = Az + bv
                                  ˙

sulla quale ` possible progettare un controllore con le tecniche classiche del
             e
controllo lineare

    NOTA: analogo se prima z = Φ(x) e poi u = u(z, v)
Nonlinear Control                                            Feedback Linearization - Pag. 111


                                  Schematicamente...


    zd = Φ(xd )                                                                                  x
                        v = −Kz           u = u(x, v)                    x = f (x, u)
                                                                         ˙


                                                        Linearization
1




                                                             z
                                                                            Φ(x)
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 nonlinearit` nella prima equazione non pu` essere cancellata direttamente attraverso il controllo u.
                        a                              o
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 ` ora invece linearizzabile tramite il controllo:
         e


                                            1
                                    u=           (v − cos z1 sin z1 + 2z1 cos z1 )
                                         cos 2z1
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 ` possibile assegnarne arbitrariamente
                                                                             e
gli autovalori con una retroazione del tipo v = −k1 z1 − k2 z2 .
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 ingresso
di 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 la
y = h(x)):

                                   ∂h    ∂h
                                y=
                                ˙     x=
                                      ˙     f (x, u)
                                   ∂x    ∂x
NOTA: potrebbero essere necessarie pi` derivate successive della y = h(x)
                                     u
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
                                         ˙     =       x5 + x3
                                                         1
                                                         2
                                         x3
                                         ˙     =       x1 + 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 + x2 x3 + (x2 + 1)x3 = (x2 + 1)u + f1 (x)
                         ¨   ˙           ˙               ˙

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


                                                         1
                                              u=             [v − f1 (x)]
                                                      x2 + 1
Nonlinear Control                                                                        Feedback Linearization - Pag. 114
      In generale, il numero di volte che occorre derivare l’uscita di un sistema per “scoprire” la relazione
ingresso-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 ` data dalla funzione
                                                                                                  e
di trasferimento, se SISO, o matrice di trasferimento, se MIMO, nella differenza tra il numero di poli ed il numero
di zeri della f.d.t. (m.d.t.).

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


                                              v = yd − Kp e − Kd e
                                                  ¨              ˙

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

     Per un generico sistema di ordine n di grado relativo r , le n − r variabili di stato la cui dinamica
non pu` essere imposta dall’inseguimento asintotico costituiscono la dinamica interna. Una dinamica interna
        o
instabile rende inutile la soluzione del problema di inseguimento, in quanto si traduce in pratica in saturazioni e
danneggiamenti degli attuatori e/o dei componenti fisici del sistema.
Nonlinear Control                                         Feedback Linearization - Pag. 115


            Formalizzazione del problema di linearizzazione


• Nel caso di interesse pratico pi` comune, la linearizzazione ingresso-uscita,
                                  u
  la procedura richiede di:
   1. derivare l’uscita fino a rivelare la relazione con l’ingresso
   2. trovare una trasformazione dello stato e una legge di controllo
      nonlineare che renda la relazione ingresso-uscita lineare
   3. studiare la stabilit` della dinamica interna
                          a

• La formalizzazione di questo problema e della sua soluzione consiste nel
  determinare le caratteristiche che il sistema deve avere perch` il problema
                                                                  e
  abbia soluzione ed una procedura sistematica per progettare la trasformazione
  dello stato ed il controllo
Nonlinear Control                                                       Feedback Linearization - Pag. 116


             Strumenti matematici: geometria differenziale
                          ed algebra di Lie

Definizione 13 Il vettore colonna i cui componenti sono funzioni scalari
smooth (fi ∈ C ∞) di x ∈ Rn:
                                                          
                                              f1(x)
                                              ...   
                                   f (x) = 
                                                    
                                             fn−1(x) 
                                              fn(x)

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

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

    Un campo vettoriale smooth definisce ovviamente una mappa f : Rn → Rn,
per la quale i componenti delle matrici Jacobiane sono continue per ogni ordine
di derivazione.
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 f
la funzione scalare:
                                    ∂h
                             Lf h =    f
                                    ∂x
   In sostanza, la derivata di Lie rappresenta la derivata “direzionale” di h
lungo la direzione in Rn del vettore f .
    Ricorsivamente, si pu` definire la derivata di Lie di ogni ordine come segue:
                         o

                    L0 h = h
                     f
                                      i−1          ∂Li−1 h
                    Li
                     f   h   =   Lf (Lf h) h   =     f
                                                     ∂x      f   i = 1, 2, . . .

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

                                                   ∂Lf h
                                     Lg Lf h =           g
                                                    ∂x
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 = ∂h f = L h
                                                ∂x ˙   ∂x      f

                                                ∂(Lf h)    ∂(Lf h)
                                    y
                                    ¨     =       ∂x    x = ∂ x f = L2 h
                                                        ˙            f

                                   ...

                                                                                                          ˙
      Inoltre, se V ` una funzione di Lyapunov (smooth) per il sistema, la sua derivata rispetto al tempo V
                    e
corrisponde a Lf V .
Nonlinear Control                                               Feedback Linearization - Pag. 118

Definizione 15 Un campo vettoriale smooth Φ = Rn → Rn definito in una
regione Ω ⊆ Rn ` chiamato diffeomorfismo se la sua inversa Φ−1 esiste
               e
ed ` smooth
   e

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

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

                            ∂Φ    ∂Φ
                         z=
                         ˙     x=
                               ˙     (f (x) + b(x)u)
                            ∂x    ∂x
per cui gli elementi di z hanno la forma Lf Φi + LbΦi u
                        ˙
Nonlinear Control                                          Feedback Linearization - Pag. 119


            Linearizzazione ingresso-uscita: il grado relativo

    Per un sistema nonlineare SISO la soluzione del problema di linearizzazione
ingresso-uscita impone innanzitutto di determinare il grado relativo del sistema
e, soprattutto, se questo sia definito.
Definizione 16 Il sistema SISO del tipo (forma affine):

                             x = f (x) + b(x)u
                             ˙
                             y = h(x)

  con f e b smooth, ha grado relativo r in una regione Ω ⊆ Rn se
∀x ∈ Ω
                    Lb Li h = 0
                        f         0≤ir−1
                    Lb Lr−1 h = 0
                        f
Nonlinear Control                                          Feedback Linearization - Pag. 120


    NOTA: il sistema potrebbe non avere grado relativo definito, cio` po-
                                                                       e
trebbe essere Lb Lr−1 h = 0 nell’intorno di un punto x0, punto nel quale tale
                    f
funzione si annulla

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

                           ∂h
                        y=
                        ˙     (f + b u) = Lf h + Lb h u
                           ∂x
   Poich` per definizione Lb h = 0 in Ω, in questa regione ` possibile,
        e                                                 e
imponendo la legge di controllo:

                                     1
                                u=      (v − Lf h)
                                     Lb

    ottenere la relazione ingresso-uscita lineare y = v.
                                                  ˙
Nonlinear Control                                            Feedback Linearization - Pag. 121


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

                                 y
                                 ˙    = Lf h + Lbh/
                                               / /u
                                 y
                                 ¨    = L2 h + LbLf hu
                                         f     / / //
                                ...
                                y (r) = Lr h + Lb Lr−1 h u
                                         f         f

    Definendo una legge di controllo:

                                          1
                                 u=             (v − Lr h)
                                                      f
                                      Lb Lr−1 h
                                          f


    si ottiene      y (r) = v
Nonlinear Control                                             Feedback Linearization - Pag. 122


    Supponendo ora di definire un diffeomorfismo avente la seguente struttura:



      z = Φ(x) = [h    Lf h    L2 h
                                f      ...   Lr−1 h
                                              f       Φr+1(x)     ...      Φn(x)]


si ottiene il sistema trasformato:

                        z1
                        ˙     = Lf h                   = z2
                        z2
                        ˙     = L2 h
                                 f                     = z3
                       ...
                      zr−1
                      ˙       = Lr−1 h
                                 f                 = zr
                        zr
                        ˙     = Lr h + Lb Lr−1 h u
                                 f         f

con uscita y = z1, linearizzabile con la legge di controllo descritta in precedenza.
Nonlinear Control                                           Feedback Linearization - Pag. 123


   NOTA: Per le rimanenti n − r variabili di stato, si pu` dimostrare che se r `
                                                         o                     e
strettamente minore di n ` sempre possibile trovare una forma per i rimanenti
                         e
elementi 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 questa
propriet`:
        a

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

    Le n − r nuove variabili di stato ottenute con questa trasformazioni costi-
tuiscono quindi la dinamica interna del sistema linearizzato, dalla cui stabilit`
                                                                                a
dipende l’effettiva utilit` pratica della linearizzazione.
                         a
Nonlinear Control                                                                        Feedback Linearization - Pag. 124


    Per concludere, ` possibile ottenere la linearizzazione ingresso-uscita in Ω
                    e
del sistema tramite u = (v − Lr h)/Lb Lr−1 h, ottenendo che y (r) = v e ,nel
                                 f          f
contempo, una linearizzazione parziale ingresso-stato:
                                                        LINEARIZZABILE INGRESSO-USCITA



            u                                           zr
                                                        ˙               zr          z2           z1    =    y
            =                 Lr
                               f   h+   L b Lf
                                             r−1
                                                   hu
            v−Lr h
                 f
           Lb Lr−1 h
               f
                       zr+1        zn
1




                                   zi = Lf Φi (x)
                                   ˙
                                   r+1≤i≤n




NOTA: se r = n la linearizzazione ingresso-stato ` completa. Come si vedr` in seguito, `
                                                      e                           a            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.
Nonlinear Control                                                      Feedback Linearization - Pag. 125


                    Esempio: robot con giunto flessibile




                          I q1 + M gL sin q1 + k(q1 − q2) = 0
                            ¨
                          J q2 − 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
Nonlinear Control                                                       Feedback Linearization - Pag. 126


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

        f     = [x2               − MI sin x1 − k (x1 − x3)
                                     gL
                                                I                  x4     k
                                                                          J (x1    − x3)]T
                                      1 T
       b = [0                 0   0   J]



   Ipotizzando di considerare come uscita y = x1 = q1, cio` la posizione
                                                          e
angolare del link, otteniamo che:

                        y
                        ˙     = x1
                                ˙              = x2
                        y
                        ¨     = x2
                                ˙              = − MI sin x1 − k (x1 − x3)
                                                    gL
                                                               I
                    y (3)                      = − MI x2 cos x1 − k (x2 − x4 )
                                                    gL
                                                                  I
                                                                              N. B .
                        (4)             k                  k
                    y         = ··· +   I x4
                                          ˙    = a(x) +   IJ   u
Nonlinear Control                                          Feedback Linearization - Pag. 127


    Il sistema ha quindi grado relativo ben definito (k/(I J) = 0 sempre!), pari
a 4, cio` all’ordine del sistema, che ` quindi linearizzabile completamente
          e                             e
attraverso la legge di controllo:

                                  IJ
                               u=    [v − a(x)]
                                   k

nella quale (ahinoi):



            M gL             M gL         k   k          k k M gL
a(x) =           sin x1(x2 +
                         2        cos x1 + ) + (x1 − x3)( + +     cos x1)
             I                I           I   I          I J  I
Nonlinear Control                                              Feedback Linearization - Pag. 128


                     Estensione ai sistemi MIMO

    Per un sistema del tipo:

                               x = f (x) + B(x)u
                               ˙
                               y = h(x)

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

    Il problema di linearizzazione si risolve nel caso MIMO in modo analogo a
quanto visto per il caso SISO, con la ovvia differenza che per ogni componente
dell’uscita yi saranno necessarie ri derivazioni successive rispetto al tempo (fino
a ottenere la relazione con u) e la determinazione delle opportune trasformazioni
di stato.
Nonlinear Control                                           Feedback Linearization - Pag. 129


    Procedendo con le derivazioni, si ottiene:

                               
                         (r )
                                        Lr1 h1(x)
                                                   
                        y1 1             f
                                
                                        Lr2 h2(x)
                     (r2)                        
                     y2               f
                                                    
                               =                  + E(x)u
                                                    
                     ...                  ...
                                                 
                                                  
                               
                       (r )
                      ym m              Lrm hm(x)
                                         f


    con E(x) matrice m × m definita in termini delle Lbj Lri−1 hi (i indice
                                                                f
dell’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)
` invertibile in Ω, quindi il sistema ` linearizzabile.
e                                     e
Nonlinear Control                                           Feedback Linearization - Pag. 130


                    Estensione al caso di feedback dinamico

    In alcuni casi, pu` essere che il grado relativo di un sistema (SISO o MIMO)
                      o
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 derivate
delle uscite nelle quali compare la relazione con u dipendono solo da u1 e non
da u2, il sistema non ha grado relativo (la matrice E(x) ha rango 1, quindi non
` invertibile).
e

   Intuitivamente, si pu` pensare di “ritardare” la comparsa di u1, imponendo
                        o
che la legge di controllo sia a sua volta l’uscita di un sistema dinamico, nel
quale sia posto un integratore a monte di u1, cio`:
                                                  e

                                    u1 = ζ
                                     ˙
                                    ζ = v1
Nonlinear Control                                                   Feedback Linearization - Pag. 131


     Se per il sistema cos` ottenuto la procedura di derivazione delle uscite porta
                          ı
a:

                                   
                          (r +1)
                         y1 1                                  u1
                                                               ˙
                                    = g(x, u1) + E1(x, u1)
                          (r2 +1)                              u2
                         y2

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

                    v1                  u1                     y1


                    v2                  u1                     y2
Nonlinear Control                                                         Feedback Linearization - Pag. 132


                    Concludendo: procedura completa


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

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

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

NOTA: in tutti i casi, se il grado relativo totale ` pari all’ordine del sistema, la linearizzazione
                                                   e
` completa (ingresso-stato)
e
Nonlinear Control                                         Feedback Linearization - Pag. 133


               Esempio: robot mobili (veicoli autonomi con
                                ruote)


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

• A causa dei vincoli nonolonomici, i gradi di libert` del robot non sono
                                                     a
  indipendenti: ad es. un veicolo non pu` (nelle ipotesi di assenza di
                                            o
  scivolamento) spostarsi lateralmente

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

• I vincoli nonolonomici complicano sia le problematiche di pianificazione delle
  traiettorie (path planning) che quelle di inseguimento delle stesse (path
  tracking) o di stabilizzazione di una postura (“parcheggio”)
Nonlinear Control                                         Feedback Linearization - Pag. 134
                                          The Central Issue
           Un veicolo autonomo deve risolvere “autonomamente” quei problemi con
due    vincoli nonolonomici...
      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
Robot Motion
Planning and Control
Nonlinear Control                                          Feedback Linearization - Pag. 135


    ... che noi risolviamo brillantemente in modo intuitivo (pi` o meno).
                                                               u
Nonlinear Control                                           Feedback Linearization - Pag. 136


                            Tipico modello cinematico: uniciclo
al example of nonholonomy: the rolling disk




                               y                          θ


                                          x

alized coordinates q = (x, y,velocit` laterale sempre nulla ⇒ x sin θ − y cos θ = 0
          Vincolo cinematico: θ) a                             ˙        ˙
                                                            
                                            x
                                            ˙         cos θ 0      y˙
rolling nonholonomic constraint           y θ =  sin = 0  v = tan θ
                   Modello cinematico x sin − y cos θ θ 0
                                        ˙ ˙       ˙
                                             ˙                     ω
                                                                   ˙
                                                                   x
                                            θ           0    1
e velocities are contained in the null space of the constraint matrix
                                                                     ˙
      con v = driving velocity e ω = steering velocity. In forma compatta q = G( v, con le 
                                                                                q)       
      ovvie sostituzioni q = [x y θ]T e v = [u ω]T                   cos θ            0 
(q) = (sin θ − cos θ 0)              =⇒         N (aT (q)) = span  sin θ  ,  0 
                                                                           0          1 

onfiguration q = (x , y , θ ) can be reached:
Nonlinear Control                                                                                         Feedback Linearization - Pag. 137


                             Note sulla modellazione dell’uniciclo


   • Anche considerando l’estensione al modello dinamico (accelerazione, coppia
     alla ruota, ecc.), i problemi di progetto del controllo sono riconducibili al
     controllo del modello cinematico del primo ordine
   • Il modello del semplice uniciclo ` valido per molte tipologie di veicoli mobili
                                      e
     semplici (differential drive)
   • Veicoli pi` complessi (es. car-like, con rimorchi, ecc.) possono essere
               u
     parzialmente ricondotti all’uniciclo con alcune ipotesi semplificative
                                                                                   N -trailer system
                                        Car-Like Robot
                                                                                                                    φ

                                                       φ
                                                                                                                   θ0

                                                                                                 θ1 = 0


                                                   θ
                               y                                                          θN-1

                                                                                   θN

                                         x
                                     •
• ‘bicycle’ model: front and rear wheelsacollapse into robot with N trailers, each hinged to the axle midpoint of the previous
                                          FD car-like two wheels at the axle midpoints

• generalized coordinates q = (x, y, θ, φ) generalized coordinates q = (x, y, φ, θ0 , θ1 , . . . , θN ) ∈ I N +4
                                        •     (φ: steering angle)                                         R

• nonholonomic constraints                                      x, y = position of the car rear axle midpoint
                                                                   φ = steering angle of the car (w.r.t. car body)
                       xf sin(θ + φ) − yf cos(θ + φ) = 0
                       ˙               ˙                         (front wheel)
                                                                  θ0 = orientation angle of the car (w.r.t. x-axis)
                                     x sin θ − y cos θ = 0
                                     ˙         ˙                 (rear wheel)
                                                                  θ = orientation angle of i-th trailer (w.r.t. x-axis)
Nonlinear Control                                              Feedback Linearization - Pag. 138


                    Feedback linearization dell’uniciclo

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

                              x
                              ˙         cos θ 0        v
                         ˙
                         y=        =
                              y
                              ˙         sin θ 0        ω
                                          E(q)


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


                              ˙                        cos θ
                     v = ζ,   ζ=a      =⇒        ˙
                                                 y=ζ
                                                       sin θ

    che ulteriormente derivata:
Nonlinear Control                                                    Feedback Linearization - Pag. 139




             ˙          cos θ     ˙   − sin θ         cos θ −ζ sin θ               a
           ¨
           y=ζ                  +ζθ              =
                        sin θ          cos θ          sin θ  ζ cos θ               ω
                                                          E1 (q,ζ)



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


                                          −1
           a             cos θ −ζ sin θ         u1        cos θ      sin θ           u1
                    =                                =
           ω             sin θ  ζ cos θ         u2        − sin θ
                                                              ζ
                                                                     cos θ
                                                                       ζ             u2

    si ottiene la dinamica di un doppio integratore:

                                          x
                                          ¨          u1
                                   ¨
                                   y=           =
                                          y
                                          ¨          u2
Nonlinear Control                                          Feedback Linearization - Pag. 140


                    Note sulla linearizzazione dell’uniciclo


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

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

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

• Il problema residuo consiste nell’evitare la singolarit` di E1(q, ζ), risolvi-
                                                          a
  bile tramite inizializzazione dell’integratore e opportuna pianificazione delle
  traiettorie
Nonlinear Control                                    Appendice su Feedback Linearization - Pag. 141


               Appendice: strumenti matematici (algebra di
                                 Lie)

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

                                        ∂g    ∂f
                              [f , g] =    f−    g
                                        ∂x    ∂x

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

                      ad0 g = g
                        f
                      adi g = [f , adi−1 g]
                        f            f           i = 1, 2, . . .

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

                           Ladf g h = Lf Lg h − Lg Lf h
뫹 ~Dð mU¡“ë¦Î
                      î   Îë      “ Å                ´ ~
                                                      •ƒ²   ¨ X pš ¦4’xƒ~² ¦pš ¨ X ”
                                                                ” Ì ” é ´ Ì ”                Ë „Ê      — É º –
                                                                                                        õ¦Àgëgê ¹
                                                         ü ” ‘ o” “ i i –m
                                                          piüößj•f——Dq‰q€D¤ijfi‰˜ ˆs¨D×wl㘠‘U6j„Ã@|
                                                                                   – — ‘ ” h ‘ yr ˆ – ˆ e     –  ” –
             yrr e ‘ ˆ ” w‘ r e “ È ” ‰
             siDumn’€jx’fD¨xt‘           –   w ˆ                                                 Çù ô ú õú ‚ ó } ó
                                                De ê DÕrx”9¦D|ŠuDà˜™xg4g6j¤n‹H1Ž x¡ñ ¦ót¢á„18p„ö Â
                                                      ‰ w   – m ” † –  ” û m e  – ”‘ ‚ ” h
flussi sono commutativi. Si consideri ad esempio, una barca a vela che debba navigare controvento. Come noto,
              e                                                   hIgƒsÚ¦s
                                                                  Æ ¾À É Å  e
     Infatti, ` possibile dimostrare che la [f , g] di due campi vettoriali ` identicamente nulla se e solo se i loro
all’evoluzione ottenuta invertendo l’ordine di f e g (v. figura sottostante).
                                       ¥ ´ X #  “ u6 ”² 0 #   # #  –  ê u 6 '  ™ ©  # 0  # t  t 6 V   “ #
                                        bEv8†hÂ%bd)idAÎA0¡)'FΡ§c¦A†)ƒd¡)©CvA¹A8(()'f8¡A%A
di f (γt ) per un tempo t e successivamente lungo le traiettorie di g (γt ) per un tempo s non sia equivalente
        f                                                                  g
               # $ '  # t   ! ' V '  # i6 u Å # $6  ©™ – ™ © !  ©  2 # ‹ '   u  © '  #  0  ' # $6   ™
                „)ACvAf%S8)ƒ%)8EŒ„§Af)„Α)o)4%Œ£„¡8)U%vtA¹¡)S“H„§Af)©„«ê
                             e
o meno commutatativi, cio` se, partendo da un certo punto ∈Rn , l’evoluzione del punto lungo le traiettorie
                     !  ©  2 ‹ '   u  © ' u 6 © u  ' ~ 6 © @       $ ©  u 6   '    ' t  2 '™ #
             ™)©«)4%#Œ£ov8)ov§)¼0¡)»»7gz' Ad™zv§AA¦AAR¦¡A¯4)hEvtAoR%8)'
con notazione γt ). L’operatore Lie bracket permette di determinare se i flussi di due sistemi dinamici f e g siano
                 f                                                                                                 ©   #
              ˙      ˙ e
                  i “ ° # 6 º – ë  # c 2 '  #6 ` ™ © u t   ' i  ' t  ! '  #  ©   # t t   ©   © @ © 
              …s86¡%S§aÀggê ¹ d))¡5¯8uj)Ãv§6¡A76¡)ˆf¦1AfpACvS¡Q¯v(j¥d186A86Ax)A¡@
differenziale x = f (x) ` una curva γ : t → x(t), anch’essa di classe C ∞ , che viene chiamata flusso di f (anche
                      e
                u 6 V © ©™ # t  6 0 #  '   # '  # 2 ' 5 #6 ` ™ ©  #6  # @ ©  @ 26   # $ # u 26  ' 5 #
                 v7(p87d¯vAz§3%¦ACA¦ed)cA)¡R8uu)e%8AAdx)A¡¯§bd„©d)R§A)1Rvtƒt
      Chiaramente, f ` un campo vettoriale. Per un qualsiasi campo vettoriale f ∈ C ∞ , la soluzione dell’equazione
                                                                  ˙      ˙
                                                                  x = f (x)                       ü wr ”      – m ”
                                                                                                  Õx9sD|ƒD†
              e ” ˆ‘ e ‰‘ ‰ wr   –  m ” †  ” ˆ r – € ˜ –  ” û m e  ” ‘ ‚ ” h o yrr ˆ‘ Ä ü wr ”  – m ”
              Du¦iÆr záz¢j”9aD|ŠuDUDe0t‘s‡ß’U™‰xg4g6j– |q”fiã¢ÆiDeiß…j9aD|ƒD†
            €D|j1Dum×—áUj”9pD|ŠuD†De0t‘sUe i’‹UÕx”9pl–|Šmlà€D|j1Du×—™`xg4g6jè”|q‚
                ˆ e ‰ ˆ – e ‰‘ wr   – m ”  ” ˆ r      h‘ € wr    ” †  ˆ e ‰ ˆ – m e ˜ – ” û m e  – ‘
“linearizzabilit`” di un sistema dinamico. Si consideri un sistema dinamico del tipo:
                a
              ”  ü –  ” à ‰‘ ‰ wr   – m †  e     – m – € –  ” û m e  – ”‘ ‚ ” h
               fhŽˆ6j„dtcDÕx”9»D|Šu”D߀ˆD|F‰¨ˆDuUß’˜™ßxg4g6jn‹¤1Ž §¡ñ ¦t¢á„1ó8}pó„ö   Žù ô óú õú ‚
     Concettualmente, l’operatore Lie bracket ` molto legato alle caratteristiche di controllabilit` e
                                                     e                                             a
                                                                                                                       | ¤
                                                                                                                        %)¤
                                                 Note sul lucido 141
                                                             § ©§ ¥ £
                                                             ¨˜Œ¨ ¦¤¢
Appendice su Feedback Linearization - Pag. 141                                                                         Nonlinear Control
Nonlinear Control                                                           Appendice su Feedback Linearization - Pag. 142
la navigazione in tali condizioni ` possibile se la barca viene condotta con una manovra “zig-zagante”, con la
                                   e
quale si riesce, approssimativamente, a dirigere la barca verso un punto altrimenti raggiungibile solo con una
rotta lineare in direzione contraria a quella del vento. Intuitivamente, si pu` affermare che, denominando f e g i
                                                                              o
modelli 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
                                                 ˙

                                                          n−1
      l’insieme dei campi vettoriali {b, adf b, . . . , adf   b} permette di effettuare una analisi di controllabilit`
                                                                                                                    a
del sistema.

     Infatti, ` possibile ricavare che per un sistema lineare x = Ax + bu, l’insieme precedente ` costituito
              e                                               ˙                                    e
                                   2              n−1 n−1
dai vettori costanti {b, −A b, A b, . . . , (−1)      A      b}. Come noto, se il rango della matrice ottenuta
ponendo come colonne i vettori precedenti (a meno del segno) ` pari all’ordine del sistema, il sistema lineare
                                                                 e
x = Ax + bu ` completamente controllabile.
˙                e

   Analogamente, se i campi vettoriali {b, adf b, . . . , adn−1 b} sono linearmente indipendenti in un certo
                                                            f
Ω ⊆ Rn , significa che il sistema nonlineare x = f (x) + b(x)u ` controllabile in Ω.
                                            ˙                 e
Nonlinear Control                                        Appendice su Feedback Linearization - Pag. 143

Definizione 18 Un insieme linearmente indipendente di campi vettoriali
{f1, f2, . . . , fm} definiti in Rn ` detto completamente integrabile se e so-
                                    e
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 equazioni
differenziali parziali:
                                ∂hi
                                    fj = Lfj hi = 0
                                 x
con 1 ≤ i ≤ n − m, 1 ≤ j ≤ m.
Definizione 19 Un insieme linearmente indipendente di campi vettoriali
{f1, f2, . . . , fm} definiti in Rn ` detto involutivo se e solo se esistono delle
                                   e
funzioni scalari αijk : Rn → R tali che:
                                        m
                          [fi, fj ] =         αijk fk   ∀i, j
                                        k=1

Teorema 7 (Frobenius)
Un insieme linearmente indipendente di campi vettoriali {f1, f2, . . . , fm} definiti
in Rn ` completamente integrabile se e solo se ` involutivo
       e                                       e
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, ` detto linearizzabile ingresso-
                                          e
stato se esiste una regione Ω ⊆ Rn, un diffeomorfismo Φ : Ω → Rn ed una
legge di controllo nonlineare u = α(x) + β(x)v tale che il sistema dinamico
con stato z = Φ(x) e ingresso v sia lineare tempo-invariante nella forma:

                                   ˙
                                   z = Az + blv

con:                                                                      
                                                               0
                         I(n−1)×(n−1) 0(n−1)×1               ... 
                    A=                                 bl =      
                           01×(n−1)      0                   0 
                                                               1
Nonlinear Control                                     Appendice su Feedback Linearization - Pag. 145


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

   La soluzione del problema di linearizzazione ingresso-stato si ottiene dal
seguente:
Teorema 8
Il sistema nonlineare x = f (x) + b(x)u, con f e g smooth, ` linearizzabile
                        ˙                                       e
ingresso-stato se e solo se esiste una regione Ω ⊆ Rn tale che:

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

2. l’insieme {b, adf b, . . . , adn−2 b} ` involutivo in Ω
                                  f      e
Nonlinear Control                                                           Appendice su Feedback Linearization - Pag. 145

                                      Note sul lucido 145
     La dimostrazione del teorema sulla linearizzabilit` ingresso-stato (qui non formalizzata) ` basata sulle
                                                       a                                       e
seguenti considerazioni:

 • La condizione 1 permette di affermare che il sistema ` controllabile, come detto in una nota precedente
                                                          e
 • La condizione 2 permette di dimostrare l’esistenza del diffeomorfismo Φ e, soprattutto, di determinarne la
   struttura. Infatti, grazie al teorema di Frobenius si pu` affermare che:
                                                           o

                                   Lb z1 = Lad b z1 = · · · = L n−2 z1 = 0
                                              f                ad  b
                                                                      f
    data una certa funzione scalare z1 (x). Tali equazioni rappresentano il fatto che l’insieme al punto 2 `   e
    completamente integrabile. Inoltre, un lemma addizionale al teorema di Frobenius (non citato per brevit`, ma
                                                                                                           a
    dimostrabile grazie alla identit` di Jacobi) permette di trasformare le equazioni precedenti in:
                                    a

                                                                          n−2
                                   Lb z1 = Lb Lf z1 = · · · = Lb Lf             z1 = 0
    In sostanza, se considerassimo z1 = z1 (x) come la prima delle nuove variabili di stato del sistema
    trasformato, avremmo che:

                                        ∂z1        ∂z1       ∂z1
                               z1 =
                               ˙              x=
                                              ˙          f+      b u = Lf z1 + Lb z1 u
                                         ∂x        ∂x        ∂x
    ma essendo Lb z1 = 0 allora z1 = Lf z1 . Siccome per il sistema linearizzato deve essere z1 = z2 , per via
                                     ˙                                                             ˙
    della forma richiesta alla matrice A della dinamica del nuovo stato, ci` significa che per la seconda delle
                                                                               o
    nuove variabili di stato deve essere z2 = z2 (x) = Lf z1 . Tale ragionamento pu` essere esteso per tutte le
                                                      ˙                                  o
    nuove variabili di stato, per cui si ottiene che il diffeomorfismo cercato consiste nella seguente trasformazione:
Nonlinear Control                                                                 Appendice su Feedback Linearization - Pag. 146

                                                                              n−1            T
                                     z = Φ(x) = [z1       Lf z1     ...   Lf          z1 ]
    Si noti che, mentre per le prime n − 1 nuove variabili di stato la dinamica ` quella di un integratore
                                                                                     e
    zk = zk+1 , per l’ultima delle nuove variabili di stato, la dinamica ` del tipo:
    ˙                                                                    e

                                                      n               n−1
                                               zn = Lf z1 + Lb Lf
                                               ˙                              u
                                   ˙
    per cui il sistema trasformato z = fn (z) + bn (z) u ` in forma canonica di controllabilit` (companion).
                                                              e                                    a
    Finalmente, questo significa che il sistema ` linearizzabile ingresso-stato nel nuovo stato z scegliendo la legge
                                               e
    di controllo:

                                                       1                  n
                                           u=                     (v − Lf z1 )
                                                 Lb Ln−1 z1
                                                     f

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


                                   Ladi b z1      =       0   i = 0, . . . , n − 2
                                       f
                                 L        z       =       0
                                   adn−1 b 1
                                     f
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 set
                        ˙
   {b, adf b, . . . , adn−1 b} e verificare controllabilit` e involutivit`
                        f                                a              a
2. Trovare la z1(x) t.c.:

                           Ladi b z1 = 0               i = 0, dots, n − 2
                              f
                          Ladn−1 b z1 = 0
                             f


3. Costruire la trasformazione dello stato

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

    e la legge di controllo
                                           1
                                 u=                (−Ln z1 + v)
                                                      f
                                      Lb Ln−1 z1
                                          f
Nonlinear Control                                            Appendice su Feedback Linearization - Pag. 148


                    Esempio: robot con giunto flessibile




                          I q1 + M gL sin q1 + k(q1 − q2) = 0
                            ¨
                          J q2 − 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
Nonlinear Control                                                Appendice su Feedback Linearization - Pag. 149


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

        f     = [x2        − MI sin x1 − k (x1 − x3)
                              gL
                                         I                           x4          k
                                                                                 J (x1   − x3)]T
                                    1 T
       b = [0          0   0        J]



    dalle quali:

                                                                                 k
                                                                                      
                                                         0   0        0       − IJ
                                                                     k
                                                                                       
                                             0              0                   0     
                                                                     IJ
                    [b adf b ad2 b ad3 b] = 
                                                                                      
                               f     f                       1                 k
                                                                                       
                                             0
                                                            J        0       −J2      
                                                                                       
                                                         1          k
                                                         J   0     −J2           0

che ha rango 4 se k  0 e IJ  ∞, mentre l’involutivit` delle prime tre colonne
                                                      a
` garantita dal fatto che sono costanti
e
Nonlinear Control                                             Appendice su Feedback Linearization - Pag. 150

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

                        ∂z1         ∂z1            ∂z1         ∂z1
                            =0          =0             =0          =0
                        ∂x4         ∂x3            ∂x2         ∂x1
    La cui soluzione pi` immediata ` z1 = x1. Da questa scelta risulta che:
                       u           e

                                    ∂x1
                    z2 = Lf z1 =    ∂x    f = x2
                    z3 = Lf z2 =    ∂x2
                                    ∂x    f = − MI sin x1 − k (x1 − x3)
                                                 gL
                                                            I

                    z4 = Lf z3 =    ∂z3
                                    ∂x    f = − MI x2 cos x1 − k (x2 − x4)
                                                 gL
                                                               I

linearizzabile con una opportuna legge di controllo u = (v − Lf z4)/(Lb z4).
NOTA: le nuove variabili di stato sono: posizione, velocit`, accelerazione e jerk del link. Come
                                                            a
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 ` influenzata dal controllo, come
                                                                 e
` stato dimostrato provando che il sistema ha grado relativo 4 rispetto all’uscita y = x1...
e
Nonlinear Control                                              Sliding Mode - Pag. 151


                     Controllo in Sliding Mode

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

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

• Teoricamente, una volta raggiunto lo Sliding Mode, il sistema rimarr` sempre
                                                                      a
  in tali condizioni (anche con disturbi o errori di modellazione entro limiti
  ipotizzati) ⇒ il regime di Sliding Mode ` caratterizzato da un insieme
                                              e
  invariante per la dinamica del sistema

• Tali condizioni ideali sono mantenute introducendo nell’azione di controllo
  una componente in commutazione a frequenza infinita!
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

                                 u+(x, t) se
                                  i              si(x)  0
                         ui =     −
                                 ui (x, t) se    si(x)  0
                         s(x) = [s1(x) s2(x) . . . sm(x)]T

` un VSS la cui struttura varia in modo discontinuo in corrispondenza di m
e
superfici (si(x) = 0) nello spazio degli stati.
Nonlinear Control
                             On–Off Control                       Sliding Mode - Pag. 153


               L’esempio pi` semplice di VSS: controllo
                           u
–off control is the simplest control strategy.
                              ON/OFF
mmon in temperature control, level control etc.
lacements
          Comune nei controlli di temperatura, di livello, ecc.


                   r           e                   u                   y
                                                        G(s)
                          −




e relay corresponds to infinite high gain.
Nonlinear Control                                                 Sliding Mode - Pag. 154


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

                       x + ax + bx = u
                       ¨    ˙
                                 u = −K|x|sign(s)
                                 s = cx + x
                                          ˙

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




                                      =⇒
Nonlinear Control                                              Sliding Mode - Pag. 155


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

    In generale:
Nonlinear Control                                               Sliding Mode - Pag. 156


                      Note sullo Sliding Mode


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

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

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

• Dal punto di vista tecnologico, vi sono alcuni campi di applicazione
  “naturale”: azionamenti elettrici (convertitori di potenza intrinsecamente
  switching), iniezione carburante (feedback “binario” da sonda λ), ecc.
Nonlinear Control                                                           Sliding Mode - Pag. 157


                    Progetto di controllo in Sliding Mode

    Si consideri il sistema SISO in forma canonica di controllabilit` (companion):
                                                                    a


                           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 ` tipica nelle applicazioni industriali di motion control, con x posizione
                     e
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) =
              (n−1) T
[xd xd . . . xd
     ˙             ] 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 pu` ricondurre a
                                                               o
quello di stabilizzazione di una superficie di sliding
Nonlinear Control                                             Sliding Mode - Pag. 158


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

                                              n−1
                                      d
                        s(e, t) =        +λ         e=0
                                      dt

    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 il
problema monodimensionale di rendere invariante S(t), definita da s(e, t) = 0
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 ` misurata da s2
                                               e

• L’obiettivo del controllo ` rendere S invariante ed attrattiva, cio` t.c. che
                            e                                        e
  s2 sia descrescente lungo tutte le traiettorie del sistema

• Una volta su S, le traiettorie del sistema sono definite dalla stessa equazione
  s = 0, per cui l’errore di inseguimento tende esponenzialmente a 0 con
  costante di tempo (n − 1)/λ
Nonlinear Control                                               Sliding Mode - Pag. 160


                         Ipotesi di robustezza

   Si desidera progettare la legge di controllo in modo che sia verificata la
seguente:
                               1 d 2
                                    s ≤ −η|s|
                               2 dt

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

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

    Il coefficiente moltiplicativo del termine discontinuo deve essere t.c. la
disuguaglianza precedente sia verificata con disturbi e incertezze limitate
superiormente (entro limiti fissati per ipotesi)
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 di
stima ` per ipotesi limitato da una funzione nota F (x, x, t):
      e                                                 ˙


                                   |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
                    ˙ ¨ ¨         ˙           ¨     ˙
Nonlinear Control                                                   Sliding Mode - Pag. 162


    Poich` f non ` nota in modo preciso, la migliore approssimazione disponibile
         e        e
del controllo “ideale” `:
                       e


                                 u = xd − f − λe
                                     ¨         ˙

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


                                 u = u − k sign(s)

    con k = k(x, x, t) tale da garantire l’attrattivit` di s = 0:
                 ˙                                    a


         1 d 2
              s = s · s = [f − f − k sign(s)] · s = (f − f )s − k|s| ≤ −η|s|
                  ˙
         2 dt

    perci` k ≥ F + η
         o
Nonlinear Control                                                                            Sliding Mode - Pag. 162

                                       Note sul lucido 162
     Si noti che per la dinamica dell’errore, la funzione:


                                                             1 2
                                                     V =       s
                                                             2

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


                                                     ˙
                                                     V =s·s
                                                        ˙

     deve essere definita negativa ∀s = 0. Questo significa che quando s  0 deve essere s  0 e viceversa.
                                                                                                    ˙
Pertanto, poich` la s dipende in modo diretto dalla legge di controllo u, ` necessario che questa sia discontinua
                e     ˙                                                        e
rispetto a s = 0, cio` proporzionale a sign(s). Per la robustezza, il coefficiente di proporzionalit` va progettato,
                      e                                                                                a
come si ` visto, in relazione all’ipotesi peggiore sull’errore di modellazione della dinamica del sistema.
         e
Nonlinear Control                                                   Sliding Mode - Pag. 163


               Estensioni delle considerazioni di robustezza

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


                                     |d(t)| ≤ D

   con D costante, per avere Sliding Mode robusto rispetto a d ` sufficiente
                                                               e
scegliere:


                                  k ≥F +D+η

      con F determinato come visto in precedenza.
Nonlinear Control                                                        Sliding Mode - Pag. 164


            Estensioni delle considerazioni di robustezza - 1

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

                                     0  bmin ≤ b ≤ bmax

                                                              √
    La migliore stima di b ` la media geometrica b =
                            e                                     bmin bmax, per cui la
legge di controllo diventa:

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

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

                    bmax
    eβ=             bmin   chiamato margine di guadagno (β −1 ≤ b/b ≤ β)
Nonlinear Control                                                                             Sliding Mode - Pag. 164

                                       Note sul lucido 164
     Per un sistema in forma canonica di controllabilit`:
                                                       a


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


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


                                                      1
                                             u=           [¨d − f (xd )]
                                                           x
                                                     b(x)

     Poich` tale controllo non ` realizzabile direttamente a causa dei disturbi e delle incertezze su f e b, essa
          e                     e
viene ottenuta attraverso una sequenza di commutazioni a frequenza infinita tra le traiettorie di due differenti
dinamiche (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.
Nonlinear Control                                                                             Sliding Mode - Pag. 165


                                                                    s0               s=0
                                                  f+
                                                                                s0


                                                                     f-




      Mediamente, il comportamento a regime ottenuto con il controllo in Sliding Mode e quello ottenuto con la
perfetta inversione dinamica sono identici. D’altra parte, anche la possibilit` di ottenere commutazione infinita
                                                                                a
` una ipotesi non fisicamente realizzabile. Ci` nonostante, il progetto di controllo in Sliding Mode permette di
e                                              o
tenere in considerazione in modo esplicito la presenza di disturbi e incertezze di modellazione, un aspetto che con
altre tecniche (v. Feedback Linearization) non pu` essere trattato direttamente.
                                                  o
Nonlinear Control                                                   Sliding Mode - Pag. 166


                          Il problema di chattering

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




                                                  
                                                 ¢
                              £
                              ¥¤
                              ¦




                                           
                                             ¤
                                            ¦
                             §¥




                                            ¥
                                   ¨

                                       ©
                                       
                                       §




                                                             
                                                            ¡


              • First drive system to stable manifold (reaching phase)
              • Then slide to equilibrium (sliding phase)
Nonlinear Control                                             Sliding Mode - Pag. 167


    La condizione di scivolamento ` mantenuta a patto di poter commutare
                                    e
istantantanemante il controllo attraversando S. Se, come accade forzatamente
nella pratica, la commutazione non ` istantanea, insorge un fenomeno di
                                       e
chattering:

                                     .
                                     e




                                                             e
Nonlinear Control                                                 Sliding Mode - Pag. 168


                    Cause e soluzioni del chattering


• Cause:
    – Ritardo implicito nella realizzazione digitale (risolvibile con progetto
      direttamente nel dominio tempo discreto)
    – Dinamiche “parassite” non trascurabili nell’attuatore o nei trasduttori

• Chiaramente, il chattering ` da evitare nelle realizzazioni pratiche (es.
                                 e
  eccessiva sollecitazione strutture meccaniche) ⇒ Soluzioni:
   1. introduzione di un Boundary Layer: approssimazione del guadagno
      infinito in prossimit` di S con guadagno finito (sat(s/φ) al posto di
                          a
      sign(s))
   2. utilizzo di osservatori asintotici dello stato come anello di by-pass delle
      dinamiche parassite
Nonlinear Control                                                              Sliding Mode - Pag. 169


                    Boundary Layer: smoothing dell’azione di
                                   controllo


                              sign(z)                                              sat(z/ O )
                    +1                                            +1

                                            approx.                     1/ O

                                        z                                                      z


                         -1                                            -1




                                            1 d 2
    In questo modo, la condizione           2 dt s   ≤ −η|s| garantisce “solo” |s| ≤ φ
Nonlinear Control                                            Sliding Mode - Pag. 170


                    Traiettorie all’interno del Boundary Layer

                    Boundary Layer         .
                                           e



                                           O
                                                 O                 e




                                                             s= 0
Nonlinear Control                                                                     Sliding Mode - Pag. 171


                            Note sul Boundary Layer


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

• Il feedback pu` essere di tipo PID se si considera come variabile di interesse
                  o
    t
    0
      e(τ ) dτ anzich` e (controllo integrale). In tal caso (ponendo n = 3 nella
                     e
  determinazione dell’espressione di S):
                                 2       t                                      t
                         d                                              2
                    s=      +λ               e(τ ) dτ   = e + 2λe + λ
                                                          ˙                         e(τ ) dτ
                         dt          0                                      0


• Parametri di progetto: η = “margine di robustezza”, λ = “banda passante”
  della dinamica su S, φ = “compromesso” tra sliding ideale ed eliminazione
  del chattering
Nonlinear Control                                               Sliding Mode - Pag. 173


              Esempio: stabilizzazione robusta del pendolo

    Si consideri il modello del pendolo:

                       x1 = x2
                       ˙
                              g
                       x2 = − R sin x1 − MB 2 x2 + Mu 2
                       ˙                  R         R

                      ˙
   con x1 = θ, x2 = θ e u = τ coppia attuata alla base. Il modello ` in forma
                                                                   e
canonica di controllabilit` x1 = f (x) + b(x) u, ponendo:
                          a¨

                                   g
                         f (x) = − R sin x1 − MB 2 x2
                                               R
                                     1
                         b(x)   =   M R2

    Se supponiamo che i parametri siano noti con scarsa precisione:

    Rmin ≤ R ≤ Rmax       Mmin ≤ M ≤ Mmax       Bmin ≤ B ≤ Bmax
Nonlinear Control                                                           Sliding Mode - Pag. 174


    e che siano ipotizzati i valori nominali R, M e B, si avr`:
                                                             a


                                        g               B
                                 f =−       sin x1 −          x2
                                        R              M R2
    e


                                      1        1
                             b=         2        2
                                   MmaxRmax MminRmin

   Supponendo per semplicit` che almeno la lunghezza del pendolo sia mi-
                            a
surabile precisamente, si pu` ottenere il limite sull’errore di stima di f
                            o
come:


                                  Bmax   B
                    |f − f | ≤         −                |x2| = k1|x2| = F
                                 MminR2 M R2
Nonlinear Control                                                       Sliding Mode - Pag. 175


   Inoltre, anche per la componente del controllo u si pu` inoltre ipotizzare un
                                                         o
funzione limite, considerando che:


                                        u = xd − f − λe
                                            ¨         ˙

    in questo caso diventa:


                                    g               B
                            u=          sin x1 +          x2 − λx2
                                    R              M R2
    per cui:


                            g            B
                    |u| ≤       +              + λ |x2| = k2 + k3|x2|
                            R           M R2
Nonlinear Control                                                      Sliding Mode - Pag. 176


    Concludendo, si pu` progettare la legge di controllo:
                      o


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

    con s = x1 + λx2 e:

                                 k ≥ β(F + η) + (β − 1)|u|
                                                   2
                                             Mmax Rmax
                                      β=           2
                                             Mmin Rmin


    che in questo caso diventa:


                    k ≥ β(k1|x2| + η) + (β − 1)(k2 + k3|x2|) = k1 + k2|x2|
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) ` una funzione incerta che per` verifica 1 ≤ a(t) ≤ 2. In
                   e                            o
questo 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
       ˙ ¨ ¨         ˙           ¨     ˙         ˙             ¨
Nonlinear Control                                              Sliding Mode - Pag. 178


    per cui la legge di controllo deve essere:


                                u = u − k sign(s)

    con
                    u = xd − f − λe = xd + 1.5 x2 cos3x − λe
                        ¨         ˙ ¨          ˙           ˙
                             k = F + η = 0.5 x2 + η
                                             ˙
Nonlinear Control                                               Sliding Mode - Pag. 179
                                CAPITOLO 3. INTRODUZIONE A SI
                    Esempio: controllo di motori elettrici DC


    ia                     Ra        La
             .
                      ie
                            .                ¢
                                             £




                                             ¢
                                             £
                                                 ¢
                                                 £




                                                 ¢
                                                 £
                                                     ¢
                                                     £




                                                     ¢
                                                     £   vm
                                  Re L
     Va                Ve              e                        Cc , J , f
                            .                 
                                             ¡




                                              
                                             ¡
                                                  
                                                 ¡




                                                  
                                                 ¡
                                                      
                                                     ¡




                                                      
                                                     ¡




                                                         ω(t)
             .

              Figura 3.11: Motore in corrente continua.
Nonlinear Control                                                    Sliding Mode - Pag. 180


            Modellazione motore DC (magneti permanenti)

    Date le equazioni:

                           La dia
                              dt     = −iaRa − kmω + Va
                             dω
                           J dt      = kmia − Cc


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

                    x1 = x2
                    ˙
                              2                             ˙
                             km
                    x2 =
                    ˙      − La   x1 − Ra x2 −
                                       L
                                         a       Ra
                                                 JLa   Cc + Cc + JLa u
                                                            J
                                                                 km



   Considerando una traiettoria di riferimento ω0(t) e l’errore di inseguimento
e = ω0 − ω, si pu` definire la superficie di sliding s = e + λe.
                 o                                     ˙
Nonlinear Control                                                  Sliding Mode - Pag. 181


   Per ottenere la condizione di Sliding Mode, si pu` imporre al motore la
                                                    o
tensione discontinua:


                                 u = V0 sign(s)

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

 s = ω0 − x1 + λω0 − λx1
 ˙   ¨    ¨     ˙      ˙
                             2                              ˙
                            km
      = ω0 + λω0 − λx1 +
        ¨     ˙      ˙      La   x1 + Ra x2 +
                                      L
                                        a        Ra
                                                J La   Cc + Cc − JkLa V0 sign(s)
                                                            J
                                                                   m




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

          km                         2
                                    km      Ra               Ra       ˙
                                                                      Cc
              V0 ≥ ω0 + λω0 − λx1 +
                   ¨     ˙      ˙      x1 +    x2 +              Cc +
         J La                       La      La              J La      J
Nonlinear Control                                                               Sliding Mode - Pag. 182

    Tipicamente, un motore elettrico DC pu` essere controllato con tensione
                                            o
discontinua, tramite convertitori di potenza a commutazione (H-Bridge) del
tipo:




   Il progetto di controllo in Sliding Mode permette quindi di determinare la
tensione del ponte necessaria per avere perfetto inseguimento di velocit`.
                                                                        a
    NOTA: Purtroppo, per raggiungere tale condizione ideale ` necessaria una misura dell’ac-
                                                                 e
celerazione del motore, ottenibile solo con misure indirette (corrente) e/o osservatori asintotici
(peraltro utili anche per il by-pass di dinamiche parassite).

Nonlin tutto 2009

  • 1.
    Nonlinear Control - Pag. 1 Applicazioni di Controllo per Sistemi Non Lineari Marcello Bonf` e Dipartimento di Ingegneria Universit` di Ferrara a Tel. +39 0532 974839 Fax. +39 0532 974870 E-mail: mbonfe@ing.unife.it
  • 2.
    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 Mode Control) ed applicazioni
  • 3.
    Nonlinear Control Introduzione - Pag. 3 Sistemi Dinamici: Lineari / Nonlineari • Sistema dinamico: oggetto o fenomeno il cui comportamento (manifestato da 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) = A x(t) + B u(t) ˙ y(t) = C x(t) + D u(t) • Modelli nonlineari: x(t) = f (x(t), u(t), t) ˙ y(t) = h(x(t), u(t), t)
  • 4.
    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 realt`, valida per a limitate (!) condizioni di funzionamento – alcune nonlinearit` non sono approssimabili linearmente (es. discontinuit`) a a – anche l’adattamento on-line di parametri del controllore ` formalmente e una nonlinearit`a – il progetto richiede maggiore approfondimento delle leggi fisiche che determinano la dinamica del sistema (v. stabilit` del pendolo) a
  • 5.
    Nonlinear Control Introduzione - Pag. 6 Esempio: pendolo • Approccio lineare: trovare un modello ˙ x = Ax + Bu (con x = [θ θ]T ), valido ˙ in un intorno del punto di equilibrio x = 0 (es. ipotesi sin θ ≈ θ) e dimostrare che gli autovalori di A sono a parte reale negativa e/o trovare u = −Kx che li renda tali • Approccio nonlineare: dato il modello θ x = f (x, u) valido ∀ x ∈ R2, dimostrare che ˙ M x = 0 ` un punto a minima energia, pertanto e M ogni traiettoria dello stato tende a dissipare l’energia del sistema fino a raggiungere tale minimo (es. attriti) e/o trovare u = g(x) che renda il sistema dissipativo (⇒ stabile)
  • 6.
    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 di gravit`, b il coefficiente di attrito viscoso alla cerniera e τ la coppia esercitata, ad esempio, da un motore elettrico a connesso alla cerniera, il modello dinamico del pendolo ` rappresentato dall’equazione: e 2¨ ˙ M R θ + bθ + M gR sin θ = τ ˙ nella quale τ rappresenta l’ingresso di controllo. Considerando come variabili di stato x1 = θ e x2 = θ e ponendo u = τ , si pu` ricondurre l’equazione precedente alla forma x = f (x, u): o ˙ x1 ˙ = x2 g b x + u x2 ˙ = − R sin x1 − M R2 2 M R2 per cui x = [θ θ]T ed f (x, u) = [f1 (x, u) f2 (x, u)]T nella quale chiaramente ˙ f1 (x, u) = x2 g f2 (x, u) = − R sin x1 − b 2 x2 + u 2 . MR MR I punti di equilibrio (x = 0) sono dati dalle soluzioni della equazione f (x) = 0, cio`: ˙ e x2 = 0, sin x1 = 0
  • 7.
    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 pu` essere fatta grazie all’approssimazione di Taylor delle funzioni f1 o ed f2 rispetto ai due punti di equilibrio, trascurando i termini di ordine superiore al primo. Intuitivamente, questo corrisponde a considerare sin x1 ≈ x1 se x1 ≈ 0 e sin x1 ≈ −x1 se x1 ≈ π , che permette di ottenere i seguenti due modelli del tipo x = Ax + Bu: ˙ x1 ˙ 0 1 x1 0 = g + 1 u x2 ˙ −R − b2 x2 MR M R2 e x1 ˙ 0 1 x1 0 = g + 1 u x2 ˙ +R − b2 x2 MR M R2 Si noti che il sistema libero (cio` senza l’ingresso) risulta avere autovalori e −b R3 ± −4 g M 2 R+b2 R6 λ1,2 = 2M R , nel primo caso, e 5 −b R 2 ± 4 g M 2 +b2 R5 λ1,2 = √ 2M R nel secondo caso. Si pu` facilmente verificare che tali autovalori sono sempre entrambi a parte reale negativa nel o primo caso (punto di equilibrio stabile) ed entrambi a parte reale positiva nel secondo caso (punto di equilibrio instabile).
  • 8.
    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 ` non singolare, ed esso ` stabile e e per ogni x(t0), se gli autovalori di A hanno parte reale negativa • la risposta del sistema ` determinabile analiticamente e • noto l’andamento nel tempo di u(t), la risposta ` data, per sovrapposizione e degli effetti, da: t x(t) = eA(t−t0)x(t0) + eA(t−τ )Bu(τ )dτ t0 risposta libera risposta forzata
  • 9.
    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 uscite sinusoidali della stessa frequenza • Ampiezza e sfasamento delle sinusoidi in uscita dipendono dalla matrice di trasferimento: G(s) = C(sI − A)−1B + D
  • 10.
    Nonlinear Control Introduzione - Pag. 10 Analisi frequenziale di sistemi LTI SISO • Nel caso Single Input Single Output (SISO) (y(t), u(t) ∈ R) la matrice di trasferimento degenera in una funzione di trasferimento scalare, sempre di tipo razionale fratta (poli-zeri) • I metodi classici della teoria del controllo si basano sullo studio delle funzioni di trasferimento dei blocchi costitutivi del sistema (plant, controllore, filtri, trasduttori ecc.) e di quelle ottenute dalla loro composizione (es. funzione di trasferimento d’anello): – diagrammi di Bode – diagrammi di Nyquist – luogo delle radici (mappa poli-zeri) – progetto di reti correttrici e/o PID
  • 11.
    Nonlinear Control Introduzione - Pag. 11 Bode Diagrams From: U(1) 20 10 0 −10 Phase (deg); Magnitude (dB) −20 −30 −40 0 −50 To: Y(1) −100 −150 −200 −1 0 1 10 10 10 Frequency (rad/sec)
  • 12.
    Nonlinear Control H Introduzione - Pag. 12 ramo diretto ramo di retroazione y x + e G ingresso uscita + z nando come nel caso precedente si ha: H G y=Gx+GHy, ramo di ossia retroazione y= x 1 − GH Ragionando come nel caso precedente si ha: efinitiva lo schema a: che equivale equivalente è il seguente: G x y=Gx+GHy, ossia y= y 1 − GH x G e in definitiva lo schema equivalente è 1 − GH il seguente: x y G ) Riduzione di un anello in retroazione 1 − GH unitaria (negativa o positiva)
  • 13.
    Nonlinear Control Introduzione - Pag. 13 Caratteristiche (cattive) dei modelli nonlineari Nel caso pi` generale, la dinamica di un sistema ` del tipo x = f (x, u, t): u e ˙ • il sistema pu` avere molteplici punti di equilibrio, la cui stabilit` pu` o a o dipendere dalle condizioni iniziali • anche la risposta libera del sistema pu` essere stabilmente oscillatoria (cicli o limite 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 grandissime differenze nella risposta del sistema (comportamento caotico)
  • 14.
    Nonlinear Control Introduzione - Pag. 14 Esempio: oscillatore di Van der Pol Tipico modello di un sistema caratterizzato da un ciclo limite, studiato da Balthasar Van der Pol negli anni ’20: m¨ + 2c(x2 − 1)x + kx = 0 x ˙ che descrive sia circuiti elettrici RLC con resistenze variabili nonlinearmen- te, che gruppi massa-molla-smorzatore con un coefficiente di smorzamento dipendente dalla posizione (NOTA: no input!). Il comportamento oscillatorio pu` essere spiegato considerando che se x2 > 1 o lo smorzatore ha coefficiente positivo e quindi dissipa energia, mentre se x2 < 1 fornisce energia. Lo stato del sistema non pu` quindi n` convergere a 0, n` o e e divergere all’∞.
  • 15.
    Nonlinear Control Introduzione - Pag. 15 Oscillatore di Van der Pol: risposta Van der Pol oscillator 2 1.5 1 0.5 x(t) 0 −0.5 −1 −1.5 0 5 10 15 20 25 30 35 40 time (sec)
  • 16.
    Nonlinear Control Introduzione - Pag. 16 Oscillatore di Van der Pol: traiettorie dello stato con ciclo limite x’=y 2 y ’ = − 2 (x − 1) y − x 5 4 3 2 1 x(t) ˙ 0 −1 −2 −3 −4 −5 x(t) −3 −2 −1 0 1 2 3
  • 17.
    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
  • 18.
    Nonlinear Control Analisi - Pag. 19 Analisi nel piano delle fasi • Si cerca di tracciare le traiettorie dello stato del sistema su un grafico bi(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/cicli limite e di studiarne le caratteristiche
  • 19.
    Nonlinear Control Analisi - Pag. 20 Sistemi del secondo ordine • Nella forma pi` generale: u x1 = f1(x1, x2) ˙ x2 = f2(x1, x2) ˙ che per ogni condizione iniziale x(0) = x0 ha una soluzione x(t), il cui tracciato nel piano (x1, x2) per t ∈ [0, ∞) rappresenta una traiettoria del sistema. • Una famiglia di traiettorie generate a partire da diverse condizioni iniziali costitutisce una mappa delle fasi.
  • 20.
    Nonlinear Control Analisi - Pag. 21 Tipica dinamica del secondo ordine • Una classe tipica di sistemi del secondo ordine (massa-molla-smorzatore, circuiti RLC) ` quella descrivibile da un’equazione differenziale del tipo: e x + f (x, x) = 0 ¨ ˙ che pu` essere ricondotta a: o x1 = x2 ˙ x2 = −f (x1, x2) ˙ con x1 = x e x2 = x. ˙
  • 21.
    Nonlinear Control Analisi - Pag. 22 Esempio: massa-molla ideali (m x + k x = 0) e ¨ traiettorie marginalmente stabili . x M x
  • 22.
    Nonlinear Control Analisi - Pag. 24 Punti singolari nella mappa delle fasi • In generale, l’analisi di un sistema serve per determinare le caratteristiche dei suoi punti di equilibrio, cio` i punti nei quali x = 0, condizione che per e ˙ i 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, perch` in tali punti la tangente delle traiettorie dello stato ` indeterminata e e dx1 f2(x1, x2) 0 = = dx2 f1(x1, x2) 0
  • 23.
    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 cui condizione iniziale appartenga ad una determinata area (area di convergenza), il secondo si dimostra un punto dal quale le traiettorie possono divergere (v. grafico successivo)
  • 24.
    Nonlinear Control Analisi - Pag. 26 8 area di 6 convergenza 4 2 instabile x(t) 0 ˙ -2 -4 -6 -8 -6 -4 -2 0 2 4 6 x(t)
  • 25.
    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 tutte le altre divergono • Punti di centro di traiettorie chiuse ellittiche (v. gruppo massa-molla ideale)
  • 26.
    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 ` possibile semplificare ricavando x2 dalla prima equazione e sostitendola e nella seconda: x1 = (a1 + a4)x1 + (a3a2 − a1a4)x1 ¨ ˙ o, pi` in generale: u x + ax + bx = 0 ¨ ˙ le cui soluzioni sono univocamente caratterizzate dalle radici λ1 e λ2 del polinomio caratteristico: s2 + as + b = (s − λ1)(s − λ2) = 0
  • 27.
    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 Nonlinear Control Analisi - Pag. 29 3. λInand λ2 are complex conjugate with non-zero real parts 1 relazione alla “posizione” di λ1 e λ2 : 4. λ1 and λ2 are complex conjugate with real parts equal to zero λ 3
  • 28.
    Nonlinear Control Analisi - Pag. 30 Punti singolari e cicli limite nei sistemi nonlineari • Diversamente da un sistema lineare, un sistema nonlineare pu` avere o molteplici punti di equilibrio (punti singolari) • Tuttavia, un punto di equilibrio pu` essere studiato localmente considerando o la linearizzazione del sistema in un intorno del punto stesso (v. primo metodo di Lyapunov), per scoprire se sia un nodo, un fuoco, etc. • La presenza di cicli limite, possibile solamente nei sistemi nonlineari, e la loro stabilit` o instabilit` vanno studiate in modo specifico (es. teoremi di a a Poincare e Bendixson...)
  • 29.
    Nonlinear Control Analisi - Pag. 31 Cicli limite: analisi approssimata tramite le funzioni descrittive • In molti casi pratici, i cicli limite insorgono in un sistema ad anello chiuso a causa di nonlinearit` algebriche, cio` senza dinamica (es. saturazioni, giochi, a e etc.) • In questi casi, ` possibile studiare determinare l’esistenza del ciclo limite e attraverso una descrizione approssimata delle nonlinearit`, basato sulle a funzioni descrittive • Una funzione descrittiva ` una “funzione di trasferimento” (f.d.t.) complessa, e che lega le caratteristiche di una sinusoide all’ingresso a quelle di una sinusoide all’uscita nell’ipotesi di regime oscillatorio persistente (ciclo limite) • Una f. descrittiva ` f. dell’ampiezza della sinusoide d’ingresso (non e della pulsazione), e determina il rapporto fra la componente fondamentale dell’oscillazione in uscita e la sinusoide d’ingresso.
  • 30.
    Nonlinear Control Analisi - Pag. 32 Ipotesi per l’analisi con funzioni descrittive 1. Sistema retroazionato, con ingresso di riferimento nullo (r(t) = 0 nello schema seguente) 2. La parte lineare (G(jω) nello schema seguente) agisce come filtro passa-basso 3. Si pu` supporre che nel punto A dello schema seguente e(t) = E sin(ω t) o (dall’ipotesi 2) 4. La nonlinearit` ` puramente algebrica ed ` simmetrica ae e
  • 31.
    DESCRIBING FUNCTION Nonlinear Control Analisi - Pag. 33 Schema a blocchi di riferimento Nonlinearity Linear part r(t) = 0 + e(t) n(t) c(t) N(e) G(jω) - A B
  • 32.
    Nonlinear Control Analisi - Pag. 37 Determinazione dei cicli limite con la funzione descrittiva • Il sistema mostrato in precedenza ` sede di un’oscillazione persistente se e N (E)G(jω) = −1 con N (e) funzione descrittiva della nonlinearit`, per il criterio di Nyquist) a • Questa condizione pu` essere determinata graficamente dall’analisi di un dia- o gramma di Nyquist di G(jω) sovrapposto alla rappresentazione di −1/N (E) sullo stesso piano complesso (graduato in E anzich` in ω) e • Il punto d’incontro delle due curve permette di determinare ampiezza E (da N (E)) e pulsazione ω (da G(jω)) delle oscillazioni autosostenute
  • 33.
    Nonlinear Control Analisi - Pag. 38 (frequency domain)con rel` con soglia Diagramma di Nyquist e j Im{ ( jω)} G y (1/ K, j0) ω= 0 1 φm Re{ ( jω)} G K −1/ N (a) ω = ωc gnal u(t),
  • 34.
    Nonlinear Control Analisi - Pag. 39 Note conclusive sul metodo della funzione descrittiva • Il metodo ` approssimato, pertanto pu` verificarsi che: e o 1. sia l’ampiezza che il periodo delle oscillazioni sono diverse da quelle rilevate sperimentalmente 2. un ciclo limite previsto in realt` non esiste a 3. un ciclo limite esistente non ` previsto e
  • 35.
    Nonlinear Control Analisi - Pag. 40 Analisi con i metodi di Lyapunov • L’unico approccio rigoroso ed esaustivo per l’analisi dei sistemi nonlineari (di qualsiasi tipo e ordine) ` quello basato sulla teoria sviluppata dal matema- e tico russo Aleksandr Mikhailovich Lyapunov, pubblicata per la prima volta nel 1892, ma riconsiderata nel contesto dei controlli automatici solamente a partire 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 di tipo “energetico” (potenzialmente pi` intuitive) possono essere di ausilio u nell’analisi di stabilit` e nel progetto del controllo a
  • 36.
    Nonlinear Control Analisi - Pag. 41 Aleksandr Mikhailovich Lyapunov (1857-1918) • Professor of Mechanics at St. Petersburg
  • 37.
    Nonlinear Control Analisi - Pag. 42 Punti di equilibrio e stabilit`: definizioni a Nella teoria di Lyapunov, si intende sistema dinamico un sistema libero e autonomo, caratterizzato dall’equazione x = f (x) (se x = f (x, t) ` libero, ma ˙ ˙ e non autonomo) Definizione 1 Uno stato x ` detto stato di equilibrio (o punto di equilibrio) e di un sistema dinamico, se dall’istante t al quale x(t) ` uguale a x , x(t) e rimane uguale a x per ogni istante successivo Matematicamente, i punti di equilibrio sono ottenuti dalla soluzione della equazione: 0 = f (x )
  • 38.
    Nonlinear Control Analisi - Pag. 42 Note sul lucido 42 I concetti di stabilit` descritti nel seguito fanno sempre riferimento allo specifico punto di equilibrio x = 0. a Tuttavia, ci` non implica una perdita di generalit`, in quanto per ogni punto di equilibrio x = 0 ` possibile o a e ricondurre lo studio di stabilit` a quello dell’origine, effettuando il cambiamento di variabile: a y =x−x e studiando la stabilit` di y = 0 per il sistema y = f (y + x ), in modo assolutamente equivalente. a ˙ In modo analogo, ` possibile ricondurre lo studio della stabilit` di una traiettoria nominale di un sistema e a dinamico, cio` una soluzione dell’equazione differenziale x = f (x) con condizione iniziale x (0) = x0 , in e ˙ presenza 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.
  • 39.
    Nonlinear Control Analisi - Pag. 43 Punti di equilibrio e stabilit`: definizioni - 2 a Definizione 2 Il punto di equilibrio x = 0 di un sistema x = f (x) ` detto ˙ e stabile 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) ` detto ˙ e asintoticamente stabile se ` stabile ed ∃ r > 0, t.c. e x(0) < r ⇒ x(t) → 0 per t → ∞. Definizione 4 Il punto di equilibrio x = 0 di un sistema x = f (x) ` detto ˙ e esponenzialmente stabile se ` stabile ed ∃ r > 0, ∃ α > 0, ∃ λ > 0, t.c. e x(0) < r ⇒ ∀ t > 0, x(t) ≤ α x(0) e−λt.
  • 40.
    Nonlinear Control Analisi - Pag. 44 Concepts of Stability Rappresentazione “grafica” della stabilit` secondo Lyapunov(1 a = asintoticamente stabile, 2 = marginalmente stabile, 3 = instabile): It is im differ intuit trajec and f syste blowi alway syste syste
  • 41.
    Nonlinear Control Analisi - Pag. 45 Punti di equilibrio e stabilit`: definizioni - 3 a Definizione 5 Se x = 0 ` un punto di equilibrio asintoticamente (esponen- e zialmente) stabile, la regione x(0) < r con r massimo, ` detta dominio di e attrazione. Definizione 6 Se x = 0 ` un punto di equilibrio asintoticamente (espo- e nenzialmente) stabile ∀ x(0) ∈ Rn, il sistema si dice globalmente asintoticamente (esponenzialmente) stabile. NOTA: la stabilit` asintotica di un sistema LTI ` sempre anche esponenziale a e e globale.
  • 42.
    Nonlinear Control Analisi - Pag. 46 Primo metodo di Lyapunov: linearizzazione Dato un sistema x = f (x), con 0 punto di equilibrio ed f differenziabile in ˙ modo continuo, ` possibile scrivere: e ∂f x= ˙ x + fh.o.t.(x) ∂x x=0 essendo f (0) = 0 (il pedice h.o.t. sta per higher order terms). Ponendo: ∂f A= ∂x x=0 il sistema x = Ax ` detto approssimazione lineare nel punto di equilibrio ˙ e 0 del sistema nonlineare originale.
  • 43.
    Nonlinear Control Analisi - Pag. 47 Primo metodo di Lyapunov: linearizzazione - 1 Analogamente, se x = f (x, u) si pu` scrivere: ˙ o ∂f ∂f x= ˙ x+ u + fh.o.t.(x, u) ∂x (x=0,u=0) ∂u (x=0,u=0) approssimabile a x = Ax + Bu con: ˙ ∂f ∂f A= B= ∂x (x=0,u=0) ∂u (x=0,u=0)
  • 44.
    Nonlinear Control Analisi - Pag. 47 Note sul lucido 47 Si noti che l’approssimazione lineare pu` essere fatta rispetto ad un qualunque altro punto di equilibrio x o diverso dall’origine, con ingresso costante pari a u : ∂f ∂f x≈ ˙ (x − x ) + (u − u ) ∂ x (x=x ,u=u ) ∂ u (x=x ,u=u ) purch` sia sempre valida l’ipotesi f (x , u ) = 0, nel qual caso possiamo definire come nuove variabili di stato e e di ingresso le variazioni rispetto ai valori di equilibrio: x=x−x ˜ u=u−u ˜ cosicch` ponendo: e ∂f ∂f A= B= ∂ x (x=x ,u=u ) ∂ u (x=x ,u=u ) ˙ ˜ ˜ ˜ si ottiene il sistema dinamico linearizzato rispetto alle variazioni x = Ax + Bu. Si noti che l’operazione di linearizzazione pu` essere fatta anche rispetto a un punto non di equilibrio, o ˙ = Ax + Bu + f (x , u ) (con f (x , u ) costante). ˜ rispetto al quale la linearizzazione sar` del tipo x a ˜ ˜
  • 45.
    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 ` strettamente stabile ˙ e ( equiv. tutti gli autovalori di A sono a parte reale strettamente negativa), allora il punto di equilibrio ` asintoticamente stabile per il sistema nonlineare e originale • Se il sistema approssimato linearmente con x = Ax ` instabile ( equiv. ˙ e almeno un autovalore di A ha parte reale strettamente positiva), allora il punto di equilibrio ` instabile per il sistema nonlineare originale e • Se il sistema approssimato linearmente con x = Ax ` marginalmente stabile ˙ e ( equiv. tutti gli autovalori di A sono a parte reale negativa, ma almeno uno ha parte reale nulla), allora non ` possibile concludere nulla sulla e stabilit` del punto di equilibrio per il sistema nonlineare originale (pu` essere a o marginalmente stabile, asintoticamente stabile o instabile)
  • 46.
    Nonlinear Control Analisi - Pag. 49 Secondo metodo di Lyapunov: metodo diretto • I risultati del primo metodo di Lyapunov sono validi solo localmente, cio` e fintanto che l’approssimazione ` ragionevole e • Indipendentemente dal caso di stabilit` marginale, la linearizzazione non a permette di concludere nulla sulla stabilit` in senso globale a • Il secondo metodo di Lyapunov (metodo diretto) si basa invece sulla seguente intuizione fondamentale di natura fisico, che permette di analizzare la stabilit` sia in senso locale che globale: a “Se l’energia complessiva di un sistema ` continuamente dissipata, il sistema e (lineare o nonlineare che sia) si stabilizzer` prima o poi in una condizione di a equilibrio (caratterizzata da energia minima)”
  • 47.
    Nonlinear Control Analisi - Pag. 50 Esempio: gruppo massa-molla-smorzatore nonlineare nonlineari M Sistema caratterizzato dal modello: m¨ + bx|x| + k0x + k1x3 = 0 x ˙ ˙
  • 48.
    Nonlinear Control Analisi - Pag. 51 L’energia complessiva del sistema ` data dalla somma dell’energia cinetica e e dell’energia potenziale (associata alle forze elastiche): x 1 1 1 1 V (x) = mx2 + ˙ (k0x + k1x3)dx = mx2 + k0x2 + k1x4 ˙ 2 0 2 2 4 dalla quale si evince che: • nel punto di equilibrio (x = 0, x = 0) il sistema ha energia nulla ˙ • l’eventuale stabilit` asintotica implica la convergenza a 0 dell’energia a complessiva • l’eventuale instabilit` ` riconducibile ad un incremento dell’energia a e complessiva
  • 49.
    Nonlinear Control Analisi - Pag. 52 Per il sistema in esame, la variazione di energia lungo le traiettorie del sistema si pu` calcolare differenziando V (x) e sostituendo nell’espressione o ottenuta l’equazione della dinamica: ˙ (x) = mx¨ + (k0x + k1x3)x (¨=f= x)) x(−bx|x|) = −b|x|3 V ˙x ˙ x (x, ˙ ˙ ˙ ˙ ˙ che ` negativa fintanto che x = 0. Pertanto l’energia complessiva del e ˙ sistema ` continuamente dissipata a causa dello smorzatore (nonlineare) e la e massa si assester` nell’origine con energia nulla (velocit` nulla e forze elastiche a a nulle), indipendentemente dalla posizione di partenza (stabilit` globale). a
  • 50.
    Nonlinear Control Analisi - Pag. 53 Funzioni di Lyapunov e stabilit`: definizioni a Definizione 7 Una funzione scalare continua V (x) ` detta localmente e definita positiva se V (0) = 0 ed ∃ R > 0 t.c. x < R, x = 0 ⇒ V (x) > 0 Se la precedente condizione vale ∀ x ∈ Rn, allora V (x) ` detta e globalmente definita positiva Definizioni analoghe: semi-definita positiva (V (x) ≥ 0), definita negativa (V (x) < 0), semi-definita negativa (V (x) ≤ 0) Poich` in questo contesto x rappresenta lo stato di un sistema dinamico, e V (x) ` implicitamente funzione di t. Supponendo V (x) differenziabile: e ˙ ∂V ∂V V = x= ˙ f (x) ∂x ∂x
  • 51.
    Nonlinear Control Analisi - Pag. 54 Funzioni di Lyapunov e stabilit`: definizioni - 1 a Definizione 8 Se una funzione V (x) ` definita positiva, ha derivate parziali e continue e la sua derivata rispetto al tempo lungo ogni traiettoria di un sistema x = f (x) ` semi-definita negativa, allora V (x) ` detta una funzione ˙ e e di Lyapunov per x = f (x). ˙ Teorema 2 (Stabilit` locale) a Il punto di equilibrio x = 0 del sistema x = f (x) ` stabile se ∃ V (x) con ˙ e derivate parziali prime continue t.c. • V (x) ` localmente definita positiva e ˙ • V (x) ` localmente semi-definita negativa e ˙ Se la derivata V (x) ` localmente definita negativa, la stabilit` di 0 ` asintotica. e a e
  • 52.
    Nonlinear Control Analisi - Pag. 55 Rappresentazione “concettuale” del Teorema CAPITOLO 1. EQUAZIONI DIFFERENZIALI 18 di Lyapunov sulla stabilit` locale: a z z=V(x) x (t) x2 xe x1 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=v ˙
  • 53.
    Nonlinear Control Analisi - Pag. 56 Funzioni di Lyapunov e stabilit`: definizioni - 2 a Teorema 3 (Stabilit` globale) a Il punto di equilibrio x = 0 del sistema x = f (x) ` globalmente asintoticamente ˙ e stabile se ∃ V (x) con derivate parziali prime continue t.c. • V (x) ` globalmente definita positiva e ˙ • V (x) ` globalmente definita negativa e • 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 realt` esistere un’altra a funzione di Lyapunov con derivata definita negativa che permette di dimostrare la stabilit` a 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 stabilit`, non l’instabilit`. a a
  • 54.
    Nonlinear Control Analisi - Pag. 56 Note sul lucido 56 La dimostrazione delle stabilit` di un sistema attraverso la scelta di una funzione di Lyapunov ` quindi un a e procedimento sostanzialmente per prove ed errori (trial-and-error ). Tuttavia, il fatto che i teoremi sulla stabilit`a di Lyapunov siano la formalizzazione del concetto intuitivo “dissipazione di energia = stabilit`”, permette in a molti 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 analizzato nell’introduzione, la funzione 1 2 2 V1 (x) = M R x2 + M Rg(1 − cos x1 ) 2 ˙ e dove x1 = θ e x2 = θ , ` in effetti l’energia meccanica totale (cinetica + potenziale) ed ` una funzione che, per e il punto di equilibrio (0,0), ` localmente definita positiva. La sua derivata rispetto al tempo `: e e ˙ 2 2 b 2 b 2 V1 (x) = M Rg x1 sin x1 + M R x2 x2 = M Rg x1 sin x1 + M R x1 x1 = − ˙ ˙ ˙ ˙ ¨ 2 x1 = − ˙ x 2 2 MR MR che ` semi-definita negativa, il che permette di dimostrare la stabilit` semplice di (0,0). Tuttavia, ponendo per e a 2 semplicit` b/M R = 1 e g/R = 1 e scegliendo come funzione di Lyapunov la seguente a 1 2 1 2 V2 (x) = x2 + 2(1 − cos x1 ) + (x2 + x1 ) 2 2
  • 55.
    Nonlinear Control Analisi - Pag. 57 si pu` verificare che: o ˙ 2 V1 (x) = −(x2 + x1 sin x1 ) ≤ 0 ` in effetti localmente definita negativa. Pertanto, con questo secondo tentativo di costruzione di una funzione di e Lyapunov, includendo un termine che non ha un significato fisico ben preciso, ` possibile dimostrare l’asintotica e stabilit` del punto (0,0). a Potrebbe quindi sembrare che il procedimento di Lyapunov per la dimostrazione della stabilit` di un punto di a equilibrio, soprattutto quella asintotica, sia lungo e difficoltoso (trovare la “giusta” f. di Lyapunov). In realt`, a alcune propriet` di convergenza delle traiettorie di un sistema, compresa quindi la stabilit` asintotica di un punto, a a possono essere dimostrate grazie ai teoremi sugli insiemi invarianti, dovuti a La Salle, enunciati nel seguito.
  • 56.
    Nonlinear Control Analisi - Pag. 58 Funzioni di Lyapunov e stabilit`: definizioni - 3 a Definizione 9 Un insieme M ⊆ Rn ` un insieme invariante di un sistema e dinamico se ogni traiettoria che parte da una condizione iniziale x0 ∈ M rimane in M per ogni istante futuro Teorema 4 (Invariante locale) Dato un sistema x = f (x), con f continua, e una funzione V (x) con derivate ˙ parziali prime continue, se: • ∃ l > 0 t.c. la regione Ωl definita da V (x) < l ` limitata e ˙ • V (x) ≤ 0 ∀ x ∈ Ωl ˙ • E ∈ Ωl t.c. V (x) = 0 e M ` il maggiore insieme invariante contenuto in E e allora ogni traiettoria x(t) con condizione iniziale x0 ∈ Ωl tende a M per ˙ t→∞
  • 57.
    Nonlinear Control Analisi - Pag. 59 Funzioni di Lyapunov e stabilit`: definizioni - 4 a Teorema 5 (Invariante globale) Dato un sistema x = f (x), con f continua, e una funzione V (x) con derivate ˙ parziali prime continue, se: • V (x) → ∞ per x → ∞ ˙ • V (x) ≤ 0 ∀ x ∈ Rn ˙ • E ∈ Ωl t.c. V (x) = 0 e M ` il maggiore insieme invariante contenuto in E e allora ogni traiettoria x(t) con condizione iniziale x0 ∈ Ωl tende in modo ˙ globalmente asintotico a M per t → ∞
  • 58.
    . Let be a function such that ¨© ¨ () ! ¨ () § ' '   ' for PSfrag replacements . Let be the set of points in where . If is ¨ ¨© () ¨ Nonlinear Control Analisi - Pag. 60 the largest invariant set in , then every solution with Rappresentazione “concettuale” del principio di invarianza di La Salle: ( ) approaches as . § 9 ! £ ' placements ¨ () ¨ § § Note that must not be a positive definite function ' ¡ £ Lecture 4 19 October 16, 20
  • 59.
    Nonlinear Control Analisi - Pag. 60 Note sul lucido 60 Grazie ai teoremi esposti precedentemente, che definiscono il cosiddetto Principio di invarianza di La Salle, ` possibile dimostrare la stabilit` asintotica dell’origine per il pendolo visto in precedenza, anche solo e a considerandone l’energia meccanica totale come funzione di Lyapunov. Infatti, considerando 1 2 2 V (x) = M R x2 + M Rg(1 − cos x1 ) 2 risulta ˙ b 2 V (x) = − x2 ≤ 0 M R2 che ` ovviamente limitata in qualsiasi intorno di (0,0) e nulla, se b = 0, lungo tutto l’asse x1 , perci` e o E = {(x1 , x2 ) : x2 = 0}. Tuttavia, il maggiore insieme invariante M contenuto in E ` rappresentato dal e solo punto (0,0), al quale quindi convergono tutte le traiettorie con condizione iniziale in un intorno del punto ˙ ˙ stesso. Infatti, la condizione x2 = θ = 0 con x1 = θ = 0 non pu` essere invariante, perch` se fosse θ = 0 ∀t o e ¨ dovrebbe anche essere θ = 0 ∀t, condizione che per` implica (dall’equazione dinamica) anche sin θ = 0, cio` o e (localmente) θ = 0. Pertanto, il punto nel quale il pendolo ` fermo con θ = 0 ` un punto asintoticamente stabile per qualsiasi e e valore diverso da 0 del coefficiente di attrito viscoso alla cerniera, come ` ovvio anche da una osservazione e intuitiva basata sui soli principi fisici.
  • 60.
    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 nel contesto dei sistemi nonlineari una connotazione molto pi` significativa u • Nel secondo caso gli effetti delle nonlinearit` possono diventare determinanti a soprattutto per traiettorie con rapide variazioni
  • 61.
    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 di ˙ controllo u tale che x(t) → xd per t → ∞ • Inseguimento: dato x = f (x, u, t), con uscita misurabile y = h(x), ed una ˙ traiettoria yd(t) desiderata, trovare una legge di controllo u tale che l’errore di inseguimento (tracking error ) y(t) − yd(t) tenda a zero, mentre x rimane limatato 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 ` raggiunta in modo asintotico) e NOTA 2: L’inseguimento perfetto pu` essere ottenuto solamente se yd(t) ` nota a priori, o e comprese le sue derivate fino all’ordine pari a quello della dinamica del sistema x = f (x, u, t). ˙
  • 62.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 68 Esempio: stabilizzazione del pendolo Si consideri un pendolo senza attrito, attuato alla base dalla coppia τ : ¨ M R2θ + M gR sin θ = τ Una legge di controllo che risolve il problema di regolazione in θ = 0 potrebbe essere: ˙ τ = −Kp θ − Kd θ +M gR sin θ PD compens. gravita grazie alla quale la dinamica diventa: ¨ ˙ M R 2 θ + Kd θ + Kp θ = 0 che risulta stabile ∀ Kp, Kd 0 (` identica a quella di un gruppo e massa-molla-smorzatore lineare).
  • 63.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 69 Note sulla stabilizzazione del pendolo • Il controllo ` composto da un termine di feedback lineare e da un termine e nonlineare il cui ruolo ` quello di effettuare la cancellazione della nonlinearit` e a ˙ del sistema (f. solo di θ, non di θ, ma ` trascurato l’attrito) e ˙ • Il feedback lineare include termini proporzionali a θ e a θ, che equivalgono ad inserire una molla e uno smorzatore virtuale, scelta giustificata dall’analisi di stabilit` secondo Lyapunov gi` vista a a • La cancellazione delle nonlinearit`, almeno di quelle dominanti (es. gravit`), a a permette di determinare in modo pi` semplice la stabilit` del sistema con u a il controllo, ma assume un ruolo determinante nei problemi di inseguimento (tracking )
  • 64.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 70 Esempio: linearizzazione/tracking del pendolo ¨ ˙ ˙ Modello completo (attrito nonlineare): M R2θ + b(θ, θ)θ + M gRsinθ = τ “Trasformiamo” questa dinamica nonlineare in una lineare, con una legge di controllo che dipenda anche da un ulteriore ingresso “fittizio” v: ˙ ˙ τ = M R2v + b(θ, θ)θ + M gRsinθ ⇒ ¨ θ=v Ora, θ pu` essere forzata sulla traiettoria desiderata θd(t) dall’“ingresso” v o con 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 → ∞
  • 65.
    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. elasticit` del braccio non trascurabile) a • Tipico metodo per rendere il sistema robusto rispetto alle incertezze, cos`ı come ai disturbi, ` quello di aumentare il guadagno della parte di feedback e (PD) • Spingendo al limite questa tecnica, si introducono azioni di controllo che commutano tra valori positivi e negativi (± M) a seconda dell’errore di inseguimento e delle sue derivate (v. Sliding Mode) • Un tale termine “switching” equivale ad un’azione di feedback con guadagno ∞, ma valore assoluto limitato
  • 66.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 72 Stabilizzazione/Tracking nonlineare: soluzione ideale Date x = f (x, u, t) e y = h(x), trovare u = fu (x, x, t) e x = h−1(y): ˙ −1 ˙ LINEARIZZAZIONE IDEALE yd xd u x ˙ x y h (y) −1 fu (x, x, t) −1 ˙ f (x, u, t) h(x) 1 cos` y = yd!! ı
  • 67.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 73 Stabilizzazione/Tracking nonlineare: approccio “pratico” • La soluzione ideale mostrata prima `, per un caso generale, difficile (se e non impossibile) da trovare analiticamente • Teoricamente, con anche xd noto, non c’ bisogno di feedback ˙ • Purtroppo, nella pratica il modello nonlineare spesso non ` noto, ma il e controllo lineare fallisce • Allora, si cercano soluzioni non analitiche per fare svolgere il ruolo di h−1 −1 e fu da, ad esempio: – Reti Neurali – Logica Fuzzy – Tabelle di punti e interpolazione (Look-up table)
  • 68.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 74 Dallo schema ideale... LINEARIZZAZIONE IDEALE yd xd u x ˙ x y h (y) −1 fu (x, x, t) −1 ˙ f (x, u, t) h(x) 1
  • 69.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 75 ... a ... ????????????????? yd FUZZY LOGIC CONTROLLER u x ˙ x y f (x, u, t) h(x) 1 ????????????????? yd NEURAL NETWORK CONTROLLER u x ˙ x y f (x, u, t) h(x) 1
  • 70.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 76 Tecniche analitiche per il controllo nonlineare • Stabilizzazione alla Lyapunov: ricerca (trial-and-error ) di una legge di controllo, con forma prestabilita o meno, che renda idonea una f. di Lyapunov (v. stabilizzazione pendolo) • Gain scheduling: approssimazione lineare del sistema in diversi punti operativi e progetto di diversi controllori lineari per ciascun punto • Feedback linearization: formalizzazione del concetto intuitivo “cancellare le nonlinearit` con il controllo” (tipico in robotica) a • Sliding mode control: formalizzazione di stabilit` ed invarianza della a condizione di inseguimento perfetto nei confronti di incertezze e disturbi
  • 71.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 77 Nonlinear multivariable fligh Applicazioni reali delle tecniche analitiche Ola Härke Linköping
  • 72.
    Unconventional control surfaces NonlinearControl Approcci al controllo nonlineare - Pag. 78 Campo d’applicazione: controllo velivoli Ingressi (controllo): superfici di volo e spinta (elica o turbina) vs.
  • 73.
    ½¼ ÔØ Ö ¾ Ö Ö Nonlinear Control Approcci al controllo nonlineare - Pag. 79 Uscite (misure): velocit`, quota, assetto, ... a ψ p q θ V α γ φ ÔØ Ö ¾ Ö Ö Ø ÈÖ Ñ Ö ψ β V qÙÖ ¾º¾ Illustration of the aircraft orientation angles φ, θ, and ψ, the aero angles α and β, and the angular rates p, q, and r. In the figure, all angles are p θ V α γ r ¾º½º¿ Ö Ö ØÎÖ Ð× Considering the aircraft as a rigid body, its motion can be described by its orientation, velocity, and angular velocity over time. ÈÓ× Ø ÓÒ The position vector p is given by the aircraft orientation angles φ, θ, and ψ, the aerodynamic T gular rates p, q, and r. In the figure, all angles arep = ei pN positive. pE −h
  • 74.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 80 Modello velivolo: fortemente nonlineare Figure 3.2: Block-diagram of general rigid body dynamics FW aero FB aero juaero - MW MB - Aerodynamics aero - W !B aero - T FB prop juprop - MB - prop FB - Propulsion -X - - tot MB - tot Equations of Motion x- Z dt x - - _ - FE grav - E!B FB grav - x f x Ftot Mtot _ = ( ) Gravity T juwind - Wind FB wind q dyn - Corrections M ::: Atmosphere/ Airdata - 6
  • 75.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 81 Tipico in aviazione commerciale: Gain scheduling Gain Scheduling Controller parameters Gain schedule Operating condition Command signal Control signal Controller Process Output Example of scheduling variables • Production rate • Machine speed
  • 76.
    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 possibile espressa come funzione continua di un parametro σ, altrimenti come insieme discreto di punti x1, . . . , xk 2. Calcolare l’approssimazione lineare del sistema rispetto alla famiglia di punti di equilibrio: xσ (t) ˙ = A(σ) x(t) + B(σ) u(t) xr (t) ˙ = Ar x(t) + Br u(t) oppure , r = 1, . . . , k yσ (t) = C(σ) x(t) + D(σ) u(t) yr (t) = Cr x(t) + Dr u(t) 3. Progettare un controllore lineare con parametri f (σ), oppure k controllori lineari con parametri fissati, con riferimento al sistema approssimato 4. Se si sono ottenuti k controllori diversi, trovare un metodo per selezionarli in base alle condizioni operative (es. interpolazione)
  • 77.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 83 mple Water Tank gain scheduling: Esempio di controllo di livello flow qout Serbatoio con area sezione (A)qvariabile: depend on the inflow in? ity h V = 0 A(τ )dτ ˙ V ˙ = qi − a√2 g h = A(h) h sbalance √ qi −a 2 g h ˙ h = = f (h, qi) A(h) eometry con h = variabile d’uscita misurata, qi variabile d’ingresso (volume liquido ybalance in entrata), a sezione (costante) del tubo di uscita liquido e A(h) sezione he state. del tank
  • 78.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 84 Linearizzando il modello nonlineare rispetto ad un punto operativo fissato da h0 e qi = a 2 g h0, nel quale si considera A(h0) costante e h = h0 + δh, 0 si pu` ricavare un’equazione differenziale del primo ordine rispetto alla nuova o variabile di stato δh e al nuovo ingresso δqi: ˙ δqi a 2 g h0 δh = 0) − 0 ) h0 δh A(h 2 A(h dalla quale si pu` ricavare la seguente funzione di trasferimento: o β G(s) = s+α con: 0 1 a 2 g h0 qi β= α= = A(h0) 2 A(h0) h0 2 A(h0) h0
  • 79.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 85 Per tale funzione di trasferimento del plant, ` possibile progettare un e controllore PI, considerando e = (h0 − h) = −δh: 1 δqi = K e + e dτ Ti Ad esempio, imponendo che il sistema chiuso in retroazione abbia una f.d.t del secondo ordine con pulsazione naturale ω e smorzamento ζ, si possono calcolare: 2ζω − α 2ζω − α K= Ti = β ω2 calcolabili in linea in base al punto di lavoro (gain scheduling ): 0 0 a 2 g h0 0 2ζ a 2 g h0 K(h ) = 2ζωA(h ) − Ti(h ) = − 2 h0 ω 2 A(h0) h0 ω 2
  • 80.
    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 una sua sottoparte (es. assetto 3D, assetto laterale, assetto longitudinale, ecc.) modelli lineari che risultano, tipicamente, essere parametrizzati da variabili come altitudine, velocit` (true airspeed e/o Mach number), a ecc. • Le variabili che parametrizzano il modello e, di conseguenza, i controllori, sono anche variabili di stato del modello completo e sono considerate tali da controllori pi` esterni (es. controllo di altitudine) o dal sistema che u fornisce i riferimenti di navigazione
  • 81.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 87 Condizioni di volo:
  • 82.
    Considereremo Nonlinear Control ora il sistema di Navigazione, Guida e Controllo (NGC) del velivolo. nonlineare - Pag. Approcci al controllo 88 Lo schema classico di rappresentazione, come indicato nel testo [6], è il seguente: Schema completo del sistema di navigazione: Data-base delle traiettorie δe ,δa, δr, δth, (di riferimento) Disturbi(vento) ∆ψ, ∆H + Selettore di Sistema Controllo Velivolo e + Navigazione di Guida + Attuatori - X,Y,H X,Y,H V,α,β,P,Q,R,φ,θ,n X, Y, H Sensori e Filtri di Navigazione Figura 2.2 Schema a blocchi funzionale del sistema NGC Procediamo ora illustrando le funzionalità dei vari blocchi :
  • 83.
      ¢ Nonlinear Control Approcci al controllo nonlineare - Pag. 89 Flight Control Esempio: controllo di beccheggio (pitch) Pitch dynamics ˙ q=θ α θ V Nz δe ¡ £ Lecture 11 26 October 16, 2003
  • 84.
    The Pitch ControlChannel ¢ Nonlinear Control Approcci al controllo nonlineare - Pag. 90 VIAS H Pitch stick Gear VIAS Position Filter A/D K DSE H M H Σ − T1s K SG 1+ T1s Σ D/A Σ Acceleration Filter A/D D/A Σ To servos M Filter Pitch rate 1 Filter A/D 1+ T3 s K Q1 Σ K NZ Σ M H T2 s K QD 1+ T2 s H M VIAS £ Lecture 11 28 October 16, 2003
  • 85.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 91 Approccio tipico nell’aviazione militare: Ë Ø ÓÒ ¾º Ì ÅÁÊ Feedback linearization ÅÓ Ð ¾½ u7 , δr u3 , δroe u4 , δrie u5 , δlie u1 , δrc u6 , δloe u2 , δlc ÙÖ ¾ºADMIRE control surface configuration. ui are the commanded deflections and δ∗ are the actual deflections. ¾º Ì ÅÁÊ ÅÓ Ð
  • 86.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 92 High angle of attack volo Motivazione: condizioni di con transizioni pi` rapide ed elevati angoli u aerodinamici Ola Härkegård Nonlinear multivariable flight control Lund 2003-11-13
  • 87.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 93 Why fly-by-wire? Soluzione: controllo linearizzante e/o stabilizzante allo scopo di agevolare le manovre del pilota control stick Control surf. system sensors visual info, cockpit displays, etc.  Stabilize aircraft  Handling qualities  Advanced control surfaces  Autopilot functionality Ola Härkegård Nonlinear multivariable flight control Lund 2003-11-13
  • 88.
    imprecise knowledge ofinertia parameters, while dynamic uncertainty arises from joint and flexibility, actuator dynamics, friction, sensor noise, and unknown environment dynamics. We consider a Control manipulator with n—links interconnected by al controllo nonlinearea- Pag. 94 Nonlinear robot Approcci joints into kinematic n. Figure 1 shows a serial link (left) and a parallel link (right) manipulator. A parallel robot Campo d’applicazione: robotica (manipolatori) efinition, contains two or more independent serial link chains. For simplicity of exposition we re 1: A serial manipulator (left), the ABB IRB1400, and a parallel manipulator (right), the IRB940Tricept. Photos courtesy of ABB Robotics. confine our discussion to serial link manipulators with only rotational or revolute joints as n in Figure 2. Most of the discussion in this article remains valid for parallel robots and for ts with sliding or prismatic joints.
  • 89.
    obileNonlinear Control Robots (WMRs) Approcci al controllo nonlineare - Pag. 95 Campo d’applicazione: robotica (veicoli autonomi) MagellanPro Sojourner , a special case of nonholonomic behavior
  • 90.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 96 Controllo di robot manipolatori • Modello dinamico (q posizione giunti, τ coppia attuatori): M(q)¨ + C(q, q)q + Dq + g(q) = τ + J(q)T Fa q ˙ ˙ ˙ ˙ nel quale le matrici M(q) (inerzie) e C(q, q) (legata alle forze di Coriolis e centripete), la gravit` (g(q)) e delle forze di interazione con l’ambiente (Fa) a introducono notevoli nonlinearit`a • Controllo decentralizzato: ogni giunto viene controllato in modo indi- pendente, l’effetto delle nonlinearit` ` considerato un disturbo (approccio a e “storico”, ma semplicistico) • Controllo centralizzato: si considera il modello dinamico completo per l’a- nalisi di stabilit` e il progetto di leggi di controllo opportune (compensazione a gravit`, coppia precalcolata, dinamica inversa, etc.) a
  • 91.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 97 Approccio decentralizzato (M(q) = M+∆M(q), Kr rapporti di riduzione): disturbo (resto del robot..) q md + PID - singolo giunto
  • 92.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 98 Controllo centralizzato di robot manipolatori • Con l’approccio decentralizzato si progettano regolatori standard PID e si cerca di compensare il “disturbo” d nell’inseguimento di traiettorie con azioni ¨ ˙ in avanti (feedforward prop. a qd e qd) • Ovviamente, il “disturbo” della dinamica del robot ` calcolabile (off- e line per traiettorie ripetitive) grazie ad un buon modello matematico ⇒ Compensazione in avanti a coppia precalcolata • Ancora meglio, utilizzando una legge di retroazione nonlineare ` possibile e cancellare le nonlinearit` ⇒ Controllo a dinamica inversa (Feedback a linearization) • Incertezze di modellazione si possono compensare con feedback a guadagno elevato ⇒ Controllo robusto (Sliding mode)
  • 93.
    COMPENSAZIONE IN AVANTIA COPPIA PRE-CALCOLATA nsideri il Compensazione in avanti a coppia 2precalcolata: generale) Nonlinear Control Approcci al controllo nonlineare - Pag. 99 caso di un controllore PIDD (caso piu ariabile d'uscita del regolatore e: Z t a2e + a1e + a0 e + a;1 _ e( )d
  • 94.
    Nonlinear Control INDUSTRIALE ROBOTICA Approcci alProf. Bruno SICILIANO 100 controllo nonlineare - Pag. Controllo (centralizzato) PD + compensazione di gravit`: a ? dinamica del sistema controllato B(q)q + C (q q)q + F q + g(q) = g(q) + KP q KD q _ _ _ e _
  • 95.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 100 Note sul lucido 100 Come noto, le leggi di controllo pi` diffuse nelle applicazioni industriali sono quelle con struttura PID u (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 equilibrio qd : t τ = −Kp (q − qd ) − Kd q − Ki ˙ (q − qd )dτ 0 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 pu` determinare la dinamica dell’errore (ponendo o e = q − qd , e = q, ¨ = q e trascurando attriti ed interazioni con l’ambiente): ˙ ˙ e ¨ M(q)¨ + C(q, e)e + Kd e + Kp e + g(q) = 0 e ˙ ˙ ˙ Si noti che l’insieme dei punti di equilibrio (insieme invariante) per questa dinamica del secondo ordine (variabili di stato (e, e)) ` costituito da: ˙ e S = {(e, e) : Kp e + g(e + qd ) = 0, e = 0} ˙ ˙ L’analisi di stabilit` pu` essere condotta con l’approccio di Lyapunov, considerando la funzione: a o
  • 96.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 101 1 T T V ( e) = e M(q)e + e Kp e + U (q) + U0 ˙ ˙ 2 nella quale compaiono l’energia cinetica, quella potenziale dovuta alla gravit` (U (q)) ed alle molle “virtuali” a introdotte dal regolatore, pi` una costante opportuna U0 per soddisfare i requisiti di Lypunov (V (0) = 0 anche u se qd = 0). La derivata rispetto al tempo di V lungo le traiettorie della dinamica dell’errore diventa: ˙ T 1 T ˙ T T ∂U (q) T 2 V (e) = −e Kd e + e ˙ ˙ ˙ M(q) − 2C(q, e) e − e g(q) + e ˙ ˙ ˙ ˙ ≤ −λmin (Kd ) e ˙ 2 ∂q dove λmin (Kd ) ` il minimo autovalore di Kd . Per ottenere la disuguaglianza finale, si sfruttano le seguenti e considerazioni: • una propriet` notevole del modello dinamico dei robot manipolatori afferma che ` sempre possibile porre la a e ˙ ˙ matrice C(q, q) in forma tale da rendere la matrice N(q, q) = M˙ (q) − 2C(q, q) anti-simmetrica (per cui ˙ T n z N(q, q)z = 0 ∀ z ∈ R ) ˙ ∂U (q) T • ∂q = g(q) L’analisi di stabilit` ci conferma quindi che il controllo PD ` in effetti stabilizzante, come si era dimostrato a e anche per il caso del pendolo (un manipolatore con un unico link). Grazie al principio di invarianza di La Salle
  • 97.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 102 si dimostra inoltre che tutte le traiettorie del robot tendono asintoticamente all’insieme invariante S visto in precedenza. Tuttavia, se non si introducono azioni per la compensazione della gravit`, questo insieme invariante a contiene 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 gravit`. Tale errore pu` essere ridotto incrementando arbitrariamente la a o norma di Kp , ma ovviamente questa scelta non ` consigliabile nella pratica se si vogliono evitare sollecitazioni e eccessive della struttura robotica. L’errore a regime dovuto agli effetti della gravit` pu` essere eliminato introducendo una azione integrale nel a o regolatore (Ki = 0), anche se ` possibile dimostrare che questa soluzione non garantisce che i transitori durante e movimenti point-to-point abbiano prestazioni indipendenti dalla configurazione di partenza del manipolatore. Pi` spesso, si preferisce introdurre un termine di compensazione della gravit` (ed eventualmente dell’attrito), in u a modo analogo a quello visto per il pendolo. Con questa tecnica, la legge di controllo diventa: τ = −Kp (q − qd ) − Kd q + g(q) ˙ L’analisi di stabilit`, tramite la funzione di Lyapunov: a 1 T T V ( e) =e M(q)e + e Kp e ˙ ˙ 2 ˙ (e) = −eT Kd e ≤ −λmin (Kd ) e 2 V ˙ ˙ ˙ permette di affermare grazie al principio di invarianza di La Salle che il maggiore insieme invariante S al quale convergono asintoticamente le traiettorie del robot `: e S = {(e, e) : e = 0, e = 0} ˙ ˙ ⇒ NO ERRORE A REGIME!
  • 98.
    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 di Coriolis e centripete
  • 99.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 103 Note sul lucido 103 Dato il modello dinamico di un manipolatore: ˙ ˙ ˙ M(q)¨ + C(q, q)q + Dq + g(q) = τ q si pu` pensare di trasformare tale dinamica nonlineare tramite una legge di controllo unicamente basata sulla o cancellazione 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 cancellazione di tutti i termini, rimane l’equazione dinamica: M(q)¨ = M(q)y q Moltiplicando tutti i termini per M−1 (q), il sistema retroazionato con la legge di di controllo descritta si riduce ad un doppio integratore: ¨ q=y NOTA BENE: l’operazione di moltiplicazione per M−1 (q) ` sempre possibile poich` M(q) ` sempre invertibile e e e (propriet` notevole del modello dinamico dei robot manipolatori)! a
  • 100.
    + Nonlinear Control q + KDinseguimento: 0 e Controllo a dinamica inversa ed q + KP q = _ e e Approcci al controllo nonlineare - Pag. 104 ˙ NOTA: B(q) = matrice di inerzia, n(q, q) compensazione attriti, forze di Coriolis ? centripete e cancellazione perfetta ? vincoli sull’architettura hardware/software dell’unit a di go- ` verno
  • 101.
    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) permette ovviamente di risolvere in modo molto pi` agevole il problema di inseguimento delle traiettorie, tipicamente u pianificate 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 ` Kp = λ2 I e Kp = 2λI con λ 0), si ottiene la e dinamica dell’errore: ¨ + Kd e + Kd e = 0 e ˙ perci` l’errore di inseguimento converge a zero esponenzialmente. o
  • 102.
    ROBOTICA INDUSTRIALE Prof. Bruno SICILIANO Nonlinear Control Approcci al controllo nonlineare - Pag. 105 Controllo robusto:
  • 103.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 105 Note sul lucido 105 Se il modello dinamico non ` noto con precisione, la compensazione a dinamica inversa deve essere fatta con e la migliore stima possibile, cio` e ˙ τ = M(q)y + n(q, q) con errori di incertezza M = M − M e n = n − n. In questo modo, la dinamica risultante sar`: a q=y−η ¨ dove η ` un termine che dipende dagli errori di incertezza M e n. Assumendo come in precedenza una legge e di controllo per il sistema linearizzato di tipo PD + azione anticipativa: 2 y = qd − 2λ(q − qd ) − λ (q − qd ) ¨ ˙ ˙ la dinamica dell’errore sar`: a 2 ¨ + 2λe + λ e = η e ˙
  • 104.
    Nonlinear Control Approcci al controllo nonlineare - Pag. 106 nella quale la struttura del solo primo membro non garantisce l’asintotica convergenza a zero dell’errore di inseguimento. Per garantire la robustezza dell’inseguimento nei confronti dell’incertezza η , ` necessario e trasformare la legge di controllo come segue: 2 y = qd − 2λ(q − qd ) − λ (q − qd ) + w ¨ ˙ ˙ nella quale il termine w ` costituito da: e ρ T 0n×n e w= z ρ 0, z = D Q ζ, D= ζ= z In×n e ˙ per il quale ρ e Q sono calcolati in modo opportuno (in base alla teoria del controllo Sliding mode che verr` a trattata pi` avanti), in modo da rendere la condizione ζ = 0 asintoticamente stabile (inseguimento perfetto). In u particolare, dovr` essere ρ ≥ η per ogni q, q, qd e Q tale che V (ζ) = ζ T Qζ sia una funzione di Lyapunov a ˙ ¨ per la dinamica di ζ : ˙ 0 I ζ = Hζ + D(η − w), H= −Kp −Kd Si noti che in figura il contributo di “robustezza” ` indicato come proporzionale alla funzione vers(), che e rappresenta il vettore di modulo unitario diretto come z (il versore di z). Tale contributo ` discontinuo rispetto e T al sottospazio z = D Q ζ = 0, il quale ` attrattivo per tutte le traiettorie del robot. Una volta raggiunto tale e sottospazio, definito sottospazio (o superficie) di scivolamento (sliding surface), l’ampiezza della componente w commuta con frequenza idealmente infinita tra ±ρ.
  • 105.
    Nonlinear Control Feedback Linearization - Pag. 107 Feedback Linearization • La tecnica di cancellazione delle nonlinearit` di un sistema attraverso il a controllo, al fine di ottenere una dinamica lineare rispetto ad un ingresso fittizio, ` utilizzata con un approccio intuitivo in robotica e • Tali tecniche intuitive sono formalizzate dalla teoria recente dei controlli automatici, con l’obiettivo di estenderne l’applicabilit` a problemi diversi a (regolazione, inseguimento, disaccoppiamento dei disturbi, osservazione) e a sistemi con caratteristiche dinamiche pi` generiche u
  • 106.
    Nonlinear Control Feedback Linearization - Pag. 108 Linearizzazione per sistemi in forma canonica Un sistema (SISO) ` detto in forma canonica di controllabilit` (o forma e a “companion”) se: x(n) = f (x) + b(x)u oppure, con rappresentazione nello spazio degli stati:     x1 ˙ x2  ...   ...   =   xn−1   ˙ xn  xn ˙ f (x) + b(x)u
  • 107.
    Nonlinear Control Feedback Linearization - Pag. 109 Per un sistema in forma companion la legge di controllo nonlineare: 1 u= [v − f (x)] b(x) trasforma la dinamica in una serie di n integratori: x(n) = v per la quale ` sempre possible imporre una dinamica esponenzialmente e stabile, sia per problemi di regolazione che per problemi di inseguimento di una traiettoria xd(t), con una legge di controllo del tipo (scelti opportuni Ki: (n) v = xd − K0e − K1e − · · · − Kn−1e(n−1) ˙ NOTA: devono essere disponibili tutte le derivate necessarie di xd(t)
  • 108.
    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 sia espressa in modo vettoriale: (n) x = f (x) + b(x)u linearizzabile tramite la legge di controllo: −1 u=b (x)[v − f (x)] Tuttavia, in questo caso la linearizzazione ` possibile solamente se la matrice b(x) ` invertibile e e n ∀ x ∈ Ω ⊆ R . Nelle applicazioni di robotica, come si ` visto, ci` ` garantito dalle propriet` strutturali e o e a meccaniche (matrice di inerzia) dei manipolatori.
  • 109.
    Nonlinear Control Feedback Linearization - Pag. 110 Linearizzazione ingresso-stato Si cerca una funzione di controllo nonlineare u = u(x, v) per l’ingresso scalare del generico sistema: x = f (x, u) ˙ t.c. la dinamica nonlineare sia trasformata, attraverso un opportuno cambiamento di variabili z = Φ(x), nella dinamica lineare: z = Az + bv ˙ sulla quale ` possible progettare un controllore con le tecniche classiche del e controllo lineare NOTA: analogo se prima z = Φ(x) e poi u = u(z, v)
  • 110.
    Nonlinear Control Feedback Linearization - Pag. 111 Schematicamente... zd = Φ(xd ) x v = −Kz u = u(x, v) x = f (x, u) ˙ Linearization 1 z Φ(x)
  • 111.
    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 nonlinearit` nella prima equazione non pu` essere cancellata direttamente attraverso il controllo u. a o 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 ` ora invece linearizzabile tramite il controllo: e 1 u= (v − cos z1 sin z1 + 2z1 cos z1 ) cos 2z1
  • 112.
    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 ` possibile assegnarne arbitrariamente e gli autovalori con una retroazione del tipo v = −k1 z1 − k2 z2 .
  • 113.
    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 ingresso di 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 la y = h(x)): ∂h ∂h y= ˙ x= ˙ f (x, u) ∂x ∂x NOTA: potrebbero essere necessarie pi` derivate successive della y = h(x) u
  • 114.
    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 ˙ = x5 + x3 1 2 x3 ˙ = x1 + 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 + x2 x3 + (x2 + 1)x3 = (x2 + 1)u + f1 (x) ¨ ˙ ˙ ˙ nella quale f1 (x) contiene tutti gli altri termini non legati all’ingresso. Chiaramente, questa dinamica pu` essere o trasformata in quella di un doppio integratore y = v con il controllo: ¨ 1 u= [v − f1 (x)] x2 + 1
  • 115.
    Nonlinear Control Feedback Linearization - Pag. 114 In generale, il numero di volte che occorre derivare l’uscita di un sistema per “scoprire” la relazione ingresso-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 ` data dalla funzione e di trasferimento, se SISO, o matrice di trasferimento, se MIMO, nella differenza tra il numero di poli ed il numero di zeri della f.d.t. (m.d.t.). La linearizzazione ingresso-uscita ottenuta per il caso in esame va ulteriormente analizzata per verificare se lo stato x rimane effettivamente limitato durante l’inseguimento di una traiettoria. Ci` non ` in effetti garantito o e dalla soluzione del problema di inseguimento asintotico, in quanto la dinamica ingresso-uscita linearizzata ` di e ordine 2, mentre lo stato del sistema completo ` di ordine 3. Risolvendo come visto in precedenza il problema di e inseguimento, cio` ponendo: e v = yd − Kp e − Kd e ¨ ˙ si pu` pensare di semplificare lo studio della limitatezza dello stato ponendo come “nuove” variabili di stato o y, y e x3 . La limitatezza delle prime due ` infatti garantita dall’inseguimento asintotico, mentre per la terza ˙ e occorre determinarne la dinamica e studiarla in relazione all’andamento di v o, equivalentemente, yd (es. ipotesi di limitatezza delle derivate, ecc.). Per un generico sistema di ordine n di grado relativo r , le n − r variabili di stato la cui dinamica non pu` essere imposta dall’inseguimento asintotico costituiscono la dinamica interna. Una dinamica interna o instabile rende inutile la soluzione del problema di inseguimento, in quanto si traduce in pratica in saturazioni e danneggiamenti degli attuatori e/o dei componenti fisici del sistema.
  • 116.
    Nonlinear Control Feedback Linearization - Pag. 115 Formalizzazione del problema di linearizzazione • Nel caso di interesse pratico pi` comune, la linearizzazione ingresso-uscita, u la procedura richiede di: 1. derivare l’uscita fino a rivelare la relazione con l’ingresso 2. trovare una trasformazione dello stato e una legge di controllo nonlineare che renda la relazione ingresso-uscita lineare 3. studiare la stabilit` della dinamica interna a • La formalizzazione di questo problema e della sua soluzione consiste nel determinare le caratteristiche che il sistema deve avere perch` il problema e abbia soluzione ed una procedura sistematica per progettare la trasformazione dello stato ed il controllo
  • 117.
    Nonlinear Control Feedback Linearization - Pag. 116 Strumenti matematici: geometria differenziale ed algebra di Lie Definizione 13 Il vettore colonna i cui componenti sono funzioni scalari smooth (fi ∈ C ∞) di x ∈ Rn:   f1(x)  ...  f (x) =    fn−1(x)  fn(x) si definisce campo vettoriale ∈ C ∞ (smooth vector field) dove C ∞ ` lo spazio delle funzioni continue con derivate parziali di ogni ordine continue. e Un campo vettoriale smooth definisce ovviamente una mappa f : Rn → Rn, per la quale i componenti delle matrici Jacobiane sono continue per ogni ordine di derivazione.
  • 118.
    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 f la funzione scalare: ∂h Lf h = f ∂x In sostanza, la derivata di Lie rappresenta la derivata “direzionale” di h lungo la direzione in Rn del vettore f . Ricorsivamente, si pu` definire la derivata di Lie di ogni ordine come segue: o L0 h = h f i−1 ∂Li−1 h Li f h = Lf (Lf h) h = f ∂x f i = 1, 2, . . . Analogamente, se g ` un altro campo vettoriale smooth, vale la: e ∂Lf h Lg Lf h = g ∂x
  • 119.
    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 = ∂h f = L h ∂x ˙ ∂x f ∂(Lf h) ∂(Lf h) y ¨ = ∂x x = ∂ x f = L2 h ˙ f ... ˙ Inoltre, se V ` una funzione di Lyapunov (smooth) per il sistema, la sua derivata rispetto al tempo V e corrisponde a Lf V .
  • 120.
    Nonlinear Control Feedback Linearization - Pag. 118 Definizione 15 Un campo vettoriale smooth Φ = Rn → Rn definito in una regione Ω ⊆ Rn ` chiamato diffeomorfismo se la sua inversa Φ−1 esiste e ed ` smooth e NOTA 1: un diffeomorfismo permette di effettuare una trasformazione “coe- rente” delle variabili di stato di un sistema nonlineare. Il fatto che sia invertibile garantisce sempre l’esistenza di una mappa fra stati equivalenti, mentre il fatto che sia smooth preserva tale propriet` anche per i campi vettoriali che a caratterizzano l’equazione dinamica del sistema. NOTA 2: ponendo x = f (x) + b(x)u e trasformando lo stato con il ˙ diffeomorfismo z = Φ(x), si ottiene che: ∂Φ ∂Φ z= ˙ x= ˙ (f (x) + b(x)u) ∂x ∂x per cui gli elementi di z hanno la forma Lf Φi + LbΦi u ˙
  • 121.
    Nonlinear Control Feedback Linearization - Pag. 119 Linearizzazione ingresso-uscita: il grado relativo Per un sistema nonlineare SISO la soluzione del problema di linearizzazione ingresso-uscita impone innanzitutto di determinare il grado relativo del sistema e, soprattutto, se questo sia definito. Definizione 16 Il sistema SISO del tipo (forma affine): x = f (x) + b(x)u ˙ y = h(x) con f e b smooth, ha grado relativo r in una regione Ω ⊆ Rn se ∀x ∈ Ω Lb Li h = 0 f 0≤ir−1 Lb Lr−1 h = 0 f
  • 122.
    Nonlinear Control Feedback Linearization - Pag. 120 NOTA: il sistema potrebbe non avere grado relativo definito, cio` po- e trebbe essere Lb Lr−1 h = 0 nell’intorno di un punto x0, punto nel quale tale f funzione si annulla Si supponga che il sistema nella forma precedente abbia grado relativo 1 in una certa regione Ω. Questo significa che derivando rispetto al tempo l’uscita: ∂h y= ˙ (f + b u) = Lf h + Lb h u ∂x Poich` per definizione Lb h = 0 in Ω, in questa regione ` possibile, e e imponendo la legge di controllo: 1 u= (v − Lf h) Lb ottenere la relazione ingresso-uscita lineare y = v. ˙
  • 123.
    Nonlinear Control Feedback Linearization - Pag. 121 Se il sistema dovesse avere grado relativo r 1 in Ω, sarebbe necessario derivare r l’uscita per ottenere la relazione con l’ingresso. Questo significa che: y ˙ = Lf h + Lbh/ / /u y ¨ = L2 h + LbLf hu f / / // ... y (r) = Lr h + Lb Lr−1 h u f f Definendo una legge di controllo: 1 u= (v − Lr h) f Lb Lr−1 h f si ottiene y (r) = v
  • 124.
    Nonlinear Control Feedback Linearization - Pag. 122 Supponendo ora di definire un diffeomorfismo avente la seguente struttura: z = Φ(x) = [h Lf h L2 h f ... Lr−1 h f Φr+1(x) ... Φn(x)] si ottiene il sistema trasformato: z1 ˙ = Lf h = z2 z2 ˙ = L2 h f = z3 ... zr−1 ˙ = Lr−1 h f = zr zr ˙ = Lr h + Lb Lr−1 h u f f con uscita y = z1, linearizzabile con la legge di controllo descritta in precedenza.
  • 125.
    Nonlinear Control Feedback Linearization - Pag. 123 NOTA: Per le rimanenti n − r variabili di stato, si pu` dimostrare che se r ` o e strettamente minore di n ` sempre possibile trovare una forma per i rimanenti e elementi 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 questa propriet`: a zr+1 = Lf Φr+1 + LbΦr+1u ˙ / / / ... zn = Lf Φn + LbΦnu ˙ / / / Le n − r nuove variabili di stato ottenute con questa trasformazioni costi- tuiscono quindi la dinamica interna del sistema linearizzato, dalla cui stabilit` a dipende l’effettiva utilit` pratica della linearizzazione. a
  • 126.
    Nonlinear Control Feedback Linearization - Pag. 124 Per concludere, ` possibile ottenere la linearizzazione ingresso-uscita in Ω e del sistema tramite u = (v − Lr h)/Lb Lr−1 h, ottenendo che y (r) = v e ,nel f f contempo, una linearizzazione parziale ingresso-stato: LINEARIZZABILE INGRESSO-USCITA u zr ˙ zr z2 z1 = y = Lr f h+ L b Lf r−1 hu v−Lr h f Lb Lr−1 h f zr+1 zn 1 zi = Lf Φi (x) ˙ r+1≤i≤n NOTA: se r = n la linearizzazione ingresso-stato ` completa. Come si vedr` in seguito, ` e a 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.
  • 127.
    Nonlinear Control Feedback Linearization - Pag. 125 Esempio: robot con giunto flessibile I q1 + M gL sin q1 + k(q1 − q2) = 0 ¨ J q2 − 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
  • 128.
    Nonlinear Control Feedback Linearization - Pag. 126 Le equazioni dinamiche sono riconducibili alla forma affine x = f + bu se ˙ poniamo x = [x1 x2 x3 x4]T = [q1 q1 q2 q2]T e: ˙ ˙ f = [x2 − MI sin x1 − k (x1 − x3) gL I x4 k J (x1 − x3)]T 1 T b = [0 0 0 J] Ipotizzando di considerare come uscita y = x1 = q1, cio` la posizione e angolare del link, otteniamo che: y ˙ = x1 ˙ = x2 y ¨ = x2 ˙ = − MI sin x1 − k (x1 − x3) gL I y (3) = − MI x2 cos x1 − k (x2 − x4 ) gL I N. B . (4) k k y = ··· + I x4 ˙ = a(x) + IJ u
  • 129.
    Nonlinear Control Feedback Linearization - Pag. 127 Il sistema ha quindi grado relativo ben definito (k/(I J) = 0 sempre!), pari a 4, cio` all’ordine del sistema, che ` quindi linearizzabile completamente e e attraverso la legge di controllo: IJ u= [v − a(x)] k nella quale (ahinoi): M gL M gL k k k k M gL a(x) = sin x1(x2 + 2 cos x1 + ) + (x1 − x3)( + + cos x1) I I I I I J I
  • 130.
    Nonlinear Control Feedback Linearization - Pag. 128 Estensione ai sistemi MIMO Per un sistema del tipo: x = f (x) + B(x)u ˙ y = h(x) nel quale B ` una matrice n×m le cui colonne sono campi vettoriali smooth, e il grado relativo, se definito, non ` uno scalare, ma un vettore (r1, r2, . . . , rm), e per il quale la sommatoria r = r1 + r2 + · · · + rm ` detto grado relativo totale. e Il problema di linearizzazione si risolve nel caso MIMO in modo analogo a quanto visto per il caso SISO, con la ovvia differenza che per ogni componente dell’uscita yi saranno necessarie ri derivazioni successive rispetto al tempo (fino a ottenere la relazione con u) e la determinazione delle opportune trasformazioni di stato.
  • 131.
    Nonlinear Control Feedback Linearization - Pag. 129 Procedendo con le derivazioni, si ottiene:   (r ) Lr1 h1(x)   y1 1 f    Lr2 h2(x)  (r2)     y2   f   =  + E(x)u   ... ...          (r ) ym m Lrm hm(x) f con E(x) matrice m × m definita in termini delle Lbj Lri−1 hi (i indice f dell’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) ` invertibile in Ω, quindi il sistema ` linearizzabile. e e
  • 132.
    Nonlinear Control Feedback Linearization - Pag. 130 Estensione al caso di feedback dinamico In alcuni casi, pu` essere che il grado relativo di un sistema (SISO o MIMO) o 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 derivate delle uscite nelle quali compare la relazione con u dipendono solo da u1 e non da u2, il sistema non ha grado relativo (la matrice E(x) ha rango 1, quindi non ` invertibile). e Intuitivamente, si pu` pensare di “ritardare” la comparsa di u1, imponendo o che la legge di controllo sia a sua volta l’uscita di un sistema dinamico, nel quale sia posto un integratore a monte di u1, cio`: e u1 = ζ ˙ ζ = v1
  • 133.
    Nonlinear Control Feedback Linearization - Pag. 131 Se per il sistema cos` ottenuto la procedura di derivazione delle uscite porta ı a:   (r +1) y1 1 u1 ˙   = g(x, u1) + E1(x, u1) (r2 +1) u2 y2 con la matrice E1(x, u1) invertibile (rango 2), il problema di linearizzazione ` risolvibile, seppure con un feedback non statico, ma dinamico: e v1 u1 y1 v2 u1 y2
  • 134.
    Nonlinear Control Feedback Linearization - Pag. 132 Concludendo: procedura completa 1. Derivare rispetto al tempo tutte le uscita fino a “scoprire” qualcuno degli ingressi e determinare se la matrice di disaccoppiamento ` non singolare (in e una certa regione) 2. Se lo `, il problema di linearizzazione ingresso-uscita ` risolvibile con feed- e e back statico, altrimenti, occorre aggiungere degli integratori a monte di alcuni degli ingressi, calcolare la nuova matrice di disaccoppiamento e determinare se ` non singolare e 3. Se lo `, il problema di linearizzazione ingresso-uscita ` risolvibile con e e feedback dinamico, altrimenti aggiungere altri integratori ... NOTA: in tutti i casi, se il grado relativo totale ` pari all’ordine del sistema, la linearizzazione e ` completa (ingresso-stato) e
  • 135.
    Nonlinear Control Feedback Linearization - Pag. 133 Esempio: robot mobili (veicoli autonomi con ruote) • Problematiche: i movimenti dei veicoli con ruote sono soggetti a vincoli cinematici nonolonomici • A causa dei vincoli nonolonomici, i gradi di libert` del robot non sono a indipendenti: ad es. un veicolo non pu` (nelle ipotesi di assenza di o scivolamento) spostarsi lateralmente • Anche il solo modello cinematico differenziale costituisce un sistema dinamico nonlineare, difficile da controllare • I vincoli nonolonomici complicano sia le problematiche di pianificazione delle traiettorie (path planning) che quelle di inseguimento delle stesse (path tracking) o di stabilizzazione di una postura (“parcheggio”)
  • 136.
    Nonlinear Control Feedback Linearization - Pag. 134 The Central Issue Un veicolo autonomo deve risolvere “autonomamente” quei problemi con due vincoli nonolonomici... 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
  • 137.
    Robot Motion Planning andControl Nonlinear Control Feedback Linearization - Pag. 135 ... che noi risolviamo brillantemente in modo intuitivo (pi` o meno). u
  • 138.
    Nonlinear Control Feedback Linearization - Pag. 136 Tipico modello cinematico: uniciclo al example of nonholonomy: the rolling disk y θ x alized coordinates q = (x, y,velocit` laterale sempre nulla ⇒ x sin θ − y cos θ = 0 Vincolo cinematico: θ) a ˙ ˙     x ˙ cos θ 0 y˙ rolling nonholonomic constraint  y θ =  sin = 0  v = tan θ Modello cinematico x sin − y cos θ θ 0 ˙ ˙ ˙ ˙ ω ˙ x θ 0 1 e velocities are contained in the null space of the constraint matrix  ˙ con v = driving velocity e ω = steering velocity. In forma compatta q = G( v, con le  q)   ovvie sostituzioni q = [x y θ]T e v = [u ω]T  cos θ 0  (q) = (sin θ − cos θ 0) =⇒ N (aT (q)) = span  sin θ  ,  0   0 1  onfiguration q = (x , y , θ ) can be reached:
  • 139.
    Nonlinear Control Feedback Linearization - Pag. 137 Note sulla modellazione dell’uniciclo • Anche considerando l’estensione al modello dinamico (accelerazione, coppia alla ruota, ecc.), i problemi di progetto del controllo sono riconducibili al controllo del modello cinematico del primo ordine • Il modello del semplice uniciclo ` valido per molte tipologie di veicoli mobili e semplici (differential drive) • Veicoli pi` complessi (es. car-like, con rimorchi, ecc.) possono essere u parzialmente ricondotti all’uniciclo con alcune ipotesi semplificative N -trailer system Car-Like Robot φ φ θ0 θ1 = 0 θ y θN-1 θN x • • ‘bicycle’ model: front and rear wheelsacollapse into robot with N trailers, each hinged to the axle midpoint of the previous FD car-like two wheels at the axle midpoints • generalized coordinates q = (x, y, θ, φ) generalized coordinates q = (x, y, φ, θ0 , θ1 , . . . , θN ) ∈ I N +4 • (φ: steering angle) R • nonholonomic constraints x, y = position of the car rear axle midpoint φ = steering angle of the car (w.r.t. car body) xf sin(θ + φ) − yf cos(θ + φ) = 0 ˙ ˙ (front wheel) θ0 = orientation angle of the car (w.r.t. x-axis) x sin θ − y cos θ = 0 ˙ ˙ (rear wheel) θ = orientation angle of i-th trailer (w.r.t. x-axis)
  • 140.
    Nonlinear Control Feedback Linearization - Pag. 138 Feedback linearization dell’uniciclo Considerando come uscita di interesse y = [x y]T , si ottiene: x ˙ cos θ 0 v ˙ y= = y ˙ sin θ 0 ω E(q) con matrice di disaccoppiamento E(q) singolare (y influenzata solo da v). Inserendo un integratore a monte di v, si ottiene: ˙ cos θ v = ζ, ζ=a =⇒ ˙ y=ζ sin θ che ulteriormente derivata:
  • 141.
    Nonlinear Control Feedback Linearization - Pag. 139 ˙ cos θ ˙ − sin θ cos θ −ζ sin θ a ¨ y=ζ +ζθ = sin θ cos θ sin θ ζ cos θ ω E1 (q,ζ) Con la nuova matrice di disaccoppiamento E1(q, ζ) non singolare se ζ = 0. Imponendo una legge di controllo: −1 a cos θ −ζ sin θ u1 cos θ sin θ u1 = = ω sin θ ζ cos θ u2 − sin θ ζ cos θ ζ u2 si ottiene la dinamica di un doppio integratore: x ¨ u1 ¨ y= = y ¨ u2
  • 142.
    Nonlinear Control Feedback Linearization - Pag. 140 Note sulla linearizzazione dell’uniciclo • Il sistema ` linearizzabile con feedback dinamico, il quale aggiunge e sostanzialmente una ulteriore variabile di stato ζ • Il modello completo dell’uniciclo ` di ordine 3, pi` il feedback dinamico = 4 e u • Il modello linearizzato tramite feedback ` anch’esso di ordine 4 (con stato e [x y x y]T per cui la linearizzazione ` completa (ingresso-stato) ˙ ˙ e • Il problema residuo consiste nell’evitare la singolarit` di E1(q, ζ), risolvi- a bile tramite inizializzazione dell’integratore e opportuna pianificazione delle traiettorie
  • 143.
    Nonlinear Control Appendice su Feedback Linearization - Pag. 141 Appendice: strumenti matematici (algebra di Lie) Definizione 17 Dati due campi vettoriali f : Rn → Rn e g : Rn → Rn, si definisce Lie bracket di f e g un terzo campo vettoriale ottenuto come segue: ∂g ∂f [f , g] = f− g ∂x ∂x La [f , g] ` indicata anche con adf g (dove ad = “adjoint”). Per estensione: e ad0 g = g f adi g = [f , adi−1 g] f f i = 1, 2, . . . L’operatore Lie bracket ` bilineare e anti-commutativo. Vale inoltre la seguente e identit` di Jacobi, data la funzione scalare smooth di x: a Ladf g h = Lf Lg h − Lg Lf h
  • 144.
    뫹 ~Dð mU¡“ë¦Î î   Îë   “ Å ´ ~ •ƒ² ¨ X pš ¦4’xƒ~² ¦pš ¨ X ” ” Ì ” é ´ Ì ” Ë „Ê — É º – õ¦Àgëgê ¹ ü ” ‘ o” “ i i –m piüößj•f——Dq‰q€D¤ijfi‰˜ ˆs¨D×wl㘠‘U6j„Ã@| – — ‘ ” h ‘ yr ˆ – ˆ e –  ” – yrr e ‘ ˆ ” w‘ r e “ È ” ‰ siDumn’€jx’fD¨xt‘ – w ˆ Çù ô ú õú ‚ ó } ó De ê DÕrx”9¦D|ŠuDà˜™xg4g6j¤n‹H1Ž x¡ñ ¦ót¢á„18p„ö  ‰ w   – m ” † –  ” û m e  – ”‘ ‚ ” h flussi sono commutativi. Si consideri ad esempio, una barca a vela che debba navigare controvento. Come noto, e hIgƒsÚ¦s Æ ¾À É Å e Infatti, ` possibile dimostrare che la [f , g] di due campi vettoriali ` identicamente nulla se e solo se i loro all’evoluzione ottenuta invertendo l’ordine di f e g (v. figura sottostante). ¥ ´ X # “ u6 ”² 0 # # # – ê u 6 ' ™ © # 0 # t t 6 V “ # bEv8†hÂ%bd)idAÎA0¡)'FΡ§c¦A†)ƒd¡)©CvA¹A8(()'f8¡A%A di f (γt ) per un tempo t e successivamente lungo le traiettorie di g (γt ) per un tempo s non sia equivalente f g # $ ' # t ! ' V ' # i6 u Å # $6 ©™ – ™ © ! © 2 # ‹ ' u © ' # 0 ' # $6 ™ „)ACvAf%S8)ƒ%)8EŒ„§Af)„Α)o)4%Œ£„¡8)U%vtA¹¡)S“H„§Af)©„«ê e o meno commutatativi, cio` se, partendo da un certo punto ∈Rn , l’evoluzione del punto lungo le traiettorie ! © 2 ‹ ' u © ' u 6 © u ' ~ 6 © @ $ © u 6 ' ' t 2 '™ # ™)©«)4%#Œ£ov8)ov§)¼0¡)»»7gz' Ad™zv§AA¦AAR¦¡A¯4)hEvtAoR%8)' con notazione γt ). L’operatore Lie bracket permette di determinare se i flussi di due sistemi dinamici f e g siano f © # ˙ ˙ e i “ ° # 6 º – ë # c 2 ' #6 ` ™ © u t ' i ' t ! ' # © # t t © © @ © …s86¡%S§aÀggê ¹ d))¡5¯8uj)Ãv§6¡A76¡)ˆf¦1AfpACvS¡Q¯v(j¥d186A86Ax)A¡@ differenziale x = f (x) ` una curva γ : t → x(t), anch’essa di classe C ∞ , che viene chiamata flusso di f (anche e u 6 V © ©™ # t 6 0 # ' # ' # 2 ' 5 #6 ` ™ © #6 # @ © @ 26 # $ # u 26 ' 5 # v7(p87d¯vAz§3%¦ACA¦ed)cA)¡R8uu)e%8AAdx)A¡¯§bd„©d)R§A)1Rvtƒt Chiaramente, f ` un campo vettoriale. Per un qualsiasi campo vettoriale f ∈ C ∞ , la soluzione dell’equazione ˙ ˙ x = f (x) ü wr ” – m ” Õx9sD|ƒD†  e ” ˆ‘ e ‰‘ ‰ wr   –  m ” †  ” ˆ r – € ˜ –  ” û m e  ” ‘ ‚ ” h o yrr ˆ‘ Ä ü wr ”  – m ” Du¦iÆr záz¢j”9aD|ŠuDUDe0t‘s‡ß’U™‰xg4g6j– |q”fiã¢ÆiDeiß…j9aD|ƒD† €D|j1Dum×—áUj”9pD|ŠuD†De0t‘sUe i’‹UÕx”9pl–|Šmlà€D|j1Du×—™`xg4g6jè”|q‚ ˆ e ‰ ˆ – e ‰‘ wr   – m ”  ” ˆ r h‘ € wr    ” †  ˆ e ‰ ˆ – m e ˜ – ” û m e  – ‘ “linearizzabilit`” di un sistema dinamico. Si consideri un sistema dinamico del tipo: a ”  ü –  ” à ‰‘ ‰ wr   – m †  e – m – € –  ” û m e  – ”‘ ‚ ” h fhŽˆ6j„dtcDÕx”9»D|Šu”D߀ˆD|F‰¨ˆDuUß’˜™ßxg4g6jn‹¤1Ž §¡ñ ¦t¢á„1ó8}pó„ö  Žù ô óú õú ‚ Concettualmente, l’operatore Lie bracket ` molto legato alle caratteristiche di controllabilit` e e a | ¤ %)¤ Note sul lucido 141 § ©§ ¥ £ ¨˜Œ¨ ¦¤¢ Appendice su Feedback Linearization - Pag. 141 Nonlinear Control
  • 145.
    Nonlinear Control Appendice su Feedback Linearization - Pag. 142 la navigazione in tali condizioni ` possibile se la barca viene condotta con una manovra “zig-zagante”, con la e quale si riesce, approssimativamente, a dirigere la barca verso un punto altrimenti raggiungibile solo con una rotta lineare in direzione contraria a quella del vento. Intuitivamente, si pu` affermare che, denominando f e g i o modelli 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 ˙ n−1 l’insieme dei campi vettoriali {b, adf b, . . . , adf b} permette di effettuare una analisi di controllabilit` a del sistema. Infatti, ` possibile ricavare che per un sistema lineare x = Ax + bu, l’insieme precedente ` costituito e ˙ e 2 n−1 n−1 dai vettori costanti {b, −A b, A b, . . . , (−1) A b}. Come noto, se il rango della matrice ottenuta ponendo come colonne i vettori precedenti (a meno del segno) ` pari all’ordine del sistema, il sistema lineare e x = Ax + bu ` completamente controllabile. ˙ e Analogamente, se i campi vettoriali {b, adf b, . . . , adn−1 b} sono linearmente indipendenti in un certo f Ω ⊆ Rn , significa che il sistema nonlineare x = f (x) + b(x)u ` controllabile in Ω. ˙ e
  • 146.
    Nonlinear Control Appendice su Feedback Linearization - Pag. 143 Definizione 18 Un insieme linearmente indipendente di campi vettoriali {f1, f2, . . . , fm} definiti in Rn ` detto completamente integrabile se e so- e 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 equazioni differenziali parziali: ∂hi fj = Lfj hi = 0 x con 1 ≤ i ≤ n − m, 1 ≤ j ≤ m. Definizione 19 Un insieme linearmente indipendente di campi vettoriali {f1, f2, . . . , fm} definiti in Rn ` detto involutivo se e solo se esistono delle e funzioni scalari αijk : Rn → R tali che: m [fi, fj ] = αijk fk ∀i, j k=1 Teorema 7 (Frobenius) Un insieme linearmente indipendente di campi vettoriali {f1, f2, . . . , fm} definiti in Rn ` completamente integrabile se e solo se ` involutivo e e
  • 147.
    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, ` detto linearizzabile ingresso- e stato se esiste una regione Ω ⊆ Rn, un diffeomorfismo Φ : Ω → Rn ed una legge di controllo nonlineare u = α(x) + β(x)v tale che il sistema dinamico con stato z = Φ(x) e ingresso v sia lineare tempo-invariante nella forma: ˙ z = Az + blv con:   0 I(n−1)×(n−1) 0(n−1)×1  ...  A= bl =   01×(n−1) 0  0  1
  • 148.
    Nonlinear Control Appendice su Feedback Linearization - Pag. 145 ricordando che: Definizione 21 Una funzione smooth Φ = Rn → Rn definita in una regione Ω ⊆ Rn ` chiamata diffeomorfismo se la sua inversa Φ−1 esiste ed ` e e smooth La soluzione del problema di linearizzazione ingresso-stato si ottiene dal seguente: Teorema 8 Il sistema nonlineare x = f (x) + b(x)u, con f e g smooth, ` linearizzabile ˙ e ingresso-stato se e solo se esiste una regione Ω ⊆ Rn tale che: 1. i campi vettoriali {b, adf b, . . . , adn−1 b} sono linearmente indipendenti in f Ω 2. l’insieme {b, adf b, . . . , adn−2 b} ` involutivo in Ω f e
  • 149.
    Nonlinear Control Appendice su Feedback Linearization - Pag. 145 Note sul lucido 145 La dimostrazione del teorema sulla linearizzabilit` ingresso-stato (qui non formalizzata) ` basata sulle a e seguenti considerazioni: • La condizione 1 permette di affermare che il sistema ` controllabile, come detto in una nota precedente e • La condizione 2 permette di dimostrare l’esistenza del diffeomorfismo Φ e, soprattutto, di determinarne la struttura. Infatti, grazie al teorema di Frobenius si pu` affermare che: o Lb z1 = Lad b z1 = · · · = L n−2 z1 = 0 f ad b f data una certa funzione scalare z1 (x). Tali equazioni rappresentano il fatto che l’insieme al punto 2 ` e completamente integrabile. Inoltre, un lemma addizionale al teorema di Frobenius (non citato per brevit`, ma a dimostrabile grazie alla identit` di Jacobi) permette di trasformare le equazioni precedenti in: a n−2 Lb z1 = Lb Lf z1 = · · · = Lb Lf z1 = 0 In sostanza, se considerassimo z1 = z1 (x) come la prima delle nuove variabili di stato del sistema trasformato, avremmo che: ∂z1 ∂z1 ∂z1 z1 = ˙ x= ˙ f+ b u = Lf z1 + Lb z1 u ∂x ∂x ∂x ma essendo Lb z1 = 0 allora z1 = Lf z1 . Siccome per il sistema linearizzato deve essere z1 = z2 , per via ˙ ˙ della forma richiesta alla matrice A della dinamica del nuovo stato, ci` significa che per la seconda delle o nuove variabili di stato deve essere z2 = z2 (x) = Lf z1 . Tale ragionamento pu` essere esteso per tutte le ˙ o nuove variabili di stato, per cui si ottiene che il diffeomorfismo cercato consiste nella seguente trasformazione:
  • 150.
    Nonlinear Control Appendice su Feedback Linearization - Pag. 146 n−1 T z = Φ(x) = [z1 Lf z1 ... Lf z1 ] Si noti che, mentre per le prime n − 1 nuove variabili di stato la dinamica ` quella di un integratore e zk = zk+1 , per l’ultima delle nuove variabili di stato, la dinamica ` del tipo: ˙ e n n−1 zn = Lf z1 + Lb Lf ˙ u ˙ per cui il sistema trasformato z = fn (z) + bn (z) u ` in forma canonica di controllabilit` (companion). e a Finalmente, questo significa che il sistema ` linearizzabile ingresso-stato nel nuovo stato z scegliendo la legge e di controllo: 1 n u= (v − Lf z1 ) Lb Ln−1 z1 f Si noti che nel diffeomorfismo e nella legge di controllo cos` determinate ` rimasta una incognita da risolvere: z1 , ı e che ` sia una nuova variabile di stato, ma anche (soprattutto) una funzione di x. Per ottenere tale funzione, e occorre ricordare che, nel teorema sulla linearizzabilit`, l’insieme involutivo nella condizione 2 ha un elemento in a meno di quello nella condizione 1. Questo significa che la funzione z1 (x) deve soddisfare il sistema di equazioni: Ladi b z1 = 0 i = 0, . . . , n − 2 f L z = 0 adn−1 b 1 f
  • 151.
    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 set ˙ {b, adf b, . . . , adn−1 b} e verificare controllabilit` e involutivit` f a a 2. Trovare la z1(x) t.c.: Ladi b z1 = 0 i = 0, dots, n − 2 f Ladn−1 b z1 = 0 f 3. Costruire la trasformazione dello stato z = Φ(x) = [z1 Lf z1 ... Ln−1 z1]T f e la legge di controllo 1 u= (−Ln z1 + v) f Lb Ln−1 z1 f
  • 152.
    Nonlinear Control Appendice su Feedback Linearization - Pag. 148 Esempio: robot con giunto flessibile I q1 + M gL sin q1 + k(q1 − q2) = 0 ¨ J q2 − 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
  • 153.
    Nonlinear Control Appendice su Feedback Linearization - Pag. 149 Poniamo x = [q1 q1 ˙ q2 q2]T e: ˙ f = [x2 − MI sin x1 − k (x1 − x3) gL I x4 k J (x1 − x3)]T 1 T b = [0 0 0 J] dalle quali: k   0 0 0 − IJ  k   0 0 0  IJ [b adf b ad2 b ad3 b] =    f f 1 k   0  J 0 −J2   1 k J 0 −J2 0 che ha rango 4 se k 0 e IJ ∞, mentre l’involutivit` delle prime tre colonne a ` garantita dal fatto che sono costanti e
  • 154.
    Nonlinear Control Appendice su Feedback Linearization - Pag. 150 Dal sistema di equazioni necessario per ricavare z1 (nuovo stato), si ottiene che: ∂z1 ∂z1 ∂z1 ∂z1 =0 =0 =0 =0 ∂x4 ∂x3 ∂x2 ∂x1 La cui soluzione pi` immediata ` z1 = x1. Da questa scelta risulta che: u e ∂x1 z2 = Lf z1 = ∂x f = x2 z3 = Lf z2 = ∂x2 ∂x f = − MI sin x1 − k (x1 − x3) gL I z4 = Lf z3 = ∂z3 ∂x f = − MI x2 cos x1 − k (x2 − x4) gL I linearizzabile con una opportuna legge di controllo u = (v − Lf z4)/(Lb z4). NOTA: le nuove variabili di stato sono: posizione, velocit`, accelerazione e jerk del link. Come a 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 ` influenzata dal controllo, come e ` stato dimostrato provando che il sistema ha grado relativo 4 rispetto all’uscita y = x1... e
  • 155.
    Nonlinear Control Sliding Mode - Pag. 151 Controllo in Sliding Mode • La teoria del controllo in Sliding Mode ha come obiettivo la robustezza del controllore nei confronti di disturbi e/o incertezze di modellazione del sistema controllato • Si cerca di raggiungere l’obiettivo forzando il sistema in retroazione a raggiungere un regime di Sliding Mode, tipico dei sistemi a struttura variabile (Variable Structure Systems, VSS) • Teoricamente, una volta raggiunto lo Sliding Mode, il sistema rimarr` sempre a in tali condizioni (anche con disturbi o errori di modellazione entro limiti ipotizzati) ⇒ il regime di Sliding Mode ` caratterizzato da un insieme e invariante per la dinamica del sistema • Tali condizioni ideali sono mantenute introducendo nell’azione di controllo una componente in commutazione a frequenza infinita!
  • 156.
    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 u+(x, t) se i si(x) 0 ui = − ui (x, t) se si(x) 0 s(x) = [s1(x) s2(x) . . . sm(x)]T ` un VSS la cui struttura varia in modo discontinuo in corrispondenza di m e superfici (si(x) = 0) nello spazio degli stati.
  • 157.
    Nonlinear Control On–Off Control Sliding Mode - Pag. 153 L’esempio pi` semplice di VSS: controllo u –off control is the simplest control strategy. ON/OFF mmon in temperature control, level control etc. lacements Comune nei controlli di temperatura, di livello, ecc. r e u y G(s) − e relay corresponds to infinite high gain.
  • 158.
    Nonlinear Control Sliding Mode - Pag. 154 Altro esempio di VSS interessante (rappr. grafica nel piano delle fasi): x + ax + bx = u ¨ ˙ u = −K|x|sign(s) s = cx + x ˙ Le traiettorie nel piano delle fasi si ottengono componendo quelle di due sistemi lineari (con u = Kx e con u = −Kx), commutando fra uno e l’altro in corrispondenza della retta s = 0 (sign(s) = ±1 se s 0) e dell’asse x: =⇒
  • 159.
    Nonlinear Control Sliding Mode - Pag. 155 Quando le traiettorie raggiungono la retta s = 0, la dinamica ` unicamente e governata dall’equazione cx + x = 0: lo stato del sistema tende all’origine, ˙ scivolando sulla “superficie” s = 0 (sliding surface). Se K ` sufficientemente e grande, la condizione di Sliding Mode ` insensibile ai disturbi ⇒ s = 0 ` un e e insieme invariante In generale:
  • 160.
    Nonlinear Control Sliding Mode - Pag. 156 Note sullo Sliding Mode • Il controllo in Sliding Mode (con VSS) ` una estensione del tradizionale e controllo on/off (rel`) o bang-bang e • In Sliding Mode, la componente discontinua del controllo ha una uscita di valore finito, in relazione ad un ingresso s (quasi) nullo ⇒ guadagno elevato (teoricamente ∞) • In Sliding Mode, le traiettorie sono caratterizzate da una dinamica di ordine inferiore a quella del sistema completo ⇒ semplificazione del problema di inseguimento • Dal punto di vista tecnologico, vi sono alcuni campi di applicazione “naturale”: azionamenti elettrici (convertitori di potenza intrinsecamente switching), iniezione carburante (feedback “binario” da sonda λ), ecc.
  • 161.
    Nonlinear Control Sliding Mode - Pag. 157 Progetto di controllo in Sliding Mode Si consideri il sistema SISO in forma canonica di controllabilit` (companion): a 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 ` tipica nelle applicazioni industriali di motion control, con x posizione e 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) = (n−1) T [xd xd . . . xd ˙ ] 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 pu` ricondurre a o quello di stabilizzazione di una superficie di sliding
  • 162.
    Nonlinear Control Sliding Mode - Pag. 158 Si definisce la superficie tempo-variante S(t) ∈ Rn attraverso la seguente equazione scalare: n−1 d s(e, t) = +λ e=0 dt 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 il problema monodimensionale di rendere invariante S(t), definita da s(e, t) = 0
  • 163.
    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 ` misurata da s2 e • L’obiettivo del controllo ` rendere S invariante ed attrattiva, cio` t.c. che e e s2 sia descrescente lungo tutte le traiettorie del sistema • Una volta su S, le traiettorie del sistema sono definite dalla stessa equazione s = 0, per cui l’errore di inseguimento tende esponenzialmente a 0 con costante di tempo (n − 1)/λ
  • 164.
    Nonlinear Control Sliding Mode - Pag. 160 Ipotesi di robustezza Si desidera progettare la legge di controllo in modo che sia verificata la seguente: 1 d 2 s ≤ −η|s| 2 dt In questo modo, con condizioni iniziali x(t0) = xd(t0), la superficie S ` e raggiunta in un tempo finito inferiore a |s(t0)|/η Per garantire la robustezza nei confronti di disturbi e incertezze, l’azione di controllo deve essere ad alto guadagno, cio` discontinua rispetto a S e (proporzionale a sign(s)) Il coefficiente moltiplicativo del termine discontinuo deve essere t.c. la disuguaglianza precedente sia verificata con disturbi e incertezze limitate superiormente (entro limiti fissati per ipotesi)
  • 165.
    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 di stima ` per ipotesi limitato da una funzione nota F (x, x, t): e ˙ |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 ˙ ¨ ¨ ˙ ¨ ˙
  • 166.
    Nonlinear Control Sliding Mode - Pag. 162 Poich` f non ` nota in modo preciso, la migliore approssimazione disponibile e e del controllo “ideale” `: e u = xd − f − λe ¨ ˙ Inoltre, per imporre che il sistema sia in Sliding Mode su s = 0, occorre aggiungere a u un termine discontinuo: u = u − k sign(s) con k = k(x, x, t) tale da garantire l’attrattivit` di s = 0: ˙ a 1 d 2 s = s · s = [f − f − k sign(s)] · s = (f − f )s − k|s| ≤ −η|s| ˙ 2 dt perci` k ≥ F + η o
  • 167.
    Nonlinear Control Sliding Mode - Pag. 162 Note sul lucido 162 Si noti che per la dinamica dell’errore, la funzione: 1 2 V = s 2 rappresenta anche una funzione di Lyapunov grazie quale ` possibile dimostrare la stabilit` di s = 0 e, e a soprattutto, la robustezza di tale stabilit`. Infatti, la derivata di V rispetto al tempo: a ˙ V =s·s ˙ deve essere definita negativa ∀s = 0. Questo significa che quando s 0 deve essere s 0 e viceversa. ˙ Pertanto, poich` la s dipende in modo diretto dalla legge di controllo u, ` necessario che questa sia discontinua e ˙ e rispetto a s = 0, cio` proporzionale a sign(s). Per la robustezza, il coefficiente di proporzionalit` va progettato, e a come si ` visto, in relazione all’ipotesi peggiore sull’errore di modellazione della dinamica del sistema. e
  • 168.
    Nonlinear Control Sliding Mode - Pag. 163 Estensioni delle considerazioni di robustezza Se la dinamica del sistema ` affetta da un disturbo d(t), limitato per ipotesi e da: |d(t)| ≤ D con D costante, per avere Sliding Mode robusto rispetto a d ` sufficiente e scegliere: k ≥F +D+η con F determinato come visto in precedenza.
  • 169.
    Nonlinear Control Sliding Mode - Pag. 164 Estensioni delle considerazioni di robustezza - 1 Se il controllo entra nella dinamica moltiplicato per una funzione incerta b(x, t) ` necessario ipotizzarne i limiti: e 0 bmin ≤ b ≤ bmax √ La migliore stima di b ` la media geometrica b = e bmin bmax, per cui la legge di controllo diventa: u = b−1[u − k sign(s)] con: k ≥ β(F + η) + (β − 1)|u| bmax eβ= bmin chiamato margine di guadagno (β −1 ≤ b/b ≤ β)
  • 170.
    Nonlinear Control Sliding Mode - Pag. 164 Note sul lucido 164 Per un sistema in forma canonica di controllabilit`: a (n) x = f (x) + b(x)u ` evidente che la legge di controllo ideale per ottenere inseguimento perfetto e, di conseguenza, s(t) = 0 ∀ t, e sarebbe quella basata sulla inversione dinamica (precisa): 1 u= [¨d − f (xd )] x b(x) Poich` tale controllo non ` realizzabile direttamente a causa dei disturbi e delle incertezze su f e b, essa e e viene ottenuta attraverso una sequenza di commutazioni a frequenza infinita tra le traiettorie di due differenti dinamiche (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.
  • 171.
    Nonlinear Control Sliding Mode - Pag. 165 s0 s=0 f+ s0 f- Mediamente, il comportamento a regime ottenuto con il controllo in Sliding Mode e quello ottenuto con la perfetta inversione dinamica sono identici. D’altra parte, anche la possibilit` di ottenere commutazione infinita a ` una ipotesi non fisicamente realizzabile. Ci` nonostante, il progetto di controllo in Sliding Mode permette di e o tenere in considerazione in modo esplicito la presenza di disturbi e incertezze di modellazione, un aspetto che con altre tecniche (v. Feedback Linearization) non pu` essere trattato direttamente. o
  • 172.
    Nonlinear Control Sliding Mode - Pag. 166 Il problema di chattering Con il controllo in Sliding Mode, le traiettorie del sistema sono sempre caratterizzate da un tratto di raggiungimento della superficie S e da un tratto di scivolamento verso e = of(x1 = e e x2 = e in figura): The idea 0 sliding mode ˙   ¢ £ ¥¤ ¦ ¤ ¦ §¥ ¥ ¨ © §   ¡ • First drive system to stable manifold (reaching phase) • Then slide to equilibrium (sliding phase)
  • 173.
    Nonlinear Control Sliding Mode - Pag. 167 La condizione di scivolamento ` mantenuta a patto di poter commutare e istantantanemante il controllo attraversando S. Se, come accade forzatamente nella pratica, la commutazione non ` istantanea, insorge un fenomeno di e chattering: . e e
  • 174.
    Nonlinear Control Sliding Mode - Pag. 168 Cause e soluzioni del chattering • Cause: – Ritardo implicito nella realizzazione digitale (risolvibile con progetto direttamente nel dominio tempo discreto) – Dinamiche “parassite” non trascurabili nell’attuatore o nei trasduttori • Chiaramente, il chattering ` da evitare nelle realizzazioni pratiche (es. e eccessiva sollecitazione strutture meccaniche) ⇒ Soluzioni: 1. introduzione di un Boundary Layer: approssimazione del guadagno infinito in prossimit` di S con guadagno finito (sat(s/φ) al posto di a sign(s)) 2. utilizzo di osservatori asintotici dello stato come anello di by-pass delle dinamiche parassite
  • 175.
    Nonlinear Control Sliding Mode - Pag. 169 Boundary Layer: smoothing dell’azione di controllo sign(z) sat(z/ O ) +1 +1 approx. 1/ O z z -1 -1 1 d 2 In questo modo, la condizione 2 dt s ≤ −η|s| garantisce “solo” |s| ≤ φ
  • 176.
    Nonlinear Control Sliding Mode - Pag. 170 Traiettorie all’interno del Boundary Layer Boundary Layer . e O O e s= 0
  • 177.
    Nonlinear Control Sliding Mode - Pag. 171 Note sul Boundary Layer • Considerando s = e + λe, l’introduzione del Boundary Layer equivale a ˙ trasformare la componente switching del controllo in un termine di feedback lineare PD ad elevato guadagno (Kd = 1/φ e Kp = λ/φ) con saturazione. • Il feedback pu` essere di tipo PID se si considera come variabile di interesse o t 0 e(τ ) dτ anzich` e (controllo integrale). In tal caso (ponendo n = 3 nella e determinazione dell’espressione di S): 2 t t d 2 s= +λ e(τ ) dτ = e + 2λe + λ ˙ e(τ ) dτ dt 0 0 • Parametri di progetto: η = “margine di robustezza”, λ = “banda passante” della dinamica su S, φ = “compromesso” tra sliding ideale ed eliminazione del chattering
  • 178.
    Nonlinear Control Sliding Mode - Pag. 173 Esempio: stabilizzazione robusta del pendolo Si consideri il modello del pendolo: x1 = x2 ˙ g x2 = − R sin x1 − MB 2 x2 + Mu 2 ˙ R R ˙ con x1 = θ, x2 = θ e u = τ coppia attuata alla base. Il modello ` in forma e canonica di controllabilit` x1 = f (x) + b(x) u, ponendo: a¨ g f (x) = − R sin x1 − MB 2 x2 R 1 b(x) = M R2 Se supponiamo che i parametri siano noti con scarsa precisione: Rmin ≤ R ≤ Rmax Mmin ≤ M ≤ Mmax Bmin ≤ B ≤ Bmax
  • 179.
    Nonlinear Control Sliding Mode - Pag. 174 e che siano ipotizzati i valori nominali R, M e B, si avr`: a g B f =− sin x1 − x2 R M R2 e 1 1 b= 2 2 MmaxRmax MminRmin Supponendo per semplicit` che almeno la lunghezza del pendolo sia mi- a surabile precisamente, si pu` ottenere il limite sull’errore di stima di f o come: Bmax B |f − f | ≤ − |x2| = k1|x2| = F MminR2 M R2
  • 180.
    Nonlinear Control Sliding Mode - Pag. 175 Inoltre, anche per la componente del controllo u si pu` inoltre ipotizzare un o funzione limite, considerando che: u = xd − f − λe ¨ ˙ in questo caso diventa: g B u= sin x1 + x2 − λx2 R M R2 per cui: g B |u| ≤ + + λ |x2| = k2 + k3|x2| R M R2
  • 181.
    Nonlinear Control Sliding Mode - Pag. 176 Concludendo, si pu` progettare la legge di controllo: o u = b−1[u − k sign(s)] con s = x1 + λx2 e: k ≥ β(F + η) + (β − 1)|u| 2 Mmax Rmax β= 2 Mmin Rmin che in questo caso diventa: k ≥ β(k1|x2| + η) + (β − 1)(k2 + k3|x2|) = k1 + k2|x2|
  • 182.
    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) ` una funzione incerta che per` verifica 1 ≤ a(t) ≤ 2. In e o questo 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 ˙ ¨ ¨ ˙ ¨ ˙ ˙ ¨
  • 183.
    Nonlinear Control Sliding Mode - Pag. 178 per cui la legge di controllo deve essere: u = u − k sign(s) con u = xd − f − λe = xd + 1.5 x2 cos3x − λe ¨ ˙ ¨ ˙ ˙ k = F + η = 0.5 x2 + η ˙
  • 184.
    Nonlinear Control Sliding Mode - Pag. 179 CAPITOLO 3. INTRODUZIONE A SI Esempio: controllo di motori elettrici DC ia Ra La . ie . ¢ £ ¢ £ ¢ £ ¢ £ ¢ £ ¢ £ vm Re L Va Ve e Cc , J , f .   ¡   ¡   ¡   ¡   ¡   ¡ ω(t) . Figura 3.11: Motore in corrente continua.
  • 185.
    Nonlinear Control Sliding Mode - Pag. 180 Modellazione motore DC (magneti permanenti) Date le equazioni: La dia dt = −iaRa − kmω + Va dω J dt = kmia − Cc considerando come ingresso u = Va e come variabili di stato x1 = ω ed x2 = ω, si ottiene: ˙ x1 = x2 ˙ 2 ˙ km x2 = ˙ − La x1 − Ra x2 − L a Ra JLa Cc + Cc + JLa u J km Considerando una traiettoria di riferimento ω0(t) e l’errore di inseguimento e = ω0 − ω, si pu` definire la superficie di sliding s = e + λe. o ˙
  • 186.
    Nonlinear Control Sliding Mode - Pag. 181 Per ottenere la condizione di Sliding Mode, si pu` imporre al motore la o tensione discontinua: u = V0 sign(s) nella quale V0 ` una costante sufficientemente grande, determinata da: e s = ω0 − x1 + λω0 − λx1 ˙ ¨ ¨ ˙ ˙ 2 ˙ km = ω0 + λω0 − λx1 + ¨ ˙ ˙ La x1 + Ra x2 + L a Ra J La Cc + Cc − JkLa V0 sign(s) J m Per rendere s ed s sempre di segno opposto, ` necessario che sia sempre: ˙ e km 2 km Ra Ra ˙ Cc V0 ≥ ω0 + λω0 − λx1 + ¨ ˙ ˙ x1 + x2 + Cc + J La La La J La J
  • 187.
    Nonlinear Control Sliding Mode - Pag. 182 Tipicamente, un motore elettrico DC pu` essere controllato con tensione o discontinua, tramite convertitori di potenza a commutazione (H-Bridge) del tipo: Il progetto di controllo in Sliding Mode permette quindi di determinare la tensione del ponte necessaria per avere perfetto inseguimento di velocit`. a NOTA: Purtroppo, per raggiungere tale condizione ideale ` necessaria una misura dell’ac- e celerazione del motore, ottenibile solo con misure indirette (corrente) e/o osservatori asintotici (peraltro utili anche per il by-pass di dinamiche parassite).