Dans cette thèse, nous nous intéressons au contrôle de système cyber-physiques évoluant en environnement incertain. Les avions, les engins spatiaux, les bateaux ou encore les drones sont des exemples typiques de cette catégorie de système. Un système cyber-physique doit faire face à un niveau élevé d’incertitude. Son comportement dépend étroitement des évolutions de son environnement. De ce fait, le système de contrôle associé est spécifique au système cyber-physique et a pour objectif de réguler son comportement. Afin de réagir à divers situations rencontrées, le système de contrôle associé doit prévoir un certain nombre de stratégies adaptées. Si actuellement pour faire face à divers situations, les applications s’appuient sur des configurations pré-calculées, le système devrait pouvoir proposer des capacités d’adaptation à des contextes inconnus a priori. Dans le but d’assurer l’adaptabilité et la sécurité du système contrôlé, l’application de contrôle a besoin de se faire une image de l’environnement. Le système de contrôle utilise des capteurs pour obtenir des informations sur le processus à contrôler ainsi que sur son environnement physique. D’autre part, des actionneurs permettent d’appliquer les commandes déterminées par le système de contrôle sur le système cyber-physique. La mise en oeuvre est souvent spécifique à c haque d omaine à c ause d es c ontraintes l iées à l’environnement ainsi qu’à celles liées aux matériels. En particulier, le réglage de la loi de contrôle est lié aux capteurs et actionneurs, à leur technologie et à leurs performances temporelles (fréquence, retard). Généralement, les lois de contrôles font intervenir plusieurs modes de fonctionnement dépendant du contexte. Pour chaque mode, la qualité de contrôle de ces systèmes repose sur la qualité du paramétrage des lois de contrôle. Il n’est pas évident de définir a priori quel paramétrage doit être u tilisé. De nombreux paramétrages doivent alors être testés et ajustés. Lorsqu’on ne dispose pas de modèle (une équation différentielle ou une fonction de transfert par exemple) du système, seuls des tests permettent d’évaluer la qualité du contrôle. La grande variété des situations possibles rend caduque l’espoir d’effectuer des tests réels, sans compter d’autres aspects tels que la sécurité (du système lui-même et de son environnement) ou encore le coût de mise en oeuvre. La simulation, bien que plus ou moins proche de la réalité, permet de contourner tous ces problèmes. Pour la simulation, le concepteur du système cyber physique crée un modèle exécutable du processus contrôlé et de son environnement, de la plate-forme matérielle (capteurs et actionneurs) et du contrôleur. Cette phase de simulation est généralement connue sous le nom de (Model In the Loop) (MiL). Les modèles contiennent généralement de nombreux paramètres qui déterminent la dynamique globale du système. En particulier, le contexte du contrôleur est composé de tous les éléments (la plate-forme matérielle et l’environnement) qui ne sont pas contrôlés par le système (c’està-dire l’environnement physique dans lequel le système évolue). Le but principal de la simulation est de tester et de régler le contrôleur en tenant compte des différents contextes. Les observations accumulées lors de la simulation approfondissent aussi la compréhension du fonctionnement du système. Mais, compte tenu du nombre requis de simulations et la quantité de données collectées, il est désormais nécessaire de fournir des outils de mise au point adéquats.
Systèmes cyber-physiques
Le terme Système Cyber-Physique est apparu aux alentours de l’année 2006 (au milieu des années 2000). Il est généralement attribué à Helen Gill du National Science Foundation [CAR16]. La racine de ce terme provient de « cybernétique », dont l’origine est attribuée au mathématicien américain Norbert Wiener. Selon Wiener, la cybernétique est la combinaison de la commande et de la communication. Sa vision de la commande est basée sur le contrôle en boucle fermée, où des capteurs surveillent le processus physique piloté par la commande à travers les actionneurs. La première définition q ue l ’on p eut t rouver d es s ystèmes cyber physiques a été donnée par [Lee06]. Cette définition p eut ê tre r etranscrite a insi : «Les CPS intègrent des processus physiques et computationnels. Des ordinateurs et réseaux embarqués surveillent et contrôlent les processus physiques, généralement avec des boucles de rétroaction où les processus physiques affectent les calculs et vice versa. En d’autres mots, les CPS utilisent des calculs et de la communication profondément intégrées et interagissant avec les processus physiques afin de produire de nouvelles capacités du système». D’autres définitions o nt é té d epuis p roposées [ Raj+10; B G11; C en13], m ais la définition de [Mon14] permet de les synthétiser : « Les CPS sont des systèmes formés d’entités collaboratives, dotées de capacité de calcul, qui sont en connexion intensive avec le monde physique environnant et les phénomènes s’y déroulant ».
Modélisation des systèmes cyber-physiques
La mise au point et le réglage des contrôleurs associés aux systèmes cyberphysiques évoluant en environnement incertain est un processus complexe. Ceci s’explique par le fait que le comportement de ces systèmes dépend étroitement
de leur environnement (dégradation, incertitude, changement …). Il apparaît nécessaire de modéliser le système cyber-physique dans sa globalité en prenant en considération sa structure, son dispositif de commande (contrôleur) et son environnement [Mar97]. Ces modèles sont utilisés pour remplacer le matériel réel dans les phases de test et de réglage. En partant de ces modèles, il est possible d’explorer diverses situations et donc d’anticiper le comportement du système cyber physique avant de passer aux tests en environnement réel, sur une plateforme réelle. Pour la modélisation, plusieurs approches sont envisageables. Parmi cellesci on peut citer la modélisation adoptée par les automaticiens qui consiste à écrire les équations différentielles qui régissent le système et à tenter de les résoudre analytiquement à l’aide d’un outil numérique [BS05]. Dans cette thèse, on s’intéresse plutôt aux modèles informatiques de systèmes cyber-physiques à base de composants [Szt07] tels que SysML [FMS08], AADL [FG12] et Capella [BR18]. Dans ce chapitre, nous étudions les caractéristiques des composants et leurs capacités à modéliser un système cyber-physique dans un but de simulation.
Définition
Nous commençons par définir le terme composant dans le contexte de l’ingénierie logicielle. Une des définitions les plus communément acceptées du composant est celle proposée par Clemens Szyperski dans [Szy02]:« A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to third-party composition ». Par la suite, nous nous appuyons sur la synthèse présentée dans [Jea07] pour définir les concepts clés des composants logiciels.
Apports des composants
La décomposition d’un système cyber-physique en composants est très utilisée pour la modélisation des systèmes. Cette décomposition est bénéfique pour de nombreuses raisons dont on peut citer :
• La séparation des préoccupations : la décomposition du système permet aux différents intervenants sur un système cyber-physique (informaticiens, électroniciens, mécaniciens…) de se focaliser sur leur coeur de métier, qui est modélisé par un ou plusieurs composants [HL95; Ern03].
• La réutilisation : la modélisation du système est simplifiée par la réutilisation des bibliothèques de composants spécialisées existantes (modéliser un système revient à assembler des éléments existants), ce qui réduit l’effort nécessaire à la création de nouveaux systèmes.
• La facilité d’évolution : dans le cas ou les exigences ou les objectifs du système évoluent, seuls les composants impactés par les évolutions doivent être révisés, affinés et actualisés en conséquence.
• La gestion de l’hétérogénéité : les systèmes cyber-physiques se composent d’éléments hétérogènes par leur nature (capteurs, actionneurs, environnements physiques, logiciels, modèles…), par la nature des données qu’ils échangent, par leur caractéristique temporelle (synchrone, asynchrone, temps réel ou simulé) [BBS06] , mais également par leur granularité. L’approche par composants peut permettre une standardisation des interfaces et la définition d’architectures pour faciliter l’intégration de différents éléments et pour la construction de systèmes hétérogènes complexes [AS11].
Dans ce qui suit, on retient qu’un composant désigne une partie du modèle du système cyber-physique et de son environnement et représente une brique de base du modèle.
Caractéristiques des composants
Structure et comportement
A chaque composant est associé un comportement. Le comportement peut résulter de l’activité du composant (s’il en dispose), d’une réaction à un événement (nouvelle valeur sur une entrée, synchronisation externe…), ou bien d’une combinaison de ces deux éléments. On distingue deux manières de décrire le comportement d’un composant [DCL08; Rom+10] :
• Les composants dit primaires possèdent un comportement décrit dans un langage spécifique (langage de programmation, langage machine). Dans la littérature, la spécification du comportement de ces composants est réparti en quatre catégories non exclusives [Jea07] :
– spécification du comportement par un (ou plusieurs) exécutable(s) binaire(s) ou sous forme de byte code
– spécification du comportement à l’aide d’un (ou plusieurs) code(s) sources exprimés dans un langage de programmation classique
– spécification à l’aide d’un langage formel
– spécification de paramètres et ou de propriétés permettant de contrôler et/ou caractériser le comportement du code. On retrouve ici des paramètres de configuration du code ainsi que le cycle de vie du composant.
• les composants dit composites qui englobent des composants. Les composants composites peuvent soit disposer d’un comportement propre soit encapsuler le comportement de leurs constituants. Leur utilisation permet de créer une hiérarchie de composants. Un composant composite est donc d’un niveau d’abstraction supérieur aux composants qui le constituent.
La modélisation du système cyber-physique et de son environnement se fait en assemblant plusieurs composants entre eux pour former ce qu’on appelle une configuration (un système cohérent). Il s’agit principalement d’organiser les composants en groupes au sein d’un ensemble cohérent.
Communication des composants
Les différents composants qui constituent le système cyber-physique et son environnement peuvent communiquer entre eux dans le but d’échanger des informations nécessaires à leur réalisation [Szy02]. Dans le domaine visé, le paradigme de flux de données est généralement adopté car il est proche de la vision système des automaticiens. Chaque composant dispose d’entrées et de sorties. Les entrées correspondent aux données nécessaires à l’exécution du composant. En contrepartie, les sorties correspondent aux données produites par le composant. La communication entre les différents composants est effectuée en reliant les entrées aux sorties à l’aide de connecteurs [SVK97]. Ce type de communication suit soit le paradigme publish/subscribe [And+05] où le producteur de la donnée publie une valeur sur sa sortie et tous les abonnés reçoivent cette valeur, soit le paradigme request/reply [San+17] où le consommateur demande une donnée auprès du producteur puis la reçoit.
Exécution des composants
Les modèles des systèmes cyber-physiques sont composés d’éléments qui évoluent au cours du temps. Une modélisation du temps doit être incluse dans les composants du système pour pouvoir les exécuter [AGS02]. Généralement, le temps est représenté de manière discrète. Pour s’assurer que les composants puissent échanger des informations, il faut définir une stratégie d’exécution (activation des composants et synchronisation).
Paramétrage des composants
On associe aux composants un ensemble d’attributs. Les attributs permettent de configurer le comportement du composant [NBP13], de contrôler le cycle de vie du composant et de connaître son état. On distingue également les attributs qui ont pour but de définir l es c onditions i nitiales d u c omposant et les périodes d’activation de ce dernier. Dans cette thèse on s’intéresse particulièrement aux attributs qui permettent de configurer l’évolution d e l’état du composant. On parle alors de paramètres. En faisant varier les valeurs des paramètres du composant environnement, il est possible d’explorer diverses situations que le système cyber physique peut rencontrer.
|
Table des matières
1 Introduction
1.1 Contexte de l’approche
1.2 Problématiques
1.3 Contribution
1.4 Plan du mémoire
2 État de l’art
2.1 Introduction
2.2 Systèmes cyber-physiques
2.2.1 Modélisation des systèmes cyber-physiques
2.2.2 Simulation des systèmes cyber-physiques
2.3 Régulation PID
2.3.1 L’impact des trois gains KP, KI et KD
2.3.2 Réglage des paramètres des régulateurs PID
2.3.3 Bilan
2.4 Réduction de dimensionnalité
2.4.1 Définition de la sélection
2.4.2 La pertinence d’une caractéristique
2.4.3 Principe de sélection de caractéristiques
2.4.4 Revue des méthodes de sélection adoptées
2.4.5 Bilan
2.5 Clustering
2.5.1 Introduction
2.5.2 Définition
2.5.3 Étapes du clustering
2.5.4 Évaluation du clustering
2.5.5 Bilan
2.6 Régression
2.6.1 Introduction
2.6.2 Définition de la régression
2.6.3 Réseaux de neurones artificiels
2.6.4 Bilan
2.7 Bilan Général
3 Contribution
3.1 Approche automatisée pour le réglage des paramètres des contrôleurs
3.1.1 Introduction
3.2 Exploration hors ligne
3.2.1 Première étape : modeling
3.2.2 Deuxième étape : exploration
3.2.3 Troisième étape : simulation
3.2.4 Quatrième étape : binning
3.2.5 Cinquième étape : Feature selection
3.2.6 Sixième étape : Clustering
3.2.7 Septième étape : Configuration
3.2.8 Exploration itérative
3.3 Prédiction en ligne
3.3.1 Huitième étape : Regression
3.4 Outillage
3.4.1 Feature selection
4 Évaluation
4.1 Introduction
4.2 Comparaison avec des méthodes classiques en automatique
4.2.1 Système du second ordre et contrôleur proportionnel
4.2.2 Système d’ordre 2 et contrôleur proportionnel avec perturbation
4.2.3 Système d’ordre 3 et contrôleur PID
4.2.4 Bilan
4.3 Une étude de cas : leader follower
4.3.1 Le challenge MDETools’18
4.3.2 Notre approche
4.3.3 Validation sur une plateforme réaliste
4.4 Bilan
5 Conclusion
Télécharger le rapport complet