Vous êtes sur la page 1sur 19

Mod

elisation et r
egulation
dun pendule invers
e
Freddy Mudry

Linstitut dAutomatisation industrielle (iAi) de leivd a etudie et realise un


pendule inverse pour les besoins du laboratoire de regulation automatique. Le
document qui suit presente lanalyse, la synth`ese et les resultats obtenus en
simulation et experimentalement.

Table des mati`


eres
1 Introduction

quations du syst`
2 E
eme
quations du balancier . . . . . . . . .
2.1 E
2.2 Linearisation des equations . . . . . .
quations du syst`eme dentranement
2.3 E
quations lineaires de lensemble . . .
2.4 E

.
.
.
.

2
2
2
3
5

3 Repr
esentation d
etat de lensemble
3.1 Valeurs numeriques des param`etres . . . . . . . . . . . . . . . . . . . . . . .

6
6

4 R
egulateur d
etat
4.1 Crit`eres doptimisation pour le regulateur
4.2 Gains du regulateur . . . . . . . . . . . .
4.3 Comportement temporel en boucle fermee
4.4 Regulateurs Proportionnel-Derive . . . . .
4.5 Schema fonctionnel . . . . . . . . . . . . .

6
7
8
8
9
9

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.

5 Simulation et r
esultats exp
erimentaux

6 Remerciements

11

7 Annexes
quations du pendule inverse . . . . . . . . . . . . . . . .
7.1 E
quations du balancier . . . . . . . . . . . . . . .
7.1.1 E
quation du chariot . . . . . . . . . . . . . . . . .
7.1.2 E

7.1.3 Equations de liaisons . . . . . . . . . . . . . . . .


7.1.4 Calcul des accelerations . . . . . . . . . . . . . . .
7.2 Programme de simulation et synth`ese du regulateur detat
7.3 Forme canonique des equations non lineaires . . . . . . . .

fmy / octobre 2003

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

12
12
12
12
13
13
14
17

Modelisation et Regulation dun Pendule Inverse

ii

Table des mati`eres

Modelisation et Regulation dun Pendule Inverse

fmy / octobre 2003

Mod
elisation et r
egulation
dun pendule invers
e
1 Introduction
Dans le domaine scientifique et celui de lenseignement, lautomatique a souvent recours `a
des cas detudes particuliers, qui sont representatifs de grandes classes dapplications, et
dont le caract`ere spectaculaire est confirme. De plus, avec lexperience, la connaissance de
ces cas sest affinee et ils fournissent aujourdhui une base ideale pour comparer de facon
valable les avantages et les inconvenients dapproches differentes. Le pendule inverse est
un de ces cas-types.

Fig. 1: Vue densemble du pendule inverse de leivd


Depuis plusieurs annees, le laboratoire dautomatique de leivd developpe des experiences
`a vocation didactique sur le th`eme de la regulation : bille se deplacant sur une r`egle
inclinable, reglage de laltitude dune sph`ere par un flux dair variable, sustentation magnetique, pendule inverse.
Dans le cas de ce dernier, cest une version mediane en terme de complexite qui est
presentee ici : le pendule tourne librement autour dun axe horizontal solidaire dun
chariot se deplacant sur un rail. La longueur du pendule est de 40 cm et celle du rail de
153 cm.
La solution adoptee passe par une regulation en temps reel sous Windows NT. Lalgorithme implemente un syst`eme de regulation multivariables, dimensionne selon la theorie
des mod`eles detat.

fmy / octobre 2003

Modelisation et Regulation dun Pendule Inverse

