1 / 64

Apprentissage du contrôle de systèmes complexes par l’auto-organisation coopérative d’un SMA

Apprentissage du contrôle de systèmes complexes par l’auto-organisation coopérative d’un SMA. Jérémy Boes - Toulouse, 28 mars 2014. Application à la calibration de moteurs à combustion. Contrôle. Qu’est-ce que contrôler un système ? Modifier ses entrées afin de l’amener dans un état désiré.

milt
Download Presentation

Apprentissage du contrôle de systèmes complexes par l’auto-organisation coopérative d’un SMA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Apprentissage du contrôle de systèmes complexespar l’auto-organisation coopérative d’un SMA Jérémy Boes - Toulouse, 28 mars 2014 Application à la calibration de moteurs à combustion

  2. Contrôle • Qu’est-ce que contrôler un système ? • Modifier ses entrées afin de l’amener dans un état désiré Système de contrôle Système contrôlé Consigne État Commandes Contrôle en boucle ouverte Commandes Système de contrôle Système contrôlé Consigne État Contrôle en boucle fermée

  3. Contrôle de Systèmes complexes • Qu’est-ce qu’un système complexe ? • Comportement inattendu • Non-linéaire • Dynamique • Grand nombre d’E/S • Bruit • Différentes échelles de temps

  4. Apprentissagedu contrôle de systèmes complexes • Qu’est-ce que l’apprentissage artificiel ? • Un programme qui s’améliore grâce à son expérience • Diverses approches • Apprentissage supervisé • Apprentissage non supervisé • Apprentissage par renforcement Actions SystèmeApprenant Environnement Perceptions + signal de renforcement Principe de l’apprentissagepar renforcement

  5. Apprentissage du contrôle de systèmes complexes par unSystème Multi-Agent • Qu’est-ce qu’un agent ? • Une entité autonome • Plongé dans un environnement logiciel • Cycle de vie • Perception (limitée) • Décision (autonome) • Action (locale) • Qu’est-ce qu’un Système Multi-Agent (SMA) ? • Un système composé d’agents en interaction Actions SystèmeMulti-Agent Environnementdu SMA Perceptions Un SMA et son environnement

  6. Apprentissage du contrôle de systèmes complexes par Auto-organisation coopérative d’un système multi-agent • Adaptive Multi-Agent Systems (AMAS) • Les agents changent de comportement • Les changements de comportement sont dirigés par des règles de coopération

  7. Apprentissage du contrôle de systèmes complexes par Auto-organisation coopérative d’un SMAApplication aux moteurs à combustion • Projet ORIANNE • Aboard Engineering (leader) • Partenaires industriels • FH Electronics (calculateur) • Renault (moteurs et véhicules) • Partenaires académiques • IRIT (informatique) • IRSEEM (électronique embarquée) • CERTAM (aérothermique) • CEVAA (vibro-acoustique) • Tâche de l’IRIT : Auto-calibration • Apprendre les bonnes actions de contrôle

  8. Plan de la présentation

  9. État de l’art Contrôleurs PID Contrôle adaptatif Contrôle intelligent Évaluation Objectif

  10. Contrôleurs PID • Basés sur l’erreur entre consigne et sortie • Proportionnelle • Erreur actuelle • Intégrale • Durée de l’erreur • Dérivée • Variation de l’erreur • Difficulté • Ajuster le poids de chaque composante Réponse typique d’un PID (bleu)

  11. Contrôle adaptatif • Approches basées sur un modèle mathématique du système • Commande prédictive (MPC) • Prévoir le comportement du système contrôlé grâce au modèle • Contrôle dual • Actions sondes pour affiner le modèle • Actions de contrôle pour respecter la consigne Commandes Système de contrôle Système contrôlé Consigne Modèle État

  12. Contrôle adaptatif • Difficultés • Modèle • Construction • Paramétrage • Exploitation • Contrôle dual • Équilibre entre actions de contrôle et sondes (équation de Bellman) • Difficultés exacerbées avec la complexité

  13. Contrôle intelligent • Emprunte des techniques de l’IA • Réseaux de neurones • Algorithmes génétiques • Logique floue • Dote les contrôleurs de capacités d’apprentissage • Apprendre le paramétrage du contrôleur • Apprendre un modèle de comportement du système contrôlé • Apprendre directement le contrôle • Approximer le résultat d’équations complexes Commandes Système de contrôle Système contrôlé Consigne Algorithme d’apprentissage État

  14. Critères d’évaluation

  15. Bilan de l’état de l’art • Passage à l’échelle difficile • Distribuer le contrôle • Très grande diversité de techniques de contrôle

  16. Objectif • Réaliser un système de contrôle • Facile à instancier • Se passer de modèle • Avoir peu de paramètres à fixer • Capable de s’adapter continuellement • Capable de maîtriser la complexité • Nombre important d’entrées/sorties • Non-linéarité • Bruit

  17. L’approche AMAS Principes de l’approche Fondements de l’approche Auto-organisation coopérative Concevoir un AMAS Verrou

  18. Principes de l’approche • Adaptive Multi-Agent Systems (AMAS) • Résoudre des problèmes complexes • Besoin d’adaptation et d’apprentissage • Adaptation obtenue par auto-organisation • Auto-organisation dirigée par la coopération • Conception bottom-up • La fonction globale du système émerge des interactions locales des agents

  19. Interactions système/environnement • S’il existe des interactions neutres ou antinomiques • Le système est dans un état non-coopératif • Deux conséquences possibles : • Il ne réalise pas sa fonction • Il ne réalise pas sa fonction de façon optimale

  20. Adéquation fonctionnelle

  21. Auto-organisation coopérative • Comment maintenir le système en état coopératif ? • Détecter ou anticiper les Situations de Non-Coopération (SNC) • Les résoudre localement • Ajustement de paramètres internes • Réorganisation des relations • Ouverture (ajout/suppression d’agent) • Incompréhension • Ambigüité Environnement • Incompétence • Improductivité • Concurrence • Conflit • Inutilité

  22. Concevoir un AMAS • ADELFE : Atelier de Développement de Logiciels à Fonctionnalité Emergente • Conception

  23. Verrou

  24. ESCHER Vue globale Agents Variables et Agents Critères Agents Contrôleurs et Agents Contextes Situations de non-coopération Instanciation

  25. Contrôle Commandes Système de contrôle Système contrôlé Consigne État

  26. Contrôle, apprentissage Commandes Actions Système de contrôle Système contrôlé SystèmeApprenant Environnement Consigne État Perceptions + signal de renforcement

  27. Contrôle, apprentissage, SMA ESCHER: Emergent Self-adaptive Controller for HeatEnginecalibRation Commandes Actions Système de contrôle Système contrôlé SystèmeApprenant Environnement Actions : commandes sur les entrées Consigne Environnement ESCHER État Perceptions Système contrôlé + signal de renforcement Actions SystèmeMulti-Agent Critères de contrôle Environnementdu SMA Perceptions : état du système contrôlé + satisfaction des critères Perceptions

  28. Vue globale • Observer l’environnement Agents Variables ex : Consommation, consigne de couple, masse de fuel injecté… • Représenter les critères de contrôle Agents Critères ex : Optimisation de la consommation, seuils de pollution… • Analyser l’environnement Agents Contextes • Choisir l’action la plus adéquate Agents Contrôleurs ex : Avance à l’allumage, masse de fuel injecté… ESCHER

  29. Vue globale • Observer l’environnement Agents Variables ex : consommation, consigne de couple, masse de carburant injecté… • Représenter les critères de contrôle Agents Critères ex : Optimisation de la consommation, seuils de pollution… • Analyser l’environnement Agents Contextes • Choisir l’action la plus adéquate Agents Contrôleurs ex : Avance à l’allumage, masse de fuel injecté… ESCHER Perceptions Agents Variables

  30. Vue globale • Observer l’environnement Agents Variables ex : consommation, consigne de couple, masse de carburant injecté… • Représenter les critères de contrôle Agents Critères ex : optimisation de la consommation, seuils de pollution… • Analyser l’environnement Agents Contextes • Choisir l’action la plus adéquate Agents Contrôleurs ex : Avance à l’allumage, masse de fuel injecté… ESCHER Agents Critères Perceptions Valeurs Agents Variables

  31. Vue globale • Observer l’environnement Agents Variables ex : consommation, consigne de couple, masse de carburant injecté… • Représenter les critères de contrôle Agents Critères ex : optimisation de la consommation, seuils de pollution… • Analyser l’environnement Agents Contextes • Choisir l’action la plus adéquate Agents Contrôleurs ex : Avance à l’allumage, masse de fuel injecté… ESCHER Agents Contextes Agents Critères Niveauxde criticité Agents Contextes Perceptions Valeurs Agents Variables Agents Contextes

  32. Vue globale • Observer l’environnement Agents Variables ex : consommation, consigne de couple, masse de carburant injecté… • Représenter les critères de contrôle Agents Critères ex : optimisation de la consommation, seuils de pollution… • Analyser l’environnement Agents Contextes • Choisir l’action la plus adéquate Agents Contrôleurs ex : avance à l’allumage, masse de carburant injecté… ESCHER Proposition Actions AgentContrôleur Agents Contextes Notification Proposition Agents Critères Niveauxde criticité Actions AgentContrôleur Agents Contextes Notification Perceptions Proposition Valeurs Actions Agents Variables AgentContrôleur Agents Contextes Notification

  33. Agents Variables • Représentent l’état actuel de l’environnement • État du système contrôlé • Consignes et seuils Comportement nominal d’un Agent Variable

  34. Agents Critères • Représentent la satisfaction actuelle des critères de contrôle • Consignes • Seuils • Optimisation Comportement nominal d’un Agent Critère Exemples de fonctions de criticité

  35. Agents Contrôleurs et Contextes • Un Agent Contexte dit à l’Agent Contrôleur (proposition) : « Voilà ce qu’il va se passer si tu appliques mon action maintenant. » • Un Agent Contrôleur peut répondre (notification) : « J’ai appliqué l’action que tu m’as proposée » ou « Je n’ai pas appliqué l’action que tu m’as proposée » Niveaux de criticité Proposition Actions Valeurs Agents Contextes AgentContrôleur Notification

  36. Agents Contrôleurs et Contextes • Un Agent Contexte dit à l’Agent Contrôleur (proposition) : « Voilà ce qu’il va se passer si tu appliques mon action maintenant. » • L’Agent Contrôleur peut répondre (notification) : « J’ai appliqué l’action que tu m’as proposée. » ou « Je n’ai pas appliqué l’action que tu m’as proposée. » Niveaux de criticité Proposition Actions Valeurs Agents Contextes AgentContrôleur Notification

  37. Agents Contrôleurs • Choisissent et appliquent les actions les plus adéquates • Un agent par entrée contrôlée Comportement nominal d’un Agent Contrôleur

  38. Agents Contextes • Un ensemble d’Agents Contextes associé à chaque Agent Contrôleur Comportement nominal d’un Agent Contexte

  39. Agents Contextes • Un Agent Contexte dit à l’Agent Contrôleur (proposition) : « Voilà ce qu’il va se passer si tu appliques mon action maintenant » Prévisions de variation des niveaux de criticité

  40. Agents Contextes • Un Agent Contexte dit à l’Agent Contrôleur (proposition) : « Voilà ce qu’il va se passer si tu appliques mon actionmaintenant » action = +0,5 Prévisions de variation des niveaux de criticité Une action est une modification d’une entrée du système contrôlé

  41. Agents Contextes • Un Agent Contexte dit à l’Agent Contrôleur (proposition) : « Voilà ce qu’il va se passer si tu appliques mon actionmaintenant » Variable 1 Variable 2 Variable 3 Variable 4 max max max max action = +0,5 min min min min Si la valeur de chacune des variables est dans la plage de validité correspondante : l’Agent Contexte est valide Prévisions de variation des niveaux de criticité Une action est une modification d’une entrée du système contrôlé

  42. Situations de non-coopération • SNC 3 : Conflit • L’action appliquée n’a pas eu les effets prévus par la proposition choisie • SNC 2 : Improductivité • Les propositions reçues sont toutes inadéquates • Résolution • Stopper l’action • Envoyer une notification de rejet à l’Agent Contexte fautif • Ignorer les prochaines propositions de l’Agent Contexte fautif • Résolution 1 (toutes les actions possibles ont été proposées) • Choisir l’action la moins mauvaise • Résolution 2 (il existe des actions non-proposées) • Décider d’une action soi-même en évitant les actions proposées • Créer un nouvel Agent Contexte pour cette action ou conserver le(s) précédent(s) si l’action correspond • SNC 1 : Incompétence • L’agent n’a pas reçu de proposition • Résolution • Décider d’une action soi-même • Créer un nouvel Agent Contexte pour cette action ou conserver le(s) précédent(s) si l’action correspond Comportement d’un Agent Contrôleur

  43. Situations de non-coopération • SNC 4 : Conflit • L’action proposée a été appliquée et a eu des effets opposés à ceux prévus • Résolution • Réduire ses plages de validité • SNC 6 : Incompétence • L’agent n’est plus valide, mais n’a pas reçu de notification de rejet, son action est toujours appliquée • SNC 5 : Conflit • L’action proposée a été appliquée et n’a pas eu exactement les effets prévus • Résolution • Élargir ses plages de validité • Résolution • Ajuster les prévisions inexactes Comportement d’un Agent Contexte

  44. Instanciation

  45. Expérimentations BACH Expériences sur boîtes noires Expériences sur moteur réel Bilan

  46. BACH • Builder of Abstract maCHines • Compose automatiquement des boîtes noires exécutables • Utilisées comme cas de test • Contraintes utilisateurs respectées • Nombre d’E/S • Interdépendance des E/S • Plages de variations • Cycles • Pallie l’inaccessibilité d’un vrai moteur en début de projet Exemple de boîte noire générée

  47. Expériences sur boîtes générées • Une entrée, 2 sorties • Critères • Consigne de 50 sur S1 • Consigne de 50 sur S2 • La boîte noire ne permet pas de placer les deux sorties à 50 • ESCHER doit trouver un compromis

  48. Expériences sur boîtes générées • Resistance aux perturbations • 3 entrées, 1 sortie • 2 entrées contrôlées par ESCHER • 1 entrée subit des perturbations • Critère : • Consigne de 50 sur la sortie • ESCHER doit corriger les erreurs provoquées par les perturbations

  49. Expériences sur moteur réel ESCHER ControlDesk ECU Ethernet/MCD-3 Bus CAN Capteurs et effecteurs spécifiques Analyseur de gaz Sondeséchappement Moteur monocylindre125 cm3 USB+RS232/DB25

  50. Expériences sur moteur réel • Point de fonctionnement • Régime : 5000 tr/min • Charge : 870 mbar • Paramètres contrôlés • Masse de carburant injecté • Avance à l’allumage • Critère • Maximiser le couple (donné par la pression moyenne indiquée, PMI) • Résultats • PMI augmentée de 50 % (+ 3 bar) • Durée totale : 90 secondes

More Related