Proprietà
Knowledge Based Processing (If..Then…Else)
Motore inferenziale, o reasoning engine. Può
essere basato su diverse tecniche di supporto alla
decisione
Sistemi fuzzy: deterministici, non lineari e tempoinvarianti
Reti neurali
Ragionamento
Bayesiano
Logica booleana
Motore inferenziale
Logica euristica
(non deterministica)
(possibilistico)
“case based
reasoning”
Algoritmi genetici
Fuzzy logic
Ragionamento sfumato
Fig.1
DOVE SI APPLICA LA
FUZZY LOGIC
Incertezza nella relazione input-output
Casi di forte non linearità
In generale: ogni volta che il sistema presenta
un difficile approccio analitico.
Input
Sistema fuzzy
Output
Output
defuzzification
Input
fuzzification
Definizione classi e
funzioni di appartenenza
Grado di
appartenenza
alle classi
Valutazione
regole
Forza della
regola
Base delle
regole
Software
Fuzzificazione dell’input
Osservazione: l’ipotesi può non essere completamente vera (o falsa);
le sarà attribuito allora un grado di verità, dal quale dipenderà la misura
In cui verrà attuata la risposta relativa.
0.7
0.3
Come si effettua la trasformazione?
Input = dato rigoroso:
temp = 25 gradi Centigradi
Input fuzzy:
temp = tiepida con g.d.a. 0.7
temp = molto_fredda con g.d.a. 0.3
Suggerimento!
E’ consigliabile, ai fini della stabilità del controllo, definire le
membership function (mbf)in modo tale che la sommatoria dei gradi di
appartenenza (gda), per qualsiasi valore dell’input, sia sempre 1.
Come si realizza matematicamente?
Effettuo uno scanning dei valori estremi di ogni classe, ovvero
calcolerò il “gda” per le x che verificano:
limite_inf_class < x < limite_sup_class
Il calcolo del gda può essere, in alcuni casi, piuttosto complesso.
Ne è un esempio il metodo che utilizza la pendenza (slope) della mbf
corrispondente all’input considerato.
Calcolo della pendenza: x> oppure x < di (lim_sup-lim_inf)/2
Metodo della pendenza
1) gda = (x-lim_inf)*slope (se gda>max allora gda=max)
2) gda= (lim_sup-x)*slope (se gda >max allora gda=max)
Valutazione delle regole
Siamo ora in possesso di dati fuzzy, provenienti dal processo
di fuzzificazione.
Servono allora REGOLE in grado di fornirci output fuzzy, che siano
cioè in grado di attuare l’otput (anch’essi fuzzy) in misura proporzionale
al gda dell’input.
In altre parole, possiamo dire che
if (input n appartiene a classe k) then output m
appartiene a classe j con forza pari al grado di
appartenenza di n a k.
Regole pratiche
REGOLA 1: IF (A&&B) THEN X E Y
REGOLA 2: IF (C&&D) THEN X E Z
FORZA DELLA REGOLA 1= MIN(A,B)
=Y
FORZA DELLA REGOLA 2= MIN(C,D)
=Z
X=MAX(Y,Z) = MAX(MIN(A,B),MIN(C,D))
Dove:
A,B,C,D sono ipotesi del tipo “gda” di un input del sistema ad una
specifica classe, ed
X,Y,Z sono conseguenze intese come “gda” di un output ad una
particolare classe.
Defuzzificazione
Abbiamo bisogno di dati precisi (rigorosi) da restituire al sistema fisico,
dobbiamo cioè fare in modo che il controllore restituisca un valore
numerico.
La risposta fuzzy sarà del tipo
conseguenza1: out1 appartiene a classe2 con grado 0.6
conseguenza2: out1 appartiene a classe3 con grado 0.4
In apparenza il sistema fornisce risposte conflittuali.
Il problema viene risolto col “metodo del centro di gravità”, di cui si
è già accennato e che vedremo meglio attraverso le applicazioni.
Realizzazione del software
1) definizione delle classi per ogni variabile di ingresso
2) definizione delle classi per ogni variabile di uscita
3) definizione della forma delle membership function, ovvero
l’andamento del “gda”, e delle formule da usare per fuzzificazione e
defuzzificazione (decidendo anche se utilizzare una normalizzazione
dei dati)
4) definizione delle regole di base del motore decisionale
5) realizzazione del programma in modo che sia possibile aggiungere
regole e modificare i limiti delle classi molto facilmente.
6) Simulazione ed affinamento del programma tramite operazioni
successive di aggiunta/modifica di nuove regole e modifica delle
classi
APPLICAZIONI
NELL’AUTOMAZIONE
Il sistema Antilock Braking Systems
Il controllo della trazione
Cambio automatico e
risparmio nei consumi
ABS – sistema meccanico
• Introdotto da Boeing nel 1947. Difficoltà costruttive
(peso, ingombro) e costi ne impedivano lo
sviluppo in altri campi meccanici.
• Anni ‘80: nuove tecnologie permettono di migliorare
sensibilmente l’affidabilità del sistema ABS e
garantiscono costi e ingombri notevolmente
inferiori. Forte sviluppo in campo automobilistico
Considerazioni
S= differenza di velocità
tra l’auto e le ruote
Vcar - Vwheel
S=
Vcar
S=0: non freno
S=1: ruota bloccata
L’efficienza massima dipende dal fondo stradale; è evidenziata la zona di massimo controllo
Possibili Soluzioni
Soluzione classica: taratura su valori s=0.1, come compromesso;
bassa efficienza in relazione a diversi fondi stradali.
Accorgimenti meccanici:
Comandi sul cruscotto, attraverso i quali l’automobilista possa
selezionare il fondo più adatto. La variabilità del fondo stradale
e gli errori umani renderebbero il sistema poco efficiente.
Sensori: soluzione scartata dalle aziende costruttrici a causa
dell’eccessivo costo di sistemi sufficientemente efficienti.
Automazione intelligente:
il sistema, analizzando la risposta dell’autoveicolo, evince il tipo di
fondo e gestisce di conseguenza le valvole dell’impianto idraulico di
frenata, per elevarne l’efficacia.
Un sistema di sole 6 regole garantisce risultati migliori del sistema
tradizionale, riuscendo a riconoscere un cambiamento di fondo anche
durante la frenata.
Ad oggi nessuna casa pubblica ancora i risultati del proprio sviluppo,
per l’alta competitività in un campo che offre ancora ampi margini
di miglioramento.
In occidente, inoltre, spesso questo sistema non è pubblicizzato per la
connotazione negativa del termine fuzzy nella lingua inglese
(letteralmente “impreciso, sfumato”)
Controllo fuzzy
4WD: trazione inserita
ACCENS.: stato del motore
FEEDBACK: controllo dei
valori di stato
OMEGA: velocità angolari
di ogni singola ruota;
forniscono velocità
ed accelerazione del
veicolo
ABS - oggi
In dotazione sulla quasi totalità degli autoveicoli. Il minimo spazio
d’arresto non è più il solo parametro di giudizio:
•Prevenire bloccaggio delle ruote
•Conservare direzionalità del veicolo
•Scongiurare imbardate
•Recuperare (quando possibile) inizi di sbandata.
Osservazione: è un sistema dinamico non lineare, e come tale può
essere efficacemente gestito attraverso un sistema in logica fuzzy;
Nissan Mitsubishi forniscono ABS fuzzy di serie, ed anche Honda,
Mazda, Hyundai, BMW, Bosch, Mercedes-Benz e Peugeot stanno
sviluppando una analoga soluzione per le loro autovetture.
ABS - perchè fuzzy?
•
Sfrutto vantaggi controllo fuzzy in campi di non linearità
•
Alta efficienza computazionale: con processore a 16 bit, un
sistema fuzzy medio fornisce risposte in circa 0.5 ms , utilizzando
solamente 2KB di memoria ROM
7 rules,
2in1out
0.22 ms
20 rules,
2in1out
0.33 ms
80 rules,
2in1out
0.50 ms
Alcuni sistemi richiedono velocità dell’ordine di 0.1 ms.
In tal caso si “traduce” il sistema fuzzy in un sistema look-up, che
richiede però una quantità di memoria sensibilmente più elevata.
Quali sono le cause di non linearità?
-coppia frenante disomogenea, dovuta alle variazioni di temperatura e
quindi di efficienza dell'intero impianto, in particolare del fluido usato
per trasmettere la forza (olio freni o aria)
- fondo stradale variabile
- diversità dei pneumatici e del coefficiente di attrito da modello a
modello
- usura dei pneumatici
- variazione della geometria delle sospensioni e quindi dell'impronta a
terra e del modo in cui la gomma "lavora"
CONTROLLO DELLA TRAZIONE
La gestione ottimale del motore, attraverso il controllo dell’iniezione
e della combustione, dipende strettamente da valori di stato istantanei;
per questo i sistemi fuzzy hanno superato i sistemi di controllo PID
(o, meglio, vengono integrati in sistemi ibridi).
Non esiste, infatti alcun modello matematico che possa descrivere
efficacemente il comportamento di un motore.
La conoscenza delle regole fuzzy implementate in un progetto rende
trasparente l’esatto comportamento del controllo; per questo, non si
trova alcuna pubblicazione in merito da parte di case costruttrici.
Il controllore della NOK Corporation
(gruppo Nissan)
Raccolta variabili di stato
Le variabili di stato, che descrivono il comportamento istantaneo
del sistema, vengono raccolte in una variabile linguistica, alla quale
corrisponde un array, ad esempio {0.8; 0; 1; 0; 0; 0.3}, che verrà gestito dal fuzzy.
linguistic variable Situation {
Term 1: Start
Control strategy is that the cold engine runs smooth. Ignition is
timed early, and the mix is fat;
Term 2: Idle
Control ignition timing and fuel injection depending on engine
temperature to ensure that the engine runs smooth;
Term 3: Normal drive, low or medium load
Maximize fuel efficiency by meager mix, watch knocking;
Term 4: Normal drive, high load
Fat mix and early ignition to maximize performance. The only
constraint is the permitted emission maximum;
Term 5: Coasting
Fuel cut-off, depending on situation;
Term 6: Acceleration
Depending on load, fattening of the mix }
LINGUISTICAMENTE:
Motore azionato da poco, condizioni di guida normali e con carico medio-basso,
accelerare un po’
CAMBIO AUTOMATICO
Inizialmente aveva 3 sole velocità, e l’alimentazione era appena
sufficiente a garantire l’avanzamento.
Con motori più potenti si è alzato a 5 (6) velocità, e sicuramente un
buon parametro di scelta è l’ottimizzazione del consumo, cioè la
gestione “intelligente” dell’alimentazione.
Esempio: ho una velocità di 70 kmh;
•un cambio a 3 velocità dovrà utilizzare il secondo rapporto
•una trasmissione a 5 rapporti e con un motore potente dovrà scegliere:
- la seconda per l’accelerazione massima,
- la terza per condizioni di guida normali
- la quarta per accelerazione minima.
Osservazioni
Esistono allora risultati discordanti, a seconda che io preferisca
enfatizzare la performance o, piuttosto, ottimizzare il consumo.
Questo non dipende da un modello matematico ma, per es., dal traffico o
dall’esperienza.
I sistemi di automazione intelligente sono in grado di evincere, attraverso
parametri rilevati durante la guida, quale siano la guida desiderata
dall’automobilista: una guida sportiva o, al contrario, una economica.
La Nissan introdusse la trasmissione fuzzy per prima, nel 1991, seguita
dalla Honda (’92) e GM(’93), venendo in seguito adottata altre case
costruttrici.
Controllo a 5 rapporti
Con un cambio standard si terrebbe sempre la 4°, mentre il cambio
automatico utilizza anhe la 5° marcia, ma non solo:
-Evita guida “nervosa” in curva
-Intuisce qual’è il tipo di guida adottata dall’automobilista
-Evita sprechi di carburante, nel caso in cui la marcia inferiore
non possa comunque garantire una accelerazione maggiore
Come si intuisce il tipo di guida?
Il controllore fuzzy osserva non solo la velocità:
-molte “variazioni del pedale” nel periodo indicano una strada veloce, con curve;
-poche “variazioni del pedale” nel periodo indicano una strada veloce e dritta;
-molte “variazioni del pedale” nel periodo, di grossa entità, indicano una strada lenta e a curve
-variazioni medie del pedale indicano strada veloce con curve
-piccole variazioni del pedale indicano strada veloce senza curve
Nota: sto utilizzando l’automobilista come sensore!
Il sistema riconosce la soddisfazione dell’automobilista e se
necessario adatta la risposta.
Sono infatti stati studiati i comportamenti inconsci dell’autista in diverse situazioni,
scoprendo, per es, che si tende a trattenere premuto il pedale dell’acceleratore per 1-1.5 s
più a lungo del normale quando non si è soddisfatti delle prestazioni; al contrario accade
che si tolga il piede dall’acceleratore sensibilmente prima del necessario (e
frequentemente) quando si desideri una guida meno dispendiosa.
Perché fuzzy?
-Le regole sono dettate dall’esperienza, adattandosi meglio alle
esigenze specifiche in un determinato istante
-Posso utilizzare moltissime variabili senza “appesantire” il
supporto hardware, in quanto queste vengono analizzate e
gestite solamente quando necessario
-Evidenti vantaggi in termini di costi di realizzazione
CONTROLLO DELLA STABILITA’
ABS: migliora la frenata, evitando il bloccaggio delle ruote
attraverso la gestione della coppia frenante applicata e
garantendo spazi di arresto ridotti
CONTROLLO DELLA TRAZIONE: ha le stesse
funzioni dell’ABS, inoltre la gestione dell’alimentazione
massimizza l’accelerazione e ottimizza il consumo di
pneumatico.
Antiskid Steering System: controllo della sterzata, impedendo
eventuali sbandate. Il sistema è tutt’oggi in via di sviluppo.
ASS, lo sviluppo
Studio effettuato su
auto Audi modificata e
sul prototipo in figura.
Motore elettrico da 1hp, rapporto potenzapeso simile ad un’auto da corsa: le simulazioni
forniranno dati relativi al comportamento in situazioni limite.
Alcuni dati di progetto
• lunghezza prototipo 20”
• motore elettrico da 1hp, che rende il rapporto peso/potenza
simile a quello di un’auto da corsa; la simulazione darà quindi
risultati relativi ad utilizzo in condizioni estreme
• raggiunge velocità di 20mhh in 3.5s
• velocità massima di 50mph
• sospensioni indipendenti
• freni a disco
• utilizza la scheda madre di un notebook 286, da 20MHz,
che gestisce i sensori e gli attatori
• 3 sensori ad ultrasuoni (distanza) per determinare la presenza
di ostacoli nelle tre direzioni di moto
• 4 sensori alle ruote per determinare le velocità
• “loop di controllo” della durata di 10ms
3 sensori ad
ultrasuoni
Un test superato
grazie ai sensori.
Decide rapidamente per una
brusca sterzata, l’ASS
stabilisce l’angolo max di
sterzata in relazione al fondo
stradale, evitando
contemporaneamente
l’ostacolo e la sbandata
Il sistema a 200 regole
Note sul controllore a 200 regole
E’ il primo controllore fuzzy di un’auto, opera su 4 variabili e
risulta essere quindi un controllore “semplificato”, che opera
a velocità basse e non presenta così problemi di controllo della
stabilità.
Il sistema a 600 regole
Note sul controllore a 600 regole
Sistema a due fasi di controllo fuzzy:
• La prima, valuta le variabili di stato:
- le condizioni di posizione attraverso i sensori ad ultrasuoni
- le condizioni di sbandata e slittamento attraverso i sensori
di velocità
• La seconda, utilizza queste stime come input per un secondo
sistema fuzzy che generi la migliore azione di controllo:
- le regole del blocco superiore forniranno l’angolo
di sterzata ottimale,
-il blocco centrale gestirà il motore (potenza erogata)
- l’ultimo, la coppia frenante.
Conclusioni
Controllo del tutto simile al comportamento umano:
valutazione delle condizioni di operatività, quindi analisi delle
condizioni al contorno e sintesi di una risposta efficiente in
tempi brevi.
Le 600 regole non appesantiscono il sistema, essendo divise in 6
blocchi gestiti in modo indipendente.
Questo modello è la sintesi di ABS, Traction control ed Antiskid
Steering System.
Scarica

controllo della trazione