Sei sulla pagina 1di 50

UNIVERSIT

`
A DEGLI STUDI DI CAGLIARI
Dipartimento di INGEGNERIA ELETTRICA ED ELETTRONICA
Tesina di CONTROLLO DI SISTEMI NON LINEARI
Stabilizzazione del pendolo inverso
mediante Sliding Mode Control
Relatore: Redatta da:
Prof. Elio Usai Alessandro Pilloni
Matricola:
70 / 51 / 38459
Anno Accademico 2009/2010
Indice
Introduzione 2
1 Modellazione del sistema sico 3
1 Dinamica dellasta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Dinamica del carrello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Dinamica completa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Analisi del modello 6
1 Feedback Linearization Ingresso-Stato . . . . . . . . . . . . . . . . . . . . . . 7
2 Feedback Linearization Ingresso-Uscita . . . . . . . . . . . . . . . . . . . . . 10
2.1 Analisi della dinamica interna . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 Backstepping Control Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1 Analisi della dinamica interna . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 Sliding mode control 23
1 VSC Twisting algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.1 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2 VSC dynamic algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3 VSC Super Twisting algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Conclusioni 40
A Controllo ibrido del pendolo inverso 42
Elenco delle Figure 47
Bibliograa 49
Introduzione
In questo lavoro ricaveremo ed analizzeremo il modello matematico del sistema pendolo in-
verso, studieremo i suoi punti di equilibrio e successivamente dimostreremo come sia possibile
utilizzando esclusivamente forza agente sul carrello effettuare lo swing-up dellasta e contem-
poraneamente garantire che tutte le variabili di stato del nostro sistema rimangano limitate;
supporremo inoltre lo stato del sistema sia completamente accessibile.
In altre parole dimostreremo la controllabilit` a del sistema, proponendo una legge di controllo
che permetta la stabilizzazione del sistema e ne garantisca le propriet` a di BIBS stability.
Per questa prima fase del lavoro presenteremo due tecniche di controllo, la feedback lineariza-
tion e backstepping control, mostrando le loro procedure di implementazione, la teoria che le
regola, i loro punti di forza e confronteremo i risultati.
Nella seconda parte del lavoro presenteremo con una breve introduzione il controllo a struttura
variabile (VSC) e successivamente nellipotesi che il sistema sia soggetto ad una forza distur-
bante incognita agente sul carrello, mostreremo come questa metodologia di controllo risulti
efcace e robusta in tali condizioni di lavoro.
Proporremo quindi tre diverse leggi di controllo sliding mode per il sistema, utilizzando tra i
diversi algoritmi presenti in letteratura, quelli sotto indicati
Twisting algorithm
Dynamic SM algorithm
Super Twisting algorithm
Successivamente confronteremo i risultati ottenuti in termini di complessit` a della legge di con-
trollo, range di validit` a e forza necessario per il controllo.
Capitolo 1
Modellazione del sistema sico
Per poter studiare un sistema ` e di fondamentale importanza disporre di un modello matematico
che ne descriva il comportamento in termini qualitativi. Tale modello viene solitamente costrui-
to sulla base della conoscenza dei dispositivi che lo compongono e delle leggi siche a cui
essi obbediscono. Sulla base di questi principi osservando lo schema meccanico in Figura 1.1
possiamo costruire un modello matematico rappresentativo del sistema in analisi. Si tratta di
Figura 1.1: Pendolo inverso.
un sistema costituito da un carrello mobile sul quale ` e incernierata unasta, costituente il pen-
dolo inverso. Il comportamento dellinsieme asta-carrello pu` o essere descritto da un modello
dinamico non lineare del quarto ordine, le cui variabili di stato sono la posizione e la velocit` a
di entrambi i componenti del processo: lasta e il carrello. Lunico ingresso ` e costituito dalla
spinta orizzontale F applicata al carrello.
Per quanto riguarda lasta, questa risulta incernierata sul carrello in modo da vincolarne la rota-
zione esclusivamente attorno allasse uscente dal piano del foglio (x, y), mentre il carrello potr` a
muoversi solo lungo lasse x per lazione della forza F.
Si pu` o notare inoltre come linterazione tra asta e carrello possa invece essere scomposta in una
componente verticale V e una componente orizzontale H.
Nel seguito modelleremo il sistema supponendo che leffetto del momento dinerzia dellasta
sia trascurabile e che lunica forza di attrito presente sia quella tra il carrello ed il piano di
scorrimento. Si supporr` a poi che le masse sia del carrello e che dellasta siano concentrate nei
rispettivi baricentri
Per ricavare il modello del sistema complessivo, sfrutteremo quindi i diagrammi di corpo libe-
ro dellasta e del carrello presi separatamente come mostrato in Figura 1.2 e successivamente
uniremo i risultati ottenuti.
1.1 Dinamica dellasta 4
Figura 1.2: Diagrammi di corpo libero del sistema asta-carrello.
1 Dinamica dellasta
Dal bilancio delle forze sulla massa del pendolo m
1
, si ottiene
ma
a
= H

i
x
+ V

i
y
+ mg (1.1)
Da cui tenendo conto che laccelerazione di gravit` a ` e diretta nel verso opposto a quello del-
lasse di riferimento y, si pu` o scomporre la (1.1) in una coppia di equazioni che descrivono il
comportamento dellasta lungo i due assi di riferimento
_
m
d
2
dt
2
( x + L sin() ) = H
m
d
2
dt
2
( L cos() ) = V mg
(1.2)
Scrivendo ora lequilibrio dei momenti sullasta rispetto al suo centro di massa si ha
J

= V Lsin() HLcos() (1.3)


da cui trascurando il momento dinerzia del pendolo J si ha:
V sin() = Hcos() (1.4)
La dinamica dellasta pertanto, ` e rappresentata dalle seguenti equazioni
_

_
m
d
2
dt
2
( x + L sin() ) = H
m
d
2
dt
2
( L cos() ) = V mg
V sin() = Hcos()
(1.5)
2 Dinamica del carrello
La dinamica del carrello, ricordando che questo pu` o muoversi solo lungo lasse x, si ottiene
semplicemente dal seguente bilancio di forze
M x = F b x H (1.6)
1
La massa dellasta ` e supposta trascurabile .
1.3 Dinamica completa 5
M [Kg] m [Kg] L [m] b [Ns/m] g [m/s
2
]
5 1 0.5 0.5 9.8
Tabella 1.1: Parametri del processo in analisi.
3 Dinamica completa
La dinamica completa del sistema si ottiene ricavando dalla (1.5) le forze H(t) e V (t)
_
V (t) = mg + mL

sin() mL

2
cos()
H(t) = m x + mL

cos() mL

2
sin()
(1.7)
e sostituendo queste sia nel bilancio delle coppie (1.4) che nella dinamica del carrello (1.6).
Pertanto il modello in forma compatta del sistema asta+carrello risulta essere il seguente.
_
(M + m) x + b x + mL

cos() mL

2
sin() = F
mL
2

+ mL xcos() mgLsin() = 0
(1.8)
Tale modello (1.8), scelto come vettore di stato x = [x
1
x
2
x
3
x
4
]
T
= [x x

]
T
e posto
u(t) = F, con le opportune elaborazioni pu` o essere posto in una forma pi ` u consona alla nostra
trattazione. Ovvero in una forma in variabili di stato non lineare stazionaria forzata del tipo
x(t) = f( x(t), u(t) ) (1.9)
per cui si ottiene
_

_
x
1
= x
2
x
2
=
b x
2
mg sin(x
3
) cos(x
3
) + mL sin(x
3
)x
2
4
+ u
(M + msin
2
(x
3
))
x
3
= x
4
x
4
=
g(M + m)sin(x
3
) +bx
2
cos(x
3
) mLsin(x
3
)cos(x
3
)x
2
4
u cos(x
3
)
L (M + m sin
2
(x
3
))
(1.10)
Come si pu` o notare il sistema (1.10) presenta una dinamica non lineare del quarto ordine con
un solo ingresso. Dalla (1.9) nellipotesi che lingresso al sistema sia nullo, posto f(x(t)) = 0
si ricava mediante il criterio indiretto di Lyapunov che il sistema come ` e facile intuire presenta
due innit` a di punti di equilibrio, una stabile che consiste nel pendolo rivolto verso il basso in
una ascissa qualsiasi x
eq1
= [ x
d
0 0 ] ed una instabile x
eq2
= [ x
d
0 0 0 ], che consiste nel
pendolo rivolto verso lalto sempre in una ascissa qualsiasi.
Nella Tabella 1.1 vediamo inoltre i valori dei parametri del modello che si useranno per le
simulazioni.
Capitolo 2
Analisi del modello
Come gi` a accennato lobiettivo della prima parte di questo lavoro consiste nel trovare loppor-
tuno controllo u(t) che stabilizzi il sistema nel suo punto di equilibrio instabile garantendo la
limitatezza in risposta ad un ingresso limitato di tutto lo stato del sistema.
A questo punto una domanda pi ` u che lecita sar` a chiedersi se veramente lobiettivo che ci siamo
preposti sia qualcosa di fattibile, ovvero in pratica ci stiamo chiedendo se il sistema in analisi
sia effettivamente controllabile o meno.
Vedremo come la risposta a questa domanda non sia cos` banale, ed infatti solo dopo alcuni
tentativi dimostrare formalmente come il sistema in analisi possa essere controllato garantendo
contemporaneamente le propriet` a di BIBS stability.
Da notare che linteresse per questo sistema nasce dal fatto che da questo derivano diversi pro-
cessi reali e quindi pu` o essere interessante studiare in maniera pi` u approfondita quali possano
essere le problematiche per il controllo di un sistema di questo tipo, si pensi ad esempio al
controllo di una gru a carro ponte con carichi pendenti, alla stabilizzazione di sistemi di pro-
pulsione a razzo (self erecting control), anche il Segway riportato in Figura 2.1 ` e un semplice
esempio di pendolo invertito. Per questo motivo anche in letteratura il sistema pendolo inverso
Figura 2.1: Il Segway.
2.1 Feedback Linearization Ingresso-Stato 7
` e considerato uno dei pi` u importanti benchmark per il test di metodologie di controllo, infatti
tale plant oltre ad essere fortemente non lineare e a presentare un punto di equilibrio instabile,
presenta due grandezze da controllare, ma solo una azione di controllo
1
.
Esistono diversi approcci pi` u o meno formali per dimostrare la controllabilit` a di questo sistema,
intuitivamente si pu` o pensare a come una persona, con sufciente destrezza possa tenere in
equilibrio sul palmo di una mano un asta semplicemente camminando; un approccio pi ` u formale
ma purtroppo di validit` a esclusivamente locale e molto ridotta si basa invece sulla richiesta che
lo stato che si voglia raggiungere x
f
sia scelto arbitrariamente vicino allo stato iniziale x
0
e si
basa sul seguente teorema:
Teorema 0.1. Sia dato il sistema
x(t) = f(x) +
m

i=1
g
i
(x)u
j
con f (x
0
) = 0, x
n
, u
m
e siano
A =
f
x

x = x
0
u = 0
B = [ g
1
(x
0
) . . . g
m
(x
0
)]
le matrici dellapprossimazione lineare.
Se il sistema x = Ax +B u ` e controllabile, allora per ogni T t esiste un intorno x
0
tale che
per ogni suo punto x
f
esiste un controllo u(t) tale per cui x(u(t), T) = x
f
, inoltre il controllo
` e limitato.
Per cui la controllabilit` a dellapprossimazione lineare implica la controllabilit` a locale del si-
stema originale, ma non ` e vero il viceversa. Per quanto riguarda il nostro sistema, si dimostra
facilmente tale propriet` a, ma per riuscire ad avere una informazione valide non solo nella zo-
na lineare di lavoro procederemo invece cercando un opportuno controllo u(t) che stabilizzi il
sistema anche in punti lontani dalla zona di linearizzazione nellipotesi ovviamente che il siste-
ma sia completamente noto e solo successivamente ci occuperemo del suo controllo a struttura
variabile in presenza di incertezze parametriche o disturbi.
1 Feedback Linearization Ingresso-Stato
Per trovare lingresso adatto a controllare il nostro sistema ricorreremo ad una tecnica di control-
lo detta feedback linearization. Lobbiettivo di questa tecnica consiste nel trovare una opportuna
trasformazione algebrica che permetta di trasformare il nostro sistema non lineare in un equi-
valente sistema lineare, il quale poi potr` a essere controllato con le note tecniche del controllo
lineare. Questa tecnica, si differenzia dalla linearizzazione classica o Jacobian Linearization nel
fatto che la linearizzazione viene eseguita mediante retroazione e la legge di controllo risulta
essere una legge esatta e non una approssimazione in un intorno del punto di lavoro, il che pu` o
permettere la sintesi di regolatori che garantiscano performance nettamente superiori in termini
di validit` a della legge di controllo rispetto a quelli progettati con la linearizzazione classica.
Lidea ` e, dato un sistema non lineare in forma afne al controllo
x(t) = f(x) +g(x)u (2.1)
1
Per questo motivo ci si riferisce al sistema pendolo inverso come ad un sistema sottoattuato.
2.1 Feedback Linearization Ingresso-Stato 8
con f e g vettori di funzioni sufcientemente smooth, trovare se esiste un diffeomorsmo
:
n
(2.2)
con
n
, tale che denita la trasformazione di stato z = (x) e lingresso
u =
1
(x) [(x) + v] (2.3)
si ottenga il seguente sistema lineare tempo invariante
x = A
G
z + B
G
[(x) +(x)u] = A
G
z + B
G
v (2.4)
dove (x) ` e una funzione scalare invertibile, v ` e la nuova legge di controllo statica che permette
lassegnamento poli-zeri al sistema linearizzato ed inoltre si deve avere che scelta come trasfor-
mazione di uscita y = z
1
il sistema risulta essere a grado relativo n.
Rimane quindi da capire come sia possibile ricavare lopportuno diffeomorsmo (x) e la fun-
zione (x) invertibile. Per capire quale sia la procedura che porta al risultato desiderato vediamo
di trattare il caso generale (SISO). Dato il sistema
_
x(t) = f(x) + g(x)u
y = h(x)
(2.5)
da cui derivando luscita y
y =
h
x
x =
h
x
(f(x) + g(x)u) = L
f
h + L
g
hu (2.6)
dove L
f
ed L
g
sono le cos` dette derivate di Lie, ovvero delle derivate direzionali. In questo caso
ad esempio L
f
= h f(x) rappresenta la proiezione del gradiente di h(x) lungo la direzione
f(x). Nella (2.6) vediamo che se L
g
h = 0 anche la derivata prima delluscita non contiene
lingresso; calcolando ora le derivate successive
y =
L
f
h
x
= L
2
f
h + L
g
L
f
hu
.
.
.
y
(r)
= L
(r)
f
h + L
g
L
(r1)
f
hu
(2.7)
si pu` o notare, ricordando che y = z
1
=
1
(x) che se imponiamo i seguenti vincoli:
L
g
L
(i)
f

1
= 0, i = 0, 1 , r 2
L
g
L
(r1)
f

1
= 0
riusciamo a trovare le condizioni per cui possa esistere lopportuno diffeomorsmo che permette
di linearizzare il nostro sistema e che consente di avere un sistema lineare con il medesimo grado
relativo di partenza, ma espresso in forma canonica di Brunowsky dove le non linearit` a verranno
tutte compensate in forma esatta mediante il controllo u ricavato dallultima riga della (2.7)
u =
1
L
g
L
(r1)
f

