Ici nous vous informerons des dernières nouvelles concernant l'avancement de nos projets et autres !
Bonne lecture !
19 mai 2024
Après une participation à la Coupe de France de robotique puis une participation à la Coupe d’Île de France, la fin du projet appelle un bilan et comme tous les ans, nous terminons ce projet avec une sensation d’inachevé.
Notre projet était ambitieux et supposait que nous partions d’une base solide - notre robot de l’année précédente.
Globalement, le travail réalisé cette année manquait de fiabilité :
Le robot de l’an dernier avait bien un ou deux soucis, tels que :
Nous avons observé ces soucis sur le robot de cette année également, dans une moindre mesure, certes, mais ces problèmes sont toujours présents. Et cette année, en plus, le robot pouvait redémarrer de manière "aléatoire". Nous ne l’avons observé que quelques rares fois en essais, mais une fois à notre dernier match de la coupe d’Île de France.
Côté PAMI, c’est un peu le même constat. Nous sommes partis du code de déplacement du robot principal. Ceci nous a montré à quel point le code était réutilisable - et ça nous a fait vraiment plaisir ! Par contre, quand vous réglez l’asservissement la veille de la compétition, évidemment que le robot manque un peu de maturité. Nous nous sommes fait avoir par :
Donc, oui, il y a des raisons d’être insatisfaits de nos robots.
Et de l’autre côté, nous avons rempli nos objectifs :
Bref, nous espérons avoir quand même vendu du rêve, car c’était un de nos buts !
Alors pour fêter ça, voici une vidéo des meilleures actions du robot :
19 mai 2024
Nous arrivons donc à la compétition avec un robot qui pourrait marcher mais qui ne marque pas forcément de points et un PAMI non-homologable.
Nous travaillons d’abord sur le PAMI, et relativement rapidement nous obtenons un PAMI homologable (tirette, bouton de couleur, ajustement de l’asservissement).
L’après-midi sera consacrée à l’activation des panneaux solaires avec un bras tenant un pot. Vers 15h30, nous nous dirigeons vers l’homologation. 15h40, nous sommes homologués.
Il nous reste donc du temps pour travailler sur le robot ! Et ça tombe bien car nous avons du travail ! Les servomoteurs nous posent toujours des soucis et nous découvrons que celui de la pince chauffe. Nous sortons alors notre scie à chantourner et nous installons un gros servomoteur à la place du petit qui actionnait la pince.
Rappelez-vous, notre grappin ressemblait à ça :
Maintenant, c’est moins élégant, mais plus fonctionnel :
Le fonctionnement global des servomoteurs semble s’améliorer à partir de ce moment.
Nous attaquons notre premier match avec sérénité. Le robot ne va pas faire des merveilles, nous le savons. Nous sommes du côté Jaune, celui sur lequel nous ne nous sommes quasiment pas entraînés.
Le robot n’attrape que 3 pots sur les 5. Il tente de pousser les panneaux solaires avec un pot, les rate tous puis en tourne un en allant chercher une plante. Le robot attrape une plante et la met sur un bras qui n’avait pas attrapé de pot. Au deuxième essai, le robot n’arrive pas à attraper la plante et rentre déposer ses pots. Il embarque par hasard une plante violette qui restera debout dans la zone de dépose. Il traverse ensuite le terrain pour aller se recharger. Notre PAMI parcourt nominalement ses 80 cm.
Nous marquons 41 points face à Ze Crazy Team (66 points - leur robot était bien abouti, bravo à eux !).
Match 1 - 720p (61Mo) ou sur Youtube : Match 1
Nous profitons du temps entre les matchs pour homologuer les PAMIs 2 et 3.
Pour ce deuxième match, nous mettons 3 PAMIs sur la table en plus du robot. Le robot attrape parfaitement les pots, pousse avec succès les 3 panneaux solaires, tente d’attraper une plante - sans succès - puis dépose ses pots avant d’aller en zone de recharge. Le PAMI 1 fonctionne bien, le 2 a fait grève et le troisième s’est retrouvé bloqué par le 2e.
Pour le deuxième match, nous marquons 51 points face à AREM (qui ne quitte pas sa zone de départ).
Match 2 - 720p (18Mo) ou sur Youtube : Match 2
Nous finissons le match vers 16h30. Il nous reste toute la soirée pour atteindre notre objectif : attraper une plante et la mettre dans un pot. Et quitte à modifier la stratégie, autant en profiter pour évacuer le robot du chemin des PAMIs. Car actuellement, si le robot rencontre un obstacle sur le chemin de la recharge, il se dirigera vers la zone proche des PAMI.
La soirée sera longue :
Notre troisième match sera un match en demi-teinte. Le robot attrape ses deux pots avants et seulement un pot à l’arrière. Il va ensuite attraper une plante dans la première zone. En fait, il en attrape deux. L’une tombe dans le pot, l’autre devant le robot et se couche. Rapidement, le robot détecte qu’il ne pourra pas attraper une seconde plante dans cette zone et va tenter sa chance vers une autre zone de plantes. Il attrape une 2e plante puis échange ses pots avants avec ses pots arrières. Il va chercher sa troisième plante, l’attrape, mais la pose dans le bras qui n’a pas de pot, la plante se couche devant le robot. Le robot semble tenter d’aller à la troisième zone, mais la plante est bloquée devant le capteur, il rentre à sa zone de dépose.
Mais il ne dépose pas ses plantes !
Le code de fin de match s’enclenche et le robot abandonne son action pour aller vers la zone opposée, laissant ainsi la place aux PAMIs. S’il marque les points de la zone de recharge, ce n’est que grâce à un bras déplié. Les PAMIs de leur côté cafouillent. Le premier part comme s’il était de la couleur opposée, les suivants ne bougent pas.
En termes de mouvement, c’est un match magnifique, notre plus belle action réussie, un robot en mouvement jusqu’à la dernière seconde. En termes de points, c’est juste la déprime totale :
Match 3 - 720p (32Mo) ou sur Youtube : Match 3
Évidemment, un point pareil, nous le réglons avant le prochain match ! Ce temps entre les matchs sera pour nous l’occasion de faire homologuer un 4e PAMI.
Le quatrième match sera assez similaire au 3e, à 3 détails près :
Nous marquons 37 points :
Match 4 - 720p (32Mo) ou sur Youtube : Match 4
C’est bien, c’est le premier match où nous marquons des points avec des plantes ! Nous avons grandement fiabilisé le robot, rajouté des PAMIs sur la table et marqué moins de points qu’au match 1 ou qu’au match 2.
Là, c’est le conseil de guerre ! Nous avons largement de quoi marquer 70 points sur la table et nous n’avons à peine fait la moitié. Nous relisons le règlement, faut-il vraiment arrêter le robot à 90s ? Réponse : non !
La soirée, puis la nuit, seront longues :
Nous allons nous coucher après avoir testé le robot sur trois tables d’essai différentes.
Pour la première fois, le robot attrape une troisième plante pour la mettre dans son pot. C’est peut-être un détail pour vous - 4 points, ce n’est pas énorme - mais pour nous, ça veut dire beaucoup ! Cette troisième plante justifie d’attraper plus que les 2 premiers pots, cette troisième plante justifie cette séquence d’inversion des pots... Bref, c’est un peu l’accomplissement de notre projet.
La suite sera un peu moins glorieuse. Nous avions calibré le robot sur les tables d’essai où il glissait plus que sur les tables de match. Il ratera ses 2 premiers panneaux solaires et frôlera le troisième (assez pour marquer les points). Les PAMIs vont encore se planter. Le premier atteint son objectif tandis que les quatre suivants vont se pousser, suffisamment pour qu’un second arrive à la jardinière la plus proche, mais ce sera bien par chance.
Nous marquons 57 points face à ARC :
Match 5 - 720p (32Mo) ou sur Youtube : Match 5
Un petit mot sur les PAMIs. S’ils n’ont pas brillé cette année, c’est pour plusieurs raisons :
Au classement, nous finissons 39e sur 97 équipes homologuées et avant-dernier des équipes Légendes 15e sur 16. C’est donc pour nous la fin de la compétition !
Quel bilan en tirons-nous ? Vous le saurez dans notre prochaine brève !
14 mai 2024
Et voilà, c’est terminé... Après 4 jours de défis intenses, de stress et de rencontres sympathiques nous voici de retour chez nous. Mais que s’est-il passé durant ces quatre jours ? Et pourquoi ?
Pour répondre à ces questions, nous allons reprendre l’histoire au 23 avril.
Bien que nous ne l’ayons pas publié, nous avions également réalisé des essais pour attraper les plantes. Ces plantes sont des éléments assez sensibles, il est facile de les coucher. Elles ont aussi la fâcheuse manie de se regrouper lorsque le robot se rapproche (il les pousse). Une fois regroupées, il n’est plus possible de les attraper avec la pince à 3 doigts. Le robot en prend 2 ou même trois et ça devient le bazar.
Nous fixons alors un petit doigt sous le châssis pour saisir la plante, la reculer et l’isoler de ses congénères. Cette solution améliore grandement la saisie des plantes.
Nous avons donc une saisie des pots qui marche et une saisie de plante qui n’est pas affreuse.
Nous faisons quelques démonstrations devant des amis, il parait maintenant flagrant que le robot n’attrape correctement une plante qu’une fois sur 3 ou 4. Pire, s’il n’attrape pas la plante, il part doucement dans le décor. Nous profitons d’un après-midi pour identifier les défaillances et gérer ces cas plus proprement.
Nous avons maintenant un robot qui rentre à une zone de dépose dans quasiment tous les cas, avec ou sans plantes...
Nous rajoutons les bordures au terrain - regardez la vidéo précédente, vous verrez que les pots ne sont pas bloqués par la bordure. Ceci nous oblige à retravailler un peu la séquence de prise des pots. Notre mécanique est loin d’être parfaitement symétrique, nous réglons alors la distance de prise des pots pour chaque bras.
De plus, nous avions un système de calage automatique du robot : nous le posions sur le terrain dans une orientation approximative et il se mettait tout seul en position grâce à son capteur. Nos essais nous ont montré que ce système n’était pas assez répétable. Le robot pouvait se décaler jusqu’à 2 centimètres - rédhibitoire pour attraper les pots !
Petite mésaventure, un fil du câble d’un servomoteur se détache du servomoteur : démontage sur servomoteur, ouverture du boîtier, re-soudage du fil, remontage et noyage du tout dans le pistocolle...
Et voilà, il ne nous reste plus qu’un week-end avant la coupe et nous sommes loin d’enchaîner les essais pour fignoler la stratégie.
Notre code se compose d’une vingtaine de cas de test, qui nous ont permis de travailler jusqu’à présent. Maintenant, nous devons absolument commencer le code principal, tenant compte de la "couleur" du robot - qui influe sur sa position de départ - et de la tirette - qui conditionne le départ du robot. Des "détails" qui peuvent réserver leurs surprises.
Mais avant, nous avons un dernier mouvement à programmer. Le robot est conçu pour pouvoir lâcher ses pots, tourner sur lui-même et les re-saisir. Du moins c’était notre ambition initiale. Quelques essais montrent que ce ne sera pas possible exactement comme ceci. Lorsque le robot lâche un pot, celui-ci s’éloigne du robot. Les bras sont alors trop courts pour récupérer les pots sans déplacer le robot. Vu la situation, nous travaillons sur un échange entre les deux pots avants (potentiellement remplis d’une plante) avec les pots arrières.
Dans l’après-midi, nous organisons une séance PAMI. Avec de l’aide, nous découpons les dernières pièces des PAMI, soudons les câbles, assemblons les petites bêtes. Mais la tâche est un peu plus ardue que prévu, la carte électronique ne se monte qu’en force et il faut dessouder une broche du microcontrôleur à cause d’un problème de conception de la même carte.
Nous finissons la journée avec des PAMI montés mais pas testés...
Nous enchaînons les essais et le comportement du robot se dégrade, essai après essai. Il n’arrive plus à lâcher les pots, les servomoteurs n’ont plus la force de décoller les aimants des pots. Puis même à vide, les doigts ne bougent plus. Les servomoteurs des doigts, ceux qui font avancer et reculer les aimants se mettent à "croustiller". Nous remplaçons nos servomoteurs à pignons en plastique par des servomoteurs avec des pignons métalliques.
Puis l’un servomoteur à pignons métalliques refuse de bouger, ou a la tremblotte à certains moments. Nous vérifions les branchements plusieurs fois, ce qui semble améliorer la situation. Avant qu’elle n’empire à nouveau.
Nous contrôlons alors la mécanique des doigts et, effectivement, certains doigts forcent plus que d’autres. Nous corrigeons ceci en ajustant la forme du fils de fer qui guide l’aimant tenu par le servomoteur. Et la situation s’améliore...
Autre problème, le translateur, ce bloc qui tient la pince et son ascenseur, qui lui permet de se positionner au-dessus des pots, ne va plus au bout de sa course. Là, il nous faudra qu’une heure ou deux pour comprendre que nous devons re-lubrifier les axes régulièrement. Les axes sont en carbone (baguettes de cerf-volants ) et le translateur en bois. Nous les avions lubrifiées avec du PTFE en bombe. C’est efficace, mais pas très pérenne. Nos gardons quand même cette solution et notant bien de prendre le lubrifiant avec nous. (Il faudra que nous soyons à la compétition pour réaliser que nous ne secouions pas assez la bombe et que nous ne projetions que des traces de PTFE sur les axes du translateur...)
Maintenant, il faut vraiment écrire un bout de code pour l’homologation, prenant en compte la tirette et la couleur de départ du robot ! Mais avant, nous réalisons un ou deux tests et nous cassons un morceau de bras !
La réparation sera heureusement rapide !
Nous continuons nos essais et rapidement nous avons le robot qui se "plante", moteurs arrêtés, le reste semblant fonctionnel. Nous avions déjà vu ce phénomène mais nous l’avions négligé. Après avoir vérifié la tension de la batterie, nous branchons le PC sur le robot et découvrons avec stupeur que le robot est en train de redémarrer. En réalisant ce branchement, nous frôlons le régulateur de tension qui nous parait excessivement chaud par rapport à la puissance consommée estimée. Après avoir inspecté la carte et ses branchements dans tous les sens, nous modifions deux choses sur le robot :
En fin de journée, nous avons un code qui permet au robot d’attraper les pots, chercher des plantes dans une zone de plante, rentrer à une zone de dépose et déposer ses pots (potentiellement garnis de plantes).
Le code est fiable dans le sens où le robot réalise ces actions sans partir dans le décor. Mais il est loin d’attraper systématiquement une plante !
C’est également le moment de s’assurer que l’affichage du score marche bien... Et c’est un échec. Le code de la gestion de l’écran et celui de la lecture du capteur à l’avant, qui détecte les plantes, semblent entrer en conflit. Vu notre avancement, nous remettons un code qui gère le score, affichons "25 points" sur l’écran e-ink, et rebasculons sur le code qui ne gère que le capteur. Le robot affichera 25 points du début à la fin de la compétition.
Fiabilisation du code ? Avancée sur la stratégie ? Que nenni !
Nous chargeons la voiture le matin et voyageons l’après-midi ! Nous avons seulement un peu de temps le soir, qui sera consacré à l’asservissement des moteurs du premier PAMI.
Mots clés : 2024, Coupe, Essais, Mécanique, Mini robot (PAMI)
5 mai 2024
Voici le poster de cette année :
Côté avancement sur le robot, c’est mitigé :
Les PAMIs ont bien avancé, mais un seul a été testé...
Donc en gros, c’est tendu !!
Mots clés : 2024, Poster, Mini robot (PAMI)
23 avril 2024
Voilà un mois que nous n’avons rien publié et nous voilà à 2 semaines de la compétition... Mais qu’avons-nous fait ?
Rappelons que ce capteur mesure 64 distances à chaque acquisition, répartis sur une grille de 8x8.
Ce capteur nous a bien occupé et les résultats sont au niveau des attentes. Le robot détecte les bordures et se recale. Il trouve même sa position de départ tout seul !
L’identification de la bordure se fait en prenant 8 points horizontaux. Nous utilisons une régression linéaire et les caractéristiques de la droite trouvée nous ont vite donné satisfaction. Ce qui nous a embêté, c’est le rejet des valeurs perturbées par la présence d’un pot devant la bordure. Pour cela, nous utilisions un critère, nommé qualité de prédiction par Wikipédia. Ce critère, pour estimer que les points forment une droite, est proche de 1 si les points forment une droite, proche de 0 dans le cas contraire. Or dans notre cas, face à une bordure, le critère variait en fonction de l’angle du robot avec la bordure. Ci-dessous, nos données expérimentales :
L’explication détaillée mériterait un article, mais en gros, le critère que nous utilisions évaluait le rapport entre la variation en Y des points théoriques par rapport à la variation en Y des points réels. Quand l’angle entre la bordure et le robot est proche de 0, la variation des points théoriques devient très faible alors que la variation des points réels reste constant à cause des erreurs de mesures.
Nous avons bidouillé notre propre critère en se basant sur les écarts en les Y réels et les Y théoriques.
Le capteur permet aussi au robot de trouver les plantes, avec une logique simple, ciblant le point le plus proche.
Le robot a attrapé ses premiers pots. Un moment touchant pour nous, car le spectacle semble à la hauteur de nos espérances.
Nous vous avions présenté la conception de la carte électronique des PAMIs, voici la conception mécanique !
Et le premier PAMI partiellement monté :
C’est maintenant une course contre la montre :
Mots clés : 2024, Capteur, Vidéo, Mini robot (PAMI), Programmation