Page 1 sur 1

[CF-AL] Quaternions et calibrage d'un gyroscope

Publié : 07 Mars 2019 12:38
par Azocks
Bonjour!
Je suis en train de réalisée un projet Unity3D dans le quelle j'utilise une épée connectée. Je m'explique tout d’abord j'ai réalisé une épée en bois puis j'y ais ajouter un microcontrôleur en wifi, un esp8266, recevant des données d'un gyroscope/accéléromètre , Mpu6050. Pour la partit réel tous va bien je reçois des données que j'envois a unity, ces données sont des Quaternions(ce sont des nombres Hyper Complexe). Ensuite ces données me servent a exécuter une rotation sur une épée virtuelle. Pour l'instant tout marche mais j'ai rencontrée un problème les données du gyroscope ne reproduisent pas la position qu'il a dans unity :gene: , OK j'avoue c'est dur a comprendre mais en gros si je met mon capteur a la verticale, la position du capteur dans unity peut être n'importe comment ce n'est jamais la même. Donc j'ai commencé a réfléchir a comment résoudre ce problème. J'ai trouvé potentiellement une solution qui est d'attendre que le capteur prenne une position précise puis ensuite soustraire les donnée actuelle par ce que l'on peut appelé l'angle delta qui permet de faire la différence avec l'angle actuelle pour revenir a 0 ainsi il serait dans la même position. Or j'ai beau avoir l'idée je ne sais pas comment faire :pleur4: J’espère que quelqu'un pourras me donner une réponse pour m'aider a faire ce programme ou alors même une tout autre méthode

 ! Message de : boubouk50
Un effort de rédaction par pitié... Rien que d'aérer rend tout ça moins lourd + ponctuation + orthographe

Bonjour!
Je suis en train de réaliser un projet Unity3D dans lequel j'utilise une épée connectée.
J'ai réalisé une épée en bois à laquelle j'ai ajouté un microcontrôleur en wifi, un esp8266, recevant des données d'un gyroscope/accéléromètre, Mpu6050.
Pour la partie réelle, tout va bien, je reçois des données que j'envoie à Unity. Ces données sont des Quaternions(ce sont des nombres Hyper Complexe).
Ensuite, ces données me servent à effectuer une rotation sur une épée virtuelle.
Pour l'instant, tout marche mais j'ai rencontré un problème: les données du gyroscope ne reproduisent pas la position qu'il a dans unity :gene:
OK, j'avoue, c'est dur a comprendre, mais en gros, si je mets mon capteur à la verticale, la position du capteur dans Unity n'est jamais la même.
Donc j'ai commencé à réfléchir à la résolution de ce problème. J'ai trouvé potentiellement une solution : attendre que le capteur prenne une position précise puis soustraire les données actuelles par un angle delta, la différence avec l'angle actuelle pour revenir a 0.
Or, j'ai beau avoir l'idée je ne sais pas comment faire :pleur4: J’espère que quelqu'un pourra me donner une réponse pour m'aider a faire ce programme ou alors même une tout autre méthode
Merci.