coopération des robots mobiles autonomes

59
مقراطيةية الجزائرية الدي الجمهور الشعبيةRépublique Algérienne Démocratique et Populaire علميلي والبحث اللعاتعليم ا وزارة الMinistère de l’Enseignement Supérieur et de la Recherche Scientifique Université Larbi Ben M’hidi Oum El-Bouaghi Faculté des Sciences et Sciences Appliquées Département de Génie Mécanique Mémoire de fin d'études en vue de l’obtention du diplôme de MASTER EN GENIE MECANIQUE Option : Construction mécanique Coopération des robots mobiles autonomes Présenté et soutenu publiquement le : 13/07/2019 Par : Islam ACHOUR Dirigé par : Ziane ATAOUA Promotion : 2018 / 2019

Upload: others

Post on 23-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Coopération des robots mobiles autonomes

الشعبية الجمهورية الجزائرية الديمقراطيةRépublique Algérienne Démocratique et Populaire

وزارة التعليم العالي والبحث العلميMinistère de l’Enseignement Supérieur et de la Recherche Scientifique

Université Larbi Ben M’hidi Oum El-Bouaghi

Faculté des Sciences et Sciences Appliquées

Département de Génie Mécanique

Mémoire de fin d'études en vue de l’obtention du diplôme de

MASTER EN GENIE MECANIQUE Option : Construction mécanique

Coopération des robots mobiles autonomes

Présenté et soutenu publiquement le : 13/07/2019

Par : Islam ACHOUR

Dirigé par : Ziane ATAOUA

Promotion : 2018 / 2019

Page 2: Coopération des robots mobiles autonomes

i

Résumé

Les systèmes multi-robots est une technique dérivée des systèmes coopératifs existants dans

nos vies, où nous observons leur présence dans la nature chez les animaux (colonie de fourmis,

royaume des abeilles, loups ...). Le regroupement de robots au sein d'un même système est aujourd'hui

possible et d'un intérêt majeur. Il s’agit de produire des robots indépendants capables d'effectuer des

sous-tâches simples et de collaborer pour effectuer une tâche complexe. Le but de ce projet est de

construire un système multi-robots pour le transport coopératif d’un objet selon une approche multi-

agents. Le prototype réalisé est constitué de deux robots mobiles autonomes basé sur la plateforme

Arduino capables de communiquer via des modules radio sans fils.

Mots-clés : Systèmes multi-robots, Systèmes multi-agents, Coopération, Communication, Arduino.

Abstract

Multi-robot systems is a technique derived from the cooperative systems that exist in our lives,

where we observe their presence in nature at animals (ant and bees colonies, wolves...). The grouping

of robots within a same system is now possible and of major interest. It is about producing

independent robots capable of performing simple subtasks and collaborating to perform a complex

task. The aim of this project is to build a multi-robot system for the cooperative transport of an object

using a multi-agent approach. The prototype consists of two autonomous mobile robots based on the

Arduino platform capable of communicating via wireless radio modules.

Keywords : Multi-robot systems, Multiagent systems, Cooperation, Communication, Arduino.

ملخص

تقنية مشتقة من الأنظمة التعاونية الموجودة في حياتنا، حيث نلاحظ وجودها يمتعدد الروبوتات هالأنظمة

