Proprietà Knowledge Based Processing (If..Then…Else) Motore inferenziale, o reasoning engine....
-
Upload
drina-spinelli -
Category
Documents
-
view
213 -
download
0
Transcript of Proprietà Knowledge Based Processing (If..Then…Else) Motore inferenziale, o reasoning engine....
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 tempo-invarianti
Fig.1
Motore inferenziale
Fuzzy logicRagionamento sfumato
“case based reasoning”
Logica euristica (non deterministica)
Ragionamento Bayesiano(possibilistico)
Algoritmi geneticiLogica booleanaReti neurali
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 Output
Definizione classi e funzioni di appartenenza
Input fuzzification
Outputdefuzzification
Grado di appartenenza
alle classiValutazione
regole
Forza della regola
Base delleregole
Sistema fuzzy
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 misuraIn 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.7temp = 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.
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
Come si realizza matematicamente?
1) gda = (x-lim_inf)*slope (se gda>max allora gda=max)
2) gda= (lim_sup-x)*slope (se gda >max allora gda=max)
Metodo della pendenza
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
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.
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))
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.6conseguenza2: 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=Vcar - Vwheel
Vcar
S= differenza di velocità tra l’auto e le ruote
S=0: non freno
S=1: ruota bloccata
L’efficienza massima dipende dal fondo stradale; è evidenziata la zona di massimo controllo
Soluzione classica: taratura su valori s=0.1, come compromesso; bassa efficienza in relazione a diversi fondi stradali.
Possibili Soluzioni
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.
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.
Automazione intelligente:
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
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.
ABS - oggi
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
20 rules,2in1out
80 rules,2in1out
0.22 ms 0.33 ms 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.
-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"
Quali sono le cause di non linearità?
CONTROLLO DELLA TRAZIONELa 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 statoLe 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: StartControl strategy is that the cold engine runs smooth. Ignition istimed early, and the mix is fat;Term 2: IdleControl ignition timing and fuel injection depending on enginetemperature to ensure that the engine runs smooth;Term 3: Normal drive, low or medium loadMaximize fuel efficiency by meager mix, watch knocking;Term 4: Normal drive, high loadFat mix and early ignition to maximize performance. The onlyconstraint is the permitted emission maximum;Term 5: CoastingFuel cut-off, depending on situation;Term 6: AccelerationDepending on load, fattening of the mix }
LINGUISTICAMENTE:Motore azionato da poco, condizioni di guida normali e con carico medio-basso, accelerare un po’
CAMBIO AUTOMATICOInizialmente 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.
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.
Osservazioni
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, impedendoeventuali 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
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
3 sensori ad ultrasuoni
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.