Vous êtes sur la page 1sur 71

SOMMAIRE

Sommaire
CHAPITRE I.................................................................................................... 2
1. INTRODUCTION........................................................................................3
2. PRSENTATION DES ROBOTS....................................................................3
2.1. DFINITION DUN ROBOT............................................................................................ 3
2.2. CLASSIFICATION DES ROBOTS......................................................................................3
2.3. DFINITION DUN ROBOT MOBILE.................................................................................4
2.4. LARCHITECTURE DES ROBOTS MOBILES........................................................................4
2.5. LES DIFFRENTS TYPES DES ROBOTS MOBILES................................................................5
2.5.1. Robots mobiles sur roues................................................................................5
2.5.2. Les robots mobiles sur chenilles (fig 1.3).........................................................6
2.5.3. Les robots mobiles sur pattes (fig1.4).............................................................6
2.5.4. Robots mobiles omnidirectionnels...................................................................7
3. DIFFRENTS TYPES DE CAPTEURS.............................................................8
3.1. CAPTEURS INTERNES................................................................................................. 8
3.1.1. Les capteurs de dplacement..........................................................................8
3.1.2. Les capteurs dattitude....................................................................................9
3.2. LES CAPTEURS EXTERNES......................................................................................... 10
3.2.1. Capteurs tlmtriques.................................................................................11
3.2.2. Les systmes de vision..................................................................................12
3.3. LE SYSTME DE TRAITEMENT DES INFORMATIONS ET GESTION DES TCHES.........................13
4. LE ROBOT KHEPERA III...........................................................................13
5. LES CAPTEURS UTILISS.........................................................................15
5.1. PRINCIPE DE FONCTIONNEMENT DES CAPTEURS INFRAROUGES (FIG 1.10)..........................16
5.2. PRINCIPE DE FONCTIONNEMENT DES CAPTEURS ULTRASONS (FIG 1.11)..............................17

6. CONCLUSION.........................................................................................18
CHAPITRE II.................................................................................................19
1. INTRODUCTION......................................................................................20
2. APPROCHES DVITEMENT DOBSTACLES.................................................20
2.1. APPROCHES RACTIVES.......................................................................................20
2.1.1. Approche par champs de potentiel.........................................................20
2.1.2. Histogramme de champs de vecteurs.....................................................22
2.1.3. Navigation par diagrammes de proximit..............................................24
2.1.4. Planification de mouvement partiel........................................................25
2.1.5. Approche par Bubble Rebond...................................................................26
2.2. AUTRES MTHODES.............................................................................................. 27
3. LAPPROCHE BUBBLE REBOND.................................................................27
3.1. CALCUL DE LANGLE DE REBOND PAR LAPPROCHE BUBBLE REBOUND [IVG10]. 30
3.2. COMPARAISON ENTRE LAPPROCHE BUBBLE REBONDET LES AUTRES APPROCHES
RACTIVES...................................................................................................................... 32

3. PROPOSITION DUN AJUSTEMENT DE MOUVEMENT POUR LE ROBOT..........33


3.1. MODLE CINMATIQUE DU MOUVEMENT.................................................................33
3.2. CONTRLE DU MOUVEMENT..................................................................................34
4. DESCRIPTION DE LALGORITHME (FIG2.15)...............................................35
Master Informatique Option IRCO Khadidja Cherifi
2016/2017 Amira Benoumessad
5. CONCLUSION.........................................................................................37
CHAPITRE III................................................................................................38
1. INTRODUCTION......................................................................................39
2. LA PLATEFORME VIRTUELLE D'EXPRIMENTATION ROBOTIQUES V-
REP(FIG3.0).................................................................................................39
2.1. LES OBJETS DOBSERVATION......................................................................................40
2.2. MODULES DE CALCUL (FIG3.2).................................................................................41
2.3. LE FRAMEWORK API (APPLICATION PROGRAMING INTERFACE) DE V-REP...........................43
3. LENVIRONNEMENT DE DVELOPPEMENT SPYDER (FIG3.5)........................46
3.1. EDITEUR DE CODE..................................................................................................47
3.2. CONSOLE.............................................................................................................. 47
3.3. EXPLORATEUR DE VARIABLE......................................................................................47
4. CONFIGURATION DE LA SCNE................................................................48
4.1. CONFIGURATION DU ROBOT......................................................................................48
4.2. CONFIGURATION DES OBSTACLES...............................................................................49
4.3. CONFIGURATION DU BUT.......................................................................................... 49

5. PROGRAMMATION..................................................................................50
5.1. ETABLISSEMENT DE LA CONNEXION ENTRE V-REP ET SPYDER...........................................51
5.2. EXPLOITATION DES CAPTEURS....................................................................................51
5.3. CONTROL DU MOUVEMENT.......................................................................................52
6. SIMULATION ET RSULTATS DEXPRIMENTATION.....................................53
7. DISCUSSION...........................................................................................57
8. CONCLUSION.........................................................................................59

Tables de figures
Master Informatique Option IRCO Khadidja Cherifi
2016/2017 Amira Benoumessad
Figure1. 1 Architecture des robots mobiles................................................................................4
Figure1. 2 Diffrentes positions des roues..................................................................................5
Figure1. 3 le robot chenilles DFRobotShop Rover V2 [Web1.2]............................................6
Figure1. 4 le robot sur pattes ASIMO de HONDA [Web1.3]................................................7
Figure1. 5 Reprsentation dun robot mobile.............................................................................8
Figure1. 6 Unit de traitement du robot khepera III.................................................................13
Figure1. 7 Le robot Khepera III................................................................................................14
Figure1. 8 Capteurs de khepera III...........................................................................................15
Figure1. 9 Une situation lorsque les capteurs ultrasons chouent............................................15
Figure1. 10 Principe de fonctionnement des capteurs infrarouges...........................................16
Figure1. 11 Principe de fonctionnement des capteurs ultrasons...............................................17
Y
Figure2. 1 Champ de potentiel attractif de la cible...................................................................21
Figure2. 2 Champ de potentiel rpulsif de l'obstacle................................................................21
Figure2. 3 Champ de potentiel global.......................................................................................22
Figure2. 4 Grille doccupation locale par la mthode "Histogrammic in
motion mapping"................................................................................................................23
Figure2. 5 Histogramme des obstacles pour dterminer la direction de dplacement du robot
...................................................................................................................................................24
Figure2. 6 Navigation par Diagrammes de Proximit (ND).....................................................25
Figure2. 7 Planification de mouvement partiel.........................................................................26
Figure2. 8 Robot, capteurs ultrasonique, et bulle de sensibilit...............................................27
Figure2. 9 Illustration du processus de rebond.........................................................................28
Figure2. 10 Organigramme de l'algorithme de bulle rebond....................................................29
Figure2. 11 bulle de sensibilit et gamme de dtection...........................................................30
Figure2. 12 Emplacement des capteurs....................................................................................31
Figure2. 13 Robot deux roues motorises [Web2.1]..............................................................33
Figure2. 14 Modle cinmatique dun robot unicycle (avec CIR)...........................................34
Figure2. 15 Lorganigramme de notre algorithme...................................................................36

Figure3. 1 la plateforme virtuelle dexprimentation robotique V-REP .............................39


Figure3. 2 Les objets dobservation de V-rep...........................................................................40
Figure3. 3 les modules de calcule de V-rep..............................................................................41
Figure3. 4 Diffrents endroits et interfaces disponibles...........................................................43
Figure3. 5 le Remote API fonctionne avec tous les matriaux en utilisant plusieurs langages
de programmation.....................................................................................................................45
Figure3. 6 Configuration des capteurs infrarouges du robot....................................................47
Figure3. 7 Graphe de trajectoire et camra vision du robot......................................................48
Figure3. 8 Configuration dun obstacle sur scne....................................................................48
Figure3. 9 Configuration du but sur scne................................................................................49
Figure3. 10 Scne aprs configuration.....................................................................................49
Figure3. 11 Affichage des diffrentes variables envoyes par le programme..........................53
Figure3. 12 Courbe des variations de la moyenne angulaire de rebond..................................54
Figure3. 13 Courbe dentrainement diffrentiel.......................................................................55
Figure3. 14 Trajectoire parcourue par le robot.........................................................................56
Figure3. 15 Scne du dbut la fin de la simulation................................................................56

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Remerciements
Ce nest pas facile darriver a accomplir un travail sans aide

ni conseil cause des problmes rencontrs tant pratiques que

thoriques.

pour cela nous souhaitons avant tout remercier nos Directeur de


Mmoire Guezouli Lyamine qui nous a accompagns tout au long de ce
mmoire et qui nous

a fait partager son savoir et ses connaissances. Quil soit aussi

remerci pour son soutien, sa disponibilit, ses orientations, ses


