WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Réalisation d'un robot mobile avec évitement d'obstacle et trajectoire programmée.

( Télécharger le fichier original )
par Chaher BALI
Mohamed Khider Biskra - Master 2012
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Année universitaire : 2011 / 2012

ÉíÈÚÔáÇ ÉíØÇÑÞãíÏáÇ ÉíÑÆÇÒÌáÇ ÉíÑæåãÌáÇ

République Algérienne Démocratique et Populaire

íãáÚáÇ ËÍÈáÇ æ íáÇÚáÇ ãíáÚÊáÇ ÉÑÇÒæ

Ministère de l'enseignement Supérieur et de la Recherche scientifique

Université Mohamed Khider Biskra
Faculté des Sciences et de la Technologie
Département de Génie Electrique
Filière automatique

Option : Génie de systèmes industriels

Réf:

Mémoire de Fin d'Etudes

En vue de l'obtention du diplôme:

MASTER

RÉALISATION D'UN ROBOT MOBILE AVEC

ÉVITEMENT D'OBSTACLE ET TRAJECTOIRE

PROGRAMMÉ

Présenté par :

BALI Chaher eddine ABAIDI Hakim

Soutenu le : 06 Juin 2012

Devant le jury composé de :

Mm TERKI Nadjiba Président

Mr OUAFI Abdelkrim Encadreur

Mr BENELMIR Okba Examinateur

ÉíÈÚÔáÇ ÉíØÇÑÞãíÏáÇ ÉíÑÆÇÒÌáÇ ÉíÑæåãÌáÇ

République Algérienne Démocratique et Populaire

íãáÚáÇ ËÍÈáÇ æ íáÇÚáÇ ãíáÚÊáÇ ÉÑÇÒæ

Ministère de l'enseignement Supérieur et de la recherche scientifique

Université Mohamed Khider Biskra
Faculté des Sciences et de la Technologie
Département de Génie Electrique
Filière automatique

Option : Génie de systèmes industriels

Mémoire de Fin d'Etudes

En vue de l'obtention du diplôme:

MASTER

RÉALISATION D'UN ROBOT MOBILE AVEC

ÉVITEMENT D'OBSTACLE ET TRAJECTOIRE

PROGRAMMÉ

Présenté par : Avis favorable de l'encadreur :

BALI Chaher eddine OUAFI Abdelkrim signature

ABAIDI Hakim

Avis favorable du Président du Jury

TERKI Nadjiba Signature

Cachet et signature

ÉíÈÚÔáÇ ÉíØÇÑÞãíÏáÇ ÉíÑÆÇÒÌáÇ ÉíÑæåãÌáÇ

République Algérienne Démocratique et Populaire

íãáÚáÇ ËÍÈáÇ æ íáÇÚáÇ ãíáÚÊáÇ ÉÑÇÒæ

Ministère de l'enseignement Supérieur et de la Recherche scientifique

Université Mohamed Khider Biskra
Faculté des Sciences et de la Technologie
Département de Génie Electrique
Filière automatique

Option : Génie de systèmes industriels

RÉALISATION D'UN ROBOT MOBILE AVEC

ÉVITEMENT D'OBSTACLE ET TRAJECTOIRE

PROGRAMMÉ

Proposé par : OUAFI Abdelkrim Dirigé par : OUAFI Abdelkrim

RESUME (bilingue)

Notre but dans ce mémoire est l'étude et la réalisation d'un robot mobile à trajectoire programmé avec évitement d'obstacles en utilisant la logique floue. Notre robot est basé sur un capteur de distance ultrasonique et une carte de commande à base de microcontrôleur PIC16F877, ainsi qu'un commutateur de puissance ULN2803 pour alimenter les moteurs pas à pas qui assure le déplacement du robot à travers un mécanisme que nous avons réalisé.

Mots-clés : Robot Mobile, évitement d'obstacles, logique floue, trajectoire programmé.

:ÕÎáã åÇãÚÊÓÇÈ ÞÆÇìÚíì ÈäÌÊ Úã ÌãÔÈã ÓÇÓã ìíÚ ßÔÍÊñ ËáÇÌÚÈ ßÔÍÊã ËìÈæÓ ÕÇÌäÅ æ ÊÓÇÓÏ ìå æãÚìÇ ÇÒå äã ÐåìÇ ÓãÇÚ åÇãÚÊÓÇ æ ðìóÇ ÌìÇÚãìÇ ìíÚ ÏÇãÊÚáÇ Ç æ ÐÚÈ äÚ ÓÇÚÔÊÓáÇ Ç ÉÖåÌ åÇãÚÊÓÇÈ áìÑ æ ãåÈãìÇ ÞØäãìÇ ÊÞñÔØ .ËìÈæÔìÇ ßÔÍñ åÓæÐÈ íÒìÇ ÉìØÎÈ ÉìØÎ ßÔÍã íÒÛñ íÒìÇ ULN2803 Ê ÚÇØÊÓáÇÇ .ÌãÔÈã ÓÇÓã ãåÈãìÇ ÞØäãìÇ ÞÆÇìÚìÇ ÈäÌÊ ßÔÍÊã ËìÈæÓ : ÊòÍÇÊãìÇ ËÇãíäìÇ

Dédicaces

À Mes parents Salem et Khadîdja, symboles de courage et de volonté.
À Toute mes frères et mes soeurs.
À Tous ma famille.
À tous mes amis.
À Toute les étudiants.
À Toute la Promotion Automatisme 2012.

CHAHER EDDINE BALI

Dédicaces

Je dédie ce modeste travail :

À Mes parents Ghazali et Aghnia, symboles de courage et de volonté, qui ont

consacré leur vie pour mon bien-être.

À Ma grand-mère Heddi « que Dieu la garde pour notre famille ».

À Mes frères Salim, Mohamed Salah et Messaoud.

À Mes soeurs Nisrine, Abir, Imène et Intissar.

À Mon neveu Fateh.

À Mes nièces Aya et Fatima.

À tous mes oncles et toutes mes tantes.

À tous mes cousins et cousines notamment Maamar, Tidjani, Khireddine, Ramzi et

Abou Horaira,. .etc.

À Toute la famille Abaidi.

À tous mes amis notamment, Nadhir, Ayoub, Bilal, Messaoud, Younès, Abdallah,

Nacer, Hamza,. .etc.

À Mon ami Chaher Eddine Bali avec qui j'ai partagé ce modeste travail.

À Toute la Promotion Automatisme 2012.

Hakim

Remerciements

Nous tenons à remercier notre Dieu, le tout puissant, de nous avoir donné la santé et la volonté pour compléter ce modeste travail.

Nous tenons à exprimer nos profondes gratitudes et nos vifs remerciements à notre promoteur, le Docteur OUAFI Abdelkrim pour sa disponibilité et de nous avoir fait profiter de ses qualités aussi bien sur le plan scientifique que sur le plan professionnel. Un grand merci pour son sérieux, sa patience et son aide.

Nos remerciements s'adressent également au président de jury Madame TERKI et à Monsieur BENELMIR d'avoir accepté de lire et d'évaluer notre mémoire.

Nous exprimons nos remerciements à tous les professeurs qui nous ont encadrés pendant notre cursus universitaire sans oublier les responsables du Laboratoire de Génie Electrique Hamza et Abdellatif.

Enfin nous remercions tous ceux qui ont participé de près ou de loin à la réalisation de ce mémoire.

Tableau des matières

Index des tableaux .. i

Index des figures 1

Introduction générale 01

CHAPITRE 01 : Généralités sur la robotique mobile

1. Introduction 02

2. Généralités sur la robotique mobile 02

2.1. Définition 02

2.2. Historique de la robotique 02

2.3. Robot Industriel 03

2.4. Robot Mobile . 04

2.4.1. Architecture des robots mobiles 05

2.4.2. Classification des Robots Mobiles 08

2.4.3. Caractéristiques d'un robot . 13

4. Conclusion 14

CHAPITRE 02 : Les microcontrôleurs

1. Introduction . 15

2. Définition de PIC . 15

3. Classification des PICs de Microchip 15

4. Identification des PICs: 16

5. PIC 16F877 . 17

5.1. Les PINS de 16F877 17

5.2. Les particularités des ports . 18

5.3. Caractéristiques principales dePIC16F87X 19

5.4. Architecture interne du16F877 19

5.5. Les éléments de base du PIC 16F877 21

5.5.1. L'Horloge 21

5.5.2. L'ALU et l'Accumulateur W 21

5.5.3. Les mémoires du PIC 16F877 . 21

5.5.4. Organisation de la mémoire 22

5.5.5. Les Timers .. 23

5.5.6. Le convertisseur 24

5.6. Les instructions du 16F876/877 24

5.7. Les interruptions 25

6. Conclusion . 27

CHAPITRE 03 : Planification de localisation et trajectoire

1. Introduction 28

2. Système de localisation 28

2.1. La localisation du mobile 28

2.2.1. Localisation relative 28

2.1.2. Localisation absolue 29

2.2. La localisation de l'environnement 29

2.2.1. Les méthodes télémétriques . 29

2.2.2. L'analyse d'image 31

2.2.3. La localisation par contact .. 31

3. Planification de trajectoire 31

3.1. Principe de base 31

3.2. Configuration de l'espace . 31

3.2. Construction du modèle de l'environnement 32

3.3.1. Modélisation par grille 32

3.3.2. Modèles géométrique .. 33

3.4. L'approche globale 33

3.4.1. Méthode de décomposition cellulaire . 33

3.4.2. Méthode de vecteurs de traversabilité 34

3.4.3. Méthode de roadmap .. 34

3.5. L'approche locale .. 34

3.5.1. Méthode myopique . 35

3.5.2. Méthode de champs de potentiel 36

4. Evitement des obstacles en logique floue .. 36

4.1. Principe . 36

4.2. Problématique 37

4.3. Définition des variables 37

4.4. Partitionner les domaines variables .. 38

5. Conclusion .. 39

CHAPITRE 04 : Réalisation pratique

1. Introduction 40

2. Schéma bloc 40

3. Partie de commande 40

3.1. Les Capteurs 41

3.2. La carte à PIC 16F877 42

3.2.1. Principe .. 42

3.2.2. Schéma électronique 43

3.3. Commutateur de puissance ULN2803 43

3.4. Alimentation 45

3.5. Schéma électronique de carte de commande 46

4. Partie mécanique 48

4.1. Moteurs électriques 48

4.2. Types de moteurs utilises .. 48

4.3. Le moteur pas à pas . 49

4.4. Les différents types de moteurs pas à pas . 50

4.4.1. Les moteurs à aimants permanents . 50

4.4.2. Les moteurs unipolaires .. 50

4.4.3. Les moteurs bipolaires 51

4.4.4. Les moteurs à réluctance variable 51

4.4.5. Les moteurs hybrides .. 52

4.5. Nombre de phase 52

4.6. Le mode de séquence 53

4.6.1. Monophasé . 53

4.6.2. Biphasé 53

4.6.3. Demi -pas 54

4.7. Commande des moteurs pas à pas par des circuits intégrés spécialisés 54

4.8 Le critère de choix d'un moteur pas à pas . 54

4.9. Fonctionnement du mécanisme 55

5. Partie Logiciels et Programmation . 55

5.1. Logiciel de simulation PROTEUS 55

5.2. Logiciel de programmation Flowcode .. 56

5.2.1. Excitation de Flowcode .. 56

5.2.2. Présentation du Flowcode 57

5.3. Programmateur d'un PIC .. 57

6. Organigramme principale de mouvement de notre robot 58

6.1 Sous-programme détection d'obstacle .. 59

6.2 Sous-programme évitement d'obstacle avec logique flou 59

7. Conclusion 60

Conclusion générale . 61

Bibliographie 62
ANNEXE A

ANNEXE B ANNEXE C

Index des tableaux

CHAPITRE 02 : Les microcontrôleurs

Tableau 2.1 : Différents circuit de la famille 16F87X 16

CHAPITRE 04 : Réalisation pratique

Tableau 4.2 : séquence monophasé 53

Tableau 4.3 : séquence biphasé 53

Tableau 4.3 : séquence Demi -pas 54

ii

Index des figures

CHAPITRE 01 : Généralités sur la robotique mobile

Figure 1.1 Structure d'un robot mobile 04

Figure 1.2 Télémètres infrarouges .. 05

Figure 1.3 Télémètres ultrasonores 06

Figure 1.4 Exemple d'un télémètre laser 06

Figure 1.5 Robot de type uni-cycle 09

Figure 1.6 Robot de type tricycle 09

Figure 1.7 Robot de type voiture 10

Figure 1.8 Robot mobile omnidirectionnel 10

Figure 1.9 Exemples de robots mobiles à chenilles 11

Figure 1.10 Exemples des robots marcheurs 11

Figure1.11 Exemple d'un robot violant 12

CHAPITRE 02 : Les microcontrôleurs

Figure 2.12 Les pins du 16F877. 17

Figure 2.13 Architecture interne du PIC 16F877 20

Figure 2.14 Un quartz ou résonateur céramique 21

Figure 2.15 Plan Mémoire pour les instructions(Code programme) 23

Figure 2.16 module du convertisseur. 24

Figure 2.17 synoptique des modes d'interruptions 26

CHAPITRE 03 : Planification de localisation et trajectoire

Figure 3.1 capteur ultrason 30

Figure 3.2 Exemple d'un télémètre laser 30

Figure 3.3 Télémétrie par triangulation 30

Figure 3.4 Les différentes configurations de l'espace 32

Figure 3.5 Relation d'adjacence. 34

Figure 3.6 Contournement dans le cas de la méthode myopique . 35

iii

