• Aucun résultat trouvé

Apprentissage du contrôle de systèmes complexes par l'auto-organisation coopérative d'un système multi-agent : application à la calibration de moteurs à combustion

N/A
N/A
Protected

Academic year: 2021

Partager "Apprentissage du contrôle de systèmes complexes par l'auto-organisation coopérative d'un système multi-agent : application à la calibration de moteurs à combustion"

Copied!
216
0
0

Texte intégral

(1)

T

T

H

H

È

È

S

S

E

E

En vue de l'obtention du

D

D

O

O

C

C

T

T

O

O

R

R

A

A

T

T

D

D

E

E

L

L

U

U

N

N

I

I

V

V

E

E

R

R

S

S

I

I

T

T

É

É

D

D

E

E

T

T

O

O

U

U

L

L

O

O

U

U

S

S

E

E

Délivré par

Université Toulouse III - Paul Sabatier

Discipline ou spécialité :

Informatique

JURY

Vincent Chevrier, Maître de conférences, Université de Lorraine (rapporteur) Marie-Pierre Gleizes, Professeur, Université Paul Sabatier – Toulouse III (présidente)

Pierre Glize, Ingénieur HDR CNRS (directeur)

Pascal Higelin, Professeur, Université d’Orléans (examinateur) Vincent Huc – Ingénieur, Aboard Engineering (invité)

Frédéric Migeon, Maître de conférences, Université Paul Sabatier – Toulouse III (encadrant) Michel Occello, Professeur, Université Pierre Mendès France - Grenoble II (rapporteur)

Ecole doctorale : Mathématiques Informatique Télécommunications (MITT) Unité de recherche : Institut de Recherche en Informatique de Toulouse (IRIT)

Directeur(s) de Thèse : Pierre Glize et Frédéric Migeon Rapporteurs : Vincent Chevrier et Michel Occello

Présentée et soutenue par

Jérémy Boes

Le

28 mars 2014

Titre :

Apprentissage du contrôle de systèmes complexes

par l'auto-organisation coopérative d'un système multi-agent : application à la calibration de moteurs à combustion

(2)
(3)

Cette thèse s’intéresse au contrôle de systèmes complexes, et propose une solution multi-agent. Contrôler un système, c’est appliquer les modifications adéquates sur ses entrées de façon à placer ses sorties dans un état attendu. Les méthodes habituelles se basent majoritairement sur l’utilisation de modèles mathématiques du système contrôlé, afin de calculer les actions de contrôle à effectuer. Ces méthodes trouvent leurs limites face aux systèmes complexes, qui ont une dynamique non-linéaire, et sont souvent bruités et instables. La construction d’un modèle est dans ce cas une tâche ardue, qui peut s’étendre sur plusieurs années. La plupart des méthodes proposent alors d’utiliser un algorithme d’apprentissage artificiel pour apprendre un modèle. Cependant, le modèle produit demeure difficile à exploiter pour le contrôle, puisqu’il reproduit les caractéristiques difficiles du système réel, notamment sa non-linéarité. Une meilleure approche, adoptée dans cette thèse, consiste à apprendre directement le contrôle. La loi de la variété requise indique que, pour être capable d’accomplir sa tâche, le contrôleur doit être au moins aussi complexe que le système contrôlé. Il faut donc concevoir un système capable d’apprendre, de contrôler, et surtout, de franchir le mur de la complexité.

La distribution du contrôle, c’est-à-dire l’affectation du contrôle de chaque entrée d’un système à des contrôleurs plus ou moins indépendants, permet de s’attaquer à la complexité. Mais cela demeure un sujet de recherche actif, à plus forte raison lorsque vient s’ajouter une problématique d’apprentissage. Les systèmes multi-agents (SMA), composés d’entités auto-nomes, se prêtent naturellement aux problèmes distribués et peuvent ainsi beaucoup apporter. En particulier, les systèmes multi-agents adaptatifs (AMAS) s’appuient sur l’auto-organisation des agents pour faire émerger une fonction globale adéquate. Cette auto-organisation est guidée par la coopération. Chaque agent est capable de détecter et de résoudre les situations dans lesquelles il ne peut accomplir sa tâche. Un AMAS est ainsi doté de fortes capacités d’adaptation et d’apprentissage. Il est également capable, grâce à l’émergence, d’accomplir des tâches complexes. Appliquée au problème du contrôle et de son apprentissage, cette approche conduit à la définition d’un SMA particulier, présenté dans cette thèse. Les expérimentations, menées sur des simulations ainsi qu’en situation réelle (sur un moteur à combustion), ont montré la capacité du système à apprendre le contrôle de plusieurs entrées en fonction de critères sur plusieurs sorties, tout en étant robuste aux perturbations, et facile à instancier. Ces résultats sont analysés pour conclure sur la validité du système.

(4)
(5)

Jusqu’au bout, j’ai cru que cette partie serait la plus facile à écrire. Je me trompais. Devant l’inéluctabilité de la rédaction désormais accomplie de ce document, j’ai parfois le sentiment que toutes les interactions que j’ai connues depuis ma naissance sont responsables de cet aboutissement. Cela est possiblement vrai (et incomplet), mais implique alors que toutes les personnes avec lesquelles je suis entré en contact durant ma vie devraient être remerciées ici. L’exercice perdrait alors tout son intérêt. Je vais donc me limiter à celles qui ont eu un impact direct sur cette thèse, et sur la manière dont je l’ai abordée. Tâchant de n’oublier personne, je vais naviguer le long de la chaîne de causalités qui a débouché sur les lignes que vous lisez actuellement.

L’influence la plus récente est celle des rapporteurs. Je remercie donc Vincent Chevrier et Michel Occello, pour avoir pris le temps de lire et commenter cette thèse. À l’heure où ses lignes sont écrites, ils s’apprêtent à gagner Toulouse en tant que membres du jury, où ils seront rejoints par Pascal Higelin, que je remercie également.

Viennent ensuite mes encadrants. Merci Pierre Glize, pour m’avoir fait découvrir les AMAS avec un enthousiasme communicatif, pour les quelques échanges nocturnes de mails philosophico-scientifiques, les quelques discussions diurnes qui ont suivi, et pour ton op-timisme réconfortant. Travailler à tes côtés va me manquer. Merci Frédéric Migeon, pour les nombreux conseils allant au-delà du travail, pour les madeleines, et la franchise qui te caractérise. C’est parce que j’appréciais ta manière d’être en TD que j’ai choisi un sujet que tu encadrais, et je ne regrette pas cette décision.

Si j’ai passé un peu plus de trois excellentes années de thèse, c’est aussi grâce à l’équipe SMAC. Pour cela, je dois remercier Marie-Pierre Gleizes, pour toute l’énergie qu’elle met dans l’équipe, pour les repas annuels et les séminaires. Ces moments ont grandement contribué aux liens tissés avec les différents membres de l’équipe, et donc au bien-être quotidien sur le lieu de travail. Les smackers sont trop nombreux pour être tous nommément cités, aussi vais-je me limiter à ceux avec lesquels mes interactions ont été les plus fréquentes. Tout d’abord, merci à mon co-bureau le plus récent, Charles Triboulot, pour tous les moments de détente. Je te remercie également d’être quelqu’un de silencieux, contrairement à mon premier co-bureau, Victor Noël. Ce dernier est probablement celui qui a eu le plus d’impact sur ma thèse, en dehors de mes encadrants. Sans lui, j’aurais terminé deux fois plus vite (pour un résultat probablement deux fois moins bien), alors je suis bien obligé de le remercier. Et il faut bien avouer que ses conseils ont toujours été pertinents, et nos échanges, pour moi,

(6)

également partagé cet espace par intermittence, et fut toujours d’excellente compagnie, merci à lui. Merci à Nicolas Brax pour ShadowRun, à François Gatto pour ne m’avoir pas laissé tout seul lors des longues soirées de rédaction à l’IRIT, et à tous les (ex-)doctorants du 3ème étage et visiteurs occasionnels, Luc Pons, Arcady Rantrua, Grégoire Denis, Noelie Bonjean, Célia Picard, Tom Jorquera, Simon Stuker, Sylvain Lemouzy, Raja Boulbel, Zeineb Graja, Sylvain Videau, Elsy Kaddoum, Teddy Bouziat, Alexandre Perles, Clément Mignard, Bob, et Julien Martin. Si les pauses cafés sont chouettes, c’est grâce à vous (et tant pis si le couloir est bruyant). Merci à Kévin Serin pour son excellent travail sur les interfaces graphiques d’ESCHER, à Éric Andonoff pour les discussions montagne toujours rafraîchissantes, à Frédéric Amblard pour son humour, et à tous les autres que je ne peux citer ici. Pour en terminer avec SMAC, un dernier merci tout particulier à Christine Maurel. Je vous appréciais déjà en tant qu’enseignante, mais l’attention que vous portez à vos "petits", dont je me suis plu à faire partie, a été un soutien au moral de première importance. Votez Lambda !

