Arduino
Arduino
Arduino
MASTER
Présenté par :
-Belhouchet Khaled
-Khammar Kamelia
Soutenu le : 05 Juin 2013
MASTER
-Khammar Kamelia
Cachet et signature
اﻟﺟﻣﮭورﯾﺔ اﻟﺟزاﺋرﯾﺔ اﻟدﯾﻣﻘراطﯾﺔ اﻟﺷﻌﺑﯾﺔ
République Algérienne Démocratique et Populaire
وزارة اﻟﺗﻌﻠﯾم اﻟﻌﺎﻟﻲ و اﻟﺑﺣث اﻟﻌﻠﻣﻲ
Ministère de l’enseignement Supérieur et de la Recherche scientifique
Notre projet robot mobile avec suivi visuel de ligne, est de type uni-cycle composé par un châssis et 3
roues : deux roues motrices polarisées sur même axe et une roue libre pour assurer l’équilibre du robot. Pour
commander les deux moteurs CC une carte ArduinoUno a été utilisée.
Le suivi de la ligne est assuré par un système à base d’un laptop et une webcam permettant
l’acquisition en temps réel de l’image du terrain. Cet image utilisée pour la détection de la ligne et le calcule
des commandes envoyées à la carte de commande des moteurs pour assurer le suivi de la ligne.
ﻋﺠﻼت ﻋﺠﻠﺘﯿﻦ ﻟﻠﻘﯿﺎدة ﻣﺘﻤﺮﻛﺰﺗﯿﻦ3 ﯾﺘﻜﻮن اﻟﺮوﺑﻮت ﻣﻦ اطﺎر و. ﻣﺸﺮوﻋﻨﺎ ھﻮ ﻋﺒﺎرة ﻋﻦ روﺑﻮت ﻣﺘﺤﺮك ﯾﺘﺘﺒﻊ ﺑﺎﻟﺒﺼﺮﯾﺔ اﻟﻤﺴﺎر
. ﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻤﺤﺮﻛﯿﻦ ﻣﻦ ﻧﻮع ﺗﯿﺎر ﻛﮭﺮﺑﺎئ ﻣﺴﺘﻤﺮ اﺳﺘﺨﺪﻣﻨﺎ ﺑﻄﺎﻗﺔ اردوﯾﻨﻮ اﯾﻨﻮ.ﻋﻠﻰ ﻧﻔﺲ اﻟﻤﺤﻮر وﻋﺠﻠﺔ ﺣﺮة ﻟﺘﺤﻘﯿﻖ ﺗﻮازن اﻟﺮوﺑﻮت
ھﺬه اﻟﺼﻮرة ﺗﺴﻤﺢ ﺑﺎﻟﻜﺸﻒ ﻋﻦ. وﻟﻀﻤﺎن ﺗﺘﺒﻊ اﻟﻤﺴﺎر اﺳﺘﻌﻤﻠﻨﺎ ﻛﻤﺒﯿﻮﺗﺮ ﻣﺤﻤﻮل و ﻛﺎﻣﯿﺮا وﯾﺐ ﺗﻘﻮم ﺑﻨﻘﻞ ﻣﺒﺎﺷﺮ ﻟﺼﻮرة اﻟﺤﻘﻞ
.اﻟﻤﺴﺎر وﺣﺴﺎب اﻻواﻣﺮ اﻟﻤﺮﺳﻠﺔ اﻟﻰ ﻟﻮﺣﺔ اﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻤﺤﺮﻛﺎت ﻟﻤﺮاﻗﺒﺔ ﺗﺘﺒﻊ اﻟﻤﺴﺎر
Le mémoire contient par ordre d'apparition:
Dédicaces
Remerciements
Liste des Tableaux
Liste des Figures
Liste des abréviations
Résumés (bilingue)
Sommaire :
* Introduction générale
* Chapitre 1, 2, 3…
(Chaque chapitre commence par une Introduction et se termine par une conclusion)
* Conclusion générale et perspectives
* Bibliographie
* Annexe
Type d'écriture:
Remarques :
Eviter le glaçage de la page de garde. ﻋﺪم ﺗﺠﻠﯿﺪ اﻟﺼﻔﺤﺔ اﻷوﻟﻰ
Respecter le contenu par ordre d’apparition. اﺣﺘﺮام اﻟﻤﺤﺘﻮى اﻟﻤﺬﻛﻮر أﻋﻼه
Ecrire les résumés bilingues dans une seule ﻛﺘﺎﺑﺔ ﻣﻠﺨﺺ ﻟﻠﻤﺬﻛﺮة ﺑﺎﻟﻠﻐﺘﯿﻦ
page… )اﻟﻌﺮﺑﯿﺔ واﻟﻔﺮﻧﺴﯿﺔ( و ﻓﻲ ﺻﻔﺤﺔ
اﻟﺦ... واﺣﺪة
Dédicaces
A mes parents
Khammar kamelia.
Remerciements
Nous tenons premier lieu remercier Dieu tout puisant de m’avoir accordé la force et le
courage de mener ce travail à terme.
Nous tenons à adresser mes sincères remerciements à mon encadreur de thème le
Dr .Mohamed Boumehraz ,Professeur à l’Université Mohamed Kheidar de Biskra pour sa
disponibilité, pour sa lecture , suggestion et remarques et surtout pour sa confiance sans
limite mise en mois tout au long de ce projet de recherche. Nous vous pris de bien vouloir
agréer le témoignage de ma plus vive reconnaissance et mon profond respect.
Nous remerciements particulièrement ma famille pour leur soutien moral tout au
long de ce travail, merci de m’avoir encouragé, et cru en moi.
Nous remerciements également mes amis mes collègues de travail, sans oublier mes
collègues du laboratoire qui m’ont encouragé tout au long de ce projet et m’ont beaucoup
aidé.
Enfin, nous remerciements les membres de jury qui m’ont fait l’honneur d’accepter
de juger ce modeste travail.
Liste des tableaux
Notre projet robot mobile avec suivi visuel de ligne, est de type uni-cycle composé
par un châssis et 3 roues : deux roues motrices polarisées sur même axe et une roue libre
pour assurer l’équilibre du robot. Pour commander les deux moteurs CC une carte
ArduinoUno a été utilisée.
Le suivi de la ligne est assuré par un système à base d’un laptop et une webcam
permettant l’acquisition en temps réel de l’image du terrain. Cet image utilisée pour la
détection de la ligne et le calcule des commandes envoyées à la carte de commande des
moteurs pour assurer le suivi de la ligne.
: ﻣﻠﺨﺺ
: ﻋﺠﻼت3 ﯾﺘﻜﻮن اﻟﺮوﺑﻮت ﻣﻦ اطﺎر و. ﻣﺸﺮوﻋﻨﺎ ھﻮ ﻋﺒﺎرة ﻋﻦ روﺑﻮت ﻣﺘﺤﺮك ﯾﺘﺘﺒﻊ ﺑﺎﻟﺒﺼﺮﯾﺔ اﻟﻤﺴﺎر
ﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻤﺤﺮﻛﯿﻦ ﻣﻦ ﻧﻮع ﺗﯿﺎر.ﻋﺠﻠﺘﯿﻦ ﻟﻠﻘﯿﺎدة ﻣﺘﻤﺮﻛﺰﺗﯿﻦ ﻋﻠﻰ ﻧﻔﺲ اﻟﻤﺤﻮر وﻋﺠﻠﺔ ﺣﺮة ﻟﺘﺤﻘﯿﻖ ﺗﻮازن اﻟﺮوﺑﻮت
.ﻛﮭﺮﺑﺎء ﻣﺴﺘﻤﺮ اﺳﺘﺨﺪﻣﻨﺎ ﺑﻄﺎﻗﺔ اردوﯾﻨﻮ اﯾﻨﻮ
ھﺬه. وﻟﻀﻤﺎن ﺗﺘﺒﻊ اﻟﻤﺴﺎر اﺳﺘﻌﻤﻠﻨﺎ ﻛﻤﺒﯿﻮﺗﺮ ﻣﺤﻤﻮل و ﻛﺎﻣﯿﺮا وﯾﺐ ﺗﻘﻮم ﺑﻨﻘﻞ ﻣﺒﺎﺷﺮ ﻟﺼﻮرة اﻟﺤﻘﻞ
.اﻟﺼﻮرة ﺗﺴﻤﺢ ﺑﺎﻟﻜﺸﻒ ﻋﻦ اﻟﻤﺴﺎر وﺣﺴﺎب اﻻواﻣﺮ اﻟﻤﺮﺳﻠﺔ اﻟﻰ ﻟﻮﺣﺔ اﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻤﺤﺮﻛﺎت ﻟﻤﺮاﻗﺒﺔ ﺗﺘﺒﻊ اﻟﻤﺴﺎر
I.1. INTRODUCTION…………………………………………………………………... 03
I.2. DEFINITION……………………………………………………………………….. 03
I.2.1. Robot mobile………………………………………………………………….. 03
I.3. APERÇU HISTORIQUE………………………………………………………….. 04
I.4. LES EFFECTEURS………………………………………………………………… 05
I.4.1. Les plates-formes différentielles ……………………………………………… 05
I.4.2. Les plates-formes omnidirectionnelles ……………………………………….. 06
I.4.3. Les plates-formes non holonomes ……………………………………………. 07
I.4.4. Les plates-formes à pattes ……………………………………………………. 07
I.5. LA MODELISATION D’UN ROBOT MOBILE………………………………….. 07
I.5.1. Le modèle cinématique du robot de type uni-cycle ………………………….. 07
I.5.2. Le modèle cinématique de type voiture ……………………………………….. 09
I.6. LES DIFFERENTS TYPES DE TERRAIN………………………………………. 10
I.7. LOCALISATION…………………………………………………………………... 12
I.8. PLANIFICATION DE TRAJECTOIRE…………………………………………… 15
I.8.1. Approches polynomiales pour la génération de trajectoires…………………… 15
I.8.2. Carte routière (road map)……………………………………………………… 16
I.8.3. Approche globale………………………………………………………………. 17
I.8.3.1. Approche Par squelette…………………………………………………… 18
I.8.4. Approche locale………………………………………………………………... 18
I.8.4.1. Méthodes des champs de potentiel………………………………………... 18
I.8.4.2. Méthode de HUANG……………………………………………………... 18
I.8.5. Approche mixte………………………………………………………………… 19
I.8.6. Approches réactives……………………………………………………………. 19
I.8.6.1. Planification de mouvement partiel………………………………………. 19
I.8.6.2. Histogramme de champs de vecteurs……………………………………... 19
I.9. EVITEMENT REACTIF D’OBSTACLES……………………………………………….. 20
I.9.1. Méthodes analytiques………………………………………………………………… 20
1.9.2. Méthode de fenêtre dynamique………………………………………………... 21
I.10. POURSUITE DE TRAJECTOIRE……………………………………………….. 21
I.11. EXEMPLES D’APPLICATIONS………………………………………………… 22
I.12. LES TACTIQUE DE NAVIGATION DES ROBOTS MOBILES……………….. 23
I.12.1. Robots télémétriques sans mémoire ………………………………………… 23
I.12.2. Optimisation de trajectoires dans un univers connu ………………………… 24
I.12.3. Tactiques de navigation optimisées et interactives avec l’environnement….. 24
I.13. CONCLUSION……………………………………………………………………. 25
Chapitre N°II : Traitement d’image numérique-Suivi visuel.
II.1. INTRODUCTION…………………………………………………………………. 25
II.2. HISTORIQUE DU TRAITEMENT D’IMAGES………………………………….. 25
II.3. VISUALISATION……………………..…………………………………………. 25
II.3.1. Définition…………………………………………………………………………………… 26
II.3.2. Image binaire………………………………………………………………….. 26
II.3.3. Image en niveaux de gris …………………………………………………...... 26
II.3.4. Image couleur ………………………………………………………………… 27
II.3.5. Image à valeurs réelles………………………………………………………... 27
II.4. ESPACE DE COULEURS………………………………………………………… 27
II.5. ACQUISITION: ECHANTILLONNAGE / QUANTIFICATION………………... 28
II.5.1. Effets de l’échantillonnage : Pixellisation…………………………………….. 28
II.5.2. Effets de la quantification à l’acquisition…………………………………….. 28
II.5.3. Bruits lies à l’acquisition ……………………………………………………... 29
II.6.RECONNAISSANCE DE FORMES………………………………………………. 30
II.6.1. Définition……………………………………………………………………... 30
II.6.2. Méthode approximation d’une droite ………………………………………… 30
II.6.2.1. Méthodes exactes ………………………………………………………... 31
II.6.2.2. Approximation par estimation robuste…………………………………... 31
II.7. DOMAINES D’APPLICATION…………………………………………………... 32
II.8. TRAITEMENT D’IMAGE ET PERCEPTION VISUELLE……………………... 31
II.9. LES DIFFERENTS TYPES DE NAVIGATION………………………………… 31
II.9.1 Guidage………………………………………………………………………. 31
II.9.2. Action associée à un lieu……………………………………………………. 32
II.9.3. Navigation topologique……………………………………………………… 32
II.9.4. Navigation métrique…………………………………………………………. 32
II.10. CARACTÉRISTIQUE……………………………………………………………. 32
II.11. LES REPRÉSENTATIONS DE L’ENVIRONNEMENT……………………….. 33
II.11.1. Carte topologique……………………………………………………………. 33
II.11.1.1. Description……………………………………………………………… 33
II.11.1.2. Avantage……………………………………………………………….. 33
II.11.1.3. Inconvénient…………………………………………………………… 34
II.11.1. Carte métrique………………………………………………………………. 34
II.11.2.1. Description……………………………………………………………… 34
II.11.2.2. Avantage……………………………………………………………….. 35
II.11.2.3. Inconvénient…………………………………………………………… 35
II.12. DOMAINES D’APPLICATION………………………………………………… 35
II.13. MODÉLISATION DU CHEMIN PAR LA FORME……………………………. 35
II.13.1. Représentation de la forme des objets………………………………………. 36
II.13.1.1. APPROCHES GLOBALES…………………………………………… 36
II.13.1.2. APPROCHES LOCALES……………………………………………… 37
II.13.2. Catégorisation des chemins par shape context…………………………….... 37
II.14. MODÉLISATION ET CATÉGORISATION DE CHEMINS………………….... 38
II.14.1. Définition chemin……………………………………………………………. 38
II.14.2. Indexation de chemins par la forme…………………………………………. 38
II.15.CONCLUSION……………………………………………………………………. 39
Chapitre N°III : Réalisation pratique.
III.1. INTRODUCTION………………………………………………………………... 41
III.2. LA MÉCANIQUE………………………………………………………………... 41
III.2.1. Le châssis……………………………………………………………………. 41
III.2.2. Principe de fonctionnement………………………………………………….. 41
III.2.3. Structure du système………………………………………………………… 41
III.3. L’ÉLECTRONIQUE……………………………………………………………... 41
III.3.1. Alimentation…………………………………………………………………. 41
III.3.2. Commande des moteurs CC…………………………………………………. 42
III.3.2.1. Pont en H……………………………………………………………….. 43
III.3.2.2. Réalisation de module de commande des moteurs à CC……………… 45
III.3.3. Détection de la ligne………………………………………………………… 45
III.3.4. La carte Arduino Uno………………………………………………………. 45
III.3.4.1. Définition……………………………………………………………….. 45
III.3.4.2 Entrées / Sorties…………………………………………………………. 47
III.3.4.3 Communication …………………………………………………………. 48
III.4. PROGRAMMATION…………………………………………………………….. 48
III.4.1 Python………………………………………………………………………... 48
III.4.1.1. Définition ……………………………………………………………….. 48
III.4.1.2. Caractéristique du langage de programmation (python)……………….. 49
III.4.1.3. Open CV………………………………………………………………... 50
III.4.1.3.1. Fonctionnalités d’Open CV……………………………………… 50
III. 4.2. L’interface graphique: ………………………………………………………. 50
III.5. CONCLUSION …………………………………………………………………… 51
Conclusion générale et perspectives…………………………………………………….. 53
Bibliographie
Annexe
INTRODUCTION GENERALE
Grace à un succès qui ne se dément pas, La robotique est une technologie moderne
et aujourd'hui la plupart sont automatisées à l'aide des robots. Merci à la haute technologie
que la dépendance sur des êtres humains a été réduite dans une large mesure.
Les robots peuvent être fixes (bras manipulateur) ou mobiles (robot marcheur, robot
à roues) selon l’application, les robots fixes sont généralement utilisés dans les usines, les
hôpitaux, domaine agricole…etc. Cependant les robots mobiles sont généralement utilisés
dans les environnements dangereux : nucléaires, militaires, déminage,…etc. Ce dernier
type de robot est notre domaine d’intérêt dans ce mémoire.
Le suivi d’objets en robotique mobile est devenu une des tâches les plus utilisées,
Notre Projet consiste a réalisé un robot mobile suiveur de ligne de couleur sombre sur un
terrain de couleurs claire.
I.1. INTRODUCTION :
Loin des images des films de science fiction, montrant hommes et robots cohabitant
harmonieusement dans des environnements complexes, la robotique c’est pendant
longtemps limitée à ses applications industrielles, se contentant de remplacer l’homme
dans l’exécution de taches simples et répétitives. Cette limitation venait notamment de
l’impossibilité de créer des systèmes capables d’évoluer dans un environnement réel. En
effet gérer l’extrême diversité des situations dans lesquels un robot peut se trouver est très
difficile. Il est clairement impossible de prévoir tous les cas de figure pour préparer des
comportements types en fonction des situations rencontrées. Il faut des lors que le robot
soit a même de percevoir son environnement intelligemment pour apprendre et comprendre
cet environnement en vu de planifier ses actions.
Loin d’avoir résolu totalement ce problème la robotique a cependant connu ces
dernières années plusieurs victoires importantes qui ont conduit à de profonds
changements. Qu’ils soient à pattes ou à roues, volant ou rampant, les robots sont
désormais capables de se mouvoir dans des environnements aussi complexes que le sol
martien ou un hall de musée avec très peu de supervision de la part de l’homme.
Dans ce chapitre nous avons présenté les différents types de robots mobiles, et des
contraintes de terrain sur les qu’ils sont conçus pour évoluer, nous aborderons les
contraintes principales liées à leur cinématique, et les solutions développées pour y
remédier.
Enfin nous étudions les outils permettant aux robots de percevoir leur
environnement et de s’y repérer. Etape primordiale nécessaire à l’autonomie totale des
robots mobiles. Cet état de l’art offre une vision non exhaustive des thématiques de
recherche associées au domaine de la robotique mobile, et présente l’ensemble des verrous
scientifiques qu’il reste à lever pour aboutir au développement d’un robot autonome. Parmi
ceux-ci, nous nous focalisons alors sur celui de la navigation d’un robot mobile. On en
trouve ci-dessous un résumé d'analyses de quelques domaines particuliers ou Applications
de la robotique.
I.2. DEFINITION :
I.2.1. Robot mobile : De manière générale, on regroupe sous l'appellation robots mobiles
l'ensemble des robots à base mobile (Figure. I.1).
Ces machines sont constituées d'un châssis, et d'un ensemble de roues, ayant comme
fonction la stabilité et la mobilité du système (nous n'allons nous intéresser qu'aux robots
mobiles à roues, en faisant abstraction des autres types de plateformes, comme les robots
marcheurs, ou rampants). La particularité de ces robots est leur capacité à se mouvoir dans
des environnements relativement grands (sans influer sur leur constitution), grâce à leur
système de locomotion, c'est pour cela que nous allons dans ce qui suit évoquer les
différents types de roues utilisées en robotique mobile [1].
Nous présentons ici les différents types de bases mobiles utilisées en robotique, en
nous focalisant sur le milieu intérieur.
I.4.1. Les plates-formes différentielles : Une des configurations les plus utilisées pour les
robots mobiles d’intérieur est la configuration différentielle, on va la utilisé dans notre
projet qui comporte deux roues commandées indépendamment. Une ou plusieurs roues
folles sont ajoutées à l’avant ou à l’arrière du robot pour assurer sa stabilité (Figure. I.2).
Cette plate-forme est très simple à commander, puisqu’il suffit de spécifier les
vitesses des deux roues, et permet de plus au robot de tourner sur place. Cette possibilité
permet de traiter le robot comme un robot holonome, c’est à dire un robot pouvant se
déplacer dans toutes les directions depuis sa position courante (au contraire d’une voiture
par exemple qui est non-holonome). Cette propriété simplifie énormément la planification
de déplacement et la commande du robot.
Ce type de plate-forme peut également être utilisé avec des chenilles ce qui fournit
une capacité de franchissement de petits obstacles intéressante (Figure. I.3). Ces
plates-formes peuvent ainsi être utilisées en milieu urbain, ou dans des décombres.
L’utilisation de chenilles conduit cependant à une odométrie très bruitée à cause du
contact mal défini entre les chenilles et le sol [1].
I.4.4. Les plates-formes à pattes : Des plates-formes à deux, quatre ou six pattes peuvent
également être utilisées. Les plateformes à six pattes sont relativement pratiques car le
robot est en équilibre permanent, ce qui facilite le contrôle. Les plates-formes à deux ou
quatre pattes sont plus complexes à commander et le simple contrôle de la stabilité et d’une
allure de marche correcte reste aujourd’hui difficile, ce qui les rend en général relativement
lentes.
L’odométrie de ce type de plates-formes est de plus généralement de très faible
qualité. Ces différents facteurs font que ces plates-formes sont rarement utilisées quand
(a) (b)
Le modèle d’un robot mobile uni-cycle correspond à celui d’une roue roulant dans un Plan.
La configuration de l’uni-cycle est caractérisée par la donnée des nombres , ,
Où x et y dénotent les coordonnées cartésiennes du point de contact de la roue avec le sol
dans un repère cartésien donné, l’orientation de la roue et l’angle de la roue mesurée à
partir de la verticale. Sachant que le roulement est sans glissement le modèle cinématique
de la roue s’exprime par les formules suivantes [4]:
̇ − ∅̇ cos = 0
( . . )
̇ − ∅̇ sin = 0
Ces deux équations sont des contraintes de type non holonome, signifiant que l’on ne peut
pas les intégrer de façon à ne faire apparaître que les coordonnées généralisées. Cela peut
̇ = cos
̇ = sin ( . . )
̇=
I.5.2. Le modèle cinématique de type voiture : Un robot mobile de type voiture est
composé d’un train moteur à l’arrière du corps principal et de deux roues de direction et à
braquage différentiel à l’avant (Figure. I.7).
La configuration du véhicule de type voiture peut être représentée par le quadruplet
= [ , , , ∅] , où le point de cordonnées , est le centre de l’essieu arrière de la
voiture, est l’orientation du véhicule, ∅ l’orientation des roues avant et la distance
entre les essieux avant et arrière.
Les conditions de roulement sans glissement s’obtiennent en écrivant que les vitesses
latérales des roues avant et arrière sont nulles [4]:
̇ sin − ̇ cos = 0
̇ cos ∅ = 0 ( . . )
̇ sin( + ∅) − ̇ cos( + ∅) −
Ces contraintes sont non intégrables, le véhicule de type voiture est donc non holonome.
Les terrains accidentés (ou 2D 1 /2) correspondent généralement aux milieux en extérieurs,
comme des forêts, des champs en robotique agricole, ou encore des terrains rocheux
(Figure. I.9). La différence avec les terrains plats est la présence des pentes, de bosses et
de creux sur le terrain d’évolution du robot.
Cela interdit d’utiliser une métrique standard 2D et cela complique pour beaucoup la
détection d’obstacles et la modélisation des déplacements du robot. De plus il devient
également important de vérifier que le robot ne bascule pas quand il escalade une pente ou
enjambe un obstacle. Le système de locomotion du robot doit dans ce cas être adapté à la
topologie du terrain.
Enfin les espaces d’évolution 3D sont par exemple utilisés pour modéliser la
navigation des robots sous-marins (Figure. I.10) et des drones volants (Figure. I.11). Les
problèmes rencontrés sont spécifiques à l’application visée.
Chaque type de terrain correspond à des problématiques bien spécifiques. Le type de
robot étudié dans ce mémoire est celui destiné à circuler en environnement urbain, la
modélisation terrain plat sera utilisée. Cela signifie que l’on considère que tous les
mouvements sont contenus dans un plan de navigation, parallèle au sol.
I.7. LOCALISATION :
Les outils permettant la localisation d’un robot dans son environnement peuvent être
classés en deux catégories : ceux par localisation à l’estime et ceux par localisation absolue
[5]. Le principe de la première catégorie consiste à intégrer des informations sur les
vitesses ou les accélérations fournies par des capteurs proprioceptifs (odomètres, centrales
inertielles).
L’avantage de ces méthodes est qu’elles sont indépendantes de l’environnement, par
contre leur souci est leur manque de précision dû à la dérive temporelle. En effet les
Erreurs s’intégrant elles aussi au fur et à mesure du temps. Il est nécessaire d’apporter
régulièrement des recalages (Figure. I.12).
Système d’odométrie classique est impossible. Pour cette application, Cheng a proposé une
technique d’odométrie alternative, dite odométrie visuelle, basée sur la reconnaissance de
points singuliers dans l’image vidéo du sol fournie par une caméra montée sur le robot [5]
(les points de Harris).
Connaissant le positionnement de la caméra par rapport au robot, le déplacement de
ces points dans l’image permet d’évaluer les vitesses de déplacement du robot, et par
intégration, de retrouver sa localisation relative par rapport à sa position initiale.
Le second type de méthode pour la localisation est la localisation absolue. Ces
méthodes utilisent des éléments repérables par le robot dans l’environnement de
navigation, de position
Connue, pour permettre au robot de se repérer relativement à ceux-ci. Ces éléments sont
appelés des balises ou amers et sont dits soit réels, s’ils ont été placés spécialement pour
permettre la localisation, soit virtuels s’il s’agit d’éléments présents naturellement.
Les balises réelles sont dites passives si elles ont pour but de réfléchir un signal émis
par un appareil de mesure du robot (laser ou infrarouge). Il existe deux méthodes pour
utiliser ces balises pour la localisation du robot : la méthode télémétrique (calcul de la
distance robot/balise), qui nécessite la présence de deux balises pour calculer la position du
robot dans le plan ; et la méthode par triangulation, qui consiste à mesurer les angles entre
chaque balise et le robot, et qui elle nécessite l’utilisation de 3 balises.
Les balises réelles sont dites actives si elles émettent un signal captable par le robot. En
Milieu extérieur, le système GPS (global positionning system) peut être utilisé pour obtenir
des positions d’une précision de l’ordre du mètre.
A la base développée par l’armée américaine dans les années 80 (lancement du
premier satellite GPS en 1978), il fut ouvert aux civils en 1995. Jusqu’en 2000 les mesures
étaient volontairement entachées d’une erreur d’une centaine de mètres, l’armée
américaine craignant que ce système soit un avantage pour leurs ennemis. Malgré le retrait
de cette erreur volontaire, la précision du système restait de l’ordre du mètre, à cause des
incertitudes sur l’orbite et l’horloge des satellites, ainsi que les retards engendrés par la
traversée des couches atmosphériques.
Pour améliorer cette précision, nous pouvons utiliser les GPS différentiels : avec un
second récepteur GPS sur une base fixe et de position connue. Il devient possible de
mesurer l’erreur et d’en déduire la correction à apporter pour la zone environnante, pour
que ce système fonctionne, il faut que la base mobile reste à une certaine portée de la base
fixe. Cette distance varie suivant la gamme de fréquence utilisée pour l’envoi des
prenant en compte les contraintes cinématiques du robot mobile ainsi que la position des
différents obstacles statiques à éviter.
Une trajectoire générée par une courbe B-spline peut-être représentée à titre
d’exemple comme sur la Figure. I.14.
Cette approche est basée sur l’identification d’un ensemble de routes dans l’espace libre.
La base de cette approche est de capturer la connectivité de l’espace libre d’un robot dans
un réseau de dimension 1 de courbes ou de lignes appelée carte routière. Une fois la carte
routière construite, elle est utilisée comme étant un réseau de segments de routes (chemin)
pour la planification des mouvements des robots.
L’objectif de cette approche est de construite un réseau routière qui rend le robot
capable à visiter tous les points possible de l’environnement libre de navigation. On note
qu’il y a deux approches différentes pour la construction de la carte routière. Dans le
premier cas les routes sont le plus proche possible de l’obstacle, d’où l’appellation
de « Graphe de visibilité » les chemins qui résultent sont de longueur minimum ; le
deuxième cas est appelé « diagramme de Voronoi » les routes restent le plus loin possible
de l’obstacle [9].
I.8.3. Approche globale: Elle est utilisée lorsque le robot évolue dans un environnement
entièrement connu. Le principe de cette approche est de capturer la connexité globale de
l’espace libre dans un graphe qui est ensuite exploré. La connaissance de l’environnement
nécessite sa modélisation :
revanche elles présentent l’inconvénient de tomber dans des minima locaux et de générer
une trajectoire souvent non optimale.
I.8.5. Approche mixte: L’intérêt de cette approche est de profiter des avantages des deux
approches précédentes, à savoir :
Temps de calcul faible pour l’approche locale.
Chemin généré optimal pour l’approche globale.
L’idée de cette approche est de générer un chemin optimal, en utilisant une méthode
globale, donnant l’allure générale de la trajectoire à suivre.
Ensuite, le robot exécutera cette trajectoire, à l’aide d’un générateur local de
trajectoire et de son système de perception, tout en évitant de rentrer en collision avec des
obstacles imprévus au moment de la modélisation (changements éventuels de
l’environnement, obstacles mobiles) [10].
I.8.6. Approches réactives: Les approches réactives consistent à calculer à chaque pas de
temps (après récupération des informations sur l’environnement fournies par les capteurs
du système) le contrôle instantané à appliquer sur les actionneurs du système [11].
I.8.6.1. Planification de mouvement partiel: Une dernière approche réactive mérite d’être
notée : il s’agit de la planification de mouvement partiel (en anglais : Partial Motion
Planning – PMP utilisée. Celle-ci consiste à calculer relativement, en un temps de décision
fixe, une trajectoire se rapprochant le plus possible du but. Cette méthode consiste en un
algorithme à trois étapes répète à chaque pas de temps :
Mise à jour du modèle de l’environnement à partir des entrées capteurs du robot.
Recherche délibérative d’une trajectoire menant à l’état but. Si le but n’a pas été
Atteint après un temps de décision fixe, la trajectoire calculée s’en rapprochant le plus est
choisie comme trajectoire à suivre.
Enfin, le mouvement planifie au pas de temps précédent est exécuté. Cette approche
permet donc d’être réactive aux diverses évolutions de l’environnement tout en étant
capable de sortir des impasses non d´détectées à priori. Elle reste sujette à des minima
locaux, mais en est néanmoins bien plus robuste que les approches citées précédemment
[11].
I.8.6.2. Histogramme de champs de vecteurs: Dans la lignée des approches par champs de
potentiels, sont apparus les histogrammes par champs de vecteurs (en anglais : Vector
Field Histogram - VFH). Ceux-ci, introduits par Koren et Borenstein sont nés de la
combinaison des champs de potentiels et des grilles d’occupation [11] :
1.9.2. Méthode de fenêtre dynamique: Cette technique proposée dans travaille dans
l’espace des commandes du robot. La taille du domaine de recherche des vitesses
accessibles (c’est-a-dire n’entrainant pas de collisions) est réduite par la prise en compte
explicite du modèle cinématique du système. Les commandes envoyées au robot sont le
résultat de la maximisation sur ce domaine de recherche d’une fonction cout liée à la
configuration finale.
L’utilisation de cette méthode est très intéressante pour un robot se déplaçant
rapidement ou pour un robot ayant des capacités d’accélération et de décélération limitées.
Elle permet alors de produire un déplacement du robot sur et régulier. Son extension au
cadre multi robots est cependant très délicate du fait de son manque de flexibilité [4].
I.10. POURSUITE DE TRAJECTOIRE:
Une fois la trajectoire du robot déterminée dans le contexte de l’évitement d’obstacle
ou non, il faut pouvoir la suivre. Le problème de suivi d’une trajectoire de référence pour
un robot mobile non-holonome est apparu comme un problème de premier ordre pour la
communauté roboticienne dans ces dernières années.
En effet, la forte utilisation des robots mobiles dans les domaines où l’être humain ne
peut pas être présent, notamment dans les sites nucléaires à haut risque ou dans le cas de
l’exploration spatiale, nécessite la mise en œuvre de lois de commande autonomes et
performantes pour assurer les tâches assignées aux robots. Plusieurs travaux concernant la
poursuite de trajectoire ont été développés dans ce contexte. Après une rapide
formalisation de ce problème, une liste non exhaustive des différentes commandes
disponibles dans la littérature est présentée [4].
Formulation du problème : Une propriété des modèles de robot mobile non-
holonome (de type voiture ou uni-cycle) est qu’ils ne sont pas stables par un retour
d’état continu et stationnaire. Ce corollaire est le résultat des travaux de [4].
Figure. I.18 : Genghis, développé par Rodney Brooks au MIT au début des années 1990.
Certains de ces robots peuvent se repérer par rapport au but, à la fois en direction et en
distance Comme ils n’ont pas la mémoire de l’environnement, il n’est pas possible de
planifier au départ leur chemin, ni leur donner des informations sur cet environnement.
Néanmoins ils possèdent quelques mots de mémoires qui leur permettent de
discriminer l’enchainement des taches à accomplir.
I.12.2. Optimisation de trajectoires dans un univers connu : Dans ce cas, l’univers,
connu parfaitement, est modélisé soit par une grille, soit par des polygones. La
modélisation par grille a été utilisée dans les premiers travaux de recherche d’un chemin
optimal car cette représentation se prête bien à une programmation directe, La robot
occupant une case ou étant modélisés par des cases hachurées.
L’univers est ainsi représenté par une matrice, appelée matrice d’adjacence, dont les
éléments sont 0 ou 1 suivant que le case correspondante est libre ou occupée par un
obstacle .Le déplacement du robot n’est en générale permis que suivant quatre directions
perpendiculaires (horizontales et verticale ou huit directions (à 45 ), suivant une direction
quelconque.
Dans le modèle des polygones, les obstacles sont modélisés par des polygones dont il
suffit de connaitre la position des sommets pour que l’environnement soit parfaitement
définit .Dans cette représentation, qui requiert moins de mémoire que la précédente, le
chemin est constitué de segments joignant différents sommets de polygones .Ce chemin
sera optimal lorsque la somme des couts des arcs constituant le chemin dans le graphe
(dont les nœuds sont les sommets des polygones) sera minimale.
I.12.3. Tactiques de navigation optimisées et interactives avec l’environnement :
Ces tactiques s’appliquent aux cas réels fréquents ou l’environnement du robot n’est
pas entièrement connu, soit à cause des limites de son organe de vision, soit parce que des
obstacles ont pu être ajoutés à l’environnement initiale mémorisé, soit encore par suite de
l’imprécision dans la localisation du robot.
Il en résulte une combinaison des tactiques décrites précédemment .Au départ étant
donné la connaissance de l’environnement dont dispose le robot, une trajectoire optimale
est planifiée et le robot commence à le suivre .En cas de détection imprévue d’un obstacle,
le robot met en action son opérateur de vision pour réactualiser son modèle
d’environnement, puis la procédure précédente est réitérée (optimisation, suivi de la
trajectoire, vision).
I.13. CONCLUSION :
La perception d’une part et la commande au sens large de l’autre part sont donc les
deux thèmes majeurs de recherche pour obtenir un robot mobile parfaitement autonome.
Parmi les problématiques liées à la commande, celle de la navigation qui tient un rôle
important : elle consiste à déterminer les trajectoires que le robot sera capable de suivre
pour lui permettre d’évoluer correctement au milieu d’obstacles.
II.1. INTRODUCTION :
Dans ce chapitre on se concentrera sur les concepts fondamentaux du traitement
d’images : historique, définition, Acquisition, domaine d’application, nous avons présenté
le différent type de navigation, les représentations de l’environnement.
II. 2. HISTORIQUE DU TRAITEMENT D’IMAGES :
La technologie numérique moderne est devenue omniprésente. Grâce à elle, il est
devenu possible de traiter des signaux multidimensionnels avec des systèmes très divers,
depuis les téléphones portables jusqu’aux ordinateurs massivement parallèles. Dans le
domaine des images, Le traitement des images, opère une transformation image → image.
Figure. II.1 : Développement de la science traitement d’image depuis 1950 à 2005 [13].
II.3. VISUALISATION:
Une image réelle est obtenue à partir d'un signal continu bidimensionnel comme par
exemple un appareil photo ou une caméra... Sur un ordinateur, on ne peut pas représenter
de signaux continus, on travaille donc sur des valeurs discrètes [14].
II.3.1. Définition : Une image numérique est définie comme un signal fini bidimensionnel
échantillonné à valeurs quantifiées dans un certain espace de couleurs. Elle est constituée
de points (pixels).
Signal fini : une image possède des dimensions finies, exemple : 640x480,
800x600 points…
Signal bidimensionnel : une image possède deux dimensions : largeur, hauteur.
Signal échantillonné : les pixels d’une image sont régulièrement espacés sur une
grille carrée.
Valeurs quantifiées : les valeurs des pixels appartiennent à un intervalle borné
Connu.
Espace de couleur : il existe de nombreuses façons de percevoir les couleurs d’une
image, l’espace de représentation le plus connu est l’espace RGB (rouge-vert bleu).
Autrement dit, une image est une matrice M × N de valeurs entières prises sur un intervalle
borné 0, N où N est la valeur maximale du niveau de gris [14].
On a les relations sur les niveaux de gris: p_R(i, j) ∈[0, 255], p_V(i, j) ∈[0, 255],
p_B(i, j) ∈[0, 255]. On voit bien sur la figure qu'une image couleur est en fait l'association
de trois plans de niveau de gris, chacun d'eux étant une couleur de base [14].
II.3.5. Image à valeurs réelles : Pour les images, le résultat peut ne pas être entier, il est
donc préférable de définir l'image de départ et l'image résultat comme des images à valeurs
réelles [14]. En général, une image à valeurs réelle est telle que le niveau de gris est un réel
compris entre 0.0 et 1.0. On a dans ce cas pour une image à niveaux de gris
[14]:p (i, j) ∈[0.0, 1.0]. Pour une image couleur, la relation devient p_R(i, j) ∈[0.0,
1.0],p_V(i, j) ∈[0.0, 1.0], p_B(i, j) ∈[0.0, 1.0].
II.4. ESPACE DE COULEURS:
La couleur est une donnée importante pour une image, elle modifie la perception que
l'on a de l'image. L'espace de représentation standard décompose une image en trois plans
de couleur: RGB. Les couleurs finales sont obtenues par synthèse additive de ces trois
couleurs primaires.
Il existe cependant des problèmes qui peuvent nécessité de changer d'espace de
couleur pour percevoir différemment l'image. Il y a des Images où la couleur importe peu,
par exemple des photographies de cellules vivantes (pseudo-transparentes), des images
radar, des images satellites... Dans ce cas, l'espace RGB n'est plus utilisé. On lui préfère
d'autres espaces comme HSV ou YCbCr [14].
II.5. ACQUISITION: ECHANTILLONNAGE / QUANTIFICATION :
II.5.1. Effets de l’échantillonnage :
-Pixellisation [16] :
II.5.3. Bruits lies à l’acquisition : Les images sont souvent entachées de bruit, parfois non
visible à l’œil, et qui perturberont les traitements [16].
II.6.RECONNAISSANCE DE FORMES :
II.6.1. Définition : A partir d’un nuage de points (pixels) obtenu après une phase de
traitement, on cherche à retrouver une forme connue a priori qui décrit «au mieux» les
points extraits [17].
II.6.2. Méthode approximation d’une droite : Méthodes basées sur une approche par
moindres carrés obtenue à partir de la minimisation d’une distance.
Il existe de nombreuses méthodes pour résoudre ce problème apparemment simple.
II.6.2.1. Méthodes exactes : On considère que tous les points extraits participent avec le
même poids à la description de la droite.
II.6.2.2. Approximation par estimation robuste : Recherche de la meilleure droite
représentant au mieux l’ensemble des points sous l’hypothèse d’un bruit entachant la
position des points [17].
II.9.1 Guidage : Cette capacité permet d’atteindre un but qui n’est pas un objet matériel
directement visible, mais un point de l’espace caractérisé par la configuration spatiale d’un
ensemble d’objets remarquables, ou amers, qui l’entourent ou qui en sont voisins [12] .
II.9.2. Action associée à un lieu : Cette capacité est la première capacité réalisant une
navigation globale, c’est-à-dire qui permette de rejoindre un but depuis des positions pour
lesquelles ce but ou les amers qui caractérisent son emplacement sont invisibles [12].
L’enchaînement des actions associées à chacun des lieux reconnus définit une
route qui permet de rejoindre le but.
Ces modèles permettent donc une autonomie plus importante mais sont limités à
un but fixé.
Une route qui permet de rejoindre un but ne pourra en effet pas être utilisée pour
rejoindre un but différent.
Changer de but entraînera l’apprentissage d’une nouvelle route, indépendante des
routes permettant de rejoindre les autres buts.
II.9.3. Navigation topologique : Cette capacité est une extension de la précédente qui
mémorise dans le modèle interne les relations spatiales entre les différents lieux [12].
II.9.4. Navigation métrique : Cette capacité est une extension de la précédente car elle
permet au robot de planifier des chemins au sein de zones inexplorées de son
environnement. Elle mémorise pour cela les positions métriques relatives des différents
lieux, en plus de la possibilité de passer de l’un à l’autre.
II.10. CARACTÉRISTIQUE :
La première procédure peut donner des résultats erronés. Par exemple, un lieu déjà
visité peut ne pas être reconnu, ou un lieu nouveau peut être confondu avec un lieu déjà
mémorisé. Pour résoudre ces problèmes, la reconnaissance des lieux fera donc appel aux
données proprioceptives en plus des perceptions [12].
Le bruit sur les mesures des capteurs influe principalement sur la reconnaissance des
lieux, tandis que le bruit sur les données proprioceptives influe principalement sur la
position associée à chaque lieu.
Il n’y a pas de limitation au type de capteurs utilisables, Cette utilisation directe des
perceptions permet meilleure mise en relation du robot avec son environnement.
Représentant des lieux avec une assez grande densité spatiale, cela peut être un
inconvénient, car l’exploration complète de l’environnement demandera un temps
important.
La représentation de l’environnement peut être assez proche des données brutes des
capteurs du robot, ce qui peut être un avantage du point de vue de l’autonomie du robot
[12].
Cette espace est, la plupart du temps, celui dans lequel s’exprime la position du
robot estimée par les données proprioceptives qui permettent, en utilisant un modèle
métrique des capteurs, de détecter ces objets et d’estimer leur position par rapport au robot.
La position du robot est définie de manière non ambiguë par ses coordonnées au sein
de l’espace dans lequel la carte est représentée.
II.11.2.3. Inconvénient : Le calcul de chemin au sein des cartes métriques peut être plus
complexe, car la planification se déroule dans un espace continu et non dans un espace
préalablement discrétisé, comme c’est le cas pour les cartes topologiques.
Objectif de créer des modèles riches de l’environnement qui peuvent avoir plusieurs
utilisations. Ils peuvent notamment permettre à un opérateur distant d’avoir une bonne
compréhension de l’environnement du robot, ou au robot d’avoir un comportement plus
adapté à son environnement [18].
Chez l'homme, l'impression de forme est généralement accompagnée par des informations
de couleur et d'intensité (texture) qui permettent de faire émerger une représentation
géométrique caractéristique de l'objet. Ainsi, l'identification des objets est réalisée de
manière courante en utilisant leurs propriétés visuelles ; nous définissons la forme comme
un modèle géométrique constitue par un ensemble de points, courbes, surfaces solides, etc.
II.13.1. Représentation de la forme des objets : L'un des principaux problèmes pour la
reconnaissance automatique des formes consiste à déterminer une représentation ou
description convenable à cet effet. Elle doit être à la fois unique pour l'objet étudie et
capable d'accepter certaines variations pour caractériser les éléments d'une même classe.
D'autres facteurs peuvent gêner la mise en correspondance de formes dans des scènes
naturelles, par exemple les occultations et la variation dans l'éclairage de l'objet. Dans
notre application, les objets de l'arrière-plan comme les arbres, les bâtiments, les voitures
ou les poteaux ont une forte influence sur l'aspect (la forme) des chemins. Par conséquent,
il est important de modéliser non seulement les propriétés d'un objet mais également les
relations entre ceux-ci et les objets du fond de la scène.
Les différentes représentations possibles pour définir la forme des objets 2D, peuvent
être classifies suivant les caractéristiques qu'elles utilisent :
(Maximales ou absolues) sert à quantifier la similarité entre les template et une portion de
l'image.
La catégorisation d'un chemin perçu dans une scène doit utiliser une représentation qui
exploite le contour de la région correspondante de l'image.
Le descripteur choisi pour représenter la forme d'un chemin est appelée Shape
Context, considère comme une alternative fiable de classification et d'identification
d'objets à partir de leurs points de contour. Du fait de la polyvalence et de la richesse de ce
descripteur, nous l'avons adopté pour la classification et la catégorisation de chemins (de
terre, goudronne...) à partir de leurs caractéristiques morphologiques (carrefours, lignes
droites, intersections en T, impasse, virages, etc.). Notre principale motivation vise
l'exploitation des intersections détectes dans un réseau de chemins, pour la construction
d'une carte topologique exploitée ensuite pour la navigation autonome.
II.13.2. Catégorisation des chemins par shape context : La signature polaire d'une forme,
décrite par un ensemble de points, est donnée par la distribution grossière de la forme par
rapport à un point de référence ; la distribution est représentée par un histogramme polaire
des points de la forme autour du point de référence.
Le descripteur Shape Context est l'ensemble des signatures polaires de la forme par
rapport à chacun des points qui la décrit. La mise en correspondance entre deux formes
décrites par Shape Context, se fait en deux étapes :
(1) on rechercher pour chaque point échantillon sur une forme, le point échantillon sur
l'autre qui a la signature polaire la plus semblable.
(2) La maximisation de similarités globales de tous les points est résolue par l'optimisation
d'un graphe bipartite.
Cette méthode n'impose aucune restriction sur les propriétés inhérentes des points
représentant la forme. C'est-à-dire qu'ils ne correspondent pas à des points de courbure, ni
à des maxima, des minima, des points d'inflexion, etc. Pour la simplicité algorithmique,
nous avons préféré travailler avec des points uniformément sépares.
D'après nos expériences sur l'extraction de contours issus des scènes naturelles, ou
les bords des régions sont souvent assez irréguliers, cette approche nous semble assez
souple pour la représentation des chemins.
II.14.1. Définition chemin : Un chemin entre une situation initiale et une situation
finale est une représentation géométrique du d’emplacement du corps qui ne considère
pas le temps [9].
Le but de l'indexation est de ranger ces descripteurs dans une structure qui permette
de retrouver facilement les descripteurs approximativement égaux a un descripteur donne.
Nous avons un critère de comparaison du type plus proche voisin entre les descripteurs de
la base de données et celui de la région à identifier, i.e., la forme apprise ayant la distance
la plus petite a la forme a classifier.
II.15.CONCLUSION :
Nous avons implanté les différents types de navigations comme le guidage, l’action
associe à un lieu la navigation topologique et métrique.
III.1. INTRODUCTION :
III.2. LA MÉCANIQUE :
D’un châssis.
D’un bloc équipé de deux moteurs.
D’une roue libre.
III.2.3. Structure du système : le robot mobile est composé d’une plate forme mobile
capable de porter les composants du système .La plate forme utilisée est très simple
composée d’un châssis, deux moteurs et une roue de commande libre.
III.3. L’ÉLECTRONIQUE :
Un régulateur 7805a été utilisé pour obtenir une tension régulée très stable de +5V pour
l’alimentation de la partie logique du circuit L298.
Principales caractéristiques :
Tension d’alimentation du circuit logique : 5V
Tension d’alimentation du circuit puissance : 0V→ 48V
Tension minimale de sensibilité MLI : 2.3V
Courant maximal du circuit puissance : 3A
III.3.2.1. Pont en H : Une structure électronique servant à contrôler polarité aux bornes
d’un dipôle. Il est composé de quatre éléments de commutation généralement disposés
schématiquement en une forme de H d’où le nom. Les commutateurs peuvent être des
relais, des transistors, ou autres éléments de commutation en fonction de l’application
visée.
De plus, le pont en H permet d’effectuer un freinage magnétique s’il est capable d’en
dissiper la puissance générée. Cette opération s’effectue en actionnant soit les deux
commutateurs supérieurs ou inférieurs en même temps, ce qui court –circuit les bornes du
moteur et le fait par conséquent freiner.
Commutateur
Moteur S1 S2 S3 S4 0 : commutateur
ouverte
Roue libre 0 0 0 0
1 : commutateur
Sens 1 1 0 0 1
fermée
Sens 2 0 1 1 0
1 0 1 0
Arrêt 0 1 0 1
Figure .III.4 : Etat d’un pont en H : (a) Moteur déconnecté, (b) Rotation ou sens1,
Les entrées IN1, IN2, IN3 et IN4 du circuit L298N sont utilisées pour commander le
sens de la rotation du moteur 1 et du moteur 2 respectivement.
Les broches ENA et ENB sont directement reliées aux sorties (PWM) du MCU pour
commander la vitesse du robot par un signal PWM.
Les broches SENSA et SENSB doivent être liées à la masse directement ou a travers
une petite résistance. En utilisant une petite résistance et en connectant le SENSX on peut
vérifier si les moteurs sont surchargés ou si le L298N consomme un courant important.
III.3.4.1. Définition : Arduino Uno est une carte microcontrôleur basée sur l’ATmega328.
Elle est dotée de 14 broches en Entrées /Sortie numérique (dont 6 peuvent être utilisées
comme sorties PWM-Modulation de largeur d’impulsion), 6 entrées analogiques, un
oscillateur à quartz 16MHZ, une connexion USB, un jack d’alimentation, un support ICSP,
un bouton ‘reset’.
La carte Arduino Uno peut être alimentée par l’USB ou par une alimentation externe.
La tension d’alimentation extérieure (hors USB) peut être délivrée par un adaptateur AC-
DC ou des piles. L’adaptateur peut être connecté grâce à un ‘jack’ de 2.1 mm positif au
centre.
Le raccordement vers un bloc de piles peut utiliser les bornes Gnd et Vin du connecteur
d'alimentation (POWER).
La carte peut fonctionner à l'aide d'une tension extérieure de 7 à 12 volts.
Les broches (pins) d'alimentation sont les suivantes :
VIN : C'est la tension lorsque la carte est raccordée à une source extérieure (par
opposition à la tension de 5 volts venant de l'USB ou d'un régulateur de
tension).
5V : La tension d'alimentation régulée : elle peut venir de VIN via le régulateur
sur la carte, ou être fournie par l'USB ou un régulateur extérieur. Le courant
maximum est de 50 mA.
GND : Masse.
La carte Uno diffère des précédentes cartes en ce qu’elle n’utilise pas le ship
convertisseur USB-Série, FTDI, mais le microcontrôleur ATmega8U2-sur la carte -
programmée comme convertisseur USB-Série.
Chacune des 14 broches digitales de la Uno peut être utilisée en entrée ou sortie, en
utilisant les fonctions pinMode(), digitalWrite(), et digitalRead().
Elles fonctionnent en logique 0V-5V ; chacune pouvant fournir (source) ou recevoir un
courant maximal de 40 mA et dispose si besoin d'une résistance interne de 'pull-up'.
En outre, certaines broches ont des fonctions spécialisées:
• Serial: 0 (RX) and 1 (TX). Permet de recevoir (RX) et de transmettre (TX) des données
séries TTL. Ces broches sont raccordées à leurs homologues sur le chip ATmega8U2
spécialisé dans la conversion USB-to-TTL série.
• Interruptions externes 2 et 3. Ces broches peuvent être configurées pour déclencher une
interruption sur une valeur LOW, sur un front montant ou descendant, ou encore sur le
changement de valeur.
• PWM: 3, 5, 6, 9, 10, and 11. Output 10-bits de PWM avec la fonction analogWrite().
• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ces broches fournissent le support de
communication SPI en utilisant la 'library' spécialisée.
• LED: 13. Il y a une LED connectée à la broche digitale 13.
La carte Uno a 6 broches d'entrées analogiques, A0 à A5, chacune avec 10 bits de
résolution.
Par défaut les mesures sont effectuées de la masse à 5V (valeur de référence), mais il est
possible de spécifier la valeur de référence en utilisant la broche VREF et la fonction
analog Reference().
Un contrôleur ATmega8U2 sur la carte, canalise cette communication série vers l'USB et
apparaît comme un port de communication série virtuel pour le logiciel sur l'ordinateur.
Le firmware de l'8U2 utilise le protocole USB, et aucun driver externe n'est nécessaire.
III.4. PROGRAMMATION :
III.4.1 Python :
III.4.1.1. Définition : Python est un langage de programmation très puissant qui est de plus
en plus utilisé pour développer des applications rapidement et en même temps efficaces. Il
est très utilisé dans le monde scientifique pour sa syntaxe aérée et une vitesse d'exécution
rapide.
IL est portable, non seulement sur les différentes variantes d'UNiX, mais aussi sur
les OS propriétaires: MacOS, BeOS, NeXTStep, MS-DOS et les différentes
variantes de Windows.
Python est gratuit, mais on peut l'utiliser sans restriction dans des projets
commerciaux.
Python convient aussi bien à des scripts d'une dizaine de lignes qu'à des projets
complexes de plusieurs dizaines de milliers de lignes.
La syntaxe de Python est très simple et, combinée à des types de données évolués
(listes, dictionnaires,...), conduit à des programmes à la fois très compacts et très
lisibles. A fonctionnalités égales, un programme Python est souvent de 3 à 5 fois
plus court qu'un programme C ou C++ (ou même Java) équivalent, ce qui
représente en général un temps de développement de 5 à 10 fois plus court et une
facilité de maintenance largement accrue.
Peut être étendu avec des modules en C.
Le langage Python est un langage de programmation complet grâce aux
nombreuses bibliothèques spécialisées, appelées modules.
NumPy :
NumPy est une extension du langage de programmation Python, destinée à
manipuler des matrices ou tableaux multidimensionnels. Il contient:
• un objet puissant, tableau à N dimensions.
• Des outils pour l'intégration de C / C + + et Fortran.
• l'algèbre linéaire, transformée de Fourier.
SciPy :
III.4.1.3. Open CV :
Open CV (Open Computer Vision) est une bibliothèque graphique libre, initialement
développée par Intel, spécialisée dans le traitement d'images en temps réel. La société
Willow Garage assure le support de cette bibliothèque depuis 2010.
Webcam
Acquisition Prétraitement Détection de Calcule de
de l’image la ligne commande
Robot
Mobile
.
III.5. CONCLUSION :
D’après les résultats obtenus et au cours de la réalisation de ce robot on peut conclure
que ce travail peut être divisé en deux grandes parties, la partie software qui est basée
essentiellement sur la programmation en langage Python, et la partie hardware qui est la
réalisation de la partie électronique et mécanique du robot. Le travail est l’intégration
entre ces deux parties pour la réalisation du robot capable de suivre en toute autonomie la
ligne tracé, et les résultats obtenus montrent que le robot peut détecter et poursuivre la
ligne détecté.
[1] Melle AKLI Isma. «Elaboration d'une stratégie de coordination de mouvements pour
un manipulateur mobile redondant ». MEMOIRE de MAGISTER, Université Houari
Boumediene, Oran ,Alger, le : 14 / 07 / 2007.
[14] Image Processing Toolbox. Version 2.2 (R11) 05-Aug-1998, Release information.