II. LE ROBOT PEOPLEBOT(tm). MobileRobots MobileEyes, MobileSim, Mapper 3Basic, PeopleBot
II. LE ROBOT PEOPLEBOT
(tm)
1) DESCRIPTION
Le robot PeopleBot tm , développé par la société ActivMedia, a été spécialement conçu pour interagir avec son environnement, et plus 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, etc...
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 i686).
Cet OS dispose entre autre d'un environnement graphique X-window - sous interface Gnome
- indispensable notamment pour l'utilisation du logiciel ACTS.
Le compte par défaut est : login : "guest" passwd : ""
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élection 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-eth1 , 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 intercepter 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 WIFI, 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) INTERFACAGES 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 startx.
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.
Au niveau du robot, vncserver - 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.
Exemple : 192.168.109.250:1
Ensuite, pour des raisons de sécurité, l'utilisation du logiciel impose la saisie d'un mot de passe (ici 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.
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.
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.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...).
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 :
>demo.exe -rp COM2
>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
(tm)
Contrairement à l'application demo.exe, MobileEyes
(tm)
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 il est ici possible de suivre graphiquement 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.
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.

Link público atualizado
O link público para o seu chat foi atualizado.