Figure 3.7 Principe d'évolution d'un robot mobile par la méthode de champs de potentiel 36

Figure 3.8 Les secteurs de détection du robot 37

Figure 3.9 La fonction d'appartenance 38

Figure 3.10 Variables droite et gauche 38

Figure 3.11 Variable devant 38

Figure 3.12 Variable angle 39

Figure 3.13 Variable distance (cm) 39

CHAPITRE 04 : Réalisation pratique

Figure 4.1 Schéma bloc du robot mobile 40

Figure 4.2 Schéma synoptique d'un capteur ultrasonique 41

Figure 4.3 Les deux types de pilotage 42

Figure 4.4 Schéma électronique de la PIC avec oscillateur 43

Figure 4.5 ULN 2803 43

Figure 4.6 schéma interne de l'ULN2803 . 44

Figure 4.7 Montage d'un Darlington 44

Figure 4.8 Bloc de commutateur de puissance avec les moteurs 44

Figure 4.9 Régulateurs de tension 45

Figure 4.10 La carte de régulateur de tension réel 45

Figure 4.11 Schéma électronique de la Carte de commande 46

Figure 4.12 Carte de commande réalisée par le logiciel PROTEUSE 47

Figure 4.13 Deux faces de la carte de commande . 47

Figure 4.14 La carte d'interface réelle 48

Figure 4.15 Moteur pas à pas 49

Figure 4.16 Structure interne d'un moteur pas à pas 50

Figure 4.17 Fonctionnement schématique d'un moteur pas à pas . 50

Figure 4.18 Représentation schématique d'un moteur unipolaire 51

Figure 4.19 Représentation schématique d'un moteur bipolaire 51

Figure 4.20 Moteur à reluctance variable 52

iv

Figure 4.21 La structure interne d'un moteur hybride 52

Figure 4.22 Type de fils de moteur pas à pas .. 53

Figure 4.23 le mécanisme de mobile 55

Figure 4.24 choisit le PIC 16F877 . 56

Figure 4.25 Interface du logiciel Flowcode . 57

Figure 4.26 Organigramme de programme principale 58

Figure 4.27 Organigramme de détection d'obstacle 59

Figure 4.28 Organigramme d'évitement d'obstacle avec logique flou 59

Introduction général

1

Introduction Générale

Introduction Générale

La robotique permet d'aider l'homme dans les tâches difficiles, répétitives ou Pénibles. de plus elle constitue le rêve de substituer la machine à l'homme dans ces tâches.

Les facultés de perception et de raisonnement des robots progressent chaque jour actuellement et plus encore dans l'avenir, ils sont appelés à jouer un rôle de plus en plus Important dans notre vie.

La robotique comporte deux grands pôles d'intérêt: la robotique de manipulation (robotique industrielle) et la robotique mobile. Un des problèmes majeurs de la robotique mobile est la planification de mouvement. Autour de ce problème de planification de mouvement de nombreuses études ont été réalisées dans le but de développer des méthodes générale pour guider les robots.

Pour un robot mobile, avec trajectoire programmé, notre but dans ce mémoire, ne se limite pas à trouver une trajectoire libre ou à éviter des obstacles sans tenir en compte certains paramètres géométriques telles que dimensions du robot ou formes des obstacles. Notre but dans ce mémoire est l'étude et la réalisation d'un robot mobile à trajectoire programmé avec évitement d'obstacles en utilisant la logique floue. Notre robot mobile est basé sur une carte de capteurs émetteur/récepteur (infrarouge ou ultrasonique) et une carte de commande à base de microcontrôleur PIC16F877, ainsi qu'un commutateur de puissance ULN2803 pour alimenter les moteurs pas à pas qui assure le déplacement du robot à travers un mécanisme.

Le plan du mémoire est comme suit :

Le premier chapitre présente une introduction sur la robotique : définitions, classification, historique ... etc. et les constituants d'un robot mobile.

Le deuxième chapitre est une étude approfondie sur le microcontrôleur PIC 16F877 utilisé pour commander notre robot.

Le troisième chapitre décrit quelque différentes méthodes pour la planification du trajectoire et la localisation pour le déplacement du robot réalisé.

Le quatrième chapitre, présente les différentes parties (mécanique et électronique) du robot est consacré aussi aux logiciels de simulation utilisés pour la programmation. Ainsi il présente les organigrammes utilisés par le microcontrôleur pour gérer les différents circuits.

Enfin, nous terminons notre mémoire par une conclusion qui présente le bilan de ce travail et les perspectives envisagés et une bibliographie et des annexes.

CHAPITRE:01

GéNéRALITéS SUR

LA ROBOTIQUE MOBILE

Chapitre 01

Généralités sur la robotique mobile

2

1. Introduction

La robotique est un ensemble de disciplines (mécanique, électronique, automatique, informatique), elle se subdivise en deux types : les robots industriels et les robots mobiles. Les robots industriels sont généralement fixes, ils sont utilisés dans des nombreuses applications industrielles: l'assemblage mécanique, la soudure, la peinture... Les robots mobiles ne sont pas fixes, ils sont classifies selon la locomotion en robots marcheurs, à roues, à chenilles... comme ils peuvent être classifié selon le domaine d'application en robots militaires, de laboratoire, industriels et de services.

Les robots mobiles présentent un cas particulier en robotique. Leur intérêt réside dans leur mobilité", destinés à remplir des taches pénibles (exemple : transport de charges lourdes) et ils travaillent même en ambiance hostile (nucléaire, marine, spatiale, lutte centre l'incendie, surveillance...).

L'aspect particulier de la mobilité impose une complexité technologique (capteurs, motricité, énergie) ct méthodologique tel que le traitement des informations par utilisation des techniques de l'intelligence artificielle ou de processeurs particuliers (vectoriels, cellulaires).

L'autonomie du robot mobile est une faculté qui lui permet de s'adapter ou de prendre une décision dans le but de réaliser une tache même dans un environnement peu connu ou totalement inconnu.

2. Généralités sur la robotique mobile

2.1. Définition

Le terme (Robot) prend son origine du mot slave (Paboma) (se prononce robota) qui veut dire en russe travail ou en tchèque corvée ou travail forcé. II désigne aussi une machine à l'aspect humain, capable de se mouvoir et d'agir, qu'un mécanisme automatique pouvant effectuer certaines opérations, et capable par fois de modifier de lui-même son cycle de fonctionnement et d'exercer un certain choix.

2.2. Historique de la robotique

La robotique est passée par plusieurs générations comme suit, [3]:

? 1947: Premier manipulateur électrique télé-opéré.

? 1954: Premier robot programmable.

? 1961: Utilisation d'un robot industriel, commercialisé par la société UNIMATION

(USA), sur une chaîne de montage de General Motors.

·

Chapitre 01

Généralités sur la robotique mobile

3

1961: Premier robot avec contrôle en effort.

· 1963: Utilisation de la vision pour commander un robot.

· 1978 : Le robot ARGOS. Développé à l'Université Paul Sabatier de Toulouse (France). Le robot ARGOS simule la navigation d'un robot mobile équipé d'un système de vision au fur et à mesure de ses déplacements.

· 1979: Le robot HILARE. Les chercheurs du L.A.A.S. de Toulouse (France) étudièrent la planification des trajectoires d'un robot mobile ponctuel, dans un environnement totalement connu.

· 1981: Le robot VESA. Ce robot, construit à l'I.N.S.A (France). de Rennes, est équipée d'un arceau de sécurité pour réaliser la détection d'obstacles dans un environnement totalement inconnu.

· 1984: Le robot FLAKEY. Ce robot, conçu et construit au Stanford Research Institute et le reflet des améliorations apportées par 14 années de développement. Le robot FLAKEY est équipé de deux roues motrices avec encodeurs, mais sa vitesse maximale est de 66 cm/s au lieu de quelques centimètres par seconde. Ce robot est capable de naviguer dans des environnements réels.

· 1993: Les robots ERRATIC et PIONNER. Le robot ERRATIC a été conçu par Kurt Konolige, au Stanford Research Institue, comme un robot mobile de faible coût pour ses cours de robotique.

· Les robots mobiles actuels : A présent la plupart des travaux de recherche portent sur les problèmes de perception. La planification de trajectoires, l'analyse et la modélisation de l'environnement de robot, appliqué sur des robots mobiles commerciaux. Également la recherche actuelle sur la conception mécanique des robots mobiles pour des applications hautement spécialisées, comme l'exploration sous-marine, les robots volants et le micro robots, [4].

2.3. Robot Industriel

Les robots industriels, tout comme les unités des fabrications modernes, sont des

systèmes automatisme de haut niveau qui utilisent des ordinateurs comme partie intégrante de leur chaine d'asservissement Actuellement ils constituent la pièce maitresse de toute automatisation industrielle. La robotique est utilisée aussi en technologie spatiale et dans le domaine médical.

Les robots industriels ont été créés pour accroitre la productivité et améliorer la qualité au sein des processus industriels. Ils s'avèrent particulièrement précieux dans de nombreuses

Chapitre 01

Généralités sur la robotique mobile

4

applications industrielles en particulier la peinture, la soudure, le contrôle et l'assemblage mécanique...

Les recherches actuelles portent en effet sur des robots évolués capables d'entendre de voir, de toucher et de prendre des décisions.

2.4. Robot Mobile

Contrairement au robot industriel qui est généralement fixé, le robot mobile est doté de moyens qui lui permettent de se déplacer dans son espace de travail. Suivant son degré d'autonomie ou degré d'intelligence, il peut être dote de moyens de perception et de raisonnement. Certains sont capables, sous contrôle humain réduit, de modéliser leur espace de travail et de planifier un chemin dans un environnement qu'ils ne connaissent pas forcément d'avance.

Actuellement, les robots mobiles les plus sophistiqués sont essentiellement orientés vers des applications dans des environnements variables ou incertains, souvent peuplés d'obstacles, nécessitant une adaptabilité à la tâche. La figure (1.1) illustre la structure d'un tel robot [1].

Structure mécanique

L'énergie

Structure électronique

Figure 1.1 : Structure d'un robot mobile

Un A.G.V (Automated Guided Vehicule) ou véhicule à guidage automatique est un cas particulier d'un robot mobile voué à des applications purement industrielles. II est parfois appelé chariot automatique et il est doté d'un équipement de guidage automatique qu'il soit inductif (filoguidé), optique, électromagnétique ou autre. Ce type de véhicule est capable de suivre des chemins prédéfinis et programmables ou de planifier ses propres trajectoires selon le type de guidage et de navigation utilisée. Les A.G.V se présentent sous des aspects assez variés, que ce soit par leur forme, par leur taille ou par leur poids.

Chapitre 01

Généralités sur la robotique mobile

2.4.1. Architecture des robots mobiles

En général un robot mobile est constitué dc trois structures :

A. Structure mécanique: elle assure le mouvement du robot par des roues motrices placées selon le type de mouvement et la précision de la tache voulue.

B. Structure instrumentale : un robot est équipé d'un certain nombre de capteurs de sécurité afin de leur donner une certaine connaissance de l'environnement. Selon l'application, les capteurs peuvent être :

? Capteurs infrarouges

Les capteurs infrarouges sont constitués d'un ensemble émetteur/récepteur fonctionnant avec des radiations non visibles, dont la longueur d'onde est juste inférieure à celle du rouge visible. La mesure des radiations infrarouges étant limitée et, en tout état de cause, la qualité très dégradé d'un mètre, ces dispositifs ne servent que rarement de télémètres.

On les rencontrera le plus souvent comme détecteurs de proximité, Ou dans un mode encore plus dégradé de présence.

5

Figure 1.2 : Télémètres infrarouges. ? Capteurs ultrasonores [5]

Les capteurs ultrasonores utilisent des vibrations sonores dont les fréquences ne sont pas perceptibles par l'oreille humaine. Les fréquences couramment utilisées dans ce type. De technologie vont de 20 kHz à 200 kHz. Les ultrasons émis se propagent dans l'air et sont réfléchis partiellement lorsqu'ils heurtent un corps solide, en fonction de son impédance acoustique. L'écho en retour prend la forme d'une onde de pression à l'image des vaguelettes circulaires déformant la surface de l'eau lorsqu'on y jette une pierre.

Chapitre 01

Généralités sur la robotique mobile

6

La distance entre la source et la cible peut être déterminée en mesurant le temps de volume séparant l'émission des ultrasons du retour de l'écho.

A) exemple d'un capteur ultrason B) principe émié et reçu capteur ultrason.

Figure 1.3 : Télémètres ultrasonores.

? Télémètre laser

Les télémètres laser (Figure 4) sont à ce jour le moyen le plus répandu en robotique mobile pour obtenir des mesures précises de distance. Leur principe de fonctionnement est le suivant:[5]

A un instant donné, une impulsion lumineuse très courte est envoyée par l'intermédiaire d'une diode laser de faible puissance. La réflexion de cette onde donne un écho qui est détecté au bout d'un temps proportionnel à la distance capteur obstacle. La direction des impulsions est modifiée par rotation d'un miroir. Par l'angle de balayage couvrant généralement entre 100 et 180 degrés sur des produits commerciaux.

Figure 1.4 : Exemple d'un télémètre laser.

? Les caméras

L'utilisation d'une caméra pour percevoir l'environnement est une méthode attractive car elle semble proche des méthodes utilisées par les humains. Le traitement des données volumineuses et complexes fournies par ces capteurs reste cependant difficile à l'heure actuelle, même si cela reste une voie de recherche très explorée.

Chapitre 01

Généralités sur la robotique mobile

7

s Les capteurs tactiles

