Vous êtes sur la page 1sur 391

Research Director at Ecole Polytechnique de Lille http://www.polytech-lille.

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

 Connaître les outils de modélisation énergétique pour l’analyse et la

représentation d’état des systèmes physiques

 Comprendre l’intérêt technique et économique des commandes avancées

 Être capable de choisir une commande avancée.

 Avoir une vue synthétique et comparative de l’automatique avancée.

 Mise en place et implémentation des algorithmes d’une commande avancée

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 2


Sommaire (1/2)
 Partie 1. Représentation des systèmes multivariables
 Représentation des systèmes MIMO
 Représentation dans l’espace d’état des Systèmes linaires invariant (LMI
 Formes canoniques commandable et observable
 Passage forme d’état forme de transfert
 Propriètés d’un système de commande (observabilité commandabilité)

 Partie 2 : Modélisation multiphysique : approche Bond Graph


 Introduction to integrated design of engineering systems
• Modeling tools for mechatronics
• Why bond graph ? What we can do with bond graphs.
• Interest of Bond graph for Prototyping
 Bond Graph Theory
• Historic of bond graphs, Definition, representation
• Basic elements of bond graph (R, C, I, TF, GY, Se, Sf, Junctions,….)
• Construction of Bond Graph Models in different domains (electrical, mechanical, hydraulic, …)
 Causalities and dynamic model
• Definitions and causality principle
• From Bond Graph to bloc diagram, State-Space equations generation
 Automated Modeling and Structural analysis
• Bond Graph Software's for dynamic model generation

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 3


Sommaire (2/2)
 Partie 3. Techniques de Commande avancée des systèmes continus
 La commande par retour d’état
• Commande par retour d’état , placement de pôles
• Observateur de Luenberger
• Cas d’étude
 La commande PID simple et avancée
• Introduction et motivation
• Limites de la régulation industrielle classique
• Limites de la régulation PID monovariable
• Regulation Cascade
• Compensateur de Smith
• Découplage utilisant un régulateur, par retour d’état et linéarisant
• Cas d’étude

 Partie 4 : Commande par logique floue


• Intérêt de la logiqiue floue pour le contrôle de procédés
• La logique floue , Principe d’un correcteur à base de logique floue.
• Cas d’étude

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 4


Some References of the lecturer
1. Bond graphs for modelling
 J. Thoma et B. Ould Bouamama « Modelling and simulation in thermal and chemical engineering » Bond graph Approach ,
Springer Verlag, 2000.
 B. Ould Bouamama et G. Dauphin-Tanguy. « Modélisation par Bond Graph. Eléments de Base pour l'énergétique ». Techniques de
l'Ingénieurs, 16 pages BE8280
 B. Ould Bouamama et G. Dauphin-Tanguy. « Modélisation par Bond Graph. Application aux systèmes énergétiques ». Techniques
de l'Ingénieurs, 16 pages BE8281.
 B. Ould-Bouamama. La conception intégrée pour la surveillance robuste des systemes. Approche Bond Graph. Techniques de
l'Ingénieurs AG3550. 24 pages 2013.

2. Bond graphs for Supervision Systems Design


 A.K. Samantaray and B. Ould Bouamama « Model-based Process Supervision. A Bond Graph Approach» . Springer Verlag, Series:
Advances in Industrial Control, 490 p. ISBN: 978-1-84800-158-9, Berlin 2008.
 B. Ould Bouamama et al.. «Model builder using Functional and bond graph tools for FDI design». Control Engineering Practice,
CEP, Vol. 13/7 pp. 875-891.
 B. Ould Bouamama et al.. "Supervision of an industrial steam generator. Part I: Bond graph modelling". Control Engineering
Practice, CEP, Vol 14/1 pp 71-83, 2005. Part II: On line implementation, CEP, Vol 14/1 pp 85-96, 2005..
 B. Ould Bouamama et al. « Software for Supervision System Design In Process Engineering Industry. » 6th IFAC,
SAFEPROCESS, , pp. 691-695.Beijing, China, 29-1 sept. 2006.

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 5


PARTIE 1

Introduction et motivation : Limites de la


régulation industrielle classique

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» 6


Du régulateur de Watt à la commande par calculateur
 Historique et évolution de la commande automatique
 Régulateur de watt 1840
 2ème guerre mondiale : apparition systèmes suiveurs
 1960 : informatisation des algorithmes de commande
 1980 : Industrie spatiale et robotisation

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 7


ELEMENTS et PARAMETRES D’UN SCA
chaîne de puissance Z
E X
+ U Ur
C CORRECTEUR ACTIONNEU PROCESS Y
R

M
(-) chaîne de contre réaction (de faible puissance)

CAPTEUR

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 8


Conception d’un SCA
Processus

Partie la plus importante : modélisation

 Objectifs

 Qu’est ce qu’on veut réaliser (diminuer la pollution, suivre trajectoire..)


Quelles variables à commander pour réaliser cet objectif
Quelles performances sont fixées (précision, rapidité ,…)

 Capteurs

Si on le mesure (observe), on peut le contrôler

 Actionneur

Fournir l’énergie pour changer l’état du process

 Système de cablage et communications (Réseaux industriels, bus,…)

 Cablage des différents signaux entre process et salle de contrôle

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 9


Conception d’un SCA

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

Coeur du SCA (PID, Tout ou rien, Retour d’état, floue …)

 Perturbations et incertitude

Pas de contrôle, si pas de perturbations!!!!

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 10


RAPPEL : REGULATION MONOVARIABLE SIMPLE

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

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 11


RAPPEL : REGULATION MONOVARIABLE SIMPLE
Qp(t) CONDUITE
DE PETROLE

-
x Ts1
Tc T U CONDUITE
Pg
REGULATEUR VANNE FOUR
DE GAZ

-
Manu..
Ts CAPTEUR
TRANSMETTEUR ET CEP
DE TEMPERATURE DE TEMPERATURE
Auto.

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 12


Notion de régulation avancée

 Limite de la régulation PID


 Lorsque la régulation classique PID est incapable de stabiliser ou de réguler le processus, on doit ou bien changer la structure du système de
commande ou proposer d’autres algorithmes de commande plus sophistiqués. Ces méthodes sont communément appelées méthodes
avancées de régulation.
 La liste des méthodes modernes de réglage (commande floue, par réseaux de neurones, horizon infini etc...) est exhaustive
mais ces méthodes restent pourtant encore du domaine de la recherche. Il est important de souligner que pratiquement toutes ces méthodes
nécessitent un modèle ce qui évidemment limite leur utilisation à des systèmes simples ou de structure rigide tels que les systèmes
mécaniques (robotique et aviation). En génie des procédés, on utilise surtout les méthodes classiques que nous venons de voir. Le présent
cours est limité uniquement à la régulation monovariable , nous citerons toutefois pour information le principe des quelques méthodes les
plus simples : cascade, prédictive et auto adaptative.

 Régulation prédictive (feedforward control):


 Ce mode de réglage dit aussi de compensation de perturbation ou à boucle combinée permet , d’éliminer l'effet de la perturbation principale
(débit du produit à chauffer) avant qu’elle ne se répercute sur la variable à régler (la température) d’où un effet de prédiction. Cette régulation
ne prend en compte qu’une seule perturbation, c’est pourquoi une telle commande est justifiée si la perturbation est bien localisée et qu’en
plus elle subit des variations brutales et importantes. Le principe simple, consiste à déterminer et de réaliser la transmittance du
compensateur Wc(p) de façon que l’effet de Qc(p) sur Ts(t) soit nulle.

 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.

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 13


Quelques principes de régulation
g avancée
Régulation en cascade Régulation prédictive
Produit à chauffer Produit à chauffer

FR Ts Ts
FT
Air (O2) 1
-
Fc FRC Wc(p)
- TRC  Tc
Gaz
- Gaz
Tc TRC

Régulation auto adaptative

identification temps réel


critère d’optimalité

calculateur

Produit à chauffer Ts

Air (O2) -
Tc
FR
régulateur numérique
auto ajustable
Gaz

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 14


Fil conducteur : Système hydraulique à deux bacs

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

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 15


Q p (t )

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

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 16


Bloc diagramme

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

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 17


DEFINITIONS

 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

U  u1 ....... un T entrée


Y   y1 ....... y m T sorties

 Types de systèmes multivariables


• MIMO : Multiple Inputs Multiple Outputs, SIMO : Single Input Multiple Outputs
• SISO : Single Input Single Outputs (Monovariable)

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 18


REPRESENTATION DES SYSTEMES MIMO
 1. Par matrice de transfert

u1 y1
SYSTEME  U  u1 ....... un T entrée
MULTIVARIABLE 
 Y   y1 ....... ym T sorties
um yn

 y1 ( p )  W11( p ) W12 ( p ) ... W1m ( p )   U1( p ) 


 y ( p ) W ( p ) W ( p ) ... W2 m ( p ) U 2 ( p )  U(p) Y(p)
 2    21 22   M(p)
 .   . . ... .  . 
 y ( p ) W ( p ) W ( p ) ... Wnm ( p )  U m ( p )
 n   n1 n2

Régime permanent : M(0)


Y ( p )  M ( p ).U ( p ) Régime harmonique : M(j )

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 19


Exemple hydraulique
Q p ( p)
h1m
Système
Q p (t ) hydraulique h2m
Actionneur R2
R1

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 , y1 ,.... y2 , y 2 ,.... ym , y m ,...u1 , u1 ,....u2 , u2 ,....un , un )  0
.


.
 Fm ( y1 , y1 ,.... y2 , y 2 ,.... ym , y m ,...u1 , u1 ,....u2 , u2 ,....un , un )  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

BLOC FONCTION DE EQUATION


DIAGRAMME TRANSFERT D’ETAT

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

Soit:    gcv1 ,    gcv12 ,    gcv 2

 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.

 Cette représentation, qui peut être linéaire ou non-linéaire, doit rendre


compte de l'état du système à n'importe quel instant futur si l'on possède les
valeurs initiales. Cette représentation peut être continue ou discrète.

 Un système peut être entièrement décrit à l'aide d'un ensemble de variables


minimal. Les variables d'état sont des grandeurs physiques continues du
système (elles doivent être dérivables) et doivent être indépendantes les
unes des autres.

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 34


Vecteurs d’état
 Un vecteur d’état
 ensemble minimal de variables d’état, c’est-à-dire de grandeurs temporelles,
nécessaires et suffisantes pour déterminer l’évolution future d’un système
quand on connaît les équations qui décrivent le fonctionnement du système
et les entrées de ce système.

 les variables d’état constituent les supports des "souvenirs" du système.

 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".

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 35


Idée des équations d’état
 L’idée de base
 des représentations d’état est que le futur d’un système dépend de son
passé, de son présent et de ses entrées : le futur peut alors être décrit à
partir d’un ensemble de variables bien choisies.

 Contrairement à l’analyse classique des systèmes qui fait appel à la


représentation de Laplace, dans le cas des représentations d’état, l’analyse
a lieu dans le domaine temporel. De fait, au cadre de l’analyse des fonctions
de la variable complexe se substitue le cadre de l’algèbre matricielle.

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 36


Intérêt d’une représentation d’état
 La fonction de transfert
 Relation entrée/sortie qui n’apporte aucune connaissance sur la structure
interne d’un système.
 Deux systèmes différents peuvent très bien avoir la même fonction de
transfert., la représentation d’état contient des informations accessibles à la
mesure et directement liées aux grandeurs physiques des systèmes. Elle
offre de ce fait des possibilités nouvelles en termes d’analyse et de
commande des systèmes.
 Un même système complexe pouvant être décomposé de différentes
manières, la représentation d’état n’est pas unique. Bien au contraire, pour
un système donné, il en existe une infinité.
 le dénominateur de la fonction de transfert correspond au polynôme
caractéristique de la matrice d’état : Den[H(p)] = det(pI − A) = QA(p)

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 37


Représentation d’état et de fonction de transfert

u(t) x(t) y(t)


