Stabilizzazione Pendolo Inverso

download Stabilizzazione Pendolo Inverso

of 50

description

` U NIVERSIT ADEGLIS TUDI DI C AGLIARIDipartimento di I NGEGNERIA E LETTRICA ED E LETTRONICATesina di C ONTROLLO DI S ISTEMI NON LINEARIStabilizzazione del pendolo inverso mediante Sliding Mode ControlRelatore: Prof. Elio UsaiRedatta da: Alessandro Pilloni Matricola: 70 / 51 / 38459Anno Accademico 2009/2010IndiceIntroduzione 1 Modellazione del sistema fisico 1 2 3 2 Dinamica dell’asta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dinamica del carrello . . . .

Transcript of Stabilizzazione Pendolo Inverso

UNIVERSIT`A DEGLI STUDI DI CAGLIARIDipartimento di INGEGNERIA ELETTRICA ED ELETTRONICATesina di CONTROLLO DI SISTEMI NON LINEARIStabilizzazione del pendolo inversomediante Sliding Mode ControlRelatore: Redatta da:Prof. Elio Usai Alessandro PilloniMatricola:70 / 51 / 38459Anno Accademico 2009/2010IndiceIntroduzione 21 Modellazione del sistema sico 31 Dinamica dellasta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Dinamica del carrello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Dinamica completa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Analisi del modello 61 Feedback Linearization Ingresso-Stato. . . . . . . . . . . . . . . . . . . . . . 72 Feedback Linearization Ingresso-Uscita . . . . . . . . . . . . . . . . . . . . . 102.1 Analisi della dinamica interna . . . . . . . . . . . . . . . . . . . . . . 142.2 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Backstepping Control Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.1 Analisi della dinamica interna . . . . . . . . . . . . . . . . . . . . . . 193.2 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Sliding mode control 231 VSC Twisting algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241.1 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 VSC dynamic algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.1 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 VSC Super Twisting algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . 363.1 Analisi dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Conclusioni 40A Controllo ibrido del pendolo inverso 42Elenco delle Figure 47Bibliograa 49IntroduzioneIn questo lavoro ricaveremo ed analizzeremo il modello matematico del sistema pendolo in-verso, studieremo i suoi punti di equilibrio e successivamente dimostreremo come sia possibileutilizzando esclusivamente forza agente sul carrello effettuare lo swing-up dellasta e contem-poraneamentegarantirechetuttelevariabilidistatodelnostrosistemarimanganolimitate;supporremo inoltre lo stato del sistema sia completamente accessibile.In altre parole dimostreremo la controllabilit` a del sistema, proponendo una legge di controlloche 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 leregola, i loro punti di forza e confronteremo i risultati.Nella seconda parte del lavoro presenteremo con una breve introduzione il controllo a strutturavariabile (VSC) e successivamente nellipotesi che il sistema sia soggetto ad una forza distur-bante incognita agente sul carrello, mostreremo come questa metodologia di controllo risultiefcace e robusta in tali condizioni di lavoro.Proporremo quindi tre diverse leggi di controllo sliding mode per il sistema, utilizzando tra idiversi algoritmi presenti in letteratura, quelli sotto indicati Twisting algorithm Dynamic SM algorithm Super Twisting algorithmSuccessivamente 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 1Modellazione del sistema sicoPer poter studiare un sistema ` e di fondamentale importanza disporre di un modello matematicoche 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 cuiessi obbediscono. Sulla base di questi principi osservando lo schema meccanico in Figura 1.1possiamo costruire un modello matematico rappresentativo del sistema in analisi. Si tratta diFigura 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 modellodinamico non lineare del quarto ordine, le cui variabili di stato sono la posizione e la velocit` adi entrambi i componenti del processo: lasta e il carrello. Lunico ingresso` e costituito dallaspinta orizzontale Fapplicata 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` amuoversi 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 unacomponente verticale Ve una componente orizzontale H.Nel seguito modelleremo il sistema supponendo che leffetto del momento dinerzia dellastasia trascurabile e che lunica forza di attrito presente sia quella tra il carrello ed il piano discorrimento. Si supporr` a poi che le masse sia del carrello e che dellasta siano concentrate neirispettivi baricentriPer 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 successivamenteuniremo i risultati ottenuti.1.1 Dinamica dellasta 4Figura 1.2: Diagrammi di corpo libero del sistema asta-carrello.1 Dinamica dellastaDal bilancio delle forze sulla massa del pendolo m1, si ottienemaa= H

ix + V

