LogoCoupeDeFranceRobotique.jpg

Dans le cadre de notre projet de 5A, nous avons choisi de travailler à l'amélioration des robots de Polybot dans l'objectif de participer à la Coupe de France de Robotique 2021.



Présentation du projet

La coupe de France de robotique

 
Thème de la compétition

La Coupe de France de Robotique est un défi s’adressant à n’importe quelle équipe de jeune s’intéressant à la robotique. Les participants doivent concevoir puis réaliser un robot autonome, conforme au règlement et apte à participer aux matchs organisés. Chaque match oppose 2 robots. Le but pour chaque robot est de réaliser différentes actions afin de récolter plus de points que l’adversaire.

Cette année, la coupe de France de robotique aura lieu à la Roche-Sur-Yon en Mai 2021. Le thème de cette année est “Sail the World”. Le terrain représentera une carte du monde sur laquelle se trouveront des phares, des chenaux, des gobelets (représentant des bouées), des drapeaux ou encore d’autres éléments avec lesquels pourra interagir notre robot pour gagner des points.


On pourra par exemple demander au robot de :

  • Ramasser des gobelets
  • Activer les phares
  • Relever les drapeaux
  • Revenir à sa base
 
Terrain de la compétition

Présentation du robot principal

 
Robot principal

Deux robots sont actuellement en préparation pour participer à la coupe de France de robotique 2021. Mais pour l’instant, seul le premier robot est déjà avancé. Pour ce projet on se concentrera donc principalement sur ce premier robot même si la plupart de nos actions seront applicables sur le second robot quand il sera construit.

Composants du robot
Le robot principal est composé de :

  • 2 moteurs (pour le mouvement des roues)
  • 2 encodeurs (pour calculer la position du robot)
  • Stepper (moteurs pas-à-pas)
  • Servomoteurs (non utilisés pour le moment)
  • Carte STM32 F446 Nucleo-64
 
Microcontrôleur STM32 F446

Fonctionnement du robot
A COMPLETER


Présentation de notre projet

Objectifs

Cette année, nous avons choisi de travailler sur 2 sous-projets :

  • Projet 1 : Réalisation d'une carte de puissance pour les robots
  • Projet 2 : Récupération des informations sur le fonctionnement du robot à distance


L'objectif du projet 1 est de réaliser une carte de puissance afin de protéger la batterie et d'avoir une alimentation stable. On devra également prévoir le cas où l'on ajoute une carte Raspberry sur le robot. En effet, la Raspberry nécessite une alimentation continue tandis que la STM32 non. Florian et Flavien s'occuperont de cette partie du projet.


L'objectif du projet 2 est de récupérer des données sur le bon fonctionnement du robot (coordonnées, état, tension de la batterie...). Nous allons donc choisir un mode de communication fiable nous permettant d'afficher toutes ces données sur un ordinateur, une tablette ou un smartphone. Si nous avons le temps, nous développerons peut-être une application permettant de se connecter au robot et d'afficher les informations recueillies. Cette application pourrait également servir à connecter les autres robots (actuels ou futurs) de Polybot. Camille et Valentin s'occuperont de cette partie du projet.

Participants

Prénom & Nom Filière
Camille Langrand IESE-5
Flavien Mougeot IESE-5
Florian Jacquin IESE-5
Valentin Blumert IESE-5

Tuteur: Sylvain Toru

Organisation de notre équipe

 
Outils de communication

Nous étions donc 4 pour ce projet. Nous nous sommes donc répartis le projet en 2 sous projets (présentés ci-dessus) et nous avons travaillé en binôme sur chacun d'entre eux. Nous avons ainsi travaillé pendant environ 6 semaines environ dans les locaux de Polybot la plupart du temps. Nous avons fait très peu de télétravail.

Pour l'organisation du projet, nous avons utilisé plusieurs applications, notamment :

  • Google Drive : pour le partage de fichiers
  • Messenger : pour la communication écrite
  • GitLab : pour le partage de codes
  • Wiki : pour la rédaction de notre avancement sur le projet


Afin d'avancer efficacement, nous avons dès le début réfléchi aux différentes étapes qui allaient constituer notre projet. Cela nous a permis de voir à peu près la quantité de travail à faire. Une fois la liste établie, nous avons pu établir un diagramme de Gantt afin de pouvoir visualiser notre avancement au fil des séances.

Projet 1 : Carte de Puissance

Le but de ce projet est de réaliser une carte d’alimentation polyvalente qui pourra s’adapter sur les deux robots. Le but de cette carte est de fournir des alimentations stables, tout en protégeant la batterie contre la décharge abusive, et d’isoler aussi la Raspberry contre les arrêts d’urgence qui l'endommagent.


