Ici nous vous informerons des dernières nouvelles concernant l'avancement de nos projets et autres !
Bonne lecture !
15 janvier 2023
À force de faire des essais et de laisser traîner la carte sur le bureau, une patte de résistance qui traînait a arqué et ça nous a motivé à faire un support propre pour la carte électronique.
Nous avons profité de l’arrivée d’un jeune nouveau membre pour commencer la carte de détection de l’adversaire. Si tout se passe comme prévu, nous utiliserons des capteurs VL53L1X :
Enfin, nous avons fini notre article sur les astuces pour utiliser VS Code pour le Raspberry Pi Pico.
Du côté de nos tâches :
Mots clés : Mécanique, Programmation, Photo, Robot holonome, 2023
11 décembre 2022
Par rapport à nos nouvelles du 2 décembre 2022, nous avons bien avancé sur la programmation des déplacements ! À ce niveau, le dernier point encore non maîtrisé est l’utilisation du gyroscope pour se positionner.
Nous avons publié notre code sur Github avec un Readme qui explique la structure du code.
Pour l’instant, nous n’avons pas de belle vidéo à présenter, mais ça ne saurait tarder... Pour patienter, un test "en boucle ouverte", seuls les moteurs sont asservis en vitesse, il n’y a pas de retour sur la position du robot !
Et voici les courbes obtenues lors des essais de contrôle en vitesse avec une accélération et une décélération - ce sont bien des courbes expérimentales :
Le code supporte les trajectoires droites, circulaires ou suivant les courbes de Bézier.
Donc nous sommes - presque - prêts à nous déplacer avec classe et précision !
Mots clés : Programmation, Vidéo, Robot holonome, 2023, Raspberry Pi Pico
2 décembre 2022
Nous vous avions présenté la carte nue, la documentation interactive de la carte mais pas la carte soudée ! Il lui manque bien un ou deux connecteur, mais la voici :
Mots clés : Électronique, Photo, Robot holonome, 2023, Raspberry Pi Pico
29 novembre 2022
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.
C’est sur cet axe arrière que nous fixons notre 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 !
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.
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.
L’oscillation montre un gain trop fort. Nous le divisons par 2.
Observons la valeur finale, de 350 à 400 mm/s. Nous ajoutons un intégrateur pour améliorer la précision de l’asservissement.
Nous sommes plus près de 500 mm/s, mais ça oscille énormément. Nous divisons par 10 le gain 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.
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).
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.
Mots clés : Essais, Photo, Robot holonome, 2023
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.
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.
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 !
Un petit mot sur la documentation. Si vous souhaitez bien maîtriser la bête vous aurez besoin des documents suivants :
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...
On admire la sérigraphie :
Une fois soudée, la carte pourrait ressembler à ceci :
La base roulante progresse, grâce à notre scie à chantourner. Nous manquons de vis, rondelles et écrous pour l’assembler proprement...
Dommage, non ?
Mots clés : Électronique, Robot holonome, 2023, Raspberry Pi Pico