Progettazione elettronica e sviluppo di sistemi per automazione
industriale, programmazione firmware, software e PLC
 
   
  Azienda Servizi Contatti Articoli Download Links
 
 
 
 
   
 
 
 
 
 

In questa sezione potete trovare alcuni esempi per comprendere meglio quali possano essere le appllicazioni di quanto avete fino ad ora appreso. Sono stati presi in considerazione due problemi apparentemente banali per la mente umana, la cui interpretazione è alquanto complessa in logica binaria. Questa difficoltà  nasce dalla necessità  di considerare contemporaneamente diverse variabili il cui stato non si limita ai due valori convenzionali della logica binaria (vero o falso), ma possono acquisire infiniti stati intermedi.

Per ovviare al problema si sono implementati algoritmi fuzzy che, come spiegato in precedenza, sono quelli che riescono ad approssimare nel modo migliore la mente umana.


Consideriamo il primo esempio: il problema del parcheggio

L'obiettivo è quello di far parcheggiare al calcolatore un autovettura in retromarcia; le variabili di input (o variabili di stato) del problema, che vengono assegnate dall'utente, sono la posizione (x,y) e l'orientazione dell'auto. Nel simulatore SmartParking® la possibile posizione dell'autovettura varia da (0,0) a (360,294).

Una volta inseriti i valori, ci basta premere il pulsante "Simula" per far partire la simulazione che provvederà , basandosi su regole fuzzy, a parcheggiare l'auto in retromarcia nel parcheggio. Il tasto " Step" consente il controllo della simulazione passo-passo, mentre "Soluzione" consente di configurare in modo ottimale la matrice delle regole per portare a termine il problema. E' doveroso ricordare che se l'auto non ha spazio di manovra, e tenta di uscire dal parcheggio, la simulazione viene interrotta; questo può succedere non perchè la logica utilizzata è in un qualche modo errata, ma perchè l'auto è vincolata al potersi muovere solo in retromarcia con angoli di sterzata limitati come in un caso reale. E' possibile, inoltre, modificare la tabella delle regole su cui si basa il movimento della macchina. A questo proposito è necessario soffermarsi brevemente sul come è stata realizzata la suddetta matrice, e come viene utilizzata dal simulatore. Nello sviluppo delle regole Fuzzy, viene valutata la posizone x dell'auto (la y viene trascurata) e il suo orientamento; le regole sono quindi del tipo:

"Se x è molto a sinistra del parcheggio e l'angolo è sud ovest allora sterza di un piccolo angolo positivo"
ovvero:
IF x is S AND a is SO THEN a is a+PP
Dove "a" è l'orientamento della macchina.

Qui di seguito riportiamo la matrice delle regole e i fuzzy sets delle variabili di stato:

Il controllore fuzzy si basa su tre stadi:

  1. Fuzzificazione
  2. Controllo
  3. Defuzzificazione
Fuzzificazione

La fuzzificazione consiste nella conversione dei valori di input (che nel nostro caso sono posizione ed orientamento) in valori linguistici con un grado di membership che può essere dato come nel nostro caso da funzioni triangolari; per la variabile "posizione" abbiamo definito cinque sets (vedi figura), per "angolo" sette.

Controllo

Per ogni regola "if then" definita viene computato il grado di applicabilità  della stessa dato dal minimo tra i due valori di membership delle variabili.

Defuzzificazione

La defuzzificazione consiste nella riconversione di valori linguistici di output in valori crisp; quetso viene effettuato tramite la regola del controide che, nel nostro caso, è facilmente schematizzabile nel seguente modo:

Dove zi è il grado di applicabilità  della regola e fi è il valore centrale della funzione di mebership.

 

Indietro   Avanti
 
 
 
 
   

 
Copyright © 2008 Autech di Fabbri Andrea
  AddMe.com, Search Engine Submission and SEO