SCIENCES DE L'INGENIEUR

Niveau : Terminale générale, enseignement de spécialité SI

D
É
C
O
N
N
E
C
T
É

Contrôler la trajectoire du Robot Formula All Code

Image du robot

Le robot Formula All Code est conçu par Matrix. Il est contrôlé par une liaison Bluetooth. Il est équipé de plusieurs capteurs d’obstacle infrarouges, deux détecteurs de ligne et un microphone. Deux motoréducteurs permettent au robot de se déplacer dans toutes les directions.

Image du robot

Les commandes sont transmises par une chaine de caractère en émulant un port série RS232.Les commandes sont transmises par une chaîne de caractères en émulant un port série RS232. Par exemple :

Le robot possède des capteurs de position sous la forme d’un codeur incrémental.
Une autre commande avance(100) permet de spécifier la distance en millimètres que doit parcourir le robot
La programmation et l'envoi des commandes se font avec un programme en langage python par l'intermédiaire d'une librairie facilitant la programmation

Diagramme des exigences :

Objectifs : vérifier la précision de déplacement du robot ainsi que sa vitesse maximale.

2 - Etude du codeur magnétique implanté sur l’axe secondaire du moteur.

codeur magnétique à 6 pôles

Le fabricant a placé un aimant à 6 pôles, comportant 3 pôles Nord (points rouges) et 3 pôles Sud (points verts), sur l'axe secondaire du moteur. Lorsque ces aimants passent devant le capteur (à effet hall), un signal électrique noté S change de niveau logique comme suit :

Q1. Dessiner l'allure du signal de la sortie S du capteur lorsque le moteur effectue 1 tour.



Le compteur du robot va compter les changements d’état de la sortie S, totalisant ainsi transitions par tour.

3 - Etude du motoréducteur

Le moteur est accouplé à un réducteur dont le schéma est représenté ci-dessous.



Nombre de dents des engrenages :

Z2 = 32 Z4 = 33 Z6 = 35 Z8 = 38 Z1 = 15 Z3 = 14 Z5 = 13 Z7 = 10

Q2. Calculer le rapport de réduction du réducteur et comparez-le à la valeur du diagramme des exigences.

Q3. Combien de tours doit effectuer le moteur lorsque la roue fait un tour complet ? Calculer ensuite le nombre de transitions Nc, générées par le codeur magnétique.

Q4. Avec un pied à coulisse mesurer le diamètre de la roue du robot. Calculer la précision du déplacement du robot en millimètres.

Q5. Calculer le nombre Nc de transitions comptées par le codeur pour un déplacement de 0.2m.

4 - Simulation multiphysique

schéma de simulation

Téléchargez le fichier de simulation FormulaHP.msim.

Q6. Le robot est alimenté par une batterie de 3,7V ayant une capacité Q=200mAh. Paramétrer le modèle de la batterie avec ces valeurs.

Le hacheur permet de définir la vitesse du moteur en pourcent. Lorsqu'on exécute la commande avance(500), le robot va avancer de 500mm à une vitesse prédéfinie de 50%. Paramétrer le bloc de référence constante1 du hacheur à cette valeur. Placez une sonde et calculer le rapport cyclique simulé et la tension moyenne appliquée au moteur.

modèle1

Q7. Dans le modèle ci-dessous, expliquer comment on simule le comptage du nombre de transitions en fonction de l'angle (en degrés) de rotation du moteur.

modèle1

On veut simuler le déplacement du robot sur 0.2m :

  • Lancer la simulation et ajuster le temps afin de tracer les courbes de la distance parcourue (au moins 0.2m) et le nombre de transitions Nc.
  • Capturer et enregistrez les courbes obtenues.
  • Q8. Relever le nombre de transitions Nsim simulées pour un déplacement de 0.2m. Calculer la précision Psim, puis calculer l'écart relatif entre la précision attendue dans le diagramme des exigences et simulation. Conclure sur la validité du modèle.

    5 - Mesure de la précision du déplacement.

    1. Commencez par appairer votre robot avec votre ordinateur.
    2. Entrer le code d'appairage 1234
    3. Téléchargez la librairie Formula.py permettant de simplifier la programmation.
    4. Enregistrer ce fichier dans un dossier de travail où devra également figurer le futur programme.
    5. Exécutez Edupython et collez le code ci-dessous.
    6. Placer le robot sur la feuille de papier millimétré.
    7. Compléter le programme pour que le robot se déplace de 0.2m.
    8. Exécuter le programme.

    Q9. Relever le nombre de transitions Nmes, mesurer le distance réelle parcourue, puis calculer la précision Pmes et l'écart relatif entre l'attendu et le simulé.

    6 - Vérifier la vitesse de déplacement maximale.

    6.1 - Simulation

    Modifiez le modèle de simulation pour imposer une vitesse à 100%.

    Ajouter une sonde permettant de relever la vitesse de déplacement du robot noté Vsim.

    Calculer l’écart entre la vitesse maximale indiquée dans le Diagramme des exigences et la vitesse simulée Vsim.

      $diamond$ Vsim = $diamond$ Calcul de l'écart relatif entre l'attendu et le simulé :

    6.2 - Mesure

    1. Programmer le robot avec l'instruction motor(100,100).
    2. Ne pas mettre le robot en contact avec le sol.
    3. Avec votre Smartphone, filmer la rotation de la roue pendant 1s avec un ralenti x8 si possible.
    4. Sinon télécharger la vidéo suivante : vitesse.mp4
    5. Importer votre vidéo dans le logiciel Kinovea.
    6. Cliquer avec le bouton droit sur le point blanc de la roue, puis sélectionner "suivre une trajectoire. Recenter la croix cible si nécéssaire.
      Cliquer sur le triangle vert de lecture vidéo. Positionner la vidéo pour que le point forme un angle inférieur à |180°| depuis le départ.

    7. Avec l'outil angle, cliquer sur le centre de la roue et, tout en maintenant le bouton de la souris enfoncé, déplacez-vous vers le point blanc de la roue.
    8. Déplacer l'autre extrémité de l'angle sur le point de départ.
    9. Dans le menu options, temps, sélectionner "total en ms".
    10. Relevez le temps écoulé, en tenant compte du ralenti x8, entre les deux pointages et l’angle mesuré.
    11. Calculez la vitesse en degrés par seconde, puis convertissez-la en tours par seconde, puis en mètres par seconde et enfin en rad/s (Vmes).
    12. Calculez la vitesse du robot, puis l’écart entre la vitesse maximale attendue et mesurée.
      $diamond$ temps écoulé = $diamond$ Angle mesuré = $diamond$ Calcul de la vitesse du robot : Vmes = $diamond$ Calcul de l'écart relatif entre l'attendu et le mesuré :

    Proposez une autre méthode pour mesurer la vitesse du robot progressant sur le sol.

    Fond : Texte : Tables :