Académique Documents
Professionnel Documents
Culture Documents
i
3. Caméra IP (ou Caméra WIFI) ........................................................................................................... 15
3.1. Les adresses IP : ........................................................................................................................ 16
3.2. Les protocoles de transport destinés à la vidéo sur IP :................................................................ 16
3.3. Les protocoles TCP/IP et les ports utilisés dans le cadre de la vidéo sur IP .................................... 16
3.4. Modes de transmission des données ......................................................................................... 16
4. Routeur wifi .................................................................................................................................... 17
4.1. Les différentes normes Wifi ....................................................................................................... 17
4.2. La technologie Wifi IEEE 802.11.b .............................................................................................. 18
5. Module L298N ................................................................................................................................ 18
6. Moteurs à courant continu .............................................................................................................. 18
Chapitre3 Environnement logiciel ............................................................................................................ 20
Introduction........................................................................................................................................... 20
I. Environnement logiciel......................................................................................................................... 20
1. Android....................................................................................................................................... 20
2. App Inventor pour Android .............................................................................................................. 21
3. Arduino .......................................................................................................................................... 22
3.1. Présentation de l’Arduino.......................................................................................................... 22
3.2. Fenêtre générale de l’application Arduino .................................................................................. 23
3.3. Programmation avec Arduino .................................................................................................... 24
3.4. Les fonctions sous Arduino ........................................................................................................ 25
II. Mise en place du projet....................................................................................................................... 26
1. Interface Android : .......................................................................................................................... 26
1.1. Connexion à la carte Arduino ..................................................................................................... 27
1.2. Connexion à la caméra IP........................................................................................................... 28
1.3. Contrôle du robot :................................................................................................................... 28
1.4. Contrôle de la vitesse du mouvement: ....................................................................................... 29
2. Partie Arduino : ........................................................................................................................... 29
Conclusion ............................................................................................................................................. 34
Conclusion générale................................................................................................................................ 35
Annexe .................................................................................................................................................. 36
Bibliographie .......................................................................................................................................... 38
ii
Liste des figures
Figure 1 : Bra Manipulateur ...................................................................................................................... 3
Figure 2 : Robots volants........................................................................................................................... 5
Figure 3 : Robot Marin.............................................................................................................................. 5
Figure 4 : Robots à pattes .......................................................................................................................... 6
Figure 5 : Robots à chenilles...................................................................................................................... 7
Figure 6 : Robots à roues........................................................................................................................... 8
Figure 7 : Relation entre application androïde et robot via wifi .................................................................. 10
Figure 8 : La carte Arduino UNO............................................................................................................. 13
Figure 9 : La portée des réseaux en fonction du débit ................................................................................ 13
Figure 10 : Périphériques informatiques Bluetooth .................................................................................... 14
Figure 11 : Usage mobile de Bluetooth..................................................................................................... 15
Figure 12 : Module Bluetooth .................................................................................................................. 15
Figure 13 : Caméra IP ............................................................................................................................. 17
Figure 14 : Schéma interne d’un moteur à courant continu en rotation ........................................................ 19
Figure 15 : interface de « App Inventor » ................................................................................................. 22
Figure 16 : Programmation avec « App Inventor » .................................................................................... 22
Figure 17 : Fenêtre générale de l’application Arduino ............................................................................... 24
Figure 18 : Structure d’un programme Arduino......................................................................................... 25
Figure 19 : Interface de l’application sur Mit App Inventor........................................................................ 27
Figure 20 : bloc du programme décrivant comment se fait la connexion à la carte Arduino .......................... 27
Figure 21 : Figure de bloc de URL de la camera IP ................................................................................... 28
Figure 22 : Message «forward »............................................................................................................... 29
Figure 23 : Message «première » vitesse .................................................................................................. 29
Figure 24 : Sous programme de marche avant........................................................................................... 31
Figure 25 : Sous programme de vitesse premier ........................................................................................ 31
Figure 26 : Bloc de programme d’initialisation des pins 1 et 2 du moteur ................................................... 32
Figure 27 : commander le robot ............................................................................................................... 33
Figure 28 : contrôle du vitesse ................................................................................................................. 33
iii
Liste des tableaux
Tableau 1 : Matériels utilisés ................................................................................................................... 30
Tableau 2 : Valeurs des différentes variables et actions relatives ................................................................ 31
Tableau 3 : Description de quelques sous-programmes ............................................................................. 32
iv
Introduction générale
La robotique est un domaine multidisciplinaire. Elle englobe principalement les domaines de
la mécanique, de l’électronique, de l’automatique et de l’informatique industrielle. Un robot est un
système mécanique poly-articulé mû par des actionneurs et commandé par un calculateur qui est
destiné à effectuer une grande variété de tâches. C’est une machine pouvant manipuler des objets et
réaliser des tâches par un programme modifiable. Ils sont principalement utilisés dans l’industrie
pour réaliser des manipulations répétitives. L’avantage d’un robot sur l’homme est sa régularité : il
peut exécuter le même mouvement des milliers de fois sans ressentir la moindre fatigue. De plus, les
robots peuvent être construits de manière à pouvoir résister à des conditions qui seraient
dangereuses, voire mortelles pour l’homme.
Le téléphone portable est un objet mondialisé, en effet utiliser son smartphone est devenu du
quotidien .La téléphonie mobile a subit une révolution technologique, et surtout une grande évolution
chez les consommateurs qui sont pour la plupart, connectés en permanence. les smartphone sont
basés sur l'Android et IOS , ce système a été tout d'abord conçu pour eux elles sont pour la plupart
distribuées depuis des plateformes de téléchargement (parfois elles-mêmes contrôlées par les
fabricants de smartphones) telles que l'App Store (plateforme d'Apple), le Google Play (plateforme
de Google / Android), ou encore le Windows Phone Store (plateforme de Microsoft). Les
applications Android peuvent être programmées et conçues comme on l'en désire selon un besoin
bien précis.
La mise en place d’un robot en fonction souffre de plusieurs problèmes soit coté
fonctionnement, soit coté commande à distance. La problématique abordée dans notre projet est
comment on pourra commander un robot à distance sans se limiter à la longueur d’un fil, et aussi
comment on pourra contrôler son emplacement dans un certain milieu sans être nécessairement dans
le même emplacement du robot.
Notre solution consiste alors à implémenter une application mobile sous Android assurant la
commande d’un robot à base de carte Arduino, et permettant aussi d’exploiter le milieu qui
l’entourne.
Le présent rapport est organisé comme suit : Le premier chapitre présente l'objectif de notre
projet et une classification des robots mobiles en général. Nous terminons ce chapitre par les
différends problématiques des anciens robots et leurs solutions et à la fin nous exposons la solution
proposée. Le second chapitre est consacré à la description des caractéristiques des différents
composants de notre robot. Dans le dernier chapitre nous nous intéressons à la réalisation réelle du
robot et à la description de l’interface Android de notre application.
1
Chapitre1
Etude préliminaire
Introduction
Ce chapitre est consacré à faire l’étude préliminaire introduisant notre projet. On va essayer
au début de faire l’état de l’art des différents robots existants et d’introduire à la suite les problèmes
liés à l’utilisation de ces robots. Ensuite, on a répondu à la question : comment commander un robot
à distance. Et enfin, on a fini par présenter notre solution proposée.
1. La robotique
Le terme robot est apparu pour la première fois aux années vingt dans une pièce de théâtre du
tchèque K. Tschapek. Le terme a été repris et grandement popularisé par Isaac Asimov "robots" ou
"robota" (travail forcé) et robotnik (ouvrier) .Avec la variété de robots développés aujourd’hui, il est
2
difficile de définir ce terme spécifiquement. Une définition générale consiste à définir un robot
comme un système autonome programmé pour exécuter une ou plusieurs tâches. Dans un cadre
général, la robotique est l’ensemble des techniques permettant la conception et la réalisation de
machines automatiques ou de systèmes robotisés relavant des aspects concernant la mécanique,
l’informatique, et l’électronique, l’automatique .[1]
Un robot est une machine programmable qui imite des actions d’une créature intelligente. Il
peut manipuler des objets et réaliser des mouvements variés dictés par un programme aisément
modifiable. Programmer ces machines consiste, dans un premier temps, à spécifier la séquence des
mouvements à réaliser. Elles prennent actuellement une place importante dans notre vie. On les
trouve dans toutes les entreprises pour accélérer la production ou pour agir là où l’homme ne peut
travailler à cause du danger, à la maison pour aider à la cuisine et aux tâches ménagères, à la guerre
(un missile, ça peut-être considéré comme un robot), dans les services publics : hôpitaux, casernes de
pompiers, police, etc.Ces robots marchent, volent, nagent, parlent, imitent l’être humain et voir le
comprendre. [2]
Plusieurs types de robots existent. La classification dépend de la fonction à réaliser par le robot.
3
L’environnement c’est l’univers dans lequel est immergé le robot, il est limité puisque ce type
des machines est à base fixe. La tâche à la robotique peut être décomposée en une suite de
mouvements. Les robots manipulateurs se sont aujourd’hui généralisés dans l’industrie, rares sont les
applications industrielles qui utilisent des robots mobiles.
4
Figure 2 : Robots volants
Un autre projet qui s’appelle EMILY (Emergency Integrated Life saving lanYard) a été conçu
par la société Hydronalix pour assister les maîtres-nageurs-sauveteurs. Avec une autonomie de 130
km, il est capable de rejoindre une personne en danger à une allure de 45 km/h, et de s’orienter à
l’aide d’un sonar. [6]
5
locomotion, certains chercheurs s’inspirent des êtres vivants et des humains, on trouve généralement
les robots à pattes, à roues et à chaînes. [7]
Les robots à deux pattes plus performantes sont représentés par le Honda Asimo, très abouti
avec sa forme humanoïde imitant à la perfection la marche et la course de l’homme.
Il monte et descend les escaliers mais s’il tombe, il semble ne pas pouvoir se relever mais les progrès
peuvent être rapides. [8]
6
Figure 5 : Robots à chenilles
Le robot à quatre roues est constitué de deux roues placées sur un même axe et de deux roues
centrées orientables placées elles aussi sur un même axe. Ce robot de type voiture est cependant plus
stable puisqu’il possède un point d’appui supplémentaire.
7
Figure 6 : Robots à roues
Il s’agit d’un robot autonome qui est capable de se déplacer seul sans assistance externe. Ceci
implique qu’il doit être capable à s’adapter aux conditions du terrain.
La mise en place d’un robot en fonction souffre plusieurs problèmes soit coté
fonctionnement, soit coté commande à distance. Dans cette partie on va citer certains de ces
problèmes :
La durée de fonctionnement des robots à base des batteries est très courte.
Absence de détection d'erreur
Très complexe au changement de canaux et des modes
Il faut mettre la fréquence d'émetteur à la même fréquence du récepteur
Risque de collision (dans le cas de même fréquence)
Porté limité par la longueur de fil.
Pas d’exploitation du milieu qui en tourne le robot.
Parmi les problèmes les plus embarrassants est la liaison filaire avec le robot pour le
commander. Les solutions de commande à distance (sas fil) pourront répondre à un tel problème.
Si on ne veut pas garder son robot "en laisse" au bout d'un câble mais le commander à
distance, on peut utiliser plusieurs outils à savoir: [11]
8
o Radiometrix (vendus par Lextronic)
o Easyradio (vendus par DEVANTECH: Easyrobotics)
o XBEE
Une liaison bluetooth : les magasins de robotique en proposent, on en trouve aussi une
vendue par Parallax pour s'enficher sur ses modules Boe BoT ou autres
Une liaison wifi : si on a installé une carte de PC, voire un PC portable, sur le robot (voir le
site des Fribotte). Un tel montage permet facilement de contrôler un robot à distance mais
aussi de transmettre facilement les images d'une webcam fixée sur le robot. Dans ce cas on
peut aussi choisir d'installer un serveur internet sur le robot pour pouvoir l'interroger et le
contrôler. Alors un programme tel que Webcam32 permet de placer les images de la caméra
du robot dans une page du serveur internet.
Une solution facile à mettre en œuvre mais un peu lourde à l'usage est d'utiliser le
programme Netmeeting pour commander le robot sur un réseau Wifi : on peut alors accéder
aux commandes du robot et aux images de sa caméra embarquée.
Utilisation des batteries Li-Po (Lithium-ion Polymère) : sert à alimenter tous les appareils
électriques d’un véhicule automobile. Comme avantage de cette batterie, la densité
énergétique est plus élevée que d’autre batterie et de faible poids que d’autres ce qui est
nécessaire à la fabrication du robot. Ce type de batteries va résoudre le problème de durée
courte de fonctionnement.
Utilisation de la technique Bluetooth : qui est un système de transmission de données sans fil
à courte portée par liaison radio. Ce système fait partie de ce que l’on appelle maintenant les
WPAN pour Wireless Personal Area Network. L’utilisation d’une telle technologie va
résoudre le problème de commande des robots à distance.
Utilisation de caméra IP : l’avantage le plus évident de la caméra IP est qu’elle ne vous
oblige pas à installer du câblage entre le routeur et les caméras ou entre le Smartphone et
les caméras qui seront installées dans les robots.
Utilisation de la technique Wifi : qui est un système de transmission de données sans fil .Il
permet de relier des camera IP et Smartphone à une liaison haut débit (11 Mbps ou supérieur)
9
sur un rayon de plusieurs dizaines de mètres en intérieur (généralement entre une vingtaine et
une cinquantaine de mètres) à plusieurs centaines de mètres en environnement ouvert. Ce
système fait partie de ce que l’on appelle maintenant les WLAN « Wireless local Area
Network ». L’utilisation d’une telle technologie va résoudre le problème de visionnage de
caméra
La partie Robot comprend la carte Arduino et la caméra IP. A partir de notre application
proposée on pourra commander le robot à travers la liaison Bluetooth, et en plus on pourra exploiter
le milieu qui l'en tourne à travers une connexion WiFi à la caméra IP. La figure 7 décrit les
différentes entités fonctionnelles de notre application, ainsi que l’interaction entre ces entités.
Conclusion
Durant ce chapitre introductif, on a présenté les critiques liés à l’utilisation des différents robots
et on a présenté à la fin notre solution proposée pouvant surmonter certains de ces critiques. Le
chapitre suivant sera consacré à la présentation de l’environnement matériel qui sera utilisé pour la
mise en place réelle de notre solution.
10
Chapitre2
Environnement matériel
Introduction
Dans ce chapitre, on mettra l’accent sur les caractéristiques des différents composants qui
nous intéressent pour la réalisation de notre projet. Cet environnement comporte une partie
mécanique et une partie électronique.
I. Partie mécanique
Cette partie ne fut que très rapidement abordée. En effet, au vu des composants disponibles
ainsi que la petite taille des composants électroniques, notre choix se porta sur un véhicule basique,
de forme rectangulaire avec d'un côté les deux moteurs assemblés en une pièce et de l'autre une
simple roue pouvant tourner à 360 degré, laissant ainsi la direction aux deux moteurs. L'Arduino,
fixée au circuit électronique, est ensuite attachée à ce rectangle à l'aide de vis et boulons et le tour est
joué. Nous avons donc privilégié la fonctionnalité du robot avant son esthétique qui n'est qu'un
détail.
La pièce maîtresse du robot est l'Arduino Uno. C’est un circuit imprimé intégré d'un
microcontrôleur programmable afin de produire des signaux électriques. Son utilisation est simple et
les résultats très satisfaisants. De plus, son faible coût en fait une pièce phare de la robotique de nos
jours. Lorsque celui-ci est mis en tension, une LED verte s'allume avec pour intituler (On). [12]
11
La carte Arduino Uno est une carte à microcontrôleur basée sur l'ATmega328. Elle dispose de
:
12
Figure 8 : La carte Arduino UNO
2. Connecteur Bluetooth
13
IEEE 802.15.2 : recommandations pour l’utilisation de la bande de fréquence des 2.4 GHz.
IEEE 802.15.3 : standard propose du haut débit (20Mb/s) avec la technologie Bluetooth.
IEEE 802.15.4 : application Bluetooth à bas débit.
Utilise la fréquence libre standard ISM radio bands de 2.4Ghz : ondes radio situées entre
2400 et 2483.5 Mhz.
Le débit théorique est de 1 Mb/s et l'envoie des informations s'effectuent par paquets de
données entourées de blocs de contrôle permettant:
o La mise en réseau des appareils à distance permise.
o Le bon acheminement des données et la correction d'éventuelles erreurs de
transmission.
Possibilité d'avoir 8 appareils chainés pour former un petit réseau picoréseau ou piconet.
2.3. Usage
Aujourd’hui le Bluetooth est utilisé dans de nombreux secteurs à savoir : [15]
Périphériques informatiques sans fil : On peut désormais utiliser clavier, souris et casque
audio en toute liberté. La figure 2 représente des périphériques informatiques connectés à un
PC via Bluetooth.
Téléphonie mobile : Il est possible de se connecter à partir de son ordinateur portable ou PDA
vers un téléphone GSM avec fonction de modem et obtenir une connexion Internet. Une autre
fonction plus répandue est l’apparition des kits main libre Bluetooth (oreillette). La figure 3
illustre la connexion de mobile via Bluetooth avec des différents équipements.
14
Figure 11 : Usage mobile de Bluetooth
Afin de contrôler le robot via le Bluetooth, nous avons utilisé le module HC05 : Le module
utilisé se nomme HC-05 et est trouvable assez facilement pour quelques euros (via des sites d’import
de Chine). Il est aussi gros que le pouce et est en fait un montage d’un module bluetooth sur un petit
PCB. Cela permet de s’affranchir de certaines contraintes comme la soudure du module (qui est très
délicate), la conversion 5V -> 3.3V, la régulation de l’alimentation (3.3V de nouveau) ou encore
l’ajout de LEDs de signal.
Une caméra IP, appelée également caméra réseau, est une caméra de surveillance qui utilise
Internet afin de permettre la transmission d’images et de signaux de commande à l’aide d’une liaison
Fast Ethernet. En effet, il existe deux types de caméras IP: [ 16]
Caméras IP centralisés, qui nécessitent un enregistreur vidéo réseau central (NVR) pour gérer
la gestion d'enregistrement de la vidéo.
Caméras IP décentralisés, qui ne nécessitent pas un NVR central, que les caméras ont une
fonction d'enregistrement intégré et peut ainsi enregistrer directement sur un support de
stockage standard, telles que les cartes SD, NAS (stockage connecté au réseau) ou un PC /
serveur.
15
3.1. Les adresses IP :
Une adresse IP (adresse de protocole Internet) est un numéro unique permettant aux
équipements de s‘identifier et de communiquer entre eux sur les réseaux utilisant la norme liée au
protocole Internet. Une adresse IP se compose de quatre nombres, séparés par un point. Elle se
subdivise encore en une partie réseau et une partie hôte, la séparation entre ces deux parties étant
déterminée par la longueur du masque réseau ou du préfixe. [17]
3.3. Les protocoles TCP/IP et les ports utilisés dans le cadre de la vidéo sur IP
Les protocoles les plus courants dans le cadre de la transmission des flux vidéo sur IP et leurs
numéros de ports correspondants sont [ 18]:
FTP (File Transfer Protocol) : de port 21 qui transfert d’image ou de vidéo de la caméra
réseau/serveur vidéo vers un serveur FTP ou une application
SMTP (Simple Mail Transfer Protocol) : de port 25 dans laquelle Une caméra
réseau/serveur vidéo peut envoyer des images ou notifications d’alarme à l’aide de son
client e-mail intégré
HTTP (Hyper Text Transfer Protocol) : de port 80 ce La manière la plus courante pour
transmettre des flux vidéo d’une caméra réseau/serveur vidéo. L’appareil de vidéo sur IP
agit comme un serveur web, rendant la vidéo disponible à l’utilisateur ou au serveur
applicatif
HTTPS (HyperText Transfer Protocol over Secure Socket Layer) : de port 443 utilisé
pour La transmission vidéo sécurisée depuis les caméras réseau/serveurs vidéo peut
aussi être utilisée pour authentifier la caméra à l’aide des certificats numériques X.509.
16
Multidiffusion (Multicast) : communication entre un seul émetteur et plusieurs récepteurs
sur un réseau. Les technologies de multidiffusion permettent de réduire le trafic sur le
réseau lorsque plusieurs récepteurs souhaitent visualiser une même source en même
temps. Un seul flux d’information peut ainsi être envoyé à des centaines de récepteurs. La
différence majeure par rapport à la diffusion individuelle est que le flux vidéo ne doit être
envoyé qu’une seule fois. La multidiffusion est fréquemment utilisée en conjonction avec
les transmissions RTP.
Radiodiffusion (Broadcast) : type de transmission de un à tous. Sur un réseau LAN, le
Broadcast est en principe limité à certains segments spécifiques et ne s’applique pas en
pratique aux transmissions vidéo sur IP.
Figure 13 : Caméra IP
4. Routeur wifi
Un routeur est un élément intermédiaire dans un réseau informatique assurant le routage des paquets.
Son rôle est de faire transiter des paquets d'une interface réseau vers une autre, au mieux, selon un
ensemble de règles. Le Wifi est un ensemble de protocoles de communication sans fil régis par les
normes du groupe IEEE 802.11. [ 19]
IEEE 802.1.a: date de normalisation est janvier 1997, protocole à débit de 54Mbit/s
IEEE 802.11.b: recommandations pour l’utilisation de la bande de fréquence des 2.4 GHz et
de taux de transfert maximale 11Mb/s.
17
IEEE 802.11.g: débit de 54 Mb/s, portée moyenne à l’intérieur est 35 m et à l’extérieur 100m
IEEE 802.11.n : protocole à haute débit de 450Mb/s portée moyenne à l’intérieur est 50 m et
à l’extérieur 125m
IEEE 802.11.ac : date de normalisation est janvier 2014, protocole à très haute débit de
1300Mb/s portée moyenne à l’intérieur est 20 m et à l’extérieur 50m
La norme 802.11b est la norme la plus répandue actuellement. Elle propose un débit
théorique de 11 Mbps (6 Mbps réels) avec une portée pouvant aller jusqu'à 300 mètres dans un
environnement dégagé. La plage des fréquences opérationnelles va de 2,4 à 2,4835 GHz, avec 3
canaux radio disponibles .
5. Module L298N
18
Figure 14 : Schéma interne d’un moteur à courant continu en rotation
Conclusion
Dans ce chapitre, on a présenté des différents composants utilisés et qui seront nécessaires
pour la mise en place réelle de notre projet. Dans le chapitre qui suit, on passera à la réalisation qui
comportera deux parties à savoir : l’application mobile Android qui commandera le robot, et la
programmation Arduino de ce robot.
19
Chapitre3
Environnement logiciel
Introduction
I. Environnement logiciel
La mise en place de notre projet nécessite plusieurs outils logiciels à savoir : Android, App
Inventor pour Android et Arduino. Nous allons décrire dans cette partie chaque outil.
1. Android
Android est un système d'exploitation mobile (OS) actuellement développé par Google, basé sur
le noyau Linux et conçu principalement pour les appareils mobiles à écran tactile tels que les
smartphones et les tablettes. L'interface utilisateur d'Android est principalement basée sur la
manipulation directe, en utilisant des gestes tactiles qui correspondent vaguement à des actions dans
le monde réel, telles que glisser, taraudage et pincement, pour manipuler des objets à l'écran, avec un
clavier virtuel pour la saisie de texte. En plus des appareils à écran tactile, Google a développé
Android TV pour les téléviseurs, Auto Android pour les voitures, et Android Wear pour les montres-
bracelets, chacun avec une interface utilisateur spécialisée. Des variantes d'Android sont également
utilisées sur les ordinateurs portables, consoles de jeux, appareils photo numériques et autres
appareils électroniques. [22]
20
Android a la plus grande base installée de tous les systèmes d'exploitation de toute nature.
Android a été le meilleur OS de vente sur les tablettes depuis 2013, et sur les Smartphones, il est
dominant par toute métrique. [23]
Le code source d'Android est libéré par Google sous des licences open source, bien que la plupart
des appareils Android expédient finalement avec une combinaison de l'open source et les logiciels
propriétaires, y compris les logiciels propriétaires requis pour accéder aux services Google. Android
est populaire auprès des entreprises technologiques qui nécessitent un prêt -made, à faible coût et
système d'exploitation personnalisable pour les appareils de haute technologie. Sa nature ouverte a
encouragé une grande communauté de développeurs et d'amateurs d'utiliser le code open-source
comme base pour des projets communautaires, qui ajoutent de nouvelles fonctionnalités pour les
utilisateurs avancés ou apporter Android aux dispositifs initialement livrés avec d'autres systèmes
d'exploitation. Dans le même temps, comme Android n'a pas de système de mise à jour centralisée la
plupart des appareils Android ne parviennent pas à recevoir des mises à jour de sécurité: la recherche
en 2015 a conclu que près de 90% des téléphones Android en usage avait connu, mais des failles de
sécurité non corrigées en raison du manque de mises à jour et de soutien. Le succès d'Android a fait
une cible pour les litiges en matière de brevets dans le cadre de la soi-disant «guerre des
Smartphones" entre les entreprises technologiques [24].
App Inventor pour Android est une application web open-source à l'origine fourni par Google, et
maintenant maintenu par le Massachusetts Institute of Technology (MIT). Il permet aux nouveaux
arrivants à la programmation informatique pour créer des applications logicielles pour le système
d'exploitation Android (OS). Il utilise une interface graphique, très similaire à zéro et l'interface
utilisateur StarLogo TNG, qui permet aux utilisateurs de glisser-déposer des objets visuels pour créer
une application qui peut fonctionner sur les appareils Android. En créant App Inventor, Google a fait
appel à d'importantes recherches avant dans le calcul de l'éducation, ainsi que les travaux effectués
dans Google sur les environnements de développement en ligne. [25]
21
Figure 15 : interface de « App Inventor »
App Inventor et les projets sur lesquels elle se fonde sont informés par les théories
d'apprentissage constructiviste, qui souligne que la programmation peut être un véhicule pour
engager des idées puissantes grâce à l'apprentissage actif. En tant que tel, il fait partie d'un
mouvement continu dans les ordinateurs et l'éducation qui a commencé avec le travail de Seymour
Papert et le Groupe Logo MIT dans les années 1960 et a lui aussi manifesté avec le travail de
Mitchel Resnick sur Lego Mindstorms et StarLogo. [26]
3. Arduino
Le projet est basé sur carte microcontrôleur modèles, produits par plusieurs fournisseurs, en
utilisant différents microcontrôleurs. Ces systèmes fournissent des ensembles de numériques et
analogiques broches E / S qui peuvent interfacer à diverses cartes d'extension (appelé boucliers) et
22
d'autres circuits. Les conseils d'administration disposent d'interfaces de communication série, y
compris Universal Serial Bus (USB) sur certains modèles, pour les programmes de chargement à
partir d'ordinateurs personnels. Pour la programmation des microcontrôleurs, le projet Arduino
fournit un environnement de développement intégré (IDE) basé sur un langage de programmation
appelé traitement, qui prend également en charge les langages C et C ++. [28]
La première Arduino a été introduit en 2005, visant à fournir un faible coût, facile pour les
novices et les professionnels pour créer des dispositifs qui interagissent avec leur environnement en
utilisant des capteurs et des actionneurs. Des exemples courants de ces dispositifs destinés à des
amateurs débutants comprennent des robots simples, les thermostats et les détecteurs de mouvement.
1. Un menu
2. Une barre d’actions ;
3. Un ou plusieurs onglets correspondant aux sketches ;
4. Une fenêtre de programmation ;
5. Une console qui affiche les informations et erreurs de compilation et de
téléversement du programme
23
Figure 17 : Fenêtre générale de l’application Arduino
L'Arduino IDE prend en charge les langages C et C ++ en utilisant des règles spéciales pour
organiser code. L'Arduino IDE fournit une bibliothèque logicielle appelée Câblage du projet du
câblage, qui fournit de nombreuses procédures d'entrée et de sortie commune. L'exécution d'un
programme Arduino s'effectue de manière séquentielle, c'est-à-dire que les instructions son t
exécutées les unes à la suite des autres. Voyons plus en détail la structure d'un programme écrit en
Arduino. [29]
24
Figure 18 : structure d’un programme Arduino
Lorsque du code est écrit dans l'interface de programmation, certains mots apparaissent en
différentes couleurs qui clarifient le statut des différents éléments :
Une fonction (également désignée sous le nom de procédure ou de sous-routine) est un bloc
d'instructions que l'on peut appeler à tout endroit du programme. Le langage Arduino est constitué
d'un certain nombre de fonctions, par exemple analogRead(), digitalWrite() ou delay().
25
Il est possible de déclarer ses propres fonctions par exemple :
digitaleWrite (motor2_in1,HIGH);
digitaleWrite (motor2_in2,LOW);
analogWrite (motor2_ena,200);
}
La mise en place de notre projet comporte deux parties à savoir : la commande du robot par un
Smartphone via une liaison Bluetooth, et l’exploitation du milieu qui en tourne le robot par une
camera IP via le module wifi. Notre application mobile comportera alors une partie de commande du
robot à distance, et une deuxième partie visualisant les images envoyées par la caméra IP installé sur
le robot. Le téléphone mobile contenant l’interface Android et le téléphone mobile fonctionnant en
tant que caméra IP devront être connectés au même réseau local sans fil.
1. Interface Android :
26
Figure 19 : Interface de l’application sur Mit App Inventor
Quand on clique sur le bouton Bluetooth (Partie 1 de la figure 19), le mobile va se connecter
à la carte Arduino via cette liaison Bluetooth. La figure suivante donne le code correspondant à cette
partie :
La partie 1 décrit comment on peut récupérer la liste des périphériques Bluetooth disponibles
sur notre Smartphone. La deuxième partie décrit comment se fait la connexion au périphérique
Bluetooth sélectionné.
27
Côté client, l'utilisateur sélectionne le bouton Connecter « ListPicker » et sélectionne le nom
du périphérique dans la liste des périphériques Bluetooth disponibles (HC-05). Le « ListPicker » est
un composant d'une grande interface pour afficher la liste des périphériques et gérer la sélection.
Dans la partie 2 de la figure 19, lorsqu’on clique sur le bouton « Go », on se connecte directement à
la caméra IP installée sur le robot. Ensuite la vidéo sera affichée dans la partie 3 de la figure 19 à
l’aide d’un navigateur Web. En premier lieu et avant d'appuyer sur le bouton « Go » on doit entrer
l'URL de Caméra IP. Lorsqu'on fait entrer l’URL, le client Web (navigateur) interroge le serveur de
noms (DNS, Domain Name Server), qui lui indique en retour l'adresse IP de la caméra IP. La figure
20 présente le bloc de code implémenté à ce stade.
28
Figure 22 : Message «forward »
1.4. Contrôle de la vitesse du mouvement:
2. Partie Arduino :
Dans cette partie, on va décrire les différentes étapes de mise en place réelle de notre robot. Le
tableau 1 présente les différents matériels utilisés pour la mise en place réelle du robot.
29
Support de robot Carte Arduino
Module Bluetooth
Quand on clique sur le bouton « Forward » (avant), l’application Androïde envoie ordonne la
carte Arduino à partir d’un module Bluetooth pour changer la rotation des roues du robot à une
vitesse bien précise (précisée dans le code Arduino).
Tout d’abord on a fait des testes pour les in1 et in2 pour savoir les sens de rotation des moteurs.
30
Figure 24 : Sous programme de marche avant
0 0 0 0 Freinage
1 1 1 1 Freinage
Maintenant on va choisir la vitesse du mouvement du robot, par défaut la vitesse est initialisé
à 200, et l’utilisateur peut changer cette vitesse par (première : 130, deuxième 180, troisième : 230).
L’application Androïde pourra commander la carte Arduino à partir d’un module Bluetooth pour
changer la vitesse du robot par le bloc du code suivant :
31
Puis, on initialise les pins 1 et 2 du moteur
Le tableau suivant décrit les étapes de récupération des données suite à la connexion
Bluetooth.
Sous-programme Description
32
Figure 27 : commander le robot
Par exemple si la carte Arduino recoit une commande sous le titre « forward » de la part de
l’application Android (utilisateur mobile), la fonction « march_av » déclarée dans le figure 26 sera
implémentée.
Par exemple si la carte Arduino reçoit une commande sous le titre « premiere » de la part de
l’application Android (utilisateur mobile), la fonction « premiere » déclarée dans le figure 27 sera
implémentée.
33
Conclusion
Ce chapitre est consacré à la description détaillée des étapes de réalisation de notre projet
répondant à la spécification de notre cahier de charge. En effet on a commencé par décrire
l’application Android qui commande le robot, ensuite on a passé à décrire quelques codes Arduino
décrivant le travail cœur de notre projet.
Pour plus de détails sur les étapes de réalisation du robot, voir l’annexe.
34
Conclusion générale
Ce projet de fin d’études, qui s’est déroulé à l’ENIG, avait pour but la réalisation
d’un ROBOT intelligent à Base du système Android pour des buts divers comme la sécurité, la
surveillance, l’exploration etc...
Notre Robot offre une multitude de fonctionnalités dont on peut citer les essentielles :
Visualisation du Streaming Vidéo directement sur le Smartphone de l’utilisateur, Déplacement
avancé et exploration d’endroits inaccessibles, Changer la vitesse du déplacement du robot.
Le rapport a été organisé de la façon suivante : Nous avons tout d’abord établi une étude
préliminaire sur le projet en fixant notre objectif, nous avons aussi établi une étude sur les robots
mobiles en générale. Et à la fin de ce chapitre, nous avons exposé la problématique et la solution
proposée. Après cette étude préliminaire, nous avons présenté dans le deuxième chapitre
l'environnement matériel. Nous avons établi une étude sur tous les composants utilisés dans notre
projet. Dans le dernier chapitre nous avons présenté la réalisation détaillée du robot qu’on a réalisé.
Nous avons exposé une description des codes Arduino et de l’interface Android que nous avons
implémenté.
Notre projet a couvert au bout du compte la majeure partie des fonctionnalités qui nous ont
été demandées au début , mais opportunités d’améliorations de ce projet sont multiples .
D’une part, nous pourrons améliorer l’application pour rendre l’interactivité plus souple et
complète avec l’utilisateur , aussi on peut évoluer même le ROBOT en lui intégrant de
multiples capteurs et détecteurs comme un capteur ultrason qui détecte l’obstacle devant le robot et
en peut ajouter un capteur pour détecter les fuites de gaz (dans la maison et de l'industrie).
D’autre part, nous pourrons penser à lui ajouter un Shield wifi à la place d'un module
Bluetooth HC-05 pour augmenter la couverture de commande du robot.
35
Annexe
36
37
Bibliographie
1. https://fr.wikipedia.org/wiki/Robot
2. http://www.roboticus.org/la-robotique/29- introduction-a-la-robotique.html
3. Livre :Modélisation, Commande et Prototypage d’un Gyropode
4. Livre :Modélisation, Commande et Prototypage d’un Gyropode
5. Livre :Modélisation, Commande et Prototypage d’un Gyropode
6. Livre :Modélisation, Commande et Prototypage d’un Gyropode
7. Livre :Modélisation, Commande et Prototypage d’un Gyropode
8. Livre :Modélisation, Commande et Prototypage d’un Gyropode
9. Livre :Modélisation, Commande et Prototypage d’un Gyropode
10. Livre :Modélisation, Commande et Prototypage d’un Gyropode
11. http://cats92.free.fr/ROBOTS/commandeadistance.htm
12. http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.MaterielUno
13. http://www.nolot.eu/Download/Cours/reseaux/m2pro/RMHD0708/picoreseaux.pdf
14. https://fr.wikipedia.org/wiki/Bluetooth
15. http://www- igm.univ-mlv.fr/~duris/NTREZO/20042005/Nguyen-Vongvilay-Wolowiec-
Bluetooth.pdf
16. http://www.jimilab.com/blog/ip-surveillance-cameras-all- you-need-kno.html
17. https://fr.wikipedia.org/wiki/Adresse_IP
18. Livre :La Guide technique de la vidéo sur IP (Axis)
19. https://fr.wikipedia.org/wiki/Routeur
20. http://tiptopboards.free.fr/arduino_forum/viewtopic.php?f=2&t=34
http://www.instructables.com/id/Control-DC-and-stepper- motors-with-L298N-Dual-
Moto/?ALLSTEPS
21. http://www.energieplus-lesite.be/index.php?id=11530
https://fr.wikipedia.org/wiki/Machine_%C3%A9lectrique
22. https://fr.wikipedia.org/wiki/Android
23. https://fr.wikipedia.org/wiki/Android
24. https://fr.wikipedia.org/wiki/Android
25. https://en.wikipedia.org/wiki/App_Inventor_for_Android
26. https://en.wikipedia.org/wiki/App_Inventor_for_Android
38
27. https://en.wikipedia.org/wiki/Arduino
28. https://en.wikipedia.org/wiki/Arduino
29. http://fr.flossmanuals.net/arduino/programmer-arduino/
39