Pour continuer sur la chaîne de causalités, je remercie Aboard Engineering pour tout le travail effectué avec eux. Merci en particulier à Vincent Huc et Paul Martin, ainsi qu’à Erwan Salvy pour sa très précieuse aide au banc d’essai.

La chaîne nous emmène maintenant hors de la sphère du travail pour en venir aux amis rencontrés à Toulouse. Rémi Abbal est la première personne avec qui j’ai sympathisé sur les bancs de l’Université Paul Sabatier. Ses notes de cours, sa bonne humeur continuelle ainsi que son écoute m’ont été précieuses, alors merci ! Merci Arnaud Oglaza pour avoir dégoté de bons bars toulousains, m’avoir fait découvrir le rugby, et pour ton esprit de compétition toujours stimulant. Merci Raphaël Hoarau pour INS/MV, pour la bête sauvage, et pour cette touche unique et indispensable que tu apportes à ce groupe d’amis. Merci Jésus pour ce que tu sais et dont je ne peux décemment parler ici, merci Maxime Cordeil, Yannick Gimenez, Louis Noval, Maxime Reynal et tous les autres pour les bons moments passés ensemble.

D’autres personnes ont eu un impact moins direct, mais tout aussi important. Je tiens à remercier Romain Corradini, pour avoir, sans le vouloir, forgé mon caractère. Tous mes autres amis se reconnaîtront dans ce remerciement qui leur est également adressé.

Merci Maroussia. C’est parce que tu es là que j’ai pu faire ce bout de chemin. Une thèse entière ne suffirait pas à raconter tout ce que tu m’apportes.

Merci Papa (et Christine), merci Maman (et Bruno), d’être des modèles dont je suis fier. Pour la même raison, merci Pierre, Marine, et Lola, et désolé de n’avoir pas été très présent ces dernières années. Merci Thérèse et Gaby, cette dernière remarque s’adresse aussi à vous. Merci cousins/cousines, tatas/tontons, qui êtes bien trop nombreux pour être cités. Merci Pépé, merci Mémé, merci Mamie, je puise en vous courage et inspiration depuis bien longtemps.

Et pour finir, je te remercie, toi lecteur qui s’apprête à tourner les pages. S’il y a quelqu’un pour qui ce document a été écrit, c’est bien toi !

(7)

Introduction xiii

Objectif de la thèse . . . xiii

L’intérêt du contrôle de moteurs . . . xiv

Un projet multidisciplinaire . . . xiv

Organisation du document . . . xv

1 Contexte de la thèse 1 1.1 Le contrôle de systèmes complexes . . . 1

1.1.1 Historique . . . 1

1.1.1.1 La clepsydre de Ctésibios . . . 1

1.1.1.2 De la révolution industrielle à nos jours . . . 2

1.1.2 Définitions et concepts fondamentaux . . . 4

1.1.2.1 La notion de système . . . 4

1.1.2.2 La notion de contrôle . . . 5

1.2 Le contrôle de moteurs à combustion . . . 7

1.2.1 L’unité de contrôle moteur . . . 7

1.2.2 La mise au point d’un ECU . . . 8

1.3 Objectifs de la thèse . . . 9

1.4 Conclusion . . . 10

2 Contrôle de systèmes complexes et apprentissage artificiel 11 2.1 Les classiques du contrôle de systèmes . . . 11

2.1.1 Contrôleurs PID . . . 12

2.1.1.1 Méthode de Ziegler-Nichols . . . 13

2.1.1.2 Limites des PID . . . 14

2.1.1.3 Bilan des PID . . . 14

2.1.2 Contrôle adaptatif . . . 15

2.1.2.1 Contrôle avec modèle de référence . . . 15

2.1.2.2 Contrôle avec identification de système . . . 16

2.1.2.3 Commande prédictive . . . 17

2.1.2.4 Contrôle dual . . . 18

(8)

2.1.2.6 Bilan du contrôle adaptatif . . . 20

2.1.3 Bilan des approches classiques de contrôle . . . 21

2.2 L’apprentissage artificiel . . . 21

2.2.1 Apprentissage supervisé . . . 21

2.2.1.1 Méthode des k plus proches voisins . . . 23

2.2.1.2 Inférence d’arbres de décision . . . 23

2.2.1.3 Machines à vecteurs de support . . . 25

2.2.1.4 Algorithmes génétiques . . . 26

2.2.1.5 Réseaux de neurones artificiels . . . 29

2.2.1.6 Apprentissage de réseaux baysésiens . . . 32

2.2.1.7 Méta-apprentissage . . . 34

2.2.1.8 Bilan de l’apprentissage supervisé . . . 35

2.2.2 Apprentissage non supervisé . . . 36

2.2.2.1 Apprentissage semi-supervisé . . . 36

2.2.2.2 Algorithme des k-moyennes . . . 36

2.2.2.3 Analyse en composantes . . . 37

2.2.2.4 Cartes de Kohonen . . . 38

2.2.2.5 Réseaux de Hopfield . . . 39

2.2.2.6 Machines de Boltzmann . . . 41

2.2.2.7 Bilan de l’apprentissage non supervisé . . . 42

2.2.3 Apprentissage par renforcement . . . 42

2.2.3.1 Q-learning . . . 42

2.2.3.2 SARSA . . . 43

2.2.3.3 Systèmes de classeurs . . . 44

2.2.3.4 Raisonnement par cas . . . 45

2.2.3.5 Bilan de l’apprentissage par renforcement . . . 47

2.2.4 Bilan de l’apprentissage artificiel . . . 47

2.3 Le contrôle intelligent . . . 47

2.3.1 Des techniques d’IA utiles pour le contrôle . . . 48

2.3.1.1 Systèmes experts . . . 48

2.3.1.2 Logique floue . . . 48

2.3.2 Un exemple de PID intelligent . . . 50

2.3.3 Un exemple de MRAC intelligent . . . 51

2.3.4 Un exemple de MIAC intelligent . . . 51

2.3.5 Un exemple de commande prédictive intelligente . . . 52

2.3.6 Un exemple de contrôle dual intelligent . . . 53

2.3.7 Autres exemples . . . 54

2.3.7.1 Contrôle distribué à base de systèmes de classeurs . . . 55

2.3.7.2 Contrôle distribué hybride . . . 55

2.3.8 Bilan du contrôle intelligent . . . 57

(9)

2.4.1 Méthodes de contrôle . . . 59

2.4.1.1 Modèle de Jankovic . . . 59

2.4.1.2 Contrôle prédictif appliqué aux moteurs . . . 60

2.4.2 Auto-calibration . . . 61

2.4.3 Bilan du contrôle de moteurs . . . 62

2.5 Conclusion . . . 63

3 Systèmes multi-agents et coopération 65 3.1 Les systèmes multi-agents . . . 65

3.1.1 Qu’est-ce qu’un agent ? . . . 65

3.1.1.1 Différents types d’agents . . . 66

3.1.1.2 Architecture d’un agent . . . 67

3.1.2 Qu’est-ce qu’un système multi-agent ? . . . 68

3.1.2.1 Propriétés des SMA . . . 68

3.1.2.2 L’environnement . . . 69

3.1.2.3 Composition d’un SMA . . . 70

3.1.3 Des applications de SMA . . . 71

3.1.3.1 SMA et contrôle de systèmes . . . 71

3.1.3.2 SMA et apprentissage . . . 72

3.1.4 Bilan des SMA . . . 74

3.2 L’auto-organisation dans les SMA . . . 74

3.2.1 La notion d’organisation . . . 75

3.2.1.1 Modèles organisationnels . . . 75

3.2.1.2 Bilan . . . 76

3.2.2 Comportement local et fonction globale : auto-organisation et émergence 76 3.2.2.1 L’émergence . . . 77

3.2.2.2 L’auto-organisation . . . 78

3.2.3 Résoudre des problèmes grâce à l’auto-organisation . . . 79

3.2.4 Mécanismes d’auto-organisation . . . 79 3.2.4.1 Stigmergie . . . 79 3.2.4.2 Holons . . . 80 3.2.4.3 Autres mécanismes . . . 81 3.2.5 Bilan de l’auto-organisation . . . 82 3.3 L’approche AMAS . . . 82 3.3.1 Interactions et coopération . . . 82 3.3.2 Adéquation fonctionnelle . . . 83

3.3.3 La coopération comme moteur de l’auto-organisation . . . 84

3.3.4 Situations de non-coopération . . . 84

3.3.5 Développer un AMAS . . . 85

3.3.5.1 Concevoir un AMAS . . . 85

3.3.5.2 Implémenter un AMAS . . . 86

(10)

3.4 AMAS, contrôle et apprentissage . . . 87

4 ESCHER, contrôler et apprendre 91 4.1 Objectifs du système . . . 91

4.2 Comportement nominal . . . 92

4.2.1 Tâches élémentaires d’un système de contrôle . . . 92

4.2.1.1 Observer le système contrôlé . . . 92