أصبح تجميع الروبوتات داخل نفس لقد الحيوانات )مستعمرة النمل، مملكة النحل، الذئاب ...(. لدىفي الطبيعة

تعاون ام فرعية بسيطة وال. يتعلق الأمر بإنتاج روبوتات مستقلة يمكنها أداء مهبالغةالنظام ممكناً وأصبح ذا أهمية

شيء،للتنفيذ مهمة معقدة. الهدف من هذا المشروع هو بناء نظام متعدد الروبوتات للنقل التعاوني في نفس الوقت

صة على من اعتمادامستقلين ومن روبوتين متحركين المنجز. يتكون النموذج مقاربة تعدد الأعوانباستخدام

لاسلكية. راديوحدات التواصل عبر و كما يمكنهما أردوينو

ردوينو.أعوان، التعاون، التواصل، نظمة متعدد الروبوتات، الأنظمة متعددة الأالأ :مفتاحيةكلمات

Page 3: Coopération des robots mobiles autonomes

ii

Remerciements

Merci et merci à Dieu notre Créateur Allah qui m’a donné la force

de la performance et l'achèvement de ce travail.

Je tiens à remercier en premier lieu et très chaleureusement mon promoteur,

monsieur Z. Ataoua, pour son aide, son ouverture et sa disponibilité.

Je remercie également les membres du jury

qui me feront honneur de juger ce travail.

Enfin, mes remerciements vont à tous ceux qui m’ont aidé de près ou de loin

à terminer ce travail, j'exprime ma profonde gratitude.

Achour Islem

Page 4: Coopération des robots mobiles autonomes

Table des matières

Résumé ................................................................................................................................................ i

Remerciements .................................................................................................................................. ii

Table des matières ............................................................................................................................ iii

Liste des tableaux ............................................................................................................................... v

Liste des figures ................................................................................................................................ vi

Liste des abréviations ..................................................................................................................... viii

Introduction générale ......................................................................................................................... 1

Chapitre 1 : Les robots mobiles autonomes ..................................................................................... 2

Introduction .............................................................................................................................. 3

Définition d’un robot mobile .................................................................................................... 3

Les avantages et les problèmes des robots mobiles .................................................................. 3

Classification des robots mobiles ............................................................................................. 3

Les domaines d’application de la robotique ............................................................................. 4

Les types de robots mobiles ..................................................................................................... 6

L’architecture des robots mobiles .......................................................................................... 10

Les moyens de perception et de locomotion en robotique mobile ......................................... 11

Conclusion .............................................................................................................................. 14

Chapitre 2 : Les systèmes multi-robots .......................................................................................... 15

Introduction ............................................................................................................................ 16

Définition d'un système multi-robots ..................................................................................... 16

Applications des systèmes multi-robots ................................................................................. 16

Les types des systèmes multi-robots ...................................................................................... 17

Page 5: Coopération des robots mobiles autonomes

Table des matières

iv

Motivations pour les systèmes multi-robots ........................................................................... 17

La coopération dans les systèmes multi-robots ...................................................................... 18

La technologie Agent ............................................................................................................. 19

Communication dans un environnement sans fil.................................................................... 21

Conclusion .............................................................................................................................. 23

Chapitre 3 : Conception et réalisation du prototype .................................................................... 24

Introduction ............................................................................................................................ 25

Présentation du projet ............................................................................................................. 25

Modélisation ........................................................................................................................... 25

Choix des composants ............................................................................................................ 29

Partie matérielle ...................................................................................................................... 35

Partie logicielle ....................................................................................................................... 40

Résultats et discussion ............................................................................................................ 43

Conclusion .............................................................................................................................. 46

Conclusion générale ......................................................................................................................... 47

Références bibliographiques ........................................................................................................... 48

Page 6: Coopération des robots mobiles autonomes

v

Liste des tableaux

Tableau 1.1. Les avantages et les inconvénients des différents types de robots à roues .................... 10

Tableau 2.1. Applications des systèmes multi-robots ........................................................................ 17

Tableau 3.1. Pièces mécaniques ......................................................................................................... 36

Tableau 3.2. Composants électroniques ............................................................................................. 37

Tableau 3.3. Connexion de l’Arduino uno avec le capteur ultrason .................................................. 37

Tableau 3.4. Connexion entre l’Arduino uno et L298N Motors Driver ............................................ 38

Tableau 3.5. Connexion entre l’Arduino uno et le NRF24L01 .......................................................... 38

Page 7: Coopération des robots mobiles autonomes

Liste des figures

Figure 1.1. Un robot engouffrant la neige de la rue avec sa « bouche ». ............................................. 4

Figure 1.2. Un robot assistant les chirurgiens. ..................................................................................... 5

Figure 1.3. Un robot capable de s’adapter à son environnement et à son utilisateur. .......................... 5

Figure 1.4. Un robot de l’armée américaine conçu pour transporter les paquetages des soldats. ........ 6

Figure 1.5. Le robot aspirateur fonctionne de manière autonome sur tous types de sol. ..................... 6

Figure 1.6. Robot à chenille ................................................................................................................. 7

Figure 1.7. Robot à pattes ..................................................................................................................... 7

Figure 1.8. Robot mobile de type uni cycle. ........................................................................................ 8

Figure 1.9. Robot mobile de type tricycle ............................................................................................ 8

Figure 1.10. Robot mobile de type voiture. .......................................................................................... 9

Figure 1.11. Robot omnidirectionnel ................................................................................................... 9

Figure 1.12. Capteurs à ultrasons ....................................................................................................... 12

Figure 1.13. Capteurs à infrarouge ..................................................................................................... 12

Figure 1.14. Capteurs tactiles ............................................................................................................. 13

Figure 1.15. Boussoles ....................................................................................................................... 13

Figure 1.16. Les balises ...................................................................................................................... 13

Figure 1.17. Le GPS ........................................................................................................................... 14

Figure 2.18. Système multi-robots ..................................................................................................... 16

Figure 2.19. Sept couches du modèle de communication OSI. .......................................................... 22

Figure 3.1. Transport coopératif de pipe par deux robots mobiles [19]. ............................................ 25

Figure 3.2. Robot mobile de type uni-cycle……….. ......................................................................... 26

Figure 3.3. Centre instantané de rotation d’un robot uni-cycle………………………………………26

Figure 3.4. Système multi-agents (multi-robots) dans son environnement. ....................................... 27

Figure 3.5. Organigramme du comportement d’un robot. ................................................................. 28

Figure 3.6. La caisse ou châsse .......................................................................................................... 29

Figure 3.7. Roue motrice en Caoutchouc (à gauche) et roue libre (à droite). .................................... 29

Figure 3.8. Moteur de roue électrique à courant continu ................................................................... 30

Figure 3.9. La carte Arduino Uno ...................................................................................................... 31

Figure 3.10. Module émetteur-récepteur NRF24L01 ......................................................................... 32

Figure 3.11. Communiquer avec jusqu'à 6 autres unités en même temps. ......................................... 33

Figure 3.12. Le composant Pont-H L298N ........................................................................................ 33

Figure 3.13. Capteur à Ultrason HC-SR04 ........................................................................................ 34

Figure 3.14. Comment fonctionnent les ondes sonores ..................................................................... 35

Figure 3.15. Assemblage du châssis avec les 2 moteurs avec les roues ............................................ 36

Figure 3.16. La connexion entre la broche du capteur ultrason avec Arduino uno ........................... 37

Figure 3.17. La connexion entre la broche du LM298 Motor Driver avec Arduino uno ................... 38

Figure 3.18. Connexion de la carte Arduino uno avec le NRF24L01 ................................................ 38

Figure 3.019. Branchement de la batterie et du bouton de démarrage avec la carte Arduino uno..... 39

Figure 3.20. Assemblage de tous les composants électroniques. ....................................................... 39

Figure 3.21. Assemblage final du robot. ............................................................................................ 39

Page 8: Coopération des robots mobiles autonomes

vii

Figure 3.22. Environnement de programmation Arduino .................................................................. 40

Figure 3.23. Déclaration des librairies externes et initialisation des variables .................................. 41

Figure 3.24. Fonction Setup. .............................................................................................................. 41

Figure 3.25. Fonction de mesure de distance ..................................................................................... 42

Figure 3.26. Fonction d’envoi de message ........................................................................................ 42

Figure 3.27. Fonction de réception message ...................................................................................... 42

Figure 3.28. Chargement du programme ........................................................................................... 43

Figure 3.29. Les robots sont dans un état de blocage devant un obstacle .......................................... 44

Figure 3.30. Un robot rencontre un obstacle et doit informer le deuxième avant de l’éviter. ........... 44

Figure 3.31. Les robots en déplacement lors du transport de pipe. .................................................... 45

Figure 3.32. Un robot devant un obstacle lors du transport de pipe. ................................................. 45

Figure 3.33. Evitement coopératif des obstacles. ............................................................................... 46

Page 9: Coopération des robots mobiles autonomes

viii

Liste des abréviations

CE Chip Enable

CIR Centre instantané de rotation

CSN Ship Select Not

EEPRM Electrically-Erasable Programmable Read-Only Memory

GPS Global Positioning System

IAD Intelligence Artificielle Distribuée

ICSP In Circuit Serial Programming

IRQ Interrupt ReQuest

LED Light Emitting Diode

MANET Mobile Ad hoc NETwork

MCU Multipoint Control Unit

MISO Master Input Slave Output

MOSI Master Output Slave Input

OSI Open Systems Interconnection

PWM Pulse Width Modulation

SCK Serial Clock

SMA Système Multi Agent

SMR Systèmes multi-robots

SRAM Static Random Access Memory

TTL Transistor - Transistor - Logic

US Ultra-sonic

USB Universal Serial Bus

VSS Virtual Switching System

Page 10: Coopération des robots mobiles autonomes

Introduction générale

Les robots suscitent un intérêt croissant vu la diversité de leurs domaines d’application :

industriel, militaire, médical, environnemental, domestique, spatiale,...etc. En effet, ils ont permis de

remplacer l’homme dans certains travaux difficiles, répétitifs ou pénibles et de lui apporter une plus

grande précision. Pendant plusieurs années, laboratoires, industriels, informaticiens et mécaniciens

vont continuer leurs travaux en parallèle. On accède ainsi côté industriel à la télé-opération et à une

partie de la robotique classique, tandis que du côté informatique, on assiste à de grands progrès dans

le domaine de l’intelligence artificielle. Vers la fin des années soixante, la synthèse de tous les travaux

réalisés donne enfin naissance aux robots mobiles autonomes (du robot domestique au robot

militaire).

Dans le cadre de la robotique mobile, il existe un besoin croissant pour les robots qui sont

capables de travailler ensemble pour réaliser une tâche commune. En effet, le fait d'utiliser une équipe

de robots, peut avoir un impact majeur sur les capacités offertes par les systèmes robotisés. Le

regroupement de robots au sein d'un même système est aujourd'hui possible et d'un intérêt majeur.

On peut certainement comparer une équipe de robots à certains regroupements d'individus ayant un

but fonctionnel commun, par exemple des membres d'une équipe sportive ou d'une équipe de travail

étant en mesure de s'entraider et de coopérer.

L’objectif de ce travail et d’une part, d’étudier le mécanisme de coopération dans les systèmes

multi-robots, et d’autre part de concevoir et de réaliser un système composé de deux robots mobiles

permettant d’implémenter ce mécanisme.

Le développement de notre projet est basé sur une démarche qui prend en compte les trois

aspects principaux des robots (la mécanique, l’électronique et l’informatique). Ainsi, dans un premier

temps, nous cherchons choisir et à modéliser la structure mécanique adéquate des robots. Ensuite,

nous intéressons à la conception de la partie électronique en profitant au maximum des modules

électroniques existants. La phase finale, concerne le développement du comportement coopératif des

robots basé sur les techniques de coopération issues d’intelligence artificielle distribuée.

Ainsi, ce mémoire est organisé en trois chapitres, comme suit :

Le premier chapitre est un aperçu sur les robots mobiles autonomes. Le but ici est de dégager

le type de l’architecture du robot à adopter.

Le deuxième chapitre traite le mécanisme coopération chez les systèmes multi-robots. On peut

ainsi, découvrir les différentes approches et techniques à employer pour modéliser comportement

coopératif des robots.

Dans le troisième chapitre, nous abordons en détail le processus de conception, réalisation et

démonstration de notre prototype.

Le mémoire sera achevé par une conclusion générale relative aux résultats obtenus et décrit les

problèmes rencontrés et les perspectives de ce travail.

Page 11: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

Page 12: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

3

Introduction

Les robots mobiles autonomes ont une grande importance dans la vie quotidienne, l’industrie,

la recherche scientifique, …etc. Dans ce premier chapitre, nous exposons le contexte général dans

lequel s’inscrit notre projet. Nous présentons donc les concepts de base des robots mobiles, leurs

applications, avantages et types. L’accent sera mis ensuite sur leur architecture et leurs moyens de

perception.

Définition d’un robot mobile

Un robot mobile est un système mécanique, électronique et informatique qui agit physiquement

sur son environnement en vue d'atteindre un objectif qui lui a été assigné. Cette machine est

polyvalente et capable de s'adapter à certaines variations de ses conditions de fonctionnement. Elle

est dotée de fonctions de perception, de décision et d'action. Ainsi, le robot devrait être capable

d'effectuer, de différentes manières, des tâches diverses et d’accomplir correctement sa propre tâche,

même s'il rencontre de nouvelles situations inopinées.

L’appellation « robot mobile » rassemble tous les types de robots dont la caractéristique

commune est la faculté de se mouvoir. Cependant, la manière qui dépend du domaine d’utilisation

des robots, fait la différence de ces derniers. Ainsi, la mobilité par les roues est, par exemple, la

structure mécanique la plus communément appliquée. Cette technique assure, selon l’agencement et

les dimensions des roues, un déplacement dans toutes les directions avec une accélération et une

vitesse importantes [1].

Les avantages et les problèmes des robots mobiles

Les divers avantages des robots mobiles se résument ainsi :

Accroissement de la capacité de production,

Remplacement de l'homme dans l'exécution des taches pénibles ou dangereuses,

Manutentions.

L’ensemble des problèmes particuliers liés à la conception de tels robots sont [2] :

La conception mécanique liée à la mobilité,

La détermination de la position et de la latitude (orientation),

La détermination du chemin optimal pour atteindre le lieu de la tâche.

Classification des robots mobiles

Une classification est proposée qui définit le degré d’autonomie du robot mobile :

Véhicule télécommandé par un opérateur qui lui impose chaque tâche é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.

Page 13: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

4

Véhicule semi-autonome réalisant sans l’aide de l’opérateur des tâches prédéfinies.

Véhicule autonome qui réalise des tâches semi-définies. Ce type de véhicule pose des

problèmes d’un niveau de complexité élevé de représentation des connaissances, de

capacité décisionnelle et de génération de plans qui sont résolus à bord dans la mesure

du possible.

Les domaines d’application de la robotique

La robotique actuelle est utilisée dans de différents domaines :

Utilisation civile

De plus en plus de tâches sont confiées aux robots. Ils servent à remplacer les personnes qui

sont chargées de taches civiles (Nettoyer la ville, aider la population, s'occuper des lieux publics...).

Le robot de la figure ci-dessous est équipé de deux caméras et d’un GPS. Il circule dans la rue de

manière autonome en engouffrant la neige avec sa « bouche ».

Figure 1.1. Un robot engouffrant la neige de la rue avec sa « bouche ».

La santé

Les robots commencent à être de plus en plus dans le domaine médical. Ces robots ne sont pas

complètement autonomes mais ils assistent les médecins ou chirurgiens, jusqu'à permettre des

opérations médicales à distance. Cette pratique de chirurgie assistée est émergente donc bien que peu

répandue, elle est en phase de devenir la chirurgie du futur. La figure 1.2 montre un robot constitué

de quatre bras mobiles avec, au bout des mini-pinces, un chirurgien assis devant une drôle de machine

avec pédales et joysticks

Page 14: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

5

Figure 1.2. Un robot assistant les chirurgiens.

L'industrie

Le premier but des robots est de remplacer l’homme dans des activités difficiles et fatigantes

pour l’employeur (figure 1.3). Les robots ont commencé à être utilisés dans les chaînes d’assemblage

industrielles. Dans ces chaînes d’assemblage, on retrouve des robots soudeurs, manipulateurs,

peintres...

Figure 1.3. Un robot capable de s’adapter à son environnement et à son utilisateur.

Le domaine militaire

Les robots sont de plus en plus utilisés dans le domaine militaire. Aujourd’hui on peut plus

facilement créer des robots discrets et dotés de nombreux capteurs, ce qui est idéal pour des missions

d’espionnage ou d’éclairement.

Page 15: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

6

Figure 1.4. Un robot de l’armée américaine conçu pour transporter les paquetages des soldats.

L’usage domestique

Ces dernières années, on a vu de nombreux robots s’installer chez les particuliers pour effectuer

des tâches à la place de leur propriétaire. Ceux-ci sont capables de faire le ménage, tondre la pelouse,

nettoyer la piscine... Ce qui conduit certains clients à se procurer ces domestiques contemporains.

Figure 1.5. Le robot aspirateur fonctionne de manière autonome sur tous types de sol.

Les types de robots mobiles

Robot mobile utilisant la chenille

Lorsque le terrain est accidenté, les roues perdent leur efficacité de locomotion. Ceci limite la

capacité de mouvement du robot mobile équipé de ce type de système de locomotion. Dans ces

conditions, les chenilles sont plus intéressantes car elles permettent d'augmenter l'adhérence au sol et

de franchir des obstacles plus importants.

Page 16: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

7

Figure 1.6. Robot à chenille

Robot mobile à pattes

Dans la situation ou le terrain est encore plus incertain, avec de grandes différences de hauteur

comme par exemple un escalier ou un terrain très accidenté, les deux types précédents ne sont plus

efficaces, et on fait recours aux robots mobiles à pattes. Ils ont des points d'appui discrets sur le terrain

et sont donc la solution à ce problème de mouvement. Par contre, la conception et le contrôle d'un

engin à pattes sont très complexes. En plus, la vitesse d'évolution est généralement très réduite. La

commande est très difficile, dépond de la multiplicité des actionneurs utilisés. Aibo de Sony est un

exemple d'un robot mobile à pattes [3].

Figure 1.7. Robot à pattes

Robot mobile à roues

Il existe 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 [4] :

1.6.3.1 Robot uni-cycle

Un robot de type uni-cycle est actionné par deux roues indépendantes, il possède

é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.

Page 17: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

8

Figure 1.8. Robot mobile de type uni cycle.

1.6.3.2 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.9. Robot mobile de type tricycle

1.6.3.3 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.

Page 18: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

9

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èmes 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.10. Robot mobile de type voiture.

1.6.3.4 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 puisqu'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.11. Robot omnidirectionnel

1.6.3.5 Comparaison des différents types

Nous pouvons observer dans le tableau ci-dessous un récapitulatif des avantages et des

inconvénients des différents types de robots à roues.

Page 19: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

10

Type du robot à

roues Avantages Inconvénients

Uni-cycle

* Stable

* Rotation sur soi-même

* Complexité mécanique faible

* Non-holonome

Tricycle

*Complexité mécanique

modérée

* Non-holonome

* Peu stable

* Pas de rotation sur soi-même

Voiture

* Stable

* Complexité mécanique

modérée

* Non-holonome

* Pas de rotation sur soi- même

Omnidirectionnel

* Holonome

* Stable

* Rotation sur soi-même

* Complexité mécanique

importante

Tableau 1.1. Les avantages et les inconvénients des différents types de robots à roues

Autres moyens de locomotion

Cette catégorie englobe les robots mobiles qui utilisent un moyen de locomotion différent des

trois précédents. Par exemple, les robots mobiles qui se déplacent par reptation, les robots sous-

marins, les robots d'exploration spatiale et les robots volants,…etc. Les applications et la commande

de ces robots sont très spécialisées, l’architecture est en général spécifique à l'application visée. Pour

utiliser et gérer ces machines d'une manière efficace, elles doivent être équipées par un ensemble de

capteurs et d'actionneurs de réaction pour un mouvement souhaité.

L’architecture des robots mobiles

L'architecture des robots mobiles se compose de quatre parties essentielles :

La structure mécanique et la motricité.

Le système de localisation.

Les organes de sécurité.

Le système de traitement des informations et gestion de tâches.

Composants matériels d’un robot mobile

À la base, un robot mobile est constitué de composants matériels et logiciels. Parmi les premiers

(composants matériels), on trouve une plateforme mobile à laquelle sont rattachés tous les autres

composants comme les capteurs, les actionneurs et une source d’énergie (batteries).

D’autres organes tels que des bras manipulateurs peuvent lui être ajoutés pour une application

particulière.

Page 20: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

11

Energie utilisée dans les robots

Les déplacements des robots sont réalisés par des moteurs de types électrique, thermique ou

hydraulique. L’énergie électrique la plus fréquemment employée offre l’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 sont soit rechargées périodiquement de manière automatique ou

manuelle, soit par un échange avec d’autres 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.

Les organes de sécurité

Un robot, selon la tâche qui lui est confiée, peut être amené à travailler au voisinage du

personnel. A ce titre, il est obligatoire qu’il soit doté d’organes garantissant la sécurité. Des capteurs

sont disponibles tout auteur du mobile afin de détecter un obstacle sur un domaine le plus étendu

possible. Deux types de capteurs sont employés : les capteurs proximétriques assurant la détection

avant collision (ultra-son, hyper fréquence, infrarouge…) et les capteurs de contact détectant une

collision ou un choc avec l’environnement (contact électrique sur pare-chocs, résistance variable,

fibre optique…). Ce sont des dispositifs redondants par rapport aux capteurs précédents.

Les moyens de perception et de locomotion en robotique mobile

La perception est un domaine crucial de la robotique. C'est autour de ce concept qu'est bâtie la

structure d'un robot apte à exécuter des tâches complexes ou à évoluer dans un univers inconnu ou

mal connu. L'élément de base du système de perception est le capteur qui a pour objet de traduire en

une information exploitable des données représentant des caractéristiques de l'environnement.

Les moyens utilisés pour la perception de l'environnement sont nombreux. Nous citons:

Les systèmes de vision globale.

Les télémètres laser et ultrasonores.

Les capteurs optiques et infrarouges.

Les capteurs tactiles.

Les capteurs

La commande des robots mobiles est basée sur deux types d’informations importantes; les

informations proprioceptives et les informations extéroceptives, Le système de perception est très

important pour la sécurité du robot si l'environnement est encombré d’obstacles fixes ou bien mobiles

Page 21: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

12

(autres robot). Pour se focaliser sur le problème de navigation, nous allons nous restreindre dans ce

chapitre aux capteurs utiles pour la tâche de navigation [5].

1.8.1.1 Capteurs intéroceptifs

Fournissent des données sur l'état interne du robot (vitesse, position, orientation,…). Ces

informations renseignent le robot en cas de mouvement, sur son déplacement dans l’espace (la

localisation). Ce sont des capteurs que l’on peut utiliser directement, mais ils souffrent d’une dérive

au cours du temps qui rend leur utilisation seul inefficace ou avec limitation. Nous citons par exemple:

l’odomètre, radar doppler, systèmes inertiels… [6].

1.8.1.2 Capteurs extéroceptifs

Ont pour objectif d'acquérir des informations sur l'environnement proche du véhicule. Ils

fournissent des mesures caractéristiques de la position que le robot peut acquérir dans son

environnement par la détection des objets qui contourne. Ces informations peuvent être de natures

très variée. Nous citons comme exemple les télémètres à ultrason, infrarouge, laser, les caméras,…etc.

Pour la navigation autonome d'un robot mobile et selon la mission visée (à accomplir), on peut utiliser

aussi les capteurs suivants, [7] :

a) Les capteurs à ultrasons : Contrairement aux autres types de capteurs, ceux-ci émettent une

onde qui se propage dans l’air (le plus souvent). Cela augmente beaucoup le temps

d’acquisition, la vitesse du son étant très faible devant celle de la lumière. En revanche, la

mesure par temps de vol est ici aisée avec une électronique simple. L’atténuation de l’onde est

importante dans ce milieu : les distances mesurées restent faibles (quelques dizaines de mètres)

mais suffisantes en intérieur.

Figure 1.12. Capteurs à ultrasons

b) Les capteurs à infrarouge : Leur utilisation est similaire à celle des lasers. Les mesures de