1
_
L
(r)
f

1
+ v
_
(2.8)
2.1 Feedback Linearization Ingresso-Stato 9
dove si pu` o riconoscere la stessa struttura della (2.3).
Inoltre ` e possibile usare le derivate successive delluscita per denire il seguente cambio di
variabili
z = (x) =
_

1
L
f

1
(x)
L
2
f

1
.
.
.
L
(r1)
f

1
_

_
(2.9)
dove per` o si dovr` a vericare che questo sia un cambio di variabili ammissibile, ovvero che le
r equazioni che lo compongono siano indipendenti. Dunque se il sistema nel nuovo spazio di
stato ha grado relativo r = n si parla di linearizzazione totale esatta in feedback. Per capire se
esiste la funzione
1
(t) ` e sufciente risolvere il sistema (2.10) normalizzato
2
_
ad
0
f
g ad
1
f
g ad
r2
f
g ad
r1
f
g
_
_

1
/x
1

1
/x
2
.
.
.

1
/x
r1

1
/x
r
_

_
=
_

_
0
0
.
.
.
0
1
_

_
(2.10)
dove si ` e utilizzato in maniera ricorsiva loperatore Lie Bracket denito come
ad
i
f
g =
_
f, ad
(i1)
f
g
_
= ad
(i1)
f
g f f ad
(i1)
f
g
con ad
0
f
g = g ed i = 1, 2, , insieme allidentit` a di Jacobi L
ad
f
g

1
= L
f
L
g

1
L
g
L
f

1
.
Vediamo ora di applicare tale procedura al nostro sistema (1.10). Deniamo innanzitutto i due
vettori di funzioni f(x) e g(x) tali da mettere il nostro sistema in forma afne al controllo
f(x) =
_

_
x
2
b x
2
mg sin(x
3
) cos(x
3
) + mL sin(x
3
)x
2
4
(M + msin
2
(x
3
))
x
4
g(M + m)sin(x
3
) + bx
2
cos(x
3
) mLsin(x
3
)cos(x
3
)x
2
4
L (M + m sin
2
(x
3
))
_

_
(2.11)
g(x) =
_

_
0
1
(M + msin
2
(x
3
))
0
cos(x
3
)
L (M + m sin
2
(x
3
))
_

_
(2.12)
Da cui ora dovremo calcolare i seguenti vettori
_
g ad
1
f
g ad
2
f
g ad
3
f
g
_
2
Dato senza dimostrazione.
2.2 Feedback Linearization Ingresso-Uscita 10
essendo questo un calcolo molto laborioso ci siamo appoggiati alla piattaforma open-source di
calcolo simbolico Maxima, e quindi mandando in run il seguente script creato ad hoc siamo
riusciti a calcolare le varie Lie-Derivative in maniera agevole.
/
*
--------------------------------------------------------------
*
/
/
*
lieBracket.max:
*
/
/
*
Alessandro Pilloni, alex_pilloni@yahoo.it
*
/
/
*
created 25012010
*
/
/
*
TO RUN: batch("lieBracket.max"),lieBracket()
*
/
/
*
--------------------------------------------------------------
*
/
lieBracket():=(
print("Script to calculate the Lie Bracket operator"),
/
*
asks f and g function
*
/
f:read("enter f(x1,x2,x3,x4)"),
g:read("enter g(x1,x2,x3,x4)"),
Nabla_g:matrix([diff(g,x1),diff(g,x2),diff(g,x3),diff(g,x4)]),
Nabla_f:matrix([diff(f,x1),diff(f,x2),diff(f,x3),diff(f,x4)]),
print("The Lie-Bracket operator < adj_f1g=[f,g] > is"),
adj_f1g:Nabla_g.f-Nabla_f.g
)\$
Da tale calcolo si ` e trovato per` o che il vettore ad
1
f
g = [f, g] aveva elementi su ogni sua coor-
dinata, il che implica che lo Jacobiano di
1
(x) non debba dipendere da nessuna delle variabili
di stato. Questo ` e per` o inaccettabile perch e in tal caso non si potrebbe pi ` u rispettare il vincolo
L
g
L
(r1)
f

1
= 0; quindi possiamo affermare che in questo caso un diffeomorsmo di grado
massimo non pu` o esistere.
In questi casi, si pu` o comunque procedere ad una linearizzazione esatta per` o parziale, detta
anche linearizzazione ingresso-uscita, la quale verr` a affrontata nel seguente sezione.
2 Feedback Linearization Ingresso-Uscita
La feedback linearizzazione ingresso-stato, come abbiamo visto in precedenza non sempre per-
mette di trovare delle trasformazioni che portino il sistema nel nuovo spazio di stato in una
forma a grado relativo massimo r = n, in tali casi ` e comunque possibile ricorrere ad una
linearizzazione parziale mediante la linearizzazione ingresso-uscita. Questo approccio viene
utilizzato ad esempio nelle seguenti situazioni:
se il sistema non consente di trovare una funzione
1
(x) a grado massimo(come nel nostro
caso);
se il sistema ha una uscita h(x) con signicato sico tale da imporre la scelta(soprattutto
in problemi di inseguimento);
se non si vuole o non si riesce ad integrare il sistema di equazioni differenziali alle derivate
parziali che forniscono luscita di grado relativo massimo.
In questi casi comunque i vincoli sulle (2.6) sono ancora validi, dove per` o ora si dovranno tro-
vare anche altre (nr) funzioni indipendenti dalle precedenti, cos` da poter rappresentare tutte
le n variabili di stato del sistema. Quindi una volta stabilizzata la dinamica IU, si dovr` a studiare
la stabilit` a della dinamica interna, in quanto lefcacia del controllo progettato ` e strettamente
legato alla stabilit` a di questultima.
Un idea su come scegliere le nuove (n r) funzioni pu` o essere quella di sceglierle in maniera
che non dipendono esplicitamente sia dallingresso che dalle prime r variabili di stato, ma bens`
sceglierle in maniere che dipendano esclusivamente da queste ultime.
2.2 Feedback Linearization Ingresso-Uscita 11
Vedremo infatti che questa scelta ci permettere di suddividere la dinamica interna non osser-
vabile in due parti, una dipendente solo dagli stati di questa dinamica, ed un altra dipendente
sia da questi che dalle altre r variabili di stato, il che faciliter` a lo studio sulla stabilit` a di tale
dinamica.
Riassumendo il nuovo sistema avr` a la seguente struttura:
_

_
z = A
G
z + B
G
v
y = z
1
w = (w, z)
con
_
z
w
_
= (x) , z
r
, w
(nr)
(2.13)
dove
w = (w, z) = ( 0, w)
. .
dinamica zero
+
p
( z, w)
. .
dinamica perturbata
(2.14)
A questo punto vediamo come scegliere le variabili complementari
r+1
. . .
n
. Prendendo
lultima delle (2.7) e derivandola (n r) volte si ottiene
z
r+1
=

r+1
x
= L
f

r+1
+ L
g

r+1
.
.
.
z
(n1)
= L
(nr)
f

r+1
+ L
g
L
(nr1)
f

r+1
(2.15)
dove se imponiamo come vincoli
L
g

i
(x) = 0, r + 1 i n con
r+1
= L
(r)
f
h + L
g
L
(r1)
f
hu (2.16)
e risolvendo un sistema simile a quello in (2.10), riusciamo come desiderato ad eliminare la
dipendenza esplicita del controllo dalla dinamica interna. Dopo di che non rimane che stabiliz-
zare asintoticamente il sistema linearizzato (2.13) scegliendo una opportuna retroazione statica
dello stato tipo
v = v(z) = k z con k = [k
0
, k
1
, . . . , k
r
] (2.17)
ed andare a studiare la stabilit` a della zero-dinamica; dove se questa risulter` a almeno localmente
asintoticamente stabile, allora il sistema complessivo sar` a localmente asintoticamente stabile.
Vediamo ora di applicare tale procedura al nostro sistema. Ricordando che nel nostro caso la
siamo interessati al posizionamento dellasta nella posizione verticale alta del nostro riferimen-
to, si ` e deciso di scegliere come variabile di uscita proprio questa. Per cui posto y = x
3
=
1
(x)
vediamo derivando tale segnale quale sia il grado relativo di tale dinamica. Nel nostro caso
abbiamo
y =
1
(x) = x
3
y = L
f

1
+ L
g

1
u = x
4
y = L
2
f

1
+ L
g
L
f

1
u
(2.18)
dove si ha
L
g

1
=
_
0 0 1 0
_
_

_
0
1
(M + msin
2
(x
3
))
0
cos(x
3
)
L (M + m sin
2
(x
3
))
_