QUATIONS DU SYSTE
` ME
2 E

quations du syst`
2 E
eme
quations du balancier
2.1 E
Les variables et param`etres utilises sont presentes dans le tableau 1 et illustres par la
figure 2.
Partant des lois de la dynamique, on montre aisement (voir section 7.1) que lensemble
chariot-balancier est regi par les equations suivantes :
(t)
=

x
(t) =

3g
fb
3
sin((t))
(t)
+
x
(t) cos((t))
2Lb
4Jb
2Lb


F (t)
fcc
mb Lb /2 

x(t)
+
(t)
cos((t)) 2 (t) sin((t))
mcc + mb mcc + mb
mcc + mb

(1)

(2)

mg



  

Fig. 2: Pendule inverse

2.2 Lin
earisation des
equations
Considerant que langle (t) reste petit par rapport `a 1 radian et que les termes nonlineaires peuvent etre negliges, on obtient le mod`ele lineaire suivant :
(t)
=

x
(t) =

3g
fb
3
(t)
(t)
+
x
(t)
2Lb
4Jb
2Lb

(3)

fcc
mb Lb /2
1
x(t)
+
(t)
+
F (t)
mcc + mb
mcc + mb
mcc + mb

Modelisation et Regulation dun Pendule Inverse

(4)

fmy / octobre 2003

QUATIONS DU SYSTE
` ME
E
Param`etres
Lb
mb
mch
mcr
mcc
Jb
fb
fcc
(t)
x(t)
F (t)

Unites
m
kg
kg
kg
kg
kg m2
N m/(rad/sec)
N/(m/sec)
rad
m
N

Description
longueur du balancier
masse du balancier
masse du chariot
masse de la courroie
masse du chariot et de la courroie
inertie du balancier par rapport `a son c.d.g.
frottement du balancier
frottement du chariot-courroie
position angulaire du balancier
position longitudinale du chariot
force appliquee au chariot

Tab. 1: Variables et param`etres du pendule inverse

quations du syst`
2.3 E
eme dentranement
Le syst`eme dentranement comprend un moteur `a courant continu, son amplificateur,
deux poulies (P1 , P2 ) formant le reducteur et deux poulies de renvoi de la courroie
(P3 , P4 ).



 



 




 



Fig. 3: Syst`eme dentranement


Les variables et param`etres utilises par la suite sont presentes dans le tableau 2 et illustres
par la figure 3. Une photographie du syst`eme dentranement est donnee `a la figure 4.
Lequation du mouvement de rotation du moteur secrit :
J0 m (t) =

Ck (t) = Ka Km u(t)

r3
F (t)
N

(5)

avec

fmy / octobre 2003

Modelisation et Regulation dun Pendule Inverse

QUATIONS DU SYSTE
` ME
2 E

Fig. 4: Vue detaillee de lentranement : moteur, reducteur `a courroie et chariot

Param`etres
m
k
rk
Ka
Km
N
Jm
Jk
J0
u(t)

Unites
rad/sec
rad/sec
m
A/V
N m/A

kg m2
kg m2
kg m2
V

Description
vitesse de rotation du moteur
vitesse de rotation des poulies Pk
rayon des poulies Pk
gain de lamplificateur
constante de couple
rapport de reduction r2 /r1
inertie du moteur
inertie des poulies Pk
inertie totale rapportee au moteur
tension fournie par le regulateur

Tab. 2: Variables et param`etres de lentranement

Modelisation et Regulation dun Pendule Inverse

fmy / octobre 2003

QUATIONS DU SYSTE
` ME
E

J0 = Jm + J1 +

J2 + J3 + J4
N2

(6)

Comme les accelerations longitudinale du chariot et angulaire du moteur sont reliees entre
elles par lequation suivante :
m (t) = N 3 (t) =

N
x
(t)
r3

(7)

on peut calculer la force F (t) appliquee au chariot par lintermediaire de la tension de


commande u(t) :
F (t) =

N K a Km
N 2 J0
x
(t) +
u(t)
2
r3
r3

(8)

quations lin
2.4 E
eaires de lensemble
Les equations lineaires (3), (4) et (8) decrivant lensemble du syst`eme sont reunies cidessous dans une ecriture allegee :
(t)

= +0 (t) 1 (t)
+ 2 x
(t)

(9)

x
(t) = 1 x(t)
+ 2 (t)
+ 3 F (t)

(10)

F (t) = 1 x
(t) + 2 u(t)

(11)

