1 PDF
1 PDF
1 PDF
THÈSE
présentée en cotutelle aux :
par
Lobna AMOURI-JMAIEL
Cette thèse a été préparée en cotutelle au sein des deux laboratoires : CEMLab et PRISME
i
Remerciements
Les travaux présentés dans cette thèse en cotutelle sont le résultat de collaboration
entre la Tunisie et la France. La première partie de la thèse a été éffectuée au sein du
Laboratoire de recherche « Control & Energy Management Laboratory (CEMLab) », di-
rigé par Monsieur Abderrezzek Ouali, Professeur en Génie Électrique à l’École Nationale
d’Ingénieurs de Sfax. La deuxième partie de la thèse a été éffectuée au sein du Labora-
toire « Pluridisciplinaire de Recherche en Ingénierie des Systèmes, Mécanique, Energétique
(PRISME) », dirigé par Madame Christine Rousselle.
J’adresse mes vifs remerciements à Messieurs Nabil Derbel, Professeur en Génie Élec-
trique à l’Ecole Nationale d’Ingéneiurs de Sfax, et Monsieur Gérard Poisson, Professeur
à l’Université d’Orléans responsable de l’axe Robotique du laboratoire PRISME pour
m’avoir encadrée et accueillie dans leurs laboratoires de recherche et pour toute l’aide et
le soutien qu’ils m’ont apportés.
to . . .
My parents to whom I owe everything
to . . .
My husband for his endless love and support
My sons for their kindness
to . . .
All my family
Table des matières
Introduction générale 1
I Cadre de l’étude 5
iii
iv
I.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
II.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
II.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
III.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
III.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
IV.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
IV.2.3 Déformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
IV.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
vii
Conclusions et Perspectives 96
Bibliographie 98
Annexes 104
viii
ix
II.1 Tableau d’inférence linguistique pour rejoindre l’objectif : cas du Khepera II. 34
II.2 Tableau des inférences linguistiques pour rejoindre l’objectif : cas du fauteuil. 40
II.3 Tableau des inférences linguistiques pour rejoindre l’objectif : cas du ROMNI. 45
xiii
Introduction générale
Le terme robot a été largement étudié et utilisé dans la littérature mais le sens visé
par cette expression tourne en général autour de celui-ci :
Mise en contexte
Avec les progrès constants dans ce domaine, les robots tendent à accomplir des tâches
de plus en plus complexes avec une intervention moindre de l’homme pour les guider.
Ils deviennent ainsi plus autonomes, et ils interagissent de mieux en mieux avec leur
environnement pour accomplir la mission qui leur a été assignée, le robot devient alors
une "machine intelligente". Au cours des dernières décennies, la robotique a connu un
développement très marqué. Les bras manipulateurs se sont largement développés dans les
milieux manufacturiers et poursuivent leurs développement dans d’autres milieux tels que
la chirurgie. De la même façon, la robotique mobile s’est aussi largement développée. Cela
a commencé par une automatisation des chariots guidés, en passant par les plates formes
mobiles pour arriver aux robots humanoïdes. A la différence des robots manipulateurs
industriels qui évoluent dans des environnements protégés et très structurés tels que des
chaînes de montage, les robots mobiles sont appelés à intervenir dans des environnements
en perpétuelle évolution, en particulier en raison de la présence humaine. Le robot doit
1
2
donc disposer d’un niveau d’autonomie suffisant pour remplir sa mission. Les chercheurs
progressent dans cette direction et dotent les robots mobiles d’un niveau d’autonomie de
plus en plus grand.
La problématique de la navigation et du pilotage des robots, s’ouvre aujourd’hui vers
de nombreux autres champs d’application, tels que : les véhicules, les drônes aériens, les
engins sous-marins, la chirurgie, les robots d’assistance, etc. Dans tous les cas, il s’agit
de faire évoluer des systèmes de façon sûre dans des milieux imparfaitement connus en
contrôlant les interactions entre le robot et son environnement. En premier lieu, lors
de la planification, cela se fera par l’acquisition, la modélisation et la manipulation des
connaissances sur l’environnement et sur l’objectif à réaliser. Ensuite, durant l’exécution,
il s’agit d’exploiter les données perceptuelles pour adapter au mieux le comportement du
système aux conditions de la mission qu’il doit réaliser.
Problématique
système qui permet de combler les lacunes du premier. Parmi les lacunes en question on
peut rappeler, la connaissance du point initial, un recalage de temps en temps... On a
montré que l’utilisation d’une caméra de type webcam qui est un dispositif bon marché
comparé avec d’autres capteurs donnés peut déterminer la position absolue du robot. Le
principal inconvénient apporté par l’utilisation de cette technologie est l’importance du
temps de calcul. On a pu diminuer ce temps de calcul en n’effectuant le traitement que
sur la partie de l’image qui contient l’image du robot. En définitive, c’est les deux sys-
tèmes de localisation relative et absolue qu’il est judicieux de mettre en œuvre, car ils
sont complémentaires.
La dernière problématique se rapportant à la navigation des robots mobiles est le
pilotage. En effet plusieurs travaux de recherche ont entamé, dans ce cadre, le pilotage
des robots mobiles en proposant différentes techniques d’évitement d’obstacles réactives.
Parmi ces dernières, se situe essentiellement les travaux de Zapata [22] qui a proposé une
méthode qui montre le comportement réactif des manipulateurs mobiles en se basant sur la
technique de zone à déformation virtuelle. En effet, les actions réflexes des robots mobiles
peuvent être définies comme l’habilité à réagir quand un événement soudain se produit, et
ceci en se déplaçant dans un environnement inconnu et dynamique. L’idée principale est
de définir l’interaction robot/environnement comme une Zone de Déformation Virtuelle
(ZDV) qui entoure le véhicule. C’est dans cette partie que nous allons nous proposer de
la résoudre pour les deux plates formes mobile unicycle et omnidirectionnelle.
L’architecture de contrôle adoptée pour combiner la partie commande et la partie évi-
tement d’obstacle est une architecture générique qui assure plus d’autonomie au robot.
Cette architecture nous a permis d’aboutir à des résultats de navigation satisfaisants tout
en utlisant une interface 2D parmettant un suivi en temps réel du véhicule ainsi qu’une
collaboration utilisateur-vehicule.
Organisation du mémoire
Cadre de l’étude
Résumé Dans ce chapitre nous présentons les modèles mathématiques des deux types
de robot mobiles utilisés dans ces travaux de thèse. Deux robots mobiles de types unicycle
qui sont : le robot Khepera II et un fauteuil roulant pour handicapés. Le second véhicule
est un robot omnidirectionnel ROMNI. Ensuite, nous détaillons les différents types de
localisation notemment la localisation relative qui se base sur les sources d’informations
proprioceptives et la localisation absolue qui utilise les sources d’informations extérocep-
tives. Puis, nous présentons quelques métodes d’évitement d’obstacles et de navigation
que le robot pourra utiliser pour se déplacer tout en lui assurant plus d’autonomie. En-
fin, nous présentons les principales architectures de contrôle utilisées en robotique. Cette
étude bibliographique nous a permis à la fin de déduire quand aux méthodes de commande
et de pilotage les mieux adaptées à nos robots mobiles.
Ces travaux de thèse entrent dans le cadre de collaboration entre deux unités de
recherche. Ceci a influé positivement en terme de richesse des plateformes robotiques étu-
diées. Dans ce cadre nous avons étudié deux robots de type unicycle : le robot Khépéra et
un fauteuil roulant pour handicapés de l’unité de recherche ICOS. Le laboratoire français
Prisme nous a fourni une plateforme omnidirectionelle nommée ROMNI.
5
I.1. Modélisation des plateformes robotiques 6
Dans la littérature il y a plusieurs types de robots mobiles à roues [1]. Les plus étudiés
sont de type voiture, commandés par l’angle de braquage des roues. Dans cette thèse nous
avons étudié deux plates formes de type unicycle : un robot Khepera II et un fauteuil
roulant pour handicapés.
Le Khepera II possède (dans sa version de base) peu de capteurs, mais quand même
suffisamment pour faire des applications intéressantes. Le Khepera II dispose de huit cap-
teurs de distance répartis tout autour du robot qui permettent de détecter des obstacles,
de deux moteurs indépendants permettant au robot d’avancer.
I.1. Modélisation des plateformes robotiques 7
Etant donné que nos expérimentations seront faites sur un robot mobile à deux roues
motrices indépendantes dont le mouvement est obtenu en agissant sur la vitesse de chaque
roue comme le montre le modèle cinématique I.1, un ensemble d’équations montre qu’il
s’agit d’un système d’équations multivariables. Les paramètres Vd , Vg et ω sont respec-
tivement la vitesse linéaire de la roue droite, la vitesse linéaire de la roue gauche et la
vitesse angulaire du robot mobile. Les paramètres x, y et θ sont respectivement l’abs-
cisse, l’ordonnée et l’orientation du robot dans le repère défini selon la figure I.2. L est la
distance entre les deux roues motrice du robot.
Y
Y1 Vg
X1
θ Vd
y o1
L
o x X
Fig. I.2 – Schéma cinématique du robot mobile à deux roues motrices indépendantes
dx Vd + Vg
= cosθ
dt 2
dy Vd + Vg
= sinθ (I.1)
dt 2
dθ Vd − Vg
= ω=
dt L
Pour les expériences, le robot mobile Khepera II est muni d’un système odométrique
qui permet de déterminer la position et l’orientation du robot dans un repère de référence.
Pour ce système de mesure, la position du robot à un instant k est définie en fonction de
sa position à l’instant k − 1, (xk−1 , yk−1 , θk−1 ), et du déplacement des roues, (lgk , ldk )
entre k et k − 1. On peut noter ici l’importance de la connaissance du point initial. Ce
modèle d’évolution du robot s’écrit :
∆θk
xk = xk−1 + lk cos(θk + )
2
∆θk (I.3)
yk = yk−1 + lk sin(θk + )
2
θk = θk−1 + ∆θk
avec :
ldk + lgk
lk =
2
ldk − lgk (I.4)
∆θk =
L
La deuxième plateforme unicycle étudiée est un fauteuil roulant pour handicapés monté
dans l’unité de recherche ICOS (I.3). Ce robot est doté de deux roues folles et deux roues
motrices indépendantes ce qui fournit une base mobile avec deux degrés de mobilité [2].
Les principales caractéristiques de cette plateforme sont les suivantes :
– La distance entre les deux roues motrices est L = 750 mm
– Le rayon de la roue est r = 160 mm
– La masse est 70 Kg
Cette platforme est aussi équipée d’un système de localisation basé sur deux encodeurs
de type « Easy Roller ENC300CPR » placés sur les roues motrices du fauteuil et permet-
tant de déterminer la position du robot par rapport à son repère global en utilisant le
même modèle cinématique que celui décrit dans le paragraphe précédent. Ces encodeurs
procurent en sortie 300 impulsions/tour, ces signaux de sortie permettent de calculer le
déplacement linéaire et angulaire de chaque roue.
Durant les premières expériences, nous avons utilisé un ordinateur portable placé sur
le système robotique interfacé avec le joystick et l’unité de contrôle des moteurs en utili-
sant un système bloc nommé « CB-405 » comme le montre la figure I.3.
I.1. Modélisation des plateformes robotiques 9
Unite de
commande Ordinateur
CB-405
portable
Joystick
Capteurs ultra-
sonores Capteur
laser
Fig. I.3 – Configuration courante du fauteuil roulant. La partie logicielle sur l’ordina-
teur portable utilise les mesures du module CB405 et le capteur laser pour contrôler les
mouvements du fauteuil
Fauteuil roulant
CB-405 bloc système Joystick
Y Yr
Vi
ϕ̇i
αi
Oi Xr
y θ
Or
li
X
O
x
Fig. I.7 – Schéma cinématique du robot omnidirectionnel ROMNI (Thèse Mourioux [3]).
~
Y
v~Oi u
~i
Y~r v~i
αi ~r
X
Oi
Or
θ
~
X
O
Fig. I.8 – Repère absolu, repère robot et repère essieu (vue 2D de dessus).
avec :
– (O, X,~ Y~ ) : repère absolu du système
– (Or , X~ r , Y~r ) : repère de centre Or (lié à la plateforme)
– ϕ̇i : vitesse de rotation propre de l’essieu,
– V~Oi : vecteur vitesse du point (égal à V~(Oi εEssieu/RO ) )
−−−\→ −−→
– αi : angle (Or Xr , Or ui ) avec
α1 = 0
2π
α2 =
3
α3 =
4π
3
Afin de déterminer le modèle cinématique de notre plateforme, nous calculons la vitesse
du point Oi de l’essieu par rapport au repère absolu (RO )(Thèse Mourioux [3]) :
Avec une roue classique et l’hypothèse de roulement sans glissement, on obtient que
V~(Oi ∈ Essieu/RO ) est colinéaire à V~i ou encore V~(Oi ∈ Essieu/RO ) = −rϕ̇i V~i
Dans notre cas (figure I.8), la vitesse dans la direction ~ui est libre et non commandée
par le mouvement de l’essieu (V~(Oi ∈ Essieu/RO ) .~ui est quelconque). Ceci se traduit donc
pour chacun des trois essieux, par la contrainte cinématique suivante (Thèse Mourioux
[3]) :
V~(Oi ∈ ~
Essieu/RO ) .Vi = −rϕ̇i ∀i ∈ 1, 2, 3 (I.6)
Le mouvement de la plateforme est un mouvement plan sur plan ; une roue (sphère) de
chaque essieu est à tout moment en contact avec le sol, il y a toujours trois sphères en
I.1. Modélisation des plateformes robotiques 13
ẋ
contact, la plateforme conserve ainsi son assiette. Considérons Ṗ = ẏ les paramètres
θ̇
cinématiques de ce mouvement au centre Or de la plateforme. Si pour chaque essieu, on
note li , la distance Or Oi (distance variable selon la sphère en contact avec le sol), on
obtient (Thèse Mourioux [3]) :
ẋ
Le saut de roues entraîne une discontinuité théorique des composantes Ṗ = ẏ et
θ̇
on peut constater que la distance li n’a d’effet que pour un mouvement comprenant une
rotation, une approximation peut être envisagée en considérant une valeur médiane :
limax + limin
li =
2
avec : limax = 200mm ; limin = 130mm.
Le système d’équations (I.8) peut s’écrire sous forme matricielle (I.9), ce qui constitue
le Modèle Cinématique Inverse (MCI) du robot (Thèse Mourioux [3]) :
φ̇ = AṖ (I.9)
I.2. Localisation des robots mobiles 14
Avec :
ϕ̇1 ẋ − sin(θ + α1 ) cos(θ + α1 ) l1
1
φ̇ = ϕ̇2 , Ṗ = ẏ , A = − − sin(θ + α2 ) cos(θ + α2 ) l2
r
ϕ̇3 θ̇ − sin(θ + α3 ) cos(θ + α3 ) l3
L’existence de ce modèle et le fait que la matrice A soit de rang plein sans configuration
singulière montre que, pour toute expression du vecteur d’entrée Ṗ , on est capable de
déterminer les variables articulaires : on prouve de ce fait l’omnidirectionnalité du robot.
L’existence du Modèle Cinématique Inverse (MCI) (I.9) montre que pour toute ex-
pression du vecteur d’entrée Ṗ , on est capable de déterminer les variables articulaires φ̇.
Le calcul du déterminant de la matrice de transfert A, selon les valeurs des rayons li ,
conduit à quatre expressions différentes, toutes de valeurs non nulles. Cette matrice est
donc inversible ; on obtient alors le Modèle Cinématique Direct (MCD)(Thèse Mourioux
[3]) :
Ṗ = A−1 φ̇ (I.10)
avec :
l2 C3 − l3 C2 l3 C1 − l1 C3 l1 C2 − l2 C1
A−1 = H l2 S3 − l3 S2 l3 S1 − l1 S3 l1 S2 − l2 S1 , Ci = cos(θ + αi ), Si = sin(θ + αi )
−r
et H =
l1 sin(α2 − α3 ) − l2 sin(α1 − α3 ) + l3 sin(α1 − α2 )
Dans cette partie, nous avons pésenté les modèles cinématiques directs (MCD) de trois
mobiles à roues : Khepera II, fauteuil et ROMNI. Ces modèles vont nous permettre
d’estimer la position et l’orientation du robot durant sa navigation. Pour cela, différentes
techniques de localisation pourront être utilisées. Dans la partie suivante nous allons
présenter quelques techniques de localisation utilisées en robotique mobile.
Les robots mobiles utilisent diverses techniques pour se localiser. Ces techniques pré-
sentent des avantages et des inconvénients : elles peuvent fournir soit la position relative,
I.2. Localisation des robots mobiles 15
– Filoguidage : Un fil enterré dans lequel circule un courant électrique qui matéria-
lise la route à suivre. Des capteurs inductifs embarqués sur le véhicule permettent
de détecter le fil. Il ne reste plus alors au véhicule qu’à le suivre en utilisant une
technique d’asservissement classique.
Pour se localiser et détecter les obstacles, le robot doit au moins être équipé par plusieurs
types de capteurs.
La localisation repose sur deux types généraux d’informations différentes : les infor-
mations proprioceptives qui mènent à une localisation relative et les informations extéro-
ceptives assurant une localisation absolue.
Ce sont des informations internes au robot qui le renseignent, dans le cas de la naviga-
tion, sur son déplacement dans l’espace. Ces informations peuvent provenir de la mesure
de la rotation de ses roues ou de la mesure de l’accélération grâce à une centrale iner-
tielle. Un processus d’intégration permet alors, en accumulant ces informations au cours
du temps, d’estimer la position relative de deux points par lesquels le robot est passé.
Cependant, la qualité de cette information se dégrade continuellement au cours du temps,
à cause de l’intégration temporelle des mesures effectuées par les capteurs internes. En
effet, chaque capteur produit une mesure bruitée de la vitesse ou de l’accélération du
robot (glissement des roues). Les encodeurs forment l’exemple de capteur propriceptif le
plus répandu. Il se fixe soit sur les roues motrices soit directement sur l’arbre du moteur
associé à la roue. Il permet de délivrer des impulsions déterminant le déplacement latéral
et angulaire de la roue comme le montre le système suivant I.11 :
ΠDn
△Sg,d = Ng,d (I.11)
nCe
avec :
Dn (mm) : diamètre nominal de la roue
Ce (impulsion/mm) : résolution des encodeurs
I.2. Localisation des robots mobiles 17
Les informations extéroceptives ou encore les perceptions sont des informations ca-
ractéristiques d’une position que le robot peut acquérir dans son environnement. Ces
informations peuvent être de nature très variée. Par exemple, un robot peut mesurer la
distance des obstacles avec des capteurs infrarouges ou utiliser une caméra. En effet, les
informations proprioceptives fournissent des informations sur le déplacement du robot,
alors que les informations extéroceptives fournissent des informations directement sur la
position du robot dans l’environnement.
– Détecteurs de choc : Ce sont de simples capteurs mécaniques. Ils sont en général
intégrés dans les pare-chocs du robot et provoquent l’arrêt de celui-ci en cas de
contact direct avec un obstacle. En terme de sécurité, ils ne peuvent remplir leur
rôle que pour de faibles vitesses.
– Télémètres : Il existe différents types de télémètres (ultra-sonore, Infra-rouge, laser,
radar) qui fonctionnent tous avec le même principe. On calcule la distance à un
obstacle en mesurant le temps de vol d’une onde émise (ultra-sonore, lumineuse ou
radio selon le type de télémètre).
– Télémètre ultra-sonore : Ils sont adaptés pour la détection d’obstacles proches (de
un à quelques mètres). L’information fournie est peu précise et sujette à un certain
nombre de problèmes bien connus (absorption, réflection spéculaire, réverbération,
etc.). Ils peuvent suffire pour certaines applications et ont l’avantage d’être peu
coûteux.
– Télémètre laser : Ils sont basés sur un faisceau laser rotatif permettant de balayer
un plan horizontal et de détecter les obstacles situés dans ce plan. La portée de
ces capteurs peut atteindre 50 mètres avec une très bonne précision. Cependant,
les capteurs lasers sont sensibles aux conditions atmosphériques (pluie, brouillard,
etc). Ce sont à l’heure actuelle les capteurs les plus utilisés. Mais leur principal
inconvénient est leur prix élevé.
L’exemple de la figure I.10 montre un capteur laser de type URG-04X qui peut
balayer 270˚ avec une portée de 4 mètres.
I.3. Les stratégies de navigation 18
Fig. I.10 – Télémètre Laser de type URG-04X (Photo de la société Hokuyo Automatic
Co., LTD).
A ce niveau, nous avons présenté les modèles mathématiques de nos robots ainsi que
quelques types de localisation utilisés en robotique mobile. Ces deux parties sont néces-
saires à la commande d’un robot mobile à roues. La partie suivante sera donc consacrée
à présenter les principales stratégies de navigation utilisée.
– Guidage : cette stratégie permet d’atteindre un but qui n’est pas un objet matériel
directement visible, mais un point de l’espace caractérisé par une configuration spa-
tiale en liaisant avec un ensemble d’objets remarquables, ou amers, qui l’entourent
ou qui en sont voisins. La stratégie de navigation, consiste alors à se diriger dans la
direction qui permet de reproduire cette configuration. Cette approche semble utili-
sée par certaines insectes, comme les abeilles [10], et a été utilisée sur divers robots
[11], [12]. Cette stratégie utilise aussi des actions réflexes et réalise une navigation
locale qui ne requiert que les amers.
Les stratégies de navigation globale peuvent être classées en trois qui sont :
– Action associée à un lieu : C’est la première stratégie qui réalise une navigation
globale. Elle permet de rejoindre un objectif à partir des positions pour lesquelles
son emplacement est invisible. Cette stratégie a donc besoin d’une représentation
interne de l’environnement. Cette représentation consiste à définir des lieux de l’es-
pace dans lesquelles les perceptions restent les mêmes, et à associer une action à
chacun d’eux. L’enchaînement de ces actions permet de définir une route qui mène
vers le but. Ces modèles assurent une autonomie importante. Un chemin qui permet
de rejoindre un but ne pourra pas être utilisé pour rejoindre un but différent comme
présenté dans la figure I.11. A chaque changement de but, cette stratégie mènera à
l’apprentissage d’une nouvelle route.
Obstacles
c c
lieux mémorisés
c
c
Zone inexplorée
a
c direction prévue pour atteindre le but
c
trajectoire suivie par le robot
c
c
c
c
c
A B
c
Obstacles
c c
lieux mémorisés
c
c
Zone inexplorée
a
c direction prévue pour atteindre le but
c
trajectoire suivie par le robot
c
c
c
c
c
A B
c
c
c
c
c
lieux mémorisés
c
c
Zone inexplorée
a
c direction prévue pour atteindre le but
c
trajectoire suivie par le robot
c
c
c c
c
c
A B
c
c
c
c
c
Ainsi, elle mémorise les positions métriques relatives des différents lieux et ceci additionné
à la possibilité de passer d’un lieu à un autre. Ces positions relatives permettent de calculer
une trajectoire qui mène d’un lieu à un autre. Cette capacité est possible même si ce
déplacement n’a pas été mémorisé sous forme d’un lien.
A partir de la classification présentée, nous pouvons remarquer que les méthodes glo-
bales garantissent la sûreté et l’optimisation dans la navigation. Cependant les méthodes
locales apportent une rapidité et une gestion de l’univers dynamique visible [13]. Les
principales limitations des méthodes globales sont de deux types, la nécessité d’une mo-
délisation préalable de l’environnement et la limitation sur le nombre de degrés de liberté
du système considéré. En contre partie ces méthodes dites globales garantissent l’ob-
tention d’une classe de solutions parmi lesquelles le choix d’une trajectoire particulière
peut s’effectuer en fonction de contraintes sur la forme de la trajectoire ou d’un critère
d’optimisation [14].
Cette étude de quelques stratégies de navigation nous a permis de distinguer la mé-
thode à appliquer pour les trois robots mobiles déjà présentés. Nous étions donc orientés
vers l’utilisation d’une navigation globale de type topologique qui se base sur les modèles
internes de l’environnement. Cette stratégie utilisera la théorie des sous-ensembles flous
pour permettre au robot de rejoindre un point objectif.
Le choix de la stratégie de navigation dans un environnement non encombré étant
établi. Il nous reste donc à considérer le cas ou le robot est contraint à différents obstacles
dans son environnemnt. Une étude sur les méthodes d’évitement d’obstacles fera donc le
sujet de la partie suivante de cette thèse.
L’évitement d’obstacles est un comportement quasiment essentiel pour tous les robots
mobiles. Il lui permet de naviguer en présence d’obstacles tout en gérant les écarts entre
le modèle interne du robot et le monde réel.
L’efficacité des méthodes que nous présenterons dans ce rapport a été prouvée dans
différents travaux de recherche. Cependant, cette efficacité est conditionnée par l’existence
d’une perception correcte de l’environnement (nature du capteur : laser, sonar, caméra).
Pour remédier à ce problème, l’utilisation d’une représentation locale (de l’environnement
I.4. Méthodes d’évitement d’obstacles 22
proche du robot et centrée sur le robot) a prouvé son impact sur le filtrage des signaux
bruités de certain capteurs. Parmi ces méthodes il y a l’évitement d’obstacles par : la
fenêtre dynamique, le flux optique et la zone de déformation virtuelle.
La méthode d’évitement d’obstacle par flux optique s’inspire de la façon dont certains
insectes (mouches et abeilles) utilisent le flux optique (par le biais de la vision et des
capteurs gyroscopiques) pour déterminer leurs distances aux objets environnants [18], [19],
[20]. Cette stratégie bio-inspirée consiste à rester à égale distance des obstacles latéraux
par l’analyse du flux optique induit par le mouvement. Ainsi, l’insecte est capable de
stabiliser sa trajectoire, maintenir son altitude ainsi que d’éviter des obstacles.
Cette méthode est transposable aux micro-drones. Le principe d’application consiste
à calculer la différence entre le flot gauche et le flot droit du capteur de vision placé sur
le micro-drone. A cette différence de flots, des fonctions d’attraction/répulsion sont dé-
finies. Elles permettent d’orienter le drone, d’estimer sa vitesse, et également d’assurer
sa « survie » par évitement réflexe des obstacles. Les figures I.14 et I.15 montrent respec-
tivement une détection de flux optique (présenté en trait rouge) et une détection d’un
obstacle en mouvement par flux optique.
I.4. Méthodes d’évitement d’obstacles 23
Fig. I.14 – Détection du flux optique Fig. I.15 – Détection d’un obstacle en mou-
(Projet FP6-IST-045248 [21]) vement (Projet FP6-IST-045248 [21])
A ce niveau, nous sommes arrivés à présenter quatre parties essentielles pour l’auto-
nomie d’un robot mobile : modélisation, localisation, commande et évitement d’obstacles.
Ainsi, il nous reste à étudier les architectures de contrôle qui assurent le bon passage entre
ces quatres parties tout en respectant les exigences du robot.
Un robot est un système complexe qui doit satisfaire à des exigences variées et parfois
contradictoires. Un exemple typique pour un robot mobile est l’action qui doit être faite
pour atteindre un but et la prise en compte d’éléments imprévus, tels que les obstacles.
Nous pouvons reprendre une traduction de la défnition de Ronald Arkin [25] de l’art de
concevoir de telles architectures :
L’architecture robotisée est la discipline consacrée à la conception de robots fortement
spécifiques et individuels et ceci à partir d’une collection de composantes logicielles com-
munes.
Ces architectures peuvent être classées en trois grandes catégories que nous détaille-
rons par la suite : les contrôleurs hiérarchiques, les contrôleurs réactifs et les contrôleurs
hybrides.
PERCEPTION
PLANIFICATION
ACTION
Ces architectures n’assurent pas un contrôle important lors de l’exécution des actions.
En effet, une fois l’action est choisie, elle est exécutée. Dans une telle situation, on suppose
I.5. Architectures de contrôle 25
que le modèle du monde est correct et qu’il n’y a pas un retour de la perception sur l’exé-
cution de l’action. Les écarts entre les modèles internes et l’état réel de l’environnement ne
peuvent être considérées que via le cycle de perception/modélisation/planification suivant.
Ce retard peut engendrer de graves problèmes comme celui des collisions.
PERCEPTION ACTION
Actuellement, les contrôleurs utilisés adoptent une solution intermédiaire entre l’ar-
chitecture hiérarchique et celle réactive. Cette solution s’appelle une architecture hybride
[27]. Elle se compose de deux niveaux.
– Le premier niveau est chargé des tâches de navigation de haut niveau, telles que la
localisation, la cartographie et la planification
– Le second niveau, étant réactif, est chargé d’exécuter les commandes et de gérer les
éléments non modélisés de l’environnement (obstcles inconnus).
– Le niveau bas de l’architecture hybride se présente sous la forme de boucles sensori-
motrices qui relient les actions aux perceptions. Cette liaison doit être réalisée avec
une phase de décision très courte. Ceci permettra d’assurer la réactivité (cf. figure
I.18).
I.5. Architectures de contrôle 26
PLANIFICATION
PERCEPTION ACTION
A partir de l’étude établie ci-dessus sur les modèles mathématiques des robots consi-
dérés dans ces travaux de thèse, ainsi que les différents types de navigation et des archi-
tectures de contrôle, nous pouvons déduire quand à la méthode de navigation à appliquer
à nos systèmes robotiques.
Les plates formes étudiés sont dotées d’un capteur interne qui est l’encodeur nous
permettant d’assurer une localisation relative de ces systèmes. D’ailleurs, nous allons ap-
pliquer une méthode de navigation topologique permettant de rejoindre un point objectif
avec une trajectoire optimisée.
I.6. Conclusion 27
L’architecture de contrôle retenue est hybride et elle est de type générique. La commu-
tation entre la partie localisation/commande et la partie évitement d’obstacles est assurée
à travers un contrôleur flou.
I.6 Conclusion
Dans ce chapitre nous avons présenté différentes plateformes mobiles étudiées durant
la préparation des travaux de thèse ainsi que leurs modèles mathématiques. Nous avons
présenté deux robots de type unicycle : le Khepera II et le fauteuil roulant, et un autre
de type omnidirectionnel : le ROMNI. Ensuite nous avons présenté différentes techniques
de localisation (relatives et absolues) pouvant être adoptées sur ces plateformes ainsi que
différentes sources d’informations à savoir celles proprioceptives et extéroceptives. Nous
avons fini par présenter différentes stratégies de navigation, d’évitement d’obstacles et
de contrôle existant dans la littérature. A partir de cette classification nous avons choisi
d’opter pour les méthodes suivantes :
– une navigation topologique qui se base sur la théorie des ensembles flous.
– une technique d’évitement d’obstacles comportementale nommée Zone de déforma-
tion virtuelle (ZDV).
– une architecture de contrôle hybride permettant une commutation continue entre
les parties commande et évitement d’obstacles.
Dans le chapitre qui suit nous allons commencer par aborder la partie commande des
deux types de plates formes mobiles à roues.
Chapitre II
Mots Clés Contrôleur flou, Robot mobile, Khepera II, fauteuil, ROMNI, Navigation.
II.1 Introduction
28
II.2. Synthèse du contrôleur flou pour un robot unicycle : Khepera II 29
considérables. En effet, ces véhicules sont de plus en plus utilisés dans l’industrie comme
moyens de transport ou d’inspection. Ils sont utilisés dans le domaine civil pour venir en
aide à certaines personnes handicapés [29]. Ils sont aussi particulièrement adaptés à des
interventions en environnement hostile (exemples : nucléaire, sous marin , espace) [30].
En robotique l’utilisation de la théorie des sous ensembles flous est très répandue [31],
[32], [33], [?]. Le domaine d’application qui nous concerne est la navigation d’un robot
mobile à roue. L’objectif est de donner plus d’autonomie à un robot mobile pour arriver
à destination.
Par ailleurs, la navigation autonome d’un robot mobile consiste à trouver une trajec-
toire permettant d’aller d’une position initiale à une position finale désirée tout en évitant
d’éventuels obstacles. Les robots mobiles, connaissant leur position, se déplacent d’un
point à un autre avec diverses contraintes. Dans certains cas, seule l’atteinte d’un point
final est importante, sans se préoccuper du trajet. Dans d’autres cas le trajet parcouru
est important tout comme sa dépendance du temps. Les techniques les plus employées
pour la navigation des robots mobiles utilisent un ou plusieurs contrôleurs flous [34], [35],
[36], neuro-flous [37] etc. On peut trouver par exemple un contrôleur qui permet au robot
d’atteindre son objectif, un autre qui lui permet d’éviter un obstacle s’il se trouve sur son
chemin. La majeure partie de ces contrôleurs est seulement validée par des simulations
ou quelques fois sur des robots mobiles. Dans ce chapitre, un contrôleur basé sur la lo-
gique floue est synthétisé en simulation en utilisant le modèle cinématique. L’optimisation
de ces contrôleurs est rarement étudiée. L’apport de notre étude est l’optimisation d’un
contrôleur flou par une méthode classique basée sur l’algorithme du gradient. Enfin l’im-
plémentation de ce contrôleur sur différents types de robots mobiles a été réalisée pour
vérifier et comparer les résultats trouvés en simulation.
Une interface de supervision et de commande a été développée pour simuler et expéri-
menter l’algorithme de commande.
Le premier robot mobile étudié est le Khepera II : c’est une plateforme unicycle à
roues différentielles dont le modèle cinématique est décrit dans le premier chapitre. Le
robot est appelé à atteindre un point objectif à partir d’une position donnée comme le
montre la figure II.1. La distance d et l’angle ϕ sont exprimés par les relations suivantes :
II.2. Synthèse du contrôleur flou pour un robot unicycle : Khepera II 30
Y
Objectif
yo
θo
d
X1
Y1 ϕ
θ
y
o1
L
o x xo X
p
d = (xo − x)2 + (yo − y)2 (II.1)
ϕ = θo − θ (II.2)
avec :
(yo − y)
θo = arctan (II.3)
(xo − x)
où :
– d est la distance entre la position du robot et le point objectif
– ϕ est la différence entre l’angle θo de l’objectif et l’angle θ du robot.
De point de vue automatique notre système de commande possède deux entrées et
trois sorties : les entrées sont xo et yo qui sont les coordonnées d’un point objectif et les
trois sorties x, y et θ qui sont les coordonnées du robot mobile définies dans un repère de
réference. Le schéma de commande est donné par la figure II.2.
Le contrôleur flou a deux entrées : la distance d et l’angle ϕ. Les sorties sont les vitesses
Vd et Vg à appliquer respectivement sur les arbres des deux moteurs droite et gauche. Les
grandeurs d’entrées et de sorties du contrôleur flou sont déjà définies. On va étudier les
différents constituants d’un contrôleur flou à savoir le choix des fonctions d’appartenance,
la partition floue des variables d’entrées, l’élaboration d’une base de règles et le choix
d’une méthode de défuzzification.
II.2. Synthèse du contrôleur flou pour un robot unicycle : Khepera II 31
Méthodes d’Optimisation
xo
x
yo Calcul de la d Base des règles Vd Robot y
Trajectoire ϕ Vg Mobile
θ
Fuzzification Inférence Floue
FLC
Fig. II.2 – Schéma de commande d’un robot mobile Khepera II par un contrôleur flou
optimisé.
· µ ¶ ¸
x−a c−x
Triangle(x, a, b, c) = max min , ,0 (II.4)
b−a c−b
Les fonctions d’appartenances de type gaussienne (figure II.4) sont caractérisées par deux
paramètres a et σ avec a le centre et σ la largeur de la gaussienne. L’équation de la
fonction gaussienne est définie par l’équation II.5.
µ µ ¶2 ¶
x−a
Gauss(x, a, σ) = exp − (II.5)
σ
Pour faire le choix entre ces deux types de fonctions on a mené des simulations sous
Matlab. Cette étape consiste à spécifier le domaine de variation des variables d’entrées
(d et ϕ) : l’univers de discours, que l’on divise en intervalles (sous ensembles flous ou
valeurs linguistiques). Cette répartition, qui consiste à fixer le nombre de ces valeurs et
les distribuer sur le domaine, est en faite basée sur la connaissance du système et selon la
précision désirée.
II.2. Synthèse du contrôleur flou pour un robot unicycle : Khepera II 32
µ
d
TP
µij(xj)
P M G TG
1 1
0.8
0.8
0.6
0.6 2σ
0.4
0.4
0.2
0.2
Xj
0
0 100 200 300 400 500 600 700 800
d (mm) a
0
0 100 200 300 400 500 600 700
µd µd
TP P M G TG
TP P M G TG
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
d(mm)
d (mm)
0 0
0 100 200 300 400 500 600 700 0 100 200 300 400 500 600 700
µ
1
0.9
NG Z PM
0.8
NM NP PP PG
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
−100 −80 −60 −40 −20 0 20 40 60 80 100
1
µ
0.9
0.8
NG NM NP Z PP PM PG
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
−90 −80 −60 −40 −20 0 20 40 60 80 90
Pour choisir le meilleur type des deux fonctions d’appartenance une simulation sous Mat-
lab 7 a été effectuée. D’après la figure II.9, on remarque que les deux types de fonctions
donnent des résultats très semblables. Mais les fonctions d’appartenance de type gaus-
siennes donnent des trajectoires légèrement meilleures que celles obtenues avec le type
triangulaire, résultant une distance parcourue légèrement plus faible.
160
140
120
100
Y(mm)
80
60
40
Fig. II.9 – Trajectoire avec les fonctions gaussiennes (trait continu), trajectoire avec les
fonctions triangulaires (trait discontinu) .
II.2. Synthèse du contrôleur flou pour un robot unicycle : Khepera II 34
Cette étape concerne l’élaboration des règles, pour définir le comportement attendu
du robot selon ses paramètres internes qui se présentent par les valeurs des encodeurs.
Pour chacune des combinaisons des valeurs des variables d’entrées d et ϕ, une action sur
les variables de sorties lui est associée. Ces règles sont de type :
Tab. II.1 – Tableau d’inférence linguistique pour rejoindre l’objectif : cas du Khepera II.
ϕ
Vg & Vd NG NM NP Z PP PM PG
Vg Vd Vg Vd Vg Vd Vg Vd Vg Vd Vg Vd Vg Vd
TP G P M P P Z Z Z Z P P M P G
P TG M G P M P P P P M P G M TG
d M TG G TG M G P M M P G M TG G TG
G TG G TG G TG M G G M TG G TG G TG
TG TG G TG G TG G TG TG G TG G TG G TG
Une fois la mise en place des fonctions d’appartenance et l’établissement des règles
définissant le comportement du régulateur ont été effectués, on passe à la sélection d’une
méthode de défuzzification. C’est cette étape qui permet de transformer les valeurs de
commande du domaine flou vers le domaine réel (variables physiques). Ce choix est gé-
néralement conditionné par un compromis entre facilité d’implémentation et performance
de calcul. Dans ce travail nous avons utilisé la méthode de Sugeno d’ordre 0 [34],[38]. Les
vitesses sont données par les relations II.6 et II.7 (αi et βi sont les degrés d’activation de
la règle i).
Pr
αi yi
i=1
Vd = P r (II.6)
αi
i=1
II.2. Synthèse du contrôleur flou pour un robot unicycle : Khepera II 35
r
P
βi zi
i=1
Vg = Pr (II.7)
βi
i=1
Z P M G TG
1
0.8
0.6
0.4
0.2
Vd ,Vg (mm/s)
0
0 0.8 16 50 60 80 100 120 150
Nous avons utilisé la méthode du gradient pour l’optimisation des valeurs du tableau
d’inférence II.1, avec les valeurs des variables linguistiques de la figure II.10. Pour réduire
la distance de la trajectoire parcourue, on a choisi de minimiser le critère J :
1
Z
J= (xo − x)2 + (yo − y)2 dt (II.8)
2
J exprime la distance entre la position courante du robot et la position désirée. L’ajuste-
ment des conclusions de la table d’inférence est réalisée en utilisant les équations suivantes :
∂J
yi(k) = yi(k−1) − ε ∂y
i
(II.9)
zi(k) = zi(k−1) − ε
∂J
∂zi
En calculant les dérivées partielles on a :
∂J Vd + Vg αi
= T2 [(x − xo ) sin α − (y − yo ) cos θ]
r
∂yi 2L P
αi
∂J
i=1
(II.10)
2 Vd + Vg βi
= T r [−(x − x o ) sin α + (y − y o ) cos θ]
∂zi 2L P
βi
i=1
II.2. Synthèse du contrôleur flou pour un robot unicycle : Khepera II 36
Avant de tester les performances du contrôleur flou sur le robot Khepera II, une si-
mulation sous Matlab a été effectuée. L’ajustement des conclusions par l’algorithme du
gradient a été faite en simulation. La période d’échantillonnage T est égale à 0, 1s. Alors
que le pas d’itération ε est de 0, 5. Dans ces simulations, plusieurs configurations de la
cible et de l’angle d’orientation de départ du robot étaient considérées. Les meilleures
performances sont obtenues dans le cas ou l’orientation du robot par apport à la cible est
la plus grande. Plusieurs tests, pour différentes configurations de l’orientation initiale et
de la position désirée ont été effectués. Dans ces simulations, on s’est rapproché le plus
possible des conditions des expériences pour pouvoir comparer et analyser les résultats.
Pour cela on a considéré que le robot part toujours du même point (origine) de coor-
données (0,0) mais avec différentes orientations. La figure II.11 donne le résultat de la
simulation de plusieurs trajectoires du robot mobile partant d’un même point initial mais
pour différents points d’arrivées.
350 110
Cible(0,300) Vitesse droite (V )
Cible(300,300) d
300 100
90
250
80
200
70
Vd &Vg (mm/s)
Y (mm)
Vitesse gauche(Vg)
150
60
100 50
Cible(300,0)
50 40
30
0
Origine(0,0)
20
−50
−50 0 50 100 150 200 250 300 350
10
X (mm) 0 200 400 600 800 1000 1200 1400
Itérations
On remarque que le robot n’est pas dirigé vers son objectif, il y a deux cas de figures :
4.5
3.5
2.5
1.5
0.5
0
0 100 200 300 400 500 600 700 800 900
Itérations
Les expériences ont été réalisées avec le robot Khepera II [39]. La figure II.14 montre
l’environnement expérimental du robot Khepera II. L’espace de navigation du robot est de
dimension 600 mm × 600 mm. La seule précaution qu’il faut prendre lors de la commande
du robot en temps réel c’est qu’avant d’envoyer une deuxième commande de vitesse,
s’assurer que les vitesses des roues ont atteint la première commande. La figure II.15
montre un résultat expérimental obtenu pour un point objectif défini par les coordonnées
II.3. Synthèse du contrôleur flou pour un robot unicycle : fauteuil roulant 38
(xo = 0 et yo = 300 mm). La position unitiale du robot est définie par les coordonnées
(x = 300 mm et y = 300 mm). La courbe bleue représente une trajectoire réelle du robot
non optimisée. Les courbes vertes et noires représentent respectivement les résultats de
simulation et les résultats expérimentaux obtenus en utilisant le contrôleur flou optimisé.
500
480
460
440
420
400
Y(mm)
380
360
340
320
300
280
0 50 100 150 200 250 300 350 400
Point d’arrivé X(mm)
Point de départ
utilisées pour le fauteuil roulant. Dans cette partie, nous allons décrire les paramètres
modifiés à savoir les fonctions d’appartenances et la base de règles floues.
La partition floue des variables d’entrées consiste à spécifier les domaines de variations
de ces variables (d et ϕ).
– La variable d varie de zéro à 19 000 mm, car l’espace de navigation du fauteuil roulant
est un laboratoire de dimension 14 m de côté. On lui a associé cinq sous-ensembles :
TP : Très Petite, P : Petite, M : Moyenne, G : Grande, TG : Très Grande. Les
fonctions d’appartenance objet de l’étude sont de type gaussiennes (figure II.16).
µ
d
TP P M G TG
1
0.8
0.6
0.4
0.2
d(mm)
0
0 2000 4000 6000 8000 10000 12000 14000 16000 18000
µ
NG NM NP Z PP PM PG
1
0.8
0.6
0.4
0.2
φ°
0
−150 −100 −50 0 50 100 150
L’ensemble des règles floues générées en se basant sur une relation « situation/action »,
est résumé dans le tableau II.2. Ce tableau est construit à la suite de plusieurs simulations
et expérimentations sur le fauteuil roulant pour handicapés.
Tab. II.2 – Tableau des inférences linguistiques pour rejoindre l’objectif : cas du fauteuil.
ϕ
Vg & Vd NG NM NP Z PP PM PG
Vg Vd Vg Vd Vg Vd Vg Vd Vg Vd Vg Vd Vg Vd
TP G P M P P Z Z Z Z P P M P G
P TG M G P M P P P P M P G M TG
d M TG G TG M G P M M P G M TG G TG
G TG G TG G TG M G G M TG G G G TG
TG TG G TG G TG TG G TG G TG G TG G TG
Après des tests de simulation avec le fauteuil roulant, on a attribué des valeurs nu-
mériques aux variables linguistiques de sortie qui sont les vitesses droites et gauches (Vd
et Vg ) présentées dans la figure II.18. Les sous-ensembles flous utilisés sont en nombre de
cinq : Z : Zéro, P : Petite, M : Moyenne, G : Grande, TG : Très Grande.
Z P M G TG
1
0.8
0.6
0.4
0.2
V ,V (mm/s)
g d
0
0 50 100 150 200 250 300 350 400 450 500
Ensuite, nous avons appliqué la méthode d’optimisation avec le gradient afin de mini-
miser la distance parcourue par le robot. Le principe de cette méthode d’optimisation est
le même que celui appliqué sur le robot Khepera II. Ce principe a été déjà décrit dans la
section précédente de ce chapitre.
450
Trajectoire de simulation
Trajectoire réelle
400
350
300
250
Y(mm)
200
150
Point d’arrivée
100
Point de départ
50
−50
0 500 1000 1500 2000 2500 3000 3500 4000 4500
X(mm)
Fig. II.19 – Trajectoire optimisée parcourue par le fauteuil roulant (la trajectoire est celle
du centre d’essieu)
le robot nécessite un certain temps pour atteindre la vitesse de début ce qui engendrera
un retard sur toutes les positions obtenues.
250
Vitesse réelle
Vitesse théorique
200
150
mm/s
100
50
0
0 50 100 150 200 250
Episode
θo
Y1
dϕ
X1
ϕ1
θ
y
o1
ϕ2 ϕ3
X
O x xo
Le contrôleur flou a deux entrées : la distance d et l’angle ϕ. Les sorties sont les vitesses
des essieux ϕ1 , ϕ2 et ϕ3 à appliquer respectivement sur les trois essieux du robot. Dans
cette partie, nous allons décrire les paramètres modifiés à savoir les entrées et les sorties
du contrôleur flou, les fonctions d’appartenances et la base de règles floues.
La partition floue des variables d’entrées consiste à spécifier les domaines de variations
de ces variables (d et ϕ).
– La variable d varie de zéro à 19 000 mm, car l’espace de navigation du ROMNI est
un laboratoire de dimension 14 m de côté. On lui a associé cinq sous-ensembles :
TP : Très Petite, P : Petite, M : Moyenne, G : Grande, TG : Très Grande. Les
fonctions d’appartenance objet de l’étude sont de type gaussiennes comme illustré
dans la figure II.22.
µ
d
TP P M G
1 TG
0.8
0.6
0.4
0.2
d(mm)
0
0 2000 4000 6000 8000 10000 12000 14000 16000
Z PP PM PG PTG
1
0.8
0.6
0.4
0.2
0
0 20 40 60 80 100 120 140 160 180
Pour pouvoir déterminer la base de règles floues, nous avons considéré trois cas de
figure pour la navigation du ROMNI (en se basant sur le modèle cinématique inverse
(MCI)) (Thèse Mourioux 2006 [3]) :
Tab. II.3 – Tableau des inférences linguistiques pour rejoindre l’objectif : cas du ROMNI.
ϕ
ϕ1 & ϕ2 & ϕ3 PTG PG PM PP Z
ϕ1 ϕ2 ϕ3 ϕ1 ϕ2 ϕ3 ϕ1 ϕ2 ϕ3 ϕ1 ϕ2 ϕ3 ϕ1 ϕ2 ϕ3
TP Z NP PP NG Z PP NG PP PP NP PP Z Z PP NP
P Z NP PP NG Z PP NG PP PP NP PP Z Z PP NP
d M Z NP PP NG Z PP NG PP PP NP PP Z Z PP NP
G Z NG PG NG Z PG NG PG PG NG PG Z Z PG NG
TG Z NG PG NG Z PG NG PG PG NG PG Z Z PG NG
Après plusieurs tests en simulation avec le ROMNI, on a attribué des valeurs numé-
riques aux variables linguistiques ϕ1 , ϕ2 et ϕ3 comme présenté dans la figure II.25.
µ
NG NP Z PP PG
1
0.8
0.6
0.4
0.2
0
−300 −200 −100 0 100 200 300
– Experience 1 : Dans le premier exemple, nous avons considéré un point initial dé-
fini par les coordonnées (x = 4 000 mm, y = 4 000 mm et θ = 0). Le point objectif
II.4. Synthèse du contrôleur flou pour un robot omnidirectionnel : ROMNI 46
est défini par les coordonnées xo = 8 700 mm et yo = 4 000 mm. Ainsi, l’objectif se
trouve devant le robot avec ϕ = 0.
Dans une telle situation, les vitesses générées par le contrôleur flou doivent vérifier
~ avec une vitesse
l’équation II.11 lui permettant de se déplacer en translation selon X
ẋ. Les figures II.25 et II.26 montrent respectivement la position et les vitesses du
robot. Nous remarquons que les résultats de simulation vérifient bien la notion de
déplacement latéral vu que ϕ1 ≃ 0 et ϕ2 ≃ −ϕ3 .
8000
100
Vitesse1
7000 Vitesse2
Position du Robot 80
Vitesse3
6000 60
5000 40
Vitesse (mm/s)
Position−Y (mm)
20
4000
0
3000
Point d’arrivée −20
Point de départ
2000
−40
1000
−60
0 −80
−1000 −100
3000 4000 5000 6000 7000 8000 9000 10000 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
Position−X (mm) Temps(s)
Fig. II.25 – Position du robot avec ϕ = Fig. II.26 – Variation des vitesses pour
0. ϕ = 0.
– Experience 2 : Dans cet exemple le point initial est définit par les coordonnées
(x = 4 000 mm, y = 4 000 mm et θ = 0) alors que le point objectif est défini par
les coordonnées xo = 4 000 mm et yo = 8 000 mm. En résultat, l’objectif se trouve
à droite du robot avec ϕ = 90◦ .
Ainsi, les vitesses à appliquer aux essieux doivent vérifier l’équation II.12 lui per-
mettant de se déplacer en translation selon Y~ avec une vitesse ẏ. Les figures II.27
et II.28 montrent respectivement la position et les vitesses du robot. Les vitesses
obtenues en simulation sont : ϕ1 ≃ −200 mm/s et ϕ2 ≃ ϕ3 ≃ 100 mm/s. Ces valeurs
vérifient les valeurs théoriques déduites à partir de l’équation II.12.
– Experience 3 : Dans cet exemple le point initial est défini par les coordonnées
(x = 13 000 mm, y = 2 000 mm et θ = 0) alors que le point objectif est défini
par les coordonnées xo = 1 000 mm et yo = 2 000 mm. Nous remarquons que
l’objectif se trouve à gauche du robot avec ϕ = 180◦ . Ainsi, le robot doit se déplacer
II.4. Synthèse du contrôleur flou pour un robot omnidirectionnel : ROMNI 47
10000 100
Vitesse1
Vitesse2
Position du robot Vitesse3
9000
50
Point d’arrivée
8000
0
Position−Y (mm)
Vitesse (mm/s)
7000
−50
6000
−100
5000
Point de départ
−150
4000
3000 −200
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Position−X (mm) Temps(s)
Fig. II.27 – Position du robot avec ϕ = Fig. II.28 – Variation des vitesses pour
90◦ . ϕ = 90◦ .
en translation selon ~x avec une vitesse ẏ tout en respactant l’équation II.13. Les
figures II.29 et II.30 montrent respectivement la position et les vitesses du robot.
Les vitesses obtenues sont : ϕ1 ≃ 0 mm/s et ϕ2 ≃ −100 mm/s et ϕ3 ≃ 100 mm/s.
Les vitesses générées permettent au robot d’atteindre le point objectif avec le moins
de manoeuvres possibles.
8000 200
Vitesse1
7000 Position du robot
Vitesse2
150 Vitesse3
6000
4000 50
Position−Y (mm)
Vitesse (mm/s)
3000
0
2000
1000 −50
0
−100
−1000
−150
−2000
−3000 −200
0 2000 4000 6000 8000 10000 12000 14000 0 0.5 1 1.5 2 2.5 3 3.5
Position−X(mm) Temps(s)
Fig. II.29 – Position du robot avec ϕ = Fig. II.30 – Variation des vitesses pour
180◦ . ϕ = 180◦ .
II.5. Conclusion 48
II.5 Conclusion
Dans ce chapitre nous avons présenté une méthode de synthèse d’un contrôleur flou
pour la commande de deux types de robots mobiles à roues : deux robots unicycles et
un robot omnidirectionnel. Ce contrôleur est testé par une simulation sous Matlab. Une
implémentation de ce contrôleur sur le mini robot mobile Khepera II et sur le fauteuil
roulant a validé les résultats de la simulation.
En revanche, les résultats expérimentaux montrent l’influence de la masse du robot
sur la robustesse de ce type de commande, essentiellement pour de longues trajectoires.
Ainsi, l’application du contôleur flou sur le robot Khepera (de masse faible) donne des
erreurs de précision moins importantes que celles obtenues pour le cas du fauteuil roulant
(de masse élevée). Par ailleurs, une comparaison des résultats de simulation obtenus pour
les deux types de robots (unicycle et omnidirectionnel) montre aussi l’impact de la forme
sur la rapidité du contrôleur proposé. En effet, les réponses de vitesses procurées pour
le cas du ROMNI sont plus rapides que celles des deux robots unicycles, essentiellement
pour des trajectoires qui présentent un changement de direction.
Ce contrôleur accompagné avec une localisation relative basée sur les mesures odomé-
triques nous a permis d’aboutir à des résultats d’autonomie de commande satisfaisants.
Cependant, la préçision des mesures de localisation paraît entachée d’erreurs, essentielle-
ment lorsque le robot doit parcourir de longues trajectoires.
Pour remédier à ce problème, nous avons choisi de corriger les mesures proprioceptives
par des données extéroceptives provenant d’une Webcam placée sur un plan parallèle au
plan de navigation du robot. Ce concept permettant d’assurer une certaine autonomie de
décision, sera présenté en détails dans le chapitre suivant.
Chapitre III
Résumé
Ce chapitre est consacré à l’étude d’une méthode de localisation absolue qui se base sur
des données images. Un système de localisation absolue est indispensable, étant donné que
le système de localisation relative, basé dans notre cas sur les encodeurs, ne permet pas à
lui seul de localiser avec précision le robot mobile. Le système de localisation absolue va
nous permettre de préciser automatiquement la position et l’orientation de départ du robot
mobile et également d’avoir un système de recalage pour les mesures des encodeurs. Dans
ce même contexte, il faut peut être rappeler que le système odométrique détermine les
positions courantes du robot mobile à partir d’une position et d’une orientation initiales.
La méthode ainsi développée ne permet pas de localiser en temps réel le robot mobile.
Cela est résolu par l’application d’un algorithme qui ne traite que la partie utile dans une
image. Cette partie correspond à la zone de déplacement du robot.
Mots Clés
Localisation absolue, Robot mobile, Khepera II, Navigation d’un robot, Webcam.
III.1 Introduction
49
III.1. Introduction 50
Pour pouvoir effectuer de longs trajets, le robot ne peut pas compter sur la seule in-
tégration de son déplacement pour estimer sa position : il doit pouvoir se localiser dans
un repère lié à son environnement. Cette tâche est réalisée par l’utilisation d’une caméra
de type webcam placée au dessus de l’environnement de déplacement du robot mobile.
L’image acquise se trouve dans un plan parallèle au plan de navigation du robot. Ces deux
plans sont distants d’une distance (d). On peut dire que le principe de cette localisation
par caméra peut être décrit par quatre étapes [45], [46].
De 1964 à 1968, G. Matheron et Jean Serra ont développé à l’Ecole des Mines de Paris,
une nouvelle discipline : la Morphologie Mathématique [47], [48]. Cette nouvelle théorie
porte sur la caractérisation mathématique des formes qui est un des volets indispensables
du traitement d’image. Cette discipline a été initialement conçue pour des images binaires,
ensuite elle a été étendue aux images en niveaux de gris. La morphologie mathématique
traite les signaux en se basant sur une approche géométrique ce qui la ressemble à une
méthode de traitement de signal 2D [49]. Ce type de traitement met en oeuvre certaines
caractérisations d’images, notamment les formes et les contours plutôt que d’autres carac-
téristiques d’une image, comme les variations d’intensité par exemple. Dans le domaine de
traitement d’images, la morphologie mathématique est principalement utilisée dans cinq
volets :
III.2. Localisation absolue par une caméra 52
– l’extraction d’attributs
– la reconnaissance et la détection d’objets ou de contours
– l’organisation spatiale ou volumique d’objets
– la compression
– la télédétection
Les opérations de morphologie mathématique travaillent sur le voisinage d’un point, ap-
pelé élément structurant. Celui-ci agit en fait comme une sonde qui se déplace sur l’image
afin d’analyser les caractéristiques incluses dans le voisinage qu’il définit [49]. L’élément
structurant est défini par un ensemble de paramètres que sont : la taille, la forme, la
connexité et l’origine. L’origine de l’élément structurant correspond au pixel de l’image
que l’on traite. Différentes opérations de morphologie mathématique utilisant l’élément
structurant existent en littérature. Dans ce mémoire nous avons utilisé les opérations sui-
vantes :
L’image de référence est une image du plan de navigation du robot contenant quatre
amers qui seront utilisés par la suite pour localiser le robot. L’acquisition de cette image
doit être précédée par les deux étapes suivantes :
– Placer quatre étiquettes de couleur noire au quatre coins de l’espace de déplacement
du robot. Ces quatre étiquettes vont jouer le rôle des amers.
– Mettre au point l’image de référence en jouant sur l’emplacement des quatre éti-
quettes de telle façon qu’elles soient complètement visible dans cette image (tout en
tenant compte de la dilatation de l’image).
III.2. Localisation absolue par une caméra 53
Le niveau de gris d’une image est simplement conçu pour avoir des couleurs qui sont
toutes exprimées en gris. En effet, le "gris" est une couleur dans laquelle les composantes :
rouge, vert et bleue ont toutes la même intensité dans l’espace RGB (Rouge, Vert et bleu).
La méthode la plus simple qui permet la conversion de l’image en couleur à une autre en
niveau de gris est de calculer la luminance d’un pixel en appliquant l’équation suivante :
Les figures III.1 et III.2 montrent respectivement l’image de référence avant et après
détermination du niveau de gris sachant que la taille de cette image est de 640*480 pixels.
Fig. III.1 – Image de référence conte- Fig. III.2 – Image de référence après bi-
nant les 4 étiquettes avant traitement. narisation.
Les figures III.3 et III.4 montrent l’image en entrée et celle en sortie après l’application
du filtrage « Sobel ».
Fig. III.3 – Image de référence en entrée. Fig. III.4 – Image de référence après dé-
tection de bords avec le filtre « Sobel ».
sur ce point permet d’obtenir un nouveau niveau de gris noté g(i, j) comme suit :
Les figures III.5 et III.6 montrent l’image en entrée et celle en sortie après l’utilisation du
seuillage à deux niveaux.
Fig. III.5 – Image de référence en entrée. Fig. III.6 – Image de référence après
seuillage.
La figure III.7 montre le résultat obtenu après application de l’érosion sur l’image de ré-
férence. L’élément structurant choisi dans cette partie est (0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1,
0, 1, 1, 1, 0, 0, 0, 1, 0, 0). C’est un disque de rayon 5 et ceci dans le but de garder la forme
circulaire du robot.
en implémentant cet algorithme sur une image de navigation du robot dans le but de le
localiser au cours de son déplacement.
III.2. Localisation absolue par une caméra 57
Fig. III.9 – Une image qui localise le robot après application du TCH
La méthode est basée sur la mesure de l’emplacement d’une étiquette blanche disposée
sur la partie supérieure du robot. Celle-ci est collée sur l’axe des abscisses d’un repère
attaché au robot comme le montre les figures III.10 et III.11.
Y
Y1 Etiquette blanche
X1
ye
θ
y
o1
X
O x xe
Fig. III.10 – Positionnement d’une étiquette blanche sur l’axe des abscisses
(ye − y)
θ = arctg (III.4)
(xe − x)
avec (x, y) les coordonnées du robot et (xe , ye ) les coordonnées de l’étiquette dans le repère
de référence comme le montre la figure III.12.
III.2. Localisation absolue par une caméra 58
Fig. III.11 – Image réelle du robot avec Fig. III.12 – Image binaire montrant les
l’étiquette blanche. centres de gravité du robot et de l’éti-
quette.
faut diminuer le temps de traitement des images. La solution était de faire le traitement
uniquement sur une partie de l’image contenant l’image du robot.
∆X
Image du Robot ∆Y
dans l”image i+1
Image du Robot
dans l”image i
(a) Première image : 640×480 pixels (b) 1ère zone de l’image (c) 2ème zone de l’image traitée :
traitée : 240× 240 pixels 240×240 pixels
La figure III.13 contient trois images. La première image notée (a) est une image binaire
de taille 640 × 480 pixels correspondant à la première image acquise par la caméra. C’est
à partir de cette image qu’on détermine le centre de gravité de la zone représentant le
robot, qui sera utilisée dans le traitement de la suite des images. Les deux autres images
notées (b) et (c) sont de taille 240×240 pixels. A noter que pour la lisibilité de la troisième
image III.13 (c), on l’a agrandie et on a enlevé le fond noir.
Il faut préciser à ce niveau que pendant l’acquisition et le traitement de la première
image le robot est immobile. Ensuite, on détermine la position et l’orientation du robot
en se basant sur les positions des deux centres de gravité : le premier centre de gravité est
celui de la surface du robot et le second est celui de l’étiquette blanche. Ces paramètres
(position et orientation du centre de gravité du robot) vont nous permettre dans la suite
des images acquises de traiter seulement une zone autour de ce centre de gravité.
L’architecture de l’algorithme d’optimisation du temps de traitement des images est
présentée dans la figure III.14. Pour les expériences menées et connaissant la vitesse de
déplacement du robot, on a pu fixer la taille de la zone à 240 × 240 pixels. Avec cette taille
on est sûr de trouver le robot dans cette zone quelle que soit sa vitesse de déplacement.
Cette architecture est composée de huit étapes. Les quatre premières étapes corres-
pondent à l’acquisition de la première image, l’estimation de la position du robot en pixels
(notée XR et YR ) la détermination des paramètres de la zone rectangulaire. Les quatre
III.2. Localisation absolue par une caméra 60
K=0 (Etape1)
Non
Si acquisition de
l’image
Oui
K=K+1 (Etape 2)
Calcul de
CroppRectangle (K) (Etape 4)
∆X(K) = XRcrop (K) − 120 (Etape 6)
∆Y (K) = YRcrop (K) − 120
Calcul de
CroppRectangle (K) (Etape 8)
Image
Image
Acquise Traitement Détection de
Morphologique Etiquetage contour
binaire
Ségmentation
Propriétés
Région
L’environnement des expériences est illustré par la figure III.16. La webcam est connec-
tée au PC via un port USB. Il faut signaler que nous avons utilisé la localisation par
webcam pour déterminer la position de départ du robot nécessaire pour le système de
mesure odométrique.
La figure III.19 montre une seconde trajectoire pour laquelle les coordonnées du point
de départ sont (x = 50 mm, y = 50 mm) et les coordonnées du point d’arrivée sont
(xo = 50 mm, yo = 350 mm). Dans cette figure on voit que le point d’arrivée déterminé
par le système odométrique (le point noir) est différent de celui déterminé par le système à
base de la caméra (le point rouge). En comparant ces deux points dans le repère tracé sur
la maquette, on constate que les coordonnées du point d’arrivée fournies par le système
de la caméra coïncide avec le repère de la maquette. On a noté qu’il y a une différence
entre les deux points de 2, 8 cm selon l’axe des x et 0, 3 cm selon l’axe des y.
III.3. Résultats Expérimentaux 63
400
Position finale du robot avec
les mesures des encodeurs
350
300
200
150
100
Origine
50
0
0 50 100 150
X (mm)
Fig. III.19 – Comparaison des coordonnées du point d’arrivée par les 2 méthodes de
localisation
200 20
Webcam measures
Encoders measures
180 18
160 16
140 14
120 12
VL & VR(mm/sec)
V &V
R L
Y (mm)
100 10
80 8
60 6
40 4
20 2
0 0
40 50 60 70 80 90 100 110 120 0 5 10 15 20 25 30 35 40 45
X (mm) Temps (sec)
160 80
140 70
VL & VR
VR & VL (mm/sec)
120 60
Y (mm)
100 50
80 40
60 30
Position de départ
40 20
20 10
0 0
0 50 100 150 200 250 300 350 400 450 500 0 10 20 30 40 50 60
X (mm) Temps(sec)
Fig. III.22 – Localisation du Robot Fig. III.23 – Vitesse des roues droite et
(longue trajectoire). gauche.
140
500
Mesures des encodeurs 120
Mesures par Webcam
450
V
R
100
400
Point Objectif
350 80
VL & VR (mm/sec)
300 60
Y (mm)
250
40
200
20
150
V
Point de départ L
0
100
−20
50
0 −40
0 50 100 150 200 250 300 350 400 450 500 0 20 40 60 80 100 120 140
X (mm) Itérations
Fig. III.24 – Localisation du Robot (tra- Fig. III.25 – Vitesses de commande pour
jectoire rampe). la trajectoire de la figure III.24.
III.3. Résultats Expérimentaux 65
Par contre pour de longues trajectoires, l’erreur sur la position devient très grande.
C’est le cas de l’expérience illustrée par la figure III.22. Pour quantifier les erreurs de
chaque méthode de localisation, on a relevé quatre positions (M1 , M2 , M3 et M4 ) à l’aide
d’une règle comme le montre la figure III.26. Les résultats de ces mesures sont reportés
dans le tableau III.1. On a remarqué que les valeurs réelles sont très proches des mesures
utilisant la webcam, bien plus que de celles obtenues par les encodeurs.
XRreal , YRreal
XRreal , YRreal ,
L’objectif de cette expérience est de montrer que les deux méthodes de localisation
sont complémentaires. Pour être efficace, la méthode de localisation relative basée sur les
mesures des encodeurs doit respecter ces deux conditions :
– Avoir une connaissance du point initial pour démarrer le système de localisation.
– Mettre en place un système de recalage après un parcours donné.
Ces deux éléments sont fournis par la méthode de localisation absolue basée sur la ca-
méra. L’inconvénient de cette méthode est le temps de calcul qui va limiter son utilisation
en temps réel pour des petites vitesses de déplacement du robot mobile. Par contre, elle est
indispensable pour corriger la trajectoire du robot mesurée par le système odométrique.
Les résultats de ces expériences sont présentés dans la figure. III.27. Dans cette expé-
rience, le robot doit se déplacer à partir d’un point initial de coordonnées (x = 50 mm,
III.4. Interface de commande et de supervision d’un robot mobile avec Webcam 66
y = 50 mm) pour atteindre un objectif de coordonnées (xo = 300 mm, yo = 300 mm).
Cette figure présente deux courbes : une courbe bleue qui localise le robot en utilisant les
données de la caméra, et une courbe noire déterminant la position avec les mesures odo-
métriques. Nous remarquons un décalge entre les deux types de localisation, notamment
quand le robot atteint la cible. Ainsi, nous avons considéré que le point d’arrivée calculé
par les données caméra (rectangle bleu) présente les vériatable coordonnées du robot. Ces
coordonnées sont utilisées par la suite par le contrôleur flou en tant que coordonnées d’un
nouveau point de départ. Ce dernier présente un point de recalage puisqu’il permet de
recaler la position odométrique sur la position par données caméras.
400
Mesures des encodeurs Recalage de la position Cible
Mesures par Webcam
350
300
250
Y (mm)
200
150
100
50
Position de départ
0
0 50 100 150 200 250 300 350
X (mm)
Nous avons développé une interface graphique sous Matlab qui nous permet de com-
mander le robot Khepera II en temps réel. Cette interface est représentée par la figure
III.28. Pour utiliser cette interface il faut suivre les étapes suivantes :
III.5. Conclusion 67
Fig. III.28 – Positions du robot estimées à partir des deux systèmes (odométrique et
caméra) avce un recalage du point d’arrivée
III.5 Conclusion
Le système de localisation relative utilisant des encodeurs est indispensable pour dé-
terminer la position du robot mobile en temps réel. Mais, on doit avoir recours à un
deuxième système qui permet de combler les lacunes du premier. Parmi les lacunes on
peut rappeler, la connaissance du point initial, le cumul des erreurs qui nécessite de temps
en temps un recalage... On a montré que l’utilisation d’une caméra de type webcam, qui
est un dispositif bon marché comparé avec d’autres capteurs, permet de déterminer la
position absolue du robot.
III.5. Conclusion 68
L’inconvénient de cette méthode est le temps de calcul qui est assez important, ne
permettant pas de localiser le robot en temps réel. On a pu diminuer ce temps de calcul
en effectuant le traitement uniquement sur la partie de l’image qui contient le robot.
La partie ainsi conçue, développée et implémentée a été restreinte à un environnement
non encombré. Ainsi, et pour mieux s’approcher de l’environnement réel dans lequel un
véhicule autonome doit être capable de naviguer, nous avons choisi d’étudier la partie na-
vigation dans un environnement parsemé d’obstacles. Cette étude fera l’objet du chapitre
suivant.
Chapitre IV
Résumé Ce chapitre est consacré à l’étude et la conception d’un contrôleur qui assure
la navigation des robots mobiles à roues dans un environnement encombré. Ce contrôleur
repose sur la commutation entre la partie commande (le FLC présenté dans le chapitre
II) et la partie pilotage. Cette dernière s’appuie sur l’utilisation d’une méthode d’évite-
ment réflexe des obstacles par ZDV. La commutation entre les deux parties (commande
et pilotage a été réalisée en se basant sur un second contrôleur flou. Cependant, une orga-
nisation de l’ordre de priorité d’exécution de chacune de ces parties s’avère nécessaire afin
de garantir un niveau d’autonomie important pour le robot. L’architecture choisie est de
type hybride. L’approche de navigation dans un environnement encombré ainsi proposée,
a été simulée et implémentée expérimentalement sur les deux robots mobiles : fauteuil
roulant et ROMNI. Les résultats obtenus valident cette approche.
Mots Clés Pilotage d’un Robot mobile, Evitement réflexes des obstacles, ZDV, Com-
mutateur flou, architecture hybride (générique).
IV.1 Introduction
A partir de l’étude bibliographique établie dans le premier chapitre, nous avons choisi
d’utiliser la méthode d’évitement d’obstacles par Zone de Déformation Virtuelle (ZDV)
[52]. L’objectif principal de cette stratégie est d’éviter la collision du robot avec les obs-
tacles présents dans l’environnement. Pour cela, le robot doit disposer de capteurs exté-
roceptifs (détection des obstacles) et proprioceptifs (pour la commande).
69
IV.2. Synthèse d’un évitement d’obstacles par ZDV pour le fauteuil 70
Dans ce chapitre, nous allons présenter en premier lieu une synthèse de l’algorithme
d’évitement d’obstacles pour le fauteuil roulant et le ROMNI. Par la suite, nous allons
décrire l’architecture de contrôle adoptée. Cette dernière est de type hybride. Elle assure
des actions réactives des trois parties : commande floue (chapitre II) et évitement d’obs-
tacles (chapitre IV) et un commutateur (chapitre IV). Ce commutateur a été réalisé de
deux sortes : une solution par hystérésis et une solution floue. Il assure le passage entre
la partie commande et la partie pilotage. La dernière partie de ce chapitre sera consacrée
à présenter les résultats de simulation et expérimentaux obtenus pour les deux robots
mobiles : fauteuil roulant et ROMNI.
La méthode d’évitement d’obstacles avec les zones de déformations virtuelles est une
méthode de pilotage réactif des robots mobiles. La formulation mathématique de ce contrô-
leur pour le cas du fauteuil roulant est basée sur les travaux élaborés par Zapata [22] et
Lapierre [23]. Le concept général de cette méthode est illustré par la figure IV.1. Cette
dernière montre que la détection d’une déformation au niveau de la zone virtuelle, qui
entoure le robot, engendre une modification de la commande du robot. Le calcul des nou-
velles vitesses à appliquer au robot est effectué par le contrôleur par ZDV. En résultat, le
robot va changer sa direction pour éviter l’obstacle détecté, ainsi une reconstruction de
la zone virtuelle doit être établie afin de suivre l’évolution du robot.
Déformation
e
uell
rt Déformation Controleur d’evitement
t
vi
bo
Obstacle
ro
u
n
rd
Zo
ou
a ut
Obstacle
x1
c(α)
α
Obstacle
y1
d(α) V
θ
dh(α)
y
o1
X
O x
Nous avons considéré une zone de sécurité sous forme d’ellipse afin d’obtenir une
expression polaire du ZDV dans le repère du robot comme le montre la figure IV.2.
L’expression de la zone de sécurité peut être représentée sous la forme suivante [23] :
√
−B + B 2 + 4AC
dh (α) = (IV.1)
2A
Cette zone de sécurité est fonction des variables de commande du robot (vitesses linéaire
et angulaire). Pour cela les paramètres A, B et C sont exprimés comme suit :
A = (cy cos(α − γ))2 + (cx sin(α − γ))2
B = 2.(ax cos(α − γ)c2y + (ay sin(α − γ)c2x ) (IV.2)
C = (ax cy )2 + (ay cx )2 − (c2x c2y )
Y
X1
cx
cy
Y1 ax
V
θ
y
o1
L
X
O x
Fig. IV.3 – Zone de sécurité sous forme d’ellipse non déformée [23].
des vitesses que nous envoyons au fauteuil. Les points en noir présentent les obstacles
détectés durant 5 minutes de test à vide. Le résultat montre que les obstacles se situent
à gauche du robot.
90
1500
120 60
1000
150 30
500
180 0
210 330
240 300
270
IV.2.3 Déformation
Le choix d’une expression variable pour l’information d’intrusion est très important
dans la conception de la réaction du système de pilotage. L’intrusion n’est pas simplement
la position d’un obstacle dans la zone de sécurité (l’ellipse), mais elle présente la somme des
distances entre le robot et l’obstacle quand celui-ci se trouve à l’intérieur de l’ellipse. Cette
somme présente la déformation de la zone de sécurité. Considérons par I l’expression de
l’information d’intrusion. Nous remarquons que pour une distance robot/obstacle nulle,
l’intrusion tend vers l’infini. Ainsi un contrôle qui assure une intrusion bornée permettra
au système d’éviter tous les obstacles [23].
Z π
dh (α, V) − d(α)
I = dα (IV.5)
α=0 d(α)
Ainsi, nous sommes arrivés à déduire le système de pilotage du fauteuil qui est décrit par
le système d’équations (IV.12) [23] (avec KV et Kω sont des gains positifs qui donnent
V̇I ≤ 0 ∀t).
Rob.vel
V̇ = −KV JIV I − F
V
JIV (IV.12)
θ
ω = −Kω JI I
Après avoir élaboré le contrôleur d’évitement d’obstacles pour le fauteuil, notre contribu-
tion consiste à étendre cette étude pour le cas du ROMNI.
IV.3. Synthèse d’un évitement d’obstacles par ZDV pour le ROMNI 75
Dans cette partie nous allons présenter les principales modifications à apporter sur
le contrôleur par ZDV présenté dans la section précédente pour le cas du ROMNI. Les
modifications se situent essentiellement au niveau de :
– la forme de la zone de sécurité
– le système d’équations décrivant cette zone de sécurité
– le système de pilotage final
En effet, ROMNI est un robot à trois degrés de mobilités, ce qui implique des formulation
différentes de la ZDV et de l’intrusion.
La figure IV.5 illustre le principe de la méthode ZVD appliquée pour le cas du robot
ROMNI et dans laquelle nous avons utilisé une zone de sécurité de forme circulaire. Le
choix de cette forme est justifié par les caractéristiques cinématiques du ROMNI qui font
que pour n’importe quelle situation par rapport à un obstacle (situation coin, suivi de
mur, couloir ou porte), il est capable de faire des déplacements latéraux dans toutes les
directions, quelle que soit l’orientation. Il s’agit d’un robot avec trois degrés de mobilité,
alors que les robots de type voiture n’ont qu’un degré de mobilité et les robots de type
unicycle ont deux degrés de mobilité.
Ainsi, ce robot n’a pas besoin d’une zone de sécurité large au devant (pour faire les
manœuvres comme pour le cas du fauteuil) et une autre moins réduite sur les côtés mais
par contre toutes les situations de déformations (devant, côté droite ou côté gauche) ont
le même poids vis à vis de la réaction du système en lui même.
L’expression de la zone de sécurité de forme circulaire peut être représentée sous la
forme mathématique suivante :
√
−B + B 2 + 4AC
dh (α) = (IV.13)
2A
IV.3. Synthèse d’un évitement d’obstacles par ZDV pour le ROMNI 76
Obstacle
Xr
c( α)
α
Obstacle
Yr d (α)
ϕ̇1
θ
y dh(α)
Or
Robot omnidirectionel
ZDV circulaire
O X
x
avec :
A = (cy1 cos(α − γ))2 + (cx1 sin(α − γ))2 + (cy2 cos(α − γ))2
+(cx2 sin(α − γ))2 + (cy3 cos(α − γ))2 + (cx3 sin(α − γ))2
B = 2.(a cos(α − γ)c2 + (a sin(α − γ)c2 ) + 2.(a cos(α − γ)c2
x1 y1 y1 x1 x2 y2
2 2 2
(IV.14)
+(ay2 sin(α − γ)cx2 ) + 2.(ax3 cos(α − γ)cy3 + (ay3 sin(α − γ)cx3 )
C = (ax1 cy1 )2 + (ay1 cx1 )2 − (c2x1 c2y1 ) + (ax2 cy2 )2 + (ay2 cx2 )2 − (c2x2 c2y2 )+
(ax3 cy3 )2 + (ay3 cx3 )2 − (c2x3 c2y3 )
Les paramètres axi , ayi , cxi et cyi (i = 1..3) représentent la longueur et la largeur de
la zone de sécurité comme le montre la figure IV.6.
La formulation mathématique de ces paramètres doit aussi tenir compte des vitesses
des trois essieux du robot ROMNI, pour cela nous avons choisi les fonctions de pilo-
tage décrites par le système d’équations (IV.15). En effet, ces équations permettent de
positionner le robot au centre de la zone de sécurité qui l’entoure.
IV.3. Synthèse d’un évitement d’obstacles par ZDV pour le ROMNI 77
Xr
cy1 cx1
Yr
ay1
ax1
θθ
y
Or
ZDV
O X
x
cx1 = λcy1 × ϕ1 2 + cmin
x1
cx2 = λcy2 × ϕ2 2 + cmin
x2
cx3 = λcy3 × ϕ3 2 + cmin
x3
cy1 = cx1
(IV.15)
cy2 = cx2
cy3 = cx3
ax1 = ax2 = ax3 = 0
ay1 = ay2 = ay3 = 0
Nous remarquons que les variables cxi et cyi avec i = 1..3 sont fonctions des vitesses des
trois essieux ϕ1 , ϕ2 et ϕ3 . Ainsi les dimensions de la ZDV (longueur et largeur) varient
en fonction du changement de la commande du robot. Ceci implique une reconstruction
de la zone virtuelle à chaque modification de la commande du robot.
IV.4. Synthèse de l’architecture de contrôle 78
Ensuite, nous établissons la jacobienne afin d’aboutir à une représentation des trois
vitesses du ROMNI en fonction de la déformation. La représentation obtenue est décrite
par le système d’équations (IV.16).
ϕ1 FRob.vel θ
−K J I − ϕ1 (−ẋ sin(θ + α1 ) + ẏ cos(θ + α1 )) + (Kω JI I) l1 = −r ϕ̇1
ϕ1 I
J I
Rob.vel
F
−Kϕ2 JIϕ2 I − θ
ϕ2 (−ẋ sin(θ + α2 ) + ẏ cos(θ + α2 )) + (Kω JI I) l2 = −r ϕ̇2 (IV.16)
J I
Rob.vel
ϕ F
−Kϕ3 JI 3 I − (−ẋ sin(θ + α3 ) + ẏ cos(θ + α3 )) + (Kω JIθ I) l3 = −rϕ̇3
JIϕ3
avec Kϕi (i=1..3) et Kω sont des gains positifs qui donnent V̇I ≤ 0 ∀t.
Nous pouvons (maintenant) synthétiser l’algorithme d’évitement d’obstacles pour les
deux robots mobiles : fauteuil et ROMNI. L’intégration de cet algorithme sur chacune
des deux plateformes doit tenir compte évidemment de la présence de l’algorithme de
commande floue. Ceci implique la nécessité d’utilisation d’une architecture de contrôle
permettant de choisir instantanément un comportement à activer : déplacement vers le but
ou évitement d’obstacles. La synthèse de cette architecture sera établie dans le paragraphe
suivant.
Durant les dernières années, beaucoup d’intérêts ont été orientés à asservir le système
de contrôle à l’utilisateur en adoptant différentes architectures. Principalement, cette re-
cherche nous a dérivé du champ de la robotique mobile, au champ des fauteuils roulants
alimentés électriquement et jouant un rôle vital à réduire le problème d’indépendance
souffert par les personnes handicapées. Cette recherche a montré que traditionnellement,
les fauteuils roulants sont basés sur une solution intuitive (joystick). Cependant, afin
de pouvoir les conduire efficaçement et sûrement, l’utilisateur doit utiliser des méthodes
alternatives d’interaction.
Plusieurs travaux de recherche qui traitent ces méthodes alternatives d’interaction
ont été développés. A titre d’exemple, dans [53] et [54] les chercheurs proposent des
méthodes qui assurent la conduite des fauteuils en utilisant les champs de visage ou la
reconnaissance des gestes de la main sur le joystick. Ensuite, les chercheurs se sont investis
dans de nouveaux champs afin de compenser les faibles réactions du joystick. Parmi ces
travaux on peut citer ceux développés par Taha et al. [55] Millan et al. [56] offrant un
IV.4. Synthèse de l’architecture de contrôle 79
degré d’autonomie assez important au robot. Cette autonomie a été assurée à travers
l’interface cerveau de l’utilisateur lui offrant une faible résolution de l’entrée. Il existe
aussi des systèmes de contrôle mixte qui assurent la commutation entre différents modes
d’opérations comme le système « Navchair » proposé par [57] ou celui de Carlson [58] qui
utilisait un contrôle collaboratif permettant d’augmenter la sécurité du fauteuil robotique
en se basant sur des expériences de mobilité référencée tâche secondaire : ils gardent le
contrôle amorcé par l’utilisateur et adaptent les signaux où c’est nécessaire.
Dans ce présent travail, nous avons proposé une méthodologie de contrôle générique,
qui permet de déduire les intentions de l’utilisateur à partir de l’entrée appliquée au
joystick, et ceci en supposant inconnu l’environnement local qui entoure le fauteuil roulant
[59, 60, 61]. Nous avons suivi les recommandations de Carlson [62] et ceci dans le but
d’exécuter des manœuvres précises et particulières, ou bien pour éviter les collisions.
Notre plateforme robotique utilise respectivement les trois modes d’opération suivants :
– Déplacement vers un point objectif et/ou suivi de chemin : navigateur.
– Evitement d’obstacles en utilisant un capteur laser : un pilote de réaction.
– Commutation entre les deux objectifs en utilisant un contrôleur flou
Nous utilisons l’architecture générique de Mourioux [28] qui nous permet de structurer
la commande en plusieurs niveaux. L’architecture proposée est composée de deux parties
appelées la partie de décision et la partie de perception. Ces deux parties du même niveau
sont directement connectées : dans chaque niveau des modules sont définis, chaque module
correspond à une fonctionnalité, qui permet une coupe fonctionnelle. L’architecture de
contrôle mise en oeuvre sur un fauteuil roulant robotisé est décrite par la figure IV.7 :
– Dans le niveau 0 nous trouvons le Système Mécanique Articulé (AMS) qui peut être
contrôlé par ses deux moteurs moteurd et moteurg qui désignent respectivement les
moteurs droit et gauche.
– ωd et ωg sont respectivement les modules pour la commande des roues motorisées
droites et gauches. Ce module utilise les mesures provenant des encodeurs Encodeurd
et Encodeurg .
– T élémètre Laser est le module qui contrôle le télémètre laser. Il délivre des infor-
mations pour le niveau supérieur qui est une liste de distances polaires dont chacune
dépend de l’angle de mesure.
– Le module Carte de P roximité est le modèle des obstacles détectés. Il contient
toutes les distances entre les obstacles et le robot.
IV.4. Synthèse de l’architecture de contrôle 80
Décision Perception
Chemin
Niveau 3
U
ZDV
Niveau 2
Carte de Proximité
Commutation
Actionneurs U Capteurs
Niveau 1
ωd mesurée
Encodeurd
ωd ωg mesurée Télémètre
ωg Encodeurg
Laser
Niveau 0 : AMS
Moteurg
Robot Moteurd
locale en utilisant le concept de la logique floue sans tenir compte des obstacles de
l’environnement.
Avec cette architecture générique, le fauteuil roulant robotisé peut assurer une navigation
autonome et sans risque même si l’environnement qui l’entoure est inconnu. Il est ainsi
apte à éviter les obstacles (en utilisant le pilote ZDV) et à atteindre un point cible (le
navigateur flou) ou même suivre une trajectoire désirée.
L’intégration des deux algorithmes doit concillier a priori deux exigences antagonistes.
La première exigence est qu’en présence d’informations de déformations importantes le
pilote réactif doit guider le fauteuil roulant robotisé loin de l’obstacle. La deuxième exi-
gence consiste à la recherche de la cible (l’objectif) désirée en utilisant le contrôleur flou
et ceci bien sûr en abscence d’obstacles.
La solution pratique à considérer dans cette commutation correspond à appliquer le
principe d’hystérésis comme illustré dans la figure IV.8.
Cas 2
ZDV
Cas 1
F lou
I (Intrusion )
0 Imin Imax
Dans le premier cas noté Cas 1, le robot vise de rejoindre une cible (un objectif)
tandis que la distance à un obstacle présent dans l’environnement diminue, autrement dit
les augmentations d’informations d’intrusion de 0 à Imax qui est la déformation maximale
permise pour commencer l’évitement des obstacles et ceci en tenant compte des capacités
IV.4. Synthèse de l’architecture de contrôle 82
3500
3000
2500
2000
1500
1000
500
−500
0 500 1000 1500 2000 2500 3000 3500 4000 4500
le robot est contraint à une situation de coin. Pour remédier à ce problème, nous avons
proposé de développer un second contrôleur flou qui jouera le rôle de commutateur.
IV.4. Synthèse de l’architecture de contrôle 83
Dans ce commutateur basé sur le concept flou, nous avons introduit la notion de mini-
intrusion sans risque. Celles-ci sont des informations d’intrusion fournies par le pilote
ZDV. Elles permettent de traiter en ligne les situations de minima locaux. En effet, ce
problème apparaît lorsque les deux critères : commande floue et évitement d’obstacles
engendrent deux réactions antagonistes. Cette situation est engendrée par une symétrie
entre les déformations droites et gauches de la zone virtuelle, et ceci en respectant la
direction de la vitesse linéaire. En conséquence, la vitesse générée par le contrôleur par
ZDV sera réduite à zéro ou à une valeur négative. Le robot va s’orienter de manière à
minimiser l’intrusion. Cependant, les vitesses négatives appliquées ne lui permettent pas
de s’en sortir.
La solution proposée consiste à réduire la vitesse du robot et tourner jusqu’à ce que
l’obstacle soit présent dans un seul côté. Pour celà, nous avons considéré quatre mini-
intrusion comme le montre la figure IV.10. Les zones de variations de ces mini-intrusion
se présentent comme suit :
– une mini-intrusion devant-gauche Ig calculée pour θ ≤ α < θ + 60◦
– une mini-intrusion devant-droite Id calculée pour θ − 60◦ ≤ α < θ
– une mini-intrusion de-côté-gauche Igc calculée pour θ + 60◦ ≤ α < θ + π
– une mini-intrusion de-côté-droite Idc calculée pour θ + π ≤ α < θ − 60◦
Y
Ig
Id
60 ◦
60 ◦
+
θ
θ−
Igc
Idc
θ
Y
θ+
π
X
o X
Fig. IV.10 – Cette figure montre les quatre mini-zone de sécurité : Ig , Id , Igc et Idc . Les
règles sont conçues pour des scénarios multiples afin d’aider l’utilisateur
IV.4. Synthèse de l’architecture de contrôle 84
µ
I
G TG
P
TP
1
0.8
0.6
0.4
0.2
I ,I
d g
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
La sortie du commutateur flou est la variable nommée « Switch » qui est associée à
deux sous-ensemble flous de type constante : P (Petit) and G (Grand). La figure IV.13
présente les fonctions d’appartenance de la sortie du commutateur flou proposé.
Pour chaque combinaison d’une variable d’entrée, une action est associée à la variable
de sortie. La base de règle de contrôle contient les règles suivantes, pour i = 1...r :
Si (Ig est Ai ) et (Id est Bi ) et (Idc est Ci )et (Igc est Di ) alors (Switch = yi )
IV.4. Synthèse de l’architecture de contrôle 85
µ
I
M G
P TG
TP
1
0.8
0.6
0.4
0.2
I ,I
gc dc
0
0 0.5 1 1.5 2 2.5 3 3.5 4
G
P
0.8
0.6
0.4
0.2
0
0 0.2 0.4 0.6 0.8 1 1.2
L’ensemble des règles floues générées en se basant sur une relation "situation/action",
est résumé dans le tableau IV.1. Ce tableau est construit à la suite de plusieurs simulations
et expérimentations sur le fauteuil roulant pour handicapés.
A ce niveau nous avons développé la variation des consignes de vitesses à appliquer sur
les roues d’un robot mobile : fauteuil roulant ou ROMNI. Ces consignes proviennent soit
de l’algorithme de commande soit de l’algorithme d’évitement d’obstacles. Il reste donc à
tester ces algorithmes en simulation et en pratique pour les deux robots mobiles étudiés.
Les résultats obtenus pour le fauteuil et le ROMNI seront présentés respectivement dans
les sections IV.5 et IV.6.
IV.5. Résultats de simulation et expérimentaux du robot unicycle : le fauteuil 86
Le premier système robotique étudié est un fauteuil roulant contrôlé avec une com-
munication série à partir d’un PC portable ou d’un PC embarqué de type P C − 104.
L’ordinateur portable exécute les tâches suivantes : calcul de la trajectoire optimisée se
basant sur la logique floue, détermination de la position relative du robot en utilisant
les mesures des encodeurs, et le calcul des vitesses nécessaires pour éviter les obstacles
en se basant sur les mesures du capteur laser. La commuication avec le capteur laser est
assurée via le port USB ou série en appliquant le protocole d’acquisition et de calcul de
la distance adéquate. Ces spécifications de communication avec le laser sont décrites en
détails en annexes.
Ces caractéristiques nécessitent de réaliser des expériences dans un environnement
interne étendu et avec des obstacles différents. En fait, l’environnement de travail est
un laboratoire de recherche de dimension 14m× 14m comme le montre la figure 5. Les
obstacles existants sont des chaises, tables, etc, comme le montre la figure suivante. Les
principales valeurs numériques appliquées durant les tests avec le fauteuil roulant robotisé
sont résumées dans le tableau IV.2.
12000
Position du robot
Obstacles
10000
8000
Position−Y (mm)
6000
4000
2000 Objectif
0 Obstacles
Point initial
−2000
0 2000 4000 6000 8000 10000 12000 14000 16000
Position−X (mm)
détectés rentrent à l’intérieur de la zone de sécurité (position (11 000 mm, 2 500 mm)
pour laquelle la distance entre le bord du robot et l’obstacle est presque de 1 000 mm) le
IV.5. Résultats de simulation et expérimentaux du robot unicycle : le fauteuil 88
robot commence à les éviter, suit les murs jusqu’à atteindre la cible : ce qui explique les
courbes de vitesse présentées dans la figure IV.16. Ces courbes montrent que initialement
la vitesse droite est largement plus grande que celle gauche. Ceci implique que le robot
va tourner à gauche, ce qui est le cas à la position (14 000 mm, 2 000 mm). Le même
principe de raisonnement peut être prouvé à travers toute la trajectoire parcourue.
500
Vitesse gauche
450 Vitesse droite
400
350
300
Vitesse (mm/s)
250
200
150
100
50
0
0 20 40 60 80 100 120 140
Temps(s)
Le but de cette expérience est de montrer l’efficacité de la méthode proposée dans une
situation de coin. Dans la figure IV.17, le robot doit essayer de rejoindre une cible définie
par les coordonnées (xo = 9 000 mm, yo = 8 000 mm). Le contrôleur réussit à sortir d’un
minimum local (coin), ensuite il effectue des manœuvres (vitesse) résumées dans la figure
IV.17 lui permettant de naviguer dans un couloir jusqu’à atteindre le point objectif.
En effet, nous pouvons remarquer que la trajectoire suivie n’est pas optimisée, ainsi
les solutions proposées consistent à :
– soit introduire un historique dans l’algorithme afin de construire une carte de l’en-
vironnement dans lequel le robot se déplace.
– soit donner plus de valeur à l’interaction avec l’utilisateur ou encore augmenter le
poids accordé à la collaboration du conducteur.
IV.5. Résultats de simulation et expérimentaux du robot unicycle : le fauteuil 89
12000
Position du robot
Obstacles
10000
8000
Position−Y (mm)
6000
4000 Objectif
Point initial
2000
0
Obstacles
−2000
−2000 0 2000 4000 6000 8000 10000 12000
Position−X (mm)
Fig. IV.17 – Trajectoire parcourue par le fauteuil dans une situation de minimum local
(coin)
Dans le but d’optimiser la trajectoire suivie par le robot, nous avons choisi la deuxième
solution permettant de mettre en valeur l’interaction homme-machine. Ainsi, nous avons
développé une interface utilisateur 2D (GUI) permettant d’exécuter le système de pilotage
du fauteuil roulant (commande et évitement d’obstacles). Cette interface est présentée par
les figures IV.18 et IV.19.
Robot Position
13000 Obstacles
Trajectory
12000
11000
10000
9000
8000
Y−position (mm)
7000
6000
5000
4000
3000
2000
1000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000011000120001300014000
X−position (mm)
Fig. IV.18 – Interface utilisateur 2D. L’obs- Fig. IV.19 – Interface 2D au cours de la na-
tacle choisi est un couloir. vigation du fauteuil.
Cette interface présente trois modes d’opération : atteindre un point objectif, suivi
IV.5. Résultats de simulation et expérimentaux du robot unicycle : le fauteuil 90
– Puis, il faut choisir un mode de disposition pour les obstacles (couloir, porte, formes
différentes).
– Par la suite, si l’utilisateur désire réaliser un suivi de trajectoire, il peut aussi placer
des points de passage entre le point initial et le point objectif, pouvant être auto-
matiquement interpolés avec l’outil B-splines, pour créer un chemin.
12000
10000
Objectif
8000
Position−Y (mm)
6000
4000
Points de la
trajectoire
2000
Point initial
Position du robot
0 Obstacles
Trajectoire
−2000
0 2000 4000 6000 8000 10000 12000
Position−X (mm)
Fig. IV.20 – Suivi de trajectoire : une série de points objectifs avec un minimum local.
IV.6. Résultats de simulation sur le robot omnidirectionnel : ROMNI 91
dans l’environnement qui s’ajoutent aux points de début et de fin précédent. La trajectoire
obtenue est présentée par la courbe rouge (avec des rectangles) tandis que la position réelle
du robot est présentée par la courbe bleue (avec des étoiles). L’obstacle choisi dans cette
application est un couloir. En comparaison avec la trajectoire de la figure IV.17, nous
remarquons que l’interaction avec l’utilisateur nous a permis d’obtenir une trajectoire
plus efficace (si on considère le critère de la distance parcourue par le robot).
La deuxième trajectoire réalisée est présentée dans la figure IV.21. Elle montre un
exemple de pilotage avec des obstacles de formes différentes et dans lequel le robot réussit
en premier lieu à suivre la trajectoire et en deuxième lieu à éviter les obstacles et enfin à
rejoindre le point cible. On peut donc conclure qu’une assistance générique nous a permis
d’aboutir à un pilotage réactif, rapide et sans risque pour l’utilisateur ; ce qui répond bien
aux besoins de l’handicapé.
13000
12000
11000
10000
9000
8000
7000
[mm]
6000
5000
4000
3000
2000
1000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000011000120001300014000
[mm]
Après avoir testé les algorithmes de commande, de pilotage et de contrôle sur le fauteuil
roulant pour handicapés, nous allons maintenant présenter les tests de simulation sur le
IV.6. Résultats de simulation sur le robot omnidirectionnel : ROMNI 92
robot omnidirectionnel. Les principales valeurs numériques appliquées durant les tests de
simulation avec le ROMNI sont résumées dans le tableau IV.3.
14000
Couloir
12000 Position du Robot
10000
Point Objectif
8000
Position−Y (mm)
6000
4000
Point Initial
2000
−2000
−2000 0 2000 4000 6000 8000 10000 12000 14000
Position−X (mm)
La position initiale du robot est définie par les coordonnées (x = 0 mm, y = 0 mm) et
la cible est définie par les coordonnées (xo = 3 500 mm, yo = 9 000 mm). Dans cet exemple
le robot suit la trajectoire définie par le contrôleur flou jusqu’à la position (x = 1 800mm,
y = 5 000 mm) présentant un obstacle devant le robot, donc c’est le contrôleur DVZ
qui intervient pour éviter l’obstacle. Ensuite, c’est le contrôleur de commande qui prend
la décision pour mener le robot à destination. La variation des trois vitesses linéaires
IV.6. Résultats de simulation sur le robot omnidirectionnel : ROMNI 93
200
Vitesse1
150 Vitesse2
Vitesse3
100
50
Vitesse (mm/s)
−50
−100
−150
−200
0 1 2 3 4 5 6
Temps(s)
du robot est décrite par la figure IV.23. Il faut noter ici que nous avons utilisé un seuil
de saturation des vitesses engendrées par le contrôleur ZDV et qui sont appliquées sur
le robot. Ce seuil est fixé à la valeur ±200mm/s qui représente la vitesse moyenne du
ROMNI.
16000
Position du robot
14000
Point Objectif
12000
10000
Position−Y (mm)
Obstacles
8000
Point Initial
6000
4000
2000
0
0 2000 4000 6000 8000 10000 12000 14000
Position−X (mm)
Fig. IV.24 – Trajectoire parcourue par le ROMNI avec un angle initial θ = 180◦
IV.7 Conclusion
L’étude menée dans ce rapport a été orientée vers l’amélioration de l’autonomie des
systèmes robotiques. Deux aspects de l’autonomie ont été mis en valeur : l’autonomie de
la mobilité et l’autonomie de la décision.
Notre contribution à ce niveau consiste d’une part à la proposition de contrôleurs flous
optimisés permettant l’amélioration de l’autonomie de déplacement. D’autre part, nous
avons mis au point un pilote réactif pour des robots mobiles à roues tenant compte des
informations extéroceptives.
La mobilité d’un robot est apportée par son architecture structurelle qui peut être
commandée à travers son modèle cinématique. Cette étude de la structure mécanique
et du modèle mathématique a été menée sur trois robots mobiles à roues : deux robots
unicycles et un robot omnidirectionnel. L’autonomie de déplacement de ces robots s’avère
différente, évidemment puisque le robot omnidirectionnel présente une autonomie générale
comparée au robot unicycle caractérisé par deux degrés de mobilité. Ainsi, un contrôleur
à base de la logique floue a été synthétisé dans le but d’augmenter l’autonomie des robots
unicycles comparée à ceux de type omnidirectionnel.
Cependant, l’autonomie de mobilité est insuffisante pour garantir une autonomie com-
plète. Des informations sur l’environnement externe du robot sont nécessaires pour réaliser
des prises de décision autonomes. Notre première information extéroceptive a été basée
sur l’utilisation d’une caméra de type Webcam permettant la localisation absolue d’un
système robotisé. L’étude de cette partie déçisionelle a été menée sur un robot unicycle
(Khepera II). Les résultats obtenus montrent une amélioration de la précision de locali-
sation du robot. Néanmoins, cette proposition a été restreinte à un environnement non
encombré ce qui engendre une autonomie de décision incomplète.
Notre deuxième information sur l’environnement externe a été basée sur un capteur
laser, qui à travers un algorithme d’évitement d’obstacles réactif par Zone de Déformations
Virtuelles (ZDV), nous a conduit à conçevoir un système robotisé ayant plus de degré
d’autonomie. Cette étude a été menée sur deux robots mobiles à roues (fauteuil roulant
96
97
et ROMNI).
Cependant, l’organisation de l’odre d’exécutuion des deux parties : commande (auto-
nomie de déplacement) et pilotage (autonomie décisionelle) nécéssite l’utilisation d’une
architecture de commande. L’architecture que nous avons utilisée est de type générique.
Elle se base sur l’utilisation de modules hiérarchiques qui intègrent la notion d’interaction
homme-machine dans les différents niveaux.
Cette architecture de contrôle réactive a été introduite dans le but d’assurer plus
d’autonomie au robot, des actions plus rapides et une interaction plus fiable entre les
capteurs (perception) et les actionneurs (décision-action). Une interface de supervision
en 2D nous a facilité la phase de test de situations critiques et d’intégrer la notion de
collaboration homme-machine dans notre concept.
En perspective, nous envisageons, dans nos prochains travaux, de nous focaliser sur :
– l’intégration de la fusion de données capteurs afin d’améliorer encore la précision
obtenue essentiellemnt dans le cas du fauteuil roulant.
– l’implémentation d’une commande du fauteuil roulant pour handicapés en utilisant
les impulsions nerveuses du cerveau (capteur EEG) aussi bien que les signaux oc-
culaires.
– l’extension de l’interface utilisateur 2D pour aboutir à une solution en 3D qui peut
être bénéfique dans le sens où elle procure une réalité virtuelle sur l’évolution de
n’importe quel système robotique.
Bibliographie
[1] H. Takahashi, h.l. biitsuharu et K. Ohnisld : " Mobility of a Mobile Robot". AMC-
Kawasaki, Japan, 2004.
[2] L. Amouri-Jmaiel, M. Jallouli et N. Derbel : "An Effective Sensor Data Fusion Me-
thod for Robot Navigation Through Combined Extended Kalman Filters and Adap-
tive Fuzzy Logic". Transactions on Systems, Signals and Devices, vol. 4(1), pp. 1–18,
2009.
[3] G. Mourioux : "Proposition d’une architecture multifonctions pour l’autonomie glo-
bale des robots". Université d’Orléans, Rapport de thèse, 2006.
[4] G. Mourioux, G. Poisson, C. Novales : " Robot Omnidirectionnel : concepts et ana-
lyse". 17ème Congrés Francais de Mécanique, Troyes, France, Septembre 2005.
[5] L.C. Bento, U. Nunes : " Autonomous Navigation Control With Magnetic Markers
Guidance of a Cybernetic car Using Fuzzy Logic". Machine Intelligence and Robotic
Control, vol. 6(1), pp. 1–10, 2004.
[6] D. Filliat : " Robotique mobile". Cours ENSTA, 2004.
[7] O. Trullier et J. A. Meyer : "Biomimetic navigation models and strategies in animats".
AI Communications, vol. 10, pp. 79–92, 1997.
[8] O. Trullier et J. A. Meyer : "Animat navigation using a cognitive graph". Biological
Cybernetics, vol. 83(3), pp. 271–285, 2000.
[9] O. Trullier, S. Wiener, A. Berthoz, et J. A. Meyer : "Biologically-based artificial
navigation systems : Review and prospects". Progress in Neuro- biology, vol. 51, pp.
483–544, 1997.
[10] B. A. Cartwright et T. S. Collett : "Landmark maps for honeybees". Biol. Cybern.,
vol. 57, pp. 85–93, 1987.
[11] D. Lambrinos, R. Muller, T. Labhart, R. Pfeifer et R. Wehner : "A mobile robot em-
ploying insect strategies for navigation". Robotics and Autonomous Systems, special
issue : Biomimetic Robots, vol. 30, pp. 39–64, 2000.
98
99
[12] P. Gaussier, C. Joulain, J. P. Banquet, S. Lepretre et A. Revel : "The vi- sual homing
problem : an example of robotics/biology cross-fertilisation". Robotics and autono-
mous systems , vol. 30(1–2), pp. 155–180, 2000.
[13] E. Maalouf, M. Saad, H. Saliah et F. Mnif : "Integration of a novel path planning
and control technique in a navigation strategy". International Journal of Modelling,
Identification and Control (IJMIC), vol. 1(1), pp. 52–62, 2006.
[14] L. Ming, G. Zailin et Y. Shuzi : "Mobile robot control optimization using genetic
algorithm". Artificial Intelligence in Eitgineering, vol. 10, pp. 293–298, 1996.
[15] D. Fox, W. Burgard, S. Thrun : "The Dynamic Window Approach to Collision Avoi-
dance". IEEE Robotics and Automation Magazine, vol. 4(1), pp. 23–33, 1997.
[16] O. Khatib : "Real-Time Obstacle Avoidance for Manipulators and Mobile Robots".
International Journal on Robotics Research, vol. 5(1), pp. 90–98, 1986.
[17] P. Ogren et N. Ehrich-Leonard : "A Convergent Dynamic Window Approach to
Obstacle Avoidance". IEEE Transactions on Robotics and Automation, vol. 21(2),
pp. 188–195, 2005.
[18] N. Franceschini, J. Pichon et C. Blanes : "From insect vision to robot vision". Phi-
losophical Transactions of the Royal Society of London, Series B, pp. 283–294, 1992.
[19] Gourichon, S. Meyer, J. A. Pirim : "Using colored snapshots for short-range guidance
in mobile robots". International Journal of Robotics and Automation : Special Issue
on Biologically Inspired Robotics, vol. 17(4), pp. 154–162, 2002.
[20] J. Serres, F. Ruffier, S. Viollet, N. Franceceshini : "Toward optic flow regulation for
wall folowing non centring behavior". International Journal of Advanced Robotics
systems, vol. 3(2), pp. 147–153, 2006.
[21] M. Carballeda, C. Leroux : "Gestion de missions de Sécurité Civile incluant un micro-
UAV". Projet FP6-IST-045248, µDrones, WISG’2009.
[22] A. Cacitti, R. Zapata : "Reactive Behaviours of Mobile Manipulators Based on the
DVZ Approach". IEEE International Conference on Robotics and Automation, Seoul,
Korea, pp. 680–685, May 21-26, 2001.
[23] L. Lapierre, R. Zapata et P. Lepinay : "Simultaneous Path Following and Obstacle
Avoidance Control of a Unicycle-type Robot". IEEE International Conference on
Robotics and Automation, Roma, Italy, pp. 2617–2622, April 10-14, 2007.
[24] L. Lapierre, R. Zapata et P. Lepinay : "Simultaneous Path Following and Obstacle
Avoidance Control of a Unicycle-type Robot". The International Journal of Robotics
Research, vol. 26(361), pp. 261–375, 2008.
[25] R. Arkin : " Behavior-Based Robotics". The MIP Press, 1998.
100
[54] P. Jia, H. H. Hu, T. Lu et K. Yuan : "Head gesture recognition for hands-free control
of an intelligent wheelchair". International Journal of Industrial Robot, vol. 34(1),
pp. 60–68, 2007.
[55] T. Taha, J. Miro et G. Dissanayake : " Pomdp-based long-term user intention pre-
diction for wheelchair navigation". IEEE International Conference on Robotics and
Automation(ICRA), Pasadena, LA, pp. 3920–3925, 2008.
[56] J. Millan, F. Renkens, J. Mourino et W. Gerstner : " Non invasive brain-actuated
control of a mobile robot by human eeg". IEEE Trans. Biomed Eng, vol. 51(6), pp.
1026–1033, 2004.
[57] S. Levine, D. Bell, L. Jaros, R. Simpson, Y. Koren et J. Borenstein : "The nav-
chair assistive wheelchair navigation system". IEEE Transactions on Rehabilitation
Engineering, vol. 7(6), pp. 443–451, 1999.
[58] T. Carlson et Y. Demiris : "Increasing Robotic Wheelchair Safety With Collaborative
Control : Evidence from Secondary Task Experiments". IEEE International Confe-
rence on Robotics and Automation (ICRA 2010), Anchorage, Alaska, pp. 5582–5587,
2010.
[59] D. Wang et M. Pham : "A high-fidelity co-simulation platform for motion and control
research for vehicle platooning". International Journal Vehicle Autonomous Systems,
vol. 6(1–2), pp. 104–121, 2008.
[60] M. Yguel, O. Aycard et C. Laugier : "Effcient GPU-based construction of occupancy
grids using several laser range-finders". International Journal Vehicle Autonomous
Systems, vol. 6(1–2), pp. 48–83, 2008.
[61] R. Benenson, S. Petti, T. Fraichard et M. Parent : "To wards urban driverless ve-
hicles". International Journal Vehicle Autonomous Systems, vol. 6(1–2), pp. 4–23,
2008.
[62] T. Carlson et Y. Demiris : " Human-Wheelchair Collaboration Through Prediction
of Intention and Adaptive Assistance". IEEE International Conference on Robotics
and Automation (ICRA 2008), Pasadena, CA, pp. 3926–3931, 2008.
[63] L. Qinan, C. Weidong et W. Jingchuan : " Dynamic Shared Control for Human-
Wheelchair Cooperation". IEEE International Conference on Robotics and Automa-
tion (ICRA 2011), Shangai Jiao Tang University, Chine, 2011.
[64] M. Jallouli, L. Amouri-Jmaiel et N. Derbel : "An Effective Localization Method
for Robot Navigation Through Combined Encoders Positioning and Retiming Visual
control." Journal of Automation, Mobile Robotics and Intelligent Systems (JAMRIS),
vol. 3(2), pp. 15–23, 2009.
103
Le capteur extéroceptif que nous avons utilisé est un télémètre laser "HOKUYO URG-
04LX ". Ce télémètre laser procure deux types de liaisons qui sont la liaison série RS232
et la liaison USB. Par ailleurs, la communication est assurée graçe à un protocole de
communication développé par le constructeur. Dans cette partie nous allons présenter les
différentes spécifications du capteur laser Hukoyo ainsi que les programmes d’acquisition
et de conversion de données développées.
Une fois connecté, le port USB permet une communication automatique avec la cap-
teur laser. Cette liaison est prioritaire si un port RS232 est utilisé en même temps. Pour ce
104
2. Protocole de communication du capteur laser 105
La figure 2 est une représentation générale de n’importe quelle trame émise ou reçue du
capteur laser Hukoyo. Nous allons présenter maintenant un exemple de trame d’acquisi-
tion de données avec la commande G-command. L’acquisition des mesures, leurs nombres
et la détermination du champ de balayage s’effectuent au moyen des commandes envoyées
sous formes de trames vers le télémètre laser. Cette tache est assurée par le G-Command
(Distance Data Acquisition). Les figures 3 et 4 présentent respectivement la trame en-
voyée de l’ordinateur hôte vers le capteur et la trame de réponse du capteur. Plusieurs
paramètres sont à préciser pour obtenir les mesures de distance à partir du télémètre
laser. Ces paramètres sont essentiellement :le pas de départ, le pas de fin et le nombre de
mesures par groupe.
1. Le pas de départ : il varie entre 0 et 768. C’est le pas de la première mesure.
Exemple pour le pas 044 on doit envoyer la trame suivante :(30)16 , (34)16 , (34)16 .
3. Programmes d’acquisition du capteur laser 107
Concaténation
Le télémètre laser a une grande précision et une très bonne résolution angulaire. Mais
vu le nombre important de mesures par balayage (682) et le temps de la sortie synchrone
qui fournit un balayage pour 12, 5 msec comparé avec la vitesse du processeur, on peut
parfois se limiter à un certain nombre de mesures. Les programmes d’acquisition de don-
nées sont développés avec le langage de programmation C. La figure 6 présente les mesures
de distances acquises par rapport à un obstacle cylindrique entourant le capteur laser.
pour une vitesse de transmission maximale égale à 9600bps. Ainsi, nous avons développé
un programme qui permet en premier lieu de créer un fichier dans lequel sont enregistrés
les paramètres de la liaison série y compris la vitesse de transmission, le numéro de port,
la parité, le nombre de bits de stop et le nombre de bit de données. Cette opération
est assurée grâce à la fonction "CreateFile". Ensuite, nous transmettons la trame de
commande au capteur laser via la fonction "WriteFile". Enfin, la lecture de la trame
transmise par le capteur sera assurée avec la fonction "Readfile". La trame ainsi reçue est
codée en héxadécimal et elle contient tous les LF(Line Feed).
Lobna AMOURI-JMAIEL
Résumé :
Dans cette thèse nous avons contribué à la commande floue de deux types de robots
mobiles : deux robots de type unicycle (Khepera II et fauteuil roulant). Ensuite, nous avons
utilisé une architecture de pilotage réactive permettant d’intégrer la commande floue ainsi
qu’un algorithme d’évitement d’obstacles réactif utilisant la théorie de Zones de Déformation
Virtuelles (ZDV). Des résultats de simulation et expérimentales ont permis de valider
l’approche développée.
Mots clés : Commande floue, évitement d’obstacles ZDV, robot unicycle, robot omnidirec-
tionnel, pilotage réactif.
Abstract :
In this thesis we contributed on developing a fuzzy control of two types of mobile ro-
bots : two unicycle robots (Khepera II and wheelchair). Then, we used a reactive piloting
architecture insuring the integration of both the fuzzy controller and an obstacle avoidance
algorithm using the deformable virtual zones theory (DVZ). Simulation and experimental
results validate the developed approach.
Keywords : Fuzzy controller, DVZ obstacle avoidance, unicycle robot, omnidirectionnal robot,
reactive pilot.