Mis en avant

Progression

(2020-02-06): C’est le début de notre projet. Jérémy et moi avons décidé de faire une main robotique qui fait les mêmes mouvements que nous faisons avec notre main. Pour se faire nous avons commencé à regarder comment le faire. En discutant nous avons conclu sur certaines caractéristiques que la main doit avoir. Dont chaque doigt doit être capable d’être contrôlé individuellement et le contrôler à distance.

(2020-02-10): Nous avons fait de la recherche chacun de nos côté pour trouver une bonne façon de contrôler la main à distance. Nous avons vu dès le départ plusieurs personnes utiliser des Flex sensor. Cependant, nous avons aussi vu des capteurs à infrarouge. Cela nous intriguait donc nous avons laissé tomber les Flex sensor pour faire les capteurs infrarouges. Lien: https://www.youtube.com/watch?v=aTMFBnEdA4I

(2020-02-13): Le projet de faire une main qui fait les mêmes mouvements des doigts que nous était bien. Par contre, on a discuter et on sait dit pourquoi pas avoir un bras à la verticale qui est aussi capable de se déplacer. Pour mieux expliquer, le bras serait attaché a une plateforme dont le bras aurait comme position de base la verticale. Il serait capable de rotationner vers le haut ou bas et vers la droite ou la gauche. Tous ses mouvements seraient capté par un accéléromètre situé sur l’avant bras de l’usagé.

(2020-02-15): J’ai commencé a m’informer plus sur les capteurs à infrarouge. Très rapidement j’ai réaliser la difficulté que cette méthode allait introduire au projet. Par contre, j’ai fait d’autre recherche pour s’il avait d’autre personne qui avait réussi à faire capter un objet et être capable de recréé l’objet à l’ordi. Le matériel était principalement au moins deux caméras qui voyait la main en temps réelle qui transmet les informations dans un programme pour recréé la forme de la main ou des capteurs. Les deux caméras sont nécessaires non-seulement pour capter le plus possible des capteurs du gant, mais aussi de pouvoir faire une forme 3D.

Lien: https://www.youtube.com/watch?v=3s-2XL7ojRg, https://forum.processing.org/two/discussion/14720/how-to-created-a-hand-like-structure-in-processing, https://www.youtube.com/watch?v=vduzIFWUCJI&feature=share&fbclid=IwAR2yDvaKIgR-uNV1Y5XcEGuvGzY1VzTmMujowt1iJmQB-4VmYrmL4QKlook

(2020-02-16): Aujourd’hui on a commencé à parler de plusieurs problème qu’on pourrait rencontrer pendant le développement des capteurs infrarouges et on a conclu que ça allait être trop demandant avec le temps restreint qu’on a. Alors, on s’est retourné vers les Flexs sensors. Par contre, notre prof nous a parlé vite fait des électrolytes. Je n’avais déjà entendu parlé, mais il faudrait que je fasse d’autre recherche.

(2020-02-17): J’ai rechercher plus sur les électrodes. J’ai retrouvé le TED talk que j’avais regardé au passer. Cela montrait que c’était possible de réaliser la main contrôlé par nos contraction de muscle. Par contre, nous voulons être capable de contrôler chaque doigt individuellement. Pour être capable de contrôler chaque doigt distinctivement c’est très difficile, car nos muscle utilisé pour contracter nos doigts sont tous un à côté de l’autre. Les capteurs ne pourraient pas bien détecter la différence entre la contraction d’un index et d’un majeur.

Lien: https://www.youtube.com/watch?v=rSQNi5sAwuc&list=PLpkY1KMJnJzwbzqYWIa5beBQssthZe5kY&index=4&t=177s , https://www.youtube.com/watch?v=2vJ3qqQ4Rvs&list=PLpkY1KMJnJzwbzqYWIa5beBQssthZe5kY&index=7&t=0s , https://www.youtube.com/watch?v=0eoGGj9SDeE&list=PLpkY1KMJnJzwbzqYWIa5beBQssthZe5kY&index=8&t=0s , https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5764314/ ,

