Bienvenue sur le site de l'équipe Poivron

Ici nous vous informerons des dernières nouvelles concernant l'avancement de nos projets et autres !

Bonne lecture !

Dernières nouvelles

17 mai

Mesure des résistances et avancement général

Nous sommes le 17 mai 2022 qui se situe exactement en "J-pas beaucoup" et "J-pas assez".

Mise à jour de notre Todo List :

  • Affichage du score
    • Fixer l’écran, le Raspberry Pi et le nouveau bouton On/Off
  • Réaliser la cale pour positionner le robot en début de match
  • Panneau de 70x100 mm à installer sur le robot
  • Détection des résistances :
    • Conception et réalisation mécanique
    • Adaptation du câblage
    • Code du module
    • Intégration dans la stratégie
  • Stratégie alternative en cas de robot bloqué
  • Contrôler et adapter la position du robot lors de la dépose de la réplique, pour garantir qu’elle soit à 100% sur le socle à chaque fois.

Senseur pour résistance

La zone où mesurer la résistance n’est pas très grande, elle se situe sur un plan incliné et comme nous souhaitons être robuste aux variations de positionnement de notre robot, ceci nous pose des soucis.

Nous avons conçus une mécanique pas si simple, mais qui ne nécessite qu’une seul actionneur. Les essais montrerons que nous manquions d’un degré de liberté, ce qui nous amènera à installer un système à ressorts en plus de l’élastique. Voici l’idée, sur l’image ci-dessous, seul le bras bleu est actionné par le servomoteur :


Principe du "Senseur R"

Tout commence avec un profilé qui ressemble à une nervure d’aile d’avion : il nous faut une belle courbe :


Comme une aile d’avion

Ensuite nous montons ceci sur un mat, avec un axe et nous rajoutons le contact électrique. Ne trouvez-vous pas que ce fils de cuivre a un certain charme sur le bois ?


Le cuivre et le bois

Ce qui, une fois fini et câblé ressemble à ceci :


Senseur R monté

Nous pourrions dire qu’afin d’avoir le système le plus robuste possible, nous avons un élément de test le plus moche possible, mais ce ne serait pas 100% exact.


Élément de test - carré de fouille

Et pour conclure, une courte vidéo du système en action :


La vidéo est disponible en 720p ici (mp4 - 5,6 Mo).

0 commentaire


23 avril

Pré-coupe CARAR et poster

Nous avons participé à la pré-coupe amicale de robotique Auvergne Rhône-Alpes (CARAR), l’occasion de rencontrer d’autres équipes et de passer un bon moment. Merci à Télécom Saint Étienne pour l’organisation !

Pour la CARAR, nous avons sommairement fixé notre écran avec une image fixe dessus. Ceci permettant, dans le meilleur des cas, d’augmenter notre score de 30%.


Affichage des points

Nous avons pu faire 4 matchs, notamment grâce à Arig qui a bien accepté de recommencer notre match. Voici la plus belle vidéo que nous ayons des matchs.


La vidéo est disponible en 720p ici (mp4 - 18 Mo).

Nous comptions 86 points, mais après l’évènement, nous avons relu le règlement et tous nos carrés de fouilles sont invalidés car nous retournons celui avec une croix rouge. Une mise à jour de la stratégie s’est vite imposée.

Le second enseignement nous vient de nos deux matchs contre Arig. Notre robot a détecté un obstacle (un coup l’arbitre, un coup le robot adverse) et n’est pas reparti. Ceci venant d’un bug maintenant corrigé.

Enfin, c’est le moment de réaliser le poster. L’occasion de baptiser le robot, ce sera "Capsicum", le robot qui garde le cap !


Poster Eurobot 2022

Mots clés : Poster, Eurobot 2022, Coupe, Vidéo, Photo

0 commentaire


6 décembre 2021

Avancement début décembre 2021

Quoi de neuf après ce week-end ?

Principalement les capteurs infrarouge. Comme capteurs de détection de l’opposant, nous utilisons des SFR04, un devant, un derrière, qui nous ont fidèlement servis durant des années.

Cette année, nous allons vouloir longer la bordure et nous savons que notre odométrie n’est pas précise au millimètre après plusieurs déplacements. Nous installons donc des capteurs Sharp de type GP2Y0A41Y2 sur les côtés de notre robot.


