Machine Sherbrooke, Jeux de Génie 2019

logo des jeux 2019.png

logo sherbrooke 2019.PNG

C'est avec beaucoup de détermination et de café que l'équipe machine de l'Université de Sherbrooke a participé à l'élaboration de la machine robotique en vue de la compétition machine des 29e Jeux de Génie, présentés à Magog. L'ensemble de l'équipe a travaillé d'arrache-pieds pour concevoir et mettre au point une solution robotique fiable, sécuritaire, versatile et adaptée au défi, en plus de réaliser des machines esthétiques, rapides, agiles et capables de relever l'ensemble des problèmes énoncés dans le cahier de compétition.

Voici, dans les moindres détails, les différents choix de conception fait par l'équipe 2019 du côté de l'ingénierie électrique, mécanique, informatique et robotique de la machine pour réaliser les 4 robots ayant participé à la compétition, en plus de présenter le défi, le parcours, le timeline de la compétition ainsi que les défis rencontrés et les solutions retenues.
Le tout s'est soldé par une solide 2e place à la compétition machine, en plus d'une 2e place au classement général pour la délégation de Sherbrooke!

Le défi machine 2019

parcours complet par plateau.PNG

Le défi machine 2019 est à l'image même du thème des Jeux : atteindre de nouveaux sommets.
Le parcours se présente sous la forme d'une montagne à 3 plateaux, sur lesquels plusieurs défis différents sont à relever pour amasser un maximum de points.

Ces défis sont comme suit :

Les défis sont répartis sur les 3 plateaux du parcours et permettent donc aux équipes de sélectionner les défis qu'ils veulent ou peuvent relever, et offrent une diversité remarquable dans le choix de conception à prendre pour le design des robots.

1er plateau : la mine et le plan incliné de 30 degré

mine complete.PNG

Le 1er plateau est constitué d'une mine, espace complètement fermé et sombre, accessible par une ouverture en forme cylindrique sur sa face avant. À l'intérieur de la mine sont disposés des figurines 3D, des images de géolocalisation ainsi que des cannettes au contenu indéterminé.

mine interieure.PNG

Cette mine comporte plusieurs obstacles empêchant une circulation optimale de la solution robotique:

La zone renforcée est l'endroit où les personnages doivent se réfugier en cas d'avalanche. Cette section du parcours ne laisse pas un très grand espace pour manoeuvrer et doit être considérée dans l'élaboration des dimensions des robots

zone renforcee.PNG

Une trappe à porte battante est présente sous le plan incliné de 30 degrés derrière laquelle une figurine peut se réfugier.

porte battante.PNG

La mine est aussi composé d'un plan incliné de 30 degré dont la surface est composé de gazon synthétique : c'est par ce plan incliné que la solution robotique peut accéder au second plateau.

plan incline 30.PNG

2e plateau : la caverne, la neige et le plan incliné de 40 degré

caverne complete.PNG

Le second plateau présente des défis similaires à ceux du 1er plateau. La caverne est l'ensemble de l'espace sous le sommet dans laquelle des contenants dangereux, des figurines 3D et des défis de géolocalisation sont disposés. Des figurines sont aussi disposées à côté du plan incliné de 40 degrés et sur le côté du 1er plateau sur une plateforme singulière.

L'accès à l'intérieur de la caverne est obstrué par un amas de neige qu'il faut déblayer. La neige est composée de blocs de 2x4 peinturés en blanc :

neige.PNG

L'accès au sommet de la montagne est assuré par le second plan incliné du parcours : un plan de 40 degrés, recouvert de 2 couches de peintures blanche, qui représente le défi majeur du second plateau.

plan incline 40.PNG

3e plateau : le sommet

sommet.PNG

Le sommet de la montagne est le point culminant du parcours. Il est composé d'un bac rempli de sel de déglaçage dans lequel 2 figurines sont partiellement ensevelies, en plus d'une figurine sur la pointe du sommet et 2 autres sur des plateformes singulières.

Contraintes de poids, dimensions, zone de départ et zone de travail
La solution robotique du défi machine 2019 doit respecter les contraintes suivantes :

Outre les 3 pilotes, un autre membre de l'équipe machine est requis pour le défi machine 2019 : le technicien.
Ce dernier n'a pas le droit de piloter les machines. Or, il peut les modifier à l'aide de pièces de rechanges, placées dans la zone du technicien :

parcours zone tech.PNG

Pour avoir le droit de modifier quelconque pièce ou interagir d'une quelconque façon avec les machines, celles-ci doivent se trouver dans la zone de travail :

parcours zone de travail.PNG

Lorsque l'essai démarre, l'ensemble de la solution robotique doit se retrouver à l'intérieur d'une boîte limitant les dimensions de la solution machine à 12x12x20 pouces :

parcours zone de depart.PNG

Pour accomoder le déplacement de ses robots, l'équipe machine a décidée de fabriquer un garage de transport qui se glisse dans la boîte de vérification des dimensions maximales :

20190113_170854.jpg

20190113_170824.jpg

Les défis de géolocalisation et les codes QR
Une nouveauté du défi machine 2019 est l'ajout de défis informatiques d'envergure : assurer la reconnaissance de codes QR sur des contenants inconnus ainsi que la géolocalisation de figurines 2D en détresses.

geolocalisation.PNG

Des images au format 22x17 sont disposées sur les murs intérieurs de la caverne et de la mine, pour un total de 7 images. Sur ces images se retrouve une barre de référence noire et jaune ainsi qu'une ou plusieurs figurines en détresse qu'il faut localiser à l'aide d'un cercle de référence faisant office de coeur. Le but est d'identifier la position relative des figurines en X et en Y avec une certaine tolérance pour réaliser un maximum de points.

Des barils contenant des liquides inconnus sont disposés à plusieurs endroits à l'intérieur de la mine et de la caverne. Le but est de scanner le code QR et de déterminer le type de liquide contenu dans la cannette.

codes qr.PNG

Les informations relatives aux défis de géolocalisations doivent être consignés dans un rapport de mission permettant à l'équipe de sauvetage de repérer les personnes en détresses et les contenants inconnus.

contenants inconnus.PNG
geoloc rapport.PNG

La répartition du pointage
Les points attribués lors du défi machine 2019 varient en fonction du plateau et du type de défi relevé.

Le résumé des points accessibles par plateau :

pointage.PNG

La diversité des défis présents sur le parcours, tant informatique, mécanique qu'électronique, a permis à l'équipe de Sherbrooke de bien cerner l'ensemble des points accessible et ce dans les premiers jours suivant la sortie du cahier machine. La possibilité d'avoir 3 pilotes et un technicien sur le parcours lors du défi a aussi joué dans la balance pour choisir la solution robotique optimale pour relever le plus de défis possible et en arriver à amasser l'ensemble des points accessibles sur le parcours.

La démarche d'ingénierie de l'équipe machine de Sherbrooke

Vu la complexité des défis du parcours, la possibilité d'avoir 3 pilotes et un temps raisonnable pour accomplir le défi, l'équipe à décidé de concevoir une solution robotique à 4 robots dont 3 identiques, spécialisés dans les 2 facettes suivantes :

Pour réaliser 4 robots dans un délai de 4 mois, il faut avoir une excellente idée du produit final, des échéanciers nécessaires à la réalisation d'un tel projet, d'un bon support financier de la part de la délégation mais surtout, il faut investir beaucoup de temps dans la conception de l'ensemble des modules des robots, dans la programmation, la réalisation des pièces et dans l'assemblage de la solution.

Dans l'ensemble, l'équipe a respecté un échancier de ce type :

echeancier.PNG

La rapidité est un aspect clé dans les défis machine : si quelque chose doit être testé pour valider un concept, il faut le faire rapidement car un échéancier de 4 mois est très serré et ne permet pas de s'attarder
trop longtemps à des problèmes.

