top of page

 Un robot suiveur ?

       Le principe fondamental de notre projet est de suivre une personne dans un endroit relativement encombré, comme un terminal d'aéroport ou un hall de gare. Il a donc fallu trouver une solution technologique appropriée à cette exigence. Voici les solutions potentielles :

              - le système GPS

              - la technologie infrarouge

              - la technologie ultrason

              - le module KINECT

              - la triangulation Bluetooth

              - la triangulation radio

Principe de triangulation

        Avant toute chose, on peut remarquer une similitude entre la plupart de ces solutions. En effet, elles se basent sur le principe de la triangulation.

       La triangulation est un principe de repérage dans l'espace, inventé lors du XVIème siècle. Il consiste à relever en deux ou trois points la direction ou la distance avec un objectif. En croisant les données relevées aux points d'observation, on détermine une position unique de l'objectif. Aussi, on peut déterminer la position exacte d'un émetteur (E) grâce à deux ou trois récepteurs (R1, R2, R3). Ces derniers donnent chacun la direction ou la distance de l'émission. On peut alors s'imaginer qu'on forme grâce à ces données deux ou trois cercles distincts. Or, il n'existe qu'un point à l'intersection des trois cercles (ou deux points s'il y a deux cercles) et on peut connaître la position de l'émetteur !

I. Système GPS

       Le GPS est sans doute le système de repérage le plus répandu au monde et c'est vers lui que l'on se tournerait instinctivement dans notre cas. L'abréviation GPS signifie en fait Global Positioning System, en français : "système de positionnement mondial". Il repose sur un maille d'environ 20 satellites qui émettent des signaux radios (de fréquences de l'ordre de 1,5 gigahertz), triangulés ensuite par un récepteur terrestre. Grâce aux informations transmises par le biais de ces signaux, l'émetteur arrive à connaître sa position sur le globe.

        Néanmoins, le GPS est, pour l'utilisation que nous voulons en faire, peu performant. En effet, il n'atteint une précision de maximum 3 mètres dans le système standard. Il existe des systèmes plus précis (jusqu'au millimètre près !) mais ils ne sont pas ouverts au grand public et il faut compter un grand temps d'attente pour pouvoir corriger et connaître la position du récepteur.

II. Technologie infrarouge

       L'infrarouge est un type de radiation électromagnétique dont la longueur d'onde est comprise entre 1mm et 1cm (cf. spectre ci-dessou) L'infrarouge est utilisé pour les caméras thermiques, les capteurs de mouvement et dans certaines lunettes de vision nocturne. Certains capteurs infrarouges sont capables de détecter s'il existe une source d'ondes infrarouges dans une direction précise. 

       Ainsi, le robot aspirateur Roomba de iRobot est capable de rentrer à sa base pour recharger sa batterie automatiquement. Sur la vidéo, on voit bien qu'à partir du moment où le robot a épuisé sa batterie, il entame une phase de recherche. Il pivote sur lui-même et le récepteur infrarouge monté sur le haut du robot, à l'avant, balaye toute la pièce. Il détecte de cette façon la direction de l'émetteur qui se situe sur la base. Le robot avance un peu dans cette direction et recommence sa recherche. Enfin, lorsque sa base est en face de lui, il n'a plus qu'à avancer pour se rebrancher.

    

       On peut penser qu'en combinant un émetteur fixé sur un personne et deux ou trois récepteurs sur un robot, on pourrait faire en sorte de suivre ladite personne. Néanmoins, notre robot doit évoluer dans un milieu relativement encombré. Or, le corps humain ou tout autre source de chaleur émet un rayonnement infrarouge. Donc la "vision" du robot risquerait d'être brouillée par son environnement.

III. Technologie ultrason

       La technologie ultrason est tout aussi simple à mettre en place sur un robot. Les ultrasons sont un type d'ondes sonores de fréquence plus élevée que celles du domaines audible. C'est-à-dire supérieure à 20 000 Hz (cf.graphique).

 

       De cette manière, le robot du projet Anaconda suit à la trace un écran à travers une pièce. Les concepteurs ont utilisé trois capteurs ultrasonores et grâce à un calcul de retard entre émission et réception, le robot détermine l'exacte position de l'écran devant lui.

 

        Malgré tout, utiliser les ultrasons pour notre projet aurait été trop périlleux puisqu'il faut un écran plat pour que les ondes puissent se réfléchir. Le corps humain n'offrant pas vraiment de surface plane, il aurait été difficile de mettre ce principe en œuvre. De même que les ondes infrarouges, les ultrasons sont aussi victimes des interférences. Enfin, les capteurs perdent de la précision dans leurs mesures à partir de 1m50 - 2m. En revanche, nous avons quand même décidé de garder ces capteurs pour arrêter le robot lorsqu'un obstacle se trouve entre lui et l'utilisateur.

IV. Le module KINECT

      Après avoir éliminé les deux premières pistes, nous avons choisi de nous intéresser de plus près au module KINECT. C'est un appareil fonctionnant avec la console Xbox, développée par Windows.

    

     Le module KINECT possède : - une caméra RVB

                                                         - un projecteur laser infrarouge couplé à un capteur CMOS.

                                                         - deux microphones

                                                         - une base motorisée

 

      Par la combinaison de toute cette technologie de pointe, le module est capable de calculer la profondeur d'une scène, en distinguant les éléments du premier plan de ceux de l'arrière-plan, d'identifier jusqu'à 4 joueurs dans une pièce et enfin de retranscrire leurs mouvements dans un jeu vidéo en identifiant les segments de leurs squelettes. C'est le mode de reconnaissance "36 points" car le logiciel reconnaît 36 points remarquables du corps comme les épaules, les genoux, les mains, le visage, etc...

       Les travaux d'ingénieurs de l'université du Maryland et de "Nguyen Van Duc" (cf. vidéos) nous ont le plus convaincu.

       Malheureusement, il s'est avéré que faire le lien entre Arduino et KINECT était compliqué. D'une part, c'est un souci d'expérience puisque nous sommes tous à peu près novices dans un domaine comme dans l'autre. D'autre part parce qu'il n'existe que très peu de travaux dont nous aurions pu nous inspirer (même si on peut en trouver ici). Enfin, il aurait fallu trouver et maîtriser de nouvelles bibliothèques de fonctions (en anglais libraries) compatibles avec Arduino.

V. La triangulation Bluetooth

       Ayant finalement abandonné cette dernière idée , nous sommes tombés sur la vidéo suivante :

      La valise-robot "Hop!" a été inventée par l'équipe du designer espagnol Rodrigo Garcia en 2012 et a été même récompensée du James Dyson Award. Pour suivre son utilisateur, elle se base sur la triangulation d'un signal Bluetooth émis par un smartphone.

 

       Le Bluetooth désigne une "norme" ou un "protocole" d'émission d'ondes radios. Les ondes Bluetooth sont donc des ondes radios. Elles sont opérantes à courte distance (entre 1 et 100 mètres en fonction de la puissance d'émission, de 1mW à 100mW) et consomment peu d'énergie. Aujourd'hui, on les utilise le plus souvent dans les smartphones pour communiquer ou pour transmettre des données. Mais il existe aussi des casques audio reliés par Bluetooth à des lecteurs MP3...   

        Il est possible de configurer des liaisons Bluetooth en réseau. On distingue les réseaux en deux types, en fonction du nombre de "membres" et de la complexité des liaisons. Les membres sont eux-mêmes divisés en deux ordres : les maîtres et les esclaves. Les premiers sont les coordinateurs du réseau et peuvent communiquer avec tous les esclaves qui leurs sont reliés. Les seconds ne peuvent communiquer entre eux mais seulement avec les maîtres.

 

       Les combinaisons sont ensuite à peu de chose près infinies. Les réseaux les plus simples, les piconets, ne comptent qu'un seul maître. Mais si on combine plusieurs piconets, on obtient un réseau plus étendu et plus complexe appelé réseau chaîné, en anglais scatternet. Un maître peut administrer jusqu'à 7 esclaves actifs. Un esclave d'un piconet peut être maître d'un autre et inversement. Deux maîtres peuvent partager un esclave. ETC...

 

         Voici différents types de réseaux :

       De plus, il existe des cartes et des modules compatibles avec Arduino. Comme il nous est impossible de trouver la direction de l'onde émise par le portable de l'utilisateur, il faut déterminer la distance séparant celui-ci d'un des récepteurs pour pouvoir trianguler. Le meilleur moyen est de calculer l'amplitude de l'onde reçue et de la comparer à celles reçues par les deux autres récepteurs. La carte Arduino-BT possède la capacité de faire ce calcul grâce à la commande spéciale RSSI (Received Signal Strength Indication : Amplitude du signal reçu). Mais la carte Arduino-BT en question n'est plus produite ni vendue nulle part !

VI. La triangulation radio

       Finalement, la solution qui satisfait le plus nos exigences sont sans doute les modules XBee. Ce sont des modules d'émetteurs/récepteurs d'ondes radios (à 2.4 gigahertz) compatibles avec Arduino à travers un bouclier (shield) spécial. Ils supportent la commande RSSI et sont capables de gérer des réseaux complexes.

 

      Il en existe en fait deux types, les series 1 qui sont consacrées aux piconets tandis que les series 2 sont utilisées pour les scatternet. On rajoute dans chacune de ces séries une catégorie pro dont les caractéristiques sont les mêmes mis à part le fait qu'elles émettent à une plus forte puissance et ont donc une plus grande portée. Enfin, il existe beaucoup de types d'antennes différentes, qui sont adaptées à toute sorte d'application.

Résultats des recherches

Expérience de fiabilité

bottom of page