Loading…
Loading…
Explorez le monde des robots autonomes grâce à une expérience pratique avec le simulateur FTC dans cette leçon.

Niveau: Débutant
Explorez le monde de la conduite autonome avec une expérience pratique en utilisant le simulateur FTC dans cette leçon. Les élèves s’engageront dans un apprentissage pratique pour approfondir le sujet fascinant de la robotique et de la conduite autonome. Grâce à des exercices de codage et de simulation, ils acquerront une compréhension approfondie des algorithmes et des techniques qui sous-tendent les robots autonomes, ce qui les préparera à relever les défis authentiques dans le domaine de la robotique avec assurance.
Ce plan de cours est structuré selon le cadre pédagogique des 5E, un modèle d’enseignement largement reconnu qui comprend cinq phases : engager, explorer, expliquer, élaborer et évaluer. Le cadre pédagogique des 5E engage systématiquement les élèves dans un apprentissage basé sur l’enquête, encourageant l’exploration active et la compréhension de sujets complexes.
Au cours de la leçon, les élèves vont:
acquérir des compétences en matière de codage et de programmation de robots autopilotés dans le simulateur FTC, en se concentrant sur des éléments essentiels tels que le mouvement et la navigation des robots ;
explorer les principes de la prise de décision autonome et du développement d’algorithmes, ce qui leur permettra de concevoir des comportements efficaces et fiables pour les robots autopilotés ;
appliquer les connaissances et les compétences acquises à des scénarios pratiques, en simulant des défis authentiques pour tester et affiner leurs conceptions de robots autopilotés dans l’environnement virtuel.
papillons adhésifs amovibles ou une application collaborative de remue-méninges comme Microsoft Whiteboard, Google Jamboard ou Apple Freeform.
appareils pour vos élèves (ordinateurs Windows, ordinateurs Mac, ChromeBook)
navigateur web Google Chrome ou Microsoft Edge (version Chromium)
accès au site web du simulateur FTC (https://ftcsim.org)
compte « élève » créé pour chacun de vos élèves
projecteur ou tableau blanc interactif
Pour éveiller la curiosité de vos élèves et captiver leur attention sur les robots autopilotés, utilisez votre projecteur ou votre tableau blanc interactif pour partager une vidéo intéressante sur le véhicule autopiloté Nuro, que vous trouverez en cliquant sur ce lien : https://youtu.be/MzsSO1RVPME?si=OiTKTIvoPNaZ2fV1. Nuro illustre les avancées les plus récentes en matière de technologie des véhicules autonomes et fournit un exemple concret qui peut inspirer des discussions et des expériences d’apprentissage significatives dans votre classe.
Après la présentation vidéo, distribuez des papillons adhésifs amovibles à vos élèves et encouragez-les à participer à une séance de remue-méninges sur les futures applications potentielles des robots à conduite autonome. Demandez-leur de noter une seule idée par papillon adhésif amovible. Attribuez-leur une zone désignée sur le mur de la classe pour qu’ils puissent y apposer leurs idées. Une fois qu’ils ont émis plusieurs idées, demandez-leur de se rassembler dans l’espace de partage pour y apposer leurs paillons adhésifs amovibles. Si une idée a déjà été affichée sur le mur, ils peuvent la placer par-dessus l’idée existante, tandis que si le concept n’est pas encore affiché, ils doivent trouver un endroit disponible pour l’afficher.
Voici quelques-unes des idées qu’ils peuvent avoir:
livraison à domicile de produits alimentaires et de colis
taxis et services de covoiturage autoguidés
automatisation de l’agriculture et de la gestion des récoltes
patrouilles de sécurité autonomes dans les espaces publics
distributeurs automatiques mobiles d’aliments et de boissons
missions de sauvetage assistées par des robots en cas de catastrophe
collecte autonome des déchets et recyclage
services de messagerie autoguidés pour les documents et les colis
visites guidées par des robots dans les musées et les sites historiques
gestion automatisée des stocks dans les entrepôts
systèmes de transport public autoguidés
balayage et entretien autonomes des rues
autobus scolaires autoguidés pour un transport plus sécuritaire des élèves
livraison de fournitures essentielles dans les zones sinistrées.
robots autonomes pour l’exploration planétaire, tels que les astromobiles martiens.
Animez une discussion en posant des questions qui incitent à la réflexion:
Quels sont les avantages que vous pouvez identifier dans le contexte des robots autonomes ? (p. ex., ils peuvent faciliter et accélérer des tâches telles que les livraisons et contribuer à réduire les erreurs, ce qui permet d’économiser du temps et de l’argent).
Quels sont les inconvénients potentiels que vous associez aux robots autonomes ? (p. ex., ils peuvent faire disparaître certains emplois, commettre des erreurs ou porter atteinte à la vie privée).
Quel pourrait être l’impact de la mise en œuvre de robots à conduite autonome sur les différents secteurs d’activité et la vie quotidienne ? (p. ex., ils pourraient rendre les transports et les livraisons plus pratiques, et nous pourrions voir de plus en plus de robots aider dans les hôpitaux ou même dans nos maisons).
Pouvez-vous prévoir des problèmes d’éthique ou de sécurité liés à l’utilisation de robots autonomes ? (p. ex., les robots peuvent parfois être amenés à prendre des décisions difficiles, et s’ils se brisent ou sont piratés, cela peut s’avérer dangereux).
Dans quels domaines ou applications pensez-vous que les robots autonomes pourraient être les plus utiles ? (p. ex., ils pourraient être parfaits pour des emplois dangereux pour les humains, comme la manipulation de produits chimiques dangereux, l’exploration de l’espace ou l’assistance aux personnes handicapées).
Quelles implications sociétales et économiques pourraient découler de l’intégration de robots autonomes dans nos communautés ? (p. ex., certains emplois pourraient disparaître, mais de nouveaux emplois pourraient apparaître dans des domaines tels que la robotique et la programmation informatique).
Pouvez-vous envisager des utilisations innovantes ou étonnantes pour les robots autonomes en dehors de celles que nous avons évoquées ? (p. ex., ils pourraient contribuer à la protection de l’environnement en surveillant la faune et la flore ou en nettoyant les déchets dans les océans).
Veuillez encourager les élèves à commencer leur expérience d’apprentissage pratique avec la plate-forme FTC Sim en naviguant vers le lien suivant : https://ftcsim.org/. Demandez-leur d’ouvrir une session à l’aide de leur nom d’utilisateur et de leur mot de passe. Une fois connectés, dirigez-les vers la section « Cours » et guidez-les pour qu’ils choisissent le cours intitulé « FTC-Mouvement ». Expliquez aux élèves que dans ce cours, ils apprendront à contrôler le mouvement de leur robot sur une surface plane, à l’aide des deux moteurs ou roues installés sur les côtés gauche et droit du robot.



Dans la section « FTC-Mouvement », guidez les élèves pour qu’ils accèdent au puzzle initial intitulé « 1— Ligne ». Après avoir ouvert ce puzzle, incitez-les à s’engager dans la narration impliquant Lisa et son chien, Dozer. Encouragez les élèves à explorer l’interface et à suivre l’orientation, qui leur permet de se familiariser avec la présentation et les fonctionnalités de la plate-forme.


Pour accéder au panneau de codage, cliquez sur l’icône verte de l’ordinateur sur le côté gauche de l’écran. Vous remarquerez qu’un exemple de code est déjà présent. Il est essentiel d’informer vos élèves que ce code est divisé en trois sections principales, chacune étant marquée par des blocs de commentaires bleus:
• Blocs d’initialisation : Cette section contient les renseignements dont le robot a besoin avant de commencer ses tâches.
• Blocs d’exécution : La plupart du code que vous écrivez sera placé dans cette section, où les principales actions du robot sont définies.
• Blocs en boucle : Ces blocs sont utilisés pour les tâches qui doivent être répétées plusieurs fois. Cependant, pour cette leçon, nous ne travaillerons qu’avec les blocs d’initialisation et d’exécution. La section boucle peut être supprimée pour conserver une structure de code plus propre.



Faites un zoom sur le robot pour mettre en évidence les deux roues chargées de contrôler son mouvement. Entamez une discussion avec les élèves en posant la question suivante : « Comment pouvons-nous nous assurer que le robot se déplace en ligne droite ? » Invitez les élèves à partager leurs idées, la réponse attendue étant que le robot se déplace en ligne droite lorsque les deux roues tournent à la même vitesse.
Dans le contexte de la robotique, expliquez le terme actionneur : un actionneur est un composant ou un dispositif qui convertit l’énergie électrique ou d’autres types d’énergie en mouvement physique. Les actionneurs jouent un rôle essentiel en permettant aux robots d’effectuer diverses tâches en facilitant les mouvements contrôlés, tels que la rotation des articulations du robot, la manipulation des bras robotiques ou la propulsion des roues ou des jambes en fonction des commandes ou des entrées données.

Démontrez comment placer un bloc dans le code pour contrôler le moteur gauche et le moteur droit en allant sur Actuators DC Motor Dual et en prenant le premier bloc. Il devrait être glissé dans la section des blocs d’exécution.
Lorsque l’élève clique sur « run », il peut être surpris par le résultat. Bien que les deux roues tournent à la même vitesse (1 représentant la vitesse maximale), le robot ne se déplace pas en ligne droite, mais tourne sur place. Pour comprendre ce phénomène, les élèves doivent visualiser l’emplacement du moteur sur le robot. En observant un vrai robot ou en se référant à l’image ci-dessous, ils remarqueront que les moteurs sont en fait orientés dans des directions opposées. Cela signifie que même si nous réglons les deux moteurs à la même vitesse, l’un d’entre eux avancera tandis que l’autre reculera.

Expliquez qu’une façon de résoudre le problème serait de se rappeler de toujours mettre le premier moteur en marche arrière avec un nombre négatif.

Ajoutez que cela pourrait être plus efficace parce que les élèves devraient toujours se rappeler de le faire. Il est plus efficace de déclarer que le moteur gauche est inversé dans la section d’initialisation.

À ce stade, les élèves doivent savoir où se trouvent la section d’initialisation et les blocs d’exécution. Ils peuvent donc supprimer les deux blocs de commentaires vides.

Cette commande devrait guider le robot sur le tapis et signaler aux élèves que le défi est maintenant terminé. Néanmoins, il est essentiel de préciser qu’un robot réellement autonome ne persisterait pas à pousser contre le mur une fois qu’il a atteint sa cible ; au contraire, il s’arrêterait avant d’entrer en contact avec le mur. Pour obtenir ce comportement, le robot devra se déplacer pendant une durée prédéterminée, puis s’arrêter. Demandez aux élèves de cliquer sur « Keep working » pour améliorer leur solution.
Démontrez comment ajouter une pause dans l’instruction avec le bloc sleep disponible à partir du LinearOpMode et comment s’arrêter avec un bloc double moteur réglé à une vitesse de 0 sur les deux roues. Le code suivant devrait fournir une solution très propre pour le premier défi, avec le robot finissant juste au milieu de la zone cible.

Motiver les élèves à déterminer la durée qu’ils préfèrent pour le bloc sleep. Comme le montre l’exemple précédent, une durée de 700 millisecondes est nécessaire pour obtenir un positionnement précis. Toutefois, il est recommandé de découvrir la valeur optimale par l’expérimentation et le tâtonnement. Expliquez que le temps est exprimé en millisecondes, ce qui signifie que 500 équivaut à une demi-seconde.
Une fois que les élèves auront atteint un positionnement parfait, encouragez-les à retenter le premier défi à des vitesses différentes. Expliquez-leur que le nombre était soit 1 (vitesse maximale), soit 0 (arrêt), mais qu’ils peuvent choisir n’importe quel nombre entre zéro et 1. Par exemple, 0,5 correspond à 50 % de la vitesse.

Voici un exemple de code fonctionnant à la moitié de la vitesse (0,5) avec un temps d’attente de 1,5 seconde ou 1500 millisecondes

Une fois qu’ils ont réussi à atteindre le milieu de la cible à différentes vitesses en ajustant le temps, ils sont prêts à passer au deuxième défi.

Demandez aux élèves quelles sont les différences et les similitudes entre le premier et le second défi. Les élèves doivent comprendre que le robot se déplace en ligne droite dans les deux cas. Cependant, le chemin est beaucoup plus étroit dans le second défi, et le robot est orienté dans le mauvais sens. Ask students to brainstorm some ideas on how this puzzle could be solved. Students will generally have two main ideas:
La première consiste à faire reculer le robot en utilisant des valeurs négatives sur les deux moteurs. La solution suivante devrait fonctionner pour le deuxième défi

Dans ce code, le robot recule à une vitesse de 50 % pendant 1,5 seconde.
L’autre solution qui peut être proposée par les élèves est de faire demi-tour et de se déplacer ensuite en ligne droite. Dans ce cas, le robot devra faire tourner ses roues dans la direction opposée pendant un certain temps, puis les faire tourner dans la même direction à la même vitesse pour aller en ligne droite. Voici un exemple de solution qui fonctionne:

Invitez les élèves à ajouter des commentaires à leur code pour expliquer les différents blocs de codage qu’ils ont utilisés. Les blocs de commentaires sont bleus et disponibles dans la section « Miscellaneous ». Expliquez que les ingénieurs en informatique travaillent en équipe et qu’ils doivent documenter leur code avec des commentaires pour s’assurer que leurs collègues peuvent comprendre la signification de leur code. Voici un exemple de la deuxième version du code pour le deuxième défi avec des commentaires ajoutés.

Amenez les élèves à communiquer les solutions qu’ils ont trouvées aux deux premiers défis en leur posant des questions d’objectivation, par exemple:
Pouvez-vous expliquer le problème que vous avez tenté de résoudre dans ces défis ?
Quels sont les principaux défis ou obstacles que vous avez rencontrés dans chaque défi ?
Comment avez-vous commencé à aborder la résolution du premier défi ? Et le deuxième ?
Avez-vous utilisé des stratégies ou des étapes spécifiques pour vous guider dans la résolution du défi ?
Y a-t-il eu des différences dans la manière dont vous avez abordé chaque défi ?
Pouvez-vous m’expliquer votre code ? Comment chaque partie de votre code contribue-t-elle à la résolution du défi ?
Comment avez-vous choisi les valeurs ou les commandes que vous avez utilisées dans votre code ?
Avez-vous modifié votre plan initial au cours du codage ? Si oui, qu’est-ce qui a motivé ces changements ?
Combien de tentatives ont été nécessaires pour résoudre les défis ? Qu’avez-vous appris des tentatives qui n’ont pas fonctionné ?
Quelle est l’erreur que vous avez commise et comment l’avez-vous corrigée ?
En quoi la résolution du premier défi vous a-t-elle aidé à résoudre le second ?
Comment pourriez-vous appliquer ce que vous avez appris de ces défis à un problème du monde réel ?
Comment la compréhension du contrôle des moteurs et de la vitesse a-t-elle influencé votre approche pour résoudre ces défis ?
Encouragez les élèves à mettre en pratique les compétences qu’ils viennent d’acquérir pour s’attaquer aux défis n° 3 et n° 4. Dans ces défis, ils devront approfondir leur compréhension du fonctionnement du moteur, en passant d’un mouvement rectiligne à la maîtrise des virages. Alors que l’énigme n° 2 introduisait le concept de pivotement avant d’avancer, les énigmes n° 3 et n° 4 demandent au robot d’exécuter un mouvement courbe sans pivoter sur lui-même. Ce mouvement courbe exige un contrôle différentiel de la vitesse, une roue se déplaçant plus lentement et l’autre plus rapidement. Encouragez les élèves à expliquer leur stratégie de réglage des deux moteurs pour obtenir une courbe vers la gauche ou vers la droite. Soulignez l’analogie avec le monde réel, à savoir que les voitures ne pivotent pas sur place ; elles tournent, en insistant sur le fait que le pivotement est généralement obtenu avec une conception à deux roues et une roue pivotante pour le soutien ou par l’utilisation de roues omnidirectionnelles.

L’évaluation de la leçon doit se faire par le biais d’observations et de conversations avec les élèves pendant qu’ils codent. L’évaluation de l’efficacité de la leçon doit comprendre l’observation des élèves pendant qu’ils codent et l’engagement d’un dialogue constructif avec eux sur leur processus de réflexion, leurs défis et leurs stratégies. Cette approche permet de mieux comprendre leur compréhension et leur application des concepts enseignés, y compris la manière dont ils résolvent les problèmes et affinent leur code pour obtenir les mouvements et la navigation souhaités avec le robot virtuel. Grâce à ces interactions, les éducateurs peuvent évaluer la compréhension des concepts par chaque élève, fournir une rétroaction ciblée et ajuster l’enseignement en fonction des besoins pour favoriser les résultats d’apprentissage. Voici une liste de « points de repère » pour guider vos observations et votre évaluation:
Engagement et participation: Observez si les élèves s’engagent activement dans la tâche, s’ils expérimentent le code, s’ils participent aux discussions ou s’ils posent des questions.
Compétences en matière de résolution de problèmes: Notez la capacité des élèves à identifier les problèmes dans leur code, à déboguer les erreurs et à appliquer un raisonnement logique pour surmonter les difficultés.
Application des instructions: Vérifiez si les élèves appliquent correctement les instructions et les lignes directrices fournies pour la leçon, par exemple en utilisant les bons blocs ou la bonne syntaxe de code pour le mouvement et la navigation.
Créativité et innovation: Recherchez des approches créatives ou des solutions innovantes que les élèves pourraient appliquer dans leurs stratégies de codage, au-delà des exigences de base de la leçon.
Compréhension des commandes du moteur: Observez la compréhension par les élèves de la manière dont les commandes du moteur affectent le mouvement du robot, y compris la vitesse, la direction et l’exécution de virages ou de manœuvres spécifiques.
Réaction à l’échec: Soyez attentif à la façon dont les élèves réagissent à l’échec ou à des résultats inattendus, en recherchant la résilience, la persistance et la volonté d’expérimenter et d’apprendre à partir des erreurs.