Ici nous vous informerons des dernières nouvelles concernant l'avancement de nos projets et autres !
Bonne lecture !
6 mars 2023
Sur la vidéo suivante, le robot ne se comporte pas comme demandé. Nous verrons pourquoi nous considérons que ceci n’est pas un problème d’asservissement.
Avance et tourne ! (480p - 5 Mo | 720p - 10 Mo).
Ce que l’on voit sur la vidéo, c’est que la rotation du robot sur lui-même n’est pas fluide. Elle devrait progresser en même temps que le mouvement.
Pour comprendre ce qui se passe, notre premier réflexe est de comparer la rotation du robot avec sa consigne de rotation.
En zoomant sur la courbe, ça ressemble vraiment à un asservissement mal réglé (à un ou deux détails près).
Dans la première partie, l’orientation suit bien sa consigne puis elle décroche et dépasse sa consigne lorsqu’elle est proche de sa valeur finale. C’est assez semblable au comportement d’un correcteur intégrale mal réglé.
Notre premier réflexe a été d’ouvrir le code de notre asservissement en rotation pour aller modifier le gain de notre correcteur intégral sur notre orientation. Et là, nous réalisons que nous n’avons jamais mis de gain intégral sur notre correcteur en orientation. Le seul gain intégral que nous ayons est sur l’asservissement des moteurs. Nous observons alors le comportement des moteurs
Sur le dernier graphique, celui du moteur C, le moteur n’atteint pas sa consigne à plusieurs reprises dans le cycle. Plus en détail, il semble décrocher quand la consigne dépasse les 500 mm/s alors que la consigne va grimper jusqu’à 1 500 mm/s (probablement sous l’influence du terme intégral).
Ceci arrive lorsque le robot atteint 60° d’orientation. À ce moment-là, tandis que toutes les roues assurent la rotation du robot, la roue C commence à être la seule à faire avancer le robot (selon le vecteur vert sur le schéma) alors que les deux autres roues, dans leur rôle de faire tourner le robot, participent à diminuer sa vitesse.
Projetez les vitesses sur l’axe Y, vous verrez !
Nous demandons au robot une consigne qu’il ne peut pas atteindre, car ses moteurs ne sont pas assez puissants.
Si cette théorie est bonne, alors le robot devrait pouvoir réaliser la même trajectoire, mais moins vite.
Ce qui se voit sur la vidéo et les graphiques ci-dessous, où la vitesse maximale a été diminuée de 1 000 mm/s à 300 mm/s.
Tant pour l’orientation qui suit sa consigne :
Que pour les moteurs :
Ceci n’est donc pas un problème d’asservissement.
C’est un problème de consigne ! La consigne doit être atteignable. C’est une notion qui est importante, car nous aurions pu perdre beaucoup de temps à corriger nos gains sans obtenir de résultats. De là à considérer que si la consigne (ou l’erreur) sort de certaines valeurs il faut couper l’asservissement et sortir en erreur, il n’y a qu’un pas. Ce n’est pas notre priorité pour l’instant, car il faut ensuite gérer le cas où l’asservissement se "bloque", mais c’est une piste pour améliorer la fiabilité du robot.
Bien sûr, le doute peut persister, est-ce qu’un asservissement un peu plus violent nous permettrait de réaliser le même mouvement plus vite ? Probablement, mais nous pensons que l’effet serait plutôt marginal.
Note du 8/3/2023 : Si l’article s’attarde sur le problème de vitesse des moteurs, c’est parce que la vitesse est la donnée la plus facilement observable. En réalité, le problème se situe au niveau du couple moteur disponible à une certaine vitesse, donc à un problème de puissance des moteurs !
Mots clés : Conception, 2023, Vidéo, Robot holonome
23 février 2023
Cette année, nous participons à la coupe de France de Robotique dans la catégorie "Legends" nouvellement créée. Une des conditions est de fournir un projet scientifique et un plan de communication. Voici le nôtre.
Le dernier prototype nous avait donné satisfaction, voici la vidéo.
Aspiration des balles avec le prototype (1 Mo).
Voici quelques photos de la construction de la version finale. Nous l’avons bien montée une fois sur le robot mais démontée presque aussi tôt pour s’occuper des contacteurs.
Une autre raison pour laquelle nous avons démonté le système, c’est que lors de nos essais la turbine était maintenue à la main et que nous l’avons bousillée. Attention, les pâles de turbines sont vraiment dangereuses pour les yeux !
Nous avons reçu les nouvelles turbines, mais nous ne les avons pas encore installées.
Les contraintes de place sont assez fortes au niveau des contacteurs. Surtout que ceux-ci doivent être protégés car nous comptons sur eux pour longer des murs. Nous avons finalement un modèle qui nous satisfait. Voici le prototype :
L’intégration nous a quand même demandé un peu de temps. Mais les contacteurs sont maintenant câblés et raccordés à la carte électronique.
Nous avons fini la conception de nos cartes, commandé et reçu nos cartes de détection de l’adversaire.
Nous les avons aussi partiellement soudées. Nous avons commandé les mauvaises référence de LED, nous attendons la nouvelle commande. Nous n’avons pas encore soudé tous les capteurs. Nous attendons de valider un minimum le code avant de tous les souder.
Les quelques lignes de code montrent que la carte se comporte comme prévu, avec la possibilité de désactiver les capteurs un par un.
Nous arrivons enfin à finaliser un mouvement qui nous tenait à cœur : avancer droit en faisant tourner le robot sur lui-même.
C’est probablement l’un des mouvements le plus complexe que le robot aura à faire et donc un bon moyen de valider notre architecture.
Bref, la joie du robot holonome !
Du côté de nos tâches :
Mots clés : Conception, Coupe, Électronique, Mécanique, Vidéo, Photo, Robot holonome, 2023
13 novembre 2022
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 pinion==0.2.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 :
# 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.
Mots clés : Électronique, Conception
3 novembre 2022
Deux semaines qui n’ont pas été des plus fructueuses, mais nous avons quand même quelques avancées à présenter...
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’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 :
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 !
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...
Mots clés : 2023, Conception, Mécanique
16 septembre 2022
Le brouillon du règlement de la coupe est disponible, sur le site de la coupe de France de robotique. Cela fait donc une semaine que nous réfléchissons activement au règlement.
C’est un règlement à l’opposée de celui de l’an dernier, avec une table presque sans obstacle qui incite à avoir des robots qui se déplace bien, voire très bien sur le terrain !
Alors, en attendant la version finale du règlement - la FAQ peut vous indiquer dans quel sens évolue le règlement - nous ébauchons nos robots.
Cette année nous sommes très tentés d’avoir deux robots. Le premier sera basé sur notre architecture de 2014 et sera chargé de marquer les points avec les gâteaux. Le second robot sera bien différent du premier et s’occupera des cerises. Voici ce que nous avons en tête avec les principales étapes du projet.
Basé sur le robot historique, nous réutiliserons les roues, les moteurs, le gyroscope et notre magnifique carte électronique maison. Il embarquera les 10 cerises du départ, devra pousser et tirer les gâteaux dans les assiettes et leur déposer une cerise dessus. Voici notre programme (pas forcément dans l’ordre) :
Nous partons de zéro pour ce robot. Pour la localisation, nous tentons de rester sur l’architecture qui nous a si bien réussi : des codeurs sur les moteurs. Pour le reste, l’objectif est de changer un peu des technologies utilisées depuis 2014 sur nos robots. Ce sera donc un robot holonome, d’un diamètre modeste (nous visons 25cm). Le cœur de l’électronique sera un Raspberry Pi Pico et pour le pilotage des moteurs, nous hésitons entre des LMD18200 ou des modules de type Pololu. Sur ce robot, notre programme est très chargé :
Un programme bien (trop ?) chargé. Alors nous essayons de ne pas trop traîner, nous avançons bien côté shopping. Nous espérons avoir fini de commander les composants nécessaire à la nouvelle roulante ce week-end. Ensuite, nous nous focaliserons sur le RPI Pico...
Mots clés : Conception, Coupe, Odométrie, Robot holonome, 2023
page précédente 1 2 3 page suivante