avec :
0 =
1 =

3g
2Lb

fcc
mcc +mb

1 =

N 2 J0
r32

1 =
2 =

fb
4Jb

mb Lb
2(mcc +mb )

2 =

2 =
3 =

3
2Lb

1
mcc +mb

N Ka Km
r3

La resolution de ce syst`eme differentiel permet decrire les accelerations (t)

et x
(t) par
rapport aux autres variables. On obtient ainsi la forme canonique du syst`eme differentiel :
(t)

= a21 (t) + a22 (t)


+ a24 x(t)
+ b2 u(t)

(12)

x
(t) = a41 (t) + a42 (t)
+ a44 x(t)
+ b4 u(t)

(13)

avec
a21 =

0 (1+3 1 )
12 2 +3 1

a22 =

1 (1+3 1 )
12 2 +3 1

a24 =

2 1
12 2 +3 1

a41 =

0 2
12 2 +3 1

a42 =

1 2
12 2 +3 1

a44 =

1
12 2 +3 1

b2 =

fmy / octobre 2003

2 3 2
12 2 +3 1

b4 =

3 2
12 2 +3 1

Modelisation et Regulation dun Pendule Inverse

GULATEUR DE
TAT
RE

3 Repr
esentation d
etat de lensemble
Le syst`eme considere ici peut etre decrit par quatre variables detat qui sont les positions
et vitesses du balancier et celles du chariot. Definisssant le vecteur detat et sa derivee :

X(t) =

(t)
(t)

x(t)
x(t)

X(t)
=

(t)

(t)

x(t)

x
(t)

(14)

on obtient la description detat suivante :

X(t)
= A X(t) + B u(t)
avec :

A=

0
1
a21 a22
0
0
a41 a42

0 0
0 a24
0 1
0 a44

(15)

B=

0
b2
0
b4

(16)

et les coefficients ajk et bj tels quils ont ete definis dans la section 2.4.

3.1 Valeurs num


eriques des param`
etres
Les param`etres du pendule inverse de leivd ont ete mesures, calcules ou determines
experimentalement. Leurs valeurs sont donnees dans le tableau 3. Prenant en compte
ces valeurs, lensemble du syst`eme entranement-chariot-balancier est alors decrit par la
representation detat suivante :

(t)

(t)

x(t)

x
(t)

0
1
0
0
40.4 0.217 0 1.54
0
0
0
1
0.959 0.005 0 0.411

(t)
(t)

x(t)
x(t)

0
50.0
0
13.3

u(t)

(17)

4 R
egulateur d
etat
Le regulateur detat est un regulateur lineaire fournissant un signal de commande u(t)
proportionnel a` chacune des 4 variables detat decrivant le syst`eme :

u(t) = K X =

K K Kx Kx

(t)
(t)

x(t)
x(t)

(18)

Le vecteur-ligne K contient les gains associes `a chaque variable detat. Dun point de
vue classique, on constate que ce regulateur detat est en fait un double regulateur
proportionnel-derive utilise pour regler linclinaison du pendule avec (t) et (t)

et regler
la position du chariot `a laide de x(t) et x(t).

Modelisation et Regulation dun Pendule Inverse

fmy / octobre 2003

GULATEUR DE
TAT
RE

Balancier

Chariot-Courroie

Poulies

mb = 0.095 [kg]

mch = 0.195 [kg]

r1 = 0.008 [m]

Lb = 0.40 [m]

mcr = 0.045 [kg]

r2 = 0.040 [m]

Km = 0.0525

Jb = 1.30 103 [kg m2 ]

mcc = 0.240 [kg]

r3 = 0.027 [m]

N =5

r4 = 0.027 [m]

J0 = 1.36 105 [kg m2 ]

fb = 103

Nm
rad/sec

fcc = 0.3

N
m/sec

Entranement
Ka = 1

h i
A
V

Nm
A

Tab. 3: Valeurs numeriques pour le pendule de leivd