(2020-02-20): Pendant les derniers jours, j’ai commencé à faire de la recherche pour trouver une nouvelle façon de capter les mouvements des doigts. On a décidé de faire un retour vers l’arrière et aller avec les flexs sensors. Par contre, on s’est dit qu’on voulait avoir une bonne précision des les déplacements des doigts. Pour y arriver nous allons utiliser deux servo moteur par doigt. Pour capter les mouvements des doigts nous allons avoir un flex sensor au bout du doigt et un angle sensor par dessus la jointure du doigt. Alors, le doigt sera décomposer de deux mouvements un pour les deux jointures du haut et l’autre pour la jointure du bas. Donc, le but de notre projet a du être réécrit. Il faudra aussi planifier 10 servos moteurs pour les 5 doigts de la main. Pour le gant il nous faudra 5 flexs sensors et 5 angles sensors. Après cette décision de faire notre projet avec tout ce matériel, je me posais la question si le Arduino pouvait avoir au t’en de chose connecté. Alors, j’ai découvert un multiplexer ce qui permet de gérer tous les données reçues et envoyées. Cette objet permettrait de prendre tous les données reçues et le renvoyer en t’en qu’une seule en alternant à travers tous les capteurs.

Lien: https://en.wikipedia.org/wiki/Multiplexer

(2020-02-22): J’ai réaliser que ma description de la et des jointures n’était pas très claire. Alors, j’ai regarder l’anatomie de la main pour savoir les noms de chaque partie du doigt. Pour mieux expliquer, la phalange distale et la phalange moyenne seront contrôlées par le premier servo moteur du doigt. Puis pour la phalange proximale, elle sera contrôlée par le deuxième servo moteur du doigt. J’ai aussi pris les dimensions de ma main pour voir comment gros est le flex sensor par rapport à nos main. Aussi, pour avoir les dimension du gant.

Screenshot_20200305-141828_Gallery.jpg

(2020-02-23): J’ai fait un prototype d’un doigt de la main robotique. Je l’ai fait avec un morceau de plastique qui était dans mon garage. Je l’ai découper pour qu’il ait des jointures avec une scie de table. J’ai aussi drillé des trous pour pouvoir passer une corde qui n’était pas le meilleur choix, car elle reste prise dans le plastique. Ce prototype nous permet de bien comprendre comment va fonctionner la main robotique. La corde représente le déplacement du premier servo moteur qui est la phalange distale et la phalange moyenne.

20200305_142404.jpg
20200305_142352.jpg

(2020-02-24): Aujourd’hui j’ai montré a mon coéquipier mon prototype du doigt robotique. On a aussi continué la répartition des tâches pour le projet. Cela inclus le calendrier et la description du projet pour l’analyse préliminaire. On a aussi déterminé les pièces manquantes dont quelle type de servo moteur utiliser. Pour finaliser le coût du projet. Aussi, avec notre professeur nous avons déterminé qu’on devrait commencer à faire le gant qui capte les mouvements de nos doigts avant de faire la main robotique.

(2020-02-27): J’ai continué à travailler sur la documentation de notre projet, ce qui incluaient: la description du projets, le calendrier, le coût, les pièces, ce qu’on sait déjà et ce qu’on ne sait pas.

(2020-03-02) au (2020-03-06) : Pendant cette semaine j’ai plutôt avancé dans la documentation de notre projet. Nous avons réussi à trouver tous les pièces nécessaire pour faire notre gant et notre main robotique. Bien sur nous pensons imprimer des pièces 3D pour que le gant ait des support pour tenir les capteurs. Nous imprimerons aussi la main robotique en 3D. Donc, se coût de l’imprimante 3D n’est pas dans le coût de nos pièces. Cependant, le coût de tous nos autres pièces sont fait avec le but et la description de notre projet. Alors, notre analyse préliminaire est maintenant compléter et nous pouvons attaquer de l’avant vers le commencement de notre projet.

Voici notre document complété:

(2020-03-07) : Aujourd’hui j’ai commencé à me familiariser avec Processing pour pouvoir faire une main 3D. J’ai commencé par un seul bloc et j’ai jouer avec les paramètres pour pouvoir voir comment cela fonctionne. Je regarde certain tutorial en ligne et j’essaie de comprendre chaque partie du code. J’ai réalisé que le monde dans leur tutorial n’est pas clair lorsqu’il vient le temps d’expliquer chaque ligne de leur code. Cependant, le site officiel de Processing me permet de rechercher les fonctions avec des explications beaucoup plus clair à comprendre.