Les robots peuvent être équipés de capteurs tactiles, qui sont le plus souvent utilisés pour des arrêts d'urgence lorsqu'il rencontre un obstacle qui n'avait pas été détecté par le reste du système de perception. Ces capteurs peuvent être de simples contacteurs répartis sur le pourtour du robot. Il ne détecte alors le contact qu'au dernier moment.

Il est également possible d'utiliser des petites tiges arquées autour du robot pour servir d'intermédiaire à ces contacteurs, ce qui permet une détection un peu plus précoce et donne ainsi plus de marge pour arrêter le robot.

s Les boussoles

Les boussoles permettent, par la mesure du champ magnétique terrestre, de déduire la direction du nord. Ces capteurs peuvent utiliser différentes technologies et ont l'avantage de fournir une direction de référence stable au cours du temps (au contraire des gyroscopes qui dérivent). Ces capteurs sont toutefois très délicats à utiliser en intérieur car ils sont très sensibles aux masses métalliques présentes dans la structure des bâtiments. En pratique, on les utilise donc principalement en extérieur en apportant le plus grand soin à leur positionnement sur le robot pour éviter les influences des composants du robot, notamment les moteurs électriques.

s Les balises

Dans certaines applications, il est également possible d'utiliser des balises dont on connaît la position, et qui pourront être facilement détectées par le robot, afin de faciliter sa localisation. Des techniques très diverses peuvent être utilisées pour ces balises. On peut par exemple utiliser un signal radio, émis de manière omnidirectionnel par la balise.

Le robot sera alors équipé d'une antenne directionnelle qui lui permettra de détecter la direction des différentes balises, afin de déduire sa position par triangulation. On peut également utiliser des codes couleurs où des codes barrent qui pourront être détectés par une caméra.

s Le GPS (Universel Placement Système en Anglais : Global Positionning System)

Un système de balises dont on a placé les balises sur des satellites en orbite terrestre et qui est par conséquent accessible de quasiment partout à la surface du globe. Ce système permet donc d'avoir une mesure de sa position dans un repère global couvrant la terre avec

Chapitre 01

Généralités sur la robotique mobile

8

une précision variant de quelques dizaines de mètres à quelques centimètres suivant les équipements. [5]

C. Structure informatique : une commande numérique est impérative, afin de bien analyser les différentes informations, soit du système de perception ou de localisation. Cette commande peut être à base d'un microprocesseur ou microcontrôleur.

2.4.2. Classification des Robots Mobiles

On peut classer les robots mobiles selon leur degré d'autonomie, système de locomotion, leur domaine d'application, leur système de localisation, l'énergie utilisée... Nous allons présenter ici quatre classifications qui semblent être les plus intéressantes

2.4.2.1. Classification selon le degré d'autonomie

Un robot mobile autonome est un système automoteur doté de capacités décisionnelles et de moyens d'acquisition et de traitements de reformation qui lui permettent d'accomplir sous contrôle humain réduit un certain nombre de tâches, dans un environnement non complètement connu. On peut citer quelques types :

· Véhicule télécommande par un opérateur

Ces robots sont commandés par un opérateur qui leurs impose chaque tache élémentaire à réaliser.

· Véhicule télécommandé au sens de la tâche à réaliser Le véhicule contrôle automatiquement ses actions.

· Véhicule semi-autonome

Ce type de véhicule réalise des tâches prédéfinies sans 1'aidc de 1'opdrateur.

· Véhicule autonome

Ces derniers réalisent des tâches semi-définies.

2.4.2.2 Classification selon le type de locomotion

Selon le système de locomotion, on peut distinguer quatre types des robots:

A. Les robots mobiles à roues

La mobilité par roues est la structure mécanique la plus utilisée. Ce type de robot assure un déplacement avec une accélération et une vitesse rapide mais nécessite un sol relativement plat. On distingue plusieurs classes de robots à roues déterminées, principalement, par la position et le nombre de roues utilisées. Nous citerons ici les quatre classes principales de robots à roues. [5], [8]

Chapitre 01

Généralités sur la robotique mobile

? Robot uni-cycle

Un robot de type uni cycle est actionné par deux roues indépendantes, il possédant éventuellement des roues folles pour assurer sa stabilité. Son centre de rotation est situé sur l'axe reliant les deux roues motrices. C'est un robot non-holonome, en effet il est impossible de le déplacer dans une direction perpendiculaire aux roues de locomotion. Sa commande peut être très simple, il est en effet assez facile de le déplacer d'un point à un autre par une suite de rotations simples et de lignes droites.( Figure 5)

9

Figure 1.5: Robot de type uni-cycle.

? Robot tricycle

Un robot de type tricycle est constitué de deux roues fixes placées sur un même axe et d'une roue centrée orientable placée sur l'axe longitudinal. Le mouvement du robot est donné par la vitesse des deux roues fixes et par l'orientation de la roue orientable. Son centre de rotation est situé à l'intersection de l'axe contenant les roues fixes et de l'axe de la roue orientable. C'est un robot non-holonome. En effet, il est impossible de le déplacer dans une direction perpendiculaire aux roues fixes. Sa commande est plus compliquée. Il est en général impossible d'effectuer des rotations simples à cause d'un rayon de braquage limité de la roue orientable. (Figure 1.6)

Figure 1.6 : Robot de type tricycle.

Chapitre 01

Généralités sur la robotique mobile

? Robot voiture

Un robot de type voiture est semblable au tricycle, il est constitué de deux roues fixes placées sur un même axe et de deux roues centrées orientables placées elles aussi sur un même axe (Figure1.7).

Le robot de type voiture est cependant plus stable puisqu'il possède un point d'appui supplémentaire. Toutes les autres propriétés du robot voiture sont identiques au robot tricycle, le deuxième pouvant être ramené au premier en remplaçant les deux roues avant par une seule placée au centre de l'axe, et ceci de manière à laisser le centre de rotation inchangé.

Figure 1.7 : Robot de type voiture.

? Robot omnidirectionnel

Un robot omnidirectionnel est un robot qui peut se d'placer librement dans toutes les directions. Il est en général constitué de trois roues décentrées orientables placées en triangle équilatéral.

L'énorme avantage du robot omnidirectionnel est qu'il est holonome puis qu'il peut se déplacer dans toutes les directions. Mais ceci se fait au dépend d'une complexité mécanique bien plus grande (Figure 1.8).

10

Figure 1.8 : Robot mobile omnidirectionnel.

Chapitre 01

Généralités sur la robotique mobile

B. Les robots mobiles à chenilles

L'utilisation des chenilles présentées 1'avantage d'une bonne adhérence au sol .et d'une faculté de franchissement d'obstacles. L'utilisation est orienté vers l'emploi sur sol accidenté ou dc mauvaise qualité au niveau dc l'adhérence (présence de boue, herbe,..).

Figure 1.9 : Exemples de robots mobiles à chenilles

C. Les robots mobiles marcheurs

Les robots mobiles marcheurs sont destinés à réaliser des taches variées dont l'accès nu site est difficile ct dangereux à l'homme. Leur structure dans plusieurs degrés de liberté permet un rapprochement avec les robots manipulateurs. On distingue les robots marcheurs à deux jambes (humanoïdes), à quatre pattes (type cheval), et a six pattes (type araignée).

11

Figure 1.10 : Exemples des robots marcheurs

D. Chapitre 01

Généralités sur la robotique mobile

Les robots mobiles rampants

La reptation est une solution de locomotion pour un environnement de type «tunnel» qui conduit à réaliser des structures filiformes. Le système est compost d'un ensemble de module ayant chacun plusieurs mobilités. Ici aussi les techniques utilisées découlent des méthodes de locomotion des animaux et des insectes.

E. Autres moyens de locomotion

Les applications de ce type de robots sont très spécialisées et les architectures des robots sont en général spécifiques à l'application visée. (Figure 1.11) [6]

12

Figure 1.11 : Exemple d'un robot violant.

2.4.2.3. Classification selon le domaine d'application

Bien que le champ d'application des robots mobiles reste illimité, nous présentons ici quelques domaines d'application.

? Les robots industriels et de service

Il existe des robots mobiles destinés à des applications industrielles. Celles-ci concernent principalement le transport et la distribution (dans les usines, les mines, les hôpitaux et les ateliers), le nettoyage, 1'entretien et la maintenance, la surveillance et la manutention. Quant aux robots de service, ils sont destinés à aider des handicapés moteurs, à guider les aveugles el à piloter des voitures automatiques.

? Les robots militaires

Les applications militaires de la robotique mobile sont nombreuses. Ce champ d'application présente l'intérêt de fournir des spécifications serrées telles que la vitesse des véhicules, leurs capacités de franchissement des obstacles et leur rapidité de réaction.

? Les robots de laboratoires

De nombreux laboratoires travaillant dans le domaine de la robotique, disposent de plates-formes expérimentales pour valider des travaux théoriques en perception ou en planification de mouvement.

Chapitre 01

Généralités sur la robotique mobile

13

Chapitre 01

Généralités sur la robotique mobile

14

2.4.2.4 Classification selon la motricité et l'énergie

Le déplacement des robots est réalisé par des moteurs de types :

- Électrique

- Thermique

- Hydraulique

L'énergie électrique la plus fréquemment employée offre 1'avantage d'une commande

aisée. Par contre le transport et la génération présentent des difficultés.

Plusieurs méthodes sont employées :

· Par batteries qui soul :

- Soit recharges périodiquement de manière automatique ou manuelle. - Soit par un échange avec d'autre lorsqu'elles sont déchargées

· Par groupe électrogène embarqué dont l'inconvénient constitue la masse élevée, l'énergie de base est alors thermique.

· Par cordon ombilical qui réduit l'autonomie du robot.

L'énergie thermique est essentiellement employée par des véhicules de forte puissance comme énergie de base pour la traction ou pour activer un compresseur hydraulique.

2.4.3. Caractéristiques d'un robot

Un robot doit être choisi en fonction de l'application qu'on lui réserve. Voici quelques paramètres à prendre, éventuellement, en compte :

a) La charge maximale transportable

De quelques kilos à quelques tonnes, à déterminer dans les conditions les plus défavorables (en élongation maximum).

b) Le volume de travail

Défini comme l'ensemble des points qu'on peut atteindre par l'organe terminal. Tous les mouvements ne sont pas possibles en tout point du volume de travail. L'espace (volume) de travail (reachable workspace), également appelé espace de travail maximal, est le volume de l'espace que le robot peut atteindre via au moins une orientation. L'espace de travail dextre (dextrous- workspace) est le volume de l'espace que le robot peut atteindre avec toutes les orientations possibles organe terminal. Cet espace de travail est un sous-ensemble de l'espace de travail maximal, [2].

c) Le positionnement absolu

Correspondant à l'erreur entre un point souhaité (réel), défini par une position et une orientation dans l'espace cartésien et le point atteint. Il est calculé via le modèle géométrique inverse du robot. Cette erreur est due au modèle utilisé, à la quantification de la mesure de position et à la flexibilité du système mécanique.

En général, l'erreur de positionnement absolu, également appelée précision, est de l'ordre de 1 mm. [2]

d) La répétabilité

Ce paramètre caractérise la capacité que le robot à retourner vers un point (position, orientation) donné. La répétabilité correspond à l'erreur maximum de positionnement sur un point prédéfini dans le cas de trajectoires répétitives.[2]

e) La vitesse de déplacement

Vitesse maximum en élongation maximum ou accélération.

Il existe d'autres caractéristique comme: [6]

? La masse du robot.

? Le coût du robot.

? La maintenance, ...

3. Conclusion

Nous avons présenté, dans ce chapitre les robots mobiles qui sont des véhicules qui

remplacent l'homme dans les taches pénibles et dangereuses actuellement plus encore dans l'avenir ,les

robots sont utiliser à jouer un rôle de plus en plus important dans notre vie maie ceci n'annule pas

l'existence de certains problèmes pour assurer une bonne application de ces robots

Comme exemples de ces problèmes nous citons l'analyse de l'environnement, planification,

navigation ....

Chapitre:02

Les Microcontrôleurs

Chapitre 2

Les microcontrôleurs

15

1. Introduction

Le microcontrôleur est un objet technique, intégrant de l'électronique, fait souvent apparaître des fonctions ayant pour rôle le traitement d'information : opérations arithmétiques (Addition, multiplication...) ou logiques (ET, OU...) entre plusieurs signaux d'entrée permettant de générer des signaux de sortie.

Ces fonctions peuvent être réalisées par des circuits analogiques ou logiques. Mais, lorsque l'objet technique devient complexe, et qu'il est alors nécessaire de réaliser un ensemble important de traitements d'informations, il devient plus simple de faire appel à une structure à base de microcontrôleur.

2. Définition de PIC

Les microcontrôleurs sont aujourd'hui implantés dans la plupart des applications grand public ou professionnelles, il en existe plusieurs familles. La société Américaine Microchip Technologie a mis au point dans les années 90 un microcontrôleur CMOS : le PIC (Periphirol Interface contrôler). Ce composant encore très utilisé à l'heure actuelle, est un compromis entre simplicité d'emploi, rapidité et prix [11].

Les PIC existent dans plusieurs versions :

· Les UVPROM qui sont effaçable par une source de rayonnements ultraviolets

· Les OTPROM programmable une seule fois

· Les EEPROM et flash EPROM qui sont effaçables électriquement.

3. Classification des PICs de Microchip

Actuellement les modèles microchip, sont classes en trois grandes familles, comportant chacune plusieurs références. Ces familles sont [11] :

· Base -line : les instructions sont codées sur 12 bits.

· Mide -line : les instructions sont codées sur 14 bits.

· High -end : les instructions sont codées sur 16 bits.