4.1 Crit`
eres doptimisation pour le r
egulateur
La synth`ese du regulateur se fait en minimisant les ecarts quadratiques de langle et de
la position longitudinale ainsi que lenergie mise en jeu pour deplacer lensemble chariotbalancier. Ceci nous conduit `a definir des coefficients de ponderation pour chacune des
positions et vitesses et pour le signal de commande.
La fonction a` minimiser est alors la suivante :


J(Q, R) =

X t (t) Q X(t) + R u2 (t) dt

(19)

avec

Q=

Q 0
0
0
0 Q 0
0
0
0 Qx 0
0
0
0 Qx

(20)

Pour fixer les coefficients de ponderation, on a adopte les crit`eres suivants :


1. lamplitude du debattement angulaire nest pas tr`es importante,
2. le deplacement du chariot sur le rail doit etre limite,
3. on ne se preoccupe pas de limiter les vitesses atteintes,
4. le signal de commande u(t) ne doit pas etre trop grand.
Fort de ces considerations, on a choisi les ponderations suivantes :

Q=

fmy / octobre 2003

1
0
0
0

0
0
0
0

0
0
5
0

0
0
0
0

R=1

(21)

Modelisation et Regulation dun Pendule Inverse

GULATEUR DE
TAT
RE

4.2 Gains du r
egulateur
Lutilisation de lalgorithme LQR (Linear-Quadratic-Regulator) pour la recherche des
gains optimums est dune grande efficacite. Une fois les coefficients de ponderation Q et
R fixes, on obtient les gains du regulateur detat :
K = 4.98 [V /rad]
K = 0.78 [V /(rad/sec)]
Kx = +2.24 [V /m]
Kx = +1.41 [V /(m/sec)]
On remarque immediatement les signes differents appliques aux variables angulaires et
longitudinales. On voit ainsi que le regulateur detat obtenu introduit une reaction negative sur (t) et (t)

et une reaction positive sur x(t) et x(t).

Il est interessant de relever que cest la boucle dasservissement angulaire qui stabilise le
syst`eme alors que la boucle dasservissement du chariot seul est instable.

4.3 Comportement temporel en boucle ferm


ee
Lanalyse du syst`eme asservi se fait en introduisant le signal de commande (equ. 18) dans
la description detat (equ. 15). On obtient alors :

X(t)
= A X(t) + B u(t) = A X(t) B K X(t)
Letat du syst`eme boucle est donc decrit par

X(t)
= (A B K) X(t)

(22)

On y trouve une nouvelle matrice detat


Abf = A B K

(23)

qui decrit le syst`eme boucle. Tenant compte des valeurs numeriques, cette matrice vaut

Abf =

0
1
0
0
220 39.7 112 70.9

0
0
0
1
68.5 10.4 29.8 18.9

Les valeurs propres de la matrice Abf representent les poles du syst`eme asservi qui valent :
p1,2 = 6.99 j3.71
p3,4 = 3.41 j2.43
On sait qu`a chaque paire de poles complexes conjugues sont associes une constante de
temps , une pulsation doscillation p et un coefficient damortissement definis comme
suit :


Re (p )
1

k.l
pk,l = jp ,
=
(24)

pk,l

Dans notre cas, cela conduit `a des coefficients damortissement de 0.88 et 0.81 et des
constantes de temps valant 0.14 et 0.29 secondes. On peut donc sattendre `a un regime
transitoire denviron 1.5 seconde.

Modelisation et Regulation dun Pendule Inverse

fmy / octobre 2003

SULTATS EXPE
RIMENTAUX
SIMULATION ET RE

4.4 R
egulateurs Proportionnel-D
eriv
e
Comme on la dit plus haut, les gains du regulateur detat correspondent `a des regulateurs
de type proportionnel-derive pour les positions angulaire et longitudinale. Le signal de
commande u(t) peut donc etre considere comme la somme de 2 termes correspondant
chacun aux boucles dasservissement angulaire et longitudinale :
u(t) = u (t) + ux (t)

(25)

u (t) = K ((t) w (t)) + K (t)

(26)

ux (t) = Kx (x(t) wx (t)) + Kx x(t)

(27)

avec

o`
u w (t) et wx (t) sont les consignes de positions angulaire et longitudinale.
Du point de vue de la structure des regulateurs PD classiques, ces deux equations
secrivent :