_
= 0 (2.19)
2.2 Feedback Linearization Ingresso-Uscita 12
mentre
L
g
L
f

1
=
_
0 0 0 1
_
_

_
0
1
(M + msin
2
(x
3
))
0
cos(x
3
)
L (M + m sin
2
(x
3
))
_

_
=
cos(x
3
)
L (M + m sin
2
(x
3
))
(2.20)
La nostra dinamica IU ha perci ` o grado relativo r = 2.
Per completare il cambio di variabili dobbiamo per` o trovare altre due relazioni indipendenti da
queste e che soddisno la (2.16), per cui ricordando che x
1
annullava gi` a di suo L
g
x
1
, dato che
L
g

3
= L
g
x
1
=
_
1 0 0 0
_
_

_
0
1
(M + msin
2
(x
3
))
0
cos(x
3
)
L (M + m sin
2
(x
3
))
_

_
= 0 (2.21)
si ottiene il seguente sistema
w
1
=
3
= x
1
w
2
= w
1
=

3
x
= L
f

3
+ L
g

3
w
2
=

4
x
= L
f

4
+ L
g

4
(2.22)
dove per` o bisogna ancora trovare lultima trasformazione
4
(x). Quindi posto

4
x
= [ a
1
, a
2
, a
3
, a
4
]
il nostro vettore incognito, risolvendo il seguente sistema
L
g

4
= 0 =

4
x
g(x) = 0 (2.23)
=
_
a
1
a
2
a
3
a
4
_
_

_
0
1
(M + m sin
2
(x
3
))
0
cos(x
3
)
L (M + m sin
2
(x
3
))
_

_
= 0
=
a
2
(M + msin
2
(x
3
))

a
4
cos(x
3
)
L(M + msin
2
(x
3
))
= 0
(2.24)
=a
2
=
a
4
cos(x
3
)
L
(2.25)
2.2 Feedback Linearization Ingresso-Uscita 13
si ottiene che gli elementi del vettore
4
/x possono essere scelti ad arbitrio purch e il vincolo
(2.25) sia rispettato. Ad esempio una soluzione pu` o essere a
4
= L ed a
1
= a
3
= 0 da cui deriva

4
x
= [ 0, cos(x
3
), 0, L]
la quale integrata
3
fornisce lultima funzione della nostra trasformazione di stato. Ora il cambio
di variabili risulta completo e viene riportato di seguito.
_
z
w
_
= (x) =
_

_
z
1
= x
3
z
2
= x
4
w
1
= x
1
w
2
= x
2
cos(x
3
) + L x
4
(2.26)
_
x
_
=
1
(z, w) =
_

_
x
1
= w
1
x
2
=
w
2
L z
2
cos(z
1
)
x
3
= z
1
x
4
= z
2
(2.27)
Utilizzando ora il seguente script maxima
/
*
-----------------------------------------------------------------
*
/
/
*
newDynamic.max:
*
/
/
*
Alessandro Pilloni, alex_pilloni@yahoo.it
*
/
/
*
created 28012010
*
/
/
* *
/
/
*
TO RUN: batch("newDynamic.max"),newDynamic()
*
/
/
*
-----------------------------------------------------------------
*
/
newDynamic():=(
f:read("enter f(x1,x2,x3,x4)"),
g:read("enter g()"),
FI:read("enter FI(x)"),
/
*
--------------------------------------------------------------
*
/
Nabla_FI:matrix([diff(FI,x1),diff(FI,x2),diff(FI,x3),diff(FI,x4)]),
/
*
--------------------------------------------------------------
*
/
print("The new dynamic system is:"),
newDynamic=Nabla_FI.f+Nabla_FI.g
*
u
)\$
che ricava la nuova dinamica complessiva espressa rispetto alle vecchie variabili di stato come
_
z
w
_
=
(x)
x
(f(x) + g(x)u) (2.28)
A questo punto eseguendo il cambio di variabile (2.27) ed semplicando opportunamente si ha
_

_
z
1
= z
2
z
2
=
g(M + m)sin(z
1
) + b(w
2
Lz
2
) mLsin(z
1
)cos(z
1
)z
2
2
cos(z
1
) u
L (M + m sin
2
(z
1
))
y = z
1
w
1
=
w
2
L z
2
cos(z
1
)
w
2
=
sin(z
1
) (z
2
2
w
2
z
2
+ gcos(z1))
cos(z
1
)
(2.29)
3
La condizione di integrabilit` a ` e garantita dal teorema di Frobenius in quanto le funzioni che compongono la
(x) sono indipendenti ed involutive.
2.2.1 Analisi della dinamica interna 14
dove non rimane che ricavare lingresso opportuno da inserire, tale da linearizzare il legame IU
del sistema (2.29). Per cui dato il seguente legame IU
y = z
1
= x
3
y = x
3
= x
4
y = x
4
= v =
g(M + m)sin(x
3
) +b x
2
cos(x
3
) mLsin(x
3
)cos(x
3
)x
2
4
cos(x
3
) u
L (M + m sin
2
(x
3
))
(2.30)
lingresso che linearizza tale dinamica espressa in forma canonica di Brunowsky risulta
u =
1
(x) [(x) + v] =
=
g(M + m)sin(x
3
) + b x
2
cos(x
3
) mLsin(x
3
)cos(x
3
)x
2
4
cos(x
3
)

L(M + m sin
2
(x
3
))
cos(x
3
)
v
(2.31)
Osservando questa relazione si noti che tale segnale di controllo rispecchi esattamente la struttu-
ra della (2.3) e che al momento attuale il sistema linearizzato IU si comporta esattamente come
un doppio integratore, dove per` o con una opportuna retroazione statica dello stato si potran-
no anche assegnare gli autovalori a ciclo chiuso del nostro legame IU. Ad esempio ` e possibile
assegnare una dinamica lineare asintoticamente stabile con due poli in s = 10 ponendo
v(z) = k z =
_
100 20
_
_
z
1
z
2
_
(2.32)
Si noti per` o che in realt` a non siamo ancora certi che effettivamente sia possibile stabilizzare tutto
lo stato del nostro sistema, per ora infatti abbiamo informazioni esclusivamente sul legame IU,
dato che non siamo ancora andati a studiare la stabilit` a della dinamica interna del nostro sistema,
la quale come mostrato nella (2.29) inuenza anche la dinamica di z
2
e quindi se tale dinamica
dovesse risultare instabile, quindi non limitata, comporter` a anche linstabilit` a di tutto il sistema,
in quanto il controllo non sar` a mai in grado di cancellare un contributo non limitato
4
.
2.1 Analisi della dinamica interna
Una volta garantita la BIBO stabilit` a del sistema mediante la retroazione statica dello stato sul
sistema linearizzato in feedback, per poter affermare che il sistema sia BIBS stabile bisogna in-
vece ricorrere al concetto di stabilit` a totale, il quale pu` o essere riassunto dicendo che un sistema
gode di questa propriet` a se a partire da una condizione iniziale opportuna e sottoposto il sistema
ad una perturbazione sufcientemente piccola, questo mantiene la sua traiettoria limitata. Come
si nota questa ` e una propriet` a ovviamente locale che per` o garantisce sotto opportune condizioni
che tutto lo stato del sistema sia limitato; tale limitatezza ` e per` o fortemente legata allampiezza
delle perturbazioni. Volendo applicare tale propriet` a al nostro sistema ` e necessario quindi stu-
diare innanzitutto la sua zero dinamica, ovvero la dinamica del sistema nellipotesi che questo
non sia perturbato (z = 0). Se tale dinamica risulta essere stabile, allora sar` a necessario studiare
anche la dinamica perturbata, ma se gi` a la prima risulta essere instabile, allora sicuramente il
4
Questa situazione ` e molto simile a quella che si ha nei sistemi lineari a fase non minima quando si cerca di
cancellare degli zeri situati nel semipiano destro.
2.2.2 Analisi dei risultati 15
sistema non sar` a BIBS stabile. In base alla denizione (2.14) riportiamo la zero dinamica del
nostro sistema
_
w
1
= w
2
w
2
= 0
(2.33)
questa come si pu` o notare ` e equivalente alla dinamica di un doppio integratore, ragion per cui ` e
possibile affermare che il nostro sistema avendo una zero dinamica marginalmente stabile, non
potr` a mai garantire una stabilit` a BIBS.
Figura 2.2: Feedback Linearizzation IU con pole-placement.
2.2 Analisi dei risultati
Riportiamo ora in Figura 2.2 lo schema Simulink del sistema controllato con FL-IU ed in Figu-
ra 2.3 e Figura 2.4 rispettivamente il nostro processo e ed il controllore che realizza la FL-IU.
Nellanello pi` u esterno di Figura 2.2 ` e possibile riconoscere anche il feedback che si preoccu-
pa dellassegnamento poli-zeri del sistema IU. In Figura 2.5 riportato invece landamento delle
variabili di stato del sistema, dove come si pu` o notare il sistema risulta non BIBS dato che il car-
rello una volta raddrizzato il pendolo tende a fuggire con moto rettilineo uniforme esattamente
come un doppio integratore soggetto ad un impulso, ovvero alla forza di reazione per eseguire
lo swing-up dellasta.
2.2.2 Analisi dei risultati 16
Figura 2.3: Schema Simulink del regolatore che esegue la FL-IU.
Figura 2.4: Schema Simulink del processo Pendolo Inverso.
2.3 Backstepping Control Design 17
0 1 2 3 4 5 6 7 8
1
0.5
0
0.5
1
time [sec]
V
a
r
i
a
b
l
e

S
t
a
t
e


x1 [m]
x2 [m/sec]
x3 [rad]
x4 [rad/sec]
Figura 2.5: Andamento temporale delle variabili di stato del sistema.
3 Backstepping Control Design
Dalla precedente analisi abbiamo dimostrato limpossibilit` a di controllare il sistema pendolo in-
verso mediante la tecnica della feedback linearization IU utilizzando come variabile di uscita la
sola posizione angolare x
3
(t) = (t). Questo fallimento ovviamente non preclude la possibilit` a
di riuscire a trovare una opportuna legge di controllo basata su questa tecnica
5
, ma probabil-
mente sar` a necessario prendere una trasformazione di uscita che sia una combinazione di pi ` u
variabili di stato; ad esempio che contenga anche la posizione del carrello, cosi da poter control-
lare e quindi mantenere limitata anche questultima. Dopo alcuni tentati andati vani, si ` e deciso
che probabilmente i costi necessari per trovarla risultavano maggiori di quanto non sarebbero
stati provando a controllare il sistema con tecniche diverse.
Sulla base di questo ragionamento si ` e deciso di provare a dimostrare la controllabilit` a del no-
stro sistema mediante la tecnica del backstepping control.
Questa tecnica sviluppata nei primi anni novanta, si basa sui teoremi di stabilit` a alla Lyapunov
nella quale mediante step successivi applicati ricorsivamente, si arriva sintetizzare un controllo
tale da garantire una funzione di Lyapunov V (x) denita positiva ed una

