Mise en place d'une manip de téléopération du CyCab depuis le Lag
*Contexte
Il s'agit d'un projet de collaboration Lag-Inria pour une expérimentation de téléopération en robotique mobile dont le but expérimental est la conduite du CyCab évoluant sur le parking de l'Inria par un opérateur sur un simulateur de conduite situé au Lag sur le Campus.
Cette idée date d'à peu près un an. J'ai été mis au courant lors d'une réunion avec Bernard Espiau, Olivier Sename, Sépanta et Cédric. Olivier nous a exposé succintement le projet. Je l'ai trouvé intéressant et ai donné mon accord de principe pour l'utilisation de nos ressources.
*Matériel du Lag
une cabine de pilotage avec volant et pédales interfacé avec un PC Windows sous MathLab et sur le réseau du campus universitaire.
*Matériel de l'Inria
le CyCab dont l'architecture informatique matérielle comprend entre autre un PC sous Linux et RTAI sur le réseau de l'Inria via une connection Ethernet sans fil. Les asservissements bas niveau des moteurs sont réalisés par des microcontrôleurs MPC555 sous SynDEx.
*Expérimentation envisagée
l'opérateur dans son simulateur devrait faire évoluer le CyCab sur le parking en ayant les mêmes sensations de conduite qu'il aurait en conduisant une voiture réelle. Pour cela il a besoin d'un retour video de la scène vue à travers le parebrise du CyCab et d'un retour d'effort pour le volant.
Déroulement possible de la manip :
- Sur le simulateur :
- acquisition des parametres de conduite ( angle du volant et position des pédales de frein et d'accélérateur),
- transformation de ces paramètres en consignes compréhensibles par les asservissements bas niveaux du CyCab et émission vers le CyCab via le réseau,
- calcul de l'asservissement du volant (retour d'effort),
- Sur le CyCab :
- réception des consignes de conduite sur le PC,
- asservissement des moteurs,
- envoi de l'état du véhicule : vitesse déduite de l'odométrie, angle de braquage déduit de la position du vérin de direction, courant dans le moteur de direction (image du couple)
*Besoins exprimés par Olivier Sename
- le CyCab en mode voiture dont seul le train avant est directeur,
- fournir une mesure du couple résistant exercé au niveau de l'ensemble de direction,
- une liaison sûre entre le campus et l'Inria avec des délais de transmission déterministe pour un fonctionnement temps réel.
- un retour video pour que l'opératur distant puisse visualiser sur un moniteur, la scène vue à travers le parebrise du CyCab
*Solutions proposées
- pour le fonctionnement en mode voiture, il n'y a pas de problème, les deux directions sont indépendantes.
- pour la mesure du couple exercé sur la direction, Olivier m'a demandé s'il était possible d'équiper le CyCab avec par exemple des jauges de contraintes sur les biélettes. Je lui est répondu qu'a priori c'était faisable parce qu'il reste des entrées analogiques libres sur les noeuds et que s'il savait dire quel type de jauge et comment les positionner on pouvait éventuellement le faire, mais je lui ai suggéré dans un premier temps de lui fournir le courant dans le moteur du vérin de direction qui à mon sens représente le couple qu'il veut mesurer (ca m'arrangeait parce que cette mesure de courant était prévue dans le cahier des charges de l'appel d'offre CyCab). A la suite de cette réunion Cédric a modifié le graphe SynDEx pour mesurer ces courants et récupérer les mesures via l'API Linux_IO. Et là : oh surprise on s'est apercu que l'on ne récupérait rien de bien pertinent sinon du bruit. En regardant les schémas des noeuds, je me suis apercu de l'erreur de câblage de Robosoft (les sorties des variateurs de puissance permettant de mesurer le courant dans les moteurs étaient reliées aux sorties de conversion digitale/analogique). J'ai modifié le câblage et on a pu faire quelques mesures dont les résultats bruts bien que fort bruités semblent exploitables.
- Cédric a fait une application qui lui permet de piloter (envoyer des consignes et récupérer des états) le CyCab depuis son bureau à travers le réseau interne. La téléopération semble donc faisable moyennant une liaison sûre et déterministe entre le campus et l'Inria. On a pris contact avec les MIs pour voir ce qui pouvait être fait et une réunion a été programmée le26 juin avec pour le Lag Canudas, Olivier Sename, Yajun Pan la post doc devant travailler sur le sujet, Pascal Bellemainl'ingé informaticien du Lag, et pour l'Inria Hervé Mathieu, Jean Pierre Augé et moi. Il en est ressorti que cette manip était envisageable moyennenant quelques aménagements : si le traffic est initialisé depuis une machine de l'Inria (pas de filtrage en sortie), les données de retour sont défiltrées bien que l'accès au réseau de l'Inria depuis l'extérieur soit sécurisé. Par contre, si la manip est initialisée depuis l'extérieur il faut modifier les règles de filtrage qui peuvent être aménagées pour autoriser la connexion avec des machines bien identifiées (adresse IP et numéro de port). C'est possible et ca a déjà êté fait. Je suppose que le réseau du campus a des règles de sécurité voisines des notres et qu'une déclaration des machines autorisées à communiquer à travers le réseau sans filtrage est à faire des deux côtés. Quant au protocole de transport le choix entre UDP et TCP/IP n'est pas encore fait : la petite taille des trames échangées (quelques réels) inciterait à choisir UDP mais il y a risque de perte de trames du fait de la différence de vitesse réseau au deux extrémités, UDP ne fait pas de contrôle de flux tandis que. TCP garantit l'échange en optimisant les flux, mais c'est un protocole plus lourd avec un moins bon rapport données pertinentes / taille de la trame. (les deux solutions sont à tester).
- pour le retour video il y a moins de containtes temps réel et les sauts d'image éventuels ne sont pas rédibitoires. Deux solutions sont envisageables et doivent être testées :
- utiliser une caméra avec adresse IP (la base mobile ethernet sans fil dans le CyCab peut faire hub), l'inconvênient majeur est le partage de la liaison ethernet sans fil qui est très lente.
- utiliser la webcam analogique + un émetteur video hertzien + la carte d'acquisition sur la machine Affligem.
A faire
- communiquer aux MIs les infos sur la machine du Lag dont les accès au réseau Inria doivent être défiltrés : adresse ip 195.220.25.99 port a choisir (contact Lag : philippe.drouet@inpg.fr)
- communiquer au Lag les adresses IP et les numéros de port de nos machines concernés (bcycab et affligem),
- demander l'ouverture d'un compte sur une de nos machines pour le Lag pour pouvoir tester les communications (exécution d'un calcul sur un site à partir de données fournies par l'autre site),
- tester la liaison ethernet sans fil du CyCab sur le parking (portée de la liaison, nécessité ou non de déplacer la base fixe, ...)
- tester l'émetteur video et toute la chaîne d'acquisition video pour la webcam embarquée sur le véhicule évoluant sur le parking.
- tester l'autre camera directement sur le réseau sans fil.
-
GerardBaille - 07 Jul 2003