Pour ce faire, l'équipe aborde les problèmes du défi machine avec un processus itératif, qui s'avère la démarche optimale pour arriver à des machines de qualité, raffiné, spécialisé dans leurs tâches et prêtes d'avance pour la compétition :

methode iterative.PNG

La méthode itérative est simple : un premier concept est retenu et conçu, et ensuite évalué sous toutes ses facettes : par le pilote, par l'équipe, par des personnes externes. Ensuite, une liste de défauts et de qualités présentes sur cette itération est écrite et permet de visualiser l'effort requis pour éliminer les défauts et ne conserver que les qualités : par itération continues, les machines finissent par ne comporter que des qualités et convergent vers les prototypes finaux présentés à la compétition.

La solution robotique de l'équipe machine de Sherbrooke

la solution robotique 2.PNG

Tel qu'énoncé plus haut, la solution robotique de Sherbrooke pour le défi 2019 s'est soldé par la conception de 4 robots, dont 3 identiques, nommés comme suit :

Les 4 machines forment la solution de sauvetage en montagne nécessaire à la réalisation de l'ensemble des défis de la Machine 2019.
Les plans, codes, circuits imprimés et autres informations donnés plus bas dans cet article sont libres d'utilisation.
Attention, beaucoup de termes techniques vont suivre!

Les petites machines : Huginn, Muninn et Rescue

huginn-muninn-rescue.PNG

3 petites machines.PNG

Huginn, Muninn et Rescue sont les 3 machines dédiées à l'exploration, la reconnaissance et le sauvetage dans la mine et la caverne du parcours. Elles sont construites sur mesure avec plusieurs principes ingénieux leurs proférant agilité, rapidité, simplicité et efficacité.

Aspect mécanique

La base des petites machines est composée de plastique PLA 100% biodégradable et est conçue sur mesure. Sa faible empreinte physique lui permet de se faufiler dans tous les recoins du parcours avec aisance, tandis que l'empattement réduit entre les roue avant et arrières lui permet de grimper sur les blocs de 2x4 sans problème.

3 petites machines 2.PNG

Les supports de moteur sont eux aussi conçu sur mesure et permettent d'attacher solidement les moteurs sur les 4 coins de la base.

holder moteur.PNG

Pour être en mesure de prendre les photos de géolocalisation sans avoir à se soucier de l'orientation du robot, un module de déplacement panoramique Pan/Tilt a été développé : on y attache les caméras et le panneau de lumière pour explorer aisément les grottes et faciliter les défis de géolocalisation.

pan tilt 3.PNG

pan tilt 1.PNG

pan tilt 2.PNG

Pour accélérer l'obtention de points dans la mine et la caverne, et dans le but de supporter Sleipnir dans sa quête d'un sauvetage parfait sur l'ensemble des plateaux du parcours, un bras activé par un servo moteur a été ajouté sur le devant des machines. Au bout de ce bras vient s'insérer de forts aimants permanents qui permettent d'agripper les figurines.
Les petites machines sont en mesure de se relever d'elle-même grâce à une disposition des pièces ingénieuses et le choix de composantes suffisamment robustes pour réaliser la manoeuvre. La base et le bras ont donc été conçus avec cette idée en tête, et cette possibilité de se relever en cas de renversement des machines s'est avéré un excellent choix, ajoutant à la robustesse de notre solution de sauvetage et diminuant les risques de défaillance lors de la compétition.

bras petites.PNG

bras petites 2.PNG

La robe des robots est une pièce en plastique artistique inspirée de la mythologie nordique sur laquelle est inscrite le nom de la machine. À son dos vient se visser un Raspberry Pi Zero W, utilisé pour diffuser les images de la caméra vers l'interface de contrôle des robots. Le placement du Raspberry Pi à cet endroit était optimal vu la faible longueur du câble de caméra standard livré avec la caméra.

inside les petites machines.PNG

Aspect électronique