V (x) denita negativa,
dove lordine del controllore ` e pari al numero di step eseguiti. La procedura ricorsiva termina
quando compare il controllo esterno nella nuova funzione di Lyapunov candidata.
In questa analisi ci limiteremo esclusivamente alla ricerca di una legge di controllo non globale
ma che ci dimostri come il nostro sistema non lineare sia effettivamente controllabile
6
.
Per semplicit` a si ` e deciso di sintetizzare lopportuno controllo sul sistema linearizzato, e succes-
sivamente dimostrare come tale regolatore funzioni egregiamente anche sul sistema non lineare.
5
Se non ` e stata trovata una opportuna trasformazione di stato, non ` e detto che non esista.
6
Nellarticolo [5] ` e riportato un controllo backstepping che garantisce la globale asintotica stabilit` a del sistema.
2.3 Backstepping Control Design 18
Partendo dal modello (1.10), riportiamo di seguito la sua approssimazione lineare
_

_
x
1
x
2
x
3
x
4
_

_
=
_

_
0 1 0 0
0
b
M

mg
M
0
0 0 0 1
0
b
LM

g(M+m)
LM
0
_

_
x
1
x
2
x
3
x
4
_

_
+
_

_
0
1
M
0

1
LM
_

_
(2.34)
e partendo da questa, mostreremo passo passo come applicare la procedura di backstepping al
nostro sistema.
Step 1: Scelta come nuova variabile di stato una combinazione delle variabili in gioco tale
da non far comparire nella sua derivata il segnale di controllo esterno u come ad esempio
z
1
= x
2
k
_
x
1
+
1
L
x
3
+ x
4
_
(2.35)
con k costante da determinare, si ha che la sua derivata risulta
z
1
= x
4
k
_
x
2
+
g
L
x
3
_
(2.36)
Ora scelta come seconda variabile di stato
z
2
= x
4
(x) (2.37)
vediamo che se sostituiamo questa nella (2.36) si ottiene
z
1
= z
2
+ (x) k
_
x
2
+
g
L
x
3
_
(2.38)
dove (x) ` e un segnale di controllo ttizio. A questo punto si pu` o notare che posto
(x) = c
1
z
1
+ k
_
x
2
+
g
L
x
3
_
(2.39)
con c
1
costante positiva e scelta come funzione di Lyapunov la classica forma quadratica
V (x) =
1
2
z
2
1
si ottiene che

V (x) = z
1
z
1
= c1z
2
1
+ z
1
z
2
dove per il momento non ci preoccupiamo di scegliere z
2
.
Step 2: Dopo questo primo step, vediamo immediatamente che assegnato a c
2
un valore
costante positivo, se scegliamo per z
2
una dinamica del tipo
z
2
= z
1
c
2
z
2
(2.40)
possiamo garantire la stabilit` a IU del nostro sistema, in quanto si avrebbe
V (x) =
1
2
z
2
1
+
1
2
z
2
2

V (x) = z
1
z
1
+ z
2
z
2
= c
1
z
2
1
c
2
z
2
2
2.3.1 Analisi della dinamica interna 19
dove le costanti c
1
e c
2
sono i pesi che ssano il rate di convergenza della nuova dinamica
IU. Per cui derivando la (2.37)
z
2
= x
4
(x)
=
_
g(M+m)
LM
x
3
+
b
LM
x
2

u
LM
_

_
c
1
z
1
+ k
_

b
M
x
2

mg
M
x
3
+
u
M
+
g
L
x
4
__
(2.41)
ed uguagliando alla (2.40), si pu` o ricavare il controllo u tale da garantire le condizioni di
stabilit` a IU del nostro sistema. Pertanto il controllo u cercato risulta
u =
1
1 + kL
(
1
x
1
+
2
x
2
+
3
x
3
+
4
x
4
) (2.42)

1
= d
2
kLM

2
= d
1
kLM d
2
LM b bkL

3
= gd
1
kM + d
2
kM g(M + m) + mgL

4
= d
1
LM + d
2
kLM + gkM
dove d
1
= c
1
+ c
2
, d
2
= 1 +c
1
c
2
.
Osservando la (2.41) notiamo che la procedura di backstepping ` e giunta a termine, dato che
` e comparso lingresso di controllo in maniera esplicita nella derivata della nuova variabile di
stato. Per` o poich e il nostro sistema risulta essere del quarto ordine, sar` a necessario cercare ed
andare a studiare una dinamica interna del secondo ordine per il nostro sistema.
3.1 Analisi della dinamica interna
Per calcolare una possibile dinamica interna indipendente dalle nuove variabili di stato (2.35) e
(2.37), possiamo scegliere come per la feedback linearization IU w
1
= x
1
dalla quale si ottiene
il seguente diffeomorsmo
_

_
z
1
z
2
w
1
w
2
_

_
= (x) =
_

_
k 1
k
L
k
c
1
k c
1
k
k(g+c
1
)
L
c
1
k
1 0 0 0
0 1 0 0
_

_
x
1
x
2
x
3
x
4
_

_
(2.43)
il quale risulta come si pu` o notare invertibile e quindi garantisce la validit` a di tale trasformazione
di stato. Invertendo la (2.43) otteniamo invece la sua relazione inversa
_
x
_
=
1
(z, w) =
_

_
x
1
= w
1
x
2
= w
2
x
3
=
(kz
2
+ (1 c
1
k)z
1
+ w
2
k
2
+ w
1
k w
2
)L
gk
2
+ k
x
4
=
z
2
+ (g c
1
)z
1
+ (w
2
w
1
g)k + w
2
g)
gk + 1
(2.44)
2.3.1 Analisi della dinamica interna 20
A questo punto eseguendo le opportune sostituzioni otteniamo un sistema caratterizzato dalla
seguente zero dinamica
_
w
1
= w
2
w
2
= b
1
w
1
+ b
2
w
2
(2.45)
b
1
=
gkL
2
+
3
L+gL+g
4
kg
1
k
1
(gk+1)(kL+1)M
b
2
=
(gk
3
gk)L
2
+(bgk
3
+(
3
+gb)k
2

3
g)L+(
4
g
2
bg)k
2
+(g
4

2
b)k
((gk
3
+k
2
)L+gk
2
+k)M
(2.46)
4 3 2 1 0 1 2 3 4
500
0
500
Coefficent of internal dynamics
k
1
b
1
4 3 2 1 0 1 2 3 4
500
0
500
k
1
b
2
Figura 2.6: Andamento dei coefcienti della dinamica interna al variare di k.
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
1500
1000
500
0
500
1000
1500
k
1
[
b
1

,

b
2
]


b
1
b
2
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
0
0.5
1
1.5
2
k
1
(
b
1


b
2
)
>
0


(b
1
b
2
)>0
Figura 2.7: Valori di k per cui si ottiene una zero dinamica stabile.
2.3.1 Analisi della dinamica interna 21
Figura 2.8: Schema Simulink backstepping control.
0 5 10 15
15
10
5
0
5
10
15
20
time [sec]
V
a
r
i
a
b
l
e

S
t
a
t
e


x1 [m]
x2 [m/sec]
x3 [rad]
x4 [rad/sec]
Figura 2.9: Risposta del sistema ad uno step di 12.1 m partendo da uno scostamento di 69.
2.3.2 Analisi dei risultati 22
0 2 4 6 8 10 12 14 16
200
150
100
50
0
50
100
150
200
time [sec]
u


Control Signal [N]
Figura 2.10: Andamento temporale del segnale di controllo.
la quale risulta fortemente legata al valore assegnato al parametro k, parametro questo che non
inuenza landamento della dinamica IU, ma che invece gioca un ruolo fondamentale sulla di-
namica interna del sistema. Si nota infatti che tale dinamica risulta stabile se e solo se i due
coefcienti b
1
e b
2
sono contemporaneamente negativi per il valore di k ssato.
Riportiamo quindi in Figura 2.6 landamento dei due coefcienti al variare di k, mentre in Fi-
gura 2.7 sono evidenziati i valori per cui la zero dinamica ` e stabile nel caso in cui si sia posto
c
1
= c
2
= 1.
3.2 Analisi dei risultati
In Figura 2.8 possiamo notare lo schema Simulink del sistema non lineare controllato mediante
il controllo (2.42) e rispettivamente in Figura 2.10 e Figura 2.9 landamento di questultimo e
delle variabili di stato del sistema, dove come si pu` o notare si ha un sistema complessivo BIBS
stabile e controllabile, infatti ` e possibile oltre al raddrizzamento dellasta anche il tracking sulla
posizione del carrello.
Questo controllo bench e progettato basandosi sul modello lineare del sistema, garantisce co-
munque un grande range di validit` a, infatti si ha come angolo massimo di convergenza circa
69, dove per` o tale regolazione si ottiene anche se contemporaneamente sottoponiamo il siste-
ma ad un set-point limite sulla posizione del carrello di 12.1 m; per set-point maggiori invece il
sistema non risulta pi` u in grado di garantire il tracking e la regolazione richiesti.
Poco fa abbiamo marcato il fatto che il backstepping control design abbia permesso di sintetiz-
zare una legge di controllo abbastanza buona in termini di prestazione, senza per` o avere alcun
metro di misura, per cui giusto come informativa diciamo che il medesimo sistema, controllato
con una retroazione statica dello stato sul sistema lineare garantisce invece lo swing-up per un
angolo massimo di circa 57 e pu` o sopportare contemporaneamente un set-point sulla posizione
del carrello di soli 7.5 m.
Capitolo 3
Sliding mode control
In questultimo capitolo, vedremo come sia possibile stabilizzare localmente il nostro sistema
nel suo punto di equilibrio instabile, mediante un controllo sliding mode, nel caso in cui sia
presente sul sistema un disturbo incognito accoppiato con il segnale di controllo. Proporremo
quindi tre diverse leggi di controllo sliding mode per il sistema, utilizzando tra i diversi algoritmi
presenti in letteratura, quelli sotto indicati
Twisting algorithm
Dynamic SM algorithm
Super Twisting algorithm
Successivamente confronteremo i risultati ottenuti in termini di complessit` a, range di validit` a e
forza necessario per il controllo.
Prima di addentrarci nella trattazione del problema vediamo per` o di rimarcare cosa si intende
per controllo sliding mode.
Con il termine controllo sliding mode si fa riferimento ad un controllore a struttura variabile
(VSC) in retroazione di stato, che modica il comportamento di un sistema non lineare forzan-
dolo con un segnale di controllo in alta frequenza.
Il controllo sliding mode nasce per essere robusto e versatile, per questo motivo viene spesso
indicato come controllo universale. Lidea alla base di questo tipo di controllore ` e semplice,
si controlla il sistema in modo che raggiunga una supercie detta di sliding che rappresenta il
riferimento del sistema di controllo. Per ottenere ci ` o, il sistema viene forzato con un segnale
di controllo discontinuo, che spinger` a le traiettorie del sistema in direzione della supercie di
sliding, le traiettorie del sistema oscilleranno intorno alla supercie stessa (chattering) e lam-
piezza delle oscillazioni sar` a tanto pi` u piccola quanto maggiore sar` a la frequenza del segnale di
controllo.
La progettazione dello schema di controllo pu` o essere sintetizzata in due passi:
Si sceglie una supercie di sliding sulla quale le traiettorie del sistema dovranno con-
vergere, quindi il comportamento del sistema in retroazione dipender` a appunto da tale
supercie;
Si sceglie una legge di controllo in funzione della supercie di sliding, dove questa de-
ve presentare sempre almeno un termine discontinuo ma pu` o presentare anche termini
continui.
3.1 VSC Twisting algorithm 24
Si noti che limportanza di questa metodologia di controllo nasce dal fatto che essa ` e una meto-
dologia di controllo robusto, ovvero ` e ammessa la presenza di disturbi nellanello di controllo
e imprecisioni nel modello, le quali possono derivare o da incertezze parametriche del plant o
pi` u semplicemente da semplicazioni di modello, quali ad esempio laver trascurato effetti di
ordine superiore, come nel caso della modellazione lineare dellattrito.
Uno svantaggio di questo metodo ` e il fatto che il successo della regolazione o dellinseguimen-
to si ottiene al prezzo di una attivit` a di controllo estremamente elevata (lampiezza del segnale
sullattuatore ` e spesso affetta da chattering, ossia da oscillazioni spurie in alta frequenza), la
quale potrebbe eccitare eventuali dinamiche di ordine superiore trascurate nel modello.
`
E comunque possibile modicare la legge di controllo, ottenendo come vedremo dei controlli
a struttura variabile non discontinui, in modo da effettuare un compromesso tra le performance
del sistema a ciclo chiuso e lazione di controllo. Facciamo notare inoltre che questa tecni-
ca ` e stata applicata con successo a numerosi e svariati sistemi di controllo non lineare, tra i
quali ricordiamo i manipolatori robotici, i veicoli sottomarini, le trasmissioni e i motori degli
autoveicoli, i sistemi di potenza e i motori elettrici.
1 VSC Twisting algorithm
Dopo queste precisazioni vediamo come impostare il nostro problema. Come gi` a accennato
per dimostrare la robustezza del controllo a struttura variabile inseriremo nel sistema (1.10) un
segnale di disturbo F
x
incognito, sempre positivo e minore o al pi ` u uguale a 10 Newton. Il nuovo
sistema ` e quindi riportato nella (3.1) dove ` e facile intuire che questo disturbo rappresenta una
forza di attrito; si noti poi come la seconda equazione del sistema sia stata inoltre moltiplicata e
divisa per la lunghezza dellasta del pendolo.
_

