Vous êtes sur la page 1sur 21

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/251012911

Commande d'un pendule inversé 3D par asservissement visuel

Article  in  Journal Européen des Systèmes Automatisés · October 2009


DOI: 10.3166/jesa.43.197-216

CITATIONS READS

2 325

4 authors:

Haoping Wang Christian Vasseur


Nanjing University of Science and Technology Université de Lille
131 PUBLICATIONS   692 CITATIONS    130 PUBLICATIONS   1,034 CITATIONS   

SEE PROFILE SEE PROFILE

Vladan Koncar Afzal Chamroo


Ecole National Supérieure des Arts et Industries Textiles Université de Poitiers
241 PUBLICATIONS   1,800 CITATIONS    26 PUBLICATIONS   163 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

TEXMODA View project

ETexWeld View project

All content following this page was uploaded by Christian Vasseur on 06 May 2019.

The user has requested enhancement of the downloaded file.


Commande d’un pendule inversé 3D
par asservissement visuel
Haoping Wang* — Christian Vasseur*
Vladan Koncar** — Afzal Chamroo***
* Laboratoire d’Automatique, Génie informatique et Signal (CNRS UMR 8146)
Université des Sciences et Technologies de Lille
UFR IEEA, bâtiment P2 – 314/204, F-59655 Villeneuve-d’Ascq cedex
haoping.wang@ed.univ-lille1.fr ; christian.vasseur@univ-lille1.fr
** GEMTEX / ENSAIT
9, rue de l’Ermitage, BP 30329, F-59056 Roubaix cedex 01
vladan.koncar@ensait.fr
*** LAII / Université de Poitiers
40, av. du recteur Pineau, F-86022 Poitiers
afzal.chamroo@univ-poitiers.fr
RÉSUMÉ. Cet article présente une stratégie de stabilisation d’un pendule inversé 3D utilisant
l’information fournie par une caméra CCD à bas coût. A chaque instant d’échantillonnage
de la vision, la commande agit dans le plan du pendule, ce qui permet de transformer le
problème 3D en un problème 2D. Deux boucles de retour sont alors définies. La première
traite les informations échantillonnées et retardées délivrées par le système de vision. Le
traitement vise à réaliser un modèle stable et linéaire du pendule bouclé sans aucune
approximation et à en reconstruire l’état continu à l’aide d’un observateur spécifique appelé
observateur continu par morceaux (OCM). La seconde boucle vise à stabiliser l’ensemble
chariot-pendule, selon une commande utilisant une fonction de Lyapunov. Les simulations et
les essais sur plate-forme réelle illustrent les performances de cette méthode.
ABSTRACT. This paper presents a stabilization control system of a 3D inverted pendulum. The
challenge is to realize a control via remote sensing based on a low cost CCD camera. The
proposed method transforms the 3D problem into a 2D one by choosing a new balancing
plane for the pendulum at each camera’s sampling instant. For a given plane, two feedback
loops are considered. The first one, which is an observation loop, processes the delayed and
sampled angle information delivered by the artificial vision system so as to set up a linear
and stable model of the pendulum (without any approximations) and to reconstitute its
continuous state by means of a specific observer called Piecewise Continuous reduced-order
Luenberger Observer(PCO). The second loop, which is a stabilisation loop, makes use of a
Lyapunov function based control in order to stabilise the cart-pendulum system. Simulations
and experimental results illustrate the method’s performance.
MOTS-CLÉS : pendule inversé 3D, asservissement visuel, système continu à fonctionnement par
morceaux, OCM.
KEYWORDS: 3D inverted pendulum, visual servoing, piecewise continuous system, PCO.

DOI:10.3166/JESA.43.197-216 © 2009 Lavoisier, Paris

Journal européen des systèmes automatisés. Volume 43 – n° 1-2/2009, pages 197 à 216
198 JESA. Volume 43 – n° 1-2/2009

1. Introduction

En raison de sa dynamique instable et fortement non linéaire, le système chariot-


