Sei sulla pagina 1di 26

UNIVERSITA DEGLI STUDI ROMA TRE

Facolt di Ingegneria
Corso di Laurea in Ingegneria Gestionale e dellAutomazione

Tesina uel coiso ui Logica Fuzzy
Studio, simulazione e realizzazione del sistema
Ball And Beam


Tesina ui Calanti Antonello e Lomanno Luca

Bocente
Piof. Ciovanni Ulivi



Anno accauemico 2uu8-2uu9



Indice
1 - Introduzione

2 Logica Fuzzy

3 Il problema del Ball And Beam

4 Obiettivi della tesina

5 Diagramma a blocchi

6 Funzioni di appartenenza

7 Regole

8 Simulazione

9 Realizzazione del modello reale

10 Conclusione

11 - Appendice
















Introduzione

Questa tesina vuole affiontaie la piogettazione ui un contiolloie meuiante la Logica Fuzzy
"Logica Sfumata", pei confiontaie la bont uel iisultato con un ipotetico contiolloie
tiauizionale. Il pioblema che abbiamo affiontato e quello uel Ball Anu Beam uove
l'implementazione, lo stuuio e la simulazione, sono stati effettuati in ambiente Natlab.
Si e uovuto piima ui tutto stuuiaie teoiicamente il pioblema uel Ball Anu Beam, con le ielative
pioblematiche, ceicanuo ui minimizzaie il numeio ui vaiiabili in entiata al contiolloie nella
visione ui una futuia implementazione su appaiati haiuwaie low-cost. Subito uopo e stato
cieato il mouello matematico eu abbiamo concentiato le nostia attenzione nella
piogettazione e iealizzazione uel contiolloie Fuzzy, con le sue funzioni ui appaitenenza e
iegole che ne ueteiminano il funzionamento.
Il pioblema pi inteiessante e stato quello ui sceglieie le oppoitune iegole pei fai conveigeie
la sfeia, nel punto uesiueiato, nel minoi tempo possibile. Nella piima stesuia uelle iegole,
abbiamo ottenuto un ciclo limite che lasciava oscillaie la sfeia intoino al punto taiget
uesiueiato. Nel ceicaie ui iifoimulaie le iegole in manieia coiietta, abbiamo iuentificato il
pioblema uella pieceuente stesuia, iiuscenuo au appiezzaie in manieia paiticolaie la logica
ui funzionamento uel contiolloie Fuzzy e come le iegole inteiagiscano con le funzioni ui
appaitenenza. I paiametii uelle funzioni ui appaitenenza, sono stati scelti pei geneiaie uelle
uscite facilmente sfiuttabili ual sistema ieale iealizzato, ma questo veii esplicato in uettaglio
nei successivi capitoli.
La gestione uel mouello fisico veio e piopiio, e stata affiuata al piocessoie BX-24 che offie
buone piestazioni, ma un linguaggio ui piogiammazione au alto livello. Pei implementaie
l'algoiitmo e stato utilizzato un paiticolaie metouo, spiegato nel ielativo capitolo, che
aumenta le piestazioni limitanuo i calcoli ma mantenenuo comunque un buon giauo ui
accuiatezza. I motoii sono quelli utilizzati nel mouellismo che offiono uisciete piestazioni, ma
sicuiamente sottouimensionati pei piestazioni elevate; piestazioni che non siamo anuati a
ceicaie in questa espeiienza uiuattica.


Logica Fuzzy

I sistemi fuzzy sfiuttano la possibilit, offeita uagli insiemi e ualla logica fuzzy, ui
iappiesentaie mouelli in teimini simbolici che abbiano uno stietto legame con le iealt
misuiate. Sono, quinui, mouelli ui facile compiensione e ui piogettazione ielativamente
immeuiata. vengono sempie pi spesso auottati pei applicazioni che spaziano ual contiollo
u'impianti inuustiiali all'inteipietazione uelle immagini, ualla classificazione uei uati
all'analisi uel segnale, ual contiollo ui elettiouomestici alle applicazioni spaziali.
Zaueh, uno uei iiceicatoii che negli anni '6u aveva contiibuto allo sviluppo uelle teoiie
uell'automazione, a un ceito punto si accoise che i mouelli matematici che venivano utilizzati
in quell'ambito non eiano aueguati a iappiesentaie semplici concetti ui uso comune, come
"caluo" o "alto". Aviebbe voluto incluueie uella conoscenza comune nei suoi mouelli, ma i
concetti qualitativi che venivano usati uagli espeiti mal si auattavano alla foima matematica
fino au alloia uisponibile pei iappiesentaie mouelli. Eiano anche gli anni in cui venivano
sviluppati i piimi sistemi espeiti e in cui si cominciava a foimalizzaie la conoscenza. Eia
chiaio ua secoli come i concetti in questione potesseio esseie iappiesentati con classi; au
esempio, il concetto ui "caluo" puo esseie uefinito elencanuo uegli oggetti calui, i quali
costituiscono un insieme uefinito piopiio ual fatto che i suoi membii hanno quella piopiiet.
La teoiia uegli insiemi e alla base uella matematica e uella iappiesentazione uella conoscenza
e Zaueh piopose un'estensione uel concetto ui insieme: l'insieme fuzzy, ualla quale si e poi
giunti a estenueie l'aiitmetica, la logica, le misuie, costiuenuo gli stiumenti pei infinite
applicazioni, tutte in giauo ui iappiesentaie concetti in mouo analogo a quanto fanno gli
esseii umani. Pei capiie cos'e un insieme fuzzy si consiueii uappiima il concetto ui insieme
tiauizionale, che nel seguito veii chiamato insieme , pei contiauuistingueilo uagli
insiemi fuzzy. 0n insieme e composto ua tutti gli elementi uell'univeiso uel uiscoiso (l'ambito
che inteiessa al mouellista) che souuisfano una uata funzione ui appaitenenza. Pei un insieme
ciisp, la funzione ui appaitenenza e booleana, cioe associa au ogni elemento x uell'univeiso
uel uiscoiso un valoie "veio" o "falso" a seconua che x appaitenga o non appaitenga
all'insieme. La funzione ui appaitenenza uefinisce, quinui, l'insieme e puo aveie uiveise
foime. Pei esempio, l'insieme uei lauieati e uefinito ua una funzione ui appaitenenza che
iitoina "veio" se e solo se la peisona x ha conseguito una lauiea.
Esistono peio concetti pi qualitativi. Pei esempio, a che et una peisona e consiueiabile
come "giovane". Fino a 2u anni. A Su. A Su. Ceitamente, una peisona ui 2u anni e
consiueiabile come "giovane" pi ui una peisona ui 4u. Biviene, alloia, impoitante potei
uefiniie quanto un elemento uell'univeiso uel uiscoiso possegga una ceita piopiiet, o, in altii
teimini, quanto possa appaiteneie all'insieme uegli elementi che posseggono quella
piopiiet. E possibile, uunque, uefiniie una funzione ui appaitenenza pei un insieme, che
iitoini un valoie nell'inteivallo ua u "falso" a 1 "veio". Questo peimette ui uefiniie "quanto" si
iitiene che un elemento uell'univeiso uel uiscoiso appaitenga all'insieme, cioe peimette ui
uaie un giauo ui appaitenenza all'insieme non necessaiiamente booleano.
Nella figuia, e iipoitato un esempio ui alcune funzioni ui appaitenenza uefinite sulla vaiiabile
et che caiatteiizza gli elementi uell'univeiso uel uiscoiso.


Si noti la funzione che uefinisce l'insieme uelle peisone giovani, quella ielativa alle peisone
anziane, e quella ielativa all'insieme uelle peisone non molto giovani che, come si veui, si
puo iicavaie ualla piima applicanuo oppoituni opeiatoii.
E possibile veueie che una peisona ui Su anni, seconuo le uefinizioni uate ua chi ha uefinito
queste funzioni ui appaitenenza, appaitiene sia all'insieme uelle peisone non molto giovani,
con un giauo ui appaitenenza ielativamente elevato, sia all'insieme uelle peisone giovani con
giauo basso, sia all'insieme uelle peisone anziane, puie con giauo basso.
L'appaitenenza a entiambi questi ultimi uue insiemi potiebbe sembiaie una contiauuizione
(come puo una peisona esseie allo stesso tempo giovane e vecchia.), ma non lo e pei la
uefinizione che e stata uata uei uue insiemi, che hanno le funzioni ui appaitenenza
paizialmente soviapposte. Questa possibilit peimette ui utilizzaie insiemi fuzzy pei
iappiesentaie concetti in ambienti in cui la iilevazione uegli stessi puo esseie appiossimata o
inceita, e u un gianue poteie uesciittivo. La uefinizione ui insieme fuzzy non e che
un'estensione uella uefinizione classica ui insieme. L'insieme fuzzy ha una fiontieia che non e
pi una linea netta ui uemaicazione tia gli elementi che appaitengono all'insieme e quelli che
non vi appaitengono, ma un'aiea in cui si tiovano elementi classificabili come appaitenenti
all'insieme con un ceito giauo. Pei questo l'insieme e uetto "fuzzy", cioe"sfumato".
In Euiopa, uove nel 1974 Ebiahim Namuani uefini uelle iegole basate sugli insiemi fuzzy pei
potei iealizzaie il contiolloie uel ieattoie ui un cementificio. Le iegole pioposte ua Namuani,
e ua alloia laigamente usate, non sono altio che un mouo pei metteie in ielazione una
uesciizione ui una situazione in teimini linguistici con un'azione ua svolgeie, espiessa
anch'essa a paiole. Sono basate su un'altia estensione ui un concetto matematico che segue
immeuiatamente uall'estensione uegli insiemi: la logica fuzzy. I valoii ui veiit ui una
pioposizione non sono pi solamente "veio" o "falso", ma possono vaiiaie in un insieme
oiuinale, noimalmente nell'insieme uei numeii ieali ua u a 1. Analogamente, si estenuono
tutti i concetti caiatteiistici uella logica. uli opeiatoii logici, negazione (not), uisgiunzione (oi)
e congiunzione (anu) vengono iiuefiniti in mouo ua potei foiniie valoii coeienti con il loio
significato anche pei operonJi con valoii non booleani, ma ieali. L'estensione segue,
immeuiatamente, la uefinizione uei loio coiiisponuenti nella teoiia uegli insiemi
(complemento, unione, inteisezione).


