Vous êtes sur la page 1sur 9

Chapitre 3

H ÉLICOPT ÈRE : RETOUR D ’ ÉTAT


AVEC ACTION INT ÉGRALE ET
OBSERVATEUR R ÉDUIT

3.1 Le système
On considère l’hélicoptère de la Fig. 3.1, où α désigne l’angle de lacet (angle autour de l’axe
z) et θ désigne l’angle de tangage (angle autour de l’axe y).

(a)

rotor de queue
(pour le lacet α) rotor principal
z (pour le tangage θ)

(b) y

F IG . 3.1 – Un hélicoptère

Ce système est non-linéaire. Toutefois, autour d’un point de fonctionnement, l’hélicoptère


peut être modélisé par un système linéaire de modèle d’état :

18
dX

dt = AX + BU
(3.1.1)
Y = CX
On a :
 

   

 γα 

α U1  vθ 
Y = U= X=  (3.1.2)
θ U2 
 γθ 

 α 
θ
et :

   
0 1 0 0 0 0 1.1 0.8

 −1.347 0 −0.12 0 −2.32 −1.1 


 18 2  
 0 0 0 1 0 0   0.7 1.2 
A=  B= 

 −0.21 0 −1.87 0 −0.23 −3  

 3 21  
 1 0 0 0 0 0   0 0  (3.1.3)
0 0 1 0 0 0 0 0

 
0 0 0 0 1 0
C=
0 0 0 0 0 1

dans lesquelles :

– les états vi et γi indiquent respectivement la vitesse et l’accélération angulaires associées


à l’angle i ( i ∈ {α, θ} ),
– et les entrées élémentaires U1 et U2 désignent des signaux de commande.
Les Fig. 3.2 représentent le schéma fonctionnel et le schéma-bloc détaillé du système.

3.1.1 Création du système


Créer le système d’état appelé G et de réalisation (A,B,C,0) dans Matlab puis dans Simulink.

3.1.2 Pôles et valeurs propres


En utilisant Matlab :

– calculer les pôles du système G,


– calculer les valeurs propres de la matrice A. Que peut-on dire sur les valeurs propres de
A et les pôles du système,
– à partir de ces valeurs, que peut-on dire sur la stabilité du système.

19
U  dX
 = AX + BU Y U1  dX
 = AX + BU
α
 dt
Y = CX + DU
U2  dt
Y = CX + DU
θ
(a)

U B X& X C Y
+
+ ∫
A
(b)

F IG . 3.2 – Schéma fonctionnel et schéma-bloc détaillé.

3.1.3 Simulation du système


– Dans Matlab, simuler la réponse indicielle, la réponse impulsionnelle et le diagramme de
Bode du système,
– dans Simulink, simuler la réponse indicielle du système.

3.2 Commande par retour d’état avec action intégrale


On s’intéresse dans cette section à la commande de l’hélicoptère pour différentes raisons :

– le stabiliser,
– obtenir de meilleures performances de suivi de consigne : erreur statique nulle, dynamique
sans oscillation, etc.
– rejeter les effets des perturbations éventuelles.

On a vu que la matrice de retour Kc permet d’améliorer la dynamique du système bouclé.


Pour annuler l’erreur statique, nous avons utilisé le préfiltre L. Dans ce sujet, nous remplacerons
ce préfiltre par une action intégrale. En effet, l’utilisation d’un préfiltre n’assure pas toujours l’er-
reur statique nulle si le modèle n’est pas parfaitement connu. Le schéma-bloc du système bouclé
utilisé est représenté par la Fig. 3.3, dans lequel Ki désigne la matrice de gain de l’intégrateur.

20
système

Yc Z& Z Ki U B X& X C Y
+-
∫ -- ++

A

Kc

F IG . 3.3 – Schéma-bloc du système bouclé.

D’après la Fig. 3.3, on a :


dX

= AX + BU
 dt
Y = CX (3.2.1)
 dZ
dt = Yc − CX
 
X
En prenant comme nouveau vecteur d’état , on obtient le nouveau modèle d’état,
Z
appelé système augmenté, suivant :

         
d X A [0] X B [0]
= + U+ Yc


 dt Z −C [0] Z [0] I
  (3.2.2)
 X
Y = C [0]


Z

