Commande Avancee PDF
Commande Avancee PDF
Commande Avancee PDF
fr/
Head of the research group “Bond Graphs”, CRIStAL UMR CNRS9189»
Contact : Belkacem.Ouldbouamama@polytech-lille.fr
Personnal Web site : https://wikis.univ‐lille1.fr/ci2s/membres/belkacem‐ould‐
bouamama
1
Compétences à acquérir
M
(-) chaîne de contre réaction (de faible puissance)
CAPTEUR
Objectifs
Capteurs
Actionneur
Calcul
Le lien antre capteur et actionneur est réalisé par le calculateur.
DCS's (Distributed Control Systems), PLC's (Programmable Logic Controllers) et PC's Personal Computers),
Architecture
Centralisé, décentralisé , ..
algorithmes
Perturbations et incertitude
Conigne Tc
TT -
AR FI THS
1 1 1
1
Ts Ts-Tc
Pétrole chauffé
Pétrole brut
TRC
1
FR
Air (O2) PR
1
AR U
2 FVC
Gaz
-
x Ts1
Tc T U CONDUITE
Pg
REGULATEUR VANNE FOUR
DE GAZ
-
Manu..
Ts CAPTEUR
TRANSMETTEUR ET CEP
DE TEMPERATURE DE TEMPERATURE
Auto.
Régulation autoadaptative :
Nous avons vu que la régulation PID a ses limites lorsque les temps de retard sont importants ou lorsque les perturbations sont trop grandes.
Les paramètres optimaux à afficher du régulateur dépendent évidemment du modèle or, dans les processus réels (surtout en génie des
procédés), les caractéristiques physiques changent en permanence. A titre d’exemple, une vitesse de réaction chimique dépend d’abord de
l’état du catalyseur, les constantes de temps dans les fours dépendent du dépôt de coke dans les tubes etc... L’idée de la régulation auto
adaptative est alors de calculer en temps réel le modèle du processus à commander (par des algorithmes appropriés) et de déterminer les
paramètres ou la structure du régulateur numérique en fonction du critère d'optimalité imposée. Il est clair que dans ce cas les régulateurs
sont numériques. A cet effet on excite le processus par un ensemble d’impulsions (qu’on appelle Séquences Binaires Pseudo Aléatoire SBPA)
et on traite les sorties correspondantes pour déterminer le modèle par des algorithmes de type moindres carrées de récursifs.
FR Ts Ts
FT
Air (O2) 1
-
Fc FRC Wc(p)
- TRC Tc
Gaz
- Gaz
Tc TRC
calculateur
Produit à chauffer Ts
Air (O2) -
Tc
FR
régulateur numérique
auto ajustable
Gaz
Serpentin
simulant un retard
BO P
V4
KR
I 1 + u1 Q ps (t )
hc +
-
+ Q p (t ) R2
Ti + BF R1
D d
Td
dt
LI
hm Bloc PID Pompe P1
2
hm LT h1 (t ) h2 (t ) LT
1 V12 2
BF h1 (t ) h2 (t )
Q3 (t )
VE1 VE2 Q1 (t ) Q2 (t )
Bac d’eau V1 V2
Q E1 QE 2
P=0 P=0
Actionneur R2
R1
Pompe P1
h1 (t ) h2 (t )
h1m V12 h2m Capteur
Capteur
Q12 (t )
Q1 (t ) Q2 (t )
V1 V2
Bac de récupération
d’eau P=0 P=0
U (volt)
Qp
Réservoir
Vanne Qp Qps h1 (m)
Pompe 1
3 voies Serpentin m
Vanne 12
m3/s m3/s
m3/s m h1 m Q12
Réservoir
Vanne 1
2
m h2
m3/s Q1
Vanne 2
m3/s Q21
Qpb
Bac
m3/s
Définitions
Un système est dit multivariable s’il possède plusieurs E/S et si toute variation sur
une seule entrée provoque une variation sur plusieurs sorties. Ils se caractérisent
par des phénomènes de COUPLAGE ou INTERACTION.
u1 y1 Y
SYSTEME U SYSTEME
MULTIVARIABLE MULTIVARIABLE
um yn
u1 y1
SYSTEME U u1 ....... un T entrée
MULTIVARIABLE
Y y1 ....... ym T sorties
um yn
Pompe P1
h1 (t ) h2 (t )
Capteur
h1m V12 h2m Capteur Q p ( p) W1(p) H1m ( p )
Q12 (t )
Q1 (t ) Q2 (t )
V1 V2 W2(p) H 2m ( p)
Bac de récupération
d’eau P=0 P=0
Y ( p ) H ( p ) M ( p ).Q p ( p )
y () M (0).Q p
Y1 ( p ) H1m ( p ) W1 ( p )
Y ( p ) H ( p ) W ( p ) Q p ( p ),
2 2m 2
u (t ) Q (t ) entrée
p
Y1 ( p ) W1 ( p )Q p (t )
y (t ) h1m (t ) h2 m (t ) sorties
T
Y2 ( p ) W2 ( p )Q p (t ) 20
Représentation Par équations différentielles
F1 ( y1 , y1 ,.... y2 , y 2 ,.... ym , y m ,...u1 , u1 ,....u2 , u2 ,....un , un ) 0
.
.
Fm ( y1 , y1 ,.... y2 , y 2 ,.... ym , y m ,...u1 , u1 ,....u2 , u2 ,....un , un ) 0
Réservoir 1
dh1
A1 h1 g .Cv12 g .Cv1 h2 g .Cv12 Q p (t ) 0
dt
Réservoir 2
dh2
A2 g .Cv12 h1 h2 g .Cv12 g .Cv2 0
21
dt
Simulation des équations différentielles : Bloc Diagramme
dh1
Réservoir 1: A1 Q p (t ) Q12 (t ) Q1 (t )
dt
1
h1 Q p (t ) Q12 (t ) Q1 (t ) dt h10
A
P1 P2 gh1 gh2
Q12 (t ) g.Cv12 h1 h2
R12 R12
P1 0 gh1 0
Q1 (t ) g.Cv1.h1
R1 R1
dh2
Réservoir 2 : A2 Q12 (t ) Q2 (t )
dt P2 0 gh2 0
1 Q2 (t ) g .Cv2 .h1
h2 Q12 (t ) Q2 (t ) dt h20 R2 R2
A
22
SIMULATION
23
Schéma de simulation des équations différentielles.
Approche modulaire
Q12 (t )
Vanne 12
Réservoir 2
h1 Q12 (t )
Q p (t ) 1 h2 h1
A1 ..dt gCv12
Q1 (t ) h2
Q2 (t )
Réservoir 1
h1 Q2 (t ) 1
A2
gCv1
h2
gCv2 ..dt
Vanne 1
Vanne 2 24
Approche Fonction de transfert
Réservoir 1 + Vanne 1 Réservoir 2 + Vanne 12 + Vanne 2
Q p (t ) H1 ( p ) H 2 ( p)
H1 ( p ) H 2 ( p)
W1 ( p ) W2 ( p )
Q p ( p) H1 ( p )
dh1
A1 Q p (t ) gcv12 h1 (t ) h2 (t ) gcv1 .h1 (t )
dt
A dh2
gcv12 h1 (t ) h2 (t ) gcv 2 h2 (t )
1 dt
dh1
A1 dt Q p (t ) h1 (t ) h2 (t ) * h1 (t )
A1 dh2 h1 (t ) h2 (t ) h2 (t )
dt
25
Passage à la transformée de Laplace
dh1
A1 dt Q p (t ) h1 h2 * h1 H1 ( p ) pA1 Q p (t ) H 2 ( p )
A dh2 h h h H 2 ( p ) pA2 H1 ( p )
2 dt 1 2 2
1
H1 ( p ) pA1 Q p (t ) H 2 ( p ) H1 ( p ) Q p (t ) H 2 ( p )
pA1
1
H 2 ( p ) pA2 H1 ( p ) Q p (t ) H 2 ( p )
pA1
2 Q p (t )
H 2 ( p ) pA2
pA1 pA1
H 2 ( p)
Q p (t ) pA2 pA1 2 A1 A2 p 2 A2 * ( ) A1 ( ) p . )
K
W ( p)
a2 p 2 a1 p a0
26
Fonction de transfert H2(p)/Qp(p)
H 2 ( p)
W2 ( p )
Q p (t ) A1 A2 p 2 A2 * ( ) A1 ( ) p . )
H 2 ( p) K
W2 ( p )
Q p ( p ) a2 p 2 a1 p a0
gcv1
a2 A1 A2 gcv12
a1 A2 * ( ) A1 ( )
gcv 2
a0 .
K
Valeur finale : W (0)
a0 27
H2(p)/H1(p)
dh1
A1 dt Q p (t ) h1 h2 * h1 H1 ( p ) pA1 Q p (t ) H 2 ( p )
A dh2 h h h H 2 ( p ) pA2 H1 ( p )
2 dt 1 2 2
H 2 ( p)
H1 ( p ) pA2
H1(p)/Qe(p)
H1 ( p )
H1 ( p ) pA1 Q p ( p ) H 2 ( p ) Q p ( p ) .
pA2
H1 ( p ) pA2
Q p ( p ) A1. A2 p 2 p A1 ( ) A2 ( ) . 28
SIMULATION
29
SYSTÈME 1 er ORDRE
Configuration
Vanne V12 fermée
V1 ouverte
Q p (t )
R2
R1
Pompe P1
h1 (t ) h2 (t )
h1m V12 h2m
Q12 (t )
VE Q1 (t ) Q2 (t )
Bac d’eau V1 V2
Q fuite P=0 P=0
30
Fonction de transfert et Constante de temps du
réservoir 1
dh1 Rh : Résiance hydraulique de la vanne (perte de charge)
A1 Q p (t ) gcv1 * h1 (t ) 1
dt Cv1 : Coefficient de débit (conducante) =
Rh
Ch : Capacité hydraulique du réservoir
H ( p) 1 K ou
W(p 1
Q p ( p ) A1 p gcv1 Tou p 1
Constante de temps
H1 ( p ) 1 Kou
W(p
Q p ( p ) A1 p gcv1 Tou p 1
1 A1 m2
K ou , Tou s RhCh
gcv1 gcv1 m 3
g.
s. g .m
1 A
Rh , Ch 1
cv1 g
Rh
h ( ) Q p 0 .Kou Q p 0
g 31
Analogie Vs electrique
VC R Vg
i
iC iR
dq
Uc C ic (t ) i (t ) iR (t )
dt
1 dU C UC
i (t )
C dt R
Q
dV (t )
Q p ( t ) QR ( t )
dt
C
A1 dpc (t )
Q p (t ) cv1 pc (t )
g dt
Qc R
Pc P=0
QR 32
Analogie
Electrique Hydraulique
dq
ic (t ) i (t ) iR (t ) dV (t )
Q p ( t ) QR ( t )
dt dt
dU C UC A1 dpc (t )
Q p (t ) cv1 pc (t )
C i (t ) g dt
dt R A1
p * pc ( p ) Q p ( p ) cv1 pc ( p )
dU C g
RC U C Ri (t )
dt
pc ( p ) 1 Rh Rh
W ( p)
Q p ( p) p cv1 R * 1 p 1 RhCh p 1
A1 A
Us( p ) R g g
W ( p)
I ( p ) RCp 1 Kou Rh
A1
Kou R, Tou RC Tou RhCh , Ch
g
33
EQUATIONS D’ETAT: Définition
Objectif
Une représentation d'état permet de modéliser un système dynamique sous
forme matricielle en utilisant des variables d'état. On se place alors dans un
espace d'état.
Plus généralement, les variables d’état dans les systèmes physiques sont
les éléments aptes à emmagasiner de l’énergie sous forme cinétique ou
potentielle : inductances, capacités, masses, ressorts... Ce sont les
éléments ayant une capacité de "mémoire".
U(p) Y((p)
W(p) 38
Calcul Matrice de transfert M(p)
3. Par équations d’état linéaire
x(t): Vecteur qui représente les n variables d'état
Linéaire y(t) : Vecteur qui représente les q mesures
u(t) : Vecteur qui représente les l commandes
x (t ) A. x(t ) B.u(t ) A: Matrice de dynamique
y c. x(t ) D.u(t ) , B: Matrice de commande
x ( 0) x C: Matrice d'observation
0
D: Matrice d'action directe
A nn , B n , x0: vecteur des conditions initiales
C mn , D m
Système linéaire (LMI) invariant
Coefficients des matrices A, B, C et D sont constants
PX ( p ) AX ( p ) BU ( p ) PI A X ( p ) BU ( p )
x (t ) A. x (t ) B.u(t ) Y ( p ) CX ( p ) DU ( p ) Y ( p ) C PI A BU ( p ) DU ( p )
1
,
y c. x (t ) Du(t )
Y ( p)
C PI A B D
1
M ( p) I : matrice idendité nxn
U ( p) 39
Simulation
D
u(t) x (t ) 1 x (t ) Y(t)
B p
C
Y ( p)
M ( p) C PI A1 B D
A U ( p)
D
u(k) x ( k 1) Y(k)
F I . z 1 C
G
Y (z)
M (z) C ZI F 1 G D
U (z)
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 40
Simulation
Exemple 2. Modèle *.m
A=[-1 0 0;0 -2 0;0 0 3];
B=[1 1; 0 -1; 1 -1];
1 0 0 1 1 C=[2 0 0;0 1 0];
u1
x (t ) 0 2 0 x(t ) 0 1 D=[0 0;0 0];
u2 sys=ss(A,B,C,D)
0 0 3 1 1
step(A,B,C,D);
2 0 0 0 0 u1 4. Simulation modèle non linéaire
y (t ) 0 0 u
0 1 0 2
1. Matlab simulink Bloc « state-espace » x1(t ) x1x2 x2 2 2u1
x1(t ) x1x2 x2 2 2u1 dt
x2 (t ) x1 x2 u1u2
x2 (t ) x1 x2 u1u2 dt
y x1x2
2. Décompostion
41
Représentation d’état : Exemple système hydraulique
Variables d’état
Actionneur Q p (t )
x (t ) A. x (t ) Représentation
B.u (t ) d’état
y C. x(t ) D.u (t ) ,
Pompe P1
x (0) x
R1
R2 0
Capteur
Capteur V1 (t ) V2 (t ) V (t ) h (t )
h1m V12 h2m x(t ) 1 , y (t ) 1m , u (t ) Q p (t )
V2 (t ) h2 m (t )
Q12 (t )
Q1 (t ) Q2 (t )
V1 V2
A 22 , B 21 ,
Bac de récupération
d’eau P=0 P=0
C 2 x 2 , D 2 x1
x (t ) A. x (t ) B.u (t ) y (t )
u (t ) Q p (t ) x (t ) y (t ) u (t )
Système
Capteur y C. x (t ) D.u (t ) ,
Physique x (0) x
0
42
Equations d’état : approche analytique
dh1 Soit: gcv1 , gcv12 , gcv 2
A1 dt Q p (t ) h1 h2 * h1
A dh2 h h h
V1 A1 A1
A2 . V1 1 Q (t )
2 dt 1 2 2
p
V2 V2 0
dV1 V1 V2 V1 A1 A2 A2
Q p (t ) .
dt A1 A2 A1
dV 1
2 V1 V2 . V2 0
h1m (t ) A1 V 0
dt A1 A2 A2
h (t ) . 1 .Q p (t )
2m 0 1 V2 0
A2
V
h1m (t ) 1
A1 V1 0.050 0.018 V1 1
. V 0 Q p (t )
V
h2 m (t ) 2 2
V 0.018 0.042 2
A2
h1m (t ) 131.14 0 V1 0
h (t ) 0 . V 0 .Q p (t )
2m 131.14 2
43
LINEARISATION (1/3)
Il est bien rare qu’un système réel soit linéaire dans tout son domaine de
fonctionnement, mais on peut souvent en faire une approximation linéaire
autour d ’un point d ’équilibre
dx
f ( x), Point de fonctionnement x0
dt
f 2 f
. x x0 2 . x x0 termes d'ordre supérieur
2
f ( x) f ( x0 )
x ¨ x 0 x ¨ x
0
dxs dx f
f ( xs ) 0 s . x x0
dt dt x ¨x 0
Capteur V1
Capteur V1 (t ) V2 (t )
P1 C V1 A
h1m R12 h2 m Q1 C
R1 R1 R1 C g
P1 (t ) P2 (t )
Q12 (t )
R1 Q1 (t )
P=0
V1 V2 V1
V1 Q p (t ) F1 (V1 ,V2 , Q p )
R12 C R1 C
1
V1 V2 0
V2 F2 (V1 ,V2 ) h1m (t ) A V1 0
R12 C h (t ) u (t )
.
1 V2 0
2m 0
A
47
Equations d’état non linéaire R2 fermée
V1 V1 V10
V2 V2 V20 V10 A * h10 0.007625 * 0.30
V A * h 0.007625 * 0.25 Q p 0 5.092*1005 m3 / s
Q p Q p Q p 0 20 20
V1 V2 V1
V1 Q p (t ) B1Q p (t ) A0 V1 V2 A1 V1 F1 (V1 ,V2 , Q p )
1 1 1
R12 C R1 C
A0 , A1 , A2 ,
V1 V2 R12 C R1 C R12 C
V2 A2 V1 V2 F2 (V1 ,V2 )
R12 C
R1 Q1 (t )
P=0
V1 Q p (t ) Q1 (t )
Adh1
dh1 Q p (t ) g
dt Nonlinéaire : h1 F (Q p , h1 ) 131.14.Q p (t ) 3.24 *104 h1
p1 g
dt A AR1
Q1 (t )
R1 R1 d h1 F . F . 1 g
linéarisé : . Q .h F (Q , h ) Q (t ) h1
dh1 Q p (t ) g dt Q p
p
h1 0
1 p 0 10
A
p
A.R1.2 h10
h1 0
dt A R1 A
F 0 An0 * Q p (t ) An1.h1 0.00807 131,14.Q p (t ) 2.96 *104.h1
P1 gh 1 g
Q1 h1
R1 R1 R1
dh1 Q p (t ) g
h1
dt A AR1
49
Interprétation
dh1 Q p (t ) g
Nonlinéaire : h1 F (Q p , h1 ) 131.14.Q p (t ) 3.24 *104 h1
dt A AR1
d h1
linéarisé : 0.0051 131,14.Q p (t ) 2.96 *104.h1
dt
g
Q1 h1 3.24 *104 h1
R1
Q1
Q1lin Q1 h10 0.3 . h1 0.3 2.96 *104 (h1 0.3) 1.77 *104
h1 h10 0.3
Passage forme d’état –forme de transfert
Un système donné admet une infinité de formes
d'état strictement équivalentes.
x (t ) A. x (t ) B.u(t )
,
y c. x (t ) D.u (t ) z (t ) PA. x (t ) PB.u(t ) PAP 1z pBu
,
1
y cx (t ) Du(t ) CP z Du
Posons
z Px P nxn
Sont‐elles équivalentes ?
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 51
Passage forme d’état –forme de transfert (1/2)
Soit donné un système sous forme d’état
U(s) Y((s)
Trouver une matrice de transfert Y ( s ) M ( s )U ( s ) M(s)
Transformée
x (t ) Ax (t ) Bu(t ) de Laplace CI=0 sX ( s ) AX ( s ) BU ( s )
,
y Cx (t ) Du(t ) sI AX ( s) BU ( s)
Y ( s ) CX ( s ) DU ( s )
X ( s) sI A1 BU ( s)
Y ( s) C sI A1 B D U ( s) M (s)
Y (s)
C sI A B D
1
U (s)
52
Passage forme d’état –forme de transfert (2/2)
La matrice de transfert ne dépend pas de la base dans laquelle est exprimé
l ’état
x (t ) A. x (t ) B.u(t )
y Cx ( t ) D .u ( t )
,
Y ( s) C sI A1 B D U ( s) M ( s)
Y ( s)
U ( s)
C sI A1 B D
Changement de base z Px
z (t ) PA. x (t ) PB.u(t ) PAP 1z PBu
,
x (t ) A. x (t ) B.u(t ) y Cx (t ) Du(t ) 1
CP z Du
,
y c. x (t ) D.u (t )
Posons
M ( s) CP 1
sI PAP 1 1
PB D
s 1 3
sI A 3s 5 Y1
2 s 0 W1 ( s ) y1 y1 6 y1 3u 7
s 2 s 6 U (s)
1 y2 y 2 6 y2 u 3
det( sI A) 2 Det , s3 Y
s s6 W2 ( s ) 2 2
T
s s 6 U (s)
1 s 2 1 s 3
sI A 2
1
s s 6 3 s 1 s 2 s 6 2 s 1
3s 5
1 1 2 s 3 1 s 2 s 6
M ( p) 2
s s 6 1 0 2 s 1 1 s 3
s 2 s 6
54
Programme Matlab
[NUM,DEN] = ss2tf(A,B,C,D,iu), i: numéroe d’entrée u
NUM
C sI A B D
1
M (s)
DEN Résultats Matlab
Num1 =
0 3.0000 5.0000
0 1.0000 3.0000
Exemple 1: ETAT_VERS_TF1.m
Den1 =
A=[1 3; 2 0];B=[1 ;1]; C=[1 2;1 0]; 1 -1 -6
D=[0;0];
W1=Y1/U1=
3s+5
u1=1;%numéro entrée
-------------
s^2 - 1 s - 6
[Num1,Den1] = ss2tf(A,B,C,D,u1); %
disp('W1=Y1/U1=') W2=Y2/U1=
printsys(Num1(1,:),Den1,'s')
1s+3
disp('W2=Y2/U1=') -------------
printsys(Num1(2,:),Den1,'s') s^2 - 1 s - 6
Programme Matlab: ss2tf(A,B,C,D,ui)
ETAT_VERS_TF2.m
home
A=[-1 0 0; 0 -2 0; 0 0 3];
B=[1 1; 0 -1; 1 -1];
C=[2 0 0;0 1 0]; Fonctions transfert par rapport à u1
D=[0 0;0 0]% L'ETAT EST LA SORTIE W11=Y1/U1=
2 s^2 - 2 s - 12
u1=1;%numéro entrée ----------------
[Num1,Den1] = ss2tf(A,B,C,D,u1); % s^3 - 7 s - 6
disp('Fonctions transfert par rapport à
u1') W21=Y2/U1=
disp('W11=Y1/U1=')
printsys(Num1(1,:),Den1,'s') 0
-------------
disp('W21=Y2/U1=')
s^3 - 7 s - 6
printsys(Num1(2,:),Den1,'s') Fonctions transfert par rapport à u2
Résultat:
1 0 0 x1 1 1 x1
u 2 0 0 0 0 u1
x (t ) 0 2 0 x2 0 1 1 , y (t ) x2 0 0 u
u2 0 1 0 2
0 0 3 x3 1 1 x3
u (t ) A x (t ) C y (t )
PROCESS
1 0 0 x1 y1
u1 0 2 0 x 2 0 0
u CAPTEUR 0 1 0 y
2 2 2
0 0 3 x3
M ( s)
Y ( s)
U ( s)
C sI A1 B
x (t ) A.x(t ) B.u (t )
,
y C.x(t ) D.u (t )
Développement
1 Y (s)
W (s)
s n an 1s n 1 ....... a0 U (s) y (t ) u (t ) an 1 y ( n 1) (t ) ....... a0 y (t ) dt n
n
u (t ) (+) y ( n1) y ( n 2 ) y ( n 3)
y (n i ) y (1) y (t )
(-)
an-1
(-)
an-2
(-)
(-)
a0
u (t ) A x (t ) C y (t )
x (t ) A.x(t ) B.u (t )
,
y C.x(t ) D.u (t )
y (1) 0 1 ... 0 0 y 0
(2) ... ... ... ... ... y (1) 0
y
y x (t ) . 0 0 ... 1 0 . . u
y (1) ( n 1)
y 0 0 ... 0 1 y ( n 2) 0
x (t ) . y ( n ) a0 a1 ... an 2 an 1 y ( n 1) 1
y ( n 2 )
( n1)
y
y (t ) 1 0 0 0 0 x
H 2 ( p) 1.400
W2 ( p )
Q p ( p ) 5.814 *105 p 2 5.422 *106 p 1.058 *107
b 2.408
c1 0.093 h2(2) (t ) 0.093 0.0018 h2(1) (t ) 2.408
c2 0.0018 x (t ) (1) Q p (t )
h2 (t ) 1 0 h2 (t ) 0
beta 1.400
Programme Matlab: tf2ss(num,den)
TF_VERS_ETAT.m
Fichier : TF_VERS_ETAT.m
home
Num=[1.400] a=
x1 x2
Den=[5.81e-5 5.422e-6 1.058e-7] x1 -0.09332 -0.00182
[A,B,C,D] = tf2ss(Num,Den); x2 1.00000 0
printsys(A,B,C,D)
b=
u1
x1 1.00000
x2 0
Définition
Un système est dit commandable si quel que soit l'état à l'instant initial x(t0), il existe
une commande u(t), appliquée sur un intervalle de temps fini [t0;tf], telle que x(tf) = Xf.
Commandable
x0 , x f R n
x (t ) A. x (t ) B.u(t )
t 0 , t f R , t f t 0
u(t ), t t f , t 0 ; x (t 0 ) x0 , x (t f ) x f
rang[ B
AB ... An1B n
rang (COM ( A, B)) n
1 1 1 Système
COM 2 B2 A 3 2
* B2 A 31
* B2 B2 A * B2
A2 * B2 1 2 4
rang (COM 2) 3 commandable
1 3 9 par u2
CO1 =
disp(' MATRICE DE COMMANDE: NOUS AVONS 2
ENTREES U1 et U2:')
1 -1 1
B=[1 1; 0 -1; 1 -1]
0 0 0
C=[2 0 0;0 1 0]
1 3 9
D=[0 0;0 0]
disp(' MATRICE DE COMMANDABILITE POUR ENTREE U1
rang_CO1 = 2
: CO(A,B)= B AB A^2*B...')
CO1=ctrb(A,B(:,1))
NOMBRE D ETATS INCOMMANDABLES PAR U1:
rang_CO1=rank(CO1)
disp(' NOMBRE D ETATS INCOMMANDABLES PAR U1:')
NCO1 = 1
NCO1=length(A)-rank(CO1)
disp(' NOMBRE D ETATS INCOMMANDABLES PAR U2:')
NOMBRE D ETATS INCOMMANDABLES PAR U2:
NCO2=length(A)-rank(ctrb(A,B(:,2)))
step(A,B,C,D), grid, title('REPONSE INDICIELLE')
NCO2 = 0
Réponses indicielles: Résultats de simulation
Step Response
From: In(1) From: In(2)
2
1.5
To: Out(1)
0.5
Amplitude
0
1
0.5
To: Out(2)
-0.5
-1
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Time (sec)
Un critère algébrique existe pour l’observabilité, il est dû à Rudolf Kalman et Richard Bucy
(1961). Un système est dit observable si et seulement si :
rang C CA ... CAn1 T
n
rang (OBS ( A, C )) n
1 0 0 x1 1 1
u 0 0 u1
x (t ) 0 2 0 x2 0 1 1
u2 0 0 u2
0 0 3 x3 1 1
x1
2 0 0
y (t ) x2
0 1 0
x3
Vérification de l’observabilité
rang C CA ... CAn1
T
n
rang (OBS ( A, C )) n
2 0 0
0 1 0
C
3 2 2 0 0
OBS CA Système non
31 0 2 0 observable
CA
2 0 0
0 4 0
rang (OBS ) 2 n 3
home
disp(' ANALYSE OBSERVABILITE:') Résultat
A=[-1 0 0; 0 -2 0; 0 0 3];
C=[2 0 0;0 1 0]; OBS =
D=[0 0;0 0];
disp(' OBSERVABILITE OB(C, CA,... CA^n-1') 2 0 0
OBS=obsv(A,C) 0 1 0
Rang=rank(OBS) -2 0 0
ordre_systeme =length(A) 0 -2 0
disp(' NOMBRE D ETATS INOBSERVABLES:') 2 0 0
NCo=length(A)-rank(OBS) 0 4 0
Step(A,B,C,D)
Rang = 2
ordre_systeme = 3
Etat non observable
NOMBRE D ETATS
INOBSERVABLES:
NCo = 1
72
Forme modale
Conditions
Le système est vu comme une mise en parallèle de systèmes d’ordre 1. Pour mettre en évidence
cette représentation, il suffit de décomposer la fonction de transfert H(p) en éléments simples.
• A est diagonale, les éléments sont les pôles du système,
• Si le système a des pôles multiples,A est diagonale par blocs
• La présence de numérateur modifie les pondérations dans la décomposition en éléments simples,
seules les matrices C et D sont affectées
1 x0 0 0 ... 0 0 x0 1
s 0
α0 0 1 ... 0 0 x1 1
Y (s)
1 x1 x (t ) ... ... ... ... ... . . u
0 0 xn 2 1
u (t ) α1
s 1 0 ... n2
0 01 ... 0 n1 xn1 1
xn1 y (t ) 0 1 2 ... ...x
1 αn-1
s n1
73
Forme modale avec pôles multiples
A1 0 ... 0 0 B1
Système avec des pôles multiples 0 A2 ... 0 0 B
2
A ... ... ... ... ... , B .
W ( s) b0 W1 ( s) W2 ( s) ...Wn1 ( s) 0
0 ... 0
avec 0 01 ... 0 AK Bl
r1i r2i rmii où
Wi ( s) ...
s si s si 2 s si mi
si 0 ... 0 0 1
0 s ... 0 0 0
i
Ai ... ... ... ... ...
Bi . , Ci r1i , r2i ,...rmii
0 0 ... 0
0 01 ... 0 si 0
Programme :ETAT_FORM_CANON.m
Forme modale p 2 0.0933 p 0.0018 0
home
A= P1 0.064, P2 0.027
A=[-0.05 0.018; 0.018 -0.042];
B=[1;0] x1 x2
C=[131.14 0;0 131.14]; x1 -0.06444 0
D=[0; 0]; x2 0 -0.02756 REMARQUES
sys=ss(A,B,C,D);
disp(' Forme companion') B= -0,06444 et -0,02756 sont les
disp('Forme modale') u1
Sm=canon(sys,'modal') racine du polynôme
x1 -18.4 caractéristique de A Pa
polycar=charpoly(A)
x2 -16.83
Pa det( In A) 2 + 0.0933 + 0.0018
C=
x1 x2 polycar =
y1 -4.336 -3.051 1.0000 0.0933 0.0018
y2 3.478 -3.804 75
Forme commandable dite companion
Y ( p ) b0 b1 p ...bn 1 p n 1
W ( p)
U ( p) a0 a1 p ... p n
home
A=[-0.05 0.018; 0.018 -0.042]; A= la dernière ligne de la matrice A sont
B=[1;0] x1 x2 les coefficients du polynôme
x1 0 -0.001776 caractéristique A
C=[131.14 0;0 131.14];
x2 1 -0.092 0 a0 charpoly(A)
D=[0; 0]; A
sys=ss(A,B,C,D); 1 a1 1.000000000000000
B=
disp(' Forme companion') u1 0.092000000000000
0.001776000000000
disp('Forme canonique') x1 1
Sc=canon(sys,‘companionl') x2 0 0 1
AT
a0 a1
C=
x1 x2
y1 131.1 -6.557
y2 0 2.361
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
SKILLS and OBJECTIVES
Systemic approach for global analysis of complex multiphysic
systems .
Keywords :
Bond Graphs, Mechatronics, Integrated design, Simulation,
Dynamic Modelling, Automatic Control
4
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
Methodology for Fast prototyping
Development of generic models and Control algorithms
Test
Test
Test
Industrial validation
Production
Simultanous
Requirements planning
Overall functions Technologies
values Quality control
Costs & milestones
Field Testing
Final product
Specifications Norm & certification
Fulfilment of Statistics
requirements
Limitations
Reliability and safety System testing
Behavioral tests
Stress testing
System design Reliability and safety
Partinioning Monitoring and
Multi-physics component supervision
Word Bong Graph
Software Integration
Power exchange
Signal analysis
Filtring
Modeling & Simulation Test of algorithms
Models of components
Kinematic & dynamic behaviors Hardware Integration
Simulation according to the requirements Assembling
Coupling
Optimisation
Component Design
Physical component: mechanics,
electronics, ….
Mechanical CAD Prototypes Component Tests &
Controller, HMI,… Laboratory test benches Analysis
Space optimisation Test and measurements Hardware in the loop
Algorithms simulation,
i mplementation Stress Analysis,..
Mechatronic
Components
Mechanics, Electronics,
Control, Software (HMI)
Bond Graphs : Tools for Integrated Design
Bond graphs
Bond graph is an unified graphical language used for any
kind of physical domain. The tool is confirmed as a
structured approach for modeling and simulation of
multidisciplinary systems.
7
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
LEVELS OF MODELLING
What
to do ?
1. Technological
This level constructs the architecture of the system by the assembly of different sub-
systems, which are the plant items (heat exchanger, boiler, pipe...). The technological
level can be represented by the so-called word bond graph.
The modelling uses an energy description of the physical phenomena based on basic concepts of physics such as dissipation of energy,
transformation, accumulation, sources , …). Here, the bond graph is used as a universal language for all the domains of physics.
3. Mathematical xi f ( x , y ) dx
Level is represented by the mathematical equations (algebraic and differential equations) which describe the system behavior.
4. Algorithmic
J. Thoma
9
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
(The Gestation and Birth of Bond Graphs by Prof. H.M. Paytner (c. 2000)
My efforts were also strongly motivated by a preoccupation with the logical
philosophy underlying analogies in general.” When these analogous
devices were reduced to equations for computer simulation, distinctions
became completely blurred. We lay down a fundamental principle of
generalization by abstraction: “
Mes efforts ont également été fortement motivés par une préoccupation
avec une philosophie de la logique qui sous-tend les analogies en général.
"Lorsque les dispositifs analogues ont été réduits à des équations pour la
simulation par ordinateur, les distinctions deviennet complètement floues.
Nous établissons un principe fondamental de généralisation par
abstraction:
Mechanical power :
REPRESENTATION
e
Exchanged Power is P = e.f
f
12
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
Bond as power connection
The power is represented by the BOND
Bond
direction of power
13
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
Information Bonds for signal exchange
INFORMATION BONDS
The signal is represented as
information bonds: no power
Example : Sensors
• Detector of effort such as pressure,
voltage, temperature
e
De
f=0
Power variables
Intensive variable
• Temperature Derivative of extensive variable
• Pressure • Entropy flow
• Voltage • Volume flow
. • current
15
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
POWER VARIABLES FOR SEVERAL DOMAINS
DOMAIN EFFORT (e) FLOW (f)
VOLTAGE CURRENT
Electrical
u [V] i [A]
FORCE VELOCITY
Mechanical
(translation) F [N] v [m/s]
TORQUE ANGULAR VELOCITY
Mechanical (rotation)
[Nm] [rad/s]
PRESSURE VOLUME FLOW
Hydraulic
P [pa] dV/dt [m3/s]
CHEM. POTENTIAL MOLAR FLOW
Chemical
[J/mole] dn/dt [mole/s]
TEMPERATURE ENTROPY FLOW
Thermal
T [K] dS/dt [J/s]
UNIT PRICE FLOW OF ORDERS
Economic
Pu [$/unit] fc [unit/period]
2. ENERGY VARIABLES
The momentum or impulse p(t), (magnetic flow, integral of pressure,
angular momentum, … )
t
p (t ) e ( ) d p (t 0 )
t0
t
Momentum : p ( t ) m x Fdt F m x
t0
t
q (t ) f ( ) d q (t0 )
t0
Energy variables : analogy
Displacement
i x
Q
Q,T x, F
u,q
P,V
e P e u e T e F
f V f i f Q f x
x V Vdt x q idt x Q Q dt x x xdt
Impulse
u,
e u e F
F,
f i x f x
p udt Li p Fdt Mx
i
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs» 18
ENERGY VARIABLES FOR SEVERAL DOMAINS
DOMAIN Displacement (q) Impulse (p)
CHARGE FLUX
Electrical
q [Coulomb] Φ [Wb]
DISPLACEMNT MOMENT
Mechanical J [Ns]
(translation) x [m]
ANGLE ANGULAR MOMENTUM
Mechanical (rotation)
[rad] [Nms]
VOLUME MOMENTUM pp
Hydraulic Ns/m2
V [m3]
Nbr of MOLE ?
Chemical
n [-]
ENTROPY ?
Thermal
S [J/K]
Thermal Hydraulic
Mechanical
Thermodynamic
Electrical
Economic
Chemical, Electrochemical
20\
Word Bon dgraph and Which power variables are used
Resistor T Ambiance
Q
U i
U U
Faraday Electrical Mechanical
Phenomena i Part i part
G H C
Source P
µ
Voltage U
of H2 m Thermo - n Electro
source
Pump
chemical chemical i
Source
P reaction
T reaction P
H T m
of O2 m H
Thermal Pipe
source
Q T H T m P
pu
Economic Reactor
al market fc
EXAMPLE1 : ELECTRICAL INDUCTION MOTOR
ia
(J,f)
La Ra
ua
LOAD
ELECTRICAL
ua MECHANICAL
LOAD
PART
ia PART
STEAM
FEED
WATER
RECEIVER
PUMP HEATER
PP PP PW PB
m R m P m W m B TURB
RECEIVER PUMP PIPE BOILER INE
TR TP TW TB
H R H P H W H B
U i
TH Q H
U
source MOTOR HEATER Load
i
What about physical phenomena : Generic Physical elements R,C,I, TF,GY, Se,Sf
C Se
R
Se I
R C I
I
C
Sf R C
GY
TF
Sf
C I
24
BOND GRAPH ELEMENTS
R C I Se Sf 0,1 TF, GY
I:L1
Friction
R:f
Friction : f FR
x Spring
mg Fc
Se 1 C:k
Spring k x1 x x
FI x
Force
x
I:M Inertia of mass
Se:mg M
M
First examples (2/3)
UR
i
R1
E C Uc
g
R:R1
UR i
E Uc
Se:E 1 C:C1
i i
27
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
Bond graph well suited for automated modelling : softwares
Junctions
Passive elements
Active elements
Junctions
29
Lets’ Learn Bond Graph theory
Representation
e
Σ f R:R1
R: means R element
e R1: Name of the element
Σ f C:C1
e
Σ f
I:L
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs» 31
Resistive R element
Ta
R
v1 v2 F
p2
p1
Tr
i x
V
D 4
R
128 R
A
v1 v2 U T RQ 0
F Rx 0 P RV 0
U Ri 0
e
Representation R:R1
f 32
Capacitive C element (capacitance)
Electric Hydraulic Mechanical Thermal
V
F Q1 Q 2
i m
A: section F
c
h: level x T
: density
Ch= A/g
h
p
d (mctT )
Q Q1 Q 2 .
dq d (C.U ) d Ah dt
i i1 i2 V , P gh 1 dF 1 Q
dt dt dt x , T Q dt
K dt
1 q g V C C
A
U idt p
C C
Vdt
Ch F K xdt
Kx C mct
Representation
e
C:C1 e, fdt e, q 0
C C
f
Mechanical and electrical capacity
1 2 i1 i2
C
C0
v
K
C:1/K C:C0
c 1 2 v i1 i2
1 2 i1
0 0 i2
1
C K 1 2 dt v
C0 i1 i2 dt
Inertial I element (Inertia)
Electric Hydraulic Mechanical Thermal
l F
????
p1 p2
F mV lAdV
dv
P P 2 dx
A A dt A dt F m .
dt
A 1
V1 V2 V Pdt Pdt 1 1 Q
i l I x Fdt Fdt
m I I
i
1 p IV 0 Q Ix 0
L
Udt 0
l p : impulsion of
Li 0 I pressure Q : momentum
A
: Magnetic flux
J L
i
C1 C2
v1 v2
I:J I:L
C1 C2
v1 v2 i
C1 C2 v1 v2
1 i
1 i
1
J c1 c2 dt 1
i v1 v2 dt
L
Two ports power conservative element
(with out storage and dissipation)
e1 e2
TF
f1 :m f2
e1. f1 e2 . f 2
e1 e2
GY
f1 :m f2
37
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
TRANSFORMER
Convert energy as well in one physical domain as well between one physical
domain and another
Examples: lever, pulley stem, gear pair, electrical transformer, change of physical
domain….
Representation
Simple transformer
Defining relation
e1 e2 e1 = m.e2,
TF f2 = m.f1
f1 :m f2 Where m : modulus
Electrical transformer
u1 u2
i1 i2 u1 u2
TF u1 mu 2
i1 :m i2 i2 mi1
u1i1 u 2 i2
Hydraulic power is transducted
Hydraulic piston into mechanical power
F , x 1
P F P A
F
P , V TF
1
x
V :1/A x A
.V
A : area of the piston
Lever b
x 2 F2 F1 F2 F 1 .F2
a
a b TF
x1 :b/a x 2 x 2 b . x1
a
x1 F1
F1 x1 F2 x2
Examples of TF elements
Gearing 1 2 R1
1
TF 2 1
2
R1
:
R2 R2
2 R1
11 2 2 1
R2
1 R2 2
i
2 R1 1
xF
x, F
40
4. GYRATOR
Convert energy as well in one physical domain as well between one
physical domain and another
Examples: Gyroscope, Hall effect sensor, change of physical domain….
Representation
Defining relation
e1 e2 e1 = rf2
GY e2 = rf1
f1 :r f2 Where r : modulus
GY
:r
Electrical
Power ui Mechanical
Power
e e
Sf:f(t) Se:e(t)
f f
Defining relation
Representation
e1 e2 e3 e4
f1 f 4 f 3 f 2 0
e2 f2
e1 e3
0 Power conservation
f1 f3 n
e4
ai .ei fi 0
f4 i 1
ai = +1 if 0
ai = -1 if 0
e1. f1 e2 . f 2 e3 . f 3 e4 . f 4 0
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs» 46
JUNCTIONS (2/6) : Examples of 0-junction
V2 C:Ch
V1 V2 V3
V1
Ch P V3
P
Rv V3 P
Sf : V 0 R:RV
V1 V2
i i1
C
i = i1 + i2
i2
E i2
E R E
E
C Se:E 0 R
i i1
x 2
Mc I:Mp C:1/k I:Mc
C:1/k
x1 x3 x2
x1 1 1
Mp Se:Fr
x1 0 x2
Se:Fr
JUNCTIONS (4/6) : 1 JUNCTION
1 – JUNCTION Common flow junction
Defining relation
f1 f 2 f 3 f 4
Representation
e1 e 2 e3 e 4 0
e2 Power conservation
f2
e1 e3 n
1 a i .ei 0
f1 f3 i 1
ai = +1 if 0
e4 f4
ai = -1 if 0
e1 . f1 e 2 . f 2 e3 . f 3 e 4 . f 4 0
48
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
JUNCTIONS (5/6) : Examples of 1-junction
R:R1
R1
P2 PR1
P1
Ch P1 P2
1 C:Ch
Q
Q
UR UL R E =UR + UL + UC
UR i
E UL
R L Se:E 1 L
C UC i i
E i
UC i
C
C:k
k x FR R:f
FC
I:mb I:ma
Fb 1
mb f ma Fa Fb
x a
x rk
Fa
x b
Se:Fb 1 1 Se:Fa
0
SUMMARY
iR1 L1 iL1 R2
0
m
R1
iR2
E C1 L2
iC1
R:R2
Exercise : do it
R 2 C 2 L2
i3 R3 i6
i1 L1
m
R 1 i4
C i5
E 1
i2
R L1 R
1 2
iR2 SF
iR1
SE C 1 C 2 SF
iC1
iC2
How to construct multiphysic Systems ?
54
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
Mechanical and electrical analogy
gy
J1 J2
c cf ct c2 , 2
cf
R:f
J1 L1 UR c f J 2 L2
i 2 i2
f R
c E c2 U 2
1
K
C ct U c
55
Exercise 1 : mechanical
x x
k1
k1
Ma Mb F(t) Ma Mb
F(t)
R1
fa fb fa fb
FRs
0 1 R:Rs
x susp x susp
+
xtire I:Mtire
Tire
Rst structure 1 Se:-Mtg
Kst Tire
Mtire xtire
Fst
0 1 R:Rst
x st
Road x st
x r
Sf : x road C:1/kst
BUILDING HYDRAULIC MODELS
1. Fix for the fluid a power direction
2. For each distinct pressure establish a 0-junction (usually there are tank,
compressibility, ….)
3. Place a 1-junction between two 0-junctions and attach to this junction
components submitted to the pressure difference
4. Add pressure and flow sources
5. Assign power directions
6. Define all pressures relative to reference (usually atmospheric) pressure,
and eliminate the reference 0-junction and its bonds
7. Simplify the bond graph
58
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
EXAMPLES OF BG MODELS : Hydraulic
Valve 1
Pump LC PR R2
PP
P0
P P -PR PR -P0
PP PR PR P0
Se:PP Se:-P0
1 0 1
VR1 VR1 VR 2 VR 2
De
PID
R:R1
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs» 59
EXERCISES : Mechanical (pneumatic valve)
u
Controller
1
2
DEMO
4
3
x 6
7
5
C:1/ke
Ff
R:f
PID
0,2 -1 bar
3 - 15 psi Pe
Ve
T1
x
u De1 Vs
LT PR
P0
62
EXERCISES : Bond graph model of the hydraulic system
R:f C:ke
I:m
Ff
Fk x
FI
Pe F
MSe : Pe TF: 1 Df : x
V A x
x
u
PID x
C:CR R:RV
De:P0
PR
PR P0
Sf : Ve 0 1 Se : P0
Vs
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs» 63
EXAMPLES OF BG MODELS :Thermal
Ta
Source of heat
Ts
Q S
C:Cb R:Ra
TS - Ta
TS Q b Q a
TS
Sf : Q S
TS Ta
0 1 Se:-Ta
Q S Q a Q a
CAUSALITY
CHAPTER 3: Causalities and dynamic model
• Definitions and causality principle
• Sequential Causality Assignment Procedure (SCAP)
• Bicausal Bond Graph
• From Bond Graph to bloc diagram,
• State-Space equations generation
• Examples
(a)
f e
B A B
A f
(b)
The causal stroke is placed near (respectively far from) the bond graph
element for which the effort (respectively flow) is known.
R1 Se:E R:R1
i i
UR
E R1
Se:E R1
i UR UR
Sf:i R:R1
R1 i
i U R R1i
Sf:i R1
69
Remarks about causalities
the orientation of the half arrow and the position of the causal
stroke are independent
e e f
i FR 1 ( e ) FR 1
R Conductance causality
1
f i u
R
f FR
e
e
R e FR ( f ) Resistance causality
f u R .i
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs» 71
Integral and derivative causality
Derivative
Preferred (integral)
causality
causality
e
C C
f
1 de
e FC fdt f FC dt e d f
f e
1 i C . du
dt
u
C i.dt dt
e I
I f
1 df
f FI e.dt
e f e F I
dt
f d e
1
u L di
dt
i u .dt
L dt
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs» 72
Causalities for 1-junction
Causal Bond Graph model
Block diagram
Strong bond
e1
e2
f2 Causality e2 e1 e4 e3
e1 e3 e4
1-Junction
1 e3 f1 f 2
f1 f3
f2 f3 f 2
e4 f4
+
f4 f2
e1
e2 e1 e4 e3
e4
e3
+
-
f1 f 2
f3 f 2
Rule f4 f2
e1 e2
e1 TF e2 TF
f1 :m f2
f1 :m f2
e1 e2
m f2 m. f1 f1 1 f2 1
f1 m . f2
f1 f2 e1 m.e2 m
m
e2 e2 1 .e1
e1 1 m
m
Causality for GY element
2 CAUSALITY SITUATIONS
e2 e1 e2
e1
GY GY
:r :r
f1 f1 f2
f2
f2 e2 e2 f2
1/r
r
e1 f1
f1 e1 1/r
r
e1 r. f2 f1 1/ r e2
e2 r. f1 f2 1/ r e1
Sequential Causality Assignment Procedure (SCAP)
Apply a fixed causality to the source elements Se and Sf
!!! It these operations give a derivative causality on one element, It is usually better
to add other elements (R) in order to avoid causal conflicts. This elements must
have a physical means (thermal losses, resistance …).
76
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
Element Bond graph Causal equation Bloc diagrams Rule
Effort f
System Output of Se (of Sf) is an
source Se:e e known effort (flow) and is an
Se:e
input for the system.
Flow e System
Rule : The causality is
source Sf:f f known compulsory
Sf:f
f2 (-) Only one effort is allowed
e 2 e1
e 2 f2 e
f3 (+) f1 to be an input. All others
e1 are outputs (here e1 ).
e1 e3 3 f4 (-)
Junction 0 0
e 4 e1 e2 e1 e2 Rule: Only one bond have
f1 f3
f 1 f 2 f 3 f 4 e1 causal stroke near a 0
f4 e4 e3 e1 e3
junction.
e4 e1 e4
e1 me2 e2 m 0 e1
e1 e2 0 m Only one effort and one
TF
:m
f 2 mf1 , f1 f2 flow may be inputs
f1 f2
TF 1 1 e2
e2 m e1
e1 0
m Rule : One causal
1
e1 e2 stroke near TF
TF
:m f1 1 f 2 , 0
f2
f1 f2 m m f1
e1 e2 e1 rf 2 f2
r 0
e1
GY Two efforts or two flows
:r e2 rf 1 , 0 r may be inputs
f1 f2 f1 e2
GY 1
f 2 r e1 e1 1
0
f2
e1 e2 r Rule : Two causal stroke
1
GY f 1 1 e2 , 0 or no one near GY
f1 :r f2 r
e2 r f1
e
C:C1 e C fdt C q f C fdt e Integral causality:
C f effort is an output
e
C:C1
f
d
C1 e e
d
dt
C1 e f Derivative causality :
dt flow is an output
e f I edt I p e I edt Integral causality :
I:I1 f
f flow is an output
I e e
d
I 1 f
f
I:I1 dt f d
dt
I 1 f e Derivative causality :
effort is an output
e Resistance causality:
R:R1 e R( f ) f R ( f ) e
f output is an effort
R Conductance causality
e
f 1 R ( e ) 1 R (e) f
f
R:R1 e : flow is an output 77
How to generate simulation diagram from the bond
graph model ?
1
R1
e1 e2 e1 1/m e2
TF
f1 :m f2 f2 1/m f1
e1 e2 f2 r e1
GY
f1 :r f2 f1 r e2
e1 e2 e2 1/r f1
GY
f1 :r f2 e1 1/r f2
80
Prof. B. Ould Bouamama Polytech Lille « Integrated Design of Mechatronic Systems using Bond Graphs»
From BG to Bloc Diagram (3/3)
f6=f4-f5
i UR ir
R1 Uc
E Uc
E C
Se:E 1 C:C1
g
ie ic
UR +
Uc E UR
For 1 junction E Uc -
❶
UR 1
1 ir U R
For R elemnt R:R1 UR R1
ir
R1
Uc 1
For C element Uc ic dt
C:C1 ic 1 C1
C1
ic
Steps for bloc diagram generation
❶ Causal graph R:R1 ❷ Expansion of causal bonds
to bilateral signal R1
UR ir
UR ir
E Uc E Uc
Se:E 1 C:C1
1 C1
ie ic Se
ic
❸ Write constitutive equation
for each element and replace
junction by operators ❹ Use Simulink Software
+
Se UR 1 ir 1 Uc
Uc - R1 C1
Insulin Pump
Voltage u 1 2 F Pc P0
End
DC Shaft Pinion + Piston +
V0
Orifice
source
i motor 1 2
Rack
x
cylinder
Vc
user
uL i
:Ke
j
1 2 :Rp
x :Ap
V V0
I:La I:Jp
R:Rc
Modellingg and control of Intelligent
g vehicle
Ua Ue
cm csr cp
Voltage Mechanical Whell Contact
Electrical part
source part
m
Reducer
sr r force
ia
R:Ra R:fm C:1/k R:fr Se:-Fp
UR c fm c c fr TF
Ua Ue cm cer csr cp :Rr
Se:Ua 1 GY 1 TF 0 1
ia :Ke m m :1/N r
UI cIm sr
cIr
I:La I:Jm I:Jr
EXAMPLE (How to avoid derivative causality ?)
i Derivative causality C
UC iC
iC C UC
E E dE
Se:E 0 iC C.
dt
i Current infinite ?
R uR uC iC
i iR
E uC
Se:E 1 0
iC iR iR
E C UC
1
UC
C R
i dt
Derivative causality : example
I:M1 I:M2
TF
Se:F(t) 1 :b/a 1
C:1/k
I:M1 C I:M2
TF
Se:F(t) 1 0
:b/a
1
C:1/k
State equations : Définition
Objectif
Une représentation d'état permet de modéliser un système dynamique sous
forme matricielle en utilisant des variables d'état. On se place alors dans un
espace d'état.
Plus généralement, les variables d’état dans les systèmes physiques sont
les éléments aptes à emmagasiner de l’énergie sous forme cinétique ou
potentielle : inductances, capacités, masses, ressorts... Ce sont les
éléments ayant une capacité de "mémoire".
U(s) Y((s)
W(s) 92
State Equations
System to be controlled
M x
yc u
CORRECTOR ACTUATORS PROCESS
A
X-x
y
SENSORS
PI e(t )dt
x Ax bu x F ( x, u ) x
Linear : Nonlinear Bond graph C
q f ( t ) dt
y cx y C ( x)
Se, Sf Manual
u
MSe, MSf Auto.
A nn , B mn , C rn
y De, Df
STATE EQUATION
The state vector, denoted by x, is composed by the variables p (impulse)
and q (displacement) , the energy variables of C- and I-elements.
PI e(t )dt
x
qC f (t ) dt
Properties
the state vector does not appear on the Bond graph, but
only its derivative
e( t )
x
f (t )
E x1 / C1 Use of Software for automatic
Se:E 1 C:C1 generation of state equation
x1 x1
State equation
x1 1 x1 1 1
R1 x 1 E x1 E
x1 E
C1 R1 C1 R1C1 R1
1 x1
y E x 1
R1 C1
State equations : RLC Electrical system (1/2)
R:R1 y
Df:im
❸determine unknowns via
constitutive relations, junction
R1 x 2 / L x2 / L constraints
E x1 / C1
Se:E 1 C:C1 The state variables are the
x1 x1 charge and flux but in the
x2 x2 / L Bond graph appears only their
derivatives (the current and
voltage)
I:L
di
x2 x2 L U
dt
R1 x1
x2 E x2 x1 q x1
dq
i
L C1 dt
x2
x1
L 1 x2
i Udt
x2 L L
y
L q x1
U
C C
State equations : RLC Electrical system (1/2)
R:R1
y ❸determine unknowns via
constitutive relations, junction
R1 x 2 / L x2 / L constraints
E x1 / C1
Se:E 1 C:C1 The state variables are the
x1 x1 charge and flux but in the
x2 x2 / L Bond graph appears only their
derivatives (the current and
voltage)
I:L
di
x2 x2 L U
dt
R1 x1
x2 E x2 x1 q x1
dq
i
L C1 dt
x2
x1
L 1 x2
i Udt
x2 L L
y
L q x1
U
C C
Application to DC motor (1/2)
State variables are:
d
x1 : Electrical flux=Li
dt
dJ m
x2 J m:angular moment=J
dt
x1 e(t )dt Li
x J
x2 (t )dt
U (t )
x
R:Ra R:Rm (t )(t )
Df:im
Ua L
Se:Ua 1 GY 1 Se:-L
:K
x1 U x2 Df:m
I:La I:Jm
Application to DC motor (2/2)
R:Ra R:Rm y2
y1
Df:im Df:m
Ra x1 / L x1 / L R1 x 2 / J x2 / J
Ua ( x2 / J )k ( x1 / L)k L
Se:Ua 1 GY 1 Se:-L
x1 / L :K x2 / J
x2 x2 / J
x1 x1 / L
I:La I:J
x1 Ra x1 x2
Ua k Ra k
x2 L J x1 L J x1 1 0 U a
x k
0 1
2 m 2 L
x R x R x
x2 1 k m 2 L L J
L J
x1 1
0
y1 y1 L x1
L y 1
2 0 x2
x2 J
y2
Simulation using state equation
Ua x Ax Bu x y
y Cx
y Cx Du
Ra k
x1 L J x1 1 0 U a Ra k
x k L
2 m 2
R x 0 1 L J 1 0
A , B
L J k R 0 1
m
1 L J
0
y1 L x1
1
y
L 0
2 0 1 x2 C
J , D 0
0 1
J
Simulation using block Diagram
R:Ra R:Rm
UR Df:im
f
Se:Ua
Ua Ue GY
m
1 1 Se:-L
:K
i
Df:m
UI J
I:La I:Jm
Se:L
k
- y1 - y2
+ UI 1 i m + J 1
Se:Ua dt k
La dt
Jm
- -
UR
Ra Rm
Exercises
R:R2
I:L
De:e6
L R1 2 5
E R2 C U(t) E
Se:E 1 0
1 4
3 6
R:R1 C
2. STATE EQUATIONS
u x Ax Bu x p 2 e2
x , u Se E (t ) , y e6
y Cx 6 6
q f
y
PART 4
Automated modelling
CHAPTER 5: Automated Modeling and Structural analysis
Bond Graph Software's for dynamic model generation
Integrated Design for Engineering systems
Bond Graph for Structural analysis (Diagnosis, Control, …)
Application
C E u M
WR ( p ) WOU ( p )
(-)
M1 M2 M
u Wou 1 ( p ) Wou 2 ( p ) Woun ( p )
Rappel cas SISO
Données : un système décrit par des équations d’état
u (t ) x (t ) y (t )
Contrôleur ACTIONNEUR PROCESS CAPTEURS
W ( p) C pI A B
1
x (t ) Ax(t ) Bu (t )
0 1 n 1
a a p ...a p
0
U ( p)
1 n
n
y (t ) Cx(t )
Pôles ?
Sont les valeurs propres de A
rang (Obs ( A, C )) C CA CA 2
... CA n 1 T
n
rang (Com( A, B )) B
2 n 1 T
AB A B ... A B n
Placement de pôle ?
Il revient à imposer au système dynamique par simple réaction d’état
(c.à.d. sans régulateur) susceptible d’introduire de nouveaux modes
dans le système bouclé.
+ u (t ) y (t )
e (t ) x (t ) Ax (t ) Bu (t )
L
y (t ) Cx (t )
-
x (t )
K
x (t ) Ax(t ) Bu (t ) Y ( p)
Wo ( p ) C pI A1 B
y (t ) Cx (t ) U ( p)
Comment faire ?
x (t ) x A BK BLe Y ( p)
Ws ( p ) C pI A BK 1
BL
y Cx (t ) e ( p )
Conclusion
La dynamique est imposée par les valeurs propres de (A-BK)
K et L : Paramètres de la loi de commande
• Le : action directe régit les propriétés de poursuite du système. L choisi de telle sorte que y(t)-
e(t) tende vers 0. K régit la stabilité
1 1 8 8
0 0 0
0
-1 - 0 0
10 10
0 10 1 0 10
p1, 2 0 j
p Re p Re
0
1 450
0
0 10 Re
0 10
Calcul de L et K
Y ( p) b0 b1 p ...bn 1 p n 1
W ( p) x Ax Bu
U ( p) a0 a1 p ... p n W ( p ) C pI A1 B
y Cx
Le système sous forme commandable
Système bouclé
0 1 ... ... 0
0 0 ... ... 0
0
. . . . . .
. . . . .
u Kx Le x x . Le
. . . . . .
0 0 0 1 0
1
0 0 0 0 1
k 0 a0 k1 a1 ... ... kn 1 an 1
y b0 b1 .........bn 1 x
0 a0 k0
a k
1 1 1
ki ai i i choisisis en fonction d’une
. dynamique imposée
n 1 an 1 kn 1
Y b0 b1 p ...bn 1 p n 1
W f ( p) 0
Le 0 1 p ... n p n L
y () Le.W f (0) Le.b0 / 0 E () y () e 0
b0
La forme commandable
2 problèmes à résoudre
1. (A,B,C) n’est pas sous forme commandable
2. On ne peut pas mesurer les variables d’état x
0
0 1 ... 0 0
x* A * x* Bu*
avec A* . . . . , B* , C * b0 b1 ... ... bn 1
y C * x* .
a0 . . an 1
1
Forme commandable
0 1 ... 0
P 1 AP A* PA* AP P1 ... Pn . . . . . A.P1 ... Pn
a0 . . an 1
Elimination successive
AP1 a0 Pn Pn 1 ( A an 1.I ) Pn
AP P a P
2 1 1 n Pn 2 ( A2 an 1. A an 2 I ) Pn
.
.
AP P a P n 1 n2
n 1 n2 n2 n
P
1 ( A a n 1. A ...a1I ) Pn
APn Pn 1 an 1Pn 0 ( An a . An 1 ...a I a I ) P
n 1 1 0 n
Pn B P P P1 ....
Pn ( An 1 an 1. An 2 ...a1I ) B ... B
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Exemple : retour d’état
Exemple : mettre sous forme commandable
Données:
2 1 0
x 0 3 . x 1.u
x Px* / ( A* , B* , C * ) sous forme commandable
y 3 4x
2 1
PA ( ) det(I A) det 2 3 6 5 2
a a 2
0 3 0 1
Trouver A*, B* et C*
1 0 0 1 0 1 *
P P1 P2 A*
P 1
AP , B P 1
B
2 1 6 5 a0 a1
* 0 1 0
1 1
A P AP ,
6 5 a0 a1
x* (t ) A* x* (t ) B*u
B* P 1B 0 1T
y (t ) C * x* (t )
1 0
C CP 3
*
4 11 4
2 1
Calculer K et L du bouclage
Etapes de résolution:
1. Vérifier que le système est commandable
0 1
rang (Com( A, B )) rang (B, AB ) rang ( )2
1 3
P( A BK ) ( ) 6 5 2 0 1 2 (a 0 k0 ) (a1 k1 ) 2
a 0 k0 0 6
K * k0*
k1* 0 10
k0 6 6 0, k1 5 5 10
a
1 1 k 1 5
Calcul de L
L 0 / b0
Réalisation pratique
+ 2 1 0 y (t )
u (t ) x . x 1.u CAPTEUR
e (t ) L 0 3
y 3 4x
-
x ( t ) x1 x2
K 20 10
What is observer ?
Given
x (t ) Ax (t ) Bu (t )
u x y ,
Process C y Cx(t )
x n , y m , u p
ˆ u (t )
x (t ) A KC xˆ (t ) B K
y (t )
yˆ Cxˆ (t )
xˆ (0) xˆ0
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Simulation of the observer
ˆ u (t )
x (t ) A KC xˆ (t ) B K
y ( t )
yˆ Cxˆ (t )
x̂0
u (t ) ŷ
B K x̂ x̂
y (t )
C
A-KC
Example DC motor
m
i Re τL
Le τ (Jm,Rm)
Ua
im
iˆm
U a x̂0 i
xˆ ( t ) yˆ
u (t ) ˆ m
L x̂
im
B K C
y (t )
m A-KC
28
Observer and process : simulation
PROCESS
x0
u (t ) x x y x (t ) Ax (t ) Bu(t )
B
C
y Cx ( t )
,
+
OBSERVER
Bu (t )
B
+ +
y xˆ (t ) Axˆ (t ) Bu(t ) K y (t ) Cxˆ (t )
x̂ x̂ K ( y yˆ )
yˆ Cxˆ (t )
+
K
-
A ŷ
Aˆx
Cˆx
C
Convergence conditions
x (t ) Ax (t ) Bu(t )
, x n , y m , u p
y Cx (t )
~
x x xˆ
~ x x xˆ Ax Bu Axˆ Bu K ( y Cxˆ ) A( x xˆ ) KC ( x xˆ )
Convergence (2/2)
Erreur d’estimation
d ( x xˆ ) ~
x A( x xˆ ) KC ( x xˆ ) A KC ) ~
x
dt
d (t )
x ( p ) pI A KC 1 x0 xˆ 0
~ A KC . (t )
dt
d ( x xˆ ) ~
x xˆ x 2( x xˆ ) KC ( x xˆ ) 2 4 K ( x xˆ )
dt
(t ) x xˆ d (t )
2 4 K . (t )
dt
Convergence of error
Stability conditions
0
( p) (t ) 0 .e t
p (2 4 K ) 0 4k 2 0 k 0,5
4k 2
State equation
R dU c (t )
U cm U c (t ) RC E (t )
E C x U c (t ) dt
u E (t ) dU c (t ) 1 1
U c (t ) E (t ) Ax (t ) Bu (t )
y U cm (t ) dt RC RC
Measurement equation
Observateur
U cm (t ) U c (t ) y (t ) Cx (t )
Capteur logiciel Uˆ c
Observer's design
dUˆ c (t ) 1 ˆ 1
U c (t ) E (t ) K (Uˆ cm (t ) Uˆ c (t )) Ax (t ) Bu (t ) K ( y Cxˆ )
dt RC RC
Uˆ cm (t ) Uˆ c (t ) Cxˆ (t )
33
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Example : how to design an observer of RC system ? (3/3)
Observateur
dUˆ c (t ) 1 ˆ 1 x x xˆ
U c (t ) E (t ) K (Uˆ cm (t ) Uˆ c (t ))
dt RC RC x x xˆ Ax Bu Axˆ Bu K ( y Cxˆ ) A KC ( x xˆ )
dU c (t ) 1 1
U c (t ) E (t )
dt RC RC
1 1
A ,B , C 1
RC RC
Observer convergence
d Uˆ c (t ) U c (t d (t ) 1 d (t ) 1 1
K (t ) K (t ) 0 Kt
dt dt RC dt RC (t) e RC
1 1 1
( t ) 0, ssi K0 K 0 K
RC RC RC
34
Example : how to design an observer of RC system ? (2/3)
OBSERVER
(-)
1
(-)
Observation error
1
RC
K (Uˆ cm ( t ) Uˆ c ( t ))
35
Remarks
Conclusion
The reconstruction error is not zero because
• The IC of the observer is choosen arbitraly and IC of the process are
unknowns
How to calculate the error: We can act only on K: then choose K to stabilize the
matrix A-KC ensuring convergence to zero the error
• Used Techniques: Poles Placement used to set the speed of convergence
by adjusting the coefficient K (see the instructions on Matlab place and
acker
The characteristic polynomial of an n-by-n matrix A is the polynomial pA(x), such that
pA(x)=det(xIn−A), In is the n-by-n identity matrix
Example
1 2 x 0 1 2 x 1 2
A , PA ' x ) det( Ix A) det
0 x 3 4 det( 3 x 2
5x 2
3 4 x 4
Find the coefficients of the characteristic polynomial of the symbolic matrix A. For this matrix, charpoly
returns the symbolic vector of coefficients:
A = sym([1 2; 3 4]); P = charpoly(A)
P = [ 1, -5, -2]
Now find the coefficients of the characteristic polynomial of the matrix B, all elements of which are double-
precision values. Note that in this case charpoly returns coefficients as double-precision values:
B = ([1 2; 3 4]); P = charpoly(B)
P = 1 -5 -2 37
Calculation of observer gain K
x (t ) Ax (t ) Bu (t )
Given , x n , y m , u p
y Cx (t )
0 0 ... 0 a0 b0 k0 a0 , a1 ....an 1
1 k
0 ... 0 a1 b
1 are coefficients
1
x (t ) 0 1 ... . . x . u , y 0 .... 1x K . , C 0 ... 1
of the characteristic polynomial
. . ... . . . . of the system
0 0 ... 1 an 1 bn 1 kn 1
d ( x xˆ )
Consider: x A( x xˆ ) KC ( x xˆ ) A KC ) x
dt
A
KC
A KC A*
0 0 ... 0 a0 0 ... k0 0 0 ... 0 ( a0 k 0 )
1 0 ... 0 a . ... . 1 0 ... 0 ( a1 k1 ) a0 k0 , a1 k1 ....an 1 kn 1
1
A KC 0 1 ... . . . ... . 0 1 ... . . are coefficients
. . ... . . . ... . . . ... . . of characteristic polynomial
0 0 ... 1 an 1 0 ... kn 1 0 0 ... 1 ( an 1 kn 1 ) of the observer
How to fix K ?
A KC A*
0 0 ... 0 ( a0 k 0 )
1 0 ... 0 ( a1 k1 ) a0 k0 , a1 k1 ....an 1 kn 1
are coefficients of characteristic polynomial of the observer
A KC 0 1 ... . .
. . ... . .
0 0 ... 1 ( an 1 kn 1 )
?
P( ACK ) ( ) a 0 k0 a1 k1 ....(a n 1 kn 1 )n 1 n 0 1 ... n 1n 1 n
ki i ai
i : Fixed by the dynamic of the observer we would like to have
ai : Parameters of the system to be monitored or controlled (matrix A)
1 0 ... 0 a1
P1AP T
A *T
P T A*T
AT P T P1 ... Pn 0 1 ... . . AT P1 ... Pn
. . ... . .
0 0 ... 1 an 1
Pn 1 ( AT an 1.I )C T
Elimination Pn 2 ( AT 2 an 1. AT an 2 I )C T
successive
AT P1 a0 Pn Pn=CT .
T n 1
AT P2 P1 a1Pn P1 ( A an 1. AT n 2 ...a1I )C T
0 ( ATn a . AT n 1 ...a I a I )C T
. n 1 1 0
T
A Pn 1 Pn 2 an 2 Pn
AT P P a P
n n 1 n 1 n
2 1 1
x . x 1.u x Px* / ( A* , B* , C * ) sous forme observable
2 3
y 1 2x
2 1
PA ( ) det( I A) det 2 3 2 4 5 2
a a 2
2 3 0 1
Forme modale
1 0
Amod al PA( ) ( 1)( 4) 4 5 2
0 4
1
7
P2 C T , P1 AT a1I C T
P T P1 P2 1 T 00.2222
.1111
0.5556
0.7778
2 5
0 4 0 a1 2
A* P 1 AP , B P 1
. B canon(SYS,'companion')
1 5 1 a2 1
C * CP 0 1
d= d=
u1 u1
y1 0 y1 0
Application to DC motor (1/2)
x1 e(t )dt Li
x J M
x
2 ( t ) dt
U (t )
x
R:Re R:Rm (t )(t )
Df:im
Ua L
Se:Ua 1 GY 1 Se:-L
:K
x1 U x2 Df:m
I:Le I:Jm
Simulation using state equation
Ua x Ax Bu x y
y Cx Du y Cx
Ldi
dt U a U R U e U a Rei K e
J m d Cm CR Cc K ei Rm Cc
dt Re Ke 1
L
Le L 0
A , B e
e
Re Ke 1 Ke R 1
0 m 0
i Le Le i La U L
e Jm
Jm
K a
e R 1 C
J m 0 c 1 0
C , D0
m Jm Jm
0 1
i i 1 0 i
y m C
m 0 1
Application numérique
xˆ (t ) A K1C1 xˆ (t ) Bu (t ) K1 y1 (t )
xˆ (t ) A K1C1 xˆ (t ) Bu (t ) K1 y1 (t ) dt How to calculate K1 !!!
U a
u (t ) iˆ
iˆ
yˆ m
L xˆ ( t ) ˆ m
OBSERVER ˆ
C
y1 ( t ) im
49
Program in Matlab
DC MOTOR
xˆ (t ) A K1C1 xˆ (t ) Bu (t ) K1 y1 (t )
xˆ (t ) A K1C1 xˆ (t ) Bu (t ) K1 y1 (t ) dt
Cc: Load
Ua: Voltage
A K1C1
50
Synthesis of the observer
di
dt -5.45 -0.32 i 2.27 0 U a
Objectives :
d
1.74 -0.12 0
-12.5 Cc k
K1 0 Determine K1 to assume the convergence of the
dt
k1 observer i.e.
i
y im 1 0 C1 y (t )
x x xˆ 0 x xˆ
We can assume any dynamics for the observer (the dynamics depends on the poles)
For instance the observer will be twice times faster than the initial system (DC motor x (t ) Ax Bu )
Let’s assume eig(A-KC) ) eig(A)*3.
Poles of initial system are P1 =-5,3, P2 =-0,2 , Poles of the observer can be fixed : P1obs =-10, P2obs =-0,4
?
k0 4.43
PA* ( ) 5.57 k0 0.12k0 0.32k1 1.21 ( 2 .10.4 4
2
k1 7.05
52
Programme in Matlab-Simulink : Calcul paramètres de l’observateur
53
Programme in Matlab-Simulink : Calcul paramètres de l’observateur
disp('FORMES CANONIQUES')
pause, home disp('Cas 2: seul le capteur de vitesse Wm est disponible')
[Acan T]=canon(SYS,'companion') pause, home
Coef=poly(A);
C2=C(2,:);
[Acan,T] = canon(SYS,'companion');
K2 = place(A', C2', Mobs);
Amod = canon(SYS,'modal')
K2=K2'
pause, home
Aobs2 = A-K2*C2;
disp('SYNTHESE DE L OBSERVATEUR')
Bobs2=[B K2];
disp('Dynamique imposée à l observateur')
pause, home pause
Mobs=[-10 -0.4] disp('Calcul Gain Observateur Complet')
pause pause
disp('Cas 1: seul le capteur du courant Im est disponible') K = place(A', C', Mobs)
pause, home K=K'
C1=C(1,:); Aobs = A-K*C;
K1 = acker(A', C1', Mobs); Bobs=[B K];
K1=K1'
Aobs1 = A-K1*C1;
Bobs1=[B K1];
poles_obs1=eig(Aobs1)
pause
Résultats Calcul Matlab
T= SYNTHESE DE L
OBSERVATEUR
NOMBRE D ETATS INCOMMANDABLES: 0.4400 1.3813 Cas 2: seul le capteur
Dynamique imposée à l de vitesse Wm est
Ncom = 0 0 0.2532
observateur disponible
Amod =
FORMES CANONIQUES a=
Mobs = K2 =
Acan = x1 x2
-10.0000 -0.4000 -13.5390
a= x1 -5.349 0
4.8205
x1 x2 x2 0 -0.2301
Cas 1: seul le capteur
x1 0 -1.231 du courant Im est
disponible Calcul Gain
x2 1 -5.58 b= Observateur Complet
K1 =
b= u1 u2 K=
4.8205
u1 u2 x1 -1.176 0.391
-6.8587
x1 1 -17.27 x2 -0.1942 3.212 4.5455 1.7375
x2 0 -3.165 -0.3159 0.2750
c= c= K=
poles_obs1 =
x1 x2 x1 x2 4.5455 -0.3159
-10.0000
y1 2.273 -12.4 y1 -1.973 0.2401 1.7375 0.2750
-0.4000
y2 0 3.949 y2 0.6561 -3.971
d= d=
u1 u2 u1 u2
y1 0 0 y1 0 0
y2 0 0 y2 0 0
Programme in Matlab-Simulink : Simulation in Simulink
56
COMPENSATEUR DE SMITH
Limites de la régulation PID
Régulateur idéal ?
Régulateur PI Process
C E 1 u K0 M
K R 1
Ti p 1 T0 p
(-)
T p 1 K 0
K R i Si Ti=T0 1
Wf ( p ) Ti p 1 T0 p Wf ( p )
T0
T p 1 K 0 1
1 K R i K R K0 p 1
Ti p 1 T0 p
Mais dans l’indsutrie il n’existe pas de système du 1er ordre
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Limites de la régulation PID
Cas d’un procédé de n-ième ordre
Process
Régulateur PI
C E u K0 1 1 M
WR ( p ) 1 T0 p 1 T1 p 1 Tn p
(-)
Régulateur irréalisable car on ne peut pas technologiquement réaliser exp(TP) car elle signifie que
l’on connaît par avance le signal de sortie du module avant d’avoir exécuté une variation
d’entrée.
Conclusion
Avec un régulateur PI et PID, il est impossible de réaliser une régulation convenable
dés que l’on est en présence de procédés possédant un retard important ou un ordre
élévé.
Remède
Réaliser une régulation qui exclut le retard pur ou l’ordre n de la boucle de régulation
C E u K0 Mi M
WR ( p ) . p Exclure le retard pur
1 T0 p
e
(-)
C E u K0 Mi K0 K0 M
WR ( p ) 1 T0 p 1 T0 p 1 Tn p
(-)
Exclure l’ordre n
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Prédicteur de Smith
Structure de la régulation
G1(p)
C E u K0 Mi M
C ( p) 1 T0 p e . p
(-)
Objectifs
assurer les performances de base (stabilité, rapidité et précision) par une approche
directe basée sur la connaissance d’une fonction de transfert du procédé.
G1(p) S1 S1
C E u K0 Mi M
R( p) 1 T0 p e . p
(-)
1 Tip
R ( p ) Kr
Tip
G1(p) S2
C E u K0 Mi M
C ( p) 1 T0 p e . p
(-)
Comment ?
En considérant que S1 et S2 sont équivalents : on identifie la FTBF de S1 à celle de S2
G1(p)
C E u K0 Mi M R ( p ).G1 ( p )
R( p) . p GBF 1( p ) .e p
1 T0 p e 1 R ( p ).G1 ( p )
(-)
C E K0
M C ( p ).G1 ( p ) e p
C ( p) 1 T0 p e . p GBF 2 ( p )
1 C ( p ).G1 ( p ) e p
(-)
R
GBF 1( p ) GBF 2 ( p ) C ( p )
1 RG 1 1 e p
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
CHAP1.6
6
Synthèse de C(p)
Schéma équivalent
R
C ( p)
1 RG1 1 e p
C(p): Prédicteur de Smith
G (p): Procédé
G1(p)
C u M
E K0
e p
R( p) 1 T0 p
(-) (-)
1 e p G1( p)
E2
E1
1 e p G1( p)
R(p) F(p)
Process M
C 1 Ti p K0
K R e . p
Ti p 1 T0 p
(-)
Compensateur Wo(p)
Mc
E1 1 e p
K0
1 T0 p
E2 Wc(p)
Process M
C 1 Ti p K0
K R e . p
Ti p 1 T0 p
(-) Synthèse du correcteur
Compensateur Wo(p) F ( p ) Wo ( p ) W c ( p )
Mc
1 e p
E1
K0 K0 K0 K 0 e . p
1 T0 p 1 T0 p
e . p
1 T0 p 1 T0 p
E2 Wc(p)
K0
F ( p)
F(p) 1 T0 p
C 1 Ti p Wo ( p ) M
K R
Ti p E2
(-) E1 Mc
Wc ( p )
Remarques
Pas de problèmes de stabilité en théorie, mais en pratique la simplification ne conduit
pas exactement à un système du 1er ordre
Inconvénient de la méthode
Le régulateur ne capte pas la mesure mais le signal compensé
Q3 (t )
Q1 (t ) Q2 (t )
Bac d’eau V1 V2
P=0 P=0
Régulateur PI Process
C E 1 u K0 M
K R 1
Ti p 1 T0 p
(-)
T p 1 K 0
K R i Si Ti=T0 1
Wf ( p ) Ti p 1 T0 p Wf ( p )
T0
T p 1 K 0 1
1 K R i K R K0 p 1
Ti p 1 T0 p
Mais dans l’indsutrie il n’existe pas de système du 1er ordre
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Limites de la régulation PID
Cas d’un procédé de n-ième ordre
Process
Régulateur PI
C E u K0 1 1 M
WR ( p ) 1 T0 p 1 T1 p 1 Tn p
(-)
Régulateur irréalisable car on ne peut pas technologiquement réaliser exp(TP) car elle signifie que
l’on connaît par avance le signal de sortie du module avant d’avoir exécuté une variation
d’entrée.
Conclusion
Avec un régulateur PI et PID, il est impossible de réaliser une régulation convenable
dés que l’on est en présence de procédés possédant un retard important ou un ordre
élévé.
Remède
Réaliser une régulation qui exclut le retard pur ou l’ordre n de la boucle de régulation
C E u K0 Mi M
WR ( p ) . p Exclure le retard pur
1 T0 p
e
(-)
C E u K0 Mi K0 K0 M
WR ( p ) 1 T0 p 1 T0 p 1 Tn p
(-)
Exclure l’ordre n
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Prédicteur de Smith
Structure de la régulation
G1(p)
C E u K0 Mi M
C ( p) 1 T0 p e . p
(-)
Objectifs
assurer les performances de base (stabilité, rapidité et précision) par une approche
directe basée sur la connaissance d’une fonction de transfert du procédé.
G1(p) S1 S1
C E u K0 Mi M
R( p) 1 T0 p e . p
(-)
1 Tip
R ( p ) Kr
Tip
G1(p) S2
C E u K0 Mi M
C ( p) 1 T0 p e . p
(-)
Comment ?
En considérant que S1 et S2 sont équivalents : on identifie la FTBF de S1 à celle de S2
G1(p)
C E u Mi M R ( p ).G1 ( p )
R( p)
K0 . p GBF 1( p ) .e p
1 T0 p e 1 R ( p ).G1 ( p )
(-)
C E M C ( p ).G1 ( p ) e p
C ( p) K0
1 T0 p e . p GBF 2 ( p )
1 C ( p ).G1 ( p ) e p
(-)
R
GBF 1( p ) GBF 2 ( p ) C ( p )
1 RG 1 1 e p
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
CHAP1.1
0
Synthèse de C(p)
Schéma équivalent
R
C ( p)
1 RG1 1 e p
C(p): Prédicteur de Smith
G (p): Procédé
G1(p)
C u M
E K0
e p
R( p) 1 T0 p
(-) (-)
1 e p G1( p)
E2
E1
1 e p G1( p)
R(p) F(p)
Process M
C 1 Ti p K0
K R e . p
Ti p 1 T0 p
(-)
Compensateur Wo(p)
Mc
E1 1 e p
K0
1 T0 p
E2 Wc(p)
Process M
C 1 Ti p K0
K R e . p
Ti p 1 T0 p
(-) Synthèse du correcteur
Compensateur Wo(p) F ( p ) Wo ( p ) W c ( p )
Mc
1 e p
E1
K0 K 0 e . p
1 T0 p
K0
1 T0 p
e . p
K0
1 T0 p 1 T0 p
E2 Wc(p)
K0
F ( p)
F(p) 1 T0 p
C 1 Ti p Wo ( p ) M
K R
Ti p E2
(-) E1 Mc
Wc ( p )
Remarques
Pas de problèmes de stabilité en théorie, mais en pratique la simplification ne conduit
pas exactement à un système du 1er ordre
Inconvénient de la méthode
Le régulateur ne capte pas la mesure mais le signal compensé
Q3 (t )
Q1 (t ) Q2 (t )
Bac d’eau V1 V2
P=0 P=0
Principe Perturbation
Perturbation externe
z1 (t )
externe z (t )
()
X cons u u1 Régulateur u2 y1 (t ) Boucle y (t )
Régulateur Boucle y1 (t )
Maître esclave interne () externe
( ) ( )
Capteur 1
Capteur 1
Avantage inconvénients
u(t) Qps(t) R2
Qp(t)
h2 c (t ) R1
PID 1 PID 2
Pompe P1
( ) ( ) LT h1(t) h2 (t ) LT
1 V12 2
hm1 (t )
()hm 2 (t ) Q3 (t )
( ) Q1 (t ) Q2 (t )
V1 V2
P=0 P=0
19
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Problématique
Dans un système MIMO, l’ensemble des E/S est suscptible d’influer sur l’ensemble des
sorties
u1 y1
SYSTEME
MULTIVARIABLE
um yn
But du découplage
Limiter l’effet d’une entrée à une seule sortie permettant de modèliser le processus sous
forme d’un ensemble de système monovariable évoluant en parallèle
Les commandes seront alors non intéractives
u1
Jus de fruit
concentré Qc
Eau
V1
Qjc(t) V2 Qe(t)
u2 FRC
C1
1
AIC
C2 M1
1
FT
M2
1
AT Qs(t), Cs(t)
1
Mélange de concentration Cs et
de Débit Qs
REGULATEUR PROCESS
(-) M1
Qe Qse + Qs
C1 FRC
Vanne1+c
onduite
Mélangeur1
1
+
Mélangeur1 Cse
2
Qsc
Mélangeur2
1
+ -
Vanne2+c QC Mélangeur2 Cs
C2 AIC onduite 2
(-)
M2
REGULATEUR PROCESS
(-) M1
W11(p) Qse Qs
Qe +
C1 FRC
+
Cse
W12(p) Qsc
W21(p)
+ -
QC Cs
C2 AIC W22(p)
(-)
M2
Paramètres
W11(p) , W22(p) : F.T. réglantes
W12(p) , W21(p) : F.T. perturbatrices
Dynamique du système
Un changement de consigne du débit d’extraction C1 provoque la variattion de Qe
qui entraîne celle de Cs qui à son tour provoque la variation de Qs et ainsi de
suite
Qe(t), Te(t) Qc TT
1
u2
V2 M1
Ts(t)
LC M2 LT
C2 U1
Pu TRC
1 1
C1
1
Débit Qs Qs(t)
u1 y1
SYSTEME
MULTIVARIABLE
um yn
u1 S1 y1
u2 S2 y2
un Sn yn
y1 ( p ) R1 M 1 e1
y1 ( p ) R1 M 1 . 0 .
Y ( p ) . R( p ). M ( p ).e( p )
yn ( p ) 0 . Rn M n
yn ( p ) Rn M n en
COMMENTAIRES
Commentaires sur la méthode
Apparition de modes non observables ou non commandables (dangereux s’ils sont
instables)
Méthode en Boucle ouverte
R(p) non réalisable physiquement
M(p) inversible
Précautions à prendre
Assurer la stabilité du système en effectuant un retour d’état
Régulateur Process
(-) M1
C1 S1
U1 +
R11(p) W11(p)
D +
E
C z12(p) Qsc
O
U
P z21(p)
L
E
+ + M2
C2 S2 U U2
R22(p) R W22(p)
(-)
(-) M1
C1 S1
U1 +
R11(p) WD1(p)
C2 S2 + M2
U2
R22(p) WD2(p)
(-)
D21(p)
z21(p)
+ + + M2(p)
S2(p) +
U2
W22(p)
Principe
L’influence de S1(p) sur M2(p) doit être nulle Z12 ( p )
D12 ( p )
M 2 ( p ) S1 ( p ).Z12 ( p ) S1 ( p ).D12 ( p ).W22 ( p ) 0 W22 ( p )
et l’influence de S2(p) sur M1(p) doit être nulle Z 21 ( p )
D21 ( p )
M 1 ( p ) S 2 ( p ).Z 21 ( p ) S 2 ( p ).D12 ( p ).W11 ( p ) 0 W11 ( p ) 31
COMMANDE FLOUE
Limites de la régulation PID
Régulateur idéal ?
Régulateur PI Process
C E 1 u K0 M
K R 1
Ti p 1 T0 p
(-)
T p 1 K 0
K R i Si Ti=T0 1
Wf ( p ) Ti p 1 T0 p Wf ( p )
T0
T p 1 K 0 1
1 K R i K R K0 p 1
Ti p 1 T0 p
Mais dans l’indsutrie il n’existe pas de système du 1er ordre
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Limites de la régulation PID
Cas d’un procédé de n-ième ordre
Process
Régulateur PI
C E u K0 1 1 M
WR ( p ) 1 T0 p 1 T1 p 1 Tn p
(-)
Régulateur irréalisable car on ne peut pas technologiquement réaliser exp(TP) car elle signifie que
l’on connaît par avance le signal de sortie du module avant d’avoir exécuté une variation
d’entrée.
Conclusion
Avec un régulateur PI et PID, il est impossible de réaliser une régulation convenable
dés que l’on est en présence de procédés possédant un retard important ou un ordre
élévé.
Remède
Réaliser une régulation qui exclut le retard pur ou l’ordre n de la boucle de régulation
C E u K0 Mi M
WR ( p ) . p Exclure le retard pur
1 T0 p
e
(-)
C E u K0 Mi K0 K0 M
WR ( p ) 1 T0 p 1 T0 p 1 Tn p
(-)
Exclure l’ordre n
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Prédicteur de Smith
Structure de la régulation
G1(p)
C E u K0 Mi M
C ( p) 1 T0 p e . p
(-)
Objectifs
assurer les performances de base (stabilité, rapidité et précision) par une approche
directe basée sur la connaissance d’une fonction de transfert du procédé.
G1(p) S1 S1
C E u K0 Mi M
R( p) 1 T0 p e . p
(-)
1 Tip
R ( p ) Kr
Tip
G1(p) S2
C E u K0 Mi M
C ( p) 1 T0 p e . p
(-)
Comment ?
En considérant que S1 et S2 sont équivalents : on identifie la FTBF de S1 à celle de S2
G1(p)
C E u Mi M R ( p ).G1 ( p )
R( p)
K0 . p GBF 1( p ) .e p
1 T0 p e 1 R ( p ).G1 ( p )
(-)
C E M C ( p ).G1 ( p ) e p
C ( p) K0
1 T0 p e . p GBF 2 ( p )
1 C ( p ).G1 ( p ) e p
(-)
R
GBF 1( p ) GBF 2 ( p ) C ( p )
1 RG 1 1 e p
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
CHAP1.1
0
Synthèse de C(p)
Schéma équivalent
R
C ( p)
1 RG1 1 e p
C(p): Prédicteur de Smith
G (p): Procédé
G1(p)
C u M
E K0
e p
R( p) 1 T0 p
(-) (-)
1 e p G1( p)
E2
E1
1 e p G1( p)
R(p) F(p)
Process M
C 1 Ti p K0
K R e . p
Ti p 1 T0 p
(-)
Compensateur Wo(p)
Mc
E1 1 e p
K0
1 T0 p
E2 Wc(p)
Process M
C 1 Ti p K0
K R e . p
Ti p 1 T0 p
(-) Synthèse du correcteur
Compensateur Wo(p) F ( p ) Wo ( p ) W c ( p )
Mc
1 e p
E1
K0 K 0 e . p
1 T0 p
K0
1 T0 p
e . p
K0
1 T0 p 1 T0 p
E2 Wc(p)
K0
F ( p)
F(p) 1 T0 p
C 1 Ti p Wo ( p ) M
K R
Ti p E2
(-) E1 Mc
Wc ( p )
Remarques
Pas de problèmes de stabilité en théorie, mais en pratique la simplification ne conduit
pas exactement à un système du 1er ordre
Inconvénient de la méthode
Le régulateur ne capte pas la mesure mais le signal compensé
Q3 (t )
Q1 (t ) Q2 (t )
Bac d’eau V1 V2
P=0 P=0
Principe Perturbation
Perturbation externe
z1 (t )
externe z (t )
()
X cons u u1 Régulateur u2 y1 (t ) Boucle y (t )
Régulateur Boucle y1 (t )
Maître esclave interne () externe
( ) ( )
Capteur 1
Capteur 1
Avantage inconvénients
u(t) Qps(t) R2
Qp(t)
h2 c (t ) R1
PID 1 PID 2
Pompe P1
( ) ( ) LT h1(t) h2 (t ) LT
1 V12 2
hm1 (t )
()hm 2 (t ) Q3 (t )
( ) Q1 (t ) Q2 (t )
V1 V2
P=0 P=0
19
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Pourquoi la logique floue
0.2
5
30 50 20 35 40 60 70 ans
ans
L’idée de base est alors de remplacer une fonction discontinue par une fonction continue
C’est quoi la logique floue ?
LOGIQUE FLOUE
Permet de définir une appartenance graduelle d’un élément à une classe (appartient +
ou – fortement à cette classe): cette appartenance est définie par un degré
d’appartenance entre 0 et 1
Exemple : Age d’une personne définie en 3 classe :
• J (jeune), M(moyen) et A (âgé)
Un homme âgé de 38
Fonctions d’appartenance
ans est à 20% jeune et
80% moyen.
1 J M A
0.8
0.2
Soit des degrés
0 d’appartenance de 0.2
0 30 38 40 60 70 100 à l’ensemble flou J et
Age
0.8 à celui de M.
OUTIL
D’AIDE A LA DECISION
Exprimées en
Incertaines
langage naturel
Incomplètes
Informations Connaissances
Décision
Appartenance
partielle à une
classe de décision
Floue
si le feu est rouge
si ma vitesse est élevée
Je freine fort
si le feu et proche
Mathématique
si le feu est rouge
si ma vitesse dépasse 85,6 Km/H Force de 33,2 N
si le feu est à moins de 62,3 m
Historique
Fonction caractéristique
Valeurs entre 0 et 1
Historique
1974 – Ingénieur anglais Mamdani : Commander une machine à vapeur
1980 - Compagnie danoise F.L. Smidth :Superviser un procédé de fabrication dans
un four à haute température
1985 – Chercheur japonais Sugeno : Introduction de la logique floue au Japon
1990 – plus de 600 produits « flous » sur le marché japonais
Applications industrielles (2)
Groupe de recherche SIGMA (INRIA
( Rennes))
FUZZIFICATION
La QUANTIFICATION "FLOUE" des entrées / sorties du système : définir des
ensembles floues pour les variables d’entrées et sorties
INFÉRENCE
L' ETABLISSEMENT DES REGLES liant les sorties aux entrées (Rules) : Etablir des
règles floues permettant de tirer des conclusions (aboutir à la commande en fonction
de l’erreur de régulation et sa dérivée)
DÉFUZIFICATION
La COMBINAISON DES REGLES pour la génération des sorties
Opération inverse de la fuzzification :obtenir une valeur réelle de la sortie àn partir des
surface obtenues dans l’étape d’inférence
Valeurs Valeurs
symboliques symboliques
Entrées Défuzzification
Sorties
Fuzzification Inférence
réelles réelles
y(k) Consigne
u(k)
PROCESS
Commande
Variation de l’erreur
Erreur
Régulateur flou e(k)
e(k)
e Règles u
Fuzzification Défuzzification
d’inférence
0 0
T0 Température T W0 Vitesse w
Fuzzification
2. Par la logique floue
La variable « trop chaud » devient :
0
T1 T0 Température T
0
1,5m 1,6m 1,7m 1,8m 1,9m Taille d’un homme
Variables linguistiques
Variable linguistique
10 20 30 température
Univers de discours
Fonctions d’appartenance
Exemple : Pendule inversé
u
Processus
e
Consigne u Y(t)=
e Régulateur flou Moteur Pendule
c=0
(-)
Processus
e
1-z-1
Consigne Régulateur flou u Y(t)=
e Moteur Pendule
c=0
(-)
Chap.3/ P.36
Concevoir le contrôleur flou
Etape Fuzzification
Définir variables d’entrée et de sortie du régulateur
e(t ) y (t )
Entrée
Fixer les E/S e(t ) y (t ) y (t 1) 2 entrées, 1 sortie
Sortie : u(t)
N PG P Z
Z P Z N
P Z N NG
B ––ensemble
(x) classique(x) –dedegré
degré d’appartenance x à Ad’appartenance
deSi xE est
à Aun sous ensemble de X, alors on peut lui associer une fonction FE de X dans {0, 1} tel que :FE(x)=1 si x
E et 0 sinon
C – ensemble flou
A : X [0,1]
x (x)
E est défini sur l’univers de discours de X par sa fonction d’appartenance E(x) dans [0,1]
(x) – degré
Logiqued’appartenance
booléenne de x à A Logique floue
FE E
1 1
x x
Fonctions d’appartenance (Membership Function)
P2 P2 P2
1
P1 P3 P1 P3 P1 P3
P2 P3 P2 P3 P2 = P3 P2 P3 P2 P3
1
P1 P4 P1 P4 P1 P4 P1 P4 P1 P4
0.5
x0
a a
x
1
0.5
x0
a a x
(x)=(1+cos((x-x1)/2a1)]/2 ; x1-2a1 x x1
(x)= 1 ; x1 x x2
(x)=(1+cos((x-x2)/2a2)]/2 ; x2 x x2 + 2a2
1
0.5
x1 x2
x
a1 a2
Sur l’espace de
travail de matlab
Tapez
>> FUZZY
Chap.3/
P 45
Sur Matlab (Boite à outil Fuzzy logic »
On peut régler
l’intervalle
QUELQUES REGLES DES MSF
L'intersection entre deux prédicats consécutifs est non nulle, de façon à pouvoir
exercer une pondération sur la commande.
Un chevauchement des variables doit être suffisant pour permettre une
description continue des variables mais pas trop important pour limiter
l'imprécision. Il est notamment préférable d'éviter que les fonctions
d'appartenance de deux prédicats voisins soient simultanément égale à 1.
Etablissement des régles
But
Les règles floues lient la variable de sortie aux variables d’entrée afin de tirer des
conclusions ou déductions floues
Logique mathématique
x y Y=F(x)
Modèle
0.2
20 30 40 50 60 âge
opération déterministe
opération i
variable linguistique
fonction d’appartenance
Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés»
Inférence avec plusieurs règles
e = w – y : écart de température
(u)
(e)
0 0
-20 0 20 e -10 0 10 e
(u)
NG N Z P PG
1
0
-10 -5 0 5 10 u
DEFUZIFICATION
Pourquoi ?
Les méthodes d'inférences fournissent une fonction d'appartenance µRES(z) pour la
variable z : cette information est floue
Or les actionneurs utilisent des signaux réels
Alors, il convient de transformer la fonction en une grandeur de commande
précise: c’est le but de l’étape de dézzufication
Comment :
Obtenir une valeur réelle de la sortie à partir des surfaces obtenues dans l’étape
d’inférence
Les méthodes les plus couramment utilisées sont:
La méthode de centre de gravité
La méthode de maximum
La méthode des surfaces
La méthode des hauteurs
Méthodes de dézzufication
1. Centroid : centre de gravité de la surface
La méthode de défuzzification la plus utilisée est celle de la détermination du centre
de gravité de la fonction d'appartenance résultante µRES(z).
Il suffit de calculer le centre de gravité z*
µRES(z).
1 La méthode exige en
général une envergure de
calcul assez importante.
Z* 0 z.
2. La méthode de maximum
Comme signal de sortie z*, on choisit l'abscisse de la valeur maximale de la fonction
d'appartenance résultante µRES (z)
µRES(z).
0 z.
Z*
L'abscisse du centre de gravité peut être calculé par la relation
zμ z z dy
V
μ z z dy
V
Conception d’un régulateur
Standard Flou
Analyse du
système à régler Étude et description
du système à régler
Modélisation
du système Détermination de la
stratégie de réglage
Choix et dimensionnement
du régulateur standard Implémentation
Simulation
Test sur Modification de la
l’installation stratégie de réglage
Implémentation
Test sur
l’installation
Configuration interne d’un régulateur par logique
Inférence
yc (yc) Moteur (u) u
Fuzzification Défuzzification
d’inférence
Base de règles
PI et PD Flou
PI flou
du(t ) de(t )
u (t ) K p e(t ) K i e(t )dt Kp K I e( t ) u K p e K I e
dt dt
e du(t )
u
KI dt u
Contrôleur
d e Kp flou
dt
PD flou de(t )
u ( t ) K p e( t ) K d u ( t ) K p e K d e
dt
e
Kp u
Contrôleur
d e flou
Kd
dt
PID Flou
u K p e K I e(t ) K d 2 e
e u
e u PID flou
Contrôleur flou
2 e
PD flou e u
Contrôleur flou
e
PI flou
e u
Contrôleur flou u
e
PID flou
e
e u u
Contrôleur flou
2 e
Conversion des grandeurs mesurées : échantillonnage
Période d’échantillonnage TE
TE < Tns/2, Tns est la plus petite des constantes de temps dominantes
TE /40, 0 est la pulsation propre
TE > temps de traitement de l’algorithme du régulateur
par logique floue
Dérivée
dx x xk xk 1
dt t TE
N:Négatif
M moyen
E:Environ
Z:Zéro
G: Grand
P:Positif
Lacune
Chevauchement insuffisant
Chevauchement trop
important
Inconvénients et avantages
Avantages
Non – nécessité d’une modélisation
Possibilité d’implémenter des connaissances (linguistiques) de l’opérateur de processus
Maîtrise de systèmes à régler avec un comportement complexe
Disponibilité de systèmes de développement efficaces
• pour microprocesseurs ou PC et solution logicielle
• pour circuits intégrés : solution matérielle
Inconvénients
Précision du réglage souvent peu élevée
Cohérence des inférences non garantie a priori (apparition de règles d’inférence contradictoires
possible)
Manque de directives précises pour la conception d’un réglage
Approche artisanale et non systématique
Impossibilité de la démonstration de la stabilité du circuit de réglage en toute généralité
(en l’absence d’un modèle valable)
Possibilité d’apparition de cycles limites à cause du fonctionnement non linéaire
Elément
chauffant
Régulateur
flou
Tas Ts
Tamb Ambiance
Consigne u ue Tes
E Régulateur Elément Serre
flou chauffant
-
Thermocouple
Données
C’est un système de contrôle de température avec un élément de chauffage
et de ventilation.
u
P ID
1
P ID C o n tro lle r
C o n s ig n e
S E RRE
2 1
E
M e s u re u
d E /d t
d u /d t
F u z z y L o g ic
C o n tro lle r
Chap.3/
P 74
Cas 1 Une seule entrée Schéma fonctionnel
Consigne
E u
Régulateur
flou
-
Ts
0
-10 0 14 E
refroidir Ne rien faire Réchauffer
1
0
-30 0 37 u
Nommer les MSF
Pour l’erreur E :
Lorsque l’erreur est négative, la température de sortie est supérieure à la
consigne donc c’est chaud, Lorsqu’elle est positive la fonction
d’appartenance est nommée froid, et la partie du milieu sera nommée BON.
pour la commande u :
la partie décroissante sera nommée refroidir (Elle correspond à l’entrée
chaud),
la partie croissante sera nommée réchauffer, (Elle correspond à l’entrée froid),
et les deux segments du milieux sont assignés à une commande appelée rien.
E Régulateur u
flou
. Règles de commande
Matlab workspace
>> Tapez « Fuzzy », Puis:
Menu : File>>NewFIS Mamdani
Menu edit
>> Edit Edit Membership function
Nom de la MSF
Menu edit
>> Edit View rule
Large plage
Faible plage
Chap.3/
P 90
2ème cas : 2 entrées
2 entrées
La variation de l’erreur en fonction du temps : c’est la dérivée de l’erreur : DE
L’erreur E.
1 Sortie
La sortie du régulateur : U
E
Régulateur u
DE flou
pour la commande U,
Refroidir beaucoup : RB
Refroidir : R
Ne rien faire : RIEN
Chauffer : C
Chauffer beaucoup : CB
Si DE et Erreur E
Se Refroidit R C CB
Se Réhauffe RB R C
Règles d’inférence
E U
U 1 T
1/s
onsigne
DE s+2
Régulateur Flou
du/dt
Derivative1
Perturbation