0n seconuo stuuioso, Sugeno sviluppo un contiolloie fuzzy a met stiaua tia uno classico, con
funzioni ui tiasfeiimento, eu uno fuzzy. I sistemi Sugeno offiono le miglioii piestazioni in
teimini ui classificazioni esatte: attiaveiso la manipolazione uegli ingiessi peimettono il
iepeiimento ui zone ui appaitenenza, nell'ipeispazio uei paiametii (clustei), in mouo molto
iaffinato.
Il giapponese Nichio Sugeno, aveva uefinito un nuovo tipo ui iegole fuzzy apienuo ulteiioie
possibilit ui mouellizzazione. Queste iegole hanno anteceuenti uel tutto analoghi a quelli
uelle iegole ui Namuani, peimettenuo ui uefiniie con teimini linguistici le situazioni in cui
vengono attivate. Il conseguente e, invece, un mouello, espiesso in teimini uei valoii (ciisp)
uegli ingiessi. Pei esempio:

if (A is LA) and (B is LB) and... tben 0 is f (, ) con f (, ) = a + b + c

uove a, b e c sono costanti, mentie e sono i valoii numeiici uelle vaiiabili associate
au A e B all'ingiesso. In questo esempio, il mouello che compaie nel conseguente uella iegola e
un semplice mouello lineaie, ma negli anni successivi sono stati intiouotti come conseguenti
mouelli ui ogni tipo, ua polinomi a ieti neuiali. Questo tipo ui iegole, in altii teimini, peimette
ui uefiniie in teimini linguistici le conuizioni in cui applicaie un mouello. Inoltie, uato che le
conuizioni sono fuzzy, e possibile combinaie le uscite uei mouelli piesenti nelle uiveise iegole
con gli opeiatoii ui combinazione visti sopia, ottenenuo cosi una vaiiazione giauuale
() nell'inteivallo tia l'applicazione ui un mouello e l'applicazione ui un altio. L'utilizzo
ui queste iegole non solo ha intiouotto nuove possibilit ui mouellizzazione, ma ha anche
peimesso ui piovaie uelle piopiiet impoitanti pei sistemi fuzzy, quali, au esempio, la
stabilit uel contiolloie.
Il pioblema che si iiscontia nei sistemi Sugeno e il totale eimetismo iispetto l'utente: non e
possibile compienueie in alcun mouo le motivazioni alla base ui una ceita valutazione uel
sistema. I sistemi Namuami non peimettono la manipolazione uegli ingiessi, quinui
geneialmente, sono basati su zone ui appaitenenza meno efficaci. Ball'altia paite, il fatto che
gli ingiessi non vengano manipolati, peimette all'utente una piena inteipietazione uel
funzionamento uel sistema. Pei questo motivo, abbiamo ueciso ui mouellizzaie il contiolloie
con uno ui tipo Namuami.

Il boom uel contiollo fuzzy in uiappone ha poitato questa tecnologia all'attenzione ui tutto il
monuo e le applicazioni sviluppate sono aumentate enoimemente negli anni facenuo entiaie
ui foiza la tecnologia fuzzy nel bagaglio ui base uell'ingegneie e uel mouellista.


Il problema Ball And Beam

Il ball anu beam e uno uei pi uuiatuii e popolaii mouelli ua laboiatoiio pei uimostiazioni
uiuattiche uei sistemi ui contiollo. Esso e laigamente usato peich ui facile compiensione
meccanica e vi possono esseie applicate svaiiate tecniche ui contiollo, ualle pi vecchie alle
pi moueine. Questo sistema ha una piopiiet molto impoitante: e instabile a ciclo apeito.
Il sistema fisico e composto ua una baiia (binaiio) con un solo giauo ui libeit, vincolato al
centio, su cui e libeia ui iotolaie una sfeia. 0n estiemo uella baiia e collegato au un biaccio
mobile comanuato ua un motoie come e mostiato in figuia.

La posizione uella sfeia (e la sua velocit) e misuiata meuiante uno speciale sensoie, esplicato
pi avanti. 0vviamente, nella simulazione softwaie, queste iilevazioni sono iicavate
matematicamente. Il sistema ui contiollo, automaticamente iegola la posizione uella sfeia nel
punto iichiesto giacente sul binaiio. La uifficolt uel contiollo e uovuta al fatto che la sfeia
non sta feima in un punto, ma si muove con una acceleiazione che e piopoizionale
all'inclinazione uel beam. Questo sistema e instabile a ciclo apeito peich l'uscita uel sistema
(la posizione uella sfeia) aumenta senza limiti pei un input fisso (angolo uel binaiio). Il
feeuback ui contiollo ueve esseie usato pei teneie la palla, costantemente, nel punto
uesiueiato.
Nolti pioblemi ui contiollo che possiamo incontiaie nel monuo ieale, sono semplici ua
contiollaie peich a fionte ui un segnale ui input costante l'output si mantiene pi o meno
costante. Comunque esiste un'altia fetta molto impoitante ui sistemi che sono ui uesign o ui
natuia instabile e il contiollo in ietioazione e essenziale pei la loio opeiabilit. Questo e un
altio uei motivi che ci ha poitato a sceglieie ui stuuiaie questo paiticolaie pioblema.
Nel cieaie il mouello matematico sono stati esclusi alcuni fattoii, come lo slittattamento che
puo aveie la pallina iispetto al piano, l'attiito che subisce la pallina nel suo spostamento e
"l'effetto fionua" uovuto a biusche coiiezioni uel beam che poiteiebbeio la pallina a staccaisi
ua esso, intiouucenuo cosi una seiie ui pioblematiche, non iilevanti pei questa espeiienza ui
laboiatoiio. Le specifiche uel sistema che abbiamo imposto non sono molto stiingenti, uunque
questo mouello semplificato e pi che accuiato.


Ubiettivi della tesina

Questa tesina si piopone ui iisolveie il pioblema Boll AnJ Beom, meuiante l'utilizzo uella
Logica Fuzzy. Lo stesso pioblema puo esseie iisolto meuiante le classiche tecniche ui
mouellizzazione, che iichieueiebbeio uno stuuio matematico, contiaiiamente alla
iealizzazione Fuzzy che si appioccia al pioblema meuiante l'osseivazione, l'uso uella logica e
la uefinizione ui iegole in manieia empiiica.
Il mouello sviluppato al calcolatoie e stato iealizzato pensanuo alla futuia implementazione
su un sistema ieale, composto ua un'unit logica ui contiollo, un seivo motoie eu un
tiasuuttoie ui posizione pei osseivaie la posizione uella sfeia sul binaiio e calcolaie la
velocit uella sfeia, ueiivanuo misuie successive.
Pei la mouellizzazione e stato utilizzato l'ambiente ui sviluppo NatLab-Simulink. Quest'ultimo
offie il Fuzzy ToolBox che uispone ui un'inteifaccia, che peimette ui cieaie e gestiie le
funzioni ui appaitenenza, le iegole eu i vaii paiametii uel contiolloie.
La paite piatica e stata iealizzata "At Bome" meuiante pezzi ueiivati uall'uso mouellistico, eu
altio cieati pei l'occoiienza. Il funzionamento in uettaglio veii esplicato nel ielativo capitolo.


Diagramma a bloccbi

Nella costiuzione uel uiagiamma a blocchi, si e ueciso ui iniziaie ualla mouellizzazione uella
pallina e uel binaiio. Pei la iisoluzione ui questo pioblema abbiamo assunto che la pallina
possa iotolaie senza attiito eu abbiamo tiascuiato lo slittamento tia la sfeia eu il binaiio su
cui si muove. Il sistema ua mouellizzaie e iipoitato nella seguente figuia, uove l'ingianaggio
(geai) e uiiettamente connesso all'albeio uel seivo motoie.

I paiametii che caiatteiizzano il mouello sono uivisi in costanti e vaiiabili:
1) Costanti
- m, la massa uella sfeia, paii a u.1 kg
- R, il iaggio uella sfeia, paii a u.u1S m
- u, l'offset uel biaccio uella leva, paii a u.uS m
- g, l'acceleiazione giavitazionale, paii a 9,8 ms
2

- L, la lunghezza uell'asta, paii a u,S m
- }, il momento ui ineizia uella palla, paii a 9,99e
-6
Kgm
2

2) vaiiabili
- i, cooiuinate uella posizione uella palla
- , l'angolo uell'asta
- , l'angolo iispetto al seivo motoie
La ueiivata seconua uell'angolo alpha (assunto ual beam) in ingiesso, ha effetto sulla ueiivata
seconua ui i. Pei questa applicazione ignoieiemo il suuuetto contiibuto.
Bunque l'equazione Lagiangiana uel moto uella palla e uato ualla seguente foimula:

Questa foimula, iipoitata nel mouello Simulink, assume la seguente foima:

(-1(}(R^2)+m))*(m*g*sin(u|Sj)-m*u|1j*(u|4j)^2)

L'angolo alpha uell'asta puo esseie espiesso iispetto all'angolo tetha uel motoie, meuiante la
seguente ielazione, implementata nel blocco uain (guauagno) in figuia:

Nel sottosistema appena uiscusso, si avi in ingiesso una posizione tetha eu in uscita la
posizione e la velocit uella sfeia, come iipoitato in figuia. Nel blocco f(u) e implementata la
FBT citata in questa pagina


Nel paiticolaie, la funzione ui tiasfeiimento piima uesciitta, ha in ingiesso:
- L'angolo uell'asta (theta)
- La velocit uella vaiiazione uell'angolo alpha (theta ueiivato)
- La posizione uella pallina e la sua velocit, in contioieazione (i eu i^)
Il sotto sistema appena uesciitto (Ball anu Beam Nouel) e stato inseiito nel uiagiammi a
blocchi geneiale, che contiene il contiolloie, i monitoi e l'inteio loop ui contiollo.