4.2.1.2 Représenter les critères de l’utilisateur . . . 92

4.2.1.3 Analyser l’état de l’environnement . . . 93

4.2.1.4 Appliquer l’action la plus adéquate . . . 94

4.2.2 Vue globale du système . . . 95

4.2.2.1 Agents Contextes et Agents Contrôleurs . . . 95

4.2.2.2 Agents Variables et Agents Critères . . . 97

4.2.3 Illustration du fonctionnement . . . 97

4.2.3.1 Initialisation . . . 97

4.2.3.2 Communication entre les agents . . . 98

4.2.4 Bilan du comportement nominal . . . 100

4.3 Situations de non-coopération . . . 100

4.3.1 SNC 1 : Incompétence d’un Agent Contrôleur . . . 100

4.3.2 SNC 2 : Improductivité d’un Agent Contrôleur . . . 101

4.3.3 SNC 3 : Conflit d’un Agent Contrôleur . . . 102

4.3.4 SNC 4 : Conflit d’un Agent Contexte (prévisions fausses) . . . 102

4.3.5 SNC 5 : Conflit d’un Agent Contexte (prévisions inexactes) . . . 102

4.3.6 SNC 6 : Incompétence d’un Agent Contexte . . . 103

4.3.7 SNC 7 : Inutilité d’un Agent Contexte . . . 103

4.3.8 SNC 8 : Improductivité d’un Agent Contexte (plages de validité) . . . . 103

4.3.9 SNC 9 : Improductivité d’un Agent Contexte (action proposée) . . . 104

4.3.10 Bilan des situations de non-coopération . . . 105

4.4 Consigne dynamique . . . 106

4.5 Implémentation et instanciation . . . 108

4.5.1 Ajustement des paramètres . . . 108

4.5.2 Algorithmes des comportements . . . 109

4.5.2.1 Agents Variables . . . 109

4.5.2.2 Agents Critères . . . 109

4.5.2.3 Agents Contextes . . . 110

4.5.2.4 Agents Contrôleurs . . . 111

4.5.3 Architecture des agents . . . 112

4.5.4 Application à un cas concret . . . 113

4.6 Un système de contrôle et d’apprentissage . . . 114

4.6.1 ESCHER est un système de contrôle . . . 114

4.6.1.1 Cas nominal . . . 115

(11)

4.6.2 ESCHER est un système d’apprentissage . . . 117

4.6.2.1 Au niveau d’un Agent Contexte . . . 117

4.6.2.2 Au niveau d’un groupe d’Agents Contextes . . . 118

4.6.3 Comparaison avec des approches existantes . . . 118

4.6.3.1 Avec le contrôle dual . . . 118

4.6.3.2 Avec les systèmes de classeurs . . . 119

4.6.4 Le dilemme exploration-exploitation . . . 119

4.7 Un point sur l’auto-organisation dans ESCHER . . . 120

4.7.1 Au niveau des Agents Contextes . . . 120

4.7.2 Au niveau des Agents Contrôleurs . . . 120

4.7.3 De l’émergence dans ESCHER ? . . . 120

4.8 ESCHER se base-t-il sur un modèle ? . . . 121

4.8.1 Non . . . 121

4.8.2 Oui . . . 121

4.9 Résumé . . . 122

5 BACH, compositeur de boîtes noires 123 5.1 Les besoins . . . 123

5.2 Les boîtes noires abstraites . . . 124

5.3 La génération automatique . . . 125 5.3.1 Présentation générale . . . 126 5.3.1.1 Agent Entrée . . . 126 5.3.1.2 Agent Sortie . . . 126 5.3.1.3 Agent Fonction . . . 127 5.3.1.4 Situations de non-coopération . . . 127 5.3.2 L’auto-composition . . . 127 5.3.3 L’auto-ajustement . . . 130

5.3.4 Déroulement d’une génération simple . . . 131

5.4 Comportement des boîtes noires générées . . . 134

5.5 Résumé . . . 136

6 Expérimentations 137 6.1 Expériences sur boîtes noires générées . . . 137

6.1.1 Atteindre une consigne sur une boîte SISO . . . 137

6.1.2 Atteindre un compromis . . . 141

6.1.3 Contrôler plusieurs entrées . . . 142

6.1.4 Contrôler une boîte MIMO . . . 144

6.1.5 Robustesse aux perturbations . . . 146

6.1.6 Répétabilité des expériences . . . 147

6.1.7 Bilan des expériences sur boîtes noires générées . . . 148

6.2 Expériences sur moteur réel . . . 149

(12)

6.2.1.1 Ajustements du système . . . 150

6.2.1.2 Contrôle ou auto-calibration ? . . . 150

6.2.2 Optimisation du couple . . . 151

6.2.3 Optimisation du couple et de la consommation avec seuils de pollution 153 6.2.3.1 Convergence depuis un état quelconque . . . 153

6.2.3.2 Maintien dans un état optimal . . . 155

6.2.4 Un cas d’optimisation habituel . . . 157

6.2.5 Un cas d’optimisation inhabituel . . . 160

6.2.6 Bilan des expérimentations sur moteur . . . 161

6.3 Discussion des résultats . . . 161

6.3.1 Validation de ESCHER . . . 162

6.3.1.1 Faible coût d’instanciation . . . 162

6.3.1.2 Apprendre en permanence . . . 163

6.3.1.3 Passage à l’échelle . . . 163

6.3.1.4 Robustesse au bruit . . . 163

6.3.1.5 Généricité . . . 164

6.3.2 Limites et perspectives de ESCHER . . . 165

6.3.2.1 Formalisation . . . 165

6.3.2.2 Bruit et latence . . . 166

6.3.2.3 Extraire les connaissances acquises . . . 167

6.3.2.4 Le paradoxe du contrôle d’un système inconnu . . . 167

6.3.3 Validation de BACH . . . 168

6.3.4 Limites et perspectives de BACH . . . 168

6.4 Bilan . . . 168

Conclusion générale 171 Contributions . . . 172

Perspectives . . . 173

À court et moyen terme . . . 173

À long terme . . . 174

Et Gödel dans tout ça ? . . . 175

Références bibliographiques 177

Acronymes 191

Table des figures 193

Liste des tableaux 195

Liste des algorithmes 197

(13)

Que se passe-t-il lorsqu’un enfant apprend, pour la première fois, à faire du vélo ? Un adulte l’installe sur la selle, c’est l’initialisation. À ce moment, l’enfant n’a aucune connais-sance en physique. Masse, inertie, forces de frottements, poussée, portance, accélération gravitationnelle, ou encore énergie cinétique, sont autant de concepts qui lui sont inconnus. Il est bien incapable de calculer, au sens mathématique du terme, quelles forces appliquer sur les pédales et le guidon afin de mener son vélo là où il l’entend. Malgré tout, l’enfant va essayer quelques mouvements, quelques actions qui vont avoir des effets sur le comportement du vélo. Petit à petit, et probablement au prix d’une chute ou deux, l’enfant va parvenir à contrôler son vélo. Il a appris comment utiliser les points de contrôle à sa disposition pour avancer, freiner, tourner, etc. L’enfant maîtrise maintenant son vélo, il peut pleinement profiter de la liberté qu’offre ce moyen de transport. Et pourtant il ne connaît toujours rien aux théories de la dynamique et de la mécanique du solide. Les processus physiques en jeu au sein de sa bicyclette lui demeurent étrangers. Il contrôle un système sans en avoir construit un modèle analytique décrivant son comportement. Tout vient de l’expérience. L’enfant reconnaît des situations qu’il a déjà rencontrées, et sait quelles sont les actions à faire (ou à ne pas faire !) pour garder le contrôle du vélo. Voilà qui résume, de manière imagée, le point de vue adopté par cette thèse au sujet du contrôle de systèmes complexes.

Objectif de la thèse

Contrôler un système, c’est être capable d’effectuer les manipulations adéquates sur ses entrées afin d’en placer les sorties dans un état désiré. Le contrôle est un domaine situé au carrefour de l’automatique, des mathématiques, de l’informatique et de l’ingénierie. La tendance actuelle, en particulier dans l’industrie, est de commencer par construire un modèle mathématique précis du système à contrôler, puis de s’en servir pour calculer les actions à entreprendre en fonction des consignes.

Devant la difficulté et le coût de l’élaboration (puis du paramétrage) d’un modèle, une alternative souvent adoptée est de l’apprendre. Doter un contrôleur de capacités d’apprentis-sage, afin qu’il se construise lui-même un modèle du système contrôlé pour ensuite l’exploiter et calculer les actions à entreprendre, est une solution séduisante. Cependant, elle montre ses limites sur les systèmes complexes. En effet, l’utilisation qui est faite du modèle est tributaire de la complexité de celui-ci. La complexité d’un modèle, notamment la non-linéarité, rend

(14)