Par ailleurs, toujours d’après la Fig. 3.3, on a :

U = − (Kc X + Ki Z) (3.2.3)
c’est-à-dire :
 
 X
U =− K c Ki (3.2.4)
Z

 a un modèle d’état défini par l’équa. 3.2.2 et bouclé par un gain de retour K =
Ainsi, on
Kc Ki . Les matrices du système augmenté sont :

   
A [0] B 
Aaug = Baug = Caug = C [0] (3.2.5)
−C [0] [0]

Le système bouclé aura pour représentation :

21
           
d X A [0] X B  X [0]
= − K c Ki + Yc


 dt Z −C [0] Z [0]  Z I

 X
Y = C [0]


Z

(3.2.6)
ou encore :
       
d XA − BKc −BKi X [0]
= + Yc


dt Z −C [0]  Z I

 X (3.2.7)
Y = C [0]


Z


Le but est donc de chercher le gain de retour K = Kc Ki pour obtenir de valeurs
propres convenables pour la nouvelle matrice d’état notée A, telle que :
 
A − BKc −BKi
A= (3.2.8)
−C [0]
 
d X
En ce qui concerne l’erreur statique, on peut la calculer lorsque dt = [0]. Appli-
Z
quant cette condition au système d’équa. 3.2.2, on obtient :

 (A − BKc ) X = BKi Z
CX = Yc (3.2.9)
Y = CX

Les deux dernières équations du système d’équa. 3.2.9 affirme que Y = Yc , c’est-à-dire
l’erreur statique est automatiquement nulle.

3.2.1 Commandabilité
En utilisant Matlab :

– calculer la matrice de commandabilité notée Co du système,


– déterminer le rang de la matrice Co ,
– en déduire si le système est commandable ou pas.

3.2.2 Calcul de la matrice de retour K par placement de pôles


– Créer les matrices du système augmenté Aaug , Baug et Caug avec Matlab,
– quelle est la dimension de la matrice d’état A ?
– proposer des valeurs propres pour la matrice d’état A,
– en utilisant la fonction place de Matlab, en déduire la matrice de retour K,
– en déduire la matrice de retour Kc et le gain de l’intégrateur Ki .

22
3.2.3 Simulation du système bouclé
En utilisant Simulink, simuler
  la réponse du système bouclé  pour une consigne de type
30◦
 
αc 10s
échelon égale à Yc = = ◦ appliquée à l’instant .
θc 50 30s

Remarque : si les performances du régime transitoire ne vous conviennent pas, n’hésitez pas
à modifier les valeurs propres et recalculer la matrice K.

3.3 Observateur réduit


Dans la section 2.3, nous avons utilisé un observateur pour estimer le vecteur d’état. Cet
observateur, appelé observateur de Luenberger ou observateur complet, estime l’ensemble du
vecteur X. Toutefois, si une partie de ce vecteur est déjà mesurée par le biais de la sortie Y , il
n’est pas nécessaire d’utiliser un obsrevateur complet. Dans cette partie, on s’intéresse à estimer
un observateur réduit pour estimer la partie non-mesurée de X.

Soit le système décrit par :


dX

dt = AX + BU
(3.3.1)
Y = CX
dans lequel la matrice de sortie est du type :

C= [0] I (3.3.2)
Alors, on peut partitionner le vecteur d’état X en 2 : la partie non-mesurée notée V et la
partie mesurée notée Y . On peut ré-écrire le système défini par l’équa. 3.3.1 comme suit :
       
dX d V A 11 A 12 V B 1
dt = dt = + U


Y A21 A22  Y B2

 V
 (3.3.3)
Y = [0] I


Y

D’après le modèle précédent, on a :


 dV
 dt = A11 V + A12 Y + B1 U
(3.3.4)
dY
= A21 V + A22 Y + B2 U

dt
c’est-à-dire :
dV

 dt = A11 V + (A12 Y + B1 U )
(3.3.5)
dY

− A22 Y − B2 U = A21 V

dt
cette dernière est équivalente à un modèle d’état (réduit par rapport au système d’équa. 3.3.1),
de vecteur d’état V , de sortie dYdt − A22 Y − B2 U et d’entrée (A12 Y + B1 U ) :

23
dV

 dt = A11 V + entree
(3.3.6)
sortie = A21 V