distance peuvent être faites par triangulation, mesure d’intensité et mesure de temps de

vol. On a aussi parfois des angles d’ouverture importants à l’émission.

Figure 1.13. Capteurs à infrarouge

Page 22: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

13

c) Les capteurs tactiles : qui sont le plus souvent utilisés pour des arrêts d’urgence lorsqu’ils

rencontrent un obstacle qui n’avait pas été détecté par le reste du système de perception.

Figure 1.14. Capteurs tactiles

d) Les boussoles : Permettant 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.

Figure 1.15. Boussoles

e) 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. 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.

Figure 1.16. Les balises

f) Le GPS (Global Positioning System) : Est un système de balises universel dont les balises

sont placées sur des satellites en orbite terrestre. Ce système permet donc d’avoir une

mesure de la position dans un repère global couvrant la terre avec une précision variant de

quelques dizaines de mètres à quelques centimètres suivant les équipements utilisés.

Page 23: Coopération des robots mobiles autonomes

Chapitre 1 : Les robots mobiles autonomes

14

Figure 1.17. Le GPS

Les Actionneurs

Pour bouger à l’intérieur de son environnement et interagir avec celui-ci, un robot est équipé

d’actionneurs, peut être muni d’un ou de plusieurs moteurs pouvant faire tourner ses roues afin

d’effectuer des déplacements. Généralement, les roues du robot sont contrôlées par deux commandes

motrices, soit une vitesse d’avancement et un taux de rotation. Habituellement, ces commandes

s’expriment en mètres par seconde (m/s) et en degrés de rotation par seconde (deg/s) [8].

Le type de locomotion définit deux types de contraintes [9] :

Les contraintes cinématiques, qui portent sur la géométrie des déplacements possibles

du robot;

Les contraintes dynamiques, liées aux effets du mouvement (accélérations bornées,

vitesses bornées, présence de forces d’inertie ou de friction).

Conclusion

Dans le présent chapitre, nous avons fait une brève présentation sur les robots mobiles

autonomes. Ces derniers peuvent être classés en plusieurs types selon le critère choisi : type de

locomotion, degré d'autonomie, …etc. A cause de sa stabilité et sa faible complexité mécanique, le