PROCESS Capteurs  dx
  f ( x, u )
 dx
  Ax  Bu
 dt ,  dt
 y  C ( x, u )  y  Cx  Du

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  nn , B  n , x0: vecteur des conditions initiales
C  mn , 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  A1 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 » x1(t )  x1x2   x2 2  2u1  
x1(t )   x1x2   x2 2  2u1 dt
x2 (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  22 , B  21 ,
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 
V1    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 V1   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

x  f ( x, u, t ) x  x*  x  f ( x, u, t )  f ( x*, u*, t )


x  f ( x, u, t ) point d' équilible
x ( 0)  x0
x*  0  f ( x*, u*, t )
x  x*  x  f ( x, u, t )  f ( x*, u*, t )

f ( x*, u*, t ) f ( x*, u*, t )


x  z  x  u  Az  Bv
x u 44
LINEARISATION (2/3)

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 45


LINEARISATION (3/3
Equations d’état non linéaire R2 fermée
Actionneur Q p (t )
 V1 V2 
 P1  P2     V1  V2 
C C 
Pompe P1 Q12   
R12 R12 R12 C

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
V1  Q p (t )    F1 (V1 ,V2 , Q p )
R12 C R1 C
1 
V1  V2  0
V2   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*1005 m3 / s
Q p  Q p  Q p 0  20   20   
V1  V2  V1
V1  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
V2   A2 V1  V2   F2 (V1 ,V2 )
R12 C

F . F . F .


V1  F1 (V10 ,V20 , Q p 0 )  1 .V1  1 .V2  1 .Q p (t )
V1 ¨0 V2 0 Q p
0

F . F . F .


V2  F2 (V10 ,V20 , Q p 0 )  2 .V1  2 .V2  2 .Q p (t ) F1 (V10 ,V20 , Q p 0 ) : point de fontionnement
V1 ¨0 V2 0 Q p
0

F1 .   A0 A  F1 .  A0 


   1   A 11 ,    A 12 ,
V1  2 V V 2 V1 V2  2 V V
¨0  1 2 ¨0 0  1 2 0
F2 .   F2 .   A2   V1   A11 A12   V1   B11 
A2     u (t )
V1

 2 V V   A21
V2

 2 V V   A 22
 V2   A21 A22   V2   B21 
0  1 2 ¨0 0  1 2 0
F1 . F2 .
B11  1 B21  0
Q p Q p 48
0 ¨01
Interprétation de la linéarisation
Actionneur Q p (t )
dh1 Q p (t )  g Q p 0  6.291*1005 m3 / s
Linéaire :   h1  131.14Q p (t )  0.032h1
Pompe P1
dt A R1 A h10  0.30m
Capteur V1 (t ) dh1 Q p (t ) g A  0.007625m 2
h1m Non linéaire :   h1
P1 (t ) dt A R1 A

R1 Q1 (t )

P=0

V1  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 *104 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 *104.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 *104 h1
dt A AR1
d h1
linéarisé :  0.0051  131,14.Q p (t )  2.96 *104.h1
dt
g
Q1  h1  3.24 *104 h1
R1
Q1
Q1lin  Q1 h10  0.3  . h1  0.3  2.96 *104 (h1  0.3)  1.77 *104
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(t) x(t) y(t)  x (t )  A. x (t )  B.u(t )


PROCESS Capteurs 
 y  Cx ( t )  D .u ( t )
,

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  AX ( s)  BU ( s)
Y ( s )  CX ( s )  DU ( s )
 X ( s)  sI  A1 BU ( s)

 
Y ( s)  C sI  A1 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  A1 B  D U ( s) M ( s) 
Y ( s)
U ( s)

 C sI  A1 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

z  Px P   nxn Puisque ( I  PP 1 )  M ( s)  CP 1 sPP 1  PAP 1  1 PB  D,


M ( s)  CP 1
P(sI  A) P  1 1
PB  D  C sI  A1 B  D

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 53


Calcul matrice de transfert : Exemple
1 3  x1  1 1 2  x1 
x (t )  Ax (t )  Bu(t )       u , y ( t )  Cx ( t )  1 0  x  M ( p )  C ( sI  A) 1 * B  ?
2 0  x2  1   2 

 s  1 3 
sI  A    3s  5 Y1
 2 s  0  W1 ( s )    y1  y1  6 y1  3u  7
s 2  s  6 U (s) 
1  y2  y 2  6 y2  u  3
det( sI  A)  2  Det , s3 Y
s s6 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

%Pour 2ème entrée W12=Y1/U2=


u2=2; 2 s^2 - 2 s - 12
[Num2,Den2] = ss2tf(A,B,C,D,u2); ----------------
disp('Fonctions transfert par rapport à s^3 - 7 s - 6
u2')
W22=Y2/U2=
disp('W12=Y1/U2=')
printsys(Num2(1,:),Den2,'s') -1 s^2 + 2 s + 3
disp('W22=Y2/U2=') ----------------
printsys(Num2(2,:),Den2,'s') s^3 - 7 s - 6
56
Calcul Matrice de transfert symbolique :Simulation Matlab

% CALCUL symbolique : détermination sous forme symbolic_calcul_Matrice_transfer.m


symbolique
% de la fonction de transfert BELKACEM 0ULD BOUAMAMA
syms s % passer en symbolique
%Système d'état
A=[1 3; 2 0];
B=[1;1];D=[0;0]
C=[1 2;1 0];
D=0
%M=C*(inv(sI-A))*B
PI=eye(2) % matrice unitaire diagonale
%former en symbolic sI-A
Z=(PI*s-A)
M=C*inv(Z)*B+D

Résultat:

- s/(- s^2 + s + 6) - 7/(- s^2 + s + 6) - (2*(s - 1))/(- s^2 + s + 6)


- s/(- s^2 + s + 6) - 3/(- s^2 + s + 6)

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 57


Calcul Matrice de transfert : exemple à faire

 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  A1 B 

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 58


Passage fonction transfert – équation d ’état (1/3)

 Soit donnée une fonction de transfert W(s) :


Y ( s )  W ( s )U ( s )

 Trouver une représentation d’état

 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

y ( n ) (t )  an 1. y ( n 1) (t )  .......  a0 y (t )  u (t )

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 59


Passage fonction transfert – équation d ’état (2/3)
Forme Compagne dite commandable

u (t ) (+) y ( n1) y ( n 2 ) y ( n  3)

  
y (n i ) y (1) y (t )

(-)
an-1
(-)
an-2
(-)

(-)
a0

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 60


Passage fonction transfert – équation d ’état (2/3)
y ( n ) (t )  an 1. y ( n 1) (t )  .......  a0 y (t )  u (t )

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 ) 
 
( n1)
 y 
y (t )  1 0 0 0 0 x

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 61


Exemple réservoir
H 2 ( p) 
W2 ( p )  
Q p ( p ) a2 p 2  a1 p  a0 a2  5.814e  5
a1  5.422e  6
 Q p ( p )  H 2 ( p )  a2 p 2  a1 p  a0    Q p (t )  a2 h2(2) (t )  a1h2(1) (t )  a0 h2 (t )
a0  1.058e  7
  2
h2 (t )    Q p (t )  h2 (t )  h2 (t ) dt    bQ p (t )  c1h2(1) (t )  c2 h2 (t )  dt 2
a1 (1) a0 beta  1.400
 a2 a2 a2 
h2(2) (t )  bQ p (t )  c1h2(1) (t )  c2 h2 (t )

H 2 ( p) 1.400
W2 ( p )  
Q p ( p ) 5.814 *105 p 2  5.422 *106 p  1.058 *107

 h2(1) (t )   x1 (t )   h2(2) (t )   c1 c2   h2(1) (t )  b 


x(t )      x (t )  x (t )   (1)          Q p (t )
 h2 (t )   2   h2 (t )   1 0   h2 (t )  0 

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

 h2(2) (t )   0.093 0.0018  h2(1) (t )   2.408


x (t )   (1)        Q p (t )
 h2 (t )   1 0   h2 (t )   0 

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 63


Propriétés des systèmes de commande

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» 64


Commandabilité

 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

 Un critère algébrique existe pour la commandabilité, il est dû à Rudolf Kalman et


Richard Bucy (1961). Un système est dit commandable si et seulement si :

rang[ B  
AB ... An1B  n
rang (COM ( A, B))  n

COM : matrice appelée matrice de commandabilité


Analyse de la commandabilité : Exemple (1/3)
Soit un système
u 
x (t )  Ax (t )  B1 B 2 1 
 1 0 0   x1  1 1  u2 
       u1 
x (t )  0 2 0 x2  0 1  
     u2  B  B1 B 2,
 0 0 3   x3  1 1
1  1
 x1 
 2 0 0    0 0   u1  B1  0, B 2   1
y (t )      
0 1 0   x2   0 0  u  1  1
    2
 x3 

Vérification de la commandabilité par rapport à u1


Système non
1  1 1  commandable
COM 1  B1  A3 2 * B1 A31 * B1  B1   

A * B1 A2 * B1  0 0 0

rang (COM 1)  2  n  3
par u1
1 3 9

Vérification de la commandabilité par rapport à u2

 1 1 1  Système
COM 2  B2  A 3 2
* B2 A 31
 
* B2  B2 A * B2


A2 * B2   1 2  4

rang (COM 2)  3 commandable
 1  3  9 par u2

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 66


Programme Matlab : ctrb(A,B)
ETAT_COMMANDABILITE.m

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

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 67


Programme Matlab : ctrb(A,B)

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)

Sortie non commandable par u1

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 68


Exemple Système hydraulique

V1   0.050 0.018  V1  1 


   . V   0  Q p (t ) rank(ctrb(A,B))=2
 2 
V 0.018 0.042   2   Système observable et commandable
rank(obsv(A,C))=2
 h1m (t )  131.14 0  V1   0 

 h (t )   0  . V   0  .Q p (t )
 2m   131.14   2  

Réponse à un échelon de débit de la pompe Qp

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 69


Analyse observabilité
 Définition
 Un système est dit observable si l’observation des E/S sur un intervalle de temps fini
[t0;tf] permet de connaître l’état x(t) et retrouver l’état initial x(t0)
Observable
t0 et x(t0 ) t f  t0
x (t )  A. x (t )  B.u(t )
y  Cx  Du t0 , t f  R  , t f  t0
 
y (t ) et u(t ), t  t f , t0 connus  x(t0 ) connu

 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 ... CAn1 T
n
rang (OBS ( A, C ))  n

OBS: matrice appelée matrice d’pbservabilité

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 70


Analyse observabilité : Exemple
Soit un système

  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 ... CAn1 
T
n
rang (OBS ( A, C ))  n
2 0 0
0 1 0
 C   
 3 2   2 0 0
OBS  CA  Système non
 31  0 2 0 observable
 CA  
2 0 0
 
0 4 0
rang (OBS )  2  n  3

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 71


Programme
g Matlab : obsv(A,C)
( )
Programme: ETAT_OBSERVABILITE.m

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

0   Y ( s) Forme modale de Jordan


W ( s)   1 ...  n1 
s  0 s  1 s  n1 U ( s)

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 ...  n2
  
 0 01 ... 0  n1   xn1   1 
xn1 y (t )   0 1  2 ... ...x
1 αn-1
s  n1
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

Prof. B. Ould Bouamama Polytech Lille « Ingénierie des Systèmes Automatisés» 74


Programme Matlab : canon(sys,'modal')
V1   0.050 0.018  V1  1  H 2 ( p) 1.400
   . V   0  Q p (t ) W2 ( p )  
 2 
V 0.018 0.042   2   Q p ( p ) 5.814 *105 p 2  5.422 *106 p  1.058 *107

 h1m (t )  131.14 0  V1   0  24080


 
 h (t )   0 131.14  . V   0  .Q p (t ) p 2  0.0933 p  0.0018
 2m     2  

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

Boucle Ouverte sous forme commandable


Cette forme fait apparaître dans la dernière ligne de la
 0 1 ... ... 0  matrice A Les coefficients du polynôme caractéristique A
 0 0 ... ... 0 
  dont les racines sont des modes du système initial
0 
 . . . . .  .
   
. . . . . 
x   x   . u
 . . . . .    PA ( )  det(I  A)  a0  a1  ...n
  .
 0 0 0 1 0 
1
 0 0 0 0 1 
 
 a0  a1 ... ...  an 1 
Programme Matlab : canon(sys,‘companion')
V1   0.050 0.018  V1  1 
   . V   0  Q p (t )
 2 
V 0.018 0.042   2   H 2 ( p) 1.400
W2 ( p )  
Q p ( p ) 5.814 *105 p 2  5.422 *106 p  1.058 *107
 h1m (t )  131.14 0  V1   0 

 h (t )   0  . V   0  .Q p (t )
 2m   131.14   2  
H 2 ( p) 2.407 *104 2.407 *104
W2 ( p )   2  2
Programme :ETAT_FORM_CANON.m
Q p ( p ) p  0.092p  0.001 p  a1p  a 0

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 .

 Dynamic modelling and simulation of complex systems

 Training with new software's tools for integrated design and


simulation of industrial systems.

 Managing of multidisciplinary teams.

 Keywords :
 Bond Graphs, Mechatronics, Integrated design, Simulation,
Dynamic Modelling, Automatic Control

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 2


CONTENTS (1/2)
 CHAPTER 1: Introduction to integrated design of engineering systems
 Modeling tools for mechatronics
 Why bond graph ?
 What we can do with bond graphs.
 Methodology of Fast prototyping , Hardware in the Loop (HIL), Software in the Loop (SIL)
 Interest of Bond graph for Prototyping
 CHAPTER 2: Bond Graph Theory
 Historic of bond graphs, Definition, representation
 Power variables, Energy Variables
 Basic elements of bond graph (R, C, I, TF, GY, Se, Sf, Junctions,….)
 Construction of Bond Graph Models in different domains (electrical, mechanical, hydraulic, …)
 CHAPTER 3: Causalities and dynamic model
 Definitions and causality principle
 Sequential Causality Assignment Procedure (SCAP)
 From Bond Graph to bloc diagram,
 State-Space equations generation
 CHAPTER 4: 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

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 3


Motivations
 Complexity of systems are due of coupling of multi energies (mechanical,
electrical, thermal, hydraulic, …). Example : Power station :

 Why dynamic modeling ?


 Design, Analysis , Decision, Control, diagnosis, ….

 Which skills for this task


 Multidisciplinary project management

 Which kind of tool I is needed ?
 Structured, unified, generic,

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

Validation using MiL

Test

Validation using SiL

Test

Validation using HiL

Test

Industrial validation

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs»


Integrated design : From modelling
to industrial test

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.

 Bond graphs for modelling and more…


 Because of its architectural representation, causal and
structural properties, bond graph modelling is used not
only for modelling but for :
• Control analysis, diagnosis , supervision, alarm filtering
• Automatic generation of dynamic modelling and supervision algorithms
• Sizing
• Used today by industrial companies (PSA, Renault, EDF, IFP, CEA, Airbus,…) .

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.

2. Physical Energy description ( Storagee, dissipation, ….

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

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 8


Founders

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:

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 10


HISTORIC OF BOND GRAPH MODELLING
 Founder of BG : Henry Paynter (MIT Boston)
 The Bond graph tool was first developed since 1961 at MIT, Boston, USA by
Paynter ‘April, 24 , 1959)
 Symbolism and rules development :
• Karnopp (university of California), Rosenberg (Michigan university), Jean Thoma (Waterloo)

 Introduced in Europe only since 1971.


 Netherlands and France ( Alsthom)

 Teaching in Europe , USA …


 France : Univ LyonI, INSA LYON, EC Lille, ESE Rennes, Univ. Mulhouse, Polytech’Lille, …..
 University of London, University of Enshede (The Netherlands), Waterloo..;

 Companies using this tool


• Automobile company : PSA, Renault
• Nuclear company : EDF, CEA, GEC Alsthom
• Electronic :Thomson, Aerospace company ....
11
Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs»
DEFINITION, REPRESENTATION
DEFINITION
1 2


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

The direction of positive power is noted by


the half-arrow at the end of the 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

• Detector of flow such as current,


hydraulic flow
e=0
De
f
1. Power variables

 Power variables are classified in a universal scheme and to


describe all types of multiports in a common language.

Power variables

Effort variable e(t) Flow f(t)

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

 The general displacement q(t), (mass, volume, charge … )

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  Vdt  x  q  idt  x  Q  Q dt  x  x  xdt
       
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]

accumulation of orders Economic momentum


Economic qe Pe
Power variables: How to select them in multiphysic
p y system
y ?
Is used just a pair of variables:
1. Intensive variable : effort variable e(t))
2. Derivative of extensive variable : flow variable f(t)

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 PART MECHANICAL PART

ELECTRICAL
ua MECHANICAL

LOAD
PART
ia PART 

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 22


EXAMPLE 2: POWER STATION
TURBINE

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

BOND GRAPH ELEMENTS

PASSIVE ELEMENTS ACTIVE ELEMENTS JUNCTIONS


(transform received power into Generate and Provide a power Connect different elements of
dissipated (R) or stored (C, I) to the system the systems : are power
energy conserving

R C I Se Sf 0,1 TF, GY

They are not a material Energy transformation or


point (common effort (0) transformation from one
One port element and common flow ((1) domaine to another

R,C,I, Tree ports element Two ports element


Se,Sf 0,1 TF, GY
First examples (1/3)
R:R1
R1 L1
UR i
E Uc
1
iR1
Se C:C1
C1 i i
Se
UL i
iC1

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

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 28


Specific softwares for Bond graphg automatic modelling
Only Bond Graph tool can be 
used for automatic 
generation of dynamic 
models !!!

Symbols Shakti software 20sim software

29
Lets’ Learn Bond Graph theory

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 30


Passive elements
 Definition
 The bond graph elements are called passive because they transform
received power into dissipated power (R-element), stored under
potential energy (C-element) or kinetic (I-element).

 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

R Constitutive equation : For modeling any physical  R e, f   0


phenomenon characterized by an effort-flow relation ship

e
Representation R:R1
f 32
Capacitive C element (capacitance)
Electric Hydraulic Mechanical Thermal
V
F Q1 Q 2
i m
A: section F
c
h: level x T
: density
Ch= A/g

h
p
d (mctT )
Q  Q1  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

C Constitutive equation (For modeling any physical phenomenon


characterized by a relation ship between effort and  flow

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

I Constitutive equation (For modeling any physical


 I  f ,  edt    I  f , p  0
phenomenon characterized by a relation ship between flow and  effort
e
Representation I:I1
f
Mechanical and electrical inertia

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

Modulated transformer (m is not cste)


u
e1 e2 Defining relation
MTF e1 = m(u).e2,
f2 = m(u).f1
f1 :m f2
EXAMPLES OF TRANSFORMERS

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 
x1 :b/a x 2  x 2  b . x1
 a
x1 F1
F1 x1  F2 x2
Examples of TF elements
Gearing 1 2  R1
1
TF 2  1
2 
R1
:
R2 R2

2  R1
11   2  2 1
 R2
1 R2  2
i 
2 R1 1

Rack and pinion R  1


 F    x
 R
,   TF
:R x   RF

  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

Modulated Gyrator (if r is not cste)


u Defining relation
e1 e2 e1 = r(u)f2
MGY e2 = r(u)f1
f1 :r f2
Example of gyrator : DC motor
u

GY 
:r

Electrical
Power ui Mechanical
Power 

Power Defining relation


Conservation : Ui =   = ki
u= k 
Where k : modulus
ACTIVE ELEMENTS

Elements that provide power


They provide effort or flow:
Se or Sf

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 43


Source of effort, Source of flow
EFFORT AND FLOW SOURCES Se, Sf
A source maintains one of power variables constant or a specified
function of time no matter how large the other variable may be.

Source of flow Source of effort


Current generator,
Generator of voltage, gravity
applied velocity..
force, pump, battery

e e
Sf:f(t) Se:e(t)
f f

Sf = f(t) = cste Se = e(t) = cste


44
Junctions

How to connect different subsystems ?

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs»


45
JUNCTIONS (1/6)
 0 - JUNCTION “ Common effort junction”

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
V2 C:Ch
V1  V2  V3
V1
Ch P V3
P
Rv V3 P
Sf : V 0 R:RV
V1 V2
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
x1 x3 x2
x1 1 1
Mp Se:Fr
x1 0 x2
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

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 50


Exercises : Example1

iR1 L1 iL1 R2
0

m
R1
iR2
E C1 L2
iC1

R:R1 C:C1 I:L1 I:L2

uR1 iC1 uL1 iL1 UL2


iR2
E uC1 uC1 UET UST
Se:E 1 0 1 TF 1
iR1 iR1 iL1 iL1 iR2
iR2
:m UR2

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 ?

Thermal, Hydraulic, mechanical, electrical ….

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 53


BUILDING MECHANICAL MODELS
1. Fix a reference axis for velocities
2. Consider all different velocities ( absolute velocities for mass and inertia and relative
velocities for others).
3. For each distinct velocity, establish a 1-junction, Attach to the 1-junction corresponding
Bond graph elements
4. Express the relationships between velocities. Add 0-junction (used to represent those
relationships) for each relationship between 1-junctions
5. Place sources
6. Link all junctions taking into account the power direction
7. Eliminate any zero velocity 1-junctions and their bonds
8. Simplify bond graph by condensing 2-ports 0 and 1-junctions into bonds : for example :
1  0  1 is replaced by 1  1

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

f I:J C:1/K I:J2


K
 ct 2
Se:c(t) 1 0 1 Se:c2(t)

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

I:Ma C:1/k1 I:Mb I:Ma I:Mb


R:fa FMa
FMa x MA FC x FMb x MB FMb x MB
k1 x MA
FR
Se;F(t) 1 0 1 Se;F(t) 1 0 1
x MB x MA x MB
x MA
FMb x RK
FR
FC FR1 R:fb
R:fa R:fb C:1/k1 1 R:R1
A quart of vehicle : longitudinal dynamics
Car Se:-Mcg
Mcar
Car body
I:MCar 1
xc
C:1/ks
Suspension xcar FKs

FRs
0 1 R:Rs
x susp x susp
+
xtire I:Mtire
Tire
Rst structure 1 Se:-Mtg
Kst Tire
Mtire xtire
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

I:l/A C:CR R:R2

P P -PR PR -P0
PP PR PR P0
Se:PP Se:-P0
1 0 1
VR1 VR1 VR 2 VR 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

Pe : pressure from controller (0,2 -1 bar )


x : valve position [0-6 mm]
f : friction
m : mass of part in motion [kg]
1 : Rubbery membrane of section A [m²] Block diagramme
2 : Spring of elasticity coefficient Ke [kgf/m]
3 : Stem,
4 : packing of watertightness, u(t) x(t)
5 : seating of valve, Vanne
6 : valve
7 : pipe 60
EXERCISES : Bond graph model of the pneumatic valve

C:1/ke

Pneumatic Mechanical I:m


energy energy Fk x
FI
Pe F x

TF: x
Se:Pe 1 Df
V A x

Ff

R:f

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 61


EXERCISES : Hydraulic control system

PID
0,2 -1 bar
3 - 15 psi Pe

Ve

T1

x
u De1 Vs
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 : Ve 0 1 Se : P0
Vs
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

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 64


Exercises
 Word Bond graph
 Bond graph model

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 65


Chapter 3

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

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 66


CAUSALITIES
 Definition
 Causal analysis is the determination of the direction of the efforts and flows in a BG
model. The result is a causal BG which can be considered as a compact block
diagram. From causal BG we can directly derive an equivalent block diagram. It is
algorithmic level of the modeling.

 Problematic Importance of causal proprieties


 Simulation
 Alarm filtering
 Monitoringability
 Controllability
 Observability

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 67


Convention
e
f
A B A e B

(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.

Cause effect relation : effort pushes, Effort pushes


response is a flow
Indicated by causal stroke on a bond
Flow points 68
PRINCIPLE
i UR
UR U R  R1i  0

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 System A impose effort e to B


f
A B A e B
f

e System A impose flow f to B


e
A B f
A B
f

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 70


Causality for basic multiports
 Required causality
e e
Se  Sf 
f f
The sources impose always one causality, imposed effort by effort sources
and imposed flow by flow sources.

 Indifferent causality (applied to R element)

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

Only 1 bond without causal stroke near 1 - junction


73
Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs»
Causality for TF element
 2 CAUSALITY SITUATIONS

If e2 and f1 are known : If e1 and f2 are known :

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

If e2 and e1 are known If f2 and f1 are known

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

Apply a preferred causality to C and I elements.


 With simulation, we prefer to avoid differentiation. In other words, with the C-element the
effort-out causality is prefered and with I -element the effort in causality is preferred.

Extend the causality through the nearly junction , 0, 1, TF an GY

Assign a causality to R element which have indifferent causality .

!!! 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

e2 (-) Only one flow is allowed to


e 2 f2 be an input. All others are
e1 e3
 f 2  f1 e3 (+)  e1
outputs (here f1 ).
f  f ,
Junction 1 1  3 1 e4 (-)
f1 f3  Rule: Only one bond have
f4 e4  f 4  f1 f 2  f1 f2
not a causal stroke near a 1
e1   e2  e3  e4 f f 3  f1 f3 junction.
1
f 4  f1 f4

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

 C1 e   e
d
dt

 C1 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 ?

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 78


From Causal BG to Bloc Diagram (1/3)

1
R1

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 79


From Causal BG to Bloc Diagram (2/3)
e1 e2 e2 m e1
TF
f2 f1 m f2
f1 :m

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

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 81


How causal path can help for simulation !
UR R:R1

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 +
V0
Orifice
source
i motor 1 2
Rack
x
cylinder
Vc
user

R:Ra R:Rp C:1/Kp I:Mc C:Cyl R:Ror


ur r c FI Vc P0r
u ue 1 1 2 Fm F Pc P0
Se:u 1 GY 1 0 TF 1 TF 0 1 Se:P0

uL i
:Ke

j
1 2 :Rp
x :Ap
V V0

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 ?

Integral causality adding R


R C

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

Add of elasticity of the body

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.

 Cette représentation, qui peut être linéaire ou non-linéaire, doit rendre


compte de l'état du système à n'importe quel instant futur si l'on possède les
valeurs initiales. Cette représentation peut être continue ou discrète.

 Un système peut être entièrement décrit à l'aide d'un ensemble de variables


minimal. Les variables d'état sont des grandeurs physiques continues du
système (elles doivent être dérivables) et doivent être indépendantes les
unes des autres.

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 88


 Un vecteur d’état
 ensemble minimal de variables d’état, c’est-à-dire de grandeurs temporelles,
nécessaires et suffisantes pour déterminer l’évolution future d’un système
quand on connaît les équations qui décrivent le fonctionnement du système
et les entrées de ce système.

 les variables d’état constituent les supports des "souvenirs" du système.

 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".

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 89


 L’idée de base
 des représentations d’état est que le futur d’un système dépend de son
passé, de son présent et de ses entrées : le futur peut alors être décrit à
partir d’un ensemble de variables bien choisies.

 Contrairement à l’analyse classique des systèmes qui fait appel à la


représentation de Laplace, dans le cas des représentations d’état, l’analyse
a lieu dans le domaine temporel. De fait, au cadre de l’analyse des fonctions
de la variable complexe se substitue le cadre de l’algèbre matricielle.

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 90


Intérêt d’une représentation d’état
 La fonction de transfert
 Relation entrée/sortie qui n’apporte aucune connaissance sur la structure
interne d’un système.
 Deux systèmes différents peuvent très bien avoir la même fonction de
transfert., la représentation d’état contient des informations accessibles à la
mesure et directement liées aux grandeurs physiques des systèmes. Elle
offre de ce fait des possibilités nouvelles en termes d’analyse et de
commande des systèmes.
 Un même système complexe pouvant être décomposé de différentes
manières, la représentation d’état n’est pas unique. Bien au contraire, pour
un système donné, il en existe une infinité.
 le dénominateur de la fonction de transfert correspond au polynôme
caractéristique de la matrice d’état : Den[H(p)] = det(pI − A) = QA(p)

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 91


Représentation d’état et de fonction de transfert

u(t) x(t) y(t)


PROCESS Capteurs  dx
  f ( x, u )
 dx
  Ax  Bu
 dt ,  dt
 y  C ( x, u )  y  Cx  Du

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  nn , B  mn , C  rn
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 )

The dimension of the state vector is equal to the number of C- and I-


elements in integral causality

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 94


HOW TO OBTAIN STATE EQUATION
❶. Start from a graph without flow/effort variables marked on
bonds

. Fix key variables : input u, state variables x and


measurements y
 u : Se and Sf
 x : the derivative of state variables is marked on flow bond for C
element and on effort bond for I element :
 y: De and Df elements

. Determine unknowns via constitutive relations, junction


constraints based on fixed causality (use the equation from the
strong bond )

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 95


State equations : RC Electrical system (1/2)
UR R:R1
Df:m
i
R1
Uc
E
E C
Se:E 1 C:C1
g
❶ Start from a graph without flow/effort
variables marked on bonds

❷ Fix key variables

R:R1 y x1  i (t )  x1 (t )   i (t )dt  q(t )


Df:m
u  Se(t )
y  Df : im
E  The state variable is the
Se:E 1 C:C1
charge q(t) but in the Bond
x1 graph appears only its
derivative (the current)
State equations : RC Electrical system (2/2)
R:R1 ❸ determine unknowns (I, Ur and
Df:m Uc), via constitutive relations,
R1 x 1 x1 junction constraints

E x1 / C1 Use of Software for automatic 
Se:E 1 C:C1 generation of state equation
x1 x1

 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
x1 x1 charge and flux but in the
x2 x2 / L Bond graph appears only their
derivatives (the current and
voltage)
I:L
di
x2    x2  L  U
dt
R1 x1
x2  E  x2  x1  q  x1 
dq
i
L C1 dt
x2
x1 
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
x1 x1 charge and flux but in the
x2 x2 / L Bond graph appears only their
derivatives (the current and
voltage)
I:L
di
x2    x2  L  U
dt
R1 x1
x2  E  x2  x1  q  x1 
dq
i
L C1 dt
x2
x1 
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
x1  U x2   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
x2 x2 / J
x1 x1 / L

I:La I:J
 x1  Ra x1 x2
  Ua   k  Ra k 
 
 x2  L J  x1   L J   x1  1 0  U a 
 x    k   
0  1  
 2   m  2   L
x R x R x
x2  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 
  
 x1   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

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 105


Why Bond graph is well suited
 The bond graph model :
 can be supported by specific software:
 the model can be graphically introduced in the software and generate
automatically the dynamic model.
 It can be completely and automatically transformed into a simulation
program for the problem to be analyzed or controlled or monitored.
 See http://www.arizona.edu/bondgraphs.com/software.html
 Bond graph suited for automatic modelling
 Graphical tool
 Unified language
 Causal and structural properties
 Systematic derivation of equations

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 106


Main Softwares (3/5)
 CAMP-G : The Universal Bond Graph Preprocessor for Modeling and Simulation of Mechatronics Systems.
 is a model generating tool that interfaces with Languages such as MATLAB® /
SIMULINK®, ACSL® and others to perform computer simulations of physical and
control systems
 Based on a good GUI, doesn't support object based modeling. Equations derived
are neither completely reduced nor sorted properly.
 20-sim : Twente Sim the simulation package from the University of Twente.
 Modeling and simulation program that runs under Windows.
 Advanced modeling and simulation package for dynamic systems that supports
iconic diagrams, bond graphs, block diagrams, equation models or any combination
of these. allows interaction with SIMULINK®.
 good product recommended for modeling of small to medium sized systems. The
graphics and hard copy output quality is poor.
 Not control analysis support.

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 107


Main Softwares (4/5)
 Bond graph tool box for Mathematica
 this toolbox features a complete embedding of graphical bond graph in the
Mathematica symbolic environment and notebook interface
 Till review, the tool box did only support basic bond graph elements and junction
structures. Recommended for tutorial use in modeling of very small simple
systems.
 MS1 : BG modeling software from Lorenz Simulation
 is a modeling workbench developed in partnership with EDF (Electricité de France),
which allows free combination of Bond Graph, Block Diagram and Equations for
enhanced flexibility in model development.
 Models can be introduced in Bond Graph, Block Diagram or directly as equations
 MS1 performs a symbolic manipulation of the model (using a powerful causality
analysis engine) and generates the corresponding simulation code.

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 108


Main Softwares (5/5)
 Modelica : Object-Oriented Physical System Modeling Language
 This is a language designed for multi domain modeling developed by the Modelica
Association, a non-profit organization with seat in Linköping, Sweden.
 Models in Modelica are mathematically described by differential, algebraic and discrete
equations.

 SYMBOLS 2000 : SYstem Modeling in BOndgraph Language and Simulation


 Allows users to create models using bond graph, block-diagram and equation models.
Large number of advanced sub-models called Capsules are available for different
engineering and modeling domains.
 has a well-developed controls module, that automatically transforms state-space
modules from BG or block diagram models and converts them to analog or digital
transfer functions. Most control charts and high-level control analysis can be performed.
This software is recommended for use in research and industrial modeling of large
systems.
 FDI analysis tool boox is developed by B. OUL DBOUAMAMA & A.K. Samantaray

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 109


Some demonstrations using SYMBOLS 2000 and 20sim

GUI interface From BG model to Matlab S-function

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 110


CONCLUSIONS
 Modelling
 Unified representation language
 Shows up explicitly the power flows
 Makes possible the energetic study
 Structures the modeling procedure
 Makes easier the dialog between specialists of differents physical domains
 Makes simpler the building of models for multi-disiplinary systems
 Shows up explicitly the cause - to efect relations (causality)
 Leads to a systematic writing of mathematical models (linear or non linear associated
 Simulation
 Specific softwares (CAMAS, CAMP+ASCL, ARCHER, 20 SIM)
 A priori knowledge of the numerical problems which may happen (algebraic-differential
equation, implicit equation) by the means of causality
 Physical meaning of the variables associated with the bon-graph mode
 For fast Prototypage
 Control, monitoring

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs»


111
1
I) Placement de pôles
et Observateur

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs» 2


RAPPEL POUR UN SYTEME SISO

COMMANDE NON OPTIMALE


Retour d’état pour un système SISO
Techniques de placement de pôles

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs»


3
RAPPEL SUR UN SYSTÈME SISO
 Techniques de placement de pôle
 Méthodologie
 Observateur
 Calcul des paramètres de l’observateur
 Passage à différentes représentations
 exercice

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Philosophie de la commande par retour d’état
 Inconvénient de la commande par boucle fermée
 Elle agit à posteriori en observant uniquement l’observation de M(p)

C E u M
WR ( p ) WOU ( p )
(-)

 Principe du retour d’état


 Wou(p) est décomposé en plusieurs fonction de transfert élémentaires
 On peut connaître l’évolution de M(p) en observant M1, … Mn-1. On exploite alors
l’avance temporelle pour agir immédiatement.

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

Dimension cas SISO


 x (t )  Ax(t )  Bu (t ) Dimension
 l  1, m  1
n n
 y (t )  Cx (t ) x   n A
   x  n  A   n n
y 
m
et  y  mn  
 x(k  1)  Ax(k )  Bu (k )    y  1 et  y  1m
l l n
 u   u    1  1 n
 y (k )  Cx (k ) u   u  

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Méthode du placement de pôles
 Principe
b  b p  ...b p Y ( p) n 1

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

 Cahier des charges : qu’est ce qu’on veut faire ?


 Imposer une dynamique en boucle fermée

 Sur quoi agir ?


 Imposer une dynamique en boucle fermée=Imposer les pôles

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Méthode du placement de pôles

 Conditions de réalisation du placement de pôles


 Le triplet (A, B,C) commandable et observable


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é.

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Méthode du placement de pôles

 Sur quoi agir ? sur K et L


PROCESS

+ 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  A1 B
 y (t )  Cx (t ) U ( p)

 Comment faire ?

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Méthode du placement de pôles
 Introduisons une commande u(t)
u (t )   Kx(t )  Le(t ) K  k0 k1 ... kn 
x (t )  Ax(t )  Bu (t )  Ax(t )  B Kx(t )  Le(t )  L : scalaire
 x A  BK   BLe

 La fonction de transfert global sera alors :

 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é

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Placement des pôles sur le plan complexe
 Quelle dynamique choisir : position des pôles et stabilité
Stable Im Instable

p1, 2   2  j p1, 2     j  p1, 2   j p1, 2 2  j

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

 Quelles performances de l’industrie : MP, MG, Amortissement….

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Calcul du gain du retour d’état

 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  A1 B
 y  Cx
 Le système sous forme commandable

Boucle Ouverte sous forme commandable


 0 1 ... ... 0  Cette forme fait apparaître dans la dernière ligne de la matrice A
 0 0 ... ... 0  Les coefficients du polynôme caractéristique A, dont les racines
  0 
 . . . . .  sont des modes du système initial
.
   
. . . . . 
x   x   . u
 . . . . .   
  . PA ( )  det(I  A)  a0  a1  ...n
 0 0 0 1 0 
1
 0 0 0 0 1 
 
 a0  a1 ... ...  an 1 

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Calcul du gain du retour d’état
 Le système bouclé  x (t )  x  A  BK   BLe sera :

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

 Le Polynôme caractéristique sera alors:


P( A  BK ) ( )  det( I  ( A  BK ))   a0  k0    a1  k1    ... an 1  kn 1   n 1   n

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Calcul des gains
 Imposer les modes en boucle fermée
 Revient à imposer les coefficients i
P( A BK ) ( )  a0  k0   a1  k1   ...an  kn n   0  1  ... n 1n 1  n

 Calcul des paramètres de bouclage


 Gain de bouclage (gère la dynamique)

 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 

 L choisi pour une poursuite parfaite (erreur statique nulle)

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

 1. Passage d’une forme  à une forme commandable


 But : faire un changement de base x=px* tel que
• (P-1AP, P-1B,CP)=(A*,B*,C*) du nouveau vecteur d’état x* soit sous forme commandable en suivant
l’évolution suivante :

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Comment faire la transformation ?
 Calcul de la base de la matrice P
Forme commandable

 x(t )  Ax(t )  Bu, 0 


 (1)  x*  A * x  B * u * 0 1 ... 0 0 
 y  Cx(t ) x  Px*   A*  . . . . , B*   
 y  C*x*  a0 . .  an 1
.
 
1
 Mettre x*=p-1x dans (1), on obtient alors : C *  b0 b1 ... ... bn 1 

 Px*  APx*  Bu ,  x*  P 1 APx*  P 1Bu  A* x  B*u


 Calcul des  de P.
éléments
 y  CPx *  y  CPx*  C * x*

Soit P  P1 ... ... Pn  la matrice de ième ligne


0 
. Pn  B
P B  B  PB  B  P1
1 * *
... Pn    Pn
.
1

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Base de transformation
 Calcul des autres éléments de P

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 n2
 n 1 n2 n2 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 4x

 Chercher les coefficients du polynôme caractéristique (ai)

 Déterminer les éléments du vecteur P

  2 1 
PA ( )  det(I  A)  det     2   3   6  5  2
 a  a   2
 0   3 0 1

n  2  P  P1 ... Pn  P1 P2 


 1 0
P  P1 P2   
 2  1  5 0   0  1  2 1
0 
P2  P2  B   , P1   A  a1I B            
1  0 3 0  5  1  2 

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Exemple : retour d’état

 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 1T 
 y (t )  C * x* (t )
  1 0
C  CP  3
*
4    11 4
 2 1

 Calculer K et L du bouclage

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.1
9
Exemple : retour d’état
 Pourquoi faire un retour d’état pour cet exemple
 Le système est instable (les coef. du polynôme caract. sont <0)

PA ( )  6  5  2  a0  a1  2 : syst. non bouclé instable

 Faire un retour d’état tel que le système bouclé soit stable


• Pour cela j’impose par exemple des pôles -3 et -2 pour le système bouclé, soit les
coeff. du système bouclé :

P( ABK ) ( )  6  5  2   0  1  2 : syst. bouclé stable

 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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Exemple : retour d’état
 Calcul du gain de bouclage

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

 La commande sera alors :


*
K 

u  0  10x*  Le

 Calcul de L
L   0 / b0

 Gain de boucle réel à appliquer:


1
  1 0 
K  K *P 1  0  10 *     20  10
  2 1 
Exemple : retour d’état

 Réalisation pratique

PROCESS non bouclé instable

+  2  1 0  y (t )
u (t )  x   . x  1.u CAPTEUR
e (t ) L  0 3   
 y  3 4x

-
x ( t )  x1 x2 
K  20  10

PROCESS bouclé stable

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Simulation sur Matlab
EXEMPLE COURS IMA3 : RETOUR ETAT
home
A=[2 -1;0 3]; B=[0 1]'; C=[3 4]; D=0;
SYS=ss(A,B,C,D);
display('Systeme initial')
pause, home
printsys(A,B,C,D)
%Verification de la commandabilité
Co=ctrb(SYS);
%nbre d'état incontrollable
pause, home
display('nbre etats incontrollables=')
ninc=length(A)-rank(Co)
pause, home
%les coeffcients du polynome det(lambdaI-A)
Coef=poly(A);
n=length(A);%ordre du système
a0=Coef(n+1);
a1=Coef(n);
P1=(A+a1*eye(length(A)))*B;
P2=B;
%LA base de transformation est
P=[P1 P2];
% la nouvelle matrice A*=AOb sous forme observable sera
Aob=inv(P)*A*P;
%le vecteur C*=Cob sera
Cob=C*P;
% le veceteur B*=Bob sera
Bob=inv(P)*B;
% l'équation d'état sera X*dot=A*x*+B*u, y=c*x
%ctrb(SYS)
SYSN=ss(Aob,Bob,Cob,D);
pause, home
display('nouveau systeme')
pause, home
printsys(Aob,Bob,Cob,D)
%2 RETOUR D'ETAT
display('RETOUR D ETAT')
pause, home
%display('pour M=')
M=[-3 -2]
K=acker(A,B,M)
CHAP1.2
3
2ème Problème : x ne peuvent pas être mesurés : OBSERVATEUR

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs»


2ème Problème : x ne peuvent pas être mesurés : OBSERVATEUR

What is observer ?
 Given
 x (t )  Ax (t )  Bu (t )
u x y  ,
Process C  y  Cx(t )
x  n , y  m , u   p

 How to reconstruct based on output error


 xˆ (t )  Axˆ (t )  Bu(t )  K  y (t )  Cxˆ (t )

 yˆ  Cxˆ (t )
xˆ (0)  xˆ0

ˆ  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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Convergence (1/2)

 Convergence conditions
 x (t )  Ax (t )  Bu(t )
 , x  n , y  m , u   p
 y  Cx (t )

 xˆ (t )  Axˆ (t )  Bu(t )  K  y (t )  Cxˆ (t )



 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

 s’annule exponentiellement si (A-KC) est asymptotiquement stable i.e. valeurs


propres (modes) sont à partie réelles négatives :
Comment ? : Bien choisir K
Simple Example
 Simple monovariable case
 x (t )  2 x(t )  u (t )  xˆ (t )  2 xˆ (t )  u (t )  K  y (t )  4 xˆ (t )
 t  0, x(0)  x0 t  0, xˆ (0)  xˆ0
 y  4 x(t ) 
 yˆ  4 xˆ (t )

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Example : how to design an observer of RC system ? (1/3)

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  Kt
dt dt  RC  dt  RC  (t)  e  RC 

 1  1 1
 ( t )  0, ssi    K0 K 0  K 
 RC  RC RC

34
Example : how to design an observer of RC system ? (2/3)

PROCESS Observer scheme


 1 ˆ 1 
E R Uˆ c (t )     U c (t )  E (t )  K (Uˆ cm (t )  Uˆ c (t ))  dt
C U cm (t )  RC RC 
Uˆ (t )  Uˆ (t )  Cxˆ (t )
cm c

OBSERVER

E 1 (+) Uˆ c (0) U cm (t ) (+)


dUˆ c (t ) Uˆ cm (t )  Uˆ c (t )
RC
 dt Uˆ c (t ) Uˆ cm (t ) 
(+)

(-)
 1
(-)
Observation error

1
RC
K (Uˆ cm ( t )  Uˆ c ( t ))

K Gain of the observer

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Somme definitions

 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 

 Compute the characteristic polynomial of the matrix A in terms of the variable x:


 syms x A = sym([1 1 0; 0 1 0; 0 0 1]); charpoly(A, x)
 ans = x^3 - 3*x^2 + 3*x - 1
 To find the coefficients of the characteristic polynomial of A, call charpoly with one argument:
 A = sym([1 1 0; 0 1 0; 0 0 1]); charpoly(A)
 ans = [ 1, -3, 3, -1]

 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 )

 In SISO format. A can be in specific (observable) format

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 .... 1x 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 ) 

 The characteristic polynomial of the observer is then

?
P( ACK ) ( )  a 0  k0   a1  k1   ....(a n 1  kn 1 )n 1  n   0  1  ... n 1n 1  n

 Then the gain of the observer is

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)

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


La forme Observable
 Formes canoniques
'modal' Modal decomposition where the state matrix A is block diagonal, each block corresponding to a modes.
'companion' Companion form where the characteristic polynomial appears in the rightmost column.

A=[-2 1;2 -3]; B=[1 -1]'; C=[1 2]; D=0;


SYS=ss(A,B,C,D);
Aobs = canon(SYS,'companion')
Amod = canon(SYS,'modal')

 Passage d’une forme  à une forme observable


 But : faire un changement de base x=px* tel que
• (P-1AP, P-1B,CP)=(A*,B*,C*) soit sous forme observable permettant de calculer le gain de
l’observateur Forme observable
0 0 ... 0  a0  T
1  0 
0 ... 0  a1 0 
 
x(t )  Ax(t )  Bu ,  x*  A * x  B * u A*  0 1 ... . . , C*   
x  Px*     .
y  Cx(t )  y  C*x* . . ... . .   
1 
0 0 ... 1  an 1 
Calcul de la base de la matrice P
x(t )  Ax(t )  Bu ,  x*  A * x  B * u
x  Px*  
y  Cx (t )  y  C*x*

On obtient alors en mettant x* dans x


0 0 ... 0  a0 
1 0 ... 0  a1   b0 
   . 
 x*  P 1 APx*  P 1Bu  A* x  B*u * 1
A  P AP  0 1 ... . .  ,B   
 Tel que    . 
 y  CPx*  C * x* . . ... . .  bn 1 
0 0 ... 1  an 1 
C *  CP  0 .. 0 1
Calcul de Pn

Soit P 1  P1 ... ... Pn T la matrice de ième colonne


P T  P1 ... ... Pn 
0 
T T
.
CP  C *  CP T  PT C T  C *  C T  P T C *  P1 ... ... Pn . 
0 
 
1  C T  Pn

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


 Calcul des autres éléments de P

P  T   P1 ... ... Pn  0 0 ... 0  a0 


T

1 0 ... 0  a1 
 
P1AP  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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


 Exemple : mettre sous forme observable
 Données:

  2 1  1
 x   . x   1.u x  Px* / ( A* , B* , C * ) sous forme observable
  2  3  
 y  1 2x

 Chercher les coefficients du polynôme caractéristique (ai)

  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 

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Forme observable
 Déterminer les éléments du vecteur P :
P1 ?
n  2  P  P1 ... Pn  P1 P2 

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

 Calcul des nouvelles matrices :

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Matlab Program

Acan = coeff = Amod =


a= a=
Matlab Program x1 x2 1 5 4 x1 x2
Résultats
x1 0 -4 x1 -1 0
A=[-2 1;2 -3]; B=[1 -1]'; C=[1 2]; x2 1 -5 x2 0 -4
D=0; Modes =
SYS=ss(A,B,C,D); b= b=
Acan=canon(SYS,'companion') u1 -1 u1
Amod=canon(SYS,'modal') x1 1 -4 x1 0.4714
coeff=poly(A) x2 0 x2 -1.491
Modes=eig(A)
c= c=
x1 x2 x1 x2
y1 -1 7 y1 2.121 1.342

d= d=
u1 u1
y1 0 y1 0
Application to DC motor (1/2)

State variables are:


d
x1  : Electrical flux=Li  U
dt
dJ
x2  J m:angular moment=J  m  
dt

 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
x1  U x2   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 , D0
 m Jm   Jm  
0 1

i   i  1 0   i 
y  m C    
m    0 1   
Application numérique

Re  2.4    di  Only one state (current i) can be


 dt  -5.45 -0.32   i   2.27 0  U a  measured . The goal is to estimate
Le  0.44  H ;    both current and angular velocity
 d    1.74 -0.12     0 -12.5  Cc 
Jm  0.08  kg.m 2   dt 
Rm  0.01  N .m.s / rad   im  1 0  i  C1   i 
y   Cx ( t )  C   
Ke  0.139 V / rad / s  m   0 1     1    di 
 dt  -5.45 -0.32   i   2.27 0  U a 
  
 d  
 1.74 -0.12     0
    -12.5  Cc 
 dt 
i i
y1  im  1 0    C1  
   
 Design of the observer

xˆ (t )  Axˆ (t )  Bu(t )  K1  y1 (t )  C1 xˆ (t )    A  K1C1  xˆ (t )  Bu(t )  K1 y1 (t )

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

y1 OBSERVER : Software sensor


U
 iˆ 
B BU +
Bu(t )  K1 y1 (t )  A  K1C1  xˆ(t ) 
 iˆ 
xˆ    yˆ   m 
 ˆ   ˆ m 


+ Bu(t )  K1 y1 (t )  xˆ (t
K1 K1Y1 +
+  C

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ˆ
 

 5.45 0.32   k0   5.45 0.32   k0 0  (5.45  k0 ) 0.32 


A*  A  K1C1  
1.74  0.12    k  1 0   1.74 0.12    k 
0  1.74  k1 0.12 
   1    1

The Characteristic polynomial is:


   (5.45  k0 ) 0.32  
PA* ( )  det( I  A*)  det   
 1.74  k1   0.12 

det( I  A*)     (5.45  k0 )  *    0.12   1.74  k1 ) *0.32 

PA* ( )   2    5.57  k0    0.12k0  0.32k1  1.21


51
Calculation of the observer gain

 The characteristic polynomial of the observer (A-KC) depends on K :


PA* ( )   2    5.65  k0   1.74.k1  0.2k0  0.56 

 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

PA* ( )  (  10)(  0.4)   2   .10.4  4

?
k0  4.43
PA* ( )      5.57  k0    0.12k0  0.32k1  1.21 ( 2   .10.4  4
2

k1  7.05

Dynamics of the observer Desired dynamics of the observer

52
Programme in Matlab-Simulink : Calcul paramètres de l’observateur

disp('VALEURS NUMERIQUES DU MOTEUR') disp('VERIFICATION OBSERVABILITE')


pause, home pause, home
global Re Le Jm Rm Ke rate_noise_i rate_noise_w Cc Cmn Ua Cc0 In wn Obs=obsv(A,C);
global Sigma_Le Sigma_Rm Sigma_Jm seuil1 seuil2 Re_def Le_def
rang_Obs=rank(Obs);
global Jm_def Rm_def Seuil_R2 Seuil_R1 Ip
global Sigma_Re rate_noise_Ua disp(' NOMBRE D ETATS INOBSERVABLES:')
format SHORT Nobs=length(A)-rang_Obs
Re=2.4; Le=0.44; Jm=0.08; Rm=0.01; Ke=0.139; disp('VERIFICATION COMMANDABILITE')
Ua=48; %Tension d'entrée du moteur Com=ctrb(A,B);
In=11;%Courant nominal
rang_Com=rank(Com);
wn=148;%vitesse nominale
rate_noise_w=0.01;%ate noise * valeure moyenne de w disp(' NOMBRE D ETATS INCOMMANDABLES:')
rate_noise_i=0.01; % rate noise * valeure moyenne de i; Ncom=length(A)-rang_Com
rate_noise_Ua=0.02*Ua; VP_A = eig(A); % Vecteurs propres du système initial
Cmn=1.6;% Couple nominal pause, home
Cc0=0.1;%N.m couple de charge initial
%Perturbation du couple de charge
Cc=Cc0+6*Cc0;
%Perturbation du courant
Ip=2*In;%Amplitude d'un signal parasite sous forme de créneau sur
l’entrée en courant

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
(-)

 Un régulateur est dit idéal si la réponse est absolument stable et apériodique

 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
(-)

 Soit un régulateur de fonction de transfert


 1  Ti1 p   
WR ( p )  K R  1  Ti1 p 
. 1  Ti 2 p ...1  Tin p 
 Ti p   
 1 
 Régulateur idéal ?
Alors 1
si on pose : Ti  T0 , Ti1  T1 , ........Tin  Tn Wf ( p ) 
T0
1 p
K R K0
Régulateur irréalisable car on ne peut pas réaliser une
dérivée pure (1+Tp)
Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»
Limites de la régulation PID
 Cas d’un procédé avec retard
Process
Régulateur PI
C E u K0 M
WR ( p ) e  . p
1  T0 p
(-)

 Soit un régulateur de fonction de transfert


 1  Ti1 p  TP Alors 1
Wf ( p ) 
WR ( p )   e si on pose : Ti  T0 , T   T0
 Ti p  1 p
K R K0

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.

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Limites de la régulation PID : Prédicteur de Smith

 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

 Hypothèses sur le modèle du procédé


 FT connue et de la forme :
Ko p
G( p)  e  G1 ( p ).e p
1  TP

 Structure de la régulation

G1(p)
C E u K0 Mi M
C ( p) 1  T0 p e  . p

(-)

C(p): Compensateur recherché

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Prédicteur de Smith

 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é.

 Principales difficulté de la régulation des procédés retardés


 Problèmes de stabilité à cause du retard
 Temps de réponse du système en BF
 Le temps de retard est incompressible car il dépend de la position du capteur
 Alors :
 Il faut anticiper l’effet du retard pour le compenser d’où le nom « PREDICTEUR » et
réduire la constante du temps T

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.6
3
Synthése du compensateur de Smith
 1. On fait abstraction du retard, autrement dit, on le considère extérieur à la
boucle (Système S1).
 On détermine alors un régulateur R classique (par ex. un PI) pour corriger la partie
dynamique G1(p)=Ko/(1+Top) du modèle global G(p) .

G1(p) S1 S1
C E u K0 Mi M
R( p) 1  T0 p e  . p

(-)
 1  Tip 
R ( p )  Kr  
 Tip 

 Puisque le retard est à l’extérieur de la boucle on peut choisir par exemple Ti


pour compenser To et Kr pour diminuer le temps de réponse en BF

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.6
4
Calcul de C(p)
 2. On va chercher le compensateur C(p) qui inclut R(p) et qui permet de
compenser le retard (Système S2)

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.6
5
Principe Prédicteur de Smith : Calcul de C(p)
 Principe
 Chercher un compensateur C(p) tel que les deux systèmes S1 et S2 soient équivalents :.

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)

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.6
7
C(p): Prédicteur de Smith
G (p): Procédé
G1(p)
C u M
E K0
e p
R( p) 1  T0 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)

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Synthèse du correcteur de Smith

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 ) 

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Synthèse du correcteur de Smith

 Conclusions le prédicteur de Smith est parfaitement déterminé si l’on


connaît
 une fonction de transfert du procédé
 un régulateur R adapté à la dynamique du procédé (hors retard).
 Autrement dit, l’ensemble des paramètres de ce compensateur est constitué
par :
 ceux du procédé (K0, T0 et le retard )
 ceux du régulateur R(p) (Kr et Ti)

 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é

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.7
0
Exemple : système hydraulique
Serpentin V12 FERMEE
simulant un retard 
V1 : OUVERTE
BO P
V4
KR
I 1 + Qps(t)
hc +  + u(t) R2
-  Ti + BF Qp(t) 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 )
Q1 (t ) Q2 (t )