conseils

Judicieux et pertinents et pour ses nombreux encouragements


quelle nous a prodigus.

Nous aimerons exprimer notre gratitude au membres du jury qui ont


bien pris le temps de discuter et valuer notre sujet.

Nous adressons nos sincres remerciements tous nos enseignants


et toutes les personnes qui par leurs paroles, leurs crits, leurs conseils et
leurs critiques ont guid nos rflexions et ont accept nous rencontrer et
rpondre nos questions durant la ralisation de ce travail.

Je remercie nos trs chers parents, qui ont toujours t l pour nous.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Nous tenons a remercier tous nos amis pour leur amiti, leur soutien
inconditionnel et leur encouragement.

Et finalement un grand merci tous ceux qui nous ont aids de prs
ou de loin accomplir ce modeste travail.

Ddicaces
Aujourdhui, ici rassembls auprs des jurys, Nous prions dieu que
cette soutenance Fera signe de persvrance Et que nous serions
enchants Par notre travail honor

On ddie cette thse :

A notre matre et prsident de thse :

Nous avons eu le privilge de travailler parmi votre quipe et


dapprcier vos qualits et vos valeurs. Votre srieux, votre comptence et
votre sens du devoir nous ont normment marqus. Veuillez trouver ici
lexpression de notre respectueuse considration et notre profonde
admiration pour toutes vos qualits scientifiques et humaines. Ce travail
est pour nous loccasion de vous tmoigner notre profonde gratitude.

A nos matres et juges de thse :

Vous nous faites lhonneur daccepter avec une trs grande


amabilit de siger parmi notre jury de thse. Veuillez accepter ce travail
matre, en gage de notre grand respect et notre profonde reconnaissance.

A nos chers parents :

Aucune ddicace ne saurait exprimer lamour, lestime, le


dvouement et le respect que jai toujours eu pour vous. Rien au monde
ne vaut les efforts fournis jour et nuit pour notre ducation et nos bien

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
tre. Ce travail est le fruit de vous sacrifices que vous avez consenti pour
notre ducation et nos formations.

A tous les membres de ma famille, petits et grands Veuillez trouver


dans ce modeste travail lexpression de mon affection.

A ma chre amie Benaicha Soumia , A mes chers collgues : Je ne peux


trouver les mots justes et sincres pour vous exprimer mon affection et
mes penses, vous tes pour moi des frres, surs et des amis sur qui je
peux compter. En tmoignage de lamiti qui nous uni et des souvenirs de
tous les moments que nous avons pass ensemble, je vous ddie ce
travail et je vous souhaite une vie pleine de sant et de bonheur.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Introduction Gnrale
Aujourdhui les robots mobiles sont utiliss beaucoup plus sur les
environnements industriels, le plus souvent pour des tches rptitives en
suivant un chemin bien dfini matrialis par des lignes sur le sol par
exemple. Cependant actuellement il ya une forte tendance largir les
milieux o voluent les robots des environnements domestiques. Pour
cela les nouvelles recherches sont actuellement focalises sur la
navigation et les approches dvitement dobstacles dune manire
autonome.

Notre projet de fin dtudes tourne autour du problme de la


navigation des robots mobiles et spcifiquement lvitement dobstacles.
Notre problmatique est focalise sur le choix dune approche dvitement
dobstacle et les moyens appropris (locomotion et capteurs) puis
limplmenter. On doit apprendre toute la thorie lie la mthode pour
pouvoir ensuite la programmer et faire les simulations ncessaires.

Ils existent plusieurs approches de planification qui se classifient


selon lenvironnement de navigation et les caractristiques des robots. Les
approches classiques de planifications de trajectoire ne fonctionnent pas
en environnement la fois dynamique et incertain : les calculs sont trop
nombreux et complexes pour tre excuter en temps rel. Seules les
mthodes purement ractives dvitement dobstacles sont applicables.
Ces dernires sont cependant mal adaptes la prise en compte de
contraintes de taches comme atteindre un but. Des approches rcentes
tendent les combiner dans des mthodes hybrides appeles mthodes
itratives.

Dans le cadre de ce projet, nous allons implmenter une mthode


purement ractive, puisque nous sommes intresss essentiellement par
lvitement dobstacles.

Le premier chapitre comprend toutes les informations techniques


lies au robots mobiles(plus prcisment une description du robot utilis)

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
ainsi que les diffrents types des capteurs utiliss. Le deuxime chapitre
prsente la thorie lie la dmarche dvitement dobstacles choisie. Le
dernier chapitre donne des informations techniques lies la plateforme
dexprimentation virtuelle et lenvironnement de dveloppement. Il est
aussi consacr la mise en place de limplmentation de lalgorithme et
la prsentation des rsultats de simulation.

Chapitre I
Matriels courants en robotique
mobile

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
1. Introduction
Ltude de lvitement dobstacle ncessite la comprhension de
trois lments lies au robot savoir le type de robot mobile tudi, les
types de capteurs utiliss et enfin lalgorithme utilis pour lvitement
dobstacles dans son environnement.

Le premier chapitre concerne les deux premiers lments. Nous


avons commenc par la prsentation des diffrents robots mobiles, plus
prcisment leur mcanisme de mobilit. Ensuite on a prsent les types
de capteurs utiliss en robotique et on a cit le robot utilis: les raisons de
son choix, ses caractristiques, son archetecture .enfin on a mentionn les
types de ces capteurs avec leurs principe de fonctionnement. On les a
classes par ordre dapparition chronologique.

2. Prsentation des robots


La robotique est un trs bon exemple de domaine pluridisciplinaire
qui implique de nombreuses thmatiques telles que la mcanique,
llectronique, linformatique ou lintelligence artificielle, lautomatique.
[F12].

2.1. Dfinition dun robot


Un robot est un dispositif mcatronique (alliant mcanique,
lectronique et informatique) capable de manipuler des objets ou
dexcuter des oprations selon un programme fix, modifiable ou
adaptable.

Notre objectif principal consiste la ralisation dun mouvement


en reliant un point source un point destination par un robot qui :

respecte les contraintes sur le mouvement du systme robotique.

mne un but prdtermin.

vite toutes collisions avec les obstacles au cours de la navigation.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
2.2. Classification des robots
Selon leur mobilit, les robots sont classs en deux grandes
catgories: les robots

manipulateurs (base fixe) tels que les bras manipulateurs, et les


robots mobiles tels que les vhicules autonomes. Nous nous sommes
concentrs sur la catgorie des robots mobiles.

2.3. Dfinition dun robot mobile


Les robots mobiles ont la capacit de se dplacer dans leur
environnement et ne sont pas fixs un emplacement physique. Les
robots mobiles peuvent tre autonome (AMR Autonom Mobil Robot)
qui signifie qu'ils sont capables de naviguer dans un environnement non
contrl, sans le besoin de dispositifs physiques ou lectromcaniques
dorientation distance.

Comme tout robot, le robot mobile est compos de la structure


mcanique articule, dun ensemble de capteurs et dun systme de
traitement dinformation. Dans ce qui suit, on va dtailler chacune de ces
trois parties.

2.4. Larchitecture des robots mobiles


Larchitecture des robots mobiles se compose trois lments :

La structure mcanique.

les capteurs.

Le systme de traitement des informations et gestion des tches.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure1. 1 Architecture des robots mobiles

2.5. Les diffrents types des robots mobiles