pendule inversé constitue un excellent support expérimental pour tester des
algorithmes de commande. Les modèles les plus souvent rencontrés sont : le bras
simple ou double (Olfati-Saber, 1999), les pendules planaires simple, double, voire
triple reliés à un chariot par des liaisons rotoïdes (Bugeja, 2003 ; Chen et al., 1997 ;
Deley, 2007 ; Lozano et al., 2000 ; Ohusumi et al., 1995 ; Wei et al., 1995) et enfin,
le pendule inversé relié à un robot X-Y par un joint de cardan (Cho et al., 2003a ;
Cho et al., 2003b ; Jung et al., 2004 ; Yang et al., 2000). Dans tous ces cas, les
contrôleurs utilisent des codeurs angulaires continus de précision élevée fixés
directement sur l’axe de rotation du pendule.
Cependant, dans de nombreuses applications il peut s’avérer impossible de
mettre le capteur en contact direct avec l’objet commandé. Les systèmes de vision
artificielle permettent de pallier cette contrainte physique. Par ailleurs, d’un point de
vue économique, il peut s’avérer intéressant de considérer les cas où il n’est pas
envisageable d’utiliser des capteurs de précision élevée, parce que de coût trop
important.
Dans cet article, l’enjeu est d’utiliser une caméra CCD à bas coût comme capteur
immatériel pour la commande. En contrepartie de son coût modeste, ce capteur
induit des problèmes de précision, d’échantillonnage et de retard en raison du temps
de calcul (traitement des images) et de transmission des signaux dans la boucle.
Dans (Hutchison et al., 1996) et (Chaumette et al., 2007), l’utilisation des
boucles de retour intégrant la vision artificielle pour commander un robot est
largement décrite. Par exemple, des indices visuels (points, arêtes ou régions),
obtenus par traitement d’image, peuvent être utilisés pour le guidage d’un robot.
Dans ce sens, la vision artificielle est utilisée comme outil de rétroaction, pour la
réalisation d’asservissements. Toutefois, le système de vision est soit combiné à la
commande dans une configuration en boucle ouverte du type « perception » puis
« action » (Sanchez et al., 2004), soit simplement utilisé pour réaliser des
visualisations et/ou des animations dans les systèmes de commande (Sanchez et al.,
2004 ; Armando et al., 2005). Plus récemment, des tentatives d’insertion de la vision
dans la boucle de commande pour stabiliser le système chariot-pendule ont été
présentées (Wenzel et al., 2000 ; Espinoza-Quesada et al., 2006). Toutefois, aucune
réalisation convaincante de commandes simultanées de l’angle du pendule et de la
position du chariot n’apparaît. Seul un contrôleur flou a été développé par (Magana
et al., 1998), mais sur un pendule planaire et avec une caméra de grande précision.
De plus, la stabilisation est limitée dans le temps et ne dure que quelques secondes.
L’analyse des difficultés liées à la commande du pendule inversé par rétroaction
visuelle fait apparaître que le signal de vision ne semble pas suffisamment bien
exploité. C’est la raison pour laquelle nous nous sommes efforcés de développer un
observateur précis, rapide et robuste, afin de pallier les difficultés induites par la
Pendule inversé stabilisé par vision 199

vision (échantillonnage et retard). Cet observateur, basé sur l’utilisation des


Systèmes à Fonctionnement par Morceaux (SFM) (Koncar et al., 2003), présente
l’avantage de compenser les effets de retard et d’échantillonnage pour fournir des
estimations continues et sans retard.
Les travaux présentés ici constituent un prolongement de recherches précédentes
(Koncar et al., 2003 ; Chamroo et al., 2005 ; Wang et al., 2006), pour développer un
Observateur Continu par Morceaux (OCM), à partir d’un Observateur Discret de
Luenberger d’Ordre Réduit (ODLOR) et de deux SFM. Dans cet article nous
présentons la stabilisation d’un pendule inversé 3D, relié à une table X-Y par un
joint de cardan.

2. Plate-forme expérimentale

La plate-forme expérimentale utilisée est composée de quatre parties: 1) une


table X-Y entraînant un chariot sur lequel est fixé le pendule inversé par un joint de
cardan ; 2) une caméra CCD associée à un système de vision (TEKVIS) utilisée pour
capturer la position angulaire du pendule ; 3) un contrôleur implanté sur une carte de
technologie dSpace (DS1103) reliée à un superviseur ControlDesk intégré dans les
logiciels Matlab/Simulink ; 4) deux actionneurs (servomoteurs) commandés par la
carte dSpace.

TEKVIS
dSPACE
ControlDesk

Système de vision RS
23 Système de commande
2

Carte d’acquisition
ELTEC PC-EYE 4

Z Y
Carte de dSpace
RS

DS1103
23
2

Servo motors

Figure 1. Plate-forme expérimentale


200 JESA. Volume 43 – n° 1-2/2009

2.1. Système chariot-pendule

Le système se compose d’une table X-Y et d’un pendule inversé (tube de


plastique ou de laiton) relié au chariot de la table par un joint de cardan. Une LED
infrarouge est fixée à l’extrémité haute du pendule, afin d’en faciliter le repérage par
le système de vision. Enfin, une couronne circulaire limite le débattement du pendule
en maintenant son angle d’inclinaison par rapport à la verticale inférieur à 50 degrés.
Les axes x et y sont motorisés par deux servomoteurs électriques brushless.

2.2. Système de vision

Contrairement aux caméras numériques de haute résolution (jusqu’à 4000 × 4000


pixels) travaillant jusqu’à 2000 images/sec avec un rapport signal/bruit très élevé, la
caméra que nous utilisons est une caméra ordinaire infrarouge de faible coût (Jai
M50 IR), dont la cadence d’échantillonnage est de 25 images/sec et la résolution de
640 × 480 pixels. Cette caméra est fixée à environ 2 mètres au-dessus du centre de la
table X-Y.
Le système de vision associé à la caméra est constitué d’une carte d’acquisition
de type ELTEC PC-EYE 4 et du logiciel de traitement d’images TEKVIS. Ce
logiciel calcule les coordonnées (x, y) (en pixels) de la LED fixée à l’extrémité haute
du pendule et les transmet au système de commande par une liaison RS-232. La prise
d’image de la caméra est déclenchée et synchronisée par une impulsion périodique
externe générée par le système de commande. Lorsque le système de commande
reçoit les coordonnées en pixels de la LED, il en fait la conversion en mètres, à partir
d’une table résultant d’un calibrage effectué préalablement (méthode « TSAI »
présentée dans (Heikkila et al., 1997)). Le calibrage permet, non seulement de
convertir les coordonnées de la LED en mètres, mais également de compenser les
déformations résultant du système optique de la caméra. Dans ces conditions,
compte tenu des temps de traitements, les coordonnées échantillonnées de la LED
sont disponibles avec un retard de 40 ms.

2.3. Contrôleur

Les logiciels de contrôle sont implantés sur une carte dSpace DS1103. Celle-ci
permet de compiler directement les algorithmes de commande à partir de
Matlab/Simulink et de superviser facilement les paramètres de contrôle à l’aide du
module ControlDesk. Cela permet d’afficher quasiment en temps réel les variables
de la carte. Les signaux de commande sont, quant à eux, envoyés aux amplificateurs
de puissance par un CAN (± 10 V).
Pendule inversé stabilisé par vision 201

2.4. Actionneurs

Le chariot de la table X-Y est motorisé à l’aide de deux servomoteurs SANYO


DENKI PY2A015A3-A3, dont les configurations peuvent être modifiées et
paramétrées par logiciel PY, à partir de l’ordinateur de commande. L’entraînement
du chariot se fait par courroies crantées. De plus, deux codeurs (un pour chaque axe)
mesurent la position du chariot. L’amplificateur alimenté en 240 V mono offre un
courant maximal de 15 A. Les motoréducteurs brushless délivrent un couple nominal
de 3.0 Nm avec une puissance de 200 W.

3. Modélisation du système de pendule inversé 3D

Dans (Cho et al., 2003a ; Cho et al., 2003b ; Jung et al., 2004 ; Yang et al.,
2000), les auteurs utilisent une modélisation pour laquelle les axes x et y sont
découplés, ce qui revient à commander le pendule selon deux projections
indépendantes. Une telle modélisation induit des approximations et n’est valide que
pour des petits angles d’inclinaison du pendule.
Nous développons ici une méthode de modélisation valable quel que soit l’angle
d’inclinaison du pendule. L’idée principale consiste à travailler, à chaque instant,
dans le plan du pendule. Ainsi, on transforme le problème 3D en un problème 2D
dans le plan du pendule.

3.1. Mise en équations

z' y
r
C
z C '( xC , yC )

θ y' r P( x , y )
y S α
Q'
C'
P x' O x
O α α P'
x Q
O' O'

Figure 2. Projection sur le plan r-z’ et x-y-z Figure 3. Projection sur le plan x-y

On désigne par P le point de liaison du pendule avec le chariot (cardan) et par O


l’origine du plan x-y de la table. Dans un premier temps, on considère le repère
Px’y’z’ parallèle au repère Oxyz lié à la table. Comme l’illustre la figure 2, le
pendule inversé peut être projeté, à tout instant, sur deux plans orthogonaux : le plan
202 JESA. Volume 43 – n° 1-2/2009

x-y (plan de la table) contenant O et P et le plan r-z’ passant par P et contenant le


pendule en entier.
Dans un second temps, le plan r-z’ est choisi comme plan de stabilisation, de
telle sorte que le problème du pendule inversé 3D devient un problème 2D dans ce
plan. En se référant aux méthodes classiques proposées par (Bugeja, 2003) ou
(Deley, 2007), le pendule inversé peut être modélisé comme suit, dans le plan r-z’ :

θ + 2ζωnθ − ωn 2 sin θ = −K cos θ r [1]

où : ωn = mgl ( J + ml 2 ) , ζ = Br [2ωn ( J + ml 2 )] , K = ml ( J + ml 2 ) , avec°: θ


angle du pendule avec l’axe Pz’, l longueur du ½ pendule, m masse du pendule, Br
frottement visqueux entre le pendule et le chariot, g accélération de la pesanteur,
J = (ml2)/3 moment d’inertie du pendule et r position du chariot sur l’axe r, l’origine
de cet axe étant la projection O’ de O sur le plan r-z’. Naturellement, le déplacement
du chariot sur l’axe r résulte d’une combinaison de mouvements selon les axes x et y.
Comme le montre la figure 3, en considérant la projection du pendule sur le plan
x-y, nous pouvons trouver facilement la relation reliant x, y et r :
r = x cos α + y sin α [2]

où α est l’angle entre l’axe O’r et l’axe Ox.

3.2. Le système moteur-chariot

L’évolution de la coordonnée x du chariot est décrite par :


x = (− x + k x u x ) τ x [3]

où : kx et τx sont respectivement le gain statique et la constante de temps du système


moteur-chariot selon l’axe x et ux sa tension d’entrée.
Il en va de même pour y :
y = (− y + k y u y ) τ y [4]

3.3. Calcul des angles du pendule (α et θ)

D’après la structure de notre plateforme, les informations que nous pouvons


utiliser sont les coordonnées (xC, yC) du haut du pendule obtenues par le système de
vision et les coordonnées (x, y) du pied du pendule mesurées par les codeurs. Ainsi
selon les figures 2 et 3, les expressions de α et θ peuvent s’écrire :
Pendule inversé stabilisé par vision 203

α = tan −1 [ ( yC − y ) ( xC − x)] [5]

θ = sin −1 { [ ( xC − x) cos α + ( yC − y ) sin α ] 2l} [6]

En réalité, pour l’extrémité du pendule, on ne dispose que d’informations


retardées et échantillonnées :
( xC (kte − qte ), yC (kte − qte )) = ( xC , k −q , yC , k −q ) [7]

où te est la période d’échantillonnage du système de vision et qte (q entier positif)


correspond au temps nécessaire pour le traitement d’image et pour la transmission
des signaux.
Dans notre cas, on a te = 40 ms et q = 1 , de telle sorte que, à chaque instant
d’échantillonnage kte, les équations [5], [6] et [7] fournissent αk-1 et θk-1.

4. Système de commande du pendule inversé 3D

L’architecture de commande du pendule inversé 3D est présentée figure 4. Les


retours fournissent les coordonnées continues (x, y) par les codeurs et la position
angulaire retardée et échantillonnée θk-1 et αk-1 par la vision.

r
v
r α k−

x, x y, y
xC , k −1
θ
yC ,k −1
x x y
x
ux
f1 (v, x)
x
v
f 2 (v , y ) y
uy
y y
θˆ θˆ
θk −

Figure 4. Architecture de commande


204 JESA. Volume 43 – n° 1-2/2009

A chaque instant d’échantillonnage, le plan du pendule est repéré par αk-1.


Ensuite, le système de commande agit dans ce plan en considérant deux boucles. La
première est appelée « boucle d’observation du pendule ». Elle traite les
informations échantillonnées et retardées délivrées par le système de vision. Le
traitement vise à réaliser un modèle stable et linéaire du pendule bouclé sans aucune
approximation et à en reconstruire l’état continu à l’aide d’un observateur spécifique
appelé Observateur Continu par Morceaux (OCM). La seconde, appelée « boucle de
stabilisation », est utilisée pour stabiliser l’ensemble chariot-pendule, selon une
commande construite à partir d’une fonction de Lyapunov.

4.1. Linéarisation et stabilisation du pendule inversé

L’équation [1] peut se ramener au système d’équations suivant :

r =v [8]

θ + 2ζωnθ − ωn 2 sin θ = −K cos θ v [9]

Afin de stabiliser ce système, une dynamique stable peut être imposée, en


définissant une nouvelle consigne v de la boucle interne par la relation :

−2ζωnθ + ωn 2 sin θ − K cos θ v = −2ΖΩ nθ − Ω n2θ + K 2 v [10]

ce qui conduit à :

v = −2(ζωn − ΖΩn )θ + Ωn2θ + ωn 2 sin θ − K 2 v K cosθ , θ < π 2 [11]

où Ω n , Ζ et K 2 représentent respectivement la pulsation naturelle, l’amortissement


et le gain du modèle bouclé.
Après transformation, le modèle devient :

r = −2(ζωn − ΖΩn )θ + Ωn2θ + ωn 2 sin θ − K 2 v K cos θ [12]

θ + 2ΖΩnθ + Ωn2θ = K 2 v [13]

En adoptant pour [13] une représentation d’état, il vient :

Θ(t ) = AΘ(t ) + Bv(t ) [14]

0 1 0 θ (t )
avec : A = , B= et Θ(t ) = .
−Ω 2n −2 ΖΩ n K2 θ (t )
Pendule inversé stabilisé par vision 205

4.2. Observateur continu par morceaux

Dans la réalité, on ne dispose ni de θ (t ) , ni de θ (t ) , mais seulement de θk-1.

Afin d’obtenir des estimations θˆ(t ) et θˆ(t ) de θ (t ) et θ (t ) , nous développons ci-


après un OCM réalisant la combinaison d’un observateur discret de Luenberger
d’ordre réduit (ODLOR) et de deux SFM tels que définis dans (Koncar et al., 2003).
Un SFM Σ({kte}, A, B, C) est illustré figure 5.

A
xk (t ) ϕ (t )
ϕ (t ) +
+ y k (t ) y k (t )
Σ[{kte }, A, B, C ]
B
xk (t ) ∫ C
ψ (t )
{ kte }
ψ (t )

Figure 5. Réalisation d’un système à fonctionnement par morceaux (SFM)

où ϕ (t ) et ψ (t ) sont des fonctions bornées définies ∀t . Dans ces conditions on


obtient le fonctionnement suivant :
t
xk (t ) = exp( A(t − kte ))ψ (kte ) + ∫ kte
exp A(t − τ )Bϕ (τ )dτ , ∀t ∈ ] kte , ( k + 1)te ]
[15]
yk (t ) = Cxk (t )

Dans le but d’estimer Θ(t), nous choisissons : A et B comme définies dans [14] et
C = I2. Ainsi l’OCM présenté figure 6 est construit en trois étapes.

v (t ) ˆ (t )
Θ
Σ[{kte }, A, B, I 2 ]
ˆ
Θ k
θk −1 +
+ e Ate
L +
+θˆ ˆ
Θ k −1
G k −1

+ zk M kk−1
− −te s zk −1
e te
+ +
L F m1kk −1
Σ[{kte }, A, B, I 2 ]
Mk −1 (t )
m 2 kk −1 0

Figure 6. Observateur continu par morceaux (BOZ = Bloqueur d’Ordre Zéro)


206 JESA. Volume 43 – n° 1-2/2009

