Pages: [1]   Go Down
Author Topic: PID e Fuzzy Logic  (Read 462 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Sr. Member
****
Karma: 2
Posts: 377
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Leggendo il topic " Cercasi Volontari Per Automazione Camera Fermentazione "Birra" Con Arduino", dove ci si propone di usare un paio di controlli PID mi è venuto in mente che circa 15 anni fa era scoppiata la moda della Fuzzy Logic applicata ai controlli. All'epoca leggevo di prestazioni migliori dei PID proprio nei controlli di temperatura ma oggi vedo che i PID ci sono ancora e della Fuzzy Logic non si parla più.

La Fuzzy Logic è fallita oppure ci sono altri motivi per cui i PID sono ancora i controlli dominanti?


Edit:
Manco a dirlo che qui
http://forum.arduino.cc/index.php?topic=124827.msg938258#msg938258
spunta una libreria Fuzzy!
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9186
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

La Fuzzy Logic è fallita oppure ci sono altri motivi per cui i PID sono ancora i controlli dominanti?

La logica Fuzzy non è fallita, però gli attuali mcu/micro consentono tali prestazioni che non ha più senso "impazzirsi" per implementare la fuzzy su un sistema puramente booleano.
Il PID credo sia la forma di controllo automatico più vecchia esistente, i primi erano meccanici, poi sono arrivati quelli analogici e infine la versione digitale.
Sicuramente il PID è l'algoritmo di controllo più diffuso in assoluto perché consente una "semplice" implementazione con un buon controllo, ovviamente non può essere impiegato in tutte le tipologie di controllo, ha i suoi limiti, però non ha senso usare algoritmi più complessi se le prestazioni ottenibili dal PID sono soddisfacenti per l'applicazione.
Il classico esempio del controllo temperatura con PID, praticamente il caso più semplice possibile, fa capire perfettamente come non abbia senso usare strumenti più complessi quando il limite è il sistema stesso da controllare.
Logged

Cagliari, Italy
Online Online
Tesla Member
***
Karma: 103
Posts: 6578
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

x iscrizione
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

0
Offline Offline
Sr. Member
****
Karma: 2
Posts: 377
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

astrobeed,
grazie per la tua risposta, immaginavo che saresti stato il primo  smiley

Io non l'ho mai usata per davvero, ho letto alll'epoca il libro "Il Fuzzy pensiero" di Bart Kosko, che ha implicazioni che vanno oltre la logica dei controlli, ho usato qualche programmino di esempio ma niente più. Lo stesso Kosko sembra non scrivere più libri sull'argomento dagli anni 90.

Ho trovato invece questo post
http://it.emcelettronica.com/perch%C3%A9-logica-fuzzy-%C3%A8-stata-fallimento (se disattivate javascript evitate la fastidiosa richiesta a tempo di abbonamento!)
e fra i commenti ce ne sono alcuni interessanti. Io pensavo che processory Fuzzy come l'stfive non ce ne fossero più e invece sembra che l'Omron li produca ancora anche se ha rimosso la parola Fuzzy perché sembra ci sia un problema culturale. Inoltre pare che detenga un centinaio di brevetti in proposito che impedirebbero l'uso commerciale della tecnologia ad altre aziende.

Sul fatto che sia più complessa da implementare non saprei, non avendo usato seriamente né i controlli Fuzzy né i PID.
Logged

Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 74
Posts: 2460
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

... i primi erano meccanici ...

Se riesci ad inserirlo nello sketch del micro, te ne regalo uno (meccanico) ... ma poi mi fai vedere come lo infili nel micro, ok ? ... smiley-razz smiley-lol smiley-lol smiley-lol

Seriamente, ma e' una mia impressione, o piu i PID si evolvono tecnologicamente (meccanico > analogico > digitale), piu diventano complessi incasinati ? ... ci si aspetterebbe il contrario, per logica ...
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9186
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Seriamente, ma e' una mia impressione, o piu i PID si evolvono tecnologicamente (meccanico > analogico > digitale), piu diventano complessi incasinati ? ... ci si aspetterebbe il contrario, per logica ...

In realtà il PID digitale è più semplice da implementare di quello analogico e meccanico, in tutti i casi serve conoscere la teoria che c'è dietro col vantaggio che quello digitale è solo software da scrivere, che per sua natura è facilmente modificabile/aggiornabile, mentre con gli altri due c'è molto lavoro "manuale" per costruirli e se devi fare una variazione potrebbe rivelarsi un "grosso" problema.
Da qualche parte ho ancora delle schede controller per motori DC con pid analogico e tanti bei trimmer per regolare i vari parametri smiley
Logged

Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 74
Posts: 2460
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Heh, mi ricordo quelle che usavamo noi ... trimmer per tutto quanto, rampe, ritardi, compensazioni, curve, e una manciata di operazionali abbondante smiley-razz smiley-lol
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Offline Offline
Edison Member
*
Karma: 11
Posts: 1490
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In realtà il PID digitale è più semplice da implementare di quello analogico e meccanico

relativamente più semplice, un PID fondamentalmente e' un filtro e come tale e' figlio di una bilaterale trasformata Z applicata su una trasformata di Laplace applicata ad una equazione differenziale sul continuo con forti ipotesi di derivabilita' e/o assenza di singolarità', e deve valere almeno il teorema di Dini oltre che almeno la classe C1

tutto ciò porta a dire che dal punto di vista matematico e' più facile descrivere la funzione di trasferimento di un PID in S (trasformata di laplace di una equazione differenziale in t), usando a scelta un combo criterio di Nyquist (angolo e fase critica nel piano di gauss), luogo delle radici, e/o diagramma di bode (con metodo spannometrico tra diagramma fase e modulo, con considerazioni varie, analoghe ai metodi precedenti)

In Z e' molto più complessa la faccenda, non solo la bilaterale e' assunta quasi stabile partendo dalla trasformata Z di una funzione di trasferimento in S stabile (il che ha ipotesi molto + stringenti di quelle assunte in t, difatti si tende a richiedere C-infinito), ma deve anche poi scontrarsi con la quantizzazione, faccenda che perturba la posizione degli zeri sul cerchio unitario in Z, faccenda che tira dentro la mera implementazione a cominciare dal formato numerico con cui si processa, per arrivare al condizionamento e/o alla propagazione dell'errore causato dalla quantizzazione, arrotondamenti, troncamenti, annullamenti e quant'altro affligge sia il fixed point che il floating point.

questo dal punto di vista matematico, dal punto di vista pratico invece … o c'e' un software che analizza i casini di cui sopra e si smazza lui la costruzione dei taps che compongono il PID (ma anche o meglio un FIR, IIR), oppure … bisogna considerare a mano le conseguenze dell'implementazione, tipicamente si tende ad infilare l'algoritmo + o - stabile sul micro per poi smanettarci in vari modi con procedure + o - manuali/automatiche di calibrazione, il tutto pero' lascia scoperte potenziali aree di malfunzionamento, ed e' qui che il Fuzzy controller e' un pelo meglio per il motivo che assorbe direttamente l'esperienza di chi lo codifica

dalla fuzzification alla defuzzification infatti agiscono le rules codificate proprio dall'esperienza di chi scrive l'algoritmo, ed e' una esperienza diretta guardando in faccia il problema, cosa che invece nella trafila di trasformate da S a Z rischia di perdersi nei vari giochetti matematici e che nell'approccio "smanettamento" rischia di restare non coperta.

e' questo il bello del fuzzy, secondo me.
Logged

Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 74
Posts: 2460
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...  figlio di una bilaterale trasformata Z applicata su una trasformata di Laplace applicata ad una equazione differenziale sul continuo con forti ipotesi di derivabilita' e/o assenza di singolarità', e deve valere almeno il teorema di Dini oltre che almeno la classe C1 ...

Ecco il bello della semantica, dove "semplice" puo d'improvviso assumere una connotazione totalmente nuova ed inaspettata ... smiley-razz smiley-lol smiley-lol smiley-lol
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Offline Offline
Edison Member
*
Karma: 11
Posts: 1490
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

eh, lo so, e' il gergo matematichese che spiazza, anche se in realta' e' semplice, p.e. "classe C1" significa che la funzione e' derivabile almeno 1 volta  smiley-mr-green
Logged

Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 74
Posts: 2460
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sara' per quello che a scuola in matematica avevo 6 e mezzo scarso, 7 quando andava di lusso smiley-razz

In compenso un mio amico si metteva a calcolarsi cose tipo "insiemi transfiniti di classi di insiemi infiniti con cardinalita' superiore" (non chiedermi cosa sono, io sono rimasto alle cose semplici come il teletrasporto quantico smiley-razz) come passatempo, quando si annoiava ... una volta ha pure cercato di spiegarmi la teoria, ma mi e' venuto mal di testa dopo cinque minuti e qualche pagina di formule alchemiche smiley-eek-blue smiley-eek-blue smiley-eek-blue
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Offline Offline
Edison Member
*
Karma: 11
Posts: 1490
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

anche per me e' lo stesso, difatti il succo del discorso e' con l'approccio fuzzy ti puoi dimenticare di parte del complicatume matematico, riuscendo per altro a gestire situazioni non ben chiare o quantomeno dubbie.
Logged

0
Offline Offline
Sr. Member
****
Karma: 2
Posts: 377
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Del libro di Kosko ricordo l'esempio del controllo di un elicottero che perde una pala.
Logged

Offline Offline
Edison Member
*
Karma: 11
Posts: 1490
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

L'esempio + bello e' l'algoritmo fuzzy che deve decidere quanto e' sporca la biancheria giudicando quanto e' sporca l'acqua nel cestello, il tutto per decidere quanto strapazzarla!

e' un classico esempio sfuocato che vanta tante e tante applicazioni negli elettrodomestici
Logged

Pages: [1]   Go Up
Jump to: