Robotique : programmation sur tablette tactile

Présentation de l'environnement de programmation sur un exemple simple :
logowebs.jpg
© Copyright 2018 Constellations & Galaxies
Ecran d'accueil de l'application Mindstorms Education sur tablette tactile qui permet d'accéder soit à l'environnement de programmation, soit à des exemples de programmation de la plateforme Educator.
D'une manière générale, l'interface de cette application est simple et épurée.
Illustration du système de programmation graphique sur tablette Androïd des robots construits avec les kits Lego Mindstorms EV3 (photo Lego).
cg001006.jpg cg062004.jpg cg001004.jpg cg001003.jpg cg006001.jpg
La partie "Educator" fournit 6 exemples de comportements (analogues à ceux vus en programmation directe sur l'unité EV3) avec pour chacun une petite vidéo du résultat recherché et un bouton d'accès au manuel utilisatuer (en format PDF).
A noter : il existe aussi un manuel "Enseignant" fournissant un programme d'initiation à la robotique en 7 leçons et des exemples de "défis" avec les explications de construction des environnements de test du robot Educator (comme des posters sur lequel le faire évoluer).
L'environnement de programmation est très sobre avec la brique de démarrage d'un nouveau programme, les onglets d'accès à la bibliothèque des blocs logiciels (en bas), et le tableau d'information sur l'unité EV3 connectée (en bas à droite). Ici la connexion n'est pas établie (tableau vide et icone bleue en haut à droite) et on doit cliquer sur cette zone pour accéder à l'écran de connexion.
L'écran de connexion d'une unité EV3. La connexion Bluetooth permet de choisir une unité accessible par son nom (configurable sur l'unité) afin d'appairer correctement les tablettes et unités de chacun des groupes d'élèves.
Une fois l'unité connectée, l'écran informe sur la configuration des moteurs et capteurs (schéma à droite) et sur l'état de l'unité (tableau à gauche) : niveau de charge, mémoire disponibles...
Avec la connection établie l'environnement de programmation s'est enrichi de deux icones bleues (en haut à droite) permettant respectivement de télécharger le programme dans l'unité EV3 sans l'exécuter ou en l'exécutant immédiatement.
Retour à l'écran de programmation. Avec l'unité connectée le tableau (en bas à droite) résume la configuration matériel : moteur ou capteur connecté sur chaque port.
La construction du programme est réalisée par glisser/déposer de blocs logiciels tirés de la bibliothèque, comme ici les actions (onglet vert) : moteurs (les gros individuellement ou en paire), écran EV3, son EV3, affichage lumineux EV3.
Comme exemple très simple, nous reprenons le petit test basique "rotation" de la plateforme Educator déjà vu en programmation directe sur l'unité (voir la page "Educator"). Il ne comprend que le seul bloc "déplacement et direction" utilisant les 2 gros moteurs.
Une fois le bloc posé, on peut cliquer sur ses différents paramètres pour les modifier selon le comportement recherché : sens et direction du mouvement, limite du mouvement (permanent, durée, nb de tours...), puissance du moteur, freinage ou pas à la fin.

Nota : ces options de paramétrage sont beaucoup plus riches que celles proposées par l'interface directe de l'unité EV3. On peut même modifier les options de connexions des moteurs ou capteurs (ici "B+C") permettant une configuration matérielle quelconque du robot.
Résultat de la configuraton : rotation à 50% de puissance pendant 3s et freinage final.
Pour compléter notre petit programme, nous pouvons accéder aux blocs "flot" permettant d'accéder à des comportements plus complexes du robot : attendre (délai ou évènement capteur), boucle ou sélecteur (branchement conditionnel).
Concepts de programmation plus avancés (boucles et branchements conditionnels) :
Poursuivre avec l'environnement de programmation sur PC...
C'est par glisser/déplacer, qu'on ajoute le bloc "boucle" à notre programme et qu'on reconnecte le bloc "déplacement et direction" à l'intérieur de la boucle.
Une fois la boucle créée, on peut définir la condition de sortie pour ne pas répéter indéfiniment les actions incorporées (option par défaut). Cette condition exploite généralement les capteurs reliés à l'unité EV3 (distance, contact, position, couleurs), définit un nb de boucles à effectuer ou un délai mais peut aussi utiliser les boutons de l'unité EV3. Pour chacune de ces options, on accède au paramétrage de la condition, différent selon la nature du capteur, par exemple la distance à un obstacle pour le capteur à ultrasons. Là aussi, les possibilités sont plus riches que sur l'interface de l'unité EV3 (pour la distance, seules quelques valeurs sont prédéfinies alors qu'à la tablette on peut saisir n'importe quelle distance et aussi modifier la condition : supérieure à, inférieure à...).
Pour le "sélecteur" (branchement conditionnel) ce sont les mêmes types de conditions qui permettent d'opter pour une voie ou l'autre du programme défini (par exemple : "si le capteur tactile est appuyé ... sinon....).
Exemple de programme "rotation" avec adjonction de quelques autres blocs actions afin d'obtenir un comportement plus complet : l'éclairage de l'unité EV3 passe au rouge, Educator effectue des rotations arrière pendant 3s (à 50% de la puissance des moteurs). l'affichage passe au vert pendant 1s et à l'issue de ce délai recommence le processus sauf si on a appuyé sur le bouton "validation" de l'EV3 ce qui termine l'exécution.
tblpgmex.jpg
Exemple de programmation plus complexe.sur tablette combinant l'approche avec capteur ultrasons et la saisie de la caisse (voir page Educator) : approche rapide jusqu'à 3cm, puis lente pendant 1/4 de tour des roues, saisir la caisse, reculer, relacher la caisse et reculer, avec des effets de couleurs et sonores.
(cliquer sur l'image pour voir une courte vidéo)
iconagenda.jpg
cg001007.jpg