Affichage des points et mât balise

2 mai 2022

Voilà, nous sommes début mai et nous comptons les semaines qui restent avant la coupe de France de Robotique sur les doigts d’une seule main.

Notre todo-list se rétrécit et devient de plus en plus précise :

  • Construction du ma balise
  • Affichage du score
    • Afficher un logo au démarrage du robot
    • Afficher l'état des capteurs (et la "couleur" de départ du robot) avant le début du match
    • Afficher le score pendant et en fin de match
    • 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
  • Stratégie alternative en cas de robot bloqué

 Mât balise

Nous avons fini notre mât balise, avec un système d’ajustement (Merci Droop pour le conseil !).


Construction du mât balise

Bon il reste une fente horizontale dans le mât, mais ça va se terminer à coup de scotch de masquage ou de papier collé...


Mât balise fini

Le système n’est absolument pas pratique, car il y a des écrous qui sont quasiment inaccessible, mais ça fera le boulot.

 Affichage des scores

L’interface avec le robot avait commencé avec notre logiciel de supervision, nous recevions des données toutes les 100 ms ou presque. Là, le problème est un peu différent, l’écran met 6 secondes minimum pour s’actualiser. Envoyer une nouvelle commande alors que la première n’est pas terminée est la garantie de bloquer le système.

Pour simplifier les choses, nous avons deux programmes, l’un qui lit la liaison série et qui envoie les instructions d’affichage par socket, l’autre qui reçoit les instructions d’affichage et qui gère la commande de l’écran. Les deux programmes sont en Python. A la réflexion, avoir deux programmes n’avait pas grand intérêt, à part celui de (re)découvrir les sockets. A ceci, nous rajoutons un bout de systemd pour démarrer automatiquement nos deux programmes.

Quelques images, en commençant par le logo affiché une fois que le Raspberry Pi à démarré :


Affichage du logo

Puis le robot affiche les états des capteurs, actualisés à chaque changement de ’couleur’ (position de notre interrupteur), dans la limite d’une fois toutes les 6 secondes :


Affichage état du robot

Enfin l’affichage du score, car dans le fond, c’était quand même l’objet du truc :


Affichage du score

Pour ceux qui veulent plus de détail, le produit que nous avons est celui-ci : https://www.waveshare.com/product/displays/e-paper/epaper-2/2.7inch-e-paper-hat.htm
En bas de la page, il y a un tableau comparatif, et quitte à changer nous prendrions le modèle 3,7 pouces, avec un temps de rafraîchissement de 2 secondes et le rafraîchissement partiel !

Enfin, nous nous demandions s’il était possible de diminuer le temps de démarrage du RPI (spoiler, oui, c’est possible). Mais nous n’avons pas envie de tout casser maintenant !
Nous pensions plutôt passer un peu de temps pour alimenter le RPI par le robot, en s’assurant que son alimentation n’est pas coupée par l’arrêt d’urgence. En reprenant la carte d’alimentation, nous découvrons que nous avions déjà pensé à cette fonctionnalité !

Voici le graph de démarrage de Systemd, généré par systemd. Ça, c’est cool aussi, même si nous n’en ferai rien cette année ! Il s’obtient avec la commande suivante :

systemd-analyze plot > image.svg


Démarrage systemd

La suite sera certainement la fixation de l’écran et du Raspberry Pi !

Commentaires

Il n'y a pas de commentaires

Ajouter un commentaire

Pseudo :
Mail :

Texte :

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