université du québec École de technologie supérieure gpa770: microélectronique appliquée Éric...
TRANSCRIPT
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-1
CONTENU DU COURS
A. MISE EN CONTEXTE
B. CONCEPTS LOGICIELS
(PROGRAMMATION EN ASSEMBLEUR ET
EN C)
C. CONCEPTS MATÉRIELS
(COMPOSANTS D’UN MICROCONTRÔLEUR)
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-2
Partie B − Concepts logiciels
B.1 Langage assembleur et programmation structurée:modes d’adressage et jeu d’instructionsboucles, pile et sous-routinesprogrammation structurée
B.2 Microcontrôleurs à logique floue: systèmes de contrôle à logique floueinstructions spécialisées du 68HC12
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-3
Sommaire de la Section B.2
B.2 Microcontrôleurs à logique floue:
1)Système de contrôle classique2)Système de contrôle flou:
a) fuzzification des entrées b) inférencec) dé-fuzzification
3)Opérations en logique floue du 68HCS12
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-4
B.2(1) Système de contrôle classique
Définition générale: tout système dont les sorties sont contrôlées par des entrées au système
Figure – système de contrôle classique:exploite un contrôleur classique
CONTRÔLEUR
CLASSIQUE
SYSTÈME À RÉGLERsignal
d’entréesignal de
sortiesignal de contrôle
signal de rétroaction
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-5
B.2(1) Système de contrôle classique
Structure interne d’un contrôleur classique:
RÉGULATEUR CLASSIQUE
ORGANE DE COMMANDE
signal d’entrée
signal de contrôle
signal de régulation
signal de rétroaction
signal du modèle
MODÈLE MATHÉMATIQUE
DE COMPORTEMENT
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-6
B.2(1) Système de contrôle classique
Caractéristiques d’un système avec contrôleur classique (PID ou autre):
dérive les lois de contrôle du système
comprend un modèle mathématique explicite du comportement de ce système…
doit être le plus précis possible pour modéliser
signal de contrôle ≡ fct(modèle, entrée désirée, rétroaction)
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-7
B.2(1) Système de contrôle classique
Désavantage de l’approche:doit avoir une excellente connaissance du phénomène, pour ensuite élaborer un modèle mathématique précis
le modèle peut être gros et imprécis pour un phénomène complexe
exemples en robotique: modélisation dynamique avec des système complexe d’équations différentielles
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-8
Sommaire de la Section B.2
B.2 Microcontrôleurs à logique floue:
1)Système de contrôle classique2)Système de contrôle flou:
a)fuzzification des entrées b)inférencec) dé-fuzzification
3)Opérations en logique floue du 68HC12
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-9
B.2(2) Système de contrôle flou
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-10
B.2(2) Système de contrôle flou
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-11
B.2(2) Système de contrôle flou
Pourquoi utiliser un contrôleur flou?implique une modélisation implicite:
ne dépend pas d’un modèle mathématique explicite et précis les algorithmes pour générer un signal de contrôle se basent sur des règles linguistiques:
‘SI → ALORS’pour les systèmes mal compris ou complexes, un contrôleur flou s’avère très intéressant...
Utilisé dans un grand nombre d’applications industrielles
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-12
B.2(2) Système de contrôle flou
Caractéristiques d’un système avec contrôleur flou:
technique en intelligence artificielle: approche qui s’inspire du système de contrôle biologiquedans la même vaine que les réseaux de neurones
dépendent des règles linguistiques, plutôt que des équations mathématiques
forme simple d’un système expert: contient les règles pour transformer les commandes d’entrée à des réponses de sortie
système d’accumulation de preuves: assigner une sortie du système selon un facteur de confiance
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-13
B.2(2) Système de contrôle flou
Structure interne d’un contrôleur à logique floue:
structure semblable à un système de contrôle classique
RÉGULATEUR À LOGIQUE
FLOUE
ORGANE DE COMMANDE
signal d’entrée
signal de contrôle
signal de régulation
signal de rétroaction
signal du modèle
MODÈLE IMPLICITE DE COMPORTEMENT
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-14
B.2(2) Système de contrôle flou
Architecture interne d’un régulateur à logique floue (RLF):
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-15
B.2(2) Système de contrôle flou
Architecture interne d’un régulateur à logique floue: (suite)
• RLF: régulateur à logique floue
• yM : signaux d’entrées • w : signal de rétroaction• ucm : signal de régulation fournit par
le RLF
• x : variable d’entrée floue • xR : variable de sortie floue
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-16
B.2(2) Système de contrôle flou
Processus d’un contrôleur à logique floue:
a) Fuzzification des entrées: transforme les valeurs d’entrées en quantités floues
b) Inférence (avec la base de règles): applique les règles aux entrées fuzzifiées afin de prendre les décisions floues
c) Dé-fuzzification: transforme les décisions floues en valeurs de sorties numériques déterminées
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-17
B.2(2) Système de contrôle flou
Architecture interne d’un contrôleur à logique floue:
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-18
B.2(2) Système de contrôle flou
(a) Fuzzification des entrées
Objectif:
assigner aux valeurs numériques xi en entrée un degré d’appartenance μ(xi) aux FAF d’entrée
Phase de conception: définir des FAF pour toutes les variables linguistiques d’entrée
Phase de traitement:
grandeurs physiques → variables linguistiques
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-19
B.2(2) Système de contrôle flou
(a) Fuzzification des entrées
Phase de conception:
Fonction d’appartenance floue (FAF): une instance d’une variable linguistique qui décrit l’entrée au contrôleur flouremarques:
chaque FAF est définit par l’expert du domaine
on doit avoir suffisamment de données réelles pour décrire l’état actuel du système
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-20
B.2(2) Système de contrôle flou(a)Fuzzification des entrées
En général, les FAF d’entrée sont des fonctions de forme:
1. trapézoïdales
2. triangulaires
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-21
B.2(2) Système de contrôle flou
(a) Fuzzification des entrées
Exemple 1: Soit le variable linguistique d’entrée x ≡ position. Assignez aux valeurs d’entrée un degré d’appartenance μ(x) aux 2 FAF d’entrée (associées à x)
entrée=3.0
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-22
B.2(2) Système de contrôle flou
(a) Fuzzification des entrées
Exemple 2: Soit une variable linguistique d’entrée x ≡ position, définie par 5 FAF d’entrée
pour chaque valeur numérique d’entrée, on fait correspondre les instances (NG, NM, …) de x selon un degré d’appartenance
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-23
B.2(2) Système de contrôle flou
Architecture interne d’un contrôleur à logique floue:
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-24
B.2(2) Système de contrôle flou
(b) Inférence (avec la base de règles)
Objectif: assigner une FAF résultante à chaque xR selon la relation entre variables d’entrées (xi) et de sorties (xR)
Étapes de traitement:
1. appliquer des règles d’expert aux degrés d’appartenance flous μ(xi) des variables xi
2. déduire une FAF résultante pour chaque variable xR
on distingue plusieurs méthodes d’inférence
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-25
B.2(2) Système de contrôle flou
(b) Inférence (avec la base de règles)
Base de règles − indique la relation entre les variables linguistiques d’entrées et de sorties:
doit être constituer de toutes les combinaisons possibles des variables d’entréesmais, doit représenter des relations appropriées entre les entrées et les sortiesLes règles connectent les différentes combinaisons des FAF d’entrées → FAF de sorties
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-26
B.2(2) Système de contrôle flou
(b) Inférence (avec la base de règles)
Exemple 2 (suite): Soit deux entrées x1 et x2, et une sortie xR, toutes définies par les 5 FAFs de l’exemple 2.
la base de 52 règles élaborées par un expert du domaine selon ses connaissances à priori et des données:
Si (x1 = NG ET x2 = EZ), Alors xR = PG ou
Si (x1 = NG ET x2 = PM), Alors xR = PM ou
Si (x1 = NM ET x2 = EZ), Alors xR = PM ou
Si (x1 = NM ET x2 = PM), Alors xR = EZ ou
Si (x1 = NM ET x2 = PG), Alors xR = NM ou
…
Si (x1 = PG ET x2 = EZ), Alors xR = NG.
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-27
B.2(2) Système de contrôle flou
(b) Inférence (avec la base de règles)
Règles sous forme de tableau (pas nécessairement plein):
Cellule = FAF de sortie
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-28
B.2(2) Système de contrôle flou
(b) Inférence (avec la base de règles):
Méthode MIN-MAX:
au niveau de la condition(Si): pour combiner des μ(xi) selon les règles ET → MIN des antécédents OU → MAX des antécédents Alors → MIN des (MINs et MAXs) des
antécédents
au niveau de la conclusion: pour combiner des régions en sorties μ(xR) OU → MAX des conséquents
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-29
B.2(2) Système de contrôle flou
(b) Inférence (avec la base de règles):
niveau de la condition − pour traduire les règles de décision:
règle: avec la condition ET (OU), le degré MIN (MAX) de μ(xi) est assigné à une FAF de sortie
interprétation: assigne un facteur de confiance max μ(xR) aux FAF de sortie, ce qui indique la croyance dans l’information en entrée
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-30
B.2(2) Système de contrôle flou
(b) Inférence (avec la base de règles):
niveau de la conclusion − pour décider de la FAF résultante de sortie:
le contrôleur prend les facteurs de confiance max μ(xR) comme degré d’appartenance de la FAF résultante de sortie
interprétation: dépend de la règle la plus dominante pour assigner la FAF résultante de sortie
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-31
B.2(2) Système de contrôle flou
(b) Inférence (avec la base de règles):
Exemple 2 (suite): méthode d’inférence MIN-MAX pour deux variables entrées, x1 et x2, une variable de sortie, xR
valeurs d’entrée: x1 = 0.44 et x2 = – 0.67
deux règles l’inférence: Si (x1 = PG ET x2 = EZ), Alors xR = EZ OU
Si (x1 = EZ OU x2 = NG), Alors xR = NG
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-32
B.2(2) Système de contrôle flou
Selon la première règle: le facteur de confiance max de xR = EZ est 0.33 car:
• μPG(x1) : x1 = 0,44 est PG avec un degré de 0,67• μEZ(x2) : x2 = -0,67 est EZ avec un degré de 0,33
• (x1 = PG ET x2 = EZ) équivaut à
min( μPG(x1) ; μEZ(x2) ) = min(0,67 ; 0,33) = 0,33
• Alors = min, ce qui équivaut à tronquer la fonction d'appartenance de xR = EZ par 0,33
μEZ(xR) = 0.33
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-33
B.2(2) Système de contrôle flou
Selon la deuxième règle: le facteur de confiance max de xR = NG est 0.67 car:
• μEZ(x1) : x1 = 0,44 est EZ avec un degré de 0,33 • μNG(x2) : x2 = -0,67 est NG avec un degré de 0,67
• (x1 = EZ OU x2 = NG) équivaut à
max(μEZ(x1) ; μNG(x2) ) = max(0,33 ; 0,67) = 0,67
• Alors = min, ce qui équivaut à tronquer la fonction d'appartenance de xR = NG par 0,67
μNG(xR) = 0.67
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-34
B.2(2) Système de contrôle flou
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-35
B.2(2) Système de contrôle flou
Architecture interne d’un contrôleur à logique floue:
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-36
B.2(2) Système de contrôle flou
(c) Dé-fuzzification
Objectif:
transformer l’information floue en grandeur physique (i.e., le signal de régulation)
Étapes de traitement:
1. convertir les FAF résultantes pour les variables xR en valeurs numériques déterminées on distingue plusieurs méthodes de dé-fuzzification
2. représenter ces valeurs en format qui est exploitable par le système de contrôle
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-37
B.2(2) Système de contrôle flou
(c) Dé-fuzzification
Méthode du centroïde:
trouve le centre de masse de la FAF résultante de sortie:1. combine les régions des fonctions floues en sortie par
union (OU) 2. calcule le centroïde de la surface de la FAF résultante3. génère une valeur numérique déterminée → abscisse du
centroïde
calculs très lourds, mais donne un poids égal à chaque FAF de sortie
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-38
B.2(2) Système de contrôle flou
Conclusions:
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-39
Sommaire de la Section B.2
B.2 Microcontrôleurs à logique floue:
1)Système de contrôle classique2)Système de contrôle flou:
a) fuzzification des entrées b) inférencec) dé-fuzzification
3)Opérations en logique floue du 68HC12
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-40
B.2(3) Opérations flous du 68HC12
Mise en œuvre de contrôleurs à logique floue
Les instructions du 68HC12 permettent:
la fuzzification
l’inférence (l’évaluation des règles)
dé-fuzzification
L’expert du domaine a la responsabilité:
d’identifier les variables et concevoir les FAF d’entrée et de sortie
de dériver les règles d’inférence
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-41
B.2(3) Opérations flous du 68HC12
Architecture d’un contrôleur à logique flou:
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-42
B.2(3) Opérations flous du 68HC12
Principales instructions du 68HC12 qui sont spécialisées pour contrôleurs à logique floue:
MEM: fuzzification (calcule le degré d’appartenance flou)REV: méthode d’inférence MIN-MAX pour l’évaluation des règlesREVW: méthode d’inférence MIN-MAX avec pondérations des règlesWAV: dé-fuzzification (calcule une somme pondéré)
Instructions supplémentaires: (E)TBL, EDIV(S), EMACS, EMAX(M), EMIND, EMINM, EMUL(S)
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-43
B.2(3) Opérations flous du 68HC12
Exemple du livre − contrôleur à logique floue pour naviguer un robot mobile:
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-44
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
1. Identifier les variables linguistiques en décrivant toutes les entrées au contrôleur
Exemple du robot p.147 (J. Pack): • RSENSOR: valeur à l’entrée du senseur de gauche:
very weak, weak, medium, strong, very strong
• LSENSOR: valeur à l’entrée du senseur de droit: very weak, weak, medium, strong, very strong
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-45
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
2. Concevoir les FAF pour décrire chaque variable linguistique d’entrée: • avec le 68HCS12, chaque FAF doit avoir une forme
trapézoïdale
• pour chaque senseur, les degrés d’appartenance sont représentés avec 256 valeurs discrètes:– valeur $00 ≡ aucune appartenance 0%– valeur $FF ≡ pleine appartenance 100%
• pour chaque FAF, on spécifie 4 valeurs:– 2 points: (1) le point le plus à gauche et (2) le plus à droit – 2 pentes: (3) la pente de gauche et (4) la pente de droite
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-46
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
Exemple du robot:
very weak $00, $50, $00, $10
weak $40, $70, $10, $10
medium $60, $A0, $10, $10
strong $90, $C0, $10, $10
very strong $B0, $FF, $10, $00
• rem: chaque valeur est définie entre $00 et $FF (avec une résolution de 8 bits)
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-47
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
Exemple du robot: 25 règles d’inférence pour naviguer le robot
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-48
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
3. Déterminer la base de règles d’inférence:
• on doit constituer toutes les différents scénarios possibles pour les valeurs d’entrée de senseurs
• format d’une règle avec le 68HC12: (ET seulement)
règle: Si (antécédent 1) ET (antécédent 2), Alors (conséquent)
....
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-49
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
4. Réalisation les règles d’inférence:• encoder les règles pour toutes les combinaisons d’entrées en
utilisant le format:règle 1: antécédent 1, antécédent 2, $FE , conséquent, $FE
....règle n: antécédent 1, antécédent 2, $FE , conséquent, $FF
remarques: – $FE: indique la fin d’une règle– $FF: indique la fin de la liste de règles– en cas d’une interruption, le séparateur $FE indique
aussi un point d’arrêt commode pour le traitement fuzzy
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-50
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
5. Concevoir les FAF pour décrire variable linguistique de sortie:
• on définit avec des fonctions singleton• fonctions singleton:
• chaque FAF de sortie est définit par une seule valeur
• ils représentent chaque variable linguistique de sortie avec une valeur numérique
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-51
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
Exemple du robot:
singletons: Medium Left ($40), Small Left ($60), Zero ($80), Small Right ($A0), Medium Right ($C0)
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-52
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
6. Fuzzification des entrées avec le 68HCS12MEM: assigne un degré d’appartenance aux FAFs d’entrées
Exemple du robot: fuzzification de la valeur de RSENSOR
étiquette op-code opérant(s) commentaires
LDAA RSENSOR ; valeur de RSENSOR LDAB #$05 ; nombre de FAF d’entrée
LDX #R_Very_Strong ; adresse des FAF d’entrée LDY #R_VS ; adresse des FAF de sortie
Loopr: MEM ; assigne un degré DBNE B, Loopr ; faire nFAFin itérations
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-53
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
7. Évaluation des règles d’inférence avec le 68HCS12REV: évaluation des règles d’inférence selon les entrées
fuzzifiées
Exemple du robot:
étiquette op-code opérant(s) commentaires
LDY #R_VS ; adresse des FAF de sortie LDX #Rule_Start ; adresse des règles LDAA #$FF ; initialise et fixer V=0 REV ; évaluer toutes les règles
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-54
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
7. Dé-fuzzification − combiner le résultat de toutes FAFs de sorties pour obtenir une valeur numérique déterminée• calcule la moyenne pondérée des valeurs de FAF de sortie.
• avec FAF de sortie en forme singleton, c’est équivalent à trouve le centroïde de FAF de sortie:
où Si est la valeur du singleton i, et Fi est la valeur de la FAF de sortie i, et n est le nombre de FAF de sortie
1
1
n
i ii
n
ii
S Fsortie
F
Université du Québec
École de technologie supérieureGPA770: Microélectronique appliquée
Éric GrangerB.2-55
B.2(3) Opérations flous du 68HC12
Étapes de conception 68HC12
7. Dé-fuzzification avec le 68HC12WAV: calcule une somme pondérée des valeurs stockées en
mémoire
Exemple du robot:
étiquette op-code opérant(s) commentaires
LDX #Medium_Left ; début des fonctions singleton
LDY #ML ; début des FAF de sortie LDAB #$05 ; nombre de FAF de
sortie WAV ; calcul valeur déterminé EDIV ; division étendue