Académique Documents
Professionnel Documents
Culture Documents
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
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
Conclusion ..............................................................................................................................23
Chapitre 3 : Conception et réalisation du prototype ....................................................................24
Introduction ............................................................................................................................25
Présentation du projet .............................................................................................................25
Modélisation ...........................................................................................................................25
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.
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.
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].
L’ensemble des problèmes particuliers liés à la conception de tels robots sont [2] :
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
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 ».
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
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...
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.
6
Chapitre 1 : Les robots mobiles autonomes
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
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é.
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
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
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].
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.
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.
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.
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
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].
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.
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
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.
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.
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.
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].
Perception de l’environnement
Interprétation de ces perceptions
19
Chapitre 2 : Les systèmes multi-robots
Types d’agents
On distingue deux types d’agents selon la complexité de leurs architectures ; agent réactif et
agent cognitif.
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.
22
Chapitre 2 : Les systèmes multi-robots
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 :
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, ω).
Environnement
Obstacle
La tâche
globale
Communication
Robot 1 (agent 1) Robot 2 (agent 2)
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
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
Oui
Obstacle ?
Envoi message
Non
Eviter
Oui
Message reçu ?
Répondre
Non
Non
Fin
Avancer
28
Chapitre 3 : Conception et réalisation du prototype
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.
29
Chapitre 3 : Conception et réalisation du prototype
Caractéristiques
Caractéristiques
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 :
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.
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
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).
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).
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.
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.
35
Chapitre 3 : Conception et réalisation du prototype
Porte-moteur (4 port)
Figure 3.15. Assemblage du châssis avec les 2 moteurs avec les roues
Arduino uno
36
Chapitre 3 : Conception et réalisation du prototype
Porte pile
Bouton de démarrage
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
37
Chapitre 3 : Conception et réalisation du prototype
Figure 3.17. La connexion entre la broche du LM298 Motor Driver avec Arduino uno
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.
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 :
40
Chapitre 3 : Conception et réalisation du prototype
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.).
41
Chapitre 3 : Conception et réalisation du prototype
Envoi de messages
Réception de messages
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
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).
43
Chapitre 3 : Conception et réalisation du prototype
Figure 3.29. Les robots sont dans un état de blocage devant un obstacle
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.
45
Chapitre 3 : Conception et réalisation du prototype
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 ;
[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.
[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.
ملخص
حيث نالحظ وجودها،األنظمة متعدد الروبوتات هي تقنية مشتقة من األنظمة التعاونية الموجودة في حياتنا
لقد أصبح تجميع الروبوتات داخل نفس.)... الذئاب، مملكة النحل،في الطبيعة لدى الحيوانات (مستعمرة النمل
يتعلق األمر بإنتاج روبوتات مستقلة يمكنها أداء مهام فرعية بسيطة والتعاون.النظام ممكنًا وأصبح ذا أهمية بالغة
الهدف من هذا المشروع هو بناء نظام متعدد الروبوتات للنقل التعاوني لغرض.في نفس الوقت لتنفيذ مهمة معقدة
يتكون النموذج المنجز من روبوتين متحركين ومستقلين اعتمادا على منصة.باستخدام مقاربة تعدد األعوان
.أردوينو كما يمكنهما التواصل عبر وحدات راديو السلكية
. أردوينو، التواصل، التعاون، األنظمة متعددة األعوان، األنظمة متعدد الروبوتات:كلمات مفتاحية