Académique Documents
Professionnel Documents
Culture Documents
Cours 3
Cours 3
𝑥̇ 1 (𝑡) = 𝑥2 (𝑡)
{ 1 𝑘𝑓 𝑔
𝑆𝑁𝐿 ∶ 𝑥̇ 2 (𝑡) = 𝑢(𝑡) − 𝑥2 (𝑡) − 𝑠𝑖𝑛(𝑥1 (𝑡))
𝑚 𝑟2 𝑚 𝑟2 𝑟
{ 𝑦(𝑡) = 𝑥1 (𝑡) Fig. 1 – Un pondue simple
Ou :
𝑦(𝑡) = 𝜃(𝑡) ; 𝑢(𝑡) = 𝐶𝑚 (𝑡) ; 𝑥(𝑡) = [𝑥1 (𝑡) 𝑥2 (𝑡)]𝑇 = [𝜃(𝑡) 𝜃̇(𝑡)]𝑇 ;
1
II. Commande par retour d’état :
a) Equation de placement de pôles
Loi de commande
Pour 𝑢(𝑡) = 𝑦𝑐 (𝑡) − 𝐾𝑐 𝑥(𝑡)
Le système bouclé
𝑥̇ (𝑡) = (𝐴 − 𝐵𝐾𝑐 ) 𝑥(𝑡) + 𝐵𝑦𝑐 (𝑡) 𝒙̇ (𝒕) = 𝑨𝒃𝒇 𝒙(𝒕) + 𝑩𝒃𝒇 𝒚𝒄 (𝒕)
{ ⟹ 𝑺𝒚𝒔𝒃𝒇 = {
𝑦(𝑡) = 𝐶 𝑥(𝑡) 𝒚(𝒕) = 𝑪𝒃𝒇 𝒙(𝒕)
Avec :
𝑨𝒃𝒇 = (𝑨 − 𝑩𝑲𝒄 ); 𝑩𝒃𝒇 = 𝑩; 𝑪𝒃𝒇 = 𝑪
Il est légitime de vouloir choisir la matrice de régulation 𝐾𝑐 de façon à imposer les pôles du système bouclé.
Ce problème est équivalent à imposer le polynôme caractéristique du système. Soit 𝑃𝑐𝑜𝑚 (𝑠) le polynôme désiré,
que l’on supposera bien sûr de degré 𝑛. Il nous faut résoudre l’équation polynomiale
Cherchons 𝐾𝑐 de façon à ce que ce polynôme caractéristique 𝑃𝑐𝑜𝑚 (𝑠) du système en boucle fermée
ait pour racines −2.1991 + 2.2435 𝑖, −2.1991 − 2.2435 𝑖, c’est-à-dire,
𝑃𝑐𝑜𝑚 (𝑠) = (𝑠 + 2.1991 − 2.2435 𝑖)(𝑠 + 2.1991 + 2.2435 𝑖)
𝑃𝑐𝑜𝑚 (𝑠) = 𝑠 2 + 4.3982 𝑠 + 9.8692
2
𝑠 0 0 1 0 𝑠 −1
det (( ) − (( ) − ( ) ( 𝑘1 𝑘2 ))) = det ( ) = 𝑃𝑐𝑜𝑚 (𝑠)
0 𝑠 −9.81 −0.4 4 9.81 + 4𝑘1 𝑠 + 0.4 + 4𝑘2
𝑠 −1
det ( ) = 𝑃𝑐𝑜𝑚 (𝑠) ⟹ 𝑠 2 + (0.4 + 4𝑘2 ) 𝑠 + 9.81 + 4𝑘1 = 𝑠 2 + 4.3982 𝑠 + 9.8692
9.81 + 4𝑘1 𝑠 + 0.4 + 4𝑘2
Par identification :
0.4 + 4𝑘2 = 4.3982 𝑘1 = 0.0148
{ ⟹ {
9.81 + 4𝑘1 = 9.8692 𝑘2 = 0.9995
Nous aurions obtenir directement ce résultat en utilisant l’instruction place (pole placement) de MatLab en
tapant
clc
clear all
close all
Co=ctrb(A,B);
% Le rang de la matrice Co
r=rank(Co); n=size(A);
if r == n
disp('Le système est comondable')
else
disp('Le système est non comondable')
end
Wn=2*pi/2;
Z=0.7;
[N2,D2]=ord2(Wn,Z);
sys2=tf(N2,D2);
%step(sys2);grid
K2=dcgain(sys2);
sys2=sys2/K2;
%step(sys2);grid
P2=pole(sys2);
3
% La matrice de retour Kc
Kc=place(A,B,P2)
Abf=(A-B*Kc);
[Nbf,Dbf]=ss2tf(Abf,B,C,D);
sys_bf=tf(Nbf,Dbf);
c) Simulation :
4
III. Commande par retour d’état avec action intégrale
On s’intéresse dans cette section à la commande d’un pondue simple 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 𝐾𝑐 permet d’améliorer la dynamique du système bouclé. Pour annuler l’erreur
statique, nous avons utilisé une action intégrale. Le schéma-bloc du système bouclé utilisé est représenté par la
Fig.3, dans lequel 𝐾𝑖 désigne la matrice de gain de l’intégrateur.
D’après la Fig.3, on a :
𝑥̇ (𝑡) = 𝐴 𝑥(𝑡) + 𝐵 𝑢(𝑡)
{ 𝑧̇ (𝑡) = 𝑦𝑐 (𝑡) − 𝐶 𝑥(𝑡) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (03)
𝑦(𝑡) = 𝐶 𝑥(𝑡)
En prenant comme nouveau vecteur d’état [𝑥(𝑡) 𝑧(𝑡)]𝑇 , on obtient le nouveau modèle d’état, appelé système
augmenté, suivant :
𝑥̇ (𝑡) 𝐴 [0] 𝑥(𝑡) 𝐵 [0]
( )=( )( ) + ( ) 𝑢(𝑡) + ( ) 𝑦𝑐 (𝑡)
𝑧̇ (𝑡) −𝐶 [0] 𝑧(𝑡) [0] 𝐼
{
𝑥(𝑡) . . . . . . . . . . . . . . . . . . . . . . (04)
𝑦(𝑡) = (𝐶 [0]) ( )
𝑧(𝑡)
Par ailleurs, toujours d’après la Fig.3, on a : 𝑢(𝑡) = −(𝐾𝑐 𝑥(𝑡) + 𝐾𝑖 𝑧(𝑡)) . . . . . . . . . . . . . . (05)
C’est-a-dire :
𝑥(𝑡)
𝑢(𝑡) = −(𝐾𝑐 𝐾𝑖 ) ( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (06)
𝑧(𝑡)
Ainsi, on a un modèle d’état défini par l’équa.4 et bouclé par un gain de retour 𝐾 = (𝐾𝑐 𝐾𝑖 ). Les matrices
du système augmenté sont :
𝐴 [0] 𝐵
𝐴𝑎𝑢𝑔 = ( ); 𝐵𝑎𝑢𝑔 = ([0]) ; 𝐶𝑎𝑢𝑔 = (𝐶 [0]) . . . . . . . . . . . . . . . . . . . . . . (07)
−𝐶 [0]
5
Ou encore :
𝑥̇ (𝑡) 𝐴 − 𝐵 𝐾𝑐 −𝐵 𝐾𝑖 𝑥(𝑡) [0]
( )=( )( ) + ( ) 𝑦𝑐 (𝑡)
𝑧̇ (𝑡) −𝐶 [0] 𝑧(𝑡) 𝐼
{ . . . . . . . . . . . . . . . . . . . . . . . . . . . (09)
𝑥(𝑡)
𝑦(𝑡) = ( −𝐶 [0] ) ( )
𝑧(𝑡)
Le but est donc de chercher le gain de retour 𝐾 = (𝐾𝑐 𝐾𝑖 ) pour obtenir de valeurs propres convenables pour la
nouvelle matrice d’état notée 𝐴𝑏𝑓 , telle que :
𝐴 − 𝐵 𝐾𝑐 −𝐵 𝐾𝑖 . . . . . . . . . . . . . . . . . . . . . . . . . . . (10)
𝐴𝑏𝑓 = ( )
−𝐶 [0]
En ce qui concerne l’erreur statique, on peut la calculer lorsque (𝑥̇ (𝑡) 𝑧̇ (𝑡))𝑇 = [0]. Appliquant cette
condition au système d’équa.4, on obtient :
(𝐴 − 𝐵𝐾𝑐 ) 𝑥(𝑡) = 𝐵 𝐾𝑖 𝑧(𝑡)
{ 𝐶 𝑥(𝑡) = 𝑦𝑐 (𝑡) . . . . . . . . . . . . . . . . . . . . . . . . . . . (11)
𝑦(𝑡) = 𝐶 𝑥(𝑡)
Les deux dernières équations du système d’équa.11 affirme que 𝑦(𝑡) = 𝑦𝑐 (𝑡), c’est-à-dire l’erreur statique est
automatiquement nulle.