rapidement le calcul du contrôle bien trop coûteux, voire tout bonnement impossible. Il existe une autre possibilité : apprendre non pas un modèle du système contrôlé, mais le contrôle lui-même. La difficulté est ainsi contournée, puisque si la complexité du contrôle demeure, celle du système contrôlé est en quelque sorte masquée. On ne se concentre que sur ses entrées et sorties, sans chercher à expliciter son fonctionnement interne.

L’objectif de cette thèse est donc de concevoir un système capable d’apprendre à contrôler, sans posséder de connaissances préalables sur le système auquel il s’applique. L’apprentissage doit se faire en temps réel, à partir de l’observation des entrées et des sorties du système contrôlé.

L’intérêt du contrôle de moteurs

Le système de contrôle présenté dans cette thèse se veut générique. Néanmoins, disposer d’un terrain d’expérimentation concret permet de se confronter à des problèmes réels. Cela est donc primordial dans le cadre de travaux sur le contrôle. Pour cette thèse, il s’agit des moteurs à combustion.

Au cours des dernières années, les moteurs à combustion interne utilisés par l’industrie automobile se sont significativement complexifiés. On note en particulier les arrivées de nouvelles technologies comme les filtres à particules, ou encore les systèmes EGR (Exhaust Gas Recirculation) permettant de recycler les gaz d’échappement. Ces innovations améliorent le rendement des moteurs, mais, en contrepartie, elles en complexifient d’autant plus le contrôle. En outre, les exigences sur les performances des moteurs se sont accrues, principalement en raison du renforcement des normes antipollution. Dans ces conditions, le contrôle prend une place cruciale. En effet, la manipulation adéquate des paramètres d’entrée d’un moteur est garante de la satisfaction de ces exigences.

L’électronique et le numérique, maintenant bien implantés dans le domaine de l’automo-bile, permettent la mise en œuvre des techniques avancées de contrôle, issues de l’informatique (citons par exemple la commande prédictive, basée sur l’utilisation de modèles). Un moteur étant un système dynamique, non-linéaire, bruité et instable, il représente un défi d’envergure quant à l’apprentissage de son contrôle. Les moteurs à combustion constituent donc un domaine d’application très intéressant.

Un projet multidisciplinaire

La plus grande partie des travaux présentés dans ce document se sont déroulés au sein du projet ORIANNE (Outil numéRIque pour le mAquettage de foNctions de coNtrôle motEur). Ce projet, soutenu par le Fond Unique Interministériel, a pour but d’élaborer un outil permettant le prototypage rapide d’un contrôleur de moteur. Il inclut des problématiques allant du matériel électronique utilisé pour le calculateur à la conception de son logiciel. Aussi, il implique de nombreux partenaires, industriels comme académiques, provenant d’horizons variés :

(15)

– Aboard Engineering, bureau d’études en automatique, électronique et informatique industrielle, et leader du projet ;

– FH Electronics, concepteur de calculateurs électroniques embarqués ; – Renault, constructeur automobile ;

– le Centre d’Étude et de Recherche Technologique en Aérothermique et Moteurs (CER-TAM) ;

– le Centre d’Études Vibro-Acoustiques pour l’Automobile (CEVAA) ; – l’Institut de Recherche en Systèmes Électroniques Embarqués (IRSEEM) ;

– l’Institut de Recherche en Informatique de Toulouse (IRIT), représenté par l’équipe de recherche Systèmes Multi-Agents Coopératifs (SMAC).

La tâche dédiée à l’IRIT concerne la conception d’un outil de calibration automatique, c’est-à-dire un système capable d’apprendre le paramétrage optimal du logiciel d’un calculateur. Cette tâche s’apparente en fait à l’apprentissage du contrôle du moteur, et a constitué l’activité centrale de cette thèse.

Organisation du document

Le premier chapitre de ce document précise le contexte de nos travaux. Il trace un bref historique du contrôle de systèmes, en aborde les notions élémentaires, et présente le cas particulier du contrôle de moteurs. Il met le doigt sur la nécessité d’apprendre le contrôle.

Le second chapitre est un état de l’art des méthodes de contrôle, ainsi que des techniques d’apprentissage artificiel. Il présente un large éventail d’approches, et en étudie les manques. Il souligne notamment la difficulté que représente l’instanciation des méthodes existantes à un cas concret.

C’est dans le chapitre 3 que sont introduits les systèmes multi-agents. Cette branche particulière de l’intelligence artificielle présente de nombreuses qualités intéressantes vis-à-vis des problèmes posés par le contrôle de systèmes et son apprentissage. Les notions d’auto-organisation et d’émergence sont abordées, puis la théorie des systèmes multi-agents adaptatifs (Adaptive Multi-Agent Systems, AMAS) est exposée. Cette approche place la notion de coopération au centre du comportement des agents, et permet de concevoir des systèmes auto-organisateurs dotés d’une grande capacité d’adaptation et d’apprentissage.

Le chapitre 4 présente et analyse ESCHER (Emergent Self-adaptive Controller for Heat Engine calibRation), un système multi-agent adaptatif capable d’apprendre en temps réel le contrôle d’un système complexe. Conçu et développé durant cette thèse, il en constitue la principale contribution.

En réponse au problème récurrent de l’indisponibilité de certaines ressources critiques dans un projet (en l’occurrence celle d’un moteur et de son banc d’essai), ainsi que pour assurer la généricité de ESCHER, ce dernier a été testé sur des "boîtes noires" tout au long de son développement. Ces boîtes ont été générées par BACH (Builder of Abstract maCHines), un autre système multi-agent adaptatif conçu et développé lors de cette thèse. Il est présenté dans le chapitre 5.

(16)

Enfin, le chapitre 6 montre les expérimentations conduites sur des boîtes noires générées, ainsi que sur un moteur réel. Les résultats obtenus aboutissent à la validation des deux systèmes, et à la caractérisation de leurs limites.

(17)

CHAPITRE

1

Contexte de la thèse

L’objectif de ce chapitre est d’introduire la problématique générale du contrôle de systèmes complexes, et de préciser les objectifs de cette thèse. La première partie du chapitre s’intéresse au contrôle de manière générale, esquisse un rapide historique et pose les principales défini-tions, tandis que la deuxième partie se concentre sur le contrôle de moteurs à combustion interne.

1.1

Le contrôle de systèmes complexes

Le contrôle est une notion très générique qui s’exprime de bien des manières. Cette section consiste en une présentation générale du contrôle de systèmes, de son histoire et des principaux concepts manipulés.

1.1.1 Historique

Depuis toujours, les humains cherchent à agir sur l’environnement afin d’améliorer leur condition. Trouver quelles sont les actions à entreprendre pour arriver à ses fins est l’essence même du contrôle. On parle plus précisément de contrôle de systèmes lorsque ces actions sont effectuées sur les entrées d’un système particulier. Avant d’être une science théorisée, le contrôle relevait purement de l’ingénierie car il est fortement ancré dans les problèmes pratiques.

1.1.1.1 La clepsydre de Ctésibios

Un des exemples les plus connus nous est donné par le problème de la mesure du temps dans l’Antiquité. La clepsydre égyptienne est en effet un des premiers systèmes sur lequel fut appliqué un raisonnement de contrôle afin d’en améliorer le fonctionnement. Une clepsydre égyptienne consiste en un réservoir, rempli d’eau, dont la base est trouée. L’eau s’écoule progressivement par ce trou et est réceptionnée dans un deuxième récipient. Celui-ci est

(18)

Figure 1.1 – Schéma de la clepsydre grecque de Ctésibios.

gradué, de sorte que le niveau d’eau indique une mesure du temps passé. Cependant le volume d’eau du premier seau diminuant petit à petit, la pression exercée devient de moins en moins importante. Cela cause une variation du débit entre les deux récipients qui entraîne une approximation de plus en plus importante des mesures. C’est pour remédier à ce problème que le grec Ctésibios d’Alexandrie proposa, au IIIesiècle avant J-C, d’ajouter un troisième seau (Ronan 1983). Celui-ci est placé entre les deux récipients originaux, et son niveau d’eau est maintenu constant à l’aide d’un mécanisme de rejet du surplus d’eau (figure 1.1). Ainsi le débit entrant du vase gradué ne varie plus et les mesures sont plus précises. Révolutionnaire à l’époque, le même principe est encore utilisé aujourd’hui, par exemple dans les carburateurs de voiture.

Cet exemple de système de contrôle automatique illustre la volonté d’alimenter de manière adéquate un système afin que celui-ci donne le résultat attendu. Dans le cas de la clepsydre de Ctésibios, il s’agit d’une forme particulière du contrôle, la régulation, qui consiste à s’assurer de la stabilité de l’activité d’un système. Mais le contrôle consiste aussi (et surtout) à être capable de faire varier la sortie d’un système selon les souhaits de l’utilisateur.

1.1.1.2 De la révolution industrielle à nos jours

C’est au XIXesiècle, lors de la révolution industrielle, que l’utilisation massive de machines donna aux systèmes de contrôle automatique une importance cruciale. Réguler température,

(19)