Capteur IR à côté de la roue

Après avoir testé les capteurs sur notre petite carte de développement, nous rallongeons les câbles et les raccordons sur la carte du robot.

Nous adaptons le code de la carte pour renvoyer les valeurs des capteurs infrarouge à l’interface de supervision puis adaptons le code de l’interface de supervision.

Ça marche bien... pour le capteur branché en IR_1. IR_2 refuse de donner des valeurs cohérentes. Les mesures de tension sont 10 fois plus faibles qu’attendues. Est-ce que la broche du PIC est grillée ?

Non ! Après une heure de recherche, il s’avère que le problème était logiciel. Le code des servomoteurs tentait de piloter un servomoteur branché sur IR_2. Ceci car nous avions eu un soucis avec U3, le régulateur de tension 7805 des servomoteurs 1, 2 et 3. Nous avions réaffecté IR_2 (dont nous ne nous servions pas) à Servo3. Le prix à payer pour réutiliser une carte et un code vieux de 5 ans...

(Pour visualiser ça, utilisez le plan interactif de notre carte.)

Après réaffectation des broches comme initialement prévu, les valeurs retournées sont parfaitement cohérentes.

Un dernier doute m’habite, ces capteurs ne riquent-ils pas d’être aveuglés par l’éclairage de la Coupe ?

0 commentaire


22 novembre 2021

Les travaux de cet été 2021 (1/2) - La supervision

 Le contexte

Quand j’ai choisi de re-participer à Eurobot, nous étions à quelques jours des finales. Alors j’ai choisi de re-travailler sur notre robot précédent. Deux points me chagrinaient, le premier étant les capacités de supervision du robot.

 La supervision

Ce qu’on peut faire avec une liaison série, un peu de python et de Qt.

  Les servomoteurs

Chaque année, le réglage des positions des servomoteurs se fait en entrant une valeur au hasard, compilant le code et testant. Il faut une petite quinzaine d’itérations pour affiner chaque position. Alors qu’il suffit de pas grand chose pour lier une commande de la liaison série à la commande d’un servomoteur.

Donc voilà, nous définissons une trame simple, qui permet de forcer la position d’une servomoteur. La trame est la suivante :
"Sxpppp"

  • S pour Servo
  • x pour le numéro du servomoteur à pilote
  • pppp pour la position à atteindre, en hexadécimal.

Sur l’interface graphique, 6 boutons, 3 pour avancer d’un petit pas, d’un pas moyen ou d’un grand pas, 3 pour reculer. Ces boutons sont un peu rigides, alors je rajoute un curseur horizontal (QSlider) qui permet d’atteindre une position approximative très rapidement. Enfin, un champ texte affiche la position actuelle.

Un dernier bouton permet de récupérer la position actuelle de tous les servomoteurs.


Supervision - servomoteurs

  La surveillance

Vient ensuite le problème du robot, très fréquent, du "mais qu’est-ce qu’il lui a pris de faire ça ?". Vous avez généralement le choix, pour comprendre ce qu’il se passe.

Soit vous banchez un débogueur sur votre robot, mais chez nous, ça ne marche pas génial. Les broches de debug sont utilisées pour autre chose, le débogueur Microchip n’aime pas trop les interruptions et rapidement, nous n’arrivons même pas à reproduire le bug avec le débogueur branché (alors que sans, c’était 100% reproductible).

Soit vous émettez un signal en fonction des états de votre programme (comme allumer une LED). C’est une solution simple, qui a le mérite de bien marcher dans des cas simples.

Avec la surveillance, le robot émet sur la liaison série toute une série de valeurs correspondant aux états du robot (position, orientation, distances des obstacles, etc...) à intervalles réguliers. Comme le robot émet un entête descriptif de ce qu’il va envoyer, nous pouvons modifier l’ordre des valeurs, en enlever ou en rajouter sans toucher au code de la supervision.

L’interface n’est pas très soignée, mais nous avons quand même deux panneaux.

Le premier affiche les valeurs actuelles :


Supervision - état actuel