L'électronique de contrôle des petites machines repose sur la conception, la fabrication et la programmation d'une carte de circuit imprimé fait sur mesure. Basée sur un dsPIC33EP512GM604, elle est le noyau central qui accepte les commandes des pilotes et effectue les actions nécessaires.

petites pcb 2d.PNG

petite_pcb_top.PNG

Explorons les schémas pour en comprendre le fonctionnement :

petite_sch_1.PNG

Sur la 1ère feuille schématique, on retrouve les régulateurs qui permettent d'abaisser la tension des batteries LiPO à 2 domaines d'alimentation de +5V et +3.3V, ainsi qu'un moniteur de batterie I2C.

petite_sch_2.PNG

Sur la 2è feuille schématique, on retrouve les drives de moteurs basés sur des DRV8871 de Texas Instruments, chacune capable de supporter un courant maximal de 3.6A, largement suffisant pour les moteurs sélectionnés. Les drives sont contrôlés par un PWM à très haute résolution (16bits @ 8ns min)

petite_sch_3.PNG

Sur la 3e feuille schématique, on retrouve les buffers pour les encodeurs en quadrature, élément de rétroaction sur la position et la vitesse actuelle des moteurs. Sous ces buffers se retrouve un IMU de type BNO080, capable de retourner une quantité phénoménale d'informations (vecteur vitesse, position, accélération, position relative, angle de déviation, etc) et ce de façon périodique et prédictive.

petite_sch_4.PNG

Sur la 4è feuille schématique, on retrouve le microcontrôleur, son header de programmation et le connecteur pour insérer une radio XBEE. Le microcontrôleur sélectionné (dsPIC33EP512GM604) comporte un set intéressant de périphérique adapté pour une plateforme robotique :

La radio XBEE est la principale interface de communication pour le pilotage : 2 radios communiquent ensemble par UART à 57600bps en utilisant un protocole de communication spécialement développé pour la Machine de Sherbrooke.

petite_sch_5.PNG

Sur la 5è feuille schématique, on retrouve un IO expander 8 bit I2C permettant d'ajouter 4 entrées et 4 sorties configurables pour une utilisation variée.

petite_sch_6.PNG

Sur la dernière feuille schématique, on retrouve l'ensemble des connecteurs utilisés pour relier la machine électronique aux modules physiques présents sur le robot.

petites pcb monte.PNG

Le PCB est réalisé sur 4 couches et a été fabriqué en Chine chez notre fournisseur habituel NOA-LABS. L'ensemble des circuits imprimés ont été soudés, pour la face TOP, au four à reflow en appliquant de la pâte à souder à la main, et terminé au fer à souder pour les composantes passives et la couche BOTTOM.

La grosse machine : Sleipnir

Sleipnir.PNG

Sleipnir, cheval d'Odin dans la mythologie nordique, est la machine qui galope jusqu'au sommet de la montagne pour sauver les figurine prises dans la neige et en mauvais posture sur les plateformes panoramiques. Sleipnir est conçu sur mesure et comporte plusieurs aspects intéressants qui rendent son ascension rapide, fiable, sécuritaire en assurant un sauvetage en douceur pour les figurines.

Aspect mécanique

grosse meca 1.PNG

La mécanique de Sleipnir se sépare en plusieurs sections :

inside la grosse machine.PNG

Pour assurer une traction optimale sur l'ensemble des reliefs et matériaux du parcours, des roues de néophrène molle ont été achetés pour composer le 1er prototype. Or, après avoir peinturé le parcours, l'adhérence n'était pas suffisante : l'équipe s'est tourné vers une solution alternative pour en augmenter la traction.

grosse traction.PNG

Une couche de silicone profilée à la main à été ajoutée sur l'ensemble des roues de Sleipnir, en plus d'ajouter des pièces imprimés 3D sur le côté pour permettre de pousser le sel vers l'extérieur lorsque le robot se déplace dans le sel. Avec ces caractéristiques, l'ascension des plans inclinés n'est même plus un défi : le robot monte aussi vite que s'il se déplaçait sur un plan horizontal.