Cahier des charges

 
Schéma général de distribution


Les circuits de puissance:

  • 5V (200mA max)
    • STM32L432 (mini STM)
  • 5V (4A max)
    • STM32 (0.5A max)
    • Servo (2.5A max)
  • 5.2V (2A max)
    • Raspberry
  • 12V (4A max)
    • Moteur pas à pas
  • Moteurs
    • Connecté en direct sur la batterie via le contrôleur


Tensions de coupure:

  • 90% de Vnom => 13.32v
    • Buzzer
    • Led
  • 85% de Vnom => 12.58V
    • Coupure moteurs
    • Coupure 5V (STM principale, servo)
    • Coupure 12V (Moteur pas à pas)
  • 80% de Vnom => 11.84V
    • Coupure Raspberry
(avec Vnom=14.8V et Vmax=1.144*Vnom=17V)



Réalisation
Comme vu plus haut, on part sur une solution de protection et d'alimentation gérée et coupée par une STM32. Nous allons voir ici comment nous coupons l'alimentation dans les cas de batterie faible.


Circuit relais

Nous optons pour une solution de coupure à base de relais normalement ouverts. Ils seront pilotés par des transistors NMOS, et reliés à la tension de batterie comme on peut le voir sur le schéma ci-dessous.

 
Circuit alimentation des relais

Ces relais ont une résistance de 113 ohm et ont une tension de bobine de 5V. Donc ces transistors sont dimensionnés pour faire passer du 50mA dans la bobine du relais.

Projet 2 : Écran de contrôle

Etude préliminaire du sujet


Cahier des charges

  • Système fiable, donc plateforme Raspberry/STM et moyen de communication RF/bluetooth/WiFi à choisir par rapport à ça.
  • Documentation du projet sur le wiki polybot
  • Affichage des infos comme :

- Coordonnées des robots
- Etat (blocked, busy, idle etc)
- Point du suivi du parcours
- Tension de batterie
etc

  • Boutons de contrôle/écran tactile/switchs?



Contraintes

  • Interdiction de commander le robot à distance pendant la compétition
  • L'organisation de la Coupe de France utilise des dispositifs radio à hautes fréquences pouvant entraîner des dysfonctionnements.
  • Un grand nombre de robot sera présent à la compétition, attention aux interférences.
  • On désire un système fiable.



Environnement de travail
Pour ce projet, nous avons utilisé plusieurs outils. Voici ceux que nous avons le plus utilisé :

  • MBED : Logiciel que nous avons utilisé au début pour tester la communication avec la STM.
  • SMTCubeIDE : Permet de programmer le fonctionnement et le comportement du robot. Dans notre cas, on l'utilise pour écrire le programme qui permet l'affichage des données.
  • MIT - App Inventor : pour la réalisation de l'application permettant d'afficher les données recueillies


 
Environnement de travail


Étapes principales du projet 2
Nous avons réfléchis aux grandes étapes qui vont composer ce projet :

  • Le choix, la commande et le montage des composants
  • La communication entre la STM32 et le PC (ou autre périphérique)
  • Affichage des données
  • Réalisation d'une application pour un meilleur affichage des données


Choix, commande et montage des composants

Pour répondre au cahier des charges, nous avons choisi d'utiliser le Bluetooth comme moyen de communication entre la STM et notre ordinateur/tablette/smartphone. Pour cela, nous allons utiliser le composant HC-06 qui permet de réaliser une liaison Bluetooth entre STM et un autre appareil.

 
Connexion STM et HC-06

Nous avons également décidé de stocker les données recueillies afin d'analyser les potentiels dysfonctionnement du robot.

Communication STM/PC

Protocoles de communication existants

Présentation du protocole CAN

Réalisation de la communication via bus CAN


Affichage des données

Choix des valeurs à afficher

Affichage des valeurs souhaitées


Réalisation de l'application

Interface

Programmation


Résultats et bilan du projet

Résultat et performances


Difficultés rencontrées
Voici les principales difficultés que nous avons rencontrées durant ce projet :

  • Réalisation du diagramme de Gantt et avancement du projet : Par manque d'expérience nous ne connaissions pas toujours le temps nécessaire à la réalisation de chaque étape. Nous avons donc eu un peu de mal à respecter le diagramme de Gantt prévu, mais heureusement nous allions en général toujours plus vite que prévu. Nous avons également constaté que de nouvelles étapes arrivaient au fur et à mesure du projet, des étapes que nous n'avions pas prévu à la base. Mais grâce à notre avance, nous avons eu le temps de réaliser ces nouvelles étapes.


Améliorations possibles



Suivi du projet

Sources