650 likes | 823 Views
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é.
E N D
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
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
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
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
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
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
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
État de l’art Contrôleurs PID Contrôle adaptatif Contrôle intelligent Évaluation Objectif
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)
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
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é
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
Bilan de l’état de l’art • Passage à l’échelle difficile • Distribuer le contrôle • Très grande diversité de techniques de contrôle
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
L’approche AMAS Principes de l’approche Fondements de l’approche Auto-organisation coopérative Concevoir un AMAS Verrou
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
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
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é
Concevoir un AMAS • ADELFE : Atelier de Développement de Logiciels à Fonctionnalité Emergente • Conception
ESCHER Vue globale Agents Variables et Agents Critères Agents Contrôleurs et Agents Contextes Situations de non-coopération Instanciation
Contrôle Commandes Système de contrôle Système contrôlé Consigne État
Contrôle, apprentissage Commandes Actions Système de contrôle Système contrôlé SystèmeApprenant Environnement Consigne État Perceptions + signal de renforcement
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
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
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
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
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
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
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
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é
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
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
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
Agents Contextes • Un ensemble d’Agents Contextes associé à chaque Agent Contrôleur Comportement nominal d’un Agent Contexte
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é
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é
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é
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
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
Expérimentations BACH Expériences sur boîtes noires Expériences sur moteur réel Bilan
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
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
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
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
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