Home

MANUEL D`UTLISATION DU ROBOT PEOPLEBOT

image

Contents

1. ariaUtil obj error LNK2019 unresolved external symbol imp RegEnumValueA 32 referenced in function public static bool cdecl ArUtil getStringFromRegistry enum ArUtil REGKEY char const char const char int getStringFromRegistry ArUtiI SA_NW4REGKEY 1 PBD1PADH Z ariaUtil obj error LNK2019 unresolved external symbol imp RegQueryInfoKeyA 48 referenced in function public static bool cdecl ArUtil getStringFromRegistry enum ArUtil REGKEY char const char const char int getStringFromRegistry ArUtiI SA_NW4REGKEY 1 PBD1PADH Z ariaUtil obj error LNK2019 unresolved external symbol imp RegOpenKeyExA 20 referenced in function public static bool cdecl ArUtil getStringFromRegistry enum ArUtil REGKEY char const char const char int getStringFromRegistry ArUtiI SA_NW4REGKEY 1 PBD1PADH Z bin ARIADebug DLL fatal error LNK1120 3 unresolved externals erreurs proviennent de l absence d une librairie l int rieur du projet Pour r gler ce probl me il faut donc rajouter la librairie ADVAPI32 lib dans les propri t s du projet Linker Input Additionnal Dependencies 6 Probl me de DLL l ex cution d un programme Au lancement d un programme sous windows l application peut s arr ter brutalement par l erreur suivante Cette application n a as pu d marrer car ARIADebug DLL est introuvable La r installation de cette application peut corriger ce probl me On peut r
2. Formulaire Transmission Gestion des Commandes De plus les programme PHP dispose de modules efficaces pour dialoguer avec une base de donn es MySQL par exemple afin de stocker certains param tres ainsi que les changes entre l THM et l application cliente B Un interface JAVA Il ne s agit plus d crire tout le programme en JAVA comme au paragraphe V 8 mais uniquement l IHM le coeur de l application cliente demeurant en C Nous cr ons ainsi une application r partie en utilisons dans chaque domaine le langage de programmation le plus adapt C pour la partie mat rielle JAVA pour l IHM Le probl me r side pr sent dans le dialogue bi directionnnel entre deux applicatifs crits dans deux langages diff rents La solution que je propose est d utiliser un middleware de middle milieu et software logiciel un logiciel interm diaire entre deux processus CORBA Cr par l OMG galement inventeur de l UML CORBA Common Object Request Broker Architecture est un middleware qui permet de cr er des objets distribu s entre plusieurs applications crits en langages diff rents et ou s ex cutant sous des environnements diff rents CORBA repose sur une architecture Client Serveur le serveur instancie un ou plusieurs objets puis les met la disposition d applications clientes au travers d un ORB Object Request Broker Les clients peuvent donc se connecter l ORB et faire ensuite appel aux m thodes de l
3. Lors de l ex cution d une application embarqu e sur le robot ou sur un poste distant sous linux il se peut que l erreur suivante survienne peloGWILL COYOTE usr local Aria examples 1pthru 1pthru error while loading shared libraries libAria so cannot open sl d object file No such file or directory Le syst me d exploitation ne trouve pas les librairies n cessaires l ex cution que ce soit libAria so comme dans l exemple ou libstdc 6 so Pour rem dier ce probl me il faut compl ter le fichier d so config avec le chemin absolu de la librairie manquante ici usr local Aria lib puis ex cuter en mode super utilisateur la commande sbin ldconfig NB sur le syst me d exploitation du robot le fichier d so config se trouve dans le r pertoire usr local gcc 3 4 1 1ib Pour d autres OS de type Linux on peut retrouver le fichier gr ce la commande locate ld so config 3 Erreur de connexion d une application MobileSim Lorsque l on souhaite qu une application par exemple demo exe se connecte MobileSim il peut survenir le message suivant gt gt demo rh localhost ris Connect to remote host localhost through tcp syncing 0 syncing 1 syncing 2 Connect to robot Name MobileSim Type Pionner Subtype peoplebot Error Have no parameters for this robot bad configuration or out of date Aria Failed to connect to robot Could not connect to robot exiting Cela vient d une m
4. des Informations Capteurs cycle de fonctionnement autrement dit un ensemble de processus qu elle lance les uns la suite des autres de fa on synchrone Interpr tation des Informations Capteurs En effet comme le montre le sch ma ci contre il est noter que la r cup ration l interpr tation et la restitution des mesures l application cliente font partie int grante du cycle Ainsi si une t che synchrone une fonction ou une boucle Traitement des Actions bloquent le cycle alors l application n est plus renseign e des changements ventuels des mesures des capteurs Cf TP Commande de la Pince Restitution des Informations Capteurs B D clenchement Par d faut ce cycle est d clench a chaque fois que l application re oit un SIP Server Information Packet c est Taches utilisateurs dire l ensemble des donn es provenant des capteurs de la part du robot L application poss de galement son propre temps del cycle 100 ms par d faut si au bout de 2 temps de cycle aucun paquet n est arriv du robot alors elle relance le cycle automatiquement Ce proc d permet d effectuer les actions d sir s sur le robot ou un de ces p riph riques en temps r el autrement dit en fonction des informations les plus r centes envoy es par les capteurs C Modes de Fonctionnement Le cycle peut tre lanc soit de fa on synchrone ArRobot run ou en tant que nouvelle t che de fond ArRobot runAsync D
5. l ex cution d un programme ssl s n conca dano east 48 A Re E Re N EE E een dda Sn en 49 REFERENCES LOGICIELLES ne A A ad 50 DOCUMENTATION Sad anos 50 ANNEXE 1 Tableau des codes de commande x ciisieysctes emmener tengeleeues 51 ANNEXE 2 Tableau des commandes impl ment es dans MobileSim 0 2 53 INTRODUCTION Destin aux diff rents utilisateurs du robot que ce soient professeurs ou l ves dans le cadre d un projet le but de ce manuel est d expliquer le fonctionnement du robot ainsi que les diff rentes fa ons de l exploiter Ce manuel ne se pr tend pas tre exhaustif il s agit d un condens de diff rents manuels notes relatifs au robot et ses d pendance Pour des informations plus pr cises je vous conseille de vous reporter directement vers ces documents dont vous trouverez la liste la section DOCUMENTATION de ce manuel En dehors du contenu de ces manuels j ai rajout galement des l ments d couverts lors de diff rentes exp rimentations recherches ou conversations avec le support technique des soci t s ActivMedia Robotics MobileRobots Inc constructeur et Robosoft diffuseur en France Enfin je ferai parfois r f rence certains TP que j ai r dig s et qui illustrent de fa on exp rimentale certains de mes propos I GENERALITES 1 QU EST CE QU UN ROBOT L origine du mot robot est issue du tch que robota qui signifie travail forc Le terme de robotique est apparu en 194
6. Au niveau du robot vneserver la partie serveur de l application se trouve dans etc sysconfig et est th oriquement lanc au d marrage gr ce inetd Il est noter que l application se lance dans un mode d affichage donn r f renc par un nombre par d faut 1 Pour se connecter depuis un poste distant sous Windows ou Linux on peut utiliser l application vncviewer soit et de pr f rence l application UltraVNCviewer Ce freeware fonctionne sur la m me technologie que VNC et se trouve m me tre compatible avec vncserver Il est cependant plus efficace et offre davantage de fonctionnalit s Coupl avec UltraVNCserver il peut galement transf rer des fichiers avec le PC distant Au d marrage de l application client VNCviewer ou UltraVNCviewer il est n cessaire de renseigner l adresse IP du robot ainsi que le num ro de l affichage UltraVNC Win32 Viewer 1 0 1 Release Exemple 192 168 109 250 1 Quick Options AUTO Auto select best settings O ULTRA gt 2Mbit s Experimental O LAN gt 1Mbit s Max Colors O MEDIUM 128 25EKbit s 256 Colors O MODEM 19 128Kbit s 64 Colors O stow lt 19kKbit s 8 Colors C View Only Auto Scaling C Use DSMPlugin No Plugin detected C Proxy Repeater Save connection settings as default Delete saved settings Ensuite pour des raisons de s curit l utilisation du logiciel impose la saisie d un mot de passe ic
7. define PAUSE 1 define ERREUR 2 Structures Multit che Lorsque l on d compose l application en plusieurs t ches utilisateurs il existe 3 structures possibles pour les impl menter la liste suivante est non exhaustive structure parall le structure hi rarchique structure mixte Dans une structure parall le les t ches sont toutes actives et utilisent la m me variable statut Ainsi la modification de la variable par une des t ches une incidence sur les autres t ches Cette structure peut par exemple permettre de d composer la t che en plusieurs t ches au r le bien pr cis une t che correspondant un et un seul tat dans ce cas la structure conditionnelle switch peut tre remplac e par une simple structure if Un exemple est donn dans le TP Commande de la pince d un robot Dans ce TP toutes les t ches sont en fait les m thodes d un m me objet et partagent le m me attribut statut Dans une structure hi rarchique seule la t che principale est toujours active et peut selon la situation activer ou d sactiver des t ches secondaires Dans ce cas chaque t che poss de une variable statut propre ind pendante des autres Cette structure peut permettre de d composer le syst me en cas ou sous cas d utilisation La librairie Aria ne proposant des fonctions pour activer ou d sactiver une t che utilisateur on utilisera un tat PAUSE durant laquelle la t che n a aucune activit Pour les t c
8. rieures haut bas gauche Blob 2 a 189 x 57 y 31 51 r 67 t 24 b 40 droite v gt C Int gration dans une application cliente Les bordures ext rieures correspondent aux c t s un rectangle qui entoure la t che La librairie ARIA dispose de classes crite en C qui permet de r cup rer les informations mises par le serveur ACTS La classe ArACTS 1 2 permet de se connecter via TCP IP et r cup rer ensuite les informations des blob d un canal donn La classe ArACTSBlob permet quant elle de g rer les informations d un blob Un exemple de cette utilisation est donn dans la fonction ArActionColorFollow Cette fonction fait d placer le robot en direction d une couleur d tect e par la cam ra 4 TRAITEMENT DE L IMAGE A Exploitation des ressources Le traitement de l image et a fortiori d une vid o peut se r v ler gourmande en ressources En effet compte tenu de la taille des donn es traiter et de la vitesse de rafra chissement de l image le traitement d une vid o peut accaparer une grande partie de la m moire vive ainsi que de la charge du processeur Il peut donc tre important de se demander si on souhaite ex cuter un tel traitement l int rieur m me de l ordinateur embarqu du robot ou de l ext rioriser sur un PC distant susceptible d tre plus am ne de traiter l information Deux solutions s offrent nous ROBOT PC Distant ACQUISITION TRAITEMENT TRANSMITION
9. erreur au niveau du checksum dans tous les cas le paquet est ignor et non redemand En effet pour des raisons de temps r el cela demande moins de temps de rejeter compl tement un paquet et d attendre le suivant plut t que de redemander l exp diteur un paquet mal transmis On ne travaille alors qu avec les informations les plus r centes Un syst me avec ce comportement est qualifi d application temps r el soft De la m me mani re aucun accus de r ception mise part l cho pour la connexion n est envoy Cette absence de QoS a comme autre avantage d viter la surcharge du m dium de communication Ainsi Si un paquet de commande est perdu ou rejet alors c est au client qui a mis cette commande de s apercevoir gr ce aux SIP suivants que sa commande n a pas t prise en compte et qu il doit donc la retransmettre IV SIMULATION Il existe un logiciel de simulation qui prend en charge les diff rents mod les de robots de la soci t On peut ainsi faire manipuler plusieurs l ves en m me temps sans avoir besoin de disposer de plusieurs robots Cette simulation a la possibilit d utiliser des plans pr alablement cr es dans Mapper3Basic ce qui permet d appr cier les trajectoires du robot dans un environnement accident 1 MAPPER3BASIC Le logiciel Mapper3Basic permet de cr er des cartes en d finissant des murs des obstacles ainsi qu un point de d part pour le robot fel
10. objets Cette technologie a t normalis e et par cons quent toutes les biblioth ques gratuites et payantes qui l impl mentent sont compatibles entre elles Pour preuve on peut utiliser dans notre cas le compilateur IDL fourni avec le Java SDK 2 et pour la partie C l ORB gratuit MICO IDL Le langage IDL Interface Definition Language est comme son nom l indique un langage permettant de d finir l interface qui sera utilis par la partie cliente et impl ment e par la partie serveur En effet pour que le client connaisse les m thodes susceptibles d tre appeler pour un objet consid rer ces m thodes doivent tre au pr alable d finies dans une interface Les m thodes appel es tant ex cut es c t serveur le serveur se doit d impl menter la classe selon l interface d finie Le sch ma ci dessous montre les diff rentes tapes r aliser pour cr er une application r partie entre un serveur en C et un client en JAVA tous deux utilisant un m me objet Interface IDL Compilation en C Compilation en JAVA Implementation de la classe Instanciation de l objet Publication de l objet R cup ration de l objet Utilisation de l objet VI AUDIO VIDEO z Afin de mieux communiquer avec sons environnement le robot PeopleBot dispose d une camera PTZ couleur d un microphone et de haut parleurs ainsi qu une s rie d utilitaires permettant de les exploiter
11. orientations peuvent tre d termin es de fa on absolue ou relative Pour la position absolue la position initiale du robot est pris comme point de r f rence La position courante du courant est alors calcul e partir de cette position l origine Quant la position relative la position courante est calcul e par rapport la position pr c dente 4 ACTIONS A Principe Les actions permettent de pouvoir contr ler les d placements du robot en fonction de son environnement En effet chaque action stipule le comportement que doit avoir le robot un instant t selon les valeurs des capteurs re ues En pratique une action est une classe d riv e de la classe ArAction Une fois les sp cifications de l action impl ment e dans la m thode virtuelle fire l action est rajout e au cycle de fonctionnement de l application par la m thode addAction de la classe ArRobot A l int rieur d un cycle une action est sp cifi e par un nom unique sous la forme d une cha ne de caract res et un ordre de priorit de 0 100 Bien entendu on peut ajouter plusieurs actions dans un m me cycle chaque action d crivant une r ponse une situation diff rente suivi d un itin raire bloquage des roues vitement d un obstacle Cependant pour tre prise en compte dans le cycle l ensemble des actions doit tre ajout avant le d marrage du cycle On peut alors d sactiver une action inutile m thode deactivate de l
12. particulier avec l homme Il peut ainsi parler ob ir des ordres vocaux se d placer de fa on autonome viter des obstacles reconna tre des objets les attraper ete 2 SYSTEME D EXPLOITATION Le robot dispose syst me d exploitation embarqu Il s agit de Red Hat Linux version 7 3 Noyau 2 4 18 5 sur un 1686 Cet OS dispose entre autre d un environnement graphique X window sous interface Gnome indispensable notamment pour l utilisation du logiciel ACTS SS cong Speech patte example Example Fri Feb 03 Le compte par d faut est login guest passwd nn Le compte root n a galement par d faut aucun mot de passe 3 COMMUNICATION Le robot dispose de 3 m diums de communication possibles liaison s rie RS232 liaison Ethernet RJ45 liaison Ethernet WiFi Radio Ethernet A Configuration S rie La configuration du port s rie est la suivante vitesse 9600 bauds taille des donn es 8 bits parit aucune bit des stop 1 contr le de flux aucun B Adresse IP L adresse IP peut soit tre fixe configur e via le syst me d exploitation soit tre dynamiquement configur e gr ce au protocole DHCP Le robot dispose d un adresse IP pour chacune de ces interface Ethernet Liaison filaire 192 168 109 222 Liaison sans fil 192 168 109 250 Les adresses IP peuvent toutefois tre v rifi es par la commande sbin ipconfig C S l
13. robot et la position d sir e la vitesse maximum en marche avant la vitesse maximum en marche arri re la vitesse maximum en rotation D Asservissements Afin de contr ler que ces param tres soient bien respect s le robot dispose d un PID interne pour assurer l asservissement en translation et en rotation du robot Les param tres du PID peuvent tre modifi s par l envoi de paquets de commandes E Actions pr d finies La librairie ARIA propose initialement une s rie d actions pr d finies que l on peut utilis es en l tat et dont voici une liste non exhaustive ArActionAvoidFront ArActionAvoidSide vitement d un obstacle frontal ou lat ral ArActionColorFollow d placement du robot vers une couleur situ e dans son champ de vision ArActionGoto d placement du robot vers une position pr tablie ArActionRecover s rie de tentatives effectu es lors du bloquage d une des roues ArActionStop arr t du robot Bien que souvent rudimentaires ces actions constituent un bon exemple de la cr ation et l utilisation des actions 5 TACHES UTILISATEURS A Principe Autant les actions servent a effectuer une tache rudimentaire correspondant a une situation donn e les taches utilisateurs permettent d effectuer les modifications n cessaires au comportement du robot de fa on effectuer une t che complexe Par exemple r cup rer un objet et le rapporter La modification du comportement du r
14. soudre ce probl me en pla ant la librairie concern e dans le r pertoire C Windows system LEXIQUE ACTS ActivMedia Color Tracking System AFRI Association Fran aise de Robotique Industrielle ARCOS ActivMedia Robotic Control and Operation Software ARIA ActivMedia Robotic Interface for Applications CMD Charge Modulated Device CORBA Common Object Request Broker Architecture DHCP Dynamic Host Configuration Protocol DLL Dynamic Link Library GNU GNU s Not UNIX GPL General Public licence Licence Publique G n rale GUL Graphic User Interface interface graphique HTML HyperText MetaLanguage HTTP HyperText Transfert Protocol IDL Interface Definition Language IHM Interface Homme Machine IP Internet Protocol IPC InterProcessus Communication PIXEL P CTure ELement l ment d image SDK Software Development Kit JIRA Association Japonaise des Robots Industriels JNI JAVA Native Interface OMG Object Management Group ORB Object Request Broker OS Operating System syst me d exploitation PHP Hypertext Preprocessor PID Proportionnel Int grateur D rivateur PTZ Pan Tilt Zoom QoS Quality of Services Qualit de Service RTP Real time Transfert Protocol SDK Software Development Kit SIP Serveur Information Packet SQL Structured Query Language TP Travaux Pratiques UML Unified Modeling Language VNC Virtual Network Computing logiciel de contr le di
15. 1 CONVERSION VIDEO Le syst me dispose d un framegrabber embarqu du verbe to grab saisir et de frame cadre c est dire d un convertisseur des informations des capteurs CMD en images vid os Les logiciels de traitement et de transmissions vid os doivent par cons quent tre lanc s en tant que serveur sur le syst me et ce afin de r cup rer l image convertie par le framegrabber 2 MANIPULATION DE LA CAMERA Reli e par liaison s rie la cam ra embarqu e sur le robot est de type PTZ Pan Tilt Zoom c est dire que l on peut effectuer dessus trois types de r glage orientation panoramique inclinaison zoom La classe ArVCC4 permet de manipuler la cam ra partir d une application cliente et ce sur les 3 axes de libert possibles Il est noter que la manipulation de la cam ra d pend du micro contr leur ou du PC auquel il est reli et en aucun cas du framegrabber Cf chapitre pr c dent La gestion des mouvements de la cam ra et la r cup ration des images sont ainsi deux actions compl tement ind pendantes Cette manipulation tridimensionnelle de la cam ra permet d obtenir une vue panoramique de l environnement lors d une phase statique du robot Cette vue peut ensuite servir l orientation du robot par suivi de ligne par exemple ou la reconnaissance d objet pr sent dans son champ de vision 3 RECONNAISSANCE D IMAGE Avec le robot est fourni l utilitaire ACTS ActivMedia Col
16. 2 dans l oeuvre de l crivain Isaac ASIMOV On peut donner comme d finition actuelle qu un robot est une machine programmable mobile ou non qui imite des actions d une cr ature intelligente 2 DOMAINES D APPLICATION Utilis s dans les ann es 60 pour des op rations hasardeuses on distingue de nos jours trois grands domaines d application de la robotique Pr tion et Fabrication industrielle soudage assemblage d tourage peinture Exploration dans des endroits dangereux ou inaccessibles exploration spatiale sous marine Services aux humains et aux quipement sauvegarde des personnes nettoyage maintenance surveillance transport 3 CLASSIFICATIONS Dans la robotique on peut distinguer entre autres les robots industriels compos s d un bras articul muni d un effecteur et le robots mobiles qui peuvent se d placer en autonomie dans un environnement Cependant certains organismes comme la JIRA Association Japonaise des Robots Industriels ou l AFRI Association Fran aise de Robotique Industrielle ont tabli des classifications plus pr cises bas es sur la sp cificit fonctionnelle des robots La classification labor e par la JIRA est la suivante Classe 1 TELEMANIPULATEURS Bras command par un op rateur humain Classe 2 MANIPULATEURS AVEC SEQUENCE FIXE Contr le automatique mais difficilement programmable Classe 3 MANIPULATEURS AVEC SEQUENCE VARIABLE Con
17. A ee OS ae ere tn nn ae sie 10 ENCON IO A a a REE A E A 10 4 INTERFACAGES AVEC LE ROBO Dira 11 AMO PE Consoles iS 11 MODE PA OS 11 CIMODE VNC aaa ida dida 11 5 TELECOMMANDES usd AA ia 13 PSV ANY A EN 13 BJ L Application DEMO AGA 14 EJ MODIIEE VES O oi Ras 15 TRARCO Sia icono 17 H Orestes qu ARCOS a A oa 17 A Une Architecture Client UE a A eerie ee aes 17 A EE AE EA E etue ORTE 17 2 Protocole CS COMM MIC AG OH AA ETE ETAS E AAE See RI 17 AJ Paget d o AAA O 18 B SIP Servet formation Park id 19 C D roulement d une Connexion iia 19 Dy QoS Qualit s dE Servicen ne se ne ere OA te 19 TV SIMULATION A e AA NA A Rte 21 HOMA PPERSBASIC M e ca E E E E E E RAT 21 2 MOBILES Vir 22 V APPLICATION C LIENT E nina a T a ecos 25 ES A tn IS 25 2 CYCLE DE FONCTIONNEMENT nement enter 26 AJ PAC a oc lowes 26 A nn een E nt Art ire 26 C Modes d Fonctionnement ane eat 26 IMDEPLACEMENTS uo a te 27 A D composition des Mouvements rin dd owalves 21 BJ Suivi de lignes de Cond o ai 27 CPC HORS RSS a E A A E ne 27 ACTIONS ta i i e OR RATAS ESA A O SARA TRAS ARE 27 A POOLE reunion ruse 27 By LV PES d actions tisane de A A A 28 C Action d sir e hrs ous tse E ees N TE E E E E 28 A o Sn nt a SR Nu de 28 E Actions PECES A Neils nica dst one 29 5 LACHES UTILISATEURS cas 29 APEC ras et Mein etre es mr Lien le estate 29 B SPC SEAT dais le a a a a a a re 29 C Automate A Sethern chat osSes dtu sle eit cat uk eee bite
18. A sous diff rents langages de programmation et notamment sous JAVA A JNI Pour pouvoir utiliser la librairie ARIA cod e en C l int rieur d une application JAVA les d veloppeurs ont utilis la technologie JNI JAVA Native Interface Gr ce JNI il est possible d appeler des m thodes dites natives cod e en C partir de prototype JAVA Ceci permet de d velopper en JAVA et de coder certaines m thodes en C quand ce langage se trouve tre le plus adapt programmation bas niveau temps r el En contre partie le code JAVA g n r d pend maintenant du code C et perd en portabilit On risque de trouver ainsi des dysfonctionnements si on d sire d velopper une applet reposant sur la librairie ARIA Il est cependant noter que la librairie sous JAVA n est pas autant test que celle sous C et donc que des erreurs peuvent tre g n r es par la librairie B Limitation Il est noter que l utilisation de JNI entra ne une perte de certaines caract ristiques de la librairie ARIA En outre il n est pas possible de surcharger en JAVA les m thodes virtuelles Ceci a pour cons quence l impossibilit de cr er de nouvelles actions partir de la classe ArAction Si cette cr ation est cependant n cessaire il faut cr er cette nouvelle classe en C l incorporer la librairie et g n rer enfin son interface JAVA C Compilation Pour la compilation en Java on peut tout simplement utiliser l e
19. Compilation sous LINUX Sous Linux 1l est possible de compiler un projet gr ce au compilateur g ou gcc Il faut veiller la compilation de bien pr ciser l emplacement de la biblioth que Aria notamment lors de l dition de liens Voici un exemple de fichier Makefile permettant de compiler un projet bas sur la librairie Aria cpp Robot o CommandePince o gt g Wall D REENTRANT fno exceptions Iinclude Robot o CommandePince o o lt L usr local Aria lib lAria lpthread ldl Robot o Robot cpp Robot h g g Wall D REENTRANT fno exceptions Iinclude c Robot cpp CommandePince o CommandePince cpp CommandePince h g g Wall D REENTRANT fno exceptions Iinclude c CommandePince cpp Le projet de cet exemple comprend un fichier principal o se trouve la fonction main fichier qui fait lui m me r f rence deux include Robot cpp et CommandePince cpp Dans ce fichier MakeFile le nom du fichier principal n est pas pr cis remplac par le symbole ce qui permet de le choisir librement Pour compiler on doit alors ex cuter l instruction make nom_pgme o nom_pgme est le nom du fichier sans l extension Ex gt make Client Les instructions de compilation bas es sur le compilateur g s ex cutent apr s v rification que les fichiers aient subis des modifications depuis la derni re compilation Le param tre linclude pe
20. Configuration sur Release puis la rubrique RunTime Librairy choisir Multi threaded Microsoft Visual C EXPRESS 2005 Le compilateur Microsoft Visual C EXPRESS 2005 a comme avantage par rapport la version pr c dente d tre en t l chargement gratuit pendant un an En contrepartie il ne g re ni les MFC et ni les ATL et ne dispose pas de la plate forme SDK par d faut Celle ci peut cependant tre installer s par ment Ainsi la configuration du compilateur est la m me que la pr c dente mais avec la n cessit de rajouter les chemins pour la libraire SDK Dans la section C C General au niveau de Additional Include Directories ajouter le chemin C Program Files Microsoft SDK include Dans la section Linker General au niveau de Additional Librairy Directories ajouter le chemin C Program Files Microsoft SDK Lib Si vous compiler vous pouvez apercevoir des warnings provenant de la librairie Aria On peut en liminer un bon nombre en ajoutant en d but du programme la d finition suivante define CRT SECURE NO DEPRECATE C Compilation de la biblioth que dynamique Etant donn que la librairie Aria dll est open source il est possible de recompiler enti rement la librairie Ceci peut se r v ler utile en cas de modifications d une partie du code ou de l adaptation de la librairie au syst me d exploitation 8 JAVA Comme je l ai d j pr cis il est possible d utiliser ARI
21. EXPLOITATION DU RESULTAT DU RESULTAT Cas 1 Le cas 1 montre un traitement effectu dans l ordinateur embarqu ce qui risque d amoindrir les performances g n rales du syst me Le r sultat position d un objet d tection d un mouvement peut alors tre transmis ROBOT PC Distant ACQUISITION EXPLOITATION DU RESULTAT TRANSMITION DES DONNEES TRAITEMENT Cas 2 Pour le cas 2 le traitement s effectue non plus dans le robot mais sur un PC distant plus adapt ce genre de travail N anmoins ce cas soul ve un autre probl me car comme la vid o transite du robot vers le PC cela risque d augmenter la charge du r seau et d affecter la bande passante Ce probl me peut tre r gl en surdimensionnant le d bit du r seau B Librairies Deux librairies en C sont disponibles pour la r cup ration et le traitement de l image VisLib de la soci t ActivMedia Robotics MobileRobots Inc et OpenCV de la soci t Intel La librairie Vislib ne fonctionne que sous Linux et se r v le ad quate pour une application embarqu e La librairie OpenCV plus complexe fonctionne uniquement sous les architectures Intel et le syst me d exploitation Windows 5 SYNTHESE VOCALE Les buzzers disponibles sur le robot PeopleBot peuvent servir un module de synth se vocale c est dire l imitation de la voie humaine par une machine Ceci pourra permettre d am liorer l IHM avec un support non plus uniquement visu
22. GES AVEC LE ROBOT A MODE Console Il est possible d acc der au syst me d exploitation embarqu sur le robot en y connectant un moniteur une souris et un clavier On acc de alors au syst me d exploitation en mode lignes de commande On peut ensuite basculer vers un environnement graphique Xwindow par la commande sfartx L inconv nient de ce mode est videmment de ne pouvoir configurer le robot distance B MODE Telnet Au travers de la liaison s rie ou d une liaison Ethernet on peut acc der au syst me d exploitation du robot gr ce au protocole Telnet g r par une fen tre de commandes DOS l Hyperterminal ou tout autres applications L interface avec le syst me ne se fera ici que par lignes de commandes Il n est donc pas possible de b n ficier de l environnement graphique Xwindow C MODE VNC Le programme VNC Virtual Network Computing est un logiciel de contr le distance qui permet de visualiser ou de commander selon les droits accord s un bureau distant ici le syst me d exploitation embarqu Le programme se compose naturellement d une application serveur qui s ex cute sur l OS du robot et d une application cliente qui s ex cute partir duquel on souhaite contr ler le robot Ce logiciel permet donc d avoir la ma trise distance et en mode graphique de l OS embarqu du robot Il est cependant noter que des ralentissements au niveau de l affichage peuvent survenir par cette m thode
23. MANUEL D UTLISATION DU ROBOT PEOPLEBOT par Pierre MARQUESTAUT Professeur d Informatique et T l matique mis jour le 20 juin 2006 LICENSES Cette cr ation est mise disposition selon le Contrat Paternit ShareAlike 2 5 disponible en ligne http creativecommons org licenses by sa 2 5 deed fr ou par courrier postal Creative Commons 559 Nathan Abbott Way Stanford California 94305 USA PeopleBot tm MobileSim tm Mapper3Basic tm and MobileEyes tm sont des marques de la soci t MobileRobots Inc La librairie ARIA est fournie avec le robot PeopleBot sous licence GNU GPL This work is licensed under the Creative Commons Attribution ShareAlike 2 5 License To view a copy of this license visit http creativecommons org licenses by sa 2 5 deed en GB or send a letter to Creative Commons 543 Howard Street 5th Floor San Francisco California 94105 USA PeopleBot tm MobileSim tm Mapper3Basic tm and MobileEyes tm are trademarks of MobileRobots Inc The library ARIA comes with the robot PeopleBot under GNU GPL Table des mati res LICENSE Su mn si et AAA ATA AAA 2 ARONO OT ON ee ati AS S 5 Ts GIN RATS e r NN nine amine 6 IVYOUEST CE QU UN ROBO Tae a o ETA 6 2 DOMAINES D APPLICATION ne Rent E EEA E 6 3J CLASSIFICATIONS 0 E E A A dues 6 TELE ROBOT PEOP E O TO RS adidas n e 8 D DESCRIPTION rd ti dd cia 8 2 SYSTEME D EXPLOITATION sn Ab A E 8 gt COMMUNICATION a Rte 9 ANCORA AE za 9 O 9 ESC o a o ARS ET 9
24. Mapper 3Basic Tourelle map File Edit Map View Window Help DH ely Open Save Undo Redo Cut RS BZ Q e E Select Eraser Line Goal Dock Forbidden Line Forbidden Area Home Point Home Area Snap O 8 4 6 amp O G F Fitin Window Reduce Magnify PanUp PanDown PanLeft PanRight RotateLeft Rotate Right Grid essai X 1 056 1 912 Charg e par le logiciel de simulation les diff rents l ments de la carte seront pris en compte dans les d placements du robot Les cartes g n r e en map peuvent galement tre exploit es dans une application client au travers de la classe ArMap de la librairie ARIA 2 MOBILESIM MobileSim est un logiciel de simulation cr sp cialement pour tester une application cliente avant de l utiliser directement sur le robot A l ouverture du simulateur il nous est propos diff rents mod les de robot Dans notre cas on choisira le mod le peoplebot sh En cas de probl me avec ce mod le le mod le p3dx proche de celui de peoplebot peut ventuellement tre utilis Sur la m me fen tre il est galement possible mais pas indispensable de s lectionner une carte Ceci permettra de repr senter le robot l int rieur d un plan comprenant murs et obstacles Pour ce faire il faut choisir la carte d sir e puis cliquer sur Load Map Pour une simulation sans carte cliquer sur No Map Dans les 2 cas la simulation se lance El Mo
25. Sto bate 30 6 COMMUNICATION TCP IP A annee 33 A VS ni 33 B Choix du protocole de Transports ss sta 33 COMPILATION des Gare ARS ete AAA ee nee 34 Compilation sous LINUX 2 a a eiii 34 B Compilation sous MICROSOFT WINDOWS sise 35 C Compilation de la biblioth que dynamique tds 36 O GI SO ee 36 AD INT Essen A lt tyes 36 IN oie Ro Nasi EN AN Sa ae ht 36 C Compilation NN 36 Oy CREATION D UNE IHM O ds 37 A Les pages WebMail 37 B Unanterface JTA MA al asi pa 37 VL AUDIO VID EOS A sn duane el nets en 39 1 CONVERSION VIDEO ST Ro iria 39 2 MANIPULA TON DELA CAMERA ne me Nan mr da areas 39 3 RECONNAISSANCE D IMAGE test dt ne tr den s 39 E A SE ne me en 40 By S tveur ACTS aein rg seat ca OE tea sta Nase aa Te nt d 40 C Int gration dans une application cliente 41 4 TRAITEMENT DE LIMAGE asc ai ee rer 41 AJ Exploitation des TESSOURCES A A A 41 A A EER A SSS A tn 43 5 SYNTHESE VOCAL Eta tits 43 6 RECONNAISSANCE VOCAL E ut 43 7 TRANSMISSION DU SON ET DE L IMAGE ere 43 VIERESOEUTION DE PROBLEMES nn A Na 45 1 Erreur au d marrage de MobileSim sous Windows XP 45 2 Erreur l ex cution d un programme utilisant la librairie Aria sous Linux 45 3 Erreur de connexion d une application MobileSim ss 45 4 Erreur la compilation avec Aria sous Linux 46 5 Erreur de liens la compilation de la librairie sous Visual C 47 6 Probl me de DLL
26. a classe ArAction pour la r activer par la suite m thode activate lorsque la situation l exigera B Types d actions On peut distinguer trois types d actions bien qu il n existe pas de classes pour les diff rencier les actions de mouvements les actions de limitations les actions mixtes Les actions de mouvements stipulent les param tres des mouvements adopter pour atteindre un but pr cis suivre une ligne aller un point pr cis A l inverse les actions de limitations assurent quant elles la s curit du robot en fixant des limites aux mouvements vitant ainsi des collisions ou des acc l rations et d c l ration trop brusques Enfin les actions mixtes g n ralement plus efficace permettent de d finir une trajectoire adopter tout en s assurant de la s curit du robot Il est recommand d allouer une priorit plus lev aux actions de limitations afin de s assurer qu un mouvement est sans risque avant de l effectuer C Action d sir e Tout changement que l on souhaite dans les d placements du robot se traduit en pratique par la modification des param tres contenus dans la classe ArActionDesired qui sont ensuite transmis au robot Parmi ces param tres on trouve Ja vitesse le cap relatif delta heading c est dire l angle entre la position actuelle du robot et la position d sir e le cap absolu heading c est dire l angle entre la position initiale du
27. ans les deux cas le cycle est arr t par la m thode ArRobot stopRunning De plus le cycle peut tr s bien fonctionner sans se connecter au robot Cf TP Pointeur de fonction Dans ce cas le cycle n est d clench que par le temps de cycle propre l application On peut enfin forcer le robot n ex cuter le cycle qu une seule fois en sachant que l on ne pourra alors r cup rer et utiliser les valeurs des capteurs Utiliser le cycle de fonctionnement est la fa on la plus simple pour cr er une application 3 D PLACEMENTS On peut consid rer qu il y a 3 m thodes diff rentes pour g rer les d placements par d composition des mouvements suivi de lignes de couleur par position A D composition des mouvements On peut d composer les d placements mouvement par mouvement On peut en effet faire avancer ou reculer le robot d une distance pr cis en millim tres On peut galement modifier l orientation du robot exprim e en degr s Pour cela la classe ArRobot dispose de plusieurs m thodes qui autorisent une gestion simple et basique des mouvements B Suivi de lignes de couleur Gr ce sa cam ra embarqu e le robot est capable de suivre de fa on autonome des lignes de couleur trac es au sol Pour plus de pr cision se reporter au Chapitre IV C Positions Il est possible de faire d placer le robot d une position une autre Les positions d finies par leur ordonn es abscisses et
28. aphiquement l avanc e du robot Tout comme dans l application pr c dente on manipuler le robot distance utiliser le robot ou un simulateur lancer l application depuis le robot ou un poste distant Il est noter que l application n cessite obligatoirement d un environnement graphique et que l environnement X Window du robot devra par cons quent tre lanc L utilisation de cette application avec Telnet est ainsi impossible a MobileEyes localhost aca Robot Map View Tools Help 0 h 4 a al Stop Wander Joystick Robot Forward Reverse Tum Left Turn Right Speed Safe Drive Mi TEN um 9 4 U DD Gas Center on Robot Fitin Window Reduce Magnify PanUp PanDown PanLeft Pan Right Grid Sonar Laser Status Stopped Mode Drive 4 F 5 dh wm 4 Position X jo Heading 88 deg Motor Packet Count 9 DE fo Velocity fo mm sec LaserPacketCount 0 FT ES Ha Sur la capture d cran ci dessus on distingue le robot repr sent par un disque rouge avec un trait noir pour indiquer le devant de l appareil Les traits bleus tout autour repr sentent les valeurs des rang s de sonar Ici on peut voir la pr sence d un obstacle sur la droite du robot l o les traits bleus sont les plus rapproch s HI ARCOS 1 Qu est ce qu ARCOS A Une Architecture_ Client Serveur Le robot repose sur une architecture client serveur En outre il dispose d un contr leur embarq
29. argument to serial device connected to AUX1 serial port w w w lad w bo bo an Wa Las bs oOo co TE N J ae ee ee bd vu o GETAUX 43 Request to retrieve 1 200 bytes from the AUX1 serial port 0 flushes the buffer BUMP_STALL 44 Stall robot if no 0 only front 1 while moving forward only rear 2 while moving backward or either 3 bumpers contacted when robot moving in related direction TCM2 module commands see TCM2 Manual for details JOYDRIVE 1 allow joystick drive from port while connected with a client 0 default disallows Change the sonar cycle time in milliseconds Change the HOST serial port baud rate to 0 9600 1 19200 2 38400 3 57600 or 4 115200 AUXIBAUD 51 int Change the AUXI1 serial port baud rate see HOSTBAUD AUX2BAUD 52 int Change the AUX2 serial port baud rate see HOSTBAUD AUX3BAUD 53 int Change the AUX3 serial port baud rate see HOSTBAUD 1 0 Emergency stop very abrupt by overriding deceleration ba coal E Send string argument out to device connected at AUX3 serial port PE 1 cl Request to retrieve 1 200 bytes from the device connected at the AUX3 serial port 0 flushes the buffer pe pee Send string argument out to device connected at AUX2 serial port GETAUX2 67 Request to retrieve 1 200 bytes from the device connected at the AUX serial port 0 flushes the buffer CHARGE 68 int O release 1 deploy autocharging docking mechanism 1 0 e E P
30. auvaise gestion du mod le PeopleBot par le logiciel MobileSim Pour y rem dier il faut modifier le fichier PioneerRobotModels world inc contenu dans le r pertoire usr local MobileSim sous Linux ou Program Files ActivMedia Robotics MobileSim sous Windows la place de peoplebot marquer peoplebot sh Puis au lancement de MobileSim il faut choisir le mod le peoplebot sh On pourrait galement choisir directement le mod le p3dx qui se rapproche norm ment de celui du PeopleBot gt gt Ce bug est corrig dans la version 0 2 de MobileSim 4 Erreur la compilation avec Aria sous Linux Lors de la compilation sous Linux il se peut qu une erreur soit g n r e cause de l absence de la librairie libstdc so 6 n cessaire la librairie libAria so Pour pallier ce probl me il est possible de cr er un lien symbolique qui pointerait sur une ancienne version de la librairie libstdc gr ce la fonction n Ce lien permet de forcer la librairie libaria so utiliser la version pr c dente de la librairie C au lieu de la version 6 ex In s usr lib libstdc gt so 5 usr lib libstdc s0 6 D autres erreurs peuvent galement survenir provenant de la librairie ARIA usr local Aria lib libAria so undefined reference to std Rb tree decrement std Rb tree node base usr local Aria lib libAria so undefined reference to std List node base unhook usr local Aria lib libAria so undefi
31. avec la souris Si le r sultat parait satisfait il faut alors enregistrer le canal et passer a un autre Une fois que l ensemble des canaux voulus sont enregistr s et la cam ra correctement param tr e on peut alors enregistrer la configuration Attention enregistrer une configuration n enregistre pas les canaux associ s B Serveur ACTS Une fois la phase d entra nement effectu e et les canaux enregistr s on peut alors lanc une version all g e du serveur ACTS sans EZ Train qui tournera en arri re plan Ce serveur s ouvre gr ce la ligne de commande suivante o ma config est une configuration enregistr e dans la phase d entra nement acts t ma_config Cette version du serveur ne n cessite pas l environnement X Window et est par cons quent moins gourmande en ressources syst me Le port par d faut est le 5001 A partir des informations contenues dans la configuration ACTS va identifier dans les images diffus es par la cam ra des t ches de couleur ou blob qui sont en fait des amas de pixels de la couleur d sir e Les t ches inf rieures 10 pixels sont consid r es comme du bruit et donc ignor es Pour chaque t ches d tect es ACTS transmet alors des param tres de taille et de position aux applications clientes connect es PAA A ee a centre de gravit x y Output aire nombre de pixels Blob 1 a 748 x 100 y 44 74 1 123 t 33 b 57 4 bordures ext
32. bileSim Load Map File Da PROJET ROBOT MERA Navigation 12 13 05 dans les i 12 09 05 dossier 11 22 05 m PROJET ROBOT Ajout ou gt sereur dhcp_fichiers 10 13 05 suppression Map1 map 07 26 05 d un dossier z Tourelle map de travail essai map 1111005 Remove ActivMedia Map Files Y Robot Model peoplebot sh No Map Load Map Choix du mod le Lancement de k de robot simulation avec ou sans carte Une fois la simulation lanc e une application client peut alors s y connecter par liaison TCP IP sur le port 8101 Pour simuler un communication par liaison s rie il faudra par cons quent utiliser un pont entre les protocoles RS233 et TCP IP Par ailleurs la m thode openSimple de la m thode ArTcpConnection tente par d faut de se connecter un simulateur situ sur la m me machine E MobileSim BAR sim_peoplebot sh Ready for a client to connect on TCP port 8101 Time 0 0 00 31 600 sim real 0 91 subs 1 Stage v2 0 0a amri Le robot simul l cran se comporte exactement comme le robot r el et dispose des m me capteurs comme notamment les sonars Cependant la plupart de p riph riques cam ra pince l instar de certaines commandes ne sont pas encore impl ment s Si le simulateur re oit une commande non impl ment e ou un paquet destin un p riph rique inconnu un message d alerte s affiche im_peoplebot sh Client connected sim_peo
33. c e partir d un poste client ou directement partir du syst me d exploitation embarqu Il galement envisageable d avoir une structure mixte dans laquelle nous avons 2 applications clientes l une sur un poste distant et l autre sur le robot communicante entre elles et g rant des fonctionnalit s diff rentes du robot 1 ARIA Pour r aliser cette application on dispose d un environnement de d veloppement Open Source nomm Aria Activmedia Robotic Interface for Applications qui permet de cr er une interface efficace avec le robot et ses accessoires La librairie qu elle contient est cod e en langage C Il est cependant possible de programmer en d autres langages tel que Java ou Python En plus de g rer les commandes du robot la librairie Aria dispose galement de diff rents classes g n riques sur la gestions des sockets des threads etc Ces classes g n riques reposent sur des fonctions r pondant la norme POSIX les programmes d velopp s partir de ces classes pourront donc tre indiff remment compil s sous Linux que sous Microsoft Windows La librairie ARIA est open source autrement dit elle est livr e avec l ensemble des sources qui ont permis de la cr er Il est donc possible de modifier une de ses sources ou m me de rajouter une classe puis de recompiler la librairie 2 CYCLE DE FONCTIONNEMENT A Principe R cup ration L application cliente d velopp e avec Aria ex cute un
34. ection du m dium Il est n cessaire de configurer le syst me d exploitation pour d terminer lequel du RJ45 ou du WiFi doit tre initialiser au d marrage du syst me Pour ce faire on dispose dans le r pertoire etc sysconfig network scripts les fichiers ifcfg eth0 et ifcfg ethI correspondant respectivement la liaison RJ45 et la liaison WiFi Dans ces fichiers nous trouvons la propri t onboot si cette propri t est mise yes la liaison correspondante est initialis e au d marrage du syst me Ainsi pour passer d une liaison Ethernet l autre il faut modifier ces fichiers onboot tant donc yes pour la liaison voulue puis red marrer le syst me Attention un et un seul de ces fichiers doit avoir sa propri t mise yes D Point d Acc s Le robot est livr avec un point d acc s de marque Cisco Il dispose en outre d un serveur Web et d un serveur DHCP embarqu Disposant d une prise RJ45 ce point d acc s peut tre connect un ordinateur ou directement un r seau local Accessible via n importe quel navigateur le serveur Web embarqu permet de configurer le point d acc s et notamment les param tres de la liaison WIFI Son adresse IP actuelle est 192 168 109 224 Si l on ignore cette adresse il existe un moyen simple de la retrouver en utilisant le serveur DHCP embarqu Brancher le point d acc s un ordinateur Lancer le logiciel Ethereal pour in
35. el cran d un ordinateur mais galement auditif Un application concr te peut tre lors de la rencontre avec un obstacle que le robot puisse exprimer une requ te polie bien entendu afin que si l obstacle est humain il s carte pour laisser le robot passer 6 RECONNAISSANCE VOCALE Le robot PeopleBot dispose de deux microphones situ s de part et d autre du sommet Il peuvent tre utiliser afin d couter les bruits issus de l environnement du robot mais galement dans le cadre de reconnaissance vocale c est dire la traduction en commande d un ordre formul vocalement Cet aspect compl te parfaitement l IHM auditif commenc e avec la synth se vocale Une des applications les plus utiles pourrait la reconnaisse par le robot de la phrase stop en tant que formule d arr t d urgence 7 TRANSMISSION DU SON ET DE L IMAGE Les images de la camera sont transmises un framegrabber applicatif logiciel qui permet la conversion des donn es issues de la cam ra en image vid o exploitable Le logiciel SAV Server Audio Video est destin restituer les images issues de la cam ra mais aussi les sons recueillis par les deux microphones dont dispose le robot Une fois le serveur SAV lanc il possible de visualiser les images gr ce au client SAV ou tout autre logiciel incluant la vid o tel que MobilEye Cependant pour transmettre la vid o un client distant il est n cessaire de passer par l interm d
36. exe est fournie avec la biblioth que ARIA dans le r pertoire Aria 2 4 0 bin et ses codes dans le r pertoire Aria 2 4 0 examples Application en ligne de commandes sous X term ou sous fen tre DOS elle offre une utilisation compl te du robot et de ses p riph riques pince cam ra Elle propose galement l affichage en temps r el des relev es faites par le robot position vitesse tat de la pince D PROJET ROBOT ARIA 2 4 bin gt demo exe You may press escape to exit Connecting to simulator through tcp yncing 1 Syncing 2 Connected to robot Name MobileSim Pioneer peoplebot sh Loaded robot parameters from peoplebot sh p ArACTS_1_2 0penPort Open failed Connection refused ou can do these actions with these keys escape 7h or 7 H or 22 or 7 switch to other modes keys tcm2 or y command or D acts or f io or I position or Pp bumps or B sonar or S camera or C gripper or G wander Y or 1 unguarded teleop or U teleop or T laser or bd Pr You are in teleop mode currently Teleop mode will drive under your joystick or keyboard control It will not allow you to drive into obstacles it can see though if you are presistent you may be able to run into something For joystick hold in the trigger button and then move the joystick to drive or keyboard control these are the keys and their actions up arrow speed up if forward or no motion slo
37. hes secondaires l tat PAUSE sera g n ralement l tat initial En revanche il faut pr voir des fonctions qui permettent la t che principale de g rer ses t ches secondaires activer d sactiver savoir si le but de la t che est atteint TACHE PRINCIPALE TACHE SECONDAIRE PAUSE activation LANCEMENT DE LA TACHE SECONDAIRE erreur rencontr e ERREUR ERREUR but atteint d sactivation DESACTIVATION DE LA TACHE Le diagramme ci dessus est une repr sentation possible d une application structur e hi rarchiquement avec une t che principale et une t che secondaire On peut ainsi voir que chaque t che poss de sa propre variable d tat qui volue donc de fa on diff rente Les fl ches en pointill s repr sentent les diff rentes interactions entre les 2 t ches et les termes en italique les conditions n cessaires pour que la transition s op re Ces interactions permettent de montrer de quelle fa on la t che principale est en mesure de contr ler la t che secondaire Il est noter que dans cet exemple la t che principale est en attente de la fin de la t che secondaire Or du fait de leur ex cution en parall le il est galement envisageable que la t che principale puisse continuer de r aliser d autres activit s pendant que se d roule la t che secondaire D autre part ce diagramme ne repr sente qu une seule t che secondaire mais on pourrait concevoir des str
38. i le mot de passe est vnc robot Pour modifier ce mot de passe il faux ex cuter c t serveur l application en ligne de commande vncpasswd YNC Authentication Password A l ouverture de la connexion avec le serveur l environnement X window s ouvre automatiquement en mode root La barre d outils ins r e par UltaVNC permet entre autres choses d envoyer des commandes clavier ex CTRL V CTRL N vers l ordinateur serveur ROQGSFEDETS 1192 168 109 250 1 2 e ia PL o705am 5 TELECOMMANDES Le robot PeopleBot offre la possibilit d tre utilis comme un robot de classe A ou 1 selon la classification c est dire directement command par un op rateur humain Pour une commande plus avanc e se reporter au Chapitre V Application cliente A Joystick Fourni avec le robot et branch sur une prise d di le joystick permet de manipuler le robot avec des commandes rudimentaires Marche Avant Marche Arri re Arr t Rotation R glage de la vitesse Outre le peu de commandes le principal inconv nient du joystick est la connection filaire qui oblige l op rateur rester constamment proximit du robot entre 1 et 2 m tres Il est noter qu il est possible d int grer les instructions du joystick l int rieur d une application cliente Cf Chapitre V au travers de les classes ArJoyHandler et ArActionJoydrive B L Application DEMO L application open source demo
39. iaire d une application serveur d di e bas e sur ArNetworking Ce serveur gr ce la classe ArHybridForwarder Video r cup re les images sur le serveur d image puis les met la disposition tous client qui souhaite s y connecter La r cup ration des images peut tre par exemple au centre d un syst me autonome de surveillance d un entrep t ou plus g n ralement d une entreprise en dehors de sa p riode d activit VII RESOLUTION DE PROBLEMES Ce chapitre pr sente plusieurs erreurs techniques susceptibles d tre rencontr es et explique pour chacune d entre elles la fa on de la r soudre 1 Erreur au d marrage de MobileSim sous Windows XP Lors du d marrage de la simulation avec ou non chargement d un fichier map l erreur suivante risque d arriver C DOCUME 1 Temp MobileSim stage_world 3168 world 51 syntax error Ce probl me vient d une incompatibilit entre le logiciel et le syst me d exploitation en effet le logiciel attend le symbole comme s parateur des d cimales au lieu de Pour r soudre le probl me il faut faire la d marche suivante Aller dans D marrer gt Panneau de configuration gt Options R gionales et Linguistiques Cliquer sur Personnaliser Modifier dans Symbole D cimal le symbole par Cliquer sur OK mom 3 gt gt gt t corrig dans la version 0 2 de MobileSim 2 Erreur l ex cution d un programme utilisant la librairie Aria sous Linux
40. ioneer Arm related commands See Arm manual for details 80 ROTKP 82 int Change working rotation Proportional PID value ROTKV 83 int Change working rotation Derivative PID value Change working rotation Integral PID value Change working translation Proportional PID value Change working translation Derivative PID value Change working translation Integral PID value 1 0 Change working differential encoder count Damaon 89 ne Change working dif ctor 0 mute User Control piezo 1 enable Change working encoder ticks per millimeter tire travel Artificially set the battery voltage argument in tens volts 100 10V 0 to revert to real voltage Force a power on like reset of the controller Engage controller maintenance ARSHstub mode 1 0 ANNEXE 2 Tableau des commandes impl ment es dans MobileSim 0 2 NAME CMD ARG DESCRIPTION PULSE 0 no op OPEN 1 int start up standard devices and send SIP packets CLOSE 2 int stop standard devices ENABLE 4 uint enable 1 or disable 0 motors note however that motors can never be disabled in Stage you can always drive SONAR 28 uint disable 0 or re enable 1 sonar CONFIG 18 request a configuration packet STOP 29 int stops the robot from moving VEL 11 int set the translational velocity mm sec ROTATE 9 int set rotational velocity duplicate of RVEL deg sec RVEL 21 int set rotational vel
41. marrage du robot et doit donc tre lanc e manuellement ou rajout e inetd Syst me embarqu Le port par d faut est 8101 B Choix du protocole de Transport La librairie ARIA propose les 2 protocoles UDP et TCP comme protocoles de la couche Transport le protocole TCP tant par d faut Cependant le protocole TCP n est pas forc ment le plus adapt pour une application temps r el En effet les QoS propos es par TCP ont pour cons quence un ralentissement dans la transmission Par exemple si un paquet est perdu ce qui n est pas forc ment important dans l application cliente le protocole TCP va alors redemander ce paquet Or le temps de le redemander et que le paquet soit r achemin les valeurs qu il contient sont peut tre devenues obsol tes En revanche le protocole UDP qui ne propose aucune QoS est de fait plus rapide N anmoins ce protocole n assure pas l ordonnancement des paquets transmis Ce probl me peut se produire lorsque les paquets sont achemin s via Internet et transitent par des serveurs diff rents Dans le cas d un r seau local le probl me ne se pose Si on souhaite toutefois utiliser le protocole UDP au travers d Internet il est possible le protocole RTP Real time Transfert Protocole situ sur la couche Session Ce protocole utilis pour la transmission temps r el de sons et de vid os permet le s quencement des paquets et d y ajouter un marqueur temporel 7 COMPILATION A
42. ned reference to std List node base hook std List node base usr local Aria lib libAria so undefined reference to std Rb tree decrement std Rb tree node base const usr local Aria lib libAria so undefined reference to std Rb tree insert and rebalance bool std Rb tree node base std Rb tree node bas e std Rb tree node base amp usr local Aria lib libAria so undefined reference to std Rb tree rebalance for erase std Rb tree node base std Rb tree node base amp usr local Aria lib libAria so undefined reference to std Rb tree increment std Rb tree node base collect2 Id returned 1 exit status make Client Erreur 1 Ces erreurs proviennent directement d une incompatibilit avec le compilateur En effet la librairie libaria so a t initialement compil e avec la version 3 4 de g A partir de la son utilisation avec une version pr c dente du compilateur g n rera obligatoirement des erreurs Pour rem dier ce probl me deux solutions est envisageable mettre a jour le compilateur par un version plus r cente recompiler la librairie avec la version du compilateur pr sent dans le syst me 5 Erreur de liens la compilation de la librairie sous Visual C Lors de la compilation de la librairie dynamique Aria dll avec le compilateur Visual C Express 2005 les erreurs de lien suivantes peut ventuellement survenir
43. nvironnement Java 2 SDK Standard Edition version 1 4 2 disponible sous Linux ou Windows et d velopp par Sun Microsystems TM Ce kit de d veloppement propose un compilateur un mode lignes de commande le programme java permet de transformer les classes en fichiers objets le programme javac quant lui r alise un ex cutable partir des fichiers objets 9 CREATION D UNE IHM Bien que ce soit un langage rapide adapt aux applications mat rielles le langage C ne permet de cr er facilement une Interface Homme Machine ergonomique Cependant il est possible de r aliser des ponts entre l application cliente destin e commander le robot et une IHM crite dans un autre langage plus adapt la cr ation d interfaces A Les pages Web dynamiques Le langage de pr sentation HTML HyperText MetaLanguage a t initialement cr pour r aliser facilement des pages consultables sur Internet et pouvant recevoir des contenus vari s textes images sons vid os Ces pages se trouvent sur un serveur HTTP et sont par cons quent accessibles par tout ordinateur situ sur le m me r seau Le langage interpr t PHP Preprocessor permet quant lui de r cup rer et de traiter les informations envoy es depuis un formulaire HTML de les transmettre l application cliente puis de modifier les pages HTML en fonction des informations retourn es par l application Pages HTML Application Cliente r sultat
44. obot se traduit simplement par l activation et la d sactivation des actions appropri es Il est possible d ailleurs de d finir plusieurs t ches utilisateurs chacune d elles pourra ainsi correspondre un cas d utilisation principal ou secondaire du syst me Ainsi c est en g n ral l int rieur des t ches utilisateurs que sera contenu le squelette de l application B Int gration dans le cycle A l instar des actions les t ches utilisateurs doivent tre int gr es dans le cycle par la m thode addUserTask de la classe ArRobot Elles possedent galement un nom unique ainsi qu un priorit Le fait qu une t che utilisateur soit incorpor e au cycle pr sente quelques contraintes en effet au lieu d tre ex cut e de fa on lin aire comme cela se passe traditionnellement pour toute application la t che est relanc chaque red marrage du cycle soit environ toutes les 100 ms De ce fait pour qu une t che puisse conserver une valeur d un cycle sur l autre il faut imp rativement que la variable soit globale ou de fa on plus l gante que la t che et la variable soit une m thode et un attribut d une m me classe Pour cette m me raison il faut s assurer que la t che n initialise qu une seule et unique fois ses variables sinon elles seront r initialis es chaque cycle Enfin les t ches utilisateurs ne disposent pas comme les actions des m thodes activate et deactivate il est donc im
45. ocity duplicate of ROTATE deg sec VEL2 32 2bytes independent wheel velocities first byte signed is right second left HEAD 12 uint turn to absolute heading 0 359 degrees SETO 7 none resets robots odometry back to 0 0 0 DHEAD 13 int turn relative to current heading degrees SETV 6 int sets maximum velocity and MOVE velocity mm sec SETRV 10 int sets the maximum rotational and HEAD velocity deg sec SETA 5 int sets translational accelleration mm sec sec SETRA 23 int sets rotational accel or decel deg sec MOVE 8 int translational move mm
46. or Tracking System qui permet de d tecter une ou plusieurs couleurs pr d finies dans l image transmise par la cam ra Ceci permet de reconna tre d un objet au sein d un environnement ou de g rer les d placements du robot A Phase d entra nement Avant d exploiter ACTS une phase d entra nement est at n cessaire afin de d terminer les couleurs rechercher File Settings Info Window Cette phase est r alis e gr ce l utilitaire EZ Train r P A gt x Training Tools Training Window Commands application cliente lanc en m me temps que le serveur ACTS Loos Cet utilitaire ne peut tre ouverte que sous environnement X ame Single Frame Window Magnification Jao 1 Pour cela il propose une console de commandes ainsi 1 qu une fen tre d acquisition dans laquelle se placent les images issues de la cam ra Channel Commands 4 i Blobs Tracked Channel Filename Avant de s lectionner une couleur il est n cessaire de 4 3 gt choisir un canal parmi les 32 possibles Ces canaux z j elect Current Channel ind pendants correspondent chacun a la recherche d une 613 6916 61724 6250 couleur pr cise M 2 3 4 5 6 7 e Le canal choisi on peut le nommer mais aussi fixer le nombre de t ches de 1 10 rechercher avec la couleur choisie Une fois ces r glages tablis on pointe la cam ra vers la couleur a d tecter et on la s lectionne
47. plebot sh Warning Recieved unsupported command 40 sim_peoplebot sh Warning Recieved unsupported command 17 Time 0 0 00 30 400 fsim real 0 91 subs 2 Stage v2 0 0a amri Il est possible d afficher temps r el les informations de position du robot Sont pr cis s la distance parcourue ou position odom trique abscisse ordonn es orientation les indications de vitesse vitesse de translation et de rotation la position absolue abscisse ordonn es orientation Comme le montre la capture d cran ci dessous un plan peut tre charg par le simulateur qui permet de visualiser ainsi la gestion des collisions par le robot On peut d ailleurs visualiser la diffusion des rang es de sonar arri re et avant repr sent ici par les traits gris s Un clic droit sur le robot permet de modifier son orientation un clic gauche de modifier son emplacement La roulette de la souris permet d effectuer un zoom avant ou arri re sur le robot Il est noter que le d placement la souris modifie les valeurs de la valeur de position absolue mais en aucune fa on les valeurs odom triques Il est n anmoins possible de r initialiser la position du robot allant dans File Reset ou en faisant Ctrl R V APPLICATION CLIENTE Comme je l ai d j dit plus haut le comportement du robot est de type Client Serveur Il est donc possible de commander le robot partir d une application cliente Cette application peut tre lan
48. plication cliente doit par cons quent se connecter au robot serveur Pour se faire l application doit transmettre dans l ordre trois paquets de synchronisation r f renc s par SYNCO SYNCI SYNC2 au robot si elle re oit en retour des paquets en cho alors la connexion est tablie Bien que la connexion soit tablie il reste indispensable de commander l ouverture des serveurs du robot sonars moteurs par la transmission de la commande OPEN Pulsation Comme indiqu pr c demment le robot transmet l application cliente un paquet SIP tous les 100ms En retour c t robot un watchdog en fran ais chien de garde s attend recevoir de fa on r guli re un paquet de commande de la part de l application S il ne re oit pas de paquet durant un laps de temps pr d fini alors la connexion client serveur s interrompt et le robot s arr te De ce fait quand aucune commande ne doit tre envoy e au robot l application cliente doit envoyer des paquets de pulsation qui ne contient aucune commande autre que la commande d di e PULSE seule fin de r initialiser le watchdog D connexion L envoi par le client d un paquet avec la commande CLOSE permet la fois d arr ter le robot et de cl turer la communication Le robot se met alors en attente d un nouveau client D QoS Qualit s de service Il se peut que lors de la transmission d un paquet qu il s agisse d un SIP ou d un paquet de commande on trouve une
49. possible de les d sactiver une fois plac es dans le cycle D s lors il faut veiller neutraliser une t che si celle ci n est plus ou pas encore utile C Automate Etats Finis D finition Une des solutions possibles pour d crire un cas d utilisation dans une t che utilisateur est de d finir le syst me comme un automate tats finis Un automate ou machine tats finis permet de d crire simplement le comportement d un syst me en le d composant en un nombre fini d tats distincts reli s entre eux par des transitions Les transitions peuvent ventuellement tre soumis une condition valu e position atteinte r ception d un signal Chaque tat peut correspondre alors un ensemble d activit s afin d atteindre un ou plusieurs objectifs atteindre une position d marr un syst me ou un tat pr cis du syst me syst me en veille ou arr ter On notera qu il est primordiale d avoir un et un seul tat initial g n ralement d finis dans le constructeurs de la classe En revanche il est tout fait possible d avoir plusieurs tats finaux Repr sentation Le diagramme UML d tats transitions est avec le r seau de P tri un diagramme qui permet de repr senter au mieux un automate tats finis tat initial 0 transition TACHE EN COURS tat final gt Etats particuliers Certains tats sont remarqu s plus particuli rement du fait de leu
50. r utilit et de leur pr sence r currente dans les automates tats finis l tat INIT tat dans lequel se fait l initialisation des variables n cessaires la t che l tat PAUSE tat qui permet de neutraliser la t che jusqu son activation l tat FIN tat qui stipule que le but de la t che est accompli l tat ERREUR tat qui indique que la t che n a pu se d rouler normalement Les tats INIT ou PAUSE pourront l un ou l autre constituer l tat initial de l automate tats finis De m me l automate pourra avoir les tats FIN et ERREURS comme tats finaux Impl mentation Pour impl menter une t che en utilisant le principe d un automate tats finis on a besoin de 2 l ments une variable statut qui conservera l tat actuel de la t che une structure conditionnelle de type switch qui chaque lancement de la t che ex cute le code associ l tat actuel du syst me Exemple void MaTache Condition sur l tat switch statut case INIT nitialisation des param tres break case TACHE EN COURS code pour satisfaire la t che accomplir break L ensemble des tats possibles pourra tre num r dans une variable de type enum ou d fini comme constantes gr ce au mot cl s define La seconde possibilit est pr f r e si cette liste d tats est vou e s agrandir Exemple enum tat INIT PAUSE ERREUR ou define INIT 0
51. rmat des paquets de commande Ent te 2octets Il s agit invariablement des caract res OxFA et OxFB Longueur loctet Nombre d octets du paquet checksum compris sans compter l ent te ni le champ longueur Commande loctet Code de la commande de 0 255 Cf Annexe 1 Type loctet Il s agit du type de l argument de la commande Entier positif 0x3B Entier n gatif ou absolu 0x1B String 0x2B Argument n octets Argument de la commande Si la taille de l argument est sup rieur 1 octet l argument est alors pr c d de sa taille CheckSum 2 octets Champ de v rification de l int grit du paquet Il est remarquer que l octet de poids faible pr c de ici l octet de poids fort Exemples Paquet qui permet de l ouverture des serveurs du robot commande OPEN 250 251 3 1 0 1 entete longueur checksum Paquet qui fixe la vitesse du robot 50 mm s commande e argument m 2516 6591 50 0 4 entete vo La type d argument taille de entier l argument B SIP Server Information Packet Une fois la connexion tablie Cf Chapitre suivant ARCOS transmet automatiquement et r guli rement un SIP standard au travers du m dium de transmission Le format des ces paquets est similaire celui des paquets de commandes C D roulement d une Connexion Connexion au robot Comme nous l avons d j vu le robot repose sur une architecture client serveur une ap
52. rmet d inclure les fichiers contenu dans le dossier include alors que les param tres L usr local Aria lib lAria permettent d tablir le lien avec la librairie Aria lib situ dans le r pertoire usr local Aria lib B Compilation sous MICROSOFT WINDOWS Microsoft Visual C NET 2003 Pour pouvoir compiler un projet se servant de la librairie Aria il est indispensable que le projet soit correctement configur Cr er tout d abord un nouveau projet File gt New gt Project en choisissant Console Application Aller modifier les propri t s en allant dans Project gt Properties Dans le champ Configuration en haut gauche choisir All Configurations Cliquer sur Linker Dans la section General au niveau de Additional Librairy Directories ajouter le chemin de la librairie Aria C Program Files ARIA 2 4 0Mib Dans la section Input dans Additionnal Dependancies ajouter les librairies suivantes Aria lib winmm lib wsock32 lib Cliquer sur C C Dans la section General au niveau de Additional Include Directories ajouter le chemin du fichier Aria h C Program Files ARIA 2 4 0 include Dans la section Precompiled Headers au niveau de Create Use Precompiled Header choisir Not Using Precompiled Headers Aller la section Code Generation Changer le champ Configuration sur Debug puis la rubrique RunTime Librairy choisir Multi threaded Debug Changer nouveau le champ
53. sec 11 int Translate at mm sec forward or backward SETV limit VEL HEAD 12 int Turn at SETRV 13 Turn at SETRV speed relative to current heading counter or clockwise degrees SAY 15 Play up to 20 pairs of duration tone sound pairs through User Control Panel pi peaker CONFIG as e Request one 1 a continuous stream gt 1 or stop 0 encoder SIPs o le dl Rotate robot at counter or clockwise degrees sec SETRV limit DCHEAD DES Adjust heading relative to last setpoint degrees ccw 3 int Change rotation de or acceleration in degrees sec 1 enable 0 disable all the sonar otherwise use bit 0 to enable 1 or disable 0 a particular array 1 4 as specified in argument bits 1 4 DIGOUT none Stop the robot motors remain enabled Set 1 or reset 0 User Output ports Bits 8 15 is a byte mask that selects if set 1 the output port s for change Bits 0 7 set 0 Set independent wheel velocities bits 0 7 for right wheel bits 8 15 for left wheel in 20mm sec increments Gripper server commands See the Gripper or PeopleBot Manual for details Selects the A D port number for reporting ANPORT value in standard SIP Gripper server values See Gripper or PeopleBot Manual for details Request one 1 a continuous stream gt 1 or stop 0 Gripper SIPs Request one 1 a continuous stream gt 1 or stop 0 IO SIPs Sends string
54. stance WEP Wired Equivalent Privacy WiFi Wireless Fidelity REFERENCES LOGICIELLES ACTS ARCOS ARIA 2 4 0 Java2 SDK MapperBasic 3 Mico MobileEyes 1 2 8 MobileSim 0 2 OpenCV SAV UltraVNC VisLib Visual C Express 2005 VNC DOCUMENTATION PeopleBot Manual V6 ARIA Reference ACTS User Manual TP Commande multi t che de la pince d un robot TP Commande des d placements d un robot ANNEXE 1 Tableau des codes de commande PP __ S VERSION lA Before Client Connection _ O snco O0 none Start connection Send in sequence ARCOS echoes SYNCI 1 none synchronization commands back to client and robot specific auto synchronization after SYNC2 ll After Established Connection O PULSE O none Reset server watchdog OPEN 1 none Start up servers 10 CLOSE 2 none Close servers and client connection POLLING 3 str Change sonar polling sequence 10 Eume 4j int Ircmable disable the motots 10 Set translation acceler ation if positive or deceleration if negative in mm sec SETV 6 int Set maximum move translation velocity mm sec SETO 7 none Reset local position to 0 0 0 ogg 10 MOVE 8 int Translate forward or back mm distance at SETV speed 10 ROTATE 9 int Rotate counter or clockwise degrees sec 10 Sets maximum turn rotation velocity degrees
55. tercepter les paquets qui circulent entre l ordinateur et le point d acc s teint Configurer l ordinateur en client DHCP autrement pour qu il r cup re dynamiquement son adresse IP Allumer le point d acc s R cup rer une trame DHCP dans lequel le point d acc s informe l ordinateur de sa nouvelle adresse IP l adresse IP du point d acc s s y trouve aussi E Configuration Si on souhaite que le robot soit en liaison avec le point d acc s fourni ou tout autre point d acc s WIFL il est n cessaire de configurer l interface WIFI en mode Managed Dans le cas contraire c est dire avec un r seau de deux machines elle doit alors tre en mode Ad Hoc Il existe 2 moyens d effectuer cette configuration soit provisoirement par l instruction usr local sbin iwconfig soit en modifiant la configuration par d faut Cette configuration par d faut se trouve dans le fichier etc pcmcia wireless opts et est lanc e au d marrage de la machine On trouve dans ce fichier tous les l ments de configuration Exemple Configuration pour le point d acc s CISCO ESSID Wireless Network MODE Managed RATE auto Si le r seau sans fil sur lequel on souhaite connecter la machine dispose d une cl WEP il faut alors d commenter dans le fichier la ligne KEY et renseigner ce champ Si votre cl WEP ma_cl est en hexad cimal taper KEY ma_cl Si elle est en ASCII rajouter s KEY s ma_cl 4 INTERFACA
56. tr le automatique reprogramm m caniquement Classe 4 ROBOTS PLAY BACK S quences qui sont ex cut es l origine sous la supervision d tres humains m moris es puis rappel es pour tre rejou es Classe 5 ROBOTS AVEC CONTROLEUR NUMERIQUE Les positions des s quences sont contr l es par des donn es num riques Classe 6 ROBOTS INTELLIGENTS Le robot peut r agir son environnement et des modifications arrivant durant l ex cution Pour information voici galement la classification de l AFRI Classe A TELEMANIPULATEURS Manipulateur ma tre esclave Classe B MANIPULATEURS AUTOMATIQUES Manipulateurs automatiques avec s quences fixes Manipulateurs automatiques avec s quences variables Machines commandes num riques Classe C ROBOTS PROGRAMMABLES l re g n ration de robots Classe D ROBOTS INTELLIGENTS 2 me g n ration de robots munis de syst me de vision 3 me g n ration de robots avec intelligence artificielle Trois caract ristiques diff rencient le robot intelligent d un jouet Il peut suivre ses propres mouvements Il peut ressentir son environnement Il peut prendre des d cisions sur l action suivre bas es sur les derni res informations ll LE ROBOT PEOPLEBOT 1 DESCRIPTION Le robot PeopleBot d velopp par la soci t ActivMedia a t sp cialement con u pour interagir avec son environnement et plus
57. u fonctionnant en tant que serveur et d di la manipulation des informations de bas niveau capteurs et actionneurs B Interface ARCOS ActivMedia Robot Control et Operation Software est une interface client serveur initialis e au d marrage du robot au travers de laquelle il est possible de contr ler le robot et de collecter des informations ce qui comprend les mouvements des roues les valeurs retourn es par les sonars etc On peut acc der directement ARCOS partir de l OS embarqu grace l application ARCOScf cette application en ligne de commande permet d effectuer des r glages et de contr ler le robot Application Cliente Informations Serveur Commandes Communication Interface Serveur Traitement divers Capteurs Actionneurs Architecture Client Serveur Les param tres d ARCOS temps de cycle dur e du watchdog param tres du PID sont contenues dans la m moire Flash du robot et peuvent tre modifi s par l envoi d une commande par ARCOScf ou toute autre application cliente 2 Protocole de communication Afin de transmettre les informations n cessaires au contr le du robot il a t d velopp un protocole de communication propri taire Ce protocole se compose de 2 types de paquet les paquets de commandes de l application cliente vers le robot les informations serveurs ou SIP du robot vers l application cliente A Paquet de Commande Fo
58. uctures plus complexes avec plusieurs t ches secondaires ces t ches pourraient tre activ es les unes apr s les autres ou simultan ment ou bien m me appel es par une autre t che secondaire Ce diagramme montre enfin un bon exemple de t che que l on peut appel plusieurs fois lors d une m me ex cution En effet on peut constater que l volution de l tat de la t che secondaire est cyclique et permet ainsi d tre nouveau activ e apr s s tre termin e une premi re fois Il est alors possible de cr er des fonctions qui modifient les param tres de la t che entre deux activations modification de la position du niveau atteindre En dernier lieu on peut avoir une structure mixte avec une t che principale et des t ches secondaires qui seront ensuite elles m mes d compos es en t ches parall les 6 COMMUNICATION TCP IP A Pont TCP S rie Application Les communications avec ARCOS se font par d faut via le TCP IP port s rie qu il soit externe ou bien interne Ainsi si une application cliente veut communiquer avec ARCOS via le protocole TCP IP elle est oblig e de passer par un pont logiciel entre TCP IP et le port s rie La librairie ARIA fournit ces fins dans le r pertoire usr local Aria examples le code de l application IPTHRU application qui se comporte en serveur TCP et retransmet les informations re us sur le port s rie interne Cette application n est pas ARCOS lanc e par d faut au d
59. w down if going backwards down arrow slow down if going forwards speed up if backward or no motion left arrow turn left right arrow turn right space bar stop transVel rotVel x 443 1056 L avantage de cette application est de pouvoir manipuler le robot distance le laissant totalement libre de ses mouvements On peut soit lancer cette application depuis le syst me d exploitation du robot soit depuis un poste distant Dans le premier cas il est donc possible de se connecter distance l OS Cf paragraphe 4 interfa ages avec le robot et d y lancer l application Il est noter qu une simple connexion Telnet suffit Dans le second cas l application tentera de se connecter au robot via le port s rie COM1 Pour un port diff rent il faudra utiliser l option rp De plus pour se connecter via le protocole TCP IP il faudra alors utiliser l option rh le port tant fix par d faut 8101 Exemples gt demo exe rp COM2 gt demo exe rh 192 168 109 222 Cette application a galement la possibilit de fonctionner avec un simulateur CF Chapitre IV Elle tentera d ailleurs au lancement de s y connecter par d faut C MobileEyes Contrairement l application demo exe MobileEyes dispose d une interface graphique GUI en anglais Les commandes propos es sont moins nombreuses que dans l application demo exe pas de gestion des p riph riques mais 1l est ici possible de suivre gr

Download Pdf Manuals

image

Related Search

Related Contents

Montageanleitung Automatic-Antenne AUTA 6000 KE  UserManual-Unity bkp.qxd  DoubleSight Displays DoubleSight DS-1700 User's Manual    Connexions Access QRG  DigiVOX mini II V2.0 User Manual  PDF - Jornal da República  

Copyright © All rights reserved.
Failed to retrieve file