choix donc sera porté sur le type robot à roue uni-cycle. Afin de réaliser sa tâche, un robot mobile

doit avoir un comportement intelligent et donc complexe. Une autre démarche consiste à employer

plusieurs robots dotés des capacités simples et qui travaillent ensemble pour réaliser une tâche

commune. Il s’agit des systèmes multi-robots qui vont faire l’objet du prochain chapitre.

Page 24: Coopération des robots mobiles autonomes

Chapitre 2 : Les systèmes multi-robots

Page 25: Coopération des robots mobiles autonomes

Chapitre 2 : Les systèmes multi-robots

16

Introduction

Dans ce chapitre nous allons faire un état de l’art sur les systèmes multi-robots. Nous

commencerons par leurs applications, types et avantages. Nous nous focaliserons ensuite sur le

mécanisme de coopération et les différentes approches utilisées pour modéliser un système multi-

robots en mettant l’accent sur l’approche multi-agents. Enfin, nous terminons par les techniques de

communications sans fils dans les systèmes multi-robots.

Définition d'un système multi-robots

Un système multi-robots est un groupe de robots, homogènes ou hétérogènes, évoluant dans le

même environnement et ayant des capacités d'interagir avec leur environnement externe. Les robots

doivent impérativement partager et/ou intervenir sur des ressources communes. De plus de la mise en

place d'un contrôle individuel pour chaque robot, les systèmes multi-robots utilisent les stratégies de

contrôle appropriées permettant d'avoir des entités robotiques cohérentes et efficaces pour la

réalisation des taches désirées [10].

Figure 2.18. Système multi-robots

Applications des systèmes multi-robots

Le tableau ci-après résume de manière non exhaustive les diverses application des systèmes

multi-robots :

Domaine Applications

Industrie nucléaire surveillance de sites, manipulation de matériaux radioactifs,

démantèlement de centrales

Sécurité civile neutralisation d’activité terroriste, déminage, pose

d’explosif, surveillance de munitions

Militaire surveillance, patrouille, pose d’explosifs, manipulation de

munitions

Chimique surveillance de site, manipulation de matériaux toxiques

Médecine assistance d’urgence, aide aux handicapés physiques, aux

aveugles

Page 26: Coopération des robots mobiles autonomes

Chapitre 2 : Les systèmes multi-robots

17

Lutte contre l’incendie localisation d’une source d’incendie, détection de fumée,

suppression de flammes

Sous-marine pose de câbles, recherche de nodules, recherche de navires

immergés, inspection des fonds marins

Agricole cueillette de fruits, traite, moisson, traitement des vignes…

Construction projection mortier, lissage du béton

Nettoyage coque de navire, nettoyage industriel

Espace exploration

Industriel Convoyage, surveillance

Tableau 2.1. Applications des systèmes multi-robots

Les types des systèmes multi-robots

Systèmes multi-robots homogènes

Un système multi-robots homogènes est un ensemble de robots qui ont les mêmes

caractéristiques, ils doivent coopérer entre eux ; ils s'auto-organisent pour soulever, porter, pousser

et déposer l'objet qu'un seul robot ne pourrait réaliser tout seul.

Systèmes multi-robots hétérogènes

Un SMR hétérogènes est un ensemble de robots mixtes, c'est-à-dire les robots ne sont pas

identiques, il peut y avoir des robots fixes et des robots mobiles. Ex: dans le cas de transport d'un

objet chaque robot s'occupe de sa propre sous-tâche, les robots manipulateurs fixés s'occupent du

dépôt et le soulèvement d'objet et les robots mobiles s'occupent de son transport.

Motivations pour les systèmes multi-robots

La coopération au sein de systèmes multi-robot est motivé par deux facteurs majeurs : la tache

nécessite la coopération d'un nombre minimal de robots, ou d'apporter les avantages suivants [11] :

Tolérance aux fautes

Avec un groupe de robots, le système peut continuer de fonctionner même si des fautes se

produisent au sein d'un ou de plusieurs robots du groupe. Le système à une distribution de capteurs

et actionneurs sur les robots, ce qui rend les performances de contrôle très peu affectées en cas de

défaillance d'un robot.

La complexité de la tâche

La complexité de la tâche à réaliser est trop élevée pour un seul robot donc elle nécessite une

coopération d'un ensemble de robots.

Page 27: Coopération des robots mobiles autonomes

Chapitre 2 : Les systèmes multi-robots

18

Réduction de coût

Quoique ce point n'étant pas toujours véridique, il peut être possible de développer un groupe

de robots relativement simples à moindre coût comparativement à un seul robot beaucoup plus

complexe, dans le but d'effectuer le même ensemble de tâches.

Flexibilité

La flexibilité est la possibilité d'exécuter les tâches désirées de diverses manières.

La coopération dans les systèmes multi-robots

Définition

La coopération peut être considérée comme l'objectif à atteindre par les systèmes multi-robots.

Afin qu'une tâche soit qualifiée de coopérative, les robots doivent partager impérativement des

objectifs et des ressources communes (par exemple déplacer un objet, une voiture à souder ou à

peindre dans une chaîne de montage de voiture), donc les robots doivent d'une part évoluer dans le

même environnement et d'autre part ils doivent coordonner leurs actions pour réaliser la tâche

coopérative. Dans de nombreux travaux en robotique, l'idée de base pour réaliser une tâche est connue

comme le paradigme diviser-puis-attribuer. Il s'agit de décomposer une mission robotique en un

ensemble de tâchés (reliées) [12].

Types de coopération

Dans les systèmes multi-robots, deux types de coopérations peuvent être distinguées [13] :

la coopération émergente.

la coopération intentionnelle.

2.6.2.1 La coopération émergente

Ce type de coopération est habituellement mise en œuvre dans la robotique. Cette approche

s'inspire des observations de sociétés biologiques en particulier les fourmis, les abeilles et les oiseaux

pour développer des comportements similaires dans les équipes de robots. Dans de tels systèmes, la

coopération n'est pas explicitement définie. Mais, elle émerge des interactions locales entre les robots

eux-mêmes et entre les robots et l'environnement selon des règles simples. Une des grandes forces de

cette approche est qu'elle permet aux robots d'opérer dans des situations imprévues et de s'adapter

aux conditions changeantes. La coopération émergente à couramment été appliquée à des groupes de

robots homogènes

2.6.2.2 La coopération intentionnelle

Ce type est un mécanisme de coopération qui implique que les robots coopèrent par le biais

d'échanges d'informations et de négociations directement liées à la tâche à accomplir. Ce type de

coopération nécessite donc une communication explicite. Il permet de mieux exploiter les capacités

d'équipes de robots hétérogènes en l'exploitant pour accomplir des actions complémentaires

directement liées à la tâche à réaliser. Ces actions sont obtenues en décomposant la tâche

Page 28: Coopération des robots mobiles autonomes

Chapitre 2 : Les systèmes multi-robots

19

correspondante. Cette démarche descendante est plus simple à mettre en œuvre que la démarche

ascendante de la coopération émergente.

Approches de coopération utilisées dans les systèmes multi-robot

2.6.3.1 L'approche des sciences vivantes

Cette approche est inspirée de la fascinante organisation, des règles de contrôle et du

comportement des diverses sociétés biologiques, tels que les fourmis, les oiseaux ou bien les abeilles,

pour contrôler un groupe de robots coopératifs, ex: la construction de nids, et la récolte de pollen chez

les abeilles, le transport coopératif d'objets et le fourragement chez les fourmis etc.... Cette dernière

tâche consiste à rechercher la nourriture dans l'environnement et à la transporter par la suite au nid,

elle était une source d'inspiration de travaux en robotique, et cela en remplaçante les fourmis par les

robots, la nourriture par des objets dans l'environnement, les phéromones par des communications

entre les robots et le nid par une position dans l'environnement. Des travaux en ce sens ont démontré

la capacité des équipes multi-robot à affluer, se disperser, fourrager et suivre l'itinéraire. Cette

approche est exploitable dans le cas d'un SMR homogènes.

2.6.3.2 L'approche automatique : robotique coopérative

Faire coopérer un ensemble de systèmes robotiques est un synonyme d'existence de modèles

régissant le système multi robots. C'est ce qui est appliqué dans le cadre de la robotique coopérative,

ou chaque robot est modélisé de telle sorte à ce qu'il intervienne dans le modèle global du système.

2.6.3.3 L'approche informatique : systèmes multi-agents

Des travaux en Intelligence Artificielle ont donnés naissance à l'Intelligence Artificielle

Distribuée (IAD) qui traitent l'intelligence produite par un ensemble d'agents coopératifs ; de l'IAD a

émergé par la suite la notion de Système Multi Agent (SMA) qui résout les systèmes complexes en

les décomposant en un ensemble d'agents autonomes. Un exemple qui caractérise à la fois le monde

de l'informatique et celui de la coopération d'agents, est celui du génie logiciel. Ce domaine produit

des logiciels complexes en faisant coopérer et coordonner un ensemble d’agents logiciels : classe,

objets, ou une technologie basée sur une conception orientée objets. Cette approche peut être utilisée

dans le cas d'un SMR homogènes ou hétérogènes.

La technologie Agent

Définition d’un agent

Un agent est une entité physique ou virtuelle qui agit dans un environnement, communique

directement avec d’autres agents, possède des ressources propres, est capable de percevoir

partiellement son environnement et possède des compétences. En fonction des ressources, des

compétences et des communications, un agent tend à satisfaire ses objectifs [14].

Un agent effectue continuellement trois fonctions :

Perception de l’environnement

Interprétation de ces perceptions

Page 29: Coopération des robots mobiles autonomes

Chapitre 2 : Les systèmes multi-robots

20

Détermination des actions possibles

Propriétés d’un agent

Un agent doit avoir les caractéristiques suivantes :

Réactivité : Percevoir l’environnement et répondre, en temps réel,

Proactivité : Capacité de prendre l’initiative comportement orienté but,

Sociabilité : Capacité d’interagir avec d’autres agents ou utilisateurs,

