Étape 2: Principe de fonctionnement
Chaque robot peut être considéré comme un système composé de trois blocs de trois : carte bâtiment, positionnement et l’Interface de contrôle.
Construction de la carte
Chaque robot recueille des données d’obstacle en utilisant un capteur ultrasonique ping monté sur un moteur d’asservissement. Le moteur permet au détecteur de ping recueillir des données d’obstacle pour 180 degrés devant le robot. Une fois la lecture faite, les données sont stockées dans une grille d’occupation : une structure de données montrant la probabilité d’un obstacle étant dans l’espace. Chaque cellule de la grille (ou pixel, dans notre implémentation) indique la probabilité d’un obstacle étant dans l’espace. Comme robots couvrent le même espace, si elles s’accordent sur un obstacle étant à la même localisation qu'y devient plus sombre, s’ils acceptent que l’espace est clair, il s’avère plus léger.
Le plan se développe dynamiquement comme plus d’espace est exploré. La structure de données est conçue pour être paginée sur et hors d’une carte SD. Chaque page contient des liens vers des pages à proximité et les nouvelles pages sont ajoutées comme l’espace est nécessaire. La région est stockée dans un SRAM externe et pages récemment inutilisés sont écrites sur une carte SD sur chaque robot.
De positionnement
Le système de positionnement garde trace de position absolue et relative de chacun des robots dans l’essaim. Le positionnement absolu utilise les encodeurs d’iRobot Create et a Conseil espace prêt à fixer une boussole numérique et un gyroscope pour une précision accrue. Position relative est déterminée en mesurant le temps de vol (ToF) des ultrasons émis par chaque robot. En enregistrant la ToF à trois endroits différents sur chaque robot reçoit le son, chaque robot peut trianguler la position du robot émettant la lumière et le son. Le robot annonçant sa position simultanément émet des rayons infrarouges et les ultrasons ; l’infrarouge est essentiellement instantanément reçu par chaque autre robot et les ultrasons voyagent beaucoup plus lentement, donc la distance et la direction de la source peuvent facilement être déterminés.
Interface de contrôle
L’interface de contrôle supervise le fonctionnement de tous les systèmes sur chaque robot et est la principale de l’intelligence artificielle du robot. L’interface de contrôle est également responsable du maintien du réseau essaim et toutes les communications RF. L’intelligence artificielle est chargé de créer l’essaim qu’apparaissent des robots et entretenir le réseau comme une carte est construite. Le reste de l’IA est consacré à l’évitement d’obstacles et peut être adapté pour optimiser la couverture d’un espace.
Toutes les infos sur la conception et la construction de l’ensemble du projet se trouvent dans notre Rapport Final.