Le second un graphique pour la valeur sélectionnée. Généralement en fonction du temps, mais afficher la position Y en fonction de la position X est tellement parlant que nous ne nous en sommes pas privé :


Supervision - graphique

  La communication

Enfin, toujours pour aider au debug, nous renvoyons sur la liaison série ce qui transite sur la liaison I2C. Soyons clair, ce ne serait pas adapté à de gros débit de communication. Mais dans notre cas ça marche !


Supervision - communication

 Les bonus

  La sauvegarde

Analyser à chaud, c’est bien. Pouvoir reprendre les logs précédents pour revoir un détail qui nous aurait échapper, c’est mieux. Chaque acquisition est enregistrée et peut être rechargée.

  Le Python

Le programme est développé en Python, avec PyCharm. PyCharm est puissant mais parfois un peu lent à lancer. Alors lorsque nous avons voulu lancer notre programme sans ouvrir PyCharm, nous avons rencontré deux erreurs :

$ python Supervision.py ... SyntaxError: invalid syntax

Sous Debian, notre Python est Python 2.7. Essayons avec Python3 :

$ python3 Supervision.py ... ModuleNotFoundError: No module named 'PyQt5'

Et pourtant, ça marche avec PyCharm.

Le secret réside dans les environnement virtuels. PyCharm utilise venv.

Activation $ source venv/bin/activate

Et là, un simple :
$ python3 Supervision.py
lance l’application.

Pour quitter l’environnement virtuel, utilisez la commande suivante :

Désactivation $ desactivate

Plus de détail sur les environnements virtuels pour le Python, je vous conseille cet article de Linuxfr.

Mots clés : Programmation, Eurobot 2022

0 commentaire


13 novembre 2021

Avancement mi-novembre 2021

 Quoi de neuf ?

 La reproduction du terrain

Nous ne ferons pas un terrain complet. Pas avant plusieurs mois en tout cas. Mais nous réalisons l’angle qui accueille la statuette ainsi que les échantillons qui se trouvent dessus.


Angle du terrain 2022

 Le robot

Nous avons dépouillé notre ancien robot, il ne lui restait que la planche de base, les moteurs, le gyroscope et la carte électronique.


Robot tout nu

Nous nous faisons un petit plaisir, nous construisons un support mobile pour la carte électronique. La carte sera en position verticale pour un match, mais son support peut se mettre en position horizontale pour faciliter les branchements et les mesures.


Robot 2022 - carte électronique pliée

Robot 2022 - carte électronique dépliée

L’inconvénient, c’est que nous devons refaire tous nos câbles en plus longs. Et ça, ça va nous occuper un petit moment.


Robot 2022 - support carte électronique

Côté actionneurs, nous en avons commencés deux. Le premier pour attraper la statuette, le second pour déposer la réplique.

 Actionneur de la statuette

Nous comptons sur du velcro pour attraper la statuette. Notre bras n’utilisera qu’un servomoteur pour attraper et déposer la statuette. Le bras est construit, mais il faut encore le fixer sur le robot.


Actionneur de la statuette

 Actionneur de la réplique

Pour l’instant, nous n’avons mis en place que les deux contacteurs qui nous indiqueront le bon positionnement du robot. Avec deux contacteurs, si le robot n’est pas bien positionné, il est possible de savoir de quel côté il doit se décaler. Nous avions utilisé un système similaire en 2012 pour accoster les totems qui contenaient les lingots.

 Et la suite ?

Tout d’abord, nous devons finir nos câbles puis l’actionneur de la réplique. Ce sera probablement l’occasion pour le robot de faire quelques tours de roues, pour s’assurer que nous arrivons à déposer la réplique.

Ensuite, il faudra positionner l’actionneur de la statuette.

 Ce qu’on se garde pour plus tard

Et oui, nous sommes loin d’avoir fini. Voici, en vrac, ce qu’il nous faudra réaliser :

  • Le positionnement des capteurs d’évitement.
  • la réalisation de la vitrine
  • le mat balise
  • le bras latéral pour retourner les carrés de fouille
  • tester, tester, et ... tester !

Bref, ce n’est pas fini, loin de là !

0 commentaire

page précédente 1 2

Copyright "POIVRON" 2011-2021, tous droits réservés
Administration du site