Bac d’eau V1 V2

P=0 P=0

Volt  Volt  Volt   m3 / s   m3 / s   m


H c ( p)  U ( p) Qp Q ps 1 H1 ( p)
C( p)  K p G pompe e  p
Ap
Volt 
Wcapteur
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
(-)

 Un régulateur est dit idéal si la réponse est absolument stable et apériodique

 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
(-)

 Soit un régulateur de fonction de transfert


 1  Ti1 p   
WR ( p )  K R  1  Ti1 p 
. 1  Ti 2 p ...1  Tin p 
 Ti p   
 1 
 Régulateur idéal ?
Alors 1
si on pose : Ti  T0 , Ti1  T1 , ........Tin  Tn Wf ( p ) 
T0
1 p
K R K0
Régulateur irréalisable car on ne peut pas réaliser une
dérivée pure (1+Tp)
Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»
Limites de la régulation PID
 Cas d’un procédé avec retard
Process
Régulateur PI
C E u K0 M
WR ( p ) e  . p
1  T0 p
(-)

 Soit un régulateur de fonction de transfert


 1  Ti1 p  TP Alors 1
Wf ( p ) 
WR ( p )   e si on pose : Ti  T0 , T   T0
 Ti p  1 p
K R K0

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.

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Limites de la régulation PID : Prédicteur de Smith

 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

 Hypothèses sur le modèle du procédé


 FT connue et de la forme :
Ko p
G( p)  e  G1 ( p ).e p
1  TP

 Structure de la régulation

G1(p)
C E u K0 Mi M
C ( p) 1  T0 p e  . p

(-)

C(p): Compensateur recherché

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Prédicteur de Smith

 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é.

 Principales difficulté de la régulation des procédés retardés


 Problèmes de stabilité à cause du retard
 Temps de réponse du système en BF
 Le temps de retard est incompressible car il dépend de la position du capteur
 Alors :
 Il faut anticiper l’effet du retard pour le compenser d’où le nom « PREDICTEUR » et
réduire la constante du temps T

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» CHAP1.7


Synthése du compensateur de Smith
 1. On fait abstraction du retard, autrement dit, on le considère extérieur à la
boucle (Système S1).
 On détermine alors un régulateur R classique (par ex. un PI) pour corriger la partie
dynamique G1(p)=Ko/(1+Top) du modèle global G(p) .

G1(p) S1 S1
C E u K0 Mi M
R( p) 1  T0 p e  . p

(-)
 1  Tip 
R ( p )  Kr  
 Tip 

 Puisque le retard est à l’extérieur de la boucle on peut choisir par exemple Ti


pour compenser To et Kr pour diminuer le temps de réponse en BF

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» CHAP1.8


Calcul de C(p)
 2. On va chercher le compensateur C(p) qui inclut R(p) et qui permet de
compenser le retard (Système S2)

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» CHAP1.9


Principe Prédicteur de Smith : Calcul de C(p)
 Principe
 Chercher un compensateur C(p) tel que les deux systèmes S1 et S2 soient équivalents :.

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)

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.1
1
C(p): Prédicteur de Smith
G (p): Procédé
G1(p)
C u M
E K0
e p
R( p) 1  T0 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)

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Synthèse du correcteur de Smith

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 ) 

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Synthèse du correcteur de Smith

 Conclusions le prédicteur de Smith est parfaitement déterminé si l’on


connaît
 une fonction de transfert du procédé
 un régulateur R adapté à la dynamique du procédé (hors retard).
 Autrement dit, l’ensemble des paramètres de ce compensateur est constitué
par :
 ceux du procédé (K0, T0 et le retard )
 ceux du régulateur R(p) (Kr et Ti)

 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é

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.1
4
Exemple : système hydraulique
Serpentin V12 FERMEE
simulant un retard 
V1 : OUVERTE
BO P
V4
KR
I 1 + Qps(t)
hc +  + u(t) R2
-  Ti + BF Qp(t) 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 )
Q1 (t ) Q2 (t )

Bac d’eau V1 V2

P=0 P=0

Volt  Volt  Volt   m3 / s   m3 / s   m