La caractristique la plus remarquable dun robot mobile est
videment son moyen de Locomotion. Celui-ci dpend directement du
type dapplication vis ainsi que de type de terrain dans lequel le robot
mobile doit voluer (environnement d'intrieur, extrieur, libre ou
encombr d'obstacles,). Les robots mobiles sont classs gnralement
selon le type de locomotion utilis en quatre groupes distincts [S05].

2.5.1. Robots mobiles sur roues


La trs grande majorit de robots mobiles dvelopps jusqu ce jour
sont quips de roues plutt que de jambes. Les principales raisons de ce
choix technologique sont les suivantes: les roues Sont plus faciles
contrler, elles procurent une meilleure stabilit au vhicule, elles
dissipent moins dnergie et elles permettent au vhicule de se dplacer
plus rapidement. La figure 1.2 montrent diffrentes positions des roues.

Par contre, les roues comportent aussi un certain nombre


dinconvnients face aux mcanismes jambes. Entre autres, elles ne
sont utilisables que sur des terrains relativement plats et dont la surface
est dure. Sur des terrains accidents, les roues doivent tre plus grandes
que les obstacles quelles risquent de rencontrer. Dans le cas de surfaces
moins stables, les roues peuvent glisser ou senliser, ce qui pose des
difficults de contrle importantes. [Web1.1]

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure1. 2 Diffrentes positions des roues

2.5.2. Les robots mobiles sur chenilles (fig 1.3)


Des Robots a chenills sont idales pour les terrains accidents en
fournissant autant de traction que possible et rpartissent le poids du
robot uniformment.

Ces robots sont aussi beaucoup plus laise avec les obstacles,
pour un cot gure plus lev.

Cependant, le rendement est mauvais, cause des pertes par


friction lors des virages. En effet, pour tourner, les chenilles doivent glisser
contre le sol. Cest ce glissement qui est encore la source du deuxime
inconvnient majeur. Il empche tout asservissement reposant sur le
comptage des tours des roues.

Les robots chenilles sont donc rservs des sols rellement difficiles et ncessitent
un reprage extrieur pour leur asservissement, cest pourquoi ils sont peu rpandus [Web1.1].

Figure1. 3 le robot chenilles DFRobotShop Rover V2 [Web1.2]


Master Informatique Option IRCO Khadidja Cherifi
2016/2017 Amira Benoumessad
2.5.3. Les robots mobiles sur pattes (fig1.4)
Il existe plusieurs endroits o les vhicules munis de roues ou de
chenilles ne peuvent se rendent alors que les humains et les animaux le
peuvent fort bien.

Cest dans cette optique que les robots mobiles sur pattes ont vu le
jour. Ils sont encore mieux adapts au franchissement dobstacles et au
travail dans un environnement construit pour la morphologie humaine.

Des robots mobiles ayants quartes ou six pattes peuvent galement


tre utiliss. Elles ont lavantage thorique de pouvoir se dplacer sur des
terrains assez complexes, mme si en pratique la plupart de ces robots ne
fonctionnent que sur des sols plans.

Les robots hexapodes, cest dire ayant 6 pattes sont les plus
utiliss pour des raisons de stabilit.

Le nombre lev de pattes rend le mcanisme ainsi que sa


commande complexes et lasservissement encore plus.

Toutefois, ils comportent aussi des avantages. Ils peuvent franchir


des obstacles que les roues ne peuvent surmonter, monter et descendre
des escaliers, circuls sur des terrains trs accidents, et finalement, ils
ont moins tendance senfoncer dans un sol instable [Web1.1][FRM12].

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure1. 4 le robot sur pattes ASIMO de HONDA [Web1.3]

2.5.4. Robots mobiles omnidirectionnels


Un robot mobile est dit omnidirectionnel si lon peut agir
indpendamment sur les vitesses de ses roues.

Dun point de vue cinmatique on montre que cela nest pas


possible avec des roues

fixes ou des roues centres orientables. On peut en revanche


raliser un robot omnidirectionnel en ayant recours un ensemble de trois
roues dcentres orientables ou de trois roues sudoises disposes aux
sommets dun triangle quilatral (fig 1.5). Du point de vue de la
transmission du mouvement, ceci ne va pas sans poser de problme
[CBA96].

Les plateformes omnidirectionnelles permettent de dcoupler de


manire plus nette le contrle de la rotation et de la translation dun robot.
[FRM12].

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure1. 5 Reprsentation dun robot
mobile

omnidirectionne
3. Diffrents
types de
capteurs
Les capteurs sont les yeux du robot. Ils doivent tre capables de
donner au robot une description dtaille sur lenvironnement qui
lentoure. Dans cette partie, on prsente les capteurs les plus couramment
utiliss en robotique mobile pour les besoins de la navigation.

3.1. Capteurs internes


Dans les procdures mcaniques, ces capteurs fournissent, par
intgration, des informations lmentaires sur les paramtres
cinmatiques du robot, permettant ainsi un contrle permanent de la
bonne excution du mouvement. Les informations sensorielles gres
dans ce cadre sont gnralement des vitesses, des acclrations, des
angles de giration ou des angles dattitude [S05].

3.1.1. Les capteurs de dplacement


a) Les odomtres

Lodomtrie permet destimer le dplacement partir de la mesure


de rotation des roues (ou du dplacement des pattes). La mesure de
rotation est en gnral effectue par un codeur optique dispos sur laxe
de la roue, ou sur le systme de transmission (par exemple sur la sortie de
la boite de vitesse). Le problme majeur de cette mesure est que
lestimation du dplacement fournie dpend trs Fortement de la qualit
du contact entre la roue et le sol. Elle peut tre relativement correcte pour
une plate-forme deux roues motrices sur un sol plan de qualit uniforme,
mais est en gnral quasiment inutilisable seule pour un robot chenille
par exemple. Notons cependant que lerreur de ces mthodes se retrouve

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
en gnral principalement dans lestimation de la direction du robot tandis
que la mesure de la distance parcourue est souvent de meilleure qualit.

b) acclromtre

Un acclromtre est un capteur qui, fix un mobile ou tout autre


objet, permet de mesurer l'acclration linaire de ce dernier. On parle
d'acclromtre mme lorsqu'il s'agit en fait de 3 acclromtres qui
calculent les acclrations linaires selon 3 axes orthogonaux.

Par contre, lorsqu'on cherche dtecter une rotation ou vitesse


angulaire, on parle de gyromtre.

Plus gnralement on parle de centrale inertie lorsqu'on cherche


mesurer l'ensemble des 6 acclrations.

3.1.2. Les capteurs dattitude


Les capteurs dattitude permettent destimer les paramtres
intrinsques du robot que sont les angles de cap, de roulis et de tangage.
Ces capteurs sont principalement de type inertiel. Ils ont pour point
commun dtre gnralement coteux et sensibles au bruit, do une
intgration moins frquente dans les systmes embarqus que les
odomtres.

a) Le magntomtre

Le magntomtre mesure la direction du champ magntique


terrestre pour dduire lorientation du robot. Parmi toutes les technologies
adoptes pour ce type de capteur, la mieux adapte pour la robotique
mobile est celle dite vanne de flux. Elle a lavantage de consommer peu
dnergie, de navoir aucune pice mobile, dtre rsistante aux chocs et
vibrations et dtre peu coteuse.

Toutefois, les mesures sont perturbes par lenvironnement


magntique du robot. Ceci rend difficile lutilisation de ce capteur en
milieu intrieur. Nanmoins, ce capteur a par exemple t intgr avec

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
succs dans un systme de localisation bas sur le filtrage de Kalman
tendu.

La caractristique principale de ce capteur est sa prcision moyenne


qui est sur un long trajet, est relativement bonne.

b) Les gyroscopes

Les gyroscopes permettent de mesurer une variation angulaire. Ils


sont intressants en robotique mobile parce quils peuvent compenser les
dfauts des odomtres. Une erreur dorientation odomtrique peut
entraner une erreur de position cumulative qui peut tre diminue voire
compense par lutilisation conjointe de gyroscopes. Les gyroscopes trs
prcis sont trop onreux pour tre utiliss en robotique mobile.

Cependant, les gyroscopes fibre optique, connu pour leur grande


prcision, ont vu leur prix chuter et sont donc devenus une solution
attractive pour la navigation en robotique mobile.

c) Les gyromtres

Le gyromtre est un capteur qui permet de mesurer une vitesse


angulaire. Deux technologies sont actuellement disponibles, permettant
un rapport cot/performance compatible avec des applications robotiques.

d) Les gyrocompas

Le gyrocompas est un capteur qui permet de mesurer le cap. Il est


compos dun gyroscope et dun compas magntique. Le gyrocompas
conserve le nord magntique durant tout le dplacement du vhicule,
aprs lavoir initialement dtermin de faon autonome.

3.2. Les capteurs externes


Les capteurs extroceptifs permettent de percevoir le milieu
dvolution du robot. Ils sont gnralement le complment indispensable
aux capteurs prsents prcdemment. Des mthodes de fusion de
donnes seront alors utilises pour conditionner et traiter les informations
sensorielles de natures diffrentes [S05].
Master Informatique Option IRCO Khadidja Cherifi
2016/2017 Amira Benoumessad
3.2.1. Capteurs tlmtriques
a) Les capteurs laser

Le capteur laser est bas sur lmission dune onde


lectromagntique structure. Ce capteur permet donc dobtenir un
faisceau dondes trs concentr, contrairement aux capteurs ultrasonores.

Les systmes laser possdent de nombreux avantages qui en font


des capteurs souvent utiliss dans les applications de robotique mobile :

- La rsolution angulaire

- La rponse optique des cibles

b) Les capteurs infrarouges

Leur utilisation est similaire celle des lasers. Les mesures de


distance peuvent tre faites par triangulation, mesure dintensit et
mesure de temps de vol. On a aussi parfois des angles douverture
importants lmission.

c) Les capteurs ultrasons

Contrairement aux autres types de capteurs, ceux-ci mettent une


onde qui se propage dans lair (le plus souvent). Cela augmente beaucoup
le temps dacquisition, la vitesse du son tant trs faible devant celle de la
lumire. En revanche, la mesure par temps de vol est ici aise avec une
lectronique simple.