de (t)
u (t) = Kp e (t) + Td
(28)
dt


dex (t)
ux (t) = Kpx ex (t) + Tdx
(29)
dt
avec
e (t) = w (t) (t)

ex (t) = wx (t) x(t)

(30)

On voit ainsi que les gains du regulateur detat et les param`etres des regulateurs PD
sont relies entre eux :
K
(31)
Kp = K
Td =
K
Kpx = Kx

Tdx =

Kx
Kx

(32)

Tenant compte des valeurs numeriques, on a finalement :


Kp = +4.98 [V /rad]

Td = 0.156 [sec]

Kpx = 2.24 [V /m]

Tdx = 0.631 [sec]

4.5 Sch
ema fonctionnel
Le schema fonctionnel correspondant `a la description que nous venons de voir est donne
a` la figure 5.

5 Simulation et r
esultats exp
erimentaux
Un pendule inverse correspondant `a la description presentee plus haut a ete realise `a
cole dIngenieurs du Canton de Vaud. Les
lInstitut dAutomatisation Industrielle de lE
essais effectues ont conduit aux resultats presentes dans la figure 6.
Les leg`eres differences entre les resultats theoriques et experimentaux sont vraisemblablement dues `a leffet des frottements secs qui nont pas ete pris en compte dans la
modelisation.

fmy / octobre 2003

Modelisation et Regulation dun Pendule Inverse

10

Pendule invers

wx

Rx

SULTATS EXPE
RIMENTAUX
SIMULATION ET RE

Ampli

Moteur

Balancier
Chariot

ux

Fig. 5: Schema fonctionnel pour la regulation classique

Rsultats thoriques () et exprimentaux ()

phi(t)

1
0.5
0
0.5

0.5

1.5

2.5

0.5

1.5

2.5

0.5

1.5

2.5

0.5

1.5

2.5

0.2
x(t)

0
0.2
0.4

v(t)

2
0
2

u(t)

4
2
0
2

temps [sec]

Fig. 6: Resultats de simulation et experimentaux

Modelisation et Regulation dun Pendule Inverse

fmy / octobre 2003

REMERCIEMENTS

11

6 Remerciements
Ce projet a ete realise `a la demande de M. Christian Kunze, directeur de leivd que je
remercie tout particuli`erement.
M. Yann Stragiotti, etudiant sous la supervision du professeur Pierre Dumusc, a consacre
une partie de son projet de semestre `a la conception mecanique du pendule inverse.
La construction mecanique a ete menee `a bien par MM. Roland David, mecanicien, et
Robert Bovat, chef technique.
Enfin M. Steve Bezenccon, ingenieur HES, sest occupe de la conception et realisation de
linterface electronique avec le PC ainsi que de toute la programmation temps reel sous
Windows NT.

fmy / octobre 2003

Modelisation et Regulation dun Pendule Inverse

12

ANNEXES

7 Annexes
quations du pendule invers
7.1 E
e
Pour decrire le pendule inverse, il faut decomposer le corps en 2 parties (I) et (II) pour
lesquelles on ecrira les equations de la dynamique dun corps solide. Cette decomposition
est illustree par la figure 7.

(I)
mg

mg

Fy
Fx

X
Fx

(II)
F(t)

Fy

F(t)

x(t)

Fig. 7: Analyse mecanique du pendule inverse


Afin dalleger lecriture, on utilisera les variables suivantes : m pour la masse du balancier,
M pour la masse du chariot, L = Lb /2 pour la demi-longueur du balancier.
quations du balancier
7.1.1 E
Comme le balancier tourne autour dun axe qui nest pas fixe, il faut decrire son mouvement par rapport `a son centre de gravite G :
mx
G = Fx

(33)

m yG = Fy mg

(34)