_
x
1
= x
2
x
2
=
bL x
2
mgL sin(x
3
) cos(x
3
) + mL
2
sin(x
3
)x
2
4
+ L(u F
x
)
L(M + msin
2
(x
3
))
x
3
= x
4
x
4
=
g(M + m)sin(x
3
) + bx
2
cos(x
3
) mLsin(x
3
)cos(x
3
)x
2
4
cos(x
3
) (u F
x
)
L (M + m sin
2
(x
3
))
(3.1)
Come visto in tutte le precedenti sintesi, lidea chiave per il controllo del sistema pendolo in-
verso ` e trovare un opportuno diffeomorsmo invertibile tale da garantire oltre che la stabilit` a
ingresso uscita del sistema, anche la stabilit` a della sua dinamica interna, se questa risulta essere
presente.
Scegliamo quindi come nuova variabile di stato la seguente combinazione non lineare di stati
del sistema:
= x
1
+ L ln
_
1 + sin(x
3
)
cos(x
3
)
_
, con | x
3
|<

2
(3.2)
Derivando due volte questultima si ottengono rispettivamente
= x
2
+ L
x
4
cos(x
3
)
(3.3)
ed
=
_
g + L
x
2
4
cos(x
3
)
_
tan(x
3
) (3.4)
3.1 VSC Twisting algorithm 25
da cui ` e si ricavato il nuovo spazio di stato riportato nella (3.5)
_

_
=
= g tan(x
3
) + L
x
2
4
tan(x
3
)
cos(x
3
)
x
3
= x
4
x
4
=
g(M + m)sin(x
3
) + bx
2
cos(x
3
) mLsin(x
3
)cos(x
3
)x
2
4
cos(x
3
) (u F
x
)
L (M + m sin
2
(x
3
))
(3.5)
il quale ` e costituito da due sottosistemi che possiamo pensare come rappresentativi rispettiva-
mente delle dinamica interna (, ) e della dinamica IU (x
3
, x
4
) del nostro sistema .
Deniamo ora una nuova variabile denita come
= tan(x
3
) +
1
+
2
(3.6)
con
1
e
2
strettamente positivi. Osservando questultima ` e facile notare che se si riuscisse a
mandare a zero si otterrebbe
=
_
g + L
x
2
4
cos(x
3
)
_
(
1

2
) (3.7)
che garantirebbe la stabilit` a della zero dinamica del sistema (3.5) dato che il primo termine tra
parentesi risulta sempre positivo nel range di validit` a prescelto.
Il problema ora si traduce nel cercare un opportuno controllo a commutazione che garantisca la
convergenza di a zero. Derivando due volte la (3.6) si ottiene
= + + p (3.8)
con
=
_
1 + 2
2
x
4
sin(x
3
)L
cos
2
(x
3
)
__
g(M + m)sin(x
3
) + bx
2
cos(x
3
) mLsin(x
3
)cos(x
3
)x
2
4
L (M + m sin
2
(x
3
))
_
+2
x
2
4
tan(x
3
)
cos
2
(x
3
)
+
1
_
g + L
x
2
4
cos(x
3
)
_
tan(x
3
) +
2
_
x
4
cos
2
(x
3
)
__
g + L
x
2
4
(1 + sin
2
(x
3
))
cos(x
3
)
_
(3.9)
=
_
1 + 2
2
x
4
sin(x
3
)L
cos(x
3
)
_
u
(M + msin
2
(x
3
))
(3.10)
e
p =
_
1 + 2
2
x
4
sin(x
3
)L
cos(x
3
)
_
F
x
(M + msin
2
(x
3
))
(3.11)
dove ovviamente si dovr` a scegliere
2
sufcientemente piccolo da garantire che il termine mol-
tiplicativo della (3.10) sia sempre strettamente positivo, cosi da scongiurare linversione del
segno del controllo o addirittura il suo annullarsi a causa di fenomeni indesiderati legati al-
levoluzione del sistema. Dalla (3.8) vediamo che questa risulta divisa in tre parti, un primo
termine rappresentativo di tutta la parte nota del sistema, un termine p rappresentativo di tutta
la parte non nota del sistema ma tale per cui valga
max | p | (3.12)
3.1 VSC Twisting algorithm 26
con costante nota a priori e poi come ultimo termine abbiamo che rappresenta la nostra
legge di controllo e che verr` a scelto in modo da compensare i due precedenti termini e da
garantire mediante un controllo a commutazione HOSM del secondo ordine la convergenza a
zero delle due variabili di sliding (, ). In altre parole si avr` a
= k
1
sign() k
2
sign( ) (3.13)
con le costanti k
1
e k
2
positive e tali per cui
< k
2
< k
1
(3.14)
Dalla (3.13) possiamo quindi ricavare
u =
cos(x
3
) (M + msin
2
(x
3
))
1 + 2
2
x
4
sin(x
3
)L
( k
1
sign() k
2
sign( )) (3.15)
che rappresenta leffettivo controllo del nostro sistema, che per la sua struttura viene detto twi-
sting SMC
1
. Quindi una volta ottenuta la convergenza a zero della coppia di variabili (, ) si
ottiene la seguente dinamica interna
_
=
=
1

2

, con = g + L
x
2
4
cos(x
3
)
(3.16)
Vediamo ora di trovare una qualche relazione che permetta di scegliere dei valori per
1
e
2
tali da garantire lasintotica stabilit` a dellorigine di questo sistema, dove si noti che i coefcienti
della seconda riga di questo sistema non sono costanti.
Per poter analizzare la dinamica (3.16) possiamo per` o ricercare una funzione di Lyapunov che
ci garantisca la stabilit` a del sistema; per cui scelta la seguente trasformazione di stato
=
_

1

2
_
=
_
0 1
k 1
__


_
, con k > 0 (3.17)
tale che si ottenga il seguente sistema

=
_
k 1
k
_
(3.18)
con
= k +
2

k
= k
2
Ora scelto come vettore di funzioni di Lyapunov
V () =
_
|
1
|
|
2
|
_
(3.19)
in base alla denizione di derivata superiore di Dini (upper right-hand derivative) si ha
D
+
V () = limsup
h0+
V ( + h) V ()
h
1
Il motivo di questo nome sar` a chiaro quando interpreteremo i risultati ottenuti.
3.1.1 Analisi dei risultati 27
k
1
k
2

1

2
40 20 0.2 0.1
Tabella 3.1: Parametri del sistema.
applicandola tale denizione alla (3.19) a questo punto si otteniene che
D
+
V () V ()
con
=
_
k 1
| k |
_
(3.20)
dove possiamo dimostrare che D
+
sia una matrice denita negativa se e solo se sia maggiorata
dalla matrice denita a sua volta negativa; per avere questo ` e sufciente che la (3.20) abbia
autovalori reali negativi. Quindi dal polinomio caratteristico della (3.20) abbiamo
det(sI ) = (s + k)(s ) k = 0 (3.21)
da cui si ricavano i seguenti vincoli, uno sul segno di ed uno sul discriminante della (3.21)
= k +
2

1

k
> 0

2
2
>
4
1

(3.22)
A questo punto sulla base di questi vincoli si ottiene che risulta essere una matrice di Met-
zler
2
dal quale si evince che il punto di equilibrio = 0 risulta essere un punto di equilibrio
asintoticamente stabile per il sistema non lineare (3.18) e quindi anche per la nostra dinamica
interna (3.16).
Nella Tabella 3.1 sono invece riportati i valori per le grandezze del nostro controllore a struttura
variabile scelti sulla base dei vincoli (3.14) e (3.22).
Riportiamo ora in Figura 3.1 lo schema Simulink completo del nostro sistema ed in Figura 3.2,
Figura 3.3 e Figura 3.4 limplementazione dei suoi sottoblocchi.
1.1 Analisi dei risultati
Sulla base del sistema in Figura 3.1 posta la forza di disturbo pari al suo valore massimo, ovvero
F
x
= 10 Newton, assegnato un set-point di 1 metro sulla posizione del carrello e ssati i para-
metri del controllore come in Tabella 3.2, si sono ottenuti i seguenti risultati numerici riportati
nelle successive gure; come condizione iniziale ` e invece stato scelto un angolo di partenza pari
a
0
45.
Dalla Figura 3.5 possiamo notare come in pochi secondi il sistema si porti a regime raggiungen-
do i set-point richiesti, mentre in Figura 3.6 ` e riportato il segnale di controllo del nostro sistema
che come possiamo notare risulta essere ovviamente un segnale a commutazione tra due valori
2
Per matrice di Metzler si intende una matrice con tutti gli elementi fuori diagonale non negativi.
3.1.1 Analisi dei risultati 28
Figura 3.1: Schema Simulink del sistema controllato con tecnica Twisting SMC.
Figura 3.2: Schema Simulink sottoblocco Internal Dynamic.
3.1.1 Analisi dei risultati 29
Figura 3.3: Schema Simulink sottoblocco Sliding Surface.
Figura 3.4: Schema Simulink sottoblocco Computing Block.
3.2 VSC dynamic algorithm 30
simmetrici. Un segnale di questo tipo per` o come gi` a accennato mette a dura prova gli attuatori
e per questo motivo nella terza parte di questo capitolo vedremo come evitare questo fenomeno
utilizzando sempre un controllo a struttura variabile che per` o implementa lalgoritmo Super-
Twisting.
Si noti inoltre in Figura 3.7 landamento del segnale di controllo ltrato con un ltro del primo
ordine con B
3dB
= 0.1 Hz , come si pu` o notare questo segnale dopo un primo transitorio tende,
come era da aspettarsi, ad assumere un valore esattamente pari alla forza di disturbo F
x
, infatti
questo segnale ` e il cos` detto controllo equivalente, ovvero quel particolare segnale che garan-
tirebbe la condizione di sliding una volta effettuato il reaching sulla supercie di scivolamento
e come ` e intuibile a regime non pu` o che assumere un valore uguale ma opposto in segno al
disturbo che deve contrastare.
In Figura 3.8 mostriamo la stabilit` a della dinamica interna (3.16), mentre in Figura 3.9 ` e ripor-
tato landamento delle variabili di sliding (, ) nel proprio spazio di stato, dove ricordiamo
che la legge di controllo (3.15), essendo una legge discontinua, garantisce la convergenza a zero
delle variabili di sliding in tempo nito; possiamo quindi parlare di sliding mode del secondo
ordine.
Osservando ancora tale gura notiamo come tale traiettoria ruoti attorno al punto (0, 0) (twisting
trajectory) no a raggiungerlo in tempo nito (terminal SM).
0 1 2 3 4 5 6 7 8
5
4
3
2
1
0
1
2
3
4
5
time [sec]
V
a
r
i
a
b
l
e

S
t
a
t
e