(2020-03-08) : Je continue l’avancement de mon apprentissage de Processing. Par contre, l’avancement ne se fait aussi vite que je le veux. Je suis rendu capable de faire apparaitre des cubes et un cercle, mais le positionnement de ces cubes est difficile à prédire. Car j’essaie de comprendre et visualiser le translate. Le translate est, de la façon que j’ai compris, un point en l’aire qui n’apparait pas à l’écran, mais qui peut faire apparaitre l’objet que tu veux à cette endroit.

(2020-03-9) et (2020-03-10) : Maintenant que j’ai mieux compris le translate. Je suis maintenant capable de faire apparaitre les cubes, qui représente les phalanges des doigts, et faire apparaitre les cercles, qui représente les jointures. Je suis aussi capable de faire une rotation des cubes pour représenter le mouvement du doigt. Par contre, la rotation se fait seulement à partir du centre du cube, ce qui ne serait pas possible pour un doigt humain. Alors, j’ai compris qu’il faut que je mette un translate avant la rotation pour pourvoir le faire tourner par rapport à mon point de rotation. Bien sûr, après ma incrémentation de rotation il faut refaire un autre translate pour revenir à la même place pour faire l’écriture du cube ou des autres objets, sinon tous les objets seraient d’écalé.

Voici mon programme, il contient un peu de code des exemples qui viennent avec Processing pour déplacer la caméra.

Voici un image de mon programme où la rotation de la phalange se fait dans le bas du cube et non au centre du cube. Ils ne sont collés ensemble les phalanges, car j’ai oublié un translate vers le haut:

Voici la fois ou j’ai essayer de faire le doigt en entier. Ça n’a pas fonctionné comme prévu la rotation se faisait encore dans le centre du cube(Je ne peux pas mettre de vidéo, mais voici des photos):

À la place d’essayer de faire la rotation des trois phalanges en même temps je l’ai fait pour une phalange et la rotation se fait maintenant au bas du cube et non au centre:

J’ai réussi à faire la rotation des trois phalanges à leur endroit distinct et j’ai ajouté les boules pour faire les jointures. Après je me suis dit que la rotation d’un doigt était bon, mais la je devrait faire un autre doigt. Alors, j’ai fait un autre doigt, par contre le deuxième doigt faisait la rotation autour du premier doigt. Je me suis rappeler de la fonction popMatrix() et de pushMatrix(). Cette fonction ma permis de séparer mes doigts et de les mêttres distincts. Alors, voici le deuxième doigt:

Maintenant que le deuxième doigt faisait bien la rotation j’ai mis quatre doigt. Ajouter des doigts était facile à cause de ma class de phalange que j’avais besoin de dire les contrainte de la grosseur des doigts et le restant se faisait toute automatiquement comme les autres doigts.

Voici ma fonction pour les doigts:

Là j’ai fait la rotation de la caméra et mis les doigts un à côté de l’autre avec des couleurs distincts:

Maintenant que tout fonctionne j’ai ajouté un pouce que lui la rotation est différente alors j’ai du faire une nouvelle fonction pratiquement pareil à celle des phalanges. Aussi, j’ai ajouté la paume de la main qui est simplement une boite:

La main en Processing est compléter il va juste rester à mettre des variables qui viennent du Arduino pour la contrôler.

Voici le code pour tout mes projets:

https://github.com/Franky55/Frank.git

Début et fin de la scène Viande, fin de la scène Menu et fin du montage de l’application

Le 14 mai 2020, je suis retourner voir la scène Menu que j’ai fait et que j’ai oublié de parlé pour y apporter des modifications. Ces modifications sont, comme mon coéquipier trouvais qu’il manquait de la vie dans la scène, que j’ai rajouté les images principales des autres scènes au-dessus des boutons qui servent à aller les rejoindre.

14 mai 2020, j’ai encore modifié la scène Os pour que, lorsque l’application est en mode plein écran, la main flexion, la main extension, la main et l’avant-bras en os arrêtent de grossir et de déborder de l’écran, ce qui désalignait tout mes objets. Pour ça, j’ai rapetissé mes objets et je les ai mis dans mon Canvas.