Autonomie: un agent est indépendant de l’utilisateur et des autres agents.

Types d’agents

On distingue deux types d’agents selon la complexité de leurs architectures ; agent réactif et

agent cognitif.

2.7.3.1 Agent réactif

Les décisions prises par les agents sont basées sur une correspondance entre les situations et les

actions (Architecture simple) :

Pas de représentation explicite

Pas de mémoire locale

Fonctionnement stimulus action

Nombre d’agent élevé

2.7.3.2 Agent cognitif

Les décisions prises par les agents sont basées sur des déductions logiques (Architecture

complexe) :

Représentation explicite de l’environnement

Peut tenir compte de son passé

Agents complexes

Nombre d’agents réduit

Systèmes Multi-agents (SMA)

2.7.4.1 Définition d’un SMA

Un système multi-agents est un ensemble organisé d’agents. Il est constitué d’une ou plusieurs

organisations qui structurent les règles de cohabitation et de travail collectif entre agents. Dans un

même système, un agent peut appartenir à plusieurs organisations.

2.7.4.2 Propriétés des SMA

Un SMA est caractérisé par les propriétés suivantes :

Chaque agent a des informations et des capacités limitées pour résoudre un problème,

Pas de système central de contrôle,

Données décentralisées,

Page 30: Coopération des robots mobiles autonomes

Chapitre 2 : Les systèmes multi-robots

21

Calcul asynchrone.

2.7.4.3 Interaction des SMA

Mise en relation dynamique de deux ou plusieurs agents par le biais d’un ensemble d’actions

réciproques; Echange des séries de messages en respectant des protocoles biens précis: protocoles de

coordination, de coopération et de négociation.

2.7.4.4 Communication entre agents

Un agent doit être capable de communiquer avec les autres agents. Les agents doivent avoir des

capacités à manipuler un langage commun.

Il y a deux types de communication :

a) Communication indirecte : partage d’informations via l’environnement,

b) Communication directe : envoi de messages.

Communication dans un environnement sans fil

Les réseaux sans fil

2.8.1.1 Définition

Un réseau sans fil (en anglais Wireless network) est un réseau dans lequel les machines

participantes peuvent communiquer sans liaison filaire. Ils sont basés sur des liaisons utilisant des

ondes radio électriques (radio ou infrarouge) à la place des câbles habituels (coaxial, paire-torsadée

ou fibre optique). Dans ce type de réseau, les utilisateurs ont la possibilité de se déplacer dans un

certain périmètre de couverture géographique sans perdre le signal [15].

2.8.1.2 Les couches de communications sans fils

La communication sans fils est basée sur un modèle standard (modèle OSI : Open Systems

Interconnection) composé de sept couches (figure 2.19). On décrit ci-dessous pour chaque couche,

les fonctions de manipulation de commandes ou de données significatives :

a) La couche physique : est chargée de la transmission effective des signaux entre les

interlocuteurs. Son service est limité à l'émission et la réception d'un bit ou d'un train de bit

continu (notamment pour les supports synchrones (concentrateur).

b) La couche liaison de données : gère les communications entre 2 machines directement

connectées entre elles, ou connectées à un équipement qui émule une connexion directe

(commutateur).

c) La couche réseau : gère les communications de proche en proche, généralement entre

machines : routage et adressage des paquets.

d) La couche transport : gère les communications de bout en bout entre processus (programmes

en cours d'exécution).

e) La couche session : gère la synchronisation des échanges et les « transactions », permet

l'ouverture et la fermeture de session.

Page 31: Coopération des robots mobiles autonomes

Chapitre 2 : Les systèmes multi-robots

22

f) La couche présentation : est chargée du codage des données applicatives, précisément de la

conversion entre données manipulées au niveau applicatif et chaînes d'octets effectivement

transmises.

g) La couche application : est le point d'accès aux services réseaux, elle n'a pas de service propre

spécifique et entrant dans la portée de la norme.

Figure 2.19. Sept couches du modèle de communication OSI.

La communication dans les systèmes multi-robots

2.8.2.1 Définition

Dans les systèmes multi-robots, les robots ont besoin de communiquer pour coopérer

effectivement. Afin d'atteindre un degré élevé de flexibilité et d'autonomie, la communication entre

les robots dans un système multi-robots devrait reposer sur des technologies de communication sans

fil. De plus, la technologie employée doit permettre aux robots de s'organiser automatiquement en

réseau, afin d'être opérationnels dès qu'ils sont mis en place sans aucune administration centralisée.

En plus de l'auto-configuration du réseau, la technologie de communication doit être capable de

s'adapter aux mobilités des robots pendant leur mission. Un réseau avec de telles caractéristiques est

connu sous le nom réseau ad hoc mobile [16].

2.8.2.2 Les réseaux mobiles Ad-hoc

Les réseaux ad-hoc, appelés aussi MANET (Mobile Ad hoc NETworks), sont des réseaux sans

fil spontanés créés à la demande pour répondre à un besoin spécifique. Ils consistent généralement en

une grande population, relativement dense, d'unités mobiles qui se déplacent dans un territoire

quelconque et dont le seul moyen de communication est l'utilisation des interfaces sans fil, sans l'aide

d'une infrastructure préexistante ou administration centralisée [17].

Page 32: Coopération des robots mobiles autonomes

Chapitre 2 : Les systèmes multi-robots

23

2.8.2.3 Les modes de communication dans les réseaux mobile ad hoc

Les échanges de données dans les réseaux mobiles utilisent les modes de communication

suivants [18] :

a) Le mode Unicast : Le terme unicast définit une connexion réseau point à point. On entend par

unicast, le fait de communiquer entre deux ordinateurs identifiés chacun par une adresse réseau

unique. Les paquets de données sont routés sur le réseau suivant l'adresse du destinataire, seul

le destinataire intercepte et décode le paquet qui lui est adressé.

b) Le mode Multicast (multipoint) : On entend par multicast, le fait de communiquer

Simultanément avec un groupe d'ordinateurs identifiés par une adresse spécifique (adresse de

groupe). Son avantage par rapport au mode classique unicast devient évident quand on veut

diffuser de la vidéo. Les paquets de données sont routés sur le réseau selon l'adresse des

destinataires encapsulée dans la trame transmise. Seuls les destinataires interceptent et décodent

les paquets qui leurs sont adressés.

c) Le mode Broadcast (la diffusion) : Le broadcast est un terme anglais définissant une diffusion

de données depuis une source unique à un ensemble de récepteurs. Contrairement à une

communication Point à Point, il est possible d'adresser des paquets de données à un ensemble

de machines d'un même réseau uniquement par des adresses spécifiques qui seront interceptées

par toutes les machines du réseau ou sous réseau.

Conclusion

Dans ce chapitre, nous avons présenté les notions de base des systèmes multi-robots. La

coopération des robots est l’aspect le plus important ici, dont plusieurs approches existent. L’approche

multi-agents issue de l’intelligence artificielle définie des notions et des mécanismes standards pour

modéliser les systèmes complexes et distribués sous forme des entités intelligentes qui coopère pour

accomplir une tâche commune.

Page 33: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

Page 34: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

25

Introduction

Les chapitres précédents ont portés sur l’étude des notions et des techniques de base facilitant

la conception et la mise en œuvre des robots mobiles en général et des systèmes multi-robots en

particulier. Dans ce chapitre, nous allons présenter une description détaillée des étapes de conception

et de réalisation de notre prototype. On commence par la présentation du projet et la modélisation du

système, puis le choix des composants utilisés, la réalisation et la démonstration du projet.

Présentation du projet

L’objectif de notre projet était d’étudier et d’implémenter le mécanisme de coopération au sein

d’un système multi-robots. Nous allons concevoir et réaliser un prototype d’un système de transport

coopératif des objets. Afin de démontrer les techniques de coopération, on prend le cas de deux robots

mobiles identiques permettant de transporter ensemble une pipe (un tuyau).

Les robots sont de type uni-cycle capables de se déplacer en parallèle dans un terrain qui

contient quelques obstacles. Afin de garder la pipe dans sa bonne position, les deux robots doit

coordonner leurs actions. En effet, l’évitement d’un obstacle par l’un des robots peut causer le

glissement puis la perte de la pipe.

Figure 3.1. Transport coopératif de pipe par deux robots mobiles [19].

Modélisation

La modélisation est la représentation d’un système par un autre, plus facile à appréhender. La

conception de notre système multi-robots nécessite la spécification de certains modèles permettant

de décrire le comportement individuel des robots ainsi que leur comportement coopératif dans une

évolution connue. Il s’agit donc du modèle du robot mobile et le modèle de coopération du système

multi-robots.

Page 35: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

26

Modèle du robot

On désigne par uni-cycle un robot actionné par deux roues indépendantes et possédant

éventuellement un certain nombre de roues folles assurant sa stabilité. Le schéma des robots de type

uni-cycle est donné à la figure 3.2. On y a omis les roues folles, qui n’interviennent pas dans la

cinématique, dans la mesure où elles ont été judicieusement placées.

Figure 3.2. Robot mobile de type uni-cycle. Figure 3.3. Centre instantané de rotation d’un robot uni-cycle.

Les roues motrices ayant même axe de rotation, le CIR du robot est un point de cet axe. Soit ρ

le rayon de courbure de la trajectoire du robot, c’est-à-dire la distance du CIR au point O’ (figure

3.3). Soit L l’entre-axe et ω la vitesse de rotation du robot autour du CIR. Alors les vitesses des roues

droite et gauche, respectivement notées Vd et Vg vérifient :

Vd = −r ϕ˙d = (ρ + L) ω ………………………. (1)

Vg = r ϕ˙g = (ρ − L) ω ……………………………(2)

Ce qui permet de déterminer ρ et ω à partir des vitesses des roues :

ρ = L (ϕ˙d − ϕ˙g /ϕ˙d + ϕ˙g) …………………(3)

ω = − r ((ϕ ˙d + ϕ ˙g)/ 2L) ……………………(4)

L’équation (3) permet de situer le CIR sur l’axe des roues. Par ailleurs ces équations expliquent

