Coupe de France de robotique 2018

Cette année nous nous retrouvons autour de la thématique de l’urbanisme. Comme d’habitude, les matchs durent 100 secondes et les robots doivent marquer les points en autonomie tout en évitant leurs adversaires. Notre équipe regroupe 4 étudiants de la filière Informatique Electronique et Systèmes Embarqués en 3ème année, trois étudiants Brésiliens en échange suivant le même cursus mais en 4ème année, et le président du club. La coupe a lieu du 9 au 12 mai et un long chemin nous attend.

Nous n’avons pas écrit d’articles pendant l’année au fil du projet. Ce texte est un résumé de nos avancées. Il est divisé en parties par thématiques suivant un ordre chronologique. Par ailleurs, en 4ème et 3ème années de la filière IESE, les étudiants mènent un projet collectif. La Coupe de France de Robotique fait partie de l’un de ces projets collectifs. Nous décrivons très en détails tous les aspects techniques dans un rapport de fin de projet rendu début avril, donc un mois avant la Coupe. Par conséquent tous les avancements faits en avril sont à la fin de ce texte en complément du rapport que vous trouvez en cliquant sur ce lien.

Le commencement

La reprise du robot existant

L’an dernier l’équipe du Polybot a commencé à travailler sur une nouvelle base que l’on pourrait réutiliser d’année en année.

Robot en début de l’année 2017-2018

La structure présente 4 plateformes ou étages. Logés entre les deux plateformes du bas, deux moteurs de chez Maxon (entreprise Suisse offrant une large palette de moteurs de qualité), entraînent les roues motrices avec des courroies.

Moteur Maxon avec son réducteur

Des tenseurs maintiennent les courroies de transmission sous tension. Les roues motrices ont été placées le plus à l’arrière et sur la périphérie du robot pour laisser le maximum de place à l’avant et au centre. Le robot utilise des roues codeuses pour mesurer son déplacement et son orientation offrant une précision de 0,2 mm près.

Encodeurs dotés de roues imprimées monté sur son support

L’entreprise Ion Motion propose des contrôleurs moteurs sophistiqués et puissants, parfaits pour joindre l’efficacité des moteurs et la précision des encodeurs. En effet, grâce à ce contrôleur, il suffit de transmettre une commande (en I2C, liaison série ou bus CAN) indiquant une distance, une vitesse ou une position et le robot avance sur demande.

Contrôleur moteur MCP230a

Organisation de l’équipe

La communication par Facebook n’est pas évidente lorsque l’équipe est partagée en binômes. Pour cette raison nous avons ouvert un serveur Discord. Celui-ci permet de créer des salons de discussion par thématique permettant à l’intégralité des membres de communiquer ensemble tout en organisant les discussions. Nous avons aussi continué de travailler sur Google Drive pour échanger les fichiers.

Etude des règles de jeux

L’intégralité des règles est dans ce PDF. Nous nous sommes rapidement focalisés sur les actions les plus rentables en matière de point et de difficulté. Sans lister toutes les actions possibles (que vous pouvez retrouver dans le rapport ou dans le règlement de la coupe) nous avons retenu les actions que nous pensons réaliser :

  • Récupérer des cubes.
  • Récupérer puis lancer des balles.
  • Pousser un chariot le long d’une pente devant éclater un ballon de baudruche en fin de course.
  • Appuyer sur un interrupteur qui active un panneau que nous devons construire.

En reprenant la base de l’année dernière, il nous faut donc :

  • Faire fonctionner le contrôleur avec les roues codeuses et les moteurs, tout en comprenant comment communiquer avec celui-ci.
  • Un système d’alimentation.
  • Un chariot.
  • Un panneau.
  • Un système de récupération des cubes et des balles avec son lanceur.
  • Un système d’évitement du robot adverse (car il est interdit de toucher le robot adverse)

Nos réalisations

Terrain

Pour bien comprendre l’environnement de jeu, nous avons fabriqué les éléments de jeu pour les placer sur le terrain fabriqué l’une des années antérieures.

On me voit, on me voit plus
Terrain du Polybot Grenoble

Le terrain fait 3 mètres en longueur et 2 mètres en largeur. Il est symétrique en sa largeur, par conséquent, seulement la moitié du terrain a été construite (un terrain de 1,5m sur 2m) et les éléments de jeux sont placés symétriquement. En effet, les équipes peuvent commencer des deux côtés du terrain et ainsi elles doivent prévoir de réaliser les actions en symétrique.