grosse bras 2.PNG

Pour agripper les figurines, un bras à 3 degrés de liberté à été développé et intégré à la queue du cheval Sleipnir : il est suffisamment long et agile pour saisir l'ensemble des figurines du parcours à l'aide d'aimants permanents puissant sur sa base et sur le dernier joint du bras. Pour permettre de sauver 2 figurines à la fois, l'aimant permanent installé sur la base est beaucoup plus fort que celui au bout du bras, permettant d'y déposer une figurine et d'ensuite éloigner le bras à la verticale pour aller sauver une seconde figurine. Au bout du dernier joint vient s'ajouter une caméra FPV, permettant au pilote de localiser visuellement les figurines pour s'assurer que le sauvetage est réussi. Une seconde caméra est situé à l'avant du bloc de pivot :

cam fpv 2 grosse.PNG

Le dernier système, et non le moins important, est un pivot situé à l'avant du robot qui permet à Sleipnir de descendre le plan incliné de 40 degré aussi facilement qu'il l'a monté. Lors d'un essai typique, un important gap d'environ ½ pouce existe entre le plan incliné et la surface du sel au sommet. Pour traverser ce gap, le pivot est relevé et Sleipnir s'avance jusqu'à ce que les roues avant touchent la pente.

grosse pivot 2.PNG

sleipnir_pivot_1.jpg

Par la suite, le pivot est replié vers l'arriere pour que les roues avant et milieu touchent la pente. À cet instant, le pilote avance jusqu'à ce que le robot soit sur son point de pivot.

grosse pivot.PNG

sleipnir_pivot_3.jpg

Finalement, pour minimiser les risques de pirouettes, le pivot est renvoyé vers l'avant et le pilote envoie une commande de déplacement vers l'avant : Sleipnir descend ainsi tranquillement la pente avec une légère friction des pneus, et le pilote prend le contrôle pour repartir directement vers la zone de départ et décharger les figurines qu'il a rescapé avant de retourner au sommet terminer sa tâche.

sleipnir_pivot_2.jpg

Aspect électronique

L'électronique de contrôle de Sleipnir repose sur la conception, la fabrication et la programmation d'une carte de circuit imprimé fait sur mesure. Basée sur un dsPIC33EP512MC806, elle est le noyau central qui accepte les commandes du pilote et effectue les actions nécessaires.

board_grossemachine_pcbview.jpg

sleipnir pcb 3d.PNG

Explorons les schémas pour en comprendre le fonctionnement :

grosse_sch_1.PNG

Sur la 1ère feuille schématique, on retrouve l'ensemble des régulateurs permettant d'abaisser la tension des batteries LiPO vers 3 domaines distincts, soit +5V, +3.3V et +5V_S

grosse_sch_5.PNG

Sur la 2è feuille schématique, on retrouve le microcontrôleur, son header de programmation et le connecteur pour la radio XBEE. Le microcontrôleur possède un set intéressant de périphérique adapté pour la réalisation d'une plateforme robotique :

La radio XBEE est la principale interface de communication pour le pilotage : 2 radios communiquent ensemble par UART à 57600bps en utilisant un protocole de communication spécialement développé pour la Machine de Sherbrooke.

grosse_sch_6.PNG

grosse_sch_12.PNG

Sur la 3è feuille schématique, on retrouve la circuiterie nécessaire au contrôle des drives de moteur Pololu utilisées. La circuiterie consiste en un DAC SPI, suivi d'un buffer de sortie et d'une switch SPDT permettant de prendre le contrôle de la drive ou de la laisser à l'état idle.

grosse_sch_7.PNG

Sur la 4è feuille schématique, on retrouve les blocs hiérarchiques qui composent les circuits de contrôle des PWM.

grosse_sch_8.PNG

Sur la 5è feuille schématique, on retrouve les ports MikroBUS, un standard de carte enfichable réalisée par MikroElektronika et offrant plus 700 cartes composées de capteurs, écrans, actuateurs, etc.

