Ici nous vous informerons des dernières nouvelles concernant l'avancement de nos projets et autres !
Bonne lecture !
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)
23 mars 2024
... mais ce n’est plus un grappin.
Après nos essais non-concluants, nous nous sommes remis au travail. Nous avons coupé les doigts du grappin, percer des trous pour pouvoir fixer différents types de doigts. Finalement, notre seconde itération s’avérera concluante.
Nous avons fixé nos cartes électronique et raccordé la quasi-totalité de capteurs et actionneurs. Il ne manque que la tirette, le bouton de sélection de la couleur de l’équipe et le petit écran qui indique le score.
Ce qui nous a permis de reprendre le programme de l’an dernier et ses nombreux tests unitaires. Le début ne s’est pas fait sans mal :
❌Recompilation du code en mode test : pas de mode test
❌make clean puis recompilation en mode test : pas de mode test
❌rm -r build/* puis recompilation en mode test : mode test OK (c’est le cache du cmake qui posait soucis), mais pas de retour des codeurs
❌ Oh, le code de test n’initialise pas le module codeur : le code tourne, mais les codeurs sont à 0 en permanence
✅ Ah, oui, après relecture du plan de la carte, les codeurs ne sont pas alimentés par l’USB. On attrape l’arrêt d’urgent de l’an dernier, le connecteur pour la batterie, la batterie et Oh ! Les données arrivent !
✅ Quoi ? Pas de graphique teleplot pour nos codeurs : ça c’est corrigé !
La suite se déroule beaucoup mieux :
✅ Lecture des codeurs
✅ Pilotage des moteurs
✅ Asservissement des moteurs
✅ Lecture du gyroscope
✅ Localisation par codeur + gyroscope
Nous fixons l’arrêt d’urgence (à cause du souci rencontré plus haut), le gyroscope et le capteur de détection des plantes (VL53L8).
L’arrêt d’urgence se base sur notre système habituel, une sorte de tringlerie en bois qui active un interrupteur à levier.
Le gyroscope est situé à un endroit accessible, afin de facilement pouvoir y accéder en cas de soucis (notamment l’enfermer dans une cage en aluminium).
Et notre capteur est situé au milieu du robot, à hauteur des plantes qu’il doit identifier.
Nous avons réglé les positions des 6 bras avec leurs aimants et rajouter sur la carte servomoteur, le code pour communiquer en I2C.
Le gros point restant est le traitement du capteur VL53L8 et la stratégie !
Mots clés : 2024, Mécanique, Programmation, Photo
2 mars 2024
S’il est important de célébrer nos succès, il faut parfois célébrer nos échecs. Après tout, n’est-ce pas d’eux que nous apprenons le plus ?
Alors, nous partageons avec vous notre conclusion, le grappin, pour attraper les plantes ne fonctionne pas. Ou alors pas de manière suffisamment fiable pour être utilisé à coupe.
La preuve en image :
Que faire maintenant ? Nous avons analysé le problème et trouvé deux causes :
Nous vous présenterons prochainement nos améliorations. Nous utiliserons bien une pince 3 doigts pour attraper les plantes, mais ce ne sera pas un grappin !
14 février 2024
Ce dernier mois, la priorité n’était pas sur notre robot. Alors que nous étions plutôt bien partis côté planning, nous avons consommé une bonne partie de notre marge.
Mais nous avons quand même avancé !
Notre système de pince contient 3 axes :
Nous avons conçu et assemblé le translateur. En l’installant sur le robot, nous installons notre 15ᵉ servomoteurs sur le robot. Voici la première version de la mécanique :
La cinématique est sympa, avec le servomoteur qui avant et recule lorsque l’ensemble va de gauche à droite. Malheureusement, les performances ne sont pas au rendez-vous : le système met du temps à atteindre les positions extrêmes (ça se voit sur la vidéo ci-dessous) et pire, l’ensemble se bloque assez facilement.
Nous allons alors travailler sur une seconde version du translateur, où la course du servomoteur sera négligeable mais qui va nous faire gagner en rapidité et en fiabilité.
Alors nous tentons un test d’un cycle complet de manipulation de plante.
C’est l’occasion de critiquer la pince 3 doigts, où les frottements empêchent la pince de s’ouvrir et limite la force disponible lors de la fermeture. Nous changeons le point d’attache de la bielle pour améliorer grandement l’efficacité du mécanisme. Même si pour cela, nous devons revoir la fixation du servomoteur.
Il y aura bien encore quelques ajustements à effectuer, mais dans l’ensemble, les actionneurs du robot sont en place. Il est maintenant temps de re-travailler sur le déplacement et les capteurs (positionnement et traitement) !
Mots clés : 2024, Mécanique, Vidéo, Conception, Photo
5 janvier 2024
Nous vous avions présenté l’actionneur principal, notre pince 3 doigts. Il est temps maintenant de vous présenter nos actionneurs "secondaires". Il s’agit des petits bras qui tiendront les pots. Nous vous avions donné un aperçu du prototype fin octobre dans cette brève.
Revenons en détail sur fonctionnement du bras, il est composé de deux parties. La première partie permet de lever et d’écarter le pot du robot, c’est la partie la plus visible ci-dessous :
La seconde partie approche ou éloigne un aimant du pot pour le prendre ou le lâcher.
Nous avons d’abord réalisé un prototype, puis une version pré-série. Enfin, nous décidons de réaliser la série. Pour cela, il faut découper les pièces :
Puis il faut percer les pièces avec précision. En fonction, soit nous perçons les pièces ensembles, 2 à 2, ou nous nous servons de gabarits de perçage pour être répétable.
On ne dirait pas comme ça, mais c’est un peu de boulot de percer ces pièces !
En parallèle, nous découpons le châssis.
Nous perçons les trous de fixation des moteurs. Pour cela, nous utilisons l’ancien châssis comme gabarit et obtenons rapidement une sorte de base roulante.
Il va falloir assembler les bras de manière à respecter la position des pots prévue initialement.
Vous n’aurez pas de photos de l’assemblage des 6 bras. Avec la visserie, il y a plus d’une cinquantaine pièces par bras. Bref, ça nous a pris un peu de temps, mais le résultat est là :
Et en détail (notons qu’il manque le pignon et la bielle entre le servomoteur et l’aimant) :
Ce qui donne en action :
La suite, car nous sommes loin d’être en avance sur la planning, se compose principalement des tâches suivantes :
Ensuite, nous pourrons commencer les déplacements sur le terrain !
Mots clés : 2024, Conception, Photo, Mécanique, Vidéo