1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Intégration du wifibot dans larchitecture playerstage

65 16 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 1,42 MB

Nội dung

MÈmoire de stage de n d'Ètude Sujet IntÈgration du WiFiBoT dans l'architecture Player/Stage Encadrement FranÁois SempÈ Serge Stinckwich Victor Moraru Étudiant TRAN Dinh Luyen - P13 20 dÈcembre 2009 Remerciements Avant de prÈsenter mon rapport, je tiens ‡ remercier : M FranÁois SempÈ1, M Serge Stinckwich2, M Victor Moraru3 pour avoir proposÈ ce sujet et pour m'avoir aidÈ beaucoup pendant mon stage L'ensemble du personnel de l'IFI et plus particuliËrement mes collËgues du laboratoire MSI, pour le dÈroulement du stage dans une ambiance agrÈable Les chercheurs de l'Ècole des mines de Douai qui m'ont aidÈ ‡ corriger les bugs sur la compilation croisÈe et plusieurs autres points concernant le WiFiBoT M Nguyen Manh Cuong, M Nguyen Huu Nghia et les Ètudiants de l'IFI pour m'avoir aussi aidÈ durant mon stage IFI / Univ Paris IRD/UPMC Professeur IFI i RÈsumÈ Aujourd'hui, de plus en plus de robots sont utilisÈs et cela dans divers domaines Ils sont aussi utilisÈs dans les laboratoires pour tester les algorithmes, les stratÈgies avant de les appliquer ‡ l'environnement rÈel Les simulateurs, permettant de faire Èvoluer les robots dans un environnement prÈcis, sont l'outil principal du chercheur Plusieurs simulateurs existent, celui que nous avons retenu se nomme Player/Stage Avec ce simulateur, beaucoup de types de robots et de pÈriphÈriques sont disponibles Il fonctionne en mode client/serveur, permettant ‡ un client de contrÙler les robots par une connexion de TCP/IP Dans mon travail, nous souhaitons de crÈer un nouveau driver pour le WiFiBoT Ce driver permet au WiFiBoT de communiquer avec un programme client pour le contrÙler Tous les mÈcanismes de communications entre le client et le Wibot sont les mÍmes qu'avec le serveur Player Ce rapport prÈsente tous les travaux d'implantation et de tests du serveur Player Mots-clÈ : WiFiBoT, compilation croisÈe, Player/Stage ii Abstract Today, more and more robots are used and this in various elds They are also used in laboratories to test the algorithms, strategies before applying them to the real environment Simulators, allowing the robot to move in a specic environment, are the main tool of the researcher Several simulators exist, the one we chose is called Player / Stage With this simulator, many types of robots and peripherals are available It operates in client / server, allowing a client to control the robots via a connection to TCP / IP In my work, we want to create a new driver for the WiFiBoT This allows the driver WiFiBoT communicate with a client program to control it All the mechanisms of communi-cation between the client and Wibot are the same as the Player server This report provides all the implementation work and testing the server player Keywords : WiFiBoT, cross-compiling, Player / Stage iii Table des matiËres Remerciements RÈsumÈ Abstract Introduction 1.1 1.2 1.3 1.4 Contexte du stage ProblÈmatique L'objectif du travail Plan du document Le WiFiBoT 4G 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 CaractÈristiques du WiFiBoT Roue codeuse Infra-rouge Wi Moteur PrÈcision des capteurs/actionneurs La compilation croisÈe mipsel-linux pour le W Conclusion du chapitre Le simulateur 3.1 3.2 Choix du simulateur Player/Stage/Gazebo 3.2.1 Player iv Master en Informatique/SystËme et RÈseaux 3.2.2 3.2.3 ModËle du WiFiBoT pour Stage Implantation le serveur Player ‡ wibot 5.1 Pilotage des actionneurs et lecture des informatio 5.2 Implantation du driver pour le WiFiBoT 5.2.1 5.2.2 5.3 Compiler le serveur Player et le transforme ‡ Évaluation du serveur Player sur le WiFiBoT 6.1 MÈthodologie de test 6.2 Évaluation quantitative de calibration 6.3 Évaluation quantitative de comportement 6.3.1 6.3.2 6.3.3 6.4 Les limitations 6.5 Les dicultÈs Conclusion et perspective Bibliographie TRAN Dinh Luyen - P13 v Table des gures 2.1 WiFiBoT 4G 2.2 la valeur du signal en fonction de la distance 3.1 Les modules de SimRobot et ses dÈpendances 3.2 (a) Le simulateur en 2D, (b) Le simulateur en 3D 3.3 Communication du Player 3.4 ModËle Client/Serveur du Player 3.5 Le schÈma de comunication 4.1 Le modËle du robot sur le simulateur 5.1 5.2 5.3 5.4 5.5 5.6 5.7 Structure d'une commande moteur Le processus d'un driver Le graphe des dÈpendances includes Le graphe d'appel les fonctions d'enregistrer La relation entre la valeur brute du robot et la valeur de la distan La relation entre la valeur brute du robot et la valeur de la distan Le contenu de chier signalWi 6.1 6.2 6.3 6.4 6.5 6.6 6.7 SchÈma illustre de test IR : (a) schÈma, (b) rÈsultat Le test des valeurs rÈels et les valeurs rÈcupÈrÈes du robot Le test des moteurs Les rÈsultats reÁus quand on rÈcupËre le signal de wi (schÈma Les rÈsultats reÁus quand on rÈcupËre le signal de wi (schÈma L'algorithme d'Èviter un obstacle L'algorithme d'approcher vi Master en Informatique/SystËme et RÈseaux 6.8 Illustrer le fonctionnement du comportement sur le simulateur : (a) au dÈbut, ‡ la n 46 6.9 Illustrer le fonctionnement du comportement sur le robot rÈel : (a) dÈbut, (b) (b) ‡ la n 46 TRAN Dinh Luyen - P13 vii Chapitre Introduction 1.1 Contexte du stage Le stage est eectuÈ au sein de l'Èquipe de recherche MSI CrÈÈe en mars 2006, cette Èquipe vise ‡ accompagner le programme d'enseignement Master et ‡ dÈvelopper la recherche l'IFI Elle est associÈe ‡ l'IRD2 dans le cadre du programme JEAI ‡ l'IRD pour la pÈriode 2007-2009 ‡ Nous disposons aujourd'hui de WiFiBoTs 4G (le dÈtail se trouve dans la section suivante) au laboratoire MSI sur lesquels nous eectuerons les recherches 1.2 ProblÈmatique La robotique prend une place trËs importante dans la recherche d'aujourd'hui Elle devient plus en plus nÈcessaire pour les chercheurs, dans un but notamment d'exploration, dans des environnements pas toujours faciles d'accËs pour un Ítre humain Un robot est un outil programmable capable de rÈaliser des actions prÈcises, adaptÈes et rÈpÈtitif dans un environnement donnÈ Les robots sont progressivement sortis du monde industriel pour rentrer dans le monde mÈdical, et sont actuellement des systËmes complexes intÈgrant de la perception et des actions ModÈlisation et Simulation Informatique de systËmes complexes Institut de Recherche pour le DÈveloppement Jeune Equipe AssociÈe quatriËme gÈnÈration Master en Informatique/SystËme et RÈseaux =) (a) Fig 6.1 (b) SchÈma illustre de test IR : (a) schÈma, (b) rÈsultat Les distances obtenues sont prÈsentes dans la table 6.1 et le schÈma 6.2 reprÈsente ces valeurs On peut facilement regarder les diÈrents entre ces deux valeurs On souhaite que les valeurs obtenues sont Ègaux les distances donnÈes Mais en rÈalitÈ, ‡ cause des bruits, c'est impossible de rÈcupÈrer exactement, on a donc les distances approxima-tives Alors dans ce cas, les diÈrents sont acceptÈs Distance obstacle (cm) Tab 6.1 TRAN Dinh Luyen - P13 Les distances rÈcupÈrÈs avec les distances donnÈes 38 Master en Informatique/SystËme et RÈseaux Fig 6.2 Le test des valeurs rÈels et les valeurs rÈcupÈrÈes du robot Moteur Pour le moteur, nous avons proposÈ un schÈma de test Ce sont une sÈrie des actions donnÈes ‡ robot Le tableau 6.2 et le gure 6.3 reprÈsente cette sÈrie et ses rÈultats Action Avancer Tourner ‡ droite Avancer Tourner ‡ gauche Avancer Tourner ‡ droite Reculer Tab 6.2 TRAN Dinh Luyen - P13 La sÈrie d'un schÈma de test 39 Master en Informatique/SystËme et RÈseaux Fig 6.3 Le test des moteurs Wi Avec le wi, les rÈsultats obtenus sont les points d'accËs autour de robot On doit dÈclarer le wi dans chier de conguration avant l'utiliser : driver ( name provides [ "position2d:0" "wifi:0"] debug ) Les valeurs reÁus sont les informations de wi qu'il peut trouver par le scanning Ce sont le nom de point d'accËs, l'adresse MAC et la puissance de signal TRAN Dinh Luyen - P13 40 Master en Informatique/SystËme et RÈseaux Fig 6.4 Les rÈsultats reÁus quand on rÈcupËre le signal de wi (schÈma 1) Ce rÈsultat (6.4) se compose un wi trouvÈ, se compose le nom de wi (TPLINK), la puissance (-85) et l'adresse MAC (00 :21 :27 :F5 :27 :E0) Ou bien dans deuxiËme schÈma (6.5 le robot a trouvÈ les deux point d'accËs Fig 6.5 Les rÈsultats reÁus quand on rÈcupËre le signal de wi (schÈma 2) TRAN Dinh Luyen - P13 41 Master en Informatique/SystËme et RÈseaux En observant des rÈsultats du test, on peut facilement trouver que les valeurs obtenues de robot sont diÈrents avec les valeurs rÈelles, ce sont les valeurs approximatives Cependant, il n'y a pas beaucoup de diÈrents entre ces deux valeurs, et avec ces rÈsultats obtenus, dans tous les cas ils sont acceptÈs 6.3 Évaluation quantitative de comportement Deux petits programmes ont ÈtÈ Ècrits pour montrer les capacitÈs des robots Ces pro-grammes, Ècrits en C++ permettent la communication entre soit le serveur Player sur le WiFiBoT et le client, soit entre le simulateur 2D (stage) et le client Le premier utilise les informations des deux infra-rouges ‡ l'avant des WiFiBot pour Èviter les obstacles (les murs, les objets, ) Le second utilise le signal wi pour s'approcher d'un autre robot 6.3.1 Éviter les obstacles Fig 6.6 L'algorithme d'Èviter un obstacle Le schÈma 6.6 nous montre un algorithme simple pour Èviter les obstacles Dans ce programme, nous avons utilisÈ les deux interfaces ir et position2d avec le numÈro de port est TRAN Dinh Luyen - P13 42 Master en Informatique/SystËme et RÈseaux 6665 PlayerClient IrProxy Position2dProxy // l i r e de p r o x i e double minDis ; pp SetSpeed ( , ) ; int double move = true ; while ( f o i s < r o b o t Read ( ) ; p r i n t f ( "%d i f ( i r GetCount ( ) } p r i n t f ( " Distance =%f \n" , minDis ) ; if } else i f ( ! move){ pp SetSpeed ( , ) ; move = true ; } f o i s ++; } pp SetSpeed ( , ) ; TRAN Dinh Luyen - P13 43 Master en Informatique/SystËme et RÈseaux À chaque traitement, le robot va rÈcupÈrer la distance d ‡ l'obstacle provenant du capteur infra-rouge et les envoyer au client Pour chaque traitement, dÈpend les valeurs rÈcupÈrÈes, on demande le robot ‡ la fois de tourner, ‡ la fois d'aller tout droit Si d < 40(cm), on suppose qu'il y a un obstacle devant Le client demande donc au robot tourner ‡ droite 450 sinon, le robot continue tout droit ‡ vitesse souhaitÈ 6.3.2 Se rapprocher d'un autre robot Fig 6.7 L'algorithme d'approcher Voici le comportement pour l'approche d'un autre robot (le schÈma 6.7).Dans ce schÈma, nous utilisons le signal wi pour traiter On teste ici le wi du robot Dans ce scÈnario, deux robots sont prÈsents : un statique et l'autre en mouvement Au dÈbut, le robot en mouvement va tout droit Il rÈcupËre en suite la puissance du signal reÁue du second robot Si elle est infÈrieure (supÈrieure si on parle d'attÈnuation) ‡ un certain seuil, on demande au premiËre robot de tourner de 90 Ce processus se terminera quand la puissance rÈcupÈrÈ sera supÈrieure (respectivement, infÈrieure si on parle d'attÈnuation) ou Ègal ‡ la puissance seuil TRAN Dinh Luyen - P13 44 Master en Informatique/SystËme et RÈseaux 6.3.3 RÈsultat du test des comportements Avec ces deux comportements, nous avons testÈ sur le simulateur (Stage) et sur le WiFi-BoT Parce que c'est dicile de vÈrier l'exactitude des comportements, nous testons unique-ment le fonctionnement des comportements Le comportement d'Èviter les obstacles Pour le simulation, avec le version 2.1.2 de Player/Stage que nous avons utilisÈ, le driver pour infra-rouge n'est pas disponible, nous avons donc utilisÈ un autre ranger ayant les mÍme paramËtres, c'est-‡-dire, il y a deux sonar (ir) devant le robot avec la portÈe dÈtection est de 20cm ‡ 130cm Nous dÈnissons l'environnement se composer les obstacles pour simuler En observant le fonctionnement de ce comportement en simulateur et en WiFiBoT , il rÈpond ‡ nos attentes, il a rÈcupÈrÈ la distance d'obstacle et les Èviter (sur les deux le simulateur et le robot rÈel Ce comportement nous montre le fonctionnement des infrarouges et des moteurs sur le WiFiBoT Une vidÈo a rÈalisÈ sur le fonctionnement de ce comportement, vous pouvez la consulter ‡ l'adresse : http://www.youtube.com/watch?v=nseLggHcW4E Le comportement d'approcher La principale idÈe de ce comportement est pour le but de montrer le fonctionnement de wi Le rÈsultat obtenu est satisfait Chaque fois de traitement, le robot va rÈcupÈrer la puissance du signal et lui donner les commandes de dÈplacement, ‡ la fois de tourner, ‡ la fois d'aller tout droit Ce comportement est bien d'exÈcuter sur le simulateur, dans le schÈma 6.8 est un exemple de tester ce comportement sur le simulateur, le robot dynamique (en rouge) est bien approchÈ le robot statique (en jaune) TRAN Dinh Luyen - P13 45 Master en Informatique/SystËme et RÈseaux =) (a) (b) Fig 6.8 Illustrer le fonctionnement du comportement sur le simulateur : (a) au dÈbut, (b) ‡ la n Avec les tests rÈalisÈs, il y a quelques cas (pas tous les cas) le robot a approchÈ ‡ le robot statique Le schÈma 6.9 est un exemple, dans ce scÈnario, le robot statique est l'ordinateur portable, et le robot dynamique est le WiFiBoT , le WiFiBoT a bien approchÈ le robot statique =) (a) (b) Fig 6.9 Illustrer le fonctionnement du comportement sur le robot rÈel : (a) dÈbut, (b) ‡ la n Un vidÈo a rÈalisÈ concernant le fonctionnement de ce comportement,consulter ‡ l'adresse : http://www.youtube.com/watch?v=2dyGYY3Qv38 Sur le robot rÈel, ‡ cause de n'est pas disponible de l'alimentation, donc nous n'avons pas bien de testÈ Chaque fois de tester, nous devons gÈrer le l Èlectrique En outre, TRAN Dinh Luyen - P13 46 Master en Informatique/SystËme et RÈseaux quand le WiFiBoT dÈplace, il ne rÈcupËre pas exactement la puissance de signal dans en tous les cas Par exemple, quand on met le les deux robots avec une distance prÈcis, la puissance est p (par exemple), mais quand le robot dÈplace et la distance entre les deux est toujours mÍme, il y a les cas qu'on rÈcupËre exactement la puissance p comme dans le cas de ne pas dÈplacer De plus, l'algorithme implÈmentÈ est trËs simple, il n'y a pas plusieurs de traitement alors ce comportement n'est pas bien d'appliquer Un vidÈo complet ‡ l'adresse http://www.youtube.com/watch?v=ayY1w_Ol5qo se com- pose les deux comportements et la rotation du WiFiBoT 6.4 Les limitations Avec la version 2.1.2 de Player/Stage que nous avons utilisÈ, le driver pour infra-rouge n'est pas disponible, nous avons donc utilisÈ un autre range pour le replacer ayant les mÍme paramËtres, c'est-‡-dire, il y a deux sonar (ir) devant le robot avec la portÈe dÈtection est de 20cm ‡ 130cm Des limitates persistent encore pour la partie de wi Lorsqu'il fait un scan pour trouver les points d'accËs sans ls, les donnÈes obtenues sont consÈquentes en place mÈmoire Dans ce cas, le serveur s'arrÍte pour insusance mÈmoire Cependant nous n'avons ‡ l'heure actuelle, pas trouvÈe de meilleure solution pour le remplacer Pour le comportement d'approcher, il y a encore des limitations Il n'y a pas de mÈcanisme pour Èviter les obstacles pour le cas l'environnement ayant les obstacles 6.5 Les dicultÈs Beaucoup de dicultÈs se sont prÈsentÈes au dÈbut de mon stage Notablement les prob-lËmes liÈs ‡ la compilation croisÈe, ‡ l'installation du nouveau driver et ‡ intÈgration au serveur Player Un autre concernant le WiFiBoT, maintenant, les robots ne peuvent pas fonctionner indÈpendant, l'alimentation du robot n'est pas disponible, alors il y a quelques dicultÈs quand nous faisons les mouvements du robot Cela ne me permet pas bien de tester TRAN Dinh Luyen - P13 47 Chapitre Conclusion et perspective Ce rapport a prÈsentÈ le travail rÈalisÈ pendant mois de stage Il s'agit de trouver une soulution pour permetre de dÈvelopper des comportements pour les robots diÈrents Le travail a rÈsolu le problËme donnÈ C'est qu'on puisse utiliser le serveur Player et les changer pour transformer au robot rÈel adapter les types diÈrents des robots Les comporte-ments, qu'on dÈveloppe avec le simulateur Player/Stage, peuvent transformer ‡ robot rÈel DÈpendre chaque type diÈrent des robots rÈels, on changera les codes pour les contrÙler en utilisant le structure de Player/Stage Le simulateur qu'on a choisi Player/Stage est trËs util, il permet de simuler les robots sur l'ordinateur et de tester des algorithmes Les modËles ou types de robots sur ce simulateur sont multiples En outre il permet aussi transformer les codes ‡ robot Cependant, le simulateur Player/Stage possËde encore des limitÈs : pas de structures et pas de mÈcanismes pour Èchanger les donnÈes directement entre les robots (en simulateur), pas de driver pour l'infra-rouge Cela reste tout de mÍme un outil idÈal pour simuler des robots dans des environnements variÈs Il fournit plusieurs types de driver pour les robots, et les modËles diÈrents des robots Nous avons implantÈ le serveur Player sur le WiFiBoT et avons dÈveloppÈ un nouveau driver pour le WiFiBoT Le serveur implantÈ sur le robot a bien fonctionnÈ, il a satisfait nos attentes Avec cela, on peut utiliser mÍme client pour communiquer soit avec simulateur, soit avec robot rÈel Avec la partie de wi, quelques problËmes persistent pour le scanning Nous pensons que le problËme vient d'une insusance mÈmoire sur WiFiBoT De plus, dans cette mÈthode, on 48 Master en Informatique/SystËme et RÈseaux peut uniquement trouver les voisins avec l'adresse MAC Donc dans le programme de test, nous avons utilisÈ l'adresse MAC pour remplacer l'adresse IP Concernant la suite du sujet, nous imaginons plusieurs perspectives, notamment pour la camÈra et pour le wi Il faudrait ajouter l'interface pour la camÈra, permettant de l'utiliser et traiter les images rÈcupÈrÈs pendant de faire la mission Quant au wi, une nouvelle mÈthode de scanning serait la bienvenue, en accord avec la mÈmoire du robot TRAN Dinh Luyen - P13 49 Bibliographie [1] Le site de wibot, http://www.wifibot.com/index.php [2] Playertoturial, http://playerstage.sourceforge.net/doc/Player-2.0.0/player/group_ tutorial_devices.html [3] WiFiBoT 4G Datasheet, http://rbouraoui.free.fr/wifibot/wifibot4Genglishdatasheet.pdf [4] Writing a Player driver, http://playerstage.sourceforge.net/wiki/Writing_a_Player_driver [5] Documentation WiFiBoT, Cantenot JÈrÙme [6] Cross-compiling, http://playerstage.sourceforge.net/wiki/index.php/Cross-compiling [7] Stage Overview, http://www.psurobotics.org/wiki/index.php?title=Player/Stage_Overview [8] Simbad Project Home, http://simbad.sourceforge.net/ [9] A 3D Simulator of Multiple Legged Robots based on USARSim, http://usarsim.sourceforge.net/ documents/publications/iocchi-rc06sim.pdf [10] SimRobotDevelopmentand Applications, http://monicareggiani.net/simpar2008/ RoboCupSimulators/SimRobot-LaueRoefer.pdf [11] SimRobot-3-D Robotics Simulator, http://www.informatik.uni-bremen.de/simrobot/index_e.htm [12] Simulation de robots mobiles - Webots, http://ditwww.epfl.ch/SIC/SA/publications/FI03/ fi-6-3/6-3- page8ag.html 50 ... dÈtail, le travail du stage se compose de trois parties principales : La partie du choix le simulateur La partie d'implantation le serveur sur le WiFiBoT La partie de test du WiFiBoT Dans la premiËre... L'objectif du travail Plan du document Le WiFiBoT 4G 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 CaractÈristiques du WiFiBoT Roue codeuse... robot rÈel 1.4 Plan du document Ce document se compose parties La premiËre partie introduira le contexte et la problÈmatique du stage La deuxiËme prÈsentera les caractÈristiques du WiFiBoT que nous

Ngày đăng: 30/10/2020, 21:17

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w