1 BLOCKLY Programmer le Niryo One avec V1 OBJECTIFS PRÉREQUIS CE DONT VOUS AURE

1 BLOCKLY Programmer le Niryo One avec V1 OBJECTIFS PRÉREQUIS CE DONT VOUS AUREZ BESOIN PROGRAMMER LE NIRYO ONE AVEC LE MODE APPRENTISSAGE PRÉSENTATION DU MODE APPRENTISSAGE EXERCICE PROGRAMMER LE NIRYO ONE AVEC BLOCKLY PRÉSENTATION DE BLOCKLY L’ENVIRONNEMENT DE PROGRAMMATION LES BLOCS DE PROGRAMMATION EXERCICE ANNEXE CORRECTION 3 3 3 3 3 4 5 5 5 7 8 11 16 OBJECTIFS • Se familiariser avec les notions de base de programmation robotique • Commander le robot en utilisant Niryo One Studio et Blockly • Être capable de créer des algorithmes pour commander le robot PRÉREQUIS • Starter guide CE DONT VOUS AUREZ BESOIN • Ordinateur équipé du wifi • Niryo One Studio (interface de programmation graphique du Niryo One). • Un Niryo One PROGRAMMER LE NIRYO ONE AVEC LE MODE APPRENTISSAGE PRÉSENTATION DU MODE APPRENTISSAGE Le « mode apprentissage » (ou « learning mode ») est une méthode de programmation avec laquelle l’opérateur humain place manuellement le robot dans une position puis l’enregistre afin que le robot puisse l’exécuter par la suite. Il est possible de programmer le robot Niryo One en utilisant cette méthode de programmation. Pour activer ou désactiver ce mode, cliquer sur le bouton « Mode apprentissage » sur l’interface de Niryo One Studio. 3 4 EXERCICE • Activer le mode d’apprentissage du robot • Bouger le robot avec la main vers une position de votre choix • Maintenir le robot dans cette position et cliquer sur « ACTUALISER LES VALEURS » avant de relâcher le robot. Vous pouvez également appuyer sur le bouton supérieur du robot pour enregistrer la valeur. • Désactiver le « mode apprentissage » • Exécuter un mouvement vers cette position en cliquant sur « DÉPLACER AXES » Le robot a-t-il effectué le mouvement voulu ? • On désire mettre le robot dans une position « TOP » comme montrée dans la figure ci- dessous : Quel est l’axe qui va faire son angle maximal ? • Activer le « mode apprentissage » et bouger le robot avec la main vers cette position • Maintenir le robot dans cette position, sélectionner « ACTUALISER LES VALEURS » puis l’enregistrer sous le nom « TOP » • Sélectionner cette position et l’exécuter en cliquant sur « DÉPLACER AXES » 5 PROGRAMMER NIRYO ONE AVEC BLOCKLY Dans cette partie, nous nous intéressons aux fonctions de base du logiciel de programmation visuelle, basé sur Blockly. PRÉSENTATION DE BLOCKLY L’interface visuelle de Niryo One Studio est basée sur Blockly, une bibliothèque Google, qui est également utilisée pour le projet Scratch réalisé par le MIT. L’ENVIRONNEMENT DE PROGRAMMATION Les différentes parties de l’environnement et leurs fonctionnalités sont : 6 L’espace de travail qui va contenir votre code Pour supprimer un bloc, le faire simplement glisser jusque la corbeille Il est également possible de le sélectionner puis appuyer sur la touche « Suppr » du clavier Effacer l’espace de travail actuel Annuler / Rétablir Ajouter un bloc de position Exécuter la séquence affichée dans l’espace de travail Arrêter l’exécution de la séquence en cours Importer ou exporter une séquence Les différents blocs de programmation 2 3 4 1 5 6 7 8 9 2 3 4 1 5 6 7 8 9 7 LES BLOCS DE PROGRAMMATION CONCEPT EXPLICATION EXEMPLE Variables Les blocs variables permettent de créer des variables et les utiliser dans le programme. Une variable est un symbole qui associe un nom à une valeur. Listes (Lists) Les blocs listes permettent de stocker puis d’avoir accès à une liste de nombres et de chaînes de caractères. Une liste est une structure permettant de regrouper des données de manière à pouvoir y accéder librement. Elle peut être considérée comme un tableau. Boucles (Loops) Les blocs de boucles peuvent être utilisés pour une itération (répétition d’une série d’instructions). Une boucle est une structure de contrôle de programmation qui permet de répéter l’exécution d’une séquence d’instructions. Niryo One Les blocs de la catégorie Niryo One permettent de contrôler le robot, ses outils ainsi que ses interfaces d’entrée/sortie. Fonctions (Functions) Les blocs fonctions permettent de créer et appeler des fonctions et procédures. Une fonction est une entitée informatique qui encapsule une portion de code effectuant un traitement spécifique qui peut être réutilisé dans le programme. Logiques (Logics) Les blocs logiques permettent soit d’engager une action suivant une condition soit de manipuler les variables logiques. Maths Les blocs Maths permettent d’utiliser les opérations mathématiques. Se référer à l’annexe pour plus de détails sur les différents blocs. 8 EXERCICE Nous désirons déplacer le Niryo One aux deux positions P1 et P2 avec : • P1 = [ x = -0.03 ; y = -0.156 ; z= 0.48 ; roll= -0.58 ; pitch = -0.58 ; yaw = -0.145 ] • P2 = [ x = -0.136 ; y = -0.133 ; z = 0.255 ; roll= -0.081 ; pitch = 0.744 ; yaw = -2.535 ] Après avoir pris connaissance de l’annexe, déterminer le bloc qui permet de déplacer le robot à une position avec des coordonnées cartésiennes x y et z. • Copier le code ci-dessous dans Niryo One Studio • Désactiver le « mode apprentissage » et exécuter le programme • Ajouter le bloc sur votre séquence comme le montre l’illustration ci-dessous : • Désactiver le « mode apprentissage » puis exécuter cette nouvelle séquence Expliquer la différence entre la première et la seconde séquence et conclure sur le rôle du bloc ajouté. On désire automatiser la tâche d’activation et de désactivation du « mode apprentissage ». Quel bloc convient-il d’utiliser pour effectuer cette opération ? Ajouter ce bloc au début et à la fin de votre programme, puis exécuter ce dernier. Une séquence est une suite d’instructions. Elle représente le programme à faire exécuter par le robot. En gardant le programme développé dans la section précédente, cliquez sur le bouton « import/ export ». 9 Une séquence est caractérisée par : • Son nom (par défaut, celui-ci sera « sequence » + ID) • Sa description On désire exécuter le programme suivant : Désactiver le mode apprentissage Déplacer le robot dans sa position initiale Vitesse maximale du robot à 100% Compteur = 0 Déplacer le robot dans la position P1 Attendre 2 secondes Déplacer le robot dans la position P2 Attendre 2 secondes Compteur = Compteur + 1 Déplacer le robot dans sa position initiale Activer le mode apprentissage Fin vrai faux Compteur < 3 ? 10 Sachant que : • Les positions du robot sont en coordonnées articulaires (joints) • La position initiale du robot est [ 0 ; 0 ; 0 ; 0 ; 0 ; 0 ] • P1 = [ -1.215 ; -0.333 ; -0.867 ; -3.053 ; -0.014 ; 0.127 ] • P2 = [ -1.377 ; 0.22 ; -0.281 ; -3.053 ; -0.031 ; 1.549 ] Traduire le diagramme précédent en texte. • Reproduire le programme ci-dessous : Choisir le bloc qui permet de faire la boucle du programme présenté ci-dessus. À l’aide de l’annexe, compléter la séquence Blockly afin qu’elle reproduise le diagramme précédent. Considérons la variable compteur et le bloc de boucle. Proposer un bloc permettant de remplacer ces deux blocs. • Remplacer les blocs de variable et de boucle par ce nouveau bloc • Exécuter la séquence Commenter. 11 ANNEXE TYPE CONCEPT BLOC EXPLICATION Logic Instructions conditionnelles Effectuer différents calculs ou actions en fonction de l’évaluation d’une condition. Logic Opérateurs de relation ou comparaison Pour comparer certaines valeurs : • Le test d’égalité est effectué avec l’opérateur = tandis que le test de différence est effectué avec l’opérateur ≠ • Les comparaisons strictes sont effectuées avec les opérateurs < et > • Les comparaisons larges sont effectuées avec les opérateurs <= et >=. Logic Types booléens Le type booléen définit deux états : l’état vrai et l’état faux. Les mots clés associés sont donc true (vrai) et false (faux). Logic Opérateurs logiques booléens • And : retourne «vrai» si les deux valeurs correspondent à «vrai», sinon retourne «faux» • Or : retourne «vrai» si au moins une des deux valeurs correspond à «vrai» • Not : retourne l’inverse du booléen. Logic Valeur Une variable est « null » si elle est nulle ou ne contient aucune valeur. Loops Itération (boucle) Répéter une séquence d’instructions x fois, x étant alors le nombre d’itérations. Loops Itération (boucle) Créer une boucle qui exécute une instruction tant qu’une condition n’est pas vérifiée. Loops Itération (boucle) Répéter un certain nombre de fois une suite d’instruction. Exemple : count i from 1 to 10 by 1 (cette instruction permet de compter la variable i de 1 à 10 en incrémentant par 1). 12 TYPE CONCEPT BLOC EXPLICATION Loops Itération (boucle) Répéter certaines instructions pour chaque élément d’une liste. Loops Itération (boucle) Sortir de la boucle actuelle (for/repeat/count) et passer directement à l’instruction suivante. Math Paramétrage Spécifier un nombre pour une fonction. Math Opérateur • + : Ajouter deux nombres • - : Soustraire le deuxième nombre du premier nombre • * : Multiplier les deux nombres • / uploads/Geographie/ blockly-1-fr-c.pdf

  • 31
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager