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