grosse_sch_9.PNG

Sur la 6è feuille schématique, on retrouve un IO expander 16 bits permetant d'ajouter des entrées / sorties au système. Les sorties sont utilisées pour contrôler des LEDs et des sorties à haute-puissance, tandis que les entrées sont prêtes à accepter des killswitch ou des entrées à plus haute tension à l'aide de circuits de protection à base de diodes zener.

grosse_sch_10.PNG

grosse_sch_3.PNG

Sur la 7è feuille schématique, on retrouve les buffers pour les encodeurs QEI (les sorties QEI des encodeurs de moteurs POLOLU présentent une impédance suffisamment faible qu'un simple diviseur de tension n'est pas adéquat pour l'abaissement de la tension du train d'onde carré vers +3.3V) ainsi qu'un IMU de type BNO080 de Bosch, capable de retourner une quantité phénoménale d'informations (vecteur vitesse, position, accélération, position relative, angle de déviation, etc) et ce de façon périodique et prédictive.

grosse_sch_11.PNG

grosse_sch_4.PNG

Sur la 8è feuille schématique, on retrouve l'interface électronique nécessaire à l'ajout de capteurs de distance analogique ou entrées analogiques diverses, toutes identiques et filtrées par un filtre actif sallen key passe-bas . La lecture de la tension analogique est assurée par un ADC 8 entrées MCP3208.

board grosse machine.PNG

Le PCB est réalisé sur 4 couches et a été fabriqué en Chine chez notre fournisseur habituel NOA-LABS. L'ensemble des circuits imprimés ont été soudés, pour la face TOP, au four à reflow en appliquant de la pâte à souder à la main, et terminé au fer à souder pour les composantes passives et la couche BOTTOM.

Programmation des microcontrôleurs

dspic33e.PNG

Les microcontrôleurs choisis faisant partie de la même famille de dsPIC (dsPIC33EP512GM604 et dsPIC33EP512MC806), leurs codes sont mutuellement compatibles. De plus, les choix de pièces et d'intégration matérielles ont permis de réutiliser en grande majorité le code écrit pour la machine 2018, l'améliorer, lui ajouter des fonctionnalitées et régler ses bugs. Il en est donc ressorti 2 programmes majoritairement identiques côté applicatif, avec certaines modifications côté systèmes pour accomoder les besoins différents des machines. Les programmes sont rédigés en langage C sur l'IDE MPLAB X, utilisant la version 1.38 du compilateur XC16.

L'ensemble des capteurs nécessitant d'être vérifiés périodiquement le sont fait de façon préhemptive dans des services reliés à des timers matériels des dsPIC. Ces services appellent des fonctions reliés à des “flags”, variables utilisées pour notifier d'un changement dans une fonction d'interruption. L'avantage net de cet effort de programmation résulte en un programme léger avec suffisamment d'espace d'exécution pour éviter des conditions de courses ou des attentes dans des fonctions bloquantes.

Un bon exemple de l'implémentation logicielle fut réalisé avec l'IO expander I2C, qui permet d'ajouter des entrées / sorties (16x) à l'aide de seulement 2 pins sur le microcontrôleur. Ce périphérique comporte une pin d'interruption programmable, ajustable selon certains paramètres choisis. Dans le cas des machines, une interruption était active sur la pin en sortie lorsqu'une entrée change d'état vis-à-vis une valeur préprogrammée :

code micro i2c int 3.PNG

code micro i2c int 2.PNG

code micro i2c int.PNG

Une bonne sélection des périphériques internes aux microcontrôleurs furent utilisés et programmés par interruption, à savoir :

code micro general.PNG

La communication entre les machines et les pilotes s'articule autour d'un protocole de communication à 6 bytes spécialement définis pour adresser l'ensemble des module des robots à partir d'un port UART.
Les robots sont ainsi vus comme des périphériques entrée / sortie pour l'ordinateur : l'interface de pilotage n'a qu'à envoyer une commande “Write” vers un module pour changer un état sur les robots, ou encore envoyer une comme “Read” pour aller chercher l'état le plus à jour d'un module sur les robots.