Lattnuation de londe est importante dans ce milieu: les distances


mesures restent faibles (quelques dizaines de mtres) mais suffisantes
en intrieur.

Deux caractristiques principales sont prciser. La premire est la


rflexion de londe sur un objet qui utilise les lois de Descartes. La seconde
dcoule du fonctionnement du capteur en metteur rcepteur.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
3.2.2. Les systmes de vision
Les systmes de vision en robotique sont bass sur lutilisation dune
camra CCD. Larrive de ces dernires a t dterminante dans
lvolution de la vision: la rapidit dacquisition, la robustesse et la
miniaturisation [S05].

Ces systmes sont trs performants en termes de porte, prcision


et quantit dinformations exploitables. Ils sont de plus les seuls capables
de restituer une image sensorielle de lenvironnement la plus proche de
celle perue par ltre humain ; ils sont intrinsquement coteux et les
traitements associs sont assez complexes.

Les techniques qui permettront dobtenir des informations 3D


partir dun tel capteur sont gnralement lies ladjonction dun autre
capteur. Dans ce cadre nous pouvons identifier les techniques suivantes :

a) La strovision

La strovision consiste observer une mme scne avec deux


camras qui sont loignes lune de lautre et dont on connat la
distance qui les sparent. La strovision apparat comme un des
moyens de perception les plus performants en robotique. Toute la
problmatique de la strovision rside dans la robustesse de la
phase de mise en correspondance des informations.

b) Les capteurs triangulation active (lumire structure)

Le principe est dclairer lenvironnement avec une lumire


cohrente et de lobserver avec une camra sous un certain parallaxe.
Connaissant la position de la source lumineuse et celle de la camra,
linformation peut tre obtenue par triangulation. La technique de
triangulation active est plus robuste que la strovision ; en revanche la
prcision nest pas uniforme sur lensemble de limage.

c) La vision omnidirectionnelle

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
On pourra distinguer quatre techniques pour obtenir une image
omnidirectionnelle.

-Gnration dimages par utilisation de plusieurs camras.

-Gnration dimages multiples par rotation dune camra.

-Utilisation de lentille spciale.

-Utilisation de miroirs convexe

3.3. Le systme de traitement des


informations et gestion des tches

Figure1. 6 Unit de traitement du robot khepera III

Lensemble de traitement des informations et gestion des tches


constitue le module dinformation central qui tablit les commandes
permettant au robot mobile de raliser un dplacement et dactiver les
divers organes en accord avec lobjectif.

4. Le robot Khepera III


Dans ce chapitre on va discuter des informations techniques sur le
robot Khepera III que nous avons choisi pour nos simulations ainsi que ses
capteurs infrarouges et ultrasons.

L'intgration de robot Khepera III est base sur 10 ans d'expertise en


robotique miniature. Les fonctions disponibles sur la plate-forme peuvent

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
correspondre aux performances de beaucoup plus grands robots, avec le
KoreBot intgr de puissance de calcul, de multiples rseaux de capteurs
pour les longues porte et la dtection d'objets courte porte, swappable
systme de batterie pour une autonomie optimale, et exceptionnelle
odomtrie d'entranement diffrentiel [Web3.1].

Figure1. 7 Le robot Khepera III

a) Larchitecture de Khepera III

L'architecture Khepera III offre une modularit exceptionnelle.


Comme un robot K-Team, le Khepera III utilise un systme de bus
d'extension pour des configurations presque illimites.

La base du robot peut tre utilis avec ou sans un conseil KoreBot II.
Lutilisation de la KoreBot II dispose une norme dun systme
d'exploitation Linux intgre pour le dveloppement de l'application
autonome rapide et facile. Sans le KoreBot II, le robot peut tre command
distance, comme le prcdent Khepera, il est facile dinterfacer avec un
ordinateur personnel.

Les programmes de coopration distance peuvent tre crits avec


Matlab, LabView, python, ou avec tout langage de programmation
supportant la communication du port srie.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
La base du robot comprend un rseau de 9 capteurs infrarouges
pour la dtection d'obstacles, ainsi que 5 capteurs ultrasons pour la
dtection d'objets longue porte (fig1.8).

Figure1. 8 Capteurs de khepera III

Le Khepera III est le nouvel outil standard pour des expriences et


des dmonstrations robotiques telles que: La navigation, Intelligence
artificielle, Les systmes multi agents, Contrle, Comportement collective,
Programmation en temps rel.

5. Les capteurs utiliss


Le capteur ultrason est toujours vulnrable au bruit. Ce problme est
partialement rsolu avec lalgorithme Bubble rebound, car il considre la
lecture de tous les capteurs lors du calcul de la moyenne angulaire de
rebond.

Cependant, il y a une situation, prsente dans la figure 1.9 lorsque


les capteurs ultrasons ne parviennent pas dtecter de gros obstacles
[IVG10].

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure1. 9 Une situation lorsque les capteurs ultrasons chouent .

Les solutions possibles ce problme pourraient tre:

- Utilisation d'une densit plus leve de capteurs,

- L'utilisation des capteurs infrarouges pour la dtection d'obstacles,

- Utilisation des capteurs laser rotatif.

Comme le robot choisi pour notre tude est Khepera III, nous avons
utilis :

les capteurs infrarouges pour la dtection des obstacles : ils


ont comme avantage dtre petits, bon march et faciles
mettre en uvre, et ils ne conviennent aussi que pour des
courtes distances.

les capteurs ultrasons pour la dtection de but : ils livrent des


informations relatives la position absolue dun objet cible fixe
et peuvent avoir une tendue de mesure leve.

5.1. Principe de fonctionnement des capteurs


infrarouges (fig 1.10)
Le capteur infrarouge peut tre utilis comme capteur de contact.
On fait une mesure avec la LED infrarouge teinte et une avec la LED
infrarouge allume. S'il n'y a aucun obstacle proche, la valeur lue est la

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
mme. Sinon, l'obstacle aura rflchi la lumire infrarouge et la deuxime
mesure donnera un rsultat plus lev.

Il peut aussi tre utilis en capteur de distance en mesurant l'angle


avec lequel le rayon rflchi arrive sur le rcepteur. En fonction de la
distance entre l'metteur et le rcepteur, on peut en dduire la distance
de l'obstacle.

Figure1. 10 Principe de fonctionnement des capteurs infrarouges.

Par rapport un capteur ultrasons, un capteur infrarouge permettra


une meilleure prcision. Le capteur infrarouge est sensible aux sources de
lumire qui contiennent un fort rayonnement infrarouge et galement la
couleur et la nature des obstacles. [Web3.2].

5.2. Principe de fonctionnement des capteurs


ultrasons (fig 1.11).
Un capteur ultrasons met intervalles rguliers de courtes
impulsions sonores haute frquence. Ces impulsions se propagent dans
lair la vitesse du son. Lorsquelles rencontrent un objet, elles se
rflchissent et reviennent sous forme dcho au capteur. Celui-ci calcule
alors la distance le sparant de la cible sur la base du temps coul entre
lmission du signal et la rception de lcho.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure1. 11 Principe de fonctionnement des capteurs ultrasons

La distance tant dtermine par le temps de propagation des


ultrasons et non par leur intensit, les capteurs ultrasons conviennent
parfaitement une suppression darrire-plan.

Pratiquement tous les matriaux rflchissant le son peuvent tre


dtects, quelle que soit leur couleur. Mme les objets transparents ou
films minces ne posent aucun problme un capteur ultrasons [Web3.3].

6. Conclusion
Dans ce chapitre on a prsent les diffrents robots mobiles et leurs
moyens de locomotion .On a prsent les domaines dutilisations de
chaque type ainsi que leurs points forts et points faibles.

Le deuxime lment important concerne les capteurs. La


navigation naura pas lieu sans leurs informations. On a prsent les
diffrents capteurs internes et externes. On a montr leurs principes de

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
fonctionnement et leurs limites dutilisation. Cette tude technique nous a
familiariss avec le robot khepera III. Pour le choix de ce dernier il offre
des possibilits du dveloppement de structures de contrle et
d'applications interactives.

Le Khepera III est quip d'une batterie compose de deux Li-Ion


Elment polymre(LT13) Le robot est capable de fonctionner dune faon
totalement autonome pendant plus de quatre heures, fonctionnant avec
une configuration( LT13).

Chapitre II
Master Informatique Option IRCO Khadidja Cherifi
2016/2017 Amira Benoumessad
tude thorique