iy + 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 ilcomportamento dellasta lungo i due assi di riferimento_md2dt2( x + L sin() ) = Hmd2dt2( L cos() ) = Vmg(1.2)Scrivendo ora lequilibrio dei momenti sullasta rispetto al suo centro di massa si haJ = 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___md2dt2( x + L sin() ) = Hmd2dt2( L cos() ) = VmgV sin() = Hcos()(1.5)2 Dinamica del carrelloLa dinamica del carrello, ricordando che questo pu` o muoversi solo lungo lassex, si ottienesemplicemente dal seguente bilancio di forzeM x = Fb x H (1.6)1La massa dellasta ` e supposta trascurabile .1.3 Dinamica completa 5M[Kg] m [Kg] L [m] b [Ns/m] g [m/s2]5 1 0.5 0.5 9.8Tabella 1.1: Parametri del processo in analisi.3 Dinamica completaLa dinamica completa del sistema si ottiene ricavando dalla (1.5) le forze H(t) e V (t)_V (t) = mg + mLsin() mL 2cos()H(t) = m x + mLcos() mL 2sin()(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 + mLcos() mL 2sin() = FmL2 + mL xcos() mgLsin() = 0(1.8)Tale modello (1.8), scelto come vettore di statox=[x1x2x3x4]T=[x x]Te postou(t) = F, con le opportune elaborazioni pu` o essere posto in una forma pi ` u consona alla nostratrattazione. 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___ x1= x2 x2=b x2mg sin(x3) cos(x3) + mL sin(x3)x24 + u(M+ msin2(x3)) x3= x4 x4=g(M+ m)sin(x3) +bx2cos(x3) mLsin(x3)cos(x3)x24u cos(x3)L (M+ m sin2(x3))(1.10)Come si pu` o notare il sistema (1.10) presenta una dinamica non lineare del quarto ordine conun solo ingresso. Dalla (1.9) nellipotesi che lingresso al sistema sia nullo, posto f(x(t))=0si ricava mediante il criterio indiretto di Lyapunov che il sistema come ` e facile intuire presentadue innit` a di punti di equilibrio, una stabile che consiste nel pendolo rivolto verso il basso inuna ascissa qualsiasi xeq1= [ xd 0 0 ] ed una instabile xeq2= [ xd 0 0 0 ], che consiste nelpendolo rivolto verso lalto sempre in una ascissa qualsiasi.NellaTabella1.1vediamoinoltreivalorideiparametridelmodellochesiuserannoperlesimulazioni.Capitolo 2Analisi del modelloCome 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 lalimitatezza 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 siamopreposti sia qualcosa di fattibile, ovvero in pratica ci stiamo chiedendo se il sistema in analisisia effettivamente controllabile o meno.Vedremo come la risposta a questa domanda non sia cos` banale, ed infatti solo dopo alcunitentativi dimostrare formalmente come il sistema in analisi possa essere controllato garantendocontemporaneamente 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 possanoessere le problematiche per il controllo di un sistema di questo tipo, si pensi ad esempio alcontrollo 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 sempliceesempio di pendolo invertito. Per questo motivo anche in letteratura il sistema pendolo inversoFigura 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, infattitale 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 controllo1.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 inequilibrio sul palmo di una mano un asta semplicemente camminando; un approccio pi ` u formalema purtroppo di validit` a esclusivamente locale e molto ridotta si basa invece sulla richiesta chelo stato che si voglia raggiungere xfsia scelto arbitrariamente vicino allo stato iniziale x0 e sibasa sul seguente teorema:Teorema 0.1. Sia dato il sistema x(t) = f(x) +m

i=1gi(x)ujcon f(x0) = 0, x n, u me sianoA =fxx = x0u = 0B= [ g1(x0). . . gm(x0)]le matrici dellapprossimazione lineare.Se il sistema x = Ax +B u ` e controllabile, allora per ogni T t esiste un intorno x0 tale cheper ogni suo punto xfesiste un controllo u(t) tale per cui x(u(t), T) = xf, 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 dimostrafacilmente 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 ilsistema 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 strutturavariabile in presenza di incertezze parametriche o disturbi.1 Feedback Linearization Ingresso-StatoPer 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 opportunatrasformazione 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 controllolineare. Questa tecnica, si differenzia dalla linearizzazione classica o Jacobian Linearization nelfatto che la linearizzazione viene eseguita mediante retroazione e la legge di controllo risultaessere una legge esatta e non una approssimazione in un intorno del punto di lavoro, il che pu` opermettere la sintesi di regolatori che garantiscano performance nettamente superiori in terminidi 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)1Per questo motivo ci si riferisce al sistema pendolo inverso come ad un sistema sottoattuato.2.1 Feedback Linearization Ingresso-Stato 8con 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 lingressou = 1(x) [(x) + v] (2.3)si ottenga il seguente sistema lineare tempo invariante x = AGz + BG [(x) +(x)u] = AGz + BGv (2.4)dove (x) ` e una funzione scalare invertibile, v ` e la nuova legge di controllo statica che permettelassegnamento poli-zeri al sistema linearizzato ed inoltre si deve avere che scelta come trasfor-mazione di uscita y= z1 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 vediamodi trattare il caso generale (SISO). Dato il sistema_ x(t) = f(x) + g(x)uy= h(x)(2.5)da cui derivando luscita y y=hx x =hx (f(x) + g(x)u) = Lfh + Lghu (2.6)dove Lf ed Lg sono le cos` dette derivate di Lie, ovvero delle derivate direzionali. In questo casoad esempio Lf=h f(x) rappresenta la proiezione del gradiente di h(x) lungo la direzionef(x). Nella (2.6) vediamo che seLgh=0 anche la derivata prima delluscita non contienelingresso; calcolando ora le derivate successive y =Lfhx= L2fh + LgLfhu...y(r)= L(r)fh + LgL(r1)fhu(2.7)si pu` o notare, ricordando che y= z1= 1(x) che se imponiamo i seguenti vincoli: LgL(i)f1= 0, i = 0, 1 , r 2 LgL(r1)f1= 0riusciamo a trovare le condizioni per cui possa esistere lopportuno diffeomorsmo che permettedi linearizzare il nostro sistema e che consente di avere un sistema lineare con il medesimo gradorelativo di partenza, ma espresso in forma canonica di Brunowsky dove le non linearit` a verrannotutte compensate in forma esatta mediante il controllo u ricavato dallultima riga della (2.7)u = 1LgL(r1)f1_L(r)f1 + v_(2.8)2.1 Feedback Linearization Ingresso-Stato 9dove si pu` o riconoscere la stessa struttura della (2.3).Inoltre` e possibile usare le derivate successive delluscita per denire il seguente cambio divariabiliz= (x) =__1Lf1(x)L2f1...L(r1)f1__(2.9)dove per` o si dovr` a vericare che questo sia un cambio di variabili ammissibile, ovvero che ler equazioni che lo compongono siano indipendenti. Dunque se il sistema nel nuovo spazio distato ha grado relativo r=n si parla di linearizzazione totale esatta in feedback. Per capire seesiste la funzione 1(t) ` e sufciente risolvere il sistema (2.10) normalizzato2_ad0fg ad1fg adr2fg adr1fg___1/x11/x2...1/xr11/xr__=__00...01__(2.10)dove si ` e utilizzato in maniera ricorsiva loperatore Lie Bracket denito comeadifg=_f, ad(i1)fg_ = ad(i1)fg ff ad(i1)fgcon ad0fg= g ed i = 1, 2, , insieme allidentit` a di Jacobi Ladfg1= LfLg1LgLf1 .Vediamo ora di applicare tale procedura al nostro sistema (1.10). Deniamo innanzitutto i duevettori di funzioni f(x) e g(x) tali da mettere il nostro sistema in forma afne al controllof(x) =__x2b x2mg sin(x3) cos(x3) + mL sin(x3)x24(M+ msin2(x3))x4g(M+ m)sin(x3) + bx2cos(x3) mLsin(x3)cos(x3)x24L (M+ m sin2(x3))__(2.11)g(x) =__01(M+ msin2(x3))0cos(x3)L (M+ m sin2(x3))__(2.12)Da cui ora dovremo calcolare i seguenti vettori_g ad1fg ad2fg ad3fg_2Dato senza dimostrazione.2.2 Feedback Linearization Ingresso-Uscita 10essendo questo un calcolo molto laborioso ci siamo appoggiati alla piattaforma open-source dicalcolo simbolico Maxima, e quindi mandando in run il seguente script creato ad hoc siamoriusciti a calcolare le varie Lie-Derivative in maniera agevole./*--------------------------------------------------------------*//*lieBracket.max:*//*Alessandro Pilloni, [email protected]*//*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 ad1fg=[f, g] aveva elementi su ogni sua coor-dinata, il che implica che lo Jacobiano di 1(x) non debba dipendere da nessuna delle variabilidi stato. Questo ` e per` o inaccettabile perch e in tal caso non si potrebbe pi ` u rispettare il vincoloLgL(r1)f1=0; quindi possiamo affermare che in questo caso un diffeomorsmo di gradomassimo non pu` o esistere.In questi casi, si pu` o comunque procedere ad una linearizzazione esatta per` o parziale, dettaanche linearizzazione ingresso-uscita, la quale verr` a affrontata nel seguente sezione.2 Feedback Linearization Ingresso-UscitaLa 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 unaformaagradorelativomassimor =n, intalicasi ` ecomunquepossibilericorrereadunalinearizzazioneparzialemediantelalinearizzazioneingresso-uscita. Questoapprocciovieneutilizzato ad esempio nelle seguenti situazioni: se il sistema non consente di trovare una funzione 1(x) a grado massimo(come nel nostrocaso); se il sistema ha una uscita h(x) con signicato sico tale da imporre la scelta(soprattuttoin problemi di inseguimento); se non si vuole o non si riesce ad integrare il sistema di equazioni differenziali alle derivateparziali 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 tuttele n variabili di stato del sistema. Quindi una volta stabilizzata la dinamica IU, si dovr` a studiarela stabilit` a della dinamica interna, in quanto lefcacia del controllo progettato ` e strettamentelegato alla stabilit` a di questultima.Un idea su come scegliere le nuove (n r) funzioni pu` o essere quella di sceglierle in manierache 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 11Vedremo 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 dipendentesia da questi che dalle altrer variabili di stato, il che faciliter` a lo studio sulla stabilit` a di taledinamica.Riassumendo il nuovo sistema avr` a la seguente struttura:___ z = AGz + BGvy = z1 w = (w, z)con_zw_=(x), z r, w (nr)(2.13)dove w=(w, z) = ( 0, w). .dinamicazero+ p( z, w). .dinamicaperturbata(2.14)Aquestopuntovediamocomesceglierelevariabili complementari r+1. . . n. Prendendolultima delle (2.7) e derivandola (n r) volte si ottiene zr+1=r+1x= Lfr+1 + Lgr+1...z(n1)= L(nr)fr+1 + LgL(nr1)fr+1(2.15)dove se imponiamo come vincoliLgi(x) = 0, r + 1 i n con r+1= L(r)fh + LgL(r1)fhu (2.16)e risolvendo un sistema simile a quello in (2.10), riusciamo come desiderato ad eliminare ladipendenza esplicita del controllo dalla dinamica interna. Dopo di che non rimane che stabiliz-zare asintoticamente il sistema linearizzato (2.13) scegliendo una opportuna retroazione staticadello stato tipov= v(z) = k z con k = [k0, k1, . . . , kr] (2.17)ed andare a studiare la stabilit` a della zero-dinamica; dove se questa risulter` a almeno localmenteasintoticamente stabile, allora il sistema complessivo sar` a localmente asintoticamente stabile.Vediamo ora di applicare tale procedura al nostro sistema. Ricordando che nel nostro caso lasiamo 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= x3= 1(x)vediamo derivando tale segnale quale sia il grado relativo di tale dinamica. Nel nostro casoabbiamoy = 1(x) = x3 y = Lf1 + Lg1u = x4 y = L2f1 + LgLf1u(2.18)dove si haLg1=_0 0 1 0___01(M+ msin2(x3))0cos(x3)L (M+ m sin2(x3))__= 0 (2.19)2.2 Feedback Linearization Ingresso-Uscita 12mentreLgLf1=_0 0 0 1___01(M+ msin2(x3))0cos(x3)L (M+ m sin2(x3))__=cos(x3)L (M+ m sin2(x3))(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 daqueste e che soddisno la (2.16), per cui ricordando che x1 annullava gi` a di suo Lgx1, dato cheLg3= Lgx1=_1 0 0 0___01(M+ msin2(x3))0cos(x3)L (M+ m sin2(x3))__= 0 (2.21)si ottiene il seguente sistemaw1= 3= x1w2= w1=3x= Lf3 + Lg3 w2=4x= Lf4 + Lg4(2.22)dove per` o bisogna ancora trovare lultima trasformazione 4(x). Quindi posto4x= [ a1, a2, a3, a4]il nostro vettore incognito, risolvendo il seguente sistemaLg4= 0 =4x g(x) = 0 (2.23)=_a1a2a3a4___01(M+ m sin2(x3))0cos(x3)L (M+ m sin2(x3))__= 0=a2(M+ msin2(x3))a4cos(x3)L(M+ msin2(x3))= 0(2.24)=a2=a4cos(x3)L(2.25)2.2 Feedback Linearization Ingresso-Uscita 13si 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 a4= L ed a1= a3= 0 da cui deriva4x= [ 0, cos(x3), 0, L]la quale integrata3fornisce lultima funzione della nostra trasformazione di stato. Ora il cambiodi variabili risulta completo e viene riportato di seguito._zw_ = (x) =___z1= x3z2= x4w1= x1w2= x2 cos(x3) + L x4(2.26)_x_ = 1(z, w) =___x1= w1x2=w2L z2cos(z1)x3= z1x4= z2(2.27)Utilizzando ora il seguente script maxima/*-----------------------------------------------------------------*//*newDynamic.max:*//*Alessandro Pilloni, [email protected]*//*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___ z1= z2 z2=g(M+ m)sin(z1) + b(w2Lz2) mLsin(z1)cos(z1)z22cos(z1) uL (M+ m sin2(z1))y = z1 w1=w2L z2cos(z1) w2=sin(z1) (z22w2z2 + gcos(z1))cos(z1)(2.29)3La 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 14dove non rimane che ricavare lingresso opportuno da inserire, tale da linearizzare il legame IUdel sistema (2.29). Per cui dato il seguente legame IUy = z1= x3 y = x3= x4 y = x4= v=g(M+ m)sin(x3) +b x2cos(x3) mLsin(x3)cos(x3)x24cos(x3) uL (M+ m sin2(x3))(2.30)lingresso che linearizza tale dinamica espressa in forma canonica di Brunowsky risultau = 1(x) [(x) + v] ==g(M+ m)sin(x3) + b x2cos(x3) mLsin(x3)cos(x3)x24cos(x3)L(M+ m sin2(x3))cos(x3)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 comeun 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 possibileassegnare una dinamica lineare asintoticamente stabile con due poli in s = 10 ponendov(z) = k z= _100 20__z1z2_(2.32)Si noti per` o che in realt` a non siamo ancora certi che effettivamente sia possibile stabilizzare tuttolo 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 z2 e quindi se tale dinamicadovesse 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 limitato4.2.1 Analisi della dinamica internaUna volta garantita la BIBO stabilit` a del sistema mediante la retroazione statica dello stato sulsistema 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 sistemagode di questa propriet` a se a partire da una condizione iniziale opportuna e sottoposto il sistemaad una perturbazione sufcientemente piccola, questo mantiene la sua traiettoria limitata. Comesi nota questa ` e una propriet` a ovviamente locale che per` o garantisce sotto opportune condizioniche tutto lo stato del sistema sia limitato; tale limitatezza ` e per` o fortemente legata allampiezzadelle 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 questonon sia perturbato (z= 0). Se tale dinamica risulta essere stabile, allora sar` a necessario studiareanche la dinamica perturbata, ma se gi` a la prima risulta essere instabile, allora sicuramente il4Questa situazione ` e molto simile a quella che si ha nei sistemi lineari a fase non minima quando si cerca dicancellare degli zeri situati nel semipiano destro.2.2.2 Analisi dei risultati 15sistema non sar` a BIBS stabile. In base alla denizione (2.14) riportiamo la zero dinamica delnostro sistema_ w1= w2 w2= 0(2.33)questa come si pu` o notare ` e equivalente alla dinamica di un doppio integratore, ragion per cui ` epossibile affermare che il nostro sistema avendo una zero dinamica marginalmente stabile, nonpotr` a mai garantire una stabilit` a BIBS.Figura 2.2: Feedback Linearizzation IU con pole-placement.2.2 Analisi dei risultatiRiportiamo 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 dellevariabili 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 esattamentecome un doppio integratore soggetto ad un impulso, ovvero alla forza di reazione per eseguirelo swing-up dellasta.2.2.2 Analisi dei risultati 16Figura 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 170 1 2 3 4 5 6 7 810.500.51time [sec]Variable State x1 [m]x2 [m/sec]x3 [rad]x4 [rad/sec]Figura 2.5: Andamento temporale delle variabili di stato del sistema.3 Backstepping Control DesignDalla 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 lasola posizione angolare x3(t) = (t). Questo fallimento ovviamente non preclude la possibilit` adi riuscire a trovare una opportuna legge di controllo basata su questa tecnica5, ma probabil-mente sar` a necessario prendere una trasformazione di uscita che sia una combinazione di pi ` uvariabili 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 decisoche probabilmente i costi necessari per trovarla risultavano maggiori di quanto non sarebberostati 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 Lyapunovnella quale mediante step successivi applicati ricorsivamente, si arriva sintetizzare un controllotale da garantire una funzione di Lyapunov V (x) denita positiva ed unaV (x) denita negativa,dove lordine del controllore ` e pari al numero di step eseguiti. La procedura ricorsiva terminaquando compare il controllo esterno nella nuova funzione di Lyapunov candidata.In questa analisi ci limiteremo esclusivamente alla ricerca di una legge di controllo non globalema che ci dimostri come il nostro sistema non lineare sia effettivamente controllabile6.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.5Se non ` e stata trovata una opportuna trasformazione di stato, non ` e detto che non esista.6Nellarticolo [5] ` e riportato un controllo backstepping che garantisce la globale asintotica stabilit` a del sistema.2.3 Backstepping Control Design 18Partendo dal modello (1.10), riportiamo di seguito la sua approssimazione lineare__ x1 x2 x3 x4__=__0 1 0 00 bMmgM 00 0 0 10bLMg(M+m)LM0____x1x2x3x4__+__01M01LM__(2.34)e partendo da questa, mostreremo passo passo come applicare la procedura di backstepping alnostro sistema. Step 1: Scelta come nuova variabile di stato una combinazione delle variabili in gioco taleda non far comparire nella sua derivata il segnale di controllo esterno u come ad esempioz1= x2k_x1 +1Lx3 + x4_(2.35)con k costante da determinare, si ha che la sua derivata risulta z1= x4k_x2 +gLx3_(2.36)Ora scelta come seconda variabile di statoz2= x4(x) (2.37)vediamo che se sostituiamo questa nella (2.36) si ottiene z1= z2 + (x) k_x2 +gLx3_(2.38)dove (x) ` e un segnale di controllo ttizio. A questo punto si pu` o notare che posto(x) = c1z1 + k_x2 +gLx3_(2.39)con c1 costante positiva e scelta come funzione di Lyapunov la classica forma quadraticaV (x) =12z21si ottiene cheV (x) = z1 z1= c1z21 + z1z2dove per il momento non ci preoccupiamo di scegliere z2. Step 2: Dopo questo primo step, vediamo immediatamente che assegnato a c2 un valorecostante positivo, se scegliamo per z2 una dinamica del tipo z2= z1c2z2(2.40)possiamo garantire la stabilit` a IU del nostro sistema, in quanto si avrebbeV (x) =12z21 +12z22V (x) = z1 z1 + z2 z2= c1z21c2z222.3.1 Analisi della dinamica interna 19dove le costanti c1 e c2 sono i pesi che ssano il rate di convergenza della nuova dinamicaIU. Per cui derivando la (2.37) z2= x4 (x)=_g(M+m)LMx3 +bLMx2uLM__c1 z1 + k_bMx2mgM x3 +uM+gLx4__(2.41)ed uguagliando alla (2.40), si pu` o ricavare il controllo u tale da garantire le condizioni distabilit` a IU del nostro sistema. Pertanto il controllo u cercato risultau = 11 + kL (1x1 + 2x2 + 3x3 + 4x4) (2.42)1= d2kLM2= d1kLMd2LMb bkL3= gd1kM+ d2kMg(M+ m) + mgL4= d1LM+ d2kLM+ gkMdove d1= c1 + c2, d2= 1 +c1c2.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 distato. Per` o poich e il nostro sistema risulta essere del quarto ordine, sar` a necessario cercare edandare a studiare una dinamica interna del secondo ordine per il nostro sistema.3.1 Analisi della dinamica internaPer calcolare una possibile dinamica interna indipendente dalle nuove variabili di stato (2.35) e(2.37), possiamo scegliere come per la feedback linearization IU w1= x1 dalla quale si ottieneil seguente diffeomorsmo__z1z2w1w2__= (x) =__k 1 kLkc1k c1k k(g+c1)Lc1k1 0 0 00 1 0 0____x1x2x3x4__(2.43)il quale risulta come si pu` o notare invertibile e quindi garantisce la validit` a di tale trasformazionedi stato. Invertendo la (2.43) otteniamo invece la sua relazione inversa_x_ = 1(z, w) =___x1= w1x2= w2x3=(kz2 + (1 c1k)z1 + w2k2+ w1k w2)Lgk2+ kx4=z2 + (g c1)z1 + (w2w1g)k + w2g)gk + 1(2.44)2.3.1 Analisi della dinamica interna 20A questo punto eseguendo le opportune sostituzioni otteniamo un sistema caratterizzato dallaseguente zero dinamica_ w1= w2 w2= b1w1 + b2w2(2.45)b1=gkL2+3L+gL+g4kg1k1(gk+1)(kL+1)Mb2=(gk3gk)L2+(bgk3+(3+gb)k23g)L+(4g2bg)k2+(g42b)k((gk3+k2)L+gk2+k)M(2.46)4 3 2 1 0 1 2 3 45000500Coefficent of internal dynamicsk1b14 3 2 1 0 1 2 3 45000500k1b2Figura 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 015001000500050010001500k1[b1 , b2] b1b22 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 000.511.52k1(b1 b2)>0 (b1 b2)>0Figura 2.7: Valori di k per cui si ottiene una zero dinamica stabile.2.3.1 Analisi della dinamica interna 21Figura 2.8: Schema Simulink backstepping control.0 5 10 151510505101520time [sec]Variable State 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 220 2 4 6 8 10 12 14 1620015010050050100150200time [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 noninuenza 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 duecoefcienti b1 e b2 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 postoc1= c2= 1.3.2 Analisi dei risultatiIn Figura 2.8 possiamo notare lo schema Simulink del sistema non lineare controllato medianteil controllo (2.42) e rispettivamente in Figura 2.10 e Figura 2.9 landamento di questultimo edelle variabili di stato del sistema, dove come si pu` o notare si ha un sistema complessivo BIBSstabile e controllabile, infatti ` e possibile oltre al raddrizzamento dellasta anche il tracking sullaposizione 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 circa69, 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 ilsistema 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 alcunmetro di misura, per cui giusto come informativa diciamo che il medesimo sistema, controllatocon una retroazione statica dello stato sul sistema lineare garantisce invece lo swing-up per unangolo massimo di circa 57 e pu` o sopportare contemporaneamente un set-point sulla posizionedel carrello di soli 7.5 m.Capitolo 3Sliding mode controlIn questultimo capitolo, vedremo come sia possibile stabilizzare localmente il nostro sistemanel suo punto di equilibrio instabile, mediante un controllo sliding mode, nel caso in cui siapresente sul sistema un disturbo incognito accoppiato con il segnale di controllo. Proporremoquindi tre diverse leggi di controllo sliding mode per il sistema, utilizzando tra i diversi algoritmipresenti in letteratura, quelli sotto indicati Twisting algorithm Dynamic SM algorithm Super Twisting algorithmSuccessivamente confronteremo i risultati ottenuti in termini di complessit` a, range di validit` a eforza necessario per il controllo.Prima di addentrarci nella trattazione del problema vediamo per` o di rimarcare cosa si intendeper 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 spessoindicato 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 ilriferimento del sistema di controllo. Per ottenere ci ` o, il sistema viene forzato con un segnaledi controllo discontinuo, che spinger` a le traiettorie del sistema in direzione della supercie disliding, 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 dicontrollo.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 talesupercie; 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 terminicontinui.3.1 VSC Twisting algorithm 24Si 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 controlloe imprecisioni nel modello, le quali possono derivare o da incertezze parametriche del plant opi` u semplicemente da semplicazioni di modello, quali ad esempio laver trascurato effetti diordine 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 segnalesullattuatore` e spesso affetta da chattering, ossia da oscillazioni spurie in alta frequenza), laquale potrebbe eccitare eventuali dinamiche di ordine superiore trascurate nel modello.`E comunque possibile modicare la legge di controllo, ottenendo come vedremo dei controllia struttura variabile non discontinui, in modo da effettuare un compromesso tra le performancedel 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 iquali ricordiamo i manipolatori robotici, i veicoli sottomarini, le trasmissioni e i motori degliautoveicoli, i sistemi di potenza e i motori elettrici.1 VSC Twisting algorithmDopo queste precisazioni vediamo come impostare il nostro problema. Come gi` a accennatoper dimostrare la robustezza del controllo a struttura variabile inseriremo nel sistema (1.10) unsegnale di disturbo Fx incognito, sempre positivo e minore o al pi ` u uguale a 10 Newton. Il nuovosistema ` e quindi riportato nella (3.1) dove ` e facile intuire che questo disturbo rappresenta unaforza di attrito; si noti poi come la seconda equazione del sistema sia stata inoltre moltiplicata edivisa per la lunghezza dellasta del pendolo.___ x1= x2 x2=bL x2mgL sin(x3) cos(x3) + mL2sin(x3)x24 + L(u Fx)L(M+ msin2(x3)) x3= x4 x4=g(M+ m)sin(x3) + bx2cos(x3) mLsin(x3)cos(x3)x24cos(x3) (u Fx)L (M+ m sin2(x3))(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` aingresso uscita del sistema, anche la stabilit` a della sua dinamica interna, se questa risulta esserepresente.Scegliamo quindi come nuova variabile di stato la seguente combinazione non lineare di statidel sistema:= x1 + L ln_1 + sin(x3)cos(x3)_, con | x3| 0 (3.17)tale che si ottenga il seguente sistema =_k 1k _ (3.18)con = k + 21k= k 2Ora scelto come vettore di funzioni di LyapunovV () =_| 1|| 2|_(3.19)in base alla denizione di derivata superiore di Dini (upper right-hand derivative) si haD+V () = limsuph0+V ( + h) V ()h1Il motivo di questo nome sar` a chiaro quando interpreteremo i risultati ottenuti.3.1.1 Analisi dei risultati 27k1k21240 20 0.2 0.1Tabella 3.1: Parametri del sistema.applicandola tale denizione alla (3.19) a questo punto si otteniene cheD+V () V ()con =_k 1| k | _(3.20)dove possiamo dimostrare che D+sia una matrice denita negativa se e solo se sia maggioratadalla matrice denita a sua volta negativa; per avere questo ` e sufciente che la (3.20) abbiaautovalori reali negativi. Quindi dal polinomio caratteristico della (3.20) abbiamodet(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 1k> 022>41(3.22)A questo punto sulla base di questi vincoli si ottiene che risulta essere una matrice di Met-zler2dal quale si evince che il punto di equilibrio =0 risulta essere un punto di equilibrioasintoticamente stabile per il sistema non lineare (3.18) e quindi anche per la nostra dinamicainterna (3.16).Nella Tabella 3.1 sono invece riportati i valori per le grandezze del nostro controllore a strutturavariabile 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 risultatiSulla base del sistema in Figura 3.1 posta la forza di disturbo pari al suo valore massimo, ovveroFx= 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 riportatinelle successive gure; come condizione iniziale ` e invece stato scelto un angolo di partenza paria 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 sistemache come possiamo notare risulta essere ovviamente un segnale a commutazione tra due valori2Per matrice di Metzler si intende una matrice con tutti gli elementi fuori diagonale non negativi.3.1.1 Analisi dei risultati 28Figura 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 29Figura 3.3: Schema Simulink sottoblocco Sliding Surface.Figura 3.4: Schema Simulink sottoblocco Computing Block.3.2 VSC dynamic algorithm 30simmetrici. Un segnale di questo tipo per` o come gi` a accennato mette a dura prova gli attuatorie per questo motivo nella terza parte di questo capitolo vedremo come evitare questo fenomenoutilizzando 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 primoordine con B3dB= 0.1Hz , 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 Fx, infattiquesto 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 scivolamentoe come` e intuibile a regime non pu` o che assumere un valore uguale ma opposto in segno aldisturbo 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 ricordiamoche la legge di controllo (3.15), essendo una legge discontinua, garantisce la convergenza a zerodelle variabili di sliding in tempo nito; possiamo quindi parlare di sliding mode del secondoordine.Osservando ancora tale gura notiamo come tale traiettoria ruoti attorno al punto (0, 0) (twistingtrajectory) no a raggiungerlo in tempo nito (terminal SM).0 1 2 3 4 5 6 7 854321012345time [sec]Variable State x1 [m]x2 [m/sec]x3 [rad]x4 [rad/sec]Figura 3.5: Andamento temporale delle variabili di stato del sistema.2 VSC dynamic algorithmNella sezione precedente abbiamo visto come fosse possibile ottenere una legge di controlloche garantiva una convergenza in tempo nito delle nostre variabili di sliding utilizzando unalegge di controllo discontinua; ora invece proporremo ancora una legge discontinua che per` ogarantisce una convergenza asintotica delle variabili di sliding , e .Lalgoritmo dynamic SM` e ancora un controllo sliding mode di ordine superiore, il quale pu` oessere utilizzato qualora per il sistema in analisi x = f(x) + g(x) v3.2 VSC dynamic algorithm 310 2 4 6 8 10 12 14 1620015010050050100150200time [sec]u Control Signal [N]Figura 3.6: Andamento temporale del segnale di controllo.0 1 2 3 4 5 6 7 842024681012141618time [sec]ueq ueq [N]Figura 3.7: Andamento temporale del controllo equivalente.3.2 VSC dynamic algorithm 320 1 2 3 4 5 6 7 8 9 108642024681012time [sec]Internal Dynamic wwwFigura 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.2642024Figura 3.9: Twisting delle variabili di sliding nello spazio di stato.3.2 VSC dynamic algorithm 33possa essere denita una nuova uscitas(x) = (r1)+r2

i=0mi(i)(3.23)denita come combinazione lineare della supercie di sliding(x) e delle sue derivate con icoefcienti mi positivi, inoltre devono valere le seguenti relazioni L(i)f2i(x), i = 1 , rLgL(i)f =0, i = 0, 1 , r 20 < i(x) min_eig_LgLr1f_ _x G,_tcon G=_x n:dk(x)dtk= 0, k = 0 . . . r 1_(3.24)ovvero si abbiano , . . . (r1)anche se affette da incertezza comunque limitate da funzioninote 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 tipov= r(x) +r2

i=0mii+1(x) + ms s 2, > 0(3.25)garantisce la convergenza asintotica di (x) e delle sue r derivate e quindi anche la stabilit` a delsistema di partenza (3.23). Questo risultato viene ottenuto per il semplice fatto che stabilizzandola nuova uscita (3.23) ` e come se stabilizziamo la nostra supercie di sliding e quindi il sistemastesso. Si noti che una volta che una volta raggiunta la condizione s(x) = 0, in tempo nito, daquellistante in poi si ottiene una convergenza asintotica con rate esponenziale per la variabiledi sliding e le sue derivate3.Vediamo ora di sintetizzare un controllo di questo tipo anche per il nostro sistema; innanzituttovediamo che questo si presta perfettamente allapplicazione di questo algoritmo in quanto lasupercie di scivolamento (3.6) rispetta i vincoli (3.24), dove in questo caso si ha r=2, cherappresenta 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 cuipossiamo denire la nuova uscitas = + m1quindi derivandola e sostituendo le (3.8), (3.10), (3.11) e postoK= (1 + 22x4sin(x3)cos(x3)(M+ msin(x3))L3Questo pu` o essere osservato in Figura 3.123.2.1 Analisi dei risultati 34M 128 0.1 0.2Tabella 3.2: Parametri del sistema.otteniamo s = + K (u Fx) + m1a questo punto, approssimando la (3.25) comev= Msign(s) (3.26)e ricordando che anche in questo caso supporremo il termine perfettamente noto, si ottiene laseguente legge di controllou = 1K( Msign(s)) (3.27)2.1 Analisi dei risultatiRiportiamo 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 inizialie 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 inmaniera 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-pointdesiderati, 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 oscillatra valori decisamente inferiori.Interessante inoltre osservare in Figura 3.12 come gi` a accennato la convergenza esponenzialedella supercie di sliding a zero dal momento in cui si ottiene in tempo nito la convergenzadelluscita ttizia s(x).Per quanto riguarda invece le prestazioni tra questultima tecnica e lalgoritmo twisting vistoprecedentemente possiamo dire che per angoli di partenza non troppo eccessivi i due controllisono 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 piccolotransitorio 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 escursionesi 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 esattaed inoltre la stima di M` e stata completamente empirica; ad ogni modo anche con valori di Mmaggiori lalgoritmo twisting risulta pi ` u prestante in termini di validit` a della legge di controlloche permette infatti lo swing-up sino ad angoli di circa 65.3.2.1 Analisi dei risultati 350 2 4 6 8 10 12 14 1654321012345time [sec]Variable State 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 1610050050100150200250time [sec]u Control Signal [N]Figura 3.11: Andamento temporale del segnale di controllo.3.3 VSC Super Twisting algorithm 360 1 2 3 4 5 6 7 82024stime [sec] 0 1 2 3 4 5 6 7 800.20.40.60.81time [sec](x) s(x)(x)Figura 3.12: Andamento temporale della variabile s(x) e della variabile di sliding.3 VSC Super Twisting algorithmNelle sezioni precedenti abbiamo proposto due diverse leggi sliding mode ed abbiamo vistocome entrambe per` o presentassero un controllo di tipo discontinuo, il quale come gi` a accennatoin precedenza comporta diversi problemi, primo fra tutti lelevata sollecitazione degli attuatori equindi anche un elevato dispendio di potenza. Nellultima parte di questo lavoro vedremo comesia possibile realizzare ancora un controllo a struttura variabile, ma questa volta che presenti unsegnale di controllo di tipo continuo.Esistono diversi approcci per ottenere un controllo di questo tipo, primo fra tutti quello di uti-lizzare anzich e funzionisign(x) che presentano una discontinuit` a nellorigine, delle funzionisaturanti opportunamente pesate; in questo lavoro per` o si ` e deciso di analizzare un approcciodifferente, 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 presenzadel 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 Fx agente sul carrello, vediamo come formulare ilnostro problema.Si noti inoltre che non soddisfatti dei range di validit` a ottenuti con i precedenti controlli, inquestultimaparte del lavorosi ` ecercato partendo da alcune considerazione, di trovareunalegge tale da garantire un dominio di validit` a decisamente superiore una volta controllato ilsistema.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 dicontrolli troppo energici4. 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 nella4Ad esempio con il primo controllo per effettuare lo swing-up partendo da un angolo di 78si sarebbero dovutisettarek1=1300 ek2=1289 ed anche cos` comunque il transitorio sulla posizione del carrello avrebbe avutovalori decisamente inaccettabili.3.3 VSC Super Twisting algorithm 37relazione, di provare a sfruttare a nostro favore questa propriet` a e provare a calcolare la suaderivata terza e vedere se mediante opportuni artici fosse stato possibile far meglio di quantoproposto. Per far ci ` o, mantenendo per` o limitata la complessit` a delle formule si ` e deciso semprepartendo dal sistema (1.10) di denire come ingresso al nostro sistema il seguente controllou =_M+ m sin2(x3)__b x2mg sin(x3) cos(x3) + mL sin(x3)x24_(3.28)con componente del controllo ancora da determinare. Dopo questa sostituzione il sistema sucui dovremo operare ` e diventato___ x1= x2 x2= Fx x3= x4 x4=gLsin(x3) cos(x3)L(Fx)(3.29)il quale risulta molto pi` u semplice da trattare. Ora come accennato scegliamo come nuova uscitadel sistema esattamente la (3.4), ovveroy= 1(x) = x1 + L ln_1 +sin(x3)cos(x3)_, con | x3| 0. Ora derivando questultima otteniamo = e(4)+ 3e(3)+ 32+ e(1)= y(4)+ 3y(3)+ 32y(2)+ (y yd)= (x) + (x)(Fx)= (x, Fx) + (x) (3.35)5Questa affermazione si pu` o dimostrare notando che lo Jacobiano del diffeomorsmo ha determinante nonnullo.3.3.1 Analisi dei risultati 38con(x) =tan(x3)cos(x3)L_g2+ x42_9gLcos(x3)+ x42L2_6cos2(x3)1___(3.36)(x) =1cos(x3)L_g_2cos2(x3) 3_+ 3x42L_1 sin2(x3)__(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 >m2 2 + Mm(3.39)dovemeMsono rispettivamente il massimo e minimo della funzione diGain(x) e` e limite superiore della funzione di Drift(x, Fx) contenente i termini incerti. Si noti inoltrecome 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` aun andamento molto simile a quello del controllo equivalente in Figura 3.7, ovvero sar` a unsegnale continuo.0 1 2 3 4 5 6 7 8 9 1030201001020time [sec]Variable State 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 risultatiRiportiamo ora i risultati numerici ottenuti dalla simulazione del sistema controllato mediante ilcontrollo combinato (3.28), (3.38). In Figura 3.13 possiamo la stabilizzare del sistema a partireda un angolo di 81, dove contemporaneamente ` e applicata una azione di disturbo Fx= 10 N.In Figura 3.14 possiamo analizzare invece il segnale di controllo per questa simulazione, dove3.3.1 Analisi dei risultati 390 1 2 3 4 5 6 7 8 9 1010050050100150time [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 soli8 secondi il sistema si stabilizzi senza ricorrere a forze eccessivamente grandi, infatti la forzamassima richiesta risulta circa la stessa richiesta dal backstepping control6per raddrizzare ilpendolo partendo da un angolo di 57, dove ora per` o oltre a partire da un angolo decisamentemaggiore siamo anche soggetti alla forza di disturbo Fx.Visti questi risultati, possiamo quindi dire che questo controllo risulta decisamente pi` u prestantedei 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 cheper x4< 0 ma grande, la (3.10) cambiasse segno in maniera non controllata cos` da far perderela condizione di sliding; ora questo problema non si pone dato che la (3.37) ` e sempre negativa.Perquantoriguardalasceltadei parametri del controllosi ` etrovatosperimentalmenteche = 10 e = 5 garantiva prestazioni pi ` u che soddisfacenti.6Vedi Figura (2.10).ConclusioniIn 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 qualisiano 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 qualila feedback linearization o il backstepping risultino molto prestanti; in particolare la seconda miha stupito nella sua facilit` a e rigorosit` a di implementazione, anche se ovviamente nella praticadifcilmente 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 allostesso tempo apprezzare la loro semplicit` a di sintesi e di analisi. Nellultima parte del lavoro poiabbiamo visto come il cos` detto controllo a struttura variabile (VSC) nelle sue varianti, risultistupefacente 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 direttamentesullesercizio del sistema.Voglio inoltre sottolineare il fatto che tutte queste tecniche possono essere anche combinate traloro, cosi da ottenere risultati pi ` u prestanti, come ad esempio nellultima trattazione del terzocapitolo, dove partendo da una feedback linearization e combinando a questa un VSC-STW si ` eriuscito ad ottenere una legge di controllo che garantiva lo swing-up dellasta quasi per tutto ilrange di valori per il quale la legge di controllo era denita, infatti si garantiva la stabilizzazionedel sistema anche per angolo prossimi a 84.Sulla base di tutte queste considerazioni possiamo quindi dire che le tecniche di controllo nonlineare 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 diprestazioni 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 statoportato 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 stabilizzazionedi sistemi instabili, o la ricerca della convergenza in tempo nito del sistema, risulta necessarioricorrere a tecniche non lineari. In particolare nel caso in cui non si abbia un sufciente grado diconoscenza del sistema la scelta diventa obbligata; in questi casi si pu` o optare o per il controlloa struttura variabile o per il controllo adattivo che sono entrambe tecniche di controllo di tiporobusto.Facciamo presente come inciso che negli ultimi anni, stanno richiamando parecchia attenzioneverso di s e una nuova classe di sistemi detti ibridi, i quali combinano i beneci dei sistemi aConclusioni 41tempo continuo con quelli dei sistemi ad eventi e che quindi possono permettere di raggiungereprestazioni 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 cheutilizzando i formalismi propri di tale classe, ` e possibile ottenere un sistema asintoticamentestabile mediante una opportuna legge di commutazione tra due sistemi che presentano dina-miche instabili singolarmente; anche la stabilizzazione del pendolo inverso a partire dalla suaposizione 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 manierache, se il sistema si trova in una zona esterna a2+ < 0| | , con > 0il controllo sar` a tale da portarlo in tale range, pur mantenendo ovviamente limitata la posizionedel carrello; quindi una volta portato il sistema in tale regione, scelta opportunamente la leggedi commutazione, cio e la coppia {, }, si potr` a commutare la legge di controllo e lasciare lastabilizzazione 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 distabilizzare 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 diconseguenza.Appendice AControllo ibrido del pendolo inversoIn 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 inprecedenza avevano la limitazione di essere denite esclusivamente in una porzione dello spa-zio di stato compresa tra2, mentre per quanto riguarda la possibilit` a di implementare unalegge stabilizzante globale per il nostro sistema mediante un controllo unico, in letteratura, aparte il backstepping control presentato nellarticolo [5], non sono presenti altri approcci validise non quello ibrido1.Lidea di base per implementare di questo controllo` e quella di perturbare il sistema, che sitrova inizialmente in x0=[0 0 0 ], in maniera tale da portare lasta del pendolo e quindi lostato del sistema nella sotto-regione dello spazio di stato dove successivamente potr` a intervenireuno qualsiasi dei controlli implementati nel terzo capitolo, cos` da permettere la convergenzaverso la condizione di equilibrio desiderata, tutto questo per` o cercando di mantenere limitata laposizione del carrello.Per far ci` o possiamo innanzitutto scegliere una legge di commutazione del tipocos() > cos() , con > 0| | 0(A.1)dove la coppia {, }, viene scelta in base al range di funzionamento del controllo scelto perla stabilizzazione asintotica del sistema.Per quanto riguarda invece limplementazione del controllo tale sollevare lasta del sistema, sipropone di utilizzare un approccio Lyapunov-Like di tipo energetico; vediamo ora di cosa sitratta.Come prima cosa riportiamo la struttura semplicata del nostro sistema, analoga alla (3.29)___ x1= x2 x2= x3= x4 x4=gLsin(x3) cos(x3)L(A.2)quindi dato che ci si era proposto di poter perturbare il sistema, mantenendo limitata la posizione1Si 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 ancoradimostrato le propriet` a di stabilit` a della dinamica interna di tale modello.43del carrello, allora si pu` o pensare di scegliere una legge di controllo parziale del tipo= q1 x1q2 x2 + w (A.3)con q1 e q2 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 sicomporti come un sistema lineare del secondo ordine stabile; rimane ora il problema di sceglie-re il controllo addizionale w.Per la scelta diw invece mettiamoci nella condizione in cui(x1, x2) siano nulle, ovvero stia-mo assumendo che il sotto-sistema carrello comunque converger` a a zero, quindi calcoliamolenergia associata esclusivamente al sistema pendolo, che possiamo vedere come una nuovauscitaperilnostrosistema. Essaavr` aovviamenteuncontributocineticoedunopotenzialecome riportato di seguitoEtot= Ecin + Epot=12mL2x24 + mgL(1 + cos (x3)) (A.4)dove come possiamo vedere Epot 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 ilnostro sotto-sistema pendolo privo di perdite (conservativo), questo tender` a a mantenere la suaenergia costante, ovviamente se supponiamo il sistema forzato gi` a a regime stazionario2. Percui avremo cheEcin + Epot= E(t) = E0, con E0= cost (A.5)ora derivando la (A.4) si ottieneEtot= mgl x4 cos (x3)w (A.6)Osservando questultima, possiamo notare che se w ` e positivo quando (x4 cos(x3)) < 0, allorail nostro ingresso sarebbe tale da fornire energia al sistema; proprio quello che ci aspettiamoavvenga quando il pendolo ` e nella sua posizione bassa, ovvero al suo minimo di energia. Si notiinoltre che per x4=0 o x3=2si perde per` o la capacit` a di controllare il sistema in quantolazione del controllo suEtot ` e ininuente.Calcoliamo allora il valore di energia che vorremo raggiungere, ovvero quello tale da averelasta del pendolo nella sua posizione verticale alta, che valeEdes= Etot|(x3=x4=0)= 2 mgL (A.7)Poich e vogliamo portare il sistema ad un livello di energia pari adEdes, per far ci` o potremosemplicementericorreadunsemplicecontrolloinretroazione,vediamoper` ocomedenirelingresso w tale da permetterci la regolazione desiderata. Inoltre dato che siamo interessati allaregolazione dellenergia del nostro sotto-sistema, dobbiamo anche assicurarci che questa nonpossa divergere in risposta ad un ingresso limitato come w. Per far cio proponiamo la seguentefunzione di LyapunovV=12 (EtotEdes)2(A.8)2Infatti questo ` e valido sempre per il sistema pendolo senza attrito autonomo, mentre nel caso di un pendoloforzato, ` e vero solo quando il sistema si muove di moto circolare uniforme, ovvero una volta che questo si ` e portatoa regime stazionario.44da cui derivando si haV= (EtotEdes)Etot= mgl (EtotEdes)x4 cos (x3)w (A.9)dalla quale si deduce che un segnale di controllo del tipow = q3(EtotEdes)x4 cos (x3) (A.10)con costanteq3>0 garantirebbe la semidenitezza negativa dellaVe quindi la limitatezzaenergetica del nostro sotto-sistema.Ora sulla base della conoscenza di VeVpossiamo quindi denire il seguente insieme invarianteR, sotto insieme dello spazio di stato XR =_(x3, x4) :V= 0_ == {(x3, x4) : x4= 0} _(x3, x4) : x3= 2_ {(x3, x4) : (EtotEdes) = 0} Xdove anche il punto verso il quale vogliamo stabilizzare il sistema, ovvero (0, 0) risulta appar-tenente adR, ma come detto in(0, 0) il controllo si annulla, per cui non siamo in grado dimantenere 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 desideratoEdes= E0= cost per via della non dissipativit` a del sistema.Per chiarire quanto accennato si osservino in Figura A.1 gli andamenti delle traiettorie (x3, x4)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 201050510x3 [rad]x4 [rad/sec]0 2 4 6 8 10 12 14 16 18 20024681012time [sec]Etot [J]Figura A.1: Andamento delle traiettorie (x3, x4) 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 soddisfare450 1 2 3 4 5 61086420246810time [sec]Variable State 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 430025020015010050050time [sec] Control Signal [N]Figura A.3: Andamento temporale del segnale di controllo ibrido.461 0 1 2 3 4 5 61086420246810x3 [rad]x4 [rad/sec]Figura A.4: Ritratto delle fasi del sotto-sistema pendolo.q1q2q3 10 30 10 /3 6.3Tabella A.1: Parametri del sistema.il raggiungimento del punto di equilibrio desiderato sfruttando le propriet` a di convergenza diquestultimo.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 successivemostriamo 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 sistemapilotate verso lo stato x0= [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 lamedesima simulazione.Elenco delle gure1.1 Pendolo inverso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Diagrammi di corpo libero del sistema asta-carrello. . . . . . . . . . . . . . . . 42.1 Il Segway. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Feedback Linearizzation IU con pole-placement. . . . . . . . . . . . . . . . . 152.3 Schema Simulink del regolatore che esegue la FL-IU. . . . . . . . . . . . . . . 162.4 Schema Simulink del processo Pendolo Inverso. . . . . . . . . . . . . . . . . . 162.5 Andamento temporale delle variabili di stato del sistema. . . . . . . . . . . . . 172.6 Andamento dei coefcienti della dinamica interna al variare di k. . . . . . . . . 202.7 Valori di k per cui si ottiene una zero dinamica stabile. . . . . . . . . . . . . . 202.8 Schema Simulink backstepping control. . . . . . . . . . . . . . . . . . . . . . 212.9 Risposta del sistema ad uno step di 12.1 m partendo da uno scostamento di 69. 212.10 Andamento temporale del segnale di controllo. . . . . . . . . . . . . . . . . . 223.1 Schema Simulink del sistema controllato con tecnica Twisting SMC. . . . . . . 283.2 Schema Simulink sottoblocco Internal Dynamic. . . . . . . . . . . . . . . . . 283.3 Schema Simulink sottoblocco Sliding Surface. . . . . . . . . . . . . . . . . . . 293.4 Schema Simulink sottoblocco Computing Block. . . . . . . . . . . . . . . . . . 293.5 Andamento temporale delle variabili di stato del sistema. . . . . . . . . . . . . 303.6 Andamento temporale del segnale di controllo. . . . . . . . . . . . . . . . . . 313.7 Andamento temporale del controllo equivalente. . . . . . . . . . . . . . . . . . 313.8 Andamento temporale delle variabili di stato della dinamica interna. . . . . . . 323.9 Twisting delle variabili di sliding nello spazio di stato. . . . . . . . . . . . . 323.10 Andamento temporale delle variabili di stato del sistema. . . . . . . . . . . . . 353.11 Andamento temporale del segnale di controllo. . . . . . . . . . . . . . . . . . 353.12 Andamento temporale della variabile s(x) e della variabile di sliding. . . . . . . 363.13 Andamento temporale delle variabili di stato del sistema. . . . . . . . . . . . . 383.14 Andamento temporale del segnale di controllo. . . . . . . . . . . . . . . . . . 39Elenco delle gure 48A.1 Andamento delle traiettorie (x3, x4) e dellenergia totale del sistema. . . . . . . 44A.2 Andamento temporale delle variabili di stato del sistema. . . . . . . . . . . . . 45A.3 Andamento temporale del segnale di controllo ibrido. . . . . . . . . . . . . . . 45A.4 Ritratto delle fasi del sotto-sistema pendolo. . . . . . . . . . . . . . . . . . . . 46Bibliograa[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 InvertedPendulum System, Automatic Control Conference.[8] A. Benaskeur, A. Desbiens (1998). Application of adaptive backstepping to the stabilizationof 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-pendulumsystem via quasi-homogeneous switched control, Alghero, Sardinia, Italy.[12] C. Aguilar (2002). Approximate Feedback Linearization and Sliding Mode Control for theSingle 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 42ndConferences 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, Dispensedi 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.