Les PICs sont des composants STATIQUES, Ils peuvent fonctionner avec des fréquences d'horloge allant du continu jusqu'à une fréquence max spécifique à chaque circuit.

Un PIC16F876-04 peut fonctionner avec une horloge allant du continu jusqu'à 4 MHz. Nous nous limiterons dans ce chapitre à la famille Mid-Range et particulièrement au PIC 16F876/877. Le tableau 01 indique les différents circuits de la famille 16F87X, [8] :

Chapitre 2

Les microcontrôleurs

Tableau 2.1 : Différents circuit de la famille 16F87X.

16

Dans notre application, nous avons choisis d'utiliser le PIC 16F877 ; qui contient un espace mémoire plus large que les autres Pics ; et disponible dans le marché et très utilisé.

4. Identification des PICs

Un PIC est généralement identifié par une référence de la forme suivante : xx(L)XXyy-zz

xx : famille du composant, actuellement « 12, 14, 16,17 et 18 ».

L : tolérance plus importante de la plage de tension.

XX : type de programme

C : EPROM ou EEPROM

F : flash

yy : identificateur

zz : vitesse maximale du quartz de pilotage

Exemple :

PIC16 F 876 - 20

Familles 10, 12 Fréquence Max=20Mhz

16, 17 ou 18

Type de mémoire et Référence à

d'Alimentation 2 ou 3 chiffres

F Flash 4,5 à 6 V

C EEPROM ou EPROM 4,5 à 6 V CR ROM 4,5 à 6 V

LF Flash 2 à 6 V

LC EEPROM ou EPROM 2,5 à 6 V LCR ROM 2,5 à 6 V

Chapitre 2

Les microcontrôleurs

17

5. PIC 16F877:

Le pic 16F877 est un circuit intègre contenu dans un boîtier nommer « DIL 40 », il présente 40 broches, 20 de chaque côté. Les broches sont virtuellement numérotées de 1 à 40. La 1ere broche est placé dans le coin situé à gauche de l'encoche de repérage [11].

Figure 2.12 : Les pins du 16F877

5.1. Les PINS de 16F877

A. MCLR

Cette broche sert à initialiser le microcontrôleur. Un front montant sur MCLR déclenche

l'initialisation du microcontrôleur.

·

Chapitre 2

Les microcontrôleurs

18

EXTERNAL RESET (Mise à l'état bas de MCLR). Remise à zéro extérieure. Il faut appliquer un niveau bas sur l'entrée RESET pendant au moins 2ìS pour que l'Initialisation soit prise en compte.

· WDT: Chien de garde (Watch dog timer).

Si le WDT arrive à la fin du temps de garde sans avoir été rafraîchi il y aura alors une initialisation du microcontrôleur.

· BOR: Baisse de l'alimentation.

Si la tension VDD chute en dessous de 4V pendant 100ìS au moins, le microcontrôleur peut générer un RESET.

B. Oscillateur OSC1 et OS ou CLKIN et CLOUT.

Ces broches permettent de faire fonctionner l'oscillateur interne du PIC. On peut utiliser

3 types d'oscillateurs :

- Un quartz ou résonateur céramique

- Un oscillateur externe

- Un réseau RC

C. Alimentation VDD et VSS.

Ce sont les broches d'alimentation du circuit. Les tensions qui peuvent être appliquées vont :

- De 4,5V à 6V pour la gamme standard F.

- De 2 à 6V pour la gamme étendue LF.

L'intensité du courant consommé peut aller de 1ìA à 10mA.

La consommation du microcontrôleur sera fonction de :

- La tension d'alimentation.

- La fréquence interne.

- Le mode de fonctionnement.

5.2. Les particularités des ports

*Les 5 ports sont d'entrées sorties (input/output), ils sont bidirectionnels :

-Le port A (6 bits) I/O pure et/ou convertisseur analogique et/ou TIMER 0.

-Le port B (8 bits) I/O pure et/ou programmation in situ ICSP/ICD, RB0 est entrée d'interruption

externe.

-Le port C (8 bits) I/O pure et/ou SPI/I2C et/ou USART.

-Le port D (8 bits) I/O pure et/ou port parallèle 8 bits associé au port E.

-Le port E (3 bits) I/O pure et/ou pilotage du port E RE0/R, RE1/WR et RE/CS.

Chapitre 2

Les microcontrôleurs

19

5.3. Caractéristiques principales de PIC 16F87X

Les éléments essentiels du PIC 16F876 sont [10] :

· Une mémoire programme de type EEPROM flash de 8K mots de 14 bits

· Une RAM donnée de 368 octets

· Une mémoire EEPROM de 256 octets

· Trois ports d'entrée sortie, A (6 bits), B (8 bits), C (8 bits)

· Convertisseur Analogiques numériques 10 bits à 5 canaux

· USART, Port série universel, mode asynchrone (RS232) et mode synchrone

· SSP, Port série synchrone

· Trois TIMERS avec leurs Prescalers, TMR0, TMR1, TMR2

· Deux modules de comparaison et Capture CCP1 et CCP2

· Un chien de garde

· 13 sources d'interruption

· Générateur d'horloge, à quartz (jusqu' à 20 MHz) ou à Oscillateur RC

· Fonctionnement en mode sleep pour réduction de la consommation

· Programmation par mode ICSP (In Circuit Serial Programming) 12V ou 5V

· Possibilité aux applications utilisateur d'accéder à la mémoire programme

· Tension de fonctionnement de 2 à 5V

· Jeux de 35 instructions

5.4. Architecture interne du16F877

Comme pour tous les circuits intègre, chacun de ses broches à une ou plusieurs fonctions qui sont résumées par un sigle mnémotechnique. Ce microcontrôleur présente une architecture Harward, les données sont placées dans une mémoire de type RAM de 368 bytes. La mémoire de programme est constituée de mot de 14 bytes, est type FLASH (non volatile). Ces ressources sont donc précieuses, en comparaison de celles d'autres composantes. Le 16F877 possède encore 5 ports (A à E) et 3 temporisateurs (timers), ce diagramme bloc présente les composantes du 16F877 :

Chapitre 2

Les microcontrôleurs

Contrôle ALU

Mémoires

Timers, EEPROM, A/D, UART

Ports I/O

Figure 2.13: Architecture interne du PIC 16F877

20

5.5. Chapitre 2

Les microcontrôleurs

21

Chapitre 2

Les microcontrôleurs

22

Les éléments de base du PIC 16F877 [10]

5.5.1. L'Horloge

L'horloge peut être soit interne soit externe. L'horloge interne est constituée d'un oscillateur à quartz ou d'un oscillateur RC. Avec l'oscillateur à Quartz, on peut avoir des fréquences allant jusqu'à 20 MHz selon le type de uc. Le filtre passe bas (Rs, C1, ) limite les harmoniques dus à l'écrêtage et Réduit l'amplitude de l'oscillation, il n'est pas obligatoire (Figure.14).

Figure 2.14 : Un quartz ou résonateur céramique.

5.5.2. L'ALU et l'Accumulateur W

L'ALU est une Unité Arithmétique et Logique à 8 Bits qui réalise les opérations arithmétiques et logique de base. L'accumulateur W est un registre de travail 8 bits, toutes les opérations à deux opérandes passent par lui. On peut avoir :

- Une instruction sur un seul opérande qui est en général un registre situé dans la RAM

- Une instruction sur 2 opérandes. Dans ce cas, l'un des deux opérandes est toujours l'accumulateur W, l'autre peut être soit un registre soit une constante.

Pour les instructions dont un des opérandes est un registre, le résultat peut être récupéré soit dans l'accumulateur, soit dans le registre lui-même.

5.5.3. Les mémoires du PIC 16F877

Les mémoires sont de trois types différents [11] : A. La mémoire FLASH

C'est une mémoire programme de taille 8ko.Chaque case mémoire unitaire est de taille 13 bits. Cette mémoire est de type mémoires stable, c'est-à-dire qu'on peut réécrire dessus à volonté, car le 16F877 est caractérisé par la possibilité d'écrire des données. La zone mémoire est caractérisée par une adresse de 13 bits, alors ceci nous impose donc pour l'adressage les

registres EEAR et EEADRH. De même, nous aurons pour les données, les registres EEDATA et EEDATH. Le PIC commence l'exécution à l'adresse 0000H. De plus, lorsqu'il y a une interruption, le PIC va à l'adresse 0004H. Il est donc nécessaire de bien organiser le programme si celui-ci utilise des interruptions. Le programme exécutable par le PIC est implanté dans la mémoire flash à l'aide d'un programmateur (hard+soft).

B. La mémoire RAM

Cette mémoire de taille 368 octets est une mémoire d'accès rapide et elle est volatile (les données seront perdus lorsque elle n'est plus sous tentions). Elle contient tous les registres de configuration du PIC ainsi que les différents registres de données. Elle contient également les variables utilisées par le programme. La RAM est la mémoire la plus utilisée. Toutes les données qui y sont stockées sont perdues lors d'une coupure de courant.

La RAM est subdivisée de plus en deux parties dans chacune on trouve des « cases mémoire spéciales » appelée REGISTRES SPECIAUX et des cases mémoire « libre » dont on peut se servir provoque un fonctionnement spécial du PIC ou la mise en service d'une fonction particulière.

C. L'EPROM Interne

Le pic 16F877contient également la mémoire électriquement effaçable, réecrivable et stable. Ce type de mémoire est d'accès plus lent. Pour gérer cette EEPROM on a besoin de quatre registres, à savoir EEDR, EEDATA, EECON1 et EECON2. Le registre EEADR est utilisé pour placer l'adresse relative en EEPROM, tandis que le EEDATA contient la donnée à lire ou à écrire. L'adresse relative de l'accès EEPROM est donc comprise entre 0000 et 00FF ce qui nous permet d'utiliser un registre de huit bit pour définir cette adresse.

5.5.4. Organisation de la mémoire

Comme les PICs utilisent un bus pour les instructions et un bus pour les données, il faut considérer deux plans mémoire l'un pour les instructions et l'autre pour les données ainsi que les registres internes.

Chapitre 2

Les microcontrôleurs

23

Figure 2.15 : Plan Mémoire pour les instructions
(Code programme)

Le plan mémoire est linéaire ; les adresses vont de 0000h à 1FFFh (8k mots de 14 bits), par page de 2K mots. On peut remarquer, le vecteur de reset est figé en 0000h. Les PICs n'ont qu'un seul vecteur d'interruption en 0004h. Lors d'une interruption, le sous-programme associé devra déterminer quel périphérique a demandé une interruption. La pile utilisée par les sous programmes n'est pas implantée en mémoire de donnée comme avec les microcontrôleurs classiques, mais dans la mémoire programme. Elles sont utilisées lors d'appels de sous programmes, on ne peut pas imbriquer plus de 8 sous programmes.

5.5.5 Les Timers

Notre PIC possède 3 timers qui sont :

-Le Timer0 (8bits) : il peut être incrémenté par des impulsions extérieures via la broche (TOCKI/RA4) ou par l'horloge interne Fosc/4 (mode Timer).

-Le Timer1 (16 bits) : il peut être incrémenté soit par l'horloge interne par des impulsions sur la broche T1CKI/RC0 ou par un oscillateur (RC ou quartz) connecté sur les broches T1OSO/RC0 et T1OSI/RC1.

- Le Timer2 (8bits) : il est incrémenté par l'horloge interne, celle peut être pré divisée.

Chapitre 2

Les microcontrôleurs

24

Chapitre 2

Les microcontrôleurs

25

Tous ces timers peuvent déclencher une interruption interne, s'ils ont été autorisés. 5.5.6 Le convertisseur

Le CAN est un périphérique intégré destiné à mesurer une tension et la convertir en nombre binaire qui pourra être utilisé par un programme. Notre 16F877 travaille avec un convertisseur analogique/numérique qui permet un échantillonnage sur 10 bits. Le signal numérique peut donc prendre 1024 valeurs possibles. On sait que pour pouvoir numériser une grandeur, nous devons connaître la valeur minimale qu'elle peut prendre, ainsi que sa valeur maximale, Les pics considèrent par défaut que la valeur minimale correspond à leur Vss d'alimentation, tandis que la valeur maximale correspond à la tension positive d'alimentation Vdd [11].

Le module de conversion utilise 4 registres disposés comme suit :

*Registre de Résultat uigh (ADRESu)

*Registre de Résultat Low (ADRESL)

*Registre 0 de Contrôle (ADCON0)

*Registre 1 de Contrôle (ADCON1)

Regardons cela de prés dans la figure ci-dessous :

Configuration interne du module de convertisseur analogique/numérique :

Figure 2.16 : module du convertisseur

5.6. Les instructions du 16F876/877

Tous les PICs Mid-Range ont un jeu de 35 instructions. Chaque instruction est codée sur un mot de 14 bits qui contient le code opération (CO) ainsi que l'opérande. Toutes les instructions sont exécutées en un cycle d'horloge, à part les instructions de saut qui sont

exécutées en 2 cycles d'horloge. Sachant que l'horloge système est égale à fosc/4, si on utilise un quartz de 4MHz, on obtient une horloge fosc/4 = 1000000 cycles/seconde, cela nous donne une puissance de l'ordre de 1MIPS (1 Million d' Instructions Par Seconde). Avec un quartz de 20MHz, on obtient une vitesse de traitement de 5 MIPS [10].

a) Les instructions « orientées Registre»

Ce sont des instructions qui manipulent un octet se trouvant dans la RAM. Ça peut être un registre de configuration SFR ou une case mémoire quelconque (Registre GPR)

b) Les instructions « orientées bits »

Ce sont des instructions destinées à manipuler directement un bit d'un registre que ce soit un registre de configuration SFR ou une case mémoire quelconque (registre GPR). Tous les bits de la RAM peuvent être manipulés individuellement.