1. Introduction
Ce chapitre prsente ltude cinmatique du robot. Nous avons
commenc par les diffrentes mthodes dvitement dobstacles
ractives existantes dans la littrature. On les a classes par leurs ordre
dapparition chronologique, ensuite on a entam une description dtaille

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
des lments ncessaires au calcul par lalgorithme bubble rebound qui
sera utilise par notre robot dans le calcul de langle de rebond.

Dans cet algorithme, le robot sarrte ds quil dtecte un obstacle


puis il tourne dans une direction lloignant de lobstacle. Dans notre
approche nous, on voudrait garder un mouvement continu au robot. Il
vite lobstacle sans avoir besoin de sarrter.

2. Approches dvitement dobstacles


2.1. Approches Ractives
Les approches ractives consistent calculer chaque pas de temps
(aprs rcupration des informations sur lenvironnement fournies
par les capteurs du systme) le contrle instantan appliquer sur
les actionneurs du systme. [D11].

2.1.1. Approche par champs de potentiel

La mthode des champs de potentiel pour la navigation en


robotique, initialement propose par [K85] pour un bras manipulateur,
consiste construire une fonction de potentiel qui rsume les objectifs de
la navigation: viter les obstacles (potentiel rpulsif) et atteindre une
configuration cible (potentiel attractif). chaque position du robot mobile,
une force rsultante de laction conjugue des obstacles et de la cible
est calcule, qui correspond une direction suivre par le robot mobile.

Nous reprsentons le formalisme de la mthode des champs de


potentiel classique dans le cas des robots mobiles.

a) Potentiel attractif

On utilise couramment un potentiel attractif dfini comme une


fonction de la distance au but (figure 2.1).

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure2. 1 Champ de potentiel attractif de la cible

b) Potentiel rpulsif

Lobjet du potentiel rpulsif est de crer une force qui tend carter
le robot des obstacles.

Ce potentiel doit tre trs important proximit de lobstacle mais


ne doit avoir aucune influence sur les mouvements du robot quand celui-ci
en est suffisamment loign (figure2.2).

Figure2. 2 Champ de potentiel rpulsif de l'obstacle

Les deux comportements, la recherche et l'vitement, peuvent tre


combines en combinant les deux champs potentiels, le robot peut alors
suivre la force induite par le nouveau champ pour atteindre l'objectif tout
en vitant l'obstacle(Figure2.3).

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure2. 3 Champ de potentiel global

2.1.2. Histogramme de champs de vecteurs

Cette mthode a t conue spcifiquement pour utiliser une grille


doccupation locale construite partir de capteurs ultrasons. Cette grille
est construite de manire trs rapide par la mthode "Histogramme in
motion mapping" qui produit une grille dont chaque cellule contient un
nombre dautant plus lev quelle a souvent t perue comme
contenant un obstacle (Figure 2.4).

Figure2. 4 Grille doccupation locale par la mthode "Histogrammic in motion


mapping"

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
La grille est construite dans le rfrentiel du robot,XW un compteur
est incrment pour chaque cellule appartenant au secteur angulaire dans
lequel un obstacle a t dtect et les valeurs sont dplaces dune
cellule lautre en fonction des dplacements du robot.

Un histogramme reprsentant loccupation de lenvironnement


autour du robot est ensuite construit partir de cette grille doccupation
locale. Pour cela, lenvironnement est discrtis en secteurs angulaires
pour lesquels la somme des valeurs des cellules est calcule(Figure2.5).

Un seuil permettant de tolrer un certain bruit est ensuite utilis


pour dterminer les directions possibles pour le robot: toutes les directions
dont la valeur est infrieure au seuil sont considres.

Le choix de la direction est finalement ralis parmi les directions


possibles en fonction de contraintes externes (par exemple la direction la
plus proche de la direction du but) [BK91].

Figure2. 5 Histogramme des obstacles pour dterminer la direction de


dplacement du robot

2.1.3. Navigation par diagrammes de proximit

Lapproche de navigation par diagrammes de proximit (Nearness


Diagram Navigation -ND) propose par Minguez et Montano [D11]
fortement inspire des VFH se base sur la topologie de lenvironnement
pour choisir un contrle appliquer chaque instant. Pour ce faire, deux

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
diagrammes polaires sont construits : lun reprsente la distance du centre
du robot aux obstacles dans toutes les directions autour de celui- ci (Figure
2.6); le second calcule cette mme distance partir des contours du robot
afin destimer la distance de scurit conserve. Ltude des
discontinuits de ces diagrammes de proximit permet de caractriser les
valles libres dobstacles autour du robot. La diffrence majeure par
rapport aux VFH consiste en la stratgie de navigation choisie. La mthode
ND utilise une stratgie dterministe de choix du comportement adopter
en fonction de la distance aux obstacles les plus proches, et en fonction de
la topologie des obstacles qui lentourent. Les options possibles se
rsument :

contourner un obstacle

passer entre deux obstacles

aller tout droit vers le but

.Ainsi qu choisir une vitesse faible ou leve suivant la proximit


des obstacles. Un contrle en vitesses linaire et angulaire est alors
calcul en fonction du comportement choisi.

De la mme manire que les approches prsentes prcdemment,


cette mthode nest pas vraiment adapte pour naviguer au milieu
dobstacles mobiles et ne prends pas en compte la dynamique du
systme.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure2. 6 Navigation par Diagrammes de Proximit (ND)

La figure 2.6 reprsente la navigation par diagrammes de proximit


(ND) qui est une Mthode ractive utilisant une reprsentation de haut
niveau de lenvironnement en dterminant les valles libres dobstacles.
Slection dans un second temps dune stratgie de navigation en fonction
de la topologie de lenvironnement, de la proximit des obstacles et de la
position finale.

2.1.4. Planification de mouvement partiel

Elle consiste calculer ractivrent, en un temps de dcision fixe,


une trajectoire se rapprochant le plus possible du but (Figure2.7). Cette
mthode consiste en un algorithme trois tapes rpt chaque pas de
temps :

Mise jour du modle de lenvironnement partir des entres


capteurs du robot.

Recherche dlibrative dune trajectoire menant ltat but. Si le


but na pas t atteint aprs un temps de dcision fixe, la trajectoire
calcule sen rapprochant le plus est choisie comme trajectoire suivre.

Enfin, le mouvement planifie au pas de temps prcdent est


excut.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Cette approche permet donc dtre ractive aux diverses volutions
de lenvironnement tout en tant capable de sortir dimpasses non
dtectes priori.

Elle reste sujette des minima locaux, mais y est nanmoins bien
plus robuste que les approches cites prcdemment.

Figure2. 7 Planification de mouvement partiel

Etant donne un temps de dcision fixe limit, la mthode choisit de suivre


la trajectoire planifie se rapprochant le plus prs du but si celui-ci na pas
t atteint.

2.1.5. Approche par Bubble Rebond

Cette approche prsente dans [IVG10] consiste utiliser plusieurs


capteurs ultrasons quidistants couvrant l'angle de 180 degrs (bulle de
sensibilit) comme indique la figure 2.8.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure2. 8 Robot, capteurs ultrasonique, et bulle de sensibilit

Initialement, le robot se dplace tout droit vers le but. Si un obstacle


est dtect dans la bulle de sensibilit, le robot "rebondit" dans une
direction ayant la plus faible densit d'obstacles, et continue son
mouvement dans cette nouvelle direction jusqu' ce que le but devient
visible ( savoir pas d'obstacle dans la plage de visibilit du sonar dans
cette direction), ou jusqu' ce qu'un nouvel obstacle est rencontr.

2.2. Autres mthodes


Il existe aussi dautres mthodes qui se basent sur les espaces des
vitesses tel que : la mthode de navigation courbure-vlocit, la mthode
de fentre dynamique etc. ainsi que dautres mthodes. Tel que : la
mthode de Reprsentation des obstacles dans lespace des Vitesses, la
mthode de la Navigation base sur les tats de collisions Invitables et
la mthode de la Dformation de trajectoire.

3.LApproche Bubble Rebond


La figure 2.9 prsente une illustration du rebond mcanisme. Dans
cette image, H est le " point de frape " l'emplacement du robot au
moment de la dtection d'un obstacle, et V est le point o le robot
regagne la visibilit de l'objectif. L'ensemble du processus est rsum dans
l'organigramme prsent dans la figure 2.10.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure2. 9 Illustration du processus de rebond

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Dpart

Ajouter la direction
Vers le but

Obstacle ?, Oui

Calculer la novelle
Non Direction
Sa dpasser tout droit vers
le but
Ajuster le
mouvement
But attention
Oui Oui Obstacle ?,

Stop
Non
Non

Oui But visible

Non

Reste en mouvement

Figure2. 10 Organigramme de l'algorithme de bulle


rebond

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
3.1. Calcul de langle de rebond par lapproche
bubble rebound [IVG10]
Cette approche consiste utiliser plusieurs capteurs quidistants qui
couvrent langle de 180 (fig 2.11).

