Robots humanoïdes 2013 groupe I : Différence entre versions

De Wiki d'activités IMA
(Cahier des charges :)
(Cahier des charges :)
Ligne 10 : Ligne 10 :
  
  
Lors de ce projet, la programmation des NAO se fera à l'aide du logiciel Chorégraphe. Ce logiciel est développé par Aldébaran.<br>
+
Lors de ce projet, la programmation des NAO se fera à l'aide du logiciel Chorégraphe, développé par Aldebaran.<br>
Il comprend deux types de programmations. De la programmation graphique et de la programmation en python.<br>
+
Grâce à ce logiciel nous pouvons choisir de programmer de façon graphique (à l'aide des boxs créées par Aldebaran), ou de programmer en Python.<br>
  
Nous allons devoir employer ces deux types de programmation afin de développer les fonction suivantes.   
+
Nous allons devoir employer ces deux types de programmations afin de développer les fonctions suivantes.   
 
<blockquote>
 
<blockquote>
 
         - Repérer un objet dans une pièce<br>
 
         - Repérer un objet dans une pièce<br>
- Se placer correctement les deux NAO par rapport à l’objet (face à face) <br>
+
- Placer les deux NAO de chaque coté de l’objet<br>
 
- Utiliser le signal de synchronisation de l'autre projet "NAO" <br>
 
- Utiliser le signal de synchronisation de l'autre projet "NAO" <br>
 
- Soulever l’objet <br>
 
- Soulever l’objet <br>
- Déplacer le l'objet jusqu’à un point donné <br> </blockquote>  
+
- Déplacer l'objet jusqu’à un point donné <br> </blockquote>  
  
Nous devrons développer nos propres blocs (en python) pour la programmation. Nous développerons en parallèle un complément de la bibliothèque. Ceci dans le but de l'enrichir et de faciliter l'utilisation des NAO prour de travaux pratiques ou des projets. <br>
+
Pour permettre de créer certaines de ces fonctions nous devrons développer nos propres blocs en python. Afin d'enrichir et de faciliter l'utilisation des NAO, pour de futurs travaux pratiques ou projets, nous développerons un complément de la  bibliothèque déjà existante. <br>
 
<!-- mettre site internet d'origine de la photo-->
 
<!-- mettre site internet d'origine de la photo-->
  

Version du 2 avril 2014 à 21:24

Présentation du projet :

NAO

L’objectif de ce projet est de faire coopérer deux NAO afin qu’ils réalisent de façon synchrone une action. On souhaite leur faire réaliser une procédure qu'ils ne pourraient faire seuls (objet trop grand ou trop lourd).
Les NAO ne pouvant pas soulever une charge trop importante, nous avons décidé de leur faire porter une boite en carton de grande taille (environ celle d'un NAO). Pour cela, à l'aide du logiciel Choregraphe nous allons écrire un programme qui permettra aux deux NAO de repérer la boite, de se déplacer jusqu'à celle-ci, de se positionner de chaques côtés de celle ci, puis enfin de se synchroniser (par l'intermédiaire du réseau). Une fois les deux NAO en phase, ils soulèveront la boite et la déposeront à un endroit donné.






Cahier des charges :

Lors de ce projet, la programmation des NAO se fera à l'aide du logiciel Chorégraphe, développé par Aldebaran.
Grâce à ce logiciel nous pouvons choisir de programmer de façon graphique (à l'aide des boxs créées par Aldebaran), ou de programmer en Python.

Nous allons devoir employer ces deux types de programmations afin de développer les fonctions suivantes.

- Repérer un objet dans une pièce
- Placer les deux NAO de chaque coté de l’objet
- Utiliser le signal de synchronisation de l'autre projet "NAO"
- Soulever l’objet

- Déplacer l'objet jusqu’à un point donné

Pour permettre de créer certaines de ces fonctions nous devrons développer nos propres blocs en python. Afin d'enrichir et de faciliter l'utilisation des NAO, pour de futurs travaux pratiques ou projets, nous développerons un complément de la bibliothèque déjà existante.

Avancement du projet :

Semaine 1
Lors de cette première semaine, nous avons effectué des recherches sur le NAO afin d'effectuer les premiers réglages et de mieux comprendre son fonctionnement:

-Mise à jour des NAO

-Installation et découverte des logiciels Monitor et Choregraphe
-Découverte des librairies
-Découverte des blocs sous Choregraphe et réalisations de mouvements simples à l'aide de ces blocs (déplacement,position...)

-Vérification du bon fonctionnement des capteurs (avec Monitor)

Problèmes rencontrés:

-Problème d'équilibre du NAO
-Pas de bloc pour les opérations logique (AND,OR,IF....)

Objectifs pour la semaine 2:

-Régler les problèmes d'équilibre du NAO

-Réaliser des timelines afin de créer des mouvements pour que le NAO attrape un objet

-Faire marcher le NAO avec un objet dans les mains


Semaine 2
Lors de cette deuxième semaine , nous avons réalisé les objectifs fixés lors de la première semaine
Le NAO est maintenant capable de:

-Se baisser pour prendre un objet

-Se relever sans perdre l'équilibre

-Marcher avec l'objet dans les mains

Problème rencontré:

-Le NAO ne peut pas prendre un objet en le serrant entre ses deux mains. En effet s'il n'atteint pas la position finale alors il s'arrête

Objectifs pour la semaine 3:

-Détecter un objet dans la pièce

-Récupérer les coordonnées de l'objet pour que le NAO puisse aller le chercher

-Réaliser la synchronisation des deux NAO à l'aide de Chorégraphe


Semaine 3

Lors de cette troisième semaine, nous avons réalisé une partie des objectifs fixés la semaine précédente. Nous sommes capables de faire avec le Nao le scénario suivant :

- Reconnaissance de l’objet devant lui

- Aller vers l’objet
- S’arrêter
- Se mettre accroupi et prendre l’objet dans ces mains
- Se relever

- Marcher

Il y a cependant quelques imprécisions. Au niveau de la reconnaissance, il faut que la couleur soit unie et suffisamment différente du milieu ambiant. Le passage de la position debout à marcher n’est pas fluide (« crispation » du Nao)


Problèmes rencontrés:

1 ) La détection d’une boite est trop aléatoire, elle est mal reconnue par le Nao.
2 ) Le déplacement du Nao n’est pas fluide