deux propriétés particulières du mouvement des robots de type uni-cycle :

Si ϕ˙ d = −ϕ˙ g, le robot se déplace en ligne droite ; si ϕ˙ d = ϕ˙g, alors le robot effectue une

rotation sur lui-même. L’utilisation de ces deux seuls modes de locomotion, bien que limitée, permet

de découpler les mouvements et de fournir une solution simple pour amener le robot d’une posture à

une autre. C’est sans doute là une des raisons du succès de ce type de robots. Pour élaborer une

stratégie plus fine de déplacement, il est cependant intéressant de savoir comment la posture du robot

est reliée à la commande de ses roues.

Θ˙ (autour de O’O). Il y a en effet équivalence entre les deux représentations. D’une part, on a :

V = vd + vg /2 = r (ϕ˙g − ϕ˙d)/ 2 ……………………(5)

Page 36: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

27

D’autre part, la vitesse de rotation du robot est égale à la vitesse de rotation autour du CIR :

ω = θ˙ = − r (ϕ˙d + ϕ˙g) /2L ………………………………………(6)

Conformément à l’équation (4). On montre que ces relations sont parfaitement inversibles et

qu’il y a ainsi équivalence entre les couples (ϕ ˙d, ϕ˙g) et (v, ω).

Modèle du système multi robots

Pour modéliser notre système nous avons choisi l’approche multi-agents. Cette approche est

très adaptée à ce type de problème caractérisé par sa complexité et nécessite un traitement distribué.

En effet la technologie Agent a été largement utilisée pour modéliser les systèmes complexes dans le

cadre de l’intelligence artificielle distribuée.

3.3.2.1 Description des robots

Un robot de notre système est une entité physique intelligente sous forme d’un agent réactif qui

agit dans son environnement et qui capable de communiquer directement, via l’envoi des messages,

avec les autres robots (agents) du système (figure 3.4). Cet agent possède ses propres ressources

(capteurs, actionneurs, source d’énergie,…etc.) et il est capable de percevoir partiellement son

environnement (position, vitesse, obstacles, …etc.). Il est doté aussi des compétences lui permettant

d’agir sur son environnement et d’accomplir des tâches simples (avancer, tourner, reculer, interpréter

un message…etc.).

Figure 3.4. Système multi-agents (multi-robots) dans son environnement.

3.3.2.2 Comportement des robots

En tant qu’un membre du système multi-robots, et en fonction des ressources, des compétences

et des communications, un robot peut mettre à jour ses connaissances et tend à satisfaire ses objectifs

personnels (éviter un obstacle, par exemple) et l’objectif global (tâche globale).

Le comportement individuel d’un robot est très simple, puisque c’est un agent réactif. Il s’agit

d’effectuer continuellement trois tâches :

Percevoir son l’environnement et recevoir des messages des autres robots,

Interpréter ces perceptions et ces messages,

Obstacle

La tâche

globale

Environnement

Communication

Robot 2 (agent 2) Robot 1 (agent 1)

Page 37: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

28

Déterminer puis effectuer les actions possibles.

Durant la réalisation de la tâche globale du système (transport d’un objet), les robots ont un

comportement coopératif. En conséquent, ils doivent coopérer, coordonner leurs actions et négocier

ensemble pour résoudre des situations de conflit (évitement coopératif des obstacles). Ainsi, un robot

doit communiquer directement avec les autres robots en échangeant de messages (envoi et réception).

Les robots doivent donc manipuler un langage commun (actes de langages : obstacle, avancer, reculer,

tourner à droite, tourner à gauche, ….etc.).

Le comportement d’un robot est représenté par l’organigramme de la figure 3.5 :

Figure 3.5. Organigramme du comportement d’un robot.

Envoi message

Répondre

Message reçu ?

Début

Eviter

Oui

Non

Non

Initialisation (capteur, moteur, module de communication)

Obstacle ?

Oui

Oui Tâche réalisée ?

Fin Non

Avancer

Page 38: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

29

Choix des composants

Le robot est constitué d’éléments assemblés et chargés sur un châssis basé sur deux roues

commandés par des moteurs et une roue libre pour assurer l’équilibre du robot.

Le robot est divisé en deux catégories de composants ; mécaniques et électroniques :

Composants mécaniques

3.4.1.1 Le châssis

Les pièces en plastique légères sont faites de différentes formes et couleurs, ont la flexibilité,

leur permettant de résister à des chocs limités et assemblent toutes les pièces avec des boulons. La

fabrication est très facile et ne nécessite ni temps ni efforts. Ils sont disponibles sur demande et varient

d'un robot à l'autre.

La structure du châssis choisie pour notre projet (figure 3.6) permet de spécifier le nombre de

roues à utiliser.

Figure 3.6. La caisse ou châsse

3.4.1.2 Les Roues

Les roues sont l’élément de base du mouvement du robot. Elles sont disponibles facilement et

sont fournies sous différentes formes et types. Ainsi, le choix des roues est en fonction du type du

terrain sur lequel le robot peut se déplacer facilement et pendant à long temps.

La figure 3.7 montre les deux types de roues choisis ; deux roues motrices et un roue libre.

Figure 3.7. Roue motrice en Caoutchouc (à gauche) et roue libre (à droite).

Page 39: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

30

Caractéristiques

Modèle: roue En Caoutchouc

Couleur: Jaune

Diamètre: 65mm

Diamètre intérieur 51.8mm

Largeur: 26.6mm

Diamètre de l'arbre du cadre intérieur droit: 13.8mm

Largeur de trou d'arbre: 3.66mm

Longueur de trou d'arbre: 5.3mm

3.4.1.3 Les Moteurs

Ce moteur de roue électrique à courant continu est idéal pour la robotique et les modèles de

véhicules. Il a un rapport d'engrenage de 1:48 et un couple maximal de 800g / cm à un minimum de

3V.

Figure 3.8. Moteur de roue électrique à courant continu

Caractéristiques

Tension de fonctionnement 3V-12V DC

Couple maximal 800g / cm max. À 3V

Rapport de transmission 1:48

Courant de charge 70mA (250mA max. à 3V)

Poids 29g

Dimensions : Longueur 65 mm, Largeur 37 mm, Hauteur 22 mm

Vitesse de rotation

En supposant que nous voulons que notre robot roule à une vitesse Vr = 1 m/s on calcule la

vitesse des moteurs par la formule [21] :

Tels que :

V m : la vitesse des moteurs

R : le rayon des roues

D : diamètre des roues

Page 40: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

31

Composants électroniques

3.4.2.1 Carte Arduino Uno

La carte Arduino repose sur un circuit intégré (un mini-ordinateur appelé également

microcontrôleur) associée à des entrées et sorties qui permettent à l'utilisateur de brancher différents

types d'éléments externes. Côté entrées, des capteurs qui collectent des informations sur leur

environnement comme la variation de température via une sonde thermique, le mouvement via un

détecteur de présence ou un accéléromètre, le contact via un bouton-poussoir, etc. Côté sorties, des

actionneurs qui agissent sur le monde physique telle une petite lampe qui produit de la lumière, un

moteur qui actionne un bras articulé, etc.

Comme le logiciel Arduino, le circuit électronique de cette plaquette est libre et ses plans sont

disponibles sur internet. On peut donc les étudier et créer des dérivés. Plusieurs constructeurs

proposent ainsi différents modèles de circuits électroniques programmables et utilisables avec le

logiciel Arduino. Il existe plusieurs variétés de cartes Arduino.

La carte Arduino Uno est une carte microcontrôleur basée sur l’ATmega328. Elle est dotée de

14 broches Entrées/Sorties numériques dont 6 en PWM et 6 configurables en entrées analogiques,

d'un oscillateur à quartz 16 MHz, d'une connexion USB, d'un jack d'alimentation, d'un support ICSP

et d'un bouton reset. La carte Arduino Uno est livrée prête à fonctionner, il suffit de la connecter à un

ordinateur par le câble USB et de l'alimenter à l'aide d'un adaptateur USB ou de piles.

La figure ci-dessous montre les éléments qui composent la carte Arduino uno :

Figure 3.9. La carte Arduino Uno

Page 41: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

32

Caractéristiques

Microcontrôleur : ATmega328

Tension de fonctionnement : 5V

Tension d'alimentation : 7 à 12V

Mémoire flash : 32ko dont 0.5ko pour le boot loader

SRAM : 2ko

EEPROM : 1ko

Fréquence d'horloge : 16MHz

Entrées / sorties numériques : 14 dont 6 PWM/ 40mA max. par sortie

Entrées analogiques : 6

Courant de sortie : 3.3V/50mA

Dimension : 69x54mm

Programmation

Le logiciel de programmation des modules Arduino est une application Java, libre et

multiplateforme, servant d'éditeur de code et de compilateur, et qui peut transférer le firmware et le

programme au travers de la liaison série (RS-232, Bluetooth ou USB selon le module). Le langage de

programmation utilisé est le C++, compilé avec avr-g++, et lié à la bibliothèque de développement

Arduino, permettant l'utilisation de la carte et de ses entrées/sorties. La mise en place de ce langage

standard rend aisé le développement de programmes sur les plates-formes Arduino.

3.4.2.2 Module de communication sans fil - NRF24L01 [22]

Le module émetteur-récepteur NRF24L01 utilise la bande 2,4 GHz et peut fonctionner à des

vitesses de transmission allant de 250 kbps à 2 Mbps (figure 3.10). Si elle est utilisée dans un espace

ouvert et avec une vitesse de transmission inférieure, sa portée peut atteindre jusqu'à 100 mètres.

Figure 3.10. Module émetteur-récepteur NRF24L01

Le module peut utiliser 125 canaux différents, ce qui permet d’avoir un réseau de 125 modems

fonctionnant indépendamment à un endroit. Chaque canal peut avoir jusqu'à 6 adresses ou chaque

unité peut communiquer avec 6 autres unités simultanément (figure 3.11).

La consommation électrique de ce module est très faible ; d’environ 12 mA au cours de la

transmission. La tension de fonctionnement du module est comprise entre 1,9 et 3,6 V, mais l’aspect