c) Les instructions opérant sur une constante

Ce sont les instructions entre l'accumulateur W est une constante K

d) Les instructions de saut et appel de procédures

Ce sont les instructions qui permettent de sauter à une autre position dans le programme et de continuer l'exécution du programme à partir de cette position.

5.7 Les interruptions

Une interruption provoque l'arrêt du programme principal pour aller exécuter une procédure d'interruption. A la fin de cette procédure, le microcontrôleur reprend le programme principal à l'endroit où il l'a laissé. A chaque interruption sont associés deux bits, un bit de validation et un drapeau. Le premier permet d'autoriser ou non l'interruption, le second permet au programmeur de savoir de quelle interruption il s'agit [10].

Sur le 16F876/877, l'es interruptions sont classées en deux catégories, les interruptions primaires et les interruptions périphériques. Elles sont gérées par les registres.

Le microcontrôleur dispose de plusieurs sources d'interruptions.

· Une interruption externe, action sur la broche INT/RB0.

· Débordement du TIMER0.

· Changement d'état logique sur une des broches du PORTB (RB4 à RB7).

· Une interruption d'un des périphériques (PEIE).

· Fin de programmation d'une case mémoire de l'EEPROM.

·

Chapitre 2

Les microcontrôleurs

26

Changement d'état sur le PORTD (PSPIE).

· Fin de conversion analogique numérique (ADIE).

· Réception d'une information sur la liaison série (RCIE).

· Fin d'émission d'une information sur la liaison série (TXIE).

· Interruption SPI ou I2C du module MSSP (SSPIE).

· Interruption du registre de capture et/ou de comparaison 1 (CCPI1E).

· Interruption du registre de capture et/ou de comparaison 2 (CCPI2E).

· Débordement du TIMER1 (TMR1E).

· Débordement du TIMER2 (TMR2E).

· Collision de BUS (BCLIE)

? Mécanisme générale d'une interruption :

Nous pouvons dire, sans nous tromper de beaucoup, qu'une routine d'interruption est un sous-programme particulier, déclenché par l'apparition d'un événement spécifique. Cela a l'air un peu ardu, mais vous allez voir que c'est très simple.

Figure 2.17 : synoptique des modes d'interruptions

Chapitre 2

Les microcontrôleurs

27

6. Conclusion

Partant d'une présentation générale sur les microcontrôleurs, nous avons ensuite défini la famille des PICs et plus particulièrement le 16F877.

En conclusion dans ce chapitre nous pouvons dire que le microcontrôleur peut bien jouer le rôle d'une unité de contrôle pour notre système. Pour fonctionner cette unité de contrôle, il faut la programmer et l'adapter à un compilateur de programmation.

CHAPITRE:03

PLANIFICATION DE

LOCALISATION ET

TRAJECTOIRE

Chapitre 03

Planification de localisation et trajectoire

28

1. Introduction

La planification de trajectoire est un problème clé en robotique et il a été très étudie ces dernières années. Il apparait dans les différents domaines de la robotique: robot mobile, programmations automatique des robots industriels et aide à la télé-opération. Nous nous intéressons dans ce chapitre au problème de localisation et planification du déplacement d'un ou plusieurs mobiles dans un environnement suppose connu, au moins partiellement [12].

En manière générale on peut distinguer les classes de mouvement suivantes:

- le mouvement entre deux points avec trajectoire libre entre les points.

- le mouvement entre deux points via des points intermédiaires, spécifies notamment pour éviter les obstacles, avec trajectoire libre entre les points intermédiaires:

- le mouvement entre deux points avec trajectoire contrainte entre les points (trajectoire rectiligne par exemple):

- le mouvement entre deux points via des points intermédiaires avec trajectoire contrainte entre les points intermédiaires.

Le problème de planification de trajectoire peut s'énoncer comme suit:

« Etant donnée une description des frontières des obstacles et des objets à déplacer (les mobiles) dans l'espace cartésien, trouver une trajectoire sans collision amenant les mobiles de leurs positions initiales à leurs positions finales »

Dans ce chapitre nous avons étudié quelques méthodes pour la planification de localisation et trajectoire et à la fin choisi une méthode pour utiliser dans notre travail.

2. Système de localisation

La localisation instantanée est un des points les plus importants et les plus délicats des

robots mobiles. Elle permet de définir le positionnement [13]:

? Du mobile dans l'environnement.

? D'élément particulier de l'environnement.

2.1. La localisation du mobile

La localisation du mobile consiste à définir la position en termes de coordonnées d'un point du mobile à un référentiel de base. Les techniques à employer sont de deux types :

2.1.1. Localisation relative

La localisation relative consiste à déterminer la variation des coordonnées de position lors d'un déplacement. L'estimation de la position absolue est le résultat de l'intégration des

Chapitre 03

Planification de localisation et trajectoire

29

déplacements élémentaires. L'inconvénient de cette méthode réside dans l'accumulation des erreurs de mesure et de calcul.

2.1.2. Localisation absolue

Les techniques de localisation absolue assurent la mesure de la position et de l'orientation du mobile à tout instant. Il existe de nombreuses méthodes de localisation, le choix de la technique est dicte par le type de la tâche à réaliser. La méthode des balises est la plus employée. Le principe consiste à mesurer la distance du mobile aux balises par temps de vol d'une onde (lumineux, électromagnétique ou acoustiques), la position est calculée par triangulation.

2.2. La localisation de l'environnement

La localisation de l'environnement présente un intérêt sur plusieurs plans :

· L'aide à la navigation pour la détermination de la présence d'obstacles sur une trajectoire prédéfinie.

· La détermination de la localisation du mobile par corrélation entre des caractéristiques de l'environnement et une carte mémorisée.

· Reconnaissance des lieux lors d'un apprentissage. Pour cela plusieurs techniques sont employées, on cite :

· Les méthodes télémétriques.

· L'analyse d'image.

· Les méthodes de contact direct.

2.2.1. Les méthodes télémétriques

Les télémètres utilisent un émetteur et un récepteur. Selon le rayonnement émis on distingue les radars, les sonars (ultrasons) ou les télémètres optiques. La mesure de la distance repose sur deux approches : la mesure du temps de vol et la méthode de triangulation.

A) Télémétrie directe par mesure du temps de vol

En robotique on utilise généralement les ultrasons et les télémètres à laser.

· Télémètre à ultrasons :

Ce type de télémètre est particulièrement simple et bon marche. Il est utilisé en particulier, sur les robots mobiles pour assurer les suivis de parois ou constituer une ceinture de sécurité.

Chapitre 03

Planification de localisation et trajectoire

Figure 3.1 : capteur ultrason.

? Télémètre a laser :

Le laser est beaucoup utilise en télémétrie car il permet de créer des faisceaux monochromatiques de grande directivité. Il est possible de localiser des objets situes a quelques dizaines de mètres avec précision de moins d'un centimètre.

Figure 3.2 : Exemple d'un télémètre laser. B) Télémétrie par triangulation

Le principe consiste à mesurer l'angle entre la direction d'un faisceau émis et celle sous laquelle est vu le point d'impact sur la cible. On utilise une source active permettant de projeter un point, une ligne ou même une grille.

Figure 3.3 : Télémétrie par triangulation

30

Chapitre 03

Planification de localisation et trajectoire

31

Chapitre 03

Planification de localisation et trajectoire

32

Chapitre 03

Planification de localisation et trajectoire

33

2.2.2. L'analyse d'image

La détermination des paramètres particuliers s'effectue par l'analyse d'une ou de plusieurs images. La stéréoscopie notamment assure la détermination de l'information de profondeur (ou distance) de l'environnement. Les caractéristiques des formes (ex: droites représentant les bords d'une route) de couleur ou texture sont également employées. Ces informations assurent la détermination locale de l'environnement.

2.2.3. La localisation par contact

La localisation par contact entre un élément physique lie au mobile et l'environnement constitue une technique analogue à la de- marche de l'aveugle. Le principe consiste à tendre un bras télescopique vers l'environnement. Le relevé de l'état du bras lors d'un contact définit la position de l'environnement par rapport au mobile.

3. Planification de trajectoire

3.1. Principe de base

Soit I un système robotique et soit E un environnement ( espace de dimension 2 ou 3) géométriquement décrit dans un référentiel de base dont les objets sont considères comme des obstacles fixes. La position I dans E sera appelée placement du système et sera décrite par un ensemble de coordonnées définies par rapport au repère de base.

Le problème à résoudre est le suivant : étant donne deux placements Pi et Pr de I, trouver un «chemin» permettant a I de se déplacer de Pi a Pr tel que I n, entre pas en collision avec E.

La recherche de chemin pour le robot mobile dans un environnement se transforme en un problème de recherche de chemin pour un point dans un « certain espace » caractéristique du problème, configuration de 1'espace [12].

3.2. Configuration de l'espace

La notion d'espace des configurations a été introduite par Udupa qui a fourni l'un des premiers algorithmes de planification de trajectoires sans collision pour un robot manipulateur (adapte à un modèle simplifie du manipulateur Stanford).

Elle a ensuite été généralisée et formalisée par Lozano-Perez et par Sharir Shwartz sous un angle plus mathématique. Pour définir l'évolution d'un ensemble de solides, il faut donner un certain nombre de conditions initiales et de lois physiques régissant cette évolution.

Une configuration du système de solides est un pupitre de réels indiquant la position et l'orientation de ce système. L'objectif de l'espace des configurations est de trouver une séquence de positions et d'orientations permettant de déplacer un dispositif de forme donnée a priori dans un espace contenant des obstacles.

L'espace de travail est un sous ensemble de l'espace euclidien d*d ou on définit des obstacles qui ont une forme géométrique simple. Le robot mobile est spécifié par sa position et par son orientation, il existe trois configurations. Représentées dans la Figure 3.4.

-Configuration libre.

-Configuration de contact.

- Configuration de collision.

Y

X

Figure 3.4: Les différentes configurations de l'espace

3.3. Construction du modèle de l'environnement

Le robot mobile doit modéliser son espace de travail et le rendre connu pour se déplacer et exécuter ses tâches. La représentation du modèle de l'environnement se fait par des méthodes de modélisations. Et qui peuvent être regroupées en deux catégories [14]

- Les méthodes par grille ou par codage.

- Les modèles géométriques.

3.3.1. Modélisation par grille

La modélisation par grille a été utilisée dans les premiers travaux de recherche d'un chemin optimal car cette représentation en prête à une programmation directe. Cette méthode consiste à découper l'espace bidimensionnel en un ensemble de cellules rectangulaires de mêmes dimensions juxtaposées dont l'appartenance à une zone autorisée ou interdite est booléenne. La

capacité mémoire nécessaire pour mémoriser l'ensemble des coordonnées des cellules est importante.

3.3.2. Modèles géométrique

Cette méthode consiste à diviser l'espace de travail à des cellules polygonales. Le passage d'une cellule à la suivante s'effectue par le centre des segments. L'ensemble des cellules composées est représenté sous forme de graphe dont les sommets et les arcs de liaison représentent respectivement les cellules et les passages possible entre deux cellules.

Un regroupement des cellules en famille permet de créer un graphe réduit, dont la détermination est réalisée par la recherche des arcs de passage obligatoire pour accéder au groupe des cellules considérées.

La recherche de chemin est réalisé en deux étapes selon des niveaux de graphes élaborés Les méthodes de résolution du problème de la planification de mouvement sont nombreuses, et qui peuvent être regroupées en deux catégories géométriques et cinématique.

3.4. L'approche globale

L'approche globale c'est une méthode utilisé dans le cas d'un environnement partiellement ou complètement connu. Elle utilise un modèle de l'espace libre dont l'espace de configuration permet la recherche exhaustive de la trajectoire de cout minimum au sens de critère donné ou de conclure à la non-exhaustive d'une trajectoire amenant le système de la configuration initiale à la configuration finale. Notons que cette approche est très couteuse en temps de calcul qu'en occupation mémoire, mais son avantage consiste à la garantie d'arrivée au but en suivant un chemin optimal.

Une multitude des méthodes ont à ce jour été proposées nous mentionnons ci-dessous quelques méthodes:

· Méthode de décomposition cellulaire.

· Méthode de roadmap.

· Méthode des vecteurs de traversabilité.

3.4.1. Méthode de décomposition cellulaire

La méthode de décomposition cellulaire consiste à décomposer dans un premier temps l'espace libre dans un ensemble des cellules et à représenter leurs relations d'adjacence dans un graphe. Ensuite ce graphe est explore, menant à une succession de cellules adjacentes qui relient celles contenant les configurations initiale et finale. Ces configurations sont alors reliées par une trajectoire qui traverse la succession de cellules.

Chapitre 03

Planification de localisation et trajectoire

Une limitation sévère de la méthode de décomposition cellulaire et que le nombre de cellules nécessaire pour représenter l'espace libre croit exponentiellement avec la dimension de I' espace de travail. Cette méthode se restreigne ainsi en pratique à des cas de faibles dimensions.

Cellule libre Cellule occupé

 
 

34

Figure (3.5): Relation d'adjacence.

3.4.2. Méthode de vecteurs de traversabilité

Une autre méthode emploi la notion de traversabilité à travers un groupe d'obstacles. Dans cette méthode l'obstacle est modélisé par un polygone convexe den arêtes dans R2. Le t-vecteur d'un point p(x, y) de R vis avis d'un obstacle Oi note t(i, j) est définit comme un n-uples vecteur ligne binaire.

3.4.3. Méthode de roadmap