Solution envisagée:

- Nous avons décidé d'utiliser des marques spéciales pour le Nao appelées NaoMark

Objectifs pour la semaine 4:

-Repérer un objet ou une marque qui ne soit pas face au Nao

-Se diriger vers l’objet précédemment repéré

-Synchroniser deux Nao sur chorégraphe.


Semaines 4 et 5

Nous avons mené deux taches de front durant ces deux semaines. D’un coté la recherche et le déplacement vers une cible, de l’autre la synchronisation et l'amélioration durant les phases de prise et de déplacement avec un objet. L’objet avec lequel nous faisons nos tests est une boite en polystyrène (50x30x15 cm).


Recherche de cible :

Nous utilisons à présent des « NaoMack ».
NaoMak N° 119

Ces cibles sont facilement reconnaissables par le Nao. Chaque marque est interprétée par le Nao comme un nombre ce qui permet de les différencier. Le Nao peux ainsi savoir de quel coté de la boite il se trouve et connaitre les dimensions de celle-ci.

La recherche de NaoMark passe par deux étapes :

1) Il se met debout et sa tête balaye l’espace de gauche à droite (il couvre ainsi 50% de la pièce) à la recherche de NaoMark.
2) Une fois qu’il a détecté la marque, il pivote sur lui même en direction de la marque. Puis, se dirige vers elle.

Synchronisation :
On souhaite synchroniser les Nao afin qu’ils prennent la boite en même temps pour ne pas la faire tomber de son support. Puis ils se déplaceront à la même vitesse d’abord sur le coté pour se dégager du support puis en avant ou en arrière, avant de relâcher la boite.

-Création d'un menu pour sélectionner les actions que le Nao doit effectuer (facilité de gestion)

En attendant une synchronisation informatique (envoi d’un message par le réseau), on fait synchroniser les Nao avec un pic sonore (claquement de mains).
Les Nao sont face à la boite :

-au premier claquement ils s’accroupissent,

-au second ils tendent leurs mains sous la boite,
-au troisième ils se relèvent,

-au dernier ils effectuent leur déplacement.

Problèmes rencontrés:
Lors de la semaine 4 nous avons eu au gros problème logiciel avec un des NAO. Ce problème nous a considérablement ralenti pendant 3 séances (mauvais fonctionnement du NAO). Lorsque le Nao doit se diriger ver la NaoMark qui se trouve sur l'objet qu'il doit déplacer, il ne s'arrête pas devant l'objet mais continu d'avancer jusqu'à atteindre la NaoMark. Ce qui pose un problème car il vient se heurter à la boite en équilibre sur le support.
La synchronisation des Nao fonctionne, mais les mouvements saccadés leur font perdre la boite. De plus ils ne se déplacent pas de la même façon (ils n’avancent ou ne reculent pas droit et pas sur les mêmes distances).


Nous pensons avoir atteint les limites des blocs du logiciel chorégraphe. En effet dès que l’on crée des programme plus conséquents l’ensemble devient très vite illisible et les conditions imposées rarement respectées (temps entre deux mouvements, déplacement position et angle). Nous allons donc nous concentrer sur les scripts (en python).

Objectifs pour la semaine 6:

-Résoudre le problème de la collision entre le Nao et l'objet

-Assembler tous les programmes

-Amélioré la stabilité de la boite lors des déplacements


Semaines 6
Maintenant que nous avons une bonne base pour notre programme final, nous avons décidé d'assembler les programmes nécessaires qui permettrons de remplir les objectifs que l'on s'était fixé.

Objectifs pour la semaine 7:

-Résoudre le problème de la collision entre le Nao et l'objet

Semaines 7