14 mai 2020, j’ai commencer à faire ma scène Viande où il sera question de l’affichage et de la description des muscles et de certains tendons de la main et de l’avant-bras. J’ai réussi, une fois que me coéquipier m’a envoyé la main et l’avant-bras en chair, à placer dans mon Canvas 14 Toggle pour les muscles et les tendons que nous voulions faire apparaitre. Ensuite, j’ai fait en sorte que lorsque que l’utilisateur clique sur l’un des Toggle de l’affichage, la partie rattaché à celui-ci apparait.

15 mai 2020, j’ai placer 14 autres Toggle pour la description des muscles et des tendons que nous voulions afficher. Cependant, je voulais qu’un Toggle de la description soit activé à la fois. Pour cela, j’ai fait des essais et erreurs, que j’ai trouvé très pénible, et je suis arrivé à une solution. Cette solution est que dans l’un des Toggles je rajoute un composant Toggle Group et que j’active <<Allow switch off>>. Puis, que je mette ce Toggle dans le <<Group>> des autres Toggles de la desciption. Ensuite, j’ai fait le bouton droit, pour la rotation de la main et de l’avant-bras vers la droite, le bouton gauche, pour la rotation de la main et de l’avant-bras vers la gauche, le bouton retour, pour retourner la main et l’avant-bras à leur position initiale, et le bouton menu pour retourner dans la scène menu. Pour finir, j’ai, à l’aide du manuel LE GRAND GUIDE VISUEL DU CORPS HUMAIN, fait la description de chacun des muscles et tendons.

16 mai 2020, j’ai placé la scène Force de mon coéquipier dans le programme. Puis, après qu’il m’est suggéré de rajouter un bouton information dans ma scène Viande, j’ai placer un bouton information qui fait apparaitre deux textes qui disent comment fonctionne le bouton gauche et le bouton droite.

16 mai 2020, j’ai finalisé mon application.

Unity

(2020-05-14) et (2020-05-15): J’ai fait la scène de force sur Unity. J’ai commencer par faire un << Jamar grip strength >> en Blender. Je l’ai mis dans ma scène pour ensuite faire apparaitre un chiffre sur l’endroit qui dit la force que tu appliques.

Après, j’ai fait une animation d’une main qui serre le Jamar. J’ai mis des boutons pour faire activer l’animation lorsque la personne entre son age. J’ai aussi mis un bouton pour l’information. Cette information est un tableau qui est marqué la force de la main en kilogramme en moyennes pour les groupes d’ages et le sexe de l’individu. Voici le lien de ce site:

https://www150.statcan.gc.ca/n1/pub/82-003-x/2016010/article/14665/tbl/tbl01-fra.htm

Après, quelques petites retouches j’ai envoyer tous mes composantes de ma scène à mon coéquipier pour qu’il puisse le mettre avec les autres parties de l’application.

Voici le lien pour ma scène de Unity (Le document est trop gros pour être mis alors pour l’ouvrir il faut faire un nouveau projet Unity 3D et ensuite téléverser le document dans Assets, après ouvrir la scène que j’ai fait):

https://github.com/Franky55/D-veloppement-Blender/tree/Unity

Les muscles

(2020-05-10): Après ma main et mon avant bras fait, les muscles sont la prochaine étape. Alors, j’ai commencer par ressortir ma main squelette et mon avant bras pour qu’ils soient maintenant ensemble et que ça fasse un avant bras en squelette. Ensuite, j’ai pris le livre Le Grand Guide Visuel Du Corps Humain, de Dre Alice Roberts. C’est le livre de ma sœur que je lui ai emprunté. Ce livre contient beaucoup d’information pertinent au sujet de tout ce qui concerne le bras humain. Il avait des belles grandes photos de l’avant bras avec tous les muscles.

Pour commercer, j’ai commencer par faire des tendons du muscle Fléchisseur Superficiel. J’ai suivi un image que j’ai pris sur internet pour faire le traçage 2D. Par contre après avoir fait le premier tendon j’ai réaliser que ma main et celle que j’ai pris sur l’internet n’était pas orienter et n’était pas de même proportion. Alors, j’ai du faire quelques ajustement pour qu’il soit compatible avec ma main en os. J’ai fait la même chose pour les autres tendons des autres doigts.