Roadmap est un réseau de courbes qui représentent la connexité de l'espace libre avec les obstacles existants. Le problème de la planification de trajectoire est alors résolu, en connectant la position initiale et finale à la roadmap par des chemins admissibles. Le problème essentiel est la construction de la roadmap, dans le cas d'un espace de dimension deux et qui est peuple par des obstacles polygonaux. La roadmap est constituée par des segments reliant deux sommets de polygones différents et qui ne traversent aucun obstacle. On peut aussi l'appeler graphe de visibilité

3.5. L'approche locale

Les techniques locales n'utilisent pas de modèle complet de l'espace libre. Elles sont sans mémoire, et ne prennent en compte à une instante donne que l'environnement proche du mobile pour modifier une trajectoire de consigne.

Ces méthodes sont attrayantes par leur simplicité, bien sûr elles présentent un inconvénient majeur de ne pas pouvoir suivre le chemin optimal. Le système peut être bloqué par des dispositions concaves d'obstacle. Ces méthodes sont beaucoup moins couteuses et ne utilises

Chapitre 03

Planification de localisation et trajectoire

pour acquérir des informations nécessaires au fur et à mesure de déplacement les méthodes locales existantes sont [14]:

· Méthode de champs de potentiel.

· La méthode myopique.

3.5.1. Méthode myopique

Cette méthode est inspirée du comportement d'un aveugle évoluant dans un environnement inconnu en détectant les parois des obstacles avec sa canne. L'algorithme de contournement d'obstacle permet au robot mobile d'évoluer en fonction des informations issues des capteurs. II part de l'hypothèse que s'il existe un chemin entre un point initial Po et un point finale Pn l'algorithme est capable de le déterminer en longeant les obstacles présents sur la trajectoire du robot. Si le lieu d'évolution ne comporte pas d'obstacle entre les points de départ et d'arrivée, la trajectoire est la droite passant par les points Po (Xo, Yo) et Pn (Xn,Yn) . La figure 3.6 représente cette méthode [12].

En présence d'obstacles, on définit des points intermédiaires en fonction des obstacles, à contourner. L'ensemble des segments joignant ces points constitue la trajectoire de contournement.

X

Pn(Xn,Yn)

P2 (X2,Y2)

P1(X1,Y1)

Po (Xo,Yo)

Y

35

Figure 3.6 : Contournement dans le cas de la méthode myopique.

Chapitre 03

Planification de localisation et trajectoire

36

3.5.2. Méthode de champs de potentiel

La méthode considère que le mobile évolue dans un champ de forces dont le but est un pôle attractif alors que les obstacles sont répulsifs. L'amplitude de la force de répulsion est une fonction de l'inverse de la distance entre le mobile et l'obstacle alors que la force d'attraction est une fonction de la distance à parcourir jusqu' au but [14].

Obstacle

 

Arrive

Départ

Figure 3.7: Principe d'évolution d'un robot mobile par la méthode de champs de potentiel

5. Evitement des obstacles en logique floue

4.1. Principe

Au cours de sa mission, un robot mobile élabore des lois de contrôles et prend des décisions à partir de la connaissance de son environnement. Les données qui proviennent des différents capteurs embarqués à bord du robot mobile sont parfois peu précises, peu fiables et quelquefois manquantes qui influence sur l'objectif qu'il doit atteindre. Le contrôle de robots mobile est classé dans la catégorie de problèmes qui sont trop complexes. Généralement ces systèmes utilisent des capteurs à ultrasons, ces capteurs n'ont pas une capacité de détection précise. Les techniques de l'intelligence artificielle basée sur la logique floue sont considérées comme une solution très intéressante pour les systèmes non linéaires où il est difficile d'établir un modèle mathématique [10].

La logique floue fournit un meilleur moyen d'automatiser les expertises humaines, donc gain de temps et d'espace mémoire, ce qui donne une rapidité considérable à ses moteurs d'inférence par apport aux méthodes classiques. Des expériences ont montrés qu'un contrôleur flou donne des résultats supérieurs que les contrôleurs classiques, et parfois même de meilleurs résultats que l'opérateur humain. La logique floue a montré son efficacité dans la gestion de l'incertitude et/ou l'incomplétude des données, ce qui en fait un outil robuste, simple et adéquat pour traiter ces problèmes.

Chapitre 03

Planification de localisation et trajectoire

37

Chapitre 03

Planification de localisation et trajectoire

38

Dans ce travail, notre objectif est d'utiliser la logique floue pour l'évitement d'obstacles d'un robot mobile en utilisant un minimum de matériel.

4.2. Problématique

Il s'agit ici d'éviter la collision du robot avec les obstacles présents dans l'environnement. On ne se soucie pas de la direction que prend le robot pour éviter l'obstacle ni de la mémorisation des obstacles rencontrés. Pas de construction de carte.

La définition d'un problème en logique floue se décompose en trois parties principales : ? Définition des variables : quelles sont les entrées, les sorties disponibles et pertinentes. ? Partitionnement des domaines de définitions de ces variables, on crée alors des sous-ensembles flous (obstacle près, très près ou éloigné).

? Définition des règles qui vont donner un comportement à suivre pour chacune des Situations.

4.3. Définition des variables

Le problème de l'évitement d'obstacles doit forcément s'appuyer sur des capteurs donnant des renseignements sur l'environnement. Nous utiliserons ici des capteurs à ultrasons. Un capteur nous permet de relever les distances des obstacles situés dans les zones droites, gauche et devant (Figure 3.8).

Figure 3.8 : Les secteurs de détection du robot

Nos règles possèderont donc trois variables d'entrées. Voyons maintenant les variables de sorties :

Pour déplacer le robot, on fournit au robot une valeur d'angle et une valeur de distance. Dans notre cas, nous ne peux coupler les deux, on doit effectuer les actions successivement. Nous choisissons d'abord de tourner puis d'avancer. On peut noter que cette notion d'ordre dans lequel on effectue les actions pourrait faire partie des variables de sortie des règles.

La variable d'angle est donnée en degrés, en valeur négative pour tourner à gauche, et positive pour tourner à droite. La distance est donnée en centimètres, positive pour avancer et négative pour reculer (Figure 3.9).

Figure 3.9 : La fonction d'appartenance. 4.4. Partitionner les domaines variables

Ensuite, nous avant partitionner ces variables : les variables de gauche et de droite seront identiques (le robot n'est pas droitier ni gaucher et possède donc une symétrie exacte).dans la figure suivante :

Figure 3.10 : Variables droite et gauche

Par contre, on peut très bien choisir un découpage différent pour la variable devant. Voici le donc le partitionnement proposé (Figure 3.11) :

Figure 3.11 : Variable devant.

Ensuite nous avant partitionner les variables de sorties angle et distance. La variable angle va être la première à être utilisée et va permettre de donner au robot la future direction de navigation. Pour ne pas donner trop de variations dans le mouvement du robot (aller et retour sur un même axe) le domaine de définition de la variable angle sera : 90 à -90. Plus l'angle sera

Chapitre 03

Planification de localisation et trajectoire

39

faible plus nous aurons besoin d'être précis, plus l'angle sera grand plus de sous ensemble sera grand (Figure 3.12).

Figure 3.12 : Variable angle

Il reste enfin le partitionnement de la variable distance. Comme il exclut de faire avancer d'un seul coup le robot à plus de 20cm, nous limiterons le domaine de définition de (-10 à 20 cm) (Figure 3.13). Nous combiner ces variables dans un ensemble de règles (voir ANNEXE A).

Figure 3.13 : Variable distance (cm)

5. Conclusion

Nous avons présenté dans ce chapitre les méthodes de planification et de localisation de trajectoire pour les robots, et en cas particuléer pour les robots mobiles.

Les méthodes données restent jusqu'aujourd'hui une matière première aux différentes améliorations.

Pour notre robot mobile nous allons utiliser la localisation par triangulation qui est simple et peut être réalisée en utilisant les moyens existants dans notre laboratoire.

CHAPITRE:04

RéAlISATION PRATIQUE

Réalisation pratique

Chapitre 04

40

1. Introduction

L'idée principale de ce projet été de réaliser un robot mobile type voiture puis de le guider

automatiquement en l'obligeant à suivre une trajectoire. Ce qui fait que ce travail a été divisé en trois parties, une partie commande et l'autre mécanique et informatique.

La réalisation de ce véhicule requiert diverses notions dans plusieurs domaines : électronique, informatique, électrotechnique et mécanique, ce qu'on appelle brièvement Robotique.

La commande de ce véhicule sera assurée principalement par carte de commande à base de microcontrôleur PIC, et deux moteur pas à pas alimenté par commutateur de puissance ULN 2803 [1].

2. Schéma bloc

La figure suivante représente les étages qui constituent notre robot mobile (Figure 3.1).

Carte de

Commande et de puissance

Figure 4.1 : Schéma bloc du robot mobile.

Capteur de distance

Signal numérique

Commande

et mécanisme

Les moteurs

3. Partie de commande

La carte de commande se compose des capteurs de distance (infrarouge ou ultrasoniques)

pour la détection des obstacles et la carte à pic (16f 877) pour la commande du robot et un commutateur de puissance ULN2803 pour la commande de deux moteurs pas à pas.

Chapitre 04

Réalisation pratique

41

3.1. Les Capteurs

Un capteur est un dispositif transformant l'état d'une grandeur physique observée en une grandeur utilisable, nos étudies les capteurs ultrason pour utiliser dans notre robot :

? Le capteur ultrasonique [13]

Les capteurs ultrasons fonctionnent en mesurant le temps de retour d'une onde sonore inaudible par l'homme émise par le capteur. La vitesse du son étant à peu près stable, on en déduit la distance à l'obstacle (figure 4.2).

Figure 4.2 : Schéma synoptique d'un capteur ultrasonique.

Comme il est décrit précédemment, on utilise ces capteurs pour localiser le robot par rapport à des obstacles statiques ou dynamiques, ce capteur repose sur l'idée de calculer le temps de vol d'un signal ultrasonique depuis son point de départ (Figure 4.2). Alors si la distance entre le transducteur et l'obstacle est « D » donc la distance parcourue par l'onde ultrasonique est « 2D », le temps du parcoure est donné par :

/

Ou : T : le temps entre l'émission et la réception.

D : distance entre le transducteur et l'obstacle.

Vson : la vitesse de déplacement des ultrasons dans l'aire.

Généralement, l'air est la porteuse de l'onde ultrasonique, cette dernière se propage, alors, à la même vitesse que le son (célérité de l'onde sonore). Physiquement et mathématiquement la vitesse du son ne dépend pas de la fréquence du signal sonore, mais du type du milieu, de la pression et de la température suivant la relation mathématique suivante :

v / v /

Réalisation pratique

Chapitre 04

42

Vson : Célérité du son.

E =Y.P : Coefficient d'élasticité du gaz. p : Densité de l'air (1.293 Kg/m3).

3.2 La carte à PIC 16F877

3.2.1. Principe

Indépendamment de ce qu'on veut faire (chapitre 02) de 40 lignes de PIC (que l'on définit par lignes d'entrée/sortie) et quelle que soit l'application à laquelle on le destine, un microcontrôleur PIC 16F877, pour pouvoir fonctionner, a nécessairement besoin de :

- Une alimentation de 5 Volts.

- Un quartz et deux condensateurs (si un pilotage précis par base de temps à quartz est nécessaire), ou une résistance et un condensateur (pour une base de temps de type RC, économique, utilisable dans les cas ne demandant pas une extrême précision de cadencement) - Un condensateur de découplage (pour réduire les transitoires se formant inévitablement dans tout système impulsionnel).

- Un bouton poussoir et une résistance, pour la mise en place d'une commande de Reset.

Ces éléments (qu'il convient de considérer comme des invariants devant nécessairement figurer dans tout montage) représentent le cortège obligatoire de tout microcontrôleur PIC 16F877, de la même façon un transistor demande, pour fonctionner, une résistance de Base et une résistance de Collecteur.

Les applications type sont les suivantes :

1

13

PIC

16F8XX

1

13

14

PIC

16F8XX

C1

R

GND

R

X1

C1

GND

1) Pilotage par quartz 2) Pilotage par oscillateur RC

Figure 4.3 : Les deux types de pilotage

Chapitre 04

Réalisation pratique

43

Pour notre robot nous avons choisi l'oscillateur par quartz pour ce qu'il ce type est simple et plus utilisé.

3.2.2. Schéma électronique

Le schéma électronique de la PIC avec son oscillateur est présenté dans la figure suivante :

Figure 4.4 : Schéma électronique de la PIC avec oscillateur. 3.3. Commutateur de puissance ULN2803

Le circuit intégré ULN2803 (Figure 4.5) qui a le rôle de transformer les signaux numériques en des signaux pouvant effectivement alimenter les deux moteurs.

Le circuit intégré ULN2803 est à la base de ce commutateur, il est composé de 8 darlington (deux transistors NPN montés en cascade) de puissance et de diodes de protection. Chaque étage d'amplification inverseur qui adapte le niveau de tension et d'intensité TTL de l'entrée pour fournir une intensité jusqu'à 500mA sous une tension pouvant aller jusqu'à 50V en sortie, Afin d'alimenter les huit phases de deux moteurs, on a utilisé les huit Darlington. Les impulsions attaquant les Darlington commutent les bobines des deux moteurs à la masse.

La Figure 4.6 donne le schéma interne de l'ULN2803

Figure 4.5: ULN 2803

Chapitre 04

Réalisation pratique

44

Figure 4.6: schéma interne de l'ULN2803 La structure interne du Darlington est donnée sur la Figure 4.7:

Figure 4.7: Montage d'un Darlington

Pour bien comprendre le fonctionnement de ce circuit intégré dans notre montage visualiser la Figure 4.8.

ULN2803

M2

M1

Figure 4.8 : Bloc de commutateur de puissance avec les moteurs

Chapitre 04

Réalisation pratique

45

3.4. Alimentation

Nous avons besoin de deux alimentations continues, une de 5V pour alimenter le PIC, et une autre entre 8 et 12V pour le commutateur de puissance ULN 2803 et les deux moteurs. Nous avons utilisé 10 batteries de 1.5V en série. Les batteries utilisées sont des batteries de Lithium de taille AA, tension 1.5V donc l'ensemble de tension égale à 15 V , il est donc nécessaire d'abaisser la tension d'alimentation à 5V pour le PIC et 12 pour les moteur, nous avons prévu un circuit intégré de régulateur 7805 pour le 5V et 7812 pour le 12 et des capacités de filtrage comme représenté dons la Figure 4.9.

Figure 4.9: Régulateurs de tension.

a) Nomenclature