x1 [m]
x2 [m/sec]
x3 [rad]
x4 [rad/sec]
Figura 3.5: Andamento temporale delle variabili di stato del sistema.
2 VSC dynamic algorithm
Nella sezione precedente abbiamo visto come fosse possibile ottenere una legge di controllo
che garantiva una convergenza in tempo nito delle nostre variabili di sliding utilizzando una
legge di controllo discontinua; ora invece proporremo ancora una legge discontinua che per` o
garantisce una convergenza asintotica delle variabili di sliding , e .
Lalgoritmo dynamic SM ` e ancora un controllo sliding mode di ordine superiore, il quale pu` o
essere utilizzato qualora per il sistema in analisi
x = f(x) + g(x) v
3.2 VSC dynamic algorithm 31
0 2 4 6 8 10 12 14 16
200
150
100
50
0
50
100
150
200
time [sec]
u


Control Signal [N]
Figura 3.6: Andamento temporale del segnale di controllo.
0 1 2 3 4 5 6 7 8
4
2
0
2
4
6
8
10
12
14
16
18
time [sec]
u
e
q


u
eq
[N]
Figura 3.7: Andamento temporale del controllo equivalente.
3.2 VSC dynamic algorithm 32
0 1 2 3 4 5 6 7 8 9 10
8
6
4
2
0
2
4
6
8
10
12
time [sec]
I
n
t
e
r
n
a
l

D
y
n
a
m
i
c


w
w
w
Figura 3.8: Andamento temporale delle variabili di stato della dinamica interna.
0.4 0.2 0 0.2 0.4 0.6 0.8 1 1.2
6
4
2
0
2
4

Figura 3.9: Twisting delle variabili di sliding nello spazio di stato.


3.2 VSC dynamic algorithm 33
possa essere denita una nuova uscita
s(x) =
(r1)
+
r2

i=0
m
i

(i)
(3.23)
denita come combinazione lineare della supercie di sliding (x) e delle sue derivate con i
coefcienti m
i
positivi, inoltre devono valere le seguenti relazioni
L
(i)
f

2

i
(x), i = 1 , r
L
g
L
(i)
f
= 0, i = 0, 1 , r 2
0 <
i
(x) min
_
eig
_
L
g
L
r1
f

_ _
x G

,
_
t
con G

=
_
x
n
:
d
k
(x)
dt
k
= 0, k = 0 . . . r 1
_
(3.24)
ovvero si abbiano , . . .
(r1)
anche se affette da incertezza comunque limitate da funzioni
note
i
(x) ed inoltre sino allordine r 2 ` e richiesta lindipendenza dallingresso del sistema.
Sotto tali ipotesi si pu` o dimostrare che una legge di controllo del tipo
v =

r
(x) +
r2

i=0
m
i

i+1
(x) +

m
s
s
2
, > 0
(3.25)
garantisce la convergenza asintotica di (x) e delle sue r derivate e quindi anche la stabilit` a del
sistema di partenza (3.23). Questo risultato viene ottenuto per il semplice fatto che stabilizzando
la nuova uscita (3.23) ` e come se stabilizziamo la nostra supercie di sliding e quindi il sistema
stesso. Si noti che una volta che una volta raggiunta la condizione s(x) = 0, in tempo nito, da
quellistante in poi si ottiene una convergenza asintotica con rate esponenziale per la variabile
di sliding e le sue derivate
3
.
Vediamo ora di sintetizzare un controllo di questo tipo anche per il nostro sistema; innanzitutto
vediamo che questo si presta perfettamente allapplicazione di questo algoritmo in quanto la
supercie di scivolamento (3.6) rispetta i vincoli (3.24), dove in questo caso si ha r = 2, che
rappresenta anche il minimo valore per poter applicare questo algoritmo.
Inoltre abbiamo gi` a dimostrato nella sezione precedente come il cambio di variabili (3.5) ga-
rantisca scelti opportunamente i valori per
1
e
2
una dinamica interna asintoticamente stabile,
quindi se la dinamica interna ` e limitata ed il sistema ` e controllabile, allora scelto un ingres-
so controllante limitato, tutto lo stato ` e limitato e quindi lo sono anche , . . .
(r1)
. Per cui
possiamo denire la nuova uscita
s = + m
1

quindi derivandola e sostituendo le (3.8), (3.10), (3.11) e posto


K =
(1 + 2
2
x4sin(x3)
cos(x3)(M + msin(x
3
))L
3
Questo pu` o essere osservato in Figura 3.12
3.2.1 Analisi dei risultati 34
M
1

2
8 0.1 0.2
Tabella 3.2: Parametri del sistema.
otteniamo
s = + K (u F
x
) + m
1

a questo punto, approssimando la (3.25) come


v = Msign(s) (3.26)
e ricordando che anche in questo caso supporremo il termine perfettamente noto, si ottiene la
seguente legge di controllo
u =
1
K
( Msign(s)) (3.27)
2.1 Analisi dei risultati
Riportiamo ora nelle seguenti gure i risultati numerici ottenuti dalla simulazione del sistema
(3.5) controllato mediante la legge (3.27) dove sono state scelte le medesime condizioni iniziali
e gli stessi set-point della sezione precedente; per quanto riguarda invece i parametri del con-
trollo, questi sono riportati in Tabella 3.2 dove il valore di M ` e stato scelto sperimentalmente in
maniera tale da garantire buone prestazioni senza richiedere eccessive potenze.
In Figura 3.10 mostriamo la convergenza delle variabili di stato del nostro sistema ai set-point
desiderati, mentre in Figura 3.11 riportiamo landamento del segnale di controllo (3.27) che co-
me possiamo notare richiede a differenza del caso precedente una forza per lo spunto maggiore,
che potremo comunque se necessario saturare, ma poi a regime il segnale discontinuo oscilla
tra valori decisamente inferiori.
Interessante inoltre osservare in Figura 3.12 come gi` a accennato la convergenza esponenziale
della supercie di sliding a zero dal momento in cui si ottiene in tempo nito la convergenza
delluscita ttizia s(x).
Per quanto riguarda invece le prestazioni tra questultima tecnica e lalgoritmo twisting visto
precedentemente possiamo dire che per angoli di partenza non troppo eccessivi i due controlli
sono pressoch e equivalenti, anzi questultimo necessit` a di una forza per il controllo inferiore,
ma se cerchiamo di portare al limite i due sistemi vediamo come il primo sia molto pi` u prestan-
te infatti ad esempio per un angolo di partenza di 55il primo sistema necessita di un piccolo
transitorio sulla posizione con una escursione massima di circa un metro rispetto al valore desi-
derato, mentre il secondo necessit` a di un escursione di circa 9 metri. Per ridurre tale escursione
si pu` o per` o intervenire sul parametro M aumentando tale valore, ricordiamo infatti che in que-
sta trattazione si ` e scelto di eseguire lapprossimazione (3.26) anzich e usare la formula esatta
ed inoltre la stima di M ` e stata completamente empirica; ad ogni modo anche con valori di M
maggiori lalgoritmo twisting risulta pi ` u prestante in termini di validit` a della legge di controllo
che permette infatti lo swing-up sino ad angoli di circa 65.
3.2.1 Analisi dei risultati 35
0 2 4 6 8 10 12 14 16
5
4
3
2
1
0
1
2
3
4
5
time [sec]
V
a
r
i
a
b
l
e

S
t
a
t
e


x1 [m]
x2 [m/sec]
x3 [rad]
x4 [rad/sec]
Figura 3.10: Andamento temporale delle variabili di stato del sistema.
0 2 4 6 8 10 12 14 16
100
50
0
50
100
150
200
250
time [sec]
u


Control Signal [N]
Figura 3.11: Andamento temporale del segnale di controllo.
3.3 VSC Super Twisting algorithm 36
0 1 2 3 4 5 6 7 8
2
0
2
4
s
time [sec]


0 1 2 3 4 5 6 7 8
0
0.2
0.4
0.6
0.8
1
time [sec]

(
x
)


s(x)
(x)
Figura 3.12: Andamento temporale della variabile s(x) e della variabile di sliding.
3 VSC Super Twisting algorithm
Nelle sezioni precedenti abbiamo proposto due diverse leggi sliding mode ed abbiamo visto
come entrambe per` o presentassero un controllo di tipo discontinuo, il quale come gi` a accennato
in precedenza comporta diversi problemi, primo fra tutti lelevata sollecitazione degli attuatori e
quindi anche un elevato dispendio di potenza. Nellultima parte di questo lavoro vedremo come
sia possibile realizzare ancora un controllo a struttura variabile, ma questa volta che presenti un
segnale di controllo di tipo continuo.
Esistono diversi approcci per ottenere un controllo di questo tipo, primo fra tutti quello di uti-
lizzare anzich e funzioni sign(x) che presentano una discontinuit` a nellorigine, delle funzioni
saturanti opportunamente pesate; in questo lavoro per` o si ` e deciso di analizzare un approccio
differente, il cos` detto Super Twisting algorithm, il quale per` o pu` o essere applicato esclusiva-
mente a sistemi che presentano una supercie di scivolamento tale da far ritrovare la presenza
del controllo gi` a sulla sua derivata prima. Secondo quanto detto quindi la supercie (3.6) non
` e pi` u adatta allapplicazione di questo algoritmo, per cui sempre nellipotesi che il termine in-
certo sia esclusivamente la forza orizzontale F
x
agente sul carrello, vediamo come formulare il
nostro problema.
Si noti inoltre che non soddisfatti dei range di validit` a ottenuti con i precedenti controlli, in
questultima parte del lavoro si ` e cercato partendo da alcune considerazione, di trovare una
legge tale da garantire un dominio di validit` a decisamente superiore una volta controllato il
sistema.
Il limite riscontrato in tutti i controlli precedenti e che determinava limpossibilit` a di effettua-
re il reaching sulla supercie di scivolamento, era semplicemente dovuto al fatto che la legge,
bench e teoricamente permettesse la stabilizzazione del sistema, cos` formulata necessitava di
controlli troppo energici
4
. Per cui si ` e deciso, ricordando che la relazione (3.2) garantiva sicura-
mente almeno tre derivazioni consecutive, prima che lingresso u si presentasse esplicito nella
4
Ad esempio con il primo controllo per effettuare lo swing-up partendo da un angolo di 78si sarebbero dovuti
settare k
1
= 1300 e k
2
= 1289 ed anche cos` comunque il transitorio sulla posizione del carrello avrebbe avuto
valori decisamente inaccettabili.
3.3 VSC Super Twisting algorithm 37
relazione, di provare a sfruttare a nostro favore questa propriet` a e provare a calcolare la sua
derivata terza e vedere se mediante opportuni artici fosse stato possibile far meglio di quanto
proposto. Per far ci ` o, mantenendo per` o limitata la complessit` a delle formule si ` e deciso sempre
partendo dal sistema (1.10) di denire come ingresso al nostro sistema il seguente controllo
u =
_
M + m sin
2
(x
3
)
_

_
b x
2
mg sin(x
3
) cos(x
3
) + mL sin(x
3
)x
2
4
_
(3.28)
con componente del controllo ancora da determinare. Dopo questa sostituzione il sistema su
cui dovremo operare ` e diventato
_

_
x
1
= x
2
x
2
= F
x
x
3
= x
4
x
4
=
g
L
sin(x
3
)
cos(x
3
)
L
( F
x
)
(3.29)
il quale risulta molto pi` u semplice da trattare. Ora come accennato scegliamo come nuova uscita
del sistema esattamente la (3.4), ovvero
y =
1
(x) = x
1
+ L ln
_
1 +sin(x
3
)
cos(x
3
)
_
, con | x
3
|<

2
(3.30)
e quindi derivando questa sino a che non compare luscita otteniamo
y = x
2
+ L
x
4
cos(x
3
)
. .

2
(x)
(3.31)
y =
_
g + L
x
2
4
cos(x
3
)
_
tan(x
3
)
. .

3
(x)
(3.32)
...
y
=
_
2
cos
3
(x
3
)

1
cos(x
3
)
_
Lx
3
3
+
_
3g
cos
2
(x
3
)
2g
_
x
4
. .

4
(x)
2x
4
tan(x
3
)
. .
trascurato
( F
x
) (3.33)
a questo punto nellipotesi di poter trascurare lultimo termine della (3.33), dato che le velocit` a
angolari in gioco non sono troppo elevate e che la tangente risulta piccola per angoli ridotti,
allora siamo in grado mettendo insieme le ultime quattro relazioni di ottenere un nuovo dif-
feomorsmo questa volta di grado massimo, il quale risulta invertibile almeno in un intorno
dellorigine
5
. Quindi scelta come variabile di errore sulla nostra uscita (3.30) e = y(t) y
d
, con
y
d
costante, possiamo denire la seguente supercie di sliding
(x, t) =
_
d
dt
+
_
3
e (3.34)
con > 0. Ora derivando questultima otteniamo
= e
(4)
+ 3e
(3)
+ 3
2
+ e
(1)
= y
(4)
+ 3y
(3)
+ 3
2
y
(2)
+ (y y
d
)
=

(x) + (x) ( F
x
)
= (x, F
x
) + (x)
(3.35)
5
Questa affermazione si pu` o dimostrare notando che lo Jacobiano del diffeomorsmo ha determinante non
nullo.
3.3.1 Analisi dei risultati 38
con

