Ici nous vous informerons des dernières nouvelles concernant l'avancement de nos projets et autres !
Bonne lecture !
12 novembre 2023
Pour attraper les plantes, il faut une pince, ou un dispositif similaire. Nous choisissons d’utiliser une pince à 3 doigts, parce que cela semble à la fois joli et efficace.
La voici en images :
Et une fois montés :
Ensuite, nous ajoutons le mécanisme pour piloter les doigts et le servomoteur pour actionner le mécanisme.
L’ensemble en action à vide :
L’ensemble avec une plante :
Y’a plus qu’à :
Bref, il reste du travail.
Mots clés : Conception, Mécanique, Photo, Vidéo
26 octobre 2023
Le règlement définitif de la Coupe de France de robotique est enfin publié et nous avons donc avancé dans la conception générale de notre robot.
Tout d’abord, nous avons abandonné complètement l’idée de notre premier actionneur, cette espèce de doigt. En effet, la présence des feuilles faisait qu’il repoussait les plantes au lieu de les saisir et pour les pots, la force nécessaire pour les tenir lorsqu’ils contiennent une plante nous paraissait trop grande.
Puis nous avons décidé que nous nous focaliserons sur la partie principale du règlement, attraper les plantes pour les mettre en pot et les stocker dans la jardinière. Pour cela, nous identifions trois parties principales du robot :
Le bras pour manipuler les pots va avoir un gros impact sur la conception du robot. Nous avons rapidement réalisé un prototype en faisant un pari risqué : nous parions que les pots seront ceux d’Ikea lors des compétitions et nous les ersatz en impression 3D.
Cette année, l’élément de jeu principal - les plantes - ne se trouve pas à une position fixe sur la table de jeu. Nous décidons d’utiliser un système de détection pour les trouver.
Notre choix se porte sur le VL53L8CX après des essais plus ou moins concluants avec le VL53L1X. Le VL53L1X semblait prometteur dans le sens où nous étions en bonne voie d’arriver à détecter un pot. Mais le VL53L8CX présente de nombreux avantages, notamment une utilisation plus simple pour ce genre de cas et une bien meilleure précision.
Nous fournissons un code "rustique", basé sur l’API de STMicroelectronics (STM), pour le Raspberry Pi Pico avec un bout de code pour visualiser les données sur le PC avec Processing. L’ensemble est sur notre Gitea.
Le montage se base sur les cartes SATEL de STM.
Voici une vidéo des données visualisées lorsque le capteur voit une plante passer devant puis s’en rapproche. Chaque pixel contient une information de distance, de 2 cm à 4 m, avec une précision de l’ordre du millimètre. Bleu signifie que l’objet est loin (65 cm dans la vidéo), rouge que l’objet est très proche.
Bref, nous sommes très contents de ce capteur !
Mots clés : 2024, Vidéo, Programmation, Capteur, Mécanique
2 avril 2023
Voici deux semaines qui ont été très chargées.
Au menu, intégrer les fonctions existantes pour créer un programme d’homologation et créer une ébauche de détection de l’adversaire.
Le programme d’homologation nous a réservé quelques surprises qu’il a bien fallu corriger, tandis que la détection de l’adversaire n’était qu’une ébauche avant notre départ pour la CARAR.
Après avoir pataugé bêtement pour faire fonctionner notre tirette, nous avons pu intégré la détection de l’adversaire sur place. Le robot était homologable.
Côté détection, une grosse mauvaise surprise : dans certaines conditions, lorsque le capteur n’avait pas d’obstacle à proximité, nous obtenions une valeur de l’ordre de 30 cm, pile dans la plage critique. C’est peut-être qu’un problème de code de notre côté, mais ça reste à confirmer !
Certes, il nous reste du travail, mais le robot commence à se montrer fiable sur un bon nombre d’actions et ça, c’est vraiment très important !
Match 3 - CARAR (720p - 12 Mo).
Nous avons également commencé à travailler sur notre panier définitif, mais il reste du travail :
Un bon nombre de nos tâches ont été terminées, et nous basculons maintenant sur la réalisation de la stratégie...
Du côté de nos tâches :
Mots clés : Coupe, Vidéo, Robot holonome, 2023
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, Vidéo, Robot holonome, 2023
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