? C1, , C3 : 10 nF

? U1 : 7812

? U2 : 7805

b) La carte régulateur de tension réalisée est représentée dans la figure 4.10

Figure 4.10 : La carte de régulateur de tension réel.

Chapitre 04

Réalisation pratique

46

3.5. Schéma électronique de carte de commande

La figure suivante est donné le montage utilisé pour réaliser schéma électronique de PIC16F877 avec commutateur de puissance ULN2803 et l'alimentation :

Figure 4.11 : Schéma électronique de la Carte de commande.

Cette carte est composée de :

? Tension d'alimentation de 5 Volts pour le PIC .

? Tension d'alimentation de 12 Volts pour le commutateur de puissance ULN2803.

? Microcontrôleur PIC 16F877.

? Commutateur de puissance ULN2803.

? Horloge d'oscillateur (fréquence 4 MHz).

Chapitre 04

Réalisation pratique

? Réalisation

Dans les figures suivantes on peut voir les schémas de la carte de commande coté de cuivre et coté de composants réalisée par le logiciel de simulation PROTEUSE.

A) carte de commande en 3 dimensions B) carte de commande cotée composants

Figure 4.12 : Carte de commande réalisée par le logiciel PROTEUSE.

47

a) Carte de commande cotée composants b) Carte de commande cotée cuivre.

Figure 4.13 : Deux faces de la carte de commande.

? Nomenclature

Les composants implantés dans la carte de commande sont :

- R1: 1k?. - ULN2803. - C1, : 22pF.

- CI1: PIC 16F877. - Quartez 4MHz. - 37 connecteurs. - 8 LED rouge

Chapitre 04

Réalisation pratique

48

La carte de d'interface réalisée est représentée dans la figure 4.14 Suivante :

Figure 4.14 : La carte d'interface réelle.

4. Partie mécanique :

La partie mécanique est composée de deux moteurs et son mécanisme

4.1. Moteurs électriques

Le moteur électrique a pris une place prépondérante parmi les actionneurs utilisés dans la robotique parce qu'il a un certain nombre d'avantages parmi lesquels : [3]

Une énergie facilement disponible, soit à partir du secteur soit à partir des batteries pour les engins autonomes.

Une adaptation aisée de l'actionneur et de sa commande du fait de la nature électrique de l'ensemble des grandeurs.

4.2. Types de moteurs utilises

Les moteurs rencontrés dans le domaine de la robotique sont essentiellement de trois types : [3]

? Le moteur à courant continu: représente la solution traditionnelle lorsqu'on a besoin de commander une vitesse ou une position, mais nécessite un asservissement.

? Le moteur à courant continu sans balais: est en fait une machine alternative associée à un commutateur électronique qui peut remplacer le moteur à courant continu classique avec des caractéristiques similaires.

Le moteur pas à pas: est à la base un actionneur de positionnement ne nécessitant pas

Chapitre 04

Réalisation pratique

49

d'asservissement, mais peut être aussi utilise pour une commande déplacement.

Parmi ces types nous avons utilisé le moteur pas à pas pour le mouvement de notre robot.

4.3. Le moteur pas à pas

Il existe trois types de moteur pas à pas: les moteurs à aimants permanents et les moteurs à réluctance variable et les moteurs hybrides [16].

Malgré les différences existant entre les moteurs, le résultat recherché est l'avance d'un seul pas, c'est-à-dire la rotation de leur axe suivant un angle déterminé à chaque impulsion que l'une ou l'autre de leurs différentes bobines recevra. Cet angle, qui varie selon la constitution interne du moteur, est en général compris entre 0.9° et 90°.

Les moteurs les plus couramment rencontrés possèdent des pas de :

? 0,9° soit 400 pas par tour. ? 1,8° soit 200 pas par tour. ? 3,6° soit 100 pas par tour. ? 7,5° soit 48 pas par tour.

? 15° soit 24 pas par tour.

Il est évident que les moteurs pas à pas, de par leur technologie, présentent une très grande précision et une durée de vie quasi illimitée, l'usure mécanique étant pratiquement inexistante (absence de frottements). La figure ci-dessous nous montre l'aspect externe d'un moteur pas à pas.

Figure 4.15: Moteur pas à pas

Chapitre 04

Réalisation pratique

Sa structure interne est donnée par la figure suivante :

50

Figure 4.16: Structure interne d'un moteur pas à pas 4.4. Les différents types de moteurs pas à pas

4.4.1 Les moteurs à aimants permanents (moteurs unipolaires et bipolaires)

Les moteurs à aimants sont ceux que nous utiliserons dans notre projet de fin d'étude. Ils sont constitués d'un stator supportant les bobinages et d'un rotor magnétique (aimant bipolaire). cette catégorie de moteur se subdivise en deux types : le moteur unipolaire et le moteur bipolaire.

Figure 4.17: Fonctionnement schématique d'un moteur pas à pas. A. Les moteurs unipolaires

Une représentation schématisée d'un moteur unipolaire est donnée en Figure I.4. Afin d'inverser le sens du courant, les enroulements sont réalisés au moyen de deux fils dont l'une des extrémités est reliée au pôle + ou au pôle - de l'alimentation. La commande de ce type moteur est la plus simple de tous les moteurs pas à pas puisqu'il suffira d'alimenter les bobinages à tour de rôle pour faire tourner l'axe d'un pas. Le schéma de la Fig I.5 résume la séquence la plus simple.

Chapitre 04

Réalisation pratique

51

Figure 4.18: Représentation schématique d'un moteur unipolaire

Comme pour chaque type de moteur, le modèle unipolaire peut être commandé en mode monophasé, biphasé ou demi-pas.

B. Les moteurs bipolaires

La Figure 4.18 représente la constitution interne d'un moteur de type bipolaire. Ce type de moteur nécessite une commande plus complexe que celle du moteur unipolaire, le courant devant changer de sens dans les enroulements à chaque pas effectué.

Figure 4.19: Représentation schématique d'un moteur bipolaire

Comme pour le modèle précédent, ce moteur peut être alimenté sous trois séquences différentes.

4.4.2. Les moteurs à réluctance variable

Les moteurs à réluctance variable fonctionnent selon un principe différent de celui des moteurs à aimants permanents, Ils possèdent bien évidemment un stator et un rotor, mais ce dernier est fabriqué en acier doux non magnétique. Il n'est pas lisse et possède plusieurs

Chapitre 04

Réalisation pratique

52

dents. Ce type de moteur est représenté en Figure 4.20. On peut voir, dans cet exemple, que le stator est composé de 8 plots sur lesquels sont enroulés les bobinages, ce qui donne 4 phases. Le rotor, quant à lui, ne comporte que 6 dents.

Figure 4.20: Moteur à reluctance variable

4.4.3. Les moteurs hybrides

Le rotor comporte en périphérie des dentures polarisées par aimants. La fonction Motors est obtenue par deux effets :

· Effet de réluctance variable dû aux dents,

· Propriété des aimants permanents. Ses principales caractéristiques sont :