(x) =
tan(x
3
)
cos(x
3
)L
_
g
2
+ x
4
2
_
9gL
cos(x
3
)
+ x
4
2
L
2
_
6
cos
2
(x
3
)
1
___
(3.36)
(x) =
1
cos(x
3
)L
_
g
_
2cos
2
(x
3
) 3
_
+ 3x
4
2
L
_
1 sin
2
(x
3
)
__
(3.37)
Osservando la (3.37) notiamo che questa ` e sempre negativa per qualsiasi valore lo stato assuma,
per cui possiamo denire la nostra legge di controllo di tipo super twisting come
=
_
| | sign()
_
sign() dt (3.38)
con
>

2
2
+
M

m
(3.39)
dove
m
e
M
sono rispettivamente il massimo e minimo della funzione di Gain (x) e
` e limite superiore della funzione di Drift (x, F
x
) contenente i termini incerti. Si noti inoltre
come questo controllo ora dipenda esclusivamente da misure di (x).
Dalle simulazioni si vedr` a come il nuovo controllo u ora non sar` a pi` u discontinuo ma anzi avr` a
un andamento molto simile a quello del controllo equivalente in Figura 3.7, ovvero sar` a un
segnale continuo.
0 1 2 3 4 5 6 7 8 9 10
30
20
10
0
10
20
time [sec]
V
a
r
i
a
b
l
e

S
t
a
t
e


x1 [m]
x2 [m/sec]
x3 [rad]
x4 [rad/sec]
Figura 3.13: Andamento temporale delle variabili di stato del sistema.
3.1 Analisi dei risultati
Riportiamo ora i risultati numerici ottenuti dalla simulazione del sistema controllato mediante il
controllo combinato (3.28), (3.38). In Figura 3.13 possiamo la stabilizzare del sistema a partire
da un angolo di 81, dove contemporaneamente ` e applicata una azione di disturbo F
x
= 10 N.
In Figura 3.14 possiamo analizzare invece il segnale di controllo per questa simulazione, dove
3.3.1 Analisi dei risultati 39
0 1 2 3 4 5 6 7 8 9 10
100
50
0
50
100
150
time [sec]



