Coupe de France 2021/2022/Session 5

De Polybot Grenoble
Sauter à la navigation Sauter à la recherche

Communication

Cette semaine nous avons mis en place un fond noir et des éclairage pour prendre de belles photos uniformes. Nous comptons nous en servir pour avoir un trombinoscope digne de ce nom sur le site et les réseaux.

Robot 1

3ème session: Conception du système :

- Avancement sur le design 3D , -Nous avons pu trouver une crémaillère, et nous avons réussi à coder sur une STM32 le code pour Faire tourner la crémaillère dans les 2 sens,

Robot 2

On a déterminé pour cette séances tous les composants nécessaires : deux drivers de stepper motors A4988 . On utilise ces drivers car ils sont simples à programmer : 1 signal HAUT dans le pin STEP du driver va ordonner au stepper de faire 1 PAS . On s'est aidé du guide de la chaîne Youtube "How to Mechatronics" pour le branchement et le codage du driver. Nous avons ensuite tenté de faire tourner un moteur à l'aide d'une carte Arduino. Nous avons réussi. Il faudrait désormais retranscrire le code sur une STM32 avec CubeIDE.

La modélisation 3D sur Solidworks du robot 2 se poursuit.

Pour la prochaine séance, on continuera de faire fonctionner un moteur, mais sur une STM32-nucleo-f401re . On réfléchira également à la conception d'un shield pour un branchement plus permanent et fiable.

Lidar

Nous sommes partis sur l'utilisation d'une autre libraire. Toutefois, nous avons rencontré des problèmes pour l'installation de ceux-ci.

Vitrine + Statuette

Nous avons réfléchi au système de detection de la statuette est allons tester le détecteur ultrason. Nous avons reçu le bandeau de led adressable, il reste donc à tester le système et à trouver la bonne alimentation.

Code STM32 / Raspberry / Superviseur

Nous avons fait une liste des taches à effectuer sur les différents codes utilisés sur nos robots. Nous avons commencé à améliorer le code du stm32.

Pour le STM32 :

  • refaire le code en bien plus propre et organisé
  • retester chaque fonction de chaque lib

Raspberry :

  • reconnexion automatique lors de la perte de la connexion depuis le superviseur
  • caméra: adapter le code et faire une fonction qui renvoie la valeur du code aruco
  • caméra: possibilité de lire plusieurs codes aruco en même temps (renvoyé dans une liste)
  • caméra: faire une fonction qui détermine le type d'objet en fonction du code aruco (amis, ennemis, hexagone, etc)
  • transformer une liste de points en trajectoire
  • faire un protocole de communication raspi<->superviseur

Superviseur :

  • possibilité de créer une trajectoire sur l'UI
  • possibilité de tester la trajectoire sur le robot à distance
  • exporter la série d'objectifs créée
  • importer une série d'objectifs

Balise

Pour le fonctionnement des balises, nous avons déterminé un mode de fonctionnement avec une balise "chef d'orchestre" qui va diriger les autres balises.

La mesure du temps se fait avec de l'ultrason, et la communication entre les balises se fait avec des modules RF. La vitesse de transmission des modules RF étant très grande devant la vitesse du son, on considère que les messages transmis par RF sont instantanés. Cependant, on prendra en compte le temps de traitement du message.

Schéma provisoire de la disposition des balises

Dans ce mode de fonctionnement, nous avons :

  • 3 balises émettrices d'ultrasons, notés T1 à T3, T1 sera le "chef d'orchestre"
  • 4 balises réceptrices d'ultrasons, notés R1 à R4


Dans la théorie, une séquence s'organise de la façon suivante :

  • La balise T1 transmet le message "T1 envoie" (message arbitraire), puis envoie un signal ultrason. Les balises réceptrices mesurent le temps entre la réception du message et la réception du signal ultrason.
  • Temps de pause (à déterminer)
  • La balise T1 transmet le message "T2 envoie" (message arbitraire), la balise 2 reçois ce message et envoie un signal ultrason.
  • Temps de pause (à déterminer)
  • La balise T1 transmet le message "T3 envoie" (message arbitraire), la balise 3 reçois ce message et envoie un signal ultrason.
  • Temps de pause (à déterminer) Pendant ce temps, les balises réceptrices effectuent chacune la triangulation de leurs positions
  • La balise T1 transmet le message "R1 résultat" (message arbitraire)
  • La balise R1 transmet sa position, la balise R2 reçoit et enregistre, temps de pause
  • La balise R2 transmet sa position, la balise R1 reçoit et enregistre, temps de pause
  • La balise R3 transmet sa position, les balises R1 et R2 reçoivent et enregistrent, temps de pause
  • La balise R4 transmet sa position, les balises R1 et R2 reçoivent et enregistrent, temps de pause
  • Temps de pause final, puis la séquence recommence


Nous avons essayé le code avec Mbed dans un premier temps, mais sans succès.