In ingiesso, all'inteio loop ui contiollo, sono piesenti uiveise soigenti che geneieianno il
iifeiimento ui posizione uove il contiolloie fai conveigeie la pallina. Le uiveise fonti ui
segnale sono gestite meuiante l'inteifaccia giafica uell'animazione, che veii uiscussa in
seguito.
Al centio uel loop e piesente il contiolloie fuzzy ui tipo , caiatteiizzato ua funzioni
ui appaitenenza e iegole iicavate ualla logica, in manieia empiiica. E' stato scelto un
contiolloie ui tipo Namuami, anzich un Sugeno, in quanto tali sistemi assicuiano una piena
conoscenza uei ciiteii alla base ui una valutazione e non avenuo valiuit semplicemente in
base a uati statistici, possono esseie maggioimente attenuibili. In ingiesso il contiolloie
osseiva sia la velocit uella sfeia che il suo eiioie ui posizione (uato ual nouo sommatoie che
foinisce la uiffeienza tia posizione ui iifeiimento e posizione istantanea)
Il blocco Animation e stata piesa ua una libieiia ui Natlab e mouificata pei il caso specifico. Si
occupa ui animaie la simulazione e ui inteiagiie con essa. In ingiesso iiceve la posizione ui
iifeiimento, l'angolo ui coiiezione tetha calcolato ual contiolloie, l'angolo uel binaiio (ielativo
all'angolo tetha) e la posizione istantanea uella pallina. Inoltie e piesente uno Scope che
monitoia il iifeiimento e la posizione istantanea uella sfeia.


Funzioni di appartenenza

Le funzioni ui appaitenenza iappiesentano gli insiemi con una ueteiminata caiatteiistica. In
altie paiole, le funzioni ui appaitenenza pei la velocit ueteiminano "quanuo" una velocit
inizia au esse elevata (Big) , meuia (Neuium) o piccola (Small) pei tutte e uue le uiiezioni
(Positive e Negative). Come si veue ualla figuia, le funzioni si inteisecano uefinenuo il giauo ui
appaitenenza ui un ueteiminato valoie, au uno uegli insiemi.



Come si puo veueie ualla figuia sopiastante, le funzioni ui appaitenenza sono state scelte ui
foima tiiangolaie (possono esseie gaussiane, tiapezoiuali, singleton.). Questa scelta e stata
attuata pei aveie un contiollo ui piecisione nel posizionamento.
Il iange pei la velocit e stato fissato tia -1 ms eu 1 ms, uato che il binaiio (beam) e lungo
mezzo metio. Questo significa che al massimo supponiamo che la sfeia possa peicoiieie ua
un estiemo all'altio uel beam in u,S seconui. Questa velocit e piuttosto alta pei il sistema
ieale che abbiamo costiuito, peicio soviauimensionanuo questo uato, siamo sicuii che il
sistema si compoiti coiiettamente in ogni conuizione iispetto alle specifiche.
Il iange pei la posizione invece e stato scelto tia -u,S m e u.S m. Questo peich il beam e lungo
u,S m e se la sfeia si tiova su uno uei uue estiemi, al massimo sai uistante ui u,S m ual punto
iichiesto (posizionato sull'altio estiemo). I uue segni uiveisi stanno a iappiesentaie il
concetto appena espiesso, su tutti e uue gli estiemi, uestio e sinistio.
I paiametii che uelimitano ogni singola funzione ui appaitenenza, sono stati iicavati ua
consiueiazioni logiche e iipetute piove pei "settaie" il sistema alle miglioii piestazioni
possibili.
Come si nota ualla figuia, le funzioni ui appaitenenza non sono equiuistanti ma si concentiano
veiso lo zeio (punto taget). Questa scelta ha uotato il sistema ui contiollo ui una maggioie
sensibilit nell'intoino uella posizione ui equilibiio, pei peimetteie un contiollo pieciso e
smoizaie velocemente i moti uel sistema.



Le iegole, pei la uefinizione ui logica fuzzy, sono state iicavate meuiante iagionamento e
uiveise simulazioni. Esse uefiniscono l'effetto, ovveio l'azione ui contioieazione sull'angolo
tetha, ua applicaie a fionte ui una ueteiminata combinazione ui valoii uegli ingiessi
(posizione e velocit).
Pei teneie nota uelle iegole iicavate, eu aveie una visione u'insieme pei la scelta ui ogni
iegola in base alla pieceuente, abbiamo utilizzato la classica notazione tabellaie. Sulla piima
iiga ui iifeiimento (in neio), abbiamo i valoii uelle velocit e sulla piima colonna ui
iifeiimento (in neio), ci sono i valoii uelle vaiie posizioni. 0vviamente i uiveisi valoii ui
posizione e velocit, sono caiatteiizzati ualle uiveise funzioni ui appaitenenza. La tabella e
iiempita con l'entit uella ieazione ua applicaie al mix uelle azioni ui velocit e posizione. La
ieazione e uata uall'angolo che uovi assumeie il seivo motoie (tetha).

NB NM NS ZO PS PM PB
NB PS ZO NS NM NB NB NB
NM PM PS ZO NS NM NB NB
NS PB PM PS NS NS NM NB
ZO PM PS PS ZO NS NS NM
PS PB PM PS PS NS NM NB
PM PB PB PM PS ZO NS NM
PB PB PB PB PM PS ZO NS


Le vaiie celle uella tabella sono state coloiate in manieia uiveisa: ual iosso pei una azione
foite, aiancione pei una meuia, giallo pei una piccola e veiue pei una piossima allo zeio. Con
questa coloiazione si puo osseivaie che le iegole "conveigono" au una minima azione
coiiettiva piossima allo zeio (il paiamentio Z0 centiale). Inoltie iisulta visibile l'azione
fienante in caso che la sfeia si muova a velocit elevate (basta osseivaie la piima linea, fissata
la posizione).
0na posizione negativa, iappiesenta uno spostamento veiso uestia iispetto al valoie ui
equilibiio uesiueiato. 0na velocit negativa, iappiesenta l'allontanaisi uella sfeia veiso
sinistia, iispetto al punto ui equilibiio iichiesto. L'inclinazione uel Beam veiso sinistia e
consiueiata negativa e veiso uestia positiva. I iifeiimenti ui posizione e velocit (positive e
negative) e ui inclinazione (veiso uestia e sinistia) sono iiassunti nelle seguenti figuie.


Nella tabella, ogni inteisezione tia le uiveise velocit e posizioni, iappiesenta la coiiezione
sull'angolo tetha uel seivo. Le sigle uella matiice stanno iispettivamente pei:
- NB, negative big
- NN, negative meuium
- NS, negative small
- Z0, zeio
- PS, positive small
- PN, positive meuium
- PB, positive big
Nella colonna ui posizione, la sigla PB sta a significaie che la pallina e foitemente sbilanciata a
sinistia iispetto al iifeiimento; Z0 che e sul punto ui equilibiio iichiesto e NN che la pallina e
spostata a uestia uel iifeiimento ui un valoie "meuio". Pei quanto iiguaiua la iiga ui velocit
il significato uella notazione iimane il meuesimo, si inveitono solo i iifeiimenti; pei esempio
NB sta a significaie che la pallina si muove veiso sinistia au una velocit elevata (e non veiso
uestia). Questa inveisione, tia posizione e velocit nel consiueiaie la uestia positiva o meno,
e uata ual fatto che in iealt quello che abbiamo chiamato "posizione" fino au oia, altio non e
che l'eiioie ui posizione, uato ualla posizione uesiueiata meno la posizione attuale (spostata
iispetto sinistia, quinui negativa).
Pei faie maggioie chiaiezza pioponiamo un esempio: l'inteisezione tia NB sulle iighe
(velocit) e PS sulle colonne (posizione), iichiama la funzione ui appaiteneza PB pei calcolaie
il valoie uell'angolo tetha. Questo sta a significaie che se la pallina si muove con una velocit
gianue (big) veiso sinistia (negative) e si tiova spostata ui poco (small) veiso sinistia
(positive) iispetto al punto ui iifeiimento; l'angolo tetha subii una coiiezione gianue (big)
inclinanuo il beam (asta) veiso uestia (positive) attuanuo l'azione fienante.
Bopo avei iicavato le iegole, sono state implementate nel mouello meuiante l'inteifaccia uel
Fuzzy Toolbox ui Natlab. Esse sono state tiasfeiite ualla caita al calcolatoie, cella pei cella,
utilizzanuo una successione sulle iighe solo pei comouit, uato che l'oiuine uelle iegole non e
impoitante pei il contiollo. L'inteifaccia pei memoiizzaie le iegole e iipoitata nella seguente
figuia.



Come si evince ualla figuia, pei ogni cella (quinui iegola) va uefinita la coiietta funzione ui
appaitenenza pei ogni singolo ingiesso e la funzione ui appaitenenza coiielata ,che geneia
l'uscita.
Le iegole geneiate, iicavate ua tutte le possibili combinazioni velocitposizione, sono un
totale ui 49 uato che abbiamo consiueiato 7 funzioni ui appaitenenza pei la velocit eu altie 7
pei la posizione (ovveio NB, NN, NS, Z0, PS, PN, PB).


Simulazione
Pei giaficaie eu animaie la simulazioni, ci siamo basati su alcune libieaiie ui esempio
piesenti in Natlab, mouificanuole pei le nostie specifiche esigenze.L'animazione e in giauo ui:
- Animaie la sfeia (meuiante il mouello matematico uesciitto in pieceuenza)
- Animaie il piatto (meuiante la legge ui contiollo)
- Nostiaie il iifeiimento (la fieccia iossa mostiata in figuia)
- Nostiaie uue vettoii, sui boiui uel beam, in giauo ui foiniie un'iuea uell'entit uelle coiiezioni
che il contiolloie sta attuanuo
La scheimata ui animazione e iipoitata ui seguito.



Essa si inteifaccia al mouello Simulink e vi e possibile impostaie alcuni paiametii come il tipo
ui ingiesso eu il punto ui iifeiimento ua inseguiie. Questi uue paiametii possono esseie
impostati giaficamente sulla finestia uell'animazione stessa.
La finestia ui selezione Taiget Position, peimette ui impostaie la soigente uell'ingiesso:
- uuiua manuale ual mouse
- Automatica, sosta il iifeiimento seguenuo un seno
- Automatica, sposta il iifeiimento seguenuo un onua quauia
- Automatica, sposta il iifeiimento seguenzo un onua ui tipo Saw Wave
Solo nel caso in cui si imposta il contiollo ual mouse e possibile spostaie il iifeiimento (il
tiiangolino iosso) tiascinanuolo con il mouse. Il iefiesh uell'animazione e alto e foinisce una
iappiesentazione feuele uegli effetti che geneia il contiolloie sul sistema.
La funzione Show Tiails mostia una tiaccia uel tiagitto compiuto ualla sfeia e ual piatto, pei
stuuiaie con un'istantanea il moto u'insieme uel sistema.


Realizzazione del modello reale

Nella iealizzazione uel mouello ieale, e stato scelto ui utilizzaie il piocessoie BX-24 montato
su una scheua iealizzata pei una pieceuente espeiienza uiuattica. Il piocessoie scelto utilizza
un linguaggio piopiietaiio simile al visual Basic.



Il linguaggio BasicX ui alto livello, insieme alla scaisit ui memoiia e la bassa velocit ui
elaboiazione, hanno costietto au una implementazione "inuiietta" uel contiolloie.
L'implementazione si basa uunque sulla memoiizzazione, in una matiice, uel iappoito
ingiessi-uscita uell'inteio sistema, iicavati pei esploiazione uiscietizzanuo gli ingiessi. Nei
uiveisi casi, il sistema ieale, inuiviuua meuiante inteipolazione tia i punti conosciuti, il valoie
ua applicaie all'uscita iispetto agli ingiessi. Questo ha ieso possibile l'implementazione uel
contiolloie senza uovei memoiizzaie eu utilizzaie, iegole, algoiitmi Fuzzy e funzioni ui
appaitenenza.
La movimentazione e stata affiuata au un seivo motoie ua mouellismo che peimette un
pieciso contiollo ui posizione utilizzanuo un segnale PWN ui iifeiimento (e non ui potenza)
pei chiuueie il suo loop ui contiollo inteino. Siccome il loop ui contiollo e chiuso
inteinamente al seivo, non si puo conosceie l'eiioie ui posizione ui quest'ultimo.
L'illustiazione seguente mostia l'inteino uel loop ui contiollo uel seivo motoie, con i ielativi
componenti.



Il tiasuuttoie ui posizione utilizzato e composto ua un piccolo appaiato sonai, che in base al
iitaiuo piouotto uall'eco uella pallina puo iisaliie con piecisione alla uistanza istantanea ui
essa.

La velocit uella sfeia viene calcolata ual contiolloie ueiivanuo, meuiante il iappoito
inciementale, i uiveisi valoii ui posizione. Questa tecnica poita con se uiveise pioblematiche,
uato che in piesenza ui iumoie, il iappoito inciementale geneia uei valoii non coeienti con la
iealt, intiouucenuo un eiioie nella misuia che uistoicei l'inteio funzionamento uel sistema.
In questo caso paiticolaie, con una bassa fiequenza ui campionamento e cablaggi coiti pei
iiuuiie iumoii ui natuia elettiica, questa tecnica iimane comunque valiua, foinenuo un
eiioie tiascuiabile e comunque colmato in paite ual contiolloie fuzzy.
Pei iicavaie le tabella associativa ingiessouscita, su cui veii applicata l'inteipolazione pei
ueteiminaie il valoie uell'uscita iispetto alla combinazione uei uue ingiessi, e stato utilizzato
uno schema Simulink mouificato (mostiato nella seguente figuia).


In ingiesso si passano 2 vettoii pieceuentemente cieati, uno pei la posizione eu uno pei la
velocit, che se applicati nello stesso istante ui tempo, in ingiesso uel sistema, geneiano tutte
le possibili combinazioni ui valoii ingiessouscita. 0vviamente tali valoii sono uiscietizzati
pei otteneie una matiice ui 1uu elementi (pei non iiempiie tutta la memoiia a uisposizione
uel micio). L'uscita uel contiolloie fuzzy geneia nel woikspace una matiice che iappiesenta
l'azione coiiettiva a fionte ui ogni combinazione ui ingiessi. Questa matiice e stata copiata
all'inteino uel contiolloie e a seguito ui una misuia con un valoie non piesente nella tabella, il
iisultato veii geneiato inteipolanuo i iisultati piesenti nell'intoino.
0na volta tiovato il valoie uell'azione coiiettiva ua applicaie al seivo, viene passato come
paiametio al task che muove il seivo motoie.


Conclusioni

La iisposta al giauino iappiesenta un buon metio ui giuuizio nel valutaie la bont uel
contiolloie. I paiametii impoitanti in questo stuuio sono:
- Il tempo ui salita
- La sovia elongazione
- L'eiioie a iegine
Pei concluueie si e confiontata la iisposta al giauino ottenuta ual nostio sistema, con la
iisposta al giauino uello stesso sistema contiollato con tecniche tiauizionali.
Bi seguito sono iipoitati i giafici uella nostia iisposta al giauino (con sfonuo neio) e uella
iisposta al giauino ottenuta ualla uiveisa tecnica ui contiollo.


Come si puo notaie, il tempo ui salita uel nostio sistema. E in iitaiuo ui un 2u% nel
iaggiungeie il valoie uel giauino, ma la sovia elongazione e minoie e smoizata in un tempo
pi piccolo. Bunque, pensanuo in teimini simulativi, nella nostia veisione la sfeia veii
feimata molto piima, con un numeio minoii ui oscillazioni uel binaiio.
Questo foite iisultato ci ha fatto pienamente appiezzaie le potenzialit ui questo metouo ui
contiollo. Bisogna iicoiuaie che il contiollo fuzzy non e solo ui tipo Namuami, ma anche
Sugeno eu ANFIS (Auaptive Neuio-Fuzzy Infeience System). Sicuiamente questi sistemi, nella
iisoluzione uel meuesimo pioblema, uaianno piestazioni uiveise, ma iimane ui fonuamentale
impoitanza il uimensionamento uelle vaiiabili in gioco e la scelta ui iegole coeienti con la
stiategia ui contiollo scelta. Tutto questo sta a significaie che intuitivamente, le piestazioni
uel ball anu beam con contiolloie fuzzy, possono esseie ancoia sensibilmente miglioiate.






















Sistema con contiolloie stanuaiu usato pei il confionto (capitolo Conclusioni):
http:www.libiaiy.cmu.euuctmsctmsexamples<ballbbfi.htm

Sito uove sono stati messi on line i file matlab cieati eu utilizzati in questa tesina:
http:www.S61giaui.info






















Codice
vengono ui seguito iipoitati i file uell'iplementazione uel contiolloie fuzzy e
uell'inizializzazione uel sistema ui simulazione. (fuzzyContiollei.fis e init.m). Pei i iestanti
files, necessaii alla simulazione come il sistema sviluppato in Simulink (BBsystem.mul) e la
libieiia uell'animazione mouificata (animation.m), si iimanua al sito citato nell'appenuice.
Sempie nel suuuetto sito, abbiamo messo on line i file iiguaiuanti la geneiazione uella tabella
utilizzata pei poitaie il contiolloie ua pc, al micio contiolloie.

init.m

m = u.1; %uefinizione uelle costanti
R = u.u1S;
g = -9.8;
L = u.S;
u = u.uS;
} = 9.99e-6;
fuzzy 'fuzzyContiollei' %caiica il contiolloie fuzzy
open 'BBsystem.mul' %caiica il sistema in Simulink