H c ( p)  U ( p) Qp Q ps 1 H1 ( p)
C( p)  K p G pompe e  p
Ap
Volt 
Wcapteur
REGULATION CASCDE

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs»


Principe de la régulation Cascade
 Motivation

 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

 Réglage des régulateur

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» 17


Exemple : système hydraulique
Fuite: perturbation
interne
V4

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» 20


Exemple 1: Mélangeur

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

But ; Réguler la concentration Cs(t) du produit et du débit de sortie Qs(t)


Paramètres à régler : Qs(t), Cs(t), Paramètres réglant : Qe(t) et Qjc(t)
Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»
Schéma fonctionnel

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.2
2
Fonctions de transfert

REGULATEUR PROCESS

(-) M1
W11(p) Qse Qs
Qe +
C1 FRC
+
Cse
W12(p) Qsc

W21(p)

+ -
QC Cs
C2 AIC W22(p)
(-)
M2

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Limites de la régulation monovariable

 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

 Si W12(p) et W21(p) ont peu d’influence sur les mesures M1 et M2


 Une régulation monovariable peut être utilisée
 Sinon la régulation monovariable nécessite un DECOUPLAGE
 Exemple d’application de simulation

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


EXERCICE

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)

But ; Réguler la température Ts et le niveau L


Paramètres réglant : Qe(t) et la puissance Pu fournie par la résistance
Perturbations : Tamb, Qs

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Principe du découplage