pression, et autres niveaux ne pouvait effectivement pas se faire manuellement sur des systèmes tels que les machines à vapeur. Toutefois, les contrôleurs de l’époque manquaient encore de recul théorique et étaient majoritairement élaborés à partir de l’expérience et de l’intuition des ingénieurs.

Quelques percées mathématiques eurent tout de même lieu et conduisirent plus tard à la théorie du contrôle. Par exemple, le mathématicien et astronome George Biddell Airy utilisa en 1840 des équations différentielles pour caractériser l’instabilité d’un système de contrôle de télescope. La publication en 1868 d’un article de James Clerk Maxwell sur les régulateurs à boules (un système mécanique de régulation de la vitesse de rotation des machines à vapeur) est aujourd’hui considérée comme le début de la théorie du contrôle.

Jusqu’au début du XXesiècle, la notion de système était absente. Les concepts d’entrée et de sortie firent leur apparition à cette époque avec l’arrivée de la théorie des systèmes. Ce siècle fut marqué par les deux guerres mondiales ainsi que par l’essor des télécommunications. Les guerres appuyèrent les recherches sur le guidage d’engins et sur la visée de missiles. Les contrôleurs de type PID, une technique toujours d’actualité (présentée dans le chapitre suivant), furent, notamment, utilisés pour la première fois en 1911 pour le contrôle de la direction de navires, avant d’être analysés théoriquement en 1922 (Minorsky 1922).

Les technologies de communication à distance firent quant à elles naître des problé-matiques d’amplification du signal et donnèrent lieu à la notion de rétroaction négative, découverte par Harold Stephen Black en 1927. Elles entraînèrent également l’application des travaux de mathématiciens du siècle précédent, comme Augustin-Louis Cauchy ou Joseph Fourier, ouvrant la voie du contrôle par domaine fréquentiel.

Les travaux publiés jusqu’à cette époque constituent ce que l’on appelle aujourd’hui la théorie classique du contrôle. Suffisante dans beaucoup de cas, cette théorie est néanmoins en difficulté face aux systèmes non-linéaires et possédant plusieurs entrées et sorties. L’intérêt se porta alors sur le contrôle optimal, qui vise à réduire une certaine mesure de coût de fonctionnement d’un système, et sur l’utilisation d’équations différentielles pour analyser les systèmes et leur contrôle. C’est à ce moment que la discipline du contrôle rencontra celle de l’informatique, alors en plein développement. La faculté de cette dernière à calculer les solutions d’équations complexes a favorisé la mise en équation des systèmes de contrôle, ainsi que la modélisation mathématique des systèmes contrôlés. Cette tendance se poursuit depuis les années 70 et est progressivement complétée par l’utilisation de techniques issues de l’intelligence artificielle, en particulier les algorithmes d’apprentissage.

Ce bref historique appuie sur le lien entre la théorie du contrôle et les besoins représentatifs des époques et des technologies dans lesquelles elle s’inscrit. Les méthodes de contrôle, créées bien souvent par des spécialistes du domaine d’application, ont des objectifs variés (régulation, optimisation, maîtrise, etc) qui trouvent tous une solution en la manipulation adéquate des entrées d’un système.

La section suivante expose les concepts fondamentaux utiles pour aborder le problème du contrôle.

(20)

1.1.2 Définitions et concepts fondamentaux

Le contrôle de systèmes est au carrefour de plusieurs disciplines : automatique, mathéma-tique et aujourd’hui informamathéma-tique, et s’étend à de nombreux domaines d’application (biologie, physique, chimie, etc) apportant chacun leur vision du problème, leurs exigences et leurs contraintes. L’étude des systèmes et de leur contrôle met tout de même à jours des traits communs, faisant apparaître des concepts propres au contrôle, présentés dans cette section.

1.1.2.1 La notion de système

La notion de contrôle ne saurait se départir de celle de système. Cette dernière prend différentes formes selon la discipline concernée. Mathématiques, informatique, physique ou encore automatique considèrent un "système" sous différents angles. Deux aspects complé-mentaires peuvent être mis en avant. Un système peut être décrit selon son aspect structurel. Il est alors présenté comme un ensemble d’éléments constitutifs, leurs relations et par une frontière déterminant l’interface entre le système et son environnement. Mais un système peut également être abordé selon son aspect fonctionnel. On s’intéresse alors aux flux d’infor-mation. L’accent est mis sur les entrées et les sorties (du système ou de ses composants) et sur le processus de transformation qui lie les premières aux secondes.

Le contrôle privilégie généralement ce deuxième point de vue. Les sorties sont les va-riables observables à l’aide de capteurs tandis que les entrées sont les vava-riables directement modifiables à l’aide d’effecteurs.

Un système ne possédant qu’une entrée et qu’une sortie est dit SISO (Simple-Input and Simple-Output), il est qualifié de MIMO lorsqu’il en possède plusieurs (Multiple-Input and Multiple-Output).

La théorie des systèmes dynamiques exprime l’évolution d’un système au cours du temps comme le résultat d’une fonction prenant en argument son état (la valeur de ses entrées et sorties) ainsi que les actions appliquées sur ses entrées :

dx

dt = f(x, u)

où x est un vecteur comprenant les entrées et les sorties du système, u un vecteur comprenant les modifications effectuées sur les entrées et f représente le processus de transformation qui caractérise le système. La linéarité de cette fonction définit celle du système.

Un système est ainsi dit linéaire si son état évolue linéairement par rapport à son état précédent et aux actions sur ses entrées. Cela en fait un système relativement aisé à contrôler, en raison de l’absence de minimums locaux sur f .

La classe des systèmes affines en contrôle est un peu plus difficile à gérer. Ces systèmes évoluent linéairement par rapport aux contrôles appliqués et non-linéairement par rapport à leur état courant (Sontag 1998) :

dx

(21)

où f et g sont des fonctions quelconques, potentiellement non-linéaires. La composante linéaire de ces systèmes permet toutefois l’application de méthodes mathématiques de linéarisation facilitant par la suite le contrôle.

Enfin, les systèmes non-linéaires sont les systèmes dont l’évolution dépend de manière non-linéaire de son état comme des actions sur les entrées.

La non-linéarité fait partie des critères définissant les systèmes complexes. La complexité découle également de la difficulté, voire de l’impossibilité, d’identifier tous les mécanismes en jeu dans le système, et donc de prévoir son comportement. Certains des éléments et des relations du système, ou de son environnement, peuvent être incertains ou inaccessibles. Cela peut apparaître lorsqu’un très grand nombre d’éléments sont en jeu, que le graphe des relations n’est pas trivial (c’est-à-dire qu’il présente des cycles et que certains liens sont privilégiés), ou que certaines variables sont trop dynamiques ou physiquement non mesurables. En outre, ce type de systèmes présente fréquemment plusieurs niveaux : les éléments interagissant localement sont eux-mêmes des systèmes plus ou moins complexes, compliquant considérablement l’étude du système global.

Dans ce type de cas, les techniques classiques de contrôle telles que celles présentées en début de chapitre 2 ne peuvent s’appliquer efficacement, ce qui fait que le contrôle de systèmes complexes est un domaine de recherche actif.

1.1.2.2 La notion de contrôle

Le rôle d’un contrôleur est de transformer les souhaits de l’utilisateur en actions adéquates sur un système. On appelle consigne la valeur que les sorties doivent atteindre et commande les actions du contrôleur sur le système contrôlé, lui-même souvent désigné par le terme procédé. Lorsque le contrôleur ne bénéficie d’aucun retour sur les actions qu’il effectue, comme illustré par la figure 1.2, le contrôle est dit en boucle ouverte.

Figure 1.2 – Contrôle en boucle ouverte.

Le contrôle d’un système est donc la manipulation adéquate de ses entrées en regard des buts de l’utilisateur sur ses sorties. De cette définition générique découlent un certain nombre de sous-problèmes de "contrôle" à plusieurs niveaux. Un exemple du quotidien illustre bien cette situation : les véhicules motorisés. Si l’utilisateur d’une voiture désire accélérer, il va en donner la consigne par le biais de la pédale d’accélération. Plusieurs commandes doivent être entreprises sur le moteur pour respecter cette consigne. Ces commandes impliquent des actions de la part de différents effecteurs (valves, injecteurs, etc), qui doivent à leur tour être contrôlés afin de s’assurer que leur action (angle d’ouverture, durée d’injection, etc) est correcte et coordonnée avec les autres actions en cours.

(22)

Le contrôle peut comprendre la résolution de contraintes (maintenir des sorties au-dessus ou au-dessous d’un certain seuil) ainsi que des objectifs d’optimisation (minimiser ou maximiser des sorties). Lorsque la consigne est fixe (il s’agit de maintenir le procédé dans un état stable), le contrôle est appelé régulation. On parle de contrôle robuste lorsque celui-ci doit s’adapter à des changements dans le systèmes contrôlé, tel que des pannes ou du bruit sur les données.