positif est que les autres broches tolèrent une logique de 5 V, ce qui permet de le connecter facilement

à un Arduino sans passer par aucun convertisseur.

Page 42: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

33

Figure 3.11. Communiquer avec jusqu'à 6 autres unités en même temps.

3.4.2.3 Motors driver Pont-H L298N [23]

Ce break out board est un Double Pont-H destiné au contrôle de moteur continu (H-Bridge

Motor Driver basé sur le composant L298N conçu spécifiquement pour ce cas d'utilisation. C'est un

module extrêmement utile pour le contrôle de robots et ensembles mécanisés.

Il peut contrôler deux moteurs courant continu ou un moteur pas-à-pas 4 fils 2 phases. Il est

conçu pour supporter des tensions plus élevées, des courants importants tout en proposant une

commande logique TTL (basse tension, courant faibles, idéal donc pour un microcontrôleur). Il peut

piloter des charges inductives comme des relais, solénoïdes, moteurs continus et moteurs pas-à-pas.

Les deux types de moteurs peuvent être contrôlés aussi bien en vitesse (PWM) qu'en direction. Il

s'agit d'un module prêt à l'emploi (figure 3.12).

Figure 3.12. Le composant Pont-H L298N

Page 43: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

34

Caractéristiques

Toutes les sorties en puissance sont protégées par des diodes anti-retour

Un dissipateur (pour dissiper la chaleur en cas de forte charge)

Un sélecteur pour sélectionner la source d'alimentation

Sortie pour 2 moteurs continu/ 1 moteur pas-à-pas (4 bobines, deux phases)

Indicateur LED pour sens de rotation moteur

Indicateur LED pour alimentation 5V

Composant de contrôle en puissance: L298N

Alimentation de la charge: de +6V à +35V

Courant Max (en pointe): 2A

Tension de commande logique Vss: de +5 à +7V (alimentation interne de +5V)

Courant de commande logique: de 0 à 36mA

Tensions pour contrôle du sens: Low -0.3V~1.5V, high: 2.3V~Vss

Tensions pour contrôle « Enable »: Low -0.3V~1.5V, high: 2.3V~Vss

Puissance Max: 25W (Température 75 ℃)

Température de fonctionnement: de -25℃ à +130℃

Dimensions: 60mm x 54mm

Poids: ~48g

3.4.2.4 Capteur à Ultrason HC-SR04 [24]

Les capteurs à ultrasons sont beaucoup utilisés sur les robots. Ils permettent de détecter les

obstacles à distance et on peut ainsi demander au robot de les éviter (figure 3.13).

Figure 3.13. Capteur à Ultrason HC-SR04

Caractéristiques

Tension de fonctionnement: + 5V

Distance de mesure théorique: 2cm à 450cm

Distance de mesure pratique: 2cm à 80cm

Précision: 3mm

Angle de mesure couvert: <15 °

Courant de fonctionnement: <15mA

Fréquence de fonctionnement: 40Hz

Page 44: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

35

Fonctionnement

Comme le montre la figure 3.14, le capteur Ultrason HC-SR04 est un module à 4 broches, dont

les noms sont respectivement Vcc, Trigger, Echo et Ground. Ce capteur est un capteur très populaire

utilisé dans de nombreuses applications où la mesure de distance ou la détection d'objets sont

nécessaires. Le module a deux yeux qui forment l'émetteur et le récepteur à ultrasons. Le capteur

fonctionne avec d’une manière simple. L'émetteur à ultrasons émet une onde ultrasonore. Cette onde

se propage dans l'air. Lorsqu'elle se fait objecter par un matériau quelconque, elle est renvoyée vers

le capteur. Cette onde réfléchie est observée par le module de réception à ultrasons (figure 3.14).

Donc, l'équation de base pour calculer la distance est la suivante :

Distance = vitesse onde × temps / 2 tel que : vitesse onde = 330 m / s.

Figure 3.14. Comment fonctionnent les ondes sonores

Partie matérielle

Assemblage de la partie mécanique

Après avoir terminé l'assemblage du châssis avec les deux moteurs, nous ajoutons les roues

arrière et la roue avant (tableau 3.2) pour obtenir la forme que montre la figure 3.15.

La pièce La pièce rèalisée

La caisse ou châssis (1 châssis)

Moteur de roue électrique à courant continu (2 moteurs)

Roue libre (1 roue)

Page 45: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

36

Roues arrière reliées au moteur (2 roues)

Porte-moteur (4 port)

Vis pour serrer les roues avant (2 vis)

Vis pour serrer les roues arrière (4 vis)

Tableau 3.1. Pièces mécaniques

Figure 3.15. Assemblage du châssis avec les 2 moteurs avec les roues

Assemblage de la partie électronique

La pièce La pièce rèalisée

Arduino uno

Motors Driver LM298

Page 46: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

37

Capteur ultrason HC-SR04

Module de Communication sans fil NRF24L01

Fils et câbles de connexion

Piles rechargeables 3,7 volts

Porte pile

Bouton de démarrage

Tableau 3.2. Composants électroniques

Les figures ci-dessous montrent comment brancher chacun des composants avec la carte

Arduino suivant les indications des tableaux données.

Figure 3.16. La connexion entre la broche du capteur ultrason avec Arduino uno

Les broches de Arduino uno Les broches de capteur ultrason

5V Vcc

A0 Trig

A1 Echo

Gnd Gnd

Tableau 3.3. Connexion de l’Arduino uno avec le capteur ultrason

Page 47: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

38

Figure 3.17. La connexion entre la broche du LM298 Motor Driver avec Arduino uno

Les broches de l’Arduino uno Les broches de L298N Motor Driver

2 IN1

3 IN2

4 IN3

5 IN4

Gnd Gnd

Vin +12V

Tableau 3.4. Connexion entre l’Arduino uno et L298N Motors Driver

Figure 3.18. Connexion de la carte Arduino uno avec le NRF24L01

Les broches d’Arduino uno Les broche de sans fil - NRF24L01

7 CE

8 CSN

11 MOSI

12 MISO

13 SCK

Gnd Gnd

3.3V Vcc

Tableau 3.5. Connexion entre l’Arduino uno et le NRF24L01

Page 48: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

39

Figure 3.019. Branchement de la batterie et du bouton de démarrage avec la carte Arduino uno.

La figure ci-dessous montre l’assemblage de tous les composants du tableau 3.3, qui constituent

la partie électronique du robot.

Figure 3.20. Assemblage de tous les composants électroniques.

Apres l’assemblage final de la partie mécanique et la partie électronique, nous obtenons un

robot prêt à être programmé (figure ci-dessous).

Figure 3.21. Assemblage final du robot.

Page 49: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

40

Partie logicielle

L’objectif de la partie informatique est d’implémenter les programmes permettant par la suite

au robot de pouvoir agir comme selon l’organigramme décrit par la figure 3.5. Vu que les deux robots

de notre systèmes sont identiques, le programme du premier robot est le même que dans le deuxième

robot.

Plateforme de développement

L’environnement de développement approprié pour mener à bien le processus de

programmation est le logiciel Arduino disponible gratuitement sur Internet (figure 3.22).

Pour faire de la programmation, nous avons besoin de trois éléments importants et ils

apparaissent comme suit :

Arduino uno, la carte électronique

Câble USB

Le logiciel de programmation Arduino

Figure 3.22. Environnement de programmation Arduino

Programmation des robots

La partie de logicielle du robot (agent) est un programme Arduino qui doit être structuré en

trois grandes parties, exécutées successivement :

a) Inclusion des librairies externes et définition des variables de l’agent (figure 3.22).

Page 50: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

41

Figure 3.23. Déclaration des librairies externes et initialisation des variables

b) Initialisation et configuration de l’agent : la fonction Setup

Comme le montre la figure 3.24, cette étape est destinée à initialiser et configurer les éléments

connectés avec la carte arduino (capteur, moteurs, module de communication, …etc.).

Figure 3.24. Fonction Setup.

c) La boucle représentant le comportement de l’agent : la fonction Loop

Cette partie est une boucle infinie qui contient les instructions implémentant le comportement

du robot et qui s’exécute continuellement. Elle est organisée en plusieurs sous-fonctions nécessaires

pour accomplir les différentes sous taches ou les savoirs faire de l’agent (avancer, reculer, calculer

distance, tourner gauche, tourner droite, envoyer message, recevoir message, …etc).

Les figures ci-dessous décrivent l’implémentation des fonctions les plus importantes.

Calcul de la distance avec les obstacles

Page 51: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

42

Figure 3.25. Fonction de mesure de distance

Envoi de messages

Figure 3.26. Fonction d’envoi de message

Réception de messages

Figure 3.27. Fonction de réception message

Chargement du programme

Une fois le programme compilé correctement, nous connectons les deux robots à l’ordinateur

pour charger le programme sur la carte Arduino (figure 3.28).

Page 52: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

43

Figure 3.28. Chargement du programme

Résultats et discussion

Les résultats sont les fruits de notre travail et déterminent si l’objectif pédagogique initial est

achevé. Dans notre cas les résultats obtenus sont beaucoup plus qualitatifs et qui peuvent être examiné

par le bon fonctionnement du comportement individuel et coopératif des robots.

Durant les démonstrations de notre système, nous avons obtenu des résultats intermédiaires

imprécis et parfois erronés (comportement imprévu des robots, échec d’envoi et de réception de

messages ou messages mal interprétés par les robots, …etc.). Ces problèmes ont été résolus, ce qui

nous a permet d’avoir un comportement logique des robots ; déplacement correcte, envoi et réception

des messages en temps réel et donc une réaction rapide par l’évitement collectif des obstacles.

Cependant, un problème lié à l’absence d’un mécanisme de calcul de position reste à résoudre.

En effet, l’ignorance de la position et le glissement du terrain influent négativement sur la

coordination des actions des robots et par conséquent sur l’équilibre de pipe.

Les figues ci-dessous montrent les différentes situations possibles que les robots peuvent

rencontrer lors de l’accomplissement de la tâche globale du système (transport de pipe).

