Go Down

Topic: PID, Ziegler & Nichols et Fussy Logic (Read 17016 times) previous topic - next topic


zoroastre

#61
Nov 04, 2014, 07:30 pm Last Edit: Nov 04, 2014, 07:34 pm by zoroastre
Bonjour,

J'avais étudié grossièrement la logique floue pour la régulation de mon chauffage centrale. Je me suis rapidement attelé à shématiser tout çà sous forme de tableau excel en donnant à chacun de mes paramètres un poids donnant plus ou moins d'importance au résultat final. Au final, j'avais repris le principe d'une régulation pragmatique, puisque le logique floue ne peut réellement se soustraire à cet aspect.

J'aimerais beaucoup savoir comment vous coder vos fonctions en logique floue.


Je m'étais amusé avec le logiciel Fudge à l'époque :
http://www.cs.ucsb.edu/~alex/fudge/


[EDIT] Oups! Le lien n'existe plus. Je mets le logiciel en lien (écrit en C).

@+

Zoroastre.
Gné! ;)

icare

Bonsoir zoroastre,
La logique floue est un domaine vaste et plusieurs techniques existent. J'explique en partie le principe dans le tuto en cours de rédaction.(tuto provisoire)
La partie logiciel est la plus facile, la difficulté réside dans le coté "expert" tant au niveau des règles proprement dites et dans la définition des plages de fonctionnement. Toute régulation est impactée par la physique du dispositif (inertie, rapidité, ...) et du degré de précision à atteindre. Personnellement, je vise + ou - 2% qui au niveau des PID est déjà très contraignant. Le réglage des régulateurs PID est le royaume du compromis. ;)
La suite du tuto a pris un peu de retard car il faut acquérir le coté "expert" par des essais et surtout la compréhension des phénomènes. Mais je pense que d'ici quelques jours je pourrai reprendre la suite de la rédaction.
Pour le contrôle du fonctionnement, j'utilise également une feuille de calcul (libreOffice) et pour le traçage des courbes 3D, GnuPlot est venu à mon secours.
Tu trouveras, en joint, le fichier R03.ino qui me sert de logiciel de test.
@+

P.S. : Si tu as des questions précises, n'hésite pas de les poser car le sujet est vraiment passionnant.
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

zoroastre

Bonjour,

Merci Icare pour le partage.

Cela va bien au delà de ce que j'avais entrepris, je m'étais contenté pour ma part de décrire des règles simples correspondantes au fonctionnement que je voulais atteindre, les contraintes étaient facilement maîtrisables : Etablir les règles linguistiques était donc suffisant pour mon projet.

Je confirme que c'est un sujet passionnant, mais franchement pas évident à vulgariser lorsque l'on rentre dans les formulations et opérations.

Fin bref!
Il ne reste plus qu'à associer tout ça avec un réseau de neurone  :P

@+

Zoroastre.
Gné! ;)

icare

Bonjour,
Il ne reste plus qu'à associer tout ça avec un réseau de neurone  :P
Pourquoi pas !!!
Mais c'est une autre affaire  :smiley-mr-green:
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

Go Up