Académique Documents
Professionnel Documents
Culture Documents
Mémoire pésenté à
LA FACULTE DES SCIENCES ET TECHNIQUES
« GENIE ELECTRIQUE »
Sous le thème :
Soutenu le 10/07/2021
Toutes les lettres ne sauraient trouver les mots qu’il faut . . . Tous les mots ne sauraient exprimer
la gratitude, l’amour, le respect, la reconnaissance . . . Aussi, c’est tout simplement que Je dédie ce
travail :
A ma mère,à qui je dois la réussite, pour l’éducation qu’elle m’a prodiguée, avec tous les moyens
et au prix de tous les sacrifices qu’elle a consentis à mon égard, pour le sens du devoir qu’elle m’a
enseigné depuis mon enfance.
A mon père, que le Dieu me le garde.
A mes chers frères
A tous les membres de ma Grande Famille.
A tous ceux qui me sont chers.
i
Remerciements
Je voudrais exprimer, par ce modeste travail, toute ma gratitude et ma considération à mon di-
recteur de mémoire Monsieur Pr.HASSAN AYAD, pour avoir suivi mon travail, pour ses remarques,
ses conseils, son aide et son soutien, qu’il trouve ici l’expression de ma reconnaissance la plus sin-
cère.
Mes remerciements vont également à tous les enseignants ainsi qu’à tous les responsables de
notre département qui ont veillé au bon déroulement de notre formation.
ii
Table des figures
iii
Figure 4.9 résultats de simulation pour trajectoire Aléatoire . . . . . . . . . . . . . . . . . 49
Figure 4.10 résultats de simulation pour trajectoire ligne droite . . . . . . . . . . . . . . . . 50
Figure 4.11 Comparison des résultats de simulation pour une trajectoire aléatoire . . . . 51
Figure 4.12 Comparison des résultats de simulation pour une trajectoire ligne droirte . . 51
Figure 4.13 Comparison des résultats de simulation pour une trajectoire circulaire . . . . 52
iv
Table des matières
Dédicace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Introduction générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
v
TABLE DES MATIÈRES
vi
Introduction générale
Au-delà des applications industrielles classiques, les robots sont de plus en plus présents dans
notre quotidien avec de grands domaines d’applications tels que la médecine, l’agriculture, la sé-
curité ou l’assistance à domicile. Ces robots sont également de plus en plus mobiles, capables
d’évoluer aussi bien dans des milieux aériens ou maritimes que terrestres. La robotique mobile
terrestre occupe une place historique importante.Notarnment, les robots mobiles à roues qui em-
pruntent un mode de locomotion par roulement particulièrement efficace sont déjà utilisés dans
le domaine industriel comme la logistique et l’agriculture.
Notre travail consiste au développement d’algorithmes de Commande par modes glissant ap-
pliquée aux systèmes linéaires et plus précisément la commande par modes glissant du suivi de
trajectoire pour un robot mobile.Ce type de commande a suscité un grand intérêt parmi les cher-
cheurs durant ces dernières années à cause de la simplicité de sa mise en œuvre et de sa robustesse
vis-à-vis des incertitudes de modélisation et des perturbations sur le système à commander.Cette
technique est basée sur la détermination d’une loi de commande de façon que le point de fonc-
tionnement du système s’approche d’une certaine surface de glissement. La loi de commande est
conçue en deux étapes,la première est une étape d’approche de la surface de commutation et la
deuxième, une étape de glissement sur celle-ci vers le point d’équilibre.
Tout d’abord,la commande par mode glissant (SMC) est considérée comme raisonnable pour
la tache de suivi de trajectoire Mais l’inconvénient majeur de cette commande est présente des
gains a choix aléatoire qui peut diverger la commande. pour éviter ce problème nous essayons
dans ce mémoire d’examiner l’utilisation l’algorithme pso dans la commande des robots mobiles
à roues.
L’optimisation par essaims particulaires (PSO : Particle Swarm Optimization) est l’une des mé-
taheuristiques d’optimisation la plus utilisée, elle est proposée par Russel Eberhart (ingénieur en
électricité) et James Kennedy (socio-psychologue) en 1995. Elle est basée sur le comportement des
déplacements d’un essaim d’oiseaux ou de poissons pour la recherche de nourriture. Elle génère
un essaim de particules dont chaque membre est une solution éventuelle du problème d’optimi-
sation. Cet essaim vole dans l’espace de recherche (à n dimensions) et chaque membre de celui-ci
est attiré par sa meilleure solution et celle de ses voisins. Chaque particule est donc dotée d’une
mémoire contenant les données relatives à son vol (position, vitesse et sa meilleure solution au
problème) ainsi que de la faculté de communiquer(ou socialiser) avec son entourage.
1
TABLE DES MATIÈRES
L’objectif principal de notre travail est la mise en œuvre d’une commande robuste pour le suivi
de trajectoires. Pour cela notre mémoire sera structuré en quatre chapitres :
Le premier chapitre est dédié à l’état de l’art des robots mobiles et leur application, Ainsi Une
liste non exhaustive des techniques de commandes pour résoudre le problème de suivi de trajec-
toire des robots mobiles.Ce chapitre présente aussi les différents types des robots mobiles avec
une modélisation cinématique et dynamique d’un robot mobile type unicycle.
Le deuxième chapitre est devisé en deux.En premier lieu présente les concepts de base de la
commande par mode glissant(CMG) ses propriétés ainsi que les étapes à suivre pour sort une
commande robuste par mode glissant qui représente en trois catégories principale définies par le
choix de la surface de glissement et par précision conditions de convergence et d’existence et par
détermination de la loi de commande.Ensuite présente l’application de la commande par mode
glissant sur un robot mobile non holonome de type unicycle.
Dans le troisième chapitre présente une généralité sur l’optimisationpar essaim de particules
afin de proposer un contrôleur dynamique basé sur le mode glissant pso (MG-PSO) appliqué sur
un modèle cinématique perturbé du robot mobile unicyle.Une optimisation par essaim de parti-
cules (PSO) est appliquée sur la loi de commande proposée pour en extraire les paramètres opti-
maux.
Le dernier chapitre consiste concerne les résultats des différentes simulations de la commande
par mode glissant classique et de la commande par mode glissant optimisée par essaim de parti-
cules a été réalisée pour le suivi trajectoire. Ce chapitre présente des nombreux tests de simulation
sur le suivi de plusieurs trajectoires.
2
Chapitre 1
3
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
Néanmoins, l’intérêt indéniable de la robotique mobile est d’avoir permettre d’augmenter consi-
dérablement nos connaissances sur la localisation et la navigation de systèmes autonomes. La
gamme des problèmes potentiellement soulevés par le plus simple des robots mobiles à roues en
fait un sujet d’étude à part entière et forme une excellente base pour l’étude des systèmes mobiles
4
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
plus complexes.
5
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
(c) Le robot mobile Sejourner, pathtinder de la NASA (d) le Robot MARS de FENDIT
6
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
on s’intéresse spécialement au robot mobile de type unicycle,ce modèle sera exploité dansla sec-
tion suivante.
7
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
(a) Robot de type unicycle (b) Robot mobile dans le repère fixe
8
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
Le mouvement d’un robot est caractérisé par deux contraintes non holonomes, qui sont obte-
nus par deux hypothèses principales [29] :
Hypothèse 1 : Aucun glissement latéral. Cela signifie simplement que le robot ne peut pas se dé-
placer latéralement dans le repère local, ce qui se traduit mathématiquement par l’équation :
ẏ rA = 0 (1.2)
Autrement la vitesse du point centre A est nulle le long de l’axe latéral du repère local. En utilisant
la matrice de rotation R(θ) , les vitesses dans le repère monde sont obtenues comme suit :
I r
ẋ A cos(θ) − sin(θ) 0 ẋ A
I
ẏ = sin(θ) cos(θ) 0 ẏ r (1.3)
A A
I r
θ̇ 0 0 1 θ̇
I r r
ẋ A = ẋ A cos(θ) − ẏ A sin(θ) (1.4a)
Hypothèse 2 :le roulement est pur. Cette contrainte représente le fait que chaque roue du robot
maintient un seul point de contact P avec le sol comme indiqué sur la figure 1.5,Les hypothèses 1
et 2 ont été développées dans [29]
Les vitesses des points de contact dans le repère robot local sont liées aux vitesses des roues par :
(
VP L = RϕL (1.6a)
VP R = RϕR (1.6b)
9
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
Avec VP L et VP R sont les vitesses des point de contact de la roue droite et gauche dans le repère
locale respectivement.ϕR est la vitesse de rotation de la roue droite et ϕL est la vitesse de rotation
de la roue gauche et R est le rayon de chaque roue.
Les expressions des positions généralisées et des vitesses généralisées dans le repère fixe en fonc-
tion des coordonnées du point A sont données par :
x P L = x A − L sin(θ) (1.7a)
y P L = y A + L cos(θ)
(1.7b)
x P R = x A + L sin(θ) (1.7c)
y P R = y A + L cos(θ) (1.7d)
En dérivant, on trouve les vitesses des points de contact des roues droite et gauche :
ẋ P L = ẋ A − L θ̇ cos(θ) (1.8a)
ẏ = ẏ + L θ̇ sin(θ)
(1.8b)
PL A
ẋ P R = ẋ A + L θ̇ cos(θ) (1.8c)
ẏ P R = ẏ A + L θ̇ sin(θ) (1.8d)
En utilisant la matrice de rotation R(θ), on peut trouver les vitesses VP L et VP R dans le repère
monde :
ẋ AI cos(θ) − sin(θ) 0 ẋ rA
I
= sin(θ) cos(θ) 0 ẏ r (1.9)
ẏ
A
A
θ̇ I 0 0 1 θ̇ r
Où ẏ Pr R = 0 de l’hypothèse I , on trouve :
r
ẋ P R = ẋ P R cos(θ)
(1.10a)
ẏ P R = ẋ Pr R sin(θ) (1.10b)
r
VP R = ẋ Pr R
(1.10c)
De les equations 1.6 et 1.8 et 1.10, et sachant que sin(θ)2 + cos(θ)2 = 1 on trouve la contrainte
de roulement pour la roue droite :
Dans le cas d’un roulement pur sans glissement on peut écrire les trois équations des contraintes
sous la forme matricielle :
Λ(q) ∗ q̇ = 0 (1.13)
10
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
Telle que Λ(q) est la matrice des contraintes non-holonomes définie comme :
− sin(θ) cos(θ) 0 0 0
Λ(q) = cos(θ) sin(θ) L −R 0 (1.14)
cos(θ) sin(θ) −L 0 −L
l’expression des vitesses linéaires des roues droite et gauche au point de contact P. sont exprimées
comme :
(
V̇P R = V A + L θ̇ (1.16a)
V̇P L = V A − L θ̇ (1.16b)
avec V A la vitesse du point A, VP R est la vitesse de la roue droite au point P et VP L est la vitesse de
la roue gauche au point P.
En posant :
(
V = VA (1.17a)
θ̇ = ω (1.17b)
et
(
V̇P R = VR (1.18a)
V̇P L = VL (1.18b)
on obtient l’expression de la vitesse linéaire V et la vitesse angulaire ω du robot mobile en fonction
des vitesses de rotation de la roue gauche ϕ̇L et de la roue droite ϕ̇R
VR + VL R(ϕ̇R + ϕ̇L )
V = = (1.19a)
2 2
VR − VL R(ϕ̇R − ϕ̇L )
ω =
= (1.19b)
2L 2L
Dans le repère mobile les coordonnées du point A sont :
R(ϕ̇R + ϕ̇L )
ẋ rA = V = (1.20a)
2
r
ẏ A = 0 (1.20b)
R(ϕ̇R − ϕ̇L )
θ̇ rA = ω =
(1.20c)
2L
En remplaçant l’équation 1.20 dans1.9on obtient :
R(ϕ̇R + ϕ̇L )
I
ẋ
A cos(θ) − sin(θ) 0
2
I
= (1.21)
ẏ sin(θ) cos(θ) 0 0
A
R(ϕ̇ − ϕ̇ )
R L
θ̇ I 0 0 1
2L
11
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
En combinant les équations 1.19 et 1.22, soit encore à partir de l’équation 1.21
on obtient le modèle cinématique du robot mobile uni cycle :
ẋ A cos(θ) 0
V
ẏ A = sin(θ) 0 (1.23)
ω
θ̇ 0 1
12
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
où
Tc :est 1 ’énergie cinétique de la plate forme
1 1
Tc = m c Vc2 + I c θ̇ 2 (1.27)
2 2
TωR :est l’énergie cinétique de la roue droite
1 2 1 1
TωR = m ωVωR + I m θ̇ 2 + I ω ϕ̇2R (1.28)
2 2 2
TωL :est 1 ’énergie cinétique de la roue gauche.
1 2 1 1
TωL = m ωVωL + I m θ̇ 2 + I ω ϕ̇2L (1.29)
2 2 2
avec
m c :masse de la plate forme.
m ω :masse de chaque roue plus la masse du moteur.
VωR :vitesse linéaire de la roue droite.
VωL :vitesse linéaire de la roue gauche.
I m :Moment d’inertie de chaque roue avec le moteur par rapport au diamètre de la roue.
I ω :Moment d’inertie de chaque roue avec le moteur par rapport à 1’ axe de la roue
I c :Moment d’inertie de la plate-forme du robot sans les roues, les moteurs, autour de 1 ’axe verti-
cal qui passe par le point C.
(
x c = x A + d cos(θ) (1.30a)
y c = y A + d sin(θ) (1.30b)
1 1 1
T = m(x 2A + y 2A ) − m c d θ̇( ẏ A cos(θ) − ẋ A sin(θ)) + I ω (ϕ̇2R + ϕ̇2L ) + I θ̇ 2 (1.31)
2 2 2
avec
(
m = m c + 2m ω (1.32a)
I = I c + m c d 2 + 2m ω I 2 + 2I m (1.32b)
L’énergie potentielle étant nulle car le robot se déplace sur un plan horizontal. Alors on a donc le
Lagrangien :
L(q, q̇) = T (1.33)
13
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
avecC 1 ,C 2 ,C 3 ,C 4 et Cs sont les coefficients relatifs aux contraintes cinématiques qui peuvent être
exprimés en fonction du vecteur de multiplicateurs de Lagrange et de la matrice de contrainte
cinématique A T (q) où
C 1 − sin(θ) cos(θ) cos(θ) λ1
C 2 cos(θ) sin(θ) sin(θ) λ2
λA T (q) = = λ3 (1.35)
C3 0 L −L
C4 0 −R 0 λ4
C5 0 0 −R λ5
avec :
m 0 −m c d sin(θ) 0 0
0 m m c d cos(θ) 0 0
M (q) = −m c d sin(θ) m c d cos(θ)
I 0 0
0 0 0 Iω 0
0 0 0 0 Iω
0 −m c d θ̇ cos(θ) 0 0 0
0 −m c d θ̇ sin(θ)
0 0 0
V (q, q̇) = 0
0 0 0 0
0 0 0 0 0
0 0 0 0 0
14
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
0 0
0 0
B (q) = 0
0
1 0
0 1
on peut trouve l’expression du modèle dynamique du robot par élimination de termeλA T (q)qui
correspond aux forces de contraintes liées aux contraintes cinématiques. En posant
ϕ̇R
η= (1.38)
ϕ̇L
alors
(
q̇ = S(q)η (1.40a)
q̈ = Ṡ(q)η + S(q)η̇ (1.40b)
S(q)est une matrice de rang complet qui satisfait à la condition suivante :
15
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
S T (q)M (q)Ṡ(q)η + S T (q)M (q)S(q)η̇ + S T (q)V (q, q̇)S(q)η = S T (q)B (q)u − S T (q)λA T (q) (1.43)
En posant :
M (q) = S T (q)M (q)S(q) (1.44a)
V (q, q̇) = S T (q)M (q)Ṡ(q) + S T (q)V (q, q̇)S(q) (1.44b)
B (q) = S T (q)B (q)
(1.44c)
avec
R2 R2
I ω + 4L 2
(mL 2 + I ) 4L 2
(mL 2 − I )
M (q) =
2 2
R R
4L 2
(mL 2 − I ) I ω + 4L 2 (mL 2
+ I )
R2
0 2L (m c d θ̇)
V (q, q̇) =
2
− R2L (m c d θ̇) 0
1 0
B (q) =
0 1
on a
ϕ̇R ϕ̈R
η= ⇒ η̇ = (1.46)
ϕ̇L ϕ̈L
et
R(ϕ̇R + ϕ̇L )
V = (1.47a)
2
ω =
R( ϕ̇ R − ϕ̇L )
(1.47b)
2L
alors
1 L 1 L
ϕ̇
R R R V ϕ̈
R R R V̇
= ⇒ = (1.48)
ϕ̇L 1
R
− RL ω ϕ̈L 1
R
− RL ω̇
16
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
la forme non linéaire du modèle dynamique du robot mobile soumis à notre étude est :
1 2I ω
R 0 u1 R 2 + m 0 V̇ 0 −m c d ω V
= + (1.51)
2I ω L 2
0 RL u2 0 R2
+ I ω̇ m c d ω 0 ω
avec
u 1 = τR + τL
(
(1.52a)
u 2 = τR − τL (1.52b)
où
(τR , τL )est le couple d’entrée exprimé en Newton mètres (N.m).
m : la masse totale du robot
I : l’inertie totale équivalente du système ;
R : le rayon de la roue
2L :la largeur du robot.
17
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
— Commande basée sur un régulateur PID :Plusieurs travaux se sont basés sur le régulateur
PID (Proportionnel - Intégral Dérivé) pour concevoir un contrôleur. Le régulateur PID cal-
cule l’erreur du système, qui est la différence entre son état actuel et la consigne désirée, et
calcule une commande qui minimise cette erreur.Nous pouvons citer quelques exemples
de systèmes de commandes basées sur un régulateur PID [20, 21]
— commande par retour d’état linéarisant :D’un autre point de vue, la linéarisation par re-
tour d’état peut être interprétée comme une nouvelle modélisation du système. Il ne s’agit
pas d’une approximation du système mais d’une transformation exacte, pour cette raison,
cette technique donne des résultats précis. Néanmoins, à cause de la nature non linéaire
du système, la méthode par linéarisation exacte ne permet pas dans tous les cas d’obtenir
une modélisation globale, c’est à dire le résultat de la transformation n’est valable que dans
une région de l’espace. Le principal intérêt d’une telle représentation est de pouvoir utili-
ser la théorie des systèmes linéaires qui est beaucoup plus riche que celle des systèmes non
linéaires.[26]
— Commande basée sur les réseaux de neurones :D’après la littérature, les réseaux de neu-
rones ont été utilisés dans des nombreuses applications telles que l’identification, la plani-
fication et la commande des robots. Les réseaux de neurones sont capables d’approximer
les fonctions non linaires avec une grande précision. Pour cela l’introduction d’un réseau
de neurones dans la partie dynamique de la commande non linaire peut résoudre les in-
convénients concernant les perturbations et les dynamiques inconnues. Nous pouvons ci-
ter quelques exemples de systèmes de commandes basées sur l’utilisation de réseaux de
neurones, pour le suivi de chemin ou de trajectoire [10, 11, 12].
— Commande basée sur le Backstepping :L’idée de base du backstepping est de stabiliser au
départ le premier sous système par une fonction stabilisante connue via une fonction de
Lyapunov choisie, ensuite d’ajouter à son entrée un intégrateur. On procède de même pour
le prochain sous système augmenté et ainsi de suite pour les sous-systèmes successifs pour
aboutir enfin à une fonction deLyapunov globale donnant la loi de commande globale qui
stabilise le système.[19]
— Commande basée sur le mode glissant :La commande à structure variable (commande
par mode glissant) est une commande robuste. Des travaux sur la technique de la com-
mande par mode glissant pour les robots mobiles non holonomes ont été effectués dans
[13, 14, 15] Cette loi de contrôle a pour principe de contraindre 1 ’état du système à at-
teindre en un temps fini une hypersurface (surface de glissement) . Le principal problème
de ce contrôleur est qu’il nécessite la connaissance parfaite du modèle dynamique du ro-
bot afin de pouvoir calculer le couple. Lorsque nous voulons effectuerla linéarisation par
retour d’état du modèle dynamique nonlinéaire du système, nous devons connaître la dy-
namique exacte du robot. Cet inconvénient nous amène à utiliser un contrôleur adaptatif
ou intelligent avec capacité d’apprentissage.
— Commande adaptative :Un contrôleur adaptatif qui permet d’assurer le suivi de trajectoire
d’un robot mobile autonome est utilisé dans [16]. Un contrôleur cinématique permet de
18
CHAPITRE 1. ÉTAT DE L’ART SUR LA ROBOTIQUE MOBILE
générer les vitesses linéaires et angulaires de référence. Ces dernières associées aux vitesses
du modèle dynamique permettent d’élaborer une loi d’adaptation des paramètres du ro-
bot. Cette boucle, étant mise à jour à tout instant, permet de réduire considérablement
les erreurs et d’augmenter la performance du contrôleur. La théorie de Lyapunov permet
d’analyser la stabilité du système.Nous pouvons citer quelques travaux qui utilisons la com-
mande adaptative [17, 18]
1.8 conclusion
Au cours de ce chapitre, nous avons exposé un aperçu général sur la robotique mobile. Nous
avons présenté Quelques techniques de commande en robotique mobile. Nous avons fait une mo-
délisation de robot mobile de type unicyle, Cette modèlisation sera exploité dans les chapitres
qui suivent afin d’élaborer une commande par mode glissant et la commande hybride(MG-PSO)
"PSO-mode glissant".
19
Chapitre 2
2.1 Introduction
Les contraintes non holonomes qui se posent dans les robots mobiles à roues, les incertitudes
des paramètres et les perturbations présentent des difficultés et des problèmes dans la poursuite
de trajectoire des robots mobiles, ce qui limite l’espace d’application de ces derniers. Pour ré-
soudre ce problème, plusieurs méthodes ont été développées telle que la commande à structure
variable (VSS : Variable Structure System) Le principe de cette technique est de forcer le système
à atteindre et ensuite rester sur une surface donnée (représentant un ensemble de relations sta-
tiques entre les variables d’état), la surface considérée est alors désignée comme étant la surface
de glissement ou de commutation. Le comportement dynamique résultant, appelé régime glissant
idéal, est complètement déterminé par les paramètres et les équations définissant la surface [23]
. Les trajectoires de système sont alors confondues avec la surface de glissement durant l’utilisa-
tion des commandes à une grande vitesse de commutation. Cette commande a deux principaux
avantages, premièrement, le comportement dynamique du système au voisinage de la surface de
glissement est essentiellement conditionné par cette dernière, on dit que le système est en régime
glissant, deuxièmement, ce comportement est non seulement robuste, mais aussi insensible aux
incertitudes pour lesquelles la commande a été réglée [24].
Dans ce chapitre, nous allons aborder les concepts de base de la commande par mode glissant
(CMG), son principe, ses propriétés de robustesse ainsi que les étapes de conception, ensuite un
contrôleur non linéaire basé sur la théorie de Lyapunov associée à la technique par mode glissant
sera développé pour la poursuite de la trajectoire du robot mobile.
20
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
toires du système à atteindre et rester sur la surface de glissement et le mouvement qui se produit
est appelé mouvement de glissement[22].
21
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
S = ∆X = X r e f − X (2.1)
La surface de glissement est une fonction scalaire telle que la variable à régler glisse sur cette sur-
face et tend vers l’origine du plan de phase. Plusieurs formes de la surface de glissement ont été
proposées dans la littérature, chacune présente des meilleures performances pour une application
donnée[27].
Le choix des paramètres de la surface se fait de façon à satisfaire les performances désirées. Slo-
tine propose une forme d’équation générale pour déterminer la surface de glissement qui assure
la convergence d’une variable vers sa valeur désirée [26].
d
S(X ) = ( + λ)n−1 (X r e f − X ) (2.2)
dt
où
n :le degré relatif au nombre qu’il faut dériver la sortie pour faire apparaître la commande.
λ :une constante positive.
L’objectif de cette commande est de garder la surface qui tend à zéro. Cette dernière est une
équation différentielle linéaire dont l’unique solution est S(X ) = 0, pour un choix convenable du
paramètre λ. Ceci revient à un problème de poursuite de trajectoire, ce qui est équivalent à une
linéarisation exacte de l’écart, tout en respectant la condition de convergence.
Cette approche est la plus ancienne (mode glissant classique). Elle est proposée par Emelyanov
et Utkin. Il s’agit de donner à la surface une dynamique convergente vers zéro. Elle est donnée
22
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
par[22]
(
Ṡ(x) > 0 si S(x, t ) < 0 (2.3a)
Us =
Ṡ(x) < 0 si S(x, t ) > 0 (2.3b)
Cette condition peut être formulée comme suit :
Elle est globale mais ne garantit pas en revanche un temps d’accès fini. Cette condition est toute
fois difficile à utiliser pour faire la synthèse de la loi de commande.
La fonction de Lyapunov est une fonction scalaire positive V (x) > 0 pour les variables d’état du
système. La loi de commande doit faire décroître cette fonction, V̇ (x) < 0. L’idée est de choisir une
fonction scalaire S(x) pour garantir l’attraction de la variable à contrôler vers sa valeur de référence
et de concevoir une commande u telle que le carré de la surface correspond à une fonction de
Lyapunov. La fonction de Lyapunov est définie comme suit :
1
V (x) = S T (x).S(x) (2.5)
2
La dérivée de cette fonction est :
V̇ (x) = Ṡ(x).S(x) (2.6)
Pour que la fonction candidate de Lyapunov puisse décroitre et converger vers zéro "pour garantir
l’existence du mode de glissant", il suffit d’assurer que : Ṡ(x)S(x) < 0.
Ueq Correspond à la commande proposée par Filipov, elle sert à maintenir la variable à contrôler
sur la surface de glissement S(x) = 0. La commande équivalente est déduite, en considérant que
la dérivée de la surface est nulle Ṡ(x) = 0. Elle peut être interprétée comme étant un retour d’état
particulier jouant le rôle d’un signal de commande appliqué sur le système à commander. Elle peut
être aussi interprétée autrement comme étant une valeur moyenne que prend la commande lors
de la commutation rapide entre les valeurs Umax et Umi n ,(figure2.2). La commande discrète Un est
déterminée pour vérifier la condition de convergence en dépit de l’imprécision sur les paramètres
du modèle du système.
23
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
24
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
le temps d’arrivée sera trop long et si ε est trop grand cela va causer un phénomène de broutement
(chattering) figure2.4.
Où ε > 0, K > 0 et Ṡ = −K S est le terme exponentiel, sa solution est donnée par S = S(0) exp−K t .
Le temps d’arrivée pour que x se déplace de l’état initial x 0 vers l’hyperplan est fini et il donné par
[28] :
1 K i |S i | + εi
Ti = ln( ) (2.11)
Ki εi
1
Ti = S i 0 (1 − δ) (2.13)
(1 − δ)K i
avec i = 1 · · · · · · m
25
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
La conception du contrôleur cinématique est basée sur le modèle cinématique du robot 2.5.
en supposant que le terme de perturbation est un vecteur nul, le modèle cinématique du robot
mobile unicycle est défini comme suit [31] :
ẋ cos(ψ) −a sin(ψ)
V
ẏ = sin(ψ) a cos(ψ) (2.14)
ω
ψ̇ 0 1
dont la sortie est les coordonnées du point d’intérêt, donc signifie h = [x y]T Par conséquent
ẋ cos(ψ) −a sin(ψ) V V
ḣ = = = A (2.15)
ẏ sin(ψ) a cos(ψ) ω ω
avec :
cos(ψ) −a sin(ψ)
A= (2.16)
sin(ψ) a cos(ψ)
26
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
et la loi de commande cinématique proposée pour être appliquée au robot est donnée par :
u rc e f cos(ψ) sin(ψ) ẋ d + l x tanh( kl xx x̃)
= (2.18)
k
ωcr e f − a1 1 y
sin(ψ) a
cos(ψ) ẏ d + l y tanh( l y ỹ)
Voici x̃ = x d −x et ỹ = y d −y sont les erreurs de position actuelles dans les axes X et Y, respectivement,k x >
0 et k y > 0 sont les gains du contrôleur,l x ∈ ℜet l y ∈ ℜ sont des constantes de saturation, et (x, y) et
(x d , y d ) sont les coordonnées actuelles et souhaitées du point d’intérêt, respectivement. L’objectif
d’un tel contrôleur est de générer les références des vitesses linéaires et angulaires pour le contrô-
leur dynamique, comme indiqué dans la figure 2.6
27
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
En se basant sur La formule générale de la surface de glissement qui définie dans l’équation
2.2 pour sortir une surface de glissement S(t ) comme suit :
S 1 (t ) e v + β e v
R
S(t ) = = (2.19)
eω + β eω
R
S 2 (t )
avec :
β constante positive β > 0 et
e v v c (t ) − v(t )
=
eω ωc (t ) − ω(t )
est la différence entre la vitesse produite par le contrôleur cinématique (vitesse désirée) et la vi-
tesse réelle du robot.
Dans le but de faire converger S vers zéro, e v , e ω tous les deux convergent vers zéro. Alors le sys-
tème est dans la surface de glissement implique :
28
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
où
(f,g) : sont des fonctions non linéaires
u :est l’entrée du système ou bien la commande
d : est une perturbation
x : est la variable d’état du système.
En considérant que notre système est linéaire et sans perturbation alors l’équation 2.23 devient :
v̇ u eq1
ẋ(t ) = g (x, t )u(t ) ⇒ = g (x, t ) (2.24)
ω̇ u eq2
on pose :
2I ω
α = R( R 2 + m) (2.26a)
2
R( 2IRω2L + I )
γ =
(2.26b)
L
alors l’équation 2.24 devient :
1
v̇ = u 1 (2.27a)
α
1
ω̇ = γ u 2 (2.27b)
v̇ c (t ) − v̇(t ) + βe v (t ) = 0
(
(2.29a)
ω̇c (t ) − ω̇(t ) + βe ω (t ) = 0 (2.29b)
En remplaçant (v̇, ω̇) par son expression (l’équation 2.27) :
1
v̇ c (t ) − u eq1 (t ) + βe v (t ) = 0
(2.30a)
α
1
ω̇c (t ) − γ u eq2 (t ) + βe ω (t ) = 0 (2.30b)
29
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
Ueq1 (t ) = α[v̇ c (t ) + βe v (t )]
(
(2.31a)
Ueq =
Ueq2 (t ) = γ[ω̇c (t ) + βe ω (t )] (2.31b)
la loi commande discréte Un Par la suit en considérant que notre système est soumis à des forces
extérieures tenant compte comme des perturbations l’équation dynamique linéaire2.27 du sys-
tème à commander devient :
1
v̇ = u eq1 + d 1 (2.32a)
α
1
ω̇ = γ u eq2 + d 2 (2.32b)
la loi commande discréte qui compense l’effet de ces perturbations et laisse le systéme bien
converger à la surface de glissement est basée sur les lois d’arrivée qu’on a déja cité .
— pour la première loi d’arrivée :
(
Un1 (t ) = −εsg n(S 1 ) − f (S 1 ) (2.33a)
Un =
Un2 (t ) = −εsg n(S 2 ) − f (S 2 ) (2.33b)
(
Un1 (t ) = −εsg n(S 1 ) (2.34a)
Un =
Un2 (t ) = −εsg n(S 2 ) (2.34b)
(
Un1 (t ) = −εsg n(S 1 ) − K S 1 (2.35a)
Un =
Un2 (t ) = −εsg n(S 2 ) − K S 2 (2.35b)
Où ε > 0, K > 0
— pour la quatrième loi d’arrivée avec vitesse puissante :
Un1 (t ) = −K |S 1 |δ sg n(S 1 )
(
(2.36a)
Un =
δ
Un2 (t ) = −K |S 2 | sg n(S 2 ) (2.36b)
les commandes totales par mode glissant U t ot : Pour trouver la commande totale U t ot il faut
résoudre l’équation suivant :Ṡ(t ) = Un .
30
CHAPITRE 2. COMMANDE PAR MODE GLISSANT
U t ot 1 (t ) = α[v̇ c (t ) + βe v (t ) + K sg n(S 1 ) + N S 1 ]
(
(2.39a)
U t ot = Ueq +Un =
U t ot 2 (t ) = γ[ω̇c (t ) + βe ω (t ) + K sg n(S 2 ) + N S 2 ] (2.39b)
U t ot 1 (t ) = α[v̇ c (t ) + βe v (t ) + K |S 1 |δ sg n(S 1 )]
(
(2.40a)
U t ot = Ueq +Un =
U t ot 2 (t ) = γ[ω̇c (t ) + βe ω (t ) + K |S 2 |δ sg n(S 2 )] (2.40b)
2.6 Conclusion
Nous avons résumé dans ce chapitre les points de base de la commande par mode glissant,son
principe, ses propriétés ainsi que les étapes à suivre pour sort une commande robuste par mode
glissant qui présente trois catégories principale définies par le choix de la surface de glissement
et par précision conditions de convergence et d’existence et par détermination de la loi de com-
mande.
Nous avons applique la commande par mode glissant sur un robot mobile non holonome de type
unicycle.En premier temps on a proposé une commande cinématique qui est basée sur le modèle
cinématique du robot .En deuxième temps on a développé une commande robuste dynamique
par mode glissement en présence des perturbations.Au niveau de cette commande nous sommes
efforcés de montrer les différentes formes de lois de commande et nous remarquons que cette loi
est constituée de deux composantes : la commande équivalente qui représente la transition de la
trajectoire d’état à partir d’un point initial jusqu’au début de la phase du mode de glissement. et
la commande discréte qui maintient la trajectoire d’état du système à contrôler sur la surface de
glissement et componser l’effet des perturbations.
31
Chapitre 3
3.1 Introduction
Le suivi de trajectoires représente une tâche primordiale pour la navigation des robots auto-
nomes et on s’intéresse à avoir une bonne stabilité du mouvement lors de ce suivi, Le contrôle
par mode glissant (SMC) propose des solutions pour la conception des lois de commande et pour
la stabilité des systèmes perturbés. le probleme c’est que dans la commande qu’on a uLlistré par
mode glissant intervenir des gains a choix aléatoire qui peut diverger la commande pou cela on
cherche des algorithmes robustes pour Amélioration de la commande par mode glissant.
L’algorithme d’optimisation inspirée de l’intelligence d’essaim nommée Optimisation par Essaim
de Particules (OEP), ou Particle Swarm Optimization (PSO), a été exploitée dans différents do-
maines d’optimisation. Elle est caractérisée par une façon décentralisée du travail qui imite le
comportement des essaims d’animaux. L’algorithme de recherche du coucou (Cuckoo Search ou
CS), a été développé récemment. Il est caractérisé par le comportement de reproduction des oi-
seaux des coucous, qui peut s’appliquer à divers problèmes d’optimisation. Ainsi, le mécanisme
de Lévy Flight a amélioré les performances de CS et utilisé à la place d’une simple marche aléa-
toire. La méthode du modèle de référence (Reference Model ou RM), rapproche le comportement
de n’importe quel système à des systèmes de premier ou de deuxième ordre, dont les pôles sont
fixés à priori.
Dans ce chapitre, on présente le développement et l’élaboration de deux contrôleurs cinématique
et dynamique, basés sur la commande en mode glissant avec une optimisation par la méthode
d’essaim de particules (PSO).
32
CHAPITRE 3. OPTIMISATION DES PARAMÈTRES DE LA COMMANDE PAR MODE GLISSANT EN
UTILISANT L’ALGORITHME PSO
33
CHAPITRE 3. OPTIMISATION DES PARAMÈTRES DE LA COMMANDE PAR MODE GLISSANT EN
UTILISANT L’ALGORITHME PSO
fait référence que le hasard joue un rôle dans la favorisation de l’exploration de l’espace de re-
cherche.
3.2.2 Voisinage
Le voisinage d’une particule est le sous-ensemble de particules de l’essaim qui communiquent
entre-elles. le réseau de rapports entre toutes les particules est connu sous le nom de “la topologie
de l’essaim”. Le choix d’une topologie du voisinage à une importance cruciale, plusieurs études de
topologies ont été menées à ce propos différentes combinaisons ont été proposées dont les plus
utilisées sont susmentionnées ci-dessous [34, 35]
— Topologie en étoile : (Figure 4.11)le réseau social est complet, chaque particule est attirée
vers la meilleure particule globale, notée gbest, et communique avec les autres.
— Topologie en anneau :(Figure 4.12)chaque particule tend à se déplacer vers la meilleure po-
sition dans son voisinage local, notée Ibest, et communique avec ses voisines immédiates.
— Topologie en rayon :(Figure 4.13)une particule dite centrale est connectée à toutes les autres.
Seule cette particule ajuste sa position vers la meilleure et provoque une propagation de
l’information d’amélioration aux autres.
34
CHAPITRE 3. OPTIMISATION DES PARAMÈTRES DE LA COMMANDE PAR MODE GLISSANT EN
UTILISANT L’ALGORITHME PSO
Vi j (t ) = wVi j (t −1)+C 1 R 1 ⊗(P best i j (t −1)− X i j (t −1))+C 2 R 2 ⊗(P g best i j (t −1)− X i j (t −1)) (3.1)
Où :
X i j (t ) = X i j (t − 1) + Vi j (3.2)
Le processus pour que la particule recherche sa meilleure position individuelle et globale est
représenter dans les étape de conception pour l’implémentation de l’algorithme PSO (figure 3.5).
35
CHAPITRE 3. OPTIMISATION DES PARAMÈTRES DE LA COMMANDE PAR MODE GLISSANT EN
UTILISANT L’ALGORITHME PSO
36
CHAPITRE 3. OPTIMISATION DES PARAMÈTRES DE LA COMMANDE PAR MODE GLISSANT EN
UTILISANT L’ALGORITHME PSO
— Etape 1 :Initialiser les particules avec une position et une vitesse aléatoire.
— Etape 2 :Si un nombre prescrit d’itérations est atteint, arrêter l’algorithme
— Etape 3 :Pour chaque particule, évaluer la fonction désirée de mise en forme et enregistrer
chaque meilleure position précédente de la particule et sa meilleure position globale.
— Etape 4 :Modifier la vitesse et la position en fonction des équations 3.1 et 3.2 pour chaque
particule
— Etape 5 :Vérifier la position de chaque particule en utilisant l’équations 4.8b
— Etape 6 :Revenir à l’étape 2.
U t ot 1 (t ) = α[v̇ c (t ) + βe v (t ) + K sg n(S 1 ) + N S 1 ]
(
(3.5a)
U t ot = Ueq +Un =
U t ot 2 (t ) = γ[ω̇c (t ) + βe ω (t ) + K sg n(S 2 ) + N S 2 ] (3.5b)
Les paramètres sélectionnés sont β, k, N dans le contrôleur dynamique 3.5. Par conséquent, il
est important de trouver leurs valeurs optimales en utilisant l’algorithme PSO. Le diagramme du
contrôle est illustré sur la figure 3.6.
37
CHAPITRE 3. OPTIMISATION DES PARAMÈTRES DE LA COMMANDE PAR MODE GLISSANT EN
UTILISANT L’ALGORITHME PSO
paramétres valeur
n 50
dimension 2
C1 0.12
C2 1.2
R1 rand(n,dim)
R2 rand(n,dim)
W 0.9
Le nombre de particules (n) est égal à 50,c1=0.12, c2=1.2, w=0.9, le nombre d’itérations est égal à
50 et dimension=2.tous sont des paramètres pour initialiser notre algorithme pso (voir algorithme
pso dans l’annexe )
Les paramètres optimaux obtenus par le PSO pour le contrôleur dynamique sont β = 21.4906,N =
12.321.
Par application de la loi de contrôle cinématique 2.18 et la loi de contrôle dynamique 3.5 avec
PSO, L’erreur quadratique de position et d’orientation du robot converge vers zéro dans de courtes
durées avant et après insertion des perturbations les résultats de simulation pour les différentes
trajectoires sont illustrés dans le chpitre 4.
3.3 Conclusion
Nous avons résumé dans ce chapitre le Principe d’optimisationpar essaim de particules ainsi
que les étapes de conception pour l’implémentation de l’algorithme PSO.
Une commande dynamique est proposée en se basant sur le mode glissant, Cette commande
montre des performances acceptable du suivi en dépit de la perturbation externe présente dans
le modèle dynamique. L’introduction de l’optimisation par essaim de particules(PSO) permet au
contrôleur dynamique de donner de bons résultats par rapport à l’absence du PSO.
38
Chapitre 4
Résultats et simulations
4.1 Introduction
Dans cette section, les simulations sont subdivisées en deux parties. Dans la première partie,
le contrôleur dynamique basés sur la commande en mode glissant est proposé en l’absence et en
la présence des perturbations pour différentes lois commande . Dans la seconde partie,on pré-
sente les simulations du contrôleur dynamique basés sur la commande en mode glissant avec une
optimisation par la méthode d’essaim de particules dans cette partie du travail, les paramètres
du robot utilisés dans les simulations seront présentés dans un premier temps, ensuite viendra
les résultats des différentes simulations et leurs interprétations.Les différentes trajectoires seront
simulées afin de mettre en évidence l’efficacité des lois de commande élaborées.
39
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
4.3 Simulations
Les simulations sont faite sur un modéle du robot mobile de type unicycle pour suivre une
trajectoire suivante :
— Trajectoire circulaire
— Trajectoire Aléatoire
— Trajectoire ligne droite
40
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
U t ot 1 (t ) = α[v̇ c (t ) + βe v (t ) + K sg n(S 1 ) + N S 1 ]
(
(4.1a)
U t ot = Ueq +Un =
U t ot 2 (t ) = γ[ω̇c (t ) + βe ω (t ) + K sg n(S 2 ) + N S 2 ] (4.1b)
4.3.1.1 Commande totale par mode glissant pour loi d’arrivée exponentielle
F IGURE 4.2 – résultats de simulation pour trajectoire circulaire(loi d’arrivée loi d’arrivée exponen-
tielle sans perturbations)
41
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
vers zéro en temps fini presque t=6.5s ainsi que la valeur moyenne l’erreurs quadratique qu’on a
trouvé egale e = 0.044 et ca conduire à une convergence acceptable de trajectoire actuel vers la tra-
jectoire de réference comme montre le figure (4.2b). La vitesse de commande linéaire et angulaire
réelles du robot convergent vers les vitesses de références en un temps t < 1s mais dans certain
temps la commande est diverger un peu sur la commande désirer Cela est dû à la choix des Gains
du contrôleur dynamique comme on peut le constater sur la figure 4.2c On peut voir aussi sur la
figure (4.2d) que cette commande est assuré un erreur trés petite pour les postions suivant l’axe X
et y avec un temps de convergence inférieur à 2s pour y et inférieur à 5s pour x.
trajectoire Aléatoire
Condition initial : x 0 = 0.25 , y 0 = 0.25 ,θ0 = 0.
Gains du contrôleur cinématique :k x = 0.9, k y = 0.9,l x = 0.9,l y = 0.9 a = 0.2.
Gains du contrôleur dynamique : β = 20, K = 10− 7,N = 20.
F IGURE 4.3 – résultats de simulation pour trajectoire Aléatoire(loi d’arrivée exponentielle sans per-
turbations)
42
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
perturbations. On peut remarquer sur la figure (4.3a) que l’erreurs quadratique de la distance
convergent vers zéro en temps fini presque t=5s ainsi que la valeur moyenne l’erreurs quadra-
tique qu’on a trouvé egale e = 0.0179 et ca conduire à une convergence de trajectoire actuel vers la
trajectoire de réference comme montre le figure (4.3b). La vitesse de commande linéaire et angu-
laire réelles du robot convergent vers les vitesses de références en un temps t < 1s comme on peut
le constater sur la figure 4.3c On peut voir aussi sur la figure (4.3d) que cette commande est assuré
un erreur trés petite pour les postions suivant l’axe X et y avec un temps de convergence inférieur
à 1s pour y et inférieur à 5s.
trajectoire ligne droite
Condition initial : x 0 = 0.25 , y 0 = 0.25 ,θ0 = 0.
Gains du contrôleur cinématique :k x = 0.9, k y = 0.9,l x = 0.9,l y = 0.9 a = 0.2.
Gains du contrôleur dynamique : β = 20, K = 10− 7,N = 20.
F IGURE 4.4 – résultats de simulation pour trajectoire ligne droite(loi d’arrivée exponentielle sans
perturbations)
43
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
perturbations. On observer sur la figure (4.4a) que l’erreurs quadratique de la distance convergent
vers zéro en temps fini presque t=7s ainsi que la valeur moyenne l’erreurs quadratique qu’on a
trouvé egale e = 0.0717 et ca conduire à une convergence de trajectoire actuel vers la trajectoire de
réference comme montre le figure (4.4b). La vitesse de commande linéaire et angulaire réelles du
robot convergent vers les vitesses de références en un temps t < 0.5s comme on peut le constater
sur la figure 4.6c On peut voir aussi sur la figure (4.4d) que cette commande est assuré un erreur
trés petite pour les postions suivant l’axe X et y avec un temps de convergence inférieur à 1s pour
y et inférieur à 4s.
simulation de la commande avec perturbations
trajectoire cerculaire
Condition initial : x 0 = 0.25 , y 0 = 0.25 ,θ0 = 0.
Gains du contrôleur cinématique :k x = 0.9, k y = 0.9,l x = 0.9,l y = 0.9 a = 0.2.
Gains du contrôleur dynamique : β = 2, K = 10− 7,N = 2.
F IGURE 4.5 – résultats de simulation pour trajectoire circulaire (loi d’arrivée aloi d’arrivée expo-
nentielle avec perturbations)
44
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
F IGURE 4.6 – résultats de simulation pour trajectoire Aléatoire(loi d’arrivée exponentielle avec per-
turbations)
45
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
F IGURE 4.7 – résultats de simulation pour trajectoire ligne droite(loi d’arrivée exponentielle avec
perturbations)
46
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
47
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
48
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
trajectoire Aléatoire
Condition initial : x 0 = 0.25 , y 0 = 0.25 ,θ0 = 0.
Gains du contrôleur cinématique :k x = 0.9, k y = 0.9,l x = 0.9,l y = 0.9 a = 0.2.
Gains du contrôleur dynamique : β = 21.4906 k = 10− 8 N = 12.3210.
49
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
50
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
Trajectoire Aléatoire
F IGURE 4.11 – Comparison des résultats de simulation pour une trajectoire aléatoire
F IGURE 4.12 – Comparison des résultats de simulation pour une trajectoire ligne droirte
51
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
Trajectoire circulaire
F IGURE 4.13 – Comparison des résultats de simulation pour une trajectoire circulaire
Tc 6s 4s 5s 8s 9s 8s
4.4 Conclusion
Le travail présenté dans ce chapitre est le résultat des différentes simulations de la commande
par mode glissant classique et de la commande par mode glissant optimisée par essaim de parti-
cules (PSO) appliquées au système linéaire en l’absence et en la présence des perturbations exté-
rieures et incertitudes du système.
52
Conclusion générale
Un robot mobile à roues est l’un des systèmes bien connus avec des contraintes non holo-
nomes. Le travail effectué dans ce mémoire a porté essentiellement sur l’élaboration de com-
mande robuste pour la poursuite de trajectoire d’un robot mobile non holonome de type unicycle.
Cette commande a pour objectif de forcer le robot mobile a atteindre la configuration d’arrivée
à partir d’une configuration de départ avec un minimum d’erreurs.Parmi l’ensemble des algo-
rithmes des commandes, nous sommes arrivés à établir une association de critères de robustesse
et de stabilité conduisant à un contrôle simple et efficace d’un robot mobile.
Notre travail est essentiellement axé sur la Commande hybride sliding mode PSO(MG-PSO).
On a commencé notre travail de recherche par une modélisation cinématique et dynamique d’un
robot mobile type unicycle. Ensuite,nous anvons proposé en premier temps une commande ci-
nématique qui est basée sur le modèle cinématique du robot .En deuxième temps on a proposé
une commande robuste dynamique par mode glissement en présence des perturbations.Au ni-
veau de ce deuxième nous essayons de montrer différentes formes dee commandes basée sur la
loi d’arrivée,et nous remarquons que cette loi est constituée de deux composantes : la commande
équivalente qui représente la transition de la trajectoire d’état à partir d’un point initial jusqu’au
début de la phase du mode de glissement. et la commande discréte qui maintient la trajectoire
d’état du système à contrôler sur la surface de glissement et componser l’effet des perturbations.
Dans la phase finale, on a développé et implémenté un algorithme PSO dans le but d’Optimi-
sations des paramètres de système de commande, permettant la stabilisation asymptotique des
erreurs de suivi de trajectoires. Il est intéressant de synthétiser une loi de commande robuste ga-
rantissant la stabilisation en temps fini des erreurs de suivi. Les travaux de simulation sont présen-
tés avec une comparaison entre les deux approches, avec et sans optimisation par essaims particu-
laires des paramètres des contrôleurs dynamiques. Les algorithmes proposés montrent clairement
la robustesse vis-à-vis des perturbations et des incertitudes présentes dans le modèle dynamique.
Les erreurs entre les vitesses du modèle dynamique et celles obtenues par le modèle cinématique
convergent asymptotiquement vers zéros dans un temps très cours. De ce fait, le robot mobile suit
convenablement les différentes trajectoires de référence considérées, que ce soit une trajectoire
circulaire, sinusoïdale ou aléatoire.
Les résultats de la simulation développée ont montré clairement l’efficacité de la commande Com-
mande hybride mode glissant pso (MG-PSO) et que les erreurs de poursuite convergente vers zéro
53
CHAPITRE 4. RÉSULTATS ET SIMULATIONS
en un temps fini, tout en garantissant la stabilité du système. Les résultats des diverses applica-
tions entreprises pour une poursuite de trajectoires et présentées dans ce travail montrent la fidé-
lité de la réponse de ce type de commande.
54
Bibliographie
55
BIBLIOGRAPHIE
56
BIBLIOGRAPHIE
[30] JB.Song, and KS. Byun, “Design and control of a four-wheeled omnidirectional mobile ro-
bot with steerable omnidirectional wheels”, J Rob System, vol.21, no.1, pp. 193-208,2004.
[31] Felipe N. Martins, Wanderley C Celeste :a."An adaptive dynamic controller for autono-
mous mobile robot trajectory tracking", Department of Electrical Engineering, Federal
University of Espırito Santo (UFES), Av. Fernando Ferrari, 514 Campus Universitario, ES.
29075-910, Vitoria, Brazil b Institute of Automatics (INAUT), National University of San
Juan (UNSJ), Av. San Martin Oeste 1112 J5400ARL, San Juan, Argentina ,Teodiano F. Bastos-
Filho
[32] Mémoire,theme ’Commande par modes glissants du suivi de trajectoires pour un robot
mobile’,Université Hadj Lakhdar Batna Faculté de Technologie Département d’Electro-
nique,République Algérienne
[33] KENNEDY, J. et EBERHART, R. Particle swarm optimization (PSO). In : Proc. IEEE Interna-
tional Conference on Neural Networks, Perth, Australia. 1995. p. 1942-1948.
[34] ELHAMI N., Contribution aux méthodes hybrides d’optimisation heuristiques : Distribu-
tion et application à l’interopérabilité des systèmes d’information. Thèse de Doctorat, Uni-
versité Mohammed V Rabat, Maroc Université de Rouen, France, 2013.
[35] KENNEDY, J., EBERHART, R. C., et SHI, Y. Swarm Intelligence Morgan Kaufmann Publi-
shers. Inc., San Francisco, CA, 2001.
[36] MARINI, Federico et WALCZAK, Beata. Particle swarm optimization (PSO). A tutorial. Che-
mometrics and Intelligent Laboratory Systems, 2015, vol. 149, p. 153-165.
[37] CLERC, Maurice et KENNEDY, James. The particle swarm-explosion, stability, and conver-
gence in a multidimensional complex space. IEEE transactions on Evolutionary Compu-
tation, 2002, vol. 6, no 1, p. 58-73.
[38] DRÉO, Johann, PÉTROWSKI, Alain, SIARRY, Patrick, et al. Métaheuristiques pour l’optimi-
sation difficile. Eyrolles, 2003.
[39] Nada EL GMILI,"Réglage intelligent des systèmes de commande de drones en exploitant
la méthode d’optimisation par essaim de particules (PSO)"Thèse de doctorat,Université
CADI AYYAD
57
Annexe
Abbreviation
MG :Mode glissant
PSO :Particle Swarm Optimization
l’algorithmes pso
%% I n i t i a l i z a t i o n
clear
clc
n = 50; % Size of the swarm " no of birds "
bird_setp =50; % Maximum number of " birds steps "
dim = 2 ; % Dimension of the problem
c2 = 1 . 2 ; % PSO parameter C1
c1 = 0 . 1 2 ; % PSO parameter C2
w =0.9; % pso momentum or i n e r t i a
f i t n e s s =0 * ones (n , bird_setp ) ; %matrice n * bird_setp * 0
%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−%
% i n i t i a l i z e the parameter %
%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
R1 =rand (dim , n ) ;
R2 =rand (dim , n ) ; %tableau 2 l i g n e et 50 colon de valeur comprise 0 et 1
c u r r e n t _ f i t n e s s =0 * ones (n, 1 ) ; % matrice 1 l i g n e et 50 colon
%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−%
% I n i t i a l i z i n g swarm and v e l o c i t i e s and position %
%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−%
58
BIBLIOGRAPHIE
%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−%
% Evaluate i n i t i a l population %
%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−%
f o r i = 1 :n
c u r r e n t _ f i t n e s s ( i ) = t r a c k l s q ( current_position ( : , i ) ) ;
end
local_best_fitness = current_fitness ;
[ g l o b a l _ b e s t _ f i t n e s s , g ] = min( l o c a l _ b e s t _ f i t n e s s ) ;
f o r i =1:n
gl o bl _ be s t _ p o s i t i o n ( : , i ) = l o c a l _ b e s t _ p o s i t i o n ( : , g ) ;
end
%−−−−−−−−−−−−−−−−−−−%
% VELOCITY UPDATE %
%−−−−−−−−−−−−−−−−−−−%
v e l o c i t y = w * v e l o c i t y + c1 * ( R1 . * ( l o c a l _ b e s t _ p o s i t i o n −current_position ) )
+ c2 * ( R2 . * ( globl_best_position −current_position ) ) ;
%−−−−−−−−−−−−−−−−−−%
% SWARMUPDATE %
%−−−−−−−−−−−−−−−−−−%
current_position = current_position + v e l o c i t y ;
%−−−−−−−−−−−−−−−−−−−−−−−−%
% evaluate anew swarm %
%−−−−−−−−−−−−−−−−−−−−−−−
%% Main Loop
iter = 0 ; % I t e r a t i o n s counter
while ( i t e r < bird_setp )
iter = iter + 1;
for i = 1:n,
c u r r e n t _ f i t n e s s ( i ) = t r a c k l s q ( current_position ( : , i ) ) ;
end
for i = 1 : n
i f current_fitness ( i ) < local_best_fitness ( i )
local_best_fitness ( i ) = current_fitness ( i ) ;
l o c a l _ b e s t _ p o s i t i o n ( : , i ) = current_position ( : , i ) ;
end
59
BIBLIOGRAPHIE
end
[ c u r r e n t _ g l o b a l _ b e s t _ f i t n e s s , g ] = min( l o c a l _ b e s t _ f i t n e s s ) ;
i f current_global_best_fitness < global_best_fitness
global_best_fitness = current_global_best_fitness ;
f o r i =1:n
gl o b l _ b e s t _ p o s i t i o n ( : , i ) = l o c a l _ b e s t _ p o s i t i o n ( : , g ) ;
end
end
v e l o c i t y = w * v e l o c i t y + c1 * ( R1 . * ( l o c a l _ b e s t _ p o s i t i o n −current_position ) )
+ c2 * ( R2 . * ( globl_best_position −current_position ) ) ;
current_position = current_position + v e l o c i t y ;
s p r i n t f ( ’ The value of i n t e r a t i o n i t e r %3.0 f ’ , i t e r ) ;
end % end of while loop i t s mean the end of a l l step that the birds move i t
xx= f i t n e s s ( : , 5 0 ) ;
[ Y , I ] = min( xx ) ;
current_position ( : , I )
function F = t r a c k l s q ( pso )
% Track the output of optsim to a s i g n a l of 1
% Variables a1 and a2 are shared with RUNTRACKLSQ
Beta = pso ( 1 ) ;
N = pso ( 2 ) ;
s p r i n t f ( ’ The value of i n t e r a t i o n Beta= %3.0 f , N= %3.0 f ’ , pso ( 1 ) , pso ( 2 ) ) ;
% Compute function value
simopt = simset ( ’ solver ’ , ’ ode45 ’ , ’ SrcWorkspace ’ ,
’ Current ’ , ’ DstWorkspace ’ , ’ Current ’ ) ; % I n i t i a l i z e sim options
[ tout , xout , yout ] = sim ( ’ kinematic_controller_system ’ , [ 0 100] , simopt ) ;
e=yout −1 ; % compute the e r r o r
sys_overshoot=max( yout ) −1 ;% compute the overshoot
alpha =10; beta =10;
F=e2 * beta+sys_overshoot * alpha ;
end
60