Chariot

Dans la thématique de l’urbanisme, les organisateurs ont simulé l’activité d’une abeille par la fabrication par les participants d’un chariot devant éclater un ballon de baudruche en fin de course d’une pente. Cette action représente le butinage d’une fleur. La solution finale du chariot intègre des roulements à billes coincés entre deux plaques de bois sur lesquelles est monté un support comportant une vis destinée au perçage du ballon.

L’abeille en action

Pour pousser l’abeille, nous avons installé des glissières de tiroir des deux côtés du robot. Celles-ci sont actionnées par un moteur sur lequel nous avons enroulé une ficelle. Cette méthode prend peu de place, est très économe en temps et en coup de conception. De plus, une fois la glissière arrivée en fin de course, la ficelle glisse sur l’axe du moteur évitant de casser l’installation. Grâce à cette solution, nous nous sommes affranchis d’électronique et de programmation pour gérer l’arrêt de la glissière.

Fonctionnement du bras

Panneau domotique

Les équipes sont amenées à construire un « panneau domotique » qui se branche à un interrupteur présent sur le terrain. Une fois que le robot actionne cet interrupteur, il doit être clair que le panneau est activé. Il est possible donc d’y afficher des informations, comme la prévision du score (car une estimation des points que le robot marque rapport des points bonus), une simple illumination ou faire fonctionner actionneurs mécaniques. Nous avons opté pour la simplicité et voici le résultat final :

Je suis là je suis plus là
Panneau domotique Polybot Grenoble

La bande de LEDs RGB non adressables est alimentée par une petite batterie LiPo 11.1V 1300mAh que nous avons branchée au module de contrôle fourni avec la bande LED. Ainsi nous pouvons choisir la couleur de la lumière avec la télécommande du module. (Ce n’est pas une nécessité mais c’est amusant). Par ailleurs cela nous a donné envie de décorer le local avec des nouvelles couleurs et nous préparer à fêter Noël toute l’année.

Le sapin de Noël du club

Cubes

Sur le terrain, des cubes de la taille de Rubick’s cubes et de couleurs différentes doivent être ramenés dans une zone du terrain. En plus, il est possible de les empiler, et pour aller plus loin, par une séquence de couleur divulguée en début de match (le robot doit donc aller lire cette séquence par lui-même). Nous avons simplement prévu de déplacer les cubes en les stockant dans le robot. Pour éviter que les cubes ne partent lorsque le robot recule, il fallait mettre des pinces qui s’ouvrent et se referment. Malheureusement ce dispositif n’a pas été fini et nous avons évité de découper la base du robot pour ne pas l’affaiblir.


Stockage des cubes avec leurs pinces

Lanceur de balles

Nous avons longtemps cherché une solution compacte et efficace pour le système de récupération de balles. Il y a 8 balles de ping pong en mousse à stocker dans le robot. La texture des balles fait qu’elles peuvent se bloquer à cause de la friction par conséquent nous avons dû penser à la manière dont elles allaient être amenées vers le lanceur. Nous avons réutilisé un moteur de disque dur sur lequel est monté un cylindre. Lorsque le cylindre ne tourne pas les balles sont retenues dans le compartiment de stockage. Une fois qu’une rotation lente avec une oscillation de sens est appliquée, les balles sont débloquées et roulent vers le lanceur.

Stockage de balles

Le lanceur quant à lui est composé de deux roues tournant dans des sens différents et espacés d’une distance légèrement inférieure au diamètre d’une balle. Lorsque les balles rentrent en contact avec les roues, elles se placent toutes seules au centre et sont propulsées. Il est important en revanche, que le point le plus proche entre les deux roues soit au même niveau que la moitié de la hauteur d’une balle. Dans le cas échéant, les balles risquent de partir vers le haut ou vers le bas. Lors de la conception du lanceur, les critères de la taille et de la flexibilité ont été retenus. Ainsi, la structure du lanceur est inclinable ainsi que la vitesse de rotation du moteur qui entraîne les roues est réglable. Il est donc possible d’ajuster la trajectoire de la balle très facilement. Si cette structure est reprise cela peut être intéressant d’intégrer un servo-moteur pour régler l’inclinaison informatiquement. L’outil GeoGebra nous a permis d’estimer la vitesse de rotation des roues avec l’angle d’inclinaison.