La courbe A de la figure 2.11 reprsente la porte ou la gamme de


dtection des capteurs. La zone B (grise sur la figure) proportionnelle la
distance entre le bord du robot o sont placs le capteur et lobstacle. Elle
a donc la mme forme gomtrique que le robot. Elle indique la distance
parcourue par le robot pendant deux signaux successifs du capteur. Cette
forme est la sensitivity bubble.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure2. 11 bulle de sensibilit et gamme de dtection

Si on considre que le robot est quip de N capteurs, donc langle


balay par chaque capteur serait

Si on dcrit lemplacement angulaire des capteurs par langle polaire


calcul partir de la mdiane de laxe entre les deux roues du robot et
dont le sens positive et le sens trigonomtrique (fig 2.12).

Figure2. 12 Emplacement des capteurs

Langle du capteur i serait donc :


i = i*0

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Si Di est la valeur indique par le capteur i, langle de rebond serait donc
la moyenne

Cest langle permettant au robot dviter lobstacle. Elle nous


servira plus loin dans le calcul des vitesses donnes aux roues en cas de
dtection dobstacle.

3.2. Comparaison entre lapproche Bubble Rebond et


les autres approches ractives

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
3. Proposition dun ajustement de
mouvement pour le robot

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Dans la dmarche bubble rebound, le robot sarrte ds quil dtecte
un obstacle puis ajuste sa direction. Mme chose quand il regagne la
vision du but. Le mouvement du robot nest donc pas lisse, il est
discontinu.

Pour donner un mouvement continu au robot, nous avons propos


une autre manire dajustement du mouvement. Cest lentrainement
diffrentiel utilisant un robot deux roues motorises (robot unicycle)
(fig2.13).

Figure2. 13 Robot deux roues motorises [Web2.1]

Ce robot est quip de deux roues motrices, une de chaque ct du


robot. Chaque bloc, roue + moteur, est indpendant mcaniquement et
lectriquement. Il n'y a pas d'axe mcanique reliant les axes moteurs. Les
moteurs sont aliments individuellement. La seule liaison mcanique est
le chssis du robot (comme support). La plateforme est quipe d'une
roue libre pour l'quilibre du robot (base du robot en contact avec le sol
triangulaire, mieux que linaire)

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
3.1. Modle cinmatique du mouvement
Ils existent deux modles cinmatiques possibles pour lajustement
du mouvement par un entrainement diffrentiel :

- un modle consiste arrter une roue et laisser lautre roue en


marche (le centre de rotation est la roue fixe).

- le deuxime consiste augmenter la vitesse angulaire dune roue


et diminuer la vitesse angulaire de lautre en construisant un centre de
rotation instantan CIR .

Nous avons utilis la formule de calcul diffrentiel des vitesses des


roues en se basant sur le modle cinmatique des robots unicycles avec
un CIR [F12] [M15] (fig2.14):

Figure2. 14 Modle cinmatique dun robot unicycle (avec CIR)

(A) est le cas o le robot se dplace sur une droite. Les vitesses
angulaires des deux roues gauche et droite ( g ,d ) sont gaux.

(B) le robot rencontre un obstacle gauche. La vitesse angulaire g


de la roue gauche augmente et la vitesse angulaire d de la roue droite
diminue. Cela fait tourner le robot dun angle permettant lvitement de
lobstacle.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
3.2. Contrle du mouvement
En se basant sur le modle cinmatique du mouvement du robot
unicycle avec CIR, la formule de contrle proportionnel [TYG13]
dentrainement diffrentiel pour ajuster le mouvement est donn par:

g/d= i kp*R

avec :

g/d: la vitesse angulaire gauche / droite des roues, cela dpend de


la position de lobstacle gauche ou droite du robot.

i: la vitesse de rotation initiale des roues. Dans notre cas on


considre quavant dtection dobstacle, les roues du robot roulaient avec
une vitesse constante (mouvement uniforme).

Kp: le gain proportionnel de rebond. Il reprsente une constante de


mise lchelle utilise pour le rglage. Sa valeur dpend directement de
i. Comme cette dernire est constante, kp est aussi dans un intervalle
particulier.

R: la moyenne angulaire de rebond, calcule dans le 2.

Pour choisir le Kp appropri, il faut tenir en compte des variations de


la valeur de la

moyenne angulaire de rebond R ; c..d. le type et le nombre de


capteur, ainsi que de la vitesse initial i.

4. Description de lalgorithme (fig2.15)


Contrairement une approche dlibrative qui possde des
mcanismes de localisation du robot (cartographie, GPS, ... etc.), et qui lui
permet de suivre un chemin particulier parmi les chemins disponibles o
peu importe la situation du but. On sest bas dans notre tude sur une

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
approche purement ractive. Dans ce cas le robot ne reconnat que les
informations de lenvironnement indiques par les capteurs. Il ne peut pas
suivre un but qui est hors port des capteurs et la seule solution est de
maintenir le dplacement jusquil dtecte le but. Notre algorithme est
prsent sur la figure 2.15.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure2. 15 Lorganigramme de notre algorithme

5. Conclusion
Nous avons vue dans ce chapitre les diffrents algorithmes
dvitement dobstacles : nous avons prsent quelques mthodes
ractives munit dune description dtaille de lapproche bubble Rebond
quon a utilis, ainsi une tude comparative entre les diffrentes
mthodes qui a montr que la mthode Bubble rebond est adapte pour
naviguer dans un environnement dynamique, elle est facile
limplmentation et rapide dans le calcul. Elle sera donc utilise dans notre
programme avec une locomotion roues.

Cette tude thorique nous a permis de former une image


cohrente de notre chemin vers lobjectif qui est lvitement dobstacles
par un robot au cours de navigation, mettant en vidence tout le bagage
cinmatique et algorithmique ncessaires.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Chapitre III
Programmation et simulation

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
1. Introduction
Ce chapitre contient des informations techniques sur la plateforme
virtuelle

dexprimentation robotique V-rep et lenvironnement de


dveloppement Spyder pour le calcul scientifique en utilisant le
langage de programmation python.

Comme il prsente les tapes de programmation de lalgorithme


dvitement dobstacle et des simulations des diffrentes scnes de
dplacement du robot dans un environnement avec obstacle.

Apres la prsentation de V-rep et Spyder Nous avons


commenc par la configuration de la scne, puis ltablissement de la
connexion entre lIDE Spyder et le Simulateur V-rep, ensuite nous avons
implment notre algorithme de navigation du robot.

2. La plateforme virtuelle
d'exprimentation robotiques V-
rep(fig3.0)
Le logiciel V-REP (Virtual Robot Experimentation Platform) est un
puissant simulateur 3D de robot, qui comporte plusieurs modules de calcul
polyvalent (cinmatique inverse, Physique / dynamique, dtection de
collision, les calculs de distance minimale, planification de chemin, etc.),
une architecture de contrle distribu (nombre illimit de scripts de
contrle, avec ou sans thread), et plusieurs mcanismes d'extension (plug-
ins, application client personnalise, etc.) [T12].

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure3. 1 la plateforme virtuelle dexprimentation robotique V-REP

V-REP est l'outil du prototypage rapide et la vrification, la


surveillance distance, le dveloppement de l'algorithme rapide,
lducation robotique connexes, et la simulation des systmes
d'automatisation d'usine. Un plug-in V-REP a t spcialement dvelopp
pour permettre une simulation de robot intuitive, facile et raliste.

2.1. Les objets dobservation


Les principaux lments de V-REP qui sont utiliss pour la
construction d'une scne de simulation sont des objets. Les objets sont
visibles dans la hirarchie de la scne et dans la vue de la scne. Dans
cette dernire, les objets ont une reprsentation en trois dimensions
comme illustr sur la figure ci-dessous (fig3.1):

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure3. 2 Les objets dobservation de V-rep

Chaque objet a une position et une orientation dans la scne de