u1 y1
SYSTEME
MULTIVARIABLE
um yn

u1 S1 y1

u2 S2 y2

un Sn yn

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» CHAP1.26


Découplage avec un Regulateur (1)
 Découplage utilisant un régulateur
U Y
e1 R(p) M(p)

 Si M(p)=C(pI-A)-1B représente la matrice de transfert du processus (A,B,C), il suffit


alors de placer un régulateur R(p) en amont de façon que :
 D(p)=M(p).R(p) du nouveau système est diagonale

 Si R(p).M(p) est diagonale , on aura

 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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Réalisation avec découpleur

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)
(-)

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» 29


Système découplé

(-) M1
C1 S1
U1 +
R11(p) WD1(p)

Régulateur Système découplé

C2 S2 + M2
U2
R22(p) WD2(p)
(-)

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» 30


Calcul du découpleur
Découpleur Process
(-) M1(p)
S1(p) U1 +
W11(p)
+
D12(p) z12(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
(-)

 Un régulateur est dit idéal si la réponse est absolument stable et apériodique

 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
(-)

 Soit un régulateur de fonction de transfert


 1  Ti1 p   
WR ( p )  K R  1  Ti1 p 
. 1  Ti 2 p ...1  Tin p 
 Ti p   
 1 
 Régulateur idéal ?
Alors 1
si on pose : Ti  T0 , Ti1  T1 , ........Tin  Tn Wf ( p ) 
T0
1 p
K R K0
Régulateur irréalisable car on ne peut pas réaliser une
dérivée pure (1+Tp)
Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»
Limites de la régulation PID
 Cas d’un procédé avec retard
Process
Régulateur PI
C E u K0 M
WR ( p ) e  . p
1  T0 p
(-)

 Soit un régulateur de fonction de transfert


 1  Ti1 p  TP Alors 1
Wf ( p ) 
WR ( p )   e si on pose : Ti  T0 , T   T0
 Ti p  1 p
K R K0

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.

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Limites de la régulation PID : Prédicteur de Smith

 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

 Hypothèses sur le modèle du procédé


 FT connue et de la forme :
Ko p
G( p)  e  G1 ( p ).e p
1  TP

 Structure de la régulation

G1(p)
C E u K0 Mi M
C ( p) 1  T0 p e  . p

(-)

C(p): Compensateur recherché

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Prédicteur de Smith

 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é.

 Principales difficulté de la régulation des procédés retardés


 Problèmes de stabilité à cause du retard
 Temps de réponse du système en BF
 Le temps de retard est incompressible car il dépend de la position du capteur
 Alors :
 Il faut anticiper l’effet du retard pour le compenser d’où le nom « PREDICTEUR » et
réduire la constante du temps T

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» CHAP1.7


Synthése du compensateur de Smith
 1. On fait abstraction du retard, autrement dit, on le considère extérieur à la
boucle (Système S1).
 On détermine alors un régulateur R classique (par ex. un PI) pour corriger la partie
dynamique G1(p)=Ko/(1+Top) du modèle global G(p) .

G1(p) S1 S1
C E u K0 Mi M
R( p) 1  T0 p e  . p

(-)
 1  Tip 
R ( p )  Kr  
 Tip 

 Puisque le retard est à l’extérieur de la boucle on peut choisir par exemple Ti


pour compenser To et Kr pour diminuer le temps de réponse en BF

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» CHAP1.8


Calcul de C(p)
 2. On va chercher le compensateur C(p) qui inclut R(p) et qui permet de
compenser le retard (Système S2)

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» CHAP1.9


Principe Prédicteur de Smith : Calcul de C(p)
 Principe
 Chercher un compensateur C(p) tel que les deux systèmes S1 et S2 soient équivalents :.

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)

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.1
1
C(p): Prédicteur de Smith
G (p): Procédé
G1(p)
C u M
E K0
e p
R( p) 1  T0 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)

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Synthèse du correcteur de Smith

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 ) 

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Synthèse du correcteur de Smith

 Conclusions le prédicteur de Smith est parfaitement déterminé si l’on


connaît
 une fonction de transfert du procédé
 un régulateur R adapté à la dynamique du procédé (hors retard).
 Autrement dit, l’ensemble des paramètres de ce compensateur est constitué
par :
 ceux du procédé (K0, T0 et le retard )
 ceux du régulateur R(p) (Kr et Ti)

 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é

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CHAP1.1
4
Exemple : système hydraulique
Serpentin V12 FERMEE
simulant un retard 
V1 : OUVERTE
BO P
V4
KR
I 1 + Qps(t)
hc +  + u(t) R2
-  Ti + BF Qp(t) 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 )
Q1 (t ) Q2 (t )

Bac d’eau V1 V2

P=0 P=0

Volt  Volt  Volt   m3 / s   m3 / s   m


H c ( p)  U ( p) Qp Q ps 1 H1 ( p)
C( p)  K p G pompe e  p
Ap
Volt 
Wcapteur
REGULATION CASCDE

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs»


Principe de la régulation Cascade
 Motivation

 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

 Réglage des régulateur

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» 17


Exemple : système hydraulique
Fuite: perturbation
interne
V4

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

Logique classique Décisions binaires (0 ou 1)

Logique floue Décisions partielles (entre 0 et 1)


Logique classique Logique floue
 
jeune entre deux âges âgé
jeune âgé
entre deux âges 1
1
0.7
5

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.

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Qu’est ce que la logique floue ?

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Qu’est ce que la logique floue ? Exemple
si le feu est si ma vitesse est et si le feu est
alors je freine fort.
rouge... élevée ... proche ...
si le feu est si ma vitesse est et si le feu est alors je maintiens
rouge... faible ... loin ... ma vitesse.
si le feu est si ma vitesse est et si le feu est alors je freine
orange... moyenne ... loin ... doucement.
si le feu est si ma vitesse est et si le feu est
alors j'accélère.
vert... faible ... proche ...

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

Professeur ZADEH (Université de Berkeley – Californie)

Introduit le concept d’un sous-ensemble flou

Fonction caractéristique

Valeurs entre 0 et 1

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Applications et Historique
 Applications
 La commande floue
 Les systèmes experts
 Recherche d’information
 Les systèmes experts
 Classification et reconnaissance des formes

 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))

Modélisation de la glycémie chez les diabétiques


Réalisation d'un système d'aide à la décision implanté sur un micro-
ordinateur de poche et permettant aux diabétiques de mieux régler le
débit d'insuline

Machine à laver (Aisaigo Neurro-Fuzzy Washing Machine (Scholten, 1994))


 Quantité de linge, quantité de saleté (opacité de l’eau)
 Nature de la saleté (poudre, soluble)
 Nature du textile
 Dureté de l’eau, vitesse de dissolution du détergent
 Préférence indiquée par l’utilisateur

3800 mode de fonctionnement

Quantité de détergent, de l’eau, durée du lavage et du cycle


Applications industrielles (4)
Aspirateur (Canister Neuro-Fuzzy – Matsushita (Scholten, 1995))
 Quantité de poussière
 Type de revêtement de sol
 Type de saleté

Puissance d’aspiration et vitesse de la brosse rotative


L’aspirateur signale qu’il ne voit plus de poussière et indique
même quel était le degré de saleté.

Commande à distance d’un hélicoptère


(Tokyo Institute of Technology – Professeur Sugeno (OFTA, 1995))
 Système non linéaire, instable, forts couplages
 15 variables d’états (13 mesurées) et 4 commandes (vitesse et inclinaison des rotors)
 Ordres globaux
• Atterrissage, décollage
• Vol stabilisé
• Vol avant, vol arrière
• Virage à droite, virage à gauche

Actions sur les organes de commande de l’hélicoptère


Etapes pour la résolution d’un problème flou

 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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Principe

Valeurs Valeurs
symboliques symboliques

Entrées Défuzzification
Sorties
Fuzzification Inférence
réelles réelles

Système de commande floue

y(k) Consigne
u(k)
PROCESS
Commande

Variation de l’erreur 
Erreur
Régulateur flou e(k)
e(k)

Défuzzification Inférence Fuzzification


Logique floue - Généralités

e Règles u
Fuzzification Défuzzification
d’inférence

Variables linguistiques Définition des règles Méthode du maximum


Fonction d’appartenance Opérateurs Méthode du centre de
gravité
Fuzzification
 Pourquoi la quantification
 La variable booléenne, qui ne peut prendre que deux valeurs (vrai ou faux)
est mal adaptée à la représentation de la plupart des phénomènes courants.
• Exemple : Le réacteur est « trop chaud », la vitesse est « trop grande »

 Problème : comment modéliser les états « trop chaud », «trop grande »


. 1. Par une variable booléenne « 0 » et « 1 »

« trop chaud » Etat Problème : comment fixer T0 ou


W0
1 1

0 0
T0 Température T W0 Vitesse w
Fuzzification
 2. Par la logique floue
 La variable « trop chaud » devient :

« trop chaud » La transition entre les valeurs faux (codée 0) et vrai


(codée 1) est maintenant progressive .
1
Elle est représentée par une fonction f
0.5 Fonction f

0
T1 T0 Température T

 La fonction f représente le degré d'appartenance (degree-of-membership) à l'état


décrit ou comme une probabilité d'appartenir à l'ensemble considéré.
 Ainsi, un réacteur ayant une température de T1 a un degré d'appartenance 50 % (0,5) à
l'état « trop chaud »

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Fuzzification

 La première étape du traitement d'un problème par la logique floue consiste


donc à modéliser chacune des entrées du système par des courbes donnant
les degrés d'appartenance à différents états identifiés pour ces entrées.

Cette étape de quantification "floue" des variables d'entrée est aussi


appelée fuzzyfication.

 Fuzzification s'applique aussi bien aux variables d'entrée que de sortie.

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Exemple : taille d’un homme
Un homme est tout à fait moyen à 1m 70.
En dessous de 1m 60, il n'est pas assez grand pour être moyen.
Au delà de 1m 80, il ne l'est plus non plus.

Un homme est vraiment grand au dessus de 1m 80.


A 1m 75, il n'est "qu'à moitié" grand.
Il ne l'est plus du tout en deçà de 1 m 70..

Un homme est vraiment petit en dessous de 1 m 60.


à 1m 65, il n'est "qu'à moitié" petit.
Il ne l'est plus du tout au delà de 1m 70

Petit Moyen Grand


1

0
1,5m 1,6m 1,7m 1,8m 1,9m Taille d’un homme
Variables linguistiques

