Démarrer avec le logiciel Chorégraphe Premier essai Après avoir lancé le logiciel Chorégraphe on constate sur la partie de gauche un cadre où l'on trouve une librairie de comportements préconçus. Ouvrir la librairie motion - animation et cliquer sur le comportement Hello, le faire glisser jusqu'à la feuille centrale. La cellule comporte 3 connexions, Start, Stop qui sont des entrées (représentées à gauche de la boite) et une sortie fin du comportement (représentée à droite de la boite). La feuille possède une connexion liée au démarrage du comportement par l'icône. Relier la connexion à l'entrée Start de la boite par un clic gauche sans relâcher puis lancer le comportement. La simulation 3D montre que le robot salut avec sa main droite en déplaçant sa tête et son bras. On pourra remplacer la boite Hello par Tai chi chuan (dans «Dances») et constater l'enchaînement de plusieurs comportements. La boîte devient rouge car elle fait appel à un comportement de lecture de fichier audio qui n'est pas simulé. On pourra consulter le détail des erreurs en cliquant sur l icône. Repositionner la boite Hello comme précédemment. Double-cliquer sur la boite Hello, on obtient ainsi le détail du comportement de cette boite. On remarque que la boîte Hello est une macro répondant une hiérarchie. NAO Humanoïde Démarrer avec le logiciel chorégraphe 1/12
La boite Hello apparaît sur l'axe des hiérarchies. Il suffira de cliquer sur root pour revenir à la racine du projet. On voit, sur la partie haute du logiciel, apparaître une échelle temporelle (time line). Cliquer sur les différentes positions et constater les différentes positions prises par le robot 3D. Ces positions sont celles définies par le créateur du comportement. Les positions intermédiaires correspondent à des calculs. En cliquant sur Start on voit l'évolution du TimeLine du début du geste à la fin. En double cliquant sur la boite Light_AskForAttentionEyes on voit le programme associé à ce comportement. Ce comportement permet de gérer les LEDs des yeux. Création d'un comportement On souhaite faire faire NON de la tête à NAO. S'assurer que l'image NON.png est dans le répertoire du TP 2.6 nao programmation\choregraphe\imageboitetp ou bien la créer (taille 80x60) à l'aide d'un utilitaire de dessin comme paint (mettre l'image NON.png dans le répertoire indiqué). Au milieu de la feuille de comportement effectuer un click droit et choisir "Add a new box". Compléter Name : "NON", Tooltip :"permet à NAO de faire non de la tête" Aller chercher (par edit) l'image NON.png dans la zone image. Sélectionner Time line dans la partie Offspring NAO Humanoïde Démarrer avec le logiciel chorégraphe 2/12
Lorsque la boite est terminée cliquer sur OK, on obtient la boite suivante : Double cliquer sur la boite pour définir le comportement. On voit apparaître la timeline. Cliquer sur la tête et s'assurer que la tête est bien sur 0 pour les 2 axes de rotation. Cliquer sur la timeline au niveau de la frame 1 (le 1 au-dessus de la bande grise), click droit sélectionner "Set start frame here" (un drapeau vert apparaît). Cliquer droit au niveau de la frame 10 sur la bande grise et sélectionner "Store joints in keyframe " - "Head". On a associé à la frame 10 la position de la tête. Déplacer la tête (HeadYaw) de -45. Cliquer au niveau de la frame 20, sur la bande grise click droit et sélectionner "Store joints in keyframe " - "Head". On a associé à la frame 20 la position de la tête. Faire de même pour 45, puis 0 frame 50. 0-45 45 0 NAO Humanoïde Démarrer avec le logiciel chorégraphe 3/12
On pourra voir le résultat en cliquant sur Play dans la partie motion. Revenir au niveau de la racine du projet en cliquant sur root, et établir une liaison de la boîte à l'icône play. Lancer le comportement par play et s'assurer que le robot fait bien non de la tête. On peut constater qu'à la fin du non la sortie de la boite s'active, pouvant à son tour activer autre chose. Ainsi pour faire non 2 fois il suffirait de mettre 2 boîtes successives. Pour cela il faut sauvegarder en librairie la boîte effectuée. Sauvegarder en librairie. Dans la fenêtre BOX list, dans le menu file, sélectionner New box library, donner un nom de librairie (pour exemple GDA). Cliquer sur l'onglet de la nouvelle librairie. Dans la feuille de comportement sélectionner la boite NON, click droit et "Add to library". On voit apparaître dans la librairie le nouvel objet. Sauvegarder la nouvelle librairie dans FILE "Save oppened libraries" Utilisation de ce nouvel objet. Faire glisser l'objet sur la feuille et la relier à la boite précédente. Lancer par play et constater que la deuxième boite est activée à la fin du premier comportement. Exécution du comportement sur le robot. Exécuter sur le robot virtuel puis si ce dernier est disponible sur le réel (si il n'est pas disponible ne pas faire la partie mauve et continuer le TP ) NAO Humanoïde Démarrer avec le logiciel chorégraphe 4/12
S'assurer que le robot NAO et votre ordinateur est connecté sur le réseau (voir avec l'enseignant) Demander à l'enseignant l'autorisation de se connecter sur NAO (1 seul utilisateur doit se connecter pour piloter NAO pour éviter des ordres contraires). Après autorisation de l'enseignant se connecter sur NAO : Cliquer sur, et se connecter sur NAO réel (en vert). Lancer par play et constater le fonctionnement de NAO réel. Déconnecter NAO par et se reconnecter au simulateur par Créer la boîte OUI, avec l'icône (OUI.png). Utiliser HeadPitch (+29 et -30 ). Vous sauvegarderez la boîte dans la librairie déjà créée (que vous sauvegarderez à son tour). Effectuer un enchaînement NON et OUI comme illustré ci-dessous : NAO Humanoïde Démarrer avec le logiciel chorégraphe 5/12
Demander à l'enseignant l'autorisation de se connecter sur NAO (1 seul utilisateur doit se connecter pour piloter NAO pour éviter des ordres contraires). Après autorisation de l'enseignant se connecter sur NAO et vérifier le bon fonctionnement: Déconnecter NAO et se reconnecter au NAO local. Utilisation de la synthèse vocale : Créer la boîte Non vocal, avec l'icône (NONvocal.png). Vous définirez la boîte de la manière ci-contre : La description du comportement se fera en Flow diagram avec des boites existantes : Double click sur la boite crée Insérer les boites déjà créé NON et le comportement Say (librairie Audio). Le comportement de Non vocal est représenté cidessous : Le paramétrage de ce que doit dire Nao se fait grâce à l'outil : En cliquant sur l'outil on remplit la boite de dialogue de la manière suivante : NAO Humanoïde Démarrer avec le logiciel chorégraphe 6/12
Ne pas oublier la liaison avec la sortie de la boîte pour permettre d'activer la boîte suivante. Demander à l'enseignant l'autorisation de se connecter sur NAO (1 seul utilisateur doit se connecter pour piloter NAO pour éviter des ordres contraires). Après autorisation de l'enseignant se connecter sur NAO et vérifier le bon fonctionnement: Déconnecter NAO et se reconnecter au NAO local. Créer la boîte OUI vocal, avec l'icône (OUIvocal.png). Vous définirez la boîte de la même manière que celle du NON vocal. Effectuer un enchaînement NON vocal et OUI vocal comme illustré ci-dessous : Sauvegarder dans la librairie les 2 nouveaux comportements. Sauvegarder la librairie. Demander à l'enseignant l'autorisation de se connecter sur NAO NAO Humanoïde Démarrer avec le logiciel chorégraphe 7/12
(1 seul utilisateur doit se connecter pour piloter NAO pour éviter des ordres contraires). Après autorisation de l'enseignant se connecter sur NAO et vérifier le bon fonctionnement: Déconnecter NAO et se reconnecter au NAO local. Utilisation des effets lumineux : Créer la boîte NON vocal lumineux, avec l'icône (NON vocal lumineux.png) que vous sauvegarderez dans la librairie déjà créée (que vous sauvegarderez à son tour). Le comportement est décrit ci-contre : Le comportement Eyes LEDs se trouve dans la bibliothèque LEDs. Sur la boite Eyes LEDs on trouve un paramètre : duration qui correspond au temps d'allumage (réglable par un curseur). NAO Humanoïde Démarrer avec le logiciel chorégraphe 8/12
En rentrant dans la boite Eyes LEDs, on constate que cette boîte est faite de 2 autres boites. En cliquant sur le carré rouge color une boite s'ouvre permettant de choisir la couleur d'allumage des leds. Le choix de la couleur rouge pure montre que cette dernière est composée de la valeur 255 pour le rouge et de 0 pour la verte et la bleue. En double cliquant sur la boite Color Edit, écrite en python, on constate que l'on retrouve ces 3 valeurs dans la fonction oninput_onstart(). Voir ci-contre. En modifiant la couleur, verte par exemple, on peut constater la nouvelle valeur dans la fonction oninput_onstart(). Voir ci-dessous. NAO Humanoïde Démarrer avec le logiciel chorégraphe 9/12
Réaffecter la valeur rouge au comportement Non vocal lumineux. Essayer le comportement. Demander à l'enseignant l'autorisation de se connecter sur NAO (1 seul utilisateur doit se connecter pour piloter NAO pour éviter des ordres contraires). Après autorisation de l'enseignant se connecter sur NAO et vérifier le bon fonctionnement: Déconnecter NAO et se reconnecter au NAO local. Créer la boîte Oui vocal lumineux, avec l'icône (OUI vocal lumineux.png) que vous sauvegarderez dans la librairie déjà créée (que vous sauvegarderez à son tour). La description du comportement est comparable à l'étude faite ci-dessus en remplaçant la couleur rouge par une couleur verte assez douce. Enchaîner les 2 comportements et effectuer les essais. Demander à l'enseignant l'autorisation de se connecter sur NAO (1 seul utilisateur doit se connecter pour piloter NAO pour éviter des ordres contraires). Après autorisation de l'enseignant se connecter sur NAO et vérifier le bon fonctionnement: Déconnecter NAO et se reconnecter au NAO local. A l'aide de la boite NON vocal lumineux et de la boite Say, créer le comportement où NAO dit «NON, NON et NON». De plus à chaque NON il fera non de la tête et il aura les yeux rouges. Effectuer l'essai en suivant la procédure de connexion et de déconnexion sur NAO. NAO Humanoïde Démarrer avec le logiciel chorégraphe 10/12
Utilisation du langage Python. Ouvrez le comportement «open project» dans fichier chorégraphe : PinceOuvreFerme.crg Lancer la séquence de comportement. 1. Que se passe t-il? Entrées activées Entrées Inactivées Vous avez des infos sur les entrées en utilisant les infos bulles ou avec des clicks droits «edit» 2. Quelle est l'entrée associée à l'ouverture de la pince et celle à la fermeture? Double cliquer sur le comportement Left Hand, Une fenêtre avec un programme en python s'ouvre. On trouve plusieurs ligne dont une qui est associée à l'entrée onstart qui est défini par la ligne suivante : def oninput_onstart(self): une autre pour l'entrée onstop qui est défini par la ligne suivante : def oninput_onstop(self): La ligne qui suit est la fonction appelée pour exécuter le comportement. NAO Humanoïde Démarrer avec le logiciel chorégraphe 11/12
La fonction appelée pour ouvrir la main est ALMotion.openHand(self.hand) 3. Quelle est la fonction permettant la fermeture de la pince? Éditer l'une des 2 boites Left Hand et modifier le nom et le commentaire par Double cliquer sur la boite et déplacer la fonction ALMotion.closeHand(self.hand), sous la fonction ALMotion.openHand(self.hand) comme illustré ci-dessous : Ne garder que la boîte open close et lancer le comportement, 4. Que se passe t-il? Pour aller plus loin! Faire une programmation de NAO qui lui permette de vous saluer par votre prénom en hochant la tête et en levant la main, il éclairera ses LED de votre couleur préférée! NAO Humanoïde Démarrer avec le logiciel chorégraphe 12/12