L'écriture de l'état des moteurs sur les machines :

code micro write.PNG

La lecture de l'état des moteurs sur les machines :

code micro read.PNG

Au total, plus de 15 000 lignes de code C forment l'ensemble de la solution de programmation des machines. La rédaction du code s'est basé sur du code développé pour la machine 2018 : il va sans dire que le code des machines 2019 a fortement gagné en maturité, et devrait continuer d'être utilisé dans des machines futures.

Interface de pilotage

L'interface de pilotage des machines 2019 repose sur la programmation et le design complet d'une interface basée sur le framework Java, JavaFX et BoofCV, et c'est dans cette interface que les pilotes peuvent contrôler les robots, analyser les codes QR et géolocaliser les personnes 2D sur les images.
L'ensemble de l'interface est programmée par l'équipe et est une version largement améliorée de l'interface développée pour la machine 2018.

interface info 2.PNG

Chaque pilote est libre de configurer son interface de pilotage à partir de l'onglet “Configuration” dans l'application. L'ensemble des modules contrôlables par le pilote peuvent être “mappés” sur n'importe quelle touche du clavier. De plus, le pilote entre l'adresse IP du RaspberryPi Zero auquel il doit se connecter pour réaliser la reconnaissance d'image, en plus de sélectionner le port série et les ports pour les caméras FPV.

interface info 3.PNG

Pour tester facilement l'ensemble des modules, un onglet “Communication” permet d'envoyer des commandes de tests aux robots pour, par exemple, valider le branchement d'un servo-moteur, tester le panneau de lumière, valider le sens de rotation des moteurs, etc. Cette interface de test est l'accès au plus bas niveau disponible pour communiquer avec les robots avant d'avoir à plonger dans le code C des plateformes embarquées.

interface info.PNG

La fenêtre de commande principale permet le contrôle des robots, la visualisation des bandes vidéos des caméras ainsi que l'état de scan des codes QR. Au démarrage, l'inferface affiche des images de montagnes, indiquant qu'aucun module n'est connecté à l'interface. Pour ce faire, il faut les configurer dans l'onglet de configuration, puis appuyer sur l'onglet “Connect” pour voir apparaître une image s'apparentant à ceci :

Pour réaliser les défis d'analyse des codes QR, le pilote déplace le robot face à une cannette et ajuste le module Pan / Tilt. Ensuite, il active la reconnaissance QR à l'aide d'un bouton sur l'onglet de pilotage de l'interface :

code qr mise a on.PNG

Après quelques secondes de traitement, le contenu du code QR est affiché à l'écran. Le pilote sélectionne la zone dans laquelle la canette se trouvait, enregistre le code QR scanné et passe à la prochaine canette :

scan code QR.PNG

Pour réaliser le défi de géolocalisation, l'interface comporte un mode de prise de photo avec placements de points de référence pour déterminer les positions des figurines.

geoloc_1.PNG

geoloc_2.PNG

geoloc_3.PNG

L'erreur cumulative maximale observée est d'environ 0.05 pouces, largement inférieure à la tolérance demandée de 0.25 pouces pour avoir accès à 100% des points de géolocalisation.

Essai de compétition

Lors de l'essai officiel, un pépin technique a empêché l'équipe de réaliser l'ensemble des points espérés.
En effet, la connexion aux RaspberryPi Zero des petites machines (Huginn, Muninn et rescue) se réalise à l'aide d'une adresse IP, alloué par notre routeur. Lors des 3 semaines précédant la compétition, ces adresses IP sont restées fixes, or lors de la journée de compétition, vu le grand nombre d'étudiants avec des téléphones cellulaires présents dans la salle, les adresses IP ont changées. Ce bug et la difficulté à accéder aux paramètres de configuration du routeur nous a empêché de réaliser l'ensemble des points de géolocalisation dans la mine. En toute apparence, l'essai semblait avoir bien été pour les spectateurs car Sherbrooke est la seule Université à avoir secouru l'ensemble des figurines 3D, mais ce petit bug de communication nous a enlevé presque la moitié des points de géolocalisation!
Comme quoi Murphy n'est jamais bien loin ;)

