Principe de base
Le système développé calcule la position en X/Y du robot sur le terrain à partir des relèvements de sa position depuis les deux balises situées aux angles du terrain (côté adversaire), puis la communique au robot par liaison sans fil.
Le système se compose de :
– 2 balises d’angle, contenant un scanner laser destiné à mesure le gisement sous lequel est vu le robot (ou plus exactement, le réflecteur catadioptrique placé dessus)
– une balise de contrôle et de communication, placée au centre
Les deux balises d’angle sont connectées à la balise de contrôle via un câble regroupant une liaison série TTL et l’alimentation.
Le tout se présente dans une valise de transport tout ce qu’il y a de plus discret et pratique 🙂
Les balises d’angle
Elles sont identiques et contiennent les éléments suivants :
– une tête oscillante, supportant deux lasers jumeaux, les détecteurs/modulateurs associés et l’optique de concentration de l’écho lumineux
– un moteur pas à pas faisant osciller la-dite tête
– l’électronique à base d’un microcontrôleur 68HC11, assurant le contrôle du moteur, la lecture des détecteurs, la mesure d’angle de l’écho lumineux et la communication avec la balise de contrôle
On peut voir ces différents éléments sur la photo des entrailles de la bête ci-dessous :
La tête oscillante a les particularités suivantes :
– mise au point réglable de l’optique, afin de concentrer au mieux l’écho lumineux sur les détecteurs, et d’améliorer ainsi la réponse
– réglage micrométrique du parallélisme des deux rayons lumineux, au moyen d’une fixation des lasers sur une plaque souple en laiton, montée flottante et soumise à la pression de plusieurs vis permettant ainsi de la déformer à volonté
– faite entièrement à la main à partir de profilés alu from Casto, et à l’aide d’une perceuse, d’une scie à métaux, d’une lime et d’un flacon d’huile de coude
Le réglage du parallélisme est rendu nécessaire par le fait que le montage des diodes laser dans le corps métallique du pointeur a sans doute été réalisé avec les pieds par des individus imbibés de substances alcoolisées. Fallait pas s’attendre à mieux, vu le prix des laser en question (voir plus loin).
L’ensemble moteur et tête oscillante est lui-même suspendu au sommet de la balise par 3 tiges filetées disposées à 120 degrés, de manière à pouvoir régler la verticalité de l’axe de rotation et rattraper ainsi un défaut d’horizontalité du support de balise.
Les détecteurs lumineux sont des HAMAMATSU S6986 (datasheet et note d’application disponibles dans la rubrique Détecteurs et capteurs optiques). Ils disposent d’une sortie fournissant un signal de commande pouvant être utilisé pour moduler la source lumineuse, et éviter ainsi les interférences entre systèmes, ou bien perturbation par une lumière parasite externe.
La balise de contrôle
La balise de contrôle contient les éléments suivants :
– l’alimentation du système, à base d’accus LiPo pour l’encombrement
– le calculateur de position
– le point d’accès Wifi utilisé pour la communication avec le robot
Le calculateur de position est un module DK40 gracieusement fourni par la société Beck Gmbh (http://www.beck-ipc.com). Il est basé sur un processeur I186, et dispose d’un port Ethernet, de deux ports série TTL et de plusieurs I/O. Il tourne sous un mini système temps réel, offrant en outre un serveur FTP, Telnet et HTTP. Certains y ont même porté une mini JVM.
Il est relié :
– en Ethernet au point d’accès Wifi intégré à la balise et utilisé pour communiquer avec le robot,
– par deux liaisons série TTL aux deux balises laser.
Mode opératoire
Le robot se connecte à la balise de contrôle en Wifi, active le système au départ du match (ce qui provoque le mise en mouvement des têtes laser), puis quand il le souhaite, il interroge le système pour connaître sa position mesurée pour la comparer avec sa position estimée.
Autre fonctionnement possible : le robot envoie sa position estimée au système, qui essaye alors d’orienter les lasers pour le viser. En fonction des erreurs (trop à droite, trop à gauche), les balises s’ajustent et obtiennent ainsi la véritable position du robot.
La fabrication
Comme toujours, grande place est faite au Système D. Ainsi,
– les lasers ont été extraits de pointeurs de conférencier disponibles pour quelques Euros dans les magasins de composants ou de gadgets
– les lentilles proviennent d’appareils photo jetables, récupérés dans les poubelles d’un magasin Photo Service
– les moteurs et les platines 68HC11 (modifiées par nos soins ensuite) ont été récupérés sur de vieux équipements expérimentaux de laboratoire
– la carrosserie des balises est faite en tuyau PVC de 80mm de diamètre pour descente de gouttière
– les pièces en plastique (socle, étage support moteur,...) ont été réalisées dans des panneaux de carrosserie d’un photocopieur mis hors d’usage par la foudre, et cannibalisé ensuite par votre serviteur
La petite histoire
En réalité, ce système n’a jamais été utilisé en match à ce jour pour les raisons suivantes :
– nous avons eu au dernier moment un souci avec les communications entre les balises scanners et la balise de contrôle, alors que tout marchait à la perfection le week-end précédent
– la précision des moteurs (800 pas par tour) additionnée aux autres sources d’erreur ne permettait pas une précision supérieure à 5-10cm
– mais surtout, la mise en oeuvre (mise en place, connexions, réglage d’attitude et calage initial des têtes) s’est avérée beaucoup trop longue et complexe pour être compatible avec le délai des 3 minutes pour la préparation du match (et de plus, cette préparation se déroulait dans le camp adverse, au risque de les déranger)
Nous en avons par contre tiré une démo, en remplaçant la balise de contrôle par un PC qui affiche graphiquement la position de la cible sur le terrain, après l’avoir calculée à partir des angles fournis par les balises scanner.
Présentée à des collégiens ou des lycéens, cela constitue une illustration concrète et ludique de l’application des formules de base de trigonométrie. Ça a beaucoup plu lors de la dernière édition de la Fête de la Science.