Jb (t)
= +L cos() Fx + L sin() Fy

(35)

avec
Jb = m

L2b
L2
=m
12
3

quation du chariot
7.1.2 E
Le deplacement du chariot etant limite `a laxe horizontal, on a simplement :
Mx
= F (t) Fx

Modelisation et Regulation dun Pendule Inverse

(36)

fmy / octobre 2003

ANNEXES

13

quations de liaisons
7.1.3 E
Les coordonnees du centre de gravite du balancier sont :
xG = x L sin(),

yG = L cos()

do`
u:
x G = x L cos(),

y G = L sin()

x
G = x
L cos() + L 2 sin()

(37)

yG = L sin() L 2 cos()

(38)

7.1.4 Calcul des acc


el
erations
On a ainsi un ensemble de 6 equations `a 6 inconnues qui sont Fx , Fy , ,
x
, yG , x
G . Portant
lequation (37) dans (33), il vient :
Fx = m x
m L cos + m L 2 sin

(39)

Portant lequation (38) dans (34), il vient :


Fy = mg m L sin m L 2 cos

(40)

Remplacant Fx et Fy dans lequation (35), on a :




Jb = +L cos m x
m L cos + m L 2 sin +L sin mg m L sin m L 2 cos

Regroupant les termes similaires, il vient :




Jb + mL2 cos2 + mL2 sin2 = +mL (


x cos + g sin )+m L2 2 (sin cos sin cos )

mL2
+ mL2
3
= +

do`
u:
(t)
=+

= +mL (
x cos + g sin )

3
(
x cos + g sin )
4L

3
3g
sin (t) +
x
(t) cos (t)
2Lb
2Lb

(41)

Enfin, portant lequation (39) dans (36), il vient :


Mx
= F (t) m x
+ m L cos m L 2 sin
(M + m) x
= F (t) + m L cos m L 2 sin
do`
u:
x
(t) =


F (t)
mLb /2 
+
(t)
cos (t) (t)
2 sin (t)
M +m M +m

(42)

On notera que dans ce calcul, les frottements nont pas ete pris en compte.

fmy / octobre 2003

Modelisation et Regulation dun Pendule Inverse

14

ANNEXES

7.2 Programme de simulation et synth`


