Programmer le mouvement d’un robot en utilisant un entraînement différentiel (un moteur indépendant pour chaque roue).
Instructions
Construire une base robotique LEGO EV3 avec des roues motrices et une roue folle selon les instructions sur le tutoriel (lien ci-dessous).
Dans VS Code, chaque membre du groupe crée un nouveau projet EV3 nommé base.
Assurez-vous d’ajuster les paramètres dans le fichier .vscode/settings.json pour bien bénéficier des outils de documentation et de complétion automatique.
Remplacer le code dans le fichier main.py du projet base avec le code sur la page du tutoriel.
Exécuter le programme sur le robot et observer son comportement. Chaque membre du groupe devrait tester la connexion du robot avec son ordinateur et exécuter le programme pour valider qu’il a du code fonctionnel.
Créez un document Google Docs nommé “Analyse - base” et le joindre à la tâche Google Classroom associée.
Partagez ce document avec votre partenaire de travail.
Écrivez un commentaire privé dans le Classroom pour indiquer qui est le propriétaire du document.
Répondez aux questions suivantes dans le document.
Questions
Quelle distance en cm représente un déplacement de 1000mm? Est-ce que le robot se déplace exactement de cette distance?
Combien de rotations complètes représentent un virage de 360 degrés? Est-ce que le robot tourne exactement de cette quantité?
Est-ce que le robot finit son mouvement à la même position et la même orientation que son état de départ? Si non, tenter d’expliquer pourquoi.
Faites les conversions suivantes pour les déplacements :
1 mètre (m) = combien de millimètres (mm)?
33cm = combien de millimètres (mm)?
250mm = combien de centimètres (cm)?
Faites les conversions suivantes pour les angles :
90 degrés = combien de rotations complètes?
2 tours complets = combien de degrés?
1/2 tour complet = combien de degrés?
👓 Analyse du code
Continuez à travailler dans le document Google Docs “Analyse - base”.
Répondez aux questions suivantes dans le document en consultant le code source du programme et les notes du cours.
Questions
Quelles variables sont déclarées dans le programme? Donne le nom de chaque variable.
Quels objets pybricks sont utilisés dans le programme? Donne le type de chaque objet. Indice : chacun est associé à une variable.
Lisant la bulle d’information quand votre curseur est sur le mot DriveBase, décrivez ce que le paramètre axle_track représente.
Le programme pour contrôler le robot ne fait aucun calcul visible pour la distance ou l’angle de rotation. Ces calculs sont faits par l’objet DriveBase. Quelles informations sont utilisées par l’objet pour déterminer la distance et l’angle de rotation? Indice : regarder les informations géométriques données en créant l’objet.
Quelle méthode est utilisée pour déplacer le le robot en ligne droite? Quelle valeur prend-elle en argument?
Quelle méthode est utilisée pour tourner le robot? Quelle valeur prend-elle en argument?
✏️ Modifications
Travaillez dans le code du programme pour appliquer les changements suivants à main.py :
Ajoutez un commentaire en-tête après la ligne #!/usr/bin/env pybricks-micropython pour indiquer votre nom et la date de modification du programme. Vous pouvez utiliser des commentaires de ligne # ou des commentaires multilignes ''' ... '''.
Modifiez le programme pour que le robot se déplace de 500mm au lieu de 1000mm.
Modifiez le programme pour que le robot tourne de 180 degrés au lieu de 360 degrés.
Ajoutez un grand virage à gauche de 90 degrés en utilisant la méthode robot.curve(). En consultant la documentation (curseur sur le nom), vous pouvez voir les informations nécessaires pour utiliser cette méthode, notamment un rayon en mm et un angle en degrés.
Ajoutez un commentaire de ligne (#) qui explique si le signe + ou - sur les degrés de rotation fait tourner le robot à gauche ou à droite.
Joindre le fichier main.py modifié à la tâche Google Classroom.