La cybernétique, se focalisant sur les échanges d’information, a défini des concepts importants tels que ceux de boîte noire et de rétroaction (Wiener 1948).

Une boîte noire est un système dont l’intérieur est inaccessible. On ne peut connaître ni sa structure ni son fonctionnement interne. Il faut se reposer sur l’observation de ses sorties pour en déduire sa fonction. C’est un point de vue adopté par un certain nombre de systèmes de contrôle, par exemple ceux qui s’appliquent à des procédés trop complexes pour être modélisés.

La rétroaction (ou feedback, en anglais) est l’action que produit un phénomène en retour sur ses propres causes. Une rétroaction est dite positive si elle tend à amplifier le phénomène, et négative si elle tend au contraire à l’amortir. Dans le cadre du contrôle de système, la rétroaction se traduit par le fait que le contrôle d’un système est influencé par l’erreur entre la sortie du système et la consigne. Un exemple bien connu est celui du thermostat. Les contrôleurs basés sur le principe de rétroaction sont dits en boucle fermée (figure 1.3), ils constituent l’immense majorité des systèmes de contrôle actuels. Ainsi, le comportement du système contrôlé influence celui de son contrôleur et réciproquement. Les deux systèmes sont couplés.

Figure 1.3 – Contrôle en boucle fermée.

La cybernétique apporte un éclairage important sur ce couplage entre contrôleur et procédé. La variété, notion analogue à celle de complexité, est le nombre d’états et de comportements différents que peut prendre un système donné. La loi de la variété requise stipule que la variété du système de contrôle doit être supérieure ou égale à celle du système contrôlé (Ashby 1956). Cette loi s’explique assez bien de manière intuitive. Le rôle d’un contrôleur est d’amener et de maintenir un système dans un état désiré. Il faut donc qu’à chaque état du système contrôlé corresponde un état du contrôleur en mesure de le gérer. Si cette condition n’est pas respectée, il peut se trouver des situations dans lesquelles le contrôleur n’est plus "maître" de la situation. Il est pris au dépourvu par un comportement inédit du procédé contrôlé, et il se produit alors une inversion du contrôle.

(23)

La section suivante s’intéresse au contrôle appliqué aux moteurs à combustion interne dans l’industrie automobile. Ce champ d’application a constitué le terrain d’expérimentation des travaux de cette thèse et a permis de nous confronter à des problèmes bien concrets.

1.2

Le contrôle de moteurs à combustion

Les moteurs à combustion sont des systèmes non-linéaires, dont les sorties sont fortement bruitées et sur lesquelles l’effet d’une action en entrée peut se manifester sur diverses échelles de temps. Contrôler un moteur permet d’en optimiser le comportement mais demeure une tâche complexe. Cette section en expose les principales caractéristiques.

1.2.1 L’unité de contrôle moteur

Les avancées technologiques des moteurs à combustion, aussi bien essences que diesels, ont permis d’en améliorer significativement les performances. Mais ces dernières, couplées au durcissement des normes anti-pollution, ont également provoqué la complexification de leur contrôle.

Le contrôleur d’un moteur est un calculateur embarqué, appelé unité de contrôle moteur (ou ECU, pour Engine Control Unit), sur lequel s’exécute un logiciel appliquant des stratégies de contrôle. Son rôle est de transformer la demande de couple issue de la pédale d’accélé-rateur en actions sur les effecteurs du moteur de manière à ce que le couple souhaité soit obtenu. Ce faisant, le contrôleur doit assurer le respect de nombreux critères hétérogènes et parfois contradictoires, tels que le respect de seuils de pollution et les besoins d’optimisation (maximisation de la puissance développée, minimisation de la consommation de carburant).

Le nombre et la nature des entrées et des sorties d’un moteur varie avec ses caractéris-tiques et ses fonctionnalités (par exemple le nombre de cylindres, la présence ou non d’une vanne EGR1, etc). La figure 1.4 montre un exemple d’ECU couplé à un moteur essence avec les entrées et sorties de chacun des systèmes. De nombreux paramètres influencent le comportement d’un moteur, mais tous ne sont pas contrôlables par un ECU (par exemple la pression atmosphérique). De même, toutes les sorties d’un moteur ne sont pas nécessairement mesurables par l’ECU, selon l’instrumentation du moteur (en particulier la concentration des divers gaz ou la température et la pression en divers points nécessitent l’utilisation de sondes dont un moteur série n’est pas équipé). Le contrôleur doit donc gérer avec l’indisponibilité de certaines mesures. Le plus souvent celles-ci sont estimées à l’aide de modèles mathématiques des phénomènes physiques en jeu localement.

Le logiciel d’un ECU est généralement composé de deux couches. La couche haute trans-forme la consigne de couple en commandes de "haut niveau" (comme la durée des injections, le débit de carburant ou encore l’avance à l’allumage) que la couche basse traduit en actions sur le moteur (ouverture/fermeture de valves, etc). Ces couches sont elles-mêmes constituées de "sous-systèmes de contrôle" interdépendants, correspondant aux blocs fonctionnels propres

1. Exhaust Gas Recirculation, il s’agit d’un circuit particulier permettant la réutilisation des gaz d’échappement comme comburant et visant à réduire l’émission d’oxydes d’azote.

(24)

Figure 1.4 – Exemples d’entrées et de sorties d’un moteur essence et de son ECU.

à chaque moteur (débimétrie air, débimétrie essence, distribution, etc). Une troisième couche de contrôle, cette fois-ci électronique, s’assure que les actions calculées par la couche logicielle basse sont correctement effectuées. Bien entendu, cette thèse en informatique se concentre uniquement sur la partie logicielle de l’ECU.

1.2.2 La mise au point d’un ECU

Le développement du logiciel d’un ECU présente les difficultés classiques de l’optimisation multi-critère. En effet, le respect des réglementations sur l’émission de polluants ainsi que les diverses optimisations sont gérées durant la phase de mise au point. Les stratégies de contrôle sont élaborées manuellement à partir de l’expertise des ingénieurs. Elles définissent les calculs menant à la production des diverses consignes et commandes. Elle s’appuient notamment sur des tables, les cartographies, qui mettent le plus souvent en relation la valeur courante de la charge et du régime avec celle d’une variable de contrôle (par exemple l’avance à l’allumage). Il faut alors trouver les bonnes valeurs à affecter à ces cartographies de manière à ce que la réponse du moteur soit celle souhaitée. C’est la calibration.

Les valeurs de la charge et du régime définissent un point de fonctionnement moteur. Pour chaque point de fonctionnement, on cherche notamment à maximiser le couple, à minimiser la consommation et à rester en dessous des seuils de polluants (oxydes d’azote, particules, dioxyde de carbone) et de température (afin d’éviter la surchauffe). Ces critères sont souvent contradictoires, il faut donc trouver les réglages offrant un "bon" compromis, lui-même à définir par l’ingénieur. Par exemple, on peut obtenir un couple maximum très haut au prix

(25)

d’une plus grosse consommation. Le meilleur compromis dépend de l’utilisation future du moteur.

La calibration de l’ECU vise donc à optimiser le comportement du moteur. Elle demande de nombreux essais moteur, allant des différents bancs aux essais en roulage (et souvent de nombreux allers-retours entre ces étapes), afin de caractériser le moteur, c’est-à-dire d’identifier des points de fonctionnement intéressants, de connaître son comportement sur ces points, et d’alimenter les cartographies en conséquence. Le réglage définitif est obtenu en balayant manuellement un premier paramètre tout en fixant les autres. Sa valeur est fixée lorsque la sortie considérée (couple, consommation, etc) atteint sa "meilleure" valeur. Un second paramètre est ensuite balayé en suivant la même procédure, et ainsi de suite. Des retours sur un paramètre déjà arrêté sont éventuellement nécessaires si un optimum de la chaîne n’est pas capable de satisfaire certains critères importants.

Seule la demande de couple est une consigne prévue pour être dynamique durant le fonc-tionnement du contrôleur. Les autres consignes (les contraintes et les objectifs d’optimisation) sont statiques et prises en compte durant la phase de mise au point. Aussi, l’ECU doit être à nouveau calibré si les critères d’optimisation sont modifiés, ou lorsque le comportement du moteur évolue sous l’effet de l’usure et de l’encrassement de ses pièces mécaniques.

La nature complexe du comportement d’un moteur, le nombre important de paramètres (provenant tout autant du nombre d’effecteurs que des stratégies de contrôle en cascade rigides), et les critères variés et parfois divergents rendent la calibration très difficile. Pour un moteur nouveau, la mise au point dure plusieurs mois, parfois plus d’un an. C’est une procédure que les industriels cherchent donc à accélérer.

1.3

Objectifs de la thèse

Produire un ECU complet permettant le prototypage rapide de fonctions de contrôle moteur était justement le but du projet auquel les travaux de cette thèse ont pris part. Le projet Orianne impliquait en particulier la définition de stratégies de contrôles génériques et le développement d’un logiciel de calibration automatique de ces stratégies.