Voici à quoi ressemble la version finale du lanceur.

Lanceur de balles

Système d’alimentation

Nos moteurs consomment 4 A en fonctionnement à charge, et 49,7 A en pic de courant. Ces valeurs de courant sont largement prédominantes par rapport au reste des actionneurs que nous avons à ce jour. Cependant, lors de la coupe de France de robotique, les matchs se succèdent rapidement. De plus il arrive de faire des ajustements de dernières minutes et il est donc nécessaire de prévoir une batterie avec une grande capacité. Nous avons donc opté pour une batterie LiPo de 6000 mAh et une capacité de décharge de 100C donc 600 A. Une batterie peut donc tenir 45 min si le robot roule à pleine vitesse.

Batterie du robot

Les batteries LiPo sont composées de plusieurs cellules dont la tension ne doit pas passer en dessous de 3,7V. Par conséquent, nous avons prévu un système d’arrêt d’urgence pour éviter d’endommager les batteries lorsque la tension est faible.

Capteurs

Afin d’éviter le robot adverse nous avons choisi de doter notre robot de capteurs ultrasons et infrarouges pointant dans toutes les directions. Pour les contenir, nous avons imprimé en 3D un socle.

Socle pour capteur ultrason et infrarouge

Motorisation

L’année dernière, l’équipe a choisi de prendre le contrôleur moteur Ion Motion. C’est notre mission de comprendre comment le faire fonctionner. Cette étape c’est faite au tout dernier et malheureusement le délai de commande du connecteur mâle DB15 destiné à câbler proprement le contrôle était trop important. Nous avions dû improviser un connecteur mais malheureusement celui-ci semblait ne pas fonctionner correctement. Le résultat des courses, un robot qui avance mais de manière assez imprévisible.

Connecteur DB15 improvisé
Déplacement du robot

Languette de démarage

Ce n’est pas l’élément le plus important du robot mais il mérite sa petite place dans cet article de par sa simplicité et son efficacité. Pendant l’année un membre a trouvé un très gros rilsan. Un bouton de fin de course a été coincé entre deux morceaux de bois, la languette du bouton est quasi en contact avec un autre morceau de bois, et le tour est joué. Il suffit de glisser le rilsan entre le bouton de fin de course et le morceau de bois que le circuit soit ouvert. En enlevant le rilsan le circuit d’alimentation se ferme et le robot est mis sous tension. Ce système est en série avec le bouton d’arrêt d’urgence.

Languette de démarage

Fablab du campus de Grenoble

Un grand merci au Fablab pour nous avoir permis de faire les découpes dont nous avions besoin. En une journée toutes les pièces ont été découpées une partie en bois et une autre en plexiglas. Pour que la Trotec puisse découper les pièces il faut reporter les découpes dans un fichier au format .dxf ce qui peut être fait avec Inkscape.


Trotec du Fablab du campus de Grenoble en action

Retard sur les plans

Nous nous sommes lancé du début à la fin dans la conception de solutions techniques pour marquer des points sans nous préoccuper du déplacement du robot. Le week-end avant la coupe de France de robotique nous avons tout donné pour essayer de faire rouler le robot à temps pour la compétition, mais rien à faire. Le robot refusait de bouger. En plus d’avoir un robot qui n’avance pas, nous n’avons pas eu le temps de finir les actionneurs qui auraient rapporté des points. Nous ne sommes pas déplacés pour ne pas être homologué à la coupe. En revanche nous ne sommes focalisés davantage sur les choses qui restaient à faire pour pouvoir participer à la Persycup.

La Persycup 2018

Au jour de la Persycup nous avions un robot qui pouvait avancer. Cependant la forme des instructions que nous devions envoyer pour cela n’était pas claire. Le lanceur de balles manquait d’une transmission entre le moteur et l’axe principal. Les capteurs fonctionnaient mais leur signal n’était pas pris en compte quant à l’évitement du robot adverse. Cela nous a tout de même permis de passer l’homologation mais nous savions pertinemment que si le robot adverse se mettait dans la trajectoire du nôtre, nous aurions perdu le match. L’actionneur du bras pour pousser l’abeille le long de la pente avait une chance de fonctionner mais il nécessitait une bonne coordination du robot car l’action était à l’autre bout du terrain. La récupération de cube avec les pinces a été abandonnée, mais nous pouvions tout de même les pousser dans la zone destinée à cet effet. La seule chose qui rapporte le plus de points et réalisables facilement était l’allumage du panneau domotique.