simulation. On se rfre la position et l'orientation d'un objet en tant que
configuration de l'objet. Les objets peuvent tre attachs d'autres objets
(ou construits au-dessus de l'autre).

2.2. Modules de calcul (fig3.2)


V-REP offre des fonctionnalits puissantes de calcul, ou des modules
de calcul, qui ne sont pas directement encapsules dans des objets (tels
que des capteurs de proximit ou des capteurs de vision, par exemple),
mais qui fonctionnent plutt sur un ou plusieurs objets.

Les modules de calcul comprennent:

- le module de dtection de collision: il permet de suivre,


d'enregistrer et de visualiser les collisions qui pourraient survenir entre
toute entit collidable.

- le module de calcul de la distance minimale: le module permet de


suivre, d'enregistrer et de visualiser les distances minimales entre toute
entit mesurable.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
- le module de calcul de cinmatique : le module permet de rsoudre
d'une manire trs efficace tout type de problme cinmatique.

- le module de contrainte de rsolveur gomtrique: le module


permet de rsoudre les problmes de cinmatique inverse ou vers l'avant,
tout en offrant une grande tendue de possibilits d'interaction
l'utilisateur.

- le module dynamique: le module permet de simuler


dynamiquement des objets ou des modles pour raliser des interactions
d'objets (par exemple rponse de collision, objet de saisie, etc.)

- le module chemin et le mouvement de planification: le module,


encapsul dans un plugin, permet d'effectuer des chemins et de
planification de mouvement des calculs bass sur la bibliothque OMPL.

Figure3. 3 les modules de calcule de V-rep

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
2.3. Le Framework API (Application Programing
interface) de V-REP
Le Framework API de V-REP regroupe toutes les interfaces autour de
V-REP. Il est livr en4 + 1 saveurs diffrentes:

L'API rgulire (plugins, scripts embarqu)

L'API distance (Remote API client)

L'interface ROS

L'API auxiliaire

D'autres interfaces

Tandis que l'API rgulire est accessible partir du simulateur (par


exemple partir d'un script intgr, un Add-on, un plug-in ou l'application
cliente principale), l'API distance et l'interface ROS peut tre consult
partir de presque toute application ou matriel externe possible.

L'API auxiliaire n'est pas une interface en soi, mais plus une
collection de fonctions d'aide qui peut tre intgr, et qui oprent par eux
mme. Les autres objets d'interfaces regroupent toutes les possibilits
pour l'utilisateur d'tendre les interfaces disponibles. La figure suivante
(fig 3.3) illustre une vue d'ensemble des diffrentes interfaces:

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure3. 4 Diffrents endroits et interfaces disponibles

Remote API (fig. 3.4)

Ils existent six types de mthode de contrle dans et autour V-rep


(voir Annexe B). Dans notre cas nous avons utilis le Remote API client.

L'API distance (Remote API) fait partie du Framework API de V-REP.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
V-REP propose une API permettant de contrler distance une
simulation (ou le simulateur lui-mme) provenant d'une application
externe ou d'un matriel distance (par exemple rel du robot, un
ordinateur distant, etc.). L'API distance V-REP est compos d'une
centaine de fonctions spcifiques et une fonction gnrique, qui peuvent
tre appels partir d'un C / C ++ demande, un script Python, une
application Java, un programme Matlab / Octave, un script Urbi, ou un
script Lua.

Les fonctions de l'API distance sont en interaction avec V-REP via


une communication de prise d'une manire qui rduit lag et la charge du
rseau dans une grande mesure. Tout cela se fait d'une manire invisible
pour l'utilisateur. L'API distant peut laisser une ou plusieurs applications
externes interagir avec V-REP dans une synchrone ou asynchrone manire
(asynchrone par dfaut), et le contrle mme distance du simulateur est
pris en charge (par exemple le chargement distance une scne,
commencer, pause ou un arrt une simulation par exemple).

La fonctionnalit de l'API distance est disponible en 2 entits


distinctes, qui interagissent via la communication socket:

le ct client (application): l'API distance sur le ct client est


disponible pour de

nombreux langages de programmation. Actuellement les langages


suivantes sont supportes: C / C ++, Python, Java, Matlab, Octave, Urbi et
Lua. Manchettes pour d'autres langages peuvent facilement tre cres
par lutilisateur.

le ct serveur (V-REP): l'API distance sur le ct serveur est


mis en oeuvre par l'intermdiaire d'un plug-in V-REP qui
devrait tre charg par V-REP par dfaut:

v_repExtRemoteApi.dll (pour Windows), libv_repExtRemoteApi.dylib


(pour MAC) ou libv_repExtRemoteApi.so (pour Linux).

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure3. 5 le Remote API fonctionne avec tous les matriaux en utilisant
plusieurs langages de programmation

3. Lenvironnement de dveloppement
Spyder (fig3.5)
Spyder est un environnement de dveloppement intgr (IDE) pour
le calcul scientifique semblable MATLAB en utilisant le langage de
programmation Python. Il est livr avec un diteur pour crire du code,
d'une console pour l'valuer et de voir ses rsultats tout moment, un
explorateur de variable pour voir quelles variables ont t dfinis lors de
l'valuation, et plusieurs autres installations pour vous aider dvelopper
efficacement les programmes dont vous avez besoin en tant que un
scientifique .

Spyder est un environnement de calcul scientifique trs fort grce