Ainsi, on peut estimer l’état V en utilisant l’observateur de Luenberger (voir section 2.3).
Comme V est une partie de X, on parle d’observateur réduit. La Fig. 3.5 présente le schéma
fonctionnel.

système

X& X C Y
U B ++

A  Vˆ 
X̂=  Y 
 

observateur V̂
réduit

F IG . 3.4 – Schéma fonctionnel du ystème avec observateur réduit.

L’observateur a pour modèle :


  
Λ
dV̂
 dt = A11 V̂ + entree + Ko sortie − sortie



(3.3.7)


 Λ
sortie = A21 V̂

c’est-à-dire :

  
dV̂ dY
= A11 V̂ + (A12 Y + B1 U ) + Ko − A22 Y − B2 U − A21 V̂ (3.3.8)
dt dt
ou encore :

 
dV̂ dY
= (A11 − Ko A21 ) V̂ + (A12 Y + B1 U ) + Ko − A22 Y − B2 U (3.3.9)
dt dt
Le gain Ko est le gain de l’observateur réduit. Cette équation nécessite la dérivation de Y ,
ce qui est un inconvénient. On se propose donc de réaliser le changement de variable suivant :

24
dZ dV̂
Z = V̂ − Ko Y ⇔ dt = dt − Ko dY
dt
(3.3.10)
En appliquant ce changement de variable dans l’équa. 3.3.9, on a :

dZ dY dY
+Ko = (A11 − Ko A21 ) (Z + Ko Y )+(A12 Y + B1 U )+Ko +Ko (−A22 Y − B2 U )
dt dt dt
(3.3.11)
Après simplification et mise en forme, on obtient le modèle suivant pour notre observateur :

dZ

 dt = (A11 − Ko A21 ) Z + ((A11 − Ko A21 ) Ko + A12 − Ko A22 ) Y + (B1 − Ko B2 ) U

V̂ = Z + Ko Y

(3.3.12)
La Fig. 3.5 donne le schéma-bloc détaillé du système avec l’observateur réduit.

système

U X& X Y
B +
+ ∫ C

A
 Vˆ 
X̂=  Y 
(A11-KoA21)Ko+A12-KoA22  
Ko

B1-KoB2 +
++
∫ ++

A11-KoA21 observateur
réduit

F IG . 3.5 – Système avec observateur réduit.

3.3.1 Création des sous-systèmes


Avec Matlab, créer les sous-matrices A11 , A12 , A21 , A22 , B1 et B2 .

3.3.2 Observabilité
Le système réduit a pour modèle le système d’équa. 3.3.6. Afin de pouvoir observer sont
état V , il est important de connaı̂tre si ce système est observable ou non.

25
En utilisant Matlab :

– calculer la matrice d’observabilité notée Ob ,


– puis, déterminer le rang de la matrice Ob ,
– en déduire si le système est observable ou pas.

3.3.3 Calcul du gain de l’observateur Ko


– Choisir des valeurs propres pour la matrice (A11 − Ko A21 ). Pour cela, vous partez des
valeurs propres de (A − BKc ) choisies dans la synthèse de la commande dans la section
précédente. Pourquoi ce choix ?
– calculer Ko avec Matlab.

3.3.4 Implémentation de l’observateur réduit et de la commande


– Implémenter sous Simulink l’observateur réduit,
– le système n’étant pas stable, implémenter également dans le même fichier la commande
synthétisée dans la section précédente,
– simuler le système avec observateur et commande. Pour cela, mettre des conditions ini-
tiales non-nulles dans le système. Essayer également de mettre des valeurs différentes
pour les paramètres A, B et C dans le système réelle (non pas dans l’observateur) afin de
simuler l’incertitude, par exemple on pourra utiliser :

   
0 1.1 0 0 0 0.02 1.2 0.8

 −1.35 0 −0.2 0 −2.3 −1  

 18.1 2  
 0 0 0 1 0 0   0.71 1.2 
A=  B= 

 −0.2 0 −1.89 0 −0.21 −3  

 3.1 20 
 1.1 0.05 0 0 0 0   0 0  (3.3.13)
0 0 1 0 0 0 0 0

 
0 0 0 0 1 0
C=
0 0 0 0 0 1

26

Vous aimerez peut-être aussi