– première étape :
En utilisant le SFM I, avec ϕ(t)=v(t) et ψ(t)=0, nous obtenons :
t
M k −1 (t ) = ∫ ( k −1)te
exp A(t − τ )Bv(τ )dτ

Ce qui conduit en faisant t = kte , à :

kte m1kk −1
M kk−1 = ∫
( k −1)te
exp A( kte − τ )Bv(τ )dτ =
m 2kk −1
[16]

Le rôle du BOZ (bloqueur d’ordre zéro) est donc de récupérer et de mémoriser cette
valeur à kte ;
– deuxième étape :
Θk-1 est estimé par l’ODLOR selon les équations :

zk = Fzk -1 + Gθk −1 + (m 2kk −1 − Lm1kk −1 )

zk −1 = θˆk −1 − Lθk −1

f11 f12
où F, G et L sont définis, à partir de exp( Ate ) = , comme suit :
f 21 f 22

F = f 22 − Lf12
G = FL + ( f 21 − Lf11 )
L = ( f 22 f12 ) ∈ R (valeur imposée pour maximiser la convergence
d’ODLOR).

Ainsi, en estimant θk −1 par θˆk −1 = zk −1 + Lθk −1 , on obtient Θ


ˆ
k −1 , puis, par
ˆ
intégration de [14] sur [(k − 1)t , kt [ , on obtient Θ :
e e k

ˆ = exp( At )Θ
Θ ˆ k
;
k e k −1 + M k −1

– troisième étape :
En utilisant le SFM II, avec ϕ(t)=v(t) et ψ (t ) = Θˆ k , on estime finalement Θ(t )
par :
t
ˆ (t ) = exp( At )Θ
Θ ˆ +
k ∫kte
exp A(t − τ )Bv(τ )dτ [17]

En se réinitialisant à chaque période d’échantillonnage, l’OCM permet de


compenser les effets de retard et discrétisation. Cela conduit à des estimations
continues et sans retard, θˆ(t ) et θˆ ( t ) .
Pendule inversé stabilisé par vision 207

4.3. Stabilisation de l’ensemble chariot-pendule à partir d’une fonction de


Lyapunov (boucle de stabilisation)

Dans un premier temps, en appliquant aux équations [12] et [13] l’hypothèse de


quasi-stationnarité (Isidori, 1994 ; Guemghar et al., 2005), c’est-à-dire θ =θ =0 , il
est possible de définir pour θ une trajectoire de référence notée θ = θref , satisfaisant
les équations suivantes :

r = v = ωn 2 tan(θref ) K [18]
v = Ω 2nθref K 2 [19]

Dans un second temps, nous définissons la fonction de Lyapunov ci-après :

V (r , r ) = ( χ r 2 + δ r 2 ) 2 , avec: χ > 0 et δ > 0

ayant pour dérivée :


V (r , r ) = r ( χ r + δ r ) = r ( χ r + δ v ) , d’après l’équation [18].

Pour garantir la stabilisation du chariot, nous imposons que cette dérivée soit
négative, par la relation :

( χ r + δ v ) = −µ [1 − e−( χ r +δ r 2 ) 2
2
]r , µ > 0

ce qui conduit à la commande v :

v = −[ χ r + µ (1 − e−( χ r +δ r 2 ) 2
2
)r ] δ [20]

Finalement, en reportant l’équation [20] dans l’équation [18], nous obtenons


l’expression de θ ref , en fonction de r et r :

{
θref (r , r ) = tan −1 −K [ χ r + µ (1 − e −( χ r
2
+δ r 2 ) 2
}
)r ] (δωn 2 ) [21]

Par construction (utilisation d’une fonction de Lyapunov à dérivée négative),


nous savons que la commande [20] stabilise le chariot ( r = r = 0 ). Dès lors, d’après
[21], il apparaît que la stabilisation du chariot conduit à θref (0, 0) = 0 et donc à v=0,
d’après l’équation [19]. Or d’après l’équation [13], v = 0 permet d’obtenir θ = θ = 0 .
L’introduction de θref , tel que défini par les équations [18] et [19], assure donc la
stabilité de l’ensemble chariot-pendule.
208 JESA. Volume 43 – n° 1-2/2009

Finalement, en utilisant l’équation [19], nous obtenons v :

{
v = Ω 2n tan −1 − K [ χ r + µ (1 − e−( χ r
2
+δ r 2 ) 2
}
)r ] (δωn 2 ) K2 [22]

Il reste à calculer ux et uy en fonction de v d’après l’architecture de commande.


Pour cela, en considérant [3] et [4] et en réalisant des boucles locales appropriées,
nous obtenons kx = ky = k et τx = τy = τ.
Dès lors, pour équilibrer le pendule inversé dans son plan de stabilisation
(plan r-z’), il suffit d’imposer que le rapport des accélérations selon les axes x et y
soit égal à tan α :

y x = tan α [23]

Cette relation supplémentaire permet de calculer les relations entre v , ux et uy


comme illustré sur la figure 4 :

u x = f1 (v , x) = ( x + τ cos α v ) k [24]

u y = f 2 (v , y ) = ( y + τ sin α v ) k [25]

5. Résultats de simulation et expérimentation

LED
Caméra

PC vision
Couronne circulaire
PC commande
Maquette 2D

Figure 7. Vue de la plate-forme expérimentale

Pour le système réel de la figure 7, le pendule en laiton a une masse de 560 g,


une longueur de 31,5 cm. Le frottement visqueux entre le pendule et le chariot est
estimé par Br = 0, 001 . Cela donne : ζ = 0, 0039 et ωn = 6, 781 rad/s.
Les paramètres du système moteur-chariot sont imposés par les boucles locales à
k = 2,92 et τ = 0, 008 s, selon les axes x et y. Enfin les valeurs des différents
paramètres introduits précédemment sont : K 2 = ωn2 , ξ = 1.2 , Ωn = ωn , χ = 1 , δ = 2
et µ = 0.5 .
Pendule inversé stabilisé par vision 209

5.1. Exemple de simulation

a) projection du plan du pendule sur plan x-y b) déplacements selon x, y et r