Les matchs commencent l’après midi, et la matinée est réservée à la préparation des équipes et leur homologation. En arrivant à la piscine du campus universitaire où la coupe se déroulait, nous nous sommes vu attribuer un stand. Une fois tout le matériel sorti, nous avons vérifié ce qu’on voulait faire fonctionner. Le robot était en mesure de rouler. Nous transmettions un nombre et nous essayons de l’ajuster pour que le robot ait une trajectoire à peu près tangible à celle voulue. Avant de choisir la trajectoire finale que nous allions utiliser pendant le match, nous avons essayé de faire fonctionner le bras qui aurait poussé l’abeille, mais malheureusement le temps ne nous l’a pas permis. Nous nous sommes aperçu que le terrain avait une différence cruciale. Le bord du terrain était plus enfoncé vers l’extérieur que sa base, ce qui faisait que le robot butait contre le bord mais il ne touchait pas l’interrupteur qui allume le panneau domotique. Nous avons rapidement trouvé une solution en utilisant la glissière qui servait de bras pour pousser l’abeille comme “pare-chocs” à l’arrière du robot grâce à quoi l’interrupteur était atteignable. Ce genre d’imprévu n’est pas possible à prendre en compte, mais il faut en avoir conscience. A l’avenir nous penserons à prendre du matériel en plus pour des solutions de dernière minute.

Le premier match arrive, nous sommes prêt pour allumer le panneau domotique. En apportant le chariot qui fait office d’abeille sans même le faire rouler le long de la pente nous marquons des points. De même pour le panneau domotique. Nous avons également des points bonus pour la prévision du nombre de points que nous pensons marquer. Une fois l’estimation annoncée, le coup d’envoi est donné. Nous regardions le robot faire sa petite ligne droite, son virage et sa marche arrière parfaitement réussis. Le panneau domotique était allumé. Ce n’est rien par rapport à tout ce que nous voulions faire en début d’année, mais après tant de souffrance et d’efforts que nous avons dû fournir pour en arriver, nous étions heureux. Cela nous a instantanément motivés en nous prouvant que ce n’est pas si dur de participer à la coupe et en plus de marquer des points simples.


Premier match de la Persycup 2018

Cerise sur le gâteau, en quittant le terrain de jeu, nous nous faisons interviewer. Un peu plus tard nous apprenons que nous sommes passés sur TéléGrenoble. La chaîne est mutualisée avec d’autres chaînes de la région Rhône-Alpes où les reportages sont également diffusés. C’est bête que notre robot n’avait pas de stickers du club et de l’école, nous aurions fait une bonne pub.


Reportage de TéléGrenoble

Le deuxième match approche. Petit moment de panique car nous n’arrivons pas à reprogrammer le robot pour qu’il fasse son virage dans l’autre sens. La solution plutôt amusante que nous avons adoptée était de faire tourner le robot sur soit-même jusqu’à ce qu’il arrive à la bonne orientation.

La solution

Sur les quatre matchs, seulement un c’est bien passé, et ce fut le premier. Pendant la coupe nous avons discuté avec d’autres équipes autour de nos robots. Des stands de professionnels étaient présents pour montrer leurs produits. Voici l’intégralité de la coupe. Nous faisons notre apparition à 2h5min.

Nous faisons notre apparition à 2h5min (les règles sont bien expliquées par le présentateur)

La coupe de France de robotique 2018

Un grand bravo à nos camarades de Polytech Montpellier de l’équipe Robotech Legends. Une finale très impressionnante. On essayera de venir à la Coupe Off l’année prochaine ;).

Les grands vainqueurs 

Poster de présentation

Voici notre poster de communication présentant les fonctionnalités du robot.

Affiche 2018

Le bilan

Déçus de notre incapacité à venir à la coupe de France, mais réanimés par la participation à la Persycup. L’expérience de cette année nous a fait comprendre qu’il est plus pertinent de se focaliser d’abord sur le fonctionnement de notre robot pour créer une base qui peut être homologuée systématiquement plutôt que de vouloir absolument marquer des points. L’année prochaine sera donc orientée sur la révision des roues codeuses, un système de trajectoire, un système de détection d’obstacles et l’amélioration du système d’alimentation. Un grand merci à Polytech de nous offrir la possibilité de travailler sur ce projet, et à STMicrolectronics de nous avoir fourni les cartes de contrôles.