Académique Documents
Professionnel Documents
Culture Documents
THÈSE
Présentée pour l’obtention du diplôme de
DOCTORAT EN SCIENCES
en Électronique
Option
Électronique
Par
Messaoud Mokhtari
Thème
À ma mère
À ma femme
: ملخص
. النًنوين لأل نظمة غًن اخلطية وغًن املؤكدةbackstepping إن اذلدف األساسي من إجناز ىذا البحث ىو دراسة املوضوع اخلاص بالتحكم ادلالئم
بعدىا نعرج إىل تبين فكرة جديدة و ىي الربط بٌن معايًن.ئ
ئ و ادلال م
غًن ادلال مbackstepping نقوم يف ادلرحلة األوىل بتوضيح ادلفهوم األساسي ملعىن
إن التحليالت النظرية وتطبيقاتوا على أنظمة فيزيائية كالبندول البسيط و.backstepping املقاربة باستعمال الشبكات النًنونية و إسرتاتيجية التحكم
backstepping إن اجلزء الثاين من ىذا الحبث يهدف أساسا إىل دراسة حتليلية مفصلة للتحكم.البندول ادلقلوب تبرز االستقرار واملتانة الشاملة لوذه التقنية
فإن إدراج املالحظ يف عملية التحكم جيلب حتسينات، باإلضافة إىل ذلك.النًنوين لألنظمة غًن اخلطية بوجود معيقات التشغيل سواء كانت داخلية أو خارجية
وكذا تقدير وتفعيل آلية، من حيث املتانة العملية و اإلمكانية ادلتاحة حل ل بعض اإلشكاليات ادلطروحة مثل نزع ادلعيقات احملتملة،كبًنة ذلذا النوع من امل راقبة
فإنو، إضافة إىل ذلك. ومقاربة الدوال غًن اخلطية اجملهولة أيضا يف النظام ادلالئم للجهاز ادلراد التحكم فيو،ادلقاربة للحاالت وادلعا مال ت اجملهولة لدى ادلراقب
و أل جل إعطاء ادلزيد من.ي
مت تطبيق ادلفاىيم النظرية على منوذجٌن مها ادلحرك ذو املغناطيس الدائم و ادلحرك احلث،لتحقيق الضمان الالئق لفعالية ىذه الطريقة
يف ىذا اجلزء. وىو جهاز ذو نظام غًن خطي ومتعدد ادلتغًنات، مت استكشاف منوذج أكثر تعقيدا ىو الرباعي الدوار،ادلقاربة النموذجية ذلذا النوع من التحكم
مع العلم بأنو من الصعب جدا التحكم يف مجيع، لمنوذج ىذا اجلهاز الفيزيائي املعقد للغايةbackstepping يتم إدراج و تطبيق تقنية،األخًن من الدراسة
لذلك نلجأ إىل استخدام تقنية مالئمة تعتمد على خوارزمية. احلاالت ادلرتبطة بو يف آن واحد بسبب تعدد متغًناته مع وجود معيقات التشغيل احملتملة
. الكلي للمعيقات
لتحقيق االستقرار يف الرباعي الدوار ومتكٌن اإلزالة ةbackstepping
Résumé
Le travail de cette thèse est une contribution à la commande adaptative backstepping neuronale des
systèmes non linéaires incertains. La première étape consiste à éclaircir la notion de base du backstepping
non adaptatif et adaptatif. Ensuite, l’idée est d’associer le critère d’approximation par les réseaux neuronaux
à la stratégie de commande backstepping. Des développements théoriques et applications sur des procédés
physiques clarifient la stabilité et la robustesse de cette technique. Le deuxième axe de travail est le
développement détaillé de la commande backstepping neuronale des systèmes non linéaires avec incertitudes
à caractères internes et externes. Un observateur apporte des améliorations notables pour ce type de contrôle
en termes de robustesse et de résolution de problèmes tels que le rejet de perturbations, l'estimation des états
et des paramètres inconnus du système et l’approximation des fonctions non linéaires. Afin d'approuver
l'efficacité de cette méthode, deux procédés ont été considérés pour les applications qui sont le moteur à
aimants permanents et le moteur à induction. Dans le but de donner plus de mérite à cette commande, un
modèle plus complexe et d'actualité est exploré. Il s'agit d'un quadrirotor qui est un système non linéaire,
multivariables et couplé. Dans cette dernière partie d’étude, la technique backstepping est appliquée pour ce
procédé physique. Un tel modèle est très complexe, voir difficile à contrôler ; car la commande est
multivariables dans le sens où 6 degrés de liberté sont à contrôler de manière simultanée et opérant dans un
milieu particulièrement perturbé. Un algorithme basé sur la technique backstepping a été employé afin de
stabiliser le quadrirotor et de permettre le rejet total des perturbations.
Abstract
The work of this thesis is a contribution to the adaptive neural backstepping control of uncertain
nonlinear systems. The first step is to clarify the basic concept of the non-adaptive and adaptive backstepping.
Then, the idea is to combine the criterion of approximation by neural networks and backstepping control
strategy. Theoretical developments and applications to physical processes clarify the stability and robustness
of this technique. The second step in this work is the detailed development of neural backstepping control of
nonlinear systems with internal and external uncertainties. An observer brings significant improvements for
this type of control in terms of robustness, disturbance rejection, states estimation and unknown system
parameters and nonlinear functions approximation. To approve the effectiveness of this method, two
processes have been considered for applications, permanent magnet motor and induction motor. In order to
give more merit to this command, a more complex model is explored namely a quadrotor which is a non
linear system, coupled and multivariable. In the last part of study, backstepping technique is applied to this
physical process. This model is very complex, difficult to control because six states must be controlled at the
same time and in a very disturbed environment. A technique based on backstepping algorithm is employed to
stabilize the quadrotor and to allow the total rejection of disturbances.
Table des matières
Introduction générale
L’analyse des systèmes non linéaires révèle une importance énorme dans l’étude des
systèmes. Ce dévoilement est dû à la puissance des outils théoriques d’analyse dans
l’exploration des caractéristiques du système, contrairement à la simulation qui, lorsqu’elle
n’est pas guidée par une étude théorique, risque de donner des résultats ne couvrant pas la
réalité du système. En outre, la synthèse des lois de commande non linéaires repose,
essentiellement, sur l’analyse authentique de ces systèmes.
Ces dernières années, il y a eu des progrès importants concernant le développement de
la technique de commande adaptative des systèmes non linéaires. Intrinsèquement, la
plupart des systèmes physiques ont un comportement non linéaire ; nous pouvons alors
citer comme exemples les systèmes mécaniques, électromécaniques et chimiques
(avions, véhicules, régulateurs thermiques, réacteurs chimiques, … etc.). Ce type de
système commandé est représenté par un ensemble d’équations différentielles, traduisant la
variation des états spécifiques du système dans un intervalle de temps. L’influence d’un
certain nombre d’états finis et choisis nous permet évidemment d’accomplir certains
objectifs de commande désirés.
Sur la base de certaines considérations adoptées pour le modèle dynamique du
système, nous pouvons aboutir à nos objectifs par l’application d’une technique de
commande. Nous pouvons donc deviner, avec peu de variables, l’évolution du système
dans un intervalle de temps très important où est censée agir cette commande. Aussi, nous
sommes amenés à retenir, que les erreurs et les dynamiques négligées ou les perturbations
non modélisées, doivent être compensées ou atténuées grâce à la commande afin
d’atteindre la convergence et la stabilité du système. De ce fait, nous serons obligés de
savoir maîtriser les interférences entre la complexité du modèle choisi pour représenter les
phénomènes et la conception et les performances de lois de commande. Nous pouvons citer
quelques techniques adaptées à la commande des systèmes non linéaires : linéarisation par
retour d’état ; commande adaptative ; commande par mode glissant ; commande adaptative
backstepping, …etc.
La commande adaptative backstepping est l’une des approches principales de ces
recherches attentives. Cette technique a été développée initialement par Kanellakopoulos et
étoffée, d’une part, par Feurier et Morse, et d'autre part, par Tsinias Kokotović et
Sussmann. Elle offre une méthode systématique pour effectuer la conception d'un
contrôleur pour les systèmes non linéaires. L'idée de cette stratégie clarifie qu'un système,
modélisé par une structure triangulaire dans l’espace d'état, peut être stabilisé étape par
étape en commençant par le premier état. Parallèlement, les lois d'adaptation pour les
paramètres inconnus du système et les lois de commande peuvent être déduites d’une
manière adéquate. Cette technique repose essentiellement sur l’utilisation du formalisme
1
Introduction générale
de Lyapunov. Ce dernier est très simple, très commode et garant principal de la stabilité et
convergence du système. La théorie de Lyapunov possède deux types de méthodes, et
utilise des fonctions spécifiques.
Les deux méthodes de Lyapunov, connues sous les noms de la première et la seconde
méthode, représentent des outils analytiques puissants. Dans la première méthode, appelée
également méthode de linéarisation, il s’agit d’analyser la stabilité du système non linéaire
au voisinage du point d’équilibre à travers une approximation linéaire. La mise en évidence
de cette méthode permet l’utilisation des systèmes de contrôle linéaire. Cependant, la
seconde méthode est plus générale et sera la base de calcul des contrôleurs non linéaires
dans notre travail. Elle repose sur le principe d’énergie pour analyser la stabilité, qui
stipule "qu'un système physique est stable, si son énergie mécanique totale diminue avec le
temps". Lyapunov a pu décrire une fonction similaire ayant les propriétés de l’énergie et
pour laquelle l’analyse de stabilité devient plus commode.
La littérature dans ce domaine est très abondante et variée du fait que le sujet a été
largement abordé depuis longtemps. Malgré tout, plusieurs problématiques persistent
jusqu'à nos jours, et les solutions associées n’ont pas encore atteint l’idéal.
Cette thèse s'appuie principalement sur l’utilisation des réseaux de neurones afin
d’approximer les fonctions non linéaires inconnues d’un modèle incertain en supposant
que l'on désire étudier un système physique incertain donné. Plus précisément, on
s'intéressera à la commande adaptative backstepping associée aux critères d'approximation
des fonctions non linéaires par des réseaux neuronaux appliquée à une classe de systèmes
non linéaires incertains. Deux types de réseaux neuronaux artificiels RBF et MLP sont par
la suite considérés.
L'état d'un système peut être représenté par une série de grandeurs d’entrée et de
sortie. On supposera que le procédé à commander n'a pas de mémoire, c'est-à-dire que sa
sortie à un instant donné ne dépend que de son entrée à ce même instant et non pas des
entrées précédentes. Si le système n'est pas parfaitement connu, on peut recourir à
l'approximation des fonctions inconnues de son modèle. Le but est de créer une nouvelle
fonction que l'on connaît parfaitement et qui représentera au mieux possible la fonction
réelle. On définit une mesure de l'écart entre les deux fonctions, que l'on appelle
performance. La performance la plus utilisée est l'erreur quadratique. La fonction réelle
doit vérifier certaines propriétés pour être approximée. Plus généralement, un algorithme
d'approximation nécessite que pour deux entrées voisines les sorties correspondantes soient
également voisines. Les fonctions respectant cette propriété sont appelées fonctions
douces. Une seconde condition porte sur le choix de l'approche d'approximation. Celle-ci
doit être représentative des évolutions de la fonction réelle.
2
Introduction générale
Dans le but de parfaire ce type de commande, nous nous sommes proposés d'explorer
divers procédés non linéaires physiques en commençant par certains à caractères simples
comme le pendule simple et le pendule inversé, puis en allant vers d'autres plus élaborés
tels que le moteur à aimants permanents et le moteur à induction. Enfin, notre étude a été
étendue à un procédé très complexe, multivariable et couplé qui est le quadrirotor.
Outre l'introduction et la conclusion générales, cette thèse comporte cinq chapitres qui
décrivent les différents dispositifs de commande développés pour les divers types de
procédés physiques monovariables ou multivariables :
Le premier chapitre est consacré à un rappel théorique concernant les commandes non
adaptatives et adaptatives backstepping. Ensuite, nous avons intégré les réseaux
neuronaux RBF et MLP afin de réaliser une association avec la commande
backstepping et permettre de faire des applications sur des procédés physiques qui sont
le pendule simple et le pendule inversé.
Dans le second chapitre, nous nous sommes intéressés à la commande d'une certaine
classe de systèmes non linéaires, en l'occurrence les systèmes incertains. Nous avons
étudié en détails les commandes backstepping adaptative et backstepping adaptative
neuronale et nous les avons appliquées sur deux procédés physiques (pendule simple
et pendule inversé).
Dans le troisième chapitre, une étude approfondie a été menée sur la machine
synchrone à aimants permanents en utilisant l’approche backstepping-RBF.
Nous avons proposé dans le quatrième chapitre d'élargir notre considération à un
modèle incertain plus complexe, en l'occurrence, celui de la machine à induction.
A travers trois orientations de la commande backstepping (non adaptative, adaptative
et neuronale), nous allons éclaircir de nouveau les performances de cette technique
dans le domaine du contrôle.
Dans le dernier chapitre, nous avons étudié l'application de la commande backstepping
sur un procédé physique qui est le quadrirotor. Ce dernier est un modèle non linéaire
plus complexe et d'actualité. Il est multivariables, couplé et perturbé.
3
Introduction générale
Les travaux de cette thèse ont fait l’objet de plusieurs communications et publications :
(2) M. Mokhtari and N. Golea, "Commande adaptative d’un pendule inversé par l’approche
backstepping-neuronale", Conf. sur les Signaux et Systèmes, Laboratoire d'Automatique et
Informatique, Guelma, Algérie, pp. 75-81, Novembre 2007.
(3) M. Mokhtari, N. Golea, and L. Saidi, "Adaptive backstepping control of doubly fed induction
motor", Conf. Electrical Systems Design and Technologies, Hammamet, Tunisia, November 2008.
(4) M. Mokhtari and N. Golea, "Adaptive backstepping control of synchronous motors using RBF
neural networks", Conf. Electrical Engineering, Batna, Algeria, Abstracts book, pp. 49, 27-29,
October 2008.
(6) M. Mokhtari, D. Bellala, and N. Golea, "Speed control of a doubly fed induction motor using
backstepping technique", Conf. Computer, Control, Education and Management, Dubai,
United Arab Emirates, vol. 27, pp. 104-110, July 2012.
(1) M. Mokhtari, N. Golea, and S. Berrahal, "The observer adaptive backstepping control for
a simple pendulum", American Institute of Physics, Publishing LLC, vol. 1019, Poitiers,
America, pp. 85-90, 12 June 2008.
(2) M. Mokhtari, N. Golea, and L. Saidi, "Adaptive backstepping control of synchronous motors
using RBF neural networks", Revue des sciences et de la Technologie, Batna, Algérie, vol. 3,
n° 1, pp. 135-144, 2012.
(3) M. Mokhtari and N. Golea, "Control of a permanent magnet synchronous machine using
neural network backstepping approach", Advanced Materials Research, Tech. Publications,
Switzerland, Suisse, vol. 628, pp. 410-419, 2013.
(4) M. Mokhtari, K. Chara, and N. Golea, "Adaptive neural network control for a simple
Pendulum using backstepping with uncertainties", International Journal of Advanced Science
and Technology, vol. 65, pp. 81-94, 2014.
4
Chapitre I : Commande backstepping neuronale : Développement théorique
Chapitre I
I.1 Introduction
Les systèmes non linéaires sont décrits par des équations différentielles non linéaires.
Ils sont caractérisés par les propriétés suivantes : (1) Principe de superposition n’est pas
applicable, (2) Points d’équilibre multiples : un système non linéaire présente plusieurs
points d'équilibre isolés (pour le système linéaire, le point d’équilibre est unique),
(3) Limite de cycle : les systèmes non linéaires peuvent exhiber des oscillations à
amplitudes et fréquences fixes en l’absence d’une entrée exogène ; ces oscillations sont
appelées cycles limites, (4) Bifurcation : la théorie de la bifurcation a montré que le
changement quantitatif des paramètres du système entraîne un changement qualitatif dans
son comportement, ainsi la stabilité peut être affectée par ce changement quantitatif,
(5) Chaos : les systèmes non linéaires présentent un phénomène chaotique qui est défini
par la sensibilité de la sortie vis-à-vis des valeurs initiales, (6) Temps d’échappement fini :
l'état d'un système non linéaire instable peut aller à l'infini en un temps fini,
5
Chapitre I : Commande backstepping neuronale : Développement théorique
Signal de
Signal de commande Sortie
Commande Processus
référence
Cependant, les modèles réels des systèmes physiques sont caractérisés par des
paramètres (masses, inductances,……) qui sont peu connus ou variables. Si ces paramètres
varient dans un intervalle important, il serait mieux d’employer une loi d’adaptation pour
les estimer convenablement.
La conception d’une commande adaptative exige la mise au point de trois notions de
base : (1) la loi de commande permet de répondre aux spécifications désirées, vis-à-vis du
comportement du système à commander ; (2) la loi d'adaptation détermine la dynamique
d'estimation des paramètres inconnus. Elle doit garantir leur convergence vers leurs valeurs
6
Chapitre I : Commande backstepping neuronale : Développement théorique
Adaptation
des
paramètres
Signal de
référence Sortie
Commande Processus
Signal de
commande
x1 x2 1 (x1 )T .θ
x2 x3 2 (x1 ,x2 )T .θ
.
.
(I.1)
.
xn-1 xn n 1 (x1 ,......,xn 1 )T .θ
xn β(x).u n (x)T .θ
y x1
7
Chapitre I : Commande backstepping neuronale : Développement théorique
β(x) 0, x R n . Si le but est d’atteindre la trajectoire désirée yr en utilisant l’état x1, alors
l’algorithme du backstepping peut être utilisé pour la stabilisation globale asymptotique de
l’erreur primaire du système (on note l’erreur primaire par Z R n ).
Puisque le vecteur θ est inconnu, le système est alors augmenté par la dynamique de
l’estimateur θ̂ . Une version algorithmique adaptative du backstepping est utilisée dans ce
cas dans le but d’avoir une stabilité globale et asymptotique de l’erreur primaire du
système.
La figure (I.3) représente la procédure globale de cette technique. Chaque étape génère
l’erreur zi , la fonction stabilisante i , et une nouvelle estimation ̂ i du vecteur
paramétrique inconnu .
̂1
z1 ̂ 2
1 z2
̂ n
2
zn
n = u
8
Chapitre I : Commande backstepping neuronale : Développement théorique
zi xi yr( i 1 ) i 1 (I.2)
ˆ y (i 1) ) αi 1 Γτ αi 1 Γw z
i 1
νi (xi ,θ, r
θˆ k
i ˆ
k 2 θk
i k (I.4)
ˆ y (i 1) ) τ w z
τi (xi ,θ, (I.5)
r i 1 i i
ˆ y (i 2) ) αi 1
i 1
wi (xi ,θ, r i
k 1 xk
k (I.6)
i= 1,……….,n
xi ( x1 ,x2 ,......xi ), et yr( i ) ( yr , y r ,
yr ,..........., yr( i ) ) sont connues.
θˆ Γw(z,θ,t)
ˆ z (I.10)
tel que :
c1 1 0 ..... 0
1 c2 1 σ 23 ..... σ 2 n
ˆ 0
Az (z,θ,t) 1 σ 23 ...... ..... . (I.11)
. . . . 1 σ n 1,n
0 σ2n .... 1 σ n 1,n cn
9
Chapitre I : Commande backstepping neuronale : Développement théorique
et :
ˆ α j 1 Γw
σij (x,θ) (I.12)
θ̂
k
x1 x2 1 (x1 )T .θ
x2 x3 2 (x1 , x2 )T .θ
(I.15)
x3 β(x).u 3 (x1 ,x2 , x3 )T .θ
y x1
tel que : θ est un vecteur paramétrique, xi (i=1,...3) et y sont respectivement les variables
d’état et la sortie du système, u est la commande du système, chaque i (i=1,...3) est un
vecteur de fonctions non linéaires lisses, tel que i(0) =0 et la fonction β(x) 0, x R3 .
Le diagramme structurel de ce système est explicité sur la figure I.4 avec (x)=1 et les
fonctions non linéaires dépendent seulement des variables d’état.
u x3 + x2 + x1
+
+ - + - + -
1T (.)
T
2 (.)
3T (.)
10
Chapitre I : Commande backstepping neuronale : Développement théorique
α1 (x 1 ,θ, y r ) c1 z 1 1T θ
α1 T α α
α 2 x,θ, y r(.) z 1 c 2 z 2 ( 2 T
(I.17)
1 ).θ 1 x 2 1 y r
x1 x1 yr
En tenant compte des équations (I.15), (I.16) et (I.17), on trouve les expressions suivantes :
z1 x1 y r
(I.18)
z2 c1 z1
Le développement de la deuxième fonction de Lyapunov est sa dérivée est donné par les
expressions suivantes :
1 2 1 2
V2 z1 z2
2 2
V2 z1 z1 z2 z2 (I.20)
c1 z12 c2 z22 z2 z3
11
Chapitre I : Commande backstepping neuronale : Développement théorique
Le chemin évident pour réaliser et atteindre la négativité de V3 est de choisir la loi de
commande u suivante :
1 α2 T α2 T α α α α
u z2 c3 z3 ( 3 1 2 ).θ 2 x2 2 x3 2 y r 2 yr(2) yr(3) (I.24)
T
β(x) x1 x2 x1 x2 yr y r
tel que :
T
α α α α α α
α3 z2 c3 z3 3 2 1 2 2 .θ 2 x2 2 x3 2 y r 2 yr(2) (I.25)
x1 x2 x1 x2 yr y r
12
Chapitre I : Commande backstepping neuronale : Développement théorique
2 1
1.5 0.5
sortie y suit yr
1 0
erreur z1
0.5 -0.5
0 -1
-0.5 -1.5
-1 -2
0 0.5 1 1.5 2 0 0.5 1 1.5 2
temps(seconde) temps(seconde)
5 10
0 5
commande u
erreur z2
-5 0
-10 -5
-15 -10
0 0.5 1 1.5 2 0 0.5 1 1.5 2
temps(seconde) temps(seconde)
va être renforcée par le terme ν2 x1 ,x2 ,θˆ qui va compenser les transitions des paramètres
estimés (équation I.17), ce qui donne :
ˆ y ) c z T θˆ
α (x ,θ,
1 1 r 1 1 1
ˆ y (.) z c z ( T α1 T ).θˆ α1 x α1 y ν
(I.27)
α 2 x,θ,
x1 x1 yr
r 1 2 2 2 1 2 r 2
sachant que :
α α α α
ν2 1 Γ .τ 2 1 Γ τ1 w2 .z2 1 Γ w1 .z1 w2 .z2 ; w1 1 ;w2 2 1 1
θˆ θˆ θˆ x1
13
Chapitre I : Commande backstepping neuronale : Développement théorique
En tenant compte des équations (I.15), (I.16) et (I.27), on trouve les expressions
suivantes :
α1 α α
z2 z1 c2 z2 z3 Γ .τ 2 ( 2T 1 1T ).θ 1 θˆ (I.29)
θ ˆ x1 θˆ
1T 0
z1 c1 1 z1
z 1 α
c2 z2 2T 2 1T
. .θ α1
ˆ z
(Γ 2 θ)
2 θˆ
x1 3
α1
avec : w1 1 , w2 2 1 , τ 2 w1 .z1 w2 .z2
x1
ce qui donne :
α
V2 c1 z12 c2 z22 z2 z3 z2 1 Γ .τ 2 θˆ θT τ 2 Γ 1θˆ (I.31)
θ̂
α2 ˆ - α2 θˆ α2 y α2 y(2) θT τ Γ 1θˆ z w
(x3 2T .θ) r
x2 θˆ yr
r
y r 2 3 3
α2 α
avec : w3 3 1 2 2
x1 x2
14
Chapitre I : Commande backstepping neuronale : Développement théorique
avec : τ 3 τ 2 z 3w 3 d'où τ 3 τ 2 z 3w 3
z1
α1 α2 α2
θ̂ Γ 1 2 1 3 1 2 z2 Γ .W .Z (I.35)
x1 x1 x2
z3
z1
α α α
où : W w1 w2 w3 , Z z2 ,w1 1 , w2 2 1 1 , w3 3 2 1 2 2
x1 x1 x2
z3
1 α2 T α2 T ˆ α2
u z2 c3 z3 ( 3 1 2 ).θ x2
T
β(x) x1 x2 x1
(I.37)
α α α
2 x3 2 y r 2 yr(2) ν3 yr(3)
x2 yr y r
avec :
α α α α
α3 z2 c3 z3 w3T .θˆ 2 x2 2 x3 2 y r 2 yr(2) ν3 (I.38)
x1 x2 yr y r
u
1
β(x) r
ˆ y(.) y(3)
α3 x,θ, r
(I.39)
15
Chapitre I : Commande backstepping neuronale : Développement théorique
tel que : τ 3 τ 2 w 3 z 3 et θˆ Γ .τ 3 alors, l’équation (I.40) s’écrit :
α α
V3 c1 z12 c2 z22 c3 z32 z3 z2 1 Γ .w3 - 2 Γ .τ 3 ν3 (I.41)
ˆ
θ θˆ
α1 α
ν3 z2 Γ .w3 2 Γ .τ 3 (I.42)
θˆ θˆ
α1 α
z2 z1 c2 z2 z3 Γ .(τ 2 τ 3 ) ( 2T 1 1T ).θ (I.44)
θˆ x1
avec :
α1 α
τ 2 τ 3 w3 z3 z1 c2 z2 (1 w3 Γ) z3 ( 2T 1 1T ).θ
θ ˆ x1
α1 α
σ 23 w3 Γ ; w2T 2T 1 1T
θ ˆ x1
En remplaçant u par son expression donnée par (I.37) dans (I.45), on obtient alors :
α
z3 z2 c3 z3 υ3 w3T .θ 2 Γτ 3
θ̂ (I.46)
T
( 1 σ 23 ).z2 c3 z3 w3 .θ
Finalement, on trouve :
Z Az .Z W . (I.47)
16
Chapitre I : Commande backstepping neuronale : Développement théorique
tels que :
c1 1 0
Az 1 c2 1 σ 23 ;
0 1 σ 23 c3
α α α
W w1 w2 w3 1 ( 2 1 1 ) ( 3 2 1 2 2 )
x1 x1 x2
Enfin, il en résulte que l’équilibre x1=yr est globalement stable et Lim x1(t) yr .
t
La propriété de cette loi de commande est définie par le terme 3, proportionnel à θ̂ et
compensé par l’effet transitoire du paramètre estimé. C'est ce départ, certainement
essentiel, qui rend la stabilité adaptative du système possible (figure I.6).
z1
z
2
+ ~
+ z3 3
W
W
- + -
AZ
̂
-
Fig. I.6 : Commande adaptative du système bouclé
17
Chapitre I : Commande backstepping neuronale : Développement théorique
2 1
1.5 0.5
sortie y suit yr
1 0
erreur z1
0.5 -0.5
0 -1
-0.5 -1.5
-1 -2
0 0.5 1 1.5 2 0 0.5 1 1.5 2
temps(seconde) temps(seconde)
5 5
commande u
erreur z2
-5 0
-10
-15 -5
0 0.5 1 1.5 2 0 0.5 1 1.5 2
temps(seconde) temps(seconde)
10 10
8 8
1 et 1est
2 et 2est
6 6
4 4
2 2
0 0
0 0.5 1 1.5 2 0 0.5 1 1.5 2
temps(seconde) temps(seconde)
10 10
8 8
Fig. I.7 : Commande adaptative -régulation-
1 et 1est
2 et 2est
6 6
4 4
2 2
0 0 18
0 0.5 1 1.5 2 0 0.5 1 1.5 2
temps(seconde) temps(seconde)
Chapitre I : Commande backstepping neuronale : Développement théorique
I.5.1 Introduction
19
Chapitre I : Commande backstepping neuronale : Développement théorique
En tout premier lieu, lorsque nous parlons de réseaux de neurones, nous devrions
plutôt dire (réseaux de neurones artificiels). En effet, les réseaux de neurones biologiques
sont de loin plus complexes que les modèles mathématiques utilisés pour les réseaux de
neurones artificiels que nous utilisons.
Le principe des réseaux de neurones artificiels est né dans les années 40 à partir d’une
analogie avec le système nerveux humain. Le terme désigne aujourd’hui un très grand
nombre de modèles, dont beaucoup n’ont plus de lien direct à voir avec le fonctionnement
des neurones biologiques, et doit donc être pris comme une métaphore. Ces différents
modèles ont en commun l’utilisation d’automates, appelés neurones ou unités, capables de
réaliser chacun un traitement très simple et d’échanger des informations entre eux. On
associe généralement aux réseaux de neurones artificiels (RNA) un algorithme
d’apprentissage permettant de modifier de manière plus ou moins automatique le
traitement effectué afin de réaliser une tâche donnée.
Le neurone formel qui représente la brique de base des RNA est un automate dont le
modèle s’inspire de celui d’un neurone biologique. Un neurone représente une unité de
calcul élémentaire recevant ses entrées du milieu extérieur et/ou d’autres neurones et
transmettant sa sortie à d’autres neurones et/ou au milieu extérieur. Ces entrées sont
pondérées par un poids synaptique qui modélise l’intensité des connexions (synapses) entre
les neurones. Chaque neurone additionne ses entrées, préalablement multipliées par les
poids associés, et génère la sortie correspondante à travers une fonction non linéaire
appelée fonction d’activation.
20
Chapitre I : Commande backstepping neuronale : Développement théorique
Synapse Poids de
connexion
Fonction
Corps de
cellulaire transfert
Axone Elément
de sortie
Un neurone artificiel peut être décrit par les éléments suivants (pour un neurone
d’indice i ) :
1. Son état (aussi appelé activation) ai, qui peut être une valeur réelle ou booléenne. Cet
état est généralement choisi comme valeur de sortie du neurone ;
2. Ses connexions d’entrées auxquelles sont associés des poids wij (i est l’indice du
neurone partageant la connexion, j est l’indice de la couche correspondante dans le
réseau), de façon que le signal transmis par un neurone source soit multiplié par le
poids associé à la connexion avant d’être reçu ;
3. Sa fonction d’entrée réalisant un prétraitement (généralement une somme pondérée)
des entrées ;
4. Sa fonction d’activation (ou de transfert) gi(x), qui calcule à partir du résultat de la
fonction d’entrée l’activation du neurone. Elle est une fonction non linéaire de
saturation servant à limiter l’amplitude du signal de sortie du neurone. Plusieurs
types de fonctions d’activation peuvent être utilisés.
Valeurs Poids
x1 w1j
Somme
pondérée Fonction
x2 w2j d’activation
ai
x3
gi
w3j Activation
.
. Fonction de
.
.
. combinaison
.
Seuil
xn wnj
21
Chapitre I : Commande backstepping neuronale : Développement théorique
L’architecture des réseaux de neurones artificiels peut aller d’une connectivité totale à
une connectivité locale où les neurones ne sont liés qu’à leurs plus proches voisins.
1. Le mode parallèle : à un instant donné, tous les neurones calculent leur nouvelle
sortie et la transmettent aux neurones auxquels ils sont connectés en tant que
neurones émetteurs.
2. Le mode séquentiel : A un instant donnée, un seul neurone calcule sa nouvelle sortie
et la transmet aux neurones qui lui sont connectés. Ce mode peut se faire suivant une
liste cyclique prédéfinie ou suivant un choix aléatoire du neurone qui exécutera ses
calculs. Des modes mixtes peuvent exister et sont des combinaisons des deux modes
précédents.
Deux grandes familles de RNA sont présentées dans la littérature. En l'occurrence, il
s'agit des réseaux à fonctions de base radiales (RBF, pour Radial Basis Function) et les
réseaux à perceptron multi-couches (MLP, pour Multi Layer Perceptron). Ces deux types
feront l'objet d'utilisation dans les travaux de recherche développés dans cette thèse.
1 p0,1
p0,2
y1
1* p1,1
x1
p1,2
p2,1
2* y2
xn-1 p2,2
pm,1
xn m *
pm,2
22
Chapitre I : Commande backstepping neuronale : Développement théorique
m
y k p0 , pi , .i* x k i (I.49)
i 1
où : x est le vecteur d'entrée, m est le nombre de neurones dans la couche cachée, p0,
est la polarisation, pi , ( i 1,..., m et avec deux sorties 1 ou 2) sont les poids (gains de
sorties de la couche cachée), i ( i 1,..., m ) sont les centres des fonctions de base
radiales et y est le vecteur de sortie ( y1 et y 2 ). En introduisant l’écart type , on peut
donner quelques fonctions RBF les plus utilisées comme suit :
r2
* r exp , 0 (I.50)
2.
2
* r r 2
, 0 ; * r 1 / r 2
, 0 (I.51)
On peut montrer que pour un ensemble de N données d'entrées distinctes noté xk
(k=1..., N) dans R n et la correspondance y k des signaux de sortie, il existe là un
vecteur paramétrique p qui réduit au minimum la somme des erreurs quadratiques :
2
N m
I y k p0 , pi , .i* x k i (I.52)
k 1 i 1
Les réseaux neuronaux MLP sont relativement de nouvelles classes de RNA. Ils se
composent dans notre travail d'une couche d’entrée, une couche cachée et une couche de
sortie. La structure générale multi-entrées / mono-sortie d'un réseau MLP est montrée dans
la figure I.11, où x est le vecteur d'entrée (exemple : deux entrées x3 et x4 ),
̂ k (exemple : k 2 ou 4 ) est l’approximation de la fonction non linéaire inconnue, ki est
la fonction d’activation sigmoïdale du ième neurone (avec 4 neurones, i 1, , 4 ),
23
Chapitre I : Commande backstepping neuronale : Développement théorique
Vki désigne le vecteur des poids d’entrée lié au neurone i et les états xj ( j 3, 4 ), Wk est le
vecteur des poids de sortie.
Avec : Vki=[Vk3i , Vk4i , bki] et Wk=[ wk1, wk2, wk3, wk4]T
k1 wk1
Vk31
Vk41
̂ k
x3
Vk32 k 2 wk2
Vk42
Vk33 wk3
k 3
x4
Vk43
wk4
Vk34
Vk44
k 4
ˆ k wki .ki Vkji .x j bki
N 4
(I.53)
i 1 j 3
où : N est le nombre de neurones dans la couche cachée, bki est le biais lié à un neurone i.
1
y ; 0 (I.54)
1 exp y
24
Chapitre I : Commande backstepping neuronale : Développement théorique
La commande backstepping suppose que les fonctions non linéaires du modèle sont
connues. Cet état n'est malheureusement pas toujours vrai. Dans le but de pallier cet
inconvénient, nous nous tournons vers un changement de la liaison linéaire
paramètres/fonctions (équation I.1), à une liaison non linéaire paramètres/fonctions du
modèle donnée par l'équation I.56. Cette nouvelle structure, plus complexe, améliore les
performances du système par approximation appropriée des fonctions non linéaires du
modèle considéré [5].
x1 x 2 1 ( x1 , ),
x 2 x3 2 ( x1 , x 2 , ),
.
(I.56)
.
x n 1 x n n 1 ( x1 ,......, x n 1 , ),
x n x .u n ( x, )
Dans ce cas, la différence est que les fonctions non linéaires i (i=1…, n) dépendent
directement du vecteur paramétrique inconnu . On a déjà mentionné que les réseaux RBF
sont des approximations universelles. Par conséquent, pour chaque fonction i , un réseau
RBF a été choisi pour l'approximation. Ce changement mène à la représentation suivante :
m1
x1 x2 p0,1 pi ,1.1,*i x1 k i ,1 1 ( x1 , ),
i 1
m2
x2 x3 p0,2 pi ,2 .2,* i x2 k i ,2 2 ( x1 , x2 , ),
i 1
(I.57)
mn1
xn 1 xn p0,n 1 pi ,n 1.n*1,i xn 1 k i ,n 1 n 1 ( x1 ,......, xn 1 , ),
i 1
mn
xn x .u p0,n pi ,n .n*,i xn k i ,n n ( x, )
i 1
où : les fonctions entre crochets représentent les entrées/sorties du réseau RBF et tel que
les erreurs d'approximation sont données par :
m
p0, pi, .*,i x k i,
i 1 (I.58)
1, , n
25
Chapitre I : Commande backstepping neuronale : Développement théorique
D’après l’équation (I.58), l'argument des fonctions i est donné par le vecteur
paramétrique inconnu et les états x i . Les centres i des RBF sont de dimensions
appropriées.
On peut voir que cette structure se compose d'une chaîne d’intégrateurs et de n réseaux
RBF. Chaque sortie du réseau est liée à la dérivée de l'état correspondant. Les entrées de
chaque réseau sont les états d’indices inférieurs ou égaux à celui de la sortie.
Dans la structure définie par l'équation (I.57), les différents types de paramètres
suivants doivent être déterminés ou ajustés :
Les seuls paramètres réglables de cette structure sont regroupés dans le vecteur des
paramètres p , = 1…, n. En faisant référence aux équations (I.57), on peut facilement
voir que le système est maintenant linéairement paramétré.
(I.59)
26
Chapitre I : Commande backstepping neuronale : Développement théorique
+
x1
RBF1
+
+ x2 RBF2
+
+ xn-1 RBFn-1
+
u +
+ xn
RBFn
y x1
tel que : est le vecteur paramétrique inconnu, 1 et 2 sont deux vecteurs de fonctions
non linéaires qu’on va supposer inconnus.
Le système donné par l’équation (I.60) devrait être récrit sous la forme suivante :
yr x1
tel que : 1* et 2* sont deux fonctions qu’on peut définir en utilisant l’approximation par
les réseaux RBF.
27
Chapitre I : Commande backstepping neuronale : Développement théorique
m
1*T . p p0,1 pi,1.1,*i x1 k i,1
1
(I.62)
i 1
m2
* x k
2*T . p p0,2 pi,2 .2,
i 2 i,2
(I.63)
i 1
+
x1
RBF1
+
u + x2 RBF2
+
Fig. I.13 : Association du modèle d'ordre deux avec les réseaux RBF
Chaque fonction non linéaire du modèle peut être représentée par son propre réseau
d'approximation RBF. Un exemple de la structure RBF du réseau utilisé pour approximer
la fonction 1 est donné par la figure suivante :
1 p0,1
pm1,1
*1,m1
avec :
m1 : nombre choisi de neurones,
pi ,1 : poids des connexions,
i ,1 : centres des fonctions de base radiales,
1,i : fonctions de base radiales.
28
Chapitre I : Commande backstepping neuronale : Développement théorique
Après avoir établi le modèle neuronal de l'exemple considéré, nous allons, dans ce qui
suit, dégager les différentes étapes de l'algorithme backstepping neuronal.
Le changement de variable adopté est décrit par les expressions :
z1 x1 yr
(I.64)
z2 x2 y r α1 ( x1 , ˆp, yr )
Sa dérivée s’écrit :
Pour que le système atteint sa stabilité globale, il faut que cette dérivée soit négative
( V1 c1 .z12 ) avec c1 une constante positive. Ce qui va nous permettre de choisir la
fonction stabilisante suivante :
p ~1 ( x1 , )
z1 z 2 c1z1 1 . ~
T
(I.68)
z 2 x 2 y r(2) α1
α1 α α (I.69)
β(x).u *T
2 .p y r 2
(2)
(x 2 1*T .p 1 ) 1 ˆp 1 y r
x1 ˆp yr
29
Chapitre I : Commande backstepping neuronale : Développement théorique
1 α1 *T α α α
u z1 c2 z2 ( 2
*T
ˆ 1 .x2 1 ˆp 1 y r yr(2)
.1 ).p (I.72)
β(x) x1 x1 ˆp yr
α
V2 c1 z12 c2 z22 z1 1 z2 2 z2 1 1 (I.75)
x1
Le système considéré est représenté sur la figure I.15. Son modèle peut être exprimé
en utilisant les variables d'état suivantes x, x, θ, θ ; où x est la position du chariot, θ est
l'angle de la tige, F la force agissant sur le chariot, m et M sont respectivement les masses
de la tige et le chariot, g et sont respectivement l'accélération de la pesanteur et la
longueur de la tige.
Pour des raisons de simplicité et de représentation d’état et l'application de
l'algorithme du backstepping, l'accélération angulaire de la tige est considérée comme
30
Chapitre I : Commande backstepping neuronale : Développement théorique
l'entrée du système plutôt que la force F. Le modèle de pendule inversé sans perturbations
peut être trouvé dans ([6], [7]). Le but est de contrôler la position angulaire souhaitée.
Le modèle à étudier prend en compte les variables d'état suivantes :
x 3 = θ, x 4 = θ
x 1 = x, x 2 = x,
θ
x
x1 = x2
x2 = 2 - 1 . u
cosx3
(I.76)
x3 = x4
1
x4 = 4 + . u
où :
La commande du pendule inversé peut être décrite dans les étapes suivantes en
introduisant l’adaptation pour la technique backstepping avec des paramètres inconnus.
Pour commander la position angulaire, nous faisons le choix de la première variable
d'erreur :
z3 x3 yr (I.78)
31
Chapitre I : Commande backstepping neuronale : Développement théorique
32
Chapitre I : Commande backstepping neuronale : Développement théorique
Réseau
RBF
Ŵ
ˆ
Signal de
référence Sortie
Commande Processus
Adaptation des
paramètres
x1 x2
x2 W .2*T 2 1 . u
cos x3
(I.90)
x3 x4
1
x4 W .4*T 4 . u
x1 x2
m
x2 wi ,2 .2*,i x k i ,2 2 1 . u
i 1 cos x3
(I.91)
x3 x4
m
1
x4 wi ,4 .4*,i x k i ,4 4 . u
i 1
33
Chapitre I : Commande backstepping neuronale : Développement théorique
avec : x k sont les états d’entrée pour chaque fonction non linéaire (dans notre cas x3 et
x4 ). 2*,i et 4*,i sont deux fonctions gaussiennes que nous pouvons définir en utilisant les
réseaux d’approximation RBF.
1ère étape :
Les erreurs sélectionnées sont décrites par les expressions suivantes :
z3 = x3 - yr
(I.92)
z4 = x4 -
ce qui donne :
z3 = -c3 z3 + z4 (I.95)
2ème étape :
1
Par souci de simplicité dans les calculs, on pose β = ; et on définit la relation entre une
valeur réelle, son estimation et l'erreur d'estimation :
β = βˆ + β (I.97)
En utilisant l'équation (I.76), la dérivée de la fonction de Lyapunov peut être écrite comme
suit :
yr c3 . c3 z3 z4
V4 c3 z32 z4 z3 Wˆ .4*T W .4*T 4 ˆ.u .u (I.99)
34
Chapitre I : Commande backstepping neuronale : Développement théorique
3ème étape :
La fonction de Lyapunov correspondante est écrite :
1 2 1 -1
V5 = V4 + β + W.Γ .W (I.101)
2γ 2
En se référant aux expressions (I.99) et (I.102), nous pouvons déduire les lois de mise à
jour suivantes :
ˆ .z4 .u
(I.103)
Wˆ . 4*T 1 .z4
Nous allons dans ce qui suit procéder à la simulation des deux structures étudiées dans
les paragraphes I.6.3.2 et I.6.3.3. Les paramètres du pendule considéré sont :
Les résultats obtenus sont représentés sur les figures I.17, I.18, I.19 et I.20.
15
Sortie y (__)et consigne yr(---)
0.5
10
0.4
Commande u(t)
0.3
5
0.2
0.1
0
0
-0.1 -5
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Temps(seconde) Temps(seconde)
)et son estimation l(__)
0.4 Fig. I.17 : Consigne et signal de sortie 0.5 Fig. I.18 : Loi de commande adaptative
0.4
35
reur y-yr
-0.2 0.3
Sortie y (
C
0.1
0
0
Chapitre I : Commande backstepping neuronale : Développement théorique
-0.1 -5
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Temps(seconde) Temps(seconde)
0.4
erreur y-yr
-0.2 0.3
0.2
-0.8 0.1
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Temps(seconde) Temps(seconde)
36
Chapitre I : Commande backstepping neuronale : Développement théorique
25
Sortie y (__) et consigne yr(---)
0.5 20
0.4
u(t)
15
25
Sortie y (__) et consigne yr(---)
CommandeCommande
0.3
0.5 20
10
0.2
0.4
u(t)
155
0.1
0.3
0 100
0.2
-0.1 5
-5
0.10 0.5 1 1.5 2 0 0.5 1 1.5 2
0 Temps(seconde) 0 Temps(seconde)
l (__)
-0.1 -5
0.4 Fig.
0 I.21 :0.5
Consigne et
1 signal de
1.5sortie 2 Fig. I.22 : 0Loi de commande
0.5 adaptative
1 neuronale RBF
1.5 2
Temps(seconde) Temps(seconde)
son estimation
0.2
l (__)
0.4 0.25
erreur y-yr
0
estimation
0.2
sonl (---)et
-0.2 0.25
0.2
erreur y-yr
0
réelle
-0.4
l (---)et
-0.2
Valeur
0.2
0.15
Valeur réelle
0
-0.4 0.5 1 1.5 2 0 0.5 1 1.5 2
Temps(seconde) Temps(seconde)
0.15
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Temps(seconde) Temps(seconde)
Afin de voir les performances de cette deuxième stratégie de commande, nous avons
opté pour le même procédé physique du pendule inversé. Ceci nous permettra certainement
de dégager les différences et d'apprécier les meilleures performances.
A noter que cette stratégie offre une différence structurelle vis-à-vis de la structure
précédente à base de réseaux RBF notamment dans le nombre de couches cachées et le
nombre de vecteurs de poids.
37
Chapitre I : Commande backstepping neuronale : Développement théorique
Réseau
MLP
Vˆ et W
ˆ
Signal de ̂
référence Sortie
Commande Processus
Estimation des
paramètres
La fonction non linéaire à approximer par le réseau neuronal est définie par
l’expression : [9]
x W T V T x x (I.104)
La forme du système donné par l'équation (I.76) est reformulée sous l'expression
suivante :
x1 x2
x2 W2T . V2T x 2 x 1 . u
cos x3
(I.105)
x3 x4
x4 W4T . V4T x 4 x . u
1
Pour chaque fonction k , un réseau MLP a été choisi pour son approximation. Cela
permet d’avoir la représentation du système suivante :
38
Chapitre I : Commande backstepping neuronale : Développement théorique
x1 x2
x w .
V2 pi .x p b2i 2 x
4 4
1
2 2 i 2 i .u
i 1 p 3 cos x3
(I.106)
x3 x4
4
x4 w4i .4i V4 pi .x p b4i 4 x 1 . u
4
i 1 p 3
telles que : A et B sont deux matrices constantes symétriques et avec A=AT>0, B=BT> 0,
V4T x Vˆ4T x Vˆ4T x V4T x V4T x
2
(I.110)
~
avec V4T x
2
est un terme qui représente l’erreur d’ordre 2 et qui peut être borné. Par
ailleurs, on peut avoir le développement suivant :
W4T V4T x W4T Vˆ4T x Vˆ4T x V4T x V4T x
2
ˆ T Vˆ T x W T Vˆ T x Wˆ T Vˆ T x V T x W T Vˆ T x V T x W T V T x
2
W (I.111)
4 4 4 4 4 4 4 4 4 4 4 4
39
Chapitre I : Commande backstepping neuronale : Développement théorique
~ ~
Dans ce qui suit, le terme W4T Vˆ4T x V4T x W4T V4T x 2
sera développé et borné afin
d’avoir une majoration d’erreur. En utilisant l’équation (I.110), ce terme peut s’écrire :
W4T Vˆ 4T x V 4T x W 4T V4T x
2
W4T Vˆ 4T x V 4T x W 4T V 4T x W 4T Vˆ 4T x W 4T Vˆ 4T x V4T x
(I.112)
W . V 4T x Vˆ 4T x W 4T Vˆ 4T x V4T x W4T Vˆ 4T x V 4T x
T
4
W 4T . V 4T x Vˆ 4T x W 4T Vˆ 4T x Vˆ 4T x Wˆ 4T Vˆ 4T x V 4T x
Pour une fonction d’activation sigmoïdale continue et dérivable sur un intervalle, on peut
effectuer la limitation suivante :
W4T Vˆ4T x V4T x W4T V4T x
W4T . Vˆ4T x V4
. x.Wˆ 4T Vˆ4T x
2
W4T (I.113)
F F 1
u ˆ. z3 c4 z4 W
4 4
ˆ T Vˆ T x v( t ) y( 2 )
r (I.114)
tel que :
1
2 2
ˆ T Vˆ T x
v( t ) k. x.W Vˆ4T x .Vˆ4T x .z4 4 M (I.115)
4 4
2 F
On peut déduire les expressions suivantes relatives aux lois de mise à jour du
paramètre longueur et des poids estimés :
ˆ 1/ .z 4 .u (I.116)
Wˆ A. Vˆ 4T x .z 4 A. Vˆ 4T x Vˆ 4T x .z 4 .A.Vˆ 4
(I.117)
Vˆ B .x .Wˆ 4T Vˆ 4T x .z 4 .B .Wˆ 4
40
Chapitre I : Commande backstepping neuronale : Développement théorique
6
0.6
(__) suit yr(---)
0.5 4
u(t)
6
Commande
0.4
0.6
suityyr(---)
2
0.3
0.5 4
u(t)
Sortie
Commande
0.2
0.4
2
Sortie y (__)
0.1
0.3
-2
0.20 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
0.1 Temps(seconde) Temps(seconde)
-2
0
0 Fig. 0.2 0.4
I.26 : Consigne et0.6 0.8sortie 1
signal de Fig. I.27 : 0Loi de commande
0.2 0.4adaptative
0.6 neuronale
0.8 1
MLP
Temps(seconde) Temps(seconde)
estimé l(__)
0.1
0 0.5
-0.1
erreur y-yrerreur y-yr
et sonl(__)
0.1
-0.2 0.4
0 0.5
estimé
-0.3
-0.1
sonl(---)
-0.4 0.3
-0.2 0.4
réel
-0.5
réel l(---) et
-0.3
0.2
-0.4 0 0.2 0.4 0.6 0.8 1 0.3 0 0.2 0.4 0.6 0.8 1
-0.5 Temps(seconde) Temps(seconde)
0.2
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Temps(seconde) Temps(seconde)
1.5
poids de sortie estimé W41
0
Poids estimé V131
-0.5
0.5
0 -1
-0.5 -1.5
0 0.5 1 1.5 0 0.5 1 1.5
Temps(seconde) Temps(seconde)
Fig. I.30 : Estimation du poids de sortie w41 Fig. I.31 : Estimation du poids d’entrée V31
1.5 1.5
1 1
timation du biais b1
timation du biais b1
0.5 0.5
0 0 41
-0.5 -0.5
-1
Poi
poids d
0
1.5 1.5
1 1
estimation du biais b1
estimation du biais b1
0.5 0.5
0 0
-0.5 -0.5
-1 -1
-1.5 -1.5
0 0.5 1 1.5 0 0.5 1
Temps(seconde) Temps(seconde)
A travers ces différentes simulations, il est clair que l'objectif assigné à ce deuxième
type de réseau neuronal MLP est largement atteint. En effet, on peut voir que le suivi de la
consigne est atteint en un temps relativement inférieur à celui exhibé par la structure RBF
(figure I.26). La commande, quant à elle, est cohérente avec la réalité et présente une allure
douce (figure I.27).
Le temps de convergence de l'erreur est faible (figure I.28) et est de l'ordre de 0.4 sec.
Il est largement inférieur à celui du RBF (0.7 sec). Par ailleurs, le paramètre longueur est
convenablement estimé (figure I.29) en un temps relativement réduit.
Les figures I.30, I.31 et I.32 sont des exemples d'estimation, respectivement, d'un
poids de sortie, poids d'entrée et du biais du premier neurone. La convergence est assurée
de manière satisfaisante.
I.8 Conclusion
Dans ce chapitre, nous avons attaché une importance à la commande backstepping
associée à la commande neuronale. Dans un premier temps, un rappel sur les deux types de
backstepping adaptative et non adaptative a été établi afin de mettre en relief cette
technique. Un exemple théorique d'un système de troisième ordre est venu appuyer les
différents développements de cette technique.
Ensuite, nous nous sommes tournés vers la commande neuronale. Après un tour
d'horizon sur les réseaux de neurones, nous avons appliqué, sur un procédé physique qui
est le pendule inversé, deux types d'approche de ces réseaux, en l'occurrence, il s'agit des
techniques RBF et MLP en association avec la commande backstepping.
Les simulations montrent que la commande backstepping associée aux réseaux MLP
est plus performante que celle associée aux réseaux RBF.
42
Chapitre II : Commande backstepping neuronale avec observateur
Chapitre II
II.1 Introduction
Les systèmes sont plus complexes en raison du développement de la technologie.
Grâce à la modélisation des systèmes non linéaires, un terme d'incertitude apparaît.
Plusieurs conditions ont causé de l'incertitude comme la variation de paramètre, terme
négligé ... etc.
Pour résoudre le problème d’incertitudes, de nombreux contrôleurs sont conçus pour
des systèmes non linéaires incertains tels que la commande en mode glissant, la commande
backstepping, la commande PID … etc. Une commande sur laquelle notre choix s'est porté
est la technique backstepping adaptative neuronale (BAN). Il s'avère que la construction de
la fonction de Lyapunov est compliquée en présence d’incertitudes. Le backstepping
neuronal permet de pallier ce problème.
La technique de backstepping a été récemment appliquée à construire une commande
adaptative pour certains systèmes comme les systèmes non linéaires incertains [10, 11].
Dans [12], l'auteur prouve que la commande backstepping ne garantit pas la
convergence asymptotique de trajectoire en présence de bruit de mesure sur l'état et les
contraintes de sortie et d'entrée.
Dans [13, 14], les auteurs ont étudié la technique de backstepping pour les systèmes
incertains. Leurs résultats de simulation montrent de bonnes performances pour stabiliser
et assurer le suivi de trajectoire pour cette classe de systèmes.
La combinaison backstepping et les réseaux de neurones est l'une des solutions
proposées pour le rejet des perturbations et d’incertitudes. Dans ce qui suit, une étude de la
commande backstepping adaptative et de la commande backstepping adaptative neuronale
(BAN) pour un système non linéaire incertain est présentée. Il est à noter que le type MLP
est à considérer. Une analyse de la variation des paramètres du système est considérée afin
de tester la robustesse de ces deux techniques de commande avec deux résultats de
43
Chapitre II : Commande backstepping neuronale avec observateur
simulation présentés. Aussi, nous avons considéré le cas où certains états du système sont
non mesurables et l'adjonction d'un observateur s'avère alors nécessaire.
Dans le but de montrer l'efficacité de l'approche BAN, nous nous sommes proposés de
la valider sur deux modèles physiques non linéaires, en l'occurrence le pendule simple et le
pendule inversé.
X F( X ) G( X ).θ Q( X )u D( X , ,t ) (II.1)
avec X Rn est le vecteur d'état et u est la loi de commande scalaire. Les fonctions
F( X ) R n , G( X ) Rn et Q( X ) R n sont connues, D( X , ,t ) R n est une fonction
connue, est le vecteur paramétrique connu et θ le vecteur paramétrique inconnu.
Le modèle à étudier peut être décrit par la forme :
y x1
44
Chapitre II : Commande backstepping neuronale avec observateur
avec : 1 x, ,t h1
avec :
z2 x2 1 y r (II.8)
2ème étape :
La deuxième dérivée de la fonction Lyapunov s’écrit :
En se référant aux expressions (II.8) et (II.9), nous pouvons déduire la deuxième fonction
stabilisante suivante:
α2 z1 c2 z2 2T θˆ 1 x2 1 1T θˆ 1 h1 1 y r 1 ˆ h2 (II.11)
x1 x1 x1 yr ˆ
avec : 2 x, ,t h2
45
Chapitre II : Commande backstepping neuronale avec observateur
où :
z3 x3 2 yr( 2 ) (II.13)
(n-1)ème étape :
Suivant les mêmes démarches, on peut déduire les expressions de la (n-1)ème étape.
La variable erreur est :
n 1
n 1 n 1 i 1
Vn 1 ci zi2 zn 1 zn θT zi i zi i 1 k
i 1 i 1 i 2 k 1 xk
n2
n2
zn 1 n 1 hn 1 i hi zi zk 1 k (II.18)
i 1 k i xi
n 1
n 1 n1 i 1
ci zi2 zn 1 zn θT zi i zi i 1 k
i 1 i 1 i 2 k 1 xk
n 1
n 1 n 1
n 1
n 1
n 1 xi 1 n 1 i n 1 iT θˆ ( in11) yr( i )
i 1 xi i 1 xi i 1 xi i 1 yr
(II.19)
n 1
n 1
( ni 11) ˆ ( i ) n 1 iT θ
ˆ
i 1 i 1 xi
46
Chapitre II : Commande backstepping neuronale avec observateur
(n)ème étape :
La variable erreur est :
et sa dynamique s'écrit :
n 1
zn f n x g n x u nT θˆ nT θ n n 1 xi 1 i
i 1 xi
(II.21)
n 1 n 1
n 1
n 1
n 1 iT θˆ ( in11) yr( i ) ( ni 11) θˆ ( i ) n 1 iT θ
i 1 xi i 1 yr
ˆ
i 1 θ i 1 xi
et sa dérivée s'écrit :
Vn Vn 1 zn zn θT 1 θˆ
n
ci zi2 zn zn 1 cn zn f n x g n x u nT θˆ n yr( n )
i 1
n 1
n 1 n 1
n 1 T ˆ n 1 n 1 ( i ) n 1 n 1 ˆ ( i )
i 1 i
x i θ ( i 1 ) yr ( i 1 ) θ (II.23)
xi i 1 xi i 1 yr
ˆ
i 1 θ
i 1
n 1 n 1 i 1
n 1
θT zi i zi i 1 k zn n zn n 1 i 1 θˆ
i 1 i 2 k 1 xk i 1 xi
n2
n2
+zn 1 n 1 hn 1 i hi zi zk 1 k
i 1 k i xi
n 1 T ˆ n 1 n 1 ( i ) n 1 n 1 ˆ ( i )
n 1
i θ ( i 1 ) yr ( i 1 ) θ yr( n ) (II.24)
i 1 xi i 1 yr
ˆ
i 1 θ
avec : n x, ,t hn
n n i 1
θ̂ zi i zi i 1 k (II.25)
i 1 i 2 k 1 xk
47
Chapitre II : Commande backstepping neuronale avec observateur
On considère le même modèle que celui utilisé pour la commande adaptative décrite
précédemment. Cependant, pour une question d'adéquation de l'application de la procédure
neuronale, les perturbations et les paramètres sont regroupés dans les fonctions fi.
De plus, la fonction de commande g n x contient un terme de pondération a
représentant un bruit.
On considère la classe de système non linéaire SISO suivante :
x1 f 1(x 1 , x 2 ) x 2
x 2 f 2 (x 1 , x 2 , x 3 ) x 3
x j f j (x 1 ,....., x j 1 ) x j 1 x 0 x 0 , 1 j n-1 (II.26)
x n f n x a x u
y x1
N
n
Fnn (x1 ,.....,xn ) wr vir xi v( n 1 )r (II.27)
r 1 i 1
48
Chapitre II : Commande backstepping neuronale avec observateur
avec : vir ( i 1, , n ) est le poids d’entrée du neurone d’indice i vers un neurone r de la
couche cachée, wr est le poids du neurone r de la couche cachée vers un neurone de
sortie, v( i 1 )r est le biais (seuil) lié au neurone r caché, N est le nombre de neurones
cachés et est la fonction d’activation du neurone (soit sigmoïdal ou tangente
hyperbolique).
n
W T V T x wr vir xi v( n 1 )r
N
(II.28)
r 1 i 1
où : x x1 ,... xn ,1 est le vecteur des états augmenté avec 1, W est le vecteur constitué
T
de tous les wr , V est la matrice avec N colonnes r 1,...,N où chaque colonne est
T
donnée par Vr tel que Vr v1r ,..., vnr , v( n1 )r .
f x W T V T x x (II.29)
avec : x N
Soient Ŵ et V̂ les estimations des poids réels W et V . On peut définir les erreurs
d’estimation des poids :
ˆ ; V V Vˆ
W W W (II.30)
ˆ V T x Vˆ T x (II.31)
f f ˆf W T V T x W
ˆ T Vˆ T x (II.32)
V T x Vˆ T x Vˆ T x V T x O V T x
2
(II.33)
49
Chapitre II : Commande backstepping neuronale avec observateur
W T V T x W
ˆ T Vˆ T x W T Vˆ T x Vˆ T x Vˆ T x W
ˆ T Vˆ T x V T x du (II.34)
où :
du W T Vˆ T x V T x W T V T x
2
(II.35)
=W Vˆ x V
T T T
T
x W V T x Vˆ T x
Vˆ T x V T x
Pour la fonction d'activation sigmoïde, qui est continue et dérivable dans un intervalle,
on peut effectuer la contrainte suivante:
W T Vˆ T x V T x W T V T x
W T . Vˆ T x V
. x.Wˆ T Vˆ T x
2
F
WT (II.36)
F 1
Pour traiter ce cas, nous avons besoin d’approximer les fonctions incertaines
f i ( i 1, , j ) du système (II.26) par des réseaux de neurones, et déduire la loi de
commande basée sur l'approche backstepping comme cela est décrit ci-dessous. Enfin, les
lois appropriées d'adaptation des paramètres sont développées pour mettre à jour les poids
des réseaux neuronaux. La procédure de conception sera détaillée dans l’exemple du
système d’ordre trois suivant :
x1 f1(x1 ,x2 ) x2
x2 f 2 (x1 ,x2 ,x3 ) x3
(II.37)
x3 f3 x a x u
y x1
1ère étape :
En se basant sur l’équation (II.29), la première fonction peut s’écrire :
1 ku1 z1 Wˆ 1T Vˆ1T x2 v1 t y r (II.39)
50
Chapitre II : Commande backstepping neuronale avec observateur
1
2 2
ˆ T Vˆ T x
v1( t ) kv1 x2 .W Vˆ1T x2 Vˆ1T x2 z1 (II.41)
1 1 2
2 F
z1 f1 x1 ,x2 z2 1 y r
(II.42)
ku1 z1 W1T V1T x2 1 x1 ,x2 Wˆ 1T Vˆ1T x2 z2 v1 t
2ème étape :
La dynamique de l’erreur z2 est donnée par :
où :
1 1 ˆ N
1 x1 1 x2 1 y r ( 11) yr( 2 ) W1 1 Vˆ1r (II.44)
x1 x2 yr yr ˆ
W ˆ
r 1 V1r
1
2 z1 ku 2 z2 Wˆ 2T Vˆ2T x3 v2 t (II.46)
51
Chapitre II : Commande backstepping neuronale avec observateur
1
2 2
ˆ T Vˆ T x
v2 ( t ) kv 2 x3W Vˆ2T x3 Vˆ2T x3 z2 (II.48)
2 2 3
2 F
3ème étape :
Pour z3 x3 2 , l’expression de la dynamique est :
z3 f3 x a x u 2
2
(II.50)
1 2 f3 1 2 aˆ x u a 1 2 x u 2 xi 2
x3 x3 x3 i 1 xi
Avec :
2
2 ( i ) 2 2 ˆ N 2 ˆ
2 yr
ˆ i
W
ˆ ir
V (II.51)
i 1 yr( i 1 ) i 1
W i r 1 V ir
aˆ a 1 2 a x uz3 aˆ (II.52)
x3
u
1
1 2 / x3 aˆ x
z2 ku 3 z3 Wˆ 3T Vˆ3T x4 v3 t
(II.53)
tel que :
1
2 2
ˆ T Vˆ T x
v3 ( t ) kv3 x4W Vˆ3T x4 Vˆ3T x4 z3 (II.54)
3 3 4
2 F
52
Chapitre II : Commande backstepping neuronale avec observateur
avec : Ŵ3 , V̂3 sont respectivement l’estimation de W3 et V3 . Les mises à jour de ces poids
sont :
Wˆ 3 F3 Vˆ3T x4 z3 F3 Vˆ3T x4 Vˆ3T x4 z3 F3Wˆ 3
(II.55)
Vˆ3 G3 x4Wˆ 3T Vˆ3T x4 z3 G3Vˆ3
II.4.1 Problématique
53
Chapitre II : Commande backstepping neuronale avec observateur
Réseau
MLP
Perturbations
Vˆ et Wˆ
Signal de ˆ
référence yr
Sortie y
Commande Processus
Estimation
des
paramètres
X̂
Observateur
54
Chapitre II : Commande backstepping neuronale avec observateur
Dans ce qui suit, le modèle incertain considéré fait appel à un observateur. Cependant,
pour une question d'adéquation d’approximation de quelques fonctions non linéaires du
système, les hypothèses citées précédemment permettent au système incertain de prendre la
forme :
x p 1 x p p 1(y)T .θ p 1 y p 1 x,t
T
x p x p 1 p (y)T .θ p y p x,t am .u
T
(II.56)
xn-1 xn n 1 (y)T .θ n 1 y n 1 x,t a1 .u
T
y x1
tel que : xi i 1, n et y sont respectivement les états d’entrée et de sortie du système,
u est la commande, θ R P est un vecteur de paramètres inconnus, i y : R R P est un
vecteur de fonctions non linéaires inconnues qu’on doit approximer par les réseaux de
neurones, i x, t sont des perturbations et am , am1 ,....., a0 sont des constantes inconnues.
Dans le but de concevoir un observateur, le système (II.56) peut être représenté par la
somme :
- d’une partie connue linéaire,
- d’une partie non linéaire inconnue liée aux paramètres inconnus,
- d’une partie non linéaire indépendante des paramètres inconnus,
- d’une fonction de commande,
- d’une partie de perturbations.
0
x A.x T (y) .θ y b .u + x,t (II.57)
55
Chapitre II : Commande backstepping neuronale avec observateur
où :
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 0
A ;
0 0 0 0 1 0
0 0 0 0 1
0 0 0 0 0 0
T
(y) 1 (y) 2 (y) i (y) n (y) ;
T
(y) 1T (y) 2T (y) iT (y) nT (y) ;
b T am a0 ; x x1 x2 xi xn ; θ θ1 θ2 θi θ p
T T
am-1 ... ... a1
A noter que seule la sortie x1 qui est mesurable. Puisque x est indisponible, nous
devons concevoir des filtres pour estimer certains signaux pour la conception de la
commande. Ces filtres sont donnés par les expressions générales suivantes :
(t ) A.0. K . y y (II.58)
T A . T y
(II.59)
0
A0 . en .u (II.60)
tel que :
K k1 ,.......k n est choisi de tel sorte que A0 A K .e1T soit de Hurwitz, R n ,
T
R n , R n et R n.m .
0
x̂ A0 .xˆ K . y ( y ). y .u (II.63)
b
56
Chapitre II : Commande backstepping neuronale avec observateur
u
moteur
q
mg
ce qui implique :
1
L m 2q 2 mg 1 cos q (II.65)
2
57
Chapitre II : Commande backstepping neuronale avec observateur
Dans ce qui suit, le système considéré est perturbé, on considère seulement la position
x1 qui est mesurable, et la fonction non linéaire dépend seulement de la sortie :
x1 x2 1
x2 θ ( y ) θu u 2 (II.71)
y x1
II.4.3.2 Observateur
Afin de concevoir la loi de commande adaptative souhaitée, nous réécrivons le
système (II.71) dans la forme suivante :
x1 0 1 x1 0 1 0
x 0 0 x y . .u (II.72)
2 2 2 u
58
Chapitre II : Commande backstepping neuronale avec observateur
0 1 k
Dans notre cas, le système est d’ordre deux et avec A , K 1 , on aura :
0 0 k2
0 1 k1 0 k1 1
A0
0 k 2 0
(II.73)
0 0 k 2
1 k1 . 1 2 k1 .y 1
(II.74)
2 k2 . 1 k2 .y 2
2ème filtre
1 k1 .1 2
(II.75)
2 k2 .1 y
3ème filtre
4ème filtre
La commande se trouve seulement dans l’expression de 2 (i=0), alors on peut définir
ce filtre par l’expression:
0 0 1 0
0 . (II.77)
0 1 2 2
xˆ 1 k 1.xˆ 1 xˆ 2 k 1.y 1
(II.79)
xˆ 2 k 2 .xˆ 1 k 2 .y y . u .u 2
59
Chapitre II : Commande backstepping neuronale avec observateur
Sa dynamique s’écrit :
ε A0 .ε
1 k1 1 1 (II.80)
k 0 2
.
2 2
Cette dernière garantie que pour ε tend vers zéro, x̂ atteindra la valeur réelle x .
1ère étape :
z2 2 .θˆu y r α1 (II.83)
1 2 1 2 1 2 1 T
L1 z1 θ θu ε .P .ε (II.84)
2 2 g 2 gu d1
60
Chapitre II : Commande backstepping neuronale avec observateur
1 1 1
L1 z1 .z1 θ θˆ θu θˆu εT P.A0 A0T .P .ε
g g u d1
(II.85)
1 1 1
z1 . y y r θ θˆ θu θˆu εT .ε
g g u d1
y x1 x 2 1 ˆx 2 2 1
(II.86)
x̂ 2 2 2. u .2 2 1
1 1 1
L1 z1 . 2 2 . u .2 2 1 y r θ θˆ θu θˆu ε T ε
g g u d1
1 1
1
z1 . 2 2 .ˆ ˆu .2 1 y r θl z1 . 2 θˆ θu z1 .2 θˆu z1 . 2 ε T ε (II.87)
g gu d1
c1 z12 d1 z12 z1 . c1 z1 d1 z1 2 2 .ˆ ˆu .2 1 y r
1 1 1
θl z1 . 2 θˆ θu z1 .2 θˆu z1 . 2 ε T ε
g gu d1
α1 c1 z 1 d1 z 1 h1 ζ 2 2 .θˆ (II.88)
avec : 1 h1
ce qui donne :
1 1 1
L1 c1 z12 z1 .z2 d1 z12 θ z1 . 2 θˆ θu z1 .2 θˆu z1 .ε2 z1 .1 h1 ε T ε
g g u d 1
2
1 1 2 1 T 1
c1 z12 z1 .z2 d1 . z1 ε2 ε2 ε ε θ z1 . 2 θˆ
2.d1 4 d1 d1 g (II.90)
1
θu T z1 .2 θˆ u z1 .1 h1
gu
3 T 1 1
c1 z12 z1 .z2 ε ε θ z1 . 2 θˆ θu z1 .2 θˆu z1 .1 h1
4.d1 g gu
61
Chapitre II : Commande backstepping neuronale avec observateur
2ème étape :
z1 z2 z1
d 2 .θˆ u y r α1 z .θˆ .θˆ y α
1 2 u 2 u r 1
dt
z1 2 .θˆ u u k2 .λ1 .θˆu c1 . ζ 2 2 θˆ 2 .θˆ u ε2 1 c1 . y r (II.94)
2 k2 . ζ 1 y θˆ (y) k2 .1 2 θˆ
yr c1 . 2 θ 2 .θu
ce qui donne :
L2 c1 z12 c2 z2 2
z2 z1 c2 z2 d 2 ( c1* )2 .z2 k2 . ζ 1 1 θˆ 1 .θˆ u y c1 . ζ 2 2 θˆ 2 .θˆu 1
yr 2 .θˆu 2 θˆ
(II.95)
2 θˆ u .u θˆ y c1 y r
1 1
θl z1 . 2 θˆ z2 c1 2 θu T z1 .2 θˆ u z2 c1 2
g gu
3 T 3 T
ε ε ε ε z1 1 h1
4.d1 4.d 2
3ème étape :
Le réseau neuronal MLP se compose dans notre exemple d'une couche d’entrée, une
couche cachée (avec quatre neurones) et une couche de sortie. La structure du réseau MLP
62
Chapitre II : Commande backstepping neuronale avec observateur
est représentée par la figure II.3, où x1 représente l’état d'entrée, ̂ est l’approximation de
la fonction non linéaire inconnue, i est la fonction d’activation sigmoïdale du ième
neurone (i=1,…,4), V1i est le vecteur des poids d’entrée lié au neurone i et à l’état x1, W est
le vecteur des poids de sortie.
b1
1 w1
V11 b2
V12 2 w2
x1 ̂
V13 b3 w 3
V14 3
w4
b4
4
La fonction d’activation sigmoïdale utilisée dans notre cas est donnée par l’expression :
1
y , 0 (II.97)
1 exp y
La fonction non linéaire qu’on va approximer par le réseau neuronal est définie par
l’expression :
y W T . V T y e y (II.99)
63
Chapitre II : Commande backstepping neuronale avec observateur
tel que : e y exprime l’erreur d’approximation, y [y 1] est le vecteur d’état augmenté par 1.
x1 x 2 1
x2 l W T V T y e y uu 2 (II.100)
y x1
La relation qui existe entre une valeur réelle, son estimation et l’erreur d’estimation est
définie par :
~ ~
W Wˆ W ; V Vˆ V (II.101)
1 T 1 1 T 1
L3 L2 W F W V G V (II.102)
2 2
~
V T y Vˆ T y Vˆ T y V T y V T y ~ 2
(II.104)
~
avec : V T y
2
est l'erreur d’ordre 2 qui peut être bornée.
V
ˆ y W V
ˆ y W V
ˆ y V y W V
ˆ y V Vˆ y V
2
ˆT
W T T ˆ T T T T T T T
y W T T ˆ T
y W T VT y
64
Chapitre II : Commande backstepping neuronale avec observateur
W T Vˆ T y V T y W T V T y
2
W T Vˆ T y V T y W T V T y W T Vˆ T y W T Vˆ T y V T y
(II.106)
W T
. V y Vˆ y W Vˆ y V y W Vˆ y V
T T T T T T T T
y
WT . V y Vˆ y W Vˆ y Vˆ y Wˆ Vˆ y V
T T T T T T T T
y
W T Vˆ T y V T y W T V T y
W T . Vˆ T y V
ˆ T Vˆ T y
2
F
. y.W WT (II.107)
F 1
h2 ˆW
ˆ T y v(t ) g g c y y
ˆ T V
2 2 u u 1 r r
tel que :
c1z 2 z1 2 (II.110)
u c
1 2
z z
1 2
1
v(t ) k. y.Wˆ T Vˆ T y 2
2
Vˆ T y .Vˆ T y .z 2 eM (II.111)
2 F
65
Chapitre II : Commande backstepping neuronale avec observateur
Les lois de mise à jour sont définies par les expressions suivantes :
ˆ g g c z z z W ˆ T Vˆ Ty
1 2
1 2 2
ˆ g g c z z
u u u u
1 2 1 2 (II.112)
ˆ ˆ ˆ T
W F V y z 2 F V ˆ ˆ Ty V
ˆ T yz FW
2 ˆ
Vˆ ˆ Gy.Wˆ T V ˆ T y z GV ˆ
2
Le but est de régler l'angle de la tige. Dans cette application, les paramètres
sélectionnés pour le pendule sont : m 0.1 Kg, 0.23 m, g 9.81 m / s 2 .
4 4
Sortie y(___) suit la consigne yr(---)
3 3
x1_ est (___) et x1 (---)
2 2
1 1
0 0
-1 -1
-2 -2
0 2 4 6 8 10 0 1 2 3 4 5 6
Temps(seconde) Temps(seconde)
Fig. II.4 : Consigne et signal de sortie Fig. II.5 : Signal de sortie et son estimation
4
5 3
poursuite y-yr
ande u(t)
2 66
1
0
Sortie y(__
x1_
-1 -1
Chapitre II : Commande backstepping neuronale avec observateur
-2 -2
0 2 4 6 8 10 0 1 2 3 4 5 6
Temps(seconde) Temps(seconde)
5 3
1
0
0
-1
-5
-2
0 1 2 3 4 5 6 0 2 4 6 8 10
Temps(seconde) Temps(seconde)
-30 250
200
-35
-30 250
u et u estu et u est
l et l est l et l est
150
-40 200
-35 100
-45 150
-40 50
100
-50 0
-45 0 2 4 6 8 10 0 2 4 6 8 10
Temps(seconde) 50 Temps(seconde)
-50
0 Fig. II.8
2 : Estimation
4 du6 paramètre
8 10
0
0 Fig. II.9
2 : Estimation
4 du6 paramètre
8 u 10
20 Temps(seconde) 2 Temps(seconde)
estimé et réel
estimé et réel
0
0
-2
2
20
et réel
et réel
-20 -4
0
estiméV11
Poids W1
0
-6
Poids W1 estimé
-2
Poids V11 Poids
-40
-20 -8
-4
-60 -10
-6
0 2 4 6 8 10 0 2 4 6 8 10
-40
Temps(seconde) -8 Temps(seconde)
-60 -10
0 2 4 6 8 10 0 2 4 6 8 10
Temps(seconde) Temps(seconde)
Fig. II.10 : Estimation du poids d’entrée V11 Fig. II.11 : Estimation du poids de sortie w1
67
Chapitre II : Commande backstepping neuronale avec observateur
Dans ce cas, les mêmes paramètres du pendule sont maintenus. Les gains d'adaptation
sont c1 c2 3 et d1 d2 5 . Les gains de l'observateur sont k1 300, k2 600 .
8 4
la consigne yr(---)
6 2
8 Commande u(t) 4
suityr(---)
4 0
consigne
6 2
2 -2
suit lay(___)
Commande u(t)
4 0
Sortie y(___)Sortie
0 -4
20 2 4 6 8 10 -2 0 2 4 6 8 10
Temps(seconde) Temps(seconde)
0 -4
8 Fig. II.12 : Consigne et signal de sortie -30 Fig. II.13 : Loi de commande neuronale
0 2 4 6 8 10 0 2 4 6 8 10
Temps(seconde) Temps(seconde)
de poursuite y-yr
6 -35
l et l est
8 -30
4
-40
erreur y-yr
6 -35
2
erreur de poursuite
-45
l et l est
4
0 -40
-50
20 2 4 6 8 10 0 2 4 6 8 10
Temps(seconde) -45 Temps(seconde)
0
-50
0 2 4 6 8 10 0 2 4 6 8 10
Temps(seconde) Temps(seconde)
68
Chapitre II : Commande backstepping neuronale avec observateur
200 10
180
200 10
140
180 -10
10 60paramètre
Fig. II.16 : Estimation du 10 -30 d’entrée V
0 2 u 4 6 Fig. II.17
8 : Estimation
10 du poids
0 2 11 4 6 8
Temps(seconde) Temps(seconde)
Poids W1 estimé et réel
-30 -30
0 2 4 6 8 10 0 2 4 6 8
Temps(seconde) Temps(seconde)
De nouveau, les résultats relatifs à une consigne variable sont là pour appuyer la
validité de l'approche BAN avec observateur.
La figure II.12 exprime un suivi parfait de la consigne variable, et la commande
correspondante (figure II.13) est en accord avec la dynamique infligée au système et ceci
en dépit de la présence de perturbations sinusoïdales.
Par ailleurs, l'erreur de suivi converge vers zéro en un temps relativement faible
(figure II.14).
De plus, l'estimation des paramètres u et intrinsèques au modèle du pendule est
réalisée suivant les prévisions attendues. Aussi, les poids d'entrée et de sortie du premier
neurone, pris ici comme exemple, sont convergeants.
69
Chapitre II : Commande backstepping neuronale avec observateur
II.5.1 Problématique
On s’intéresse dans cette partie à la commande BAN d’un pendule inversé. Le modèle
est supposé être incertain et présenter des perturbations. Le réseau de neurones retenu est
l’MLP.
Le système de cette présente étude offre des caractéristiques intéressantes permettant
d’illustrer quelques problèmes. Il s’agit d’un système instable parfaitement décrit par un
modèle non linéaire obtenu en appliquant les lois de la physique. Le but de conception de
la loi de commande est de stabiliser le pendule dans sa position d’équilibre verticale
instable.
Il est noter que ce modèle est très intéressant du point de vue commande. En effet,
selon les besoins tracés par le cahier des charges, on peut opter soit pour la commande en
position linéaire, soit pour la commande de l'angle d'inclinaison de la tige du pendule.
Les techniques de réseaux de neurones ont été trouvées pour être particulièrement utile
pour la commande des systèmes non linéaires avec une incertitude non linéaire paramétré.
70
Chapitre II : Commande backstepping neuronale avec observateur
Pour chaque fonction k , un réseau MLP a été choisi pour son approximation. Cette
considération mène à la représentation suivante du système :
x1 x 2 1 x , , t
4 4 1
x2 w2i 2i V2 pi .x p b2i 2 x u 2 x , , t
i 1 p 3
cos x 3
(II.116)
x 3 x 4 3 x , , t
4 4 1
x 4 w 4i 4i V4 pi .x p b4i 4 x u 4 x , , t
i 1 p 3
1ère étape :
Les équations (I.78) et (I.79) restent valables, saut que la dérivée de V3 s’écrit :
Ce qui donne :
V3 c3 z 3 z 3 .z 4 z 3 3 h3
2
(II.119)
2ème étape :
A partir des équations (II.15-II.19), la dérivée de la fonction V4 s’écrit :
V4 c3z 32 c4z 42 z 4 z 3 c4z 4 W4T V4T x 4 x ˆ.u
1 ˆ (II.120)
4 yr(2) .u z 3 3 h3 W T F 1Wˆ VTG 1Vˆ
tel que :
1
v(t ) k. x.Wˆ 4T Vˆ4T x
2
2
Vˆ4T x .Vˆ4T x .z 4 4 M h4 (II.122)
2 F
71
Chapitre II : Commande backstepping neuronale avec observateur
On peut déduire alors les lois de mise à jour du paramètre et des poids estimés :
ˆ z 4u (II.123)
Les paramètres du pendule sont les même que ceux du premier chapitre. Dans cette
dernière simulation, les gains de la fonction de Lyapunov sont fixés à c1 c2 10 et
10 . Le réseau utilisé contient trois neurones dans la couche cachée et tous les biais et
poids sont estimés par cette technique.
Les performances de la loi de commande adaptative neuronale sont vérifiées sur le
modèle perturbé en supposant que les fonctions non linéaires sont inconnues. De plus, la
longueur de la tige est à estimer.
La figure (II.19) montre que la position angulaire souhaitée est suivie en un temps très
acceptable. Le temps de réponse est inférieur à 0.4 sec. La commande obtenue
(figure II.20) est raisonnable. L'erreur de suivi représentée par la figure II.21 est
admissible.
La longueur de la tige du pendule est correctement évaluée (figure II.22). Par ailleurs,
les estimations des poids d'entrée et de sortie ainsi que le biais du premier neurone, pris
comme exemple, sont stables au régime permanent.
1 10
Sortie y(___) suit la consigne yr(---)
0
Commande u(t)
0.5
-10
0 -20
-30
-0.5
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Temps(seconde) Temps(seconde)
Fig. II.19 : Consigne et signal de sortie Fig. II.20 : Loi de commande neuronale
0.4 1
mètre l et son estimation
rreur de poursuite y-yr
0.2
0.5
0
0
-0.2
72
-0.5
-0.4
0 -20
C
Sortie y(__
Chapitre II : -30
Commande backstepping neuronale avec observateur
-0.5
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Temps(seconde) Temps(seconde)
0.4 1
0.2
0.5
0
0
-0.2
-0.5
-0.4
-1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Temps(seconde) Temps(seconde)
2
1.5
Poids V131 estimé et réel
Poids W41 estimé et réel
1.5
2 1
1.5
1
1.5 0.5
1
0.5
1
0
0 0.5
0.5
-0.5 -0.5
0
0
-1 -1
0 0.2 0.4 0.6
-0.5 0.8 1 0 0.2 0.4 -0.5
0.6 0.8 1
Temps(seconde) Temps(seconde)
-1 -1
0 0.2
Fig. II.23 : Estimation du poids de sortie w41 0.4 0.6 0.8
Fig. II.24 0.2
: Estimation du poids d’entrée V131 0.4 0.6 1 0 0.8
Temps(seconde) Temps(seconde)
1.5 1.5
le bais réel b1 et son estimation
1 1
1.5 1.5
le bais réel b1 et son estimation
0.5 0.5
1 1
0 0
0.5 0.5
-0.5 -0.5
0 0
-1 -1
0 0.2 0.4 -0.5
0.6 0.8 1 0 0.2 0.4 -0.5
0.6 0.8 1
Temps(seconde) Temps(seconde)
-1 -1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8
Temps(seconde) Temps(seconde)
73
Chapitre II : Commande backstepping neuronale avec observateur
II.6 Conclusion
Dans ce chapitre, nous nous sommes intéressés à la commande d'une certaine classe de
systèmes non linéaires, en l'occurrence les systèmes incertains.
Nous avons développé les commandes backstepping adaptative et backstepping
adaptative neuronale (BAN) et nous les avons appliquées sur deux procédés physiques
(pendule simple et pendule inversé).
Les deux types de signaux de référence (constante et variable) considérés montrent
l'efficacité de la technique BAN. Il est clair que l'utilisation d'un réseau neuronal offre une
grande robustesse pour le contrôle des systèmes non linéaires incertains. En présence
d'incertitudes, la commande BAN avec observateur apporte des améliorations notables par
rapport à la commande backstepping classique en termes de robustesse et de résolution de
problèmes tels que le rejet de perturbations, l'estimation des états et des paramètres
inconnus du système et l’approximation des fonctions non linéaires.
74
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
Chapitre III
III.1 Introduction
Les moteurs synchrones à aimants permanents (MSAP) sont d'un grand intérêt pour les
applications industrielles nécessitant des performances dynamiques en raison de leur haute
vitesse, haute efficacité, haute densité de puissance, et un couple important. Il est à noter
que la commande d'une telle machine est difficile en raison de son modèle non linéaire et
multivariable. De plus, les paramètres du modèle, tels que la résistance du stator et le
coefficient de frottement ne sont pas exactement connus (système incertain).
La commande des MSAP a récemment reçu une large attention et est devenue un
domaine de recherche actif. Certaines techniques de commande avancées, telles que la
commande à mode glissant [22-24], la commande adaptative [23, 25], la commande
backstepping [1] et [26, 27] et la commande par logique floue [28-30] sont utilisées pour
les problèmes de vitesse ou de position.
L'objectif de ce présent chapitre est de développer la commande backstepping
adaptative neuronale (BAN) à la machine MSAP en supposant que son modèle est
incertain où nous attacherons une attention particulière à l'estimation de certains
paramètres tels que la résistance statorique, le coefficient de frottement et le moment
d'inertie.
III.2.1 Introduction
Les moteurs synchrones à aimants permanents (MSAP) sont généralement utilisés
dans les entraînements de vitesse à hautes performances et efficacités. Leur commande se
caractérise par un changement en douceur de la vitesse sur une plage particulière de
fonctionnement, le contrôle total du couple à vitesse nulle, et rapidité d’accélération et de
décélération. Pour atteindre un tel but, différentes techniques vectorielles sont utilisées
pour contrôler et stabiliser ce type de machine. Ces techniques de commande vectorielles
75
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
sont généralement aussi appelées commande par orientation du flux. L'idée de base de
l'algorithme de la commande vectorielle est d’introduire un découplage du courant
statorique dans le champ magnétique d’une part, et le couple de la machine d’autre part.
Les deux composantes peuvent être commandées séparément après décomposition.
Ensuite, la structure de la commande vectorielle du moteur est presque la même que celle
d'un moteur à courant continu à excitation séparée, ce qui simplifie la commande d'un
moteur synchrone à aimants permanents.
Enroulements statoriques
76
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
La commande des moteurs à courant continu DC est simple car toutes les quantités
commandées sont des valeurs constantes et dans un état stable, et le courant de phase/angle
est contrôlé par un procédé mécanique. Comment peut-on réaliser le contrôle des courants
de phase pour atteindre un couple maximal dans le cas de la commande du MSAP ?
Tout d'abord, nous avons besoin de connaître la position du rotor. La position est
généralement liée à la phase A. On peut utiliser un capteur de position absolue ou un
capteur de position relative et un processus appelé alignement. Pendant l’alignement, le
rotor est aligné avec la phase A et nous savons que la phase A est alignée avec l’axe direct
(production flux). Dans cet état, la position du rotor est fixée à zéro (tension requise dans
l'axe d).
1. Les quantités triphasées peuvent se transformer en quantités équivalentes à deux
phases (repère de référence fixe) par transformation de Clarke.
2. Ensuite, nous transformons les deux quantités de phases en quantités continues DC
par la position électrique du rotor en valeurs DC (rotation du repère de référence)
par la transformation de Park.
La position électrique du rotor est une position mécanique divisée par le nombre de
paires de pôles magnétiques np. Après un processus de commande, nous devons générer
des tensions triphasées aux bornes des moteurs, donc les valeurs DC des tensions
requises/générées doivent être transformées par les transformations inverses de
Park/Clarke.
Toutes les quantités sont maintenant des valeurs continues, qui sont faciles à contrôler,
mais comment pouvons-nous les contrôler en grandeur ?
Pour la commande d'amplitude, nous utilisons des régulateurs PI dans la structure en
cascade. On peut contrôler plusieurs variables d'état telles que le courant de phase (boucle
de couple), la vitesse ou la position comme dans le cas des moteurs à courant continu.
77
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
machine ( I d 0 ), d’où le mode de fonctionnement est optimal car le moteur
2
créera dans ce cas un couple maximum. En effet, l’expression du couple montre que pour
le contrôler, il faut commander les composantes I d et I q . Dans le cas d’une machine à
pôles lisses ( Ld Lq ) le couple est maximum pour I d 0 , tandis que pour le cas d’une
machine à pôles saillants, le couple est maximum pour une valeur optimale de I d . A
retenir aussi que l’annulation de la composante I d provoque une réduction du courant
statorique, ce qui permet un bon fonctionnement de la machine dans une zone
non saturée [31].
Phase A
Changement d d Changement Phase A
du référentiel Processus du référentiel SVM
Phase B Transformation rotationnel Space Phase B
stationnaire d’alignement
Triphasé/Biphasé vers le vers le Vector
Phase C q de q
stationnaire Modulation
Phase C
rotationnel commande
( , )/( d ,q ) ( d ,q )/( , )
78
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
Afin de concevoir un système de contrôle, nous avons besoin de tout savoir sur la
structure du système à savoir le modèle mathématique. Dans notre cas, le système à
commander est le moteur synchrone à aimants permanents dont le modèle est donné ci-
dessous.
Les courants alternatifs dans le stator créent un champ magnétique tournant à la
pulsation :
F
r ; nr (III.1)
np np
avec :
r : vitesse de rotation du champ tournant en rad/s (vitesse mécanique) ;
: pulsation des courants alternatifs en rad/s. 2F (vitesse électrique) ;
nr : vitesse de rotation du champ tournant en tr/s ;
F : fréquence des courants alternatifs en Hz ;
n p : nombre de paires de pôles.
79
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
Le modèle de la machine synchrone dans un repère (d-q) avec l’axe d aligné sur le flux
rotorique est : [33]
d Ld Id m (III.4)
q Lq I q (III.5)
d r
Ce C r J f r (III.6)
dt
Pour une machine à f.é.m. sinusoïdale dont le flux est imposé par les aimants
permanents, le couple électromagnétique est donné par :
3n p
Ce
2
I L
m q d
Lq I d I q (III.7)
3n p
Ce m I q (III.8)
2
80
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
Vd np r Lq I q (III.11)
dI q
Vq RI q Lq n p r m (III.12)
dt
d r
Ce C r J f r (III.13)
dt
3n p
Ce m I q (III.14)
2
81
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
avec :
f 1 C 3
a1 , a2 , a 3 r , n p 2 (III.16)
J J J 2
Le système d'équations suivant est obtenu en tenant compte des perturbations externes :
d
a1 a2 (m Ld Lq I d )I q n pa 3 1(t )
dt
dI q R I Ld I m 1 V (t )
(III.17)
dt Lq q Lq d Lq Lq q 2
dI d R L 1
I d q I q Vd 3 (t )
dt
Ld Ld Ld
tel que : i t , i 1, 2,3 sont des scalaires non linéaires connus contenant toutes les
perturbations. Ils sont bornés par des fonctions positives connues hi R tel que :
i t hi , i 1, 2, 3.
82
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
pour construire une fonction de Lyapunov et une action correspondante de commande pour
la stabilité du système. Dans ce qui suit, l'idée est de concevoir une commande non linéaire
pour le contrôle de la vitesse du MSAP.
Cette conception est basée sur la commande vectorielle, où la boucle externe assure le
contrôle de l'erreur de vitesse, et la boucle interne (des courants) assure le contrôle de
couple et de flux. Dans ce cas, les composantes de courants Id et Iq sont découplées. Les
courants de référence Id* et Iq* sont déterminés par la boucle externe. Habituellement, Id*
est nul pour maintenir le flux constant.
Notre but est de commander le moteur pour atteindre la vitesse désirée, ce qui va se
traduire par le calcul permanent de l’erreur de vitesse.
Les erreurs sont définies par les expressions suivantes :
z1 *
z2 Iq Iq
*
(III.18)
z3 I d
z1 * a1 a2 m Ld Lq z3 I q n p .a3 1(t) (III.19)
Rs Ld m 1
z2 I*q Iq z 3 Vq 2(t) (III.20)
Lq Lq Lq Lq
Rs Lq 1
z3 z3 Iq Vd 3(t) (III.21)
Ld Ld Ld
1 2
V1 z (III.22)
2 1
83
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
V1 z1 * a1 a2 m Ld Lq z3 I q np .a3 1(t) (III.23)
1
I q*
â2 m
k1z1 * ˆ
a1 n p ˆ
a3 h1 (III.24)
V1 k1z12 ˆ
a2 Ld Lq I q z3 z1 z1 1 h1
a2 m z 2 z1 ˆ
(III.25)
z1 a1 a2 m Ld Lq z3 I q n p z1a3
1
V2 V1 z 22 (III.26)
2
Iq* g1 a1 a2 m Ld Lq z3 I q n p a3 1 (III.28)
tel que:
â 1
k1
â2 m
(III.29)
1 â
g1
ˆa2 m
a1 n p ˆ
k1 * * ˆ
ˆa2
a3 2 I q*
ˆ
84
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
R̂ L
1
V2 V1 z 2 g1 s I q d z3 m Vq 2 1
Lq Lq Lq Lq (III.30)
R
a1 a2 m Ld Lq z3 I q n p a3 z 2 s I q z 2
Lq
tel que :
g2 ˆ
a2mz1 (III.32)
z1 a1 a2 m Ld Lq z3 I q n p z1a3
(III.33)
R
s I q z 2 a1 a2 m Ld Lq z3 I q n p a3 z 2
Lq
z1 1 h1 z 2 1 h1 z 2 2 h2
1
V3 V2 z 32 (III.34)
2
Suivant la même procédure de développement, sa dérivée peut être déduite à partir des
équations (III.21) et (III.34) :
R L 1
V3 V2 z 3 s z 3 q I q Vd 3 (III.35)
L Ld Ld
d
85
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
tel que :
a2 Ld Lq I q z1
g3 ˆ (III.37)
z1 a1 a2 m Ld Lq z3 I q n p z1a3
(III.38)
R R
s I q z 2 s z 32 a1 a2 m Ld Lq z3 I q n p a3 z 2
Lq Ld
z1 1 h1 z 2 1 h1 z 2 2 h2 z 3 3 h3
Alors, on peut déduire les lois de mise à jour (lois d’adaptation) suivantes :
I z 2
R̂s q z 2 3 (III.41)
Lq Ld
â2 2 m Ld Lq z 3 I q z1 z 2 (III.43)
86
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
100 100
Erreur - *
Vitesse
50 50
0 0
25
2
20
0
Courant id
Courant iq
15
-2
10
-4 5
-6 0
0 0.5 1 1.5 0 0.5 1 1.5
Temps(seconde) Temps(seconde)
87
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
0
150
-50
Tension Vd
Tension Vq
100
-100
50
-150
0
0 0.5 1 1.5 0 0.5 1 1.5
Temps(seconde) Temps(seconde)
Fig. III.3 : Commande non adaptative backstepping de la machine synchrone à aimants permanents
0
150
Cette
-50 première simulation suppose bien entendu que tous les paramètres du MSAP
Tension Vd
100 Tension Vq
sont connus.
La
consigne a été parfaitement suivie en moins de 0.5 sec et l'erreur reflète cette
-100
50
réponse. Les courants et les tensions statoriques dans le repère (d, q) tendent, en régime
permanent, vers des valeurs acceptables en un temps suffisamment court.
-150
0
0 0.5 1 1.5 0 0.5 1 1.5
III.4.4.2 Commande adaptative
Temps(seconde) Temps(seconde)
150
100
100
Erreur -*
Vitesse
50
50
0
0
-50
0 1 2 3 4 5 0 1 2 3 4 5
Temps(seconde) Temps(seconde)
1 25
20
0
15
Courant id
Courant iq
-1
10
-2
5
-3
0
88
-4 -5
0
0
Chapitre III : -50d’un moteur synchrone à aimants permanents
Commande backstepping neuronale
0 1 2 3 4 5 0 1 2 3 4 5
Temps(seconde) Temps(seconde)
1 25
20
0
15
Courant id
Courant iq
-1
10
-2
5
-3
0
-4 -5
0 1 2 3 4 5 0 1 2 3 4 5
Temps(seconde) Temps(seconde)
200 150
100
0 100
Tension Vd
Tension Vq
-100
-200 50
-300
-400 0
0 1 2 3 4 5 0 1 2 3 4 5
Temps(seconde) Temps(seconde)
3 20
2.5 15
Estimation du couple Cr
Estimation de Rs
2 10
1.5 5
1 0
0.5 -5
0 -10
0 1 2 3 4 5 0 1 2 3 4 5
Temps(seconde) Temps(seconde)
La première figure est dédiée au suivi d'une consigne en vitesse (100 rd/s). On peut
voir clairement que cette opération s'est achevée de manière satisfaisante ; en notant que le
suivi n'a pas été altéré par l'augmentation du couple résistant (rétablissement en moins de
0,5 sec). L'erreur est par conséquent relativement faible.
Les courants et les tensions statoriques dans le repère (d, q) se stabilisent autour de
valeurs acceptables. Par ailleurs, les estimations de la résistance statorique et du couple
résistant sont en harmonie avec les prévisions.
89
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
1 a2 . Ld Lq I d I q ; 2
Ld L
I d . ; 3 q I q . (III.46)
Lq Ld
d
a1 1 n p .a3 a2 m I q
dt
dI q R 1
I q 2 m Vq (III.47)
dt Lq Lq Lq
dI R 1
d I d 3 Vd
dt Ld Ld
Telles que les fonctions non linéaires du système 1 , 2 et 3 sont supposées dans ce cas
incertaines.
La technique d’approximation des fonctions non linéaires par le réseau RBF implique
les définitions suivantes :
tels que :
i* : Fonction à définir par le réseau RBF ; (i=1, 2, 3)
W : Poids des connexions ;
~i : Erreur d’approximation (i=1, 2, 3).
d
a1 n p .a3 1*TW 1 a2 m .I q
dt
dI q R 1
I q m 2*TW 2 Vq (III.51)
dt Lq Lq Lq
dI R 1
d I d 3*TW 3 Vd
dt Ld Ld
90
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
m1
W Wi ,11*,i k i ,1
*T
1 (III.52)
i 1
m2
W Wi ,22*,i I q k i ,2
*
2 (III.53)
i 1
m3
W Wi ,33*,i I d k i ,3
*
3 (III.54)
i 1
tels que :
i*, j : Fonction de base radiale (dans notre cas on choisit des gaussiennes) ;
i , j : Centres des fonctions i*, j ;
Wi , j : Poids des connexions ;
mi : nombre de neurones choisis.
k 2
exp
* i ,1
(III.55)
1,i
2 2
I k 2
exp
* q i ,2
(III.56)
2 ,i
2 2
I k 2
exp
* d i ,3
(III.57)
3 ,i
2 2
z1 *
z2 I q I q
*
(III.58)
z3 I d
91
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
z1 *
z 2 Iq Iq
*
(III.59)
z3 I d
ce qui donne :
z1 a1 n p .a3 1 W 1 a2 m I q
* *T
R m 1
z2 Iq I q 2 W 2 Vq
* *T
(III.60)
Lq Lq Lq
R 1
z3 I d 3*T W 3 Vd
Ld Ld
1ère Etape :
Pour déterminer la stabilité, on définit la première fonction de Lyapunov suivante :
1 2
V1 z1 (III.61)
2
2ème Etape :
La deuxième fonction de Lyapunov est définie par :
1
V2 V1 z 22 (III.66)
2
92
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
1
Vq Lq k2 z2 a2 m z1 * a1( a1 n p a3 1*TW a2 m I q )
a2 m
(III.70)
R
1*T W k1( k1 z1 a2 m z2 ) I q m 2*TW
Lq Lq
a1 k1
V2 k1 z12 k 2 z 22 z1~1 ~1 z 2 ~2 z 2 z 2~2 (III.71)
a 2 m a 2 m
3ème Etape :
La troisième fonction de Lyapunov est définie par :
1
V3 V2 z32 (III.73)
2
R 1
V3 V2 z3 z3 V2 z3 I d 3*T W ~3 Vd (III.74)
Ld Ld
93
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
R
Vd Ld k3 z3 I d 3*T W (III.75)
Ld
a1 ~ k1 ~ ~
V3 k1 z12 k 2 z 22 k 3 z 32 z1 .~1 z 2 1 2 2 z 3~3 (III.76)
a 2 m a 2 m
Pour les simulations qui vont suivre, les paramètres du modèle et du réseau sont :
k1=0,001 ; k2=100 ; k3=1500 ; R=2 ; Ld=0.04244H ; Lq= 0.07957H ; np=1 ;
J=0.03g.m2; f=0.001Nm/rad/sec ; m=0.311Wb ; *=100rad/s ; id(0)=0 ; iq(0)=0 ; (0)=0 ;
Cr=20Nm ; λ=1,4 ; i1 =[0;1,5;2] ; i 2 =[0;1,5;2] ; i 3 =[0;1,5;2].
150 150
100 100
Vitesse
Erreur z1
50 50
0
0
0 1 2 3 4 0 1 2 3 4
Temps(seconde) Temps(seconde)
20 1
15
0.5
Courant iq
Courant id
10
0
5
-0.5
0
-5 -1
0 1 2 3 4 0 1 2 3 4
Temps(seconde) Temps(seconde)
94
Chapitre III : Commande backstepping neuronale d’un moteur synchrone à aimants permanents
10 120
0 100
Commande vd
Commande vq
-10 80
-20 60
-30
40
-40
0 1 2 3 4 0 1 2 3 4
Temps(seconde) Temps(seconde)
10 120
Fig. III.5 : Commande backstepping-RBF de la machine synchrone à aimants permanents
0 100
Commande vd
Commande vq
Cette
simulation dédiée au backstepping-RBF 80
-10 est explicitée par les figures ci-dessus.
Toutes les grandeurs physiques (consigne, courants et tensions statoriques dans
-20
le repère d-q) tendent vers des valeurs adéquates. 60 Cependant, on peut noter que la
convergence
-30
des dites grandeurs se fait dans un temps relativement plus long, par rapport
aux commandes backstepping adaptative et non 40 adaptative établies précédemment. Ce
temps
-40 de réponse est dû essentiellement à la présence des estimations des différentes
0 1 2 3 4 0 1 2 3 4
fonctions non linéaires du système qu'on peut, d'ailleurs, minimiser
Temps(seconde) en faisant un choix
Temps(seconde)
optimal des gains d'adaptation.
III.6 Conclusion
95
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
Chapitre IV
IV.1 Introduction
La commande du moteur en industrie est un secteur dynamique fort. Pour rester
compétitifs, les nouveaux produits doivent répondre à plusieurs contraintes de conception,
y compris la réduction des coûts, la réduction de la consommation d'énergie, la correction
du facteur de puissance. Afin de répondre à ces défis, des algorithmes avancés de contrôle
sont nécessaires. La technologie intégrée de commande permet à la fois un haut niveau de
performance et réduction des coûts du système à atteindre. Selon l'analyse du marché, la
majorité des applications automobiles industrielles utilisent des moteurs à induction à
courant alternatif. Les raisons en sont la robustesse élevée, une plus grande fiabilité, la
baisse des prix et l'efficacité plus élevée (jusqu'à 80%) en comparaison avec d'autres types
de moteurs. Cependant, l'utilisation de moteurs à induction est difficile en raison de son
modèle mathématique complexe, son comportement non linéaire au cours de la saturation
et le paramètre oscillation électrique en fonction de l'influence physique de la température.
Ces facteurs rendent la commande du moteur à induction complexe et appellent à
l'utilisation d'un algorithme de commande de haute performance telle que la commande
vectorielle avec un puissant calculateur pour exécuter cet algorithme. Un moteur à
induction peut être amené à l'état d'équilibre par une simple tension d’alimentation,
contrôle de courant, ou par commande de vitesse.
Les moteurs à induction tirent leur nom de la manière dont le champ magnétique du
rotor est créé. Le champ magnétique tournant du stator induit des courants dans le rotor en
court-circuit. Ces courants produisent le champ magnétique de rotor qui interagit avec le
champ magnétique de stator, et produit un couple, qui est la puissance mécanique utile de
la machine.
La machine à induction à cage est particulièrement robuste et de faible coût, et cela l’a
conduit à devenir de plus en plus utile dans le domaine industriel. Elle est utilisée dans les
applications à basses performances ainsi que dans des cas plus sophistiqués. Plusieurs
méthodes de commande, dont le degré de complexité varie de l’une à l’autre suivant les
performances demandées, sont utilisées pour contrôler la machine à induction.
96
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
La recherche dans ce domaine a démarré en 1990. Elle est motivée par les raisons
suivantes : le moteur à induction permet d'une part d'obtenir un rendement beaucoup plus
élevé que le moteur à courant continu en produisant des couples plus importants pour une
consommation d'énergie équivalente ; d'autre part, les dimensions du moteur à induction
étant inférieures à celles du moteur à courant continu, son utilisation dans la motorisation
des robots manipulateurs est très intéressante. De plus, dans le moteur à induction il n'y a
pas de contact physique direct entre le rotor et le stator ; l'usure de ce moteur s'en trouve
minimisée.
Ces nouvelles configurations mènent à de nouveaux problèmes de commande, car les
couples appliqués par le moteur à induction sont liés dynamiquement par des équations
non linéaires aux variables de commande. Une dynamique additionnelle est donc à prendre
en compte pour l'étude de la stabilisation de l'ensemble des équations différentielles
résultant des équations mécaniques de Lagrange et des équations électriques des moteurs à
induction. Une difficulté supplémentaire vient du fait que le flux magnétique du moteur est
souvent rétro-alimenté dans les structures de commandes jusqu'alors proposées, et est
difficilement mesurable. Des observateurs de flux sont donc nécessaires.
97
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
La commande par linéarisation par retour d’état. Cette méthode repose sur le
formalisme de la géométrie différentielle (algèbre de Lie). A noter que cette méthode
présente l'inconvénient d'être sensible aux modifications inhérentes des caractéristiques
du système.
La commande par mode glissants. Elle est réputée d'être robuste et de réaliser des
performances notables [46-50].
d n p M T
( ra isb rb isa ) L
dt JLr J
d ra R R
r ra n p rb r M .isa
dt Lr Lr
d rb R R
r rb n p ra r Misb (IV.1)
dt Lr Lr
disa MRr n p Rr M 2 Rr L2r Rs 1
ra rb isa U
dt Ls Lr2
Ls Lr Lq Lr
2
Ls sa
disb MRr n p Rr M 2 Rr L2r Rs 1
isb U
dt Ls Lr Ls .Lr Ls Lr Ls sb
2 rb ra 2
98
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
tels que : est la vitesse rotorique, is est le courant statorique, r est le flux rotorique, U s
est la tension statorique, J est le moment d’inertie, TL est le couple de charge, n p est le
nombre de paire de pôles.
Il s'agit d'appliquer une commande pour atteindre la vitesse de référence ref du
moteur en contrôlant le flux pour qu’il ne dépasse sa valeur de référence ref .
tel que : a b .
2 2
b
Arctg (IV.2)
a
On adopte les transformations entre les deux repères afin d’aboutir au modèle exploité
dans le repère (d, q), :
id cos( ) sin( ) ia
cos( ) ib
.
iq sin( )
(IV.3)
d cos( ) sin( ) a
cos( ) b
.
q sin( )
Le flux rotorique étant orienté selon l’axe d, sa composante selon l’axe q s’annule. Le
modèle (IV.1) est un système fortement couplé, multivariables et non linéaire. Ces
propriétés compliquent toujours la commande de la machine asynchrone. La
transformation du flux orienté est toujours utilisée pour simplifier le modèle. Cette
transformation change le modèle d’état ( isa , isb , ra , rb ) du repère statorique fixe (a, b) à
un nouveau repère (d, q) qui tourne avec le flux rotorique ( ra , rb ). Elle est décrite par :
U d cos( ) sin( ) U a
. (IV.5)
U q sin( ) cos( ) U b
99
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
Dans ce qui suit, le nouveau modèle da la machine dans le repère (d, q) est tel que :
d T
d Iq L
dt J J
dI q Iq Id 1
I q n p d n p I d M U
dt d Ls q
d d
d MI d (IV.6)
dt
dI d I q2 1
I d d n p I q M U
dt d Ls d
d Iq
n p M
dt d
M2 M R M 2 .Rr R n p .M
où : 1 , , r , S , .
Ls .Lr .Ls .Lr Lr .Ls .Lr .Ls
2
Lr
e1 ref
e2 d .I q d .I q
ref
(IV.7)
e3 ref d
e4 I d ref I d
2ème étape :
La fonction de Lyapunov V1 est alors définie comme :
1 2 1 2
V1 e1 e3 (IV.8)
2 2
100
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
Sa dérivée devient :
ce qui donne:
V1 k1e12 k3e32 e1e2 Me3e4 (IV.11)
J
3ème étape :
Dans ce qui suit, on définit la fonction de Lyapunov V2 telle que :
1
V2 V1 e22 (IV.12)
2
et sa dérivée s’écrit :
Les dérivées des termes du membre de droite sont développées de la manière suivante :
J T
ref k 1 ref d I q L
J
( d .I q ) 'ref ref k 1e1 (IV.14)
J J
( d I q ) ' d I q d Iq
Iq Id 1 (IV.15)
( d MI d ) I q d I q n p d n p I d M Uq
d Ls
101
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
Ls J TL
Uq k2e2 e1 ref k1 ref d I q d MI d I q
d J J J
(IV.17)
Iq Id
d I q n p d n p I d M
d
J
( d I q ) 'ref ref k1 k1e1 e2 (IV.20)
J
Ls J
Uq k2e2 e1 ref k1 k1e1 e2 d MI d I q
d J J
(IV.21)
I q I d
d I q n p d n p I d M
d
102
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
4ème étape :
( Id )ref
1
d k3e3
M ref
(IV.24)
1
U d Ls k4e4 Me3 d MI d k3 k3e3 Me4
M ref
(IV.26)
I q2
I d d n p I q M
d
La stabilité sera donc réalisée, ce qui donne la dérivée de la fonction de Lyapunov suivante :
4
V3 ki ei2 (IV.27)
i 1
103
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
2ème étape :
La fonction de Lyapunov V1 est définit comme suit :
1 2 1 2
V1 e1 e3 (IV.29)
2 2
et sa dérivée devient :
T
V1 e1e1 e 3e3 e1 ref d I q L e 3 ref d MI d (IV.30)
J J
TL
Les paramètres utilisés dans ce qui suit sont définis par : 1 , 2 et on note
J J
leurs erreurs respectivement : 1 1 ˆ1 , 2 2 ˆ2 .
V1 e1 ref (1 ˆ1 ) e2 d I q (2 ˆ2 ) e3 ref . d MI d
ref
e1 ref 1e2 1 d I q ˆ1e2 ˆ1 d I q (2 ˆ2 ) k1e1 k1e1 (IV.31)
ref ref
e3 ref . d Me4 M ( I d ) ref k3e3 k3e3
Les fonctions stabilisantes qui produiront la contre réaction sont telles que :
104
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
I
d q ref
1
ˆ
ref ˆ2 k1e1 (IV.33)
1
( I d )ref
1
. d k3e3
M ref
(IV.34)
3ème étape :
La deuxième fonction de Lyapunov est telle que :
1
V2 V1 e22 (IV.37)
2
I '
d q ref
ˆ1
ˆ
2 ref 2 k1e1
ˆ
1
1
ˆ
1
ˆ
ˆ1
ˆ
1
ref 2 k1e1 2 ref ˆ2 k1e1
(IV.39)
ref ˆ2 k1 k1e1 1 d I q e1 2 ˆ1e1
1
ˆ1
105
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
ˆ
e2 12 ref ˆ2 k1e1 ref ˆ2 k1 k1e1 1 d I q e1 2 ˆ1e1
ˆ
1
ˆ
1
(IV.40)
1
Iq Id 1
d MI d I q d I q n p d n p I d M U q k2e2 k2e2
d Ls
Ls ˆ1
Uq
d
k e e
1
1
1
2 2 1 1 ˆ 2 ref ˆ2 k1e1 ˆ ref ˆ2 k1 k1e1 ˆ1e1
ˆ
(IV.41)
I q I d
d MI d I q d I q n p d n p I d M
d
ce qui implique :
I e e Me e d I q k e e k1 e
V2 k1e12 k2e22 k3e32 (IV.42)
ˆ ˆ
1 d q 1 2 1 3 4 1 1 1 2 2 2
1 1
d Iq ke
V2 k1e12 k2e22 k3e32 1 d I q e1 k1e1e2 2 e1 1 2 Me3e4 (IV.43)
ˆ1 ˆ1
4ème étape :
La dérivée de la fonction de Lyapunov V3 est définie par :
Sachant que le terme ( e4 e4 ) aura la même expression comme celle du cas non
adaptatif, alors on peut aboutir à la loi de commande suivante :
U d Ls k4e4 Me3
1
M ref
( d MI d ) k3 (k3e3 Me4 )
(IV.45)
I q2
I d d n p I q M
d
106
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
5ème étape :
La fonction de Lyapunov V4 est définie par l’expression :
1 2 1 2
V4 V3 1 2 (IV.47)
2 1 2 2
1
ˆ1 1 d I q 1 k1e2 e1
ˆ1
(IV.49)
ke
ˆ2 2 e1 1 2
ˆ1
tel que:
U a : une tension statorique réelle.
U b : une tension rotorique réelle.
107
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
Les gains utilisés d'adaptation pour les simulations établies sont tels que :
k 1 0.1, k 2 30, k 3 150, k 4 100, 1 0.01, 2 0.01
Les conditions de tests sont telles que
ref 220 rad / sec, ref 1,3 Wb , T L 0.05 N .m
300 300
200 200
vitesse
Erreur e1
100 100
0 0
-100 -100
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Temps(seconde) Temps(seconde)
2 400
1.5
200
1
Erreur e3
Erreur e2
0.5 0
0
-200
-0.5
-1 -400
0 0.1 0.2 0.3 0.4 0.5 0 0.2 0.4 0.6 0.8 1
Temps(seconde) Temps(seconde)
1.5
1000
1
Erreur e4
d
500
0.5
0
0
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Temps(seconde) Temps(seconde)
500 400
400
200
commande Ud
commande Uq
300
200 0
108
100
-200
0
0.5
0
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
0
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Temps(seconde) Temps(seconde)
500 400
400
200
commande Ud
commande Uq
300
200 0
100
-200
0
-100 -400
0 0.1 0.2 0.3 0.4 0.5 0 0.2 0.4 0.6 0.8 1
Temps(seconde) Temps(seconde)
600 400
400
200
tension Ua
200 tension Ub
0
0
-200
-200
-400 -400
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Temps(seconde) Temps(seconde)
40 1
0.9
30
0.8
1 et 1 est.
2 et 2 est.
20 0.7
0.6
10
0.5
0 0.4
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
temps(seconde) temps(seconde)
109
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
La commande vectorielle, dont l'objectif principal est d'imposer un flux constant, est
clairement accomplie à travers la courbe explicitant le flux d . Cette opération s'est
achevée en un temps très court (inférieur à 0.1 sec).
Les tensions statoriques de commande dans le repère (d, q) atteignent leurs valeurs
nominales après un bref régime transitoire.
Les tensions statoriques réelles (équation IV.51) déduites possèdent des amplitudes
raisonnables et conformes aux caractéristiques de la machine.
Les dernières figures donnent des estimations favorables du moment d'inertie J et du
couple résistant TL.
d TL
dt 1 J I q
dI q 1
dt I U
2 q
Ls q
(IV.53)
d d MI
dt d d
dI
d 3 I d d 1 U d
dt Ls
110
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
1 1*TW 1
2 2*TW 2 (IV.54)
3 3*TW 3
d TL
dt 1 W 1 J I q
*T
dI q 1
dt *T
W
2 I q U
2
Ls q
(IV.55)
d d MI
dt d d
dI
d 3*T W 3 I d d 1 U d
dt Ls
tels que:
m1
W Wi ,11,*i k i ,1
*T
1
i 1
m2
W Wi ,22,* i I q k i ,2
*T
2 (IV.56)
i 1
m3
W Wi ,33,* i I d k i ,3
*T
3
i 1
111
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
k 2
exp
* i ,1
1,i
2 2
I k 2
2,i exp
* q i ,2
(IV.57)
2 2
I k 2
exp
* d i ,3
3,i
2 2
1ère étape :
Dans ce cas, le changement de variables adopté est décrit par les expressions suivantes :
e1 ref
e2 I q 1
(IV.58)
e3 d ref
e4 I d 2
2ème étape :
La première fonction de Lyapunov est décrite par l’expression :
1 2
V1 e1 (II.59)
2
Sa dérivée correspondante :
T
V1 e1e1 e1 ref e1 1*TW 1 L I q
J
(IV.60)
T
e1 1*TW 1 L e 2 1 k 1e1 k 1e1
J
ce qui donne :
112
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
3ème étape :
La deuxième fonction de Lyapunov s'écrit :
1
V2 V1 e12 (IV.63)
2
ce qui donne :
4ème étape :
La troisième fonction de Lyapunov V3 est :
1
V3 V2 e32 (IV.67)
2
Sa dérivée s’écrit:
V3 V2 e 3e3 V2 e 3 d ref V2 e 3 d MI d ref
(IV.68)
V2 e 3 d Me 4 M 2 ref k 3e 3 k 3e 3
5ème étape :
La dernière fonction de Lyapunov V 4 possède la forme suivante :
1
V4 V3 e42 (IV.71)
2
113
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
1
k3 Me4 k3e3 d MI d ref k4 e4 k4 e4
M
U d Ls k4e4 M e3 3*TW I d d
1 (IV.73)
k3 Me4 k3e3 d MI d ref
M
ce qui donne :
4
V4 ki ei e11 e2 k11 2 e43 (IV.74)
i 1
Les gains d'adaptation utilisés pour les simulations établies sont tels que :
k1=2; k2=5 ; k3=5; k4=10;
114
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
150 50
100 0
vitesse
Erreur e1
50 -50
0 -100
-50 -150
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3
Temps(seconde) Temps(seconde)
1 50
0.5 0
0 -50
Erreur e3
Erreur e2
-0.5 -100
-1 -150
-1.5 -200
-2 -250
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3
Temps(seconde) Temps(seconde)
10 1.5
-10
1
Erreur e4
-20
d
-30
0.5
-40
-50
-60 0
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3
Temps(seconde) Temps(seconde)
500 300
400
200
commande Ud
commande Uq
300
200 100
100
0
0
-100 -100
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3
Temps(seconde) Temps(seconde)
115
0.5
-40
-50
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
-60 0
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3
Temps(seconde) Temps(seconde)
500 300
400
200
commande Ud
commande Uq
300
200 100
100
0
0
-100 -100
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5 3
Temps(seconde) Temps(seconde)
400 400
200 200
tension Ua
tension Ub
0 0
-200 -200
-400 -400
0 0.5 1 1.5 2 0 0.5 1 1.5 2
Temps(seconde) Temps(seconde)
400 400
tension Ub
Les
0 différentes simulations menées sur notre machine
0 à induction sont représentées sur
les figures précédentes. La vitesse désirée est atteinte en 2 sec et l'erreur conséquente de
suivi-200
e1 est nulle en régime permanent. -200
Les erreurs (équation IV.58) sur les courants statoriques et le flux rotorique dans le
-400 -400
repère (d,
0 q) convergent
0.5 vers
1 zéro1.5en un temps
2 relativement
0 acceptable.
0.5 1 1.5 2
Temps(seconde) Temps(seconde)
Le flux rotorique converge vers la valeur de référence en un temps très court
(de l'ordre de 1 sec).
Les tensions statoriques de commande dans le repère (d, q) aboutissent à leurs valeurs
nominales en régime permanent.
Les tensions statoriques réelles reflètent le comportement réel de la machine.
116
Chapitre IV : Commande backstepping neuronale d’un moteur à induction
IV.6 Conclusion
A travers trois orientations de la commande backstepping (non adaptative, adaptative
et neuronale), il est clair que cette technique montre de nouveau ses performances dans le
domaine du contrôle, d'autant que les modèles considérés ne sont pas des moindres.
Toutes les situations possibles de simulations sont explorées : modèle incertain,
perturbation additive, estimation des paramètres, …etc., et les différents résultats
témoignent du caractère appréciable de la commande backstepping-neuronale.
Dans le but de donner plus de mérite à cette commande, nous nous sommes proposés
d'explorer un modèle plus complexe et d'actualité. Il s'agit d'un quadrirotor qui est un
système non linéaire, multivariables et couplé.
117
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Chapitre V
V.1 Introduction
La discipline de recherche des véhicules aériens autonomes est très importante et aussi
à multifacettes. Alors, elle peut cerner des domaines très courants tels que la mécanique,
l’aérodynamique, le traitement du signal et de l’image, la commande, l’informatique,
temps réel… etc. L’intérêt pour les drones aériens contrôlés couvre spécialement les
applications militaires (déminage par exemple) et l’intervention dans des milieux hostiles
(milieux radioactifs). De même, l’intervention humaine dans des endroits contaminés ou
piégés exige un choix bien précis concernant le type de drone utilisé pour une vérification
préventive [66].
Dans notre cas, on s’intéresse aux véhicules aériens miniatures et plus spécialement au
quadrirotor. Ce dernier est essentiellement un multicoptère qui a quatre bras et un moteur
monté sur chaque bras pour le lever ou le déplacer. Il est également considéré comme un
drone (véhicule aérien non habité). Il peut être utilisé pour capturer des images par le
montage d'une caméra sans fil par exemple. Si un bon contrôle est effectué sur le
quadrirotor, il peut être exploité pour déplacer des charges ou effectuer des manœuvres.
Donc, les quadrirotors sont constitués de quatre moteurs installés en croix, ils sont appelés
également X4. On peut citer comme exemple le quadrirotor de type X-UFO (figure V.1).
118
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Tensions
d’alimentation
Vitesses angulaires
(Capteurs : gyroscopes)
Rotor 1
Rotor 2 Modèle x Accélérations
y (Capteurs : accéléromètres)
Rotor 3
Rotor 4 Position
z (Capteurs : altimètre)
Chaque rotor produit à la fois une poussée et un couple autour de son centre de
rotation, ainsi qu'une force de résistance opposée à la direction du vol du quadrirotor. Si
tous les rotors tournent à la même vitesse angulaire, avec une paire (M2 et M4) sur le même
bras tournant dans le sens horaire pour un mouvement droit et gauche ; et l'autre paire
(M1 et M3) sur l'autre bras de rotation dans le sens antihoraire pour un mouvement avant et
arrière ; le couple aérodynamique résultant sera nul, et donc l'accélération angulaire autour
119
Chapitre V : Commande backstepping neuronale d’un quadrirotor
de l'axe du lacet est exactement zéro, ce qui implique que le mouvement de l'axe du lacet
est stabilisé. Le lacet est impliqué par désadaptation de la balance en couples
aérodynamiques (c'est à dire, en compensant les commandes de poussée cumulées entre les
paires de lames contre-rotatives).
Les accélérations angulaires autour des axes de tangage et de roulis peuvent être
causées séparément sans affecter l'axe du lacet. Chaque paire de lames rotatives dans le
même sens commande un axe, soit roulis ou tangage, et de plus en plus provoque une
poussée pour un rotor.
Zb
Xb
F4 F1
1
4
F2
F3 2
3
Ob
Yb
Chaque actionneur i produit une force Fi parallèle à son axe de rotation, ainsi qu’un
couple résistant i apposé au sens de rotation. La force totale (poussée totale) exercée sur
le quadrirotor (parallèle à l’axe zb ) est la somme des quatre forces générées par chaque
actionneur :
FT F1 F2 F3 F4 (V.1)
120
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Le tangage est obtenu par une différence de vitesse de rotation des moteurs avant et
arrière. Le roulis est obtenu de façon identique avec la différence de vitesse des rotors
latéraux. Le lacet s’obtient en augmentant la vitesse des moteurs avant et arrière tout en
diminuant la vitesse des moteurs latéraux. Donc, cinq mouvements sont envisagés :
Mouvement de lacet ( ) : est assuré par la somme des couples de traînée ( Di ) produits
par les quatre actionneurs [67].
Quand les quatre rotors tournent à la même vitesse, ils sont soumis au même couple
résistant dont la somme est nulle. (M1 et M3) et (M2 et M4) sont opposés, il n’y a pas de
rotation autour de zb de l’engin.
Si nous provoquons une différence de vitesse entre les moteurs, les couples résistants
provoquent un couple autour de zb provoquant ainsi la rotation de l’engin.
121
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Ix 0 0
J 0 Iy 0 (V.2)
0 I z
0
Les hélices sont supposées rigides pour pouvoir négliger l’effet de leur déformation
lors de la rotation. De même, le centre de masse et l’origine du repère lié à la structure
coïncident. Aussi, les forces de portance et de traînée sont proportionnelles aux carrés de la
vitesse de rotation des rotors, ce qui est une approximation très proche du comportement
aérodynamique.
Pour faire une analyse cinématique avec une étude dynamique profonde pour le
modèle mathématique du quadrirotor, on adopte deux repères : un repère fixe lié à la terre
Re Oe ,xe , ye ,ze et un repère de référence mobile Rb Ob ,xb , yb ,zb fixé au centre de
masse du quadrirotor.
122
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Zb
Xb
F4 F1
1 1
4
Rb
F2
F3 2
3
Ob
3
Yb
2
Ze
Re
Ye
Oe
Xe
R
T (V.3)
0 1
123
Chapitre V : Commande backstepping neuronale d’un quadrirotor
tel que : R est la matrice de rotation qui décrit l’orientation de l’objet mobile, et
présente le vecteur de position. Pour déterminer les éléments de R , on utilise les angles
d’Euler [68].
A l’état initial, les deux repères sont superposés, ensuite le repère mobile réalise un
mouvement de rotation autour de l’axe x d’un angle de roulis ( / 2 / 2 ), suivi
d’une rotation autour de l’axe y d’un angle de tangage ( / 2 / 2 ), et une
rotation autour de l’axe z d’angle de lacet ( ). Cela va correspondre à
l’expression de la matrice de rotation R résultante suivante :
R Rot z ( ).Rot y ( ).Rot x ( )
cos sin 0 cos 0 sin 1 0 0
sin cos 0 . 0 1 0 . 0 cos sin
(V.4)
0 0 1 sin 0 cos 0 sin cos
cos cos sin sin cos sin cos cos sin cos sin sin
sin cos sin sin sin cos cos cos sin sin sin cos
sin sin cos cos cos
Les vitesses de rotation 1 , 2 , 3 des axes dans le repère mobile en fonction des
vitesses de rotation , , dans le repère fixe sont données par l’expression :
124
Chapitre V : Commande backstepping neuronale d’un quadrirotor
où :
1 0 sin
0 cos sin cos est la matrice de transformation.
0 sin cos cos
d’écrire .
T
Les vitesses linéaires xe , ye , ze , dans le repère fixe en fonction des vitesses linéaires
xb , yb , zb , dans le repère mobile sont exprimées par la relation suivante :
125
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Les forces de traînée: La force de traînée est le couplage entre une force de pression et
la force de frottement visqueux. Dans ce cas, on a deux forces de traînée agissants sur le
système, la traînée dans les hélices et la traînée selon les axes ( x, y,z ) .
La traînée dans les hélices agit sur les pales, elle est proportionnelle à la densité de
l’air, à la forme des pales et au carré de la vitesse de rotation de l’hélice. Elle est donnée
par la relation suivante :
Th d . 2 (V.10)
La traînée selon les axes ( x, y,z ) est due au mouvement du corps du quadrirotor :
Ft K ft . (V.11)
tel que l est la longueur du bras entre le rotor et le centre de gravité du quadrirotor.
126
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Moments dus aux forces de traînée: La rotation autour de l’axe z est due à un couple
réactif par les couples de traînée dans chaque hélice, ce moment est donné par la
relation suivante :
J r 0 0 1 i
i 1
M gh (V.16)
i 1
m Ff Ft Fg
(V.18)
R R.S
J J M M M
f a gh
127
Chapitre V : Commande backstepping neuronale d’un quadrirotor
0 3 2
S 3 0 1 (V.19)
2 1 0
F f est la force totale générée par les quatre rotors, elle est donnée par :
T
4
Ff R 0 0
i 1
Fi
(V.20)
Ft est la force de traînée selon les axes ( x, y, z ) , elle est décrite par :
K ftx 0 0
Ft 0 K fty 0 (V.21)
0 0 K ftz
Fg 0 0 mg
T
(V.22)
M f est le moment provoqué par les forces de poussée et de traînée. Il est donné par :
l ( F4 F2 )
Mf l ( F3 F1 ) (V.23)
d (12 22 32 42 )
M a est le moment résultant des frottements aérodynamiques, il est décrit par l’expression :
K fax2
M a K fay 2 (V.24)
K faz 2
128
Chapitre V : Commande backstepping neuronale d’un quadrirotor
1 4 K
x
cos sin cos sin sin Fi ftx x
m i 1 m
1 4 K fty
y
cos sin sin sin cos Fi y (V.26)
m i 1 m
1 4 K
z
cos cos Fi ftz z g
m i 1 m
I I J K 2 lb( 2 2 )
I y (V.28)
z x r r fay 3 1
I I K 2 d( 2 2 2 2 )
I z y x faz 1 2 3 4
avec : r 1 2 3 4 .
129
Chapitre V : Commande backstepping neuronale d’un quadrirotor
I y I z
J r K fax 2 l u
r 2
Ix Ix Ix Ix
I z I x
J r K fay 2 l u
Iy Iy
r
Iy Iy
3
I x I y K faz 2 1 u
4
Iz Iz Iz (V.29)
K ftx
1
x x u xu1
m m
K fty 1
y y u y u1
m m
K ftz cos cos
z z g u1
m m
avec :
130
Chapitre V : Commande backstepping neuronale d’un quadrirotor
x1 x2
x2 a1 x4 x6 a2 x2 a3 r x4 b1u2
2
x3 x4
x4 a4 x2 x6 a5 x42 a6 r x2 b2u3
x5 x6
x a x x a x 2 b u
6 7 2 4 8 6 3 4
x7 x8 (V.33)
x a x 1 u u
8 9 8
m
x 1
x x
9 10
1
x10 a10 x10 m u y u1
x11 x12
cos x1 cos x3
x12 a11 x12 g u1
m
où :
a1
I y Iz
,a2
K fax
,a3
Jr I I
,a4 z x ,a5
K fay J
,a6 r ,a7
Ix I y ,
Ix Ix Ix Iy Iy Iy Iz
K faz K ftx K fty K ftz l l 1
a8 ,a9 ,a10 ,a11 ,b1 ,b2 ,b3 ,
Iz m m m Ix Iy Iz
Les différentes variables de commande dynamique du quadrirotor considéré sont telles que :
131
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Boucle interne
désirée de x
ux Quadrirotor
Trajectoire
xd Commande d Commande u2
de position
x Bloc de roulie
de
correction
d Commande u3
désirée de y
Trajectoire
yd Commande uy de tangage
de position
y
d Commande u4
de Lacet
d
Boucle externe
Trajectoire
désirée
zd u1
de
Commande
d’altitude z
Trajectoire
désirée
de z
, , , z
Chaque hélice est montée directement sur le rotor d’un petit moteur à courant continu.
Les équations simplifiées qui caractérisent le comportement dynamique et électrique des
moteurs (supposés identiques) sont les suivantes :
dI i
Vi RI i L dt kei
(V.34)
k I J di C k 2
i m i r
dt
s r i
132
Chapitre V : Commande backstepping neuronale d’un quadrirotor
où :
Vi : tension qui alimente le rotor (alimentation du moteur),
i : vitesse angulaire de l’hélice,
R : résistance interne du moteur,
L : inductance,
ke : constante de couple électrique,
km : constante de couple mécanique,
Cs : coefficient de frottement,
J r : inertie totale entraînée (moteur et charge),
i : couple électromagnétique,
k r : couple de charge.
tels que :
k kk C k
0 r , 1 e m , 2 s , m .
Jr Jr R Jr Jr R
133
Chapitre V : Commande backstepping neuronale d’un quadrirotor
2ème étape :
En se servant de la deuxième fonction de Lyapunov et de l’expression V.33, la première loi
de commande est déduite :
1
u2 z1 c2 z2 a1 x4 x6 a2 x22 a3r x4 c1 z2 c1 z1
x1d (V.41)
b1
3ème étape :
En conséquence, la dynamique de z2 aura l’expression suivante :
z2 z1 c2 z2 (V.42)
Dans cette étape, la variable d’état sera contrôlée. L’erreur correspondante dans ce cas
est définie par :
z3 d x3 x3d (V.43)
z4 x4 2 x3d (V.45)
4ème étape :
Des deux équations V.45 et V.46, la dérivée de la quatrième fonction de Lyapunov peut
être déduite :
4
V4 ci zi2 z4 z3 c4 z4 a4 x2 x6 a5 x42 a6 r x2 b2u3 2
x3d (V.47)
i 1
2 c3 z4 c3 z3 (V.48)
134
Chapitre V : Commande backstepping neuronale d’un quadrirotor
5ème étape :
Dans ce qui suit, l’état fera l’objet de la commande. On définit la cinquième dérivée de
la fonction de Lyapunov :
5
V5 ci zi2 z5 c5 z5 x6 x5d (V.51)
i 1
6ème étape :
L’erreur z6 étant définie par :
z6 x6 3 x5d (V.54)
À partir des équations V.33, V.52 et V.53, la dérivée de la fonction de Lyapunov peut
s’écrire :
6
V6 ci zi2 z6 z5 c6 z6 a7 x2 x4 a8 x62 b3u4 c5 z6 c5 z5
x5 d (V.55)
i 1
135
Chapitre V : Commande backstepping neuronale d’un quadrirotor
7ème étape :
Dans ce cas, on commande l'état x (translation) ; et la dérivée de la 7ème fonction de
Lyapunov peut s’écrire :
7
V7 ci zi2 z7 c7 z7 x8 x7 d (V.58)
i 1
8ème étape :
En utilisant les expressions (V.33), (V.59) et (V.60), la dérivée de la 8ème fonction de
Lyapunov s’écrit :
8
1
V8 ci zi2 z8 z7 c8 z8 a9 x8 u xu1 c7 z8 c7 z7
x7 d (V.61)
i 1 m
m
ux z7 c8 z8 a9 x8 c7 z8 c7 z7
x7 d ; u1 0 (V.62)
u1
9ème étape :
Afin de commander l’état y (translation), on définit l’erreur suivante :
z9 x9 x9d (V.64)
136
Chapitre V : Commande backstepping neuronale d’un quadrirotor
10ème étape :
En utilisant (V.33) et (V.67), la dérivée de V10 s’écrit :
10
1
V10 ci zi2 z10 z9 c10 z10 a10 x10 u yu1 5
x9 d (V.68)
i 1 m
11ème étape :
L’état z (translation) que nous allons commander dans cette étape, va nous permettre de
choisir l’expression de l’erreur suivante :
z11 x11 x11d (V.71)
137
Chapitre V : Commande backstepping neuronale d’un quadrirotor
12ème étape :
En utilisant (V.33), (V.73) et (V.74), la dérivée de V12 s’écrit :
12
cos x1 cos x3
V12 ci zi2 z12 z11 c12 z12 a11 x12 u1 g c11 z12 c11 z11
x11d (V.75)
i 1 m
Dans le cas d'incertitudes sur le modèle, on suppose que les différents états sont
quelque peu perturbés. Ces perturbations sont notées par di (i=1…12) et sont supposées
être bornées par hi (i=1…12).
x1 x2 d1
x2 a1 x4 x6 a2 x2 a3 r x4 b1u2 d 2
2
x3 x4 d3
x4 a4 x2 x6 a5 x42 a6 r x2 b2u3 d 4
x5 x6 d5
x a x x a x 2 b u d
6 7 2 4 8 6 3 4 6 (V.78)
x7 x8 d 7
x a x 1 u u d
8 9 8
m
x 1 8
x x d
9 10 9
1
x10 a10 x10 m u y u1 d10
x11 x12 d11
cos x1 cos x3
x12 a11 x12 g u1 d12
m
138
Chapitre V : Commande backstepping neuronale d’un quadrirotor
En faisant un choix des fonctions non linéaires qui se trouvent dans le modèle (V.78),
on peut avoir la structure suivante :
x1 x2 d1
x2 2 2 b1u2 d 2
T
x3 x4 d3
x4 4T 4 b2u3 d 4
x5 x6 d5
x T b u d
6 6 6 3 4 6
x x d (V.79)
7 8 7
où :
2T x4 x6 x22 r x4 ; 4T x2 x6 x42 r x2 ; 6T x2 x4 x62 ; 8 x8 ; 10 x10 ;
12 x12 ; 2T a1 a2 a3 ; 4T a4 a5 a6 ; 6T a7 a8 ; 8 a9 ; 10 a10 ; 12 a11 ;
l l 1 cos x1 cos x3
b1 ; b2 ; b3 ; b5 b4 1 / m; f x1 ,x3 ; di hi i 1,....,12
Ix Iy Iz m
1ère étape :
Cette étape consiste à commander l’état . Dans ce cas, l’erreur définie par (V.37) nous
permet d’avoir la première dérivée de la fonction de Lyapunov suivante :
z1 z2 c1 z1 d1 h1
(V.82)
V z z c z 2 z d h
1 1 2 1 1 1 1 1
139
Chapitre V : Commande backstepping neuronale d’un quadrirotor
2ème étape :
La dérivée de la deuxième fonction de Lyapunov est donnée par :
1
V22 V21 2T 2 1ˆ2 b1bˆ1 (V.85)
1
A partir de (V.79), (V.83), (V.84) et (V.85), la première loi de commande sera déduite :
1
u2 z1 c2 z2 2Tˆ2 h2 c1 z2 c1 z1
x1d (V.86)
b̂1
où 2 est une matrice diagonale à valeurs i (i=1,2,3) positives. On peut déduire alors :
â1 1 z2 x4 x6
â2 2 z2 x2
2
(V.88)
â3 3 z2 r x4
3ème étape :
L’état est commandé dans ce cas. Sachant que l’erreur correspondante est définie par
l’équation (V.43), la deuxième fonction stabilisante choisie est décrite par l’expression
suivante :
3 c3 z3 h3 (V.90)
140
Chapitre V : Commande backstepping neuronale d’un quadrirotor
z3 z4 c3 z3 d3 h3
3 (V.91)
V3 ci zi2 z3 z4 z1 c1 z2 d1 h1 z2 d 2 h2 z3 d3 h3
i 1
4ème étape :
Après le développement de la dérivée de 3 , on aboutit à l’expression suivante :
1
V42 V41 4T 4 1ˆ4 b2bˆ2 (V.94)
2
1
u3 z3 c4 z4 4Tˆ4 h4 c3 z4 c3 z3
x3d (V.95)
b̂2
â4 4 z4 x2 x6
â5 5 z4 x4
2
(V.97)
â6 6 z4 r x2
141
Chapitre V : Commande backstepping neuronale d’un quadrirotor
5ème étape :
Le contrôle de l’état permet de définir l’expression suivante :
z1 c1 z2 d1 h1 z2 d 2 h2 z3 c3 z4 d 3 h3 z4 d 4 h4
5 c5 z5 h5 (V.100)
z5 z6 c5 z5 d5 h5 (V.102)
6ème étape :
En utilisant (V.79) et (V.101), la dérivée de la fonction de Lyapunov peut s’écrire :
1
V62 V61 6T 6 1ˆ6 b3bˆ3 (V.106)
3
142
Chapitre V : Commande backstepping neuronale d’un quadrirotor
1
u4 z5 c6 z6 6Tˆ6 h6 c5 z6 c5 z5
x5d (V.107)
b̂3
â7 7 z6 x2 x4
(V.109)
â8 8 z6 x6
2
z4 d 4 h4 z5 c5 z6 d 5 h5 z6 d 6 h6
7ème étape :
L’état x sera commandé. L’expression suivante est alors adoptée :
7 c7 z7 h7 (V.112)
z7 z8 c7 z7 d7 h7 (V.114)
143
Chapitre V : Commande backstepping neuronale d’un quadrirotor
z1 c1 z2 d1 h1 z2 d 2 h2 z3 c3 z4 d3 h3 z4 d 4 h4 (V.115)
z5 c5 z6 d 5 h5 z6 d 6 h6 z7 d 7 h7
8ème étape :
En utilisant (V.79) et (V.115), la dérivée de la fonction de Lyapunov peut s’écrire :
1 1
V82 V81 8 ˆ8 b4bˆ4 (V.118)
9 4
1
ux z7 c8 z8 8ˆ8 h8 c7 z8 c7 z7
x7 d (V.119)
u1bˆ4
â9 9 z8 x8 (V.121)
144
Chapitre V : Commande backstepping neuronale d’un quadrirotor
9ème étape :
L’état y sera contrôlé. La définition de la dérivée de la 9ème fonction de Lyapunov est la
suivante :
9 c9 z9 h9 (V.124)
z1 c1 z2 d1 h1 z2 d 2 h2 z3 c3 z4 d 3 h3 (V.127)
z4 d 4 h4 z5 c5 z6 d5 h5 z6 d 6 h6
z7 c7 z8 d 7 h7 z8 d8 h8 z9 d 9 h9
10ème étape :
En utilisant (V.79) et (V.127), la dérivée de la fonction de Lyapunov peut s’écrire :
1 1
V102 V101 10ˆ10 b5bˆ5 (V.130)
10 5
1
uy z9 c10 z10 10ˆ10 h10 c9 z10 c9 z9
x9 d (V.131)
u bˆ
1 5
145
Chapitre V : Commande backstepping neuronale d’un quadrirotor
11ème étape :
Le contrôlé de z permet de définir l’expression suivante :
V11 V102 c11 z112 z11 x12 c11 z11 d11 x11d (V.135)
z1 c1 z2 d1 h1 z2 d 2 h2 z3 c3 z4 d3 h3 z4 d 4 h4 (V.139)
z5 c5 z6 d5 h5 z6 d 6 h6 z7 c7 z8 d 7 h7 z8 d8 h8
z9 c9 z10 d9 h9 z10 d10 h10 z11 d11 h11
146
Chapitre V : Commande backstepping neuronale d’un quadrirotor
12ème étape :
1
V122 V121 12ˆ12 (V.142)
12
1
u1 z11 c12 z12 12ˆ12 g h12 c11 z12 c11 z11
x11d (V.143)
f x1 ,x3
z12 z11 c12 z12 d12 h12 c11 d11 h11 1212
12
V122 ci zi2 z1 c1 z2 d1 h1 z2 d 2 h2 z3 c3 z4 d 3 h3 z4 d 4 h4
i 1 (V.146)
z5 c5 z6 d 5 h5 z6 d 6 h6 z7 c7 z8 d 7 h7 z8 d8 h8
z9 c9 z10 d 9 h9 z10 d10 h10 z11 c11 z12 d11 h11 z12 d12 h12
147
Chapitre V : Commande backstepping neuronale d’un quadrirotor
V. 4 Résultats de simulation
L’objectif est de ramener le quadrirotor vers une position désirée (les consignes
d , d , d , xd , yd , zd ) et de tester l’approche considérée. Les paramètres du modèle du
quardirotor à commander sont présentés dans le tableau suivant :
148
Chapitre V : Commande backstepping neuronale d’un quadrirotor
1 2
angle et consigne d (---)
0 0.5
0
-0.5
-0.5
-1 -1
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
2 5
angle et consigne d (---)
1 3
0.5 2
0 1
-0.5 0
-1 -1
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
3 10
Altitude z et consigne zd(---)
y et postion désirée yd(---)
2
5
0
0
-1 -5
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
20 0.2
15 0.1
Commande u1
Commande u2
10 0
5 -0.1
0 -0.2 149
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
0
y et po
Altitude
0
Chapitre
-1 V : Commande
-5 backstepping neuronale d’un quadrirotor
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
20 0.2
15 0.1
Commande u1
Commande u2
10 0
5 -0.1
0 -0.2
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
0.2 0.1
Commande u3
Commande u4
0 0
-0.2 -0.1
-0.4 -0.2
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
Commande u4
0 0
V.4.2 Commande backstepping adaptative (sans perturbations)
Les simulations développées dans ce qui suit concernent le cas adaptatif. Le modèle
considéré
-0.2 est supposé non affecté de perturbations.-0.1
Par souci de simplicité, les consignes des inclinaisons de tangage, de roulis et de lacet
sont-0.4
considérées nulles. Par contre, nous avons-0.2opté pour un déplacement cartésien
0
(x, y, z)=(3, 2, 8)2 [m]. Les4 résultats6 à cet égard
8 0
sont très 2
adéquats. 4 6 8
Temps(seconde) Temps(seconde)
Les différentes commandes s’en trouvent un peu chahutées à cause de l’estimation des
nombreux paramètres supposés inconnus du système.
Aussi, les quatre dernières figures de cette simulation montrent clairement les
estimations des différents paramètres b1, b2, b3 et b4. Les convergences sont atteintes d’une
manière acceptable.
150
Chapitre V : Commande backstepping neuronale d’un quadrirotor
0.5 1
0.5
0 0
-0.5
-0.5 -1
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
2 4
angle et consigne d (---)
-1 -1
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
3 10
3 10
zd(---)
yd(---)
zd(---)
yd(---)
2
et consigne
5
désirée
2
z etzconsigne
5
désirée
1
et postion
1
y ety postion
0
Altitude
0 0
Altitude
-1 -5
0 2 4 6 8 0 2 4 6 8
-1 -5
0 2 Temps(seconde)
4 6 8 0 2 Temps(seconde)
4 6 8
Temps(seconde) Temps(seconde)
20 0.1
20 0.1
0
15 0
-0.1
u1 u1
u2 u2
15
-0.1
Commande
Commande
-0.2
Commande
Commande
10 -0.2
10 -0.3
-0.3
-0.4
5
-0.4
5 -0.5
-0.5
0
00 2 4 6 8 0 2 4 6 8
0 2 Temps(seconde)
4 6 8 0 2 Temps(seconde)
4 6 8
Temps(seconde) Temps(seconde)
151
Chapitre V : Commande backstepping neuronale d’un quadrirotor
0.1
0.05
0
Commande u3
Commande u4
0
-0.05
-0.1
-0.1
-0.15
-0.2
-0.25 -0.2
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
65.313
65.312
0.1
b1 (---) et sa valeur estimée
0
65.311 65.308
Commande u3
Commande u4
0
-0.05 65.306
65.31
-0.1 65.304
65.309 -0.1
-0.15 65.302
-0.2 65.3
0 2 4 6 8 0 2 4 6 8
-0.25 Temps(seconde) -0.2 Temps(seconde)
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
140.165 2.5
b3 (---) et sa valeur estimée
140.164
140.163
2
140.162
140.161
140.16 1.5
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
152
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Le système est supposé non soumis à des effets de tangage, de roulis et de lacet
(consignes , et nulles). Les déplacements par rapports aux trois axes sont tels que :
x=3 m, y=2 m et z=8 m.
Les quatre commandes sont explicitées. Elles montrent clairement les dynamiques
entreprises en présence des différentes perturbations.
Par ailleurs, les estimations des divers paramètres b1, b2, b3 et b4 sont réalisées de
manière très acceptable.
1 2
(---)
(---)
consigne dd (---)
1.5
0.5 1
et consigne
et consigne
0.5
angle et
angle et
0 0
angle
angle
-0.5
-0.5 -1
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
2 4
(---)
dd (---)
xd(---)
désirée xd(---)
1.5
3
consigne
1
postion désirée
et consigne
2
0.5
et postion
1
et
0
angle
angle
0
xx et
-0.5
-1 -1
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
153
Chapitre V : Commande backstepping neuronale d’un quadrirotor
4 15
2
5
1
0
0
-1 -5
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
20
15 0
Commande u1
Commande u2
10 -0.5
5 -1
0
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
0.2 0.1
0
Commande u3
Commande u4
-0.2
-0.1
-0.4
-0.6 -0.2
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
3 3
2
2
Commande ux
Commande uy
0 1
-1
0
-2
-3 -1
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde) 154
Chapitre V : Commande backstepping neuronale d’un quadrirotor
65.313
65.312
b1 (---) et sa valeur estimée
65.311 65.308
65.306
65.31
65.304
65.309
65.302
65.3
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
140.165 2.5
b3 (---) et sa valeur estimée
140.163
2
140.162
140.161
140.16 1.5
0 2 4 6 8 0 2 4 6 8
Temps(seconde) Temps(seconde)
155
Chapitre V : Commande backstepping neuronale d’un quadrirotor
x1 x2 d1
x2 2 y b1u2 d 2
x x d
3 4 3
x4 4 y b2u3 d 4
x5 x6 d5
x6 6 y b3u4 d 6
x7 x8 d 7 (V.147)
x y b u u d
8 8 4 x 1 8
x9 x10 d9
x10 10 y b5u y u1 d10
x11 x12 d11
x y f y u d
12 12 1 12
yi xi ; i 1, , 12
où :
2 2T .2 , 4 4T .4 , 6 6T .6 , 8 8 .8 , 10 10 .10 , 12 12 .12 g.
Dans cette partie, les états du système yi i 1, ,12 sont les variables supposées non
mesurables et les filtres à concevoir sont donnés par les expressions suivantes :
1er filtre
2ème filtre
3ème filtre
156
Chapitre V : Commande backstepping neuronale d’un quadrirotor
4ème filtre
Soit P R12 x12 , P 0 et PT P tel que PA0 A0T P I . Afin de garantir une
erreur ε nulle et une convergence de x̂ vers la valeur réelle x , on procède à l’élaboration
des étapes de la commande backstepping et on aboutit aux expressions résultantes
suivantes :
Erreurs choisies
zi yi yir ; i 1,3,5,7,9,11
ˆ
z j j b j / 2 yi 1r j 1 ; j 2, 4,6,8,10 (V.155)
z12 12 ˆf y11r 11
157
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Fonctions de Lyapunov
1
Vi Vi 1 zi zi T ; i 2, 4, 6,8,10,11,12
ti
1 1 1 1
V1 z1 z1 T b1bˆ1 ; V3 V2 z3 z3 T b2bˆ2
t1 1 t3 2
1 1 1 1
V5 V4 z5 z5 T b3bˆ3 ; V7 V6 z7 z7 T b4bˆ4 (V.156)
t5 3 t7 4
1 1
V9 V8 z9 z9 T b5bˆ5
t9 5
Fonctions stabilisantes
z1 z2 c1 z1 t1 z1 2 2b1 d1 h1
z z c z t z b d h
3 4 3 3 3 3 4 4 2 3 3
z5 z6 c5 z5 t5 z5 6 6b3 d5 h5
z7 z8 c7 z7 t7 z7 8 8b4 d 7 h7
z9 z10 c9 z9 t9 z9 10 10b5 d9 h9
z z c z t z f d h
11 12 11 11 11 11 12 12 11 11
z c b c d h d h c
2
z2 z1 c2 z2 t2 c1* 2
*
1 2 1
*
1 1 1 2 2
*
1 2
z c z t c z c b c d h d h c
2
z4 3 4 4 4
*
3 4
*
3 4 2
*
3 3 3 4 4
*
3 4
z c z t c z c b c d h d h c
2
z6 5 6 6 6
*
5 6
*
5 6 3
*
5 5 5 6 6
*
5 6
(V.158)
z c z t c z c b c d h d h c
2
z8 7 8 8 8
*
7 8
*
7 8 4
*
7 7 7 8 8
*
7 8
z c z t c z c b c d h d h c
2
z10 9 10 10 10
*
9 10
*
9 10 5
*
9 9 9 10 10
*
9 10
z c z t c z c f c d h d h c
2
z12 11 12 12 12
*
11 12
*
11 12
*
11 11 11 12 12
*
11 12
u2 z1 c2 z2 t2 c1* z2 c1* 2 2 2bˆ1 h1
1
2
b̂1 (V.159)
y1r
k2 1 1 1bˆ1 y2 h2 2 2 11 c y
*
1 1r
158
Chapitre V : Commande backstepping neuronale d’un quadrirotor
b̂1 12 z1 c1* z2 (V.160)
avec 1 2 z1 c1* z2
1 z c z t c*
z4 c3* 4 4 4bˆ2 h3
2
u3
b̂2 3 4 4 4 3
(V.161)
y3r
k4 1 1 1bˆ2 y4 h4 4 4 2 2 c3* y3r
b̂2 24 z3 c3* z4 (V.162)
avec 2 4 z3 c3* z4
1
z6 c5* 6 6 6bˆ3 h5
2
u4 z5 c6 z6 t6 c5*
b̂3
(V.163)
y5 r
k6 1 1 1bˆ3 y6 h6 6 6 3 3 c y5 r
*
5
b̂3 36 z5 c5* z6 (V.164)
avec 3 6 z5 c5* z6
1
z8 c*7 8 8 8bˆ4 h7
2
ux z7 c8 z8 t8 c*7
b̂4u1
(V.165)
y7 r
k8 1 1 1bˆ4 y8 h8 8 8 4 4 c7* y7 r
b̂4 48 z7 c*7 z8 (V.166)
avec 4 8 z7 c*7 z8
1
z10 c9* 10 10 10bˆ5 h9
2
uy z9 c10 z10 t10 c9*
b̂5u1 (V.167)
y9 r
k10 1 1 1bˆ5 y10 h10 10 10 5 5 c y9 r
*
9
b̂5 510 z9 c9* z10 (V.168)
avec 4 8 z7 c*7 z8
1
12 12 12 ˆf h11
2
u1 z11 c12 z12 t12 c11
*
z12 c11
*
f̂
(V.169)
k12 1 1 1 ˆf y12 *
h12 12 12 ˆf c11 y11r
y11r
159
Chapitre V : Commande backstepping neuronale d’un quadrirotor
1.5 0.8
0.6
1
0.4
0.2
0.5
0
0 -0.2
-0.4
-0.5
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Temps(seconde) Temps(seconde)
angle (r) , est(b) et consigne d(---)
6
x , x est et postion désirée xd(---)
0.6 5
0.4 4
0.2
3
0
2
-0.2
1
-0.4
0
0 0.1 0.2 0.3 0.4 0.5 0 5 10 15
Temps(seconde) Temps(seconde)
160
Chapitre V : Commande backstepping neuronale d’un quadrirotor
6 20
y , y est et postion désirée yd(---)
10
2
5
0
0
-2 -5
0 5 10 15 0 5 10 15
Temps(seconde) Temps(seconde)
20 0.5
15 0
Commande u1
Commande u2
10 -0.5
5 -1
0 -1.5
0 5 10 15 0 0.1 0.2 0.3 0.4 0.5
Temps(seconde) Temps(seconde)
3 2
2 0
Commande u3
Commande u4
1 -2
0 -4
-1 -6
-2 -8
-3 -10
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Temps(seconde) Temps(seconde)
Commande uy
-2
-1
-2 -4
-3 -6
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
Temps(seconde) Temps(seconde) 161
Chapitre V : Commande backstepping neuronale d’un quadrirotor
V.6.1 Introduction
Une stratégie de commande backstepping neuronale avec un observateur adaptatif est
proposée dans cette partie afin de stabiliser le quadrirotor. La partie inconnue dans le
modèle dynamique du quadrirotor sera estimée en temps réel par un réseau neuronal MLP.
Pareillement à leurs éventuelles augmentations du champ d'application à la fois dans le
secteur militaire et industrielle, les véhicules aériens sans pilote (UAV miniatures) gagnent
constamment l'intérêt de la communauté de recherche [71]. Le quadrirotor est considéré
comme l'une des plateformes UAV la plus populaire. Dans [71-73], la stratégie de
commande backstepping et de mode glissant a été utilisée pour contrôler le quadrirotor.
Dans [74], la loi de commande robuste H∞ a été proposée, aussi des contrôleurs PID et
LQR ont été appliqués dans [75]. Malheureusement, ces techniques sont limitées si le
modèle dynamique est totalement ou partiellement inconnu et / ou si les variables d'états ne
sont pas disponibles.
Le problème des fonctions non linéaires inconnues dans la loi de commande peut être
résolu en utilisant la technique de contrôle adaptatif basé sur des approximateurs universels
utilisant un réseau neuronal artificiel [76]. Plusieurs schémas adaptatifs à réseaux de
neurones ont été proposés pour le contrôle du quadrirotor [76-80].
Pour éviter les suppositions faites sur la disponibilité de mesure des variables d'état,
les observateurs peuvent être introduits dans le système de contrôle comme dans [79] où un
observateur neuro-mode glissant a été proposé afin de réduire l'amplification du bruit de
mesure. Dans [80], un autre observateur a été utilisé pour estimer la vitesse en utilisant des
termes correctifs représentant la superposition observations-réseaux de neurones pour
estimer les fonctions inconnues.
L’observateur à gain élevé a beaucoup évolué au cours des deux dernières décennies
comme un outil important de conception pour la commande des systèmes non linéaires
[81]. Cependant cet observateur a deux inconvénients, le premier est le phénomène de
crête et le second est sa grande sensibilité au bruit. Plusieurs méthodes ont été proposées
dans la littérature pour réduire ces phénomènes comme dans [81] où deux valeurs des gains
d'observation ont été utilisées ; la plus grande valeur a été utilisée dans la réponse
transitoire et la petite valeur du gain d'observation a été utilisée en régime permanent. Dans
[82] et [83], une loi d'adaptation est utilisée pour calculer le gain optimal d'observation.
Toutefois, ces procédés présentent certaines limitations, en particulier lorsque le gain
d'observation doit être aussi grand que possible pour le cas d'un quadrirotor dynamique.
Dans ce qui suit, un nouveau schéma adaptatif robuste est proposé en se basant sur
l’idée d’observation mentionnée dans [11]. La commande est utilisée pour estimer la partie
inconnue dans le modèle dynamique du quadrirotor et les variables d’état sont reconstruites
par un observateur adaptatif proposé.
162
Chapitre V : Commande backstepping neuronale d’un quadrirotor
x1 x2 d1
x2 W2 V2 x2 e2 x2 b1u2 d 2
T T
x3 x4 d3
x W T V T x e x b u d
4 4 4 4 4 4 2 3 4
x5 x6 d5
x6 W6T V6T x6 e6 x6 b3u4 d 6
x7 x8 d 7
x8 W8 V8 x8 e8 x8 b4u xu1 d8
T T
x x d
9 10 9
x10 W10 V10T x10 e10 x10 b5u y u1 d10
T
yi xi ; i 1, , 12 (V.170)
avec :
x2 x4 x6 x2 ,x4 ,x6 ,1 ; x8 x8 ,1 ; x10 x10 ,1 , x12 x12 ,1
T T T T
x2 x4 x6 x2 ,x4 ,x6 ;
ei xi et e j x j sont les erreurs d’approximation neuronales.
Les six réseaux neuronaux MLP utilisés dans ce cas sont représentés par les structures
générales explicitées par les figures qui suivront. Les trois réseaux MLP estimant
ˆ k k 2, 4,6 contiennent trois états d’entrée et des vecteurs de poids :
163
Chapitre V : Commande backstepping neuronale d’un quadrirotor
k1
wk1
Vk21
x2
Vk22 k 2 wk2
ˆ k k 2, 4, 6
Vk23
Vk24 wk3
Vk41
x4 Vk42
Vk43
Vk44
k 3 wk4
Vk61 Vk62
x6 Vk63
Vk64
k 4
Vk Vk1 Vk 2 Vk 3 Vk 4 ; k 8,10,12
Wk Wk1 Wk 2 Wk 3 Wk 4
T
; k 8,10,12
k1
wk1
Vk1
Vk2
k 2 wk2
ˆ k k 8,10,12
xk Vk3 wk3
Vk4
k 3 wk4
k 4
Fig. V.11 : Structures des réseaux MLP pour les fonctions 8 , 10 et 12
Dans cette partie, les états du système yi i 1, ,12 sont les variables supposées non
mesurables ; et les fonctions non linéaires qu’on va approximer sont telles que :
j ˆ j e j x
(V.171)
W jT V jT x e j x ; e j x eN ; j 2, 4, 6,8,10,12
164
Chapitre V : Commande backstepping neuronale d’un quadrirotor
Erreurs choisies
zi yi yir ; i 1,3,5,7,9,11
ˆ
z j j b j / 2 yi 1r j 1 ; j 2, 4,6,8,10 (V.172)
z12 12 ˆf y11r 11
Fonctions de Lyapunov
1
Vi Vi 1 zi zi T WiT Fi 1Wˆ i ViT Gi1Vˆi ; i 2, 4, 6,8,10,11,12
ti
1 1 1 1
V1 z1 z1 T b1bˆ1 ; V3 V2 z3 z3 T b2bˆ2
t1 1 t3 2
1 1 1 1
V5 V4 z5 z5 T b3bˆ3 ; V7 V6 z7 z7 T b4bˆ4 (V.173)
t5 3 t7 4
1 1
V9 V8 z9 z9 T b5bˆ5
t9 5
Fonctions stabilisantes
z5 z6 c z 6 6b3 d5 h5
*
5 5
z z c* z b d h
7 8 7 7 8 8 4 7 7
z z c* z f d h
11 12 11 11 12 12 11 11
165
Chapitre V : Commande backstepping neuronale d’un quadrirotor
z c b c d h d h c
2
z2 z1 c2 z2 t2 c1* 2
*
1 2 1
*
1 1 1 2 2
*
1 2
z c z t c z c b c d h d h c
2
z4 3 4 4 4
*
3 4
*
3 4 2
*
3 3 3 4 4
*
3 4
z c z t c z c b c d h d h c
2
z6 5 6 6 6
*
5 6
*
5 6 3
*
5 5 5 6 6
*
5 6
(V.175)
z c z t c z c b c d h d h c
2
z8 7 8 8 8
*
7 8
*
7 8 4
*
7 7 7 8 8
*
7 8
z c z t c z c b c d h d h c
2
z10 9 10 10 10
*
9 10
*
9 10 5
*
9 9 9 10 10
*
9 10
z c z t c z c f c d h d h c
2
z12 11 12 12 12
*
11 12
*
11 12
*
11 11 11 12 12
*
11 12
Lois de commande, lois d’adaptation des paramètres et lois de mise à jour des poids
(a) Loi de commande du roulis (création du couple ) et lois de mise à jour des poids
1
z2 c1* 2 2 2bˆ1 h1
2
u2 z1 c2 z2 t2 c1*
b̂1
(V.176)
k2 1 1 1bˆ1 y2 h2 Wˆ 2T Vˆ2T x2 v2 t 2 1 1 c1* y1r
y1r
b̂1 12 z1 c1* z2
Wˆ 2 F2 Vˆ2T x2 z2 F2 Vˆ2T x2 Vˆ2T x2 z2 F2Wˆ 2 (V.177)
Vˆ2 G2 x2Wˆ 2T Vˆ2T x2 z2 G2Vˆ2
1
2 2
avec 1 2 z1 c1* z2 ; v2 t kv 2 x2W
ˆ T Vˆ T x
2 2 2 Vˆ2T x2 Vˆ2T x2 z2
2 F
(b) Loi de commande du tangage (création du couple ) et lois de mise à jour des poids
1
z4 c3* 4 4 4bˆ2 h3
2
u3 z3 c4 z4 t4 c3*
b̂2
(V.178)
k4 1 1 1bˆ2 y4 h4 Wˆ Vˆ x4 v4 t 4 2 2 c y3r
y3r
4
T
4
T
*
3
b̂2 24 z3 c3* z4
Wˆ 4 F4 Vˆ4T x4 z4 F4 Vˆ4T x4 Vˆ4T x4 z4 F4Wˆ 4 (V.179)
Vˆ4 G4 x4Wˆ 4T Vˆ4T x4 z4 G4Vˆ4
1
2 2
avec 2 4 z3 c3* z4 ; v4 t kv 4 x4W
ˆ T Vˆ T x
4 4 4 Vˆ4T x4 Vˆ4T x4 z4
2 F
166
Chapitre V : Commande backstepping neuronale d’un quadrirotor
(c) Loi de commande de rotation du lacet (création du couple ) et lois de mise à jour des poids
1 z c z t c*
z6 c5* 6 6 6bˆ3 h5
2
u4
b̂3 5 6 6 6 5
(V.180)
k6 1 1 1bˆ3 y6 h6 Wˆ 6T Vˆ6T x6 v6 t 6 3 3 c5* y5 r
y5 r
b̂3 36 z5 c5* z6
Wˆ 6 F6 Vˆ6T x6 z6 F6 Vˆ6T x6 Vˆ6T x6 z6 F6Wˆ 6 (V.181)
Vˆ6 G6 x6Wˆ 6T Vˆ6T x6 z6 G6Vˆ6
1
2 2
avec 3 6 z5 c5* z6 ; v6 t kv 6 x6W
ˆ T Vˆ T x
6 6 6 Vˆ6T x6 Vˆ6T x6 z6
2 F
(d) Loi de commande de position (selon l’axe xb ) et lois de mise à jour des poids
1
z8 c*7 8 8 8bˆ4 h7
2
ux z7 c8 z8 t8 c*7
b̂4u1
(V.182)
k8 1 1 1bˆ4 y8 h8 Wˆ Vˆ x v8 t 8 4 4 c y7 r
y7 r
8
T
T
8 8 *
7
b̂4 4 8 z7 c*7 z8
Wˆ 8 F8 Vˆ8T x8 z8 F8 Vˆ8T x8 Vˆ8T x8 z8 F8Wˆ 8 (V.183)
Vˆ8 G8 x8Wˆ 8T Vˆ8T x8 z8 G8Vˆ8
1
2 2
avec 4 8 z7 c*7 z8 ; v8 t kv8 x8Wˆ 8T Vˆ8T x8 Vˆ8T x8 Vˆ8T x8 z8
2 F
(e) Loi de commande de position (selon l’axe yb ) et lois de mise à jour des poids
1
z10 c9* 10 10 10bˆ5 h9
2
uy z9 c10 z10 t10 c9*
b̂5u1 (V.184)
k10 1 1 1bˆ5 y10 h10 Wˆ Vˆ x T
10 T
10 10 v 10 t 10 5 5 c *
9 9r y9 r
y
b̂5 510 z9 c9* z10
Wˆ 10 F10 Vˆ10T x10 z10 F10 Vˆ10T x10 Vˆ10T x10 z10 F10Wˆ 10 (V.185)
Vˆ10 G10 x10Wˆ 10T Vˆ10T x10 z10 G10Vˆ10
1
2 2
avec 4 8 z7 c*7 z8 ; v10 t kv10 x10W
ˆ T Vˆ T x
10 10 10 Vˆ10T x10 Vˆ10T x10 z10
2 F
167
Chapitre V : Commande backstepping neuronale d’un quadrirotor
(f) Loi de commande relative à la poussée (selon l’axe zb ) et lois de mise à jour des poids
1
12 12 12 ˆf h11
2
u1 z11 c12 z12 t12 c11
*
z12 c11
*
f̂
(V.186)
k12 1 1 1 ˆf y12 h12 Wˆ Vˆ x T
12 T
12 12 *
v12 t 12 ˆf c11 y11r
y11r
Wˆ 12 F12 Vˆ12T x12 z12 F12 Vˆ12T x12 Vˆ12T x12 z12 F12Wˆ 12
(V.187)
Vˆ12 G12 x12Wˆ 12T Vˆ12T x12 z12 G12Vˆ12
1
2 2
avec v12 t kv12 x12W
ˆ T Vˆ T x
12 12 12 Vˆ12T x12 Vˆ12T x12 z12
2 F
V.7 Conclusion
Dans ce chapitre, nous avons étudié l'application de la commande backstepping
neuronale avec observateur sur un procédé physique qui est le quadrirotor. Ce dernier est
un modèle multivariable, couplé et perturbé.
Le modèle mathématique prend en compte tout le fonctionnement inhérent à un tel
procédé en termes de variables mises en jeu, des différents mouvements possibles tels que
le roulis, le tangage et le lacet, et de leurs commandes, ainsi que les divers repères utilisés
pour un formalisme reflétant la réalité.
Il est clair qu'un tel modèle est très complexe, voir difficile à contrôler ; car la
commande est multivariables dans le sens où 6 degrés de liberté sont à contrôler de
manière simultanée et opérant dans un milieu particulièrement perturbé.
Outre la diversité des contraintes liées à ce modèle, la commande backstepping réalise
parfaitement des objectifs additionnels d'estimation de plusieurs paramètres liés aux
différentes dynamiques des états du système.
168
Conclusion générale
Conclusion générale
Le travail présenté dans le cadre de cette thèse porte particulièrement sur la technique
de commande adaptative backstepping neuronale avec ses diverses formes d’application.
L’orientation de ce travail a été explicitement choisie afin de satisfaire des exigences liées
aux systèmes non linéaires incertains. Ces exigences s’étalent sur plusieurs axes, et
nécessitent le soulèvement de plusieurs problématiques : présence d’incertitudes et
perturbations, robustesse et bonnes performances de la commande, nécessité de
construction d’observateurs et d’estimateurs pour certains paramètres et certains états,
garantie des bonnes performances pour le fonctionnement d’un système monovariable ou
multivariables sous perturbations et incertitudes.
Dans cette thèse, nous avons traité un ensemble important de cas et à chaque fois une
tactique de développement est proposée. La solution est présentée selon la structure du
modèle et les conditions de fonctionnement imposées ; et les résultats ont été validés par
simulation sous Matlab.
Nous avons commencé par aborder le concept de base de la commande backstepping
associée à la commande neuronale avec un rappel des différents développements et en
s’appuyant sur des exemples théoriques des systèmes non linéaires. Le développement
a fait appel à un outil puissant issu du domaine de l’automatique, qui est la commande non
linéaire dite backstepping neuronale. Nous avons adapté cette commande pour quelle soit
implémentable en temps réel pour les processus physiques tels que le pendule simple et le
pendule inversé. Les exemples de simulation ont confirmé l’efficacité de cette technique de
commande par des résultats admissibles.
La commande adaptative backstepping neuronale d'une certaine classe de systèmes
non linéaires, en l'occurrence les systèmes incertains, a fait l’objet de la seconde
problématique. L’objectif était de concevoir des observateurs et des estimateurs capables
de satisfaire la variation paramétrique et l’observation des états. Cette technique a montré
sa robustesse par le rejet parfait des perturbations, l’estimation des paramètres ainsi que
l’approximation des fonctions non linéaires du système. Les résultats ont montré
l’efficacité de ces structures combinées vis-à-vis des structures classiques.
Afin de cerner la problématique de cette thèse, nous avons exploité ce qui a été
développé dans les deux premiers chapitres en matière d’algorithmes de commande
backstepping neuronale pour contrôler les deux types de moteurs à aimants permanents et à
induction. Ces deux structures ont été proposées et testées, et les résultats obtenus ont
montré de nouveau l’efficacité de la technique neuronale par rapport à la version classique
pour le fonctionnement d’un système non linéaire entaché de contraintes internes et
externes.
169
Conclusion générale
Sachant que les systèmes non linéaires incertains et multivariables présentent des
disfonctionnements parfois sévères pour leurs commandes. La problématique qui a été
abordé dans ce dernier chapitre est la commande d'un quadrirotor qui est système couplé et
perturbé. Le contrôle de ses trois translations et ses trois rotations en présence
d’incertitudes et de perturbations externes a été clairement soulevé et résolu. Nous avons
proposé un algorithme basé sur la technique backstepping afin de stabiliser le quadrirotor
et de permettre le rejet total des perturbations.
Le travail effectué dans cette thèse s’est étendu sur plusieurs axes de recherche, ce qui
justifie que certains aspects n’ont pas été traités d’une façon très profonde. Plusieurs
recommandations et perspectives peuvent faire l’objet d’un travail futur :
Développer des algorithmes qui permettent d’avoir à la fois des gains d’adaptation
optimaux et des meilleurs structures d’approximation neuronales afin d’améliorer la
robustesse et l’efficacité de la stratégie de commande backstepping.
Exploiter les approximateurs neuronaux associés aux observateurs développés dans
le deuxième chapitre pour améliorer la robustesse afin de commander les systèmes
non linéaires incertains et multivariables.
Concevoir une nouvelle variante d’algorithme backstepping qui peut être employée
pour la commande de la majorité des modèles non linéaires.
170
Bibliographie
Bibliographie
[3] S. Chen and S.A. Billings, "Neural networks for nonlinear dynamic system modelling and
identification", Int. J. Control, vol. 56, no 2, pp. 319-346, 1992.
[4] K.S. Narendra and K. Parthasarathy, "Identification and control of dynamic systems using
neural networks", IEEE Trans. Neural Networks, pp. 14-27, 1990.
[6] Ö. Tolga Altınöz, "Adaptive integral backstepping motion control for inverted pendulum",
Int. J. Mechanical, Industrial Science and Engineering, vol. 1, no 5, pp. 280-283, 2007.
[7] S. Rudra, and R. K. Barai, "Robust adaptive backstepping control of inverted pendulum on
cart system", Int. J. Control and Automation, vol. 5, no 1, pp. 13-26, 2012.
[9] D. Wang and J. Huang, "Adaptive neural network control for a class of uncertain nonlinear
systems in pure-feedback form", Automatica, vol. 38, pp. 1365-1372, 2002.
[10] D. Elleuch and T. Damak, "Robust adaptive controller for uncertain nonlinear systems",
Int. J. Information Technology, Control and Automation, vol. 2, no 2, 2012.
[11] J. Zhou and C. Wen, "Adaptive backstepping control of uncertain systems non smooth
nonlinearities, interactions or time-variations", Springer-Verlag Berlin Heidelberg, 2008.
[12] J. Ye, "Tracking control for nonholonmic mobile robots : integrating the analog neural
network into the backstepping technique", Neuro computing, vol. 71, no 16-18, pp 3373-
3378, 2008.
[13] G. Bartolini and all, "Modern sliding mode control theory", springer-varlag Berlin
Heidelberg, pp 269-290, 2008.
[15] F. C. Chen and H. K. Khalil, "Adaptive control of nonlinear systems using neural
networks", Int. J. Control, vol. 55, no 6, pp. 1299-1317, 1992.
171
Bibliographie
[16] F. L. Lewis, A. Yesildirek, and K. Liu, "Multilayer neural-net robot controller with
guaranteed tracking performance", IEEE Trans. Neural Networks, vol. 7, no 2, pp. 388-
399, 1996.
[17] T. Zhang, S. S. Ge, and C. C. Hang, "Design and performance analysis of a direct adaptive
controller for nonlinear systems", Automatica, vol. 35, no 12, pp. 1809-1817, 1999.
[19] T. Zhang, S.S. Ge, and C.C. Hang, "Adaptive neural network control for strict-feedback
nonlinear systems using backstepping design", Automatica, vol. 36, pp. 1835-1846, May
2000.
[20] M. Stinchcombe and H. White, "Approximating and learning unknown mappings using
multilayer feedforward networks with bounded weight", Technical Report, , San Diego,
Dept. of Economics, University of California, 1990.
[22] F. J. Lin and S. L. Chiu, "Adaptive fuzzy sliding-mode control for PM synchronous servo
motor drives", IEE Proceedings : Control Theory and Applications, vol. 145, no 1, pp. 63-
72, 1998.
[23] S. C. Tong and H. H. Li, "Fuzzy adaptive sliding model control for MIMO nonlinear
systems", IEEE Trans. Fuzzy Systems, vol. 11, no 3, pp. 354-360, 2003.
[24] A. Isidori, "Nonlinear control systems", Communications and Control Engineering Series,
Springer, Berlin, Germany, 3rd Ed., 1995.
[25] H. Lee and M. Tomizuka, "Robust adaptive control using a universal approximator for
SISO nonlinear systems", IEEE Trans. Fuzzy Systems, vol. 8, no 1, pp. 95-106, 2000.
[26] X. Liu, G. Gu, and K. Zhou, "Robust stabilization of MIMO nonlinear systems by
backstepping", Automatica, vol. 35, no 5, pp. 987-992, 1999.
[27] J.-H. Hu and J. B. Zou, "Adaptive backstepping control of permanent magnet synchronous
motors with parameter uncertainties", Control and Decision, vol. 21, no 11, pp. 1264-1269,
2006.
[28] L. A. Zadeh, "Fuzzy sets", Information and Computation, vol. 8, pp. 338-353, 1965.
[29] C. Elmas, O. Ustun, and H. H. Sayan, "A neuro-fuzzy controller for speed control of a
permanent magnet synchronous motor drive", Expert Systems with Applications, vol. 34,
no 1, pp. 657-664, 2008.
[30] S. Tong and H. X. Li, "Direct adaptive fuzzy output tracking control of nonlinear systems",
Fuzzy Sets and Systems, vol. 128, no 1, pp. 107-115, 2002.
172
Bibliographie
[34] N. Goléa, A. Goléa and M. Kadjouj, "Backstepping adaptive control of permanent magnet
synchronous motor drive", Computational Engineering in Systems Engineering CESA’03;
Lille France, July 9-11, 2003.
[35] J. Zhou and Y. Wang, " Adaptive backstepping speed controller design for a permanent
magnet synchronous motor ", IEE Proceedings, Electric Power Applications, vol. 149, no 2,
pp. 165-172, March 2002.
[36] B. Bossoufi, M. Karim, S. Ionita, and A. Lagrioui, "Nonlinear non adaptive backstepping
with sliding-mode torque control approach for PMSM motor", J. Electrical Systems, vol. 8,
no 2, pp. 236-248, 2012.
[38] P. Vas, "Vector control of AC machines", New York, Oxford Science Publications. 1990.
[40] F. Blaschke, "The principle of field oriented as applied to the new tran-vector closed-loop
control system for rotating machines", Siemens Review, vol. 39, no 4, pp. 217-220, 1972.
[41] K. Hasse, "On the dynamics of speed control of a static AC drive with squirrel cage
induction machine", Ph.D. Dissertation, Tech. Hochschule Darmstradt, Germany, July
1979.
[42] J.P. Caron and J.P. Hautier, "Modélisation et commande de la machine asynchrone", vol. 7,
Ed. Technip, France, 1995.
[43] C. Canudas de Wit, "Commande des moteurs asynchrones", Volume I et II, Série Systèmes
automatisés, Hermès, 2000.
[44] R. D. Lorenz and D. W. Novotny, "A control system perspective of field oriented control
for AC servo drives", Conf. Record of the Controls Engineering Exposition, vol. 88, 1988.
[45] R. De Doncker and D. W. Novotny, "The universal field oriented controller", IEEE Trans.
Industry Applications, vol. 30. no 1, pp. 92-100, 1994.
[47] R. Ortega and G. Espinoza, "Torque regulation of induction motor", Automatica, vol. 29,
no 3, pp.621-633, 1993.
[48] R. Ortega and al, "On speed control of induction motor", Automatica, vol. 32, no 3, pp.455-
460, 1996.
[49] V. I Utkin, "Sliding mode control design principles and applications to electric drives",
IEEE Trans. Industrial Electronics, vol. 40, no 1, pp.23-36, 1993.
173
Bibliographie
[50] G. Bartolini, E. Punta, and T. Zolezzi, "Approximability properties for second-order sliding
mode control systems", IEEE Trans. Automatic Control, vol. 52, no 10, pp. 1813-1825,
2007.
[52] P. V. Kokotović, "Bode lecture : the joy of feedback", IEEE Control Systems Magazine,
vol. 12, no 3, pp. 7-17, 1992.
[54] M.R Jovanovic and B. Bamieh, "Architecture induced by distributed backstepping design",
IEEE Trans. Automatic Control, vol. 52, no 1, pp. 108-113, 2007.
[55] C. Kwan and F. L. Lewis, "Robust backstepping control of nonlinear systems using neural
networks", IEEE Trans. Systems, Man, and Cybernetics - Part A : Systems and Humans,
vol. 30, no 6, pp. 753-766, 2000.
[56] L. Yahui, L. Guozhong, Z. Xianyi, and Q. Sheng, "Adaptive backstepping control for
induction motor based on neural networks and dynamic surface technique", Proceedings of
IEEE Conf. Control Applications, vol. 2, pp. 826-831, June 23-25, 2003.
[57] Z. C. Ji and Y. X. Shen, "Backstepping position control for induction motor based on
neural network", Proceedings of the 1ST IEEE Conf. Industrial Electronics and
Applications, pp. 1-5, May 24-26, 2006.
[58] J. Soltani and R. Yazdanpanah, "Robust backstepping control of induction motor drives
using artificial neural networks", Proc. Int. Conf. Power Electronics and Motion Control,
IEEE, vol. 2, pp. 1-5, Aug 14-16, 2006.
[59] H. Tan and J. Chang, "Field orientation and adaptive backstepping for induction motor
control", Conf. Thirty-Fourth IAS Annual Meeting, Industry Applications, IEEE, vol. 4,
pp. 2357-2363, October 3-7, 1999.
[60] S. Woo Nam and M. N. Uddin, "Development of an adaptive backstepping based nonlinear
control of an induction motor incorporating iron loss with parameter uncertainties", Conf.
Electrical and Computer Enginnering, IEEE, pp. 1662-1666, May, Otawa, Canada, 2006.
[62] Y. Tan, J. Chang, and H. Tan, "Adaptive backstepping control and friction compensation
for AC servo with inertia and load uncertainties", IEEE Trans. Industrial Electronics, vol.
50, no 5, 2003.
[63] H. T. Lee, L. C. Fu, and F. L. Lian, "Sensorless adaptive backstepping speed control of
induction motor", Proc. of the 45th IEEE Conf. Decision and Control, Manchester Grand
Hyatt Hotel San Diego, December 13-15, CA, USA, 2006.
174
Bibliographie
[64] Y. Tan, J. Chang, H. Tan, and J. Hu, "Integral backstepping control and experimental
implementation for motion system", Proc. Int. Conf. Control Applications, Anchorage,
IEEE, September 25-27, Alaska, USA, 2000.
[65] J. T. Yu and J. Chang, "A new adaptive backstepping design for motion control systems",
IEEE Conf. Industrial Electronics Society, vol. 1, pp. 140-144, November 2-6, 2003.
[66] R. Cazzaro, "Modélisation et stabilisation d’un micro hélicoptère à quatre rotors", Examen
probatoire du diplôme d’ingénieur C.N.A.M., Conservatoire National des Arts et Métiers,
Toulouse, 2007.
[68] H. Khebbache, "Tolérance aux défauts via la méthode backstepping des systèmes non
linéaires. Application : système UAV de type quadrirotor", Mémoire de Magister,
Département d’Electrotechnique, Faculté de Technologie, Université Ferhat Abbas, Sétif,
Algérie, 2012.
[69] J. Lévine, "Analyse et commande des systèmes non linéaires", Centre Automatique et
Systèmes, Ecole des Mines de Paris, Mars 2004.
[70] H. Boudjedir, O. Bouhali, and N. Rizoug, "Neural network control based on adaptive
observer for quadrotor helicopter", International Journal of Information Technology,
Control and Automation, vol. 2, no 3, pp. 39-54, July 2012.
[71] P. Adigbli, "Nonlinear attitude and position control of a micro quadrotor using sliding
mode and backstepping techniques", 3rd US-European Competition, MAV07 & EMAV07,
17-21, pp. 1-9, France, 2007.
[72] S. Bouabdallah and al., "Backstepping and sliding mode techniques applied to an indoor
micro quadrotor", Proc of IEEE, ICRA, pp. 2247-2252, 2005.
[73] T. Madani and A. Benallegue, "Backstepping control with exact 2-sliding mode estimation
for a quadrotor unmanned aerial vehicle", Proc. of IEEE/RSJ, Int. Conf. on Intelligent
Robots and Systems, pp. 141-146, 2007.
[74] A. Mokhtari, A. Benallegue, and B. Daachi, "Robust feedback linearization and GH∞
controller for a quadrotor unmanned aerial vehicle", Journal of Electrical Engineering,
vol. 57, no 1, pp. 20-27, 2006.
[75] S. Bouabdallah and al., "PID vs. LQ control techniques applied to an indoor micro
quadrotor", Proc of IEEE/RSJ, Int. Conf. on Intelligent Robots and Systems, pp. 2451-
2456, Japan, 2004.
[76] A. Das, F. Lewis, and K. Subbarao, "Backstepping approach for controlling a quadrotor
using Lagrange form dynamics", J. Intell. Robot syst., pp 127-151, 2009.
[77] C. Nicol, and al., "Robust neural network of a quadrotor helicopter", Proc. of IEEE, Fuzzy
information PSC, pp. 454-458, 2008.
[78] J.C. Raimundez and al., "Adaptive tracking control for a quad-rotor", ENOC, saint
Pertersburg, Russia July 2008.
175
Bibliographie
[79] O. Bouhali and H. Boudjedir, "Neural network control with neuro-sliding mode observer
applied to quadrotor helicopter", Proc. INISTA’11, pp 24-28, Istanbul, Turkey, 2011.
[80] T. Dieks and S. Jagannathan, "Neural networks out feedback of a quadrotor UAV", Proc. of
IEEE, 47th CDC, pp 3633-3639, Mexi, Dec., 2008.
[81] H. Khalil, "High-gain observers in nonlinear feedback control", Proc. IEEE, IC on Control,
Automation and Systems, 2008.
[82] M. Farza and al., "Dynamic high gain observer design", Proc. of IEEE, 6th International
Multi Conference on systems, signals and Device, 2009.
[83] E. Bullinger and F. Allgower, "An adaptive high-gain observer for nonlinear systems",
Proc. of IEEE, the 36th CDC USA, 1997.
[86] F. Mrabti et H. Seridi, " Comparaison de méthodes de classification réseau RBF, MLP et
RVFLNN", Damascus University Journal, Syrie, vol. 25, no 2, pp. 119-129, 2009.
176
Annexe A : Systèmes non linéaires et types de commande
(1/3)
Annexe A : Systèmes non linéaires et types de commande
Dans ce contexte deux variantes existent, la première dite linéarisation entrée-états (Input-
states feedback linearization) et qui utilise le principe de placement des pôles par retour d’état
pour les systèmes linéaires, il s’agit de transformer le système non linéaire en système linéaire
via des transformations entrée-état adéquates. Le problème et de définir les classes des
systèmes non linéaires obéissant à une telle transformation et de trouver la transformation
adéquate et appropriée et à travers cette transformation, après cette transformation on se met
face à une dynamique linéaire dont les techniques de commande linéaires sont applicables
facilement.
Dans la deuxième technique appelée linéarisation par entrée –sortie (output-states
feedback linearization) il s’agit de décrire une relation linéaire directe entre la commande u et
la sortie y, via une nouvelle variable de commande v. La synthèse passe par trois étapes.
Dans une première étape, on s’intéresse à la génération d’une relation entre u et y par le
biais des dérivées successives de la sortie. Cependant cette étape permet de générer un
ensemble d’états internes inobservables appelé dynamique interne, dans la deuxième étape on
s’intéresse à étudier le comportement de la dynamique interne à travers l’étude de l a
stabilité des zéros dynamiques définis en absence du signal de commande. Dans la
dernière étape, il s’agit de concevoir le contrôleur approprié et par conséquent, il est judicieux
de concevoir un contrôleur qui, à la fois, assure la stabilité dans la boucle et dans la dynamique
interne. [84]
3. Commande Backstepping
Développée par Kokotovitć, la commande backstepping utilise le principe de stabilité de
Lypunov pour le calcul de la loi commande récursivement, c’est une méthode multi-
étapes opérant sur les systèmes ayant une forme d’état triangulaire (strict-feedback systems),
elle utilise la notion de la commande virtuelle et l’ajout des intégrateurs à chaque étape.
Dans cette thèse, ce type de commande est bien détaillé.
4. Commande adaptative
Selon la définition de webster : « l’adaptation est un auto – changement, permettant un
comportement conforme et approprié face à un changement des circonstances ». La
commande adaptative est une approche utilisée pour les systèmes ayant des paramètres
incertains, provenant des incertitudes dans les paramètres du système (incertitudes structurés)
ou des simplifications dans la dynamique du système (incertitudes non structurés), elle est
basée sur le concept de l’estimation en ligne des paramètres pour l’ajustement d’une loi de
commande.
Cette commande a été développée vers les débuts des années 1950, pour la conception des
autopilotes assurant de hautes performances des avions travaillant avec de grande vitesses et
grande altitudes, les automaticiens se sont vite aperçus en effet qu’un contrôleur avec des
paramètres fixes n’était pas toujours capable d’assurer les performances voulues, par exemple
dans le cas où les paramètres du système variaient avec le temps. En 1958, Whittaker,
Yamron et Kezer élaborèrent la “MIT Rule” (algorithme du gradient).
Deux approches existent, une commande adaptative indirecte, dite également commande
adaptative explicite, dans laquelle les paramètres du système sont estimés en ligne pour le
calcul des paramètres du contrôleur et une approche directe, dite aussi approche implicite, qui
repose sur l’estimation en ligne des paramètres de contrôleur afin de les utiliser dans la
paramétrisation du système, à travers une relation étroite liant les paramètres du contrôleur et
les paramètres du système.
La conception d’une commande adaptative passe obligatoirement par trois étapes :
(1) Choix de la loi de contrôle ; (2) Choix de la loi d’adaptation ; (3) Analyse de la
(2/3)
Annexe A : Systèmes non linéaires et types de commande
convergence. Deux principaux schémas peuvent être cités pour le contrôle adaptatif : la
commande adaptative à modèle de référence et la commande auto-ajustable. [84]
5. Le contrôle flou
Depuis l’établissement de la théorie de la logique floue par A. Lotfi Zadeh en 1965, qui
opère sur des variables linguistiques, le contrôle flou a connu une vaste utilisation et il est
devenu un outil actif et fructueux pour le développement des contrôleurs fiables pour les
systèmes non linéaires ainsi que dans la modélisation. La structure d’un contrôleur flou est
basée essentiellement sur des informations heuristiques fournies par un opérateur expérimenté
agissant sur le système, ces informations forment une base de connaissance pour le système à
commander servant l’émulation de la décision humaine.
Les principaux avantages d’un contrôleur à logique floue sont :
La possibilité d’extraire une stratégie de contrôle automatique à partir d’une stratégie
de contrôle linguistique basée sur une expertise humaine,
Une implémentation adéquate et facile des FLC dans la commande des systèmes.
Bien que ces contrôleurs ont connu une vaste utilisation grâce à leurs efficacité et fiabilité
dans la commande des procédés complexes, des difficultés sont apparues telles que :
Le domaine d’expertise n’est pas toujours disponible,
Les opérateurs ne peuvent pas facilement transformer leurs connaissances en une
caractérisation algorithmique nécessaire pour une extraction d’une stratégie de contrôle
automatique.
Pour cela plusieurs approches systématiques de conception de FLC ont été développées
ces dernières années.
6. Le contrôle neuronal
Les réseaux de neurones artificiels sont des algorithmes et des représentations
mathématiques imitant massivement le fonctionnement des réseaux de neurones biologiques.
Ils ont montré leurs efficacités et fiabilités dans de nombreux problèmes de contrôle, de
traitement du signal, traitement d’image, reconnaissance de formes et dans l’estimation et
l’identification. Leur origine vient de l’essai de modélisation du neurone biologique par
Mcculloch et Pitts, ils supposent que l’impulsion nerveuse est le résultat d’un calcul simple
effectué par chaque neurone et que la pensée née grâce à l’effet collectif d’un réseau de
neurones interconnecté.
L’implantation de la théorie neuronale dans la commande se fait à travers un perceptron
multicouches, le perceptron est un neurone artificiel développé par H. Rosenblat, la sortie du
neurone y dépend des entrées appelées poids synaptiques et d’une certaine fonction
xi pondérées par les poids wi.
Ce neurone formel permet l’introduction d’un perceptron multicouches ou réseaux dont la
propagation est directe et la valeur de la sortie présente ne dépend pas des sorties
précédentes. Cette structure est très utilisée dans l’identification et le contrôle, elle constitue
un approximateur universel : des recherches ont montrée que le perceptron multicouche
peut approximer n’importe qu’elle fonction entrée/sorties sous réserve de mettre suffisamment
de neurones dans la couche cachées et d’utiliser des sigmoïdes pour la fonction d’activation.
Dans cette annexe, les principales méthodes de commandes non linéaires ont été
présentées. Notons qu’ils existent d’autres méthodes de commande et qui représentent des
mécanismes hybrides entre les méthodes et approches citées.
(3/3)
Annexe B : Stabilité et théorie de Lyapunov
1.1 Définition
On dit qu’un système est stable s’il se déplace de sa position d’équilibre sous l’effet
d’incertitudes ou perturbations externes et tend à y revenir ; instable, s’il tend à s’en écarter
davantage. [85]
1.2 Exemple
Soit à stabiliser l’origine ( x1 0 ) du système scalaire :
x1 1 x1 1 x1 .u
T
(2)
(1/6)
Annexe B : Stabilité et théorie de Lyapunov
V x1 x1 .x1 x1 . 1 x1 1 x1 .u
T
(4)
Un choix judicieux de u rend V x1 négative et assure la stabilité asymptotique de
l’origine du système. Un exemple de commande est donné par le choix de u tel que
1 x1 1 x1 .u k1 x1 ; k1 0
T
(5)
ce qui donne
1
k1 x1 1 x1
T
u (6)
1 x1
(2/6)
Annexe B : Stabilité et théorie de Lyapunov
globalement asymptotiquement stable s’il est asymptotiquement stable pour tous les
états initiaux. Si le système est asymptotiquement stable quelque soit la condition
initiale x 0 , alors le point d’équilibre est globalement asymptotiquement stable.
marginalement stable, s’il est stable sans être asymptotiquement stable.
2.3 Définition 2
Supposez que l’on puisse définir une mesure de l’énergie dans un système par
exemple V x x .
2
(3/6)
Annexe B : Stabilité et théorie de Lyapunov
V Vx x f x, k x W x (9)
Pour que cette approche soit vérifiée, V et W doivent être choisies adéquatement, où
l’équation (3) ne peut être résolue. Ceci justifie les définitions suivantes :
a a2 b2
u k x (11)
b
où :
a Vx x . f x b Vx x .g x
;
Ce qui permet d’avoir l’expression :
a a2 b
V Vx x . f x g x .u a b. 2 a2 b2 (12)
b
(4/6)
Annexe B : Stabilité et théorie de Lyapunov
Une approche étroitement liée est celle de Freeman et Primbs où u est choisie pour
minimiser l’effort de commande nécessaire pour satisfaire V W x . Cette approche
suppose que seule f x qui commande le système vers l’équilibre, alors on peut écrire :
V V x . f x W x
u 0 x (13)
4.1 Introduction
Pour les systèmes linéaires, la stabilité repose sur la nature des valeurs propres du
système, les systèmes non linéaires nécessitent d’autres outils pour l’analyse de la stabilité
autour d’un point d’équilibre. En 1892, le mathématicien russe Alexander Mikhailovich
Lyapunov, développait une théorie de stabilité pour les systèmes non linéaires et établissait
les méthodes d’analyse. La dite seconde méthode ne cherche pas la solution de l’équation
différentielle. Les solutions exactes sont impossibles à déterminer ou difficiles à obtenir.
Dans ce cas, Lyapynov a employé sa stratégie afin de résoudre le problème de stabilité des
systèmes non linéaires.
1er cas : ‹‹ f 0 ››
L’équation (14) s’écrit alors :
m.x k.x 0 (15)
Ce système possède une énergie totale V telle que :
1
V m.x 2 k.x 2 Ec E p 0 (16)
2
Les courbes V Cte , sont des ellipses intérieures les unes aux autres et s’éloignent de
l’origine quand la constante augmente. Voyons maintenant comment cette énergie varie
dans le temps. La dérivée de la fonction de Lyapunov V est nulle, en effet :
V t mxx
kxx 0 (17)
on a alors : mx kx 0 .
Lorsque la dérivée de V atteindra la valeur nulle, la fonction V sera constante. Dans
ce cas, on dit que le système présentera une stabilité marginale.
(5/6)
Annexe B : Stabilité et théorie de Lyapunov
2ème cas : « f 0»
L’équation du système s’écrit :
m.x k.x f .x 0 (18)
et :
m.x k.x f .x (19)
avec :
V m.x k.x .x f .x 2 (20)
On remarque que le signe de l’énergie dépend ainsi du signe du coefficient
d’amortissement f . Si f >0 alors V <0 décroît et on peut dire dans ce cas que le système
est asymptotique stable.
L’énergie emmagasinée décroît dans le temps jusqu’à sa valeur minimale à l’état
d’équilibre. Il n’est pas évident de définir une fonction d’énergie dans ce cas. Ainsi,
Lyapunov a introduit une fonction dite fonction de Lyapunov qui est en réalité une
fonction d’énergie imaginaire.
La fonction V x est définie positive ou négative selon que la matrice P est définie
positive ou négative. L’inégalité X T PX 0 est équivalente à dire que P est définie
positive, donc toutes les valeurs propres de P sont à parties réelles positives. Encore, si
X T PX 0 , P est définie négative, et toutes les valeurs propres de P sont à parties réelles
négatives. Un moyen efficace pour déterminer si une forme quadratique est positive ou
négative définie est l’application du théorème de sylvestre à la matrice P engendrée.
4.4 Théorème
Le système linéaire x A.x est asymptotiquement stable si et seulement si, pour toute
matrice symétrique définie positive Q, il existe une matrice P définie positive et
symétrique satisfaisant l’équation de Lyapunov :
AT P PA Q (22)
(6/6)
Annexe C : Comapaison de deux réseaux : RBF et MLP
1. Architectire
Introduit par Powell et Broomhead, le réseau RBF (Radial Basis Functions) fait partie des
réseaux de neurones supervisés. Il est constitué de trois couches : une couche d'entrée qui
retransmet les entrées sans distorsion, une seule couche cachée qui contient les neurones RBF
qui sont généralement des gaussiennes et une couche de sortie dont les neurones sont
généralement animés par une fonction d'activation linéaire. Chaque couche est complètement
connectée à la suivante et il n'y a pas de connexions à l'intérieur d'une même couche.
Un MLP (Multi Layer Perceptron) est composé d'une couche d'entrée, une couche de
sortie et une ou plusieurs couches cachées. Les éléments de deux couches adjacentes sont
interconnectés par des poids assurant la liaison des différentes couches. La fonction
d’activation est généralement sigmoïdale ou tangente hyperbolique.
2. Fonction de combinaison
La combinaison des valeurs d’entrée est généralement de deux types :
• Les réseaux de type MLP ( Multi-Layer Perceptron) calculent une combinaison linéaire des
entrées, c’est à dire que la fonction de combinaison renvoie le produit scalaire entre le
vecteur des entrées et le vecteur des poids synaptiques.
• Les réseaux de type RBF (Radial Basis Function) calculent la distance entre les entrées, c’est
à dire que la fonction de combinaison renvoie la norme euclidienne du vecteur issu de la
différence vectorielle entre les vecteurs. [86]
RBF MLP
Une seule couche cachée. Une ou plusieurs couches cachées.
Chaque neurone caché est spécialisé dans une Chaque neurone caché d’un MLP joue un rôle
zone de l’espace des formes d’entrée. similaire.
Les neurones cachés d’un RBF calculent des Les neurones cachés d’un MLP calculent le
normes euclidiennes entre les neurones et les produit scalaire du neurone avec la forme
formes d’entrée. d’entrée.
Les neurones de sortie sont non linéaires pour
Les neurones de sortie sont linéaires. les problèmes de classification et linéaires
pour les problèmes de régression
Approximation locale. Approximation globale.
(1/1)
Notations utilisées
Notations utilisées
Acronymes
RNA Réseau de neurones artificiel
RBF Fonctions de base radiales (Radial Basis Function)
MLP Réseaux de neurones à perceptron multicouches (Multi Layer Perceptron)
BAN Backstepping adaptative neuronale
MSAP Moteur synchrone à aimants permanents
DC Courant continu
UAV Unmanned Air Vehicule (véhicule aérien sans équipage)
Symboles
xi Variable d’état
i Fonction non linéaire
θ Paramètre
θ̂ Valeur estimée de θ
θ Erreur θ - θ̂
u Commande
yr Consigne (valeur désirée)
zi Erreur
i Fonction stabilisante
x Erreur d’approximation
. 1
Norme d’ordre 1 d’un vecteur
. 2
Norme d’ordre 2 d’une matrice
. F
Norme Frobenius d’une matrice
i Perturbation
. النًنوين لألنظمة غًن اخلطية وغًن املؤكدةbackstepping إن اذلدف األساسي من إجناز ىذا البحث ىو دراسة املوضوع اخلاص بالتحكم ادلالئم: ملخص
بعدىا نعرج إىل تبين فكرة جديدة و ىي الربط بٌن معايًن.ئئ و ادلال م
غًن ادلال مbackstepping نقوم يف ادلرحلة األوىل بتوضيح ادلفهوم األساسي ملعىن
إن التحليالت النظرية وتطبيقاتوا على أنظمة فيزيائية كالبندول البسيط و.backstepping املقاربة باستعمال الشبكات النًنونية و إسرتاتيجية التحكم
backstepping إن اجلزء الثاين من ىذا الحبث يهدف أساسا إىل دراسة حتليلية مفصلة للتحكم.البندول ادلقلوب تبرز االستقرار واملتانة الشاملة لوذه التقنية
فإن إدراج املالحظ يف عملية التحكم جيلب حتسينات، باإلضافة إىل ذلك.النًنوين لألنظمة غًن اخلطية بوجود معيقات التشغيل سواء كانت داخلية أو خارجية
وكذا تقدير وتفعيل آلية، من حيث املتانة العملية و اإلمكانية ادلتاحة حل ل بعض اإلشكاليات ادلطروحة مثل نزع ادلعيقات احملتملة،كبًنة ذلذا النوع من امل راقبة
فإنو، إضافة إىل ذلك. ومقاربة الدوال غًن اخلطية اجملهولة أيضا يف النظام ادلالئم للجهاز ادلراد التحكم فيو،ادلقاربة للحاالت وادلعا مال ت اجملهولة لدى ادلراقب
و أل جل إعطاء ادلزيد من.ي مت تطبيق ادلفاىيم النظرية على منوذجٌن مها ادلحرك ذو املغناطيس الدائم و ادلحرك احلث،لتحقيق الضمان الالئق لفعالية ىذه الطريقة
يف ىذا اجلزء. وىو جهاز ذو نظام غًن خطي ومتعدد ادلتغًنات، مت استكشاف منوذج أكثر تعقيدا ىو الرباعي الدوار،ادلقاربة النموذجية ذلذا النوع من التحكم
مع العلم بأنو من الصعب جدا التحكم يف مجيع، لمنوذج ىذا اجلهاز الفيزيائي املعقد للغايةbackstepping يتم إدراج و تطبيق تقنية،األخًن من الدراسة
لذلك نلجأ إىل استخدام تقنية مالئمة تعتمد على خوارزمية. احلاالت ادلرتبطة بو يف آن واحد بسبب تعدد متغًناته مع وجود معيقات التشغيل احملتملة
. الكلي للمعيقات
لتحقيق االستقرار يف الرباعي الدوار ومتكٌن اإلزالة ةbackstepping
Résumé : Le travail de cette thèse est une contribution à la commande adaptative backstepping neuronale des
systèmes non linéaires incertains. La première étape consiste à éclaircir la notion de base du backstepping non
adaptatif et adaptatif. Ensuite, l’idée est d’associer le critère d’approximation par les réseaux neuronaux à la
stratégie de commande backstepping. Des développements théoriques et applications sur des procédés
physiques clarifient la stabilité et la robustesse de cette technique. Le deuxième axe de travail est le
développement détaillé de la commande backstepping neuronale des systèmes non linéaires avec incertitudes
à caractères internes et externes. Un observateur apporte des améliorations notables pour ce type de contrôle
en termes de robustesse et de résolution de problèmes tels que le rejet de perturbations, l'estimation des états
et des paramètres inconnus du système et l’approximation des fonctions non linéaires. Afin d'approuver
l'efficacité de cette méthode, deux procédés ont été considérés pour les applications qui sont le moteur à
aimants permanents et le moteur à induction. Dans le but de donner plus de mérite à cette commande, un
modèle plus complexe et d'actualité est exploré. Il s'agit d'un quadrirotor qui est un système non linéaire,
multivariables et couplé. Dans cette dernière partie d’étude, la technique backstepping est appliquée pour ce
procédé physique. Un tel modèle est très complexe, voir difficile à contrôler ; car la commande est
multivariables dans le sens où 6 degrés de liberté sont à contrôler de manière simultanée et opérant dans un
milieu particulièrement perturbé. Un algorithme basé sur la technique backstepping a été employé afin de
stabiliser le quadrirotor et de permettre le rejet total des perturbations.
Abstract : The work of this thesis is a contribution to the adaptive neural backstepping control of uncertain
nonlinear systems. The first step is to clarify the basic concept of the non-adaptive and adaptive backstepping.
Then, the idea is to combine the criterion of approximation by neural networks and backstepping control
strategy. Theoretical developments and applications to physical processes clarify the stability and robustness
of this technique. The second step in this work is the detailed development of neural backstepping control of
nonlinear systems with internal and external uncertainties. An observer brings significant improvements for
this type of control in terms of robustness, disturbance rejection, states estimation and unknown system
parameters and nonlinear functions approximation. To approve the effectiveness of this method, two
processes have been considered for applications, permanent magnet motor and induction motor. In order to
give more merit to this command, a more complex model is explored namely a quadrotor which is a non
linear system, coupled and multivariable. In the last part of study, backstepping technique is applied to this
physical process. This model is very complex, difficult to control because six states must be controlled at the
same time and in a very disturbed environment. A technique based on backstepping algorithm is employed to
stabilize the quadrotor and to allow the total rejection of disturbances.