c) θk −1 , θˆ(t ) et θ (t ) d) θ (t ) et θˆ(t )

e) commandes u x et u y

Figure 8. Résultats de simulation { α 0 = π 3 rad, θ0 = π 6 rad, x0 = 1 m, y0 = 0, 2 m}


210 JESA. Volume 43 – n° 1-2/2009

La figure 8 illustre la stabilisation dans un plan quelconque. Cette figure fait


apparaître : (8a) la projection du plan du pendule sur le plan x-y, (8b) les
déplacements selon x, y et r, (8c) les positions angulaires du pendule ( θk −1 , θ (t ) et
θˆ(t ) ), (8d) les vitesses angulaires du pendule ( θ (t ) et θˆ(t ) ) et finalement (8e) les
commandes d’axes (ux, uy).
La stabilisation de l’ensemble chariot-pendule, à l’intérieur de la zone autorisée,
se fait bien à l’origine O’ de l’axe r.
Enfin, il faut souligner que l’application de l’hypothèse de quasi-stationnarité
n’apporte aucune restriction. Ainsi, aucune oscillation permanente n’apparaît, ni sur
le déplacement du chariot, ni sur le pendule. Les résultats de simulation illustrent
parfaitement que θref (r , r ) assure la stabilité du système global.
Pour faciliter la lecture des performances de l’OCM, nous avons fait un zoom des
figures 8c et 8d, sur l’intervalle de temps [0,2 s ; 2,5 s]. Les résultats correspondants
apparaissent figure 9. Après un transitoire très court, obtenu en faisant F = 0, l’OCM
donne d’excellentes estimations de θ (t ) et θ (t ) .

a) estimation de la position angulaire b) estimation de la vitesse angulaire

Figure 9. Zoom sur l’OCM

Comme dans tout système mécanique, les incertitudes d’identification et les


variations des paramètres (notamment le coefficient de frottement Br) en fonction de
θ (t ) , θ (t ) sont inévitables.
Dans ce sens, pour étudier la robustesse de la stratégie de commande proposée,
nous avons ajouté simultanément : un terme de variation sur le paramètre Br de la
forme Br sin 2πt , une erreur de mesure sur α k −1 de la forme 0.03cos 2πt et une
erreur de mesure sur θk −1 de la forme 0.01sin 2πt . La simulation correspondante
apparaît figure 10. Il apparaît que, même dans ce cas, le système chariot-pendule
reste stable. L’OCM donne encore des estimations tout à fait satisfaisantes (zoom de
la figure 11).
Pendule inversé stabilisé par vision 211

a) projection du plan du pendule sur plan x-y b) déplacements selon x, y et r

c) θk −1 , θˆ(t ) et θ (t ) d) θ (t ) et θˆ(t )

e) commandes u x et u y

Figure 10. Résultats de simulation avec variations du paramètre de Br (le


coefficient du frottement entre le pendule et le chariot) et les erreurs de mesures sur
α k −1 et θk −1 sous la même condition initiale que la figure 8: { α 0 = π 3 rad, θ0 = π 6
rad, x0 = 1 m, y0 = 0, 2 m}
212 JESA. Volume 43 – n° 1-2/2009

a) estimation de la position angulaire b) estimation de la vitesse angulaire

Figure 11. Zoom sur l’OCM de la figure 10

5.2. Résultats expérimentaux

En raison de contraintes de capacité de la carte dSpace, la méthode proposée n’a


été implantée, pour le moment, que selon l’axe x ( α = 0 ). Les conditions initiales
adoptées sont de 0,05 m pour x0 et de 0,873 rad (50 degrés) pour θ0 . En position
initiale, le pendule repose sur la couronne circulaire (voir la figure 7).
La stabilisation se fait en deux étapes : une étape de démarrage, qui amène le
pendule au voisinage de θ =θ =0 et une étape de stabilisation utilisant la stratégie de
commande définie précédemment.
Pour la première étape, nous ne pouvons pas appliquer une commande d’énergie,
telle que présentée dans la plupart des articles (Astrom et al., 2000 ; Bugeja, 2003 ;
Chatterjee et al., 2002 ; Fierro et al., 1999) et qui utiliserait l’effet des oscillations
provoquées au démarrage, pour commuter la commande au voisinage de zéro (moins
de 10 degrés). En effet, sur notre système, la couronne circulaire introduit une
contrainte supplémentaire de limitation de l’angle à environ 50 degrés. Ainsi, nous
ne pouvons pas utiliser l’effet des oscillations, qui conduirait à des collisions avec la
couronne.
Nous avons donc développé un nouvel algorithme de démarrage en nous
inspirant d’une observation de la vie courante. Considérons un passager adossé au
siège d’une voiture. Si on accélère fortement sur un intervalle ( t ∈[0, t1 ] ), cesse
d’accélérer sur ( t ∈]t1 , t2 ] ) et finalement freine fortement sur ( t ∈]t2 , T ] ), le corps
du passager est d’abord plaqué sur le dossier (phase d’accélération), puis s’incline
vers l’avant (au freinage). Dans notre cas, le chariot joue le rôle de la voiture, le
pendule celui de passager et la couronne celui de dossier du siège. Dès lors, par un
choix approprié des paramètres T , t1 et t2 , on parvient à ce que l’angle du pendule
Pendule inversé stabilisé par vision 213

