Rapport de l'expérimentation Un robot programmé avec Labview Mise en œuvre d'un EPI Ludovic FERON Stéphane CHEDRU Collège Paul Mougin
Définition du cadre et de la progression L'expérimentation a été réalisée dans le cadre des heures numériques de l académie de Grenoble avec différents élèves de quatrième et troisième. Cette expérimentation s'est inscrite dans le cadre d'un projet interdisciplinaire (mathématiques, technologie et anglais) avec la réalisation d'un produit final, un robot programmé. Plusieurs objectifs étaient fixés : Concevoir et assembler un robot Programmer et tester le robot Participer à un concours national de robotique Le matériel a été prêté par l'inp de Grenoble, organisateur du concours. Il était constitué de mallettes de pièces Lego, Tetrix et d'un logiciel de programmation Labview. Le logiciel Labview permet de coder en assemblant des objets permettant d'éviter les problèmes de syntaxe généralement liés aux langages de programmation. Ce logiciel offre des fonctionnalités très poussées. Nous avons choisi de ne pas gérer l'interface utilisateur proposé par Labview. Nous nous sommes uniquement intéressés aux diagrammes (codes de programmation contrôlant les objets reliés au boîtier NXT) La progression adoptée a introduit progressivement les notions de bases de l informatique pour pouvoir ensuite réaliser un programme plus conséquent adapté au concours. Voici 3 activités pédagogiques menées dans le cadre du projet : TP1 : réalisation d'un diagramme contrôlant la vitesse des moteurs du robot. Introdution aux fonctionnalités du logiciel avec la réalisation et le test d'un programme simple. TP2 : réalisation d'un diagramme avec le pilotage des moteurs en fonction d'un événement (retour d'information d'un capteur) Introduction à une instruction conditionnelle. TP3 : réalisation d'un diagramme avec répétition d'actions en fonction d'un événement. Introduction à une itération.
Présentation de LabVIEW et du boîtier NXT LabVIEW est un logiciel de développement de programmes d'application. Il utilise un langage de programmation essentiellement graphique. On n'écrit pas de lignes de programme dans un langage textuel mais on manipule des objets graphiques. La programmation en LabVIEW consiste à concevoir le traitement de l'information au moyen de fils reliant les objets. Le boîtier Mindstorms NXT est le «cerveau» de notre robot. Il exécute un programme qui lui a été transmis et pilote des moteurs en tenant compte des retours d'informations des capteurs.
TP1 : Réalisation d'un diagramme contrôlant le fonctionnement des moteurs du robot. Créer un nouveau projet sur LabVIEW. Renseigner l'éditeur de schéma selon la configuration utilisée avec le boîtier NXT. Créer un nouveau «VI» ( Virtual Instrument ) Insérer les blocs des deux moteurs pilotant le robot et renseigner la puissance à «75». Insérer une minuterie pour faire fonctionner les moteurs seulement à partir de 5 secondes après l'exécution du programme. Insérer une minuterie pour faire fonctionner les moteurs pendant 20 secondes après l'exécution du programme. Modifier le programme pour faire fonctionner les moteurs à tour de rôle pendant 10 secondes. Aide : l'image ci-dessous peut vous aider, mais elle ne correspond à aucune consigne donnée audessus.
TP2 Réalisation d'un diagramme avec le pilotage des moteurs en fonction d'un événement Créer un nouveau projet sur LabVIEW. Renseigner l'éditeur de schéma selon la configuration utilisée avec le boitier NXT. Créer un nouveau «VI» ( Virtual Instrument ) Créer un programme pour faire fonctionner le moteur 1 pendant 5 secondes après son exécution. Compléter ce programme pour que les deux moteurs fonctionnent pendant 10 secondes après que le capteur de contact soit actionné. Compléter ce programme pour que les 2 moteurs fonctionnent pendant 10 secondes quand uniquement le capteur de contact a été actionné 2 fois. Aide : l'image ci-dessous peut vous aider, mais elle ne correspond à aucune consigne donnée audessus.
TP3 Réalisation d'un diagramme avec répétition d'actions en fonction d'un événement Créer un nouveau projet sur LabVIEW. Renseigner l'éditeur de schéma selon la configuration utilisée avec le boitier NXT. Créer un nouveau «VI» ( Virtual Instrument ) Créer un programme pour faire fonctionner le moteur 1 pendant 5 secondes. Compléter ce programme pour faire fonctionner le moteur 1 pendant 5 secondes, puis l'arrêter 2 secondes et ceci tant que le capteur de contact n'est pas actionné. Compléter ce programme pour faire fonctionner le moteur 1 suivant le fonctionnement décrit ci dessus mais avec un nombre de répétition qui aura été défini au préalable (par exemple 3 fois ou 10 fois) Aide : l'image ci-dessous peut vous aider, mais elle ne correspond à aucune consigne donnée audessus.
Bilan Le projet a été très apprécié par tous les élèves. Beaucoup se sont très investis jusqu'à venir en dehors des heures prévues initialement. Les dernières semaines avant le concours ont été très intenses. 3 enseignants sont intervenus au cours de ce projet. Une coordination a été mise en place pour une bonne progression du projet. Ce projet s'apparente à un EPI à la différence que seuls les élèves volontaires venaient et qu'ils étaient de deux niveaux scolaires différents. La prise en main du logiciel LabView n'a pas été facile au début pour les collégiens car notamment l'interface que nous avions était en anglais. Après quelques heures de manipulation, ils étaient capables de piloter plusieurs moteurs avec des configurations plus ou mois complexes. Cela a bien fonctionné car le nombre restreint d'élèves et la motivation pour le projet a permis de bien progresser. LabView n'est pas à mon avis le premier outil de développement à proposer à de jeunes programmeurs. Toutefois, il me paraît tout à fait adapté pour des élèves qui ont déjà une culture de programmation, donc il est plutôt destiné à des lycéens.