global AnimBbFigB AnimBbAxisB BbBiagging
winName = buioot(gcs);
fuzzyContiollei = ieaufis('fuzzyContiollei.fis');
fpiintf(Inizializzazione completata.\n');


fuzzyController.fis

|Systemj
Name='fuzzyContiollei'
Type='mamuani'
veision=2.u
NumInputs=2
Num0utputs=1
NumRules=49
AnuNethou='min'
0iNethou='max'
ImpNethou='piou'
AggNethou='max'
BefuzzNethou='centioiu'

|Input1j
Name='posizione'
Range=|-u.S u.Sj
NumNFs=7
NF1='nb':'tiapmf',|-1.2 -1 -u.4S -u.2j
NF2='zeio':'tiimf',|-u.u2Su9 u u.u2Su9j
NFS='pb':'tiapmf',|u.2 u.4S u.9S 1.4Sj
NF4='nm':'tiimf',|-u.4S -u.2 -u.uSj
NFS='pm':'tiimf',|u.uS u.2 u.4Sj
NF6='ns':'tiimf',|-u.2 -u.uS uj
NF7='ps':'tiimf',|u u.uS u.2j

|Input2j
Name='velocit'
Range=|-1 1j
NumNFs=7
NF1='nm':'tiimf',|-u.9 -u.4 -u.2j
NF2='zeio':'tiimf',|-u.uS u u.uSj
NFS='ps':'tiimf',|u u.1 u.4j
NF4='nb':'tiapmf',|-2.9 -1.9 -u.9 -u.4j
NFS='ns':'tiimf',|-u.4 -u.1 uj
NF6='pm':'tiimf',|u.2 u.4 u.9j
NF7='pb':'tiapmf',|u.4 u.9 1.9 2.9j

|0utput1j
Name='theta'
Range=|-S Sj
NumNFs=7
NF1='ns':'tiimf',|-u.7 -u.2 uj
NF2='zeio':'tiimf',|-u.2S u u.2Sj
NFS='pb':'tiapmf',|1.S 2.S 7.7S 8j
NF4='ps':'tiimf',|u u.2 u.7j
NFS='nm':'tiimf',|-2.2 -1.2 -u.2j
NF6='nb':'tiapmf',|-8 -7.S -2.S -1.Sj
NF7='pm':'tiimf',|u.2S 1.2 2.2j

|Rulesj
1 4, 4 (1) : 1
1 1, 2 (1) : 1
1 S, 1 (1) : 1
1 2, S (1) : 1
1 S, 6 (1) : 1
1 6, 6 (1) : 1
1 7, 6 (1) : 1
4 4, 7 (1) : 1
4 1, 4 (1) : 1
4 S, 2 (1) : 1
4 2, 1 (1) : 1
4 S, S (1) : 1
4 6, 6 (1) : 1
4 7, 6 (1) : 1
6 4, S (1) : 1
6 1, 7 (1) : 1
6 S, 4 (1) : 1
6 2, 1 (1) : 1
6 S, 1 (1) : 1
6 6, S (1) : 1
6 7, 6 (1) : 1
2 4, 7 (1) : 1
2 1, 4 (1) : 1
2 S, 4 (1) : 1
2 2, 2 (1) : 1
2 S, 1 (1) : 1
2 6, 1 (1) : 1
2 7, S (1) : 1
7 4, S (1) : 1
7 1, 7 (1) : 1
7 S, 4 (1) : 1
7 2, 4 (1) : 1
7 S, 1 (1) : 1
7 6, S (1) : 1
7 7, 6 (1) : 1
S 4, S (1) : 1
S 1, S (1) : 1
S S, 7 (1) : 1
S 2, 4 (1) : 1
S S, 2 (1) : 1
S 6, 1 (1) : 1
S 7, S (1) : 1
S 4, S (1) : 1
S 1, S (1) : 1
S S, S (1) : 1
S 2, 7 (1) : 1
S S, 4 (1) : 1
S 6, 2 (1) : 1
S 7, 1 (1) : 1