Catégorie:Nao

De troyesGEII
Révision datée du 6 janvier 2016 à 18:44 par Nao (discussion | contributions) ({{Rouge|Utilisation de Choregraphe}})
Aller à : navigation, rechercher


Description et présentation du Projet

Le projet Nao consiste à programmer un robot pour lui faire réaliser plusieurs sortes de défis dans le but de se présenter à un concours, pour ceci on utilise le logiciel Chorégraphe pour construire un programme, puis on utilise un autre logiciel, Webots qui nous permet de simuler virtuellement les actions du robot et corriger les erreurs qui peuvent survenir, c'est ensuite que l'on peut tester ces programmes sur le robot Nao.


Utilisation de Choregraphe

Choregraphe est le logiciel de programmation de NAO. Il possède une interface assez simple et son fonctionnement est intuitif. Effectivement, pour créer un programme il "suffit" de glisser-déposer des boîtes dans la fenêtre principale du logiciel puis de les relier pour créer une séquence d'action.

InterfaceChoregraphe.png

Légende pour l'interface de Choregraphe:

  1. La fenêtre 1 est l'interface principale de Choregraphe. C'est ici que l'on va déposer les boîtes puis les relier pour créer le programme en lui-même.
  2. La fenêtre 2 présente le contenu du projet. Le seul fichier utile, pour notre utilisation, est "Untitled.pml". C'est dans ce fichier que sera enregistré tout le programme.
  3. La fenêtre 3 s'appelle "Box Librairies". Comme son nom l'indique, elle contient toutes les boîtes disponibles pour créer un programme.
  4. La fenêtre 4 est le Log Viewer. On verra s'afficher ici toutes les erreurs qui pourraient survenir pendant que le programme tourne sur NAO.
  5. La fenêtre 5 nous montre la position dans laquelle se trouve NAO. On peut également à partir de ce modèle 3D désactiver la stiffness (= rigidité) des membres de NAO ou faire bouger l'un de ceux-ci.
  6. La fenêtre 6 est le Video Monitor. On peut y voir, lorsqu'un NAO est connecté au logiciel, tout ce que NAO voit à l'aide de sa caméra.
  7. Cette barre d'outils permet, de gauche à droite:
    • de se connecter à NAO
    • de se déconnecter de NAO
    • de lancer le programme sur NAO
    • de stopper le programme en cours d’exécution sur NAO
    • d'afficher les erreurs/la fenêtre de débogage
    • et le rectangle avec du bleu indique la progression du chargement du programme sur NAO
  8. La barre 8 permet, de gauche à droite:
    • de régler le son des hauts-parleurs du robot
    • d'activer le mode animation (décrit plus loin)
    • d'activer la vie autonome de NAO (comportement autonome inclus dans le robot)
    • de mettre NAO en veille
    • ou au contraire de le réveiller
    • de voir le niveau de charge de la batterie

Programme test

Voici un algorithme qui représente l'idée générale du fonctionnement du robot après la phase de programmation sur le logiciel Chorégraphe.

Algorithmenao1.png

Avant de commencer à vouloir réaliser les défis, on décide de créer un programme où Nao exécute de multiples actions sans de but très précis si ce n'est de nous familiariser avec les blocs basiques

programme test

On se rend compte avec l'image ci-dessus que l'ajout de fonctions ou l'apport de modifications devient très dure voire impossible à cause de toutes les liaisons présente, donc pour arranger cela nous avons créé des compartiments qui nous permettrons d'inclure les fonctions existantes selon leurs actions, et la possibilité de pouvoir ajouter des fonctions beaucoup plus simplement.

Essai123456789.png

On peut voir ci-dessous les différents compartiments, à gauche on a toutes les actions que nous avons programmées pour Nao ainsi qu'un switch case qui permet d'associer un mot ou une phrase à une action. A droite on peut voir une fonction qui nous permet de mettre en veille Nao ou de le remettre en marche juste en touchant sa tête qui possède trois capteurs sensoriels ainsi celui de devant permet de le "réveiller" et celui de derrière permet de le mettre en veille. Avant chaque action nous avons pris le soin de faire dire une phase "explicative" sur l'action que Nao va entreprendre ce qui permet à un utilisateur "externe" de pouvoir anticiper les actions de Nao, par exemple quand on va demander à Nao de marcher il répondra "D'accord allons nous promener".

Essaiaction123456789.png
Essaiveille123456789.png
























1er défi: play with me

Ici il s'agit d'élaborer un jeu qui permet à un humain et à Nao de jouer, c'est un défi ouvert c'est à dire que chaque équipe aura son propre jeu. On a choisit pour commencer un jeu basique: on demande à Nao d'imiter un animal, pour réaliser le programme il faut que Nao reconnaisse le mot d'un assez grands nombres d'animaux, puis qu'il associe à chaque animal son cri. On commence par des animaux simples à imiter comme le chien, le chat, la grenouille

Cherche la clé

Dans ce défi il s'agit de programmer Nao pour qu'il aille chercher une clé rouge pour en suite la mettre dans un bac rouge. L'épreuve se situe dans une pièce fermée en équerre ce qui permet à Nao de pouvoir utiliser des repères qui pourront être placé sur ces murs. Nous avions pensés mettre des affiches, mais bien vite on s'est rendu compte que Nao avait beaucoup de mal à les repérer, c'est pourquoi nous avons utilisé des "Naomarks", ce sont des cibles pré-enregistré par Nao et en utilisant la détection de ces marks on peut programmer Nao pour qu'il puisse marcher jusqu'à elles. Ensuite pour qu'il attrape la clé nous avons créer une timeline, mais avant cela il a fallut désactiver la "stifness" c'est à dire la résistance présente au niveau des moteurs, pour que Nao puisse correctement prendre la clé et ne forcer sur celle-ci en se rapprochant du mur et rester bloqué. Ensuite il ne restait plus qu'à la mettre dans le bac rouge, nous avons donc utilisés la reconnaissance d'image, dans un rayon autour de la boite pour que peut importe la localisation de Nao il puisse reconnaitre la boite. Pour finir il suffit juste qu'il la dépose dans le bac, c'est pour cela qu'une simple boite en python et quelques lignes de programmes étaient amplement suffisantes.

Cette catégorie ne contient actuellement aucune page ni fichier multimédia.