Comment concevoir un contrôleur de logique floue
Les contrôleurs à logique floue sont, littéralement, tout autour de nous. Des systèmes de freinage antiblocage aux machines à laver qui nettoient nos vêtements. Mais fonctionnent-ils vraiment ? Et quels sont les avantages de les utiliser ?
Figure 1. L'usinage moderne dépend souvent d'une logique floue pour contrôler les aspects critiques du processus. Image utilisée avec l'aimable autorisation de Michael Schwarzenberger
Logique en échelle et logique floue
Un bon point de départ pour apprendre les commandes de logique floue consiste à déterminer si la logique à relais est compatible avec la logique floue. La logique à relais est une approche basée sur des règles couramment utilisée pour programmer des API (contrôleurs logiques programmables) lorsqu'une logique séquentielle est nécessaire. Chacun des échelons d'un programme de logique à relais représente une équation logique binaire ou discrète.
En gardant à l'esprit que la logique à relais se lit de gauche à droite, de haut en bas, l'extrémité droite d'un échelon représente la condition de sortie. La condition de sortie de cette ligne dépend du résultat des symboles logiques à relais à gauche de la sortie.
Prenez, comme exemple de base, le seul échelon illustré à la figure 2. Notez que la climatisation (climatisation) n'est active que lorsque l'interrupteur est actif et que HighTemp ou Humid est actif.
Figure 2. Sonde logique en échelle pour le contrôle d'un système de climatisation. Informations utilisées avec l'aimable autorisation de Wikipédia
Exprimé en règle générale, cet échelon prendrait la forme suivante :
A/C =Switch AND (HighTemp OR Humid)
Parce que la logique à relais peut être exprimée sous forme de règles, elle se prête facilement à l'adoption dans le contrôle de logique floue. Une autre façon de voir cela est que le résultat dépend des conditions IF représentées par les symboles logiques à relais à gauche tandis que la sortie représente le résultat ALORS.
IF (Switch AND [HighTemp OR Humid]) ALORS A/C
Figure 3. Schéma fonctionnel représentant un système de logique floue.
Cette approche peut certainement être mise en œuvre en utilisant des règles de logique floue. Dans un tel cas, les entrées nettes seraient la température et l'humidité relative. La lecture de ces valeurs par le capteur serait transformée en entrées floues par un fuzzifier. Le moteur d'inférence contiendrait, entre autres règles, celle indiquée ci-dessus. Sur la base des règles du moteur d'inférence, un ensemble de sorties floues serait présenté au défuzzifier. À partir de là, des sorties nettes seraient fournies au système de contrôle.
En bref, la logique à relais peut être implémentée en utilisant la logique floue.
Étapes de base pour concevoir un contrôleur de logique floue
Les systèmes de contrôle à logique floue (souvent abrégés FLC) sont une approche alternative pour développer et mettre en œuvre des systèmes de contrôle.
Figure 4. Système de contrôle de rétroaction simple mettant en œuvre un contrôle flou. Image utilisée avec l'aimable autorisation de Boffy b
Reconnaître les hypothèses impliquées
Avant de commencer le processus de conception d'un FLC, il existe certaines hypothèses clés.
- Une solution existe au problème de contrôle.
- Une solution « assez bonne » est acceptable à la place d'une « solution optimale ».
- Les variables d'entrée, de sortie et d'état peuvent être observées et utilisées pour le contrôle.
- Un corpus de connaissances existe sous la forme de :
- Règles linguistiques, et/ou
- Un ensemble de données d'entrée-sortie à partir desquelles des règles peuvent être extraites.
- Le FLC doit être conçu pour atteindre une plage de précision acceptable.
- La stabilité et l'optimalité ne sont pas abordées explicitement mais sont ouvertes.
Identifier et configurer les variables pour la fuzzification
La première étape de la conception d'un FLC consiste à identifier les variables d'entrée, de sortie et d'état impliquées. Ensuite, déterminez les sous-ensembles flous des variables. Par exemple, l'entrée de température peut être divisée en cinq sous-ensembles avec une étiquette linguistique descriptive pour chacun :{'froid,''froid,''nominal,''chaud,''chaud'}.
Figure 5. Exemple d'utilisation de fonctions d'appartenance pour représenter la température.
Une fois les sous-ensembles choisis pour les variables, les fonctions d'appartenance doivent être configurées pour représenter ces sous-ensembles. Les options pour les fonctions d'appartenance incluent triangulaire, trapézoïdale, sigmoïde et gaussienne. Ceci constitue le fuzzifier qui convertit les entrées nettes en valeurs floues. Notez que les sous-ensembles flous et les fonctions d'appartenance associées doivent également être configurés pour la sortie du moteur d'inférence .
Générer les règles de logique floue
La conversion d'un contrôleur à logique à relais traditionnel en un contrôleur à logique floue commence par la génération de règles de logique floue.
Évoqué dans les hypothèses, cela peut prendre la forme de règles linguistiques qui existent déjà ou qui peuvent être développées avec l'aide d'un expert en la matière. Des règles peuvent également être générées à partir d'un ensemble de données d'entrée-sortie. Et, dans le cas de la logique à relais, les règles de logique floue peuvent être lues directement à partir du schéma à contacts.
Le résultat est la base de règles pour le système flou.
Implémentation du moteur d'inférence et du défuzzifier
Il existe plusieurs approches différentes pour implémenter le moteur d'inférence . Dans les contrôles, les deux approches les plus populaires sont Mamdani et Sugeno. Les deux types de moteurs d'inférence combinent la sortie floue de la base de règles à l'aide d'un opérateur OU et par la suite défuzzifie cette sortie pour obtenir une valeur nette.
Applications des contrôleurs à logique floue
Les contrôleurs à logique floue ont trouvé une utilisation extrêmement répandue. Par exemple, les ascenseurs ont souvent des contrôleurs à logique floue qui réduisent le temps d'attente, minimisent les déplacements entre les étages et réduisent la consommation d'énergie. Un avantage supplémentaire pour minimiser les déplacements entre les étages est une usure réduite des composants critiques et une durée de vie plus longue.
Un autre exemple fascinant de systèmes de contrôle flous concerne les caméras vidéo numériques et les caméscopes. Les opérateurs peuvent déplacer ou secouer la caméra tout en filmant un plan cohérent, mais le contrôle de la logique floue peut automatiquement compenser.
Dans un environnement industriel, la logique floue est souvent utilisée pour contrôler les processus et les systèmes industriels. Par exemple, la logique floue fonctionne bien avec les contrôleurs de température et de processus, tels que ceux utilisés pour le traitement thermique des métaux. Les traitements thermiques typiques impliquent des cycles de rampe et de trempage très précis pour obtenir les propriétés métallurgiques correctes.
Des applications similaires qui bénéficient du FLC incluent le durcissement du caoutchouc ou le séchage des solvants sur les surfaces peintes. De plus, tous ces éléments sont des exemples de processus de contrôle qui utilisent généralement un contrôleur PID (proportionnel dérivé intégral). L'usinage CNC (contrôle numérique par ordinateur) dépend souvent de contrôleurs à logique floue, tout comme de nombreuses robots autonomes, vision industrielle et télédétection.
Figure 6. Schéma fonctionnel d'un régulateur Fuzzy PID. Image utilisée avec l'aimable autorisation de Mathworks
Avantages et inconvénients du contrôle de logique floue
Le contrôle de logique floue peut toujours fonctionner lorsqu'il est confronté à des données imprécises ainsi qu'à une non-linéarité dans le système. Il permet également d'intégrer l'expérience et les connaissances humaines dans un système de contrôle et est hautement personnalisable. Les systèmes de contrôle à logique floue sont généralement moins chers à développer par rapport aux approches plus traditionnelles, et ont tendance à être plus efficaces, robustes et fiables.
Plus précisément, dans les contrôles, FLC n'exige pas que le modèle et/ou l'objectif soient formulés en termes précis comme cela est requis dans une approche plus traditionnelle des systèmes de contrôle. De plus, les commandes floues peuvent facilement être combinées avec d'autres systèmes de commande.
Il y a, bien sûr, des inconvénients à utiliser des systèmes de commande floue. Bien que la logique floue soit un sous-ensemble de l'intelligence artificielle (IA), ce n'est pas un type d'apprentissage automatique et ne peut donc pas s'adapter et apprendre. Il existe des contrôleurs à logique floue adaptative, mais leur conception et leur complexité vont bien au-delà du type de contrôleur flou en question.
En outre, des mises à jour devront éventuellement être apportées aux règles dont dépend le contrôleur, et les contrôleurs à logique floue nécessitent des tests et une validation approfondis avant d'être considérés comme prêts à être mis en œuvre.
Quand utiliser un contrôleur à logique floue ? Ils constituent une excellente option pour les problèmes de contrôle extrêmement complexes et difficiles à représenter à l'aide de modèles et d'objectifs précis. Ils fonctionnent bien lorsque des données imprécises et un comportement non linéaire sont impliqués. Ils constituent également un bon choix lorsque l'expérience et l'expertise humaines peuvent être apportées au système. Comment utilisez-vous la logique floue dans votre système de contrôle ? Ou utilisez-vous uniquement des contrôleurs PID ?
Robot industriel
- Comment concevoir des produits en plastique transparent
- Conception pour la fabrication :un guide pratique
- Comment la réalité virtuelle peut aider à éclairer la conception de robots industriels
- Comment documenter les câbles et les harnais
- Comment choisir un contrôleur d'automatisation industrielle
- Comment sélectionner un contrôleur
- Comment vaincre les interférences dans la conception de PCB
- Comment optimiser la conception HDI en électronique
- Comment concevoir des charnières mobiles imprimées en 3D