(2020-05-11): Alors pour faire les muscles j’ai pris des photos du livre de l’avant bras pour mettre les photos en arrière plan sur Blender. Ça ma permis de pouvoir faire le contour des muscles et de voir leurs positionnement sur l’avant bras. Après avoir fait le traçage en 2D, il faut que je mettre la pièce en 3D et la mettre en forme de muscle. Ensuite, j’ai associé les tendons et les muscles ensemble. Ensuite, je voulais ajouté un matériel au muscle pour qu’il soit un peu plus réelle alors j’ai trouvé une image qui ressemblait à des muscles comme dans les livres et je l’ai mis:

(2020-05-12): Ensuite, j’ai fait le muscle opposé, l’extenseur des doigts. Aussi, j’ai ajouté une certaine couleur jaune aux tendons et une couleur grise pale pour les os:

L’avant bras commence à être de plus en plus plein. Ce qui me fait penser à comment complexe est l’avant bras et tout ce qu’on est capable de faire avec est incroyable.

Pendant cette journée j’ai continué à faire d’autre muscles dont les lombricaux des doigts.

(2020-05-14): J’ai complété tous les muscles qu’on voulait faire pour notre programme. Voici le résultat final, certains muscles sont cachés car ils sont un par dessus l’autre:

Ensuite, j’ai envoyer ce fichier vers Unity en format FBX et à mon coéquipier.

Voici le lien des documents sur Blender:

https://github.com/Franky55/D-veloppement-Blender/tree/Muscles

Avant bras

(2020-05-07): Je commence à faire l’avant bras. Pour se faire je suis allé chercher une photo d’avant bras qui me semblait bien. J’ai tout de suite réaliser que la vue de l’os sur le dessus et la vue d’en dessous n’était pas pareil. Alors, pour se faire je me suis dit que j’allais faire deux dessin 2D par os, une vue de dessus et une de dessous. Avec beaucoup de temps plus tard j’ai fini le traçage 2D:

Maintenant était le temps de les mettre 3D et de les connecter ensemble pour que les deux vues soient une pièce. Après de longues heures plus tard, ce que je ne croyais pas que cela allait être aussi long, les os sont maintenant 3D:

J’ai ensuite envoyé ça sur Unity et à mon coéquipier.

Voici le lien pour aller chercher l’avant bras sur Blender:

https://github.com/Franky55/D-veloppement-Blender/tree/Avant-Bras

Une main squelette

(2020-04-26): J’ai commencer à faire une main en squelette. Ma pratique à faire le marteau se mettait à l’épreuve. Évidement je ne connaissais pas tout, alors j’ai commencer par la forme générale de la phalange distale. En faisant cette forme je commençait à être de plus en plus familier avec les touche que je connaissais déjà avec mon tutoriel. Quand je me posais des question sur une certaine chose, pour savoir comment faire, je cherchais sur Google pour trouver la réponse. Avec plusieurs essaie j’ai réussi à faire une phalange distale qui ressemblait quand même bien à ça. Ensuite, j’ai fais la phalange moyenne et la phalange proximale. J’ai ensuite ajouter des os ou aussi appelé armature pour faire les mouvement d’un doigt.

Voici le résultat:

On voit l’armature pour l’instant, mais quand je fais un export en FBX vers Unity, ils deviennent invisible.

(2020-05-02): Les derniers jours j’ai continué un peu à faire du progrès à faire d’autre doigt. J’ai découvert qu’on pouvait mettre un image en arrière plan. J’ai utiliser cette technique pour mettre une image en arrière et me permettre de faire la grosseur et la longueur des doigts par rapport à cette image.

Voici le résultat:

J’ai aussi découvert que tu peux enlever la vue de l’objet que tu veux dont celle de l’armature.

(2020-05-03): Maintenant que j’avais plusieurs objets avec plusieurs armatures. La connexion entre mes armatures et les objet était un peu difficile, car j’avais juste utilisé un objet avant pour le faire. J’ai découvert que l’ordre des objets que tu prends à une importance.

(2020-05-04): Je me suis lancé au os des Carpes, les os du poignet. J’ai découvert une méthode qui m’a permis de suivre la forme 2D de l’image et ensuite la faire 3D. Ça consiste faire le dessin de la forme que tu veux avec un Plane et ensuite extrude le plane pour qu’il soit maintenant 3D. Ensuite, il manque quelques ajustement pour qu’il soit plus réaliste et la pièce d’un os était fait. Bien sur, chaque os est différent alors je devais refaire la même technique à chaque os nouveau que j’avais.

Voici le résultat final:

J’ai ensuite exporter en FBX vers Unity pour m’assurer que tout était correcte et je l’ai envoyé à mon coéquipier.

Voici le lien pour aller chercher chaque main en squelette que j’ai fait. Mon progrès de A à Z pour la main:

https://github.com/Franky55/D-veloppement-Blender/tree/Squelette

Début d’une main

(2020-04-25): Après avoir fait mon marteau j’ai décider de voir s’il avait un tutoriel pour faire une main, car je n’ai pas beaucoup d’expérience à faire des objets complexes. J’ai découvert un vidéo qui fait un << TimeLapse >> de lui en train de faire une main. Il a aussi donné accès à sa main pour l’ouvrir dans Blender.

Voici le lien où j’ai pris la main : https://www.blendswap.com/blend/20995

Évidement sa main est vraiment alors je me suis permis de l’utiliser pour mettre des os pour faire des mouvements. Évidement, je n’ai jamais fait ça avant. Alors j’ai regarder un autre tutoriel que lui aussi utilise une main presque comme celle de que j’ai pris de Riccardo Bancone.

Ce vidéo m’a permis de faire déplacer les doigts ce qui était vraiment cool. C’était aussi possible de faire des mouvements que nous nos main ne peuvent pas faire et que si l’ont essayait on casserait un doigt. Avec l’habitude des mouvements des doigts le petit sentiment de << ouch >>, lors d’un faut mouvement, est disparu et était maintenant juste un faut mouvement qui fallait replacer.

Ensuite, il faut que j’envoie la main vers Unity. Pour se faire il faut exporter la main avec les os en fichier FBX et ensuite le mettre comme n’importe quel autre objet dans Unity. C’était vraiment simple rendu là tout les mouvements où j’ai mis les os pouvaient être fait. C’était très intuitif, alors je l’ai envoyer à mon coéquipier pour qu’il puisse commencer à faire les scènes sur Unity et faire les mouvements.

Voici le lien pour aller chercher ma main avec les os:

https://github.com/Franky55/D-veloppement-Blender/tree/Main

Il a 2 mains une avec des os dans le poignet et une sans poignet.

Commencement de Blender

(2020-04-25): J’ai commencé à me pratiquer sur blender. Pour commencer, j’ai trouvé un tutoriel sur YouTube.

J’ai réussi à faire ce marteau. Après avoir suivi ce tutoriel j’ai décider d’aussi continuer un peu à jouer avec le marteau pour me familiariser avec les touches et savoir se que je fais. J’ai réaliser vite que je ne me rappelais pas de tout ce que j’ai fait. Alors, j’ai réécouté les parties du vidéo dont j’avais besoin pour me rappeler des touches.

Le résultat de mon marteau n’est plus le même maintenant car je voulais voir si j’étais capable de le refaire rapidement avec ce que je me rappelais:

https://github.com/Franky55/D-veloppement-Blender/tree/Apprentissage

Continuer la scène Os