Control Signal [N]
Figura 3.14: Andamento temporale del segnale di controllo.
bench e questo debba far fronte ad una situazione abbastanza difcile, vediamo come in soli
8 secondi il sistema si stabilizzi senza ricorrere a forze eccessivamente grandi, infatti la forza
massima richiesta risulta circa la stessa richiesta dal backstepping control
6
per raddrizzare il
pendolo partendo da un angolo di 57, dove ora per` o oltre a partire da un angolo decisamente
maggiore siamo anche soggetti alla forza di disturbo F
x
.
Visti questi risultati, possiamo quindi dire che questo controllo risulta decisamente pi` u prestante
dei precedenti, sia in termini di forza necessaria per il controllo che in termini di range di vali-
dit` a della legge, ovviamente per` o questo non ` e dovuto alla scelta dellalgoritmo super twisting,
bens` alla scelta di un diffeomorsmo che garantiva migliori prestazioni nonostante lapprossi-
mazione (3.33), inoltre dobbiamo far notare che nei precedenti controlli vi era il problema che
per x
4
< 0 ma grande, la (3.10) cambiasse segno in maniera non controllata cos` da far perdere
la condizione di sliding; ora questo problema non si pone dato che la (3.37) ` e sempre negativa.
Per quanto riguarda la scelta dei parametri del controllo si ` e trovato sperimentalmente che
= 10 e = 5 garantiva prestazioni pi ` u che soddisfacenti.
6
Vedi Figura (2.10).
Conclusioni
In questo lavoro, ho potuto testare e confrontare su un sistema fortemente non lineare e sottoat-
tuato, diverse tecniche di controllo non lineare ed abbiamo cos` potuto renderci conto di quali
siano i pregi ed i difetti di ogni una di queste e sopratutto quali siano le loro limitazioni.
Siamo partiti dallipotesi che tutto il sistema sia noto ed abbiamo mostrato come tecniche quali
la feedback linearization o il backstepping risultino molto prestanti; in particolare la seconda mi
ha stupito nella sua facilit` a e rigorosit` a di implementazione, anche se ovviamente nella pratica
difcilmente si avr` a a che fare con sistemi perfettamente noti.
Inoltre si sono evidenziate le limitazioni dei controlli sintetizzati su modelli del sistema ap-
prossimati linearmente nel caso in cui vi siano variazioni troppo rapide dei set-point, ma allo
stesso tempo apprezzare la loro semplicit` a di sintesi e di analisi. Nellultima parte del lavoro poi
abbiamo visto come il cos` detto controllo a struttura variabile (VSC) nelle sue varianti, risulti
stupefacente in termini di prestazioni anche nel caso di disturbi inseriti direttamente sullingres-
so del sistema.
Ricordiamo infatti che nella teoria classica del controllo la reiezione ai disturbi posti a mon-
te dellanello di retroazione non ` e contemplata, ma bens` questi si ripercuotono direttamente
sullesercizio del sistema.
Voglio inoltre sottolineare il fatto che tutte queste tecniche possono essere anche combinate tra
loro, cosi da ottenere risultati pi ` u prestanti, come ad esempio nellultima trattazione del terzo
capitolo, dove partendo da una feedback linearization e combinando a questa un VSC-STW si ` e
riuscito ad ottenere una legge di controllo che garantiva lo swing-up dellasta quasi per tutto il
range di valori per il quale la legge di controllo era denita, infatti si garantiva la stabilizzazione
del sistema anche per angolo prossimi a 84.
Sulla base di tutte queste considerazioni possiamo quindi dire che le tecniche di controllo non
lineare garantiscono sicuramente prestazioni nettamente superiori, dato che lavorano su un mo-
dello pi` u vicino alla realt` a di quanto non lo sia un modello approssimato al primo ordine, ma
` e anche vero che non sempre pu` o essere conveniente ricorrere al loro utilizzo, sia in termini di
prestazioni richieste che di costo. Si pensi ad esempio a sistemi con dinamiche lente e stabili,
o impianti in cui la stabilizzazione del sistema viene effettuata una volta che il sistema ` e stato
portato manualmente nellintorno del punto di lavoro, in questi casi ovviamente la teoria clas-
sica lineare ` e sempre la scelta migliore; in altri casi invece, come ad esempio la stabilizzazione
di sistemi instabili, o la ricerca della convergenza in tempo nito del sistema, risulta necessario
ricorrere a tecniche non lineari. In particolare nel caso in cui non si abbia un sufciente grado di
conoscenza del sistema la scelta diventa obbligata; in questi casi si pu` o optare o per il controllo
a struttura variabile o per il controllo adattivo che sono entrambe tecniche di controllo di tipo
robusto.
Facciamo presente come inciso che negli ultimi anni, stanno richiamando parecchia attenzione
verso di s e una nuova classe di sistemi detti ibridi, i quali combinano i beneci dei sistemi a
Conclusioni 41
tempo continuo con quelli dei sistemi ad eventi e che quindi possono permettere di raggiungere
prestazioni ancora pi` u elevate di quelle raggiungibili con le due classi prime prese singolarmen-
te. Per dare un idea delle potenzialit` a di questi sistemi, possiamo ad esempio far presente che
utilizzando i formalismi propri di tale classe, ` e possibile ottenere un sistema asintoticamente
stabile mediante una opportuna legge di commutazione tra due sistemi che presentano dina-
miche instabili singolarmente; anche la stabilizzazione del pendolo inverso a partire dalla sua
posizione di equilibrio stabile, ovvero
0
= pu` o essere eseguita con un controllo ibrido.
In questo caso ad esempio si potrebbe dividere opportunamente lo spazio di stato in maniera
che, se il sistema si trova in una zona esterna a

2
+ < <

2
, con > 0
| | , con > 0
il controllo sar` a tale da portarlo in tale range, pur mantenendo ovviamente limitata la posizione
del carrello; quindi una volta portato il sistema in tale regione, scelta opportunamente la legge
di commutazione, cio e la coppia {, }, si potr` a commutare la legge di controllo e lasciare la
stabilizzazione del sistema ad uno qualsiasi dei controlli presentati nel terzo capitolo di que-
sto lavoro. Per saperne di pi ` u, in appendice A ` e riportata una semplice soluzione in grado di
stabilizzare il pendolo inverso a partire dalla sua condizione di equilibrio stabile.
Possiamo vedere quindi che gli orizzonti della teoria del controllo sembrano non avere con-
ni, lunica cosa che ` e necessario conoscere ` e cosa si vuole fare e a partire da questo agire di
conseguenza.
Appendice A
Controllo ibrido del pendolo inverso
In questa appendice proporremo un semplice controllo ibrido in grado di effettuare la stabi-
lizzare globale del pendolo inverso. Ricordiamo infatti che tutte le leggi di controllo viste in
precedenza avevano la limitazione di essere denite esclusivamente in una porzione dello spa-
zio di stato compresa tra

2
, mentre per quanto riguarda la possibilit` a di implementare una
legge stabilizzante globale per il nostro sistema mediante un controllo unico, in letteratura, a
parte il backstepping control presentato nellarticolo [5], non sono presenti altri approcci validi
se non quello ibrido
1
.
Lidea di base per implementare di questo controllo ` e quella di perturbare il sistema, che si
trova inizialmente in x
0
= [0 0 0 ], in maniera tale da portare lasta del pendolo e quindi lo
stato del sistema nella sotto-regione dello spazio di stato dove successivamente potr` a intervenire
uno qualsiasi dei controlli implementati nel terzo capitolo, cos` da permettere la convergenza
verso la condizione di equilibrio desiderata, tutto questo per` o cercando di mantenere limitata la
posizione del carrello.
Per far ci` o possiamo innanzitutto scegliere una legge di commutazione del tipo
cos() > cos() , con > 0
| | < , con > 0
(A.1)
dove la coppia {, }, viene scelta in base al range di funzionamento del controllo scelto per
la stabilizzazione asintotica del sistema.
Per quanto riguarda invece limplementazione del controllo tale sollevare lasta del sistema, si
propone di utilizzare un approccio Lyapunov-Like di tipo energetico; vediamo ora di cosa si
tratta.
Come prima cosa riportiamo la struttura semplicata del nostro sistema, analoga alla (3.29)
_

_
x
1
= x
2
x
2
=
x
3
= x
4
x
4
=
g
L
sin(x
3
)
cos(x
3
)
L

(A.2)
quindi dato che ci si era proposto di poter perturbare il sistema, mantenendo limitata la posizione
1
Si fa presente che nonostante sia stato dimostrato empiricamente che il sistema stabilizzato mediante back-
stepping control sia stabile globalmente, gli stessi ricercatori che hanno proposto lalgoritmo non hanno ancora
dimostrato le propriet` a di stabilit` a della dinamica interna di tale modello.
43
del carrello, allora si pu` o pensare di scegliere una legge di controllo parziale del tipo
= q
1
x
1
q
2
x
2
+ w (A.3)
con q
1
e q
2
costanti positive, la quale nellipotesi che il nuovo segnale di controllo w sia limitato,
garantisce la limitatezza di tutta la dinamica associata al carrello ed in pi ` u fa si che questa si
comporti come un sistema lineare del secondo ordine stabile; rimane ora il problema di sceglie-
re il controllo addizionale w.
Per la scelta di w invece mettiamoci nella condizione in cui (x
1
, x
2
) siano nulle, ovvero stia-
mo assumendo che il sotto-sistema carrello comunque converger` a a zero, quindi calcoliamo
lenergia associata esclusivamente al sistema pendolo, che possiamo vedere come una nuova
uscita per il nostro sistema. Essa avr` a ovviamente un contributo cinetico ed uno potenziale
come riportato di seguito
E
tot
= E
cin
+ E
pot
=
1
2
mL
2
x
2
4
+ mgL(1 + cos (x
3
)) (A.4)
dove come possiamo vedere E
pot
dipende unicamente dalla quota a cui si trova il pendolo rispet-
to al riferimento posto al minimo energetico del sistema in (, 0). Si noti inoltre che essendo il
nostro sotto-sistema pendolo privo di perdite (conservativo), questo tender` a a mantenere la sua
energia costante, ovviamente se supponiamo il sistema forzato gi` a a regime stazionario
2
. Per
cui avremo che
E
cin
+ E
pot
= E(t) = E
0
, con E
0
= cost (A.5)
ora derivando la (A.4) si ottiene

E
tot
= mgl x
4
cos (x
3
) w (A.6)
Osservando questultima, possiamo notare che se w ` e positivo quando (x
4
cos(x
3
)) < 0, allora
il nostro ingresso sarebbe tale da fornire energia al sistema; proprio quello che ci aspettiamo
avvenga quando il pendolo ` e nella sua posizione bassa, ovvero al suo minimo di energia. Si noti
inoltre che per x
4
= 0 o x
3
=

2
si perde per` o la capacit` a di controllare il sistema in quanto
lazione del controllo su

E
tot
` e ininuente.
Calcoliamo allora il valore di energia che vorremo raggiungere, ovvero quello tale da avere
lasta del pendolo nella sua posizione verticale alta, che vale
E
des
= E
tot
|
(x
3
=x
4
=0)
= 2 mgL (A.7)
Poich e vogliamo portare il sistema ad un livello di energia pari ad E
des
, per far ci` o potremo
semplicemente ricorre ad un semplice controllo in retroazione, vediamo per` o come denire
lingresso w tale da permetterci la regolazione desiderata. Inoltre dato che siamo interessati alla
regolazione dellenergia del nostro sotto-sistema, dobbiamo anche assicurarci che questa non
possa divergere in risposta ad un ingresso limitato come w. Per far cio proponiamo la seguente
funzione di Lyapunov
V =
1
2
(E
tot
E
des
)
2
(A.8)
2
Infatti questo ` e valido sempre per il sistema pendolo senza attrito autonomo, mentre nel caso di un pendolo
forzato, ` e vero solo quando il sistema si muove di moto circolare uniforme, ovvero una volta che questo si ` e portato
a regime stazionario.
44
da cui derivando si ha

V = (E
tot
E
des
)

E
tot
= mgl (E
tot
E
des
) x
4
cos (x
3
) w (A.9)
dalla quale si deduce che un segnale di controllo del tipo
w = q
3
(E
tot
E
des
) x
4
cos (x
3
) (A.10)
con costante q
3
> 0 garantirebbe la semidenitezza negativa della

V e quindi la limitatezza
energetica del nostro sotto-sistema.
Ora sulla base della conoscenza di V e

V possiamo quindi denire il seguente insieme invariante
R, sotto insieme dello spazio di stato X
R =
_
(x
3
, x
4
) :

V = 0
_
=
= {(x
3
, x
4
) : x
4
= 0}
_
(x
3
, x
4
) : x
3
=

2
_
{(x
3
, x
4
) : (E
tot
E
des
) = 0} X
dove anche il punto verso il quale vogliamo stabilizzare il sistema, ovvero (0, 0) risulta appar-
tenente ad R, ma come detto in (0, 0) il controllo si annulla, per cui non siamo in grado di
mantenere il sistema il quel punto (che ` e un punto di equilibrio instabile per il sistema auto-
nomo) e quindi successivamente il sistema entrer` a in una fase di rotazione a velocit` a costante
(dato che ha immagazinato un energia sufcente), dove ora per` o il nostro controllo energeti-
co non potr` a pi` u far niente in quanto lenergia del sistema avr` a comunque il valore desiderato
E
des
= E
0
= cost per via della non dissipativit` a del sistema.
Per chiarire quanto accennato si osservino in Figura A.1 gli andamenti delle traiettorie (x
3
, x
4
)
nel proprio spazio di stato e dellenergia totale del sotto-sistema pendolo nel caso in cui si uti-
lizzi esclusivamente il controllo energetico (A.4).
0 2 4 6 8 10 12 14 16 18 20
10
5
0
5
10
x
3
[rad]
x
4

[
r
a
d
/
s
e
c
]
0 2 4 6 8 10 12 14 16 18 20
0
2
4
6
8
10
12
time [sec]
E
t
o
t

[
J
]
Figura A.1: Andamento delle traiettorie (x
3
, x
4
) e dellenergia totale del sistema.
Ad ogni modo, questo risultato a noi ` e pi` u che sufciente dato che una volta sollevata suf-
cientemente lasta del pendolo, mediante le condizioni (A.1) possiamo commutare dal control-
lo (A.4) verso ad esempio il controllo (3.38) proposto nel terzo capitolo e quindi soddisfare
45
0 1 2 3 4 5 6
10
8
6
4
2
0
2
4
6
8
10
time [sec]
V
a
r
i
a
b
l
e

S
t
a
t
e


x1 [m]
x2 [m/sec]
x3 [rad]
x4 [rad/sec]
Figura A.2: Andamento temporale delle variabili di stato del sistema.
0 0.5 1 1.5 2 2.5 3 3.5 4
300
250
200
150
100
50
0
50
time [sec]



Control Signal [N]
Figura A.3: Andamento temporale del segnale di controllo ibrido.
46
1 0 1 2 3 4 5 6
10
8
6
4
2
0
2
4
6
8
10
x
3
[rad]
x
4

[
r
a
d
/
s
e
c
]
Figura A.4: Ritratto delle fasi del sotto-sistema pendolo.
q
1
q
2
q
3

10 30 10 /3 6.3
Tabella A.1: Parametri del sistema.
il raggiungimento del punto di equilibrio desiderato sfruttando le propriet` a di convergenza di
questultimo.
Seguendo quindi questa strategia e scelti come parametri del controllo i valori riportati in Tabel-
la A.1 si ` e riusciti ad ottenere un controllo globale per il nostro sistema. Nelle gure successive
mostriamo i risultati simulativi del nostro sistema controllato con il controllo ibrido in questio-
ne. In Figura A.2 possiamo vedere landamento temporale delle variabili di stato del sistema
pilotate verso lo stato x
0
= [1 0 0 0 ]. In Figura A.3 landamento del segnale di controllo ibrido,
dove a poco pi` u di 2 secondi possiamo anche individuare listante in cui commuta il controllo,
mentre in Figura A.4 ` e riportato il ritratto delle fasi del sotto-sistema pendolo sempre per la
medesima simulazione.
Elenco delle gure
1.1 Pendolo inverso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Diagrammi di corpo libero del sistema asta-carrello. . . . . . . . . . . . . . . . 4
2.1 Il Segway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Feedback Linearizzation IU con pole-placement. . . . . . . . . . . . . . . . . 15
2.3 Schema Simulink del regolatore che esegue la FL-IU. . . . . . . . . . . . . . . 16
2.4 Schema Simulink del processo Pendolo Inverso. . . . . . . . . . . . . . . . . . 16
2.5 Andamento temporale delle variabili di stato del sistema. . . . . . . . . . . . . 17
2.6 Andamento dei coefcienti della dinamica interna al variare di k. . . . . . . . . 20
2.7 Valori di k per cui si ottiene una zero dinamica stabile. . . . . . . . . . . . . . 20
2.8 Schema Simulink backstepping control. . . . . . . . . . . . . . . . . . . . . . 21
2.9 Risposta del sistema ad uno step di 12.1 m partendo da uno scostamento di 69. 21
2.10 Andamento temporale del segnale di controllo. . . . . . . . . . . . . . . . . . 22
3.1 Schema Simulink del sistema controllato con tecnica Twisting SMC. . . . . . . 28
3.2 Schema Simulink sottoblocco Internal Dynamic. . . . . . . . . . . . . . . . . 28
3.3 Schema Simulink sottoblocco Sliding Surface. . . . . . . . . . . . . . . . . . . 29
3.4 Schema Simulink sottoblocco Computing Block. . . . . . . . . . . . . . . . . . 29
3.5 Andamento temporale delle variabili di stato del sistema. . . . . . . . . . . . . 30
3.6 Andamento temporale del segnale di controllo. . . . . . . . . . . . . . . . . . 31
3.7 Andamento temporale del controllo equivalente. . . . . . . . . . . . . . . . . . 31
3.8 Andamento temporale delle variabili di stato della dinamica interna. . . . . . . 32
3.9 Twisting delle variabili di sliding nello spazio di stato. . . . . . . . . . . . . 32
3.10 Andamento temporale delle variabili di stato del sistema. . . . . . . . . . . . . 35
3.11 Andamento temporale del segnale di controllo. . . . . . . . . . . . . . . . . . 35
3.12 Andamento temporale della variabile s(x) e della variabile di sliding. . . . . . . 36
3.13 Andamento temporale delle variabili di stato del sistema. . . . . . . . . . . . . 38
3.14 Andamento temporale del segnale di controllo. . . . . . . . . . . . . . . . . . 39
Elenco delle gure 48
A.1 Andamento delle traiettorie (x
3
, x
4
) e dellenergia totale del sistema. . . . . . . 44
A.2 Andamento temporale delle variabili di stato del sistema. . . . . . . . . . . . . 45
A.3 Andamento temporale del segnale di controllo ibrido. . . . . . . . . . . . . . . 45
A.4 Ritratto delle fasi del sotto-sistema pendolo. . . . . . . . . . . . . . . . . . . . 46
Bibliograa
[1] J. J. E. Slotine, Weiping Li (1991). Applied nonlinear controll, Prentice-Hall.
[2] M. G. Dotoli (2009). Tecniche di sintesi dei sistemi di controllo non lineare.
[3] A. Bicchi (2009). Sistemi Nonlineari, Dispense di Robotica II.
[4] Wikipedia. Backstepping, en.wikipedia.org/wiki/Backstepping.
[5] S. S. Lemmon. Nonlinear Control Systems - Lecture25 Backstepping Control,
www.ece.clemson.edu/crb/ece874/Lemmon/Lectures/lecture-25.pdf.
[6] M. C. Good (2005). Backstepping2 - Basic Backstepping,
www.mech.unimelb.edu.au/ mcgood/436-459/ .
[7] Fu-Kuei Tsai, Jung-Shan Lin (2003). Backstepping Control Design of 360-Degree Inverted
Pendulum System, Automatic Control Conference.
[8] A. Benaskeur, A. Desbiens (1998). Application of adaptive backstepping to the stabilization
of the inverted pendolum, 0-7803-4314-X/98/$10.00 1998 IEEE.
[9] Wikipedia. Controllo sliding mode, it.wikipedia.org/wiki/Controllo sliding mode.
[10] G. Dotoli (2009). Tecniche di controllo sliding mode, Dispense di Controllo non lineare.
[11] S. Riachy, T. Floquet, Y. Orlov and J.P. Richard (2006). Stabilization of the cart-pendulum
system via quasi-homogeneous switched control, Alghero, Sardinia, Italy.
[12] C. Aguilar (2002). Approximate Feedback Linearization and Sliding Mode Control for the
Single Inverted Pendulum, Queens University Mathematics and Engineering.
[13] C.C. Chung and J. Hausser (1995). Nonlinear control of a swinging pendulum.
Automatica, 31(6):851862.
[14] Y. Orlov. Finite time stability of homogeneous switched system, Proceedings of the 42
nd
Conferences on Decision and Control, Maui, Hawaii, December 2003.
[15] Wikipedia. Dini derivative, en.wikipedia.org/wiki/Dini derivative.
[16] E. Usai (2009). Sliding Mode Control: Basic Theory, Advances and Applications, Dispense
di Controllo di sistemi non lineari.
[17] H. Sira-Ramirez (1993), On the dynamical sliding mode control of non linear systems,
INT. J. CONTROL, 1993, Vol. 57, No. 5,1039-1061.

Potrebbero piacerti anche