• Aucun résultat trouvé

3. Aide proposée

3.4. Perspectives

Le bon fonctionnement de cette technique dépend de plusieurs facteurs. La prédiction de la trajectoire du robot est importante, d'où la nécessité d'avoir un bon modèle implémenté sur l'interface de contrôle.

L'évaluation correcte du délai est aussi importante à effectuer. L'Internet n'est pas un milieu de transport de l'information déterministe. Dans le meilleur des cas, on peut avoir une information sur le délai dans une seule direction. Ceci peut être achevé en synchronisant les

horloges du robot et de l'ordinateur qui héberge l'interface de contrôle. Ensuite, chaque paquet de données transmis devra être daté.

Les hypothèses qu'on a faites sur l'environnement sont aussi contraignantes pour l'utilisation de l'aide. Pour rappel, on a supposé que le robot se trouve dans un bâtiment, soit une maison, un appartement ou des bureaux. Ceci implique une limite supérieure pour la taille des pièces. La représentation incorrecte des occlusions visuelles est moins gênante pour les courtes distances, comme celles qu'on retrouve à l’intérieur des bâtiments.

La prise en compte du modèle de la caméra présente sur le robot dans le calibrage de la transformation de la dernière image reçue du robot est susceptible d’améliorer la prédiction de l'image qui sera affichée sur l'interface de contrôle de l'opérateur.

Si, à cause des problèmes de réseau, l’intégralité des commandes envoyées au robot n’est pas reçue par celui-ci, le décalage entre l’image prédite et celle réelle peut devenir assez important pour qu’il soit remarqué par l’opérateur. S’il n’y a que quelques commandes qui sont perdues, ceci n’est pas grave, grâce au fait qu’on envoie des commandes au robot avec une fréquence élevée (des dizaines d’hertz). Dans le sens inverse (de robot vers l’opérateur), la situation est plus délicate. Ceci est dû au fait que les images sont transmises à une fréquence maximale de vingt hertz, mais ceci peut baisser en dessous de dix, et, donc, si on perd une, il y a plus de chance que l’opérateur se rende compte de la disparité entre les commandes qu’il pense avoir envoyée et l’affichage (à cause d’une perturbation plus prononcée de celui-dernier). Pour une perturbation ponctuelle, cette disparité, même si elle est détectable par l’opérateur, n’est pas gênante pour l’ensemble de la téléopération. Le système d’aide est capable, grâce au fait qu’il travaille sur une période courte de temps et non pas sur un long historique, de recorréler les commandes envoyées avec la modification de la vidéo (supposant que la perturbation a cessé).

Les êtres ou objets qui sont en mouvement dans le champ visuel de la caméra peuvent générer des différences dérangeantes entre l’image prédite et l’image réelle. Plus leur vitesse sera importante, plus cette différence sera dérangeante. Si on arrivait à les distinguer de l’arrière-plan et faire une bonne prédiction sur leurs mouvements, on pourrait envisager une modification de l’aide, pour les prendre en compte. Un modèle de ces êtres ou objets, avec leur position courante dans l’environnement lointain et une identification de l’arrière-plan amélioreraient la prédiction de la scène pour ce type de situations.

Dans la partie précédente de cette thèse on a montré une technique permettant de téléopérer un robot en présence d'un délai moyen (entre 300 ms et 2 s). Dans cette partie on va analyser le cas d'un grand délai (supérieur à 2s).

On considère que le délai est trop important pour une téléopération confortable. Le téléopérateur habituel sera obligé d'adopter un mode saccadé de téléopération (il fera avancer le robot sur une petite distance, ensuite il attendra la réception des nouvelles données). Ce mode saccadé est souvent appelé « move and wait ». Afin d'éviter que ceci se passe et pour rendre plus facile la tâche de l'opérateur, un nouveau mode de commande sera proposé.

L'idée derrière ce mode est que l'opérateur indiquera au robot un point à atteindre, et celui-ci sera chargé soit de déterminer le plus court chemin pour l'atteindre, soit d'alerter l'opérateur sur le fait que le point indiqué n'est pas atteignable, suite à une exploration éventuelle de l'environnement. Ce mode peut être aussi utilisé avec un délai faible ou moyen, bien sûr. On souhaite que le laps de temps entre l'envoi de la position à atteindre et le début du déplacement du robot soit minimal. Le robot doit se localiser, planifier et exécuter la trajectoire déterminée simultanément. On veut que toutes ces tâches s'effectuent sur le robot lui-même. Ainsi, en cas de délai entre le site esclave et le site maître, le robot n’aura pas de problèmes à fonctionner normalement. L’obtention d’un plan de l’environnement est nécessaire pour la localisation et la planification, afin de lui permettre d'atteindre le point spécifié par l'opérateur.

1. Description du mode de commande

L’idée centrale de ce mode de commande est que l’opérateur envoie une destination au robot, que celui-ci est ensuite responsable d’atteindre. Ainsi, on décharge partiellement l’opérateur du contrôle du robot et il peut faire d’autres tâches en parallèle. Bien sûr, il peut toujours intervenir, soit en arrêtant le robot, soit en lui envoyant une nouvelle destination (avant que celui-ci ait réussi à atteindre la précédente). Par rapport au mode de commande utilisé dans la première partie de cette thèse (le mode manuel), l’opérateur n’envoie pas des commandes (position x, y à atteindre) en continu au robot : pour ce mode les commandes sont envoyées occasionnellement.