l'appui de IPython (linterprteur Python interactif augment) et les

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
bibliothques Python populaires tels que NumPy(de l'algbre linaire),
SciPy (traitement de signal et dimage) ou matplotlib (traage interactif 2D
/3D) [web3.4].

3.1. Editeur de code


coloration syntaxique (Python, C / C ++, Fortran).

point darrt et points d'arrt conditionnels (dbogueur: pdb).

excuter ou dboguer des scripts Python.

des botes de dialogue de configuration:

rpertoire de travail.

options de ligne de commande.

excuter dans un nouvel interprteur Python ou dans un


interprteur Python existant ou dans un IPython client.

options de ligne de commande de linterprteur Python.

etc.

3.2. Console
toutes les consoles sont excutes dans un processus spar

la compltion de code / l'aide des appels et le lien automatique


l'inspecteur d'objet.

Ouvrir des interprtes Python ou des fentres de commande Terminal de


base.

Excuter des scripts Python.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
3.3. Explorateur de variable
Des diteurs bass sur une interface graphique pour un grand
nombre de types de donnes (numros, chanes, listes, tableaux,
dictionnaires, )

les donnes d'importation / exportation de / vers un grand nombre


de types de fichiers (fichiers texte, fichiers numpy, fichiers MATLAB)

multiples instances de l'diteur de tableau/listes/dictionnaire la


fois, ce qui permet de comparer le contenu des variables.

visualisation de donnes.

4. Configuration de la scne
Avant dentamer la programmation et la simulation, il faut tout
dabord configurer la scne, c..d. ajouter des obstacles, situer un but et
configurer le robot.

4.1. Configuration du robot


La plateforme V-rep contient des scripts embarqus LUA de lAPI
rgulire par dfaut pour chaque robot, donc il faut dsactiver celui de
Khepera III pour utiliser plutt notre script Python du Remote API client.

Le robot Khepera III comporte 9 capteurs infrarouges. On a utilis les


6 capteurs en avant qui sont suffisants pour couvrir lespace angulaire de
180 pour la dtection des obstacles (fig3.6).

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Fi
gure3. 6 Configuration des capteurs infrarouges du robot

Pour la dtection du but, nous avons utilis les 5 capteurs ultrasons


disponibles. Nous avons install un traceur de graphe pour tracer la
trajectoire parcourue par le robot, et une camra pour avoir la vision du
robot (fig3.7).

Figure3. 7 Graphe de trajectoire et camra vision du robot

4.2. Configuration des obstacles


Aprs le placement des objets (obstacles) dans la scne, nous les
avons configurs pour quils soient dtectables par les capteurs
infrarouges (fig3.8).

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure3. 8 Configuration dun obstacle sur scne

4.3. Configuration du but


Mme chose que pour les obstacles, on a configur le but qui doit
tre dtect par les capteurs ultrasons (fig3.9).

Figure3. 9 Configuration du but sur scne

La figure 3.10 reprsente la scne de simulation avec tous les


acteurs ; obstacles et but.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure3. 10 Scne aprs configuration

5. Programmation
Dans cette partie, nous allons prsent les diffrents blocs qui forme
notre programme.

5.1. Etablissement de la connexion entre V-rep


et Spyder
Pour connecter notre application python du Remote API client avec la
plateforme V-rep, nous avons utilis les fonctions suivantes :

- simxStart : qui permet de dmarrer un thread de communication


avec le serveur (V-rep), cela devrait tre la premire fonction de Remote
API appel dans le ct client (Spyder).

SimxStart peut tre utilis avec ses paramtres comme suit:

ClientID = simxStart (Adresse de connexion, Port de connexion,


Attendre la connexion [Vrai / Faux], Ne reconnecter pas une fois
dconnect [Vrai / Faux],Dlai d'attente en ms, Cycle de thread de
communication)

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
- simxFinish : Elle termine le thread de communication. Cela
devrait tre la dernire fonction de Remote API appel dans le ct client.
simxFinish ne doit tre appele quaprs un appel russi de simxStart.

simxFinish peut tre utilis avec son paramtre clientID comme suit
:

simxFinish (clientID)

5.2. Exploitation des capteurs


Nous avons exploit les capteurs du robot dans notre application
laide de la fonction simxReadProximitySensor, cette fonction permet la
lecture de l'tat d'un capteur de proximit:

Code de retour, tat de dtection [Vrai / Faux], point dtect, objet


dtect, surface dtect du vecteur normale = simxReadProximitySensor
(clientID, capteur, mode dopration)

Nous avons stock les valeurs de distances entre les capteurs et


lobjet dtect dans un tableau, en utilisant les fonctions array, append et
linalg.norm de la bibliothque numpy, et les coordonnes du point dtect
partir des valeurs de retour de la fonction simxReadProximitySensor.

Ensuite nous avons utilis ces valeurs Di pour calculer de la


moyenne angulaire de rebond R .

5.3. Control du mouvement


En se basant sur le modle cinmatique, le modle de contrle
(chapitre II), et les fonctions de Remote API client
(simxGetObjectHandle et simxSetTargetVelocity), nous avons
contrl le mouvement du robot comme suit :

Nous avons introduit les paramtres de contrle qui sont dans notre
cas les moteurs lis aux deux roues (k3_rightWheelMotor et
k3_leftWheelMotor) en utilisant la fonction simxGetObjectHandle.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Code de retour, contrle = simxGetObjectHandle (clientID, nom de
lobjet contrler, mode dopration)

En suite nous avons utilis la fonction de contrle pour calculer les


vitesses droites et

gauches des moteurs.

Omega_G = Omega_I +kp * Alpha_R

Omega_D = Omega_I -Kp * Alpha_R

Pour calculer les vitesses des deux roues motrices, nous avons
utilis une vitesse initial constante Omega_I du robot, langle de rebond
calcul Alpha_R, et le gain proportionnel kp.

Le rapport entre kp et Omega_I doit tre toujours constant. Le


meilleur rapport dans notre cas dexprimentation est : ratio = kp /
Omega_I = 0.5, donc si on veut changer la vitesse initial Omega_I le kp va
tre changer automatiquement pour quil soit appropri la nouvelle
vitesse Omega_I.

Les vitesses de rotation Omega_G et Omega_D calcules, ne doivent


pas dpasser la vitesse maximum de rotation du moteur du robot khepera
III max = 25 rad/s, que nous avons calcul partir de la vitesse
maximum du robot: vmax = 0.5 m/s et le rayon de la roue: r = 0.02 m
(voir Annexe A).

V max
max =
r

Aprs que les vitesses des deux roues sont calcules, nous les avons
envoy comme paramtres dans la fonction simxSetTargetVelocity.

Code de retour = simxSetJointTargetVelocity (clientID,


rightMotorHandle, Omega_D, mode dopration)

Code de retour = simxSetJointTargetVelocity (clientID,


leftMotorHandle, Omega_G, mode dopration)

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
En fin nous avons ajout linstruction qui assure la ractivit :

time.sleep(0.2)# la boucle excute cinq fois par second

6. Simulation et rsultats
dexprimentation
La vrification des variables en cours dexcution est trs importante
dans la simulation. Cela nous permettra de faire des modifications en cas
dapparition de problmes. Un exemple daffichage des donnes envoyes
par les capteurs (fig3.11).

Figure3. 11 Affichage des diffrentes variables envoyes par le programme

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Aprs la fin de simulation nous avons obtenu la courbe des
variations de la moyenne

angulaire de rebond (fig3.12) ainsi que les courbes dentrainement


diffrentiel du robot au cours de son navigation (fig3.13).

Figure3. 12 Courbe des variations de la moyenne angulaire de rebond

Lensemble des valeurs positives dans la courbe indique la dtection


dun ou de plusieurs obstacles au cot gauche du robot (par les capteurs
situs gauche du robot).

Lensemble des valeurs ngatives indique la dtection dun ou de


plusieurs obstacles au cot droit du robot.

Lensemble des valeurs nulles indique que le robot ne dtecte aucun


obstacle.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure3. 13 Courbe dentrainement diffrentiel

La courbe en bleu reprsente la variation de la vitesse angulaire de


la roue motorise gauche.

La courbe verte reprsente la variation de la vitesse angulaire de la


roue motorise droite.

Nous avons obtenu aussi la courbe de la trajectoire parcourue par le


rebot (fig3.14).

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Figure3. 14 Trajectoire parcourue par le robot

Finalement, on peu voir sur la figure 3.15 la simulation complte sur


scne.

Figure3. 15 Scne du dbut la fin de la simulation

Le robot arrive son but en vitant tous les obstacles et en


parcourant la trajectoire en jaune sur la scne et en rouge sur le graphe.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
7. Discussion
Parmi les avantages de notre algorithme on trouve que :

- Il est capable d'viter toute sorte d'obstacles statiques, et mme


certains obstacles mobiles, comme les humains en situation de
dplacement;

- Il peut tre facilement adapt d'autres capteurs, comme les


capteurs lasers rotatifs;

- Il fonctionne trs bien sur les passages troits.

- Le mouvement est lisse.

Et les principales faiblesses sont celles qui sont communes la


majorit des algorithmes purement ractifs:

- Il est loin d'tre optimal;

- Le mouvement est entam, mme s'il n'y a pas de chemin vers


but;

- L'chec est possible, mme si un chemin valide vers le but existe.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
8. Conclusion
Cette tude pratique nous a familiaris avec la plateforme V-rep, et

lIDE Spyder qui sont les lments principaux de notre


programmation et simulation. aussi elle nous a permet davoir une ralit
virtuel de notre programme dvitement dobstacles sur la scne de la
plateforme V-rep et de tester la majorit des cas(obstacles mobiles,
changement de lemplacement des obstacles etc.) pour arriver
finalement des rsultats raisonnables et acceptables.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
Biblio &Webographie

[F12] Filliat.D, Programme UNIT-GDR Robotiques, cole nationale


suprieure de (Filliat.D . n., 2012)

[S05] Sliman.N, Systme de Location pour Robots Mobiles, thse de


doctorat, universit de Batna , Algrie, 2005.

[Web1.1] Le site de NXT, Les robots mobiles, Article,


http://www.sitedunxt.fr/articles/print.php?id=24, Dcembre 2015.

[FRM12] Filliat, David, Robotique Mobile, cole nationale suprieure


de technique Avances ParisTech, France,2012

[CBA96] Campion.G, Bastin.G, Andra-Novel.B Structural Properties


and Classification of Kinematic and Dynamic Models of Wheeled
Mobile Robots. IEEE Transactions on

Robotics and Automation, 1996.

[Web1.3] W3SH, ASIMO le Robot de HONDA, Image,


http://www.w3sh.com/wordpress/wpcontent/
uploads/2014/11/asimo_v2-630x354.jpg, Dcembre 2015.

[IVG10] Ioan.S, Viorel.M, Grigore.V, Simple, Real-Time Obstacle


Avoidance Algorithm for Mobile Robots, WSEAS Int Conf. on
Computational, Intelligence Man-machine Systems,CIMMACS 2010.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
[Web3.2] Gnration Robots, Le Capteur Infrarouge : Utilit et
Emploi., Article,

http://www.generationrobots.com/fr/content/70-capteur-infrarouge,
Avril 2016.

[Web3.3] Microsonic, Les Capteurs Ultrasons, Article,


http://www.microsonic.de/fr/support/capteurs-%C3%A0-
ultrasons.htm, Avril 2016.

[ LT13 ] Lambercy .F and Tharin.J ,khepera III user manual, Suisse, K-


Team S.A,2013

[D11] Delsart.V, Navigation Autonome en Environnement Dynamique :


une Approche par Dformation de Trajectoire, thse de doctorat,
universit de Grenoble, France, 2011.

[K85] Khatib.O, Real-Time Obstacle Avoidance for Manipulators and


Mobile Robots.IEEE International Conference on Robotics and
Automation, 1985.

[BK91] Borenstein, J., Koren, Y., The Vector Field Histogram Fast
Obstacle Avoidance for MobileRobots. IEEE Journal of Robotics and
Automation, 1991.

[IVG10] Ioan.S, Viorel.M, Grigore.V, Simple, Real-Time Obstacle


Avoidance Algorithm for Mobile Robots, WSEAS Int Conf. on
Computational, Intelligence Man-machine Systems,CIMMACS 2010.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad
[F12] Filliat.D, Programme UNIT-GDR Robotiques, cole nationale
suprieure de technique Avances ParisTech, France, 2012.

[M15] Morbidi.F, Perception Avanc et Robotique Mobile, Laboratoire


MIS, universit de picardie, France, 2015.

[TYG13] Temel.S, Yagli.S, Goren.S, EE402- Discrete Time Control


Systems, Recitation 4

Report: P,PD,PI,PID Controllers, Middle East Technical University,2013.

Master Informatique Option IRCO Khadidja Cherifi


2016/2017 Amira Benoumessad

Vous aimerez peut-être aussi