Portail des Équipes

Coupe de France de Robotique - Eurobot

Sommaire

Codeurs et asservissement des moteurs

Ce week-end, nous avons changé le châssis en medium 3 mm (cassé) par un châssis en contre plaqué de 5 mm. En démontant les moteurs nous en avons profité pour installer les codeurs à l'arrière des moteurs. En effet, nos moteurs sont équipés d'un axe arrière dédié à la fixation d'un codeur.


Axe arrière du moteur

C'est sur cet axe arrière que nous fixons notre codeur en kit.


Codeur en kit

Pour ceux qui ne connaissent pas trop le fonctionnement de la roue codeuse, il s'agit d'une petite diode qui va éclairer un disque strié. Un récepteur va détecter la variation de lumière due aux stries et ainsi compter le passage des stries. En ajoutant un léger décalage avec un second capteur, il est possible de déterminer le sens de rotation du disque. Quelques informations supplémentaire par ici.

Voici notre disque en détail, c'est quand même une jolie pièce !


Disque du codeur

Une fois l'ensemble tout remonté, nous revérifions que la lecture des codeurs et le pilotage des moteurs fonctionnent bien. Une petite surprise nous attendait sur le moteur 3, un court-circuit maintenait la broche PWM à la masse...

Bref, le robot était presque prêt à faire ses premiers tours de roue. Dernière étape avant un déplacement sommaire, l'asservissement des moteurs.

Asservissement des moteurs

Voici notre démarche pour régler notre asservissement. Notez qu'il s'agit d'un processus itératif et que nous nous arrêtons dès que le résultat nous semble correct. Nous ne sommes pas allés chercher l'optimisation !

Pour nos essais, nous fixons une consigne à 500 mm/s et un gain P arbitraire.


Réglage initial

L'oscillation montre un gain trop fort. Nous le divisons par 2.


Première réduction du gain

Observons la valeur finale, de 350 à 400 mm/s. Nous ajoutons un intégrateur pour améliorer la précision de l'asservissement.


Ajout de l'intégrateur

Nous sommes plus près de 500 mm/s, mais ça oscille énormément. Nous divisons par 10 le gain de l'intégrateur.


Diminution de l'intégrateur

Le début semble encore bien oscillant. Nous savons que la période de calcul influe grandement sur la stabilité d'un système. Nous la diminuons de 5 millisecondes à 1 milliseconde. Les résultats sont flagrants.


Réudction du pas de temps

La montée brusque suivie de l'atteinte de la valeur finale par une montée bien plus lente laisse supposer que notre gain proportionnel (P) est trop faible par rapport à notre gain d'intégration (I). Ayant gagné en stabilité en réduisant le pas de calcul, nous pouvons augmenter le gain P (en le doublant).


ré-augmentation du gain P

En conclusion, nous noterons que nous obtenons des résultats très corrects sans peaufiner les gains. Nos principaux ajustements ont été de multiplier ou diviser par 2, 5 ou 10 les gains.

Stand à la médiathèque de Riom (RLV)

Nous étions ce samedi à la médiathèque de Riom et vous avez été assez nombreux à vous arrêter sur notre stand, merci à vous !

En plus d'avoir le plaisir de partager nos travaux avec vous, nous étions aussi là pour recruter des membres, soit pour notre équipe actuelle, soit pour monter une nouvelle équipe junior.

Concentré sur nos créations, nous avons donné assez peu d'information sur le concours en lui-même. Le site du concours, la coupe de France de Robotique est ici www.coupederobotique.fr. Les dates des concours sont :

  • le 18 mars 2023 à Lyon pour la coupe régionale Junior
  • du 17 au 20 mai 2023 à la Roche-sur-Yon pour la compétition adulte et les finales Junior.

Sur le site vous trouverez également le règlement qui décrit les contraintes des robots, le terrain et les actions qui permettent de marquer des points.

Si vous souhaitez rejoindre l'aventure, envoyez-nous un message à l'aide du formulaire contact du site en nous laissant vos coordonnées !

Carte Holonome 2023 - La doc !

Après plusieurs essais, nous avons enfin la documentation de notre carte.

La bibliothèque Pinion, que nous utilisons, ne se porte pas très bien. Les différentes briques logicielles semblent avoir évolué séparément et la dernière version Pinion ne semble pas compatible avec les dernières versions de ses dépendances pcbdraw et pcbnewTransition.

À l'heure actuelle, la dernière version livrée est la 0.2.0. Pour l'utiliser, il faut installer manuellement pcbdraw en version 0.8.0 et pcbnewTransition en version 0.1.0 :

pip3 install pcbdraw==0.8.0
pip3 install pcbnewTransition==0.1.0

Pour construire cette visualisation de la carte nous avons suivi notre article sauf que nous avons modifié cette ligne dans le fichier template.py :

template.py # p.insert(0, "name", f"{footprint.GetReference()}.{pad.GetName()}") p.insert(0, "name", f"{pad.GetNetname()}")

Ainsi, la configuration générée lie les broches du même signal entre elles.

Journal - 3 novembre 2022 - Aspiration et Gyroscope

Deux semaines qui n'ont pas été des plus fructueuses, mais nous avons quand même quelques avancées à présenter...

Le gyroscope et le Rpi Pico