passe au voisinage de zéro avec une vitesse faible, pour x(T ) = 0 et x(T ) = 0 , avec
une condition initiale x(0) ≠ 0 .

Cette stratégie de démarrage a été implantée avec succès dans l’expérimentation


réelle. La seconde étape ne pose aucun problème particulier.

a) déplacement selon x a) déplacement selon x

b) θk −1 et θˆ(t ) b) θk −1 et θˆ(t )

c) commande ux c) commande ux

Figure 12. Résultats expérimentaux Figure 13. Résultats expérimentaux


avec perturbation
214 JESA. Volume 43 – n° 1-2/2009

La figure 12 illustre la stabilisation de l’ensemble chariot-pendule ; 12a :


stabilisation du chariot, 12b : stabilisation du pendule, faisant apparaître θk −1 et θˆ et
12c : commande. On constate qu’il subsiste des oscillations résiduelles limitées à ± 3°
pour le pendule et à ± 2 cm pour le chariot. Les essais ont montré que l’ensemble
chariot-pendule reste stable plus de 10 heures (nous n’avons pas testé au-delà).
La figure 13 illustre le comportement du dispositif perturbé manuellement à
partir de 4 s. La perturbation consiste à essayer de déséquilibrer le pendule en
agissant sur son extrémité. On constate que le chariot se déplace de manière à
assurer l’équilibre. Dès que la perturbation cesse (à 9 s), l’algorithme maintient
l’équilibre du pendule, tout en ramenant le chariot à l’origine.
Des vidéos illustratives de ces expériences sont disponibles sur le site
http://www-lagis.univ-lille1.fr/~wang/Research.html. On y constatera également que
lorsque l’on rend le système aveugle (en masquant la LED), l’équilibre est rompu.

6. Conclusion et perspectives

Cet article présente une stratégie de stabilisation d’un pendule inversé 3D en


utilisant un retour fourni par une caméra à bas coût et par deux codeurs. A chaque
instant d’échantillonnage de la vision, la commande détermine le plan de
stabilisation du pendule, ce qui permet de transformer le problème 3D en un
problème 2D. Ensuite, le système de commande agit dans ce plan en considérant
deux boucles. La première, appelée « boucle d’observation du pendule », linéarise,
stabilise et observe le pendule, à partir des informations échantillonnées et retardées
délivrées par le système de vision. La seconde, appelée « boucle de stabilisation »,
est utilisée pour stabiliser l’ensemble chariot-pendule, selon une commande
construite à partir d’une fonction de Lyapunov.
Les résultats de simulation et les résultats expérimentaux montrent l’efficacité de
notre commande, en particulier pour un système mécanique sous actionné ayant une
dynamique élevée à déphasage non minimal.
Il subsiste toutefois de petites oscillations résiduelles, pour lesquelles deux
hypothèses peuvent être faites :
– les incertitudes d’identification et les variations des paramètres (notamment le
coefficient de frottement) en fonction de θ (t ) , θ (t ) et x(t) sont inévitables. En
particulier, il existe probablement des frottements secs difficilement identifiables, ce
qui est susceptible de perturber toute la chaîne d’observation et donc la commande ;
– la dynamique du pendule est très élevée. En même temps, l’utilisation d’un
système de vision à bas coût implique un cycle d’acquisition d’image de 40 ms. Dès
lors, les incertitudes d’identification peuvent avoir une incidence non négligeable sur
le fonctionnement de l’OCM, notamment dans sa composante prédictive.
Pendule inversé stabilisé par vision 215

En dépit de ces difficultés, la stratégie de commande que nous avons proposée


permet de compenser et de stabiliser l’ensemble chariot-pendule. Cela est corroboré
par une étude de robustesse, qui prend en compte aussi bien des incertitudes sur
α k −1 et θk −1 , que sur les paramètres du système.

7. Bibliographie

