P20 Projet marionnette déformable interactive
Sommaire
Cahier des charges
Présentation générale du projet
Contexte
Dans le cadre de ma cinquième année j'ai choisit de faire mon projet de fin d'études chez l'équipe DEFROST du laboratoire INRIA. Cette équipe a pour thème de travail la robotique déformable. Pour ce projet il s'agit de la mise en place d'un démonstrateur interactif dans lequel l'utilisateur pilote une marionnette déformable à travers d'un LeapMotion. Une simulation temps réel de la marionnette, grâce au simulateur SOFA, pilotera la version réelle du robot déformable.
Description et objectifs
Le projet consistera principalement de deux étapes:
- La première sera d'améliorer la version actuelle de la plate-forme d'actionnement. L'objectif est de la rendre généralisable, c'est-à-dire de pouvoir changer plus facilement de marionnette à actionner sans étant donné que actuellement cette procédure est très longue et fastidieuse.
- Deuxièmement, l'ajout d'un système d'actionnement contrôlé pour faire coulisser la plate-forme dans le plan X et peut-être Y également. Ainsi que l'intégration du système de contrôle dans une carte de contrôle. Une carte Arduino sera utilisé dans un premier temps mais il est envisagé de passer à une carte plus puissante, Teensy 3.2 ou même 3.5 si besoin.
Calendrier prévisionnel
Avec l'ingénieur Recherche et Développement de l'équipe DEFROST, nous avons pu établir le calendrier prévisionnel suivant. Ce calendrier pourrait être mis à jour par la suite en fonction de l'avancement du projet et des éventuelles circonstances.
- Début Novembre: Mettre à jour l'organisation des moteurs sur la plaque et avoir la nouvelle plaque des moteurs de prêt.
- Début Décembre: Formation sur le logicielle de simulation et contrôle des corps déformable SOFA. Ainsi que se familiariser avec la scène contenant la marionnette et les capteurs utilisé pour détecter la main, sa forme ainsi que sa position.
- Mi-décembre: Prendre une décision concernant le micro-contrôleur à utiliser par la suite, soit continuer avec Arduino ou changer vers Teensy.
- Début Janvier: Équiper la plaque de moteurs pour avoir dans un premier temps un mouvement sur l'axe X (cf photo 2).
- Fin Janvier: Mapping de la main, c'est à dire d'associer la main et les doigts à certains parties de la marionnette pour pouvoir la contrôler et de prendre en compte un mouvement dans l'axe X.
- Février: Prospectif d'ajouter un mouvement de la plaque dans l'axe Y. Tester le système et faire des améliorations où c'est possible.
Feuille d'heures
Tâche | Semaine 38 | Semaine 39 | Semaine 40 | Semaine 41 | Total |
---|---|---|---|---|---|
Présentation du projet et objectifs | 1 | 1 | |||
Rédaction du wiki | 2 | 0,5 | 0,5 | 2 | 5 |
Réflexion sur la mise-à-jour de l'organisation des moteurs et installation des fils | 2 | 2 | |||
Prise en main du Gesture Sensor ZX | 1,5 | 1,5 | |||
Familiarisation avec la librairie de contrôle des moteurs | 1,5 | 1,5 |
Avancement du Projet
Semaine 38
L'objectif de cette semaine était de rencontrer l'équipe avec laquelle je vais travailler et de me présenter au projet. Grâce à la réunion de cette semaine, j'ai une idée initiale des objectifs à réaliser ainsi qu'une liste de tâches sur lesquels commencer la semaine prochaine. Vous trouverez ci-dessous une liste d'objectifs sur lesquels nous nous sommes mis d'accord cette semaine:
- Rendre le dispositif plus modulaire et plus fiable. La procédure de changement de marionnette et très longues, ce qui poses des problèmes lors des démonstration. C'est pour cela qu'il est important de rendre cette opération essentiel le plus efficace possible.
- L'actuel disposition des moteurs n'est actuellement pas optimal. Il y a un jeux avec les socles des moteurs actuel et les engrenage traverse la plaque supérieure (cf photo 1), ce qui rend la gestion d'espace plus difficile(cf photo 1). Cela sera la première tâche sur laquelle je vais travailler, des nouvelles socles moteurs ont était crée et il faut donc imprimer assez pour tout les moteurs et mettre en place une nouvelle matrice de moteurs (plaque de moteurs actuel en photo 2).
- Les moteurs actuel ont pour but de faire bouger la marionnette dans le plan Z. Mais des mouvements de la marionnette entière dans le plan XY (cf photo 2) n'est actuellement pas possible. Cela est également un problème à résoudre, au niveau de choix de nombre de moteurs à utiliser et l'emplacement de ce(s) dernier.
- La carte Arduino actuellement utiliser cause des retard de réponse, même minimale, une migration de microcontrôleur vers une carte Teensy plus puissante est souhaité pour éliminer les retards.
Semaine 39
Durant cette semaine j'ai essayé de trouver une solution d'horaires pour mon projet au laboratoire. Effectivement les personnels arrivent vers 9h30 et c'est compliqué de travailler durant certains séances. Nous sommes toujours en train de discuter du sujet pour trouver une solution.
J'ai néanmoins pu réfléchir sur un nouveau plan de placement des moteurs et une méthode d'installation de fils connectant les moteurs et la marionnette. J'attends actuellement de re-rencontrer l'équipe pour en discuter de la faisabilité de mes idées et de savoir s'il faudrait changer quelque chose avant de commencer la création d'une nouvelle plateforme pour les moteurs.
Semaine 40
Durant la première séance de cette semaine j'ai reçu un "ZX gesture sensor", ce dispositif va nous permettre de suivre la position de la main de l'utilisateur et de d'actionner la marionnette en fonction de cette information. J'ai ensuite fait un simple montage avec un Arduino pour pouvoir le tester et en déduire si cela nous sera utile et si oui comment l'utiliser. Le champs de détection de ce capteur étant assez restreint et ses valeurs pas assez fiable, nous allons s’intéresser beaucoup plus à un Leapmotion pour ce qui concerne la détection d'une main.
Malheureusement je n'ai pas pu rencontrer l'ingénieur R&D de l'équipe pour discuter des solutions que je voudrais proposer pour ce qui concerne l'organisation des moteurs et l'installation des fils actionneurs.
Semaine 41
J'ai commencé la semaine par lire la documentation des servomoteurs ainsi que me familiariser avec la librairie Arduino qui va être utilisé pour les contrôler (Herkulex).
Ensuite j'ai pu discuter avec l’ingénieur R&D par rapport au solutions que je voudrais proposer concernant l'organisation des moteurs et l'installation des fils de contrôle. Ma proposition d'organisation a été accepté et nous allons poursuivre pour la réaliser, cf photo 3. La pièce a été ensuite envoyé à la découpe avec les dimencions 46cmx30cm. Mon idée idée installation des fils de contrôle n'as pas pu être acceptée à cause des éventuelles problèmes qui peuvent surgir lors du fonctionnement ou calibration de la marionnette. Je vais donc y revenir sur ce point par la suite.
J'ai récupéré les modèles 3D des pièces nécessaire pour tenir les moteurs en place sur la plaque de bois. L'ingénieur R&D m'as ensuite rappelé l'essentiel pour pouvoir utiliser l'imprimante 3D pour pourvoir imprimer les pièces nécessaire durant la semaine prochaine. Il y avait déjà plusieurs pièces d'imprimé, j'ai donc pris ces pièces là pour les nettoyer et les préparer à l'utilisation.