Photo des machines lors de la compétition
Un merci spécial à Voltaic Photo

50583709_2604717139543376_5883961666302902272_o.jpg

50578019_2604717052876718_8098275447810293760_o (1).jpg

50395182_2604716669543423_6894201376629325824_o.jpg

50636714_2604716966210060_5372902915046375424_o.jpg

49815898_2604716766210080_8090799752288927744_o.jpg

Conclusion et remerciements

L'équipe s'est ainsi méritée une 2e place au classement cumulatif de la compétition machine, très serré avec moins de 0.04 points d'écart avec les grands gagnants, l'Université Laval!

À l'aide de systèmes performants, rigoureusement testé sur le terrain et dans les pires conditions, la solution machine 2019 de Sherbrooke permet de réaliser l'ensemble des défis du cahier machine, et de récolter 180 points sur 180, dans un temps inférieur aux 13 minutes allouées sur le parcours.

L'équipe 2019 a été bâtie dans le but de former de la relève pour le futur : plus du ¾ de l'équipe n'avait jamais participée à la compétition machine.
À l'aide d'un échéancier rigoureux, d'une bonne dose de motivation de l'ensemble des membres, d'un budget bien balancé, d'initiative, de détermination et de beaucoup de soirées dans des locaux sans fenêtres, on peut dire que les nouveaux arrivés sont prêts à prendre la relève de l'équipe et assurer la pérénnité de Sherbrooke dans des épreuves de conception de moyenne durée.

L'équipe 2019 (de gauche à droite) :

podium.jpg

L'équipe voudrait remercier les commanditaires de la délégation de Sherbrooke ainsi que l'ensemble des délégations pour le support et le love, sans qui cette belle réalisation n'aurait pas été possible! #faiteslesjeux

Félicitation aussi à l'ensemble des équipes machines qui ont donnés corps et âmes pour offrir une compétition relevé encore une fois cette année! La diversité des machines et des solutions apportées fut grandiose et couronnée de succès lors de la présentation publique et de la compétition! Sherby vous envoie beaucoup de love! #faiteslamachine

Finalement, merci aux commanditaires qui supportent financièrement les jeux et félicitation au comité organisateur et au comité machine pour le défi de cette année et pour l'organisation exceptionnelle que représente les Jeux de Génie. Merci 1000 fois! #faitesleco

Pour voir et revoir la compétition :
https://www.facebook.com/jeuxdegenie/videos/389198035181306/

Pour voir un essai parfait lors des soirées de pratique :
https://www.youtube.com/watch?v=WuGNwUJtF7A

Pour voir le vidéo machine de Sherbrooke :
https://www.youtube.com/watch?v=YdL2jUMkfl0

Pour consulter le cahier machine remis en septembre aux équipes :
https://jeuxdegenie.qc.ca/jdg/2019/wp-content/uploads/2018/11/CahierMachine_2019-Final-FR.pdf

Pour en apprendre d'avantage sur les Jeux de Génie du Québec :
https://jeuxdegenie.qc.ca/jdg/2019/

Si vous avez aimé l'article, laissez votre souris quelques instants dans le cercle ci-bas et n'hésitez pas à partager!
Pour toutes questions, communiquer à l'adresse suivante :
Jean-Francois.Bilodeau2@usherbrooke.ca

 
15
Kudos
 
15
Kudos

Now read this

Machine, Jeux de génie 2017

Voici l'explication des différents systèmes qui ont permis à la machine de Sherbrooke de remporter la 3è place à la compétition des Jeux de Génie 2017, compétition regroupant les différentes facultés de génie des universités québécoises.... Continue →