Concevoir et développer un programme informatique capable de calibrer automatique-ment le calculateur était ainsi l’objectif premier de cette thèse. Dans ce contexte, calibrer signifie trouver la valeur adéquate des paramètres de l’ECU telle que les sorties du moteur sont conformes aux attentes. Cela revient en fait à effectuer le contrôle du système composé de l’union de l’ECU et du moteur. Les entrées de ce système sont les paramètres de calibration de l’ECU et les sorties sont celles que l’on observe sur le moteur (figure 1.5).

Toutefois, il n’est ici pas question de fournir à ce nouveau contrôleur des stratégies et des modèles préétablis. Ce serait décaler le problème initial sans le résoudre (on en revient à la loi de la variété requise, qui interdit de réduire la complexité). Le contrôleur à développer doit être capable d’apprendre lui-même le contrôle. Autrement dit, le système à développer doit trouver la valeur adéquate des entrées du système contrôlé, assurant le respect de critères imposés par l’utilisateur, et ce sans l’aide information préalable sur le système contrôlé. Les

(26)

Figure 1.5 – Positionnement du système à développer.

seuls éléments renseignés a priori sont les critères à respecter sur les sorties, ceux-ci pouvant éventuellement changer dynamiquement. Le contrôleur doit ensuite apprendre comment les respecter en se basant uniquement sur l’observation en ligne des effets de ses actions.

C’est pourquoi l’objectif de cette thèse n’est pas tant la conception d’un système de calibra-tion automatique mais bien celle d’un système de contrôle, avec la contrainte supplémentaire de ne requérir aucune information préalable sur le système contrôlé. Un tel système est ainsi générique, puisqu’il ne fait pas d’hypothèse sur le système contrôlé, et rapide à instancier à un procédé particulier, puisqu’il ne requiert ni modèle ni autre information préalable que les objectifs à atteindre.

Bien sur, plutôt que de trouver un paramétrage de l’ECU, un tel système peut en théorie remplacer le logiciel de ce dernier et contrôler directement un moteur. En pratique néanmoins, les fortes contraintes techniques de l’électronique embarquée ainsi que les besoins spécifiques liés au projet rendent irréaliste un tel objectif sur la durée d’une thèse.

1.4

Conclusion

Ce chapitre a introduit le domaine du contrôle de systèmes et présenté les objectifs de la thèse. Calibrer automatiquement revenant à contrôler et apprendre simultanément, ces objectifs consistent donc en la conception et l’implémentation d’un contrôleur générique, facile à instancier et capable d’apprentissage.

Le chapitre suivant explore les méthodes de contrôle et les techniques d’apprentissage actuelles afin d’en étudier la compatibilité avec les objectifs fixés et de préciser la définition de ces derniers.

(27)

CHAPITRE

2

Contrôle de systèmes complexes et

apprentissage artificiel

L’objectif de ce chapitre est de donner une vue d’ensemble à la fois des techniques actuelles de contrôle de systèmes complexes et des méthodes d’apprentissage artificiel, qui semblent de prime abord pertinentes pour aborder la problématique évoquée au chapitre précédent.

Les techniques de contrôle se répartissent en trois grandes familles. Nous commencerons par les approches classiques : les contrôleurs PID, qui sont les plus répandus dans l’industrie, et les contrôleurs adaptatifs, plus efficaces sur les systèmes complexes. Les contrôleurs in-telligents, faisant appel à des techniques d’intelligence artificielle (IA) pour améliorer leurs performances, seront introduits après avoir fait un tour d’horizon des méthodes d’appren-tissage automatique dont ils usent. Ces approches de contrôle seront évaluées selon leur capacité à être appliquées à de nombreux domaines (généricité), leur facilité d’instanciation à un procédé particulier, leur capacité à suivre l’évolution dans le temps du système contrôlé (adaptativité) ainsi que leur faculté à apprendre le fonctionnement du procédé ou au contraire leur besoin de connaissances a priori (apprentissage). Enfin nous ferons un point sur les méthodes actuellement appliquées aux moteurs.

2.1

Les classiques du contrôle de systèmes

Le contrôle de systèmes étant un domaine étudié depuis de nombreuses décennies, les méthodes proposées sont très diverses et se sont largement ramifiées, raffinées et combinées au cours du temps. Celles présentées dans cette section, même si elles font toujours l’objet de travaux de recherche, sont bien implantées dans l’industrie et sont considérées comme classiques.

(28)

2.1.1 Contrôleurs PID

Les contrôleurs PID sont très largement répandus dans l’industrie. Ils tirent leur nom des trois termes qu’ils calculent à partir du signal de rétroaction afin de le transformer en correction à appliquer sur la variable contrôlée : Proportionnelle, Intégrale et Dérivée (Astrom et Hagglund 1995).

– Le terme Proportionnel, aussi appelé gain, permet de tenir compte de l’erreur actuelle entre la valeur observée du signal de rétroaction et la consigne.

P=Kpe(t)

où Kpest une constante, e l’erreur actuelle et t le temps. Augmenter l’importance de ce

terme permet une convergence plus rapide vers la consigne mais dégrade rapidement la stabilité du système.

– Le terme Intégral sert à rendre le contrôle plus précis en prenant en compte l’erreur sur la durée.

I = Ki

Z t

0 e

(τ)

où Ki est une constante, e l’erreur, t le temps, et τ la variable d’intégration. Augmenter

l’importance de ce terme tend à éliminer l’erreur statique, mais ralentit fortement le temps d’établissement d’un régime stationnaire car cela provoque un dépassement et des oscillations.

– Enfin, le terme Dérivé permet de considérer le taux de variation de l’erreur et donc d’avoir une estimation de sa future valeur. Ainsi, le contrôleur peut par exemple diminuer l’amplitude de sa correction lorsque l’erreur diminue et inversement.

D=Kd

de(t) dt

où Kd est une constante, e l’erreur et t le temps. Augmenter l’importance de ce terme tend donc à diminuer le dépassement et les oscillations, mais fait perdre en précision. En effet, l’amplitude de la correction diminuant avec l’erreur, il perdure une différence entre la réponse et la consigne, que l’on appelle erreur statique.

Ces trois termes sont ensuite combinés selon une méthode propre à l’instance de PID considérée. La plus classique est la somme, la formule générale de la commande u(t) d’un PID est alors exprimée comme :

u(t) =K  e(t) + 1 Ti Z t 0 e (τ)+Td de(t) dt  (2.1) où K, Ti, Td sont des constantes appelées respectivement gain, temps d’intégration et temps

de dérivation. Notons que selon les cas les fonctions I ou D peuvent être omises, on parle alors de contrôleurs P, PI ou PD.

(29)

Figure 2.1 – Réponse d’un PID.

La figure 2.1 montre une réponse typique d’un PID (mal réglé) sur un procédé stable. Aussi, pour fonctionner correctement sur un système particulier, un contrôleur PID nécessite d’être paramétré avec justesse. Trouver les valeurs des constantes qui permettent un bon compromis entre rapidité et précision est un problème compliqué qui est parfois la raison principale de la désactivation d’une des fonctions. De nombreuses méthodes ont été développées pour faciliter le paramétrage des PID, la plus connue étant certainement la méthode de Ziegler-Nichols.

2.1.1.1 Méthode de Ziegler-Nichols

Ziegler et Nichols ont étudié l’influence des paramètres K, Ti, Td de l’équation 2.1 afin

de fournir aux ingénieurs une technique plus simple de paramétrage (Ziegler et Nichols 1942). La méthode consiste à désactiver les fonctions Intégrale et Dérivée du PID, par exemple en définissant Ti = +∞ et Td = 0. À consigne fixe, le gain K est ensuite mis à zéro puis

progressivement augmenté, jusqu’à ce qu’il atteigne une valeur critique Kcritpour laquelle la

réponse oscille de manière périodique autour d’une valeur stable. On note T la période de ces oscillations. Le tableau 2.1 donne les valeurs à appliquer aux paramètres selon le type de contrôleur (P, PI ou PID).

Table 2.1 – Ajustement d’un contrôleur PID selon la méthode de Ziegler-Nichols. Contrôle K Ti Td

P Kcrit/2

PI Kcrit/2.2 T/1.2

PID Kcrit/1.7 T/2 T/8

Cette méthode donne des résultats globalement bons mais n’est pas toujours optimale. En outre, l’exploration des valeurs de K peut amener le procédé vers des états instables et donc rendre l’application de la méthode impossible à certains systèmes. De nombreuses variations ont été développées, telles que celles de Valério et Sá da Costa 2006 ou de Mudi, Dey et Lee 2008, ou d’autres améliorant les résultats obtenus grâce à l’utilisation de la logique floue (Visioli 2001).

(30)

2.1.1.2 Limites des PID

