Prise en main d`un robot WIFIBOT - ISIR

Transcription

Prise en main d`un robot WIFIBOT - ISIR
Prise en main d’un robot WIFIBOT
Ali COMBO
Stage de Master M1 (2005–2006)
- Plan I. Généralités
II. Introduction
III. Présentation du sujet
Présentation détaillée du matériel
IV. Environnement de travail
V. Situation du problème
VI. Résolution du problème posé
VII. Conclusion
VIII. Annexe
I. Généralités
L’essor de la technologie a vu l’apparition de nouveaux domaines telle que la robotique.
La robotique est un domaine technologique qui nécessite des connaissances en
électronique, en automatique et en informatique, mais aussi en physique des capteurs. En
d’autres termes la robotique est le domaine scientifique et technologique qui étudie la
conception et l’utilisation des robots. On nomme robot un dispositif mécanique
accomplissant automatiquement des tâches généralement dangereuses ou pénibles pour un
humain.
Le mot robot désigne donc tout un ensemble de machines automatisées et dotées d’une
certaine intelligence plus ou moins élaborée. Ces machines peuvent être de simples
gadgets ou des machines avec une réelle utilité, ou encore des machines sophistiquées
pour des applications scientifiques de pointe. Donner une définition du mot robot n'est
donc pas chose facile. En effet, le terme robot correspond à un type bien précis de
système. Cependant, si certaines caractéristiques ne sont pas présentes, une machine,
même très complexe, ne peut pas être qualifiée de robot (un avion par exemple). Voici
une définition du terme robot qui me paraît plus précise et que je tire de l'encyclopédie du
net Wikipedia: « un robot est un système automatique mécanisé capable d'effectuer une ou
plusieurs tâches dans un environnement donné, de manière autonome et séquentielle, par
l'exécution d'un programme préétabli ».
Aujourd’hui la robotique est non seulement un gage de maîtrise de la technologie pour les
grandes multinationales, mais surtout un domaine en pleine expansion. La preuve en est,
plusieurs grandes compagnies internationales ont leur secteur robotique.
A –Exemple de robot
• Les robots humanoïdes.
Le robot Asimo de Honda et QRIO de Sony par exemple. Les 300 millions de dollars
US d'investissement de la firme Japonaise Honda pour le développement Asimo et
presque autant de la part de Sony pour le robot QRIO, illustre le grand intérêt des
multinationales dans ce domaine. Nous pouvons citer également le robot Hubo du Sudcoréen KAIST (Korean Advanced Institute Of Technology), le robot nommé RX d’une
petite START UP Coréenne Robotis ou le projet français de NAO, comme d'autres
exemples qui confirment l'engouement du monde de la technologie pour la robotique.
La robotique ne se résume pas à la seule production de robots humanoïdes. Il y a aussi les
robots de loisir (les robots grand public), les robots industriels, les robots d'utilités (les
robots domestiques: aspirateurs et autres électroménagers), la robotique militaire et la
robotique médicale. Nous allons dire quelques mots de ces différents domaines de la
robotique.
B -La robotique de loisir.
La majeure partie des robots de nos jours est conçue pour le loisir. La production des ces
derniers est assurée par des entreprises spécialisées, mais les prix relativement élevés, ne
sont accessibles qu'aux passionnés et aux personnes qui ont les moyens nécessaires à leur
fabrication. La robotique amateur est malgré tout assez répandue et connaît un essor
incroyable. En France, des sites Internet spécialisés dans la robotique (comme vie
artificiel), et les forums pour des passionnés amateurs (comme celui de la planète science)
fleurissent partout. De plus, de nombreuses associations de robotique à travers la France
permettent au public d'en apprendre davantage sur cette discipline, qui connaît un grand
succès.
Aibo le chien de compagnie de Sony fait partie de ce type de robot de loisir très à la
mode. Dans cette catégorie, nous pouvons citer également Bn-1 le robot chat de BANDAI,
le Robosapen, Roboraptor mais la liste est encore longue.
Une nouvelle forme de roboticiens amateurs est apparue: les hackers. Ils modifient des
robots du commerce préalablement achetés, et les améliorent à leur façon. Certains
constructeurs, ravis de ce phénomène, les encouragent. On peut citer l'exemple du
roboticien de Robosapiens Mark Tilden. Selon Wikipédia Mark Tilden affirme qu'il a
laissé de l'espace dans la coque de sa création pour du rajout de matériel, et il a bien rangé
les fils pour que les pratiquants du hack puissent avoir la tâche simplifiée.
C –Les robots industriels.
Les robots sont utilisés dans l'industrie d'une manière intensive où ils effectuent sans
relâche des tâches répétitives et avec rigueur. Dans les chaînes de montage de l'industrie
automobile par exemple, ils y remplacent les ouvriers dans les tâches pénibles et
dangereuses telle que la peinture, la soudure, emboutissage ...
Dans l'industrie agro-alimentaire les robots sont présents (exemple la trayeuse
automatique) et d'autre domaine de l'industrie comme la pétrochimie. Les spécialistes
prévoient une croissance du nombre des robots dans l'industrie de 25% d'ici fin 2007. Il
devrait donc y avoir environ un million d’applications faisant intervenir la robotique dans
le milieu industriel, toujours selon les spécialistes.
D -La robotique médicale.
Les robots BEAM sont des robots intelligents, sans aucun microcontrôleur ou programme
embarqué d'aucune sorte. Une électronique simple combinée à une mécanique robuste
suffit; en général ce type de robot est accessible aux amateurs tant sur le plan technique
que sur le plan financier.
De nouvelles techniques sont exploitées, comme les actionneurs AMS (alliages à
mémoire de forme), la micro robotique et les interfaces Haptiques.
Des algorithmes de traitement d'image sont développés dans la même voie. Nous pouvons
parler aussi de l'imagerie médicale, par exemple, à l’université Paris 6 (U.P.M.C) il y a un
Master d’Imagerie Médicale. Sans oublier que de nouveaux robots sont développés pour
la chirurgie mini-invasive et la téléchirurgie.
E -La robotique militaire.
Les militaires font recourent à la robotique pour plusieurs missions. Mais le nombre de
robots utilisés par les militaires ne peut pas être déterminée vu la nature mystérieuse de
ces derniers. Bien sûr, pour l'instant les systèmes d'arme restent sous le contrôle total d'un
opérateur humain, même sur des systèmes robotisés. Mais aujourd'hui les drones sont
assez répandus et les robots terrestres sont en expérimentation dans les arsenaux de
nombreux pays je pense. L'exemple très médiatique des robots SWORD testé par l'armée
Américaine en Irak le confirme, sans citer les missiles et les satellites.
F -Les concours sur la robotique.
Il existe de nombreux concours de robots fabriqués par des amateurs en France, comme
celui des robots sumos organisé à Nîmes chaque année. Nous pouvons citer également le
concours E=M6.
Depuis 2002, les départements de Geii des IUT de France organisent également une
rencontre annuelle (début juin, à Vierzon) de robots suiveurs de ligne. La motorisation et
la source d'énergie étant imposées, les étudiants rivalisent principalement sur l'intelligence
et l'efficacité de la partie commande.
D'autres compétitions sur la robotique existent à travers le monde. Voilà un ensemble
d’exemples de ces compétitions que je tire de l'encyclopédie du net Wikipédia:
« -RoboCup est une compétition internationale dont le but est de développer une équipe de
football composée de robots humanoïdes totalement autonomes. L'objectif est de gagner
contre les champions du monde d'ici 2050. Il existe plusieurs catégories, qui vont de la
simulation aux robots humanoïdes en vraie grandeur. RoboCup est considérée comme la
coupe du monde de robotique.
−
Au Japon, où la robotique est très populaire, le tournoi de robots-sumos est une des
compétitions les plus célèbres. La règle est simple : il faut sortir son adversaire de
l’aire de jeu.
−
Aux Etats-Unis, les battlebots sont des combats violents de robots armés, placés dans
une arène truffé de pièges. Ces robots doivent obéir à des règles précises. Des
compétitions similaires existent en Angleterre sous le nom de Robot Wars. Ces
combats très populaires passent aussi dans des émissions de télévision. L'agence de
recherches avancées du département américain de la Défense (DARPA) finance des
projets technologiques tels que le Darpa Grand Challenge, une course dans le désert
du Nevada qui a lieu tous les ans. En octobre 2005, c'est l'engin conçu par l'université
de Stanford baptisé Stanley, qui a remporté la récompense de 2 millions de dollars.
Stanley est un véhicule automatique, conduit par 7 ordinateurs en réseaux et qui se
guide par un radar et des rayons laser.
Nous pouvons également indiquer le concours Eurobot crée en 1998, il a accueillis 26
pays en 2006 et il se déroulait à Catane en Italie. Eurobot est un concours de robotique
amateur international ouvert au équipes de jeunes se regroupant dans des projets Etudiants
ou clubs indépendants.
G -La recherche sur la robotique.
La recherche dans le domaine de la robotique s'intensifie et s'est orientée vers la
navigation, la localisation et la planification de trajectoire. Et encore dans l'exploration
spatiale et sous-marine. Dans ces domaines où la robotique est d'une très grande utilité, les
plus grands laboratoires du mode se penchent dessus. La recherche s'intéresse également à
la vision et le traitement d'image dans le but de concevoir des véhicules « intelligents ».
Sans oublier la microrobotique qui est un champ d'étude en plein essor. La miniaturisation
des mécanismes et la compréhension des phénomènes physiques dans la manipulation à
l'échelle du micromètre sont d'un intérêt crucial pour la micro-ingénierie. La recherche
concerne aussi les capteurs, les actionneurs et les préhenseurs.
H -L’avenir de la robotique.
Les besoins de nos sociétés modernes en matière d’énergie nécessitent des explorations
dans des zones très dangereuses pour l’homme ou tout simplement inaccessible sans des
robots. De plus, le besoin de l’être humain de maîtriser son environnement, rend
indispensable l’utilisation des robots plus ou moins sophistiqués. Sans oublier l’envie des
être humain d’avoir tout très facilement, sans effort et plus rapidement, laisse prévoir un
avenir doré pour les roboticiens et leurs machines. La demande d’aide des hommes aux
robots se fait sentir dans des secteurs où jusqu'à présent l’être humain se suffisait. Comme
la surveillance d'une site quelconque ou d’une propriété privée. Ou bien par les militaires,
pour ce qu’ils appellent la surveillance de l’ennemi sans la prise de risque. Mais aussi tout
simplement les universités pour les besoins de formation, d’apprentissage et
d’expérimentation. Le besoin particulier du marché en matière de robot, a fait voir le jour
à des nouvelles sociétés spécialisées dans la robotique. Avec bien évidemment les offres
de robots qui répondent aux exigences du marché. Nous allons donc ici faire l’étude du
robot WiFiBot 4G de la société WiFiBot, mais commercialisé en France par la société
ROBOSOFT, car c'est sur ce robot qu’est basé notre stage.
II. Introduction
Le Wifibot 4G est un robot de la société du même nom comme nous venons de le dire. Ce
robot est commercialisé en France par la société ROBOSOFT. ROBOTSOFT est une
entreprise spécialisée dans le domaine de robots en tout genre. Cette entreprise propose des
solutions de robotique opérationnelle dans des domaines comme les transports, la propreté, la
surveillance et la santé. Mais aussi des composants et des sous-ensembles génériques pour la
mise en oeuvre de solutions robotiques. Le Wifibot 4G fait partie de leur gamme de solution
robotique pour les centres de recherche publics et privés. Le Wifibot 4G peut être utilisé pour
la surveillance ou pour l'expérimentation dans les milieux universitaires. Cet engin de petites
dimensions et un robot très flexible. Capable de s'adapter et d’évoluer dans plusieurs
environnement avec ou sans obstacles. Dans la suite de ce rapport, nous allons voir la
présentation du sujet suivie de la description du robot lui même et l'environnement où se
déroulait le stage. Ensuite, on va décrypter le problème posé avant de proposer la (ou les)
solution(s). En accord avec le responsable du stage, étant donnée que le Wifibot 4G et un
robot nouveau le sujet est susceptible d'évoluer. On terminera avec une annexe qui propose
les codes en C++ commentés du projet. Mais avant cela il y aura une conclusion pour faire le
bilan sur l’objectif du projet « Mise en œuvre du Robot Wifibot 4G » et ce qui a été possible
de faire.
III.
Présentation du sujet
A –Présentation du sujet comme à l’original.
Mise en oeuvre du robot Wifibot 4G
Enseignant à contacter : Bruno Gas ([email protected]) 01 44 27 54 78
Laboratoire : Groupe PRC
Stage : peu être traité en binôme
Dominantes : Robotique, C, C++, Programmation sous linux
Sujet
Wifibot 4G est un robot de petite dimension capable d'évoluer dans des multiples
environnements, avec présence éventuelle d'obstacle. Il est doté d'un processeur AMD
400MHz programmable sous linux, d'une caméra, de détecteurs d'obstacles infrarouge ainsi
que de détecteurs de niveau de batterie. Une communication avec un poste fixe (transport
d'images) est assurée via liaison wifi.
L'objectif du projet est de prendre en main le robot (montage du système, installation de la
caméra, mise en place de la liaison wifi, etc.) puis d'étudier les possibilités d'une mise en
oeuvre très simple sous linux, à savoir : visualisation sur un poste distant des séquences vidéo
en temps réel, pilotage à distance des moteurs, réception des états des capteurs infrarouges,
etc. On insistera sur les possibilités données au programmeur d'exécuter des programmes
directement sur le robot afin de le rendre, à terme, complètement autonome.
Un dernier aspect concernera l'étude des spécifications techniques du robot de sorte à voir
dans quelle mesure il est possible d'ajouter une interface sonore au robot (Voir à ce sujet la
proposition de stage concernant les micros miniatures). Plusieurs solutions pourront être
proposées.
Voilà ci-dessus le sujet tel qu’il a été donné. Toutefois il mérite bien un petit commentaire.
B -Commentaire sur le sujet.
1- Comme il est indiqué que ce sujet peut être traité en binôme, le stage sera fait par Ali
Combo Fouadi et Li Shanfei.
2- On nous demande ici de monter le robot car il faut savoir qu'il est livré en kit. Ensuite
mettre en place l'aspect réseaux. Et enfin, gérer l'aspect utilisation sous linux, donc le
côté développement logiciel d’utilisation sur Linux.
3- Il faut savoir que ce robot est livré avec une interface d'utilisation sous Windows, et
toute une palette d'utilitaires sous Windows. Il faut comprendre que le Wifibot 4G est
parfaitement utilisable sous Windows en se servant des interfaces et utilitaires fournis,
moyennant la configuration réseau, bien sûr. Mais sous Linux, il n’y a rien (c’est à
dire que toutes les interfaces d'utilisation et les autres utilitaires ne sont compatibles
qu'avec le système d'exploitation Windows), c'est nous qui devront mettre tout ça en
place.
Ainsi nous allons d'abord faire une présentation complète du robot avant de passer à
l'environnement de travail.
C -Présentation du Wifibot 4G .
Le Wifibot 4G est un robot qui se caractérise surtout par une grande flexibilité lui permettant
d'être employé dans des environnements et situations multiples. Sa conception mécanique et
ses quatre roues motrices lui permettent d'évoluer sur une surface irrégulière ou même une
surface truffée des petits obstacles. Ces petites dimensions et son faible poids le rendent
facilement transportable et bien adapté pour explorer les endroits étroits.
Étant donné que le système du Wifibot 4G est ouvert à tous les genres d'utilisations et
d'applications. Ce robot offre des grandes possibilités d'expansion à différents niveaux. Son
processeur AMD 400MHz programmable sous linux et un grand choix d'interfaces inclus,
comme l' Ethernet par RS232, le protocole I2C, le standard USB et le wifi.
1 -Principales caractéristiques du Wifibot 4G.
Ci-dessous nous allons présenter les principales caractéristiques du Wifibot 4G selon la
documentation du constructeur (la documentation est en Anglais).
●
●
●
●
Grande mobilité et flexibilité
Architecture modulaire et facile à
adapter
Programmable avec aisance sous
Linux
communication réseau Ethernet et
Wifi
2 -Mode de fonctionnement.
Ci-dessous un tableau descriptif de mode de fonctionnement du robot Wifibot 4G.
Mode de
fonctionnement
Mode de configuration
du Wifibot 4G
Standard alone
AP ou ad-hoc Bridge
Infrastructure
Bridge or Mesh
Swarm
Ad-hoc Bridge or Mesh
Tableau 1
Nous allons illustrer ces différents modes de fonctionnement du robot par des schémas que je
viens de tirer de la documentation du constructeur. Suivis d'une petite explication selon ce que
nous avons compris et ce que nous avons dans les différentes expérimentations.
Mode Standard alone
Le mode de fonctionnement Standard alone consiste à se servir d'un seul robot et à le
configuré soit en mode Master (point d'accès) ou en mode passerelle (ad-hac Bridge) pour
échanger des données entre une ou plusieurs personnes se trouvant dans un rayon allant de
zéro à 30 m autour du robot, avec du matériel approprié. Ainsi le robot Wifibot 4G peut jouer
le rôle d'un transporteur mobile de données. Ou un agent de surveillance en temps réel. Voir
même un espion, avec le protocole SSH(sous linux), ou avec un utilitaire fournis par le
constructeur « winscp374.exe » (sous Windows) on peut récupérer des informations dans un
base de données d'un tiers mal ou non sécurisé.
Mode Infrastructure
La mode Infrastructure demande la configuration du robot soit en mode Infrastructure Master
ou Infrastructure Managed. Il y a donc un maître et un esclave. Le maître donne les ordres et
l'esclave exécute comme ça se laisse entendre. Donc c'est soit le robot, soit le poste fixe qui
est Maître et vice versa. Mais aussi, il y a un seul centre de pilotage qui passe les ordres à un
premier robot, le robot les transmet à d’autres robots. Après réception, les robots peuvent
envoyer les données dans d’autres centres de réception de données ou à d’autres robots.
Mode Swarm
Sur ce mode « Mode Swarm » le robot peu être configuré soit en ad-hoc Bridge ou en Mesh.
Ceci donne une meute de robots évoluant en interconnexion, mais pilotée à distance avec un
seul poste fixe.
3 -Les dispositifs inclus dans le Wifibot 4G.
Nous allons à présent voir un tableau regroupant les dispositifs inclus dans la coque de ce
robot.
Processeur
MIPS CPU AMD Au1500
400MHz
RAM 64 MB
Flash Storage 32MB
Les Interfaces
4x Ethernet 10/100 BaseT
1x USB(NC)
1x I2C bus
1x RS232 port (Debug)
WiFi
WiFi 802.11b
Seamless Roaming
Mesh Network (OLSR)
WLAN AP Bridge, Client Bridge/Router
1x Antenna 5dBi
Capteurs
1x Pan-Tilt IP camera
2x IR range sensors
4x 300 CPR code wheel Battery level
Contrôle de vitesse
Il y a un PID independant pour chaque
moteur.
Moteurs
4x motors 7.2V 50:1
8.87Kg/cm
120rpm
Dimensions
Length : 28 cm
Width : 30 cm
Height : 20 cm
Weight: 4.5Kg
Batteries
9.6 V NiMh
9500 mAH
2h autonomie
Easy replacement
Chargeur fourni
Tableau 2
4 -Les principaux modules du robot.
Nous allons présenter les principaux modules du Wifibot 4G ci-dessous.
•
Les prise I2C et RS232
Les bus I2C et RS232 sont identiques schématiquement et matériellement, seulement l'un se
trouve à gauche et l'autre à droite.
•
Les batteries.
Le Wifibot 4G possède 4 batteries. Il faut deux batteries pour le fonctionnement du robot. Le
deuxième couple de batteries c'est pour le rechange. Une photo le montre ci-dessous. Et un
croquis illustre son mode de branchement.
Voilà une photo qui illustre la manière de charger les batteries.
Ci-dessous une illustration de la caméra et d’une roue
Caméra IP
un roue
Voilà une illustration de la structure du robot selon la documentation des constructeurs.
IV.
Présentation de l’environnement du travail.
Le stage s’est déroulé dans un laboratoire de l’université Paris 6 le PARC. Le PARC (PARC
est un acronyme de Perception, Automatique et Réseaux Connexionniste) est un des trois
groupe de recherche du LISIF (Laboratoire d’Instrument et Système d’Ile-de-France).
A –LISIF en bref.
Le LISIF est un laboratoire de L’UFR 924 (EEA et Application de la Physique) de
l’université Pierre et Marie Curie. Selon le site Internet du LISIF, le site comporte 43
permanents dont 12 Professeurs, 23 Maîtres de Conférences et 8 IATOS. Mais aussi une
quarantaine de Doctorants ou Post-Doc. Bien qu’étant un laboratoire d’une université
publique, il travail avec des partenaires variés dans un très vaste champs application de la
technologie. Il suffit de voir sur leur site Internet, dans la partie Domaine d’application et
partenaires, on s’aperçoit qu’au cours du dernier plan quadriennal, ils ont passé 16 contrats
d’un montant total avoisinant les 765 000€. 12 de ces contrats ont été passés avec des
partenaires privés et 4 seulement avec des établissements publiques. A noter aussi, que LISIF
travaille aussi bien dans les transports, l’Automobile, la Télécommunications, Electronique,
Informatique que dans l’Aérospatial et la Défense.
Voilà l’équipe du PARC :
Responsable : J.Devars
Adjoint : J.L.Zarader
Equipe commande : M. Drouin, V. Perdereau
Equipe Signal : J.L. Zarader et B. Gas
Equipe Reconnaissance des formes et mouvement : M. Milgram, C. Achard et L.
Prevost
Equipe Vision : J. Devars, R. Benosman
L’équipe du PARC composée d’enseignants chercheurs, assure donc la formation d’étudiants
dans l’université Paris 6 du 1er au 3ème cycle. Mais aussi, en formation d’ingénieur à l’IST
(Institut de Science et technologie) et l’IFITEP (Institut de Formation d’Ingénieurs en
Technique Electronique de Paris).
B –l’équipement de travail au PARC.
Le PARC a des bureaux et des salles d’expérimentations à la hauteur de ces ambitions. A savoir,
faire progresser un certain nombre de connaissances relatives à la conception de systèmes
intelligents. Dans des domaines comme la perception, la micro-électronique, les micro-ondes,
l’électromagnétisme, les systèmes et l’instrumentation, comme ils le disent sur leur site Internet.
Ils mettent à la disposition de leurs étudiants stagiaires des salles de travail avec le matériel
nécessaire pour leurs stages. Ainsi, une salle de travail équipée de plusieurs PC avec une
connexion Internet a été mise à notre disposition ; mais en partage avec d’autres étudiants
stagiaires. Dans la mesure où nous avions besoin de travailler sous linux avec le Wifi, un PC
portable a été mis à notre disposition pour pouvoir travailler sans nuire à la configuration des
ordinateurs de cette salle.
V. Positionnement du problème
Dans cette partie nous allons reformuler le sujet, afin de dégager la ou les questions que nous
seront amené à répondre dans ce rapport.
A -Prise en main du robot.
Commençons avec l’aspect global du problème : on nous demande de monter le robot. Vu que
le robot est livré en kit, ce montage consiste donc à assembler les différents modules.
A savoir, monter le système, brancher les batteries, installer la caméra, et enfin mettre en
place la liaison Wifi. Une partie de ce travail parait simple; mais nous allons voir le détail
dans la partie résolution du problème.
Toutefois regardons de près ce que signifie mise en place de la liaison Wifi.
B –La liaison Wifi.
Ci-dessous j’ai mis en place un croquis illustrant une liaison Wifi comportant un serveur et un
client.
Echange de données
Par liaison Wifi
Client
Serveur
Figure 1
On voit bien qu’il s’agit là d’un problème de réseau et d’échange de données. En remplaçant
un des PC par notre robot Wifibot 4G, étant donné que le robot est assimilable à un PC (si on
se réfère au Tableau 1 regroupant les dispositifs inclus dans ce robot) on retrouve la même
configuration technique et technologique. Ainsi, il faut d’abord parler de réseau informatique,
avant de parler protocole Wifi. Il y a plusieurs sortes de réseau informatique. Il y a les réseaux
locaux, les réseaux d’égale à égale, les réseaux étendus, les réseaux Internet, les réseaux
Intranet, etc. La question qui se pose est : « Lequel de ces réseaux devons-nous choisir ?».
Nous allons choisir après avoir établi les critères de choix dans la partie résolution de
problème.
B -Interface d’utilisation sur Linux.
On nous demande également d’étudier les possibilités d’une mise en œuvre très simple sous
linux pour la visualisation sur un poste distant des séquences vidéo en temps réel, le pilotage à
distance des moteurs, réception des états des capteurs infrarouges, etc. On nous demande ici
de rendre exploitable le Wifibot 4G sous linux. C’est un problème de développement sous
linux. Et en plus, on nous demande d’étudier la possibilité d’exécuter les programmes
directement sur le robot afin de rendre le robot complètement autonome.
C –ajouté une interface sonore.
Enfin, il est demandé d’étudier les spécifications techniques du robot de sorte à voir dans
quelle mesure il est possible d’ajouter une interface sonore au robot. On voit bien qu’il est
question de connaître l’architecture interne du robot pour voir s’il est possible de faire un
rajout d’autres dispositifs.
VI.
Résolution du problème
A -Prise en charge du robot.
La première des choses qu’on nous demande ici, est de faire l’assemblage du robot. Ça
consiste a placer les batteries sur la structure du robot tout en respectant les principes de base
du branchement en électronique (placer les signes + avec les signes + et les signes – avec les
signes -), ensuite il fallait placer la caméra sur son emplacement après l’avoir brancher à son
câble d’alimentation et son câble de transmission des images.
Et puis il fallait faire la mise en réseau du robot et des postes distants.
B – Configuration du réseau.
1. Le chois du type de réseau.
La 1er question est : « quel type de réseau ? ». Pour répondre à cette question il faut d’abord
se demander combien de clients nous voulons dans notre réseau. Mais on constate que dans la
fiche technique du robot on nous impose un réseau de type local. Il faut donc choisir un
adresse IP de classe C (192.168.0.x ou 192.168.1.x).
2. Choix de l’adresse IP.
Il faut savoir que le robot a deux types d’adresses IP, car il a deux sortes de cartes réseaux. Il
possède un LAN et du WLAN. Quant à la caméra elle a seulement un LAN qui est lié avec la
structure robot (Network) par un câble Ethernet. Les LAN, il fallait les configurer avec une
adresse IP de type 192.168.0.x. Nous avons choisi 192.168.0.20 pour la caméra et
192.168.0.50 pour le robot. Par contre il fallait une adresse de type 192.168.1.x. pour le
WLAN du robot afin de pouvoir utiliser le Wifi. Selon la documentation il fallait choisir une
adresse qui se termine par les deux derniers chiffres du code qui a été fourni avec le robot.
Ces deux chiffres étaient 99 d’où l’adresse du WLAN est de : 192.168.1.99. On se rend
compte que notre réseau a deux couches. Nous pouvons schématiser tous ça comme suite sur
la figure 2.
192.168.0.x ( x peut prendre les valeurs 0 à 5)
principale du réseau (couche 0).
Couche
Passerelle de transmission de données.
192.168.1.x ( x peut prendre les valeurs 1, 2,… ,255)
Couche numéro1 du réseau.
Figure 2
•
Petit commentaire sur le réseau.
Le passerelle sert à assurer la transmission de données entre la couche principale et la couche
1 du Wifibot.
Tous les systèmes du réseau se trouvant au niveau de la couche principale sont reliés avec le
robot par un câble Ethernet. Etant donné que le robot ne possède que 5 ports dont 4 seulement
sont utilisables, et en plus le Wifibot a une structure en deux blocs donc un des ports sert à
assurer la liaison entre les deux blocs de sa structure. Mais aussi un deuxième port est utilisé
pour la caméra. Il nous reste que deux ports utiles. Il est donc évident qu’au niveau de la
couche principale le réseau ne peut posséder que trois membres. Soit un robot avec deux
postes fixes seulement si nous voulons utiliser le robot en mode standards alone. On se
retrouve avec un réseau de type Mainframe.
Les réseaux Mainframe sont des réseaux structurés autour d’un ordinateur central appelé
mainframe. Ici le mainframe est le Wifibot 4G, sachant que la puissance d’un réseau
Mainframe dépend de la puissance de l’ordinateur mainframe (l’ordinateur central) et en plus
les terminaux ne peuvent pas se voir entre eux (les clients ne voient que le serveur central du
réseau). Alors ce type de réseau n’a pas grand intérêt ici. D’ailleurs ce n’est pas le problème
de notre stage.
C – Le Wifi.
Notre stage consiste à envoyer des commandes, à réceptionner des images en temps réel et à
réceptionner des données, tout ça sur poste fixe à distance. Ça tombe bien car selon la
disposition du réseau, la couche 1 assure la liaison Wifi. Donc, tout dispositif équipé du Wifi
et se trouvant dans un rayon de 30m autour du robot peut faire partie du réseau. Biensûr, si ce
dispositif possède une adresse IP de rang 192.168.1.x autre que la 192.168.1.99 (IP du
Wifibot) ou toute autre adresse d’un des membres du réseau (une adresse déjà utilisée). Le
nombre maximum de clients dans notre réseau est de 253, plus un pont qui n’est autre que le
Wifibot 4G. Tout le monde dans ce réseau voit tout le monde, c’est le Wifibot qui joue le rôle
pour les différents clients si on travaille en mode Standards alone. On aurait pu pensé que
c’est le système qui possède l’adresse IP 192.168.1.0 qui joue ce rôle, mais ce n’est pas le cas.
Le Wifibot 4G est conçu pour jouer ce rôle. Non seulement le Wifibot 4G joue le rôle de
passerelle, mais surtout n’importe quels clients du réseau peut le commandé. Une fois le
réseau Wifi configuré, il faut établir la connexion entre un poste fixe distant et le Wifibot 4G.
1. Le Wifi sous windows.
Sous Windows une fois avoir remplit les adresses IP comme il faut, la communication se fait
à l’aide des utilitaires et interfaces fournis sur CD avec le robot. Nous allons donner une
nouvelle figure illustrant le réseau sur le quel nous travaillons. Nous travaillons sur un réseau
d’un seul client et un seul robot. figure 3.
192.168.0.x (couche 0)
192.168.0.50 (IP du LAN)
192.168.0.20 (IP de la caméra)
192.168.1.99 (IP du WLAN)
192.168.1.x (couche 1 le Wifi)
192.168.1.1 (IP du poste fixe)
Figure 3
2. La communication sous Windows.
Voilà une liste non exhaustive d’utilitaires fournis avec le robot :
- Putty, pour ouverture d’une session sur le Network du robot depuis un poste distant et
télécharger de fichier directement dans le network du robot.
- WinSCP, envoyer de ficher ou de dossier dans les différents répertoires du Wifibot.
- WinVi, pour la configuration du réseau dans le robot, cet utilitaire ouvre une fenêtre
Vi pour configure les protocoles du robot. La fenêtre s’ouvre à distance, les
modifications s’enregistrent dans le robot (bien sûr il faut établir la connexion à
l’avance).
- WIFIBOT GUI 2.0, c’est l’interface de pilotage du Wifibot 4G à distance sous Linux
(visualisation des images, envoi de commandes, réception de niveaux de batteries et
les valeurs des capteurs infrarouges).
Il faut savoir aussi que les images peuvent être visualisées avec n’importe quel navigateur
Web en utilisant l’adresse IP de la caméra (192.168.0.20). Je tiens à préciser que la
caméra utilise le port 22 pour la communication réseau et pour le robot le port 15000.
Après avoir vu comment marche le robot sous Windows, il nous revient de faire une
interface d’utilisation comparable à l’interface WIFIBOT GUI 2.0 sous linux.
3. Le Wifi sous linux
Nous avons commencé par configurer le réseau sur notre PC. En utilisant la même
adresse IP que sur Windows. La seule modification notable est que la caméra n’est plus
visible avec son adresse IP, mais avec l’adresse IP du Wifibot 4G (avec un brosseur bien
sûr). On utilise le port 15000 pour la communication avec le Wifibot 4G. Et il faut
absolument remplir la SSD du Wifibot sur le poste fixe. La SSD que nous utilisons est de :
wfbt9099.
4. Echange de données sous Linux.
Pour l’ouverture d’une session à distance on utilise le protocole SSH et pour copier des
fichiers ou des dossiers entiers on utilise le protocole SCP.
Il reste à savoir comment envoyer des commandes au robot (comment piloter le robot).
Nous avons fait intervenir les sockets pour l’établissement d’une communication entre le
robot et le poste fixe (notre PC). Une socket est un point de communication où un
processus peut émettre ou recevoir des informations. Je ne vais pas me permettre d’aller
très loin sur l’explication d’une socket, mais je vais juste conseiller un livre : « LA
COMMUNICATION SOUS UNIX » de Jean-Marie Rifflet. Et un site Internet :
www.commentçamarche.fr. Ce livre et le site Internet nous ont été d’une très grande
utilité.
5. Communication sous Linux.
L’environnement de développement est C++. Donc il suffit de créer deux tableaux de type
« unsigned char », l’un de dimension 2 (tab[2]) et l’autre de dimension 7 (tab[7]) . Le
tableau de dimension 7 sert à la réception de données envoyées par le Wifibot 4G. Et le
tab[2] sert à envoyer les commandes au robot. Il faut mettre les commandes qu’on veut
envoyer au moteur du côté gauche à tab[0] et celle du côté droit à tab[1] ; à l’aide de deux
variables de type « unsigned char » et de taille un octet chacun.
Ci-dessous une illustration concrète :
•
Pour l’envoie des commandes :
Soit les variables pour envoyer les commandes « comg pour les roues gauches et comd
pour les roues droites »
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Comg, Comd
{«
1 Moteur en marche
Les bits pour la vitesse
»}
0 Moteur éteint
1 Aller vers l’avant
0 Aller vers l’arrière
•
Bit 6
Pour la réception de données:
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Valeur de batteries (0-225)
Roue avant gauche
Roue arrière gauche
Roue avant droit
Roue arrière droit
Capteur infrarouge gauche
Capteur infrarouge droit
Avec les fonctions associées au sockets (send() et recv()) on pilote tranquillement le Wifibot
4G. Il suffit de savoir jouer avec la dynamique. Par exemple si on veut faire tourner le robot à
gauche il faut envoyer une vitesse très élevée à droite et une faible vitesse à gauche. Pour le
faire tourner à droite, c’est la vitesse des roues droites qui doit être faible et celle des roues
gauches très grande. Pour les détails du programme, il faut voir ça dans l’annexe.
Conclusion.
Etant donné le manque de documents techniques sur l’architecture interne du robot, en accord
avec le responsable du stage, on a abandonné la mise en place de l’interface sonore. Nous
n’avons pas eu la possibilité de transformer les images à cause des mêmes raisons que
précédemment. Pour les images on a utilisé le navigateur la class Java fournis avec le robot.
Cette classe Java est utilisable à partir d’un navigateur Web Mozilla Firefox par exemple.
L’interface que nous avons mise en place sert seulement à piloter le robot.
Le robot Wifibot 4G a pas mal de problèmes à commencer par ses batteries qui ne chargent
pas bien. Les capteurs infrarouges sont de très mauvaise qualité. Les niveaux de batteries et de
vitesses qu’il renvoie sont complètement absurdes. Nous avons mis deux jours pour trouver
des astuces sur Internet pour l’utiliser. Tout de même, nous nous réjouissons d’avoir réussi à
mettre en place l’interface de pilotage de moteurs de roues sous Linux. Il serait possible de
comprendre le fonctionnement de la caméra en procédant par décompilation de la classe Java
et en étudiant comment le programme fonctionne. Nous avons rencontré des problèmes sur la
mise en place du Wifi car la carte Wifi qui nous a été fournie par le laboratoire ne possède pas
de pilote sur Linux.
Annexe

Documents pareils