Éviter les obstacles

Cette situation est très importante ; le robot confirme à chaque fois qu'il n'y a pas d'obstacle,

puis continue à chercher et à terminer sa mission.

Page 53: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

44

Figure 3.29. Les robots sont dans un état de blocage devant un obstacle

Recevoir, interpréter et envoyer des messages

Cette situation montre la communication (envoyer et recevoir des messages) entre les deux

robots. Le premier robot doit informer le deuxième de sa situation actuelle afin de trouver une solution

appropriée et une décision commune entre eux.

Figure 3.30. Un robot rencontre un obstacle et doit informer le deuxième avant de l’éviter.

Page 54: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

45

Transport de pipe

Les figures ci-dessous montrent le transport coopératif de pipe. Les robots communiquent pour

connaitre la situation globale du système et résoudre donc les problèmes rencontrés via la négociation.

Figure 3.31. Les robots en déplacement lors du transport de pipe.

Figure 3.32. Un robot devant un obstacle lors du transport de pipe.

Page 55: Coopération des robots mobiles autonomes

Chapitre 3 : Conception et réalisation du prototype

46

Figure 3.33. Evitement coopératif des obstacles.

Conclusion

Ce chapitre a été consacré à la conception et la mise en œuvre deux robots mobiles de type uni-

cycle qui coopèrent pour transporter une pipe. La démonstration de ce prototype a montré que le

processus de coopération est très complexe et nécessite de résoudre les différentes situations de conflit

via les mécanismes de coordination d’action et de communication par les robots.

Page 56: Coopération des robots mobiles autonomes

Conclusion générale

La robotique peut être définie comme l'ensemble des techniques et études tendant à concevoir

des systèmes mécaniques, informatiques ou mixtes, capables de se substituer à l'homme dans ses

fonctions motrices, sensorielles et intellectuelles.

En particulier, la robotique mobile coopérative est un domaine très actif sur le plan recherche

que sur le plan industriel. La difficulté de travailler sur ce domaine réside dans son aspect

pluridisciplinaire d’une part et distribué d’autre part. En effet, les systèmes multi-robots nécessitent

des techniques très avancées d’intelligence artificielle.

Récemment, de nouvelles plateformes sont apparues pour renforcer le développement des

véhicules autonomes à savoir Arduino, RaspberryPi, …etc. Ces plateformes ne facilitent pas

seulement la conception de la partie électronique du robot, mais aussi sa programmation. Ainsi, nous

avons profité des atouts offerts par la plateforme Arduino et les modules compatibles pour mettre en

œuvre deux robots mobiles à roues de type uni-cycle qui coopèrent pour transporter un objet. Les

robots sont basés sur l’approche multi-agents permettant de modéliser le comportement de chaque

robot comme une entité intelligente et qui facilite le mécanisme de coopération via la coordination

des actions et la communication entre robots.

Vu l’aspect pluridisciplinaire de notre thème qui demande d’avoir beaucoup de connaissances

issues de plusieurs domaines (mécanique, électronique, informatique, ...etc), plusieurs problèmes ont

été rencontrés lors de la conception et la réalisation de notre projet. Cependant, le but de ce travail

était très bénéfique car l’implémentation nous a permis de lier théorie et pratique et de découvrir de

nouveaux outils matériels et logiciels pour la robotique.

A la lumière des résultats obtenus, on peut conclure que le but initial de ce travail est atteint,

car les ces résultats sont acceptables. Toutefois, de nombreuses actions peuvent faire suite à ce travail

dans le but de d’améliorer le comportement des robots à travers les points suivants :

- Implémenter un mécanisme de calcul de position ;

- Améliorer le mécanisme de négociation des robots ;

- Améliorer la communication à travers la conception d’une ontologie utilisée par les robots ;

- Augmenter le nombre des robots du système afin de résoudre des problèmes plus complexes.

Page 57: Coopération des robots mobiles autonomes

Références bibliographiques

[1] Lemond, J, P., « La Robotique Mobile », Editions Hermès, 2001.

[2] Sutton, R, S., Barto, A, G., « Reinforcement Learning: An Introduction », MIT Press, Cambridge,

MA, 1998.

[3] Bayle, B., « Robotique Mobile », école Nationale Supérieure de Physique de Strasbourg,

Université Louis Pasteur, 2007

[4] Belkhadria Khemisti, « Commande d’un Robot Mobile par Réseaux de Neurones Artificiels »,

Mémoire en vue de l'obtention du diplôme de magister en électronique, Université El Hadj

Lakhdar Batna

[5] Shuzhi S. G., Lewis F. L., « Autonomous Mobile Robots, Sensing, Control, Decision, Making

and Applications », Taylor and Francis Group, 2006.

[6] Filliat D., « Robotique Mobile », Cours à l'école Nationale Supérieur des Techniques Avancées

ENSTA, 2004.

[7] Laurin E., « Système Intelligent d'Assistance à la Perception dans la Conduite de Véhicule »,

Thèse de Doctorat, Université de Sherbrooke, 2000.

[8] Beaudry E., « Planification de tâches pour un robot mobile autonome », Faculté des sciences,

Université de Sherbrooke, Canada, 2006

[9] Large F., « Navigation autonome d’un robot mobile en environnement dynamique et incertain »,

Thèse de doctorat, Institut National de recherche en informatique et en automatique, Université

de Savoie, 2003.

[10] Lounis Adouane, « Architectures de Contrôle Comportementales et Réactives pour la

Coopération d'un groupe de Robots Mobiles », PhD thesis, Université de Franche-Comté, 2005.

[11] Julien Beaudry, « Machine décisionnelle pour systèmes multi-robots Coopératifs », PhD thesis,

Ecole polytechnique, 2006.

[12] Brian P Gerkey and Maja J Matari, « Sold!: Auction methods for multi robot Coordination »,

Robotics and Automation, IEEE Transactions on, 2002.

[13] Van Tuan Le et al., « Coopération dans les systèmes multi-robots : contribution au maintien de

la connectivité et à l'allocation dynamique de rôles », PhD thesis, Caen, 2010.

[14] http://dbenmerzoug.e-monsite.com/medias/files/inta-chapitre4.pdf.

[15] Jérémie DEFAYE, « Les différents types de réseaux sans fil », 2006.

[16] Charles E Perkins, « Ad hoc networking », Addison-Wesley Professional, 2008.

[17] Kamal Beydoun, « Conception d'un protocole de routage hiérarchique pour Les réseaux de

capteurs », Université de Franche-Comté, 2009.

[18] Rabah Meraihi, « Gestion de la qualité de service et contrôle de topologie dans les réseaux ad

hoc », PhD thesis, Paris, ENST, 2005.

Page 58: Coopération des robots mobiles autonomes

Références bibliographiques

49

[19] Aiguo Ming et al, « Cooperative Operation of Two Mobile Robots », Springer, 1996.

[20] http://eavr.u-strasbg.fr/~bernard/education/3a_robmob/3a_robmob_poly.pdf

[21] https://www.wiltronics.com.au/product/10137/yellow-motor-3-12vdc-2-flats-shaft/

[22] https://howtomechatronics.com/tutorials/arduino/arduino-wireless-communication-nrf24l01-

tutorial/

[23] https://wiki.mchobby.be/index.php?title=Pont-H_L298N

[24] https://components101.com/ultrasonic-sensor-working-pinout-datasheet

[25] https://wiki.mdl29.net/lib/exe/fetch.php?media=elec:arduino_dossier_ressource.pdf

Page 59: Coopération des robots mobiles autonomes

Résumé

Les systèmes multi-robots est une technique dérivée des systèmes coopératifs existants dans

nos vies, où nous observons leur présence dans la nature chez les animaux (colonie de fourmis,

royaume des abeilles, loups ...). Le regroupement de robots au sein d'un même système est aujourd'hui

possible et d'un intérêt majeur. Il s’agit de produire des robots indépendants capables d'effectuer des

sous-tâches simples et de collaborer pour effectuer une tâche complexe. Le but de ce projet est de

construire un système multi-robots pour le transport coopératif d’un objet selon une approche multi-

agents. Le prototype réalisé est constitué de deux robots mobiles autonomes basé sur la plateforme

Arduino capables de communiquer via des modules radio sans fils.

Mots-clés : Systèmes multi-robots, Systèmes multi-agents, Coopération, Communication, Arduino.

Abstract

Multi-robot systems are a technique derived from the cooperative systems that exist in our lives,

where we observe their presence in nature at animals (ant and bees colonies, wolves...). The grouping

of robots within a same system is now possible and of major interest. It is about producing

independent robots capable of performing simple subtasks and collaborating to perform a complex

task. The aim of this project is to build a multi-robot system for the cooperative transport of an object

using a multi-agent approach. The prototype consists of two autonomous mobile robots based on the

Arduino platform capable of communicating via wireless radio modules.

Keywords : Multi-robot systems, Multiagent systems, Cooperation, Communication, Arduino.

ملخص

تقنية مشتقة من الأنظمة التعاونية الموجودة في حياتنا، حيث نلاحظ وجودها يمتعدد الروبوتات هالأنظمة

أصبح تجميع الروبوتات داخل نفس لقد الحيوانات )مستعمرة النمل، مملكة النحل، الذئاب ...(. لدىطبيعة في ال

. يتعلق الأمر بإنتاج روبوتات مستقلة يمكنها أداء مهام فرعية بسيطة والتعاون بالغةالنظام ممكناً وأصبح ذا أهمية

غرضلهو بناء نظام متعدد الروبوتات للنقل التعاوني لتنفيذ مهمة معقدة. الهدف من هذا المشروعفي نفس الوقت

صة على من اعتمادامستقلين ومن روبوتين متحركين المنجز. يتكون النموذج مقاربة تعدد الأعوانباستخدام

لاسلكية. راديوالتواصل عبر وحدات كما يمكنهما أردوينو

ردوينو.أعوان، التعاون، التواصل، نظمة متعدد الروبوتات، الأنظمة متعددة الأالأ :كلمات مفتاحية