· Bonne résolution (jusqu'à 400 pas par tour).

· Couple plus important que les moteurs à réluctance variable.

· Fréquence de commutation élevée.

Il est donné sur la Figure 4.21

Figure 4.21 : La structure interne d'un moteur hybride

4.5. Nombre de phase

Il existe divers types de moteurs pas à pas mais la principale différence est le nombre de bobines utilisées.

Configuration interne des bobines du moteur :

Chapitre 04

Réalisation pratique

53

Figure 4.22 : Type de fils de moteur pas à pas.

4.6. Le mode de séquence

Les modes de séquence se distinguent par leur fonctionnement interne, leur séquence générée, et par la façon dont on les commande.

4.6.1. Monophasé:

Cette séquence permet normalement d'alimenter une bobine à la fois, en plaçant à des positions de détente.

LES PHASES

A

0

0

0

1

B

0

1

0

0

C

0

0

1

0

D

1

0

0

0

Tableau 4.2 : séquence monophasé

4.6.2 Biphasé :

Cette fonction permettra au moteur de faire un pas complet ou les positions d'équilibre sont à mi-chemin entre les positions de la séquence la plus simple.

LES PHASES

A

0

0

0

1

B

0

1

0

0

C

0

0

1

0

D

1

0

0

0

Tableau 4.3 : séquence biphasé

Chapitre 04

Réalisation pratique

54

4.6.3. Demi -pas :

Dans ce cas, on combine les deux séquences précédentes pour placer le rotor successivement à une position de détente, a une position intermédiaire, et à nouveau à une position de détente. Ce mode permettra de multiplier par deux le nombre de pas.

L'avantage de ce mode a demi -pas qu'il ne souffre pas de problème de résonances, même s'il tourne très vite, on ne tombe jamais sur un point de résonance ou le couple s'annule.

LES PHASES

A

1

1

0

0

0

0

0

1

B

0

0

0

1

1

1

0

0

C

0

1

1

1

0

0

0

0

D

0

0

0

0

0

1

1

1

Tableau 4.3 : séquence Demi -pas

4.7. Commande des moteurs pas à pas par des circuits intégrés spécialisés

Les deux dispositifs pour la commande du moteur pas à pas qui sont le séquenceur et l'interface de puissance avec le développement scientifique sont intégrés tout les deux dans un seul circuit qui renferme 4 étages de commande (Position, direction, amplification et vitesse).

Et en reste alors qu'à délivrer les impulsions pour le nombre de pas et un but pour le sens de rotation par le moyen de deux lignes de données du port d'un microcontrôleur par exemple, pour faire tourner le moteur de plus, ces circuits intégrées protègent très bien l'unité de pilotage d'un retour de courant.

On a comme exemple de ces circuits intégrés [15] :

· Le (MC3479C).

· Le (L297) et (1298) qui fonctionnent ensemble.

· Le (L293).

· Le (SAAI027) et (SAA1042).

· Le (SL7024M) ; le (ULN 2003) et le (ULN 2803)

4.8. Le critère de choix d'un moteur pas à pas

Le choix se fait comme suit [15]:

- Le mode de commande, soit bipolaire ou unipolaire. - Le nombre de pas par tour.

Chapitre 04

Réalisation pratique

55

? La fréquence de travail

? La puissance du moteur.

Dans notre projet, nous avons utilisé deux moteurs pas à pas unipolaires de type 55SIM 246A, à 6 fils avec une résistance interne de 9? et un pas de 7.5°. C'est-à-dire pour faire un tour il faut 48 pas.

4.9. Fonctionnement du mécanisme

Nous avons utilisé deux moteurs pour commander le mobile et un engrenage pour la rotation des roues. Le premier moteur est responsable pour commander le roues du coté à droite, et le deuxième moteur commandé les roues du coté gauche. Le mécanisme de notre robot est illustré dans la figure suivante.

Moteur 1 Moteur 2

Mécanisme de robot

Figure 4.23 : le mécanisme de mobile

Pour marcher le robot avant alimenté les deux moteurs en même temps en même sens (avant), et en sens inverse pour l'arrière, pour la rotation (gauche /droite) alimenté les deux moteurs en sens inverse.

5. Partie Logiciels et Programmation

Nous avons utilisé plusieurs logiciels pour réaliser ce travail dans ce partie nous avons présente les logiciels de simulation et le programme utilisés.

5.1. Logiciel de simulation PROTEUS

Le Logiciel de simulation des circuits électronique est un logiciel qui dessine un circuit par les composant et les circuits intègre et permet de voir les résultats de la réalisation pratique, il existe plusieurs simulateurs : Workbench, Multisim , PROTEUS , Tina...etc. Pour notre cas on a utilisé PROTEUS.

Chapitre 04

Réalisation pratique

56

Le logiciel PROTEUS se compose de deux parties, le logiciel ISIS pour la simulation des circuits électroniques, et le logiciel ARES pour dessiner les circuits imprimés.

Le but du logiciel ISIS est de dessiner, simuler des circuits électroniques et tracé les courbes (Voir ANNEXE C).

La deuxième partie le logiciel ARES ; est un logiciel permettant le routage de cartes électronique en mode automatique ou manuel. Il est possible d'utiliser ARES sans avoir au créer du schéma électronique dans l'ISIS. Cette fonctionnalité permet de réaliser très rapidement des circuits de faible complexité en plaçant les composants et traçant les pistes directement dans ARES. Une fois les connections établies il est possible d'effectuer un routage automatique des pistes (Voir ANNEXE C).

5.2. Logiciel de programmation Flowcode

Nous allons programmer notre PIC pour commander le robot à obéir les ordres de l'utilisateur, il y a plusieurs logiciels pour programmé le PIC comme : MPLAB, mikroC, CCS Compile, flowcode,...etc. pour notre application on a choisi d'utilise le logiciel flowcode.

Flowcode est un programme simple et travaillé à base des organigrammes. On a choisi ce logiciel pour éviter les problèmes de la difficulté et la taille énorme de programme en "assembleur", et surtout pour simuler notre programme assurant qu'il fonctionne sans problèmes. 5.2.1. Excitation de Flowcode

Pour commencer, Flowcode demande le PIC va être utilisé :

Figure 4.24 : choisit le PIC 16F877

Réalisation pratique

Chapitre 04

57

5.2.2. Présentation du Flowcode

gg

Eléments d'organigramme

li

(à faire glisser)

Simuler le programme

Organigramme de travail

Composant que peut gérer le PIC

Compiler le programme en C et HEX et l'envoyer vers le PIC

Microcontrôleur choisi(PIC)

Propriété de programme et composant

Figure 4.25 : Interface du logiciel Flowcode. Flowcode nous aide à créer un organigramme (icones jaunes).

Il place une case « début » et une case « fin ». Nous pouvons insérer d'autres cases entre les deux, en faisant glisser les icônes jaunes.

5.3. Programmateur d'un PIC

Puisque le robot est guidé par deux moteurs pas à pas. Chaque moteurs à besoin de quatre linges de commande, donc, en tout nous avons besoin de huit lignes de commande, c'est pour cette raison que nous avons choisi l'utilisation du port C (Pins 7-4) et le port D (Pins 7-4) formé de huit lignes qui seront programmées en sortie.

Le programme est écrit sous forme d'organigrammes dans un environnement de programmation Flowcode. Après compilation du code source, le Flowcode nous donne un code machine Hexadécimale. Ce dernier code sera chargé dans le PIC par le biais d'un utilitaire de programmation des PICs appelé WPI et d'un programmateur de PICs, (voir ANNEXE B) [12].

Chapitre 04

Réalisation pratique

58

6. Organigramme principale de mouvement de notre robot

La figure 4.26 représente l'organigramme de mouvement de notre robot. Le robot utilise la logique floue qui permet le choix de meilleure trajectoire. L'organigramme contient des deux sous-programmes montrés dans les figures 4.27 et 4.28.

Robot marche avant

Utilisé logique flou pour évitement de l'obstacle

Calcule des nouvelles coordonnées

Calcule le nouvel ongle de rotation

Tourner et diriger vers la cible

Arrêt robot

Test
obstacle

Vers cible

OUI

NON

Figure 4.26 : Organigramme de programme principale

Chapitre 04

Réalisation pratique

6.1. Sous-programme détection d'obstacle

Calcule la distance à partir du capteur (chaque 3ms)

Non

Programme la distance minimale

Calcule les cordonnées actuels

Vers partie LF

Si distance <30cm

Oui

Figure 4.27 : Organigramme de détection d'obstacle 6.2. Sous-programme évitement d'obstacle avec logique floue

Obstacle détecté (DA)

Turner à droite 45° et calcule la distance DD

Turner à gauche 45° et calcule la distance DG

Choisit la trajectoire par les règles de logique floue

Marcher le robot la trajectoire choisit

Continuer vers la Cible

Figure 4.28 : Organigramme d'évitement d'obstacle avec logique flou

59

Chapitre 04

Réalisation pratique

60

7. Conclusion

Dans ce chapitre nous avons présenté l'essentiel de notre travail qui consiste à la réalisation d'un robot mobile. On a présenté les trois différents partie de robot, une partie de commande (PIC, ULN, capteur ...etc.), une partie mécanique (moteur, mécanisme,....etc.) et enfin une partie Logiciels et Programmation.

On va vue aussi comment programmé est chargé le programme dans le PIC et les logiciel utilisé dans ce travail ainsi l'organigramme de déplacement de robot.

CONCLUSION GéNéRAL

61

Conclusion générale

Conclusion générale

L'objectif de notre travail est la réalisation d'un robot mobile type voiture avec évitement d'obstacles en utilisant des capteurs de distances (ultrason) ainsi que l'application d'une intelligence artificielle, la logique floue dans notre cas. Notre robot déplace sous une trajectoire programmée d'avance.

Pour réaliser ce travail, on a passé par différentes étapes :

On a utilisé un capteur ultrasonique SRF04 pour la détection des obstacles et le calcul de la distance entre le robot et l'obstacle. Le robot réalisé se déplace par 4 roues ; deux roues arrière s'occupent du mouvement par deux moteurs pas à pas. Nous avons utilisé ce type de moteur pour la précision dans le déplacement et la rotation vers la cible.

Des circuits de commande son réalisés afin de contrôler les moteurs associes. L'ensemble de système de perception et de déplacement est commandé par un microcontrôleur qui doit en utilisant les informations actuelles, décider l'action à prendre. Pour notre cas ; on a utilisé le microcontrôleur célèbre, le PIC16F877, dont ses caractéristiques particulières nous ont aidé à faciliter les taches surtout en ce qui concerne sa programmation.

Ce travail nous a permis de traiter des problèmes d'ordre pratique et de vérifier des connaissances théoriques acquises toute le long de notre formation.

Grâce au travail continu, on a peu atteindre notre but et satisfaire le cahier de charge, mais cela ne veut pas dire qu'il est complet, nous proposons que le robot réalise soit la base de toute une série d'améliorations que nous n'avons pas eu la chance de les faire par manque de temps et de matériel. Le nombre d'améliorations que peuvent titre ajoutes sont :

? Utilisation de capteurs plus performants comme les capteurs laser ou les caméras et d'utilisé plus de capteurs ou un plateau de capteurs rotatif pour couvrir l'environnement pour choisi meilleur trajectoire.

? L'utilisation d'un microcontrôleur de nouvelle génération comme le uC Atemel (atmega).

? L'utilisation des moteurs pas à pas avec plus de pas pour avoir une grande précision dans le mouvement du robot.

62

Bibliographie

Bibliographie

[1] : F.ABABSA, « Commande d'un robot mobile par IBM-PC» Thèse de magister université de Batna 1998

[2] : M. Dou, A. DJOKHRAB. « Commande D'un Robot Mobile Type Voiture Par Réseaux de Neurones». Mémoire d'ingénieur d'état en automatique, Université Biskra, Juin 2005.

[3] : A. ALLOUI, A. HAJ Brahim. «Proposition d'une solution multi-agent pour la commande et la coopération multi -robot mobile». Mémoire d'ingénieur d'état en automatique, Université Biskra, Juin 2007.

[4] : M. GHAOUI. « Planification d'un mouvement pour un robot mobile» Thèse de magister université de Batna année 1997

[5] : B. BAYLE. «Robotique Mobile», Ecole Nationale supérieur de Strasbourg, France, 2008-2009.

[6] : A. PRUSKI. «Robotique générale» Edition Ellipase 1988.

[7] : A. PRUSKI. «Techniques De L'ingénieur, Robots Mobiles Autonomes». Université de Metz, 1998.

[8] : A. AMRAOUI, Y. CHALA. « Réalisation D'un Robot mobile commandé à distance » Mémoire d'ingénieur d'état en électronique Biskra, Juin 2010.

[9] : B. Jean-Louis. «Robotique», ISTIA, Université Angers 2005.

[10] : M. KADDOUR, N. SAIDI. «Réalisation d'un robot mobile avec évitement d'obstacles» Mémoire d'ingénieur d'état en électronique, Université Biskra, Juin 2011.

[11]: T. BEN HADDADA, M HAMAM, R MAHJOUB. «Un robot suiveur de ligne», Rapport de projet de fin d'étude, Université Tunis-El Manar, 2009.

[12] : Y. AOUFI, M. GOUDJIL. « Planification de trajectoire d'un robot mobile» Mémoire d'ingénieur d'état en électronique, Université Batna Juin 1999.

[13] : O. DOUIBI, A.GHAMRI. «Réalisation d'un robot mobile autonome» Mémoire d'ingénieur d'état en électronique, Université Biskra, Juin 2003.

[14] : S. YAHIAOUI, S. MERROUCHI. «Planification de mouvement d'un robot mobile» Mémoire d'ingénieur d'état en électronique, Université Batna Juin 1997.

[15] : H. YAKOUBI, M. SOHBI, B. OGAB. «Réalisation d'un robot mobile autonome», Mémoire d'ingénieur d'état en automatique, Université Setif, Juin 2009.

[16] : A. ZENATI, S. KERROUCHE. « Commande de deux moteurs pas à pas via le port parallèle avec Delphi» Mémoire d'ingénieur d'état en électronique, Université Bejaia, Juin 2009.

ANNEXE A

Tableau des Règles de logique floue :

ANNEXE B

Étape de programmation pour PIC

Étape01 ouvrir de programme

Étape02 choisit MICROCHIP

Étape03 choisit PIC16F877 Étape04 entré dans le programme

Étape05 choisit de fichier de programme Étapee06 ouvrir de programme en HEX

Étape07 choisit Intel HEX

Étape08 chargé et vérifie le programme

Étape09 téléchargement terminé

ANNEXE C

1. Logiciel PROTEUS

Ce compose de deux parties, le logiciel ISIS pour la simulation des circuits électroniques, et le logiciel ARES pour dessiner les circuits imprimés.

a) L'éditeur ISIS

Le but du logiciel ISIS est de dessiner, simuler des circuits électroniques et tracé les courbes. [13]

a1) Présentation de l'éditeur ISIS

La surface la plus grande de l'écran s'appelle "Fenêtre d'édition" et se comporte comme une fenêtre de dessin. C'est là qu'il fait placer et câblez les composants. Dans cette fenêtre on peut distinguer les barres d'outils suivantes : menu d'outils, désigne d'outils, commande outils

Et fenêtre d'édition, (figure 4.4) :

Figure 4.4 : Fenêtre principale d'ISIS.

a2) Placement et câblage des composants

Le circuit que nous allons tracer comme un exemple est représenté en Figure (4.5).

Nous commencerons par un exemple de circuit simple qui se compose d'un moteur on pont - H par interrupteur double plus l'alimentation (Vcc = 5Volt et la masse GND).

Commençons par un clic gauche sur l'icône d'un composant, Nous avons ainsi accès aux bibliothèques de composants. Un clic sur "P", du "sélecteur d'objets" ouvre une

nouvelle fenêtre .Nous pouvons maintenant choisir un composant dans les différentes bibliothèques. Un double clic place le composant sélectionné dans le sélecteur d'objets et le

rend disponible pour
l'édition

Figure 4.5 : Choix de composants.

Nous pouvons maintenant passer au placement de quelques fils (connexions). Faire un clic gauche, ISIS détecte que vous pointez sur la broche d'un composant et en déduit que vous voulez relier un fil. Pour terminer le circuit il fait un clic sur l'icône exécute le

simulateur. (Figure 4.6)

Figure 4.6 : Exemple réalisé par ISIS.

b) L'éditeur ARES

ARES est un logiciel permettant le routage de cartes électronique en mode automatique ou manuel. Il est possible d'utiliser ARES sans avoir au préalable créé des

chéma dans ISIS. Cette fonctionnalité permet de réaliser très rapidement des circuits de faible complexité en plaçant les composants et traçant les pistes directement dans ARES. Une fois les connections établies il est possible d'effectuer un routage automatique des pistes. [14]

Dans ce logiciel vous pouvez également créer de nouveaux boîtiers et les placer dans une bibliothèque. Couplé avec ISIS nous avons un système complet qui nous permet d'effectuer avec un seul schéma toutes les étapes de la conception de la carte.

b1) Présentation d'ARES

L'aspect général de ARES et similaire de celui de ISIS, Figure (4.7), Il contient :

? Une barre de menu.

? Une fenêtre principale dans laquelle nous allons créer votre routage et aussi

nos nouveaux composants.

? Une fenêtre d'aperçu en haut à droite.

? Une palette en dessous et un sélecteur de boîtiers.

? Un sélecteur de surface active, en bas à gauche.

Figure 4.7: Présentation d'ARES.

b2) Création du circuit imprimé

La première chose à faire avant de commencer un routage est de définir une carte aux dimensions du projet. Il est fortement conseillé de réaliser, si possible, Pour cela placez-vous en mode graphique et sélectionnez "Board Edge" dans le sélecteur de surfaces, Sélectionnez ensuite l'icône rectangle et dessinez un rectangle correspondant au contour de la carte.

c) Placement des composants

c1) Placement automatique

Après avoir défini une carte vous pouvez placer les composants en mode automatique. La fenêtre (Figure 4.8) apparaisse. Nous pouvons choisir les composants à placer. Après validation les composants sont positionnés sur la carte.

Figure 4.8 : Placement automatique.

c2) Placement Manuel

On peut rarement se contenter d'un placement automatique. En raison d'exigences dues au projet il est très souvent nécessaire de placer des composants à des endroits précis. Dans ce cas on sélectionne le composant dans la fenêtre de sélecteur. On oriente la sélection au moyen des icônes appropriés. On clique dans la fenêtre de placement et sans relâcher le bouton de la souris nous déplaçons le fantôme de composant.

d) Routage

d1) Routage automatique

Le routage automatique se lance dans le menu Outils Routeur automatique. Dans la fenêtre de configuration nous pouvons choisir de router tout le chevelu, ou une partie. Nous pouvons également déterminer les isolations à respecter : Figure (4.9).

Figure 4.9 : Routage automatique.

d2) Routage Manuel

Comme pour le placement automatique il est très rare qu'un routage automatique convienne sans modifications. Il est donc très utile de pouvoir modifier ou créer des pistes manuellement.

Choisissons l'icône pistes puis sélectionnez un guide (en vert). Par des clics successifs, on peut dessiner notre piste en partant d'une extrémité du guide. Le tracé se termine lorsqu'atteigne l'autre extrémité.

Photos de robot mobile réalisé






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre"   Paul Eluard