Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric...

Preview:

Citation preview

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

Recommended