Une fois un ordre reçu, le robot doit déterminer comment faire pour se rendre à la position souhaitée. Un chemin est planifié afin d’atteindre la destination. Ce chemin est calculé sur un plan de l’environnement du robot. Dans un premier temps, le robot ne se base que sur un plan issu d’un seul scan laser (il n’a pas encore avancé vers son objectif, pour découvrir plus environnement). Si l’objectif est suffisamment loin du robot, il sera situé au delà de la possibilité de détection du capteur laser. Dans cette situation, une partie du chemin passera par une partie de l’environnement encore inconnue. Au fur et à mesure que le robot avance, ce chemin est replanifié, s’il y a besoin (à cause de la détection des obstacles invisibles auparavant, par exemple). La cartographie et localisation simultanées (SLAM - simultaneous localization and mapping) est utilisée, à la fois pour acquérir le plan de l’environnement (utilisé pour la planification de la trajectoire) et aussi pour connaitre la position du robot (pour

s’arrêter si l’objectif a été atteint et pour corriger l’odométrie issue des codeurs situés sur les roues du robot).

La caméra embarquée sur le robot n'a pas le même champ visuel qu'un humain. Une conséquence de ceci est le fait que l’opérateur ne voit ni les obstacles qui sont sur les côtés du robot, ni les obstacles se trouvant juste devant le robot, mais qui, à cause de leur taille et de leur rapprochement du robot, sont sortis du champ visuel vertical de la caméra. L’évitement d’obstacles présent sur le robot a été conçu comme une sécurité pour la téléopération.

Une première façon d’implémenter cet évitement est de le faire de manière réactive. Cette façon est basée exclusivement sur la distance du robot par rapport aux obstacles. Plus le robot est près des obstacles, plus l'évitement le guidera dans la direction opposée (si les obstacles se trouvent sur les côtés du robot). Si le robot rencontre des obstacles devant lui, l'évitement réduira sa vitesse linéaire, pouvant même l’arrêter.

Une deuxième façon d'effectuer l'évitement des obstacles est de prendre en compte les consignes reçues par le robot. En faisant ceci d’une façon réflexive, il est possible de démarrer la procédure d'évitement avant que le robot s’approche trop des obstacles. Ceci est fait en évaluant le temps jusqu'à la collision avec les obstacles. Plus le robot se dirige vite vers un obstacle, plus l'évitement sera actionné tôt. Un autre avantage est celui de pouvoir déplacer le robot parallèlement aux murs, même si la distance qui le sépare d’eux est très petite. En utilisant l'évitement réactif, ceci serait plus gênant, voire impossible. Supposons que seule la vitesse linéaire soit envoyée comme consigne au robot. Si celui-ci n'est pas orienté parallèlement aux murs (et si la trajectoire est suffisamment longue, bien entendu), le robot se rapprochera trop d'un mur (mais la direction empruntée entrainera une collision beaucoup plus loin), l'évitement le fera dévier, il s'approchera de l'autre mur, d'où il sera dévié, en ainsi de suite. Ce type de comportement (comparable à un rebondissement) est beaucoup atténué si l'évitement prend en compte les consignes reçues. Le suivi de près des obstacles (la navigation dans un couloir, par exemple) ou le passage à ras des objets n'est plus un souci avec ce type d'évitement.

Le mode présenté dans cette partie repose encore plus sur l'autonomie du robot. Il est responsable de générer un plan pour accomplir le souhait de l'opérateur (atteindre un certain point) et de modifier ce plan, si besoin. Après la réception de la consigne envoyée par l'opérateur, le robot analyse son environnement et génère une première version de la trajectoire qu'il doit suivre pour atteindre l'objectif. S'il lui est impossible de suivre la trajectoire calculée, une nouvelle trajectoire sera choisie (si le robot considère toujours que l'objectif est atteignable). Une utilisation possible de ce mode serait sur une courte distance (comparable à la longueur maximale des mesures des capteurs de distance du robot). Sur cette distance, l’odométrie du robot est assez précise. La destination pourrait servir comme un attracteur et le robot utilise uniquement les informations les plus récentes concernant les obstacles pour la planification. Cette approche est, malheureusement, susceptible de se retrouver piégée par des minima locaux, ainsi que de ne pas se rendre compte quand la destination n’est pas accessible (à cause d’un manque d’un historique sur les endroits déjà visités). La solution proposée consiste à rajouter cet historique au plan de la partie de l’environnement déjà explorée et de le prendre en compte dans l’étape de planification.

L’extension de ce mode rajoute deux problèmes théoriques : la localisation du robot (l'odométrie n'étant pas fiable sur des distances importantes) et la planification de la trajectoire. La solution consiste dans la génération d'un plan de l'environnement par le robot lui-même, plan qu’il utilise également pour sa localisation. Cette génération du plan et la localisation du robot dedans font l'objet de la cartographie et localisation simultanées (SLAM). Une contrainte supplémentaire, pratique, cette fois, est que le robot doit répondre en temps réel aux demandes de l'opérateur(dû à des soucis d’acceptabilité de ce mode par les opérateurs).