Astrom K.J., Furutal K., “Swinging up a pendulum by energy control”, Automatica, vol. 36,
2000, p. 287-295.
Armando A.R., Richard P.M., Oguzhan C., Thanate D., “Description of a modelling,
simulation, animation, and real-time control (MoSART) environment for a class of
electromechanical systems”, IEEE Trans. on Education, vol. 48, n° 3, 2005, p. 359-374.
Bugeja M., “Non-linear swing-up and stabilizing control of an inverted pendulum system”,
EUROCON, Ljubljana, Slovenia, 2003.
Chamroo A., Vasseur C., Wang H.P., “Plant control using digital sensors that introduce a
delayed and sampled output”, 11th ELMA World Congress, vol. 1, Sofia, Bulgaria,
September 2005, p. 119-124.
Chatterjee D., Patra A., Joglekar H., “Swing-up and stabilization of a cart-pendulum system
under restricted cart track length”, System and Control Letters, vol. 47, n° 4,
November 2002, p. 355-364.
Chaumette F., Andreff N., « Quoi de neuf en asservissement visuel depuis les JNRR’03? »,
Journées nationales de la recherche en robotique 2007, Obernai, October 2007.
Chen L., Smith R., “Closed-loop model validation for an inverted pendulum experiment via a
linear matrix inequality approach”, Proc. of the 36th CDC, San Diego, USA,
December 1997, p. 2565-2566.
Cho H.K., Jung S., “Balancing and position tracking control of an inverted pendulum on an
X-Y plane using decentralized neural networks”, Proc. of 2003 IEEE/ASME Inter. Conf.
on Advanced Intelligent Mechatronics, 2003a, p. 1210-1215.
Cho H.K., Jung S, “Neural network position tracking control of an inverted pendulum by an
X-Y table robot”, Proc. of the 2003 IEEE/RSJ Int. Conf. on Intelligent Robots and
Systems, Las Vegas, October, 2003b, p. 181-186.
Deley D.W., “Controlling an inverted pendulum: example of a digital feedback control
system”, January 4, 2007, http://members.cox.net/srice1/pendulum/index.htm.
Espinoza-Quesada E.S., Ramos-Velasco L.E., “Vision based control of an underactuated
system using a reduced observer”, Electronics, Robotics and Automotive Mechanics
Conference, vol. 1, September 2006, p. 9-14.
Fierro R., Lewis F.L., Lowe A., “Hybrid control for a class of underactuated mechanical
systems”, IEEE Trans. on Systems, Man, and Cybernetics-Part A: Systems and Humans,
vol. 29, n° 6, 1999, p. 649-654.
216 JESA. Volume 43 – n° 1-2/2009

Guemghar K., Srinivasan B., Mullhaupt P., Bonvin D., “Analysis of cascade structure with
predictive control and feedback linearization”, IEE Control Theory & Applications,
vol. 152, n° 3, 2005, p. 317-324.
Heikkila J., Silven O., “A four-step camera calibration procedure with implicit image
correction”, 1997 IEEE Computer Society Conf. on Computer Vision and Pattern
Recognition, 1997, p. 1106-1112.
Hutchinson S., Hager G.D., Corke P.I., “A tutorial on visual servo control”, IEEE Trans. on
Robotics and Automation, vol. 12, n° 5, 1996, p. 651-670.
Isidori A., Nonlinear Control Systems, Springer (3rd ed), 1994.
Jung S., Cho H.K., “Decoupled neural network reference compensation technique for a PD
controlled two degrees-of-freedom inverted pendulum”, Int. J. of Control, Automation
and Systems, vol. 2, n° 1, 2004, p. 92-99.
Koncar V., Vasseur C., “Control of linear systems using piecewise continuous systems”, IEE
Control Theory & Applications, vol. 150, n° 6, 2003 p. 565-576.
Lozano R., Fantoni I., Block D.J., “Stabilization of the inverted pendulum around its
honmoclinic orbit”, Systems & Control Letters, vol. 40, 2000, p. 194-204.
Magana M.E., Holzapfel F., “Fuzzy-logic control of an inverted pendulum with vision
feedback”, IEEE Trans. on Education, vol. 41, n° 2, 1998, p. 165-170.
Ohsumi A., Izumikawa T., “Nonlinear control of swing-up and stabilization of an inverted
pendulum”, Proc. of the 34th CDC, New Orleans, December, 1995, p. 3873-3880.
Olfati-Saber R., “Fixed point controllers and stabilization of the cart-pole system and the
rotating pendulum”, Proc. of the 38th CDC, Phoenix, December 1999, p. 1174-1181.
Sanchez J., Dormido S., Pastor R., Morilla F., “A Java/Matlab-based environment for remote
control system laboratories: illustrated with an inverted pendulum”, IEEE Trans. on
Education, vol. 47, n° 3, August 2004, p. 321-329.
Wang H.P., Vasseur C., Chamroo A., Koncar V., “Sampled tracking for delayed systems
using piecewise functioning controller”, Proc. of the 4th IEEE conf. on Computational
Engineering in Systems Applications, vol. 2, Beijing, China, October 2006, p. 1326-1333.
Wei Q., Dayawansa W.P., Levine W.S., “Nonlinear controller for an inverted pendulum
having restricted travel”, Automatica, vol. 31, n° 6, 1995, p. 841-850.
Wenzel L., Vazquez N., Nair D. Jamal R., “Computer vision based inverted pendulum”, Proc.
of the 17th IEEE Instrumentation and Measurement Technology Conference, vol. 3,
May 2000, p.1319-1323.
Yang R., Kuen Y., Li Z., “Stabilization of A 2-DOF Spherical Pendulum on X-Y Table”,
Proc. of the 2000 IEEE International Conference on Control Applications, USA,
September 2000, p. 724-729.

Reçu le : 10 octobre 2007


Accepté après révisions le : 20 mars 2008

View publication stats

Vous aimerez peut-être aussi