1. Commande en temps réel d’un bioréacteur par Labview
Masure P. Roppe Q. Kamga W.
Faculté Polytechnique de Mons
25 mai 2008
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 1 / 30
2. Pour croître de manière optimale, les bactéries ne peuvent
être ni sous-alimentées ni suralimentées.
"Appliquez-vous à garder en toute chose le juste milieu."
Confucius
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 2 / 30
3. Introduction
Objectif à atteindre
Objectif : construire une commande temps réel d’un bioréacteur dans
l’environnement Labview afin d’optimiser la croissance de bactéries.
Différentes étapes pour y parvenir :
Description des procédés biochimiques
Implémentation boucle ouverte dans le langage Matlab du système
non-linéaire représentant le bioréacteur
Linéarisation du système non-linéaire
Implémentation boucle fermée du système linéarisé sous Simulink
Implémentation boucle fermée du système non-linéaire dans l’environnement
Labview avec procédé simulé à l’aide de Matlab
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 3 / 30
4. Description des procédés biochimiques Les trois modes de fonctionnement des bioréacteurs
Les modes de fonctionnement des bioréacteurs sont
caractérisés par la manière dont le réacteur est alimenté en
substrat
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 4 / 30
5. Description des procédés biochimiques Régimes respiratoire et respiro-fermentatif
Les bactéries divisent leur métabolisme en deux régimes
distincts
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 5 / 30
6. Implémentation boucle ouverte dans l’environnement Matlab
Implémentation dans le langage Matlab du système d’équations différentielles
non-linéaire.
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 6 / 30
7. Implémentation boucle ouverte dans l’environnement Matlab
Evolution sur 24 heures des concentrations macroscopiques
du bioréacteur pour un débit d’alimentation de 0.1 l/h
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 7 / 30
8. Implémentation boucle ouverte dans l’environnement Matlab
Evolution sur 24 heures des concentrations macroscopiques
du bioréacteur pour un débit d’alimentation optimal
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 8 / 30
9. Linéarisation du modèle
Linéarisation du modèle
D’un système non-linéaire, complexe à l’étude, nous allons essayer de nous
ramener à une équation linéaire simple d’utilisation.
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 9 / 30
10. Linéarisation du modèle Objectif de la linéarisation
Le système d’équations différentielles modélisant le
bioréacteur est fortement non-linéaire
dX
= (r1 + r2 + r3 ).X − D.X
dt
dS
= −(k1 r1 + k2 r2 ).X − D.(S − Sin )
dt
dP
= (k3 r2 − k4 r3 ).X − D.P
dt
dO
= −(k5 r1 + k6 r2 + k7 r3 ).X − D.O + kla .(Osat − O)
dt
dC
= (k8 r1 + k9 r2 + k10 r3 ).X − D.C + kla .(Csat − C )
dt
dV
= D.V
dt
L’objectif est de contrôler la croissance des cellules par des techniques de
commande linéaire.
L’avantage est que l’identification des paramètres du modèle est fortement
simplifiée
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 10 / 30
11. Linéarisation du modèle Comment a-t-on rendu le système linéaire ?
La linéarisation permet de transformer une équation
non-linéaire en une équation linéaire applicable autour d’un
point de fonctionnement donné.
Nous avons linéarisé autour d’une concentration en acétate que nous avons
imposée constante : c’est un objectif sous-optimal.
L’optimum correspond à une quantité d’acétate constante et théoriquement nulle.
On distingue deux voix métaboliques :
un régime respiratoire(r2 = 0)
un régime respiro-fermentatif(r3 = 0)
Les ri représentent les vitesses spécifiques des réactions
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 11 / 30
12. Linéarisation du modèle Le régime respiro-fermentatif
r3 = 0, la vitesse d’oxydation du métabolite est nulle : il y a
fermentation et production d’acétate
Hypothèse : l’accumulation de substrat est nulle à tout instant ( condition de
quasi-staticité)
dS
= −(k1 r1 + k2 r2 ).X − D.(S − Sin ) = 0
dt
D.Sin k1 r1
r2 = −
k2 .X k2
dP
On injecte r2 dans dt
dP
= (k3 r2 − k4 r3 ).X − D.P
dt
dP k3 k1 r1 k3 DSin
⇒ =− .X + − D.P
dt k2 k2
dP k3 k1 r1 k3 Fin Sin Fin
⇒ =− .X + − .P
dt k2 k2 V V
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 12 / 30
13. Linéarisation du modèle Le régime respiro-fermentatif
Développement en série de Taylor de dP , en considérant les
dt
concentrations comme des variations autour de leur valeur
optimale : P = P ∗ + δP, O = O ∗ + δO, X = X ∗ + δX , ...
dP d (δP)
= = f (X ∗ , V ∗ , Fin , P ∗ )+
∗
dt dt
∂f
(X − X ∗ ) + ...
∂X X ∗ ,V ∗ ,P ∗ ,F ∗
in
∂f
+ (V − V ∗ ) + ...
∂V ∗
X ∗ ,V ∗ ,P ∗ ,Fin
∂f
+ (P − P ∗ ) + ...
∂P ∗
X ∗ ,V ∗ ,P ∗ ,Fin
∂f ∗
+ (Fin − Fin ) + ...
∂Fin ∗
X ∗ ,V ∗ ,P ∗ ,Fin
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 13 / 30
14. Linéarisation du modèle Le régime respiro-fermentatif
En se limitant à l’ordre 1 et en considérant des faibles
variations autour des valeurs optimales ∗ ,
dP k3 k1 r1 k3 Fin Sin Fin
=− .X + − .P
dt k2 k2 V V
∗
∂f k3 k1 r1
=−
∂X ∗
X ∗ ,V ∗ ,P ∗ ,Fin k2
∗
∂f k3 Fin Sin 1
=( − Fin P ∗ ). ∗ 2
∗
∂V ∗
X ∗ ,V ∗ ,P ∗ ,Fin k2 (V )
∂f k3 Sin P∗
= ∗
− ∗
∂Fin ∗
X ∗ ,V ∗ ,P ∗ ,Fin k2 V V
∗
∂f Fin
=−
∂P ∗
X ∗ ,V ∗ ,P ∗ ,Fin V∗
∂f
=0
∂O ∗
X ∗ ,V ∗ ,P ∗ ,Fin
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 14 / 30
15. Linéarisation du modèle Le régime respiro-fermentatif
Choix de la commande
Termes Valeurs
∂f
∂Fin 35.68
∂f
∂P 0.0024
∂f
∂V 0.0872
∂f
∂X 0.4886
∂f
∂O 0
∂f
∂Fin : terme prépondérant
Le débit d’alimentation Fin : commande du procédé.
dP
Le développement en série de Taylor de dt se réduit à :
dP ∂f ∗ k3 Sin P∗ ∗
= (Fin − Fin ) = ( − ∗ ).(Fin − Fin )
dt ∂Fin ∗
X ∗ ,V ∗ ,P ∗ ,Fin k2 V ∗ V
∗
Fin = débit d’alimentation optimal
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 15 / 30
16. Linéarisation du modèle Le régime respiro-fermentatif
Nous passons à la transformée de Laplace
k3 k1 k3
Nous posons K1 = k2 et K2 = k2
∗
(k3 k1 r1 )
∗ k2 .X ∗ .V ∗
Fin = k3 Sin −P ∗ k2
k2
Sachant que : ∗
X ∗ .V ∗ = X0 .V0 .e r1 .t
En effectuant la Transformée de Laplace de l’expression suivante :
dP ∂f ∗ k3 Sin P∗ ∗
= (Fin − Fin ) = ( − ∗ ).(Fin − Fin )
dt ∂Fin ∗
X ∗ ,V ∗ ,P ∗ ,Fin k2 V ∗ V
Nous obtenons la relation suivante :
K2 Sin P∗ ∗
K1 r1 X0 V0 1
p.P(p) − P(0) = ( − ∗ ).(Fin (p) − . ∗)
V∗ V (K2 Sin ) − P ∗ p − r1
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 16 / 30
17. Linéarisation du modèle Le régime respiro-fermentatif
En posant P(0)=0 et en séparant les termes d’entrée , de
sortie et de perturbation , nous obtenons finalement :
K2 Sin P∗ ∗
K1 r1 X0 V0 1
p.P(p) − P(0) = ( ∗
− ∗ ).(Fin (p) − .
∗ p − r∗
)
V V (K2 Sin ) − P 1
K2 Sin P∗ 1 ∗
K1 r1 X0 V0 1
P(p) = ( ∗
− ∗ ). .(Fin (p) − .
∗ p − r∗
)
V V p (K2 Sin ) − P 1
Nous pouvons à présent effectuer la commande du bioréacteur sur SIMULINK
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 17 / 30
18. Commande du bioréacteur linéarisé sous SIMULINK
Commande du bioréacteur linéarisé sous SIMULINK
Grâce à l’équation du système linéarisé, nous pouvons établir une commande sous
Simulink.
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 18 / 30
19. Commande du bioréacteur linéarisé sous SIMULINK Schéma SIMULINK
A partir de l’équation linéarisée, on construit le schéma sous
SIMULINK
L’équation
∗
K2 Sin−A ∗
V∗
K1 r1 X0 V0 1
A(p) = Fin(p) −
p ∗
K2 Sin − A∗ p − r1
Fin∗ (p)
peut être mise sous cette forme :
K
A(p) = (Fin(p) − di(p))
p
où di(p) représente un terme de perturbation de type exponentiel
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 19 / 30
21. Commande du bioréacteur linéarisé sous SIMULINK Détermination des paramètres du contrôleur
Grâce à la méthode de Ziegler-Nichols, nous déterminons les
paramètres du contrôleur
Un correcteur P.I. est représenté par une fonction de transfert du type :
1
C (p) = Kr .(1 + )
τi .p
Type de correcteur Gain τi τd
Proportionnel 0,5.K0
PI 0,45.K0 0,83.T0
PID 0,6.K0 0,5.T0 0,125.T0
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 21 / 30
22. Commande du bioréacteur linéarisé sous SIMULINK Résultats du contrôle du bioréacteur sous SIMULINK
Le correcteur contrôle la concentration en acétate
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 22 / 30
23. Commande du bioréacteur sous LABVIEW
Commande du bioréacteur sous LABVIEW
La réalisation avec le système linéarisé étant effectuée, nous pouvons concevoir
l’implémentation du système non-linéaire plus complexe sous Labview.
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 23 / 30
24. Commande du bioréacteur sous LABVIEW Schéma du système implémenté sous Labview
Par souci d’efficacité, nous avons utilisé Matlab Script sous
Labview
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 24 / 30
25. Commande du bioréacteur sous LABVIEW Résultats du système implémenté sous Labview
Le système contrôle la concentration en acétate
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 25 / 30
26. Commande du bioréacteur sous LABVIEW Optimisation du contrôle par un contrôle Feed-Forward
Contrôle Feed-Forward
Via un contrôle Feed-Forward (a priori), nous pouvons tenter de minimiser le
travail effectué par le correcteur.
Comment peut-on réaliser cela ?
On a établi une équation du Fin optimal lors de l’étude du système linéaire.
Nous allons injecter cette commande a priori dans le système non-linéaire afin que
le correcteur ne fournisse plus que la différence entre la commande réelle Fin et le
Fin optimal linéaire.
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 26 / 30
27. Commande du bioréacteur sous LABVIEW Résultats du contrôle par un contrôle Feed-Forward
On obtient des résultats identiques pour le contrôle de la
concentration de l’acétate
Fig.: Concentration d’acétate contrôlée par Feed-Forward sur Labview
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 27 / 30
28. Commande du bioréacteur sous LABVIEW Résultats du contrôle par un contrôle Feed-Forward
Ce contrôle ne semble pas adéquat dans ce cas-ci car la
différence entre le Fin réel et le Fin optimal linéarisé est une
exponentielle
Fig.: Correction à apporter entre le Fin théorique imposé au système et le Fin réel
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 28 / 30
29. Commande du bioréacteur sous LABVIEW Optimisation du contrôle par un contrôle adaptatif du gain
Le correcteur peut essayer de suivre la perturbation
exponentielle si on lui procure à chaque instant le gain
adéquat
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 29 / 30
30. Pour conlure
L’objectif est atteint : nous parvenons à réguler le bioréacteur
Nous avons dépassé l’objectif en envisageant une optimisation
par contrôle Feed-Forward
par contrôle adaptatif du gain
Avantage de notre logiciel : nous l’avons implémenté dans l’environnement
Labview qui est facilement utilisable sur le bioréacteur réel.
Evolution future :
Perfectionnement de la sonde acétate
Expérimenter le logiciel sur un bioréacteur réel
Masure P., Roppe Q., Kamga W. (FPMS) Commande d’un bioréacteur 25 mai 2008 30 / 30