Durant quatre jour, j’ai fait la scène Os. La première journée (7 mai 2020) et la deuxième journée, j’ai ajuster mon code pour la flexion des doigts, afin qu’il y est une limitation correcte dans la flexion des doigts. En premier j’avais mis Quanter GameObject.transform.rotation ou GameObject.transform.eulerAngles, mais je n’avais pas remarqué que pour pouvoir calculer l’angle à partir de la différence entre le GameObject.transform.eulerAngles.z initial et le GameObject.transform.eulerAngles.z final. Donc, j’ai fait dans mes classes Mov_Index, Mov_Majeur, Mov_Annulaire, Mov_Auriculaire et Mov_Pouce, des Quaternion qui prennent la valeur initiale et finale de chacun des os du doigt en question. Puis, j’ai fait une formule de calcules qui me permettent d’obtenir la valeur de l’angle qu’a fait la partie d’un doigt en question. Ensuite, j’ai incrémenté cette valeur à un float et je me suis arranger pour que si l’angle obtenu par le calcul devient supérieure à à la limite fixée, la partie du doigt ne peut plus se fléchir et un message apparait. Pour l’extension des doigts, j’ai mis des variables int pour chaque partie des doigts qui commence à zéro et qui, chaque fois que je clique sur une partie du doigt pour le faire fléchir, augmentent de un. À l’aide de se compteur, j’ai mis une limite pour l’extension, où chaque fois que je clique sur une partie d’un doigt pour amener son extension, cela soustrait de un le compteur de clique attitré à cette partie du doigt et la partie du doigt peut avoir une extension si se compteur n’est pas égal à zéro. Cependant, j’ai remarqué, lorsque je change l’orientation de certaines parties des doigts ou que je fais fléchir ou provoque une extension du poignet, les valeurs des GameObject.transform.eulerAngles initiales et finales changeaient, ce qui faussait mes données, mes calculs et mes angles de limitation. Donc, pour pallier à ça, j’ai fait, à partir de mon code, que l’utilisateur ne pouvais bouger qu’une partie d’un doigts à la fois et que s’il y a flexion ou extension du poignet, il est impossible pour l’utilisateur de provoquer une flexion ou une extension des parties des doigts. D’autre part, j’ai aussi fait une classe qui me permet d’amener la main en os et l’avant-bras en os, que j’ai reçu de mon partenaire, à rotationner vers la droite, vers la gauche ou de revenir à sa position initiale. Pour que la rotation s’effectue correctement, j’ai mis ma main et mon avant-bras dans le même GameObject vide et pour que le poignet fléchisse ou s’extensie, j’ai mis la main et l’avant-bras dans des GameObject vide dont l’origine se trouve au milieu du poignet de la main et l’autre au sommet de l’avant-bras. Puis, j’ai mis cette classe dans trois boutons qui sont <<Gauche>>, <<Droite>> et <<Retour>>. Ensuite, j’ai mis dans le GameObject bouton, qui s’appelle <<Recommencer>>, les scriptes des mouvements des doigts et du poignet. Dans lesquels j’ai mis une fonction RetournePositionInitiale(); qui retourne tous les doigts, le pouce et le poignet à leur position initiale. Après plusieurs essais, où le bouton <<Recommencer>> active toutes les fonctions RetournePositionInitiale();, j’ai remarqué que, lorsque je cliquais sur le bouton <<Recommencer>>, les doigts, le pouce et le poignet retournaient seulement à leur position de rotation initiale, ce qui faisait que, lorsque le main était tourner vers la gauche ou vers la droite, ils faisaient une rotation de 90° sur l’axe des x ou des z. Cela faisait comme si les doigts était cassés. Donc, pour régler se problème, j’ai créé dans le scripte <<Mov_Index>> trois public GameObject qui ont reçus les valeurs du GameObject vide, où la main a été mise, les valeurs du GameObject vide, où l’avant-bras a été mis, et les valeurs du GameObject où la main et l’avant-bras ont été mis. Puis, j’ai mis ces trois GameObject et leur position initiale, qui a été incrémenté dans des Quaternion, dans la fonction RetournePositionInitiale(), ce qui m’a permis, lorsque je clique sur <<Recommencer>> que tout les GameObject reliés à la main et l’avant-bras retournent à leur rotation et à leur position initiale.

La deuxième (9 mai 2020) et troisième journée, j’ai constaté qu’il était difficile de savoir comment interagir avec le programme. Donc, j’ai rajouté un bouton <<Information du fonctionnement>> et je lui ai incrémenté un scripte qui permet d’active des textes qui ne le sont pas. Ces textes apparaissent, à l’aide de <<SetActive();>> près des boutons et décrient leur fonctionnement et leur rôle. Puis, après 4 secondes, ils disparaissent à l’aide de <<IEnumerator>>.

La troisième journée (10 mai 2020), j’ai rajouté à ma scène un << Toggle >> dans lequel j’ai mis le scripte <<Legende>>. Ce scripte permet, si le Toggle est coché, d’activer un Canvas qui contient le nom de tous les os de la main et de l’avant-bras, qui sont associés à des couleurs ou des chiffres. Ensuite, il permet aussi de changer la couleur de chacun des os pour pouvoir les associer à leur nom. Cependant, si la main et l’avant-bras avaient déjà été déplacés, les chiffres associés aux os de la main et le nom des doigts ne se trouvaient plus au bon endroit. Donc, j’ai créé des public classe de toutes les classes des mouvement des doigts et du pouce pour accéder à leur fonction <<RetournePostionInitiale()>> qui sera appelée dans la fonction, lorsque le <<Toggle>> sera coché. Cela permet à l’utilisateur, lorsqu’il coche le <<Toggle>> de voir correctement les noms des os avec leur bon os ou leur bon doigt.