Nous sommes passés à l'ADXRS453, censé être plus stable. Nous avons eu du mal à obtenir nos premières valeurs et les premières mesures n'ont pas montré de différences significatives avec notre L3DG20H.

En statique, la vitesse renvoyée varie de +/- 0,01°/s sur les deux modèles.

L'ADXRS453 a quand même plusieurs points pour lui, notamment une compensation de la température intégrée. Les résultats en intégrant la vitesse sur 90s sont entre corrects et bons.

Côté mécanique - Aspiration des balles

C'est l'aspiration des balles qui nous fait transpirer en ce moment. Notre premier prototype en papier et carton montrait que la turbine avait une puissance d'aspiration suffisante pour attraper les balles.

Notre second prototype avait pour mission de :

  1. Montrer la faisabilité technique d'utiliser du papier mâché
  2. Valider les grands principes de fonctionnement : avoir un tuyau large pour limiter les pertes de charge du flux d'air et utiliser un guide à l'intérieur du "tuyau" pour dévier les balles du flux initial.

Réalisé en papier mâché, il a fallu le découper dans la longueur pour extraire le "moyeu". Notons l'astuce du papier d'aluminium pour éviter que le papier mâché colle à la forme !

Ce qui permet d'installer les guides, ici en fil de cuivre, pour dévier la balle du flux d'air.

En recollant les deux morceaux, nous obtenons notre pièce terminée.

Les résultats ne valident pas intégralement la solution. Le système attrape les balles/cerises mais dès que le tuyau s'élargit, l'aspiration n'est pas suffisante pour continuer de soulever les balles, de les projeter contre le guide (qui est au-dessus des balles) et les sortir du flux. Par contre, l'utilisation du papier mâché donne des résultats satisfaisants. Il se découpe et recolle bien ! Ce qui nous incite à réaliser une nouvelle pièce qui pourrait être la pièce finale. Il sera possible de la couper et recoller sans tout refaire de zéro.

Nous partons sur un conduit fin 26mm de diamètre, sur une séparation des balles du flux d'air sur une section relativement horizontale avec le flux d'air allant vers le haut, la balle vers le bas. Nous agrandissons aussi la section à cet endroit pour que la balle ne soit plus aspirée par le flux d'air. Et bien sûr, nous installerons le guide en fil de cuivre. Voilà le plan !

Le chant du signe de Capsicum

Capsicum, notre robot 2022 fera sa - probablement - dernière sortie dans 2 semaines. Nous avons l'occasion de présenter nos activités de robotique. Si vous passez dans le coin, venez nous retrouver à la médiathèque de Riom, le samedi 19 novembre 2022.

Est-ce que ceci nous motivera pour écrire une page de présentation pour Capsicum ? Peut-être...

Journal - 16 octobre 2022

Un mois sans donner de nouvelles ! Comment avons-nous pu faire ça ? Et maintenant, nous avons tellement de choses à raconter, et pas trop de temps... Ce sera donc bref.

Le gyroscope et le Rpi Pico

Dans l'idée de se faire la main sur le Raspberry Pi Pico, qui servira de contrôleur sur notre prochaine carte électronique, nous testons alors le gyroscope L3GD20H. Nous observons des phénomènes un peu bizarres. Il nous faudra du temps pour comprendre que sur les 3 axes du gyroscope, celui que nous comptions utiliser (l'axe Z) est le pire des trois.

Nous mesurions une dérive régulière de 8°/minutes, en statique. Une analyse plus poussée montrera que cet axe met plus de temps à se stabiliser que les autres... Notre calibration se servait alors de ces valeurs fausses, créant cette dérive.


Gyroscope L3GD20H - traitement non-optimal

Les autres axes (X et Y) ne sont pas parfaits mais exploitables.

Déçus, nous achetons un second ADXRS453, pour voir si nous obtenons de meilleurs résultats. Les essais sont en cours.

Globalement, l'environnement du Rpi Pico manque un peu de légèreté, cmake est affreux, l'intégration à VS Code bien mais pas géniale. La puce reste puissante par rapport à nos anciens microcontrôleurs et la liaison USB est extrêmement pratique. L'intégration facile sur une plaque de test est aussi un très gros plus !


Rpi Pico et son gyroscope

Un petit mot sur la documentation. Si vous souhaitez bien maîtriser la bête vous aurez besoin des documents suivants :

La carte électronique

Début octobre, nous nous sommes concentrés sur la carte électronique. Le schéma puis le routage dans la foulée. L'architecture se base sur 2 Rpi Pico reliés en I2C. Un qui gère le déplacement (moteurs, codeurs, gyroscope) qui sera le maître et gérera aussi la stratégie. L'autre analysera les capteurs et mettra les informations à disposition du maître. Comme nous avons eu peur que ça fasse juste en termes d'entrées-sorties, nous avons rajouté une extension d'entrées/sorties I2C (TCA9535).

Nous avons reçu la carte et les composants, y'a plus qu'à souder...


Carte Holonome 2023 nue

On admire la sérigraphie :


Sérigraphie de la carte 2023

Une fois soudée, la carte pourrait ressembler à ceci :


Carte Holonome 2023 - modélisation

Côté mécanique

La base roulante progresse, grâce à notre scie à chantourner. Nous manquons de vis, rondelles et écrous pour l'assembler proprement...


Base roulante holonome

Dommage, non ?


Base roulante holonome