ese du r
egulateur d
etat
% Pendule invers
e: analyse et synth`
ese
% fmy / f
evrier 1999
echo off; clear all; close all;
format compact; format short;
% Constantes
g
= 9.81;
alu
= 2700.0;
acier = 7700.0;

% masse specifique [kg/m^3]


% masse specifique [kg/m^3]

% Parametres pour le pendule inverse :


% chariot et courroie
mch
= 0.195
mcr
= 0.045
frtc = 0.3

% masse du chariot [kg]


% masse de la courroie [kg]
% frottement longitudinal [N / ms^-1]

% balancier et courroie
Lb
= 0.4 , rayon = 5e-3
mb
= 0.095
Jb
= mb * Lb^2 / 12
frtb = 0.001
mtot = mb + mch + mcr
% Poulies
epais
Jp1
epais
Jp2
epais
Jp3
Jp4

%
%
%
%
%

dentrainement
= 10e-3; r1 = 10e-3;
= alu*epais*pi/2*r1^4;
= 10e-3; r2 = 40e-3;
= alu*epais*pi/2*r2^4;
= 10e-3; r3 = 27e-3;
= alu*epais*pi/2*r3^4;
= Jp3;

% Parametres de lentrainement
Nred = 5
Jmot = 70e-3*1e-4
Kmot = 0.0525
Kamp = 1.0
Jtot = Jmot+Jp1+(Jp2+Jp3+Jp4)/Nred^2
% capteurs
Kphi = 20/60*360/2/pi;
Kx
= 20/1.5;

balancier [m]
masse du balancier [kg]
inertie du balancier p.r. au cdg
frottement angulaire [Nm / rads-^1]
masse totale

% 1ere poulie
% Jpoulie = rho*(e*pi*R^2)*R^2/2
% 2eme poulie}
% 3eme poulie
% 4eme poulie

%
%
%
%

rapport de reduction
inertie du moteur [kg*m^2]
cte de couple [Nm / A]
gain de lampli. [A / V]

% capteur angulaire 20V/60deg


% capteur longitudinal 20V / 1.5m

% Variables intermediaires
a0 = 3*g / (2*Lb);
b1 = frtc / mtot;
c1 = Jtot *(Nred/r3)^2;

a1 = frtb /4/Jb;
a2 = 3 /(2*Lb);
b2 = mb*Lb / (2*mtot);
b3 = 1 / mtot;
c2 = Nred*Kamp*Kmot / r3;

% Matrice
den =
a21 =
a41 =
b20 =

a22 = -a1*(1+b3*c1)/den;
a42 = -a1*b2/den;
b40 = b3*c2/den;

%
%
%
%
%

detat
1 - a2*b2 + b3*c1;
a0*(1+b3*c1)/den;
a0*b2/den;
a2*b3*c2/den;

a24 = -a2*b1/den;
a44 = -b1/den;

Description du pendule inverse :


Vecteur detat
: Xs = [phi phid x xd]; => Xs(4,1)
vecteur des sorties : y = [phi x];
vecteur des consignes: Xr = [1 0 1 0];
Xsd =
A Xs + B u
avec A(4,4),
B(4,1), u(1,1)

Modelisation et Regulation dun Pendule Inverse

fmy / octobre 2003

ANNEXES

%
%

y
u

15

=
C Xs +
= - Kreg Xs

= [0
1
0
a21 a22 0
0
0
0
a41 a42 0
B = [0
b20 0
C = [1 0 0 0
0 0 1 0];
D = [0 0];
Xr = [1 0 1 0];

D u
+ N Xr

0
a24
1
a44]
b40]

y(2,1),
C(2,4),
Kreg(1,4), N(1,4),

D(2,1)
Xr(4,1)

% matrice detat
% matrice de commande
% matrice de sortie
% vecteur de consigne

% Poles en boucle ouverte:


pk = eig (A);
% Calcul du regulateur detat Kreg
% tel que: J = S [XsQXs + uRu]dt => minimum :
Qphi = 1; Qx = 5; R = 1;
Q = [Qphi 0 0 0
0 0 0 0
0 0 Qx 0
0 0 0 0];
Kreg = lqr(A, B, Q, R)
% Regulateurs PD
Kpa = -Kreg(1); Tda
Kpx = -Kreg(3); Tdx
RegA = Kpa * tf([Tda
RegX = Kpx * tf([Tdx

= Kreg(2) / Kreg(1);
= Kreg(4) / Kreg(3);
1], [0.1*Tda 1]);
1], [0.1*Tdx 1]);

% Modele detat en boucle fermee :


N = Kreg;
Af = A - B * Kreg;
Bf = B * N;
Cf = C - D * Kreg;
Df = D * N;
pkf = eig(Af)
sysbf = ss (Af,Bf,Cf,Df);
% Reponse statique:
Xstat = - inv(Af) * Bf * Xr;
% Informations:
Qphi, Qx, R
Kpa, Tda
Kpx, Tdx
Ttrans = -5 ./ real(pkf)
Tper
= 2*pi ./ abs(imag(pkf))
damp (sysbf)

% Poles en boucle fermee

%
%
%
%
%
%

parametres pour la synthese LQR


parametres du regulateur angulaire
parametres du regulateur longitudinal
duree du regime transitoire
periodes doscillations
amortissement et pulsations propres

% Calcul et tracage de la reponse temporelle


tmax = 5;
dt = tmax / 250;
t = 0:dt:tmax;
Xs0 = [pi/6 0 0 0];
[yf, xf] = initial (Af, Bf, Cf, Df, Xs0, t);
ut = Kreg * xf;
% signal de commande
a4 = [a41 a42 0 a44];
% vecteur pour lacceleration xdd
xdd = a4 * xf + b40 * ut;
% acceleration longitudinale
phi = xf(:,1); phid = xf(:,2);
% extraction des variables d
etat
xt = xf(:,3); xd
= xf(:,4);
figure (1);
subplot (4,1,1); plot (t, phi); ylabel(phi(t) [rad]); grid

fmy / octobre 2003

Modelisation et Regulation dun Pendule Inverse

16

ANNEXES

texte = [ Qa = , num2str(Qphi,2)];
texte = [texte, Qx = , num2str(Qx,2), R = , num2str(R,2)];
title ([Evolution du pendule invers
e, texte]);
axis ([0 5 -0.5 1]);
text (4.3, 0.7, [Kpa = num2str(Kpa, 3)]);
text (4.3, 0.2, [Tda = num2str(Tda, 3)]);
subplot (4,1,2); plot (t, xt ); ylabel(x(t) [m]); grid
axis ([0 5 -0.6 0.2]);
text (4.3,-0.1, [Kpx = num2str(Kpx, 3)]);
text (4.3,-0.3, [Tdx = num2str(Tdx, 3)]);
subplot (4,1,3); plot (t, xd); ylabel(v(t) [m/sec]); grid
axis ([0 5 -3 2]);
subplot (4,1,4); plot (t, ut ); ylabel(u(t) [V]);
axis ([0 5 -2 5]);
xlabel (temps [sec]); grid

Modelisation et Regulation dun Pendule Inverse

fmy / octobre 2003

ANNEXES

17

7.3 Forme canonique des


equations non lin
eaires
Afin de pouvoir simuler le comportement du pendule dans tout son domaine de fonctionnement, il est necessaire decrire les equations differentielles non lineaires sous la forme
canonique representee par un ensemble dequations differentielles dordre 1. Celles-ci pourront alors etre resolues par integration numerique.
Nous avons vu que lensemble moteur-chariot-balancier est decrit par les 3 equations non
lineaires suivantes :
(t)
=

x
(t) =

3g
fb
3
sin((t))
(t)
+
x
(t) cos((t))
2Lb
4Jb
2Lb


mb Lb /2 
1
fcc
x(t)
+
(t)
cos((t)) 2 (t) sin((t)) +
F (t)
mcc + mb
mcc + mb
mcc + mb

F (t) =

N 2 J0
N K a Km
x
(t) +
u(t)
r3
r32

Definissant les nouvelles variables :

mt = mb + mcc
a1 (t) =

3g
2Lb

b1 (t) =

fcc

mt x(t)

c1 =

sin (t)

N 2 J0
r3

Lm =

Lb mb
2 mt

a2 (t) =

3
2Lb

cos (t)

b2 (t) = Lm cos (t)


c2 (t) =

N Ka Km
r3

a3 (t) =

fb

4Jb (t)

b3 (t) = Lm 2 (t) sin (t)

b4 =

1
mt

u(t)

on peut ecrire les equations non lineaires sous une forme allegee :
(t)
= a1 (t) a2 (t) + a3 (t) x
(t)
x
(t) = b1 (t) + b2 (t) (t)
b3 (t) + b4 F (t)
F (t) = c1 x
(t) + c2 b3 (t)
La resolution de ces 3 equations par rapport aux 3 inconnues (t),

x
(t), F (t) donne :
(t)

=
x
(t) =
F (t) =

1
(a1 (t) a2 (t) a3 (t) (b1 (t) + b3 (t)) + b4 c1 (t) (a1 (t) a2 (t)) a3 (t)b4 c2 (t))
D(t)
1
(b1 (t) + b3 (t) + b2 (t) (a1 (t) + a2 (t)) b4 c2 (t))
D(t)
1
(c1 (b1 (t) + b3 (t) + b2 (t) (a1 (t) + a2 (t))) + c2 (t) (1 a3 (t)b2 (t)))
D(t)

avec :
D(t) = 1 a3 (t)b2 (t) + b4 c1

fmy / octobre 2003

Modelisation et Regulation dun Pendule Inverse

Vous aimerez peut-être aussi