Vous êtes sur la page 1sur 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


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.

‫ملخص‬
‫ حيث نالحظ وجودها‬،‫األنظمة متعدد الروبوتات هي تقنية مشتقة من األنظمة التعاونية الموجودة في حياتنا‬
‫ لقد أصبح تجميع الروبوتات داخل نفس‬.)... ‫ الذئاب‬،‫ مملكة النحل‬،‫في الطبيعة لدى الحيوانات (مستعمرة النمل‬
‫ يتعلق األمر بإنتاج روبوتات مستقلة يمكنها أداء مهام فرعية بسيطة والتعاون‬.‫النظام ممكنًا وأصبح ذا أهمية بالغة‬
،‫ الهدف من هذا المشروع هو بناء نظام متعدد الروبوتات للنقل التعاوني لشيء‬.‫في نفس الوقت لتنفيذ مهمة معقدة‬
‫ يتكون النموذج المنجز من روبوتين متحركين ومستقلين اعتمادا على منصة‬.‫باستخدام مقاربة تعدد األعوان‬
.‫أردوينو كما يمكنهما التواصل عبر وحدات راديو السلكية‬
.‫ أردوينو‬،‫ التواصل‬،‫ التعاون‬،‫ األنظمة متعددة األعوان‬،‫ األنظمة متعدد الروبوتات‬:‫كلمات مفتاحية‬

i
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

ii
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
Table des matières

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

iv
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

v
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
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

vii
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

viii
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.
Chapitre 1 : Les robots mobiles autonomes
Chapitre 1 : Les robots mobiles autonomes

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.

3
Chapitre 1 : Les robots mobiles autonomes

 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

4
Chapitre 1 : Les robots mobiles autonomes

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.

5
Chapitre 1 : Les robots mobiles autonomes

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.

6
Chapitre 1 : Les robots mobiles autonomes

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.

7
Chapitre 1 : Les robots mobiles autonomes

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.

8
Chapitre 1 : Les robots mobiles autonomes

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.

9
Chapitre 1 : Les robots mobiles autonomes

Type du robot à
Avantages Inconvénients
roues
* Stable
Uni-cycle * Rotation sur soi-même
* Non-holonome
* Complexité mécanique faible
* Non-holonome
Tricycle *Complexité mécanique * Peu stable
modérée * Pas de rotation sur soi-même
* Stable
* Non-holonome
Voiture * Complexité mécanique
* Pas de rotation sur soi- même
modérée
* Holonome
* Complexité mécanique
Omnidirectionnel * Stable
importante
* Rotation sur soi-même

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.

10
Chapitre 1 : Les robots mobiles autonomes

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

11
Chapitre 1 : Les robots mobiles autonomes

(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

12
Chapitre 1 : Les robots mobiles autonomes

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.

13
Chapitre 1 : Les robots mobiles autonomes

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.

14
Chapitre 2 : Les systèmes multi-robots
Chapitre 2 : Les systèmes multi-robots

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
surveillance de sites, manipulation de matériaux radioactifs,
Industrie nucléaire
démantèlement de centrales
neutralisation d’activité terroriste, déminage, pose
Sécurité civile
d’explosif, surveillance de munitions
surveillance, patrouille, pose d’explosifs, manipulation de
Militaire
munitions
Chimique surveillance de site, manipulation de matériaux toxiques
assistance d’urgence, aide aux handicapés physiques, aux
Médecine
aveugles

16
Chapitre 2 : Les systèmes multi-robots

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


Lutte contre l’incendie
suppression de flammes
pose de câbles, recherche de nodules, recherche de navires
Sous-marine
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.

17
Chapitre 2 : Les systèmes multi-robots

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

18
Chapitre 2 : Les systèmes multi-robots

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
19
Chapitre 2 : Les systèmes multi-robots

 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,

20
Chapitre 2 : Les systèmes multi-robots

 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.
21
Chapitre 2 : Les systèmes multi-robots

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

22
Chapitre 2 : Les systèmes multi-robots

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.

23
Chapitre 3 : Conception et réalisation du prototype
Chapitre 3 : Conception et réalisation du prototype

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.

25
Chapitre 3 : Conception et réalisation du prototype

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)

26
Chapitre 3 : Conception et réalisation du prototype

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

Environnement

Obstacle

La tâche
globale

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

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,

27
Chapitre 3 : Conception et réalisation du prototype

 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 :

Début

Initialisation (capteur, moteur, module de communication)

Oui
Obstacle ?

Envoi message
Non

Eviter

Oui
Message reçu ?

Répondre
Non

Tâche réalisée ? Oui

Non
Fin

Avancer

Figure 3.5. Organigramme du comportement d’un robot.

28
Chapitre 3 : Conception et réalisation du prototype

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

29
Chapitre 3 : Conception et réalisation du prototype

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

30
Chapitre 3 : Conception et réalisation du prototype

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

31
Chapitre 3 : Conception et réalisation du prototype

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.

32
Chapitre 3 : Conception et réalisation du prototype

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

33
Chapitre 3 : Conception et réalisation du prototype

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

34
Chapitre 3 : Conception et réalisation du prototype

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)

35
Chapitre 3 : Conception et réalisation du prototype

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

36
Chapitre 3 : Conception et réalisation du prototype

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

37
Chapitre 3 : Conception et réalisation du prototype

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

38
Chapitre 3 : Conception et réalisation du prototype

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.

39
Chapitre 3 : Conception et réalisation du prototype

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

40
Chapitre 3 : Conception et réalisation du prototype

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

41
Chapitre 3 : Conception et réalisation du prototype

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

42
Chapitre 3 : Conception et réalisation du prototype

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.

43
Chapitre 3 : Conception et réalisation du prototype

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.

44
Chapitre 3 : Conception et réalisation du prototype

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.

45
Chapitre 3 : Conception et réalisation du prototype

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.

46
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.
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.
Références bibliographiques

[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

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

‫ملخص‬
‫ حيث نالحظ وجودها‬،‫األنظمة متعدد الروبوتات هي تقنية مشتقة من األنظمة التعاونية الموجودة في حياتنا‬
‫ لقد أصبح تجميع الروبوتات داخل نفس‬.)... ‫ الذئاب‬،‫ مملكة النحل‬،‫في الطبيعة لدى الحيوانات (مستعمرة النمل‬
‫ يتعلق األمر بإنتاج روبوتات مستقلة يمكنها أداء مهام فرعية بسيطة والتعاون‬.‫النظام ممكنًا وأصبح ذا أهمية بالغة‬
‫ الهدف من هذا المشروع هو بناء نظام متعدد الروبوتات للنقل التعاوني لغرض‬.‫في نفس الوقت لتنفيذ مهمة معقدة‬
‫ يتكون النموذج المنجز من روبوتين متحركين ومستقلين اعتمادا على منصة‬.‫باستخدام مقاربة تعدد األعوان‬
.‫أردوينو كما يمكنهما التواصل عبر وحدات راديو السلكية‬
.‫ أردوينو‬،‫ التواصل‬،‫ التعاون‬،‫ األنظمة متعددة األعوان‬،‫ األنظمة متعدد الروبوتات‬:‫كلمات مفتاحية‬

Vous aimerez peut-être aussi