Prédicats (sous-ensembles flous)

froid tiède chaud


1

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)

 Définir les plages de variation linguistiques de chaque variable


• Le pendule n’est pas récupérable s’il sort du domaine [-20°, 20°] : e [-20, 20]
• La variation maximale de l’angle  est [-10°, 10°] : e [-10, 10]
• La tension de commande appliquée au moteur (qui est la sortie du régulateur) est limitée à -10V, +10V: u [-10, 10]

 Définir les ensembles flous pour chaque variable


• Pour u : 5 ensembles flous NG, N, P, Z, PG (Négative Grande, Positive, Zéro)
• Pour e : 3 ensembles flous N, Z, P
• Pour e : 3 ensembles flous N, Z, P
Table d’inférence pour le pendule
e/ N Z P
e

N PG P Z

Z P Z N

P Z N NG

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Choix des fonctions d’appartenance
A – ensemble flou
A : X  [0,1],
x  (x)

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

Fonctions d’appartenance de forme triangulaire

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Fonctions d’appartenance (2)

P2 P3 P2 P3 P2 = P3 P2 P3 P2 P3
1

P1 P4 P1 P4 P1 P4 P1 P4 P1 P4

Fonctions d’appartenance de forme trapézoïdale

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Fonctions d’appartenance (3)

(x)=1/(1+(x-x0)2/a2) ; - < x <.

0.5

x0
a a
x

Fonctions d’appartenance en forme de cloche

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Fonctions d’appartenance (4)

(x)=(1+cos((x-x0)/2a)]/2 ; x0-2a  x  x0+2a


1

0.5

x0
a a x

Fonctions d’appartenance en forme de cloche

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Fonctions d’appartenance (5)

(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

Fonctions d’appartenance en forme de cloche

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


CREATION D’UN SRA FLOU

Sur l’espace de
travail de matlab
Tapez
>> FUZZY

Chap.3/
P 45
Sur Matlab (Boite à outil Fuzzy logic »

On peut choisir une


fonction d’appartenance
(menu Editmembership
function)

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

 Logique floue (exemple)


x y
Règle
Etablissement des règles

 la logique floue fonctionne suivant le principe suivant :


 Plus la condition sur les entrées est vraie,
 Plus l'action préconisée pour les sorties doit être respectée

 Exemple
 Régulation de température du four en agissant sur la puissance de
chauffe.
 Règle (Loi de régulation) :
• Si la température est très basse, alors chauffer fort.

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Règles d’inférence

 Inférence avec une seule règle


 Inférence avec plusieurs règles

 Inférence avec une seule règle

Règle : y = [x1 OU (x2 ET x3) OU …] ET xn

Domaine d’application : prise d’une décision

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Inférence avec une seule règle : exemple

Prise de décision lors de l’engagement d’un collaborateur

Critère := (formation OU expérience) ET


(indépendance OU aptitude à collaborer) ET
âge
Exemple fonction d’appartenance pour l’âge
âge Si un candidat est âgé entre 30 et 40 ans alors
age=1
1
Pour 50ans c’est 0.2

0.2

20 30 40 50 60 âge

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés» 51


Inférence avec une seule règle : exemple

Tableau établi sur la base de tous les critères

Variables Candidat Candidat Candidat Candidat Candidat


1 2 3 4 5

Formation 0.2 0.8 0.5 0.8 0.6

Expérience 0.3 0.2 0.9 1 0.6

Indépendance 0.6 0.4 0.7 1 0.5

Aptitude à 0.4 0.5 0.2 1 0.8


collaborer

Age 1 0.5 0.7 0.1 0.6

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Inférence avec plusieurs règles

Domaine d’application : commande

Opération := SI condition 1 ALORS opération 1, OU


SI condition 2 ALORS opération 2, OU
.
.
.
SI condition m ALORS opération m

condition i = [x1 OU (x2 ET x3) OU …] ET xn , i = 1, …, m

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Inférence avec plusieurs règles

Domaine d’application : commande

Opération := SI condition 1 ALORS opération 1, OU


SI condition 2 ALORS opération 2, OU
.
.
.
SI condition m ALORS opération m

condition i = [x1 OU (x2 ET x3) OU …] ET xn , i = 1, …, m

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Inférence avec plusieurs règles

xi – variable linguistique fonction d’appartenance

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

Réglage de la température d’un local

e = w – y : écart de température

Variation de la position de la valve :=


SI écart positif, ALORS ouvrir la valve, OU
SI écart zéro, ALORS ne pas bouger la valve, OU
SI écart négatif, ALORS fermer la valve.

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Inférence avec plusieurs règles

(u)
(e)

négatif zéro positif fermer ne pas bouger ouvrir


1 1

négatif zéro positif

-3 -2 -1 1 2 3 e -0.6 -0.4 -0.2 0 0.2 0.4 0.6 u

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Suite pendule: règles d’inférence
 Pendule
 Pour u : 5 ensembles flous NG, N, P, Z, PG (Négative Grande, Positive, Zéro)
 Pour e : 3 ensembles flous N, Z, P
 Pour e : 3 ensembles flous N, Z, P

 Définir la table d’inférence


(e) (e)
N Z P N Z P
1 1

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.

L'abscisse du centre de gravité peut être calculé par la relation


 zμ z  z dy
V
 μ z  z dy
V
Méthodes de dézzufication

 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).

1 le signal de sortie z saute si


la dominance change d'une
fonction partielle à une
autre.

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

de(t ) du(t ) de(t ) d 2 e( t )


u (t )  K p e(t )  K i  e(t )dt  K d   Kp  K I e( t )  K d
dt dt dt dt 2

u  K p e  K I e(t )  K d 2 e

e u
e u PID flou
Contrôleur flou
2 e

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Analogie structurelle des contrôleurs
flous avec les contrôleurs classiques
q

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  /40, 0 est la pulsation propre
 TE > temps de traitement de l’algorithme du régulateur
par logique floue

 Traitement des grandeurs mesurées

 Écart de réglage E=C-M

 Dérivée
dx  x  xk  xk 1
dt t TE

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Transformation des entrées en variables linguistiques

N:Négatif
M moyen
E:Environ
Z:Zéro
G: Grand
P:Positif

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Formes à éviter

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


APPLICATION FLOUE

Prof. B. Ould  Bouamama  Polytech Lille « Integrated Design of  Mechatronic Systems  using  Bond Graphs»


Réglage de la température d'une serre
Tamb
Consigne
Serre

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.

 Température Ts est fournie par un thermocouple qui fournit la valeur de la


grandeur à régler.

 On suppose que le système « serre +élément chauffant » est linéaire et


ayant une fonction de transfert H(s)=1/(s+2) avec un retard égale à 1s.

 La température désirée est de 20°C. La température extérieure est de 10°C


et son action sur Ts est intégrale.

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Chap.3/
P 73
Choix des régulateurs

 On propose trois solutions:


 1: Régulation PID,
 2: Régulateur flou à une entrée,
 3: Régulateur flou à 2 entrées

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

 1. On définit les Entrées Sorties:


 Entrée : Erreur de réglage : E
 Sortie : Action de commande du régulateur floue u

Consigne
E u
Régulateur
flou
-
Ts

 2. Définition la plage de variation des E/S


 [-10 14] : plage de variation de l’erreur.
 [-30 37] : plage de variation de la commande
Construction du régulateur flou
 3. Comment les choisir ?
 Analyser le processus réel
 Dilemme :
• si les plages sont larges : faible précision
• Si les plages sont étroites : risque d’instabilité

 Interprétation des MSF  Chaud Bon Froid


1

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.

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Règles d’inférences

E={Chaud, Bon, froid} u={Refroidir, Rien faire, Réchauffer}

E Régulateur u
flou

. Règles de commande

Si c’est CHAUD alors REFROIDIR.

Si c’est BON alors RIEN faire.

Si c’est FROID alors RÉCHAUFFER


1. Créer un nouveau système flou Mamdani
 1. Créer un système flou (noté « FLOU_SERRE »)

Matlab workspace
>> Tapez « Fuzzy », Puis:
Menu : File>>NewFIS Mamdani

Choisir les méthodes de :


DéFuzzification
D’implication
Agrégation..
2. Créer le régulateur flou

 2. Choisir Méthodes de Dézzufication (comment sera calculé u)


 Centroid : centre de gravité de la surface
 Bisector : Bissecteur de la surface
 Mom : moyenne des maximas
 Som : plus petit des maximas en valeur absolue
 Iom : plus grand des maximas en valeur absolue
2. Créer le régulateur flou
 3. Fixer les MSF (fonctions d’appartenance) pour E et u

Menu edit
>> Edit  Edit Membership function

Variation rapide de la plage de


variation
Plage de variation

Nom de la MSF

Sélectionner le type de MSF


(trapèze, triangle ..)
2. Créer le régulateur flou

MSF pour la commande U


2. Créer le régulateur flou

 4. Editer les règles d’inférences


Menu edit
>> Edit  rule
2. Créer le régulateur flou
 4.1 : Afficher les règles d’inférence

Menu edit
>> Edit  View rule

Pour E=-1.29, U=2.83


2. Créer le régulateur flou
 4.2 : Afficher les surfaces d’inférence
Menu edit
>> Edit  View surface
3. Régulateur Flou dans SIMULINK
5. A partir de l’interface Fuzzy, il faut exporter le fichier vers:
1. Workspace pour pouvoir l’utiliser sous SImulink dans le schéma de régulation
2. Vers Disk pour le réutiliser (sauvegarder sous FLOU_SERRE.fis)
3. Régulateur Flou dans SIMULINK
 6. Créer un bloc représentant un système flou
 1. Tapez SImulink dans l’espace de travail
 Dans Simulink, et dans « Fuzzy Logic Toolbox », créer un modèle SImulink flou
.

 A partir de l’interface Fuzzy, nous avons sauvegardé sous le nom


«FLOU_SEREE.fis » et dans l’espace de travail (Workspace) le même fichier sous
forme d’une matrice.
3. Régulateur Flou dans SIMULINK

 7. Associer le bloc « Fuzzy logic Controller » au régulateur flou crée


« FLOU_SERRE »
 Double cliquer sur l’icône « fuzzy logic controller » pour spécifier le nom
FLOU_SERRE
4. Insérer le régulateur flou dans la boucle

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Inconvénient avec une seule entrée
 Erreur statique différente de zéro
 Réglage grossier
 La variation de l’erreur dE/dt n’est pas prise en compte

 La qualité de régulation dépend du choix de la plage de variation des


entrées

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

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Nommer les MSF

 Pour l’erreur (E) : CHAUD, BON, FROID

 Pour la variation de l’erreur (DE) : SE RECHAUFFE, CONSTANT, SE RE


FROIDIT

 pour la commande U,
 Refroidir beaucoup : RB
 Refroidir : R
 Ne rien faire : RIEN
 Chauffer : C
 Chauffer beaucoup : CB

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Construction du régulateur flou

 1. Définition des E/S et la plage de variation


E : [-10 14]  plage de variation de l’erreur.
U : [-30 44]  plage de variation de la commande
DE : [-15 15]  Variation de l’erreur

 Comment les choisir


 Analyser le processus réel et son fonctionnement
 Dilemme : problème combinatoire pour plus de deux entrées

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


règles d’inférences
Si E est chaud ET DE se Refroidit Alors il faut Refroidir (R)
Si E est Bon ET DE se Refroidit Alors il faut Chauffer (C)
Si E est Froid ET DE se Refroidit Alors il faut Chauffer Beaucoup (CB)

Si DE et Erreur E

Chaud Bon Froid

Se Refroidit R C CB

Constant R Rien C Alors commande


U est..

Se Réhauffe RB R C
Règles d’inférence

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


Régles
View view surface

Prof. B. Ould  Bouamama  Polytech Lille « Ingénierie des Systèmes Automatisés»


MSF
MSF
SRA Flou

E U
U 1 T
1/s
onsigne
DE s+2
Régulateur Flou
du/dt

Derivative1
Perturbation

Demos Logique floue


Cliquez ici