La quatrième journée (12 et 13 mai 2020), j’ai fait des Animators incrémentées dans dans une Animation située dans la main et une autre dans le GameObject vide où la main a été placée. En premier, je n’avais que des Animators, mais, lorsque j’essayais de les jouer, il ne jouait pas. Donc, après une longue recherche de trois heures, j’ai trouver une solution. Celle-ci consiste a mettre les Animators dans une Animation située dans l’objet qui doit bouger. Puis, de changer les Animators en Legacy. Ensuite, j’ai fait des bouton qui ont accès au scripte, qui permet de jouer l’animation, et aux Animations des objets. D’un autre côté, pour des raisons personnelles, j’ai changé le code de la rotation gauche et droite de la main et de l’avant-bras et celui du code <<Legende>> pour que, lorsque que le <<Toggle>> est coché, il soit impossible de faire rotationner la main et l’avant-bras. Pour ça, j’ai mis dans le scripte << Rotation_Main_Os>> un public Legende pour accéder à sa nouvelle fonction << RetourneActivation() >> qui retourne un bool représentant le <<Toggle>> coché ou non. Donc, avec cette fonction, j’ai placé stratégiquement dans le scripte << Rotation_Main_Os>> des if(Activation.RetourneActivation() == false) qui font que, si le <<Toggle>> est coché, il est impossible de provoquer la rotation de la main et de l’avant bras. Pour finir, j’ai mis un bouton Menu pour retourner au menu principal.

Lien : https://www.supinfo.com/articles/single/7149-creer-utiliser-animations-unity, https://openclassrooms.com/forum/sujet/unity-declenchement-animation-avec-trigger, https://forum.unity.com/threads/how-to-activate-animation-just-when-give-click-on-a-button.379922/, https://answers.unity.com/questions/7555/how-do-i-call-a-function-in-another-gameobjects-sc.html, https://stackoverflow.com/questions/31593008/changing-color-of-of-gameobject-in-unity, https://www.google.com/search?q=Os+de+l%27avant+bras&client=firefox-b-d&sxsrf=ALeKk03MOWN1dORpZ3_OD0KzrRVDxrMMWw:1589317994845&source=lnms&tbm=isch&sa=X&ved=2ahUKEwi-55H0nq_pAhXflHIEHYcDBnEQ_AUoAXoECA8QAw&biw=1536&bih=750#imgrc=QyfaHLq9LzcNsM, https://www.google.com/search?q=os+de+la+main&client=firefox-b-d&sxsrf=ALeKk03cml7DhoPyS9UZVN6ibMYUFCgcEQ:1589313979150&tbm=isch&source=iu&ictx=1&fir=l3Gl92_iyd2VuM%253A%252CP-BZoiPg8vq2WM%252C_&vet=1&usg=AI4_-kSe5RrDAI9eSpZ8a1hs2yyRIj-Qxg&sa=X&ved=2ahUKEwiRoaf5j6_pAhXVhHIEHZJfAvYQ9QEwAHoECAoQHQ#imgrc=GUYlBpfidDzenM.

Changement de plan

(2020-04-14): Alors, l’apocalypse du COVID-19 vient de commencer. Ce qui veut dire que le projet n’a pas vraiment continuer après mon dernier journal de bord en mars. Le projet de la main robotique devra se faire remplacer, car se n’est plus possible de se rencontrer pour faire la construction. Alors, notre professeur nous a proposé de faire un programme qui démontre la force de la main et les mouvements. Alors, Jérémy et moi avons parlé pour faire un plan de ce qu’on veut faire. Nous avons décidé de faire le projet en utilisant Unity. Ce qu’on pense c’est de faire un programme avec trois options: une main avec os, tendon et muscles et la force de la main.

(2020-04-21): Quelques journées ce sont écoulées depuis mon dernier journal de bord. Alors, pendant ce temps je n’ai pas trop avancé j’ai fais un peu de recherche sur l’anatomie de la main. J’ai pris les livres d’anatomie de ma sœur ce qui m’a été très utile pour trouver ce que je voulais rapidement.

Voici quelques photos du livre Le Grand Guide Visuel Du Corps Humain de Dre Alice Roberts:

Créez votre propre site Web, gratuitement sur WordPress.com.Créez votre propre site Web.
Commencer gratuitement