Étant appliqués à de nombreux domaines, la généricité des PID n’est plus à démontrer. Cependant, elle est obtenue au prix d’un lourd travail de paramétrage demandant une connaissance approfondie aussi bien du fonctionnement du contrôleur que du procédé contrôlé. En outre, la fiabilité du matériel est importante puisque les PID réagissent mal aux imprécisions sur les mesures ainsi qu’à l’évolution au cours du temps du procédé contrôlé. Pour répondre à ce problème, des méthodes de paramétrage dynamique, permettant de mettre à jour les paramètres à la volée, ont été étudiées mais restent limitées à certaines classes de procédés (Chang, Hwang et Hsieh 2002) ce qui en limite fortement le caractère générique.

Utilisés seuls, les contrôleurs PID suffisent pour les systèmes dont la dynamique est inférieure au second ordre et où les exigences sur les performances du contrôle sont peu importantes. Sinon, il est nécessaire de leur adjoindre des mécanismes permettant d’optimiser leur comportement, parmi lesquels on note la logique floue (Carvajal, Chen et Ogmen 2000), la mise en cascade de PID (Lee, Park et Lee 1998), l’implémentation sous forme de réseau de neurones artificiels (Shu et Pi 2000), ou encore le principe du feed-forward, c’est-à-dire l’utilisation de connaissances extérieures relatives au procédé contrôlé (Mizumoto et al. 2010). Ces raffinements font pour la plupart partie du "contrôle intelligent" qui sera abordé plus tard.

Enfin, une limite importante à l’utilisation des PID est que l’algorithme de base ne prévoit qu’un seul signal de rétroaction et ne contrôle qu’une seule variable. Des méthodes de composition de plusieurs PID permettant de gérer des systèmes MIMO existent (Ayadi et Benhadj 2005), mais leur instanciation n’en est que plus difficile.

2.1.1.3 Bilan des PID

En conclusion, l’algorithme de base des PID est générique mais limité aux systèmes SISO, de faible dynamique et stables dans le temps. Ses raffinements lui permettent de s’étendre à d’autres classes de problèmes mais souffrent en contrepartie de la nécessité d’un lourd travail pour être appliqués à un procédé particulier. En outre cette instanciation demande de la part de l’utilisateur de bonnes connaissances sur le système contrôlé. Ces remarques sont récapitulées par le tableau 2.2.

Table 2.2 – Bilan des PID.

Critère PID

Généricité +

Instanciation

-Adaptativité

-Apprentissage Aucun (la connaissance du procédé est implicitement contenue dans le paramétrage)

(31)

Les PID constituent souvent la couche basse de l’implémentation de systèmes de contrôle plus évolués. Ces systèmes, gérant plusieurs variables et une dynamique plus complexe, pro-duisent des consignes envoyées aux PID qui contrôlent chacun une seule variable spécifique.

2.1.2 Contrôle adaptatif

Les caractéristiques de certains procédés évoluent au cours du temps, leur contrôle néces-site alors d’être réajusté. Un exemple courant est la température d’un moteur à combustion, augmentant avec le temps lorsque le moteur est en fonctionnement et influant grandement sur son comportement. Les méthodes s’attaquant à ce problème sont regroupées sous le terme de contrôle adaptatif. Nous abordons ici les principales approches à savoir l’utilisation d’un modèle de référence, l’identification de modèle, le contrôle dual et le contrôle par apprentissage itératif.

2.1.2.1 Contrôle avec modèle de référence

Les systèmes de contrôle adaptatifs à modèle de référence (Model Reference Adaptive Controller, ou MRAC, en anglais) comprennent trois briques : un modèle mathématique du procédé contrôlé, un mécanisme d’ajustement de paramètres et le contrôleur à proprement parler (Whitaker, Yamron et Kezer 1958).

Figure 2.2 – Schéma d’un système MRAC.

Le schéma général d’un système MRAC est donné par la figure 2.2. L’idée de base est d’ajuster les paramètres du contrôleur (et donc modifier les commandes uctrlqu’il produit) afin

que la sortie du procédé yp se comporte comme celle de son modèle "idéal" yre f. Autrement

dit, l’ajustement des paramètres du contrôleur compense l’évolution du procédé. La consigne ucons n’a donc pas besoin d’être modifiée. C’est là une utilisation assez inhabituelle d’un

modèle puisqu’on ne cherche pas à l’ajuster pour qu’il reste fidèle au procédé, mais on ajuste le contrôle du procédé pour qu’il reste fidèle au modèle.

Le mécanisme d’ajustement est généralement basé sur un processus de type descente de gradient comme la MIT rule (du nom du célèbre institut), minimisant l’erreur entre yre f et yp

(32)

(Mareels et al. 1986). Il doit évidemment être choisi en adéquation avec le type de contrôleur utilisé, qui peut par exemple être un PID sous réserve de quelques ajustements (Braziunas 1992).

2.1.2.2 Contrôle avec identification de système

Plutôt que de se servir d’un modèle comme d’une référence à suivre, les systèmes de contrôle à identification de modèle (Model Identification Adaptive Controllers, ou MIAC, en anglais) cherchent à ajuster la représentation qu’ils ont du système contrôlé pour pouvoir paramétrer dynamiquement le contrôleur afin qu’il demeure adapté au procédé (Sastry et Bodson 1994). Les briques qui les composent sont semblables à celles des systèmes MRAC mais ne jouent pas exactement le même rôle (figure 2.3).

Figure 2.3 – Schéma d’un système MIAC.

Le mécanisme d’ajustement se base sur la connaissance préalable de la relation entre les paramètres du modèle identifié et ceux du contrôleur. Il ajuste dynamiquement les paramètres du contrôleur en fonction des informations que lui donne le système d’identification.

Branché sur les entrées et les sorties du procédé, le système d’identification a pour rôle d’en édifier et d’en maintenir un modèle. Ce modèle peut-être construit avec ou sans apport de connaissances préalables (on parle alors respectivement d’identification de boîte grise ou de boîte noire). L’identification de systèmes est une discipline à part entière qui, bien que fortement liée au domaine du contrôle, fait l’objet de travaux qui lui sont propres (Soderstrom et Stoica 1988). On y retrouve des méthodes de régression linéaire comme les moindres carrés (Chen, Billings et Luo 1989), de filtrage (Van Der Merwe et Wan 2001) ou encore des méthodes dites non-paramétriques basées sur l’analyse des entrées et sorties du procédé (analyse temporelle, analyse fréquentielle, etc) (Pintelon et Schoukens 2004), ainsi que des techniques d’intelligence artificielle comme la logique floue ou les réseaux de neurones (Xue et al. 2012). Du choix du système d’identification dépendra le mécanisme d’ajustement de paramètres, et donc indirectement, la loi de contrôle implémentée.

(33)

Notons enfin que MIAC comme MRAC constituent avant tout une architecture de contrôle et non une loi de contrôle décrivant exactement quelles actions sont à entreprendre sur le procédé comme peut l’être un PID.

2.1.2.3 Commande prédictive

Une variante largement répandue de système de contrôle avec modèle est la commande prédictive (Model Predictive Command, MPC, en anglais). Ici, la fonction du modèle est de prévoir les futures réactions possibles du système contrôlé. En explorant, grâce au modèle, l’espace d’états du procédé sur un horizon de temps fini, un algorithme d’optimisation calcule les meilleurs prochains contrôles à appliquer. L’algorithme général est représenté par la figure 2.4 (Nikolaou 2001).

Figure 2.4 – Algorithme général de la commande prédictive.

Cette méthode permet de gérer plusieurs entrées et sorties, et de prendre en compte des contraintes de manière explicite tout en maintenant des objectifs à plus ou moins long terme.

Figure

Figure 1.1 – Schéma de la clepsydre grecque de Ctésibios.
Figure 1.4 – Exemples d’entrées et de sorties d’un moteur essence et de son ECU.
Figure 2.2 – Schéma d’un système MRAC.
Figure 2.3 – Schéma d’un système MIAC.
+7

Références

Documents relatifs

Pour ce faire, nous devons, comme avec DEVS, définir la fermeture par composition dans MECSYCO, c’est à dire décrire un multi-modèle de manière équivalente à celle d’un

Therefore the decrease of the sheet resistance from the center to the periphery is attributed to the electrical activation of implanted dopants, which increases following the

Cette étude, telle que nous la proposons dans le cadre de notre travail, aura besoin d’un outil de simulation pour reproduire les comportements des véhicules équipés et

Plutôt que de se servir d’un modèle comme d’une référence à suivre, les systèmes de contrôle à identification de modèle (Model Identification Adaptive Controllers, ou MIAC,

Ce module paramétrable est com- patible avec un modèle à base d’agents : les Agents Butineuses, décrits dans la partie 4, inter- agissent avec ce module qui se base sur la

Dans cette section sont présentés les points remarquables de la procédure d’identification mise en place pour effec- tuer l’estimation paramétrique du multi-modèle à états

et représentés sous fornle de relation entrées/sorties.. Dans ce contexte, nous avons développé deux méthodes: MCA Carrés i\lternés) et MCMV (Moindres Carrés

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des