Académique Documents
Professionnel Documents
Culture Documents
Enoncé 12.6.1 On veut régler un système par régulateur flou: Banc SIMA en position. Cahier
des charges: dépassement voisin de 5 %. On dispose des mesures de position et de vitesse.
On a modélisé – et linéarisé – le banc SIMA du laboratoire d'automatique de l'EIG
(sans l'amplificateur de puissance) par ses matrices d'état:
-1.5224e-001 0 4.1266e+000
As = 1.5915e+000 0 0
-1.9076e+003 0 -1.1112e+004
0 -8.0128e+001
bs = 0 bsv = 0
9.2600e+002 0
csT = 0 1 0 ds = 0
L'amplificateur de puissance est modélisé par un filtre du premier ordre:
Kcm = 1,98 Tcm = 0,5 [ms]
-0.1
Step
Sum Mux 1.98 x' = Ax+Bu
Gain1 100 K
05.e-3s+1 y = Cx+Du
0.1 Gain3 Transfer Fcn State-Space Matrix
Fuzzy Logic Gain1
Gain2 Controller
Mux
K
Matrix
Gain2
e ω ucm
–1 +1 –1 +1 –1 +1
Pour commencer, on définira des grandeurs arbitraires pour les "angles" des fonctions
d'appartenance: ±0,25 et 0 pour e et ucm et ±0,25 et ±0,5 pour ω. Ces valeurs seront ensuite
ajustées en fonction des résultats obtenus en C. On a prévu un certain "offset" sur la vitesse
pour qu'une vitesses faible soit considérée comme nulle.
Pour les règles de commande, on raisonne d'abord à vitesse nulle. Pour un écart de
réglage positif, on applique une sortie de tension négative et réciproquement. Pour un écart de
réglage nul, une vitesse positive demandera une sortie de tension négative et réciproquement.
ucm e
N EZ P
P EZ N N
ω EZ P EZ N
N P P EZ
» fuzzy
On ajoute une entrée, puis on choisit les noms des entrées et sortie. Avec un double-
clic dans les fenêtres des entrées et sorties, on accède à l'éditeur de fonctions d'appartenance
«Membership Function Editor» dans lequel on applique les choix de A. On introduit alors les
règles dans le «Rule Editor» selon le choix fait en A. Il reste à spécifier la méthode
d'inférence, on a choisi "somme – produit": «prod» pour le ET et le =>, et «mean» pour le OU
et l'agrégation. On enregistre alors le choix sur le disque et dans l'espace de travail:
Exo1261a.
» simainer
Faute de donnée, on charge ´x10431b´: SIMA avec inertie additionnelle
» simaflc1
On lance le programme de simulation, avec une consigne sans discontinuité pour variation de
0 à π/10. On spécifie Exo1261a dans le bloc Fuzzy Logic Controller. On applique une valeur
initiale de 100 sur le gain de sortie.
1.2
position
1
consigne
0.8
0.6
vitesse
0.4
0.2
tension
-0.2
courant
-0.4
-0.6
0 0.5 1 1.5 2 2.5 3 3.5 4
Pour un premier essai, on peut s'estimer satisfait. On remarque toutefois une forte
oscillation sur la vitesse. Celle-ci reste toutefois inférieure à 2,5 [V] qui correspond à l'offset
choisi. En 3 nouveaux essais successifs, on a réduit l'offset de vitesse à ±0,05 et élargi la base
de EZ à ±0,75. Sur la sortie, on a également élargi la base de EZ à ±0,5 pour diminuer les
oscillations.
1.2
1
consigne
0.8 position
0.6
0.4
vitesse
0.2
-0.2
-0.4
-0.6
0 0.5 1 1.5 2 2.5 3 3.5 4
Les oscillations sur la vitesse et la position on bien diminué, mais le retard sur la
position a légèrement augmenté. Le résultat est toutefois très bon et on s'en satisfait. On a
encore essayé de reprendre le choix initial sur la sortie, mais avec un gain réduit à 50: les
performances obtenues sont très voisines. Pour atteindre d'excellentes performances, il
faudrait encore faire de nombreux essais.
consigne
5
position
4
vitesse
2
1
tension
0
courant
-1
0 0.5 1 1.5 2 2.5 3 3.5 4
10
vitesse
8
6
consigne position
2
tension
0
courant
-2
-4
-6
0 0.5 1 1.5 2 2.5